From 39a1600c3ab98991e717515c4366c047d1fdf283 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 14 Jun 2018 08:45:39 -0400 Subject: [PATCH] Update to iD v2.9.0 --- Vendorfile | 1 + vendor/assets/iD/iD.css.erb | 185 +- vendor/assets/iD/iD.js | 420384 +-------------- vendor/assets/iD/iD/img/fa-sprite.svg | 1 + vendor/assets/iD/iD/img/iD-sprite.svg | 1505 +- vendor/assets/iD/iD/img/maki-sprite.svg | 2 +- vendor/assets/iD/iD/img/mapillary-sprite.svg | 1 + vendor/assets/iD/iD/img/temaki-sprite.svg | 1 + .../iD/img/traffic-signs/traffic-signs.json | 2823 - .../iD/iD/img/traffic-signs/traffic-signs.png | Bin 242443 -> 0 bytes vendor/assets/iD/iD/locales/ar.json | 42 +- vendor/assets/iD/iD/locales/bg.json | 38 +- vendor/assets/iD/iD/locales/bn.json | 125 +- vendor/assets/iD/iD/locales/ca.json | 221 +- vendor/assets/iD/iD/locales/cs.json | 10 +- vendor/assets/iD/iD/locales/da.json | 122 +- vendor/assets/iD/iD/locales/de.json | 60 +- vendor/assets/iD/iD/locales/el.json | 285 +- vendor/assets/iD/iD/locales/en-GB.json | 467 + vendor/assets/iD/iD/locales/en.json | 91 +- vendor/assets/iD/iD/locales/eo.json | 24 +- vendor/assets/iD/iD/locales/es.json | 65 +- vendor/assets/iD/iD/locales/et.json | 13 +- vendor/assets/iD/iD/locales/fa.json | 135 +- vendor/assets/iD/iD/locales/fi.json | 58 +- vendor/assets/iD/iD/locales/fr.json | 61 +- vendor/assets/iD/iD/locales/gl.json | 248 +- vendor/assets/iD/iD/locales/he.json | 1864 +- vendor/assets/iD/iD/locales/is.json | 163 +- vendor/assets/iD/iD/locales/it.json | 55 +- vendor/assets/iD/iD/locales/ja.json | 77 +- vendor/assets/iD/iD/locales/ko.json | 4 +- vendor/assets/iD/iD/locales/mg.json | 41 +- vendor/assets/iD/iD/locales/nl.json | 180 +- vendor/assets/iD/iD/locales/nn.json | 224 + vendor/assets/iD/iD/locales/pl.json | 40 +- vendor/assets/iD/iD/locales/pt-BR.json | 126 +- vendor/assets/iD/iD/locales/pt.json | 3 - vendor/assets/iD/iD/locales/ru.json | 52 +- vendor/assets/iD/iD/locales/sk.json | 164 + vendor/assets/iD/iD/locales/sl.json | 14 + vendor/assets/iD/iD/locales/sv.json | 96 +- vendor/assets/iD/iD/locales/uk.json | 254 +- vendor/assets/iD/iD/locales/vi.json | 129 +- vendor/assets/iD/iD/locales/zh-CN.json | 30 +- vendor/assets/iD/iD/locales/zh-TW.json | 41 +- .../assets/iD/iD/mapillary-js/cover-logo.svg | 16 - vendor/assets/iD/iD/mapillary-js/mapillary.js | 6411 +- .../iD/iD/mapillary-js/mapillary.js.map | 170 +- .../iD/iD/mapillary-js/mapillary.min.css | 4 +- .../iD/iD/mapillary-js/mapillary.min.js | 2 +- .../iD/iD/mapillary-js/pano-indicator.svg | 3 - vendor/assets/iD/iD/mapillary-js/pano.svg | 20 - vendor/assets/iD/iD/mapillary-js/spinner.svg | 1 - .../iD/iD/pannellum-streetside/pannellum.css | 2 + .../iD/iD/pannellum-streetside/pannellum.htm | 107 + .../iD/iD/pannellum-streetside/pannellum.js | 101 + 57 files changed, 36252 insertions(+), 401110 deletions(-) create mode 100644 vendor/assets/iD/iD/img/fa-sprite.svg create mode 100644 vendor/assets/iD/iD/img/mapillary-sprite.svg create mode 100644 vendor/assets/iD/iD/img/temaki-sprite.svg delete mode 100644 vendor/assets/iD/iD/img/traffic-signs/traffic-signs.json delete mode 100644 vendor/assets/iD/iD/img/traffic-signs/traffic-signs.png delete mode 100644 vendor/assets/iD/iD/mapillary-js/cover-logo.svg delete mode 100755 vendor/assets/iD/iD/mapillary-js/pano-indicator.svg delete mode 100644 vendor/assets/iD/iD/mapillary-js/pano.svg delete mode 100644 vendor/assets/iD/iD/mapillary-js/spinner.svg create mode 100644 vendor/assets/iD/iD/pannellum-streetside/pannellum.css create mode 100644 vendor/assets/iD/iD/pannellum-streetside/pannellum.htm create mode 100644 vendor/assets/iD/iD/pannellum-streetside/pannellum.js diff --git a/Vendorfile b/Vendorfile index 67307f844..8ca4342d7 100644 --- a/Vendorfile +++ b/Vendorfile @@ -55,6 +55,7 @@ folder 'vendor/assets' do folder 'iD/img', 'dist/img' folder 'iD/locales', 'dist/locales' folder 'iD/mapillary-js', 'dist/mapillary-js' + folder 'iD/pannellum-streetside', 'dist/pannellum-streetside' file 'iD.css.erb', 'dist/iD.css' do |path| rewrite(path) do |content| diff --git a/vendor/assets/iD/iD.css.erb b/vendor/assets/iD/iD.css.erb index ebe73d6a2..1c78271c6 100644 --- a/vendor/assets/iD/iD.css.erb +++ b/vendor/assets/iD/iD.css.erb @@ -305,7 +305,7 @@ g.vertex.selected .shadow { /* lines */ -.preset-icon .icon.other-line { +.preset-icon .icon.iD-other-line { color: #fff; fill: #777; } @@ -802,8 +802,8 @@ path.stroke.tag-highway { stroke-width: 5; } -.preset-icon .icon.highway-motorway, -.preset-icon .icon.highway-motorway-link { +.preset-icon .icon.iD-highway-motorway, +.preset-icon .icon.iD-highway-motorway-link { color: #CF2081; fill: #70372f; } @@ -818,8 +818,8 @@ path.casing.tag-motorway { stroke:#70372f; } -.preset-icon .icon.highway-trunk, -.preset-icon .icon.highway-trunk-link { +.preset-icon .icon.iD-highway-trunk, +.preset-icon .icon.iD-highway-trunk-link { color: #DD2F22; fill: #70372f; } @@ -834,8 +834,8 @@ path.casing.tag-trunk { stroke:#70372f; } -.preset-icon .icon.highway-primary, -.preset-icon .icon.highway-primary-link { +.preset-icon .icon.iD-highway-primary, +.preset-icon .icon.iD-highway-primary-link { color: #F99806; fill: #70372f; } @@ -850,8 +850,8 @@ path.casing.tag-primary { stroke:#70372f; } -.preset-icon .icon.highway-secondary, -.preset-icon .icon.highway-secondary-link { +.preset-icon .icon.iD-highway-secondary, +.preset-icon .icon.iD-highway-secondary-link { color: #F3F312; fill: #70372f; } @@ -866,8 +866,8 @@ path.casing.tag-secondary { stroke:#70372f; } -.preset-icon .icon.highway-tertiary, -.preset-icon .icon.highway-tertiary-link { +.preset-icon .icon.iD-highway-tertiary, +.preset-icon .icon.iD-highway-tertiary-link { color: #FFF9B3; fill: #70372f; } @@ -882,8 +882,8 @@ path.casing.tag-tertiary { stroke:#70372f; } -.legacy-carto .preset-icon .icon.highway-motorway, -.legacy-carto .preset-icon .icon.highway-motorway-link { +.legacy-carto .preset-icon .icon.iD-highway-motorway, +.legacy-carto .preset-icon .icon.iD-highway-motorway-link { color: #58a9ed; fill: #2c5476; } @@ -898,8 +898,8 @@ path.casing.tag-tertiary { stroke:#2c5476; } -.legacy-carto .preset-icon .icon.highway-trunk, -.legacy-carto .preset-icon .icon.highway-trunk-link { +.legacy-carto .preset-icon .icon.iD-highway-trunk, +.legacy-carto .preset-icon .icon.iD-highway-trunk-link { color: #8cd05f; fill: #46682f; } @@ -914,8 +914,8 @@ path.casing.tag-tertiary { stroke:#46682f; } -.legacy-carto .preset-icon .icon.highway-primary, -.legacy-carto .preset-icon .icon.highway-primary-link { +.legacy-carto .preset-icon .icon.iD-highway-primary, +.legacy-carto .preset-icon .icon.iD-highway-primary-link { color: #e06d5f; fill: #70372f; } @@ -930,8 +930,8 @@ path.casing.tag-tertiary { stroke:#70372f; } -.legacy-carto .preset-icon .icon.highway-secondary, -.legacy-carto .preset-icon .icon.highway-secondary-link { +.legacy-carto .preset-icon .icon.iD-highway-secondary, +.legacy-carto .preset-icon .icon.iD-highway-secondary-link { color: #eab056; fill: #75582b; } @@ -946,8 +946,8 @@ path.casing.tag-tertiary { stroke:#75582b; } -.legacy-carto .preset-icon .icon.highway-tertiary, -.legacy-carto .preset-icon .icon.highway-tertiary-link { +.legacy-carto .preset-icon .icon.iD-highway-tertiary, +.legacy-carto .preset-icon .icon.iD-highway-tertiary-link { color: #ffff7e; fill: #7f7f3f; } @@ -962,7 +962,7 @@ path.casing.tag-tertiary { stroke:#7f7f3f; } -.preset-icon .icon.highway-residential { +.preset-icon .icon.iD-highway-residential { color: #fff; fill: #444; } @@ -975,7 +975,7 @@ path.casing.tag-residential { stroke:#444; } -.preset-icon .icon.highway-unclassified { +.preset-icon .icon.iD-highway-unclassified { color: #dcd9b9; fill: #444; } @@ -1158,7 +1158,7 @@ path.stroke.tag-steps { } -.preset-icon .icon.highway-living-street { +.preset-icon .icon.iD-highway-living-street { color: #bbb; fill: #ddd; } @@ -1171,8 +1171,8 @@ path.casing.tag-living_street { stroke: #fff; } -.preset-icon .icon.highway-footway.tag-highway-corridor, -.preset-icon .icon.highway-footway.tag-highway-pedestrian { +.preset-icon .icon.iD-highway-footway.tag-highway-corridor, +.preset-icon .icon.iD-highway-footway.tag-highway-pedestrian { color: #8cd05f; fill: #fff; } @@ -1202,7 +1202,7 @@ path.casing.tag-pedestrian.tag-unpaved { stroke-dasharray: none; } -.preset-icon .icon.highway-road { +.preset-icon .icon.iD-highway-road { color: #9e9e9e; fill: #666; } @@ -1215,7 +1215,7 @@ path.casing.tag-road { stroke:#666; } -.preset-icon .icon.highway-service { +.preset-icon .icon.iD-highway-service { color: #fff; fill: #666; } @@ -1230,8 +1230,8 @@ path.casing.tag-service { /* special service roads and bus guideways */ /* with `service=* tag` (e.g. parking_aisle, alley, drive-through */ -.preset-icon .icon.highway-bus_guideway, -.preset-icon .icon.highway-service.tag-service { +.preset-icon .icon.iD-highway-bus_guideway, +.preset-icon .icon.iD-highway-service.tag-service { color: #dcd9b9; fill: #666; } @@ -1246,7 +1246,7 @@ path.casing.tag-service.tag-service { stroke: #666; } -.preset-icon .icon.highway-track { +.preset-icon .icon.iD-highway-track { color: #eaeaea; fill: #c5b59f; } @@ -1291,8 +1291,8 @@ path.casing.tag-highway-bridleway.tag-unpaved { stroke-dasharray: none; } -.preset-icon .icon.category-path, -.preset-icon .icon.highway-path { +.preset-icon .icon.iD-category-path, +.preset-icon .icon.iD-highway-path { color: #746f6f; fill: #c5b59f; } @@ -1302,7 +1302,7 @@ path.stroke.tag-highway-path { .preset-icon .icon.tag-route-foot, .preset-icon .icon.tag-route-hiking, -.preset-icon .icon.highway-footway { +.preset-icon .icon.iD-highway-footway { color: #ae8681; fill: #fff; } @@ -1310,7 +1310,7 @@ path.stroke.tag-highway-footway { stroke: #ae8681; } -.preset-icon .icon.highway-footway.tag-crossing { +.preset-icon .icon.iD-highway-footway.tag-crossing { color: #444; } path.stroke.tag-highway-footway.tag-crossing { @@ -1322,7 +1322,7 @@ path.stroke.tag-highway-footway.tag-crossing { } .preset-icon .icon.tag-route-bicycle, -.preset-icon .icon.highway-cycleway { +.preset-icon .icon.iD-highway-cycleway { color: #58a9ed; fill: #fff; } @@ -1331,7 +1331,7 @@ path.stroke.tag-highway-cycleway { } .preset-icon .icon.tag-route-horse, -.preset-icon .icon.highway-bridleway { +.preset-icon .icon.iD-highway-bridleway { color: #e06d5f; fill: #fff; } @@ -1339,7 +1339,7 @@ path.stroke.tag-highway-bridleway { stroke: #e06d5f; } -.preset-icon .icon.highway-steps { +.preset-icon .icon.iD-highway-steps { color: #81d25c; fill: #fff; } @@ -1551,7 +1551,7 @@ path.stroke.tag-railway-subway { /* railway platforms - like sidewalks */ -.preset-icon .icon.highway-footway.tag-railway-platform { +.preset-icon .icon.iD-highway-footway.tag-railway-platform { color: #ae8681; fill: #dcd9b9; } @@ -1595,7 +1595,7 @@ g.midpoint.tag-railway-platform .fill { color: #77d3de; fill: #77d3de; } -.preset-icon .icon.category-water, +.preset-icon .icon.iD-category-water, .preset-icon .icon.tag-route-ferry, .preset-icon .icon.tag-type-waterway, .preset-icon .icon.tag-waterway { @@ -1918,7 +1918,45 @@ path.fill.tag-amenity-shelter { border-color: rgb(224, 110, 95); background-color: rgba(224, 110, 95, 0.3); } -/* Cursors */ + +/* piers */ +.preset-icon .icon.tag-man_made-pier { + color: #ae8681; + fill: #dcd9b9; +} + +.preset-icon-fill-area.tag-man_made-pier { + border-color: #ae8681; + background-color: #dcd9b9; +} + +path.shadow.tag-man_made-pier { + stroke-width: 16; +} +path.casing.tag-man_made-pier { + stroke: #dcd9b9; + stroke-width: 5; + stroke-linecap: round; + stroke-dasharray: none; +} +path.stroke.tag-man_made-pier { + stroke: #ae8681; + stroke-width: 3; + stroke-linecap: butt; + stroke-dasharray: 6, 6; +} + +.low-zoom path.shadow.tag-man_made-pier { + stroke-width: 12; +} +.low-zoom path.casing.tag-man_made-pier { + stroke-width: 3; +} +.low-zoom path.stroke.tag-man_made-pier { + stroke-width: 1; + stroke-linecap: butt; + stroke-dasharray: 3, 3; +}/* Cursors */ .nope, .nope * { @@ -2045,12 +2083,13 @@ path.fill.tag-amenity-shelter { } .photo-wrapper .photo-attribution { - width: 100%; - font-size: 10px; - text-align: right; position: absolute; bottom: 0; right: 0; + width: 100%; + font-size: 10px; + text-align: right; + line-height: 1.1em; padding: 4px 2px; z-index: 10; } @@ -2133,6 +2172,19 @@ path.fill.tag-amenity-shelter { } +/* Streetside Image Layer */ +.layer-streetside-images { + pointer-events: none; +} +.layer-streetside-images .viewfield-group * { + fill: #0fffc4; +} +.layer-streetside-images .sequence { + stroke: #0fffc4; + stroke-opacity: 0.85; /* bump opacity - only one per road */ +} + + /* Mapillary Image Layer */ .layer-mapillary-images { pointer-events: none; @@ -2149,25 +2201,18 @@ path.fill.tag-amenity-shelter { .layer-mapillary-signs { pointer-events: none; } -.layer-mapillary-signs .icon-sign .icon-sign-body { - min-width: 20px; - height: 24px; - width: 24px; +.layer-mapillary-signs .icon-sign { outline: 2px solid transparent; pointer-events: visible; cursor: pointer; - z-index: 30; - overflow: visible; } -.layer-mapillary-signs .icon-sign:hover .icon-sign-body { +.layer-mapillary-signs .icon-sign:hover { outline: 5px solid #eebb00; background-color: #eebb00; - z-index: 70; } -.layer-mapillary-signs .icon-sign.selected .icon-sign-body { +.layer-mapillary-signs .icon-sign.selected { outline: 5px solid #ffee00; background-color: #ffee00; - z-index: 40; } @@ -2176,10 +2221,29 @@ path.fill.tag-amenity-shelter { pointer-events: none; } .layer-openstreetcam-images .viewfield-group * { - fill: #77ddff; + fill: #20c4ff; } .layer-openstreetcam-images .sequence { - stroke: #77ddff; + stroke: #20c4ff; +} + + +/* Streetside Viewer (pannellum) */ +.ms-wrapper .photo-attribution .image_link { + display: block; +} +.ms-wrapper .photo-attribution a:active, +.ms-wrapper .photo-attribution a:hover { + color: #0fffc4; +} + +.ms-wrapper .pnlm-compass.pnlm-control { + width: 26px; + height: 26px; + left: 4px; + top: 60px; + background-size: contain; + background-repeat: no-repeat no-repeat; } @@ -2205,6 +2269,7 @@ path.fill.tag-amenity-shelter { z-index: 9; } + /* OpenStreetCam viewer */ .osc-wrapper { position: relative; @@ -2216,7 +2281,7 @@ path.fill.tag-amenity-shelter { .osc-wrapper .photo-attribution a:active, .osc-wrapper .photo-attribution a:hover { - color: #77ddff; + color: #20c4ff; } .osc-controls-wrap { @@ -3299,13 +3364,11 @@ a.hide-toggle { position: absolute; top: 7px; left: 7px; - height: 42px; - width: 42px; margin: auto; } [dir='rtl'] .preset-icon-frame { - left: auto; - right: 7px; + left: auto; + right: 7px; } .preset-icon-frame .icon { diff --git a/vendor/assets/iD/iD.js b/vendor/assets/iD/iD.js index 81763bf75..494b261fe 100644 --- a/vendor/assets/iD/iD.js +++ b/vendor/assets/iD/iD.js @@ -13394,7 +13394,7 @@ return linearish(scale); } - function constant$10(x) { + function constant$a(x) { return function constant() { return x; }; @@ -13494,7 +13494,7 @@ function arc() { var innerRadius = arcInnerRadius, outerRadius = arcOuterRadius, - cornerRadius = constant$10(0), + cornerRadius = constant$a(0), padRadius = null, startAngle = arcStartAngle, endAngle = arcEndAngle, @@ -13643,31 +13643,31 @@ }; arc.innerRadius = function(_) { - return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$10(+_), arc) : innerRadius; + return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$a(+_), arc) : innerRadius; }; arc.outerRadius = function(_) { - return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$10(+_), arc) : outerRadius; + return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$a(+_), arc) : outerRadius; }; arc.cornerRadius = function(_) { - return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$10(+_), arc) : cornerRadius; + return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$a(+_), arc) : cornerRadius; }; arc.padRadius = function(_) { - return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$10(+_), arc) : padRadius; + return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$a(+_), arc) : padRadius; }; arc.startAngle = function(_) { - return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$10(+_), arc) : startAngle; + return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$a(+_), arc) : startAngle; }; arc.endAngle = function(_) { - return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$10(+_), arc) : endAngle; + return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$a(+_), arc) : endAngle; }; arc.padAngle = function(_) { - return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$10(+_), arc) : padAngle; + return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$a(+_), arc) : padAngle; }; arc.context = function(_) { @@ -13720,7 +13720,7 @@ function line() { var x$$1 = x$3, y$$1 = y$3, - defined = constant$10(true), + defined = constant$a(true), context = null, curve = curveLinear, output = null; @@ -13746,15 +13746,15 @@ } line.x = function(_) { - return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$10(+_), line) : x$$1; + return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$a(+_), line) : x$$1; }; line.y = function(_) { - return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$10(+_), line) : y$$1; + return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$a(+_), line) : y$$1; }; line.defined = function(_) { - return arguments.length ? (defined = typeof _ === "function" ? _ : constant$10(!!_), line) : defined; + return arguments.length ? (defined = typeof _ === "function" ? _ : constant$a(!!_), line) : defined; }; line.curve = function(_) { @@ -13771,9 +13771,9 @@ function area() { var x0 = x$3, x1 = null, - y0 = constant$10(0), + y0 = constant$a(0), y1 = y$3, - defined = constant$10(true), + defined = constant$a(true), context = null, curve = curveLinear, output = null; @@ -13821,27 +13821,27 @@ } area.x = function(_) { - return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$10(+_), x1 = null, area) : x0; + return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$a(+_), x1 = null, area) : x0; }; area.x0 = function(_) { - return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$10(+_), area) : x0; + return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$a(+_), area) : x0; }; area.x1 = function(_) { - return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant$10(+_), area) : x1; + return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant$a(+_), area) : x1; }; area.y = function(_) { - return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$10(+_), y1 = null, area) : y0; + return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$a(+_), y1 = null, area) : y0; }; area.y0 = function(_) { - return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$10(+_), area) : y0; + return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$a(+_), area) : y0; }; area.y1 = function(_) { - return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant$10(+_), area) : y1; + return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant$a(+_), area) : y1; }; area.lineX0 = @@ -13858,7 +13858,7 @@ }; area.defined = function(_) { - return arguments.length ? (defined = typeof _ === "function" ? _ : constant$10(!!_), area) : defined; + return arguments.length ? (defined = typeof _ === "function" ? _ : constant$a(!!_), area) : defined; }; area.curve = function(_) { @@ -13884,9 +13884,9 @@ var value = identity$6, sortValues = descending, sort = null, - startAngle = constant$10(0), - endAngle = constant$10(tau$4), - padAngle = constant$10(0); + startAngle = constant$a(0), + endAngle = constant$a(tau$4), + padAngle = constant$a(0); function pie(data) { var i, @@ -13929,7 +13929,7 @@ } pie.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant$10(+_), pie) : value; + return arguments.length ? (value = typeof _ === "function" ? _ : constant$a(+_), pie) : value; }; pie.sortValues = function(_) { @@ -13941,15 +13941,15 @@ }; pie.startAngle = function(_) { - return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$10(+_), pie) : startAngle; + return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$a(+_), pie) : startAngle; }; pie.endAngle = function(_) { - return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$10(+_), pie) : endAngle; + return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$a(+_), pie) : endAngle; }; pie.padAngle = function(_) { - return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$10(+_), pie) : padAngle; + return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$a(+_), pie) : padAngle; }; return pie; @@ -14070,11 +14070,11 @@ }; link.x = function(_) { - return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$10(+_), link) : x$$1; + return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$a(+_), link) : x$$1; }; link.y = function(_) { - return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$10(+_), link) : y$$1; + return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$a(+_), link) : y$$1; }; link.context = function(_) { @@ -14241,8 +14241,8 @@ ]; function symbol() { - var type = constant$10(circle$2), - size = constant$10(64), + var type = constant$a(circle$2), + size = constant$a(64), context = null; function symbol() { @@ -14253,11 +14253,11 @@ } symbol.type = function(_) { - return arguments.length ? (type = typeof _ === "function" ? _ : constant$10(_), symbol) : type; + return arguments.length ? (type = typeof _ === "function" ? _ : constant$a(_), symbol) : type; }; symbol.size = function(_) { - return arguments.length ? (size = typeof _ === "function" ? _ : constant$10(+_), symbol) : size; + return arguments.length ? (size = typeof _ === "function" ? _ : constant$a(+_), symbol) : size; }; symbol.context = function(_) { @@ -15120,7 +15120,7 @@ } function stack() { - var keys = constant$10([]), + var keys = constant$a([]), order = none$2, offset = none$1, value = stackValue; @@ -15150,15 +15150,15 @@ } stack.keys = function(_) { - return arguments.length ? (keys = typeof _ === "function" ? _ : constant$10(slice$6.call(_)), stack) : keys; + return arguments.length ? (keys = typeof _ === "function" ? _ : constant$a(slice$6.call(_)), stack) : keys; }; stack.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant$10(+_), stack) : value; + return arguments.length ? (value = typeof _ === "function" ? _ : constant$a(+_), stack) : value; }; stack.order = function(_) { - return arguments.length ? (order = _ == null ? none$2 : typeof _ === "function" ? _ : constant$10(slice$6.call(_)), stack) : order; + return arguments.length ? (order = _ == null ? none$2 : typeof _ === "function" ? _ : constant$a(slice$6.call(_)), stack) : order; }; stack.offset = function(_) { @@ -15268,7 +15268,7 @@ return none$2(series).reverse(); } - function constant$11(x) { + function constant$b(x) { return function() { return x; }; @@ -16237,11 +16237,11 @@ }; voronoi.x = function(_) { - return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$11(+_), voronoi) : x$$1; + return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$b(+_), voronoi) : x$$1; }; voronoi.y = function(_) { - return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$11(+_), voronoi) : y$$1; + return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$b(+_), voronoi) : y$$1; }; voronoi.extent = function(_) { @@ -16255,7 +16255,7 @@ return voronoi; } - function constant$12(x) { + function constant$c(x) { return function() { return x; }; @@ -16696,19 +16696,19 @@ } zoom.wheelDelta = function(_) { - return arguments.length ? (wheelDelta = typeof _ === "function" ? _ : constant$12(+_), zoom) : wheelDelta; + return arguments.length ? (wheelDelta = typeof _ === "function" ? _ : constant$c(+_), zoom) : wheelDelta; }; zoom.filter = function(_) { - return arguments.length ? (filter = typeof _ === "function" ? _ : constant$12(!!_), zoom) : filter; + return arguments.length ? (filter = typeof _ === "function" ? _ : constant$c(!!_), zoom) : filter; }; zoom.touchable = function(_) { - return arguments.length ? (touchable = typeof _ === "function" ? _ : constant$12(!!_), zoom) : touchable; + return arguments.length ? (touchable = typeof _ === "function" ? _ : constant$c(!!_), zoom) : touchable; }; zoom.extent = function(_) { - return arguments.length ? (extent = typeof _ === "function" ? _ : constant$12([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent; + return arguments.length ? (extent = typeof _ === "function" ? _ : constant$c([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent; }; zoom.scaleExtent = function(_) { @@ -17428,11 +17428,10 @@ try { value[symToStringTag] = undefined; - var unmasked = true; } catch (e) {} var result = nativeObjectToString.call(value); - if (unmasked) { + { if (isOwn) { value[symToStringTag] = tag; } else { @@ -18614,10 +18613,10 @@ } /** Used for built-in method references. */ - var objectProto$10 = Object.prototype; + var objectProto$a = Object.prototype; /** Used to check objects for own properties. */ - var hasOwnProperty$8 = objectProto$10.hasOwnProperty; + var hasOwnProperty$8 = objectProto$a.hasOwnProperty; /** * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. @@ -18779,10 +18778,10 @@ } /** Used for built-in method references. */ - var objectProto$11 = Object.prototype; + var objectProto$b = Object.prototype; /** Built-in value references. */ - var propertyIsEnumerable$1 = objectProto$11.propertyIsEnumerable; + var propertyIsEnumerable$1 = objectProto$b.propertyIsEnumerable; /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeGetSymbols = Object.getOwnPropertySymbols; @@ -18972,10 +18971,10 @@ var getTag$1 = getTag; /** Used for built-in method references. */ - var objectProto$12 = Object.prototype; + var objectProto$c = Object.prototype; /** Used to check objects for own properties. */ - var hasOwnProperty$9 = objectProto$12.hasOwnProperty; + var hasOwnProperty$9 = objectProto$c.hasOwnProperty; /** * Initializes an array clone. @@ -19866,10 +19865,10 @@ var COMPARE_PARTIAL_FLAG$2 = 1; /** Used for built-in method references. */ - var objectProto$13 = Object.prototype; + var objectProto$d = Object.prototype; /** Used to check objects for own properties. */ - var hasOwnProperty$10 = objectProto$13.hasOwnProperty; + var hasOwnProperty$a = objectProto$d.hasOwnProperty; /** * A specialized version of `baseIsEqualDeep` for objects with support for @@ -19897,7 +19896,7 @@ var index = objLength; while (index--) { var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty$10.call(other, key))) { + if (!(isPartial ? key in other : hasOwnProperty$a.call(other, key))) { return false; } } @@ -19957,10 +19956,10 @@ objectTag$3 = '[object Object]'; /** Used for built-in method references. */ - var objectProto$14 = Object.prototype; + var objectProto$e = Object.prototype; /** Used to check objects for own properties. */ - var hasOwnProperty$11 = objectProto$14.hasOwnProperty; + var hasOwnProperty$b = objectProto$e.hasOwnProperty; /** * A specialized version of `baseIsEqual` for arrays and objects which performs @@ -20003,8 +20002,8 @@ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); } if (!(bitmask & COMPARE_PARTIAL_FLAG$3)) { - var objIsWrapped = objIsObj && hasOwnProperty$11.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty$11.call(other, '__wrapped__'); + var objIsWrapped = objIsObj && hasOwnProperty$b.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty$b.call(other, '__wrapped__'); if (objIsWrapped || othIsWrapped) { var objUnwrapped = objIsWrapped ? object.value() : object, @@ -20708,10 +20707,10 @@ } /** Used for built-in method references. */ - var objectProto$15 = Object.prototype; + var objectProto$f = Object.prototype; /** Used to check objects for own properties. */ - var hasOwnProperty$12 = objectProto$15.hasOwnProperty; + var hasOwnProperty$c = objectProto$f.hasOwnProperty; /** * Creates an object composed of keys generated from the results of running @@ -20737,7 +20736,7 @@ * // => { '3': ['one', 'two'], '5': ['three'] } */ var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty$12.call(result, key)) { + if (hasOwnProperty$c.call(result, key)) { result[key].push(value); } else { baseAssignValue(result, key, [value]); @@ -20824,13 +20823,13 @@ /** Used for built-in method references. */ var funcProto$2 = Function.prototype, - objectProto$16 = Object.prototype; + objectProto$g = Object.prototype; /** Used to resolve the decompiled source of functions. */ var funcToString$2 = funcProto$2.toString; /** Used to check objects for own properties. */ - var hasOwnProperty$13 = objectProto$16.hasOwnProperty; + var hasOwnProperty$d = objectProto$g.hasOwnProperty; /** Used to infer the `Object` constructor. */ var objectCtorString = funcToString$2.call(Object); @@ -20871,7 +20870,7 @@ if (proto === null) { return true; } - var Ctor = hasOwnProperty$13.call(proto, 'constructor') && proto.constructor; + var Ctor = hasOwnProperty$d.call(proto, 'constructor') && proto.constructor; return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString$2.call(Ctor) == objectCtorString; } @@ -21029,7 +21028,7 @@ * console.log(objects[0] === objects[1]); * // => true */ - function constant$13(value) { + function constant$d(value) { return function() { return value; }; @@ -21047,7 +21046,7 @@ return defineProperty(func, 'toString', { 'configurable': true, 'enumerable': false, - 'value': constant$13(string), + 'value': constant$d(string), 'writable': true }); }; @@ -23609,392800 +23608,27228 @@ var wikipedia$2 = require$$6; - var amenity = { - arts_centre: { - "Świetlica wiejska": { - count: 62 - }, - "Дом культуры": { - count: 182 - } - }, - bank: { - ABANCA: { - count: 83 - }, - "ABN AMRO": { - count: 152 - }, - ABSA: { - count: 105 - }, - AIB: { - count: 85 - }, - ANZ: { - count: 378 - }, - "ASB Bank": { - count: 51 - }, - "ATB Financial": { - count: 68 - }, - AXA: { - count: 106 - }, - Agribank: { - count: 58 - }, - Akbank: { - count: 129 - }, - "Alior Bank": { - count: 180 - }, - "Allahabad Bank": { - count: 52 - }, - "Allied Bank": { - count: 67 - }, - "Alpha Bank": { - count: 329 - }, - "Andhra Bank": { - count: 97 - }, - Antonveneta: { - count: 56 - }, - Argenta: { - count: 125 - }, - "Asia United Bank": { - count: 57 - }, - "Askari Bank": { - count: 71 - }, - "Associated Bank": { - count: 55 - }, - "Axis Bank": { - count: 198 - }, - BAC: { - count: 77 - }, - "BAWAG PSK": { - count: 97 - }, - "BB&T": { - count: 418 - }, - BBBank: { - count: 58 - }, - BBK: { - count: 122 - }, - BBVA: { - count: 1445 - }, - "BBVA Bancomer": { - count: 157 - }, - "BBVA Compass": { - count: 80 - }, - "BBVA Continental": { - count: 74 - }, - "BBVA Francés": { - count: 158 - }, - BCA: { - count: 135 - }, - BCI: { - count: 140 - }, - BCP: { - count: 226 - }, - BCR: { - count: 232 - }, - BDO: { - count: 538 - }, - "BGŻ BNP Paribas": { - count: 74 - }, - BMCE: { - count: 53 - }, - BMN: { - count: 88 - }, - BMO: { - count: 339 - }, - "BMO Harris Bank": { - count: 72 - }, - BNA: { - count: 70 - }, - BNI: { - count: 136 - }, - BNL: { - count: 159 - }, - "BNP Paribas": { - count: 1165 - }, - "BNP Paribas Fortis": { - count: 303 - }, - BOC: { - count: 95 - }, - BPH: { - count: 63 - }, - BPI: { - count: 579 - }, - "BPI Family Savings Bank": { - count: 54 - }, - BRD: { - count: 276 - }, - BRED: { - count: 70 - }, - BRI: { - count: 209 - }, - "BW-Bank": { - count: 95 - }, - "BZ WBK": { - count: 156 - }, - Banamex: { - count: 356 - }, - "Banc Sabadell": { - count: 175 - }, - "Banca Intesa": { - count: 92 - }, - "Banca March": { - count: 51 - }, - "Banca Popolare di Milano": { - count: 99 - }, - "Banca Popolare di Novara": { - count: 79 - }, - "Banca Popolare di Sondrio": { - count: 105 - }, - "Banca Popolare di Verona": { - count: 59 - }, - "Banca Popolare di Vicenza": { - count: 119 - }, - "Banca Românească": { - count: 61 - }, - "Banca Sella": { - count: 56 - }, - "Banca Transilvania": { - count: 167 - }, - "Banco Agrario": { - count: 58 - }, - "Banco Azteca": { - count: 119 - }, - "Banco BCI": { - count: 74 - }, - "Banco Continental": { - count: 64 - }, - "Banco Estado": { - count: 153 - }, - "Banco Fassil": { - count: 59 - }, - "Banco G&T Continental": { - count: 84 - }, - "Banco General": { - count: 53 - }, - "Banco Industrial": { - count: 91 - }, - "Banco Internacional": { - count: 62 - }, - "Banco Nacional": { - count: 143 - }, - "Banco Nación": { - count: 149 - }, - "Banco Pastor": { - count: 74 - }, - "Banco Pichincha": { - count: 109 - }, - "Banco Popular": { - count: 619 - }, - "Banco Provincia": { - count: 138 - }, - "Banco Sabadell": { - count: 189 - }, - "Banco Santander": { - count: 112 - }, - "Banco Sol": { - count: 74 - }, - "Banco de Bogotá": { - count: 74 - }, - "Banco de Chile": { - count: 175 - }, - "Banco de Costa Rica": { - count: 123 - }, - "Banco de Desarrollo Banrural": { - count: 85 - }, - "Banco de Occidente": { - count: 67 - }, - "Banco de Venezuela": { - count: 76 - }, - "Banco de la Nación": { - count: 156 - }, - "Banco de la Nación Argentina": { - count: 166 - }, - "Banco di Napoli": { - count: 79 - }, - "Banco di Sardegna": { - count: 79 - }, - "Banco do Brasil": { - count: 1313 - }, - "Banco do Nordeste": { - count: 56 - }, - BancoEstado: { - count: 121 - }, - Bancolombia: { - count: 170 - }, - Bancomer: { - count: 227 - }, - Bancpost: { - count: 77 - }, - Banesco: { - count: 209 - }, - "Bangkok Bank": { - count: 69 - }, - "Bank Al Habib": { - count: 52 - }, - "Bank Alfalah": { - count: 63 - }, - "Bank Austria": { - count: 123 - }, - "Bank BCA": { - count: 71 - }, - "Bank BNI": { - count: 67 - }, - "Bank BPH": { - count: 56 - }, - "Bank BRI": { - count: 196 - }, - "Bank Danamon": { - count: 60 - }, - "Bank Mandiri": { - count: 232 - }, - "Bank Mega": { - count: 54 - }, - "Bank Spółdzielczy": { - count: 395 - }, - "Bank Zachodni WBK": { - count: 103 - }, - "Bank of Africa": { - count: 59 - }, - "Bank of America": { - count: 1787 - }, - "Bank of Baroda": { - count: 122 - }, - "Bank of Ceylon": { - count: 74 - }, - "Bank of China": { - count: 152 - }, - "Bank of Commerce": { - count: 69 - }, - "Bank of India": { - count: 113 - }, - "Bank of Ireland": { - count: 151 - }, - "Bank of Montreal": { - count: 157 - }, - "Bank of New Zealand": { - count: 63 - }, - "Bank of Scotland": { - count: 122 - }, - "Bank of the West": { - count: 173 - }, - Bankia: { - count: 613 - }, - Bankinter: { - count: 139 - }, - "Banner Bank": { - count: 53 - }, - Banorte: { - count: 260 - }, - "Banque Atlantique": { - count: 57 - }, - "Banque Nationale": { - count: 137 - }, - "Banque Populaire": { - count: 919 - }, - Banrisul: { - count: 101 - }, - Banrural: { - count: 84 - }, - Barclays: { - count: 1243 - }, - Bcc: { - count: 54 - }, - Belfius: { - count: 285 - }, - "Bendigo Bank": { - count: 140 - }, - "Berliner Volksbank": { - count: 73 - }, - Bicentenario: { - count: 173 - }, - Bradesco: { - count: 977 - }, - "Budapest Bank": { - count: 56 - }, - CBAO: { - count: 53 - }, - "CEC Bank": { - count: 121 - }, - CGD: { - count: 52 - }, - "CIB Bank": { - count: 64 - }, - CIBC: { - count: 574 - }, - CIC: { - count: 742 - }, - "CIMB Bank": { - count: 64 - }, - CNEP: { - count: 52 - }, - "Caisse Desjardins": { - count: 69 - }, - "Caisse d'Épargne": { - count: 1607 - }, - Caixa: { - count: 239 - }, - "Caixa Econômica Federal": { - count: 573 - }, - "Caixa Geral de Depósitos": { - count: 231 - }, - CaixaBank: { - count: 343 - }, - "Caja Círculo": { - count: 68 - }, - "Caja Duero": { - count: 90 - }, - "Caja España": { - count: 74 - }, - "Caja Rural": { - count: 216 - }, - "Caja Rural de Jaén": { - count: 55 - }, - CajaSur: { - count: 73 - }, - Cajamar: { - count: 216 - }, - "Cajero Automatico Bancared": { - count: 123 - }, - "Canara Bank": { - count: 270 - }, - "Capital One": { - count: 199 - }, - Carige: { - count: 57 - }, - Cariparma: { - count: 69 - }, - "Cassa di Risparmio del Veneto": { - count: 102 - }, - CatalunyaCaixa: { - count: 107 - }, - "Central Bank of India": { - count: 60 - }, - Chase: { - count: 1658 - }, - "China Bank": { - count: 156 - }, - "China Bank Savings": { - count: 54 - }, - "China Construction Bank": { - count: 68 - }, - Citibank: { - count: 485 - }, - "Citizens Bank": { - count: 248 - }, - "Clydesdale Bank": { - count: 55 - }, - "Columbia Bank": { - count: 79 - }, - "Comerica Bank": { - count: 67 - }, - "Commerce Bank": { - count: 61 - }, - "Commercial Bank": { - count: 75 - }, - "Commercial Bank of Ceylon PLC": { - count: 100 - }, - Commerzbank: { - count: 879 - }, - "Commonwealth Bank": { - count: 376 - }, - "Corporation Bank": { - count: 92 - }, - Credem: { - count: 77 - }, - Credicoop: { - count: 111 - }, - "Credit Agricole": { - count: 104 - }, - "Credit Suisse": { - count: 93 - }, - Crelan: { - count: 53 - }, - "Crédit Agricole": { - count: 2544 - }, - "Crédit Mutuel": { - count: 1129 - }, - "Crédit Mutuel de Bretagne": { - count: 368 - }, - "Crédit du Nord": { - count: 148 - }, - "Crédito Agrícola": { - count: 87 - }, - "Cбербанк": { - count: 74 - }, - "Danske Bank": { - count: 157 - }, - Davivienda: { - count: 172 - }, - "De Venezuela": { - count: 87 - }, - Denizbank: { - count: 58 - }, - Desjardins: { - count: 80 - }, - "Deutsche Bank": { - count: 995 - }, - "Dubai Islamic Bank": { - count: 71 - }, - "EastWest Bank": { - count: 127 - }, - Ecobank: { - count: 197 - }, - "Erste Bank": { - count: 200 - }, - Eurobank: { - count: 261 - }, - "Express Union": { - count: 58 - }, - FNB: { - count: 143 - }, - "Federal Bank": { - count: 88 - }, - "Fifth Third Bank": { - count: 234 - }, - Finansbank: { - count: 68 - }, - "First Bank": { - count: 91 - }, - "First Citizens Bank": { - count: 88 - }, - "First National Bank": { - count: 209 - }, - Galicia: { - count: 179 - }, - Garanti: { - count: 58 - }, - "Garanti Bankası": { - count: 82 - }, - "Getin Bank": { - count: 112 - }, - Groupama: { - count: 61 - }, - "HDFC Bank": { - count: 219 - }, - HNB: { - count: 67 - }, - HSBC: { - count: 1748 - }, - Halifax: { - count: 367 - }, - Halkbank: { - count: 74 - }, - "Hamburger Sparkasse": { - count: 159 - }, - Handelsbanken: { - count: 250 - }, - "Hong Leong Bank": { - count: 51 - }, - "Hrvatska poštanska banka": { - count: 54 - }, - "Huntington Bank": { - count: 110 - }, - HypoVereinsbank: { - count: 408 - }, - ICBC: { - count: 158 - }, - "ICICI Bank": { - count: 224 - }, - "IDBI Bank": { - count: 73 - }, - ING: { - count: 654 - }, - "ING Bank Śląski": { - count: 128 - }, - IberCaja: { - count: 209 - }, - "Indian Bank": { - count: 98 - }, - "Indian Overseas Bank": { - count: 108 - }, - Interbank: { - count: 131 - }, - "Intesa San Paolo": { - count: 257 - }, - "Itaú": { - count: 1077 - }, - "K&H Bank": { - count: 75 - }, - KBC: { - count: 273 - }, - "Kasa Stefczyka": { - count: 65 - }, - "Key Bank": { - count: 382 - }, - "Komerční banka": { - count: 180 - }, - Kreissparkasse: { - count: 600 - }, - "Kreissparkasse Köln": { - count: 69 - }, - Kutxabank: { - count: 68 - }, - LCL: { - count: 903 - }, - "La Banque Postale": { - count: 124 - }, - "La Caixa": { - count: 1144 - }, - "Laboral Kutxa": { - count: 66 - }, - Landbank: { - count: 115 - }, - Liberbank: { - count: 164 - }, - "Lloyds Bank": { - count: 612 - }, - "M&T Bank": { - count: 184 - }, - MCB: { - count: 62 - }, - "MCB Bank": { - count: 54 - }, - "MONETA Money Bank": { - count: 92 - }, - Macro: { - count: 174 - }, - Maybank: { - count: 234 - }, - "Meezan Bank": { - count: 63 - }, - Mercantil: { - count: 132 - }, - "Metro Bank": { - count: 57 - }, - Metrobank: { - count: 434 - }, - "Millennium BCP": { - count: 119 - }, - "Millennium Bank": { - count: 386 - }, - "Monte dei Paschi di Siena": { - count: 265 - }, - Montepio: { - count: 113 - }, - NAB: { - count: 205 - }, - NSB: { - count: 51 - }, - NatWest: { - count: 800 - }, - "National Bank": { - count: 147 - }, - Nationwide: { - count: 337 - }, - Nedbank: { - count: 100 - }, - Nordea: { - count: 331 - }, - "Novo Banco": { - count: 101 - }, - OLB: { - count: 57 - }, - OTP: { - count: 362 - }, - Oberbank: { - count: 103 - }, - "Occidental de Descuento": { - count: 68 - }, - "Oldenburgische Landesbank": { - count: 68 - }, - "One Network Bank": { - count: 91 - }, - Osuuspankki: { - count: 89 - }, - PBZ: { - count: 65 - }, - PKO: { - count: 58 - }, - "PKO BP": { - count: 561 - }, - PNB: { - count: 323 - }, - PNC: { - count: 52 - }, - "PNC Bank": { - count: 639 - }, - PSBank: { - count: 108 - }, - Patagonia: { - count: 94 - }, - "Pekao SA": { - count: 155 - }, - "Peoples Bank": { - count: 254 - }, - "Philippine National Bank": { - count: 69 - }, - "Piraeus Bank": { - count: 96 - }, - Popular: { - count: 104 - }, - Postbank: { - count: 567 - }, - "Postbank Finanzcenter": { - count: 65 - }, - Provincial: { - count: 135 - }, - "Public Bank": { - count: 90 - }, - "Punjab National Bank": { - count: 134 - }, - RBC: { - count: 487 - }, - "RBC Financial Group": { - count: 59 - }, - RBS: { - count: 190 - }, - RCBC: { - count: 144 - }, - "RCBC Savings Bank": { - count: 84 - }, - Rabobank: { - count: 557 - }, - "Raiffeisen Polbank": { - count: 78 - }, - Raiffeisenbank: { - count: 2705 - }, - "Regions Bank": { - count: 204 - }, - "Republic Bank": { - count: 85 - }, - "Royal Bank": { - count: 90 - }, - "Royal Bank of Canada": { - count: 56 - }, - "Royal Bank of Scotland": { - count: 129 - }, - SEB: { - count: 129 - }, - "SNS Bank": { - count: 58 - }, - Sabadell: { - count: 97 - }, - "Sampath Bank": { - count: 87 - }, - Santander: { - count: 3268 - }, - "Santander Consumer Bank": { - count: 109 - }, - "Santander Río": { - count: 239 - }, - "Santander Totta": { - count: 201 - }, - Sberbank: { - count: 135 - }, - Scotiabank: { - count: 1144 - }, - "Security Bank": { - count: 171 - }, - Sicredi: { - count: 94 - }, - "Slovenská sporiteľňa": { - count: 165 - }, - "Société Générale": { - count: 1136 - }, - "Sparda-Bank": { - count: 277 - }, - Sparkasse: { - count: 4667 - }, - "Sparkasse Aachen": { - count: 56 - }, - "Sparkasse KölnBonn": { - count: 76 - }, - Stadtsparkasse: { - count: 68 - }, - "Stanbic Bank": { - count: 63 - }, - "Standard Bank": { - count: 165 - }, - "Standard Chartered": { - count: 95 - }, - "Standard Chartered Bank": { - count: 74 - }, - "State Bank of India": { - count: 1013 - }, - SunTrust: { - count: 322 - }, - Supervielle: { - count: 72 - }, - Swedbank: { - count: 252 - }, - "Syndicate Bank": { - count: 118 - }, - "TCF Bank": { - count: 85 - }, - "TD Bank": { - count: 425 - }, - "TD Canada Trust": { - count: 675 - }, - TEB: { - count: 56 - }, - TSB: { - count: 259 - }, - "Takarékszövetkezet": { - count: 120 - }, - Targobank: { - count: 279 - }, - "Tatra banka": { - count: 70 - }, - "Türkiye İş Bankası": { - count: 53 - }, - UBS: { - count: 169 - }, - "UCO Bank": { - count: 51 - }, - UCPB: { - count: 122 - }, - UOB: { - count: 126 - }, - "US Bank": { - count: 723 - }, - "Ulster Bank": { - count: 100 - }, - "Umpqua Bank": { - count: 103 - }, - "UniCredit Bank": { - count: 548 - }, - "Unicaja Banco": { - count: 182 - }, - "Unicredit Banca": { - count: 496 - }, - "Union Bank": { - count: 304 - }, - "United Bank": { - count: 68 - }, - "VR-Bank": { - count: 506 - }, - "Vakıfbank": { - count: 85 - }, - "Veneto Banca": { - count: 73 - }, - "Vijaya Bank": { - count: 56 - }, - "Volks- und Raiffeisenbank": { - count: 53 - }, - Volksbank: { - count: 2665 - }, - "Volksbank Mittelhessen": { - count: 53 - }, - "Volksbank Raiffeisenbank": { - count: 63 - }, - "VÚB": { - count: 105 - }, - "Washington Federal": { - count: 65 - }, - "Wells Fargo": { - count: 1947 - }, - "Western Union": { - count: 440 - }, - Westpac: { - count: 322 - }, - "Yorkshire Bank": { - count: 95 - }, - "Yorkshire Building Society": { - count: 69 - }, - "Zagrebačka banka": { - count: 54 - }, - "Ziraat Bankası": { - count: 172 - }, - mBank: { - count: 70 - }, - "ČSOB": { - count: 211 - }, - "Česká spořitelna": { - count: 243 - }, - "İş Bankası": { - count: 112 - }, - "Εθνική Τράπεζα": { - count: 103 - }, - "Πειραιώς": { - count: 120 - }, - "Τράπεζα Πειραιώς": { - count: 104 - }, - "Авангард": { - count: 76 - }, - "Альфа-Банк": { - count: 301 - }, - "Банк Москвы": { - count: 176 - }, - "Банка ДСК": { - count: 63 - }, - "Белагропромбанк": { - count: 184 - }, - "Беларусбанк": { - count: 570 - }, - "Белинвестбанк": { - count: 78 - }, - "Бинбанк": { - count: 114 - }, - "ВТБ": { - count: 80 - }, - "ВТБ24": { - count: 545 - }, - "Возрождение": { - count: 81 - }, - "Газпромбанк": { - count: 161 - }, - "Генбанк": { - count: 83 - }, - "Казкоммерцбанк": { - count: 74 - }, - "МДМ Банк": { - count: 52 - }, - "Московский индустриальный банк": { - count: 53 - }, - "Мособлбанк": { - count: 54 - }, - "Народный банк": { - count: 63 - }, - "ОТП Банк": { - count: 54 - }, - "Открытие": { - count: 92 - }, - "Ощадбанк": { - count: 883 - }, - "ПУМБ": { - count: 78 - }, - "Почта Банк": { - count: 65 - }, - "ПриватБанк": { - count: 1018 - }, - "Приватбанк": { - count: 76 - }, - "Приднестровский Сбербанк": { - count: 59 - }, - "Приорбанк": { - count: 69 - }, - "Промсвязьбанк": { - count: 133 - }, - "РНКБ": { - count: 124 - }, - "Райффайзен": { - count: 65 - }, - "Райффайзен Банк Аваль": { - count: 125 - }, - "Райффайзенбанк": { - count: 52 - }, - "Росбанк": { - count: 218 - }, - "Россельхозбанк": { - count: 374 - }, - "Русский стандарт": { - count: 55 - }, - "Сбербанк": { - count: 6921 - }, - "Совкомбанк": { - count: 186 - }, - "УкрСиббанк": { - count: 213 - }, - "Укрсоцбанк": { - count: 57 - }, - "Уралсиб": { - count: 130 - }, - "Хоум Кредит": { - count: 53 - }, - "בנק הפועלים": { - count: 112 - }, - "בנק לאומי": { - count: 83 - }, - "بانک": { - count: 219 - }, - "بانک آینده": { - count: 58 - }, - "بانک اقتصاد نوین": { - count: 78 - }, - "بانک انصار": { - count: 99 - }, - "بانک تجارت": { - count: 365 - }, - "بانک رفاه": { - count: 138 - }, - "بانک رفاه کارگران": { - count: 72 - }, - "بانک سپه": { - count: 348 - }, - "بانک شهر": { - count: 93 - }, - "بانک صادرات": { - count: 492 - }, - "بانک قوامین": { - count: 110 - }, - "بانک مسکن": { - count: 263 - }, - "بانک ملت": { - count: 428 - }, - "بانک ملی": { - count: 561 - }, - "بانک ملی ایران": { - count: 80 - }, - "بانک مهر اقتصاد": { - count: 92 - }, - "بانک پارسیان": { - count: 103 - }, - "بانک پاسارگاد": { - count: 107 - }, - "بانک کشاورزی": { - count: 277 - }, - "صادرات": { - count: 85 - }, - "ملی": { - count: 67 - }, - "پست بانک": { - count: 71 - }, - "ธนาคารกรุงเทพ": { - count: 121 - }, - "ธนาคารกรุงไทย": { - count: 85 - }, - "ธนาคารกสิกรไทย": { - count: 108 - }, - "ธนาคารออมสิน": { - count: 71 - }, - "ธนาคารไทยพาณิชย์": { - count: 95 - }, - "みずほ銀行": { - count: 255 - }, - "りそな銀行": { - count: 135 - }, - "三井住友銀行": { - count: 204 - }, - "三菱東京UFJ銀行": { - count: 235 - }, - "中国农业银行": { - count: 198 - }, - "中国工商银行": { - count: 181 - }, - "中国建设银行": { - count: 158 - }, - "中国邮政储蓄银行": { - count: 76 - }, - "中国银行": { - count: 275 - }, - "交通银行": { - count: 68 - }, - "京都中央信用金庫": { - count: 53 - }, - "京都銀行": { - count: 66 - }, - "农业银行": { - count: 78 - }, - "北海道銀行": { - count: 51 - }, - "合作金庫銀行": { - count: 55 - }, - "土地銀行": { - count: 54 - }, - "工商银行": { - count: 160 - }, - "建设银行": { - count: 89 - }, - "彰化銀行": { - count: 53 - }, - "招商银行": { - count: 94 - }, - "横浜銀行": { - count: 92 - }, - "第一銀行": { - count: 78 - }, - "華南銀行": { - count: 52 - }, - "국민은행": { - count: 199, - tags: { - "name:en": "Gungmin Bank" - } - }, - "기업은행": { - count: 53 - }, - "농협": { - count: 148 - }, - "새마을금고": { - count: 102 - }, - "신한은행": { - count: 245, - tags: { - "name:en": "Sinhan Bank" - } - }, - "우리은행": { - count: 316, - tags: { - "name:en": "Uri Bank" - } - }, - "하나은행": { - count: 85 - } - }, - bar: { - "Bar Centrale": { - count: 141 - }, - "Bar Sport": { - count: 90 - }, - "Beach Bar": { - count: 80 - }, - "Pool Bar": { - count: 54 - } - }, - bicycle_rental: { - Bicing: { - count: 130 - }, - "Call a Bike": { - count: 95 - }, - Grid: { - count: 51 - }, - Mibici: { - count: 116 - }, - metropolradruhr: { - count: 91 - } - }, - bureau_de_change: { - Abitab: { - count: 55 - }, - Change: { - count: 51 - }, - Travelex: { - count: 75 - }, - "Western Union": { - count: 189 - } - }, - cafe: { - "85度C": { - count: 128 - }, - "Bar Centrale": { - count: 77 - }, - "Bar Kafe": { - count: 253 - }, - Barista: { - count: 65 - }, - Bistro: { - count: 60 - }, - Bonafide: { - count: 63 - }, - "Cafe Coffee Day": { - count: 239 - }, - "Cafe Nero": { - count: 52 - }, - Cafeteria: { - count: 579 - }, - "Cafetería": { - count: 61 - }, - "Caffè Nero": { - count: 316 - }, - "Café Amazon": { - count: 241 - }, - "Café Central": { - count: 115 - }, - "Café de la Place": { - count: 55 - }, - "Café des Sports": { - count: 71 - }, - "Caribou Coffee": { - count: 184 - }, - "Coffee Fellows": { - count: 77 - }, - "Coffee House": { - count: 71 - }, - "Coffee Island": { - count: 51 - }, - "Coffee Time": { - count: 133 - }, - Costa: { - count: 1403 - }, - "Country Style": { - count: 58 - }, - "Dolce Vita": { - count: 55 - }, - "Dunkin' Donuts": { - count: 1662, - tags: { - cuisine: "donut" - } - }, - "Eiscafe Dolomiti": { - count: 51 - }, - "Eiscafe Venezia": { - count: 237 - }, - "Espresso House": { - count: 122 - }, - Havanna: { - count: 81 - }, - "Internet Cafe": { - count: 95 - }, - "Jamba Juice": { - count: 86 - }, - Kafe: { - count: 55 - }, - "Krispy Kreme": { - count: 63 - }, - "Le Pain Quotidien": { - count: 59 - }, - "McCafé": { - count: 72, - tags: { - amenity: "cafe", - cuisine: "coffee_shop" - } - }, - "Peet's Coffee & Tea": { - count: 82 - }, - "Pret A Manger": { - count: 174 - }, - Prime: { - count: 51 - }, - "Second Cup": { - count: 234 - }, - Segafredo: { - count: 103 - }, - Starbucks: { - count: 8463, - tags: { - cuisine: "coffee_shop" - } - }, - Subway: { - count: 114 - }, - Tchibo: { - count: 168 - }, - "The Coffee Bean & Tea Leaf": { - count: 93 - }, - "The Coffee Club": { - count: 81 - }, - "Tim Hortons": { - count: 1945 - }, - "Traveler's Coffee": { - count: 70 - }, - Venezia: { - count: 55 - }, - "Wayne's Coffee": { - count: 52 - }, - "Берёзка": { - count: 52 - }, - "Бистро": { - count: 84 - }, - "Буфет": { - count: 56 - }, - "Встреча": { - count: 83 - }, - "Даблби": { - count: 59 - }, - "Закусочная": { - count: 101 - }, - "Кофе Хауз": { - count: 119 - }, - "Кофейня": { - count: 78 - }, - "Лакомка": { - count: 62 - }, - "Летнее кафе": { - count: 61 - }, - "Оазис": { - count: 54 - }, - "Пельменная": { - count: 63 - }, - "Пиццерия": { - count: 60 - }, - "Рандеву": { - count: 54 - }, - "Сказка": { - count: 66 - }, - "Смак": { - count: 62 - }, - "Старбакс": { - count: 55 - }, - "Столовая": { - count: 1181 - }, - "Теремок": { - count: 64 - }, - "Уют": { - count: 115 - }, - "Хуторок": { - count: 59 - }, - "Шашлычная": { - count: 153 - }, - "Шоколад": { - count: 54 - }, - "Шоколадница": { - count: 252 - }, - "ארומה": { - count: 64 - }, - "مقهى": { - count: 136 - }, - "คาเฟ่ อเมซอน": { - count: 59 - }, - "エクセルシオール カフェ": { - count: 61 - }, - "カフェ・ド・クリエ": { - count: 80, - tags: { - "name:en": "Cafe de CRIE" - } - }, - "カフェ・ベローチェ": { - count: 105 - }, - "コメダ珈琲店": { - count: 179 - }, - "サンマルクカフェ": { - count: 156 - }, - "スターバックス": { - count: 558, - tags: { - "name:en": "Starbucks" - } - }, - "タリーズコーヒー": { - count: 243 - }, - "ドトールコーヒーショップ": { - count: 489, - tags: { - "name:en": "Doutor" - } - }, - "星巴克": { - count: 146 - }, - "스타벅스": { - count: 52 - } - }, - car_rental: { - Alamo: { - count: 57 - }, - Avis: { - count: 604 - }, - Budget: { - count: 218 - }, - Enterprise: { - count: 594 - }, - "Enterprise Rent-a-Car": { - count: 51 - }, - Europcar: { - count: 611 - }, - Hertz: { - count: 654 - }, - Localiza: { - count: 59 - }, - Sixt: { - count: 323 - }, - Thrifty: { - count: 81 - }, - "U-Haul": { - count: 94 - }, - "オリックスレンタカー": { - count: 54 - }, - "トヨタレンタカー": { - count: 57 - }, - "トヨタレンタリース": { - count: 63 - }, - "ニッポンレンタカー": { - count: 113 - } - }, - car_wash: { - Aral: { - count: 88 - }, - Autolavaggio: { - count: 52 - }, - BP: { - count: 63 - }, - Esso: { - count: 55 - }, - "H-E-B Car Wash": { - count: 71 - }, - "Intermarché": { - count: 60 - }, - "Lavage Auto": { - count: 60 - }, - Lavazh: { - count: 52 - }, - Myjnia: { - count: 54 - }, - "Myjnia bezdotykowa": { - count: 93 - }, - "Myjnia samochodowa": { - count: 66 - }, - Shell: { - count: 162 - }, - "Spălătorie Auto": { - count: 69 - }, - "Spălătorie auto": { - count: 52 - }, - "Автомийка": { - count: 63 - } - }, - cinema: { - "Cinema City": { - count: 61 - }, - Cinemark: { - count: 87 - }, - Cinemex: { - count: 70 - }, - Cinepolis: { - count: 59 - }, - Cineworld: { - count: 64 - }, - Odeon: { - count: 81 - } - }, - clinic: { - "ФАП": { - count: 162 - } - }, - dentist: { - "Aspen Dental": { - count: 73 - }, - "Family Dentistry": { - count: 51 - }, - Vitaldent: { - count: 54 - }, - "Стоматолог": { - count: 72 - }, - "Стоматологія": { - count: 66 - } - }, - doctors: { - "Háziorvosi rendelő": { - count: 54 - }, - "Инвитро": { - count: 115 - }, - "ФАП": { - count: 147 - } - }, - driving_school: { - "Автодром": { - count: 55 - } - }, - fast_food: { - "A&W": { - count: 614 - }, - "Ali Baba": { - count: 101 - }, - "Angel's Burger": { - count: 66 - }, - Antalya: { - count: 53 - }, - "Arby's": { - count: 1432 - }, - "Asia Bistro": { - count: 53 - }, - "Asia Wok": { - count: 53 - }, - "Baskin-Robbins": { - count: 262, - tags: { - amenity: "ice_cream" - } - }, - Bistro: { - count: 80 - }, - "Bob's": { - count: 83 - }, - Bojangles: { - count: 89 - }, - "Booster Juice": { - count: 76 - }, - "Boston Market": { - count: 107 - }, - "Braum's": { - count: 58 - }, - "Burger King": { - count: 6601, - tags: { - cuisine: "burger" - } - }, - "Burger Machine": { - count: 55 - }, - "Büfé": { - count: 72 - }, - "Captain D's": { - count: 56 - }, - "Carl's Jr.": { - count: 593, - tags: { - cuisine: "burger" - } - }, - Checkers: { - count: 102 - }, - "Chick-fil-A": { - count: 906, - tags: { - cuisine: "chicken" - } - }, - "Chicken Express": { - count: 67 - }, - Chipotle: { - count: 688, - tags: { - cuisine: "mexican" - } - }, - Chowking: { - count: 250 - }, - "Church's Chicken": { - count: 249 - }, - "CoCo壱番屋": { - count: 218 - }, - "Cold Stone Creamery": { - count: 72 - }, - "Cook Out": { - count: 81 - }, - "Culver's": { - count: 541 - }, - DQ: { - count: 66 - }, - "Dairy Queen": { - count: 1485 - }, - "Del Taco": { - count: 244 - }, - Ditsch: { - count: 55 - }, - "Domino's Pizza": { - count: 2577, - tags: { - cuisine: "pizza" - } - }, - "Dunkin' Donuts": { - count: 747, - tags: { - cuisine: "donut" - } - }, - "El Pollo Loco": { - count: 132 - }, - Everest: { - count: 59 - }, - "Extreme Pita": { - count: 58 - }, - "Fazoli's": { - count: 53 - }, - "Firehouse Subs": { - count: 147 - }, - "Fish & Chips": { - count: 185 - }, - "Fish and Chips": { - count: 55 - }, - "Five Guys": { - count: 457 - }, - Greenwich: { - count: 83 - }, - "Habib's": { - count: 87 - }, - "Hallo Pizza": { - count: 98 - }, - "Hardee's": { - count: 634, - tags: { - cuisine: "burger" - } - }, - "Harvey's": { - count: 158 - }, - Hesburger: { - count: 164 - }, - "Hungry Jacks": { - count: 261, - tags: { - cuisine: "burger" - } - }, - "In-N-Out Burger": { - count: 211 - }, - Istanbul: { - count: 96 - }, - "Istanbul Kebab": { - count: 59 - }, - "Jack in the Box": { - count: 951, - tags: { - cuisine: "burger" - } - }, - "Jamba Juice": { - count: 148 - }, - "Jersey Mike's Subs": { - count: 88 - }, - "Jimmy John's": { - count: 519, - tags: { - cuisine: "sandwich" - } - }, - Jollibee: { - count: 740 - }, - KFC: { - count: 6003, - tags: { - cuisine: "chicken" - } - }, - "KFC/Taco Bell": { - count: 70 - }, - "Kebab House": { - count: 74 - }, - Kebabai: { - count: 64 - }, - "Kochlöffel": { - count: 78 - }, - Kotipizza: { - count: 89 - }, - "Krispy Kreme": { - count: 63 - }, - Krystal: { - count: 53 - }, - "Little Caesars": { - count: 567 - }, - "Little Caesars Pizza": { - count: 82 - }, - "Long John Silver's": { - count: 200 - }, - Lotteria: { - count: 67 - }, - Max: { - count: 54 - }, - "McDonald's": { - count: 18327, - tags: { - cuisine: "burger" - } - }, - "Minute Burger": { - count: 53 - }, - "Mr. Sub": { - count: 153 - }, - "New York Pizza": { - count: 65 - }, - Nordsee: { - count: 198 - }, - "Panda Express": { - count: 593, - tags: { - cuisine: "chinese" - } - }, - "Panera Bread": { - count: 120 - }, - "Papa John's": { - count: 820, - tags: { - cuisine: "pizza" - } - }, - "Papa Murphy's": { - count: 100 - }, - Pinulito: { - count: 58 - }, - "Pita Pit": { - count: 150 - }, - "Pizza Hut": { - count: 1503, - tags: { - cuisine: "pizza" - } - }, - "Pizza Hut Delivery": { - count: 70 - }, - "Pizza King": { - count: 56 - }, - "Pizza Nova": { - count: 90 - }, - "Pizza Pizza": { - count: 411 - }, - "Pollo Campero": { - count: 134 - }, - "Pollo Granjero": { - count: 66 - }, - "Popeye's": { - count: 521, - tags: { - cuisine: "chicken" - } - }, - "Popeyes Louisiana Kitchen": { - count: 51 - }, - Qdoba: { - count: 91 - }, - Quick: { - count: 434 - }, - Quiznos: { - count: 401 - }, - "Rally's": { - count: 68 - }, - "Red Rooster": { - count: 192 - }, - Sbarro: { - count: 65 - }, - "Schlotzsky's Deli": { - count: 348 - }, - Sibylla: { - count: 74 - }, - Sonic: { - count: 1166, - tags: { - cuisine: "burger" - } - }, - Starbucks: { - count: 60, - tags: { - cuisine: "coffee_shop" - } - }, - Steers: { - count: 190 - }, - Subway: { - count: 11431 - }, - "Taco Bell": { - count: 2947, - tags: { - cuisine: "mexican" - } - }, - "Taco Bueno": { - count: 59 - }, - "Taco Cabana": { - count: 57 - }, - "Taco Del Mar": { - count: 57 - }, - "Taco John's": { - count: 141 - }, - "Taco Time": { - count: 171 - }, - Telepizza: { - count: 323 - }, - "Thai Express": { - count: 63 - }, - "The Pizza Company": { - count: 62 - }, - "Waffle House": { - count: 86 - }, - "Wendy's": { - count: 3036, - tags: { - cuisine: "burger" - } - }, - Whataburger: { - count: 815 - }, - "White Castle": { - count: 149 - }, - Wienerschnitzel: { - count: 61 - }, - Wimpy: { - count: 168 - }, - "Zaxby's": { - count: 185 - }, - "Γρηγόρης": { - count: 59 - }, - "Бистро": { - count: 61 - }, - "Бургер Кинг": { - count: 181 - }, - "Крошка Картошка": { - count: 77 - }, - "Макдоналдс": { - count: 469, - tags: { - "name:en": "McDonald's" - } - }, - "Робин Сдобин": { - count: 131 - }, - "Русский Аппетит": { - count: 129 - }, - "Сабвэй": { - count: 73 - }, - "Стардог!s": { - count: 66 - }, - "Теремок": { - count: 155 - }, - "Шаверма": { - count: 93 - }, - "Шаурма": { - count: 265 - }, - "かっぱ寿司": { - count: 84 - }, - "かつや": { - count: 58 - }, - "くら寿司": { - count: 99 - }, - "すき家": { - count: 571, - tags: { - "name:en": "Sukiya" - } - }, - "なか卯": { - count: 180 - }, - "ほっかほっか亭": { - count: 57 - }, - "ほっともっと": { - count: 168 - }, - "オリジン弁当": { - count: 93 - }, - "ケンタッキーフライドチキン": { - count: 334, - tags: { - cuisine: "chicken", - "name:en": "KFC" - } - }, - "サブウェイ": { - count: 74 - }, - "スシロー": { - count: 94 - }, - "マクドナルド": { - count: 1261, - tags: { - cuisine: "burger", - "name:en": "McDonald's" - } - }, - "ミスタードーナツ": { - count: 188 - }, - "モスバーガー": { - count: 507, - tags: { - "name:en": "Mos Burger" - } - }, - "ロッテリア": { - count: 97 - }, - "丸亀製麺": { - count: 57 - }, - "吉野家": { - count: 461 - }, - "幸楽苑": { - count: 80 - }, - "摩斯漢堡": { - count: 86 - }, - "松屋": { - count: 574, - tags: { - "name:en": "Matsuya" - } - }, - "肯德基": { - count: 197 - }, - "麥當勞": { - count: 224 - }, - "麦当劳": { - count: 97 - }, - "롯데리아": { - count: 83 - } - }, - fuel: { - "76": { - count: 603 - }, - "1-2-3": { - count: 75 - }, - "7-Eleven": { - count: 1013 - }, - ABC: { - count: 83 - }, - ADNOC: { - count: 76 - }, - ANP: { - count: 202 - }, - ARAL: { - count: 68 - }, - Aegean: { - count: 56 - }, - Afriquia: { - count: 134 - }, - Agip: { - count: 2348 - }, - Agrola: { - count: 99 - }, - Alon: { - count: 54 - }, - Alpet: { - count: 61 - }, - Api: { - count: 234 - }, - Aral: { - count: 1708 - }, - Arco: { - count: 585 - }, - Asda: { - count: 51 - }, - Auchan: { - count: 84 - }, - Avanti: { - count: 112 - }, - Avia: { - count: 1061 - }, - BEBECO: { - count: 77 - }, - BFT: { - count: 102 - }, - BHPetrol: { - count: 60 - }, - BP: { - count: 4069 - }, - BR: { - count: 874 - }, - Bangchak: { - count: 106 - }, - Benzina: { - count: 167 - }, - "Bharat Petroleum": { - count: 230 - }, - Bliska: { - count: 141 - }, - CAMPSA: { - count: 420 - }, - CARREFOUR: { - count: 61 - }, - CEPSA: { - count: 892 - }, - CNG: { - count: 373 - }, - Caltex: { - count: 1574 - }, - Campsa: { - count: 64 - }, - "Canadian Tire": { - count: 97 - }, - Carrefour: { - count: 372 - }, - "Casey's General Store": { - count: 385 - }, - Cenex: { - count: 222 - }, - Cepsa: { - count: 305 - }, - Ceypetco: { - count: 70 - }, - Chevron: { - count: 1781 - }, - "Circle K": { - count: 730 - }, - Citgo: { - count: 692 - }, - Clark: { - count: 56 - }, - "Co-op": { - count: 52 - }, - "Coles Express": { - count: 305 - }, - Conoco: { - count: 398 - }, - Coop: { - count: 71 - }, - Copec: { - count: 566 - }, - Copetrol: { - count: 119 - }, - Cosmo: { - count: 68 - }, - "Costco Gasoline": { - count: 203 - }, - "Couche-Tard": { - count: 54 - }, - Crodux: { - count: 51 - }, - "Cumberland Farms": { - count: 93 - }, - Delta: { - count: 157 - }, - "Diamond Shamrock": { - count: 51 - }, - "Drummed Fuel": { - count: 178 - }, - "E. Leclerc": { - count: 136 - }, - EKO: { - count: 224 - }, - ENEOS: { - count: 1600 - }, - ENI: { - count: 92 - }, - ERG: { - count: 71 - }, - Elan: { - count: 208 - }, - Eneos: { - count: 130 - }, - Engen: { - count: 383 - }, - Eni: { - count: 681 - }, - Erg: { - count: 469 - }, - Esso: { - count: 4742 - }, - "Esso Express": { - count: 176 - }, - EuroOil: { - count: 52 - }, - Exxon: { - count: 1064 - }, - F24: { - count: 67 - }, - Firezone: { - count: 66 - }, - "Flying V": { - count: 175 - }, - GALP: { - count: 788 - }, - Gazprom: { - count: 68 - }, - GetGo: { - count: 54 - }, - Goil: { - count: 78 - }, - Gulf: { - count: 416 - }, - "H-E-B Fuel": { - count: 51 - }, - "H-E-B Gas": { - count: 155 - }, - HEM: { - count: 276 - }, - HP: { - count: 163 - }, - "HP Petrol Pump": { - count: 53 - }, - Helios: { - count: 63 - }, - Hess: { - count: 195 - }, - "Hindustan Petroleum": { - count: 82 - }, - Holiday: { - count: 156 - }, - Husky: { - count: 244 - }, - IES: { - count: 57 - }, - IP: { - count: 993 - }, - "Independent Fuel Station": { - count: 52 - }, - "Indian Oil": { - count: 416 - }, - "Indipend.": { - count: 129 - }, - Ingo: { - count: 62 - }, - "Intermarché": { - count: 556 - }, - "Intermarché Super": { - count: 102 - }, - Ipiranga: { - count: 173 - }, - Irving: { - count: 194 - }, - "JA-SS": { - count: 74 - }, - JOMO: { - count: 51 - }, - Jet: { - count: 707 - }, - Jetti: { - count: 61 - }, - Kangaroo: { - count: 115 - }, - Kobil: { - count: 87 - }, - Kroger: { - count: 59 - }, - "Kroger Fuel": { - count: 68 - }, - "Kum & Go": { - count: 136 - }, - "Kwik Trip": { - count: 210 - }, - LPG: { - count: 349 - }, - "LPG Station": { - count: 51 - }, - LUKOIL: { - count: 61 - }, - Liberty: { - count: 93 - }, - Lotos: { - count: 284 - }, - "Lotos Optima": { - count: 71 - }, - "Love's": { - count: 52 - }, - Lukoil: { - count: 908 - }, - MEROIL: { - count: 70 - }, - MOL: { - count: 436 - }, - MRS: { - count: 65 - }, - Marathon: { - count: 694 - }, - Maverik: { - count: 66 - }, - Maxol: { - count: 57 - }, - Metano: { - count: 248 - }, - Migrol: { - count: 71 - }, - Minipump: { - count: 140 - }, - Mobil: { - count: 1387 - }, - Mobile: { - count: 62 - }, - Mol: { - count: 64 - }, - Morrisons: { - count: 128 - }, - Moya: { - count: 62 - }, - "Murphy USA": { - count: 190 - }, - NP: { - count: 63 - }, - Neste: { - count: 166 - }, - "OIL!": { - count: 110 - }, - OK: { - count: 269 - }, - OKQ8: { - count: 218 - }, - OMV: { - count: 936 - }, - Oilibya: { - count: 127, - tags: { - brand: "Oilibya", - "name:ar": "أويليبيا" - } - }, - Opet: { - count: 117 - }, - Orlen: { - count: 1185 - }, - PETRONOR: { - count: 182 - }, - PSO: { - count: 121 - }, - "PSO Petrol Pump": { - count: 56 - }, - PT: { - count: 306 - }, - PTT: { - count: 423 - }, - "PV Oil": { - count: 100 - }, - "Pacific Pride": { - count: 54 - }, - Pecsa: { - count: 130 - }, - Pemex: { - count: 2023 - }, - Pertamina: { - count: 324 - }, - Petro: { - count: 54 - }, - "Petro-Canada": { - count: 893 - }, - Petrochina: { - count: 116 - }, - Petroecuador: { - count: 64 - }, - "Petrol Ofisi": { - count: 237 - }, - Petrolimex: { - count: 325 - }, - Petrom: { - count: 381 - }, - Petron: { - count: 1485 - }, - Petronas: { - count: 387 - }, - Petroperu: { - count: 110 - }, - "Phillips 66": { - count: 424 - }, - Phoenix: { - count: 210 - }, - Pilot: { - count: 69 - }, - Pioneer: { - count: 104 - }, - Posto: { - count: 52 - }, - "Posto Atem": { - count: 68 - }, - "Posto Ipiranga": { - count: 177 - }, - "Posto Shell": { - count: 104 - }, - Primax: { - count: 288 - }, - Prio: { - count: 52 - }, - Puma: { - count: 442 - }, - Q1: { - count: 53 - }, - Q8: { - count: 1467 - }, - "Q8 Easy": { - count: 66 - }, - QuikTrip: { - count: 251 - }, - REPSOL: { - count: 1380 - }, - RaceTrac: { - count: 80 - }, - Raiffeisenbank: { - count: 130 - }, - Repsol: { - count: 1099 - }, - Rompetrol: { - count: 234 - }, - "Royal Farms": { - count: 79 - }, - Rubis: { - count: 108 - }, - "SB Tank": { - count: 62 - }, - SPBU: { - count: 203 - }, - Safeway: { - count: 74 - }, - "Sainsbury's": { - count: 75 - }, - "Sam's Club": { - count: 57 - }, - Sasol: { - count: 90 - }, - "Sea Oil": { - count: 142 - }, - Sheetz: { - count: 304 - }, - Shell: { - count: 12317 - }, - "Shell Express": { - count: 135 - }, - Sinclair: { - count: 201 - }, - Sinopec: { - count: 106 - }, - "Sinopec Fuel": { - count: 116 - }, - Slovnaft: { - count: 259 - }, - Socar: { - count: 86 - }, - Sokimex: { - count: 85 - }, - Speedway: { - count: 556 - }, - St1: { - count: 141 - }, - Star: { - count: 419 - }, - "Star Oil": { - count: 100 - }, - "Station Service E. Leclerc": { - count: 423 - }, - Statoil: { - count: 495 - }, - "Stewart's": { - count: 72 - }, - Sunoco: { - count: 853 - }, - "Super U": { - count: 174 - }, - Tamoil: { - count: 959 - }, - Tango: { - count: 146 - }, - Teboil: { - count: 100 - }, - Tela: { - count: 191 - }, - Terpel: { - count: 367 - }, - Tesco: { - count: 218 - }, - Texaco: { - count: 1167 - }, - Tinq: { - count: 219 - }, - Topaz: { - count: 111 - }, - Total: { - count: 3591 - }, - "Total Access": { - count: 226 - }, - "Total Erg": { - count: 59 - }, - TotalErg: { - count: 267 - }, - "Turkey Hill": { - count: 80 - }, - "Turmöl": { - count: 80 - }, - Ultramar: { - count: 372 - }, - United: { - count: 197 - }, - Uno: { - count: 134 - }, - "Uno-X": { - count: 69 - }, - Valero: { - count: 778 - }, - Vito: { - count: 91 - }, - WOG: { - count: 350 - }, - Wawa: { - count: 173 - }, - Westfalen: { - count: 94 - }, - "Woolworths Petrol": { - count: 187 - }, - Z: { - count: 98 - }, - bft: { - count: 202 - }, - eni: { - count: 71 - }, - "ΕΚΟ": { - count: 58 - }, - "АГЗС": { - count: 1020 - }, - "АЗС": { - count: 86 - }, - "Авіас": { - count: 116 - }, - "БРСМ-Нафта": { - count: 64 - }, - "Башнефть": { - count: 272 - }, - "Белоруснефть": { - count: 71 - }, - "Газовая заправка": { - count: 57 - }, - "Газпромнефть": { - count: 1242 - }, - "Гелиос": { - count: 61 - }, - "ЕКА": { - count: 78 - }, - "Заправка": { - count: 63 - }, - "КазМунайГаз": { - count: 150 - }, - "Лукойл": { - count: 2327 - }, - "Макпетрол": { - count: 108 - }, - "НК Альянс": { - count: 105 - }, - "Нефтьмагистраль": { - count: 66 - }, - "ОККО": { - count: 316 - }, - "ОМВ": { - count: 55 - }, - "Октан": { - count: 53 - }, - "ПТК": { - count: 104 - }, - "Петрол": { - count: 124 - }, - "Пропан": { - count: 83 - }, - "Роснефть": { - count: 957 - }, - "Сибнефть": { - count: 51 - }, - "Сургутнефтегаз": { - count: 95 - }, - "ТНК": { - count: 588 - }, - "Татнефтепродукт": { - count: 58 - }, - "Татнефть": { - count: 331 - }, - "Укрнафта": { - count: 228 - }, - "דור אלון": { - count: 126 - }, - "דלק": { - count: 160 - }, - "סונול": { - count: 159 - }, - "פז": { - count: 209 - }, - "محطة وقود": { - count: 221 - }, - "محطه وقود": { - count: 98 - }, - "پمپ بنزین": { - count: 559 - }, - "پمپ گاز": { - count: 152 - }, - "บางจาก": { - count: 214 - }, - "ป.ต.ท.": { - count: 414 - }, - "เชลล์": { - count: 90 - }, - "เอสโซ่": { - count: 82 - }, - "エッソ": { - count: 70 - }, - "エネオス": { - count: 301 - }, - "コスモ石油": { - count: 415 - }, - "ゼネラル": { - count: 75 - }, - "中国石化": { - count: 104 - }, - "中国石化 Sinopec": { - count: 61 - }, - "中国石油": { - count: 82 - }, - "中油": { - count: 64 - }, - "出光": { - count: 620, - tags: { - "name:en": "Idemitsu" - } - }, - "加油站": { - count: 60 - }, - "台灣中油": { - count: 257 - }, - "昭和シェル": { - count: 274 - } - }, - hospital: { - "Cruz Roja": { - count: 93 - }, - IMSS: { - count: 64 - }, - "Инфекционное отделение": { - count: 91 - }, - "Кожно-венерологический диспансер": { - count: 57 - }, - "Районная больница": { - count: 88 - }, - "Роддом": { - count: 133 - }, - "Родильный дом": { - count: 75 - }, - "Скорая помощь": { - count: 75 - }, - "ФАП": { - count: 108 - }, - "ЦРБ": { - count: 122 - }, - "Центральная районная больница": { - count: 144 - }, - "โรงพยาบาลส่งเสริมสุขภาพตำบล": { - count: 69 - } - }, - ice_cream: { - "Baskin-Robbins": { - count: 69, - tags: { - amenity: "ice_cream" - } - }, - "Cold Stone Creamery": { - count: 66 - }, - Grido: { - count: 163 - } - }, - kindergarten: { - "Amado Nervo": { - count: 64 - }, - Anganwadi: { - count: 85 - }, - "Arche Noah": { - count: 67 - }, - "Benito Juarez": { - count: 89 - }, - "CONAFE Preescolar": { - count: 90 - }, - Cuauhtemoc: { - count: 54 - }, - "Cursos Comunitarios": { - count: 74 - }, - "Educacion Inicial de CONAFE No Escolarizado": { - count: 184 - }, - "Emiliano Zapata": { - count: 60 - }, - "Estefania Casta�eda": { - count: 53 - }, - "Evangelischer Kindergarten": { - count: 320 - }, - "Federico Froebel": { - count: 88 - }, - "Gabriela Mistral": { - count: 129 - }, - "Jean Piaget": { - count: 82 - }, - "Jose Vasconcelos": { - count: 71 - }, - "Juan Escutia": { - count: 82 - }, - "Katholischer Kindergarten": { - count: 99 - }, - "Kindergarten Regenbogen": { - count: 62 - }, - "Kindergarten St. Josef": { - count: 55 - }, - "Kindergarten St. Martin": { - count: 55 - }, - "Maria Montessori": { - count: 93 - }, - "Miguel Hidalgo Y Costilla": { - count: 57 - }, - "Ni�os Heroes": { - count: 68 - }, - PAUD: { - count: 82 - }, - Pusteblume: { - count: 54 - }, - "Rosaura Zapata": { - count: 68 - }, - "Sor Juana Ines De La Cruz": { - count: 76 - }, - Spatzennest: { - count: 54 - }, - "Städtischer Kindergarten": { - count: 103 - }, - "Villa Kunterbunt": { - count: 88 - }, - Waldkindergarten: { - count: 111 - }, - Waldorfkindergarten: { - count: 71 - }, - "Óvoda": { - count: 72 - }, - "Детсад": { - count: 65 - }, - "Детский сад \"Солнышко\"": { - count: 83 - }, - "Детский сад № 1": { - count: 54 - }, - "Детский сад №1": { - count: 150 - }, - "Детский сад №10": { - count: 77 - }, - "Детский сад №11": { - count: 81 - }, - "Детский сад №12": { - count: 57 - }, - "Детский сад №13": { - count: 57 - }, - "Детский сад №14": { - count: 76 - }, - "Детский сад №15": { - count: 72 - }, - "Детский сад №16": { - count: 58 - }, - "Детский сад №17": { - count: 67 - }, - "Детский сад №18": { - count: 77 - }, - "Детский сад №19": { - count: 62 - }, - "Детский сад №2": { - count: 155 - }, - "Детский сад №22": { - count: 60 - }, - "Детский сад №24": { - count: 53 - }, - "Детский сад №25": { - count: 56 - }, - "Детский сад №27": { - count: 54 - }, - "Детский сад №29": { - count: 57 - }, - "Детский сад №3": { - count: 129 - }, - "Детский сад №33": { - count: 55 - }, - "Детский сад №4": { - count: 86 - }, - "Детский сад №5": { - count: 106 - }, - "Детский сад №6": { - count: 93 - }, - "Детский сад №7": { - count: 98 - }, - "Детский сад №8": { - count: 80 - }, - "Детский сад №9": { - count: 80 - }, - "Дитячий садок": { - count: 58 - }, - "Сказка": { - count: 52 - }, - "Солнышко": { - count: 99 - }, - "Теремок": { - count: 59 - }, - "საბავშვო ბაღი": { - count: 69 - }, - "中央保育所": { - count: 56 - } - }, - library: { - "Biblioteca Comunale": { - count: 212 - }, - "Biblioteca comunale": { - count: 187 - }, - "Biblioteka Publiczna": { - count: 78 - }, - "Bibliothèque Municipale": { - count: 299 - }, - "Bibliothèque municipale": { - count: 247 - }, - "Bücherei": { - count: 113 - }, - "Central Library": { - count: 65 - }, - "Gemeindebücherei": { - count: 150 - }, - "Gminna Biblioteka Publiczna": { - count: 71 - }, - "Miejska Biblioteka Publiczna": { - count: 66 - }, - "Médiathèque": { - count: 287 - }, - "Městská knihovna": { - count: 60 - }, - "Public Library": { - count: 91 - }, - Stadtbibliothek: { - count: 232 - }, - "Stadtbücherei": { - count: 289 - }, - "Городская библиотека": { - count: 69 - }, - "Детская библиотека": { - count: 260 - }, - "Центральная библиотека": { - count: 83 - }, - "Центральная городская библиотека": { - count: 61 - }, - "图书馆": { - count: 65 - } - }, - pharmacy: { - "36.6": { - count: 57 - }, - "Adler-Apotheke": { - count: 375 - }, - "Alte Apotheke": { - count: 99 - }, - "Apollo Pharmacy": { - count: 87 - }, - Apotek: { - count: 62 - }, - "Apotek Hjärtat": { - count: 51 - }, - "Apotheke am Markt": { - count: 83 - }, - "Bahnhof Apotheke": { - count: 51 - }, - "Bahnhof-Apotheke": { - count: 90 - }, - "Bartell Drugs": { - count: 53 - }, - Benavides: { - count: 83 - }, - Benu: { - count: 61 - }, - Boots: { - count: 1348 - }, - Botica: { - count: 118 - }, - "Brunnen-Apotheke": { - count: 77 - }, - "Burg-Apotheke": { - count: 76 - }, - "Bären-Apotheke": { - count: 111 - }, - CVS: { - count: 3228 - }, - Camelia: { - count: 54 - }, - Catena: { - count: 112 - }, - "Chemist Warehouse": { - count: 82 - }, - Clicks: { - count: 123 - }, - "Cruz Azul": { - count: 97 - }, - "Cruz Verde": { - count: 223 - }, - "Dbam o Zdrowie": { - count: 68 - }, - "Dr. Max": { - count: 324 - }, - "Droga Raia": { - count: 152 - }, - "Drogaria São Paulo": { - count: 87 - }, - Drogasil: { - count: 157 - }, - "Duane Reade": { - count: 91 - }, - Eczane: { - count: 88 - }, - "Engel-Apotheke": { - count: 143 - }, - "Eurovaistinė": { - count: 89 - }, - Familiprix: { - count: 70 - }, - Farmacenter: { - count: 65 - }, - "Farmacia Centrale": { - count: 61 - }, - "Farmacia Comunale": { - count: 196 - }, - "Farmacia Guadalajara": { - count: 146 - }, - "Farmacia del Ahorro": { - count: 65 - }, - "Farmacias Ahumada": { - count: 182 - }, - "Farmacias Cruz Azul": { - count: 134 - }, - "Farmacias Cruz Verde": { - count: 162 - }, - "Farmacias Económicas": { - count: 63 - }, - "Farmacias Guadalajara": { - count: 107 - }, - "Farmacias SalcoBrand": { - count: 140 - }, - "Farmacias Sana Sana": { - count: 111 - }, - "Farmacias Similares": { - count: 137 - }, - "Farmacias del Ahorro": { - count: 187 - }, - Farmacity: { - count: 191 - }, - Farmahorro: { - count: 53 - }, - Farmatodo: { - count: 165 - }, - Felicia: { - count: 56 - }, - Fybeca: { - count: 52 - }, - "Generika Drugstore": { - count: 52 - }, - "Gintarinė vaistinė": { - count: 121 - }, - Guardian: { - count: 71 - }, - "Gyógyszertár": { - count: 59 - }, - "H-E-B Pharmacy": { - count: 239 - }, - "Hirsch-Apotheke": { - count: 180 - }, - "Hubertus Apotheke": { - count: 120 - }, - Inkafarma: { - count: 234 - }, - "Jean Coutu": { - count: 132 - }, - "Kinney Drugs": { - count: 74 - }, - "Kur-Apotheke": { - count: 52 - }, - "Linden-Apotheke": { - count: 224 - }, - Ljekarna: { - count: 77 - }, - "Lloyds Pharmacy": { - count: 539 - }, - "Lékárna": { - count: 52 - }, - "Löwen-Apotheke": { - count: 397 - }, - "Marien-Apotheke": { - count: 370 - }, - "Markt-Apotheke": { - count: 207 - }, - "Mercury Drug": { - count: 584 - }, - Mifarma: { - count: 195 - }, - "Mēness aptieka": { - count: 64 - }, - "Neue Apotheke": { - count: 129 - }, - "Pague Menos": { - count: 74 - }, - Panvel: { - count: 77 - }, - "Park-Apotheke": { - count: 54 - }, - "Pharmacie Centrale": { - count: 218 - }, - "Pharmacie Principale": { - count: 62 - }, - "Pharmacie de l'Hôtel de Ville": { - count: 52 - }, - "Pharmacie de la Gare": { - count: 114 - }, - "Pharmacie de la Mairie": { - count: 71 - }, - "Pharmacie de la Poste": { - count: 68 - }, - "Pharmacie du Centre": { - count: 154 - }, - "Pharmacie du Marché": { - count: 110 - }, - "Pharmacie du Parc": { - count: 60 - }, - Pharmaprix: { - count: 99 - }, - Pharmasave: { - count: 129 - }, - "Punkt Apteczny": { - count: 53 - }, - "Rathaus-Apotheke": { - count: 181 - }, - "Rats-Apotheke": { - count: 126 - }, - Rexall: { - count: 109 - }, - "Rite Aid": { - count: 1481 - }, - "Rose Pharmacy": { - count: 99 - }, - "Rosen-Apotheke": { - count: 205 - }, - "Rowlands Pharmacy": { - count: 127 - }, - SalcoBrand: { - count: 112 - }, - "Sana Sana": { - count: 95 - }, - "Schloss-Apotheke": { - count: 62 - }, - Sensiblu: { - count: 115 - }, - "Shoppers Drug Mart": { - count: 713 - }, - "Sonnen-Apotheke": { - count: 372 - }, - "South Star Drug": { - count: 69 - }, - "Stadt-Apotheke": { - count: 397 - }, - "Stern-Apotheke": { - count: 83 - }, - Superdrug: { - count: 177 - }, - "São João": { - count: 54 - }, - "The Generics Pharmacy": { - count: 211 - }, - Uniprix: { - count: 63 - }, - Walgreens: { - count: 3314 - }, - "Walgreens Pharmacy": { - count: 76 - }, - "Walmart Pharmacy": { - count: 99 - }, - Watsons: { - count: 110 - }, - "Well Pharmacy": { - count: 61 - }, - "centro naturista": { - count: 123 - }, - "А5": { - count: 94 - }, - "Айболит": { - count: 88 - }, - "Аптека 36,6": { - count: 285 - }, - "Аптека низких цен": { - count: 65 - }, - "Аптека низьких цін": { - count: 88 - }, - "Аптека от склада": { - count: 83 - }, - "Аптека №1": { - count: 92 - }, - "Аптечный пункт": { - count: 285 - }, - "Арніка": { - count: 124 - }, - "Бережная аптека": { - count: 67 - }, - "Будь здоров": { - count: 63 - }, - "Вита": { - count: 140 - }, - "Горздрав": { - count: 395 - }, - "Живика": { - count: 105 - }, - "Здоровье": { - count: 87 - }, - "Имплозия": { - count: 84 - }, - "Классика": { - count: 102 - }, - "Ладушка": { - count: 53 - }, - "Мед-сервіс": { - count: 59 - }, - "Мелодия здоровья": { - count: 60 - }, - "Невис": { - count: 151 - }, - "Норма": { - count: 89 - }, - "Озерки": { - count: 54 - }, - "Панацея": { - count: 68 - }, - "Первая помощь": { - count: 132 - }, - "Планета здоровья": { - count: 140 - }, - "Радуга": { - count: 139 - }, - "Ригла": { - count: 215 - }, - "Семейная": { - count: 52 - }, - "Социальная аптека": { - count: 62 - }, - "Столички": { - count: 83 - }, - "Фармакопейка": { - count: 85 - }, - "Фармакор": { - count: 106 - }, - "Фармация": { - count: 187 - }, - "Фармленд": { - count: 108 - }, - "Центральная аптека": { - count: 57 - }, - "סופר-פארם": { - count: 93 - }, - "داروخانه": { - count: 264 - }, - "داروخانه شبانه روزی": { - count: 54 - }, - "صيدلية": { - count: 148 - }, - "くすりの福太郎": { - count: 51 - }, - "さくら薬局": { - count: 52 - }, - "ウエルシア": { - count: 84 - }, - "カワチ薬品": { - count: 52 - }, - "クリエイト": { - count: 53 - }, - "サンドラッグ": { - count: 130 - }, - "スギ薬局": { - count: 134 - }, - "セイジョー": { - count: 58 - }, - "ツルハドラッグ": { - count: 185 - }, - "ドラッグてらしま (Drug Terashima)": { - count: 58 - }, - "マツモトキヨシ": { - count: 221 - }, - "丁丁藥局": { - count: 75 - } - }, - pub: { - "Black Bull": { - count: 55 - }, - "Commercial Hotel": { - count: 62 - }, - "Cross Keys": { - count: 64 - }, - "Irish Pub": { - count: 107 - }, - "Kings Arms": { - count: 81 - }, - "Kings Head": { - count: 65 - }, - "New Inn": { - count: 100 - }, - "Prince of Wales": { - count: 89 - }, - "Queens Head": { - count: 55 - }, - "Red Lion": { - count: 201 - }, - "Rose & Crown": { - count: 63 - }, - "Rose and Crown": { - count: 82 - }, - "Royal Hotel": { - count: 64 - }, - "Royal Oak": { - count: 172 - }, - "The Albion": { - count: 51 - }, - "The Anchor": { - count: 68 - }, - "The Angel": { - count: 55 - }, - "The Beehive": { - count: 52 - }, - "The Bell": { - count: 128 - }, - "The Bell Inn": { - count: 58 - }, - "The Black Horse": { - count: 100 - }, - "The Bull": { - count: 82 - }, - "The Castle": { - count: 63 - }, - "The Chequers": { - count: 74 - }, - "The Cricketers": { - count: 56 - }, - "The Cross Keys": { - count: 58 - }, - "The Crown": { - count: 252 - }, - "The Crown Inn": { - count: 88 - }, - "The Fox": { - count: 76 - }, - "The George": { - count: 119 - }, - "The Green Man": { - count: 59 - }, - "The Greyhound": { - count: 99 - }, - "The Kings Arms": { - count: 65 - }, - "The Kings Head": { - count: 68 - }, - "The New Inn": { - count: 126 - }, - "The Plough": { - count: 182 - }, - "The Plough Inn": { - count: 57 - }, - "The Queens Head": { - count: 61 - }, - "The Railway": { - count: 112 - }, - "The Red Lion": { - count: 271 - }, - "The Rising Sun": { - count: 74 - }, - "The Royal Oak": { - count: 223 - }, - "The Ship": { - count: 92 - }, - "The Ship Inn": { - count: 98 - }, - "The Star": { - count: 72 - }, - "The Star Inn": { - count: 53 - }, - "The Sun Inn": { - count: 51 - }, - "The Swan": { - count: 155 - }, - "The Swan Inn": { - count: 59 - }, - "The Victoria": { - count: 72 - }, - "The Wheatsheaf": { - count: 126 - }, - "The White Hart": { - count: 247 - }, - "The White Horse": { - count: 234 - }, - "The White Lion": { - count: 75 - }, - "The White Swan": { - count: 55 - }, - "魚民": { - count: 119 - }, - "鳥貴族": { - count: 57 - } - }, - restaurant: { - Adler: { - count: 228 - }, - Adria: { - count: 60 - }, - "Adyar Ananda Bhavan": { - count: 60 - }, - Akropolis: { - count: 212 - }, - "Ali Baba": { - count: 59 - }, - "Alte Post": { - count: 68 - }, - "Applebee's": { - count: 977 - }, - Asia: { - count: 78 - }, - Athen: { - count: 75 - }, - Athos: { - count: 61 - }, - Autogrill: { - count: 60 - }, - Bahnhof: { - count: 56 - }, - "Bella Italia": { - count: 194 - }, - "Bella Napoli": { - count: 88 - }, - "Big Boy": { - count: 58 - }, - Bistro: { - count: 64 - }, - "Bob Evans": { - count: 269 - }, - "Bonefish Grill": { - count: 73 - }, - "Boston Market": { - count: 91 - }, - "Boston Pizza": { - count: 278 - }, - "Buffalo Grill": { - count: 282 - }, - "Buffalo Wild Wings": { - count: 454 - }, - "Bären": { - count: 75 - }, - Cafeteria: { - count: 65 - }, - "California Pizza Kitchen": { - count: 116 - }, - Campanile: { - count: 55 - }, - Canteen: { - count: 91 - }, - Capri: { - count: 56 - }, - "Captain D's": { - count: 54 - }, - "Carluccio's": { - count: 57 - }, - "Carpe Diem": { - count: 60 - }, - "Carrabba's Italian Grill": { - count: 62 - }, - "Casa Mia": { - count: 64 - }, - Casablanca: { - count: 61 - }, - "Cheesecake Factory": { - count: 52 - }, - Chifa: { - count: 86 - }, - "Chili's": { - count: 698 - }, - "China Buffet": { - count: 54 - }, - "China Garden": { - count: 114 - }, - "China House": { - count: 72 - }, - "China Town": { - count: 117 - }, - "China Wok": { - count: 100 - }, - Chiquito: { - count: 55 - }, - "Chuck E. Cheese's": { - count: 54 - }, - "Cici's Pizza": { - count: 51 - }, - "CoCo壱番屋": { - count: 77 - }, - "Cold Stone Creamery": { - count: 67 - }, - Comedor: { - count: 60 - }, - "Comida China": { - count: 52 - }, - Courtepaille: { - count: 170 - }, - "Cracker Barrel": { - count: 392 - }, - "Da Grasso": { - count: 63 - }, - "Da Vinci": { - count: 88 - }, - Delphi: { - count: 105 - }, - "Denny's": { - count: 850 - }, - "Deutsches Haus": { - count: 93 - }, - Dionysos: { - count: 75 - }, - "Dolce Vita": { - count: 121 - }, - Dorfkrug: { - count: 60 - }, - "Dunkin' Donuts": { - count: 94, - tags: { - cuisine: "donut" - } - }, - "East Side Mario's": { - count: 53 - }, - "El Greco": { - count: 112 - }, - "El Paso": { - count: 60 - }, - "El Rancho": { - count: 82 - }, - Europa: { - count: 61 - }, - "Famous Dave's": { - count: 62 - }, - "Firehouse Subs": { - count: 85 - }, - "Five Guys": { - count: 91 - }, - Flunch: { - count: 179 - }, - "Frankie & Benny's": { - count: 151 - }, - "Friendly's": { - count: 113 - }, - "Gasthaus Krone": { - count: 93 - }, - "Gasthaus zur Linde": { - count: 59 - }, - "Gasthof zur Post": { - count: 109 - }, - "Golden Corral": { - count: 209 - }, - "Golden Dragon": { - count: 62 - }, - "Great Wall": { - count: 54 - }, - "Grüner Baum": { - count: 122 - }, - Gusto: { - count: 74 - }, - "Hard Rock Cafe": { - count: 96 - }, - "Hardee's": { - count: 56, - tags: { - cuisine: "burger" - } - }, - Harvester: { - count: 75 - }, - Hellas: { - count: 66 - }, - Hippopotamus: { - count: 115 - }, - Hirsch: { - count: 83 - }, - Hirschen: { - count: 86 - }, - "Hong Kong": { - count: 126 - }, - Hooters: { - count: 190 - }, - IHOP: { - count: 758 - }, - "IL Патио": { - count: 51 - }, - "Jason's Deli": { - count: 73 - }, - "Jimmy John's": { - count: 150, - tags: { - cuisine: "sandwich" - } - }, - "Joe's Crab Shack": { - count: 70 - }, - "Jägerhof": { - count: 54 - }, - Kantine: { - count: 104 - }, - "Kelsey's": { - count: 66 - }, - Kirchenwirt: { - count: 94 - }, - Kreta: { - count: 70 - }, - Kreuz: { - count: 85 - }, - Krone: { - count: 179 - }, - Kudu: { - count: 172 - }, - "L'Escale": { - count: 66 - }, - "L'Osteria": { - count: 80 - }, - "La Bodega": { - count: 55 - }, - "La Boucherie": { - count: 80 - }, - "La Cantina": { - count: 105 - }, - "La Casa": { - count: 66 - }, - "La Casona": { - count: 62 - }, - "La Dolce Vita": { - count: 129 - }, - "La Fontana": { - count: 62 - }, - "La Gondola": { - count: 60 - }, - "La Hacienda": { - count: 54 - }, - "La Pataterie": { - count: 116 - }, - "La Pergola": { - count: 87 - }, - "La Perla": { - count: 85 - }, - "La Piazza": { - count: 123 - }, - "La Piazzetta": { - count: 77 - }, - "La Place": { - count: 55 - }, - "La Scala": { - count: 62 - }, - "La Strada": { - count: 74 - }, - "La Tagliatella": { - count: 69 - }, - "La Tasca": { - count: 56 - }, - "La Taverna": { - count: 58 - }, - "La Terrasse": { - count: 82 - }, - "La Terraza": { - count: 56 - }, - "La Terrazza": { - count: 57 - }, - "La Trattoria": { - count: 91 - }, - Lamm: { - count: 69 - }, - Linde: { - count: 114 - }, - Lindenhof: { - count: 95 - }, - "Little Caesars": { - count: 80 - }, - "Little Chef": { - count: 62 - }, - "Little Italy": { - count: 90 - }, - "Logan's Roadhouse": { - count: 89 - }, - "LongHorn Steakhouse": { - count: 183 - }, - Lotus: { - count: 87 - }, - "Léon de Bruxelles": { - count: 63 - }, - "Löwen": { - count: 141 - }, - "MK Restaurants": { - count: 65 - }, - Maharaja: { - count: 52 - }, - "Mamma Mia": { - count: 130 - }, - Mandarin: { - count: 90 - }, - "Mang Inasal": { - count: 128 - }, - "Marco Polo": { - count: 62 - }, - "Marco's Pizza": { - count: 53 - }, - "McAlister's Deli": { - count: 51 - }, - Mediterraneo: { - count: 55 - }, - "Mellow Mushroom": { - count: 73 - }, - Mensa: { - count: 148 - }, - Milano: { - count: 77 - }, - "Mimi's Cafe": { - count: 52 - }, - "Moe's Southwest Grill": { - count: 79 - }, - Mykonos: { - count: 89 - }, - Mythos: { - count: 61 - }, - "Nando's": { - count: 412 - }, - "Noodles & Company": { - count: 106 - }, - "O'Charley's": { - count: 61 - }, - Oasis: { - count: 73 - }, - "Ocean Basket": { - count: 71 - }, - Ochsen: { - count: 94 - }, - "Old Chicago": { - count: 54 - }, - "Olive Garden": { - count: 504 - }, - Olympia: { - count: 86 - }, - Osaka: { - count: 52 - }, - "Outback Steakhouse": { - count: 399 - }, - "P.F. Chang's": { - count: 53 - }, - "Pancake House": { - count: 79 - }, - Panda: { - count: 52 - }, - "Panera Bread": { - count: 582 - }, - Panorama: { - count: 102 - }, - "Papa Murphy's": { - count: 66 - }, - Parrilla: { - count: 62 - }, - Peking: { - count: 68 - }, - Perkins: { - count: 157 - }, - Pinocchio: { - count: 63 - }, - "Pizza Express": { - count: 417 - }, - "Pizza Factory": { - count: 59 - }, - "Pizza House": { - count: 56 - }, - "Pizza Hut": { - count: 2688, - tags: { - cuisine: "pizza" - } - }, - "Pizza Ranch": { - count: 77 - }, - "Pizzeria Italia": { - count: 65 - }, - "Pizzeria Milano": { - count: 51 - }, - "Pizzeria Napoli": { - count: 53 - }, - "Pizzeria Roma": { - count: 86 - }, - "Pizzeria Venezia": { - count: 54 - }, - "Poivre Rouge": { - count: 56 - }, - "Pollo Campero": { - count: 53 - }, - Pomodoro: { - count: 62 - }, - Portofino: { - count: 67 - }, - Poseidon: { - count: 145 - }, - Prezzo: { - count: 147 - }, - Qdoba: { - count: 81 - }, - "Qdoba Mexican Grill": { - count: 54 - }, - Ratskeller: { - count: 161 - }, - "Red Lobster": { - count: 419 - }, - "Red Robin": { - count: 312 - }, - "Restaurante Universitário": { - count: 53 - }, - Rhodos: { - count: 94 - }, - "Ristorante Del Arte": { - count: 160 - }, - Roma: { - count: 85 - }, - Rose: { - count: 51 - }, - "Round Table Pizza": { - count: 100 - }, - "Ruby Tuesday": { - count: 303 - }, - "Rössle": { - count: 54 - }, - "Rössli": { - count: 93 - }, - Saigon: { - count: 51 - }, - Sakura: { - count: 139 - }, - "San Marco": { - count: 88 - }, - Santorini: { - count: 59 - }, - "Schwarzer Adler": { - count: 65 - }, - "Schützenhaus": { - count: 151 - }, - "Shakey's": { - count: 64 - }, - Shalimar: { - count: 53 - }, - Shanghai: { - count: 96 - }, - "Shari's": { - count: 75 - }, - "Shoney's": { - count: 55 - }, - Sizzler: { - count: 90 - }, - Sonic: { - count: 80, - tags: { - cuisine: "burger" - } - }, - Sonne: { - count: 121 - }, - Sphinx: { - count: 66 - }, - Sportheim: { - count: 113 - }, - Spur: { - count: 70 - }, - Starbucks: { - count: 54, - tags: { - cuisine: "coffee_shop" - } - }, - "Steak 'n Shake": { - count: 86, - tags: { - cuisine: "burger" - } - }, - Sternen: { - count: 85 - }, - Subway: { - count: 1108 - }, - "Sunset Grill": { - count: 55 - }, - Sushi: { - count: 88 - }, - "Sushi Bar": { - count: 68 - }, - "Swiss Chalet": { - count: 162 - }, - Syrtaki: { - count: 65 - }, - "TGI Friday's": { - count: 364 - }, - "Taj Mahal": { - count: 183 - }, - "Taste of India": { - count: 68 - }, - Taverna: { - count: 69 - }, - Telepizza: { - count: 109 - }, - "Texas Roadhouse": { - count: 232 - }, - "The Cheesecake Factory": { - count: 52 - }, - "Tim Hortons": { - count: 61 - }, - "Toby Carvery": { - count: 51 - }, - "Tony Roma's": { - count: 63 - }, - Toscana: { - count: 76 - }, - Trattoria: { - count: 70 - }, - Traube: { - count: 68 - }, - Vapiano: { - count: 136 - }, - Venezia: { - count: 68 - }, - "Village Inn": { - count: 149 - }, - Vips: { - count: 109 - }, - "Waffle House": { - count: 521 - }, - Wagamama: { - count: 111 - }, - "Waldschänke": { - count: 52 - }, - Warung: { - count: 73 - }, - Wasabi: { - count: 70 - }, - Wimpy: { - count: 66 - }, - "Zaxby's": { - count: 60 - }, - Zizzi: { - count: 102 - }, - Zorbas: { - count: 62 - }, - "Zum Hirschen": { - count: 52 - }, - "Zum Löwen": { - count: 80 - }, - "Zur Krone": { - count: 96 - }, - "Zur Linde": { - count: 228 - }, - "Zur Post": { - count: 125 - }, - "Zur Sonne": { - count: 77 - }, - "Евразия": { - count: 93 - }, - "Ресторан": { - count: 60 - }, - "Тануки": { - count: 62 - }, - "Якитория": { - count: 84 - }, - "رستوران": { - count: 72 - }, - "مطعم": { - count: 52 - }, - "すき家": { - count: 61, - tags: { - "name:en": "Sukiya" - } - }, - "はま寿司": { - count: 67 - }, - "びっくりドンキー": { - count: 120 - }, - "やよい軒": { - count: 71 - }, - "ガスト": { - count: 512, - tags: { - "name:en": "Gusto" - } - }, - "ココス": { - count: 142 - }, - "サイゼリア": { - count: 54 - }, - "サイゼリヤ": { - count: 285 - }, - "ジョイフル": { - count: 83 - }, - "ジョナサン": { - count: 139 - }, - "ジョリーパスタ": { - count: 75 - }, - "デニーズ": { - count: 199 - }, - "バーミヤン": { - count: 130 - }, - "ロイヤルホスト": { - count: 108 - }, - "丸亀製麺": { - count: 98 - }, - "八方雲集": { - count: 145 - }, - "吉野家": { - count: 61 - }, - "夢庵": { - count: 67 - }, - "大戸屋": { - count: 68 - }, - "大阪王将": { - count: 68 - }, - "天下一品": { - count: 70 - }, - "安楽亭": { - count: 60 - }, - "牛角": { - count: 107 - }, - "食堂": { - count: 63 - }, - "餃子の王将": { - count: 212 - }, - "바다횟집 (Bada Fish Restaurant)": { - count: 52 - } - }, - school: { - "Adolfo Lopez Mateos": { - count: 137 - }, - "Agustin Ya�ez": { - count: 57 - }, - "Albert-Schweitzer-Schule": { - count: 81 - }, - "Amado Nervo": { - count: 85 - }, - "Astrid-Lindgren-Schule": { - count: 77 - }, - "Benito Juarez": { - count: 294 - }, - "Brown School": { - count: 54 - }, - CEM: { - count: 215 - }, - "Center School": { - count: 115 - }, - "Central Elementary School": { - count: 179 - }, - "Central High School": { - count: 130 - }, - "Central School": { - count: 215 - }, - "Colegio San José": { - count: 74 - }, - "Collège Jean Moulin": { - count: 68 - }, - "Collège privé Saint-Joseph": { - count: 60 - }, - Cuauhtemoc: { - count: 152 - }, - "Curso Comunitario": { - count: 57 - }, - "Cursos Comunitarios": { - count: 116 - }, - EPP: { - count: 112 - }, - "Emiliano Zapata": { - count: 286 - }, - "Fairview Elementary School": { - count: 64 - }, - "Fairview School": { - count: 164 - }, - "Francisco I Madero": { - count: 86 - }, - "Francisco I. Madero": { - count: 52 - }, - "Francisco Villa": { - count: 116 - }, - "Franklin Elementary School": { - count: 96 - }, - "Franklin School": { - count: 126 - }, - "Garfield Elementary School": { - count: 69 - }, - "Garfield School": { - count: 58 - }, - "Gimnazjum nr 1": { - count: 59 - }, - "Government School": { - count: 60 - }, - "Gregorio Torres Quintero": { - count: 53 - }, - "Groupe Scolaire": { - count: 57 - }, - "Guadalupe Victoria": { - count: 58 - }, - "Highland School": { - count: 71 - }, - "Hillcrest Elementary School": { - count: 63 - }, - "Holy Cross School": { - count: 68 - }, - "Holy Family School": { - count: 77 - }, - "Holy Trinity School": { - count: 59 - }, - "Ignacio Allende": { - count: 51 - }, - "Ignacio Zaragoza": { - count: 98 - }, - "Immaculate Conception School": { - count: 83 - }, - "Jackson Elementary School": { - count: 53 - }, - "Jackson School": { - count: 56 - }, - "Jefferson Elementary School": { - count: 177 - }, - "Jefferson School": { - count: 108 - }, - "Jose Clemente Orozco": { - count: 59 - }, - "Jose Ma Morelos Y Pavon": { - count: 120 - }, - "Jose Vasconcelos": { - count: 73 - }, - "Josefa Ortiz De Dominguez": { - count: 78 - }, - "Juan Escutia": { - count: 121 - }, - "Justo Sierra": { - count: 118 - }, - Kumon: { - count: 66 - }, - "Lazaro Cardenas": { - count: 68 - }, - "Lazaro Cardenas Del Rio": { - count: 153 - }, - "Leona Vicario": { - count: 64 - }, - "Liberty Elementary School": { - count: 56 - }, - "Liberty School": { - count: 84 - }, - "Lincoln Elementary School": { - count: 264 - }, - "Lincoln School": { - count: 269 - }, - "Longfellow Elementary School": { - count: 55 - }, - "Longfellow School": { - count: 53 - }, - "Madison Elementary School": { - count: 55 - }, - "Manuel Lopez Cotilla": { - count: 107 - }, - "Maple Grove School": { - count: 51 - }, - "McKinley Elementary School": { - count: 62 - }, - "McKinley School": { - count: 63 - }, - "Miguel Hidalgo": { - count: 86 - }, - "Miguel Hidalgo Y Costilla": { - count: 213 - }, - "Miller School": { - count: 66 - }, - "Mount Pleasant School": { - count: 61 - }, - "Mount Zion School": { - count: 53 - }, - "Mountain View Elementary School": { - count: 52 - }, - "New Hope School": { - count: 51 - }, - "Nicolas Bravo": { - count: 58 - }, - "Ni�os Heroes": { - count: 155 - }, - "Nombre En Tramite": { - count: 126 - }, - "North Elementary School": { - count: 57 - }, - "Oak Grove School": { - count: 148 - }, - "Pedro Moreno": { - count: 69 - }, - Pestalozzischule: { - count: 84 - }, - "Pine Grove School": { - count: 63 - }, - "Pleasant Hill School": { - count: 110 - }, - "Pleasant Valley School": { - count: 85 - }, - "Pleasant View School": { - count: 61 - }, - "Primaria Comunitaria": { - count: 59 - }, - "Ramon Corona": { - count: 54 - }, - "Ricardo Flores Magon": { - count: 91 - }, - "Riverside School": { - count: 76 - }, - "Roosevelt Elementary School": { - count: 112 - }, - "Roosevelt School": { - count: 114 - }, - SD: { - count: 76 - }, - SDN: { - count: 290 - }, - "Sacred Heart School": { - count: 206 - }, - "Saint Francis School": { - count: 56 - }, - "Saint James School": { - count: 83 - }, - "Saint Johns School": { - count: 173 - }, - "Saint Joseph School": { - count: 147 - }, - "Saint Josephs School": { - count: 157 - }, - "Saint Kizito Primary School": { - count: 61 - }, - "Saint Mary School": { - count: 54 - }, - "Saint Marys School": { - count: 256 - }, - "Saint Patricks School": { - count: 80 - }, - "Saint Paul School": { - count: 53 - }, - "Saint Pauls School": { - count: 74 - }, - "Saint Peters School": { - count: 81 - }, - Schillerschule: { - count: 61 - }, - "School Number 1": { - count: 233 - }, - "School Number 2": { - count: 206 - }, - "School Number 3": { - count: 184 - }, - "School Number 4": { - count: 126 - }, - "Smith School": { - count: 60 - }, - "Sor Juana Ines De La Cruz": { - count: 56 - }, - "South Elementary School": { - count: 53 - }, - "Sunnyside School": { - count: 60 - }, - "Szkoła Podstawowa nr 1": { - count: 78 - }, - "Szkoła Podstawowa nr 2": { - count: 75 - }, - "Szkoła Podstawowa nr 3": { - count: 60 - }, - "Trinity School": { - count: 85 - }, - "UNIDAD EDUCATIVA": { - count: 106 - }, - "Union School": { - count: 128 - }, - "Valentin Gomez Farias": { - count: 71 - }, - "Venustiano Carranza": { - count: 64 - }, - "Vicente Guerrero": { - count: 159 - }, - Volkshochschule: { - count: 105 - }, - Volksschule: { - count: 366 - }, - "Washington Elementary School": { - count: 192 - }, - "Washington School": { - count: 213 - }, - "West Elementary School": { - count: 58 - }, - "White School": { - count: 51 - }, - "Wilson Elementary School": { - count: 66 - }, - "Wilson School": { - count: 80 - }, - "Általános iskola": { - count: 105 - }, - "École Jules Ferry": { - count: 51 - }, - "École Notre-Dame": { - count: 61 - }, - "École Saint-Joseph": { - count: 96 - }, - "École primaire Jean Jaurès": { - count: 71 - }, - "École primaire Jules Ferry": { - count: 82 - }, - "École primaire privée Notre-Dame": { - count: 69 - }, - "École primaire privée Saint-Joseph": { - count: 132 - }, - "École primaire privée Sainte-Marie": { - count: 63 - }, - "École élémentaire Jules Ferry": { - count: 52 - }, - "Școala Generală": { - count: 51 - }, - "Școală": { - count: 53 - }, - "Вечерняя школа": { - count: 53 - }, - "Гимназия №1": { - count: 96 - }, - "ДЮСШ": { - count: 63 - }, - "Средняя школа №1": { - count: 80 - }, - "Средняя школа №2": { - count: 86 - }, - "Средняя школа №3": { - count: 58 - }, - "Школа № 1": { - count: 130 - }, - "Школа № 2": { - count: 117 - }, - "Школа № 3": { - count: 80 - }, - "Школа № 4": { - count: 77 - }, - "Школа № 5": { - count: 55 - }, - "Школа №1": { - count: 576 - }, - "Школа №10": { - count: 167 - }, - "Школа №11": { - count: 148 - }, - "Школа №12": { - count: 136 - }, - "Школа №13": { - count: 129 - }, - "Школа №14": { - count: 123 - }, - "Школа №15": { - count: 129 - }, - "Школа №16": { - count: 99 - }, - "Школа №17": { - count: 117 - }, - "Школа №18": { - count: 111 - }, - "Школа №19": { - count: 98 - }, - "Школа №2": { - count: 509 - }, - "Школа №20": { - count: 100 - }, - "Школа №21": { - count: 72 - }, - "Школа №22": { - count: 72 - }, - "Школа №23": { - count: 75 - }, - "Школа №24": { - count: 78 - }, - "Школа №25": { - count: 57 - }, - "Школа №26": { - count: 64 - }, - "Школа №27": { - count: 58 - }, - "Школа №28": { - count: 53 - }, - "Школа №3": { - count: 393 - }, - "Школа №31": { - count: 55 - }, - "Школа №35": { - count: 54 - }, - "Школа №4": { - count: 281 - }, - "Школа №5": { - count: 275 - }, - "Школа №6": { - count: 217 - }, - "Школа №7": { - count: 215 - }, - "Школа №8": { - count: 188 - }, - "Школа №9": { - count: 183 - }, - "مدرسة": { - count: 92 - }, - "مدرسه": { - count: 500 - }, - "市立南中学校": { - count: 53 - }, - "市立南小学校": { - count: 56 - }, - "市立東中学校": { - count: 54 - } - }, - social_facility: { - "Safe Haven": { - count: 92 - }, - "Детский дом": { - count: 70 - }, - "Социальный участковый": { - count: 195 - } - }, - theatre: { - Amfiteatr: { - count: 97 - }, - Amphitheater: { - count: 110 - }, - Amphitheatre: { - count: 109 - }, - "Freilichtbühne": { - count: 78 - }, - "Teatro Comunale": { - count: 56 - } - } - }; - var leisure = { - fitness_centre: { - "Anytime Fitness": { - count: 143 - }, - "Gold's Gym": { - count: 61 - }, - "LA Fitness": { - count: 126 - }, - "Planet Fitness": { - count: 106 - }, - "Snap Fitness": { - count: 67 - } - }, - playground: { - "Çocuk Parkı": { - count: 60 - }, - "놀이터": { - count: 292 - } - }, - sports_centre: { - "Anytime Fitness": { - count: 152 - }, - "Complejo Municipal de Deportes": { - count: 88 - }, - "Complexe Sportif": { - count: 51 - }, - Curves: { - count: 91 - }, - "Fitness First": { - count: 70 - }, - "Gold's Gym": { - count: 82 - }, - "Kieser Training": { - count: 90 - }, - "LA Fitness": { - count: 72 - }, - "Life Time Fitness": { - count: 76 - }, - McFit: { - count: 60 - }, - "Mrs. Sporty": { - count: 76 - }, - Orlik: { - count: 82 - }, - "Pabellón Municipal de Deportes": { - count: 109 - }, - "Palestra Comunale": { - count: 81 - }, - "Planet Fitness": { - count: 106 - }, - "Salle Omnisport": { - count: 57 - }, - "Schützenhaus": { - count: 79 - }, - "Snap Fitness": { - count: 51 - }, - "Virgin Active": { - count: 69 - }, - YMCA: { - count: 174 - }, - "ДЮСШ": { - count: 82 - }, - "Ледовый дворец": { - count: 54 - }, - "体育館": { - count: 80 - } - }, - swimming_pool: { - Schwimmerbecken: { - count: 57 - }, - "Yüzme Havuzu": { - count: 51 - }, - "プール": { - count: 56 - }, - "游泳池": { - count: 55 - } - } - }; - var man_made = { - windmill: { - "De Hoop": { - count: 57 - } - } - }; - var shop = { - alcohol: { - Alko: { - count: 170 - }, - "BC Liquor Store": { - count: 66 - }, - BWS: { - count: 157 - }, - "Bargain Booze": { - count: 140 - }, - "Beer Store": { - count: 66 - }, - Botilleria: { - count: 121 - }, - "Dan Murphy's": { - count: 61 - }, - "Gall & Gall": { - count: 511 - }, - LCBO: { - count: 430 - }, - "Liquor Depot": { - count: 53 - }, - "Liquor Store": { - count: 72 - }, - Liquorland: { - count: 112 - }, - Mitra: { - count: 60 - }, - Nicolas: { - count: 253 - }, - SAQ: { - count: 169 - }, - Systembolaget: { - count: 271 - }, - "The Beer Store": { - count: 231 - }, - Vinmonopolet: { - count: 66 - }, - "Алкомаркет": { - count: 67 - }, - "Ароматный мир": { - count: 196 - }, - "Бристоль": { - count: 329 - }, - "Градус": { - count: 52 - }, - "Живое пиво": { - count: 182 - }, - "Красное & Белое": { - count: 989 - }, - "Кристалл": { - count: 56 - }, - "Норман": { - count: 146 - }, - "Отдохни": { - count: 75 - }, - "Пиво": { - count: 73 - }, - "Разливное пиво": { - count: 143 - } - }, - baby_goods: { - Aubert: { - count: 56 - }, - "Babies R Us": { - count: 80 - }, - BabyOne: { - count: 52 - }, - "西松屋": { - count: 53 - } - }, - bakery: { - AILI: { - count: 53 - }, - Anker: { - count: 85 - }, - Awiteks: { - count: 53 - }, - Backshop: { - count: 57 - }, - Backwerk: { - count: 161 - }, - Baguette: { - count: 72 - }, - "Bakers Delight": { - count: 75 - }, - "Bakker Bart": { - count: 97 - }, - Banette: { - count: 111 - }, - "Bäckerei Fuchs": { - count: 62 - }, - "Bäckerei Grimminger": { - count: 51 - }, - "Bäckerei Müller": { - count: 68 - }, - "Bäckerei Schmidt": { - count: 103 - }, - "Bäckerei Schneider": { - count: 52 - }, - Cooplands: { - count: 63 - }, - "Dat Backhus": { - count: 81 - }, - "Der Beck": { - count: 114 - }, - "Der Mann": { - count: 53 - }, - Ditsch: { - count: 70 - }, - "Dunkin' Donuts": { - count: 55, - tags: { - cuisine: "donut" - } - }, - Fornetti: { - count: 113 - }, - "Goeken backen": { - count: 53 - }, - Goldilocks: { - count: 124 - }, - Greggs: { - count: 613 - }, - Hofpfisterei: { - count: 134 - }, - Ihle: { - count: 108 - }, - "Julie's Bakeshop": { - count: 57 - }, - "K&U": { - count: 117 - }, - "K&U Bäckerei": { - count: 54 - }, - Kamps: { - count: 268 - }, - "La Mie Câline": { - count: 56 - }, - "Le Crobag": { - count: 54 - }, - "Le Fournil": { - count: 57 - }, - "Lila Bäcker": { - count: 107 - }, - "Lipóti Pékség": { - count: 54 - }, - "Marie Blachère": { - count: 89 - }, - Mlinar: { - count: 80 - }, - Musmanni: { - count: 81 - }, - Oebel: { - count: 65 - }, - Paul: { - count: 186 - }, - "Red Ribbon": { - count: 72 - }, - "Schäfer's": { - count: 146 - }, - Sehne: { - count: 91 - }, - "Stadtbäckerei": { - count: 60 - }, - Steinecke: { - count: 268 - }, - "Sternenbäck": { - count: 89 - }, - "Ströck": { - count: 62 - }, - "Wiener Feinbäcker": { - count: 55 - }, - "von Allwörden": { - count: 65 - }, - "Булочная": { - count: 71 - }, - "Горячий хлеб": { - count: 54 - }, - "Каравай": { - count: 56 - }, - "Кулиничи": { - count: 121 - }, - "Кулиничі": { - count: 59 - }, - "Свежий хлеб": { - count: 68 - }, - "Хлеб": { - count: 177 - }, - "مخبز": { - count: 72 - }, - "مخبزة": { - count: 55 - }, - "نان لواش": { - count: 54 - }, - "نانوایی": { - count: 665 - }, - "نانوایی بربری": { - count: 140 - }, - "نانوایی سنگک": { - count: 68 - }, - "نانوایی سنگکی": { - count: 52 - }, - "نانوایی لواش": { - count: 63 - } - }, - beauty: { - Marionnaud: { - count: 54 - }, - "Sally Beauty Supply": { - count: 151 - }, - "Yves Rocher": { - count: 654 - } - }, - bed: { - "Dänisches Bettenlager": { - count: 157 - }, - "Matratzen Concord": { - count: 361 - }, - "Mattress Firm": { - count: 173 - }, - "Sleepy's": { - count: 52 - } - }, - beverages: { - "50嵐": { - count: 101 - }, - Dursty: { - count: 77 - }, - "Edeka Getränkemarkt": { - count: 69 - }, - Fristo: { - count: 88 - }, - "Getränke Hoffmann": { - count: 187 - }, - "Getränkeland": { - count: 81 - }, - "Getränkemarkt": { - count: 110 - }, - "Orterer Getränkemarkt": { - count: 64 - }, - "Rewe Getränkemarkt": { - count: 256 - }, - Trinkgut: { - count: 112 - }, - "茶湯會": { - count: 56 - } - }, - bicycle: { - Giant: { - count: 52 - }, - Halfords: { - count: 158 - }, - "Веломарка": { - count: 51 - }, - "サイクルベースあさひ": { - count: 87 - } - }, - bookmaker: { - Betfred: { - count: 320 - }, - Coral: { - count: 466 - }, - Ladbrokes: { - count: 629 - }, - "Paddy Power": { - count: 127 - }, - "William Hill": { - count: 634 - }, - "ΟΠΑΠ": { - count: 102 - } - }, - butcher: { - "Boucherie Charcuterie": { - count: 51 - }, - "Carnicería": { - count: 78 - }, - "Fleischerei Richter": { - count: 51 - }, - "Húsbolt": { - count: 52 - }, - Macelleria: { - count: 84 - }, - Vinzenzmurr: { - count: 55 - }, - "Ариант": { - count: 84 - }, - "Великолукский мясокомбинат": { - count: 173 - }, - "Мясная лавка": { - count: 226 - }, - "Мясницкий ряд": { - count: 64 - }, - "Мясной": { - count: 53 - }, - "Мясо": { - count: 156 - }, - "Наша Ряба": { - count: 60 - }, - "Свежее мясо": { - count: 111 - } - }, - car: { - Audi: { - count: 191 - }, - BMW: { - count: 216 - }, - Chevrolet: { - count: 259 - }, - "Citroën": { - count: 445 - }, - Dacia: { - count: 56 - }, - Fiat: { - count: 167 - }, - Ford: { - count: 446 - }, - Honda: { - count: 348 - }, - Hyundai: { - count: 421 - }, - Isuzu: { - count: 66 - }, - Kia: { - count: 456 - }, - "Land Rover": { - count: 54 - }, - Lexus: { - count: 76 - }, - Mazda: { - count: 193 - }, - "Mercedes-Benz": { - count: 447 - }, - Mitsubishi: { - count: 176 - }, - "Mitsubishi Motors": { - count: 60 - }, - NISSAN: { - count: 51 - }, - Nissan: { - count: 424 - }, - Opel: { - count: 218 - }, - Peugeot: { - count: 527 - }, - Porsche: { - count: 97 - }, - Renault: { - count: 701 - }, - Seat: { - count: 90 - }, - Skoda: { - count: 143 - }, - Subaru: { - count: 118 - }, - Suzuki: { - count: 178 - }, - Toyota: { - count: 597 - }, - Volkswagen: { - count: 371 - }, - Volvo: { - count: 180 - } - }, - car_parts: { - "Advance Auto Parts": { - count: 306 - }, - AutoZone: { - count: 759 - }, - Brezan: { - count: 95 - }, - Halfords: { - count: 95 - }, - "NAPA Auto Parts": { - count: 250 - }, - "Napa Auto Parts": { - count: 61 - }, - "O'Reilly Auto Parts": { - count: 374 - }, - Repco: { - count: 77 - }, - "Tokić": { - count: 61 - }, - "repuestos automotrices": { - count: 56 - }, - "Автозапчастини": { - count: 61 - }, - "Автомир": { - count: 53 - }, - "イエローハット": { - count: 80 - }, - "オートバックス": { - count: 91 - }, - "タイヤ館": { - count: 83 - } - }, - car_repair: { - "A.T.U": { - count: 457 - }, - "Advance Auto Parts": { - count: 290 - }, - Borracharia: { - count: 56 - }, - "Bosch Car Service": { - count: 65 - }, - Carglass: { - count: 234 - }, - "Citroën": { - count: 108 - }, - Euromaster: { - count: 142 - }, - "Feu Vert": { - count: 178 - }, - Firestone: { - count: 224 - }, - "Firestone Complete Auto Care": { - count: 73 - }, - Ford: { - count: 61 - }, - "Garage Renault": { - count: 84 - }, - Gomeria: { - count: 153 - }, - "Gomería": { - count: 107 - }, - Goodyear: { - count: 97 - }, - "Grease Monkey": { - count: 57 - }, - Halfords: { - count: 56 - }, - "Jiffy Lube": { - count: 464 - }, - "Kwik Fit": { - count: 249 - }, - Lubricentro: { - count: 83 - }, - Meineke: { - count: 52 - }, - Mekonomen: { - count: 59 - }, - Midas: { - count: 462 - }, - "Mr. Lube": { - count: 56 - }, - "NAPA Auto Parts": { - count: 82 - }, - Norauto: { - count: 257 - }, - "O'Reilly Auto Parts": { - count: 227 - }, - "Pep Boys": { - count: 79 - }, - Peugeot: { - count: 152 - }, - "Pit Stop": { - count: 84 - }, - "Point S": { - count: 59 - }, - Renault: { - count: 294 - }, - Roady: { - count: 82 - }, - "Sears Auto Center": { - count: 59 - }, - Speedy: { - count: 192 - }, - "Stacja Kontroli Pojazdów": { - count: 70 - }, - Taller: { - count: 63 - }, - Toyota: { - count: 63 - }, - Valvoline: { - count: 52 - }, - "Valvoline Instant Oil Change": { - count: 92 - }, - Wulkanizacja: { - count: 84 - }, - "ÖAMTC": { - count: 52 - }, - "Автомастерская": { - count: 93 - }, - "Авторемонт": { - count: 57 - }, - "Автосервис": { - count: 799 - }, - "Автосервис+шиномонтаж": { - count: 66 - }, - "Вулканизация": { - count: 72 - }, - "Замена масла": { - count: 98 - }, - "СТО": { - count: 1058 - }, - "Шиномонтаж": { - count: 3591 - }, - "шиномонтаж": { - count: 173 - } - }, - carpet: { - "Carpet Right": { - count: 111 - }, - Carpetright: { - count: 53 - } - }, - charity: { - "Age UK": { - count: 116 - }, - "Barnardo's": { - count: 56 - }, - "British Heart Foundation": { - count: 189 - }, - "Cancer Research UK": { - count: 129 - }, - Goodwill: { - count: 120 - }, - Oxfam: { - count: 216 - }, - "Salvation Army": { - count: 63 - }, - Scope: { - count: 74 - }, - "Sue Ryder": { - count: 83 - } - }, - chemist: { - "7 Дней": { - count: 55 - }, - Bipa: { - count: 485 - }, - Budnikowsky: { - count: 114 - }, - CVS: { - count: 58 - }, - Etos: { - count: 486 - }, - Kruidvat: { - count: 1169 - }, - Matas: { - count: 74 - }, - "Müller": { - count: 350 - }, - Rossmann: { - count: 2516 - }, - Schlecker: { - count: 51 - }, - Teta: { - count: 120 - }, - Trekpleister: { - count: 185 - }, - Walgreens: { - count: 142 - }, - Watsons: { - count: 123 - }, - dm: { - count: 1877 - }, - "Бытовая химия": { - count: 73 - }, - "Магнит Косметик": { - count: 233 - }, - "Мила": { - count: 70 - }, - "Остров чистоты": { - count: 110 - }, - "Рубль Бум": { - count: 68 - }, - "Улыбка радуги": { - count: 110 - }, - "スギ薬局": { - count: 51 - }, - "丁丁藥局": { - count: 72 - }, - "屈臣氏": { - count: 134 - }, - "康是美": { - count: 81 - } - }, - clothes: { - AOKI: { - count: 119 - }, - AWG: { - count: 95 - }, - Ackermans: { - count: 98 - }, - Adidas: { - count: 224 - }, - Adler: { - count: 83 - }, - "American Apparel": { - count: 89 - }, - "American Eagle Outfitters": { - count: 93 - }, - Anthropologie: { - count: 55 - }, - Ardene: { - count: 55 - }, - "Armand Thiery": { - count: 89 - }, - "Banana Republic": { - count: 120 - }, - Benetton: { - count: 190 - }, - Bershka: { - count: 166 - }, - Bonita: { - count: 315 - }, - Bonobo: { - count: 59 - }, - "Brooks Brothers": { - count: 55 - }, - Burberry: { - count: 63 - }, - "Burlington Coat Factory": { - count: 104 - }, - Burton: { - count: 94 - }, - "C&A": { - count: 860 - }, - "Cache Cache": { - count: 59 - }, - "Calvin Klein": { - count: 78 - }, - Calzedonia: { - count: 264 - }, - "Camaïeu": { - count: 167 - }, - Caroll: { - count: 75 - }, - "Carter's": { - count: 64 - }, - Cecil: { - count: 119 - }, - Celio: { - count: 206 - }, - "Charles Vögele": { - count: 133 - }, - "Chico's": { - count: 96 - }, - Cropp: { - count: 68 - }, - Cubus: { - count: 65 - }, - Desigual: { - count: 175 - }, - Devred: { - count: 59 - }, - Didi: { - count: 72 - }, - Diesel: { - count: 77 - }, - "Dorothy Perkins": { - count: 85 - }, - "Dress Barn": { - count: 135 - }, - Dressmann: { - count: 67 - }, - "Eddie Bauer": { - count: 54 - }, - Edgars: { - count: 117 - }, - Engbers: { - count: 64 - }, - "Ernsting's family": { - count: 720 - }, - Esprit: { - count: 404 - }, - Etam: { - count: 121 - }, - Express: { - count: 56 - }, - "Fat Face": { - count: 82 - }, - "Forever 21": { - count: 124 - }, - Gant: { - count: 78 - }, - Gap: { - count: 258 - }, - "Gerry Weber": { - count: 220 - }, - "Gina Laura": { - count: 80 - }, - Goodwill: { - count: 65 - }, - Guess: { - count: 146 - }, - Gymboree: { - count: 60 - }, - "Gémo": { - count: 99 - }, - "H&M": { - count: 1467 - }, - Hallhuber: { - count: 63 - }, - House: { - count: 67 - }, - "Hugo Boss": { - count: 109 - }, - Humana: { - count: 83 - }, - "Hunkemöller": { - count: 224 - }, - Intimissimi: { - count: 173 - }, - JBC: { - count: 54 - }, - "Jack & Jones": { - count: 174 - }, - "Jack Wolfskin": { - count: 68 - }, - "Jeans Fritz": { - count: 110 - }, - Jennyfer: { - count: 81 - }, - Jet: { - count: 68 - }, - Jigsaw: { - count: 51 - }, - Jules: { - count: 120 - }, - Justice: { - count: 81 - }, - KappAhl: { - count: 68 - }, - KiK: { - count: 1862 - }, - Kiabi: { - count: 276 - }, - "La Halle": { - count: 148 - }, - Lacoste: { - count: 193 - }, - "Lane Bryant": { - count: 86 - }, - "Levi's": { - count: 197 - }, - Lindex: { - count: 120 - }, - Loft: { - count: 62 - }, - Mango: { - count: 339 - }, - "Marc O'Polo": { - count: 82 - }, - "Mark's": { - count: 76 - }, - "Marks & Spencer": { - count: 53 - }, - Marshalls: { - count: 218 - }, - "Massimo Dutti": { - count: 109 - }, - Matalan: { - count: 144 - }, - Maurices: { - count: 70 - }, - "Max Mara": { - count: 55 - }, - "Men's Wearhouse": { - count: 128 - }, - Mexx: { - count: 68 - }, - "Michael Kors": { - count: 55 - }, - Mim: { - count: 57 - }, - Monsoon: { - count: 75 - }, - "Mr Price": { - count: 99 - }, - NKD: { - count: 783 - }, - "New Look": { - count: 280 - }, - "New Yorker": { - count: 350 - }, - NewYorker: { - count: 54 - }, - Next: { - count: 313 - }, - Nike: { - count: 122 - }, - "Nordstrom Rack": { - count: 57 - }, - OVS: { - count: 92 - }, - "Okaïdi": { - count: 63 - }, - "Old Navy": { - count: 361 - }, - Only: { - count: 94 - }, - Orchestra: { - count: 117 - }, - "Original Marines": { - count: 60 - }, - Orsay: { - count: 168 - }, - Outfit: { - count: 51 - }, - Outlet: { - count: 63 - }, - Palmers: { - count: 78 - }, - Peacocks: { - count: 178 - }, - "Peek & Cloppenburg": { - count: 69 - }, - Pep: { - count: 139 - }, - Pepco: { - count: 153 - }, - "Petit Bateau": { - count: 67 - }, - Pimkie: { - count: 163 - }, - "Plato's Closet": { - count: 53 - }, - Primark: { - count: 177 - }, - Promod: { - count: 195 - }, - "Pull & Bear": { - count: 63 - }, - Puma: { - count: 65 - }, - Reitmans: { - count: 71 - }, - Reserved: { - count: 150 - }, - "River Island": { - count: 125 - }, - Ross: { - count: 363 - }, - Sela: { - count: 58 - }, - "Sergent Major": { - count: 77 - }, - Shoeby: { - count: 109 - }, - Sisley: { - count: 82 - }, - Springfield: { - count: 83 - }, - Stefanel: { - count: 63 - }, - Steps: { - count: 56 - }, - Stradivarius: { - count: 103 - }, - "Street One": { - count: 153 - }, - Superdry: { - count: 82 - }, - "TJ Maxx": { - count: 200 - }, - "TK Maxx": { - count: 209 - }, - Takko: { - count: 843 - }, - Talbots: { - count: 54 - }, - "Tally Weijl": { - count: 151 - }, - Tati: { - count: 64 - }, - Terranova: { - count: 63 - }, - Tesha: { - count: 76 - }, - Tezenis: { - count: 98 - }, - "The Children's Place": { - count: 71 - }, - "The North Face": { - count: 56 - }, - "The Sting": { - count: 53 - }, - Timberland: { - count: 87 - }, - "Toko Pakaian": { - count: 72 - }, - "Tom Tailor": { - count: 120 - }, - "Tommy Hilfiger": { - count: 206 - }, - Topshop: { - count: 62 - }, - Triumph: { - count: 132 - }, - Truworths: { - count: 72 - }, - "Ulla Popken": { - count: 117 - }, - Uniqlo: { - count: 63 - }, - "United Colors of Benetton": { - count: 210 - }, - "Urban Outfitters": { - count: 130 - }, - "Vero Moda": { - count: 222 - }, - "Victoria's Secret": { - count: 143 - }, - "Vögele": { - count: 191 - }, - WE: { - count: 68 - }, - Wibra: { - count: 99 - }, - Winners: { - count: 112 - }, - Woolworths: { - count: 119 - }, - Yamamay: { - count: 65 - }, - Zara: { - count: 540 - }, - Zeeman: { - count: 379 - }, - "mister*lady": { - count: 59 - }, - "s.Oliver": { - count: 103 - }, - "Детская одежда": { - count: 59 - }, - "Женская одежда": { - count: 65 - }, - "Липненски": { - count: 81 - }, - "Московская ярмарка": { - count: 51 - }, - "Одежда": { - count: 163 - }, - "Смешные цены": { - count: 86 - }, - "Спецодежда": { - count: 85 - }, - "しまむら": { - count: 213 - }, - "ユニクロ": { - count: 201 - }, - "ワークマン": { - count: 65 - }, - "洋服の青山": { - count: 242 - }, - "西松屋": { - count: 113 - } - }, - coffee: { - "Café Amazon": { - count: 212 - }, - Nespresso: { - count: 74 - }, - Starbucks: { - count: 264, - tags: { - cuisine: "coffee_shop" - } - }, - Tchibo: { - count: 197 - } - }, - computer: { - "Apple Store": { - count: 75 - }, - DNS: { - count: 234 - }, - "PC World": { - count: 59 - }, - "ДНС": { - count: 55 - } - }, - confectionery: { - "Fagyizó": { - count: 58 - }, - Hussel: { - count: 78 - }, - Leonidas: { - count: 84 - }, - "T. SN": { - count: 77 - }, - Thorntons: { - count: 66 - } - }, - convenience: { - "711": { - count: 64 - }, - "777": { - count: 58 - }, - "24 часа": { - count: 85 - }, - "7-Eleven": { - count: 11418 - }, - "8 à Huit": { - count: 82 - }, - "99 Speedmart": { - count: 85 - }, - ABC: { - count: 716 - }, - AMPM: { - count: 125 - }, - "Aibė": { - count: 112 - }, - Alepa: { - count: 60 - }, - Alfamart: { - count: 427 - }, - Alimentara: { - count: 63 - }, - Almacen: { - count: 405 - }, - "Almacén": { - count: 94 - }, - Aral: { - count: 93 - }, - BP: { - count: 273 - }, - "BP Shop": { - count: 70 - }, - Baqala: { - count: 181 - }, - "Best One": { - count: 57 - }, - "Best-One": { - count: 63 - }, - Biedronka: { - count: 98 - }, - Bodega: { - count: 83 - }, - Bonjour: { - count: 71 - }, - CBA: { - count: 299 - }, - COOP: { - count: 470 - }, - "COOP Jednota": { - count: 381 - }, - CU: { - count: 324 - }, - "Carrefour City": { - count: 91 - }, - "Carrefour Express": { - count: 255 - }, - "Casey's General Store": { - count: 225 - }, - "Casino Shop": { - count: 56 - }, - Centra: { - count: 139 - }, - "Central Convenience Store": { - count: 69 - }, - Chevron: { - count: 110 - }, - "Circle K": { - count: 790 - }, - Citgo: { - count: 73 - }, - "Co-Op": { - count: 54 - }, - "Co-op": { - count: 161 - }, - "Coles Express": { - count: 217 - }, - Coop: { - count: 492 - }, - "Coop Jednota": { - count: 128 - }, - "Corner Store": { - count: 109 - }, - Costcutter: { - count: 435 - }, - "Couche-Tard": { - count: 139 - }, - "Cumberland Farms": { - count: 109 - }, - "Daisy Mart": { - count: 57 - }, - Delikatesy: { - count: 148 - }, - "Delikatesy Centrum": { - count: 182 - }, - "Dollar General": { - count: 646 - }, - "Dollar Tree": { - count: 67 - }, - "Dépanneur": { - count: 53 - }, - Esso: { - count: 143 - }, - Express: { - count: 53 - }, - Extra: { - count: 86 - }, - Exxon: { - count: 51 - }, - "Family Dollar": { - count: 85 - }, - FamilyMart: { - count: 919 - }, - "Food Mart": { - count: 512 - }, - "Four Square": { - count: 99 - }, - Franprix: { - count: 96 - }, - Fresh: { - count: 67 - }, - Freshmarket: { - count: 224 - }, - GS25: { - count: 343 - }, - Groszek: { - count: 254 - }, - "Hasty Market": { - count: 87 - }, - Holiday: { - count: 67 - }, - "Hruška": { - count: 89 - }, - Indomaret: { - count: 483 - }, - Jednota: { - count: 66 - }, - Joker: { - count: 56 - }, - "K-Market": { - count: 104 - }, - Kangaroo: { - count: 54 - }, - "Kangaroo Express": { - count: 51 - }, - Kisbolt: { - count: 94 - }, - Konzum: { - count: 229 - }, - "Kum & Go": { - count: 127 - }, - "Kwik Trip": { - count: 134 - }, - Lawson: { - count: 311 - }, - Lewiatan: { - count: 565 - }, - "Lifestyle Express": { - count: 114 - }, - Londis: { - count: 505 - }, - "M&S Simply Food": { - count: 72 - }, - "Mac's": { - count: 295 - }, - Mace: { - count: 166 - }, - Magazin: { - count: 81 - }, - "Magazin Mixt": { - count: 139 - }, - "Magazin Non-Stop": { - count: 62 - }, - "Magazin mixt": { - count: 57 - }, - Marathon: { - count: 59 - }, - Maxikiosco: { - count: 86 - }, - "Małpka Express": { - count: 71 - }, - "McColl's": { - count: 289 - }, - Mercator: { - count: 122 - }, - Migrolino: { - count: 63 - }, - "Mini ABC": { - count: 77 - }, - "Mini Market": { - count: 1312 - }, - "Mini Market Non-Stop": { - count: 134 - }, - "Mini Mart": { - count: 78 - }, - "Mini Stop": { - count: 466 - }, - Minimercado: { - count: 77 - }, - "Mlin i pekare": { - count: 63 - }, - Mobil: { - count: 82 - }, - "Nasz Sklep": { - count: 92 - }, - Nisa: { - count: 70 - }, - "Nisa Local": { - count: 164 - }, - OK: { - count: 107 - }, - "OK-Mart": { - count: 51 - }, - "OK便利商店": { - count: 96 - }, - "OK便利店 Circle K": { - count: 92 - }, - Odido: { - count: 148 - }, - "On The Run": { - count: 53 - }, - "On the Run": { - count: 111 - }, - "One Stop": { - count: 294 - }, - Oxxo: { - count: 2261 - }, - "Parduotuvė": { - count: 102 - }, - "Petit Casino": { - count: 297 - }, - "Plaid Pantry": { - count: 69 - }, - Potraviny: { - count: 438 - }, - Prehrana: { - count: 88 - }, - Premier: { - count: 321 - }, - Proxi: { - count: 249 - }, - "Proxy": { - count: 53 - }, - Pulperia: { - count: 56 - }, - "Pulpería": { - count: 51 - }, - QuikTrip: { - count: 161 - }, - "Rite Aid": { - count: 72 - }, - "Royal Farms": { - count: 90 - }, - "Sainsbury's Local": { - count: 208 - }, - Sale: { - count: 89 - }, - "Sari-sari Store": { - count: 82 - }, - Select: { - count: 133 - }, - Sheetz: { - count: 137 - }, - Shell: { - count: 479 - }, - "Shell Select": { - count: 71 - }, - "Shop & Go": { - count: 80 - }, - Siwa: { - count: 157 - }, - "Sklep spożywczy": { - count: 151 - }, - "Smíšené zboží": { - count: 57 - }, - Spar: { - count: 1472 - }, - Speedway: { - count: 108 - }, - "Społem": { - count: 199 - }, - "Spätkauf": { - count: 60 - }, - Statoil: { - count: 62 - }, - "Stewart's": { - count: 255 - }, - Stores: { - count: 70 - }, - Stripes: { - count: 63 - }, - Studenac: { - count: 113 - }, - Sunkus: { - count: 51 - }, - Sunoco: { - count: 65 - }, - "Słoneczko": { - count: 61 - }, - "TESCO Lotus Express": { - count: 55 - }, - Tchibo: { - count: 75 - }, - Tesco: { - count: 54 - }, - "Tesco Express": { - count: 661 - }, - "Tesco Lotus Express": { - count: 107 - }, - "The Co-operative Food": { - count: 341 - }, - "Tom Market 89": { - count: 232 - }, - Total: { - count: 172 - }, - "United Dairy Farmers": { - count: 55 - }, - Utile: { - count: 63 - }, - Valero: { - count: 71 - }, - Vegyesbolt: { - count: 391 - }, - "Večerka": { - count: 131 - }, - Vival: { - count: 381 - }, - Volg: { - count: 149 - }, - Wawa: { - count: 279 - }, - Weltladen: { - count: 64 - }, - "Woolworths Petrol": { - count: 97 - }, - abc: { - count: 374 - }, - ampm: { - count: 152 - }, - "best-one": { - count: 52 - }, - odido: { - count: 77 - }, - "Élelmiszer": { - count: 59 - }, - "Élelmiszerbolt": { - count: 65 - }, - "Żabka": { - count: 1656 - }, - "Žabka": { - count: 61 - }, - "АТБ": { - count: 56 - }, - "Августина": { - count: 52 - }, - "Авоська": { - count: 115 - }, - "Агрокомплекс": { - count: 79 - }, - "Альянс": { - count: 51 - }, - "Апельсин": { - count: 72 - }, - "Ассорти": { - count: 118 - }, - "Белорусские продукты": { - count: 58 - }, - "Берёзка": { - count: 193 - }, - "Везунчик": { - count: 66 - }, - "Верный": { - count: 61 - }, - "Весна": { - count: 101 - }, - "Ветеран": { - count: 56 - }, - "Визит": { - count: 99 - }, - "Виктория": { - count: 164 - }, - "ВкусВилл": { - count: 131 - }, - "Гастроном": { - count: 383 - }, - "Гермес": { - count: 68 - }, - "Гроздь": { - count: 52 - }, - "Гурман": { - count: 92 - }, - "Дикси": { - count: 270 - }, - "Домашний": { - count: 77 - }, - "Евроопт": { - count: 152 - }, - "Елена": { - count: 68 - }, - "Ермолино": { - count: 51 - }, - "КазМунайГаз": { - count: 117 - }, - "Калинка": { - count: 61 - }, - "Каравай": { - count: 52 - }, - "Квартал": { - count: 57 - }, - "Кировский": { - count: 86 - }, - "Колобок": { - count: 51 - }, - "Колосок": { - count: 58 - }, - "Копеечка": { - count: 99 - }, - "Копейка": { - count: 65 - }, - "Корзинка": { - count: 54 - }, - "Крамниця": { - count: 64 - }, - "Кристалл": { - count: 57 - }, - "Кулинария": { - count: 134 - }, - "Купец": { - count: 64 - }, - "Ласточка": { - count: 51 - }, - "Лидер": { - count: 60 - }, - "Любимый": { - count: 84 - }, - "Люкс": { - count: 59 - }, - "Магазин при АЗС": { - count: 54 - }, - "Магнит": { - count: 1991 - }, - "Магнолия": { - count: 88 - }, - "Мария-Ра": { - count: 197 - }, - "Маяк": { - count: 76 - }, - "Меркурий": { - count: 77 - }, - "Мечта": { - count: 103 - }, - "Минимаркет": { - count: 424 - }, - "Мираж": { - count: 56 - }, - "Монетка": { - count: 165 - }, - "Надежда": { - count: 115 - }, - "Ника": { - count: 57 - }, - "Оазис": { - count: 57 - }, - "Олимп": { - count: 51 - }, - "Перекресток": { - count: 157 - }, - "Подсолнух": { - count: 69 - }, - "Престиж": { - count: 58 - }, - "Продукти": { - count: 1446 - }, - "Продуктовый": { - count: 307 - }, - "Продуктовый магазин": { - count: 803 - }, - "Продукты": { - count: 8416 - }, - "Продукты 24": { - count: 65 - }, - "Пятёрочка": { - count: 1324 - }, - "Радуга": { - count: 165 - }, - "Родны кут": { - count: 90 - }, - "Ромашка": { - count: 83 - }, - "Русь": { - count: 61 - }, - "Светлана": { - count: 96 - }, - "Сказка": { - count: 62 - }, - "Смак": { - count: 151 - }, - "Солнечный": { - count: 54 - }, - "Солнышко": { - count: 54 - }, - "Татьяна": { - count: 68 - }, - "Теремок": { - count: 105 - }, - "Тройка": { - count: 62 - }, - "У Палыча": { - count: 69 - }, - "Универсам": { - count: 153 - }, - "Фортуна": { - count: 97 - }, - "Хороший": { - count: 55 - }, - "Центральный": { - count: 73 - }, - "Чайка": { - count: 57 - }, - "Шанс": { - count: 60 - }, - "Эконом": { - count: 72 - }, - "Юбилейный": { - count: 56 - }, - "Юлия": { - count: 58 - }, - "продукты": { - count: 157 - }, - "მარკეტი": { - count: 134 - }, - "მარკეტი (Market)": { - count: 71 - }, - "サンクス": { - count: 970, - tags: { - "name:en": "Sunkus" - } - }, - "サークルK": { - count: 1109, - tags: { - "name:en": "Circle K" - } - }, - "スリーエフ": { - count: 228 - }, - "セイコーマート": { - count: 449 - }, - "セブン-イレブン": { - count: 7859, - tags: { - "name:en": "7-Eleven" - } - }, - "セブンイレブン(Seven-Eleven)": { - count: 332 - }, - "セーブオン": { - count: 71 - }, - "デイリーヤマザキ": { - count: 421 - }, - "ファミリーマート": { - count: 4457, - tags: { - "name:en": "FamilyMart" - } - }, - "ポプラ": { - count: 101 - }, - "ミニストップ": { - count: 773, - tags: { - "name:en": "MINISTOP" - } - }, - "ヤマザキショップ": { - count: 106 - }, - "ローソン": { - count: 4247, - tags: { - "name:en": "Lawson" - } - }, - "ローソンストア100": { - count: 272 - }, - "全家": { - count: 482 - }, - "全家便利商店": { - count: 833 - }, - "萊爾富": { - count: 405 - }, - "세븐일레븐": { - count: 157 - } - }, - copyshop: { - "FedEx Office": { - count: 53 - }, - "FedEx Office Print and Ship Center": { - count: 170 - } - }, - cosmetics: { - Douglas: { - count: 58 - }, - Lush: { - count: 80 - }, - Marionnaud: { - count: 55 - }, - Sephora: { - count: 184 - }, - "The Body Shop": { - count: 95 - }, - "Yves Rocher": { - count: 111 - }, - "Л'Этуаль": { - count: 111 - }, - "Магнит Косметик": { - count: 116 - }, - "Магнит косметик": { - count: 63 - }, - "Магнит-Косметик": { - count: 55 - }, - "Мила": { - count: 68 - }, - "Подружка": { - count: 51 - } - }, - craft: { - "Hobby Lobby": { - count: 96 - }, - Michaels: { - count: 222 - } - }, - deli: { - "ほっともっと": { - count: 58 - } - }, - department_store: { - Argos: { - count: 90 - }, - "Bed Bath & Beyond": { - count: 72 - }, - "Big Lots": { - count: 142 - }, - "Big W": { - count: 120 - }, - "Canadian Tire": { - count: 176 - }, - Coppel: { - count: 55 - }, - Debenhams: { - count: 118 - }, - "Dillard's": { - count: 86 - }, - "Dollar General": { - count: 62 - }, - "Dollar Tree": { - count: 64 - }, - "El Corte Inglés": { - count: 61 - }, - "Family Dollar": { - count: 76 - }, - "Fred Meyer": { - count: 51 - }, - "Galeria Kaufhof": { - count: 60 - }, - HEMA: { - count: 248 - }, - "Harvey Norman": { - count: 62 - }, - JCPenney: { - count: 365 - }, - Karstadt: { - count: 66 - }, - Kmart: { - count: 390 - }, - "Kohl's": { - count: 371 - }, - "Lojas Americanas": { - count: 63 - }, - "Macy's": { - count: 292 - }, - "Marks & Spencer": { - count: 136 - }, - Marshalls: { - count: 58 - }, - Myer: { - count: 51 - }, - Nordstrom: { - count: 54 - }, - "Sam's Club": { - count: 103 - }, - Sears: { - count: 462 - }, - Shopko: { - count: 65 - }, - Target: { - count: 1104 - }, - "The Warehouse": { - count: 68 - }, - Walmart: { - count: 847 - }, - "Walmart Supercenter": { - count: 234 - }, - Woolworth: { - count: 153 - }, - "Магнит": { - count: 88 - }, - "Универмаг": { - count: 170 - } - }, - doityourself: { - "Ace Hardware": { - count: 300 - }, - "B&Q": { - count: 229 - }, - Bauhaus: { - count: 223 - }, - Biltema: { - count: 64 - }, - Brico: { - count: 126 - }, - "Bricomarché": { - count: 425 - }, - Bricorama: { - count: 117 - }, - "Bunnings Warehouse": { - count: 210 - }, - "Canadian Tire": { - count: 138 - }, - Castorama: { - count: 168 - }, - Easy: { - count: 53 - }, - Gamma: { - count: 133 - }, - "Globus Baumarkt": { - count: 52 - }, - Hagebaumarkt: { - count: 132 - }, - Hellweg: { - count: 70 - }, - "Home Depot": { - count: 1345 - }, - "Home Hardware": { - count: 172 - }, - Homebase: { - count: 205 - }, - Hornbach: { - count: 134 - }, - Hubo: { - count: 107 - }, - Karwei: { - count: 77 - }, - Lagerhaus: { - count: 116 - }, - "Leroy Merlin": { - count: 285 - }, - "Lowe's": { - count: 1236 - }, - Lowes: { - count: 95 - }, - Menards: { - count: 132 - }, - "Mr Bricolage": { - count: 112 - }, - "Mr.Bricolage": { - count: 139 - }, - OBI: { - count: 501 - }, - "Point P": { - count: 125 - }, - Praktiker: { - count: 54 - }, - Praxis: { - count: 61 - }, - Rona: { - count: 77 - }, - Screwfix: { - count: 80 - }, - "Sonderpreis Baumarkt": { - count: 68 - }, - Tekzen: { - count: 112 - }, - "Toom Baumarkt": { - count: 155 - }, - Weldom: { - count: 110 - }, - Wickes: { - count: 159 - }, - "Леруа Мерлен": { - count: 54 - }, - "Мастер": { - count: 59 - }, - "Сантехника": { - count: 51 - }, - "Строитель": { - count: 67 - }, - "Стройматериалы": { - count: 506 - }, - "Хозтовары": { - count: 137 - }, - "カインズホーム": { - count: 51 - }, - "コメリ": { - count: 137 - }, - "コーナン": { - count: 77 - } - }, - dry_cleaning: { - Cleaners: { - count: 103 - }, - Pressing: { - count: 58 - }, - "Диана": { - count: 88 - }, - "Химчистка": { - count: 73 - }, - "ホワイト急便": { - count: 136 - } - }, - electronics: { - "Apple Store": { - count: 63 - }, - BCC: { - count: 54 - }, - "Batteries Plus Bulbs": { - count: 74 - }, - Bell: { - count: 73 - }, - "Best Buy": { - count: 706 - }, - Boulanger: { - count: 71 - }, - Currys: { - count: 109 - }, - "Currys PC World": { - count: 70 - }, - DNS: { - count: 111 - }, - Darty: { - count: 168 - }, - Elektra: { - count: 64 - }, - Elgiganten: { - count: 67 - }, - Euronics: { - count: 247 - }, - Expert: { - count: 224 - }, - Hartlauer: { - count: 64 - }, - Interdiscount: { - count: 57 - }, - "La Curacao": { - count: 69 - }, - Maplin: { - count: 114 - }, - "Media Expert": { - count: 163 - }, - "Media Markt": { - count: 422 - }, - Musimundo: { - count: 53 - }, - Neonet: { - count: 97 - }, - "RTV Euro AGD": { - count: 68 - }, - "Radio Shack": { - count: 485 - }, - Rogers: { - count: 61 - }, - Samsung: { - count: 164 - }, - Saturn: { - count: 155 - }, - Sony: { - count: 51 - }, - "The Source": { - count: 91 - }, - Unieuro: { - count: 66 - }, - "М.Видео": { - count: 121 - }, - "Фокстрот": { - count: 76 - }, - "Эксперт": { - count: 70 - }, - "Эльдорадо": { - count: 313 - }, - "エディオン": { - count: 74 - }, - "ケーズデンキ": { - count: 136 - }, - "コジマ": { - count: 53 - }, - "ヤマダ電機": { - count: 162 - }, - "全國電子": { - count: 72 - }, - "燦坤3C": { - count: 52 - } - }, - erotic: { - Orion: { - count: 85 - } - }, - fabric: { - "Ткани": { - count: 121 - } - }, - farm: { - Hofladen: { - count: 63 - } - }, - florist: { - "Blume 2000": { - count: 94 - }, - "Blumen Risse": { - count: 69 - }, - Fleuriste: { - count: 54 - }, - Interflora: { - count: 78 - }, - "Monceau Fleurs": { - count: 69 - }, - "Virágbolt": { - count: 64 - }, - "Квіти": { - count: 86 - }, - "Цветочный магазин": { - count: 57 - }, - "Цветы": { - count: 1098 - } - }, - frame: { - "rumah penduduk": { - count: 316 - } - }, - funeral_directors: { - "The Co-operative Funeralcare": { - count: 82 - }, - "Ритуальные услуги": { - count: 133 - } - }, - furniture: { - "Aaron's": { - count: 57 - }, - "Black Red White": { - count: 79 - }, - Bodzio: { - count: 61 - }, - But: { - count: 162 - }, - Casa: { - count: 62 - }, - Conforama: { - count: 174 - }, - DFS: { - count: 52 - }, - "Dänisches Bettenlager": { - count: 464 - }, - Fly: { - count: 53 - }, - Harveys: { - count: 58 - }, - IKEA: { - count: 234 - }, - JYSK: { - count: 431 - }, - Kwantum: { - count: 54 - }, - "Leen Bakker": { - count: 72 - }, - "Pier 1 Imports": { - count: 95 - }, - Roller: { - count: 99 - }, - "The Brick": { - count: 68 - }, - "Меблі": { - count: 70 - }, - "ニトリ": { - count: 93 - } - }, - garden_centre: { - Dehner: { - count: 59 - }, - "Gamm Vert": { - count: 210 - }, - Jardiland: { - count: 124 - }, - "Point Vert": { - count: 68 - }, - Welkoop: { - count: 97 - }, - "Семена": { - count: 53 - } - }, - gift: { - "Card Factory": { - count: 116 - }, - Hallmark: { - count: 163 - }, - "Подарки": { - count: 56 - } - }, - greengrocer: { - "Frutería": { - count: 60 - }, - "Овощи и фрукты": { - count: 71 - } - }, - hairdresser: { - Berber: { - count: 71 - }, - "Cost Cutters": { - count: 69 - }, - "Fantastic Sams": { - count: 53 - }, - Figaro: { - count: 79 - }, - "First Choice Haircutters": { - count: 51 - }, - "Franck Provost": { - count: 136 - }, - Frizerie: { - count: 59 - }, - "Great Clips": { - count: 578 - }, - Haarmonie: { - count: 79 - }, - Haarscharf: { - count: 59 - }, - "Hair Cuttery": { - count: 121 - }, - Hairkiller: { - count: 73 - }, - "Jean Louis David": { - count: 90 - }, - "Jean-Louis David": { - count: 59 - }, - Klier: { - count: 239 - }, - Klipp: { - count: 76 - }, - "Le Salon": { - count: 55 - }, - "Marco Aldany": { - count: 55 - }, - "Peluquería": { - count: 165 - }, - "Salon fryzjerski": { - count: 52 - }, - "Sport Clips": { - count: 114 - }, - "Super Cuts": { - count: 55 - }, - Supercuts: { - count: 359 - }, - Tchip: { - count: 62 - }, - "The Barber Shop": { - count: 130 - }, - "Toni & Guy": { - count: 77 - }, - "Top Hair": { - count: 74 - }, - "Виктория": { - count: 53 - }, - "Елена": { - count: 53 - }, - "Локон": { - count: 67 - }, - "Парикмахерская": { - count: 798 - }, - "Перукарня": { - count: 119 - }, - "Салон красоты": { - count: 58 - }, - "Стиль": { - count: 94 - }, - "Шарм": { - count: 79 - }, - "حلاق": { - count: 65 - } - }, - hardware: { - "1000 мелочей": { - count: 125 - }, - "Ferretería": { - count: 295 - }, - "Harbor Freight Tools": { - count: 57 - }, - "Home Hardware": { - count: 94 - }, - "Lowe's": { - count: 74 - }, - Quincaillerie: { - count: 105 - }, - "True Value": { - count: 52 - }, - "Würth": { - count: 51 - }, - "Промтовары": { - count: 67 - }, - "Сантехника": { - count: 87 - }, - "Стройматериалы": { - count: 142 - }, - "Товары для дома": { - count: 69 - }, - "Хозтовары": { - count: 477 - } - }, - hearing_aids: { - Amplifon: { - count: 124 - }, - Geers: { - count: 66 - }, - "Kind Hörgeräte": { - count: 74 - }, - amplifon: { - count: 52 - } - }, - hifi: { - "Bang & Olufsen": { - count: 51 - } - }, - houseware: { - Blokker: { - count: 264 - }, - Marskramer: { - count: 72 - }, - Xenos: { - count: 119 - } - }, - interior_decoration: { - Casa: { - count: 65 - }, - Depot: { - count: 97 - } - }, - jewelry: { - "585": { - count: 94 - }, - Apart: { - count: 53 - }, - "Bijou Brigitte": { - count: 172 - }, - Christ: { - count: 116 - }, - "Claire's": { - count: 99 - }, - "Ernest Jones": { - count: 53 - }, - "H Samuel": { - count: 55 - }, - "James Avery Jewelry": { - count: 99 - }, - "Julien d'Orcel": { - count: 123 - }, - "Kay Jewelers": { - count: 78 - }, - Pandora: { - count: 280 - }, - Swarovski: { - count: 240 - }, - "Адамас": { - count: 60 - }, - "Золото": { - count: 51 - } - }, - kiosk: { - Aral: { - count: 76 - }, - Edicola: { - count: 94 - }, - Esso: { - count: 51 - }, - KIOS: { - count: 288 - }, - Kiosko: { - count: 62 - }, - Kiosque: { - count: 68 - }, - Kolporter: { - count: 88 - }, - "Lietuvos spauda": { - count: 62 - }, - Narvesen: { - count: 188 - }, - "Pressbyrån": { - count: 117 - }, - "Pulpería": { - count: 61 - }, - "R-Kioski": { - count: 352 - }, - Relay: { - count: 61 - }, - Ruch: { - count: 187 - }, - Shell: { - count: 122 - }, - "Tabak Trafik": { - count: 83 - }, - Tisak: { - count: 245 - }, - Trafik: { - count: 221 - }, - Trafika: { - count: 64 - }, - Trinkhalle: { - count: 98 - }, - Warung: { - count: 73 - }, - "Белсоюзпечать": { - count: 59 - }, - "Киоск": { - count: 143 - }, - "Продукты": { - count: 212 - }, - "Роспечать": { - count: 233 - }, - "Союзпечать": { - count: 94 - }, - "მარკეტი (Market)": { - count: 94 - } - }, - kitchen: { - Cuisinella: { - count: 60 - }, - "Home Utensils": { - count: 65 - } - }, - laundry: { - Launderette: { - count: 51 - }, - "Lavandería": { - count: 84 - }, - "コインランドリー": { - count: 64 - } - }, - lottery: { - "Loteria de la Provincia": { - count: 63 - }, - "Lotería Nacional": { - count: 221 - }, - "Lotería de la Provincia": { - count: 349 - }, - Lotto: { - count: 192 - }, - "Lottózó": { - count: 69 - }, - ONCE: { - count: 91 - } - }, - mall: { - "Торговый центр": { - count: 57 - } - }, - massage: { - "Massage Envy": { - count: 80 - } - }, - medical_supply: { - "Pofam-Poznań": { - count: 61 - } - }, - mobile_phone: { - "3 Store": { - count: 90 - }, - "AT&T": { - count: 558 - }, - Bell: { - count: 140 - }, - "Bitė": { - count: 66 - }, - "Boost Mobile": { - count: 151 - }, - "Carphone Warehouse": { - count: 357 - }, - Claro: { - count: 446 - }, - "Cricket Wireless": { - count: 73 - }, - Digicel: { - count: 152 - }, - EE: { - count: 190 - }, - MetroPCS: { - count: 201 - }, - Movistar: { - count: 411 - }, - O2: { - count: 527 - }, - Orange: { - count: 730 - }, - Personal: { - count: 54 - }, - Play: { - count: 150 - }, - Plus: { - count: 122 - }, - Rogers: { - count: 52 - }, - SFR: { - count: 156 - }, - Samsung: { - count: 71 - }, - Sprint: { - count: 394 - }, - "T-Mobile": { - count: 665 - }, - TIM: { - count: 67 - }, - Telcel: { - count: 52 - }, - Tele2: { - count: 186 - }, - Telekom: { - count: 148 - }, - "Telekom Shop": { - count: 99 - }, - Telenor: { - count: 99 - }, - Telus: { - count: 69 - }, - "The Phone House": { - count: 137 - }, - Three: { - count: 57 - }, - Tim: { - count: 51 - }, - "Télécentre": { - count: 76 - }, - Verizon: { - count: 152 - }, - "Verizon Wireless": { - count: 629 - }, - Vodafone: { - count: 1168 - }, - "Vodafone Shop": { - count: 52 - }, - Wind: { - count: 156 - }, - Yoigo: { - count: 61 - }, - au: { - count: 136 - }, - "auショップ": { - count: 340 - }, - "mobilcom debitel": { - count: 63 - }, - "Алло": { - count: 86 - }, - "Билайн": { - count: 441 - }, - "Евросеть": { - count: 1020 - }, - "Київстар": { - count: 57 - }, - "МТС": { - count: 1012 - }, - "Мегафон": { - count: 687 - }, - "Связной": { - count: 842 - }, - "Теле2": { - count: 70 - }, - "ソフトバンクショップ": { - count: 482 - }, - "ドコモショップ": { - count: 426 - } - }, - money_lender: { - "Money Mart": { - count: 95 - } - }, - motorcycle: { - "Harley Davidson": { - count: 81 - }, - Honda: { - count: 238 - }, - Suzuki: { - count: 90 - }, - Yamaha: { - count: 235 - } - }, - music: { - HMV: { - count: 81 - }, - TSUTAYA: { - count: 53 - } - }, - musical_instrument: { - "Guitar Center": { - count: 51 - } - }, - newsagent: { - Edicola: { - count: 111 - }, - Kolporter: { - count: 56 - }, - "Maison de la Presse": { - count: 132 - }, - Relay: { - count: 246 - }, - "Tabac Presse": { - count: 82 - }, - Trafika: { - count: 60 - }, - WHSmith: { - count: 160 - }, - "Белсоюзпечать": { - count: 52 - }, - "Витебскоблсоюзпечать": { - count: 56 - }, - "Первая полоса": { - count: 57 - }, - "Печать": { - count: 74 - }, - "Роспечать": { - count: 371 - }, - "Союзпечать": { - count: 130 - } - }, - optician: { - "Alain Afflelou": { - count: 204 - }, - Apollo: { - count: 441 - }, - Atol: { - count: 124 - }, - "Boots Opticians": { - count: 101 - }, - Fielmann: { - count: 477 - }, - "General Óptica": { - count: 53 - }, - "Grand Optical": { - count: 57 - }, - "Générale d'Optique": { - count: 94 - }, - "Hakim Optical": { - count: 73 - }, - "Hans Anders": { - count: 105 - }, - Krys: { - count: 192 - }, - "Les Opticiens Mutualistes": { - count: 103 - }, - "Optic 2000": { - count: 281 - }, - "Optical Center": { - count: 125 - }, - Pearle: { - count: 199 - }, - "Pearle Vision": { - count: 52 - }, - Specsavers: { - count: 384 - }, - "Sunglass Hut": { - count: 61 - }, - Synoptik: { - count: 55 - }, - "Vision Express": { - count: 183 - }, - "แว่นท็อปเจริญ": { - count: 97 - }, - "メガネスーパー": { - count: 62 - }, - "眼鏡市場": { - count: 206 - } - }, - outdoor: { - "Jack Wolfskin": { - count: 51 - }, - "Mountain Warehouse": { - count: 74 - }, - REI: { - count: 77 - }, - "Рыболов": { - count: 70 - } - }, - paint: { - "Benjamin Moore": { - count: 58 - }, - Comex: { - count: 68 - }, - Jotun: { - count: 51 - }, - "National Paints": { - count: 53 - }, - "Sherwin Williams": { - count: 323 - }, - "Sherwin-Williams Paints": { - count: 59 - } - }, - pawnbroker: { - "Cash Converters": { - count: 83 - }, - Lombard: { - count: 55 - }, - "Palawan Pawnshop": { - count: 52 - } - }, - pet: { - "Das Futterhaus": { - count: 158 - }, - Fressnapf: { - count: 620 - }, - "Global Pet Foods": { - count: 54 - }, - "Maxi Zoo": { - count: 65 - }, - "Pet Valu": { - count: 112 - }, - PetSmart: { - count: 491 - }, - Petco: { - count: 377 - }, - "Pets at Home": { - count: 170 - }, - "Бетховен": { - count: 60 - }, - "Зоотовары": { - count: 79 - }, - "Четыре лапы": { - count: 56 - } - }, - second_hand: { - Goodwill: { - count: 235 - }, - "Value Village": { - count: 53 - } - }, - shoes: { - Adidas: { - count: 51 - }, - Aldo: { - count: 74 - }, - Bata: { - count: 281 - }, - "Besson Chaussures": { - count: 124 - }, - Brantano: { - count: 132 - }, - CCC: { - count: 245 - }, - Camper: { - count: 51 - }, - Chaussea: { - count: 102 - }, - Clarks: { - count: 268 - }, - Converse: { - count: 58 - }, - Crocs: { - count: 64 - }, - DSW: { - count: 52 - }, - Deichmann: { - count: 1231 - }, - Dosenbach: { - count: 58 - }, - Ecco: { - count: 185 - }, - "Famous Footwear": { - count: 178 - }, - "Foot Locker": { - count: 240 - }, - Geox: { - count: 151 - }, - Kari: { - count: 66 - }, - "La Halle aux Chaussures": { - count: 158 - }, - Mephisto: { - count: 57 - }, - Minelli: { - count: 55 - }, - "New Balance": { - count: 52 - }, - Payless: { - count: 56 - }, - "Payless Shoe Source": { - count: 316 - }, - "Payless ShoeSource": { - count: 133 - }, - "Quick Schuh": { - count: 116 - }, - "Rack Room Shoes": { - count: 51 - }, - Reno: { - count: 233 - }, - Rieker: { - count: 83 - }, - Salamander: { - count: 103 - }, - "San Marina": { - count: 54 - }, - Scapino: { - count: 67 - }, - "Shoe Carnival": { - count: 66 - }, - "Shoe Zone": { - count: 161 - }, - "Siemes Schuhcenter": { - count: 69 - }, - Skechers: { - count: 83 - }, - Tamaris: { - count: 99 - }, - Timberland: { - count: 51 - }, - vanHaren: { - count: 98 - }, - "Éram": { - count: 88 - }, - "Ремонт обуви": { - count: 71 - }, - "ЦентрОбувь": { - count: 76 - }, - "Юничел": { - count: 73 - }, - "東京靴流通センター": { - count: 81 - } - }, - sports: { - Adidas: { - count: 132 - }, - Aktiesport: { - count: 61 - }, - "Big 5 Sporting Goods": { - count: 93 - }, - Decathlon: { - count: 409 - }, - "Dick's Sporting Goods": { - count: 222 - }, - Hervis: { - count: 66 - }, - Intersport: { - count: 737 - }, - "JD Sports": { - count: 58 - }, - Nike: { - count: 95 - }, - "Sport 2000": { - count: 209 - }, - "Sports Authority": { - count: 108 - }, - "Sports Direct": { - count: 217 - }, - "Спортмастер": { - count: 208 - }, - "Спорттовары": { - count: 68 - } - }, - stationery: { - "Bureau Vallée": { - count: 64 - }, - Libro: { - count: 73 - }, - McPaper: { - count: 158 - }, - "Office Depot": { - count: 378 - }, - "Office Max": { - count: 169 - }, - Officeworks: { - count: 73 - }, - Pagro: { - count: 64 - }, - Paperchase: { - count: 54 - }, - Ryman: { - count: 85 - }, - Staples: { - count: 671 - }, - "Канцтовары": { - count: 140 - } - }, - supermarket: { - "7-Eleven": { - count: 60 - }, - "A&O": { - count: 67 - }, - A101: { - count: 388 - }, - "AD Delhaize": { - count: 80 - }, - ADEG: { - count: 85 - }, - "Ahorramás": { - count: 66 - }, - Albert: { - count: 245 - }, - "Albert Heijn": { - count: 766 - }, - Albertsons: { - count: 316 - }, - Aldi: { - count: 6323 - }, - "Aldi Nord": { - count: 356 - }, - "Aldi Süd": { - count: 916 - }, - Alfamart: { - count: 109 - }, - Alimerka: { - count: 96 - }, - Alnatura: { - count: 97 - }, - Asda: { - count: 474 - }, - Atac: { - count: 53 - }, - "Atacadão": { - count: 80 - }, - Auchan: { - count: 229 - }, - BM: { - count: 52 - }, - Biedronka: { - count: 2348 - }, - "Big C": { - count: 53 - }, - Billa: { - count: 1592 - }, - Bim: { - count: 678 - }, - Biocoop: { - count: 159 - }, - "Bodega Aurrera": { - count: 264 - }, - Budgens: { - count: 77 - }, - "Bulk Barn": { - count: 54 - }, - Bunnpris: { - count: 69 - }, - CBA: { - count: 236 - }, - CONAD: { - count: 67 - }, - COOP: { - count: 255 - }, - "COOP Jednota": { - count: 177 - }, - CRAI: { - count: 66 - }, - CU: { - count: 64 - }, - Caprabo: { - count: 144 - }, - "Cargills Food City": { - count: 79 - }, - Carrefour: { - count: 2544 - }, - "Carrefour City": { - count: 349 - }, - "Carrefour Contact": { - count: 270 - }, - "Carrefour Express": { - count: 921 - }, - Centra: { - count: 63 - }, - "Centre Commercial E. Leclerc": { - count: 385 - }, - Checkers: { - count: 140 - }, - Chedraui: { - count: 80 - }, - "Co-Op": { - count: 62 - }, - "Co-op": { - count: 352 - }, - "Co-operative": { - count: 51 - }, - Coles: { - count: 583 - }, - Colmado: { - count: 103 - }, - Colruyt: { - count: 212 - }, - Combi: { - count: 127 - }, - "Comercial Mexicana": { - count: 59 - }, - Conad: { - count: 560 - }, - "Conad City": { - count: 95 - }, - Condis: { - count: 126 - }, - Consum: { - count: 236 - }, - Continente: { - count: 111 - }, - Coop: { - count: 1665 - }, - "Coop Extra": { - count: 88 - }, - "Coop Jednota": { - count: 101 - }, - "Coop Konsum": { - count: 96 - }, - "Costco Gasoline": { - count: 295 - }, - Costcutter: { - count: 93 - }, - Coto: { - count: 65 - }, - Countdown: { - count: 135 - }, - Coviran: { - count: 124 - }, - "Covirán": { - count: 51 - }, - Crai: { - count: 119 - }, - "Cub Foods": { - count: 57 - }, - "Dagli'Brugsen": { - count: 135 - }, - Deen: { - count: 55 - }, - Delhaize: { - count: 228 - }, - "Delikatesy Centrum": { - count: 209 - }, - Denner: { - count: 412 - }, - Despar: { - count: 209 - }, - "Despensa Familiar": { - count: 81 - }, - Dia: { - count: 1329 - }, - "Dia %": { - count: 181 - }, - "Dia Market": { - count: 60 - }, - Dino: { - count: 298 - }, - "Dirk van den Broek": { - count: 66 - }, - Disco: { - count: 74 - }, - Diska: { - count: 68 - }, - "Dollar General": { - count: 106 - }, - "Dollar Tree": { - count: 52 - }, - "Dunnes Stores": { - count: 72 - }, - "E-Center": { - count: 66 - }, - "E. Leclerc": { - count: 186 - }, - "E. Leclerc Drive": { - count: 97 - }, - EKO: { - count: 78 - }, - "EMTÉ": { - count: 74 - }, - Edeka: { - count: 2231 - }, - Ekom: { - count: 64 - }, - Ekono: { - count: 68 - }, - "El Árbol": { - count: 86 - }, - Eroski: { - count: 351 - }, - Esselunga: { - count: 106 - }, - EuroSpin: { - count: 81 - }, - Eurospar: { - count: 340 - }, - Eurospin: { - count: 328 - }, - Extra: { - count: 149 - }, - "Famiglia Cooperativa": { - count: 89 - }, - Famila: { - count: 167 - }, - "Family Dollar": { - count: 72 - }, - Fareway: { - count: 51 - }, - Farmfoods: { - count: 141 - }, - Feneberg: { - count: 64 - }, - "Food Basics": { - count: 116 - }, - "Food Lion": { - count: 425 - }, - Foodland: { - count: 192 - }, - Foodworks: { - count: 90 - }, - Franprix: { - count: 401 - }, - "Fred Meyer": { - count: 70 - }, - Freshmarket: { - count: 86 - }, - Froiz: { - count: 97 - }, - "Føtex": { - count: 74 - }, - G20: { - count: 71 - }, - GS25: { - count: 72 - }, - Gadis: { - count: 126 - }, - Game: { - count: 59 - }, - Giant: { - count: 276 - }, - "Giant Eagle": { - count: 134 - }, - "Grand Frais": { - count: 70 - }, - "Grocery Outlet": { - count: 128 - }, - "Géant Casino": { - count: 75 - }, - "H-E-B": { - count: 274 - }, - HIT: { - count: 64 - }, - Hannaford: { - count: 95 - }, - "Harris Teeter": { - count: 158 - }, - "Hemköp": { - count: 87 - }, - "Heron Foods": { - count: 55 - }, - Hofer: { - count: 484 - }, - Hoogvliet: { - count: 66 - }, - "Hruška": { - count: 54 - }, - "Hy-Vee": { - count: 121 - }, - ICA: { - count: 255 - }, - "ICA Kvantum": { - count: 51 - }, - IDEA: { - count: 52 - }, - IGA: { - count: 568 - }, - Iceland: { - count: 538 - }, - Indomaret: { - count: 124 - }, - "Intermarché": { - count: 1477 - }, - "Intermarché Contact": { - count: 122 - }, - "Intermarché Super": { - count: 261 - }, - Interspar: { - count: 117 - }, - Irma: { - count: 69 - }, - "Jewel-Osco": { - count: 72 - }, - Jumbo: { - count: 476 - }, - "K+K": { - count: 119 - }, - Kaufland: { - count: 1172 - }, - "King Soopers": { - count: 99 - }, - Kiwi: { - count: 178 - }, - Konsum: { - count: 144 - }, - Konzum: { - count: 370 - }, - Kroger: { - count: 627 - }, - Kvickly: { - count: 60 - }, - "La Vie Claire": { - count: 65 - }, - Landi: { - count: 54 - }, - "Leader Price": { - count: 502 - }, - "Leclerc Drive": { - count: 120 - }, - Lewiatan: { - count: 255 - }, - Lider: { - count: 78 - }, - Lidl: { - count: 8927 - }, - Londis: { - count: 52 - }, - Lupa: { - count: 79 - }, - "M&S Simply Food": { - count: 52 - }, - MPREIS: { - count: 187 - }, - Makro: { - count: 226 - }, - Markant: { - count: 98 - }, - "Market Basket": { - count: 57 - }, - Marktkauf: { - count: 117 - }, - Match: { - count: 139 - }, - Maxi: { - count: 198 - }, - "Maxi Dia": { - count: 52 - }, - Maxima: { - count: 111 - }, - "Maxima X": { - count: 158 - }, - "Maxima XX": { - count: 69 - }, - "Mega Image": { - count: 97 - }, - Mego: { - count: 52 - }, - Meijer: { - count: 129 - }, - Meny: { - count: 105 - }, - "Mercado Municipal": { - count: 52 - }, - "Mercado de Abastos": { - count: 57 - }, - Mercadona: { - count: 1228 - }, - Mercator: { - count: 155 - }, - Merkur: { - count: 132 - }, - Metro: { - count: 395 - }, - Migros: { - count: 641 - }, - Mila: { - count: 90 - }, - "Mini Market": { - count: 81 - }, - "Minipreço": { - count: 213 - }, - "Mix Markt": { - count: 60 - }, - Monoprix: { - count: 283 - }, - More: { - count: 61 - }, - Morrisons: { - count: 443 - }, - NORMA: { - count: 144 - }, - NP: { - count: 251 - }, - "Nah & Frisch": { - count: 107 - }, - Nahkauf: { - count: 324 - }, - Netto: { - count: 4429 - }, - "Netto Marken-Discount": { - count: 706 - }, - "New World": { - count: 89 - }, - "No Frills": { - count: 177 - }, - "Norfa XL": { - count: 66 - }, - Norma: { - count: 1162 - }, - Oxxo: { - count: 278 - }, - PENNY: { - count: 89 - }, - PLUS: { - count: 92 - }, - POLOmarket: { - count: 172 - }, - "Palí": { - count: 69 - }, - Pam: { - count: 77 - }, - Penny: { - count: 2819 - }, - "Penny Markt": { - count: 77 - }, - "Petit Casino": { - count: 146 - }, - "Pick n Pay": { - count: 268 - }, - "Piggly Wiggly": { - count: 103 - }, - "Pingo Doce": { - count: 308 - }, - "Piotr i Paweł": { - count: 112 - }, - "Plaza Vea": { - count: 68 - }, - Plodine: { - count: 67 - }, - Poiesz: { - count: 53 - }, - "Price Chopper": { - count: 132 - }, - Prix: { - count: 53 - }, - Profi: { - count: 203 - }, - Proxi: { - count: 75 - }, - "Proxy Delhaize": { - count: 63 - }, - Publix: { - count: 645 - }, - "Punto Simply": { - count: 54 - }, - Puregold: { - count: 75 - }, - "Pão de Açúcar": { - count: 76 - }, - QFC: { - count: 54 - }, - "REMA 1000": { - count: 89 - }, - Ralphs: { - count: 81 - }, - Real: { - count: 210 - }, - "Real Canadian Superstore": { - count: 69 - }, - "Reliance Fresh": { - count: 95 - }, - "Rema 1000": { - count: 394 - }, - Rewe: { - count: 2808 - }, - "Rewe City": { - count: 78 - }, - Rimi: { - count: 115 - }, - "S-Market": { - count: 110 - }, - Safeway: { - count: 619 - }, - "Sainsbury's": { - count: 595 - }, - "Sainsbury's Local": { - count: 248 - }, - "Sam's Club": { - count: 303 - }, - "Santa Isabel": { - count: 174 - }, - "Save-A-Lot": { - count: 100, - tags: { - shop: "supermarket" - } - }, - ShopRite: { - count: 53 - }, - Shoprite: { - count: 337 - }, - Sigma: { - count: 107 - }, - "Simply Market": { - count: 541 - }, - Sky: { - count: 113 - }, - "Smith's": { - count: 56 - }, - Sobeys: { - count: 186 - }, - Soriana: { - count: 194 - }, - Spar: { - count: 3381 - }, - "Społem": { - count: 120 - }, - "Sprouts Farmers Market": { - count: 71 - }, - Stokrotka: { - count: 227 - }, - "Stop & Shop": { - count: 147 - }, - "Super C": { - count: 57 - }, - "Super U": { - count: 654 - }, - SuperBrugsen: { - count: 183 - }, - SuperValu: { - count: 80 - }, - Superama: { - count: 51 - }, - Supersol: { - count: 51 - }, - Superspar: { - count: 54 - }, - Tegut: { - count: 118 - }, - Tengelmann: { - count: 155 - }, - Tesco: { - count: 1373 - }, - "Tesco Express": { - count: 566 - }, - "Tesco Extra": { - count: 200 - }, - "Tesco Lotus": { - count: 95 - }, - "Tesco Metro": { - count: 153 - }, - "The Co-operative": { - count: 79 - }, - "The Co-operative Food": { - count: 1261 - }, - Tommy: { - count: 56 - }, - Tottus: { - count: 82 - }, - "Trader Joe's": { - count: 345 - }, - "Treff 3000": { - count: 134 - }, - "U Express": { - count: 129 - }, - Unimarc: { - count: 256 - }, - Unimarkt: { - count: 104 - }, - Utile: { - count: 68 - }, - Vea: { - count: 67 - }, - Vival: { - count: 80 - }, - Volg: { - count: 231 - }, - Waitrose: { - count: 301 - }, - Walmart: { - count: 1164 - }, - "Walmart Neighborhood Market": { - count: 171 - }, - "Walmart Supercenter": { - count: 688 - }, - Wasgau: { - count: 51 - }, - Wegmans: { - count: 89 - }, - Wellcome: { - count: 51 - }, - "Whole Foods Market": { - count: 379, - tags: { - shop: "supermarket" - } - }, - Willys: { - count: 89 - }, - "WinCo Foods": { - count: 53 - }, - "Winn Dixie": { - count: 168 - }, - Woolworths: { - count: 816 - }, - "denn's Biomarkt": { - count: 147 - }, - fakta: { - count: 296 - }, - real: { - count: 58 - }, - tegut: { - count: 89 - }, - "Şok": { - count: 271 - }, - "ΑΒ Βασιλόπουλος": { - count: 82 - }, - "Γαλαξίας": { - count: 54 - }, - "Μασούτης": { - count: 85 - }, - "Σκλαβενίτης": { - count: 92 - }, - "АТБ": { - count: 618 - }, - "Абсолют": { - count: 51 - }, - "Авоська": { - count: 60 - }, - "Азбука Вкуса": { - count: 66 - }, - "Атак": { - count: 85 - }, - "Ашан": { - count: 80 - }, - "Верный": { - count: 226 - }, - "Виктория": { - count: 74 - }, - "Вопак": { - count: 59 - }, - "Гастроном": { - count: 54 - }, - "Гроздь": { - count: 63 - }, - "Десяточка": { - count: 52 - }, - "Дикси": { - count: 1670 - }, - "Евроопт": { - count: 201 - }, - "Карусель": { - count: 68 - }, - "Квартал": { - count: 77 - }, - "Кировский": { - count: 54 - }, - "Командор": { - count: 75 - }, - "Красный Яр": { - count: 58 - }, - "Лента": { - count: 165 - }, - "Магнит": { - count: 4289 - }, - "Магнолия": { - count: 121 - }, - "Мария-Ра": { - count: 159 - }, - "Монетка": { - count: 363 - }, - "Народная 7Я семьЯ": { - count: 199 - }, - "Перекресток": { - count: 501 - }, - "Покупочка": { - count: 73 - }, - "Полушка": { - count: 213 - }, - "Пятёрочка": { - count: 3622 - }, - "Радеж": { - count: 64 - }, - "Рукавичка": { - count: 78 - }, - "Светофор": { - count: 73 - }, - "Седьмой континент": { - count: 69 - }, - "Семейный": { - count: 52 - }, - "Семья": { - count: 85 - }, - "Супермаркет": { - count: 65 - }, - "Сільпо": { - count: 203 - }, - "Таврія‑В": { - count: 66 - }, - "Универсам": { - count: 77 - }, - "Фора": { - count: 162 - }, - "Фуршет": { - count: 86 - }, - "Хүнсний дэлгүүр": { - count: 63 - }, - "Эдельвейс": { - count: 55 - }, - "хүнсний дэлгүүр": { - count: 73 - }, - "بقالة": { - count: 74 - }, - "سوپر مارکت": { - count: 75 - }, - "سوپرمارکت": { - count: 79 - }, - "いなげや": { - count: 66 - }, - "まいばすけっと": { - count: 162 - }, - "イオン": { - count: 95 - }, - "イトーヨーカドー": { - count: 67 - }, - "カスミ": { - count: 56 - }, - "マックスバリュ": { - count: 143 - }, - "マルエツ": { - count: 99 - }, - "ライフ": { - count: 125 - }, - "全聯": { - count: 74 - }, - "全聯福利中心": { - count: 241 - }, - "惠康 Wellcome": { - count: 57 - }, - "業務スーパー": { - count: 176 - }, - "美廉社": { - count: 74 - }, - "西友": { - count: 137 - } - }, - tailor: { - "Atelier de couture": { - count: 63 - } - }, - ticket: { - "Boutique Grandes Lignes": { - count: 60 - }, - "Guichet Transilien": { - count: 243 - }, - "Касса": { - count: 61 - }, - "Проездные билеты": { - count: 65 - } - }, - tobacco: { - "Dohánybolt": { - count: 109 - }, - Estanco: { - count: 134 - }, - "Nemzeti Dohánybolt": { - count: 926 - }, - Tabacos: { - count: 62 - }, - "Табакерка": { - count: 73 - } - }, - toys: { - "Dráčik": { - count: 63 - }, - Intertoys: { - count: 242 - }, - "King Jouet": { - count: 102 - }, - "La Grande Récré": { - count: 112 - }, - "Maxi Toys": { - count: 63 - }, - "Toys R Us": { - count: 410, - tags: { - shop: "toys" - } - }, - "Детский мир": { - count: 186 - }, - "Игрушки": { - count: 95 - } - }, - travel_agency: { - "D-reizen": { - count: 64 - }, - "DER Reisebüro": { - count: 52 - }, - "First Reisebüro": { - count: 57 - }, - "Flight Centre": { - count: 159 - }, - Reiseland: { - count: 52 - }, - TUI: { - count: 262 - }, - "The Co-operative Travel": { - count: 58 - }, - "Thomas Cook": { - count: 298 - }, - Thomson: { - count: 144 - } - }, - tyres: { - Borracharia: { - count: 98 - }, - Bridgestone: { - count: 65 - }, - "Discount Tire": { - count: 94 - }, - Euromaster: { - count: 76 - }, - Firestone: { - count: 57 - }, - Gomeria: { - count: 71 - }, - "Les Schwab Tire Center": { - count: 59 - }, - Vianor: { - count: 52 - }, - "Вулканизация": { - count: 113 - }, - "Шиномонтаж": { - count: 419 - } - }, - variety_store: { - Action: { - count: 147 - }, - Bazar: { - count: 56 - }, - "Big Bazar": { - count: 60 - }, - "Big Lots": { - count: 65 - }, - "Dollar General": { - count: 345 - }, - "Dollar Tree": { - count: 753 - }, - Dollarama: { - count: 404 - }, - EuroShop: { - count: 59 - }, - "Family Dollar": { - count: 590 - }, - "Fix Price": { - count: 97 - }, - "Fix price": { - count: 127 - }, - FixPrice: { - count: 62 - }, - GiFi: { - count: 229 - }, - "Home Bargains": { - count: 68 - }, - "Mäc-Geiz": { - count: 59 - }, - NOZ: { - count: 82 - }, - Poundland: { - count: 197 - }, - Poundworld: { - count: 70 - }, - Tedi: { - count: 611 - }, - "ダイソー": { - count: 226 - } - }, - video: { - Blockbuster: { - count: 75 - }, - "Family Video": { - count: 113 - }, - TSUTAYA: { - count: 122 - }, - "World of Video": { - count: 53 - }, - "ゲオ": { - count: 81 - } - }, - video_games: { - "EB Games": { - count: 101 - }, - Game: { - count: 76 - }, - GameStop: { - count: 676 - }, - Micromania: { - count: 83 - } - } - }; - var tourism = { - alpine_hut: { - "КОШ": { - count: 105 - } - }, - apartment: { - "Двухкомнатная квартира на сутки": { - count: 52 - } - }, - attraction: { - Arch: { - count: 51 - }, - "Kursächsische Postmeilensäule": { - count: 54 - }, - Maibaum: { - count: 52 - }, - "Moab trail": { - count: 55 - }, - Moai: { - count: 702 - }, - "OWŚ": { - count: 102 - }, - Sommerrodelbahn: { - count: 54 - }, - "path contiunes": { - count: 75 - }, - "white blaze": { - count: 53 - }, - "Кладбище еврейское": { - count: 89 - }, - "Колесо обозрения": { - count: 69 - }, - "Приусадебный парк": { - count: 69 - }, - "Усадьба": { - count: 53 - }, - "Хозяйственный двор": { - count: 72 - }, - "Часовня": { - count: 64 - }, - "дольмен": { - count: 86 - } - }, - camp_site: { - "Camping Municipal": { - count: 198 - }, - "Camping municipal": { - count: 80 - } - }, - guest_house: { - Casa: { - count: 61 - }, - Home: { - count: 68 - }, - "OW \"Bielanka\"": { - count: 54 - } - }, - hostel: { - "Albergue de Peregrinos": { - count: 67 - }, - Hospedaje: { - count: 70 - }, - Hostal: { - count: 124 - } - }, - hotel: { - "B&B Hôtel": { - count: 104 - }, - "B&b Hôtel": { - count: 78 - }, - "Best Western": { - count: 242 - }, - Campanile: { - count: 145 - }, - "Central Hotel": { - count: 51 - }, - "City Hotel": { - count: 74 - }, - "Comfort Inn": { - count: 283 - }, - "Comfort Inn & Suites": { - count: 67 - }, - "Comfort Suites": { - count: 148 - }, - "Country Inn & Suites": { - count: 83 - }, - "Courtyard by Marriott": { - count: 155 - }, - "Crowne Plaza": { - count: 85 - }, - "Days Inn": { - count: 245 - }, - "Econo Lodge": { - count: 70 - }, - "Embassy Suites": { - count: 68 - }, - "Extended Stay America": { - count: 102 - }, - "Fairfield Inn": { - count: 60 - }, - "Fairfield Inn & Suites": { - count: 67 - }, - "Formule 1": { - count: 74 - }, - "Grand Hotel": { - count: 90 - }, - "Hampton Inn": { - count: 376 - }, - "Hampton Inn & Suites": { - count: 96 - }, - "Hilton Garden Inn": { - count: 183 - }, - "Holiday Inn": { - count: 411 - }, - "Holiday Inn Express": { - count: 479 - }, - "Holiday Inn Express & Suites": { - count: 72 - }, - "Homewood Suites": { - count: 61 - }, - "Hotel Central": { - count: 92 - }, - "Hotel Europa": { - count: 91 - }, - "Hotel Ibis": { - count: 67 - }, - "Hotel Krone": { - count: 58 - }, - "Hotel Panorama": { - count: 61 - }, - "Hotel Plaza": { - count: 62 - }, - "Hotel Post": { - count: 60 - }, - "Hotel Royal": { - count: 62 - }, - "Hotel Victoria": { - count: 71 - }, - "Hotel zur Post": { - count: 60 - }, - "Hôtel Ibis": { - count: 70 - }, - "Hôtel de France": { - count: 61 - }, - Ibis: { - count: 215 - }, - "Ibis Budget": { - count: 188 - }, - "Ibis Styles": { - count: 53 - }, - Krone: { - count: 68 - }, - Kyriad: { - count: 65 - }, - "La Quinta": { - count: 54 - }, - Marriott: { - count: 57 - }, - Mercure: { - count: 109 - }, - "Motel 6": { - count: 83 - }, - Novotel: { - count: 180 - }, - "Palace Hotel": { - count: 54 - }, - "Park Hotel": { - count: 88 - }, - Parkhotel: { - count: 64 - }, - "Premier Inn": { - count: 400 - }, - "Première Classe": { - count: 62 - }, - "Quality Inn": { - count: 178 - }, - "Quality Inn & Suites": { - count: 80 - }, - Ramada: { - count: 97 - }, - "Residence Inn": { - count: 89 - }, - "Royal Hotel": { - count: 94 - }, - Sheraton: { - count: 56 - }, - "Sleep Inn": { - count: 68 - }, - "Staybridge Suites": { - count: 54 - }, - "Super 8": { - count: 229 - }, - Travelodge: { - count: 284 - }, - "Гостиница": { - count: 166 - }, - "Уют": { - count: 58 - }, - "東横イン": { - count: 57 - } - }, - motel: { - "Best Western": { - count: 59 - }, - "Budget Inn": { - count: 76 - }, - "Comfort Inn": { - count: 131 - }, - "Days Inn": { - count: 103 - }, - "Econo Lodge": { - count: 117 - }, - "Motel 6": { - count: 214 - }, - "Quality Inn": { - count: 113 - }, - "Rodeway Inn": { - count: 102 - }, - "Super 8": { - count: 173 - }, - Travelodge: { - count: 68 - } - }, - museum: { - Heimatmuseum: { - count: 336 - }, - Stadtmuseum: { - count: 86 - }, - "Tájház": { - count: 93 - }, - "Краеведческий музей": { - count: 247 - }, - "Музей": { - count: 99 - } - } - }; - var dataSuggestions = { - amenity: amenity, - leisure: leisure, - man_made: man_made, - shop: shop, - tourism: tourism - }; - - var dataAddressFormats = [ - { - format: [ - [ - "housenumber", - "street" - ], - [ - "city", - "postcode" - ] - ] - }, - { - countryCodes: [ - "gb" - ], - format: [ - [ - "housename" - ], - [ - "housenumber", - "street" - ], - [ - "city", - "postcode" - ] - ] - }, - { - countryCodes: [ - "ie" - ], - format: [ - [ - "housename" - ], - [ - "housenumber", - "street" - ], - [ - "city" - ], - [ - "postcode" - ] - ] - }, - { - countryCodes: [ - "at", - "ch", - "de", - "si", - "pl" - ], - format: [ - [ - "street", - "housenumber" - ], - [ - "postcode", - "city" - ] - ] - }, - { - countryCodes: [ - "ad", - "ba", - "be", - "cz", - "dk", - "es", - "fi", - "gr", - "hr", - "is", - "it", - "li", - "nl", - "no", - "pt", - "se", - "sk", - "sm", - "va" - ], - format: [ - [ - "street", - "housenumber", - "unit" - ], - [ - "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: [ - "au", - "ca" - ], - format: [ - [ - "housenumber", - "street", - "unit" - ], - [ - "city", - "province", - "postcode" - ] - ] - }, - { - countryCodes: [ - "us" - ], - format: [ - [ - "housenumber", - "street", - "unit" - ], - [ - "city", - "state", - "postcode" - ] - ] - }, - { - countryCodes: [ - "tw" - ], - format: [ - [ - "postcode", - "city", - "district" - ], - [ - "place", - "street" - ], - [ - "housenumber", - "floor", - "unit" - ] - ] - }, - { - countryCodes: [ - "jp" - ], - format: [ - [ - "postcode", - "province", - "county" - ], - [ - "city", - "suburb" - ], - [ - "quarter", - "neighbourhood" - ], - [ - "block_number", - "housenumber" - ] - ], - dropdowns: [ - "postcode", - "province", - "county", - "city", - "suburb", - "quarter", - "neighbourhood", - "block_number" - ], - widths: { - postcode: 0.3, - province: 0.35, - county: 0.35, - city: 0.65, - suburb: 0.35, - quarter: 0.5, - neighbourhood: 0.5, - block_number: 0.5, - housenumber: 0.5 - } - }, - { - countryCodes: [ - "tr" - ], - format: [ - [ - "neighbourhood" - ], - [ - "street", - "housenumber" - ], - [ - "postcode", - "district", - "city" - ] - ] - }, - { - countryCodes: [ - "ua" - ], - format: [ - [ - "housenumber", - "postcode" - ], - [ - "street" - ] - ] - }, - { - countryCodes: [ - "cn" - ], - format: [ - [ - "postcode", - "province" - ], - [ - "city", - "district" - ], - [ - "street", - "housenumber" - ] - ] - } - ]; - - var dataDeprecated = [ - { - 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" - } - } - ]; - - var dataDiscarded = { - created_by: true, - odbl: true, - "odbl:note": true, - "tiger:upload_uuid": true, - "tiger:tlid": true, - "tiger:source": true, - "tiger:separated": true, - "geobase:datasetName": true, - "geobase:uuid": true, - "sub_sea:type": true, - "KSJ2:ADS": true, - "KSJ2:ARE": true, - "KSJ2:AdminArea": true, - "KSJ2:COP_label": true, - "KSJ2:DFD": true, - "KSJ2:INT": true, - "KSJ2:INT_label": true, - "KSJ2:LOC": true, - "KSJ2:LPN": true, - "KSJ2:OPC": true, - "KSJ2:PubFacAdmin": true, - "KSJ2:RAC": true, - "KSJ2:RAC_label": true, - "KSJ2:RIC": true, - "KSJ2:RIN": true, - "KSJ2:WSC": true, - "KSJ2:coordinate": true, - "KSJ2:curve_id": true, - "KSJ2:curve_type": true, - "KSJ2:filename": true, - "KSJ2:lake_id": true, - "KSJ2:lat": true, - "KSJ2:long": true, - "KSJ2:river_id": true, - "yh:LINE_NAME": true, - "yh:LINE_NUM": true, - "yh:STRUCTURE": true, - "yh:TOTYUMONO": true, - "yh:TYPE": true, - "yh:WIDTH": true, - "yh:WIDTH_RANK": true, - "SK53_bulk:load": true - }; - - var dataLocales = { - af: { - rtl: false - }, - ar: { - rtl: true - }, - "ar-AA": { - rtl: true - }, - ast: { - rtl: false - }, - be: { - rtl: false - }, - bg: { - rtl: false - }, - bn: { - rtl: false - }, - bs: { - rtl: false - }, - ca: { - rtl: false - }, - ckb: { - rtl: true - }, - cs: { - rtl: false - }, - cy: { - rtl: false - }, - da: { - rtl: false - }, - de: { - rtl: false - }, - dv: { - rtl: true - }, - el: { - rtl: false - }, - "en-GB": { - rtl: false - }, - eo: { - rtl: false - }, - es: { - rtl: false - }, - et: { - rtl: false - }, - eu: { - rtl: false - }, - fa: { - rtl: true - }, - fi: { - rtl: false - }, - fr: { - rtl: false - }, - gan: { - rtl: false - }, - gl: { - rtl: false - }, - gu: { - rtl: false - }, - he: { - rtl: true - }, - hi: { - rtl: false - }, - hr: { - rtl: false - }, - hu: { - rtl: false - }, - hy: { - rtl: false - }, - ia: { - rtl: false - }, - id: { - rtl: false - }, - is: { - rtl: false - }, - it: { - rtl: false - }, - ja: { - rtl: false - }, - jv: { - rtl: false - }, - km: { - rtl: false - }, - kn: { - rtl: false - }, - ko: { - rtl: false - }, - ku: { - rtl: false - }, - lij: { - rtl: false - }, - lt: { - rtl: false - }, - lv: { - rtl: false - }, - mg: { - rtl: false - }, - mk: { - rtl: false - }, - ml: { - rtl: false - }, - mn: { - rtl: false - }, - ms: { - rtl: false - }, - ne: { - rtl: false - }, - nl: { - rtl: false - }, - nn: { - rtl: false - }, - no: { - rtl: false - }, - nv: { - rtl: false - }, - pl: { - rtl: false - }, - pt: { - rtl: false - }, - "pt-BR": { - rtl: false - }, - rm: { - rtl: false - }, - ro: { - rtl: false - }, - ru: { - rtl: false - }, - sc: { - rtl: false - }, - si: { - rtl: false - }, - sk: { - rtl: false - }, - sl: { - rtl: false - }, - so: { - rtl: false - }, - sq: { - rtl: false - }, - sr: { - rtl: false - }, - sv: { - rtl: false - }, - ta: { - rtl: false - }, - te: { - rtl: false - }, - th: { - rtl: false - }, - tl: { - rtl: false - }, - tr: { - rtl: false - }, - uk: { - rtl: false - }, - ur: { - rtl: true - }, - vi: { - rtl: false - }, - yue: { - rtl: false - }, - zh: { - rtl: false - }, - "zh-CN": { - rtl: false - }, - "zh-HK": { - rtl: false - }, - "zh-TW": { - rtl: false - } - }; - - var dataPhoneFormats = { - 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", - ie: "+353 20 912 3456", - 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 1632 961234", - gg: "+44 1632 961234", - im: "+44 1632 961234", - je: "+44 1632 961234", - 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 1234 5678", - cn: "+86 10 12345678", - tw: "+886 1 2345 6789", - tr: "+90 312 123 4567", - ua: "+380 44 123 4567", - at: "+43 1 123 45 67", - ci: "+225 20 12 34 56", - bj: "+229 20 12 34 56" - }; - - var dataShortcuts = [ - { - tab: "browsing", - text: "shortcuts.browsing.title", - columns: [ - { - rows: [ - { - section: "navigation", - text: "shortcuts.browsing.navigation.title" - }, - { - shortcuts: [ - "↓", - "↑", - "←", - "→" - ], - text: "shortcuts.browsing.navigation.pan", - separator: "," - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "↓", - "↑", - "←", - "→" - ], - text: "shortcuts.browsing.navigation.pan_more", - separator: "," - }, - { - shortcuts: [ - "+", - "-" - ], - text: "shortcuts.browsing.navigation.zoom", - separator: "," - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "+", - "-" - ], - text: "shortcuts.browsing.navigation.zoom_more", - separator: "," - }, - { - section: "help", - text: "shortcuts.browsing.help.title" - }, - { - shortcuts: [ - "help.key" - ], - text: "shortcuts.browsing.help.help" - }, - { - shortcuts: [ - "shortcuts.toggle.key" - ], - text: "shortcuts.browsing.help.keyboard" - }, - { - section: "display_options", - text: "shortcuts.browsing.display_options.title" - }, - { - shortcuts: [ - "background.key" - ], - text: "shortcuts.browsing.display_options.background" - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "background.key" - ], - text: "shortcuts.browsing.display_options.background_switch" - }, - { - shortcuts: [ - "map_data.key" - ], - text: "shortcuts.browsing.display_options.map_data" - }, - { - modifiers: [ - "⌃", - "⌘" - ], - shortcuts: [ - "F", - "F11" - ], - text: "shortcuts.browsing.display_options.fullscreen" - }, - { - shortcuts: [ - "area_fill.wireframe.key" - ], - text: "shortcuts.browsing.display_options.wireframe" - }, - { - shortcuts: [ - "background.minimap.key" - ], - text: "shortcuts.browsing.display_options.minimap" - } - ] - }, - { - rows: [ - { - section: "selecting", - text: "shortcuts.browsing.selecting.title" - }, - { - shortcuts: [ - "Left-click" - ], - text: "shortcuts.browsing.selecting.select_one" - }, - { - modifiers: [ - "⇧" - ], - shortcuts: [ - "Left-click" - ], - text: "shortcuts.browsing.selecting.select_multi" - }, - { - modifiers: [ - "⇧" - ], - shortcuts: [ - "Left-click" - ], - gesture: "shortcuts.gesture.drag", - text: "shortcuts.browsing.selecting.lasso" - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "F" - ], - text: "shortcuts.browsing.selecting.search" - }, - { - section: "with_selected", - text: "shortcuts.browsing.with_selected.title" - }, - { - shortcuts: [ - "Right-click", - "shortcuts.key.space" - ], - text: "shortcuts.browsing.with_selected.edit_menu" - }, - { - shortcuts: [ - ], - text: "" - }, - { - section: "vertex_selected", - text: "shortcuts.browsing.vertex_selected.title" - }, - { - shortcuts: [ - "[", - "↖" - ], - text: "shortcuts.browsing.vertex_selected.previous" - }, - { - shortcuts: [ - "]", - "↘" - ], - text: "shortcuts.browsing.vertex_selected.next" - }, - { - shortcuts: [ - "{", - "⇞" - ], - text: "shortcuts.browsing.vertex_selected.first" - }, - { - shortcuts: [ - "}", - "⇟" - ], - text: "shortcuts.browsing.vertex_selected.last" - }, - { - shortcuts: [ - "\\", - "shortcuts.key.pause" - ], - text: "shortcuts.browsing.vertex_selected.change_parent" - } - ] - } - ] - }, - { - tab: "editing", - text: "shortcuts.editing.title", - columns: [ - { - rows: [ - { - section: "drawing", - text: "shortcuts.editing.drawing.title" - }, - { - shortcuts: [ - "1" - ], - text: "shortcuts.editing.drawing.add_point" - }, - { - shortcuts: [ - "2" - ], - text: "shortcuts.editing.drawing.add_line" - }, - { - shortcuts: [ - "3" - ], - text: "shortcuts.editing.drawing.add_area" - }, - { - shortcuts: [ - "Left-click", - "shortcuts.key.space" - ], - text: "shortcuts.editing.drawing.place_point" - }, - { - shortcuts: [ - "⌥" - ], - text: "shortcuts.editing.drawing.disable_snap" - }, - { - shortcuts: [ - "↵", - "⎋" - ], - text: "shortcuts.editing.drawing.stop_line" - }, - { - section: "commands", - text: "shortcuts.editing.commands.title" - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "C" - ], - text: "shortcuts.editing.commands.copy" - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "V" - ], - text: "shortcuts.editing.commands.paste" - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "Z" - ], - text: "shortcuts.editing.commands.undo" - }, - { - modifiers: [ - "⌘", - "⇧" - ], - shortcuts: [ - "Z" - ], - text: "shortcuts.editing.commands.redo" - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "S" - ], - text: "shortcuts.editing.commands.save" - } - ] - }, - { - rows: [ - { - section: "operations", - text: "shortcuts.editing.operations.title" - }, - { - shortcuts: [ - "operations.continue.key" - ], - text: "shortcuts.editing.operations.continue_line" - }, - { - shortcuts: [ - "operations.merge.key" - ], - text: "shortcuts.editing.operations.merge" - }, - { - shortcuts: [ - "operations.disconnect.key" - ], - text: "shortcuts.editing.operations.disconnect" - }, - { - shortcuts: [ - "operations.split.key" - ], - text: "shortcuts.editing.operations.split" - }, - { - shortcuts: [ - "operations.reverse.key" - ], - text: "shortcuts.editing.operations.reverse" - }, - { - shortcuts: [ - "operations.move.key" - ], - text: "shortcuts.editing.operations.move" - }, - { - shortcuts: [ - "operations.rotate.key" - ], - text: "shortcuts.editing.operations.rotate" - }, - { - shortcuts: [ - "operations.orthogonalize.key" - ], - text: "shortcuts.editing.operations.orthogonalize" - }, - { - shortcuts: [ - "operations.circularize.key" - ], - text: "shortcuts.editing.operations.circularize" - }, - { - shortcuts: [ - "operations.reflect.key.long" - ], - text: "shortcuts.editing.operations.reflect_long" - }, - { - shortcuts: [ - "operations.reflect.key.short" - ], - text: "shortcuts.editing.operations.reflect_short" - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "⌫" - ], - text: "shortcuts.editing.operations.delete" - } - ] - } - ] - }, - { - tab: "tools", - text: "shortcuts.tools.title", - columns: [ - { - rows: [ - { - section: "info", - text: "shortcuts.tools.info.title" - }, - { - modifiers: [ - "⌘" - ], - shortcuts: [ - "info_panels.key" - ], - text: "shortcuts.tools.info.all" - }, - { - modifiers: [ - "⌘", - "⇧" - ], - shortcuts: [ - "info_panels.background.key" - ], - text: "shortcuts.tools.info.background" - }, - { - modifiers: [ - "⌘", - "⇧" - ], - shortcuts: [ - "info_panels.history.key" - ], - text: "shortcuts.tools.info.history" - }, - { - modifiers: [ - "⌘", - "⇧" - ], - shortcuts: [ - "info_panels.location.key" - ], - text: "shortcuts.tools.info.location" - }, - { - modifiers: [ - "⌘", - "⇧" - ], - shortcuts: [ - "info_panels.measurement.key" - ], - text: "shortcuts.tools.info.measurement" - } - ] - } - ] - } - ]; - - var type$2 = "FeatureCollection"; - var 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 - ] - ] - ] - } - } - ]; - var dataImperial = { - type: type$2, - features: features - }; - - var type$3 = "FeatureCollection"; - var features$1 = [ - { - 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 - ] - ] - ] - } - } - ]; - var dataDriveLeft = { - type: type$3, - features: features$1 - }; - - var en = { - icons: { - information: "info", - remove: "remove", - undo: "undo" - }, - 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." - }, - drag_node: { - connected_to_hidden: "This can't be edited because it is connected to a hidden feature." - } - }, - 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: { - single: "Delete this feature permanently.", - multiple: "Delete these features 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} features." - }, - too_large: { - single: "This feature can't be deleted because not enough of it is currently visible.", - multiple: "These features can't be deleted because not enough of them are currently visible." - }, - incomplete_relation: { - single: "This feature can't be deleted because it hasn't been fully downloaded.", - multiple: "These features can't be deleted because they haven't been fully downloaded." - }, - part_of_relation: { - single: "This feature can't be deleted because it is part of a larger relation. You must remove it from the relation first.", - multiple: "These features can't be deleted because they are part of larger relations. You must remove them from the relations first." - }, - connected_to_hidden: { - single: "This feature can't be deleted because it is connected to a hidden feature.", - multiple: "These features can't be deleted because some are connected to hidden features." - } - }, - 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." - }, - relation: "These features can't be connected because they have conflicting relation roles.", - restriction: "These features can't be connected because it would damage a \"{relation}\" relation." - }, - 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 their endpoints aren't connected.", - restriction: "These features can't be merged because it would damage a \"{relation}\" relation.", - relation: "These features can't be merged because they have conflicting relation roles.", - 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: { - single: "Move this feature to a different location.", - multiple: "Move these features 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 features." - }, - incomplete_relation: { - single: "This feature can't be moved because it hasn't been fully downloaded.", - multiple: "These features can't be moved because they haven't been fully downloaded." - }, - too_large: { - single: "This feature can't be moved because not enough of it is currently visible.", - multiple: "These features can't be moved because not enough of them are currently visible." - }, - connected_to_hidden: { - single: "This feature can't be moved because it is connected to a hidden feature.", - multiple: "These features can't be moved because some are connected to hidden features." - } - }, - reflect: { - title: { - long: "Reflect Long", - short: "Reflect Short" - }, - description: { - long: { - single: "Reflect this feature across its long axis.", - multiple: "Reflect these features across their long axis." - }, - short: { - single: "Reflect this feature across its short axis.", - multiple: "Reflect these features across their short axis." - } - }, - key: { - long: "T", - short: "Y" - }, - annotation: { - long: { - single: "Reflected a feature across its long axis.", - multiple: "Reflected multiple features across their long axis." - }, - short: { - single: "Reflected a feature across its short axis.", - multiple: "Reflected multiple features across their short axis." - } - }, - incomplete_relation: { - single: "This feature can't be reflected because it hasn't been fully downloaded.", - multiple: "These features can't be reflected because they haven't been fully downloaded." - }, - too_large: { - single: "This feature can't be reflected because not enough of it is currently visible.", - multiple: "These features can't be reflected because not enough of them are currently visible." - }, - connected_to_hidden: { - single: "This feature can't be reflected because it is connected to a hidden feature.", - multiple: "These features can't be reflected because some are connected to hidden features." - } - }, - rotate: { - title: "Rotate", - description: { - single: "Rotate this feature around its center point.", - multiple: "Rotate these features around their center point." - }, - key: "R", - annotation: { - line: "Rotated a line.", - area: "Rotated an area.", - multiple: "Rotated multiple features." - }, - incomplete_relation: { - single: "This feature can't be rotated because it hasn't been fully downloaded.", - multiple: "These features can't be rotated because they haven't been fully downloaded." - }, - too_large: { - single: "This feature can't be rotated because not enough of it is currently visible.", - multiple: "These features can't be rotated because not enough of them are currently visible." - }, - connected_to_hidden: { - single: "This feature can't be rotated because it is connected to a hidden feature.", - multiple: "These features can't be rotated because some are connected to hidden features." - } - }, - 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: { - annotation: { - create: "Added a turn restriction", - "delete": "Deleted a turn restriction" - } - } - }, - restriction: { - controls: { - distance: "Distance", - distance_up_to: "Up to {distance}", - via: "Via", - via_node_only: "Node only", - via_up_to_one: "Up to 1 way", - via_up_to_two: "Up to 2 ways" - }, - help: { - indirect: "(indirect)", - turn: { - no_left_turn: "NO Left Turn {indirect}", - no_right_turn: "NO Right Turn {indirect}", - no_u_turn: "NO U-Turn {indirect}", - no_straight_on: "NO Straight On {indirect}", - only_left_turn: "ONLY Left Turn {indirect}", - only_right_turn: "ONLY Right Turn {indirect}", - only_u_turn: "ONLY U-Turn {indirect}", - only_straight_on: "ONLY Straight On {indirect}", - allowed_left_turn: "Left Turn Allowed {indirect}", - allowed_right_turn: "Right Turn Allowed {indirect}", - allowed_u_turn: "U-Turn Allowed {indirect}", - allowed_straight_on: "Straight On Allowed {indirect}" - }, - from: "FROM", - via: "VIA", - to: "TO", - from_name: "{from} {fromName}", - from_name_to_name: "{from} {fromName} {to} {toName}", - via_names: "{via} {viaNames}", - select_from: "Click to select a {from} segment", - select_from_name: "Click to select {from} {fromName}", - toggle: "Click for \"{turn}\"" - } - }, - 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", - login: "login", - 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.", - rateLimit: "The API is limiting anonymous connections. You can fix this by logging in." - }, - commit: { - title: "Upload to OpenStreetMap", - 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.", - request_review: "I would like someone to review my edits.", - save: "Upload", - cancel: "Cancel", - changes: "{count} Changes", - download_changes: "Download osmChange file", - 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: "https://www.openstreetmap.org/copyright" - }, - contributors: { - list: "Edits by {users}", - truncated_list: "Edits by {users} and {count} others" - }, - info_panels: { - key: "I", - background: { - key: "B", - title: "Background", - zoom: "Zoom", - vintage: "Vintage", - source: "Source", - description: "Description", - resolution: "Resolution", - accuracy: "Accuracy", - unknown: "Unknown", - show_tiles: "Show Tiles", - hide_tiles: "Hide Tiles", - show_vintage: "Show Vintage", - hide_vintage: "Hide Vintage" - }, - history: { - key: "H", - title: "History", - selected: "{n} selected", - no_history: "No History (New Feature)", - version: "Version", - last_edit: "Last Edit", - edited_by: "Edited By", - changeset: "Changeset", - unknown: "Unknown", - link_text: "History on openstreetmap.org" - }, - location: { - key: "L", - title: "Location", - unknown_location: "Unknown Location" - }, - measurement: { - key: "M", - title: "Measurement", - selected: "{n} selected", - geometry: "Geometry", - closed_line: "closed line", - closed_area: "closed area", - center: "Center", - perimeter: "Perimeter", - length: "Length", - area: "Area", - centroid: "Centroid", - location: "Location", - metric: "Metric", - imperial: "Imperial", - node_count: "Number of nodes" - } - }, - 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", - documentation_redirect: "This documentation has been redirected to a new page", - 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 features", - unknown: "Unknown", - incomplete: "", - feature_list: "Search features", - edit: "Edit feature", - check: { - yes: "Yes", - no: "No", - reverser: "Change Direction" - }, - radio: { - structure: { - type: "Type", - "default": "Default", - layer: "Layer" - } - }, - add: "Add", - none: "None", - node: "Node", - way: "Way", - relation: "Relation", - location: "Location", - add_fields: "Add field:" - }, - background: { - title: "Background", - description: "Background settings", - key: "B", - backgrounds: "Backgrounds", - 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:\n - {zoom} or {z}, {x}, {y} for Z/X/Y tile scheme\n - {-y} or {ty} for flipped TMS-style Y coordinates\n - {u} for quadtile scheme\n - {switch:a,b,c} for DNS server multiplexing\n\nExample:\n{example}", - overlays: "Overlays", - imagery_source_faq: "Imagery Info / Report a Problem", - reset: "reset", - display_options: "Display Options", - brightness: "Brightness", - contrast: "Contrast", - saturation: "Saturation", - sharpness: "Sharpness", - minimap: { - description: "Show Minimap", - tooltip: "Show a zoomed out map to help locate the area currently displayed.", - key: "/" - }, - fix_misalignment: "Adjust imagery offset", - offset: "Drag anywhere in the gray area below to adjust the imagery offset, or enter the offset values in meters." - }, - map_data: { - title: "Map Data", - description: "Map Data", - key: "F", - data_layers: "Data Layers", - layers: { - osm: { - tooltip: "Map data from OpenStreetMap", - title: "OpenStreetMap data" - } - }, - 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.", - osmhidden: "These features have been automatically hidden because the OpenStreetMap layer is hidden." - }, - 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.", - key: "W" - }, - 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 my changes", - reset: "Discard my changes" - }, - save: { - title: "Save", - help: "Review your changes and upload them 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...", - conflict_progress: "Checking for conflicts: {num} of {total}", - 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 osmChange file", - done: "All conflicts resolved!", - help: "Another user changed some of the same map features you changed.\nClick on each feature 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 feature has been deleted by {user}.", - location: "This feature 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 {tag} tag to \"{local}\" and {user} changed it to \"{remote}\"." - } - }, - success: { - just_edited: "You just edited OpenStreetMap!", - thank_you: "Thank you for improving the map.", - thank_you_location: "Thank you for improving the map around {where}.", - help_html: "Your changes should appear on OpenStreetMap within a few minutes. It may take longer for maps elsewhere to receive updates.", - 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", - view_on_osm: "View Changes on OSM", - changeset_id: "Your changeset #: {changeset_id}", - like_osm: "Like OpenStreetMap? Connect with others:", - more: "More", - events: "Events", - languages: "Languages: {languages}", - missing: "Is something missing from this list?", - tell_us: "Tell us!" - }, - confirm: { - okay: "OK", - 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" - }, - version: { - whats_new: "What's new in iD {version}" - }, - tag_reference: { - description: "Description", - on_wiki: "{tag} on wiki.osm.org", - used_with: "used with {type}" - }, - validations: { - disconnected_highway: "Disconnected highway", - disconnected_highway_tooltip: "Roads should be connected to other roads or building entrances.", - old_multipolygon: "Multipolygon tags on outer way", - old_multipolygon_tooltip: "This style of multipolygon is deprecated. Please assign the tags to the parent multipolygon instead of the outer way.", - untagged_point: "Untagged point", - untagged_point_tooltip: "Select a feature type that describes what this point is.", - untagged_line: "Untagged line", - untagged_line_tooltip: "Select a feature type that describes what this line is.", - untagged_area: "Untagged area", - untagged_area_tooltip: "Select a feature type that describes what this area is.", - untagged_relation: "Untagged relation", - untagged_relation_tooltip: "Select a feature type that describes what this relation is.", - many_deletions: "You're deleting {n} features: {p} nodes, {l} lines, {a} areas, {r} relations. 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", - 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 file", - drag_drop: "Drag and drop a .gpx, .geojson or .kml file on the page, or click the button to the right to browse", - zoom: "Zoom to layer", - browse: "Browse for a 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" - }, - openstreetcam_images: { - tooltip: "Street-level photos from OpenStreetCam", - title: "Photo Overlay (OpenStreetCam)" - }, - openstreetcam: { - view_on_openstreetcam: "View this image on OpenStreetCam" - }, - help: { - title: "Help", - key: "H", - help: { - title: "Help", - welcome: "Welcome to the iD editor for [OpenStreetMap](https://www.openstreetmap.org/). With this editor you can update OpenStreetMap right from your web browser.", - open_data_h: "Open Data", - open_data: "Edits that you make on this map will be visible to everyone who uses OpenStreetMap. Your edits can be based on personal knowledge, on-the-ground surveying, or imagery collected from aerial or street level photos. Copying from commercial sources, like Google Maps, [is strictly forbidden](https://www.openstreetmap.org/copyright).", - before_start_h: "Before you start", - before_start: "You should be familiar with OpenStreetMap and this editor before you start editing. iD contains a walkthrough to teach you the basics of editing OpenStreetMap. Click \"Start the Walkthrough\" on this screen to take the tutorial - it takes only about 15 minutes.", - open_source_h: "Open Source", - open_source: "The iD editor is a collaborative open source project, and you are using version {version} now. The source code is available [on GitHub](https://github.com/openstreetmap/iD).", - open_source_help: "You can help iD by [translating](https://github.com/openstreetmap/iD/blob/master/CONTRIBUTING.md#translating) or [reporting bugs](https://github.com/openstreetmap/iD/issues)." - }, - overview: { - title: "Overview", - navigation_h: "Navigation", - navigation_drag: "You can drag the map by pressing and holding down the {leftclick} left mouse button and moving the mouse around. You can also use the `↓`, `↑`, `←`, `→` arrow keys on your keyboard.", - navigation_zoom: "You can zoom in or out by scrolling with the mouse wheel or trackpad, or by clicking the {plus} / {minus} buttons along the side of the map. You can also use the `+`, `-` keys on your keyboard.", - features_h: "Map Features", - features: "We use the word *features* to describe things that appear on the map, such as roads, buildings, or points of interest. Anything in the real world can be mapped as a feature on OpenStreetMap. Map features are represented on the map using *points*, *lines*, or *areas*.", - nodes_ways: "In OpenStreetmap, points are sometimes called *nodes*, and lines and areas are sometimes called *ways*." - }, - editing: { - title: "Editing & Saving", - select_h: "Select", - select_left_click: "{leftclick} Left-click on a feature to select it. This will highlight it with a pulsing glow, and the sidebar will display details about that feature, such as its name or address.", - select_right_click: "{rightclick} Right-click on a feature to display the editing menu, which shows the commands that are available, such as rotating, moving, and deleting.", - multiselect_h: "Multiselect", - multiselect_shift_click: "`{shift}`+{leftclick} left-click to select several features together. This makes it easier to move or delete multiple items.", - multiselect_lasso: "Another way to select multiple features is to hold down the `{shift}` key, then press and hold down the {leftclick} left mouse button and drag the mouse to draw a selection lasso. All of the points inside the lasso area will be selected.", - undo_redo_h: "Undo & Redo", - undo_redo: "Your edits are stored locally in your browser until you choose to save them to the OpenStreetMap server. You can undo edits by clicking the {undo} **Undo** button, and redo them by clicking the {redo} **Redo** button.", - save_h: "Save", - save: "Click {save} **Save** to finish your edits and send them to OpenStreetMap. You should remember to save your work frequently!", - save_validation: "On the save screen, you'll have a chance to review what you've done. iD will also perform some basic checks for missing data and may offer helpful suggestions and warnings if something doesn't seem right.", - upload_h: "Upload", - upload: "Before uploading your changes you must enter a [changeset comment](https://wiki.openstreetmap.org/wiki/Good_changeset_comments). Then click **Upload** to send your changes to OpenStreetMap, where they will be merged into the map and publicly visible to everyone.", - backups_h: "Automatic Backups", - backups: "If you can't finish your edits in one sitting, for example if your computer crashes or you close the browser tab, your edits are still saved in your browser's storage. You can come back later (on the same browser and computer), and iD will offer to restore your work.", - keyboard_h: "Keyboard Shortcuts", - keyboard: "You can view a list of keyboard shortcuts by pressing the `?` key." - }, - feature_editor: { - title: "Feature Editor", - intro: "The *feature editor* appears alongside the map, and allows you to see and edit all of the information for the selected feature.", - definitions: "The top section displays the feature's type. The middle section contains *fields* showing the feature's attributes, such as its name or address.", - type_h: "Feature Type", - type: "You can click on the feature type to change the feature to a different type. Everything that exists in the real world can be added to OpenStreetMap, so there are thousands of feature types to choose from.", - type_picker: "The type picker displays the most common feature types, such as parks, hospitals, restaurants, roads, and buildings. You can search for anything by typing what you're looking for in the search box. You can also click the {inspect} **Info** icon next to the feature type to learn more about it.", - fields_h: "Fields", - fields_all_fields: "The \"All fields\" section contains all of the feature's details that you may edit. In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.", - fields_example: "Each feature type will display different fields. For example, a road may display fields for its surface and speed limit, but a restaurant may display fields for the type of food it serves and the hours it is open.", - fields_add_field: "You can also click the \"Add field\" dropdown to add more fields, such as a description, Wikipedia link, wheelchair access, and more.", - tags_h: "Tags", - tags_all_tags: "Below the fields section, you can expand the \"All tags\" section to edit any of the OpenStreetMap *tags* for the selected feature. Each tag consists of a *key* and *value*, data elements that define all of the features stored in OpenStreetMap.", - tags_resources: "Editing a feature's tags requires intermediate knowledge about OpenStreetMap. You should consult resources like the [OpenStreetMap Wiki](https://wiki.openstreetmap.org/wiki/Main_Page) or [Taginfo](https://taginfo.openstreetmap.org/) to learn more about accepted OpenStreetMap tagging practices." - }, - points: { - title: "Points", - intro: "*Points* can be used to represent features such as shops, restaurants, and monuments. They mark a specific location, and describe what's there.", - add_point_h: "Adding Points", - add_point: "To add a point, click the {point} **Point** button on the toolbar above the map, or press the shortcut key `1`. This will change the mouse cursor to a cross symbol.", - add_point_finish: "To place the new point on the map, position the mouse cursor where the point should go, then {leftclick} left-click or press `Space`.", - move_point_h: "Moving Points", - move_point: "To move a point, place the mouse cursor over the point, then press and hold the {leftclick} left mouse button while dragging the point to its new location.", - delete_point_h: "Deleting Points", - delete_point: "It's OK to delete features that don't exist in the real world. Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it.", - delete_point_command: "To delete a point, {rightclick} right-click on the point to select it and show the edit menu, then use the {delete} **Delete** command." - }, - lines: { - title: "Lines", - intro: "*Lines* are used to represent features such as roads, railroads, and rivers. Lines should be drawn down the center of the feature that they represent.", - add_line_h: "Adding Lines", - add_line: "To add a line, click the {line} **Line** button on the toolbar above the map, or press the shortcut key `2`. This will change the mouse cursor to a cross symbol.", - add_line_draw: "Next, position the mouse cursor where the line should begin and {leftclick} left-click or press `Space` to begin placing nodes along the line. Continue placing more nodes by clicking or pressing `Space`. While drawing, you can zoom in or drag the map in order to add more detail.", - add_line_finish: "To finish a line, press `{return}` or click again on the last node.", - modify_line_h: "Modifying Lines", - modify_line_dragnode: "Often you'll see lines that aren't shaped correctly, for example a road that does not match up with the background imagery. To adjust the shape of a line, first {leftclick} left-click to select it. All nodes of the line will be drawn as small circles. You can then drag the nodes to better locations.", - modify_line_addnode: "You can also create new nodes along a line either by {leftclick}**x2** double-clicking on the line or by dragging the small triangles at the midpoints between nodes.", - connect_line_h: "Connecting Lines", - connect_line: "Having roads connected properly is important for the map and essential for providing driving directions.", - connect_line_display: "The connections between roads are drawn with gray circles. The endpoints of a line are drawn with larger white circles if they don't connect to anything.", - connect_line_drag: "To connect a line to another feature, drag one of the line's nodes onto the other feature until both features snap together. Tip: You can hold down the `{alt}` key to prevent nodes from connecting to other features.", - connect_line_tag: "If you know that the connection has traffic lights or crosswalks, you can add them by selecting the connecting node and using the feature editor to select the correct feature's type.", - disconnect_line_h: "Disconnecting Lines", - disconnect_line_command: "To disconnect a road from another feature, {rightclick} right-click the connecting node and select the {disconnect} **Disconnect** command from the editing menu.", - move_line_h: "Moving Lines", - move_line_command: "To move an entire line, {rightclick} right-click the line and select the {move} **Move** command from the editing menu. Then move the mouse, and {leftclick} left-click to place the line in a new location.", - move_line_connected: "Lines that are connected to other features will stay connected as you move the line to a new location. iD may prevent you from moving a line across another connected line.", - delete_line_h: "Deleting Lines", - delete_line: "If a line is entirely incorrect, for example a road that doesn't exist in the real world, it's OK to delete it. Be careful when deleting features: the background imagery you are using might be outdated, and a road that looks wrong could simply be newly built.", - delete_line_command: "To delete a line, {rightclick} right-click on the line to select it and show the edit menu, then use the {delete} **Delete** command." - }, - areas: { - title: "Areas", - intro: "*Areas* are used to show the boundaries of features like lakes, buildings, and residential areas. Areas should be traced around the edge of the feature that they represent, for example, around the base of a building.", - point_or_area_h: "Points or Areas?", - point_or_area: "Many features can be represented as points or areas. You should map buildings and property outlines as areas whenever possible. Place points inside a building area to represent businesses, amenities, and other features located inside the building.", - add_area_h: "Adding Areas", - add_area_command: "To add an area, click the {area} **Area** button on the toolbar above the map, or press the shortcut key `3`. This will change the mouse cursor to a cross symbol.", - add_area_draw: "Next, position the mouse cursor at one of the corners of the feature and {leftclick} left-click or press `Space` to begin placing nodes around the outer edge of the area. Continue placing more nodes by clicking or pressing `Space`. While drawing, you can zoom in or drag the map in order to add more detail.", - add_area_finish: "To finish an area, press `{return}` or click again on either the first or last node.", - square_area_h: "Square Corners", - square_area_command: "Many area features like buildings have square corners. To square the corners of an area, {rightclick} right-click the edge of the area and select the {orthogonalize} **Square** command from the editing menu.", - modify_area_h: "Modifying Areas", - modify_area_dragnode: "Often you'll see areas that aren't shaped correctly, for example a building that does not match up with the background imagery. To adjust the shape of an area, first {leftclick} left-click to select it. All nodes of the area will be drawn as small circles. You can then drag the nodes to better locations.", - modify_area_addnode: "You can also create new nodes along an area either by {leftclick}**x2** double-clicking on the edge of the area or by dragging the small triangles at the midpoints between nodes.", - delete_area_h: "Deleting Areas", - delete_area: "If an area is entirely incorrect, for example a building that doesn't exist in the real world, it's OK to delete it. Be cautious when deleting features - the background imagery you are using might be outdated, and a building that looks wrong could simply be newly built.", - delete_area_command: "To delete an area, {rightclick} right-click on the area to select it and show the edit menu, then use the {delete} **Delete** command." - }, - relations: { - title: "Relations", - intro: "A *relation* is a special type of feature in OpenStreetMap that groups together other features. The features that belong to a relation are called *members*, and each member can have a *role* in the relation.", - edit_relation_h: "Editing Relations", - edit_relation: "At the bottom of the feature editor, you can expand the \"All relations\" section to see if the selected feature is a member of any relations. You can then click on the relation to select and edit it.", - edit_relation_add: "To add a feature to a relation, select the feature, then click the {plus} add button in the \"All relations\" section of the feature editor. You can choose from a list of nearby relations, or choose the \"New relation...\" option.", - edit_relation_delete: "You can also click the {delete} **Delete** button to remove the selected feature from the relation. If you remove all of the members from a relation, the relation will be deleted automatically.", - maintain_relation_h: "Maintaining Relations", - maintain_relation: "For the most part, iD will maintain relations automatically as you edit. You should take care when replacing features that might be members of relations. For example if you delete a section of road and draw a new section of road to replace it, you should add the new section to the same relations (routes, turn restrictions, etc.) as the original.", - relation_types_h: "Relation Types", - multipolygon_h: "Multipolygons", - multipolygon: "A *multipolygon* relation is a group of one or more *outer* features and one or more inner features. The outer features define the outer edges of the multipolygon, and the inner features define sub-areas or holes cut out from the inside of the multipolygon.", - multipolygon_create: "To create a multipolygon, for example a building with a hole in it, draw the outer edge as an area and the inner edge as a line or different kind of area. Then `{shift}`+{leftclick} left-click to select both features, {rightclick} right-click to show the edit menu, and select the {merge} **Merge** command.", - multipolygon_merge: "Merging several lines or areas will create a new multipolygon relation with all selected areas as members. iD will choose the inner and outer roles automatically, based on which features are contained inside other features.", - turn_restriction_h: "Turn restrictions", - turn_restriction: "A *turn restriction* relation is a group of several road segments in an intersection. Turn restrictions consist of a *from* road, *via* node or roads, and a *to* road.", - turn_restriction_field: "To edit turn restrictions, select a junction node where two or more roads meet. The feature editor will display a special \"Turn Restrictions\" field containing a model of the intersection.", - turn_restriction_editing: "In the \"Turn Restrictions\" field, click to select a \"from\" road, and see whether turns are allowed or restricted to any of the \"to\" roads. You can click on the turn icons to toggle them between allowed and restricted. iD will create relations automatically and set the from, via, and to roles based on your choices.", - route_h: "Routes", - route: "A *route* relation is a group of one or more line features that together form a route network, like a bus route, train route, or highway route.", - route_add: "To add a feature to a route relation, select the feature and scroll down to the \"All relations\" section of the feature editor, then click the {plus} add button to add this feature to a nearby existing relation or a new relation.", - boundary_h: "Boundaries", - boundary: "A *boundary* relation is a group of one or more line features that together form an administrative boundary.", - boundary_add: "To add a feature to a boundary relation, select the feature and scroll down to the \"All relations\" section of the feature editor, then click the {plus} add button to add this feature to a nearby existing relation or a new relation." - }, - imagery: { - title: "Background Imagery", - intro: "The background imagery that appears beneath the map data is an important resource for mapping. This imagery can be aerial photos collected from satellites, airplanes, and drones, or it can be scanned historical maps or other freely available source data.", - sources_h: "Imagery Sources", - choosing: "To see which imagery sources are available for editing, click the {layers} **Background settings** button on the side of the map.", - sources: "By default, a [Bing Maps](https://www.bing.com/maps/) satellite layer is chosen as the background image. Depending on where you are editing, other imagery sources will be available. Some may be newer or have higher resolution, so it is always useful to check and see which layer is the best one to use as a mapping reference.", - offsets_h: "Adjusting Imagery Offset", - offset: "Imagery is sometimes offset slightly from accurate map data. If you see a lot of roads or buildings shifted from the background imagery, it may be the imagery that's incorrect, so don't move them all to match the background. Instead, you can adjust the background so that it matches the existing data by expanding the \"Adjust Imagery Offset\" section at the bottom of the Background Settings pane.", - offset_change: "Click on the small triangles to adjust the imagery offset in small steps, or hold the left mouse button and drag within the gray square to slide the imagery into alignment." - }, - streetlevel: { - title: "Street Level Photos", - intro: "Street level photos are useful for mapping traffic signs, businesses, and other details that you can't see from satellite and aerial images. The iD editor supports street level photos from [Mapillary](https://www.mapillary.com) and [OpenStreetCam](https://www.openstreetcam.org).", - using_h: "Using Street Level Photos", - using: "To use street level photos for mapping, click the {data} **Map data** panel on the side of the map to enable or disable the available photo layers.", - photos: "When enabled, the photo layer displays a line along the sequence of photos. At higher zoom levels, a circle marks at each photo location, and at even higher zoom levels, a cone indicates the direction the camera was facing when the photo was taken.", - viewer: "When you click on one of the photo locations, a photo viewer appears in the bottom corner of the map. The photo viewer contains controls to step forward and backward in the image sequence. It also shows the username of the person who captured the image, the date it was captured, and a link to view the image on the original site." - }, - gps: { - title: "GPS Traces", - intro: "Collected GPS traces are a valuable source of data for OpenStreetMap. This editor supports *.gpx*, *.geojson*, and *.kml* files on your local computer. You can collect GPS traces with a smartphone, sports watch, or other GPS device.", - survey: "For information on how to perform a GPS survey, read [Mapping with a smartphone, GPS, or paper](http://learnosm.org/en/mobile-mapping/).", - using_h: "Using GPS Traces", - using: "To use a GPS trace for mapping, drag and drop the data file onto the map editor. If it's recognized, it will be drawn on the map as a bright purple line. Click the {data} **Map data** panel on the side of the map to enable, disable, or zoom to your GPS data.", - tracing: "The GPS track isn't sent to OpenStreetMap - the best way to use it is to draw on the map, using it as a guide for the new features that you add.", - upload: "You can also [upload your GPS data to OpenStreetMap](https://www.openstreetmap.org/trace/create) for other users to use." - }, - field: { - restrictions: { - title: "Turn Restrictions Help", - about: { - title: "About", - about: "This field allows you to inspect and modify turn restrictions. It displays a model of the selected intersection including other nearby connected roads.", - from_via_to: "A turn restriction always contains: one **FROM way**, one **TO way**, and either one **VIA node** or one or more **VIA ways**.", - maxdist: "The \"{distField}\" slider controls how far to search for additional connected roads.", - maxvia: "The \"{viaField}\" slider adjusts how many via ways may be included in the search. (Tip: simple is better)" - }, - inspecting: { - title: "Inspecting", - about: "Hover over any **FROM** segment to see whether it has any turn restrictions. Each possible **TO** destination will be drawn with a colored shadow showing whether a restriction exists.", - from_shadow: "{fromShadow} **FROM segment**", - allow_shadow: "{allowShadow} **TO Allowed**", - restrict_shadow: "{restrictShadow} **TO Restricted**", - only_shadow: "{onlyShadow} **TO Only**", - restricted: "\"Restricted\" means that there is a turn restriction, for example \"No Left Turn\".", - only: "\"Only\" means that a vehicle taking that path may only make that choice, for example \"Only Straight On\"." - }, - modifying: { - title: "Modifying", - about: "To modify turn restrictions, first click on any starting **FROM** segment to select it. The selected segment will pulse, and all possible **TO** destinations will appear as turn symbols.", - indicators: "Then, click on a turn symbol to toggle it between \"Allowed\", \"Restricted\", and \"Only\".", - allow_turn: "{allowTurn} **TO Allowed**", - restrict_turn: "{restrictTurn} **TO Restricted**", - only_turn: "{onlyTurn} **TO Only**" - }, - tips: { - title: "Tips", - simple: "**Prefer simple restrictions over complex ones.**", - simple_example: "For example, avoid creating a via-way restriction if a simpler via-node turn restriction will do.", - indirect: "**Some restrictions display the text \"(indirect)\" and are drawn lighter.**", - indirect_example: "These restrictions exist because of another nearby restriction. For example, an \"Only Straight On\" restriction will indirectly create \"No Turn\" restrictions for all other paths through the intersection.", - indirect_noedit: "You may not edit indirect restrictions. Instead, edit the nearby direct restriction." - } - } - } - }, - intro: { - done: "done", - ok: "OK", - graph: { - block_number: "", - city: "Three Rivers", - county: "", - district: "", - hamlet: "", - neighbourhood: "", - postcode: "49093", - province: "", - quarter: "", - state: "MI", - subdistrict: "", - suburb: "", - countrycode: "us", - name: { - "1st-avenue": "1st Avenue", - "2nd-avenue": "2nd Avenue", - "4th-avenue": "4th Avenue", - "5th-avenue": "5th Avenue", - "6th-avenue": "6th Avenue", - "6th-street": "6th Street", - "7th-avenue": "7th Avenue", - "8th-avenue": "8th Avenue", - "9th-avenue": "9th Avenue", - "10th-avenue": "10th Avenue", - "11th-avenue": "11th Avenue", - "12th-avenue": "12th Avenue", - "access-point-employment": "Access Point Employment", - "adams-street": "Adams Street", - "andrews-elementary-school": "Andrews Elementary School", - "andrews-street": "Andrews Street", - "armitage-street": "Armitage Street", - "barrows-school": "Barrows School", - "battle-street": "Battle Street", - "bennett-street": "Bennett Street", - "bowman-park": "Bowman Park", - "collins-drive": "Collins Drive", - "conrail-railroad": "Conrail Railroad", - "conservation-park": "Conservation Park", - "constantine-street": "Constantine Street", - "cushman-street": "Cushman Street", - "dollar-tree": "Dollar Tree", - "douglas-avenue": "Douglas Avenue", - "east-street": "East Street", - "elm-street": "Elm Street", - "flower-street": "Flower Street", - "foster-street": "Foster Street", - "french-street": "French Street", - "garden-street": "Garden Street", - "gem-pawnbroker": "Gem Pawnbroker", - "golden-finch-framing": "Golden Finch Framing", - "grant-avenue": "Grant Avenue", - "hoffman-pond": "Hoffman Pond", - "hoffman-street": "Hoffman Street", - "hook-avenue": "Hook Avenue", - "jefferson-street": "Jefferson Street", - "kelsey-street": "Kelsey Street", - "lafayette-park": "LaFayette Park", - "las-coffee-cafe": "L.A.'s Coffee Cafe", - "lincoln-avenue": "Lincoln Avenue", - "lowrys-books": "Lowry's Books", - "lynns-garage": "Lynn's Garage", - "main-street-barbell": "Main Street Barbell", - "main-street-cafe": "Main Street Cafe", - "main-street-fitness": "Main Street Fitness", - "main-street": "Main Street", - "maple-street": "Maple Street", - "marina-park": "Marina Park", - "market-street": "Market Street", - "memory-isle-park": "Memory Isle Park", - "memory-isle": "Memory Isle", - "michigan-avenue": "Michigan Avenue", - "middle-street": "Middle Street", - "millard-street": "Millard Street", - "moore-street": "Moore Street", - "morris-avenue": "Morris Avenue", - "mural-mall": "Mural Mall", - "paisanos-bar-and-grill": "Paisano's Bar and Grill", - "paisley-emporium": "Paisley Emporium", - "paparazzi-tattoo": "Paparazzi Tattoo", - "pealer-street": "Pealer Street", - "pine-street": "Pine Street", - "pizza-hut": "Pizza Hut", - "portage-avenue": "Portage Avenue", - "portage-river": "Portage River", - "preferred-insurance-services": "Preferred Insurance Services", - "railroad-drive": "Railroad Drive", - "river-city-appliance": "River City Appliance", - "river-drive": "River Drive", - "river-road": "River Road", - "river-street": "River Street", - "riverside-cemetery": "Riverside Cemetery", - "riverwalk-trail": "Riverwalk Trail", - "riviera-theatre": "Riviera Theatre", - "rocky-river": "Rocky River", - "saint-joseph-river": "Saint Joseph River", - "scidmore-park-petting-zoo": "Scidmore Park Petting Zoo", - "scidmore-park": "Scidmore Park", - "scouter-park": "Scouter Park", - "sherwin-williams": "Sherwin-Williams", - "south-street": "South Street", - "southern-michigan-bank": "Southern Michigan Bank", - "spring-street": "Spring Street", - "sturgeon-river-road": "Sturgeon River Road", - "three-rivers-city-hall": "Three Rivers City Hall", - "three-rivers-elementary-school": "Three Rivers Elementary School", - "three-rivers-fire-department": "Three Rivers Fire Department", - "three-rivers-high-school": "Three Rivers High School", - "three-rivers-middle-school": "Three Rivers Middle School", - "three-rivers-municipal-airport": "Three Rivers Municipal Airport", - "three-rivers-post-office": "Three Rivers Post Office", - "three-rivers-public-library": "Three Rivers Public Library", - "three-rivers": "Three Rivers", - "unique-jewelry": "Unique Jewelry", - "walnut-street": "Walnut Street", - "washington-street": "Washington Street", - "water-street": "Water Street", - "west-street": "West Street", - "wheeler-street": "Wheeler Street", - "william-towing": "William Towing", - "willow-drive": "Willow Drive", - "wood-street": "Wood Street", - "world-fare": "World Fare" - } - }, - welcome: { - title: "Welcome", - welcome: "Welcome! This walkthrough will teach you the basics of editing on OpenStreetMap.", - practice: "All of the data in this walkthrough is just for practicing, and any edits that you make in the walkthrough will not be saved.", - words: "This walkthrough will introduce some new words and concepts. When we introduce a new word, we'll use *italics*.", - mouse: "You can use any input device to edit the map, but this walkthrough assumes you have a mouse with left and right buttons. **If you want to attach a mouse, do so now, then click OK.**", - leftclick: "When this tutorial asks you to click or double-click, we mean with the left button. On a trackpad it might be a single-click or single-finger tap. **Left-click {num} times.**", - rightclick: "Sometimes we'll also ask you to right-click. This might be the same as control-click, or two-finger tap on a trackpad. Your keyboard might even have a 'menu' key that works like right-click. **Right-click {num} times.**", - chapters: "So far, so good! You can use the buttons below to skip chapters at any time or to restart a chapter if you get stuck. Let's begin! **Click '{next}' to continue.**" - }, - navigation: { - title: "Navigation", - drag: "The main map area shows OpenStreetMap data on top of a background.{br}You can drag the map by pressing and holding the left mouse button while moving the mouse around. You can also use the arrow keys on your keyboard. **Drag the map!**", - zoom: "You can zoom in or out by scrolling with the mouse wheel or trackpad, or by clicking the {plus} / {minus} buttons. **Zoom the map!**", - features: "We use the word *features* to describe the things that appear on the map. Anything in the real world can be mapped as a feature on OpenStreetMap.", - points_lines_areas: "Map features are represented using *points, lines, or areas.*", - nodes_ways: "In OpenStreetMap, points are sometimes called *nodes*, and lines and areas are sometimes called *ways*.", - click_townhall: "All features on the map can be selected by clicking on them. **Click on the point to select it.**", - selected_townhall: "Great! The point is now selected. Selected features are drawn with a pulsing glow.", - editor_townhall: "When a feature is selected, the *feature editor* is displayed alongside the map.", - preset_townhall: "The top part of the feature editor shows the feature's type. This point is a {preset}.", - fields_townhall: "The middle part of the feature editor contains *fields* showing the feature's attributes, such as its name and address.", - close_townhall: "**Close the feature editor by hitting escape or pressing the {button} button in the upper corner.**", - search_street: "You can also search for features in the current view, or worldwide. **Search for '{name}'.**", - choose_street: "**Choose {name} from the list to select it.**", - selected_street: "Great! {name} is now selected.", - editor_street: "The fields shown for a street are different than the fields that were shown for the town hall.{br}For this selected street, the feature editor shows fields like '{field1}' and '{field2}'. **Close the feature editor by hitting escape or pressing the {button} button.**", - play: "Try moving the map and clicking on some other features to see what kinds of things can be added to OpenStreetMap. **When you are ready to continue to the next chapter, click '{next}'.**" - }, - points: { - title: "Points", - add_point: "*Points* can be used to represent features such as shops, restaurants, and monuments.{br}They mark a specific location, and describe what's there. **Click the {button} Point button to add a new point.**", - place_point: "To place the new point on the map, position your mouse cursor where the point should go, then left-click or press the spacebar. **Move the mouse pointer over this building, then left-click or press the spacebar.**", - search_cafe: "There are many different features that can be represented by points. The point you just added is a cafe. **Search for '{preset}'.**", - choose_cafe: "**Choose {preset} from the list.**", - feature_editor: "The point is now marked as a cafe. Using the feature editor, we can add more information about the cafe.", - add_name: "In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.{br}Let's pretend that you have local knowledge of this cafe, and you know its name. **Add a name for the cafe.**", - add_close: "The feature editor will remember all of your changes automatically. **When you are finished adding the name, hit escape, enter, or 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 cafe you just created.**", - update: "Let's fill in some more details for this cafe. You can change its name, add a cuisine, or add an address. **Change the cafe details.**", - update_close: "**When you are finished updating the cafe, hit escape, enter, or click the {button} button to close the feature editor.**", - rightclick: "You can right-click on any feature to see the *edit menu*, which shows a list of editing operations that can be performed. **Right-click to select the point you created and show the edit menu.**", - "delete": "It's OK to delete features that don't exist in the real world.{br}Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it. **Click on the {button} button to delete the point.**", - undo: "You can always undo any changes up until you save your edits to OpenStreetMap. **Click on the {button} button to undo the delete and get the point back.**", - play: "Now that you know how to create and edit points, try creating a few more points for practice! **When you are ready to continue to the next chapter, click '{next}'.**" - }, - areas: { - title: "Areas", - add_playground: "*Areas* are used to show the boundaries of features like lakes, buildings, and residential areas.{br}They can 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.**", - start_playground: "Let's add this playground to the map by drawing an area. Areas are drawn by placing *nodes* along the outer edge of the feature. **Click or press spacebar to place a starting node on one of the corners of the playground.**", - continue_playground: "Continue drawing the area by placing more nodes along the playground's edge. It is OK to connect the area to the existing walking paths.{br}Tip: You can hold down the '{alt}' key to prevent nodes from connecting to other features. **Continue drawing an area for the playground.**", - finish_playground: "Finish the area by pressing enter, or clicking again on either the first or last node. **Finish drawing an area for the playground.**", - search_playground: "**Search for '{preset}'.**", - choose_playground: "**Choose {preset} from the list.**", - add_field: "This playground doesn't have an official name, so we won't add anything in the Name field.{br}Instead let's add some additional details about the playground to the Description field. **Open the Add Field list.**", - choose_field: "**Choose {field} from the list.**", - retry_add_field: "You didn't select the {field} field. Let's try again.", - describe_playground: "**Add a description, then click the {button} button to close the feature editor.**", - play: "Good job! Try drawing a few more areas, and see what other kinds of area features you can add to OpenStreetMap. **When you are ready to continue to the next chapter, click '{next}'.**" - }, - lines: { - title: "Lines", - add_line: "*Lines* are used to represent features such as roads, railroads, and rivers. **Click the {button} Line button to add a new line.**", - start_line: "Here is a road that is missing. Let's add it!{br}In OpenStreetMap, lines should be drawn down the center of the road. You can drag and zoom the map while drawing if necessary. **Start a new line by clicking at the top end of this missing road.**", - intersect: "Click or press spacebar to add more nodes to the line.{br}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.**", - retry_intersect: "The road needs to intersect {name}. Let's try again!", - continue_line: "Continue drawing the line for the new road. Remember that you can drag and zoom the map if needed.{br}When you are finished drawing, click on the last node again. **Finish drawing the road.**", - choose_category_road: "**Select {category} from the list.**", - choose_preset_residential: "There are many different types of roads, but this one is a residential road. **Choose the {preset} type.**", - retry_preset_residential: "You didn't select the {preset} type. **Click here to choose again.**", - name_road: "**Give this road a name, then hit escape, enter, or click the {button} button to close the feature editor.**", - did_name_road: "Looks good! Next we will learn how to update the shape of a line.", - update_line: "Sometimes you will need to change the shape of an existing line. Here is a road that doesn't look quite right.", - add_node: "We can add some nodes to this line to improve its shape. One way to add a node is to double-click the line where you want to add a node. **Double-click on the line to create a new node.**", - start_drag_endpoint: "When a line is selected, you can drag any of its nodes by clicking and holding down the left mouse button while you drag. **Drag the endpoint to the place where these roads should intersect.**", - finish_drag_endpoint: "This spot looks good. **Release the left mouse button to finish dragging.**", - start_drag_midpoint: "Small triangles are drawn at the *midpoints* between nodes. Another way to create a new node is to drag a midpoint to a new location. **Drag the midpoint triangle to create a new node along the curve of the road.**", - continue_drag_midpoint: "This line is looking much better! Continue to adjust this line by double-clicking or dragging midpoints until the curve matches the road shape. **When you're happy with how the line looks, click OK.**", - delete_lines: "It's OK to delete lines for roads that don't exist in the real world.{br}Here's an example where the city planned a {street} but never built it. We can improve this part of the map by deleting the extra lines.", - rightclick_intersection: "The last real street is {street1}, so we will *split* {street2} at this intersection and remove everything above it. **Right click on the intersection node.**", - split_intersection: "**Click on the {button} button to split {street}.**", - retry_split: "You didn't click the Split button. Try again.", - did_split_multi: "Good job! {street1} is now split into two pieces. The top part can be removed. **Click the top part of {street2} to select it.**", - did_split_single: "**Click the top part of {street2} to select it.**", - multi_select: "{selected} is now selected. Let's also select {other1}. You can shift-click to select multiple things. **Shift-click on {other2}.**", - multi_rightclick: "Good! Both lines to delete are now selected. **Right-click on one of the lines to show the edit menu.**", - multi_delete: "**Click on the {button} button to delete the extra lines.**", - retry_delete: "You didn't click the Delete button. Try again.", - play: "Great! Use the skills that you've learned in this chapter to practice editing some more lines. **When you are ready to continue to the next chapter, click '{next}'.**" - }, - buildings: { - title: "Buildings", - add_building: "OpenStreetMap is the world's largest database of buildings.{br}You can help improve this database by tracing buildings that aren't already mapped. **Click the {button} Area button to add a new area.**", - start_building: "Let's add this house to the map by tracing its outline.{br}Buildings should be traced around their footprint as accurately as possible. **Click or press spacebar to place a starting node on one of the corners of the building.**", - continue_building: "Continue adding more nodes to trace the outline of the building. Remember that you can zoom in if you want to add more details.{br}Finish the building by pressing enter, or clicking again on either the first or last node. **Finish tracing the building.**", - retry_building: "It looks like you had some trouble placing the nodes at the building corners. Try again!", - choose_category_building: "**Choose {category} from the list.**", - choose_preset_house: "There are many different types of buildings, but this one is clearly a house.{br}If you're not sure of the type, it's OK to just choose the generic Building type. **Choose the {preset} type.**", - close: "**Hit escape or click the {button} button to close the feature editor.**", - rightclick_building: "**Right-click to select the building you created and show the edit menu.**", - square_building: "The house that you just added will look even better with perfectly square corners. **Click on the {button} button to square the building shape.**", - retry_square: "You didn't click the Square button. Try again.", - done_square: "See how the corners of the building moved into place? Let's learn another useful trick.", - add_tank: "Next we'll trace this circular storage tank. **Click the {button} Area button to add a new area.**", - start_tank: "Don't worry, you won't need to draw a perfect circle. Just draw an area inside the tank that touches its edge. **Click or press spacebar to place a starting node on the edge of the tank.**", - continue_tank: "Add a few more nodes around the edge. The circle will be created outside the nodes that you draw.{br}Finish the area by pressing enter, or clicking again on either the first or last node. **Finish tracing the tank.**", - search_tank: "**Search for '{preset}'.**", - choose_tank: "**Choose {preset} from the list.**", - rightclick_tank: "**Right-click to select the storage tank you created and show the edit menu.**", - circle_tank: "**Click on the {button} button to make the tank a circle.**", - retry_circle: "You didn't click the Circularize button. Try again.", - play: "Great Job! Practice tracing a few more buildings, and try some of the other commands on the edit menu. **When you are ready to continue to the next chapter, click '{next}'.**" - }, - startediting: { - title: "Start Editing", - help: "You're now ready to edit OpenStreetMap!{br}You can replay this walkthrough anytime or view more documentation by clicking the {button} Help button or pressing the '{key}' key.", - shortcuts: "You can view a list of commands along with their keyboard shortcuts by pressing the '{key}' key.", - save: "Don't forget to regularly save your changes!", - start: "Start mapping!" - } - }, - shortcuts: { - title: "Keyboard shortcuts", - tooltip: "Show the keyboard shortcuts screen.", - toggle: { - key: "?" - }, - key: { - alt: "Alt", - backspace: "Backspace", - cmd: "Cmd", - ctrl: "Ctrl", - "delete": "Delete", - del: "Del", - end: "End", - enter: "Enter", - esc: "Esc", - home: "Home", - option: "Option", - pause: "Pause", - pgdn: "PgDn", - pgup: "PgUp", - "return": "Return", - shift: "Shift", - space: "Space" - }, - gesture: { - drag: "drag" - }, - or: "-or-", - browsing: { - title: "Browsing", - navigation: { - title: "Navigation", - pan: "Pan map", - pan_more: "Pan map by one screenful", - zoom: "Zoom in / Zoom out", - zoom_more: "Zoom in / Zoom out by a lot" - }, - help: { - title: "Help", - help: "Show help/documentation", - keyboard: "Show keyboard shortcuts" - }, - display_options: { - title: "Display options", - background: "Show background options", - background_switch: "Switch back to last background", - map_data: "Show map data options", - fullscreen: "Enter full screen mode", - wireframe: "Toggle wireframe mode", - minimap: "Toggle minimap" - }, - selecting: { - title: "Selecting features", - select_one: "Select a single feature", - select_multi: "Select multiple features", - lasso: "Draw a selection lasso around features", - search: "Find features matching search text" - }, - with_selected: { - title: "With feature selected", - edit_menu: "Toggle edit menu" - }, - vertex_selected: { - title: "With node selected", - previous: "Jump to previous node", - next: "Jump to next node", - first: "Jump to first node", - last: "Jump to last node", - change_parent: "Switch parent way" - } - }, - editing: { - title: "Editing", - drawing: { - title: "Drawing", - add_point: "'Add point' mode", - add_line: "'Add line' mode", - add_area: "'Add area' mode", - place_point: "Place a point", - disable_snap: "Hold to disable point snapping", - stop_line: "Finish drawing a line or area" - }, - operations: { - title: "Operations", - continue_line: "Continue a line at the selected node", - merge: "Combine (merge) selected features", - disconnect: "Disconnect features at the selected node", - split: "Split a line into two at the selected node", - reverse: "Reverse a line", - move: "Move selected features", - rotate: "Rotate selected features", - orthogonalize: "Straighten line / Square area corners", - circularize: "Circularize a closed line or area", - reflect_long: "Reflect features across the longer axis", - reflect_short: "Reflect features across the shorter axis", - "delete": "Delete selected features" - }, - commands: { - title: "Commands", - copy: "Copy selected features", - paste: "Paste copied features", - undo: "Undo last action", - redo: "Redo last action", - save: "Save changes" - } - }, - tools: { - title: "Tools", - info: { - title: "Information", - all: "Toggle all information panels", - background: "Toggle background panel", - history: "Toggle history panel", - location: "Toggle location panel", - measurement: "Toggle measurement panel" - } - } - }, - units: { - feet: "{quantity} ft", - miles: "{quantity} mi", - square_feet: "{quantity} sq ft", - square_miles: "{quantity} sq mi", - acres: "{quantity} ac", - meters: "{quantity} m", - kilometers: "{quantity} km", - square_meters: "{quantity} m²", - square_kilometers: "{quantity} km²", - hectares: "{quantity} ha", - area_pair: "{area1} ({area2})", - arcdegrees: "{quantity}°", - arcminutes: "{quantity}′", - arcseconds: "{quantity}″", - north: "N", - south: "S", - east: "E", - west: "W", - coordinate: "{coordinate}{direction}", - coordinate_pair: "{latitude}, {longitude}" - }, - presets: { - categories: { - "category-barrier": { - name: "Barrier Features" - }, - "category-building": { - name: "Building Features" - }, - "category-golf": { - name: "Golf Features" - }, - "category-landuse": { - name: "Land Use Features" - }, - "category-natural-area": { - name: "Natural Features" - }, - "category-natural-line": { - name: "Natural Features" - }, - "category-natural-point": { - name: "Natural 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_simple: { - label: "Allowed Access" - }, - 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" - } - } - }, - address: { - label: "Address", - placeholders: { - block_number: "Block Number", - "block_number!jp": "Block No.", - city: "City", - "city!jp": "City/Town/Village/Tokyo Special Ward", - "city!vn": "City/Town", - conscriptionnumber: "123", - country: "Country", - county: "County", - "county!jp": "District", - district: "District", - "district!vn": "Arrondissement/Town/District", - floor: "Floor", - hamlet: "Hamlet", - housename: "Housename", - housenumber: "123", - "housenumber!jp": "Building No./Lot No.", - neighbourhood: "Neighbourhood", - "neighbourhood!jp": "Chōme/Aza/Koaza", - place: "Place", - postcode: "Postcode", - province: "Province", - "province!jp": "Prefecture", - quarter: "Quarter", - "quarter!jp": "Ōaza/Machi", - state: "State", - street: "Street", - subdistrict: "Subdistrict", - "subdistrict!vn": "Ward/Commune/Townlet", - suburb: "Suburb", - "suburb!jp": "Ward", - unit: "Unit" - } - }, - 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" - }, - agrarian: { - label: "Products" - }, - amenity: { - label: "Type" - }, - animal_boarding: { - label: "For Animals" - }, - animal_breeding: { - label: "For Animals" - }, - animal_shelter: { - label: "For Animals" - }, - "area/highway": { - label: "Type" - }, - artist: { - label: "Artist" - }, - artwork_type: { - label: "Type" - }, - atm: { - label: "ATM" - }, - backrest: { - label: "Backrest" - }, - barrier: { - label: "Type" - }, - "bath/open_air": { - label: "Open Air" - }, - "bath/sand_bath": { - label: "Sand Bath" - }, - "bath/type": { - label: "Specialty", - options: { - onsen: "Japanese Onsen", - foot_bath: "Foot Bath", - hot_spring: "Hot Spring" - } - }, - beauty: { - label: "Shop Type" - }, - bench: { - label: "Bench" - }, - bicycle_parking: { - label: "Type" - }, - bin: { - label: "Waste Bin" - }, - blood_components: { - label: "Blood Components", - options: { - whole: "whole blood", - plasma: "plasma", - platelets: "platelets", - stemcells: "stem cell samples" - } - }, - board_type: { - label: "Type" - }, - boules: { - label: "Type" - }, - boundary: { - label: "Type" - }, - brand: { - label: "Brand" - }, - brewery: { - label: "Draft Beers" - }, - bridge: { - label: "Type", - placeholder: "Default" - }, - building_area: { - label: "Building" - }, - building: { - label: "Building" - }, - bunker_type: { - label: "Type" - }, - cables: { - label: "Cables", - placeholder: "1, 2, 3..." - }, - "camera/direction": { - label: "Direction (Degrees Clockwise)", - placeholder: "45, 90, 180, 270" - }, - "camera/mount": { - label: "Camera Mount" - }, - "camera/type": { - label: "Camera Type", - options: { - fixed: "Fixed", - panning: "Panning", - dome: "Dome" - } - }, - capacity: { - label: "Capacity", - placeholder: "50, 100, 200..." - }, - castle_type: { - label: "Type" - }, - clothes: { - label: "Clothes" - }, - club: { - label: "Type" - }, - collection_times: { - label: "Collection Times" - }, - comment: { - label: "Changeset Comment", - placeholder: "Brief description of your contributions (required)" - }, - communication_multi: { - label: "Communication Types" - }, - construction: { - label: "Type" - }, - "contact/webcam": { - label: "Webcam URL", - placeholder: "http://example.com/" - }, - content: { - label: "Content" - }, - country: { - label: "Country" - }, - covered: { - label: "Covered" - }, - craft: { - label: "Type" - }, - "crane/type": { - label: "Crane Type", - options: { - portal_crane: "Portal Crane", - "floor-mounted_crane": "Floor-mounted Crane", - travel_lift: "Travel Lift" - } - }, - crop: { - label: "Crops" - }, - crossing: { - label: "Type" - }, - cuisine: { - label: "Cuisines" - }, - currency_multi: { - label: "Currency Types" - }, - cutting: { - label: "Type", - placeholder: "Default" - }, - cycle_network: { - label: "Network" - }, - 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" - } - } - }, - "dance/style": { - label: "Dance Styles" - }, - date: { - label: "Date" - }, - delivery: { - label: "Delivery" - }, - denomination: { - label: "Denomination" - }, - denotation: { - label: "Denotation" - }, - description: { - label: "Description" - }, - devices: { - label: "Devices", - placeholder: "1, 2, 3..." - }, - diaper: { - label: "Diaper Changing Available" - }, - direction_cardinal: { - 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" - } - }, - direction_clock: { - label: "Direction", - options: { - clockwise: "Clockwise", - anticlockwise: "Counterclockwise" - } - }, - direction_vertex: { - label: "Direction", - options: { - forward: "Forward", - backward: "Backward", - both: "Both / All" - } - }, - direction: { - label: "Direction (Degrees Clockwise)", - placeholder: "45, 90, 180, 270" - }, - dispensing: { - label: "Dispenses Prescriptions" - }, - display: { - label: "Display" - }, - distance: { - label: "Total Distance" - }, - dock: { - label: "Type" - }, - drive_through: { - label: "Drive-Through" - }, - duration: { - label: "Duration", - placeholder: "00:00" - }, - electrified: { - label: "Electrification", - placeholder: "Contact Line, Electrified Rail...", - options: { - contact_line: "Contact Line", - rail: "Electrified Rail", - yes: "Yes (unspecified)", - no: "No" - } - }, - elevation: { - label: "Elevation" - }, - email: { - label: "Email", - placeholder: "example@example.com" - }, - embankment: { - label: "Type", - placeholder: "Default" - }, - emergency: { - label: "Emergency" - }, - entrance: { - label: "Type" - }, - except: { - label: "Exceptions" - }, - faces: { - label: "Faces" - }, - fax: { - label: "Fax", - placeholder: "+31 42 123 4567" - }, - fee: { - label: "Fee" - }, - fence_type: { - label: "Type" - }, - "fire_hydrant/position": { - label: "Position", - options: { - lane: "Lane", - parking_lot: "Parking Lot", - sidewalk: "Sidewalk", - green: "Green" - } - }, - "fire_hydrant/type": { - label: "Type", - options: { - pillar: "Pillar/Aboveground", - underground: "Underground", - wall: "Wall", - pond: "Pond" - } - }, - fitness_station: { - label: "Equipment Type" - }, - fixme: { - label: "Fix Me" - }, - ford: { - label: "Type", - placeholder: "Default" - }, - frequency: { - label: "Operating Frequency" - }, - fuel_multi: { - label: "Fuel Types" - }, - fuel: { - label: "Fuel" - }, - gauge: { - label: "Gauge" - }, - gender: { - label: "Gender", - placeholder: "Unknown", - options: { - male: "Male", - female: "Female", - unisex: "Unisex" - } - }, - "generator/method": { - label: "Method" - }, - "generator/output/electricity": { - label: "Power Output", - placeholder: "50 MW, 100 MW, 200 MW..." - }, - "generator/source": { - label: "Source" - }, - "generator/type": { - label: "Type" - }, - government: { - label: "Type" - }, - grape_variety: { - label: "Grape Varieties" - }, - handicap: { - label: "Handicap", - placeholder: "1-18" - }, - handrail: { - label: "Handrail" - }, - hashtags: { - label: "Suggested Hashtags", - placeholder: "#example" - }, - healthcare: { - label: "Type" - }, - "healthcare/speciality": { - label: "Specialties" - }, - height: { - label: "Height (Meters)" - }, - highway: { - label: "Type" - }, - historic: { - label: "Type" - }, - "historic/civilization": { - label: "Historic Civilization" - }, - hoops: { - label: "Hoops", - placeholder: "1, 2, 4..." - }, - horse_dressage: { - label: "Dressage Riding", - options: { - "undefined": "No", - equestrian: "Yes" - } - }, - horse_riding: { - label: "Horseback Riding", - options: { - "undefined": "No", - horse_riding: "Yes" - } - }, - horse_scale: { - label: "Horseback Riding Difficulty", - placeholder: "Difficult, Dangerous...", - options: { - common: "Easy: No problems or difficulties. (default)", - demanding: "Use with caution: Uneven way, occasional difficult passages.", - difficult: "Difficult: Way narrow and exposed. May contain obstacles to step over and narrow passages.", - critical: "Borderline: Passable only for experienced riders and horses. Major obstacles. Bridges should be examined carefully.", - dangerous: "Dangerous: Passable only for very experienced riders and horses and only in good weather. Dismount.", - impossible: "Impassable: Way or bridge not passable for horses. Too narrow, insuffient support, obstacles like ladders. Danger of life." - } - }, - horse_stables: { - label: "Riding Stable", - options: { - "undefined": "No", - stables: "Yes" - } - }, - iata: { - label: "IATA" - }, - icao: { - label: "ICAO" - }, - incline_steps: { - label: "Incline", - options: { - up: "Up", - down: "Down" - } - }, - incline: { - label: "Incline" - }, - indoor: { - label: "Indoor" - }, - industrial: { - label: "Type" - }, - information: { - label: "Type" - }, - inscription: { - label: "Inscription" - }, - intermittent: { - label: "Intermittent" - }, - internet_access: { - label: "Internet Access", - options: { - yes: "Yes", - no: "No", - wlan: "Wifi", - wired: "Wired", - terminal: "Terminal" - } - }, - "internet_access/fee": { - label: "Internet Access Fee" - }, - "internet_access/ssid": { - label: "SSID (Network Name)" - }, - kerb: { - label: "Curb" - }, - label: { - label: "Label" - }, - lamp_type: { - label: "Type" - }, - landuse: { - label: "Type" - }, - lanes: { - label: "Lanes", - placeholder: "1, 2, 3..." - }, - layer: { - label: "Layer", - placeholder: "0" - }, - leaf_cycle_singular: { - label: "Leaf Cycle", - options: { - evergreen: "Evergreen", - deciduous: "Deciduous", - semi_evergreen: "Semi-Evergreen", - semi_deciduous: "Semi-Deciduous" - } - }, - leaf_cycle: { - label: "Leaf Cycle", - options: { - evergreen: "Evergreen", - deciduous: "Deciduous", - semi_evergreen: "Semi-Evergreen", - semi_deciduous: "Semi-Deciduous", - mixed: "Mixed" - } - }, - leaf_type_singular: { - label: "Leaf Type", - options: { - broadleaved: "Broadleaved", - needleleaved: "Needleleaved", - leafless: "Leafless" - } - }, - leaf_type: { - label: "Leaf Type", - options: { - broadleaved: "Broadleaved", - needleleaved: "Needleleaved", - mixed: "Mixed", - 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" - }, - manhole: { - label: "Type" - }, - map_size: { - label: "Coverage" - }, - map_type: { - label: "Type" - }, - maxheight: { - label: "Max Height", - placeholder: "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" - }, - maxspeed: { - label: "Speed Limit", - placeholder: "40, 50, 60..." - }, - "maxspeed/advisory": { - label: "Advisory Speed Limit", - placeholder: "40, 50, 60..." - }, - maxstay: { - label: "Max Stay" - }, - maxweight: { - label: "Max Weight" - }, - memorial: { - label: "Type" - }, - monitoring_multi: { - label: "Monitoring" - }, - "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_bicycle: { - label: "Network Type", - placeholder: "Local, Regional, National, International", - options: { - lcn: "Local", - rcn: "Regional", - ncn: "National", - icn: "International" - } - }, - network_foot: { - label: "Network Type", - placeholder: "Local, Regional, National, International", - options: { - lwn: "Local", - rwn: "Regional", - nwn: "National", - iwn: "International" - } - }, - network_horse: { - label: "Network Type", - placeholder: "Local, Regional, National, International", - options: { - lhn: "Local", - rhn: "Regional", - nhn: "National", - ihn: "International" - } - }, - network_road: { - label: "Network" - }, - network: { - label: "Network" - }, - note: { - label: "Note" - }, - office: { - label: "Type" - }, - oneway_yes: { - label: "One Way", - options: { - "undefined": "Assumed to be Yes", - yes: "Yes", - no: "No", - reversible: "Reversible", - alternating: "Alternating" - } - }, - oneway: { - label: "One Way", - options: { - "undefined": "Assumed to be No", - yes: "Yes", - no: "No", - reversible: "Reversible", - alternating: "Alternating" - } - }, - opening_hours: { - label: "Hours" - }, - operator: { - label: "Operator" - }, - outdoor_seating: { - label: "Outdoor Seating" - }, - 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" - }, - phases: { - label: "Phases", - placeholder: "1, 2, 3..." - }, - phone: { - label: "Telephone", - 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" - }, - plant: { - label: "Plant" - }, - "plant/output/electricity": { - label: "Power Output", - placeholder: "500 MW, 1000 MW, 2000 MW..." - }, - "playground/baby": { - label: "Baby Seat" - }, - "playground/max_age": { - label: "Maximum Age" - }, - "playground/min_age": { - label: "Minimum Age" - }, - population: { - label: "Population" - }, - power_supply: { - label: "Power Supply" - }, - power: { - label: "Type" - }, - produce: { - label: "Produce" - }, - product: { - label: "Products" - }, - railway: { - label: "Type" - }, - "railway/position": { - label: "Milestone Position", - placeholder: "Distance to one decimal (123.4)" - }, - "railway/signal/direction": { - label: "Direction", - options: { - forward: "Forward", - backward: "Backward", - both: "Both / All" - } - }, - rating: { - label: "Power Rating" - }, - recycling_accepts: { - label: "Accepts" - }, - ref_aeroway_gate: { - label: "Gate Number" - }, - ref_golf_hole: { - label: "Hole Number", - placeholder: "1-18" - }, - ref_highway_junction: { - label: "Junction Number" - }, - ref_platform: { - label: "Platform Number" - }, - ref_road_number: { - label: "Road Number" - }, - ref_route: { - label: "Route Number" - }, - ref_runway: { - label: "Runway Number", - placeholder: "e.g. 01L/19R" - }, - ref_stop_position: { - label: "Stop Number" - }, - ref_taxiway: { - label: "Taxiway Name", - placeholder: "e.g. A5" - }, - ref: { - label: "Reference Code" - }, - "ref/isil": { - label: "ISIL Code" - }, - relation: { - label: "Type" - }, - religion: { - label: "Religion" - }, - restriction: { - label: "Type" - }, - restrictions: { - label: "Turn Restrictions" - }, - rooms: { - label: "Rooms" - }, - route_master: { - label: "Type" - }, - route: { - 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" - }, - second_hand: { - label: "Sells Used", - placeholder: "Yes, No, Only", - options: { - yes: "Yes", - no: "No", - only: "Only" - } - }, - service_rail: { - label: "Service Type", - options: { - spur: "Spur", - yard: "Yard", - siding: "Siding", - crossover: "Crossover" - } - }, - service_times: { - label: "Service Times" - }, - service: { - label: "Type" - }, - "service/bicycle": { - label: "Services" - }, - "service/vehicle": { - label: "Services" - }, - shelter_type: { - label: "Type" - }, - shelter: { - label: "Shelter" - }, - 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" - }, - social_facility: { - label: "Type" - }, - source: { - label: "Sources" - }, - sport_ice: { - label: "Sports" - }, - sport_racing_motor: { - label: "Sports" - }, - sport_racing_nonmotor: { - label: "Sports" - }, - sport: { - label: "Sports" - }, - stars: { - label: "Stars" - }, - start_date: { - label: "Start Date" - }, - step_count: { - label: "Number of Steps" - }, - stop: { - label: "Stop Type", - options: { - all: "All Ways", - minor: "Minor Road" - } - }, - structure_waterway: { - label: "Structure", - placeholder: "Unknown", - options: { - tunnel: "Tunnel" - } - }, - structure: { - label: "Structure", - placeholder: "Unknown", - options: { - bridge: "Bridge", - tunnel: "Tunnel", - embankment: "Embankment", - cutting: "Cutting", - ford: "Ford" - } - }, - studio: { - label: "Type" - }, - substance: { - label: "Substance" - }, - substation: { - label: "Type" - }, - supervised: { - label: "Supervised" - }, - support: { - label: "Support" - }, - surface: { - label: "Surface" - }, - surveillance: { - label: "Surveillance Kind" - }, - "surveillance/type": { - label: "Surveillance Type", - options: { - camera: "Camera", - guard: "Guard", - ALPR: "Automatic License Plate Reader" - } - }, - "surveillance/zone": { - label: "Surveillance Zone" - }, - "switch": { - label: "Type", - options: { - mechanical: "Mechanical", - circuit_breaker: "Circuit Breaker", - disconnector: "Disconnector", - earthing: "Earthing" - } - }, - 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" - } - }, - toll: { - label: "Toll" - }, - tomb: { - label: "Type" - }, - tourism_attraction: { - label: "Tourism" - }, - tourism: { - label: "Type" - }, - "tower/construction": { - label: "Construction", - placeholder: "Guyed, Lattice, Concealed, ..." - }, - "tower/type": { - label: "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" - } - }, - trade: { - label: "Type" - }, - traffic_calming: { - label: "Type" - }, - traffic_signals: { - label: "Type" - }, - "traffic_signals/direction": { - label: "Direction", - options: { - forward: "Forward", - backward: "Backward", - both: "Both / All" - } - }, - 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" - } - }, - transformer: { - label: "Type", - options: { - distribution: "Distribution", - generator: "Generator", - converter: "Converter", - traction: "Traction", - auto: "Autotransformer", - phase_angle_regulator: "Phase Angle Regulator", - auxiliary: "Auxiliary", - yes: "Unknown" - } - }, - trees: { - label: "Trees" - }, - tunnel: { - label: "Type", - placeholder: "Default" - }, - usage_rail: { - label: "Usage Type", - options: { - main: "Main", - branch: "Branch", - industrial: "Industrial", - military: "Military", - test: "Test", - tourism: "Tourism" - } - }, - vending: { - label: "Types of Goods" - }, - visibility: { - label: "Visibility", - options: { - house: "Up to 5m (16ft)", - street: "5 to 20m (16 to 65ft)", - area: "Over 20m (65ft)" - } - }, - "volcano/status": { - label: "Volcano Status", - options: { - active: "Active", - dormant: "Dormant", - extinct: "Extinct" - } - }, - "volcano/type": { - label: "Volcano Type", - options: { - stratovolcano: "Stratovolcano", - shield: "Shield", - scoria: "Scoria" - } - }, - voltage: { - label: "Voltage" - }, - "voltage/primary": { - label: "Primary Voltage" - }, - "voltage/secondary": { - label: "Secondary Voltage" - }, - "voltage/tertiary": { - label: "Tertiary Voltage" - }, - wall: { - label: "Type" - }, - water_point: { - label: "Water Point" - }, - water: { - label: "Type" - }, - waterway: { - label: "Type" - }, - website: { - label: "Website", - placeholder: "http://example.com/" - }, - wetland: { - label: "Type" - }, - wheelchair: { - label: "Wheelchair Access" - }, - wholesale: { - label: "Wholesale" - }, - width: { - label: "Width (Meters)" - }, - wikipedia: { - label: "Wikipedia" - }, - windings: { - label: "Windings", - placeholder: "1, 2, 3..." - }, - "windings/configuration": { - label: "Windings Configuration", - options: { - star: "Star / Wye", - delta: "Delta", - "open-delta": "Open Delta", - zigzag: "Zig Zag", - open: "Open", - scott: "Scott", - leblanc: "Leblanc" - } - } - }, - presets: { - aerialway: { - name: "Aerialway", - terms: "ski lift,funifor,funitel" - }, - aeroway: { - name: "Aeroway", - terms: "" - }, - amenity: { - name: "Amenity", - terms: "" - }, - circular: { - name: "Traffic Circle", - terms: "" - }, - highway: { - name: "Highway", - terms: "" - }, - place: { - name: "Place", - terms: "" - }, - power: { - name: "Power", - terms: "" - }, - railway: { - name: "Railway", - terms: "" - }, - roundabout: { - name: "Roundabout", - terms: "" - }, - waterway: { - name: "Waterway", - terms: "" - }, - address: { - name: "Address", - terms: "" - }, - "advertising/billboard": { - name: "Billboard", - terms: "" - }, - "advertising/column": { - name: "Advertising Column", - terms: "" - }, - "aerialway/station": { - name: "Aerialway Station", - terms: "" - }, - "aerialway/cable_car": { - name: "Cable Car", - terms: "tramway,ropeway" - }, - "aerialway/chair_lift": { - name: "Chair Lift", - terms: "" - }, - "aerialway/drag_lift": { - name: "Drag Lift", - terms: "" - }, - "aerialway/gondola": { - name: "Gondola", - terms: "" - }, - "aerialway/goods": { - name: "Goods Aerialway", - terms: "" - }, - "aerialway/magic_carpet": { - name: "Magic Carpet Lift", - terms: "" - }, - "aerialway/mixed_lift": { - name: "Mixed 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/t-bar": { - name: "T-bar Lift", - terms: "tbar" - }, - "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" - }, - "allotments/plot": { - name: "Community Garden Plot", - terms: "" - }, - "amenity/bus_station": { - name: "Bus Station / Terminal", - terms: "" - }, - "amenity/coworking_space": { - name: "Coworking Space", - terms: "" - }, - "amenity/ferry_terminal": { - name: "Ferry Station / Terminal", - terms: "" - }, - "amenity/nursing_home": { - name: "Nursing Home", - terms: "" - }, - "amenity/register_office": { - name: "Register Office", - terms: "" - }, - "amenity/scrapyard": { - name: "Scrap Yard", - terms: "" - }, - "amenity/swimming_pool": { - name: "Swimming Pool", - terms: "" - }, - "amenity/animal_boarding": { - name: "Animal Boarding Facility", - terms: "boarding,cat,cattery,dog,horse,kennel,kitten,pet,pet boarding,pet care,pet hotel,puppy,reptile" - }, - "amenity/animal_breeding": { - name: "Animal Breeding Facility", - terms: "breeding,bull,cat,cow,dog,horse,husbandry,kitten,livestock,pet breeding,puppy,reptile" - }, - "amenity/animal_shelter": { - name: "Animal Shelter", - terms: "adoption,aspca,cat,dog,horse,kitten,pet care,pet rescue,puppy,raptor,reptile,rescue,spca" - }, - "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/cafe": { - name: "Cafe", - terms: "bistro,coffee,tea" - }, - "amenity/car_pooling": { - name: "Car Pooling", - terms: "" - }, - "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/clinic/abortion": { - name: "Abortion Clinic", - terms: "" - }, - "amenity/clinic/fertility": { - name: "Fertility Clinic", - terms: "egg,fertility,reproductive,sperm,ovulation" - }, - "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/crematorium": { - name: "Crematorium", - terms: "cemetery,funeral" - }, - "amenity/dentist": { - name: "Dentist", - terms: "tooth,teeth" - }, - "amenity/doctors": { - name: "Doctor", - terms: "medic*,physician" - }, - "amenity/dojo": { - name: "Dojo / Martial Arts Academy", - terms: "martial arts,dojang" - }, - "amenity/drinking_water": { - name: "Drinking Water", - terms: "fountain,potable" - }, - "amenity/driving_school": { - name: "Driving School", - terms: "" - }, - "amenity/embassy": { - name: "Embassy", - terms: "" - }, - "amenity/fast_food": { - name: "Fast Food", - terms: "restaurant,takeaway" - }, - "amenity/fire_station": { - name: "Fire Station", - terms: "" - }, - "amenity/food_court": { - name: "Food Court", - terms: "fast food,restaurant,food" - }, - "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,infirmary,institution,sanatorium,sanitarium,sick,surgery,ward" - }, - "amenity/hunting_stand": { - name: "Hunting Stand", - terms: "game,gun,lookout,rifle,shoot*,wild,watch" - }, - "amenity/ice_cream": { - name: "Ice Cream Shop", - terms: "gelato,sorbet,sherbet,frozen,yogurt" - }, - "amenity/internet_cafe": { - name: "Internet Cafe", - terms: "cybercafe,taxiphone,teleboutique,coffee,cafe,net,lanhouse" - }, - "amenity/kindergarten": { - name: "Preschool/Kindergarten Grounds", - terms: "kindergarden,pre-school" - }, - "amenity/library": { - name: "Library", - terms: "book" - }, - "amenity/love_hotel": { - name: "Love Hotel", - terms: "" - }, - "amenity/marketplace": { - name: "Marketplace", - terms: "" - }, - "amenity/monastery": { - name: "Monastery Grounds", - terms: "abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,monastery,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple" - }, - "amenity/motorcycle_parking": { - name: "Motorcycle Parking", - terms: "" - }, - "amenity/music_school": { - name: "Music School", - terms: "school of music" - }, - "amenity/nightclub": { - name: "Nightclub", - terms: "disco*,night club,dancing,dance club" - }, - "amenity/parking_entrance": { - name: "Parking Garage Entrance/Exit", - terms: "" - }, - "amenity/parking_space": { - name: "Parking Space", - terms: "" - }, - "amenity/parking": { - name: "Car Parking", - terms: "" - }, - "amenity/pavilion": { - name: "Pavilion", - 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/hindu": { - name: "Hindu Temple", - terms: "kovil,devasthana,mandir,kshetram,alayam,shrine,temple" - }, - "amenity/place_of_worship/jewish": { - name: "Synagogue", - terms: "jewish" - }, - "amenity/place_of_worship/muslim": { - name: "Mosque", - terms: "muslim" - }, - "amenity/place_of_worship/shinto": { - name: "Shinto Shrine", - terms: "kami,torii" - }, - "amenity/place_of_worship/sikh": { - name: "Sikh Temple", - terms: "gurudwara,temple" - }, - "amenity/place_of_worship/taoist": { - name: "Taoist Temple", - terms: "daoist,monastery,temple" - }, - "amenity/planetarium": { - name: "Planetarium", - terms: "museum,astronomy,observatory" - }, - "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: "alcohol,drink,dive,beer,bier,booze" - }, - "amenity/public_bath": { - name: "Public Bath", - terms: "onsen,foot bath,hot springs" - }, - "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_centre": { - name: "Recycling Center", - terms: "bottle,can,dump,glass,garbage,rubbish,scrap,trash" - }, - "amenity/recycling": { - name: "Recycling Container", - terms: "bin,can,bottle,glass,garbage,rubbish,scrap,trash" - }, - "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/shower": { - name: "Shower", - terms: "rain closet" - }, - "amenity/smoking_area": { - name: "Smoking Area", - terms: "" - }, - "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,care home,assisted living" - }, - "amenity/social_facility/homeless_shelter": { - name: "Homeless Shelter", - terms: "houseless,unhoused,displaced" - }, - "amenity/social_facility/nursing_home": { - name: "Nursing Home", - terms: "elderly,living,nursing,old,senior,assisted living" - }, - "amenity/studio": { - name: "Studio", - terms: "recording,radio,television" - }, - "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": { - name: "Vending Machine", - terms: "" - }, - "amenity/vending_machine/news_papers": { - name: "Newspaper Vending Machine", - terms: "newspaper" - }, - "amenity/vending_machine/cigarettes": { - name: "Cigarette Vending Machine", - terms: "cigarette" - }, - "amenity/vending_machine/coffee": { - name: "Coffee Vending Machine", - terms: "coffee" - }, - "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/electronics": { - name: "Electronics Vending Machine", - terms: "cable,charger,earbud,headphone,phone,tablet" - }, - "amenity/vending_machine/elongated_coin": { - name: "Flat Coin Vending Machine", - terms: "coin,crush,elongated,flatten,penny,souvenir" - }, - "amenity/vending_machine/excrement_bags": { - name: "Excrement Bag Vending Machine", - terms: "excrement bags,poop,dog,animal" - }, - "amenity/vending_machine/feminine_hygiene": { - name: "Feminine Hygiene Vending Machine", - terms: "condom,tampon,pad,woman,women,menstrual hygiene products,personal care" - }, - "amenity/vending_machine/food": { - name: "Food Vending Machine", - terms: "food" - }, - "amenity/vending_machine/fuel": { - name: "Gas Pump", - terms: "petrol,fuel,gasoline,propane,diesel,lng,cng,biodiesel" - }, - "amenity/vending_machine/ice_cream": { - name: "Ice Cream Vending Machine", - terms: "chocolate,ice cream,frozen,popsicle,vanilla" - }, - "amenity/vending_machine/newspapers": { - 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/stamps": { - name: "Postage Vending Machine", - terms: "mail,postage,stamp" - }, - "amenity/vending_machine/sweets": { - name: "Snack Vending Machine", - terms: "candy,gum,chip,pretzel,cookie,cracker" - }, - "amenity/veterinary": { - name: "Veterinary", - terms: "pet clinic,veterinarian,animal hospital,pet doctor" - }, - "amenity/waste_basket": { - name: "Waste Basket", - terms: "bin,garbage,rubbish,litter,trash" - }, - "amenity/waste_disposal": { - name: "Garbage Dumpster", - terms: "garbage,rubbish,litter,trash" - }, - "amenity/waste_transfer_station": { - name: "Waste Transfer Station", - terms: "dump,garbage,recycling,rubbish,scrap,trash" - }, - "amenity/waste/dog_excrement": { - name: "Dog Excrement Bin", - terms: "bin,garbage,rubbish,litter,trash,poo,dog" - }, - "amenity/water_point": { - name: "RV Drinking Water", - terms: "" - }, - "amenity/watering_place": { - name: "Animal Watering Place", - terms: "" - }, - area: { - name: "Area", - terms: "" - }, - "area/highway": { - name: "Road Surface", - terms: "" - }, - "attraction/amusement_ride": { - name: "Amusement Ride", - terms: "theme park,carnival ride" - }, - "attraction/animal": { - name: "Animal", - terms: "zoo,theme park,animal park,lion,tiger,bear" - }, - "attraction/big_wheel": { - name: "Big Wheel", - terms: "ferris wheel,theme park,amusement ride" - }, - "attraction/bumper_car": { - name: "Bumper Car", - terms: "theme park,dodgem cars,autoscooter" - }, - "attraction/bungee_jumping": { - name: "Bungee Jumping", - terms: "theme park,bungy jumping,jumping platform" - }, - "attraction/carousel": { - name: "Carousel", - terms: "theme park,roundabout,merry-go-round,galloper,jumper,horseabout,flying horses" - }, - "attraction/dark_ride": { - name: "Dark Ride", - terms: "theme park,ghost train" - }, - "attraction/drop_tower": { - name: "Drop Tower", - terms: "theme park,amusement ride,gondola,tower,big drop" - }, - "attraction/maze": { - name: "Maze", - terms: "theme park,amusement ride,labyrinth" - }, - "attraction/pirate_ship": { - name: "Pirate Ship", - terms: "theme park,carnival ride,amusement ride" - }, - "attraction/river_rafting": { - name: "River Rafting", - terms: "theme park,aquatic park,water park,rafting simulator,river rafting ride,river rapids ride" - }, - "attraction/roller_coaster": { - name: "Roller Coaster", - terms: "theme park,amusement ride" - }, - "attraction/train": { - name: "Tourist Train", - terms: "theme park,rackless train,road train,Tschu-Tschu train,dotto train,park train" - }, - "attraction/water_slide": { - name: "Water Slide", - terms: "theme park,aquatic park,water park,flumes,water chutes,hydroslides" - }, - barrier: { - name: "Barrier", - terms: "" - }, - "barrier/entrance": { - name: "Entrance", - terms: "" - }, - "barrier/block": { - name: "Block", - terms: "" - }, - "barrier/bollard": { - name: "Bollard", - terms: "" - }, - "barrier/border_control": { - name: "Border Control", - 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/fence": { - name: "Fence", - terms: "" - }, - "barrier/gate": { - name: "Gate", - terms: "" - }, - "barrier/hedge": { - name: "Hedge", - terms: "" - }, - "barrier/kerb": { - name: "Kerb", - 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/bunker": { - name: "Bunker", - terms: "" - }, - "building/entrance": { - name: "Entrance/Exit", - terms: "" - }, - "building/train_station": { - name: "Train Station", - terms: "" - }, - "building/apartments": { - name: "Apartments", - terms: "" - }, - "building/barn": { - name: "Barn", - terms: "" - }, - "building/boathouse": { - name: "Boathouse", - terms: "" - }, - "building/bungalow": { - name: "Bungalow", - terms: "home,detached" - }, - "building/cabin": { - name: "Cabin", - terms: "" - }, - "building/cathedral": { - name: "Cathedral Building", - terms: "" - }, - "building/chapel": { - name: "Chapel Building", - terms: "" - }, - "building/church": { - name: "Church Building", - terms: "" - }, - "building/civic": { - name: "Civic 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/farm_auxiliary": { - name: "Farm Building", - terms: "" - }, - "building/farm": { - name: "Farm House", - terms: "" - }, - "building/garage": { - name: "Garage", - terms: "" - }, - "building/garages": { - name: "Garages", - terms: "" - }, - "building/grandstand": { - name: "Grandstand", - terms: "tribune,stand,stands,bleachers" - }, - "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/mosque": { - name: "Mosque Building", - terms: "" - }, - "building/public": { - name: "Public Building", - terms: "" - }, - "building/residential": { - name: "Residential Building", - terms: "" - }, - "building/retail": { - name: "Retail Building", - terms: "" - }, - "building/roof": { - name: "Roof", - terms: "" - }, - "building/ruins": { - name: "Building Ruins", - 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/service": { - name: "Service Building", - terms: "" - }, - "building/shed": { - name: "Shed", - terms: "" - }, - "building/stable": { - name: "Stable", - terms: "" - }, - "building/stadium": { - name: "Stadium Building", - terms: "" - }, - "building/static_caravan": { - name: "Static Mobile Home", - terms: "" - }, - "building/temple": { - name: "Temple Building", - terms: "" - }, - "building/terrace": { - name: "Row Houses", - terms: "home,terrace,brownstone,family,residence,dwelling" - }, - "building/transportation": { - name: "Transportation Building", - terms: "" - }, - "building/university": { - name: "University Building", - terms: "college" - }, - "building/warehouse": { - name: "Warehouse", - terms: "" - }, - "camp_site/camp_pitch": { - name: "Camp Pitch", - terms: "tent,rv" - }, - club: { - name: "Club", - terms: "social" - }, - craft: { - name: "Craft", - terms: "" - }, - "craft/jeweler": { - name: "Jeweler", - terms: "" - }, - "craft/locksmith": { - name: "Locksmith", - terms: "" - }, - "craft/optician": { - name: "Optician", - terms: "" - }, - "craft/tailor": { - name: "Tailor", - terms: "clothes,suit" - }, - "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: "alcohol,beer,beverage,bier,booze,cider" - }, - "craft/carpenter": { - name: "Carpenter", - terms: "woodworker" - }, - "craft/carpet_layer": { - name: "Carpet Layer", - terms: "" - }, - "craft/caterer": { - name: "Caterer", - terms: "" - }, - "craft/chimney_sweeper": { - name: "Chimney Sweeper", - terms: "" - }, - "craft/clockmaker": { - name: "Clockmaker", - terms: "" - }, - "craft/confectionery": { - name: "Candy Maker", - terms: "sweet,candy" - }, - "craft/distillery": { - name: "Distillery", - terms: "alcohol,beverage,bourbon,booze,brandy,gin,hooch,liquor,mezcal,moonshine,rum,scotch,spirits,still,tequila,vodka,whiskey,whisky" - }, - "craft/dressmaker": { - name: "Dressmaker", - terms: "seamstress" - }, - "craft/electrician": { - name: "Electrician", - terms: "power,wire" - }, - "craft/electronics_repair": { - name: "Electronics Repair Shop", - terms: "" - }, - "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/key_cutter": { - name: "Key Cutter", - terms: "" - }, - "craft/metal_construction": { - name: "Metal Construction", - 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/sculptor": { - name: "Sculptor", - terms: "" - }, - "craft/shoemaker": { - name: "Shoemaker", - terms: "cobbler" - }, - "craft/stonemason": { - name: "Stonemason", - terms: "masonry" - }, - "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/designated": { - name: "Emergency Access Designated", - terms: "" - }, - "emergency/destination": { - name: "Emergency Access Destination", - terms: "" - }, - "emergency/no": { - name: "Emergency Access No", - terms: "" - }, - "emergency/official": { - name: "Emergency Access Official", - terms: "" - }, - "emergency/private": { - name: "Emergency Access Private", - terms: "" - }, - "emergency/yes": { - name: "Emergency Access Yes", - terms: "" - }, - "emergency/ambulance_station": { - name: "Ambulance Station", - terms: "EMS,EMT,rescue" - }, - "emergency/defibrillator": { - name: "Defibrillator", - terms: "AED" - }, - "emergency/fire_hydrant": { - name: "Fire Hydrant", - terms: "fire plug" - }, - "emergency/life_ring": { - name: "Life Ring", - terms: "life buoy,kisby ring,kisbie ring,perry buoy" - }, - "emergency/phone": { - name: "Emergency Phone", - terms: "" - }, - "emergency/water_tank": { - name: "Emergency Water Tank", - terms: "water tank,cistern,reservoir" - }, - entrance: { - name: "Entrance/Exit", - terms: "" - }, - "footway/crossing-raised": { - name: "Raised Street Crossing", - terms: "flat top,hump,speed,slow" - }, - "footway/crossing": { - name: "Street Crossing", - terms: "" - }, - "footway/crosswalk-raised": { - name: "Raised Pedestrian Crosswalk", - terms: "zebra crossing,flat top,hump,speed,slow" - }, - "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_area": { - name: "Lateral Water Hazard", - terms: "" - }, - "golf/lateral_water_hazard_line": { - name: "Lateral Water Hazard", - terms: "" - }, - "golf/rough": { - name: "Rough", - terms: "" - }, - "golf/tee": { - name: "Tee Box", - terms: "teeing ground" - }, - "golf/water_hazard_area": { - name: "Water Hazard", - terms: "" - }, - "golf/water_hazard_line": { - name: "Water Hazard", - terms: "" - }, - healthcare: { - name: "Healthcare Facility", - terms: "clinic,doctor,disease,health,institution,sick,surgery,wellness" - }, - "healthcare/alternative": { - name: "Alternative Medicine", - terms: "acupuncture,anthroposophical,applied kinesiology,aromatherapy,ayurveda,herbalism,homeopathy,hydrotherapy,hypnosis,naturopathy,osteopathy,reflexology,reiki,shiatsu,traditional,tuina,unani" - }, - "healthcare/alternative/chiropractic": { - name: "Chiropractor", - terms: "back,pain,spine" - }, - "healthcare/audiologist": { - name: "Audiologist", - terms: "ear,hearing,sound" - }, - "healthcare/birthing_center": { - name: "Birthing Center", - terms: "baby,childbirth,delivery,labour,labor,pregnancy" - }, - "healthcare/blood_donation": { - name: "Blood Donor Center", - terms: "blood bank,blood donation,blood transfusion,apheresis,plasmapheresis,plateletpheresis,stem cell donation" - }, - "healthcare/hospice": { - name: "Hospice", - terms: "terminal,illness" - }, - "healthcare/laboratory": { - name: "Medical Laboratory", - terms: "medical_laboratory,medical_lab,blood_check" - }, - "healthcare/midwife": { - name: "Midwife", - terms: "baby,childbirth,delivery,labour,labor,pregnancy" - }, - "healthcare/occupational_therapist": { - name: "Occupational Therapist", - terms: "therapist,therapy" - }, - "healthcare/optometrist": { - name: "Optometrist", - terms: "eye,glasses,lasik,lenses,vision" - }, - "healthcare/physiotherapist": { - name: "Physiotherapist", - terms: "physical,therapist,therapy" - }, - "healthcare/podiatrist": { - name: "Podiatrist", - terms: "foot,feet,nails" - }, - "healthcare/psychotherapist": { - name: "Psychotherapist", - terms: "anxiety,counselor,depression,mental health,mind,suicide,therapist,therapy" - }, - "healthcare/rehabilitation": { - name: "Rehabilitation Facility", - terms: "rehab,therapist,therapy" - }, - "healthcare/speech_therapist": { - name: "Speech Therapist", - terms: "speech,therapist,therapy,voice" - }, - "highway/bus_stop": { - name: "Bus Stop / Platform", - terms: "" - }, - "highway/bridleway": { - name: "Bridle Path", - terms: "bridleway,equestrian,horse" - }, - "highway/bus_guideway": { - name: "Bus Guideway", - terms: "" - }, - "highway/corridor": { - name: "Indoor Corridor", - terms: "gallery,hall,hallway,indoor,passage,passageway" - }, - "highway/crossing-raised": { - name: "Raised Street Crossing", - terms: "flat top,hump,speed,slow" - }, - "highway/crossing": { - name: "Street Crossing", - terms: "" - }, - "highway/crosswalk-raised": { - name: "Raised Pedestrian Crosswalk", - terms: "zebra crossing,flat top,hump,speed,slow" - }, - "highway/crosswalk": { - name: "Pedestrian Crosswalk", - terms: "zebra crossing" - }, - "highway/cycleway": { - name: "Cycle Path", - terms: "bike" - }, - "highway/elevator": { - name: "Elevator", - terms: "lift" - }, - "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_junction": { - name: "Motorway Junction / Exit", - terms: "" - }, - "highway/motorway_link": { - name: "Motorway Link", - terms: "ramp,on ramp,off ramp" - }, - "highway/motorway": { - name: "Motorway", - terms: "autobahn,expressway,freeway,highway,interstate,parkway,thruway,turnpike" - }, - "highway/passing_place": { - name: "Passing Place", - terms: "turnout, pullout" - }, - "highway/path": { - name: "Path", - terms: "hike,hiking,trackway,trail,walk" - }, - "highway/pedestrian_area": { - name: "Pedestrian Area", - terms: "center,centre,plaza,quad,square,walkway" - }, - "highway/pedestrian_line": { - name: "Pedestrian Street", - terms: "center,centre,plaza,quad,square,walkway" - }, - "highway/primary_link": { - name: "Primary Link", - terms: "ramp,on ramp,off ramp" - }, - "highway/primary": { - name: "Primary Road", - terms: "" - }, - "highway/raceway": { - name: "Racetrack (Motorsport)", - terms: "auto*,formula one,kart,motocross,nascar,race*,track" - }, - "highway/residential": { - name: "Residential Road", - terms: "" - }, - "highway/rest_area": { - name: "Rest Area", - terms: "rest stop" - }, - "highway/road": { - name: "Unknown Road", - terms: "" - }, - "highway/secondary_link": { - name: "Secondary Link", - terms: "ramp,on ramp,off ramp" - }, - "highway/secondary": { - name: "Secondary Road", - terms: "" - }, - "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/speed_camera": { - name: "Speed Camera", - terms: "" - }, - "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_link": { - name: "Tertiary Link", - terms: "ramp,on ramp,off ramp" - }, - "highway/tertiary": { - name: "Tertiary Road", - terms: "" - }, - "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_mirror": { - name: "Traffic Mirror", - terms: "blind spot,convex,corner,curved,roadside,round,safety,sphere,visibility" - }, - "highway/traffic_signals": { - name: "Traffic Signals", - terms: "light,stoplight,traffic light" - }, - "highway/trunk_link": { - name: "Trunk Link", - terms: "ramp,on ramp,off ramp" - }, - "highway/trunk": { - name: "Trunk Road", - terms: "" - }, - "highway/turning_circle": { - name: "Turning Circle", - terms: "cul-de-sac" - }, - "highway/turning_loop": { - name: "Turning Loop (Island)", - 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: "dedicatory,epitaph,remember,remembrance,memory,monument,stolperstein" - }, - "historic/monument": { - name: "Monument", - terms: "" - }, - "historic/ruins": { - name: "Ruins", - terms: "" - }, - "historic/tomb": { - name: "Tomb", - 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/farm": { - name: "Farmland", - terms: "" - }, - "landuse/allotments": { - name: "Community Garden", - terms: "allotment,garden" - }, - "landuse/aquaculture": { - name: "Aquaculture", - terms: "fish farm,crustacean,algae,aquafarming,shrimp farm,oyster farm,mariculture,algaculture" - }, - "landuse/basin": { - name: "Basin", - terms: "" - }, - "landuse/brownfield": { - name: "Brownfield", - terms: "" - }, - "landuse/cemetery": { - name: "Cemetery", - terms: "" - }, - "landuse/churchyard": { - name: "Churchyard", - terms: "" - }, - "landuse/commercial": { - name: "Commercial Area", - terms: "" - }, - "landuse/construction": { - name: "Construction", - terms: "" - }, - "landuse/farmland": { - name: "Farmland", - terms: "crop,grow,plant" - }, - "landuse/farmyard": { - name: "Farmyard", - terms: "crop,grow,plant" - }, - "landuse/forest": { - name: "Forest", - terms: "cut,forest,lumber,tree" - }, - "landuse/garages": { - name: "Garage Landuse", - terms: "" - }, - "landuse/grass": { - name: "Grass", - terms: "" - }, - "landuse/greenfield": { - name: "Greenfield", - terms: "" - }, - "landuse/greenhouse_horticulture": { - name: "Greenhouse Horticulture", - terms: "flower,greenhouse,horticulture,grow,vivero" - }, - "landuse/harbour": { - name: "Harbor", - terms: "boat" - }, - "landuse/industrial": { - name: "Industrial Area", - terms: "" - }, - "landuse/industrial/scrap_yard": { - name: "Scrap Yard", - terms: "car,junk,metal,salvage,scrap,u-pull-it,vehicle,wreck,yard" - }, - "landuse/industrial/slaughterhouse": { - name: "Slaughterhouse", - terms: "abattoir,beef,butchery,calf,chicken,cow,killing house,meat,pig,pork,poultry,shambles,stockyard" - }, - "landuse/landfill": { - name: "Landfill", - terms: "dump" - }, - "landuse/meadow": { - name: "Meadow", - terms: "" - }, - "landuse/military": { - name: "Military Area", - terms: "" - }, - "landuse/military/airfield": { - name: "Military Airfield", - terms: "air force,army,base,bomb,fight,force,guard,heli*,jet,marine,navy,plane,troop,war" - }, - "landuse/military/barracks": { - name: "Barracks", - terms: "air force,army,base,fight,force,guard,marine,navy,troop,war" - }, - "landuse/military/bunker": { - name: "Military Bunker", - terms: "air force,army,base,fight,force,guard,marine,navy,troop,war" - }, - "landuse/military/checkpoint": { - name: "Checkpoint", - terms: "air force,army,base,force,guard,marine,navy,troop,war" - }, - "landuse/military/danger_area": { - name: "Danger Area", - terms: "air force,army,base,blast,bomb,explo*,force,guard,mine,marine,navy,troop,war" - }, - "landuse/military/naval_base": { - name: "Naval Base", - terms: "base,fight,force,guard,marine,navy,ship,sub,troop,war" - }, - "landuse/military/nuclear_explosion_site": { - name: "Nuclear Explosion Site", - terms: "atom,blast,bomb,detonat*,nuke,site,test" - }, - "landuse/military/obstacle_course": { - name: "Obstacle Course", - terms: "army,base,force,guard,marine,navy,troop,war" - }, - "landuse/military/office": { - name: "Military Office", - terms: "air force,army,base,enlist,fight,force,guard,marine,navy,recruit,troop,war" - }, - "landuse/military/range": { - name: "Military Range", - terms: "air force,army,base,fight,fire,force,guard,gun,marine,navy,rifle,shoot*,snip*,train,troop,war" - }, - "landuse/military/training_area": { - name: "Training Area", - terms: "air force,army,base,fight,fire,force,guard,gun,marine,navy,rifle,shoot*,snip*,train,troop,war" - }, - "landuse/orchard": { - name: "Orchard", - terms: "fruit" - }, - "landuse/plant_nursery": { - name: "Plant Nursery", - terms: "flower,garden,grow,vivero" - }, - "landuse/quarry": { - name: "Quarry", - terms: "" - }, - "landuse/railway": { - name: "Railway Corridor", - terms: "rail,train,track" - }, - "landuse/recreation_ground": { - name: "Recreation Ground", - terms: "playing fields" - }, - "landuse/religious": { - name: "Religious Area", - terms: "" - }, - "landuse/residential": { - name: "Residential Area", - terms: "" - }, - "landuse/retail": { - name: "Retail Area", - terms: "" - }, - "landuse/vineyard": { - name: "Vineyard", - terms: "grape,wine" - }, - leisure: { - name: "Leisure", - terms: "" - }, - "leisure/adult_gaming_centre": { - name: "Adult Gaming Center", - terms: "gambling,slot machine" - }, - "leisure/amusement_arcade": { - name: "Amusement Arcade", - terms: "pay-to-play games,video games,driving simulators,pinball machines" - }, - "leisure/beach_resort": { - name: "Beach Resort", - terms: "" - }, - "leisure/bird_hide": { - name: "Bird Hide", - terms: "machan,ornithology" - }, - "leisure/bowling_alley": { - name: "Bowling Alley", - terms: "bowling center" - }, - "leisure/common": { - name: "Common", - terms: "open space" - }, - "leisure/dance": { - name: "Dance Hall", - terms: "ballroom,jive,swing,tango,waltz" - }, - "leisure/dancing_school": { - name: "Dance School", - terms: "jive,swing,tango,waltz,dance teaching" - }, - "leisure/dog_park": { - name: "Dog Park", - terms: "" - }, - "leisure/firepit": { - name: "Firepit", - terms: "fireplace,campfire" - }, - "leisure/fitness_centre": { - name: "Gym / Fitness Center", - terms: "health,gym,leisure,studio" - }, - "leisure/fitness_centre/yoga": { - name: "Yoga Studio", - terms: "studio" - }, - "leisure/fitness_station": { - name: "Outdoor Fitness Station", - terms: "exercise,fitness,gym,trim trail" - }, - "leisure/fitness_station/balance_beam": { - name: "Exercise Balance Beam", - terms: "balance,exercise,fitness,gym,trim trail" - }, - "leisure/fitness_station/box": { - name: "Exercise Box", - terms: "box,exercise,fitness,gym,jump,trim trail" - }, - "leisure/fitness_station/horizontal_bar": { - name: "Exercise Horizontal Bar", - terms: "bar,chinup,chin up,exercise,fitness,gym,pullup,pull up,trim trail" - }, - "leisure/fitness_station/horizontal_ladder": { - name: "Exercise Monkey Bars", - terms: "bar,chinup,chin up,exercise,fitness,gym,ladder,monkey bars,pullup,pull up,trim trail" - }, - "leisure/fitness_station/hyperextension": { - name: "Hyperextension Station", - terms: "back,exercise,extension,fitness,gym,roman chair,trim trail" - }, - "leisure/fitness_station/parallel_bars": { - name: "Parallel Bars", - terms: "bar,dip,exercise,fitness,gym,trim trail" - }, - "leisure/fitness_station/push-up": { - name: "Push-Up Station", - terms: "bar,exercise,fitness,gym,pushup,push up,trim trail" - }, - "leisure/fitness_station/rings": { - name: "Exercise Rings", - terms: "exercise,fitness,gym,muscle up,pullup,pull up,trim trail" - }, - "leisure/fitness_station/sign": { - name: "Exercise Instruction Sign", - terms: "exercise,fitness,gym,trim trail" - }, - "leisure/fitness_station/sit-up": { - name: "Sit-Up Station", - terms: "crunch,exercise,fitness,gym,situp,sit up,trim trail" - }, - "leisure/fitness_station/stairs": { - name: "Exercise Stairs", - terms: "exercise,fitness,gym,steps,trim trail" - }, - "leisure/garden": { - name: "Garden", - terms: "" - }, - "leisure/golf_course": { - name: "Golf Course", - terms: "links" - }, - "leisure/hackerspace": { - name: "Hackerspace", - terms: "makerspace,hackspace,hacklab" - }, - "leisure/horse_riding": { - name: "Horseback Riding Facility", - terms: "equestrian,stable" - }, - "leisure/ice_rink": { - name: "Ice Rink", - terms: "hockey,skating,curling" - }, - "leisure/marina": { - name: "Marina", - terms: "boat" - }, - "leisure/miniature_golf": { - name: "Miniature Golf", - terms: "crazy golf,mini golf,putt-putt" - }, - "leisure/nature_reserve": { - name: "Nature Reserve", - terms: "protected,wildlife" - }, - "leisure/outdoor_seating": { - name: "Outdoor Seating Area", - terms: "al fresco,beer garden,dining,cafe,restaurant,pub,bar,patio" - }, - "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/beachvolleyball": { - name: "Beach Volleyball Court", - terms: "volleyball" - }, - "leisure/pitch/boules": { - name: "Boules/Bocce Court", - terms: "bocce,lyonnaise,pétanque" - }, - "leisure/pitch/bowls": { - name: "Bowling Green", - terms: "" - }, - "leisure/pitch/cricket": { - name: "Cricket Field", - terms: "" - }, - "leisure/pitch/equestrian": { - name: "Riding Arena", - terms: "dressage,equestrian,horse,horseback,riding" - }, - "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: "football" - }, - "leisure/pitch/table_tennis": { - name: "Ping Pong Table", - terms: "table tennis,ping pong" - }, - "leisure/pitch/tennis": { - name: "Tennis Court", - terms: "" - }, - "leisure/pitch/volleyball": { - name: "Volleyball Court", - terms: "" - }, - "leisure/playground": { - name: "Playground", - terms: "jungle gym,play area" - }, - "leisure/resort": { - name: "Resort", - terms: "" - }, - "leisure/running_track": { - name: "Racetrack (Running)", - terms: "race*,running,sprint,track" - }, - "leisure/sauna": { - name: "Sauna", - terms: "" - }, - "leisure/slipway": { - name: "Slipway", - terms: "boat launch,boat ramp" - }, - "leisure/sports_centre": { - name: "Sports Center / Complex", - terms: "" - }, - "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: "cycle,dog,greyhound,horse,race*,track" - }, - "leisure/water_park": { - name: "Water Park", - terms: "swim,pool,dive" - }, - line: { - name: "Line", - terms: "" - }, - man_made: { - name: "Man Made", - terms: "" - }, - "man_made/embankment": { - name: "Embankment", - terms: "" - }, - "man_made/adit": { - name: "Adit", - terms: "entrance,underground,mine,cave" - }, - "man_made/antenna": { - name: "Antenna", - terms: "broadcast,cell phone,cell,communication,mobile phone,radio,television,transmission,tv" - }, - "man_made/breakwater": { - name: "Breakwater", - terms: "" - }, - "man_made/bridge": { - name: "Bridge", - terms: "" - }, - "man_made/chimney": { - name: "Chimney", - terms: "" - }, - "man_made/clearcut": { - name: "Clearcut Forest", - terms: "cut,forest,lumber,tree,wood" - }, - "man_made/crane": { - name: "Crane", - terms: "" - }, - "man_made/cutline": { - name: "Cut line", - 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: "Mast", - terms: "antenna,broadcast tower,cell phone tower,cell tower,communication mast,communication tower,guyed tower,mobile phone tower,radio mast,radio tower,television tower,transmission mast,transmission tower,tv tower" - }, - "man_made/monitoring_station": { - name: "Monitoring Station", - terms: "weather,earthquake,seismology,air,gps" - }, - "man_made/observation": { - name: "Observation Tower", - terms: "lookout tower,fire tower" - }, - "man_made/observatory": { - name: "Observatory", - terms: "astronomical,meteorological" - }, - "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,jetty" - }, - "man_made/pipeline": { - name: "Pipeline", - terms: "" - }, - "man_made/pumping_station": { - name: "Pumping Station", - 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_camera": { - name: "Surveillance Camera", - terms: "anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam" - }, - "man_made/surveillance": { - name: "Surveillance", - terms: "anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam" - }, - "man_made/survey_point": { - name: "Survey Point", - terms: "trig point,triangulation pillar,trigonometrical station" - }, - "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/watermill": { - name: "Watermill", - terms: "water,wheel,mill" - }, - "man_made/windmill": { - name: "Windmill", - terms: "wind,wheel,mill" - }, - "man_made/works": { - name: "Factory", - terms: "assembly,build,brewery,car,plant,plastic,processing,manufacture,refinery" - }, - manhole: { - name: "Manhole", - terms: "cover,hole,sewer,sewage,telecom" - }, - "manhole/drain": { - name: "Storm Drain", - terms: "cover,drain,hole,rain,sewer,sewage,storm" - }, - "manhole/telecom": { - name: "Telecom Manhole", - terms: "cover,phone,hole,telecom,telephone,bt" - }, - natural: { - name: "Natural", - terms: "" - }, - "natural/bare_rock": { - name: "Bare Rock", - terms: "rock" - }, - "natural/bay": { - name: "Bay", - terms: "" - }, - "natural/beach": { - name: "Beach", - terms: "shore" - }, - "natural/cave_entrance": { - name: "Cave Entrance", - terms: "cavern,hollow,grotto,shelter,cavity" - }, - "natural/cliff": { - name: "Cliff", - terms: "escarpment" - }, - "natural/coastline": { - name: "Coastline", - terms: "shore" - }, - "natural/fell": { - name: "Fell", - terms: "" - }, - "natural/glacier": { - name: "Glacier", - terms: "" - }, - "natural/grassland": { - name: "Grassland", - terms: "prairie,savanna" - }, - "natural/heath": { - name: "Heath", - terms: "" - }, - "natural/mud": { - name: "Mud", - terms: "wetland" - }, - "natural/peak": { - name: "Peak", - terms: "acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top" - }, - "natural/reef": { - name: "Reef", - terms: "barrier,coral,ocean,sand,shoal" - }, - "natural/ridge": { - name: "Ridge", - terms: "crest" - }, - "natural/saddle": { - name: "Saddle", - terms: "pass,mountain pass,top" - }, - "natural/sand": { - name: "Sand", - terms: "desert" - }, - "natural/scree": { - name: "Scree", - terms: "loose rocks" - }, - "natural/scrub": { - name: "Scrub", - terms: "bush,shrubs" - }, - "natural/spring": { - name: "Spring", - terms: "" - }, - "natural/tree_row": { - name: "Tree row", - terms: "" - }, - "natural/tree": { - name: "Tree", - 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: "bog,marsh,reedbed,swamp,tidalflat" - }, - "natural/wood": { - name: "Wood", - terms: "tree" - }, - "noexit/yes": { - name: "No Exit", - terms: "no exit,road end,dead end" - }, - office: { - name: "Office", - terms: "" - }, - "office/administrative": { - name: "Administrative Office", - terms: "" - }, - "office/physician": { - name: "Physician", - terms: "" - }, - "office/travel_agent": { - name: "Travel Agency", - terms: "" - }, - "office/accountant": { - name: "Accountant Office", - terms: "" - }, - "office/adoption_agency": { - name: "Adoption Agency", - terms: "" - }, - "office/advertising_agency": { - name: "Advertising Agency", - terms: "ad,ad agency,advert agency,advertising,marketing" - }, - "office/architect": { - name: "Architect Office", - terms: "" - }, - "office/association": { - name: "Nonprofit Organization Office", - terms: "association,non-profit,nonprofit,organization,society" - }, - "office/charity": { - name: "Charity Office", - terms: "charitable organization" - }, - "office/company": { - name: "Corporate Office", - terms: "" - }, - "office/coworking": { - name: "Coworking Space", - terms: "coworking,office" - }, - "office/educational_institution": { - name: "Educational Institution", - terms: "" - }, - "office/employment_agency": { - name: "Employment Agency", - terms: "job" - }, - "office/energy_supplier": { - name: "Energy Supplier Office", - terms: "electricity,energy company,energy utility,gas utility" - }, - "office/estate_agent": { - name: "Real Estate Office", - terms: "" - }, - "office/financial": { - name: "Financial Office", - terms: "" - }, - "office/forestry": { - name: "Forestry Office", - terms: "forest,ranger" - }, - "office/foundation": { - name: "Foundation Office", - terms: "" - }, - "office/government": { - name: "Government Office", - terms: "" - }, - "office/government/register_office": { - name: "Register Office", - terms: "clerk,marriage,death,birth,certificate" - }, - "office/government/tax": { - name: "Tax and Revenue Office", - terms: "fiscal authorities,revenue office,tax office" - }, - "office/guide": { - name: "Tour Guide Office", - terms: "dive guide,mountain guide,tour guide" - }, - "office/insurance": { - name: "Insurance Office", - terms: "" - }, - "office/it": { - name: "Information Technology Office", - terms: "computer,information,software,technology" - }, - "office/lawyer": { - name: "Law Office", - terms: "" - }, - "office/lawyer/notary": { - name: "Notary Office", - terms: "" - }, - "office/moving_company": { - name: "Moving Company Office", - terms: "relocation" - }, - "office/newspaper": { - name: "Newspaper Office", - terms: "" - }, - "office/ngo": { - name: "NGO Office", - terms: "ngo,non government,non-government,organization,organisation" - }, - "office/notary": { - name: "Notary Office", - terms: "clerk,deeds,estate,signature,wills" - }, - "office/political_party": { - name: "Political Party", - terms: "" - }, - "office/private_investigator": { - name: "Private Investigator Office", - terms: "PI,private eye,private detective" - }, - "office/quango": { - name: "Quasi-NGO Office", - terms: "ngo,non government,non-government,organization,organisation,quasi autonomous,quasi-autonomous" - }, - "office/research": { - name: "Research Office", - terms: "" - }, - "office/surveyor": { - name: "Surveyor Office", - terms: "" - }, - "office/tax_advisor": { - name: "Tax Advisor Office", - terms: "tax,tax consultant" - }, - "office/telecommunication": { - name: "Telecom Office", - terms: "communication,internet,phone,voice" - }, - "office/therapist": { - name: "Therapist Office", - terms: "therapy" - }, - "office/water_utility": { - name: "Water Utility Office", - terms: "water board,utility" - }, - piste: { - name: "Piste/Ski Trail", - terms: "ski,sled,sleigh,snowboard,nordic,downhill,snowmobile" - }, - "place/farm": { - name: "Farm", - terms: "" - }, - "place/city": { - name: "City", - terms: "" - }, - "place/hamlet": { - name: "Hamlet", - terms: "" - }, - "place/island": { - name: "Island", - terms: "archipelago,atoll,bar,cay,isle,islet,key,reef" - }, - "place/islet": { - name: "Islet", - 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/plot": { - name: "Plot", - terms: "tract,land,lot,parcel" - }, - "place/quarter": { - name: "Sub-Borough / Quarter", - terms: "boro,borough,quarter" - }, - "place/square": { - name: "Square", - terms: "" - }, - "place/suburb": { - name: "Borough / Suburb", - terms: "boro,borough,quarter" - }, - "place/town": { - name: "Town", - terms: "" - }, - "place/village": { - name: "Village", - terms: "" - }, - "playground/balance_beam": { - name: "Play Balance Beam", - terms: "" - }, - "playground/basket_spinner": { - name: "Basket Spinner", - terms: "basket rotator" - }, - "playground/basket_swing": { - name: "Basket Swing", - terms: "" - }, - "playground/climbing_frame": { - name: "Climbing Frame", - terms: "" - }, - "playground/cushion": { - name: "Bouncy Cushion", - terms: "" - }, - "playground/horizontal_bar": { - name: "Play Horizontal Bar", - terms: "high bar" - }, - "playground/rocker": { - name: "Spring Rider", - terms: "spring rocker,springy rocker" - }, - "playground/roundabout": { - name: "Play Roundabout", - terms: "merry-go-round" - }, - "playground/sandpit": { - name: "Sandpit", - terms: "" - }, - "playground/seesaw": { - name: "Seesaw", - terms: "" - }, - "playground/slide": { - name: "Slide", - terms: "" - }, - "playground/structure": { - name: "Play Structure", - terms: "" - }, - "playground/swing": { - name: "Swing", - terms: "" - }, - "playground/zipwire": { - name: "Zip Wire", - terms: "" - }, - point: { - name: "Point", - terms: "" - }, - "power/sub_station": { - name: "Substation", - terms: "" - }, - "power/generator": { - name: "Power Generator", - terms: "hydro,solar,turbine,wind" - }, - "power/generator/source_nuclear": { - name: "Nuclear Reactor", - terms: "fission,generator,nuclear,nuke,reactor" - }, - "power/generator/source_wind": { - name: "Wind Turbine", - terms: "generator,turbine,windmill,wind" - }, - "power/line": { - name: "Power Line", - terms: "" - }, - "power/minor_line": { - name: "Minor Power Line", - terms: "" - }, - "power/plant": { - name: "Power Station Grounds", - terms: "coal,gas,generat*,hydro,nuclear,power,station" - }, - "power/pole": { - name: "Power Pole", - terms: "" - }, - "power/substation": { - name: "Substation", - terms: "" - }, - "power/switch": { - name: "Power Switch", - terms: "" - }, - "power/tower": { - name: "High-Voltage Tower", - terms: "" - }, - "power/transformer": { - name: "Transformer", - terms: "" - }, - "public_transport/linear_platform_aerialway": { - name: "Aerialway Stop / Platform", - terms: "aerialway,cable car,platform,public transit,public transportation,transit,transportation" - }, - "public_transport/linear_platform_bus": { - name: "Bus Stop / Platform", - terms: "bus,platform,public transit,public transportation,transit,transportation" - }, - "public_transport/linear_platform_ferry": { - name: "Ferry Stop / Platform", - terms: "boat,dock,ferry,pier,platform,public transit,public transportation,transit,transportation" - }, - "public_transport/linear_platform_light_rail": { - name: "Light Rail Stop / Platform", - terms: "electric,light rail,platform,public transit,public transportation,rail,track,tram,trolley,transit,transportation" - }, - "public_transport/linear_platform_monorail": { - name: "Monorail Stop / Platform", - terms: "monorail,platform,public transit,public transportation,rail,transit,transportation" - }, - "public_transport/linear_platform_subway": { - name: "Subway Stop / Platform", - terms: "metro,platform,public transit,public transportation,rail,subway,track,transit,transportation,underground" - }, - "public_transport/linear_platform_train": { - name: "Train Stop / Platform", - terms: "platform,public transit,public transportation,rail,track,train,transit,transportation" - }, - "public_transport/linear_platform_tram": { - name: "Tram Stop / Platform", - terms: "electric,light rail,platform,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation" - }, - "public_transport/linear_platform_trolleybus": { - name: "Trolleybus Stop / Platform", - terms: "bus,electric,platform,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation" - }, - "public_transport/linear_platform": { - name: "Transit Stop / Platform", - terms: "platform,public transit,public transportation,transit,transportation" - }, - "public_transport/platform_aerialway": { - name: "Aerialway Stop / Platform", - terms: "aerialway,cable car,platform,public transit,public transportation,transit,transportation" - }, - "public_transport/platform_bus": { - name: "Bus Stop / Platform", - terms: "bus,platform,public transit,public transportation,transit,transportation" - }, - "public_transport/platform_ferry": { - name: "Ferry Stop / Platform", - terms: "boat,dock,ferry,pier,platform,public transit,public transportation,transit,transportation" - }, - "public_transport/platform_light_rail": { - name: "Light Rail Stop / Platform", - terms: "electric,light rail,platform,public transit,public transportation,rail,track,tram,trolley,transit,transportation" - }, - "public_transport/platform_monorail": { - name: "Monorail Stop / Platform", - terms: "monorail,platform,public transit,public transportation,rail,transit,transportation" - }, - "public_transport/platform_subway": { - name: "Subway Stop / Platform", - terms: "metro,platform,public transit,public transportation,rail,subway,track,transit,transportation,underground" - }, - "public_transport/platform_train": { - name: "Train Stop / Platform", - terms: "platform,public transit,public transportation,rail,track,train,transit,transportation" - }, - "public_transport/platform_tram": { - name: "Tram Stop / Platform", - terms: "electric,light rail,platform,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation" - }, - "public_transport/platform_trolleybus": { - name: "Trolleybus Stop / Platform", - terms: "bus,electric,platform,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation" - }, - "public_transport/platform": { - name: "Transit Stop / Platform", - terms: "platform,public transit,public transportation,transit,transportation" - }, - "public_transport/station_aerialway": { - name: "Aerialway Station", - terms: "aerialway,cable car,public transit,public transportation,station,terminal,transit,transportation" - }, - "public_transport/station_bus": { - name: "Bus Station / Terminal", - terms: "bus,public transit,public transportation,station,terminal,transit,transportation" - }, - "public_transport/station_ferry": { - name: "Ferry Station / Terminal", - terms: "boat,dock,ferry,pier,public transit,public transportation,station,terminal,transit,transportation" - }, - "public_transport/station_light_rail": { - name: "Light Rail Station", - terms: "electric,light rail,public transit,public transportation,rail,station,terminal,track,tram,trolley,transit,transportation" - }, - "public_transport/station_monorail": { - name: "Monorail Station", - terms: "monorail,public transit,public transportation,rail,station,terminal,transit,transportation" - }, - "public_transport/station_subway": { - name: "Subway Station", - terms: "metro,public transit,public transportation,rail,station,subway,terminal,track,transit,transportation,underground" - }, - "public_transport/station_train_halt": { - name: "Train Station (Halt / Request)", - terms: "halt,public transit,public transportation,rail,station,track,train,transit,transportation,whistle stop" - }, - "public_transport/station_train": { - name: "Train Station", - terms: "public transit,public transportation,rail,station,terminal,track,train,transit,transportation" - }, - "public_transport/station_tram": { - name: "Tram Station", - terms: "electric,light rail,public transit,public transportation,rail,station,streetcar,terminal,track,tram,trolley,transit,transportation" - }, - "public_transport/station_trolleybus": { - name: "Trolleybus Station / Terminal", - terms: "bus,electric,public transit,public transportation,station,streetcar,terminal,trackless,tram,trolley,transit,transportation" - }, - "public_transport/station": { - name: "Transit Station", - terms: "public transit,public transportation,station,terminal,transit,transportation" - }, - "public_transport/stop_area": { - name: "Transit Stop Area", - terms: "" - }, - "public_transport/stop_position_aerialway": { - name: "Aerialway Stopping Location", - terms: "aerialway,cable car,public transit,public transportation,transit,transportation" - }, - "public_transport/stop_position_bus": { - name: "Bus Stopping Location", - terms: "bus,public transit,public transportation,transit,transportation" - }, - "public_transport/stop_position_ferry": { - name: "Ferry Stopping Location", - terms: "boat,dock,ferry,pier,public transit,public transportation,transit,transportation" - }, - "public_transport/stop_position_light_rail": { - name: "Light Rail Stopping Location", - terms: "electric,light rail,public transit,public transportation,rail,track,tram,trolley,transit,transportation" - }, - "public_transport/stop_position_monorail": { - name: "Monorail Stopping Location", - terms: "monorail,public transit,public transportation,rail,transit,transportation" - }, - "public_transport/stop_position_subway": { - name: "Subway Stopping Location", - terms: "metro,public transit,public transportation,rail,subway,track,transit,transportation,underground" - }, - "public_transport/stop_position_train": { - name: "Train Stopping Location", - terms: "public transit,public transportation,rail,track,train,transit,transportation" - }, - "public_transport/stop_position_tram": { - name: "Tram Stopping Location", - terms: "electric,light rail,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation" - }, - "public_transport/stop_position_trolleybus": { - name: "Trolleybus Stopping Location", - terms: "bus,electric,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation" - }, - "public_transport/stop_position": { - name: "Transit Stopping Location", - terms: "public transit,public transportation,transit,transportation" - }, - "railway/halt": { - name: "Train Station (Halt / Request)", - terms: "break,interrupt,rest,wait,interruption" - }, - "railway/platform": { - name: "Train Stop / Platform", - terms: "" - }, - "railway/station": { - name: "Train Station", - terms: "train station,station" - }, - "railway/tram_stop": { - name: "Tram Stopping Position", - terms: "light rail,streetcar,tram,trolley" - }, - "railway/abandoned": { - name: "Abandoned Railway", - terms: "" - }, - "railway/buffer_stop": { - name: "Buffer Stop", - terms: "stop,halt,buffer" - }, - "railway/crossing": { - name: "Railway Crossing (Path)", - terms: "crossing,pedestrian crossing,railroad crossing,level crossing,grade crossing,path through railroad,train crossing" - }, - "railway/derail": { - name: "Railway Derailer", - terms: "derailer" - }, - "railway/disused": { - name: "Disused Railway", - terms: "" - }, - "railway/funicular": { - name: "Funicular", - terms: "venicular,cliff railway,cable car,cable railway,funicular railway" - }, - "railway/level_crossing": { - name: "Railway Crossing (Road)", - terms: "crossing,railroad crossing,level crossing,grade crossing,road through railroad,train crossing" - }, - "railway/light_rail": { - name: "Light Rail", - terms: "light rail,streetcar,trolley" - }, - "railway/milestone": { - name: "Railway Milestone", - terms: "milestone,marker" - }, - "railway/miniature": { - name: "Miniature Railway", - terms: "rideable miniature railway,narrow gauge railway,minimum gauge railway" - }, - "railway/monorail": { - name: "Monorail", - terms: "" - }, - "railway/narrow_gauge": { - name: "Narrow Gauge Rail", - terms: "narrow gauge railway,narrow gauge railroad" - }, - "railway/rail": { - name: "Rail", - terms: "" - }, - "railway/signal": { - name: "Railway Signal", - terms: "signal,lights" - }, - "railway/subway_entrance": { - name: "Subway Entrance", - terms: "metro,transit" - }, - "railway/subway": { - name: "Subway", - terms: "metro,transit" - }, - "railway/switch": { - name: "Railway Switch", - terms: "switch,points" - }, - "railway/train_wash": { - name: "Train Wash", - terms: "wash,clean" - }, - "railway/tram": { - name: "Tram", - terms: "light rail,streetcar,tram,trolley" - }, - relation: { - name: "Relation", - terms: "" - }, - "route/ferry": { - name: "Ferry Route", - terms: "" - }, - shop: { - name: "Shop", - terms: "" - }, - "shop/fishmonger": { - name: "Fishmonger", - terms: "" - }, - "shop/furnace": { - name: "Furnace Store", - terms: "oven,stove" - }, - "shop/vacant": { - name: "Vacant Shop", - terms: "" - }, - "shop/agrarian": { - name: "Farm Supply Shop", - terms: "agricultural inputs,agricultural machines,seeds,pesticides,fertilizer,agricultural tools" - }, - "shop/alcohol": { - name: "Liquor Store", - terms: "alcohol,beer,booze,wine" - }, - "shop/anime": { - name: "Anime Shop", - terms: "manga,japan,cosplay,figurine,dakimakura" - }, - "shop/antiques": { - name: "Antiques Shop", - terms: "" - }, - "shop/appliance": { - name: "Appliance Store", - terms: "air conditioner,appliance,dishwasher,dryer,freezer,fridge,grill,kitchen,oven,refrigerator,stove,washer,washing machine" - }, - "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: "spa,salon,tanning" - }, - "shop/beauty/nails": { - name: "Nail Salon", - terms: "manicure,pedicure" - }, - "shop/beauty/tanning": { - name: "Tanning Salon", - terms: "" - }, - "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: "betting" - }, - "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_parts": { - name: "Car Parts Store", - terms: "auto" - }, - "shop/car_repair": { - name: "Car Repair Shop", - terms: "auto,garage,service" - }, - "shop/car": { - name: "Car Dealership", - terms: "auto" - }, - "shop/carpet": { - name: "Carpet Store", - terms: "rug" - }, - "shop/charity": { - name: "Charity Store", - terms: "thrift,op shop,nonprofit" - }, - "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: "sweet" - }, - "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/e-cigarette": { - name: "E-Cigarette Shop", - terms: "electronic,vapor" - }, - "shop/electronics": { - name: "Electronics Store", - terms: "appliance,audio,blueray,camera,computer,dvd,home theater,radio,speaker,tv,video" - }, - "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/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/furniture": { - name: "Furniture Store", - terms: "chair,sofa,table" - }, - "shop/garden_centre": { - name: "Garden Center", - terms: "landscape,mulch,shrub,tree" - }, - "shop/gas": { - name: "Bottled Gas Shop", - terms: "cng,lpg,natural gas,propane,refill,tank" - }, - "shop/gift": { - name: "Gift Shop", - terms: "souvenir" - }, - "shop/greengrocer": { - name: "Greengrocer", - terms: "fruit,vegetable" - }, - "shop/hairdresser": { - name: "Hairdresser", - terms: "barber" - }, - "shop/hardware": { - name: "Hardware Store", - terms: "" - }, - "shop/health_food": { - name: "Health Food Shop", - terms: "wholefood,vitamins,vegetarian,vegan" - }, - "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: "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: "shopping" - }, - "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: "bike" - }, - "shop/music": { - name: "Music Store", - terms: "CD,vinyl" - }, - "shop/musical_instrument": { - name: "Musical Instrument Store", - terms: "guitar" - }, - "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/pastry": { - name: "Pastry Shop", - terms: "patisserie,cake shop,cakery" - }, - "shop/pawnbroker": { - name: "Pawn Shop", - terms: "" - }, - "shop/perfumery": { - name: "Perfume Store", - terms: "" - }, - "shop/pet_grooming": { - name: "Pet Grooming Store", - terms: "dog" - }, - "shop/pet": { - name: "Pet Store", - terms: "animal,cat,dog,fish,kitten,puppy,reptile" - }, - "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/tiles": { - name: "Tile Shop", - terms: "" - }, - "shop/tobacco": { - name: "Tobacco Shop", - terms: "" - }, - "shop/toys": { - name: "Toy Store", - terms: "" - }, - "shop/trade": { - name: "Trade Shop", - terms: "" - }, - "shop/travel_agency": { - name: "Travel Agency", - terms: "" - }, - "shop/tyres": { - name: "Tire Store", - terms: "" - }, - "shop/vacuum_cleaner": { - name: "Vacuum Cleaner Store", - terms: "" - }, - "shop/variety_store": { - name: "Variety Store", - terms: "" - }, - "shop/video_games": { - name: "Video Game Store", - terms: "" - }, - "shop/video": { - name: "Video Store", - terms: "DVD" - }, - "shop/watches": { - name: "Watches Shop", - terms: "" - }, - "shop/water_sports": { - name: "Watersport/Swim Shop", - terms: "" - }, - "shop/weapons": { - name: "Weapon Shop", - terms: "ammo,gun,knife,knives" - }, - "shop/wholesale": { - name: "Wholesale Store", - terms: "warehouse club,cash and carry" - }, - "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: "climbing hut" - }, - "tourism/apartment": { - name: "Guest Apartment / Condo", - terms: "" - }, - "tourism/aquarium": { - name: "Aquarium", - terms: "fish,sea,water" - }, - "tourism/artwork": { - name: "Artwork", - terms: "mural,sculpture,statue" - }, - "tourism/attraction": { - name: "Tourist Attraction", - terms: "" - }, - "tourism/camp_site": { - name: "Campground", - terms: "tent,rv" - }, - "tourism/caravan_site": { - name: "RV Park", - terms: "Motor Home,Camper" - }, - "tourism/chalet": { - name: "Holiday Cottage", - terms: "holiday,holiday cottage,holiday home,vacation,vacation home" - }, - "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/information/board": { - name: "Information Board", - terms: "" - }, - "tourism/information/guidepost": { - name: "Guidepost", - terms: "signpost" - }, - "tourism/information/map": { - name: "Map", - terms: "" - }, - "tourism/information/office": { - name: "Tourist Information Office", - 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/trail_riding_station": { - name: "Trail Riding Station", - terms: "" - }, - "tourism/viewpoint": { - name: "Viewpoint", - terms: "" - }, - "tourism/wilderness_hut": { - name: "Wilderness Hut", - terms: "wilderness hut,backcountry hut,bothy" - }, - "tourism/zoo": { - name: "Zoo", - terms: "animal" - }, - traffic_calming: { - name: "Traffic Calming", - terms: "bump,hump,slow,speed" - }, - "traffic_calming/bump": { - name: "Speed Bump", - terms: "hump,speed,slow" - }, - "traffic_calming/chicane": { - name: "Traffic Chicane", - terms: "driveway link,speed,slow" - }, - "traffic_calming/choker": { - name: "Traffic Choker", - terms: "speed,slow" - }, - "traffic_calming/cushion": { - name: "Speed Cushion", - terms: "bump,hump,speed,slow" - }, - "traffic_calming/dip": { - name: "Dip", - terms: "speed,slow" - }, - "traffic_calming/hump": { - name: "Speed Hump", - terms: "bump,speed,slow" - }, - "traffic_calming/island": { - name: "Traffic Island", - terms: "circle,roundabout,slow" - }, - "traffic_calming/rumble_strip": { - name: "Rumble Strip", - terms: "audible lines,sleeper lines,growlers" - }, - "traffic_calming/table": { - name: "Speed Table", - terms: "flat top,hump,speed,slow" - }, - "type/multipolygon": { - name: "Multipolygon", - terms: "" - }, - "type/boundary": { - name: "Boundary", - terms: "" - }, - "type/boundary/administrative": { - name: "Administrative Boundary", - 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: "Only Left Turn", - terms: "" - }, - "type/restriction/only_right_turn": { - name: "Only Right Turn", - terms: "" - }, - "type/restriction/only_straight_on": { - name: "Only Straight On", - terms: "" - }, - "type/restriction/only_u_turn": { - name: "Only U-turn", - terms: "" - }, - "type/route_master": { - name: "Route Master", - 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/light_rail": { - name: "Light Rail Route", - terms: "" - }, - "type/route/pipeline": { - name: "Pipeline Route", - terms: "" - }, - "type/route/piste": { - name: "Piste/Ski Route", - terms: "" - }, - "type/route/power": { - name: "Power Route", - terms: "" - }, - "type/route/road": { - name: "Road Route", - terms: "" - }, - "type/route/subway": { - name: "Subway Route", - terms: "" - }, - "type/route/train": { - name: "Train Route", - terms: "" - }, - "type/route/tram": { - name: "Tram Route", - terms: "" - }, - "type/site": { - name: "Site", - terms: "" - }, - "type/waterway": { - name: "Waterway", - terms: "" - }, - vertex: { - name: "Other", - 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_intermittent": { - name: "Intermittent Stream", - terms: "arroyo,beck,branch,brook,burn,course,creek,drift,flood,flow,gully,run,runnel,rush,spate,spritz,tributary,wadi,wash,watercourse" - }, - "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/waterfall": { - name: "Waterfall", - terms: "fall" - }, - "waterway/weir": { - name: "Weir", - terms: "" - } - } - }, - imagery: { - Bing: { - description: "Satellite and aerial imagery.", - name: "Bing aerial imagery" - }, - "DigitalGlobe-Premium": { - attribution: { - text: "Terms & Feedback" - }, - description: "Premium DigitalGlobe satellite imagery.", - name: "DigitalGlobe Premium Imagery" - }, - "DigitalGlobe-Premium-vintage": { - attribution: { - text: "Terms & Feedback" - }, - description: "Imagery boundaries and capture dates. Labels appear at zoom level 13 and higher.", - name: "DigitalGlobe Premium Imagery Vintage" - }, - "DigitalGlobe-Standard": { - attribution: { - text: "Terms & Feedback" - }, - description: "Standard DigitalGlobe satellite imagery.", - name: "DigitalGlobe Standard Imagery" - }, - "DigitalGlobe-Standard-vintage": { - attribution: { - text: "Terms & Feedback" - }, - description: "Imagery boundaries and capture dates. Labels appear at zoom level 13 and higher.", - name: "DigitalGlobe Standard Imagery Vintage" - }, - EsriWorldImagery: { - attribution: { - text: "Terms & Feedback" - }, - description: "Esri world imagery.", - name: "Esri World Imagery" - }, - EsriWorldImageryClarity: { - attribution: { - text: "Terms & Feedback" - }, - description: "Esri archive imagery that may be clearer and more accurate than the default layer.", - name: "Esri World Imagery (Clarity) Beta" - }, - MAPNIK: { - attribution: { - text: "© OpenStreetMap contributors, CC-BY-SA" - }, - description: "The default OpenStreetMap layer.", - name: "OpenStreetMap (Standard)" - }, - Mapbox: { - attribution: { - text: "Terms & Feedback" - }, - description: "Satellite and aerial imagery.", - name: "Mapbox Satellite" - }, - "OSM_Inspector-Addresses": { - attribution: { - text: "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA" - }, - name: "OSM Inspector: Addresses" - }, - "OSM_Inspector-Geometry": { - attribution: { - text: "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA" - }, - name: "OSM Inspector: Geometry" - }, - "OSM_Inspector-Highways": { - attribution: { - text: "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA" - }, - name: "OSM Inspector: Highways" - }, - "OSM_Inspector-Multipolygon": { - attribution: { - text: "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA" - }, - name: "OSM Inspector: Area" - }, - "OSM_Inspector-Places": { - attribution: { - text: "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA" - }, - name: "OSM Inspector: Places" - }, - "OSM_Inspector-Routing": { - attribution: { - text: "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA" - }, - name: "OSM Inspector: Routing" - }, - "OSM_Inspector-Tagging": { - attribution: { - text: "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA" - }, - name: "OSM Inspector: Tagging" - }, - "US-TIGER-Roads-2012": { - name: "TIGER Roads 2012" - }, - "US-TIGER-Roads-2014": { - 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", - name: "TIGER Roads 2014" - }, - "US-TIGER-Roads-2017": { - description: "Yellow = Public domain map data from the US Census. Red = Data not found in OpenStreetMap", - name: "TIGER Roads 2017" - }, - US_Forest_Service_roads_overlay: { - description: "Highway: Green casing = unclassified. Brown casing = track. Surface: gravel = light brown fill, Asphalt = black, paved = gray, ground =white, concrete = blue, grass = green. Seasonal = white bars", - name: "U.S. Forest Roads Overlay" - }, - "Waymarked_Trails-Cycling": { - attribution: { - text: "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0" - }, - name: "Waymarked Trails: Cycling" - }, - "Waymarked_Trails-Hiking": { - attribution: { - text: "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0" - }, - name: "Waymarked Trails: Hiking" - }, - "Waymarked_Trails-MTB": { - attribution: { - text: "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0" - }, - name: "Waymarked Trails: MTB" - }, - "Waymarked_Trails-Skating": { - attribution: { - text: "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0" - }, - name: "Waymarked Trails: Skating" - }, - "Waymarked_Trails-Winter_Sports": { - attribution: { - text: "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0" - }, - name: "Waymarked Trails: Winter Sports" - }, - "basemap.at": { - attribution: { - text: "basemap.at" - }, - description: "Basemap of Austria, based on government data.", - name: "basemap.at" - }, - "basemap.at-orthofoto": { - attribution: { - text: "basemap.at" - }, - description: "Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.", - name: "basemap.at Orthofoto" - }, - hike_n_bike: { - attribution: { - text: "© OpenStreetMap contributors" - }, - name: "Hike & Bike" - }, - mapbox_locator_overlay: { - attribution: { - text: "Terms & Feedback" - }, - description: "Shows major features to help orient you.", - name: "Locator Overlay" - }, - openpt_map: { - attribution: { - text: "© OpenStreetMap contributors, CC-BY-SA" - }, - name: "OpenPT Map (overlay)" - }, - "osm-gps": { - attribution: { - text: "© OpenStreetMap contributors" - }, - description: "Public GPS traces uploaded to OpenStreetMap.", - name: "OpenStreetMap GPS traces" - }, - "osm-mapnik-black_and_white": { - attribution: { - text: "© OpenStreetMap contributors, CC-BY-SA" - }, - name: "OpenStreetMap (Standard Black & White)" - }, - "osm-mapnik-german_style": { - attribution: { - text: "© OpenStreetMap contributors, CC-BY-SA" - }, - name: "OpenStreetMap (German Style)" - }, - qa_no_address: { - attribution: { - text: "Simon Poole, Data ©OpenStreetMap contributors" - }, - name: "QA No Address" - }, - skobbler: { - attribution: { - text: "© Tiles: skobbler Map data: OpenStreetMap contributors" - }, - name: "skobbler" - }, - "stamen-terrain-background": { - attribution: { - text: "Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL" - }, - name: "Stamen Terrain" - }, - "tf-cycle": { - attribution: { - text: "Maps © Thunderforest, Data © OpenStreetMap contributors" - }, - name: "Thunderforest OpenCycleMap" - }, - "tf-landscape": { - attribution: { - text: "Maps © Thunderforest, Data © OpenStreetMap contributors" - }, - name: "Thunderforest Landscape" - } - }, - community: { - "cape-coast-youthmappers": { - name: "University of Cape Coast YouthMappers", - description: "Follow us on Twitter: {url}", - extendedDescription: "This is the official handle for the Youth Mappers chapter of the University of Cape Coast, Ghana. we love maps, open data and helping the vulnerable." - }, - "osm-gh-facebook": { - name: "OpenStreetMap Ghana on Facebook", - description: "Facebook group for people interested in OpenStreetMap.", - extendedDescription: "Mappers in Ghana community, promoting OpenStreetMap and Humanitarian OpenStreetMap Team (HOT) projects in Ghana. Join us." - }, - "osm-gh-twitter": { - name: "OpenStreetMap Ghana on Twitter", - description: "Follow us on Twitter: {url}" - }, - "talk-gh": { - name: "Talk-gh Mailing List", - description: "Talk-gh is the official mailing list for Ghana OSM community." - }, - "osm-mg-facebook": { - name: "OpenStreetMap Madagascar Facebook Group", - description: "Malagasy Facebook group for people interested in OpenStreetMap." - }, - "talk-mg": { - name: "Talk-mg Mailing List", - description: "Place for OpenStreetMap contributors, communities and users in Madagascar to share and discuss." - }, - "OSM-BGD-facebook": { - name: "OpenStreetMap Bangladesh", - description: "Improve OpenStreetMap in Bangladesh", - extendedDescription: "Mapping in Bangladesh? Have questions, want to connect with the community here? Join us at {url}. All are welcome!" - }, - "OSM-India-facebook": { - name: "OpenStreetMap India - Participatory neighborhood mapping", - description: "Improve OpenStreetMap in India", - extendedDescription: "Mapping in India? Have questions, want to connect with the community here? Join us at {url}. All are welcome!", - events: { - sotmasia2018: { - name: "State of the Map Asia 2018", - description: "Join the 2018 OpenStreetMap region-wide event at State of the Map Asia in India", - where: "Indian Institute of Management, Bangalore, India" - } - } - }, - "OSM-india-mailinglist": { - name: "OpenStreetMap India Mailinglist", - description: "Talk-in is the official Mailinglist for Indian Community" - }, - "OSM-india-twitter": { - name: "OpenStreetMap India Twitter", - description: "We are just a tweet away: {url}" - }, - "OSM-India-Puducherry-Facebook": { - name: "Free Software Hardware Movement - Facebook", - description: "FSHM Facebook page to know about community events, activities", - extendedDescription: "FSHM organizes events relating to free software/hardware, technology, activism and OpenStreetMap. Its FB page is the best way to keep in contact with its events." - }, - "OSM-India-Puducherry-Matrix": { - name: "Free Software Hardware Movement - Matrix", - description: "FSHM Riot group to discuss, share and update mapping activities, events in and around Puducherry", - extendedDescription: "FSHM community members share their OSM mapping updates / experiences through the Riot.im group, this group is also used to discuss things related to free software / hardware, technology and activism." - }, - "OSM-IDN-facebook": { - name: "OpenStreetMap Indonesia", - description: "Improve OpenStreetMap in Indonesia", - extendedDescription: "Mapping in Indonesia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!" - }, - "OSM-japan-facebook": { - name: "OpenStreetMap Japan Community", - description: "Mappers and OpenStreetMap users in Japan" - }, - "OSM-japan-mailinglist": { - name: "OpenStreetMap Japan Mailinglist", - description: "Talk-ja is an Official Mailinglist for Japanese Community" - }, - "OSM-japan-twitter": { - name: "OpenStreetMap Japan Twitter", - description: "Hashtag on Twitter: {url}" - }, - "OSM-japan-website": { - name: "OpenStreetMap Japan", - description: "Mappers and OpenStreetMap users in Japan" - }, - "OSM-korea-telegram": { - name: "OSM Korea Telegram Channel", - description: "Unofficial Channnel for OpenStreetMap contributors, communities and users in Korea to share and discuss." - }, - "OSM-MY-facebook": { - name: "OpenStreetMap Malaysia on Facebook", - description: "For chat about anything related to OpenStreetMap!" - }, - "OSM-MY-forum": { - name: "OpenStreetMap Malaysia Forum", - description: "Official OpenStreetMap Malaysia Forum" - }, - "OSM-MY-matrix": { - name: "OpenStreetMap Malaysia Riot channel", - description: "All mappers are welcome! Sign up at {signupUrl}" - }, - "OSM-MNG-facebook": { - name: "OpenStreetMap Mongolia", - description: "Improve OpenStreetMap in Mongolia", - extendedDescription: "Mapping in Mongolia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!" - }, - "OSM-MMR-facebook": { - name: "OpenStreetMap Myanmar", - description: "Improve OpenStreetMap in Myanmar", - extendedDescription: "Mapping in Myanmar? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!" - }, - "OSM-Nepal-facebook": { - name: "OpenStreetMap Nepal", - description: "Improve OpenStreetMap in Nepal", - extendedDescription: "Mapping in Nepal? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!" - }, - "OSM-PH-facebook": { - name: "OpenStreetMap PH Facebook", - description: "Welcome to OpenStreetMap Philippines, where we encourage all fellow Filipinos to contribute to the OpenStreetMap project." - }, - "OSM-PH-mailinglist": { - name: "Talk-ph Mailing List", - description: "A mailing list to discuss OpenStreetMap in the Philippines" - }, - "OSM-PH-slack": { - name: "OpenStreetMap PH Slack", - description: "All are welcome! Sign up at {signupUrl}" - }, - "OSM-PH-telegram": { - name: "OpenStreetMap PH Telegram", - description: "Un-official, Telegram local community of OpenStreetMap contributors and friends in the Philippines" - }, - "OSM-RU-forum": { - name: "OpenStreetMap RU forum", - description: "OpenStreetMap Russia web forum" - }, - "OSM-RU-telegram": { - name: "OpenStreetMap RU telegram", - description: "OpenStreetMap Russia telegram chat" - }, - "OSM-LKA-facebook": { - name: "OpenStreetMap Sri Lanka", - description: "Improve OpenStreetMap in Sri Lanka", - extendedDescription: "Mapping in Sri Lanka? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!" - }, - "OSM-TW-facebook": { - name: "OpenStreetMap Taiwan Community", - description: "Facebook Group for Mappers and OpenStreetMap users to discuss matters about Taiwan." - }, - "OSM-TW-mailinglist": { - name: "OpenStreetMap Taiwan Mailinglist", - description: "Talk-tw is an Official Mailinglist for the Communities to dicuss matters about Taiwan" - }, - "OSM-TH-CNX-meetup": { - name: "OSM Meetup Chiang Mai", - description: "Irregular meeting of the OpenStreetMap community in Chiang Mai", - extendedDescription: "Members of the OpenStreetMap community meet every few months in Chiang Mai. Get in contact and check out {url} to see when the next meetup is scheduled" - }, - "OSM-TH-forum": { - name: "OpenStreetMap TH forum", - description: "OpenStreetMap Thailand web forum" - }, - "al-forum": { - name: "OSM Albania Forum", - description: "OpenStreetMap Albania Forum" - }, - "al-maptime-tirana": { - name: "Maptime Tirana", - description: "Social events organized around mapping - beginners most welcome!", - extendedDescription: "Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time." - }, - "al-telegram": { - name: "OSM Albania Telegram channel", - description: "OpenStreetMap Albania Telegram channel" - }, - "at-forum": { - name: "OpenStreetMap Austria Forum", - description: "The official forum for OpenStreetMap questions in and around Austria" - }, - "at-mailinglist": { - name: "Talk-at Mailing List", - description: "Talk-at is the official mailing list for the Austrian OSM community" - }, - "at-twitter": { - name: "OpenStreetMap Austria Twitter", - description: "OpenStreetMap Austria On Twitter: {url}" - }, - "osmgraz-meetup": { - name: "OSM community meetup Graz", - description: "Monthly meetup of the OpenStreetMap community in Graz" - }, - "osmgraz-twitter": { - name: "OSM community Graz on twitter", - description: "OpenStreetMap community in Graz on twitter" - }, - "osm-at": { - name: "OpenStreetMap Austria", - description: "The platform for information on OpenStreetMap in Austria" - }, - byosm: { - name: "OpenStreetMap Belarus", - description: "OpenStreetMap Belarus telegram chat" - }, - "be-facebook": { - name: "OpenStreetMap BE Community", - description: "Mappers and OpenStreetMap on Facebook in Belgium" - }, - "be-forum": { - name: "OpenStreetMap BE forum", - description: "OpenStreetMap Belgium web forum" - }, - "be-irc": { - name: "OpenStreetMap Belgium IRC", - description: "Join #osmbe on irc.oftc.net (port 6667)", - extendedDescription: "Join #osmbe on irc.oftc.net (port 6667), it is bridged with the Matrix chat channel" - }, - "be-mailinglist": { - name: "Talk-be Mailing List", - description: "Talk-be is the official mailing list for the Belgian OSM community" - }, - "be-maptime": { - name: "Maptime Belgium", - description: "Social events organized around mapping - beginners most welcome!", - extendedDescription: "Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time." - }, - "be-matrix": { - name: "OpenStreetMap BE Matrix channel", - description: "All mappers are welcome!", - extendedDescription: "Most talk is happening at the \"OpenStreetMap Belgium\" channel. You can ask anything there! The other rooms are for specific subjects." - }, - "be-meetup": { - name: "OpenStreetMap Belgium Meetup", - description: "Real life meetups of everyone who is interested in OpenStreetMap", - extendedDescription: "Physical meetups are great to meet other mappers, ask them questions and to learn a lot. Especially new contributors are very welcome!" - }, - "be-twitter": { - name: "OpenStreetMap Belgium Twitter", - description: "OSM Belgium on Twitter: @osm_be" - }, - "talk-cz-mailinglist": { - name: "Talk-cz Mailing List", - description: "Talk-cz is the official mailing list for Czech community" - }, - "dk-forum": { - name: "OpenStreetMap Denmark Web Forum", - description: "OpenStreetMap Denmark web forum" - }, - "dk-irc": { - name: "OpenStreetMap Denmark IRC", - description: "Join #osm-dk on irc.oftc.net (port 6667)" - }, - "dk-mailinglist": { - name: "Talk-dk Mailing List", - description: "A mailing list to discuss OpenStreetMap in Denmark" - }, - "fi-forum": { - name: "OpenStreetMap FI forum", - description: "OpenStreetMap Finland web forum" - }, - "fi-irc": { - name: "OpenStreetMap Finland IRC", - description: "Join #osm-fi on irc.oftc.net (port 6667)" - }, - "fi-mailinglist": { - name: "Talk-fi Mailing List", - description: "Talk-fi is the official mailing list for the Finnish OSM community" - }, - "fr-facebook": { - name: "OpenStreetMap France Facebook page", - description: "OpenStreetMap France Facebook page" - }, - "fr-forum": { - name: "OpenStreetMap France web forum", - description: "OpenStreetMap France web forum" - }, - "fr-irc": { - name: "OpenStreetMap France on IRC", - description: "Join #osm-fr on irc.oftc.net (port 6667)" - }, - "fr-mailinglist": { - name: "Talk-fr Mailing List", - description: "Talk-fr mailing list" - }, - "fr-twitter": { - name: "OpenStreetMap France on Twitter", - description: "OpenStreetMap France on Twitter: {url}" - }, - "de-berlin-mailinglist": { - name: "Berlin Mailing List", - description: "This is the mailing list for the Berlin OSM community" - }, - "de-berlin-meetup": { - name: "OpenStreetMap Berlin-Brandenburg Meetup", - description: "Mappers and OpenStreetMap users in the Berlin area" - }, - "de-berlin-telegram": { - name: "@osmberlin on Telegram", - description: "OpenStreetMap Berlin Telegram chat" - }, - "de-berlin-twitter": { - name: "OpenStreetMap Berlin Twitter", - description: "Follow us on Twitter: {url}" - }, - "de-forum": { - name: "OpenStreetMap DE forum", - description: "OpenStreetMap Germany web forum" - }, - "de-irc": { - name: "OpenStreetMap Germany IRC", - description: "Join #osm-de on irc.oftc.net (port 6667)" - }, - "de-mailinglist": { - name: "Talk-de Mailing List", - description: "Talk-de is the official mailing list for the German OSM community" - }, - "de-ostwestfalen-lippe-mailinglist": { - name: "OWL Mailing List", - description: "This is the mailing list for the Ostwestfalen-Lippe OSM community" - }, - "osm-de": { - name: "OpenStreetMap Germany", - description: "The platform for information on OpenStreetMap in Germany" - }, - "hu-facebook": { - name: "OpenStreetMap HU on Facebook", - description: "Mappers and OpenStreetMap Facebook in Hungary" - }, - "hu-forum": { - name: "OpenStreetMap HU forum", - description: "OpenStreetMap Hungary web forum" - }, - "hu-meetup": { - name: "OpenStreetMap Hungary Meetup", - description: "The platform for organizing meetups in Hungary" - }, - "it-facebook": { - name: "OpenStreetMap Italy Facebook", - description: "Join the OpenStreetMap Italy community on Facebook" - }, - "it-irc": { - name: "OpenStreetMap Italy IRC", - description: "Join #osm-it on irc.oftc.net (port 6667)" - }, - "it-mailinglist": { - name: "Talk-it Mailing List", - description: "Talk-it is the official mailing list for the Italian OSM community" - }, - "it-telegram": { - name: "@OpenStreetMapItalia on Telegram", - description: "OpenStreetMap Italy Telegram chat" - }, - "it-twitter": { - name: "OpenStreetMap Italy Twitter", - description: "Follow us on Twitter at {url}" - }, - "OSM-Rome-meetup": { - name: "Incontro Mappatori Romani", - description: "Improve OpenStreetMap in the Rome area", - extendedDescription: "We aim to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Lazio." - }, - "South-Tyrol-Mailing-List": { - name: "OpenStreetMap mailing list for South Tyrol", - description: "OpenStreetMap Italy regional talk list for South Tyrol" - }, - "talk-it-lazio": { - name: "OpenStreetMap IT Lazio", - description: "All are welcome! Sign up at {signupUrl}", - extendedDescription: "Mailinglist for Rome and Lazio area." - }, - "Trentino-Mailing-List": { - name: "OpenStreetMap mailing list for Trentino", - description: "OpenStreetMap Italy regional talk list for Trentino" - }, - "no-forum": { - name: "OpenStreetMap Norway Web Forum", - description: "OpenStreetMap Norway web forum" - }, - "no-irc": { - name: "OpenStreetMap Norway on IRC", - description: "Chat room for mappers and OpenStreetMap users, developers and enthusiasts in Norway" - }, - "no-mailinglist": { - name: "OpenStreetMap Norway mailing list", - description: "Mailing list for mappers and OpenStreetMap users, developers and enthusiasts in Norway" - }, - "OSM-PL-facebook-group": { - name: "OpenStreetMap Poland Facebook group", - description: "Group for mappers and users of OpenStreetMap in Poland" - }, - "OSM-PL-forum": { - name: "OpenStreetMap Poland Forum", - description: "Forum of Polish OpenStreetMap community" - }, - "OSM-ES-mailinglist": { - name: "Talk-es mailing list", - description: "A mailing list to discuss OpenStreetMap in Spain" - }, - "OSM-ES-telegram": { - name: "@OSMes on Telegram", - description: "OpenStreetMap Spain Telegram chat" - }, - "osm-se": { - name: "OpenStreetMap.se", - description: "Provide OSM services and information for the local community in Sweden" - }, - "se-facebook": { - name: "OpenStreetMap Sweden Facebook", - description: "OpenStreetMap Sweden on Facebook" - }, - "se-forum": { - name: "OpenStreetMap Sweden Web Forum", - description: "OpenStreetMap Sweden web forum" - }, - "se-irc": { - name: "OpenStreetMap Sweden IRC", - description: "Join #osm.se on irc.oftc.net (port 6667)" - }, - "se-mailinglist": { - name: "Talk-se Mailing List", - description: "A mailing list to discuss OpenStreetMap in Sweden" - }, - "se-twitter": { - name: "OpenStreetMap Sweden on Twitter", - description: "Follow us on Twitter: {url}" - }, - "Nottingham-OSM-pub-meetup": { - name: "East Midlands (Nottingham) Monthly pub meet-up", - description: "Social gathering for East Midlands mappers and users", - extendedDescription: "A group have been meeting since March 2011, initially in Nottingham, and, more recently in Derby, and from time to time elsewhere in the East Midlands. These are social gatherings, but are an excellent place to come and ask specific questions about OSM either in the area or in general. In the summer months we usually do some light mapping for an hour in the vicinity of our meeting place. The group as a whole has a special interest in mapping public rights of way and from time to time has mapping meetings for this purpose." - }, - "gb-mailinglist": { - name: "Talk-gb Mailing List", - description: "Talk-gb is the main communication forum list for the British (including Northern Ireland) OSM community" - }, - "mappa-mercia-group": { - name: "Mappa Mercia local group", - description: "A home for OpenStreetMap enthusiasts in the Midlands", - extendedDescription: "Mappa Mercia is a project to grow OpenStreetMap in the West Midlands, UK. We run community events, provide training and support local organisations wishing to open up their data." - }, - "gb-irc": { - name: "OpenStreetMap United Kingdom IRC", - description: "Join #osm-gb on irc.oftc.net (port 6667)", - extendedDescription: "Join #osm-gb on irc.oftc.net (port 6667), please be patient and wait for a few minutes if you ask a question" - }, - "OSM-CA-Slack": { - name: "OSM-CA Slack", - description: "All are welcome! Sign up at {signupUrl}." - }, - "OSM-Vancouver-meetup": { - name: "OpenStreetMap Vancouver", - description: "Mappers and OpenStreetMap users in the Vancouver, BC area" - }, - "OSM-CU-telegram": { - name: "OSM Cuba on Telegram", - description: "OpenStreetMap Cuba Telegram chat" - }, - "OSM-NI-telegram": { - name: "OSM Nicaragua on Telegram", - description: "OpenStreetMap Nicaragua Telegram chat" - }, - "Bay-Area-OpenStreetMappers": { - name: "Bay Area OpenStreetMappers", - description: "Improve OpenStreetMap in the Bay Area", - extendedDescription: "This group is about growing the OpenStreetMap community here in the Bay Area. Our events are open to everyone, from open source enthusiasts, cyclists, GIS professionals, geocachers, and beyond. Anyone and everyone who is interested in maps, map making and free map data is welcome to join our group as well as attend our events." - }, - "Central-Pennsylvania-OSM": { - name: "Central Pennsylvania OSM", - description: "Online mapping community based out of State College, PA" - }, - "Code-for-San-Jose-Slack": { - name: "Code for San Jose Slack", - description: "All are welcome! Sign up at {signupUrl}, then join the #osm channel." - }, - "Dallas-Fort-Worth-OSM": { - name: "Dallas-Fort Worth OSM", - description: "The OpenStreetMap user group for Dallas-Fort Worth", - extendedDescription: "Dallas, Fort Worth, and all the cities in between are abounding with creative and tech-savvy people. The vision for this usergroup is to find new ways to use the amazing resource of OSM." - }, - GeoPhilly: { - name: "GeoPhilly", - description: "Meetup for map enthusiasts in the Philadelphia area", - extendedDescription: "GeoPhilly unites developers, geographers, data geeks, open source enthusiasts, civic hackers and map addicts in our shared love of maps and the stories they tell. If you use maps as part of your work or just want to learn more, this is the meetup for you! Our events aim to be open, friendly, educational and social and range from happy hours to lightning talks or even workshops. Come create a diverse, inspiring geospatial community in the Philadelphia with us!" - }, - MapMinnesota: { - name: "MapMinnesota", - description: "Mappers and OpenStreetMap enthusiasts in the Twin Cities area", - extendedDescription: "Connecting OpenStreetMap enthusiasts in Minnesota and the Twin Cities!" - }, - "Mapping-DC-meetup": { - name: "Mapping DC", - description: "Improve OpenStreetMap in the DC area", - extendedDescription: "We are a group of volunteer mappers who aim to improve the OpenStreetMap in the DC area. We also aim to teach others about the OSM ecosystem, data analytics, cartography, and GIS. We gather every other month at meetups to focus on one area of our city." - }, - "Maptime-ME-meetup": { - name: "MaptimeME", - description: "Mappers and OpenStreetMap users, around Portland, ME", - extendedDescription: "Maptime is, rather literally, time for mapmaking. Our mission is to open the doors of cartographic possibility to anyone interested by creating a time and space for collaborative learning, exploration, and map creation using mapping tools and technologies." - }, - "OpenCleveland-meetup": { - name: "Open Cleveland", - description: "Improve OpenStreetMap in the Cleveland area", - extendedDescription: "Open Geo Cleveland aims to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Northeast Ohio. We're also a maptime chapter =)" - }, - "OSM-Boston": { - name: "OpenStreetMap Boston", - description: "Mappers and OpenStreetMap users in the Boston area", - extendedDescription: "OpenStreetMap is the free and open, wiki-style map of the world, with hundreds of thousands of contributions every day from people like you. Editing the map is simple, and fun! Join us both indoors and outdoors in our effort to create the best map of the Boston area and the rest of the world!" - }, - "OSM-Central-Salish-Sea": { - name: "OpenStreetMap Central Salish Sea", - description: "Mappers and OpenStreetMap users around Mount Vernon, WA", - extendedDescription: "OpenStreetMap is an map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more. We meet all the time to talk maps, make maps and have fun!" - }, - "OSM-Chattanooga": { - name: "OSM Chattanooga", - description: "The OpenStreetMap user group for Chattanooga" - }, - "OSM-Colorado": { - name: "OpenStreetMap Colorado", - description: "Mappers and OpenStreetMap users in the state of Colorado, USA", - extendedDescription: "OpenStreetMap (OSM) Colorado is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties." - }, - "OSM-NYC": { - name: "OpenStreetMap NYC", - description: "Mappers and OpenStreetMap users, developers and enthusiasts in the New York Metropolitan area" - }, - "OSM-Portland": { - name: "OpenStreetMap Portland", - description: "Mappers and OpenStreetMap users in the Portland area", - extendedDescription: "OpenStreetMap (OSM) is a map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more, and come join us at a meetup to talk maps, contribute to OSM, and have fun!" - }, - "OSM-Seattle": { - name: "OpenStreetMap Seattle", - description: "Mappers and OpenStreetMap users in the Seattle area" - }, - "OSM-SoCal": { - name: "OpenStreetMap Southern California", - description: "Let's have some fun, contribute something to Los Angeles, and learn about mapping!", - extendedDescription: "OpenStreetMap (OSM) Southern California is for anyone interested in mapping to get together to work with OpenStreetMap. OpenStreetMap, the Wikipedia of maps, is a free open-source map of the world being created by more than 1,000,000 volunteers around the globe. Everyone is welcome. If you don't know OpenStreetMap, we'll teach you. If you have an idea for a mapping project or even a field trip that the group can do, great!" - }, - "OSM-South-Bay": { - name: "OSM South Bay", - description: "Map Nights hosted by Code for San Jose", - extendedDescription: "Code for San Jose, the local Code for America brigade, hosts monthly Map Nights on Thursday nights in downtown San José. Meet fellow South Bay mappers, help out with local mapping projects, and hear about other civic tech projects. Programming and GIS skills are not required." - }, - "OSM-Tampa-Bay": { - name: "OpenStreetMap Tampa Bay", - description: "Mappers and OpenStreetMap users in the Tampa Bay area", - extendedDescription: "OSM Tampa Bay group for local residents to get together and build out the definitive map of Tampa Bay with OpenStreetMap, the free and editable map of the world. If you're into maps, data, open source, GPS, hiking, cycling, et cetera, you'll love working with OpenStreetMap -- so join in! We'll get together and map and talk about new topics once-a-month or so." - }, - "OSM-US-Slack": { - name: "OpenStreetMap US Slack", - description: "All are welcome! Sign up at {signupUrl}" - }, - "OSM-US": { - name: "OpenStreetMap US", - description: "We help grow and improve OpenStreetMap in the United States.", - extendedDescription: "We support OpenStreetMap by holding annual conferences, providing community resources, building partnerships, and by spreading the word. Join OpenStreetMap US here: {signupUrl}" - }, - "OSM-Utah": { - name: "OpenStreetMap Utah", - description: "Mappers and OpenStreetMap users in the Salt Lake City area", - extendedDescription: "Activities may include things like Learn To Map workshops, mapping parties and outdoor data collection. The events will take place in the SLC area, at least initially. We are looking for seasoned mappers as well as people new to OSM. Join and let's do some mapping!" - }, - "OSM-Wyoming": { - name: "OpenStreetMap Wyoming", - description: "Mappers and OpenStreetMap users in the state of Wyoming", - extendedDescription: "OpenStreetMap (OSM) Wyoming is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties." - }, - "PHXGeo-meetup": { - name: "PHXGeo Meetup", - description: "Mappers and OpenStreetMap users in the Phoenix, AZ area", - extendedDescription: "This is a meetup group for those in the Phoenix area who like maps, GIS, OpenStreetMap, cartography and anything in between." - }, - "PHXGeo-twitter": { - name: "PHXGeo Twitter", - description: "Follow us on Twitter at {url}" - }, - "Western-Slope-facebook": { - name: "Western Slope OSM Facebook", - description: "Mappers and OpenStreetMap users around Grand Junction, CO" - }, - "Western-Slope-meetup": { - name: "Western Slope OSM Meetup", - description: "Mappers and OpenStreetMap users around Grand Junction, CO", - extendedDescription: "The goal of this group is to introduce OpenStreetMap to the community, develop a community of mappers, create the most amazing geodata possible using whatever method we can and finally strategize in order to get this data out into our community. Imagine accurate trail signage! Imagine further development of bike paths! Imagine anything you want, that's the joy of OpenStreetMap!" - }, - "Maptime-Australia-Slack": { - name: "Maptime Australia Slack", - description: "Sign up at {signupUrl}" - }, - "talk-au": { - name: "Talk-au Mailing List", - description: "Place for Aussie mappers to chat" - }, - "OSM-AR-facebook": { - name: "OpenStreetMap Argentina Facebook", - description: "Join the OpenStreetMap Argentina community on Facebook", - extendedDescription: "News from the local community" - }, - "OSM-AR-forum": { - name: "OpenStreetMap Argentina web forum", - description: "Join the OpenStreetMap Argentina web forum", - extendedDescription: "Ideal for long or important discussions. Slow response time." - }, - "OSM-AR-irc": { - name: "OpenStreetMap Argentina IRC", - description: "Join #osm-ar on irc.oftc.net (port 6667)", - extendedDescription: "You may find the most geeky user in the community." - }, - "OSM-AR-mailinglist": { - name: "Talk-ar Mailing List", - description: "Historic mailing list. Almost unused today." - }, - "OSM-AR-telegram": { - name: "OpenStreetMap Argentina Telegram", - description: "Join the OpenStreetMap Argentina community on Telegram", - extendedDescription: "The most active channel in the community, ideal for chatting and getting answers to your questions instantly. Everyone is welcome!" - }, - "OSM-AR-twitter": { - name: "OpenStreetMap Argentina Twitter", - description: "Follow us on Twitter at {url}", - extendedDescription: "News from the local community and OpenStreetMap in general." - }, - "OSM-BO-mailinglist": { - name: "Talk-bo Mailing List", - description: "Talk-bo is the official mailing list for the Bolivian OpenStreetMap community", - extendedDescription: "Mapping in Bolivia? Have questions, want to connect with the community here? Join us at {url}. All are welcome!" - }, - "Bahia-telegram": { - name: "OpenStreetMap Bahia Telegram Group", - description: "Join the OpenStreetMap Bahia community on Telegram", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!" - }, - "DF-telegram": { - name: "OpenStreetMap Brasília Telegram Group", - description: "Join the OpenStreetMap Brasília community on Telegram", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!" - }, - "OSM-br-mailinglist": { - name: "Talk-br Mailing List", - description: "A mailing list to discuss OpenStreetMap in Brazil" - }, - "OSM-br-telegram": { - name: "OpenStreetMap Brasil Telegram", - description: "Join the OpenStreetMap Brasil community on Telegram", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!" - }, - "OSM-br-twitter": { - name: "OpenStreetMap Brasil Twitter", - description: "Follow us on Twitter at {url}" - }, - "OSM-CL-facebook": { - name: "OpenStreetMap Chile Facebook", - description: "Join the OpenStreetMap Chile community on Facebook", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!" - }, - "OSM-CL-mailinglist": { - name: "Talk-cl Mailing List", - description: "A mailing list to discuss OpenStreetMap in Chile" - }, - "OSM-CL-telegram": { - name: "OpenStreetMap Chile Telegram", - description: "Join the OpenStreetMap Chile community on Telegram", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!" - }, - "OSM-CL-twitter": { - name: "OpenStreetMap Chile Twitter", - description: "Follow us on Twitter at {url}" - }, - "Maptime-Bogota": { - name: "Maptime Bogotá", - description: "We're a group of mappers interested in mapping in OpenStreetMap around Bogotá.", - extendedDescription: "Learn to collect data in the field and digitize onto OpenStreetMap. It is not necessary to have previous knowledge! You just need the desire to participate, learn, and have fun." - }, - "OSM-CO-facebook": { - name: "OpenStreetMap Colombia Facebook", - description: "Join the OpenStreetMap Colombia community on Facebook", - extendedDescription: "Join the community to learn more about OpenStreetMap. Everyone is welcome!" - }, - "OSM-CO-mailinglist": { - name: "Talk-co Mailing List", - description: "A mailing list to discuss OpenStreetMap in Colombia" - }, - "OSM-CO-telegram": { - name: "OSM Colombia on Telegram", - description: "OpenStreetMap Colombia Telegram chat" - }, - "OSM-CO-twitter": { - name: "OpenStreetMap Colombia Twitter", - description: "Follow us on Twitter at {url}" - }, - "OSM-CO": { - name: "OpenStreetMap Colombia", - description: "News of the OpenStreetMap Colombia community and the OSMCo Foundation" - }, - "OSM-EC-telegram": { - name: "OSM Ecuador on Telegram", - description: "OpenStreetMap Ecuador Telegram chat" - }, - "OSM-PY-telegram": { - name: "OSM Paraguay on Telegram", - description: "OpenStreetMap Paraguay Telegram chat" - }, - "OSM-PE-facebook": { - name: "OpenStreetMap Peru Facebook", - description: "Join the OpenStreetMap Peru community on Facebook" - }, - "OSM-PE-mailinglist": { - name: "Talk-pe Mailing List", - description: "The official mailing list for the OpenStreetMap Peru community" - }, - "OSM-PE-matrix": { - name: "OpenStreetMap Peru Matrix Chat", - description: "Chat with other members of the OpenStreetMap Peru community in Matrix." - }, - "OSM-PE-telegram": { - name: "OpenStreetMap Peru Telegram", - description: "Join the OpenStreetMap Peru community on Telegram" - }, - "OSM-PE-twitter": { - name: "OpenStreetMap Peru Twitter", - description: "Follow us on Twitter at {url}" - }, - "OSM-PE": { - name: "OpenStreetMap Peru", - description: "News and resources for the OpenStreetMap Peru community" - }, - "OSM-Facebook": { - name: "OpenStreetMap on Facebook", - description: "Like us on Facebook for news and updates about OpenStreetMap." - }, - "OSM-help": { - name: "OpenStreetMap Help", - description: "Ask a question and get answers on OSM's community-driven question and answer site.", - extendedDescription: "{url} is for everyone who needs help with OpenStreetMap. Whether you are a beginner mapper or have a technical question, we're here to help!" - }, - "OSM-Reddit": { - name: "OpenStreetMap on Reddit", - description: "/r/openstreetmap/ is a great place to learn more about OpenStreetMap. Ask us anything!" - }, - "OSM-Twitter": { - name: "OpenStreetMap Twitter", - description: "Follow us on Twitter at {url}" - }, - OSMF: { - name: "OpenStreetMap Foundation", - description: "OSMF is a UK-based not-for-profit that supports the OpenStreetMap Project", - extendedDescription: "OSMF supports the OpenStreetMap by fundraising, maintaining the servers which power OSM, organizing the annual State of the Map conference, and coordinating the volunteers who keep OSM running. You can show your support and have a voice in the direction of OpenStreetMap by joining as an OSMF member here: {signupUrl}", - events: { - sotm2018: { - name: "State of the Map 2018", - description: "Join us for 3 days in Milan, Italy for the annual worldwide OpenStreetMap conference, bringing together everyone in the community to socialize, share, and learn.", - where: "Milan, Italy" - } - } - } - } - }; - - var features$2 = { - cape_coast_gh: { - type: "Feature", - id: "cape_coast_gh", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -1.6, - 5 - ], - [ - -1.6, - 5.4 - ], - [ - -1, - 5.4 - ], - [ - -1, - 5 - ], - [ - -1.6, - 5 - ] - ] - ] - } - }, - ghana: { - type: "Feature", - properties: { - }, - id: "ghana", - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -3.11256, - 5.13335 - ], - [ - -2.97215, - 5.11112 - ], - [ - -2.94811, - 5.12753 - ], - [ - -2.75757, - 5.10599 - ], - [ - -2.7253, - 5.14087 - ], - [ - -2.78641, - 5.28242 - ], - [ - -2.78297, - 5.29541 - ], - [ - -2.76993, - 5.2937 - ], - [ - -2.76546, - 5.31797 - ], - [ - -2.77748, - 5.33079 - ], - [ - -2.77319, - 5.35557 - ], - [ - -2.72495, - 5.34224 - ], - [ - -2.78023, - 5.60642 - ], - [ - -2.86022, - 5.65049 - ], - [ - -2.92889, - 5.61838 - ], - [ - -2.96631, - 5.64127 - ], - [ - -2.95292, - 5.71643 - ], - [ - -3.02639, - 5.7096 - ], - [ - -3.01987, - 5.8575 - ], - [ - -3.07411, - 5.98624 - ], - [ - -3.10226, - 6.15284 - ], - [ - -3.15514, - 6.25114 - ], - [ - -3.17574, - 6.25182 - ], - [ - -3.17162, - 6.29755 - ], - [ - -3.23753, - 6.54183 - ], - [ - -3.23341, - 6.60049 - ], - [ - -3.26157, - 6.61959 - ], - [ - -3.21007, - 6.73417 - ], - [ - -3.24028, - 6.83031 - ], - [ - -2.95326, - 7.23817 - ], - [ - -2.97558, - 7.27018 - ], - [ - -2.92236, - 7.61436 - ], - [ - -2.77611, - 7.94432 - ], - [ - -2.60513, - 8.03747 - ], - [ - -2.62985, - 8.11769 - ], - [ - -2.48978, - 8.20877 - ], - [ - -2.64221, - 9.00988 - ], - [ - -2.77679, - 9.03972 - ], - [ - -2.76581, - 9.15633 - ], - [ - -2.66968, - 9.26478 - ], - [ - -2.93884, - 10.66601 - ], - [ - -2.82898, - 11.0113 - ], - [ - -0.68939, - 11.00051 - ], - [ - -0.60974, - 10.91962 - ], - [ - -0.43121, - 11.04095 - ], - [ - -0.43396, - 11.10295 - ], - [ - -0.27843, - 11.17672 - ], - [ - -0.13424, - 11.13967 - ], - [ - -0.14214, - 11.10632 - ], - [ - -0.05905, - 11.08341 - ], - [ - -0.0388, - 11.10733 - ], - [ - -0.01339, - 11.11204 - ], - [ - 0.02369, - 11.05308 - ], - [ - 0.03296, - 10.97793 - ], - [ - -0.00549, - 10.96411 - ], - [ - -0.02266, - 10.81914 - ], - [ - -0.07141, - 10.76856 - ], - [ - -0.07999, - 10.69806 - ], - [ - -0.05905, - 10.63294 - ], - [ - 0.04257, - 10.60257 - ], - [ - 0.0618, - 10.56207 - ], - [ - 0.14351, - 10.52629 - ], - [ - 0.17097, - 10.42265 - ], - [ - 0.26711, - 10.41151 - ], - [ - 0.28633, - 10.42096 - ], - [ - 0.34264, - 10.31357 - ], - [ - 0.39757, - 10.31492 - ], - [ - 0.39722, - 10.30546 - ], - [ - 0.37148, - 10.28283 - ], - [ - 0.35225, - 10.10746 - ], - [ - 0.41817, - 10.06487 - ], - [ - 0.40924, - 10.01822 - ], - [ - 0.36461, - 10.03174 - ], - [ - 0.34676, - 9.66506 - ], - [ - 0.26779, - 9.64678 - ], - [ - 0.24994, - 9.44771 - ], - [ - 0.42847, - 9.48564 - ], - [ - 0.56168, - 9.40977 - ], - [ - 0.48203, - 8.80501 - ], - [ - 0.3804, - 8.74122 - ], - [ - 0.47653, - 8.59324 - ], - [ - 0.65369, - 8.49546 - ], - [ - 0.65781, - 8.42347 - ], - [ - 0.70862, - 8.38339 - ], - [ - 0.72784, - 8.28964 - ], - [ - 0.60425, - 8.21693 - ], - [ - 0.62004, - 7.70623 - ], - [ - 0.59464, - 7.70283 - ], - [ - 0.5809, - 7.62253 - ], - [ - 0.52322, - 7.5953 - ], - [ - 0.52734, - 7.45099 - ], - [ - 0.56168, - 7.39243 - ], - [ - 0.62759, - 7.40741 - ], - [ - 0.66055, - 7.30935 - ], - [ - 0.59395, - 7.11248 - ], - [ - 0.61317, - 7.09306 - ], - [ - 0.59601, - 7.00549 - ], - [ - 0.52322, - 6.97823 - ], - [ - 0.52322, - 6.94006 - ], - [ - 0.56442, - 6.92234 - ], - [ - 0.53284, - 6.82962 - ], - [ - 0.65094, - 6.73962 - ], - [ - 0.63446, - 6.63733 - ], - [ - 0.74707, - 6.57048 - ], - [ - 0.71411, - 6.51864 - ], - [ - 0.90242, - 6.33355 - ], - [ - 1.00405, - 6.33543 - ], - [ - 1.02516, - 6.25319 - ], - [ - 1.05537, - 6.22964 - ], - [ - 1.1, - 6.17 - ], - [ - 1.2, - 6.17 - ], - [ - 1.2, - 4 - ], - [ - -3, - 4.5 - ], - [ - -3.11256, - 5.13335 - ] - ] - ] - } - }, - madagascar: { - type: "Feature", - id: "madagascar", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 51, - -15 - ], - [ - 47.5, - -26 - ], - [ - 42, - -26 - ], - [ - 43.5, - -16 - ], - [ - 49.5, - -11 - ], - [ - 51, - -15 - ] - ] - ] - } - }, - BGD: { - type: "Feature", - id: "BGD", - properties: { - name: "Bangladesh" - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 92.67272, - 22.04124 - ], - [ - 92.65226, - 21.32405 - ], - [ - 92.30323, - 21.47548 - ], - [ - 92.36855, - 20.67088 - ], - [ - 92.08289, - 21.1922 - ], - [ - 92.02522, - 21.70157 - ], - [ - 91.83489, - 22.18294 - ], - [ - 91.41709, - 22.76502 - ], - [ - 90.49601, - 22.80502 - ], - [ - 90.58696, - 22.39279 - ], - [ - 90.27297, - 21.83637 - ], - [ - 89.84747, - 22.03915 - ], - [ - 89.70205, - 21.85712 - ], - [ - 89.41886, - 21.96618 - ], - [ - 89.03196, - 22.05571 - ], - [ - 88.87631, - 22.87915 - ], - [ - 88.52977, - 23.63114 - ], - [ - 88.69994, - 24.23372 - ], - [ - 88.08442, - 24.50166 - ], - [ - 88.30637, - 24.86608 - ], - [ - 88.93155, - 25.23869 - ], - [ - 88.20979, - 25.76807 - ], - [ - 88.56305, - 26.44653 - ], - [ - 89.35509, - 26.01441 - ], - [ - 89.83248, - 25.96508 - ], - [ - 89.92069, - 25.26975 - ], - [ - 90.87221, - 25.1326 - ], - [ - 91.7996, - 25.14743 - ], - [ - 92.3762, - 24.97669 - ], - [ - 91.91509, - 24.13041 - ], - [ - 91.46773, - 24.07264 - ], - [ - 91.15896, - 23.50353 - ], - [ - 91.70647, - 22.98526 - ], - [ - 91.86993, - 23.62435 - ], - [ - 92.14603, - 23.6275 - ], - [ - 92.67272, - 22.04124 - ] - ] - ] - } - }, - india_full: { - type: "Feature", - id: "india_full", - properties: { - name: "India" - }, - geometry: { - type: "MultiPolygon", - coordinates: [ - [ - [ - [ - 77.83745, - 35.49401 - ], - [ - 78.91227, - 34.32194 - ], - [ - 78.81109, - 33.5062 - ], - [ - 79.20889, - 32.99439 - ], - [ - 79.17613, - 32.48378 - ], - [ - 78.45845, - 32.61816 - ], - [ - 78.73889, - 31.51591 - ], - [ - 79.72137, - 30.88272 - ], - [ - 81.11126, - 30.18348 - ], - [ - 80.47672, - 29.72987 - ], - [ - 80.08843, - 28.79447 - ], - [ - 81.0572, - 28.41609 - ], - [ - 81.99999, - 27.92548 - ], - [ - 83.30425, - 27.36451 - ], - [ - 84.67502, - 27.2349 - ], - [ - 85.25178, - 26.7262 - ], - [ - 86.02439, - 26.63098 - ], - [ - 87.22747, - 26.3979 - ], - [ - 88.06024, - 26.41462 - ], - [ - 88.1748, - 26.8104 - ], - [ - 88.04313, - 27.44582 - ], - [ - 88.12044, - 27.87654 - ], - [ - 88.73033, - 28.08686 - ], - [ - 88.81425, - 27.29932 - ], - [ - 88.83564, - 27.09897 - ], - [ - 89.74453, - 26.7194 - ], - [ - 90.37328, - 26.87572 - ], - [ - 91.21751, - 26.80865 - ], - [ - 92.03348, - 26.83831 - ], - [ - 92.10371, - 27.45261 - ], - [ - 91.69666, - 27.77174 - ], - [ - 92.50312, - 27.89688 - ], - [ - 93.41335, - 28.64063 - ], - [ - 94.56599, - 29.27744 - ], - [ - 95.4048, - 29.03172 - ], - [ - 96.11768, - 29.4528 - ], - [ - 96.58659, - 28.83098 - ], - [ - 96.24883, - 28.41103 - ], - [ - 97.32711, - 28.26158 - ], - [ - 97.40256, - 27.88254 - ], - [ - 97.05199, - 27.69906 - ], - [ - 97.134, - 27.08377 - ], - [ - 96.41937, - 27.26459 - ], - [ - 95.12477, - 26.57357 - ], - [ - 95.15515, - 26.00131 - ], - [ - 94.60325, - 25.16249 - ], - [ - 94.55266, - 24.67524 - ], - [ - 94.10674, - 23.85074 - ], - [ - 93.32519, - 24.07856 - ], - [ - 93.28633, - 23.04366 - ], - [ - 93.06029, - 22.70311 - ], - [ - 93.16613, - 22.27846 - ], - [ - 92.67272, - 22.04124 - ], - [ - 92.14603, - 23.6275 - ], - [ - 91.86993, - 23.62435 - ], - [ - 91.70647, - 22.98526 - ], - [ - 91.15896, - 23.50353 - ], - [ - 91.46773, - 24.07264 - ], - [ - 91.91509, - 24.13041 - ], - [ - 92.3762, - 24.97669 - ], - [ - 91.7996, - 25.14743 - ], - [ - 90.87221, - 25.1326 - ], - [ - 89.92069, - 25.26975 - ], - [ - 89.83248, - 25.96508 - ], - [ - 89.35509, - 26.01441 - ], - [ - 88.56305, - 26.44653 - ], - [ - 88.20979, - 25.76807 - ], - [ - 88.93155, - 25.23869 - ], - [ - 88.30637, - 24.86608 - ], - [ - 88.08442, - 24.50166 - ], - [ - 88.69994, - 24.23372 - ], - [ - 88.52977, - 23.63114 - ], - [ - 88.87631, - 22.87915 - ], - [ - 89.03196, - 22.05571 - ], - [ - 88.88877, - 21.69059 - ], - [ - 88.2085, - 21.70317 - ], - [ - 86.9757, - 21.49556 - ], - [ - 87.03317, - 20.74331 - ], - [ - 86.49935, - 20.15164 - ], - [ - 85.06027, - 19.47858 - ], - [ - 83.94101, - 18.30201 - ], - [ - 83.18922, - 17.67122 - ], - [ - 82.19279, - 17.01664 - ], - [ - 82.19124, - 16.55666 - ], - [ - 81.69272, - 16.31022 - ], - [ - 80.792, - 15.95197 - ], - [ - 80.3249, - 15.89918 - ], - [ - 80.02507, - 15.13641 - ], - [ - 80.23327, - 13.83577 - ], - [ - 80.28629, - 13.00626 - ], - [ - 79.86255, - 12.05621 - ], - [ - 79.858, - 10.35727 - ], - [ - 79.34051, - 10.30885 - ], - [ - 78.88535, - 9.54614 - ], - [ - 79.18972, - 9.21654 - ], - [ - 78.27794, - 8.93305 - ], - [ - 77.94116, - 8.25296 - ], - [ - 77.5399, - 7.96554 - ], - [ - 76.59298, - 8.89928 - ], - [ - 76.13006, - 10.29963 - ], - [ - 75.74647, - 11.30825 - ], - [ - 75.3961, - 11.78125 - ], - [ - 74.86482, - 12.74194 - ], - [ - 74.61672, - 13.99258 - ], - [ - 74.44386, - 14.61722 - ], - [ - 73.5342, - 15.99065 - ], - [ - 73.11991, - 17.92857 - ], - [ - 72.82091, - 19.20823 - ], - [ - 72.82448, - 20.4195 - ], - [ - 72.63053, - 21.35601 - ], - [ - 71.17527, - 20.75744 - ], - [ - 70.47046, - 20.87733 - ], - [ - 69.16413, - 22.0893 - ], - [ - 69.64493, - 22.45078 - ], - [ - 69.3496, - 22.84318 - ], - [ - 68.17664, - 23.69196 - ], - [ - 68.8426, - 24.35913 - ], - [ - 71.04324, - 24.35652 - ], - [ - 70.8447, - 25.2151 - ], - [ - 70.28287, - 25.72223 - ], - [ - 70.16893, - 26.49187 - ], - [ - 69.51439, - 26.94097 - ], - [ - 70.6165, - 27.9892 - ], - [ - 71.77767, - 27.91318 - ], - [ - 72.82375, - 28.96159 - ], - [ - 73.45064, - 29.97641 - ], - [ - 74.42138, - 30.97981 - ], - [ - 74.40593, - 31.69264 - ], - [ - 75.25864, - 32.2711 - ], - [ - 74.45156, - 32.7649 - ], - [ - 74.10429, - 33.44147 - ], - [ - 73.74995, - 34.3177 - ], - [ - 74.2402, - 34.74889 - ], - [ - 75.75706, - 34.50492 - ], - [ - 76.87172, - 34.65354 - ], - [ - 77.83745, - 35.49401 - ] - ] - ] - ] - } - }, - india_puducherry: { - type: "Feature", - id: "india_puducherry", - properties: { - name: "Puducherry" - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 79.87782, - 12.04973 - ], - [ - 79.84726, - 11.95536 - ], - [ - 79.83593, - 11.90229 - ], - [ - 79.81979, - 11.85761 - ], - [ - 79.81464, - 11.79006 - ], - [ - 79.79645, - 11.7736 - ], - [ - 79.77036, - 11.77191 - ], - [ - 79.74564, - 11.78065 - ], - [ - 79.6804, - 11.7988 - ], - [ - 79.61655, - 11.82434 - ], - [ - 79.58702, - 11.88549 - ], - [ - 79.65672, - 11.93152 - ], - [ - 79.64745, - 11.9594 - ], - [ - 79.6423, - 12.0138 - ], - [ - 79.66599, - 12.03865 - ], - [ - 79.72813, - 12.04201 - ], - [ - 79.79885, - 12.0457 - ], - [ - 79.8452, - 12.05644 - ], - [ - 79.87782, - 12.04973 - ] - ] - ] - } - }, - IDN: { - type: "Feature", - id: "IDN", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 109.538, - 1.92671 - ], - [ - 109.58606, - 1.79192 - ], - [ - 109.68554, - 1.78179 - ], - [ - 109.66224, - 1.61881 - ], - [ - 109.82759, - 1.48148 - ], - [ - 109.93117, - 1.42466 - ], - [ - 109.97919, - 1.29865 - ], - [ - 110.09758, - 1.19756 - ], - [ - 110.1922, - 1.18303 - ], - [ - 110.30096, - 0.99575 - ], - [ - 110.39497, - 0.99668 - ], - [ - 110.49064, - 0.87637 - ], - [ - 110.59486, - 0.858 - ], - [ - 110.85815, - 0.94998 - ], - [ - 110.9055, - 1.02835 - ], - [ - 111.19759, - 1.06475 - ], - [ - 111.22607, - 1.08799 - ], - [ - 111.40504, - 1.0094 - ], - [ - 111.48916, - 1.03442 - ], - [ - 111.52219, - 0.95868 - ], - [ - 111.66704, - 1.04281 - ], - [ - 111.82599, - 0.98538 - ], - [ - 111.934, - 1.10284 - ], - [ - 112.13391, - 1.13752 - ], - [ - 112.22581, - 1.39272 - ], - [ - 112.20003, - 1.43709 - ], - [ - 112.5171, - 1.57395 - ], - [ - 112.77536, - 1.56153 - ], - [ - 112.87744, - 1.58118 - ], - [ - 113.05767, - 1.55877 - ], - [ - 113.106, - 1.44495 - ], - [ - 113.35493, - 1.35908 - ], - [ - 113.41908, - 1.28549 - ], - [ - 113.53549, - 1.32127 - ], - [ - 113.63068, - 1.21597 - ], - [ - 113.81508, - 1.30294 - ], - [ - 113.85093, - 1.38715 - ], - [ - 113.97573, - 1.45005 - ], - [ - 114.14945, - 1.46149 - ], - [ - 114.2027, - 1.4213 - ], - [ - 114.41581, - 1.51111 - ], - [ - 114.52646, - 1.44179 - ], - [ - 114.58583, - 1.44665 - ], - [ - 114.61498, - 1.57508 - ], - [ - 114.71115, - 1.67148 - ], - [ - 114.69469, - 1.81063 - ], - [ - 114.74372, - 1.86954 - ], - [ - 114.87834, - 1.91463 - ], - [ - 114.80632, - 2.02438 - ], - [ - 114.78024, - 2.14454 - ], - [ - 114.79949, - 2.24936 - ], - [ - 114.90604, - 2.25697 - ], - [ - 114.95039, - 2.35132 - ], - [ - 115.09508, - 2.41123 - ], - [ - 115.13965, - 2.4776 - ], - [ - 115.23743, - 2.50599 - ], - [ - 115.09278, - 2.69409 - ], - [ - 115.14115, - 2.74432 - ], - [ - 115.11387, - 2.83327 - ], - [ - 115.15001, - 2.90895 - ], - [ - 115.24912, - 2.9667 - ], - [ - 115.48328, - 3.01964 - ], - [ - 115.56423, - 3.17109 - ], - [ - 115.51617, - 3.26111 - ], - [ - 115.53779, - 3.36201 - ], - [ - 115.6344, - 3.45571 - ], - [ - 115.57652, - 3.6094 - ], - [ - 115.57965, - 3.74752 - ], - [ - 115.61864, - 3.84247 - ], - [ - 115.58177, - 3.88792 - ], - [ - 115.64991, - 3.98828 - ], - [ - 115.70731, - 4.19935 - ], - [ - 115.8296, - 4.24118 - ], - [ - 115.8779, - 4.39102 - ], - [ - 116.00607, - 4.34818 - ], - [ - 116.07901, - 4.27643 - ], - [ - 116.18028, - 4.38255 - ], - [ - 116.34851, - 4.39138 - ], - [ - 116.43275, - 4.32567 - ], - [ - 116.53602, - 4.37566 - ], - [ - 116.61942, - 4.33622 - ], - [ - 116.89887, - 4.36704 - ], - [ - 116.97351, - 4.34488 - ], - [ - 117.28899, - 4.31595 - ], - [ - 117.52934, - 4.1615 - ], - [ - 117.8992, - 4.16585 - ], - [ - 117.95861, - 4.19058 - ], - [ - 118.26478, - 4.09696 - ], - [ - 127.3, - 5.2 - ], - [ - 129, - 2.7 - ], - [ - 141, - -2.4 - ], - [ - 141, - -6.3 - ], - [ - 140.83, - -6.7 - ], - [ - 141.02, - -6.95 - ], - [ - 141.02, - -9.5 - ], - [ - 128.5, - -9.5 - ], - [ - 127.3, - -8.2 - ], - [ - 125, - -8.5 - ], - [ - 123.96, - -9.2 - ], - [ - 124.11, - -9.42 - ], - [ - 124.22, - -9.37 - ], - [ - 124.269, - -9.4 - ], - [ - 124.287, - -9.5 - ], - [ - 124.358, - -9.48564 - ], - [ - 124.355, - -9.43281 - ], - [ - 124.383, - -9.361 - ], - [ - 124.444, - -9.31899 - ], - [ - 124.48, - -9.15 - ], - [ - 124.95, - -8.9 - ], - [ - 124.94064, - -9.03565 - ], - [ - 124.99695, - -9.06413 - ], - [ - 125.11368, - -8.98275 - ], - [ - 125.18234, - -9.03293 - ], - [ - 125.18234, - -9.17396 - ], - [ - 124.98459, - -9.19429 - ], - [ - 124.99283, - -9.28646 - ], - [ - 125.04913, - -9.33254 - ], - [ - 125.16, - -9.7 - ], - [ - 123, - -11.4 - ], - [ - 100, - -7 - ], - [ - 93.5, - 6.3 - ], - [ - 96.6, - 6.1 - ], - [ - 103, - 1.4 - ], - [ - 103.75, - 1.14 - ], - [ - 103.9, - 1.2 - ], - [ - 104.5, - 1.3 - ], - [ - 105, - 3 - ], - [ - 108, - 5.1 - ], - [ - 109.64501, - 2.08141 - ], - [ - 109.62041, - 1.98321 - ], - [ - 109.538, - 1.92671 - ] - ] - ] - } - }, - japan: { - type: "Feature", - id: "japan", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 141.11938, - 45.69083 - ], - [ - 142.28497, - 45.56863 - ], - [ - 145.39307, - 44.48867 - ], - [ - 145.57983, - 44.11125 - ], - [ - 145.27222, - 43.79291 - ], - [ - 145.47821, - 43.46289 - ], - [ - 145.68695, - 43.4589 - ], - [ - 145.91217, - 43.39108 - ], - [ - 145.44903, - 42.69934 - ], - [ - 143.91094, - 41.8376 - ], - [ - 142.48272, - 39.3181 - ], - [ - 142.1751, - 38.15265 - ], - [ - 141.38409, - 35.69383 - ], - [ - 140.94463, - 35.21056 - ], - [ - 140.55908, - 32.1198 - ], - [ - 139.38457, - 31.87843 - ], - [ - 138.98907, - 33.1752 - ], - [ - 138.01025, - 34.29807 - ], - [ - 135.99976, - 33.17434 - ], - [ - 133.53882, - 32.71336 - ], - [ - 132.48516, - 32.06483 - ], - [ - 131.56128, - 31.04352 - ], - [ - 131.03497, - 29.53613 - ], - [ - 129.94629, - 27.50827 - ], - [ - 127.78301, - 25.4442 - ], - [ - 126.47461, - 25.42343 - ], - [ - 125.86487, - 24.52713 - ], - [ - 124.92657, - 23.88678 - ], - [ - 123.37921, - 23.82053 - ], - [ - 122.67883, - 24.31456 - ], - [ - 122.7293, - 24.64795 - ], - [ - 124.67834, - 25.02588 - ], - [ - 125.36602, - 25.52354 - ], - [ - 126.24493, - 26.35342 - ], - [ - 127.56329, - 27.13828 - ], - [ - 128.57403, - 28.73003 - ], - [ - 128.74981, - 31.46703 - ], - [ - 128.36426, - 32.62087 - ], - [ - 128.92559, - 33.76174 - ], - [ - 129.21021, - 34.62417 - ], - [ - 129.56177, - 34.84086 - ], - [ - 136.69739, - 37.9312 - ], - [ - 139.1209, - 38.85762 - ], - [ - 139.04297, - 42.04929 - ], - [ - 140.13165, - 43.58114 - ], - [ - 140.5711, - 45.64549 - ], - [ - 141.11938, - 45.69083 - ] - ] - ] - } - }, - korea: { - type: "Feature", - id: "korea", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 125, - 33 - ], - [ - 124, - 39.5 - ], - [ - 124.38171, - 40.12429 - ], - [ - 124.87061, - 40.47202 - ], - [ - 126.04614, - 40.95294 - ], - [ - 126.60095, - 41.57231 - ], - [ - 126.90308, - 41.79179 - ], - [ - 127.24915, - 41.50446 - ], - [ - 128.19397, - 41.41802 - ], - [ - 128.28186, - 41.56614 - ], - [ - 128.0127, - 42.0097 - ], - [ - 128.8751, - 42.04521 - ], - [ - 129.2926, - 42.43967 - ], - [ - 129.67438, - 42.45589 - ], - [ - 129.87762, - 43 - ], - [ - 130.19348, - 42.92023 - ], - [ - 130.31433, - 42.66224 - ], - [ - 130.50385, - 42.59555 - ], - [ - 130.68237, - 42.2895 - ], - [ - 131.3, - 36.6 - ], - [ - 127.3, - 33 - ], - [ - 125, - 33 - ] - ] - ] - } - }, - malaysia: { - type: "Feature", - id: "malaysia", - properties: { - }, - geometry: { - type: "MultiPolygon", - coordinates: [ - [ - [ - [ - 109.538, - 1.92671 - ], - [ - 109.62041, - 1.98321 - ], - [ - 109.64501, - 2.08141 - ], - [ - 113.8, - 4.8 - ], - [ - 114.26015, - 4.50701 - ], - [ - 114.33278, - 4.34889 - ], - [ - 114.31645, - 4.26363 - ], - [ - 114.45418, - 4.24183 - ], - [ - 114.49579, - 4.14668 - ], - [ - 114.6492, - 4.00624 - ], - [ - 114.80762, - 4.14929 - ], - [ - 114.85775, - 4.26957 - ], - [ - 114.87758, - 4.42656 - ], - [ - 114.82955, - 4.42966 - ], - [ - 114.80229, - 4.67536 - ], - [ - 114.85851, - 4.79751 - ], - [ - 114.97133, - 4.80824 - ], - [ - 115.02238, - 4.74977 - ], - [ - 115.09879, - 4.4685 - ], - [ - 115.15547, - 4.38302 - ], - [ - 115.24582, - 4.34118 - ], - [ - 115.28924, - 4.60384 - ], - [ - 115.2375, - 4.79584 - ], - [ - 115.15038, - 4.87204 - ], - [ - 115.15825, - 5.02512 - ], - [ - 115, - 5.3 - ], - [ - 116.9, - 7.6 - ], - [ - 117.5, - 7.4 - ], - [ - 119.35011, - 5.53088 - ], - [ - 119.43909, - 5.11578 - ], - [ - 118.83773, - 4.45269 - ], - [ - 118.26478, - 4.09696 - ], - [ - 117.95861, - 4.19058 - ], - [ - 117.8992, - 4.16585 - ], - [ - 117.52934, - 4.1615 - ], - [ - 117.28899, - 4.31595 - ], - [ - 116.97351, - 4.34488 - ], - [ - 116.89887, - 4.36704 - ], - [ - 116.61942, - 4.33622 - ], - [ - 116.53602, - 4.37566 - ], - [ - 116.43275, - 4.32567 - ], - [ - 116.34851, - 4.39138 - ], - [ - 116.18028, - 4.38255 - ], - [ - 116.07901, - 4.27643 - ], - [ - 116.00607, - 4.34818 - ], - [ - 115.8779, - 4.39102 - ], - [ - 115.8296, - 4.24118 - ], - [ - 115.70731, - 4.19935 - ], - [ - 115.64991, - 3.98828 - ], - [ - 115.58177, - 3.88792 - ], - [ - 115.61864, - 3.84247 - ], - [ - 115.57965, - 3.74752 - ], - [ - 115.57652, - 3.6094 - ], - [ - 115.6344, - 3.45571 - ], - [ - 115.53779, - 3.36201 - ], - [ - 115.51617, - 3.26111 - ], - [ - 115.56423, - 3.17109 - ], - [ - 115.48328, - 3.01964 - ], - [ - 115.24912, - 2.9667 - ], - [ - 115.15001, - 2.90895 - ], - [ - 115.11387, - 2.83327 - ], - [ - 115.14115, - 2.74432 - ], - [ - 115.09278, - 2.69409 - ], - [ - 115.23743, - 2.50599 - ], - [ - 115.13965, - 2.4776 - ], - [ - 115.09508, - 2.41123 - ], - [ - 114.95039, - 2.35132 - ], - [ - 114.90604, - 2.25697 - ], - [ - 114.79949, - 2.24936 - ], - [ - 114.78024, - 2.14454 - ], - [ - 114.80632, - 2.02438 - ], - [ - 114.87834, - 1.91463 - ], - [ - 114.74372, - 1.86954 - ], - [ - 114.69469, - 1.81063 - ], - [ - 114.71115, - 1.67148 - ], - [ - 114.61498, - 1.57508 - ], - [ - 114.58583, - 1.44665 - ], - [ - 114.52646, - 1.44179 - ], - [ - 114.41581, - 1.51111 - ], - [ - 114.2027, - 1.4213 - ], - [ - 114.14945, - 1.46149 - ], - [ - 113.97573, - 1.45005 - ], - [ - 113.85093, - 1.38715 - ], - [ - 113.81508, - 1.30294 - ], - [ - 113.63068, - 1.21597 - ], - [ - 113.53549, - 1.32127 - ], - [ - 113.41908, - 1.28549 - ], - [ - 113.35493, - 1.35908 - ], - [ - 113.106, - 1.44495 - ], - [ - 113.05767, - 1.55877 - ], - [ - 112.87744, - 1.58118 - ], - [ - 112.77536, - 1.56153 - ], - [ - 112.5171, - 1.57395 - ], - [ - 112.20003, - 1.43709 - ], - [ - 112.22581, - 1.39272 - ], - [ - 112.13391, - 1.13752 - ], - [ - 111.934, - 1.10284 - ], - [ - 111.82599, - 0.98538 - ], - [ - 111.66704, - 1.04281 - ], - [ - 111.52219, - 0.95868 - ], - [ - 111.48916, - 1.03442 - ], - [ - 111.40504, - 1.0094 - ], - [ - 111.22607, - 1.08799 - ], - [ - 111.19759, - 1.06475 - ], - [ - 110.9055, - 1.02835 - ], - [ - 110.85815, - 0.94998 - ], - [ - 110.59486, - 0.858 - ], - [ - 110.49064, - 0.87637 - ], - [ - 110.39497, - 0.99668 - ], - [ - 110.30096, - 0.99575 - ], - [ - 110.1922, - 1.18303 - ], - [ - 110.09758, - 1.19756 - ], - [ - 109.97919, - 1.29865 - ], - [ - 109.93117, - 1.42466 - ], - [ - 109.82759, - 1.48148 - ], - [ - 109.66224, - 1.61881 - ], - [ - 109.68554, - 1.78179 - ], - [ - 109.58606, - 1.79192 - ], - [ - 109.538, - 1.92671 - ] - ] - ], - [ - [ - [ - 99.45833, - 6.30667 - ], - [ - 99.51167, - 6.48167 - ], - [ - 99.68908, - 6.47146 - ], - [ - 99.91691, - 6.5233 - ], - [ - 100.07588, - 6.40615 - ], - [ - 100.15906, - 6.48065 - ], - [ - 100.17157, - 6.69376 - ], - [ - 100.32605, - 6.6597 - ], - [ - 100.36648, - 6.53967 - ], - [ - 100.4962, - 6.52128 - ], - [ - 100.66237, - 6.45103 - ], - [ - 100.73937, - 6.49207 - ], - [ - 100.81258, - 6.44219 - ], - [ - 100.83515, - 6.29654 - ], - [ - 100.90398, - 6.23379 - ], - [ - 100.98414, - 6.27884 - ], - [ - 101.0943, - 6.26044 - ], - [ - 101.12667, - 6.19264 - ], - [ - 101.0868, - 5.9109 - ], - [ - 101.03707, - 5.91804 - ], - [ - 100.98946, - 5.78393 - ], - [ - 101.1192, - 5.67031 - ], - [ - 101.25999, - 5.71155 - ], - [ - 101.27615, - 5.81155 - ], - [ - 101.39691, - 5.87241 - ], - [ - 101.48454, - 5.86993 - ], - [ - 101.58131, - 5.93436 - ], - [ - 101.66236, - 5.86871 - ], - [ - 101.69082, - 5.75576 - ], - [ - 101.79332, - 5.75066 - ], - [ - 101.94402, - 5.87247 - ], - [ - 101.94265, - 5.98109 - ], - [ - 102.05204, - 6.0785 - ], - [ - 102.08029, - 6.22537 - ], - [ - 102.2, - 6.5 - ], - [ - 103.6, - 5.8 - ], - [ - 104.8, - 2.5 - ], - [ - 104.5, - 1.5 - ], - [ - 104.31571, - 1.28352 - ], - [ - 104.12518, - 1.27582 - ], - [ - 104.07647, - 1.43092 - ], - [ - 103.89786, - 1.42794 - ], - [ - 103.81267, - 1.47847 - ], - [ - 103.67389, - 1.42814 - ], - [ - 103.56667, - 1.1955 - ], - [ - 103, - 1.325 - ], - [ - 99, - 4.5 - ], - [ - 99.45833, - 6.30667 - ] - ] - ] - ] - } - }, - MNG: { - type: "Feature", - id: "MNG", - properties: { - name: "Mongolia" - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 87.75126, - 49.2972 - ], - [ - 88.80557, - 49.47052 - ], - [ - 90.71367, - 50.33181 - ], - [ - 92.23471, - 50.80217 - ], - [ - 93.10422, - 50.49529 - ], - [ - 94.14757, - 50.48054 - ], - [ - 94.81595, - 50.01343 - ], - [ - 95.81403, - 49.97747 - ], - [ - 97.25973, - 49.72606 - ], - [ - 98.23176, - 50.4224 - ], - [ - 97.82574, - 51.011 - ], - [ - 98.86149, - 52.04737 - ], - [ - 99.98173, - 51.63401 - ], - [ - 100.88948, - 51.51686 - ], - [ - 102.06522, - 51.25992 - ], - [ - 102.25591, - 50.51056 - ], - [ - 103.67655, - 50.08997 - ], - [ - 104.62155, - 50.27533 - ], - [ - 105.88659, - 50.40602 - ], - [ - 106.8888, - 50.2743 - ], - [ - 107.86818, - 49.79371 - ], - [ - 108.47517, - 49.28255 - ], - [ - 109.40245, - 49.29296 - ], - [ - 110.66201, - 49.13013 - ], - [ - 111.58123, - 49.37797 - ], - [ - 112.89774, - 49.54357 - ], - [ - 114.36246, - 50.2483 - ], - [ - 114.96211, - 50.14025 - ], - [ - 115.4857, - 49.80518 - ], - [ - 116.6788, - 49.88853 - ], - [ - 116.1918, - 49.1346 - ], - [ - 115.48528, - 48.13538 - ], - [ - 115.74284, - 47.72655 - ], - [ - 116.30895, - 47.85341 - ], - [ - 117.29551, - 47.69771 - ], - [ - 118.06414, - 48.06673 - ], - [ - 118.86657, - 47.74706 - ], - [ - 119.77282, - 47.04806 - ], - [ - 119.66327, - 46.69268 - ], - [ - 118.87433, - 46.80541 - ], - [ - 117.4217, - 46.67273 - ], - [ - 116.71787, - 46.3882 - ], - [ - 115.9851, - 45.72724 - ], - [ - 114.46033, - 45.33982 - ], - [ - 113.46391, - 44.80889 - ], - [ - 112.43606, - 45.01165 - ], - [ - 111.87331, - 45.10208 - ], - [ - 111.34838, - 44.45744 - ], - [ - 111.66774, - 44.07318 - ], - [ - 111.82959, - 43.74312 - ], - [ - 111.12968, - 43.40683 - ], - [ - 110.4121, - 42.87123 - ], - [ - 109.2436, - 42.51945 - ], - [ - 107.74477, - 42.48152 - ], - [ - 106.12932, - 42.13433 - ], - [ - 104.96499, - 41.59741 - ], - [ - 104.52228, - 41.90835 - ], - [ - 103.31228, - 41.90747 - ], - [ - 101.83304, - 42.51487 - ], - [ - 100.84587, - 42.6638 - ], - [ - 99.51582, - 42.52469 - ], - [ - 97.45176, - 42.74889 - ], - [ - 96.3494, - 42.72563 - ], - [ - 95.76246, - 43.31945 - ], - [ - 95.30688, - 44.24133 - ], - [ - 94.68893, - 44.35233 - ], - [ - 93.48073, - 44.97547 - ], - [ - 92.13389, - 45.11508 - ], - [ - 90.94554, - 45.28607 - ], - [ - 90.58577, - 45.71972 - ], - [ - 90.97081, - 46.88815 - ], - [ - 90.28083, - 47.69355 - ], - [ - 88.8543, - 48.06908 - ], - [ - 88.01383, - 48.59946 - ], - [ - 87.75126, - 49.2972 - ] - ] - ] - } - }, - MMR: { - type: "Feature", - id: "MMR", - properties: { - name: "Myanmar" - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 92.10937, - 20.85881 - ], - [ - 92.3291, - 21.49396 - ], - [ - 92.68066, - 21.28937 - ], - [ - 92.63672, - 22.08564 - ], - [ - 92.98828, - 22.06528 - ], - [ - 93.18604, - 22.22809 - ], - [ - 93.14209, - 23.09994 - ], - [ - 93.38379, - 23.22115 - ], - [ - 93.36182, - 24.1267 - ], - [ - 94.19678, - 23.92601 - ], - [ - 94.70215, - 25.04579 - ], - [ - 94.57031, - 25.26457 - ], - [ - 95.20752, - 26.03704 - ], - [ - 95.05371, - 26.49024 - ], - [ - 97.66846, - 28.51697 - ], - [ - 98.65723, - 27.50827 - ], - [ - 98.56934, - 25.85922 - ], - [ - 97.62451, - 24.8665 - ], - [ - 97.73438, - 23.88584 - ], - [ - 98.83301, - 24.14675 - ], - [ - 98.85498, - 23.18076 - ], - [ - 99.49219, - 23.05952 - ], - [ - 99.1626, - 22.04491 - ], - [ - 100.0415, - 21.96342 - ], - [ - 100.32715, - 21.49396 - ], - [ - 101.09619, - 21.71868 - ], - [ - 101.16211, - 21.41216 - ], - [ - 99.99756, - 20.36523 - ], - [ - 97.91016, - 19.49766 - ], - [ - 97.53662, - 18.29195 - ], - [ - 98.83301, - 16.21467 - ], - [ - 98.50342, - 15.32657 - ], - [ - 98.21777, - 15.11455 - ], - [ - 98.65723, - 14.24309 - ], - [ - 99.18457, - 13.66734 - ], - [ - 99.22852, - 12.85465 - ], - [ - 99.66797, - 11.65224 - ], - [ - 98.4375, - 9.90392 - ], - [ - 97.77832, - 14.34955 - ], - [ - 97.00928, - 16.80454 - ], - [ - 95.42725, - 15.55954 - ], - [ - 94.021, - 16.04581 - ], - [ - 94.21875, - 18.0832 - ], - [ - 92.10937, - 20.85881 - ] - ] - ] - } - }, - NPL: { - type: "Feature", - id: "NPL", - properties: { - name: "Nepal" - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 88.12044, - 27.87654 - ], - [ - 88.04313, - 27.44582 - ], - [ - 88.1748, - 26.8104 - ], - [ - 88.06024, - 26.41462 - ], - [ - 87.22747, - 26.3979 - ], - [ - 86.02439, - 26.63098 - ], - [ - 85.25178, - 26.7262 - ], - [ - 84.67502, - 27.2349 - ], - [ - 83.30425, - 27.36451 - ], - [ - 81.99999, - 27.92548 - ], - [ - 81.0572, - 28.41609 - ], - [ - 80.08843, - 28.79447 - ], - [ - 80.47672, - 29.72987 - ], - [ - 81.11126, - 30.18348 - ], - [ - 81.5258, - 30.42272 - ], - [ - 82.32751, - 30.11527 - ], - [ - 83.33711, - 29.46373 - ], - [ - 83.89899, - 29.32023 - ], - [ - 84.23458, - 28.83989 - ], - [ - 85.01164, - 28.64277 - ], - [ - 85.82332, - 28.20358 - ], - [ - 86.95452, - 27.97426 - ], - [ - 88.12044, - 27.87654 - ] - ] - ] - } - }, - philippines: { - type: "Feature", - id: "philippines", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 114.93896, - 8.23324 - ], - [ - 122.01416, - 21.71868 - ], - [ - 127.6062, - 7.39515 - ], - [ - 125.50781, - 5.14566 - ], - [ - 118.89954, - 4.41761 - ], - [ - 119.49829, - 5.28789 - ], - [ - 117.53174, - 7.39515 - ], - [ - 114.93896, - 8.23324 - ] - ] - ] - } - }, - russia: { - type: "Feature", - id: "russia", - properties: { - }, - geometry: { - type: "MultiPolygon", - coordinates: [ - [ - [ - [ - 22.7311, - 54.32754 - ], - [ - 20.89224, - 54.31253 - ], - [ - 19.66064, - 54.42608 - ], - [ - 19.88848, - 54.86616 - ], - [ - 21.26845, - 55.19048 - ], - [ - 22.31572, - 55.0153 - ], - [ - 22.75776, - 54.85657 - ], - [ - 22.65105, - 54.58274 - ], - [ - 22.7311, - 54.32754 - ] - ] - ], - [ - [ - [ - -180, - 83 - ], - [ - -169, - 66.5 - ], - [ - -171, - 64 - ], - [ - -180, - 64 - ], - [ - -180, - 83 - ] - ] - ], - [ - [ - [ - 180, - 83 - ], - [ - 180, - 64.97971 - ], - [ - 179.99281, - 64.97433 - ], - [ - 178.7072, - 64.53493 - ], - [ - 177.41128, - 64.60821 - ], - [ - 178.313, - 64.07593 - ], - [ - 178.90825, - 63.25197 - ], - [ - 179.37034, - 62.98262 - ], - [ - 179.48636, - 62.56894 - ], - [ - 179.22825, - 62.3041 - ], - [ - 177.3643, - 62.5219 - ], - [ - 174.56929, - 61.76915 - ], - [ - 173.68013, - 61.65261 - ], - [ - 172.15, - 60.95 - ], - [ - 170.6985, - 60.33618 - ], - [ - 170.33085, - 59.88177 - ], - [ - 168.90046, - 60.57355 - ], - [ - 166.29498, - 59.78855 - ], - [ - 165.84, - 60.16 - ], - [ - 164.87674, - 59.7316 - ], - [ - 163.53929, - 59.86871 - ], - [ - 163.21711, - 59.21101 - ], - [ - 162.01733, - 58.24328 - ], - [ - 162.05297, - 57.83912 - ], - [ - 163.19191, - 57.61503 - ], - [ - 163.05794, - 56.15924 - ], - [ - 162.12958, - 56.12219 - ], - [ - 161.70146, - 55.28568 - ], - [ - 162.11749, - 54.85514 - ], - [ - 160.36877, - 54.34433 - ], - [ - 160.02173, - 53.20257 - ], - [ - 158.53094, - 52.95868 - ], - [ - 158.23118, - 51.94269 - ], - [ - 156.78979, - 51.01105 - ], - [ - 156.42, - 51.7 - ], - [ - 155.99182, - 53.15895 - ], - [ - 155.43366, - 55.38103 - ], - [ - 155.91442, - 56.76792 - ], - [ - 156.75815, - 57.3647 - ], - [ - 156.81035, - 57.83204 - ], - [ - 158.36433, - 58.05575 - ], - [ - 160.15064, - 59.31477 - ], - [ - 161.87204, - 60.343 - ], - [ - 163.66969, - 61.1409 - ], - [ - 164.47355, - 62.55061 - ], - [ - 163.25842, - 62.46627 - ], - [ - 162.65791, - 61.6425 - ], - [ - 160.12148, - 60.54423 - ], - [ - 159.30232, - 61.77396 - ], - [ - 156.72068, - 61.43442 - ], - [ - 154.21806, - 59.75818 - ], - [ - 155.04375, - 59.14495 - ], - [ - 152.81185, - 58.88385 - ], - [ - 151.26573, - 58.78089 - ], - [ - 151.33815, - 59.50396 - ], - [ - 149.78371, - 59.65573 - ], - [ - 148.54481, - 59.16448 - ], - [ - 145.48722, - 59.33637 - ], - [ - 142.19782, - 59.03998 - ], - [ - 138.95848, - 57.08805 - ], - [ - 135.12619, - 54.72959 - ], - [ - 136.70171, - 54.60355 - ], - [ - 137.19342, - 53.97732 - ], - [ - 138.1647, - 53.75501 - ], - [ - 138.80463, - 54.25455 - ], - [ - 139.90151, - 54.18968 - ], - [ - 141.34531, - 53.08957 - ], - [ - 141.37923, - 52.23877 - ], - [ - 140.59742, - 51.23967 - ], - [ - 140.51308, - 50.04553 - ], - [ - 140.06193, - 48.44671 - ], - [ - 138.55472, - 46.99965 - ], - [ - 138.21971, - 46.30795 - ], - [ - 136.86232, - 45.1435 - ], - [ - 135.51535, - 43.989 - ], - [ - 134.86939, - 43.39821 - ], - [ - 133.53687, - 42.81147 - ], - [ - 132.90627, - 42.79849 - ], - [ - 132.27807, - 43.28456 - ], - [ - 130.93587, - 42.55274 - ], - [ - 130.78, - 42.22 - ], - [ - 130.64, - 42.395 - ], - [ - 130.63387, - 42.90302 - ], - [ - 131.14469, - 42.92999 - ], - [ - 131.28856, - 44.11152 - ], - [ - 131.02519, - 44.96796 - ], - [ - 131.88345, - 45.32116 - ], - [ - 133.09712, - 45.14409 - ], - [ - 133.76964, - 46.11693 - ], - [ - 134.11235, - 47.21248 - ], - [ - 134.50081, - 47.57845 - ], - [ - 135.02631, - 48.47823 - ], - [ - 133.3736, - 48.18344 - ], - [ - 132.50669, - 47.78896 - ], - [ - 130.98726, - 47.79013 - ], - [ - 130.58229, - 48.72969 - ], - [ - 129.39782, - 49.4406 - ], - [ - 127.6574, - 49.76027 - ], - [ - 127.28746, - 50.7398 - ], - [ - 126.93916, - 51.35389 - ], - [ - 126.5644, - 51.78426 - ], - [ - 125.94635, - 52.7928 - ], - [ - 125.06821, - 53.16105 - ], - [ - 123.57147, - 53.4588 - ], - [ - 122.24575, - 53.43173 - ], - [ - 121.00308, - 53.2514 - ], - [ - 120.17709, - 52.75389 - ], - [ - 120.72579, - 52.51623 - ], - [ - 120.7382, - 51.96411 - ], - [ - 120.18208, - 51.64355 - ], - [ - 119.27939, - 50.58292 - ], - [ - 119.28846, - 50.14288 - ], - [ - 117.87924, - 49.51098 - ], - [ - 116.6788, - 49.88853 - ], - [ - 115.4857, - 49.80518 - ], - [ - 114.96211, - 50.14025 - ], - [ - 114.36246, - 50.2483 - ], - [ - 112.89774, - 49.54357 - ], - [ - 111.58123, - 49.37797 - ], - [ - 110.66201, - 49.13013 - ], - [ - 109.40245, - 49.29296 - ], - [ - 108.47517, - 49.28255 - ], - [ - 107.86818, - 49.79371 - ], - [ - 106.8888, - 50.2743 - ], - [ - 105.88659, - 50.40602 - ], - [ - 104.62158, - 50.27532 - ], - [ - 103.67655, - 50.08997 - ], - [ - 102.25589, - 50.51056 - ], - [ - 102.06521, - 51.25991 - ], - [ - 100.88948, - 51.51686 - ], - [ - 99.98173, - 51.63401 - ], - [ - 98.86149, - 52.04737 - ], - [ - 97.82574, - 51.011 - ], - [ - 98.23176, - 50.4224 - ], - [ - 97.25976, - 49.72605 - ], - [ - 95.81402, - 49.97746 - ], - [ - 94.81595, - 50.01343 - ], - [ - 94.14757, - 50.48054 - ], - [ - 93.10421, - 50.49529 - ], - [ - 92.23471, - 50.80217 - ], - [ - 90.71367, - 50.33181 - ], - [ - 88.80557, - 49.47052 - ], - [ - 87.75126, - 49.2972 - ], - [ - 87.35997, - 49.21498 - ], - [ - 86.82936, - 49.82668 - ], - [ - 85.54127, - 49.69286 - ], - [ - 85.11556, - 50.1173 - ], - [ - 84.41638, - 50.3114 - ], - [ - 83.93511, - 50.88925 - ], - [ - 83.383, - 51.06918 - ], - [ - 81.94599, - 50.8122 - ], - [ - 80.56845, - 51.38834 - ], - [ - 80.03556, - 50.86475 - ], - [ - 77.80092, - 53.40442 - ], - [ - 76.52518, - 54.177 - ], - [ - 76.8911, - 54.49052 - ], - [ - 74.38482, - 53.54685 - ], - [ - 73.42568, - 53.48981 - ], - [ - 73.50852, - 54.03562 - ], - [ - 72.22415, - 54.37665 - ], - [ - 71.18013, - 54.13329 - ], - [ - 70.86527, - 55.16973 - ], - [ - 69.06817, - 55.38525 - ], - [ - 68.1691, - 54.97039 - ], - [ - 65.66687, - 54.60125 - ], - [ - 65.17853, - 54.35423 - ], - [ - 61.4366, - 54.00625 - ], - [ - 60.97807, - 53.66499 - ], - [ - 61.69999, - 52.98 - ], - [ - 60.73999, - 52.71999 - ], - [ - 60.92727, - 52.44755 - ], - [ - 59.96753, - 51.96042 - ], - [ - 61.588, - 51.27266 - ], - [ - 61.33742, - 50.79907 - ], - [ - 59.93281, - 50.84219 - ], - [ - 59.64228, - 50.54544 - ], - [ - 58.36332, - 51.06364 - ], - [ - 56.77798, - 51.04355 - ], - [ - 55.71694, - 50.62171 - ], - [ - 54.53288, - 51.02624 - ], - [ - 52.32872, - 51.71865 - ], - [ - 50.76665, - 51.69276 - ], - [ - 48.70238, - 50.60513 - ], - [ - 48.57784, - 49.87476 - ], - [ - 47.54948, - 50.4547 - ], - [ - 46.7516, - 49.35601 - ], - [ - 47.04367, - 49.15204 - ], - [ - 46.46645, - 48.39415 - ], - [ - 47.31524, - 47.71585 - ], - [ - 48.05725, - 47.74377 - ], - [ - 48.69473, - 47.07563 - ], - [ - 48.59325, - 46.56104 - ], - [ - 49.10116, - 46.39933 - ], - [ - 48.64541, - 45.80629 - ], - [ - 47.67591, - 45.64149 - ], - [ - 46.68201, - 44.6092 - ], - [ - 47.59094, - 43.66016 - ], - [ - 47.49252, - 42.98658 - ], - [ - 48.58437, - 41.80888 - ], - [ - 47.98728, - 41.40582 - ], - [ - 47.81567, - 41.15142 - ], - [ - 47.37331, - 41.21973 - ], - [ - 46.68607, - 41.82714 - ], - [ - 46.40495, - 41.86068 - ], - [ - 45.7764, - 42.09244 - ], - [ - 45.47028, - 42.50278 - ], - [ - 44.53762, - 42.71199 - ], - [ - 43.93121, - 42.55496 - ], - [ - 43.75599, - 42.74083 - ], - [ - 42.3944, - 43.2203 - ], - [ - 40.92219, - 43.38215 - ], - [ - 40.07697, - 43.5531 - ], - [ - 39.95501, - 43.435 - ], - [ - 38.68, - 44.28 - ], - [ - 37.53912, - 44.65721 - ], - [ - 36.67546, - 45.24469 - ], - [ - 37.40317, - 45.40451 - ], - [ - 38.23295, - 46.24087 - ], - [ - 37.67372, - 46.63657 - ], - [ - 39.14767, - 47.04475 - ], - [ - 39.1212, - 47.26336 - ], - [ - 38.22354, - 47.10219 - ], - [ - 38.25511, - 47.5464 - ], - [ - 38.77057, - 47.82562 - ], - [ - 39.73828, - 47.89894 - ], - [ - 39.89562, - 48.23241 - ], - [ - 39.67465, - 48.78382 - ], - [ - 40.08079, - 49.30743 - ], - [ - 40.06904, - 49.60105 - ], - [ - 38.59499, - 49.92646 - ], - [ - 38.01063, - 49.91566 - ], - [ - 37.39346, - 50.38395 - ], - [ - 36.62617, - 50.22559 - ], - [ - 35.35612, - 50.5772 - ], - [ - 35.37791, - 50.77394 - ], - [ - 35.02218, - 51.20757 - ], - [ - 34.22482, - 51.25599 - ], - [ - 34.14198, - 51.56641 - ], - [ - 34.39173, - 51.76888 - ], - [ - 33.7527, - 52.33508 - ], - [ - 32.71576, - 52.23846 - ], - [ - 32.41206, - 52.28869 - ], - [ - 32.15944, - 52.06125 - ], - [ - 31.78597, - 52.10168 - ], - [ - 31.54002, - 52.74205 - ], - [ - 31.3052, - 53.074 - ], - [ - 31.49764, - 53.16743 - ], - [ - 32.30452, - 53.13273 - ], - [ - 32.69364, - 53.35142 - ], - [ - 32.4056, - 53.61805 - ], - [ - 31.73127, - 53.79403 - ], - [ - 31.79142, - 53.97464 - ], - [ - 31.38447, - 54.15706 - ], - [ - 30.75753, - 54.81177 - ], - [ - 30.97184, - 55.08155 - ], - [ - 30.87391, - 55.55098 - ], - [ - 29.89629, - 55.78946 - ], - [ - 29.37157, - 55.67009 - ], - [ - 29.22951, - 55.91834 - ], - [ - 28.17671, - 56.16913 - ], - [ - 27.85528, - 56.75933 - ], - [ - 27.77002, - 57.24426 - ], - [ - 27.28818, - 57.47453 - ], - [ - 27.71669, - 57.7919 - ], - [ - 27.42015, - 58.72457 - ], - [ - 28.1317, - 59.30083 - ], - [ - 27.98112, - 59.47537 - ], - [ - 29.1177, - 60.02805 - ], - [ - 28.07, - 60.50352 - ], - [ - 30.21111, - 61.78003 - ], - [ - 31.13999, - 62.35769 - ], - [ - 31.51609, - 62.86769 - ], - [ - 30.03587, - 63.55281 - ], - [ - 30.44468, - 64.20445 - ], - [ - 29.54443, - 64.94867 - ], - [ - 30.21765, - 65.80598 - ], - [ - 29.05459, - 66.94429 - ], - [ - 29.97743, - 67.6983 - ], - [ - 28.44594, - 68.36461 - ], - [ - 28.59193, - 69.06478 - ], - [ - 35, - 71 - ], - [ - 40, - 83 - ], - [ - 180, - 83 - ] - ] - ] - ] - } - }, - LKA: { - type: "Feature", - id: "LKA", - properties: { - name: "Sri Lanka" - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 81.78796, - 7.52306 - ], - [ - 81.63732, - 6.48177 - ], - [ - 81.21802, - 6.19714 - ], - [ - 80.34836, - 5.96837 - ], - [ - 79.87247, - 6.76346 - ], - [ - 79.69517, - 8.20084 - ], - [ - 80.1478, - 9.82408 - ], - [ - 80.83882, - 9.26843 - ], - [ - 81.30432, - 8.56421 - ], - [ - 81.78796, - 7.52306 - ] - ] - ] - } - }, - taiwan: { - type: "Feature", - id: "taiwan", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 119, - 23.5 - ], - [ - 121.7, - 26 - ], - [ - 122.5, - 25.5 - ], - [ - 121.8, - 21.8 - ], - [ - 120, - 21.5 - ], - [ - 119, - 23.5 - ] - ] - ] - } - }, - thailand_cnx: { - type: "Feature", - id: "thailand_cnx", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 98.4375, - 18.2319 - ], - [ - 98.4375, - 19.2255 - ], - [ - 99.5306, - 19.2255 - ], - [ - 99.5306, - 18.2319 - ], - [ - 98.4375, - 18.2319 - ] - ] - ] - } - }, - thailand_full: { - type: "Feature", - id: "thailand_full", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 97.50366, - 8.39358 - ], - [ - 97.7124, - 9.60075 - ], - [ - 99.47021, - 11.8566 - ], - [ - 98.05298, - 14.84923 - ], - [ - 98.32764, - 16.15137 - ], - [ - 97.21802, - 18.39623 - ], - [ - 97.38281, - 19.73568 - ], - [ - 100.2832, - 20.66363 - ], - [ - 101.37085, - 19.69431 - ], - [ - 101.40381, - 18.27109 - ], - [ - 104.08447, - 18.58377 - ], - [ - 105.76538, - 16.06693 - ], - [ - 105.52368, - 14.15788 - ], - [ - 102.854, - 13.82741 - ], - [ - 103.00781, - 11.69527 - ], - [ - 102.12891, - 5.81276 - ], - [ - 101.11542, - 5.4875 - ], - [ - 100.66498, - 6.42448 - ], - [ - 99.13788, - 6.34806 - ], - [ - 97.50366, - 8.39358 - ] - ] - ] - } - }, - "al-tirana": { - type: "Feature", - id: "al-tirana", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 19.3, - 41.17 - ], - [ - 19.3, - 41.6 - ], - [ - 19.9, - 41.6 - ], - [ - 20.2, - 41.1 - ], - [ - 20, - 40.95 - ], - [ - 19.3, - 41.17 - ] - ] - ] - } - }, - albania: { - type: "Feature", - id: "albania", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 19.39087, - 41.86138 - ], - [ - 19.40186, - 42.09007 - ], - [ - 19.27002, - 42.18376 - ], - [ - 19.69849, - 42.67436 - ], - [ - 19.81384, - 42.46399 - ], - [ - 20.07202, - 42.55713 - ], - [ - 20.25879, - 42.33824 - ], - [ - 20.34668, - 42.32606 - ], - [ - 20.51697, - 42.23665 - ], - [ - 20.61584, - 41.92272 - ], - [ - 20.52795, - 41.71803 - ], - [ - 20.56091, - 41.57847 - ], - [ - 20.44556, - 41.54559 - ], - [ - 20.56091, - 41.40566 - ], - [ - 20.50049, - 41.3397 - ], - [ - 20.58289, - 41.09177 - ], - [ - 20.65979, - 41.07521 - ], - [ - 20.71472, - 40.90521 - ], - [ - 20.95642, - 40.92181 - ], - [ - 20.98389, - 40.7431 - ], - [ - 21.07178, - 40.60978 - ], - [ - 20.95093, - 40.47202 - ], - [ - 20.85205, - 40.47202 - ], - [ - 20.68726, - 40.10329 - ], - [ - 20.43457, - 40.07387 - ], - [ - 20.33569, - 39.99396 - ], - [ - 20.43457, - 39.82119 - ], - [ - 20.38513, - 39.77899 - ], - [ - 20.28625, - 39.8001 - ], - [ - 20.31921, - 39.72831 - ], - [ - 20.20386, - 39.63954 - ], - [ - 19.97314, - 39.69451 - ], - [ - 20.0116, - 39.86759 - ], - [ - 19.86328, - 40.04444 - ], - [ - 19.35791, - 40.2921 - ], - [ - 19.25354, - 40.51798 - ], - [ - 19.4458, - 40.3298 - ], - [ - 19.50073, - 40.43859 - ], - [ - 19.31396, - 40.65564 - ], - [ - 19.41833, - 40.90936 - ], - [ - 19.53918, - 40.92181 - ], - [ - 19.4458, - 41.00063 - ], - [ - 19.43481, - 41.15384 - ], - [ - 19.50623, - 41.2489 - ], - [ - 19.4458, - 41.32733 - ], - [ - 19.41284, - 41.4139 - ], - [ - 19.51721, - 41.52092 - ], - [ - 19.45129, - 41.60312 - ], - [ - 19.52271, - 41.57847 - ], - [ - 19.58862, - 41.62366 - ], - [ - 19.59961, - 41.7836 - ], - [ - 19.39087, - 41.86138 - ] - ] - ] - } - }, - austria: { - type: "Feature", - id: "austria", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 16.50733, - 46.99293 - ], - [ - 16.28342, - 46.99293 - ], - [ - 16.13584, - 46.8713 - ], - [ - 15.98317, - 46.81909 - ], - [ - 16.04933, - 46.65517 - ], - [ - 15.86104, - 46.71801 - ], - [ - 15.75926, - 46.69009 - ], - [ - 15.56079, - 46.67962 - ], - [ - 15.57606, - 46.63421 - ], - [ - 15.47937, - 46.60276 - ], - [ - 15.43357, - 46.65168 - ], - [ - 15.22493, - 46.63421 - ], - [ - 15.04682, - 46.64819 - ], - [ - 14.99084, - 46.58877 - ], - [ - 14.9603, - 46.62373 - ], - [ - 14.85344, - 46.60276 - ], - [ - 14.83308, - 46.50127 - ], - [ - 14.75166, - 46.49776 - ], - [ - 14.68041, - 46.43818 - ], - [ - 14.61426, - 46.43818 - ], - [ - 14.57864, - 46.37853 - ], - [ - 14.44124, - 46.43116 - ], - [ - 14.16135, - 46.42766 - ], - [ - 14.12573, - 46.47674 - ], - [ - 14.01886, - 46.47674 - ], - [ - 13.91199, - 46.52578 - ], - [ - 13.82548, - 46.50477 - ], - [ - 13.44381, - 46.56078 - ], - [ - 13.30641, - 46.55028 - ], - [ - 13.1283, - 46.58877 - ], - [ - 12.84332, - 46.61324 - ], - [ - 12.72628, - 46.6412 - ], - [ - 12.51255, - 46.66565 - ], - [ - 12.35988, - 46.70405 - ], - [ - 12.36497, - 46.77032 - ], - [ - 12.28863, - 46.77729 - ], - [ - 12.27337, - 46.88522 - ], - [ - 12.20721, - 46.87478 - ], - [ - 12.13088, - 46.90261 - ], - [ - 12.11561, - 46.99987 - ], - [ - 12.25301, - 47.06577 - ], - [ - 12.2123, - 47.0935 - ], - [ - 11.9833, - 47.04497 - ], - [ - 11.73394, - 46.96168 - ], - [ - 11.63217, - 47.01028 - ], - [ - 11.54057, - 46.97557 - ], - [ - 11.49986, - 47.00681 - ], - [ - 11.41843, - 46.96515 - ], - [ - 11.25559, - 46.97557 - ], - [ - 11.1131, - 46.91304 - ], - [ - 11.04185, - 46.76335 - ], - [ - 10.88919, - 46.75986 - ], - [ - 10.74161, - 46.78426 - ], - [ - 10.70599, - 46.86435 - ], - [ - 10.57877, - 46.83998 - ], - [ - 10.45663, - 46.85043 - ], - [ - 10.47699, - 46.92694 - ], - [ - 10.38539, - 46.98946 - ], - [ - 10.23272, - 46.86435 - ], - [ - 10.12076, - 46.83302 - ], - [ - 9.86632, - 46.94084 - ], - [ - 9.90194, - 47.00334 - ], - [ - 9.68312, - 47.05884 - ], - [ - 9.61188, - 47.03804 - ], - [ - 9.63223, - 47.12813 - ], - [ - 9.58134, - 47.1662 - ], - [ - 9.54063, - 47.26644 - ], - [ - 9.60679, - 47.34926 - ], - [ - 9.67294, - 47.36994 - ], - [ - 9.64241, - 47.44571 - ], - [ - 9.56608, - 47.48011 - ], - [ - 9.71365, - 47.52824 - ], - [ - 9.7849, - 47.59692 - ], - [ - 9.83579, - 47.54542 - ], - [ - 9.94774, - 47.53855 - ], - [ - 10.09023, - 47.44915 - ], - [ - 10.11059, - 47.36649 - ], - [ - 10.2429, - 47.38717 - ], - [ - 10.18692, - 47.2699 - ], - [ - 10.32432, - 47.29751 - ], - [ - 10.48208, - 47.44915 - ], - [ - 10.43119, - 47.48699 - ], - [ - 10.44137, - 47.59005 - ], - [ - 10.48717, - 47.55229 - ], - [ - 10.54823, - 47.53511 - ], - [ - 10.59912, - 47.56602 - ], - [ - 10.75688, - 47.53168 - ], - [ - 10.88919, - 47.54542 - ], - [ - 10.94008, - 47.48699 - ], - [ - 10.99605, - 47.39061 - ], - [ - 11.23523, - 47.44227 - ], - [ - 11.28103, - 47.3975 - ], - [ - 11.42352, - 47.51449 - ], - [ - 11.57619, - 47.50762 - ], - [ - 11.60672, - 47.59005 - ], - [ - 11.83572, - 47.58662 - ], - [ - 12.00366, - 47.62436 - ], - [ - 12.20721, - 47.60378 - ], - [ - 12.16141, - 47.69634 - ], - [ - 12.2581, - 47.74427 - ], - [ - 12.25301, - 47.67921 - ], - [ - 12.43112, - 47.71004 - ], - [ - 12.49219, - 47.63122 - ], - [ - 12.56852, - 47.62779 - ], - [ - 12.62959, - 47.68949 - ], - [ - 12.77208, - 47.66893 - ], - [ - 12.83315, - 47.54198 - ], - [ - 12.97564, - 47.47323 - ], - [ - 13.04179, - 47.49387 - ], - [ - 13.0367, - 47.55572 - ], - [ - 13.09777, - 47.64151 - ], - [ - 13.03161, - 47.71004 - ], - [ - 12.90439, - 47.72031 - ], - [ - 13.00617, - 47.84683 - ], - [ - 12.9451, - 47.93555 - ], - [ - 12.86368, - 47.95941 - ], - [ - 12.86368, - 48.00369 - ], - [ - 12.75172, - 48.09894 - ], - [ - 12.87386, - 48.21097 - ], - [ - 12.96037, - 48.21097 - ], - [ - 13.04179, - 48.2652 - ], - [ - 13.18428, - 48.29907 - ], - [ - 13.26061, - 48.2923 - ], - [ - 13.39801, - 48.35659 - ], - [ - 13.44381, - 48.41742 - ], - [ - 13.43872, - 48.55234 - ], - [ - 13.50997, - 48.58601 - ], - [ - 13.61175, - 48.57255 - ], - [ - 13.72879, - 48.5119 - ], - [ - 13.78477, - 48.57255 - ], - [ - 13.82039, - 48.62639 - ], - [ - 13.79495, - 48.71713 - ], - [ - 13.85093, - 48.77417 - ], - [ - 14.05957, - 48.66338 - ], - [ - 14.01377, - 48.63312 - ], - [ - 14.07484, - 48.59274 - ], - [ - 14.21733, - 48.59611 - ], - [ - 14.3649, - 48.54897 - ], - [ - 14.46668, - 48.64993 - ], - [ - 14.55828, - 48.59611 - ], - [ - 14.59899, - 48.62639 - ], - [ - 14.72113, - 48.57591 - ], - [ - 14.72113, - 48.6869 - ], - [ - 14.8229, - 48.7272 - ], - [ - 14.81782, - 48.77753 - ], - [ - 14.96472, - 48.78518 - ], - [ - 14.98936, - 49.01266 - ], - [ - 15.14859, - 48.99503 - ], - [ - 15.19439, - 48.93155 - ], - [ - 15.30635, - 48.98501 - ], - [ - 15.39286, - 48.98501 - ], - [ - 15.48446, - 48.92821 - ], - [ - 15.74908, - 48.8546 - ], - [ - 15.84068, - 48.88807 - ], - [ - 16.00862, - 48.78088 - ], - [ - 16.20708, - 48.73391 - ], - [ - 16.39537, - 48.73727 - ], - [ - 16.49206, - 48.81105 - ], - [ - 16.69053, - 48.77417 - ], - [ - 16.7058, - 48.73391 - ], - [ - 16.89917, - 48.71377 - ], - [ - 16.97551, - 48.51527 - ], - [ - 16.84828, - 48.45118 - ], - [ - 16.85337, - 48.34644 - ], - [ - 16.95515, - 48.25165 - ], - [ - 16.99077, - 48.1499 - ], - [ - 17.09255, - 48.13971 - ], - [ - 17.08237, - 48.02412 - ], - [ - 17.17397, - 48.02071 - ], - [ - 17.08237, - 47.87414 - ], - [ - 16.98568, - 47.86732 - ], - [ - 17.08237, - 47.80925 - ], - [ - 17.09255, - 47.70319 - ], - [ - 16.74142, - 47.67921 - ], - [ - 16.7058, - 47.75112 - ], - [ - 16.53786, - 47.75454 - ], - [ - 16.54804, - 47.70662 - ], - [ - 16.42082, - 47.66893 - ], - [ - 16.57348, - 47.6175 - ], - [ - 16.67017, - 47.63122 - ], - [ - 16.71088, - 47.53855 - ], - [ - 16.66, - 47.44915 - ], - [ - 16.54295, - 47.39406 - ], - [ - 16.46153, - 47.39406 - ], - [ - 16.49206, - 47.2768 - ], - [ - 16.42591, - 47.19733 - ], - [ - 16.47171, - 47.1489 - ], - [ - 16.54804, - 47.1489 - ], - [ - 16.47679, - 47.07964 - ], - [ - 16.52768, - 47.05884 - ], - [ - 16.50733, - 46.99293 - ] - ] - ] - } - }, - graz: { - type: "Feature", - id: "graz", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 15.26276, - 46.94182 - ], - [ - 15.26276, - 47.16918 - ], - [ - 15.62943, - 47.16918 - ], - [ - 15.62943, - 46.94182 - ], - [ - 15.26276, - 46.94182 - ] - ] - ] - } - }, - belarus: { - type: "Feature", - id: "belarus", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 23.19351, - 52.37811 - ], - [ - 23.38715, - 52.57134 - ], - [ - 23.67554, - 52.61806 - ], - [ - 23.87329, - 52.72215 - ], - [ - 23.75656, - 53.20027 - ], - [ - 23.42148, - 53.83956 - ], - [ - 23.43521, - 53.97467 - ], - [ - 24.33609, - 53.99082 - ], - [ - 24.73022, - 54.03762 - ], - [ - 24.70825, - 54.16967 - ], - [ - 24.95682, - 54.18253 - ], - [ - 25.48004, - 54.37176 - ], - [ - 25.63385, - 54.95239 - ], - [ - 26.53748, - 55.24468 - ], - [ - 26.27655, - 55.26973 - ], - [ - 26.48804, - 55.71009 - ], - [ - 26.89728, - 55.87993 - ], - [ - 27.56195, - 55.82597 - ], - [ - 27.56195, - 55.97226 - ], - [ - 27.98218, - 56.20976 - ], - [ - 29.64935, - 55.96304 - ], - [ - 30.28107, - 55.89303 - ], - [ - 30.95398, - 55.64815 - ], - [ - 31.20941, - 54.67065 - ], - [ - 32.47009, - 53.7617 - ], - [ - 32.83539, - 53.3866 - ], - [ - 32.22839, - 53.02635 - ], - [ - 31.51978, - 53.16159 - ], - [ - 31.84662, - 52.06262 - ], - [ - 30.8139, - 51.93411 - ], - [ - 30.4953, - 51.21032 - ], - [ - 27.71301, - 51.46085 - ], - [ - 25.85083, - 51.88666 - ], - [ - 24.5874, - 51.81541 - ], - [ - 23.51898, - 51.41634 - ], - [ - 23.45581, - 51.99841 - ], - [ - 23.15918, - 52.1874 - ], - [ - 23.19351, - 52.37811 - ] - ] - ] - } - }, - belgium: { - type: "Feature", - id: "belgium", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 3.08167, - 51.55146 - ], - [ - 3.30963, - 51.43346 - ], - [ - 3.36834, - 51.36996 - ], - [ - 3.37761, - 51.35956 - ], - [ - 3.37589, - 51.34841 - ], - [ - 3.38482, - 51.34337 - ], - [ - 3.38722, - 51.33887 - ], - [ - 3.38688, - 51.33286 - ], - [ - 3.36096, - 51.31527 - ], - [ - 3.3819, - 51.30207 - ], - [ - 3.37641, - 51.29928 - ], - [ - 3.36782, - 51.29681 - ], - [ - 3.38293, - 51.28726 - ], - [ - 3.38327, - 51.2806 - ], - [ - 3.37915, - 51.27824 - ], - [ - 3.38121, - 51.27598 - ], - [ - 3.39031, - 51.27416 - ], - [ - 3.39598, - 51.26686 - ], - [ - 3.40439, - 51.26449 - ], - [ - 3.40937, - 51.25923 - ], - [ - 3.41795, - 51.26127 - ], - [ - 3.42138, - 51.25848 - ], - [ - 3.4267, - 51.25482 - ], - [ - 3.42894, - 51.24709 - ], - [ - 3.44679, - 51.24279 - ], - [ - 3.52592, - 51.24677 - ], - [ - 3.51425, - 51.2878 - ], - [ - 3.52927, - 51.28935 - ], - [ - 3.53434, - 51.28474 - ], - [ - 3.53811, - 51.28479 - ], - [ - 3.54266, - 51.29177 - ], - [ - 3.55717, - 51.29187 - ], - [ - 3.5588, - 51.2959 - ], - [ - 3.56163, - 51.29644 - ], - [ - 3.56489, - 51.29569 - ], - [ - 3.5727, - 51.29225 - ], - [ - 3.57253, - 51.29107 - ], - [ - 3.57571, - 51.28946 - ], - [ - 3.57905, - 51.28951 - ], - [ - 3.58206, - 51.28876 - ], - [ - 3.58214, - 51.29247 - ], - [ - 3.58618, - 51.29316 - ], - [ - 3.58026, - 51.29869 - ], - [ - 3.58987, - 51.30663 - ], - [ - 3.62626, - 51.29413 - ], - [ - 3.64145, - 51.28914 - ], - [ - 3.64411, - 51.29069 - ], - [ - 3.6581, - 51.29096 - ], - [ - 3.6781, - 51.28345 - ], - [ - 3.67905, - 51.28168 - ], - [ - 3.69063, - 51.28173 - ], - [ - 3.69424, - 51.27668 - ], - [ - 3.71801, - 51.27217 - ], - [ - 3.71827, - 51.27368 - ], - [ - 3.72273, - 51.274 - ], - [ - 3.75054, - 51.27061 - ], - [ - 3.75286, - 51.27104 - ], - [ - 3.75681, - 51.26986 - ], - [ - 3.76342, - 51.26261 - ], - [ - 3.76848, - 51.26106 - ], - [ - 3.77123, - 51.26218 - ], - [ - 3.77355, - 51.2646 - ], - [ - 3.79698, - 51.25665 - ], - [ - 3.79071, - 51.24553 - ], - [ - 3.79063, - 51.21608 - ], - [ - 3.80453, - 51.2143 - ], - [ - 3.80796, - 51.21398 - ], - [ - 3.82479, - 51.21086 - ], - [ - 3.8356, - 51.21516 - ], - [ - 3.85225, - 51.21484 - ], - [ - 3.85895, - 51.21291 - ], - [ - 3.89002, - 51.22473 - ], - [ - 3.89568, - 51.21968 - ], - [ - 3.89482, - 51.2143 - ], - [ - 3.88298, - 51.20764 - ], - [ - 3.88762, - 51.20301 - ], - [ - 3.89345, - 51.20527 - ], - [ - 3.89929, - 51.20398 - ], - [ - 3.91542, - 51.20989 - ], - [ - 3.91388, - 51.21764 - ], - [ - 3.92349, - 51.21989 - ], - [ - 3.93105, - 51.22194 - ], - [ - 3.9374, - 51.21398 - ], - [ - 3.94323, - 51.21721 - ], - [ - 3.95748, - 51.21764 - ], - [ - 3.96023, - 51.22527 - ], - [ - 3.97654, - 51.22667 - ], - [ - 3.9846, - 51.2357 - ], - [ - 3.99473, - 51.23914 - ], - [ - 4.00469, - 51.24311 - ], - [ - 4.01636, - 51.24623 - ], - [ - 4.03851, - 51.24687 - ], - [ - 4.04125, - 51.24397 - ], - [ - 4.05842, - 51.24505 - ], - [ - 4.06082, - 51.24773 - ], - [ - 4.16365, - 51.29391 - ], - [ - 4.23815, - 51.35345 - ], - [ - 4.22373, - 51.35881 - ], - [ - 4.21686, - 51.36878 - ], - [ - 4.21635, - 51.37435 - ], - [ - 4.33685, - 51.37842 - ], - [ - 4.34235, - 51.35988 - ], - [ - 4.35093, - 51.35967 - ], - [ - 4.36861, - 51.35795 - ], - [ - 4.38543, - 51.35592 - ], - [ - 4.39505, - 51.35753 - ], - [ - 4.42114, - 51.36707 - ], - [ - 4.42818, - 51.36642 - ], - [ - 4.42337, - 51.37242 - ], - [ - 4.42904, - 51.37521 - ], - [ - 4.38852, - 51.40702 - ], - [ - 4.38097, - 51.42137 - ], - [ - 4.38904, - 51.42597 - ], - [ - 4.39093, - 51.43304 - ], - [ - 4.3935, - 51.43486 - ], - [ - 4.39161, - 51.44416 - ], - [ - 4.37891, - 51.44502 - ], - [ - 4.37719, - 51.44716 - ], - [ - 4.38131, - 51.45165 - ], - [ - 4.38509, - 51.4508 - ], - [ - 4.44157, - 51.47005 - ], - [ - 4.46354, - 51.4723 - ], - [ - 4.47487, - 51.47978 - ], - [ - 4.48654, - 51.4786 - ], - [ - 4.53856, - 51.48416 - ], - [ - 4.55074, - 51.47283 - ], - [ - 4.53238, - 51.44877 - ], - [ - 4.53701, - 51.42522 - ], - [ - 4.57512, - 51.43411 - ], - [ - 4.63469, - 51.42651 - ], - [ - 4.64087, - 51.42372 - ], - [ - 4.65048, - 51.42747 - ], - [ - 4.6673, - 51.42779 - ], - [ - 4.66473, - 51.44556 - ], - [ - 4.69236, - 51.45326 - ], - [ - 4.70146, - 51.46845 - ], - [ - 4.71416, - 51.47026 - ], - [ - 4.71519, - 51.47304 - ], - [ - 4.72781, - 51.48486 - ], - [ - 4.74524, - 51.48988 - ], - [ - 4.74721, - 51.49368 - ], - [ - 4.74781, - 51.49651 - ], - [ - 4.75047, - 51.49945 - ], - [ - 4.75648, - 51.50196 - ], - [ - 4.77253, - 51.50682 - ], - [ - 4.79485, - 51.5034 - ], - [ - 4.82025, - 51.49784 - ], - [ - 4.82643, - 51.48609 - ], - [ - 4.84737, - 51.48352 - ], - [ - 4.84291, - 51.46449 - ], - [ - 4.84909, - 51.46085 - ], - [ - 4.84463, - 51.4478 - ], - [ - 4.83089, - 51.44438 - ], - [ - 4.83742, - 51.42683 - ], - [ - 4.8563, - 51.41805 - ], - [ - 4.88171, - 51.43325 - ], - [ - 4.91741, - 51.4127 - ], - [ - 4.93389, - 51.42083 - ], - [ - 4.90162, - 51.44053 - ], - [ - 4.9387, - 51.46192 - ], - [ - 4.97646, - 51.44545 - ], - [ - 5.02419, - 51.48523 - ], - [ - 5.03225, - 51.48919 - ], - [ - 5.04187, - 51.4878 - ], - [ - 5.04135, - 51.48053 - ], - [ - 5.04856, - 51.47433 - ], - [ - 5.08032, - 51.47475 - ], - [ - 5.10658, - 51.43047 - ], - [ - 5.07294, - 51.39358 - ], - [ - 5.11765, - 51.36149 - ], - [ - 5.12074, - 51.35592 - ], - [ - 5.13268, - 51.3475 - ], - [ - 5.13525, - 51.31608 - ], - [ - 5.1622, - 51.31135 - ], - [ - 5.17241, - 51.31688 - ], - [ - 5.19001, - 51.32069 - ], - [ - 5.19585, - 51.32123 - ], - [ - 5.19988, - 51.32348 - ], - [ - 5.24331, - 51.30594 - ], - [ - 5.2276, - 51.26841 - ], - [ - 5.23842, - 51.26208 - ], - [ - 5.26357, - 51.26782 - ], - [ - 5.29584, - 51.26267 - ], - [ - 5.31567, - 51.26449 - ], - [ - 5.33755, - 51.26428 - ], - [ - 5.34107, - 51.26686 - ], - [ - 5.34399, - 51.27309 - ], - [ - 5.34554, - 51.27668 - ], - [ - 5.4172, - 51.2632 - ], - [ - 5.43222, - 51.27706 - ], - [ - 5.43806, - 51.27695 - ], - [ - 5.44132, - 51.2827 - ], - [ - 5.46398, - 51.28549 - ], - [ - 5.47608, - 51.29209 - ], - [ - 5.47608, - 51.29536 - ], - [ - 5.48226, - 51.29923 - ], - [ - 5.48201, - 51.301 - ], - [ - 5.51625, - 51.29612 - ], - [ - 5.52011, - 51.28957 - ], - [ - 5.54363, - 51.27298 - ], - [ - 5.55711, - 51.26718 - ], - [ - 5.55874, - 51.2631 - ], - [ - 5.55745, - 51.25316 - ], - [ - 5.55651, - 51.24472 - ], - [ - 5.56131, - 51.22301 - ], - [ - 5.63667, - 51.20355 - ], - [ - 5.65401, - 51.19812 - ], - [ - 5.65513, - 51.1936 - ], - [ - 5.65212, - 51.1929 - ], - [ - 5.65753, - 51.1865 - ], - [ - 5.66834, - 51.18671 - ], - [ - 5.67624, - 51.18548 - ], - [ - 5.67761, - 51.18435 - ], - [ - 5.6856, - 51.18542 - ], - [ - 5.68946, - 51.18623 - ], - [ - 5.69815, - 51.1842 - ], - [ - 5.70201, - 51.18397 - ], - [ - 5.70165, - 51.18275 - ], - [ - 5.70645, - 51.18248 - ], - [ - 5.70815, - 51.18223 - ], - [ - 5.70987, - 51.1812 - ], - [ - 5.71431, - 51.1839 - ], - [ - 5.7177, - 51.18475 - ], - [ - 5.72948, - 51.18601 - ], - [ - 5.73031, - 51.18553 - ], - [ - 5.73274, - 51.18564 - ], - [ - 5.73274, - 51.18615 - ], - [ - 5.7345, - 51.18657 - ], - [ - 5.73993, - 51.18757 - ], - [ - 5.74576, - 51.19032 - ], - [ - 5.75769, - 51.18618 - ], - [ - 5.75821, - 51.1851 - ], - [ - 5.76731, - 51.18413 - ], - [ - 5.77821, - 51.1787 - ], - [ - 5.77477, - 51.17337 - ], - [ - 5.7801, - 51.17289 - ], - [ - 5.78078, - 51.17208 - ], - [ - 5.77992, - 51.17052 - ], - [ - 5.77673, - 51.1702 - ], - [ - 5.77585, - 51.17028 - ], - [ - 5.77321, - 51.16967 - ], - [ - 5.77274, - 51.16925 - ], - [ - 5.77192, - 51.16924 - ], - [ - 5.77093, - 51.1698 - ], - [ - 5.76993, - 51.16905 - ], - [ - 5.77059, - 51.16458 - ], - [ - 5.77383, - 51.16453 - ], - [ - 5.77385, - 51.16558 - ], - [ - 5.77638, - 51.16565 - ], - [ - 5.77701, - 51.16306 - ], - [ - 5.7775, - 51.16298 - ], - [ - 5.77808, - 51.16353 - ], - [ - 5.77975, - 51.16356 - ], - [ - 5.78025, - 51.15935 - ], - [ - 5.77797, - 51.15803 - ], - [ - 5.77677, - 51.15554 - ], - [ - 5.77829, - 51.15502 - ], - [ - 5.77907, - 51.15319 - ], - [ - 5.78456, - 51.15421 - ], - [ - 5.79005, - 51.15798 - ], - [ - 5.79512, - 51.15798 - ], - [ - 5.80095, - 51.15954 - ], - [ - 5.80027, - 51.16094 - ], - [ - 5.80361, - 51.1632 - ], - [ - 5.80619, - 51.16352 - ], - [ - 5.8134, - 51.16051 - ], - [ - 5.8146, - 51.16325 - ], - [ - 5.82473, - 51.16874 - ], - [ - 5.83434, - 51.16314 - ], - [ - 5.83589, - 51.15905 - ], - [ - 5.84078, - 51.15819 - ], - [ - 5.84129, - 51.15523 - ], - [ - 5.8564, - 51.15071 - ], - [ - 5.86258, - 51.14446 - ], - [ - 5.85674, - 51.14037 - ], - [ - 5.85159, - 51.13671 - ], - [ - 5.84816, - 51.12938 - ], - [ - 5.83374, - 51.12744 - ], - [ - 5.82241, - 51.12249 - ], - [ - 5.81211, - 51.11387 - ], - [ - 5.82275, - 51.11171 - ], - [ - 5.84026, - 51.10611 - ], - [ - 5.83683, - 51.0936 - ], - [ - 5.82584, - 51.08929 - ], - [ - 5.80559, - 51.09102 - ], - [ - 5.81142, - 51.07851 - ], - [ - 5.80421, - 51.07031 - ], - [ - 5.80868, - 51.06233 - ], - [ - 5.797, - 51.05564 - ], - [ - 5.77709, - 51.05693 - ], - [ - 5.76576, - 51.03384 - ], - [ - 5.78568, - 51.02412 - ], - [ - 5.77263, - 51.01354 - ], - [ - 5.77332, - 51.00555 - ], - [ - 5.76885, - 50.99345 - ], - [ - 5.7589, - 50.98912 - ], - [ - 5.74654, - 50.97767 - ], - [ - 5.72765, - 50.9647 - ], - [ - 5.72834, - 50.95843 - ], - [ - 5.73761, - 50.96145 - ], - [ - 5.75306, - 50.96232 - ], - [ - 5.76851, - 50.9541 - ], - [ - 5.7589, - 50.94567 - ], - [ - 5.73521, - 50.92446 - ], - [ - 5.73177, - 50.91061 - ], - [ - 5.7177, - 50.90563 - ], - [ - 5.70362, - 50.9078 - ], - [ - 5.70122, - 50.89545 - ], - [ - 5.68954, - 50.88224 - ], - [ - 5.68096, - 50.87726 - ], - [ - 5.67169, - 50.87574 - ], - [ - 5.65453, - 50.87054 - ], - [ - 5.64766, - 50.86274 - ], - [ - 5.64766, - 50.84757 - ], - [ - 5.65453, - 50.83435 - ], - [ - 5.66448, - 50.82437 - ], - [ - 5.6971, - 50.81353 - ], - [ - 5.71838, - 50.80333 - ], - [ - 5.72113, - 50.77642 - ], - [ - 5.78018, - 50.79639 - ], - [ - 5.82962, - 50.77294 - ], - [ - 5.9079, - 50.77381 - ], - [ - 6.00403, - 50.76947 - ], - [ - 6.04248, - 50.76252 - ], - [ - 6.05621, - 50.75123 - ], - [ - 6.129, - 50.73385 - ], - [ - 6.16745, - 50.69037 - ], - [ - 6.21689, - 50.66252 - ], - [ - 6.2471, - 50.65991 - ], - [ - 6.28143, - 50.64424 - ], - [ - 6.28693, - 50.62333 - ], - [ - 6.27045, - 50.59631 - ], - [ - 6.24847, - 50.58542 - ], - [ - 6.24058, - 50.56078 - ], - [ - 6.22719, - 50.5538 - ], - [ - 6.21586, - 50.54965 - ], - [ - 6.20419, - 50.53591 - ], - [ - 6.21552, - 50.52063 - ], - [ - 6.22993, - 50.50295 - ], - [ - 6.23989, - 50.50513 - ], - [ - 6.2598, - 50.50338 - ], - [ - 6.27766, - 50.50731 - ], - [ - 6.29139, - 50.50076 - ], - [ - 6.3089, - 50.50513 - ], - [ - 6.3216, - 50.49923 - ], - [ - 6.35078, - 50.49377 - ], - [ - 6.35765, - 50.48722 - ], - [ - 6.34838, - 50.47936 - ], - [ - 6.35147, - 50.46188 - ], - [ - 6.37756, - 50.45925 - ], - [ - 6.38065, - 50.44657 - ], - [ - 6.37619, - 50.40786 - ], - [ - 6.36383, - 50.39561 - ], - [ - 6.35387, - 50.38028 - ], - [ - 6.36246, - 50.37634 - ], - [ - 6.41155, - 50.34415 - ], - [ - 6.41499, - 50.33363 - ], - [ - 6.40675, - 50.31982 - ], - [ - 6.38718, - 50.31763 - ], - [ - 6.36829, - 50.3025 - ], - [ - 6.35765, - 50.30338 - ], - [ - 6.33018, - 50.31565 - ], - [ - 6.31645, - 50.31478 - ], - [ - 6.30444, - 50.30601 - ], - [ - 6.29585, - 50.29044 - ], - [ - 6.29414, - 50.27354 - ], - [ - 6.27628, - 50.26411 - ], - [ - 6.22856, - 50.25511 - ], - [ - 6.21483, - 50.25094 - ], - [ - 6.20659, - 50.24062 - ], - [ - 6.19869, - 50.23403 - ], - [ - 6.17947, - 50.23139 - ], - [ - 6.18221, - 50.22678 - ], - [ - 6.17672, - 50.22151 - ], - [ - 6.19251, - 50.21206 - ], - [ - 6.19801, - 50.18437 - ], - [ - 6.19217, - 50.17646 - ], - [ - 6.15166, - 50.16656 - ], - [ - 6.15509, - 50.15491 - ], - [ - 6.16058, - 50.14633 - ], - [ - 6.15578, - 50.13554 - ], - [ - 6.14376, - 50.13224 - ], - [ - 6.13243, - 50.12454 - ], - [ - 6.10737, - 50.13378 - ], - [ - 6.11012, - 50.16282 - ], - [ - 6.09947, - 50.16502 - ], - [ - 6.08677, - 50.15425 - ], - [ - 6.06583, - 50.14875 - ], - [ - 6.02943, - 50.15579 - ], - [ - 6.01639, - 50.17294 - ], - [ - 5.97931, - 50.16898 - ], - [ - 5.96832, - 50.12542 - ], - [ - 5.94566, - 50.12278 - ], - [ - 5.90378, - 50.10473 - ], - [ - 5.89073, - 50.06948 - ], - [ - 5.86876, - 50.06243 - ], - [ - 5.87837, - 50.03289 - ], - [ - 5.83168, - 50.01039 - ], - [ - 5.84404, - 49.99935 - ], - [ - 5.84747, - 49.98214 - ], - [ - 5.81932, - 49.95785 - ], - [ - 5.78773, - 49.95255 - ], - [ - 5.77263, - 49.91144 - ], - [ - 5.74722, - 49.89994 - ], - [ - 5.7843, - 49.88977 - ], - [ - 5.7946, - 49.87473 - ], - [ - 5.76645, - 49.86012 - ], - [ - 5.75203, - 49.834 - ], - [ - 5.76645, - 49.80121 - ], - [ - 5.79941, - 49.79855 - ], - [ - 5.84404, - 49.74977 - ], - [ - 5.83923, - 49.72847 - ], - [ - 5.87906, - 49.72892 - ], - [ - 5.89622, - 49.70672 - ], - [ - 5.87563, - 49.67963 - ], - [ - 5.91176, - 49.66218 - ], - [ - 5.90567, - 49.65779 - ], - [ - 5.9073, - 49.65479 - ], - [ - 5.90429, - 49.65213 - ], - [ - 5.90507, - 49.64735 - ], - [ - 5.90567, - 49.64262 - ], - [ - 5.90876, - 49.63868 - ], - [ - 5.89854, - 49.63362 - ], - [ - 5.89374, - 49.63573 - ], - [ - 5.88524, - 49.6319 - ], - [ - 5.88799, - 49.62645 - ], - [ - 5.87837, - 49.62 - ], - [ - 5.87829, - 49.61305 - ], - [ - 5.8776, - 49.60737 - ], - [ - 5.84996, - 49.59675 - ], - [ - 5.85202, - 49.58824 - ], - [ - 5.86318, - 49.58773 - ], - [ - 5.86524, - 49.58974 - ], - [ - 5.86962, - 49.59013 - ], - [ - 5.87279, - 49.58913 - ], - [ - 5.87502, - 49.58295 - ], - [ - 5.87073, - 49.58134 - ], - [ - 5.87288, - 49.57961 - ], - [ - 5.87314, - 49.57677 - ], - [ - 5.87451, - 49.5736 - ], - [ - 5.86387, - 49.56965 - ], - [ - 5.86164, - 49.56603 - ], - [ - 5.85288, - 49.56347 - ], - [ - 5.85168, - 49.56185 - ], - [ - 5.84661, - 49.5608 - ], - [ - 5.84773, - 49.55896 - ], - [ - 5.84722, - 49.55567 - ], - [ - 5.84224, - 49.55233 - ], - [ - 5.8267, - 49.54933 - ], - [ - 5.82524, - 49.55066 - ], - [ - 5.82026, - 49.54599 - ], - [ - 5.81623, - 49.54599 - ], - [ - 5.81245, - 49.54582 - ], - [ - 5.80765, - 49.5486 - ], - [ - 5.79941, - 49.54816 - ], - [ - 5.78859, - 49.55194 - ], - [ - 5.77263, - 49.56141 - ], - [ - 5.76181, - 49.55963 - ], - [ - 5.75941, - 49.54203 - ], - [ - 5.7407, - 49.53724 - ], - [ - 5.73521, - 49.53813 - ], - [ - 5.72971, - 49.54225 - ], - [ - 5.7189, - 49.53802 - ], - [ - 5.70156, - 49.5378 - ], - [ - 5.6904, - 49.54392 - ], - [ - 5.67993, - 49.54348 - ], - [ - 5.67787, - 49.54715 - ], - [ - 5.66757, - 49.54682 - ], - [ - 5.66002, - 49.5505 - ], - [ - 5.64526, - 49.54437 - ], - [ - 5.62878, - 49.53579 - ], - [ - 5.6262, - 49.52287 - ], - [ - 5.62346, - 49.5144 - ], - [ - 5.61298, - 49.50292 - ], - [ - 5.60217, - 49.50671 - ], - [ - 5.59359, - 49.51953 - ], - [ - 5.56904, - 49.52565 - ], - [ - 5.56372, - 49.52409 - ], - [ - 5.55462, - 49.52744 - ], - [ - 5.54192, - 49.51384 - ], - [ - 5.50329, - 49.50504 - ], - [ - 5.4875, - 49.50526 - ], - [ - 5.48458, - 49.50113 - ], - [ - 5.47085, - 49.49322 - ], - [ - 5.46209, - 49.49679 - ], - [ - 5.46055, - 49.50738 - ], - [ - 5.45214, - 49.51083 - ], - [ - 5.44304, - 49.51841 - ], - [ - 5.46158, - 49.52788 - ], - [ - 5.46209, - 49.53735 - ], - [ - 5.4372, - 49.55283 - ], - [ - 5.45368, - 49.56542 - ], - [ - 5.44458, - 49.56586 - ], - [ - 5.43549, - 49.56887 - ], - [ - 5.42673, - 49.5899 - ], - [ - 5.42862, - 49.59358 - ], - [ - 5.41523, - 49.59947 - ], - [ - 5.40871, - 49.60748 - ], - [ - 5.39892, - 49.6096 - ], - [ - 5.39652, - 49.6146 - ], - [ - 5.3742, - 49.62128 - ], - [ - 5.37025, - 49.62105 - ], - [ - 5.36047, - 49.62428 - ], - [ - 5.34897, - 49.62895 - ], - [ - 5.34279, - 49.61505 - ], - [ - 5.33781, - 49.61427 - ], - [ - 5.32957, - 49.61494 - ], - [ - 5.32064, - 49.61271 - ], - [ - 5.31378, - 49.6096 - ], - [ - 5.31034, - 49.61071 - ], - [ - 5.30863, - 49.61694 - ], - [ - 5.30279, - 49.62317 - ], - [ - 5.30245, - 49.62962 - ], - [ - 5.30794, - 49.63851 - ], - [ - 5.31738, - 49.64807 - ], - [ - 5.33043, - 49.65318 - ], - [ - 5.30708, - 49.67085 - ], - [ - 5.29284, - 49.67607 - ], - [ - 5.27962, - 49.68496 - ], - [ - 5.2791, - 49.6884 - ], - [ - 5.26829, - 49.69495 - ], - [ - 5.25782, - 49.69295 - ], - [ - 5.2482, - 49.68529 - ], - [ - 5.24117, - 49.68429 - ], - [ - 5.24134, - 49.68851 - ], - [ - 5.23104, - 49.69007 - ], - [ - 5.2173, - 49.6864 - ], - [ - 5.21421, - 49.68784 - ], - [ - 5.20666, - 49.69451 - ], - [ - 5.19722, - 49.69062 - ], - [ - 5.18932, - 49.6924 - ], - [ - 5.17542, - 49.6924 - ], - [ - 5.16306, - 49.69218 - ], - [ - 5.1622, - 49.6995 - ], - [ - 5.1646, - 49.71083 - ], - [ - 5.15963, - 49.71438 - ], - [ - 5.15327, - 49.71671 - ], - [ - 5.15087, - 49.71249 - ], - [ - 5.14263, - 49.70739 - ], - [ - 5.14006, - 49.71194 - ], - [ - 5.13147, - 49.71205 - ], - [ - 5.12529, - 49.71105 - ], - [ - 5.12032, - 49.71704 - ], - [ - 5.12358, - 49.72637 - ], - [ - 5.11723, - 49.73757 - ], - [ - 5.09302, - 49.76297 - ], - [ - 5.08796, - 49.76475 - ], - [ - 5.08452, - 49.76186 - ], - [ - 5.07963, - 49.76164 - ], - [ - 5.07611, - 49.76109 - ], - [ - 5.07139, - 49.75987 - ], - [ - 5.06727, - 49.76081 - ], - [ - 5.06144, - 49.76192 - ], - [ - 5.06092, - 49.76624 - ], - [ - 5.04908, - 49.76741 - ], - [ - 5.00599, - 49.7816 - ], - [ - 5.00547, - 49.7832 - ], - [ - 5.00504, - 49.78719 - ], - [ - 5.00041, - 49.79312 - ], - [ - 4.99741, - 49.79379 - ], - [ - 4.99603, - 49.79506 - ], - [ - 4.99715, - 49.79672 - ], - [ - 4.99672, - 49.79955 - ], - [ - 4.9938, - 49.79977 - ], - [ - 4.98539, - 49.79888 - ], - [ - 4.97895, - 49.79972 - ], - [ - 4.96977, - 49.8011 - ], - [ - 4.96779, - 49.79756 - ], - [ - 4.96179, - 49.79717 - ], - [ - 4.95569, - 49.80027 - ], - [ - 4.94865, - 49.79811 - ], - [ - 4.94814, - 49.79473 - ], - [ - 4.94368, - 49.79035 - ], - [ - 4.94213, - 49.79035 - ], - [ - 4.94132, - 49.79226 - ], - [ - 4.93887, - 49.7926 - ], - [ - 4.93286, - 49.78977 - ], - [ - 4.9329, - 49.78825 - ], - [ - 4.93114, - 49.78661 - ], - [ - 4.92939, - 49.78686 - ], - [ - 4.92102, - 49.78805 - ], - [ - 4.91793, - 49.78708 - ], - [ - 4.91269, - 49.78573 - ], - [ - 4.90475, - 49.78492 - ], - [ - 4.89947, - 49.78597 - ], - [ - 4.89741, - 49.78836 - ], - [ - 4.88913, - 49.78769 - ], - [ - 4.88724, - 49.78786 - ], - [ - 4.88244, - 49.79049 - ], - [ - 4.87939, - 49.79249 - ], - [ - 4.87591, - 49.79282 - ], - [ - 4.87068, - 49.79268 - ], - [ - 4.87188, - 49.78922 - ], - [ - 4.87081, - 49.78839 - ], - [ - 4.86227, - 49.78805 - ], - [ - 4.85712, - 49.78966 - ], - [ - 4.85201, - 49.79035 - ], - [ - 4.84909, - 49.79368 - ], - [ - 4.8563, - 49.79722 - ], - [ - 4.86076, - 49.80354 - ], - [ - 4.86214, - 49.81373 - ], - [ - 4.87364, - 49.81883 - ], - [ - 4.86712, - 49.82071 - ], - [ - 4.86712, - 49.82625 - ], - [ - 4.86506, - 49.83444 - ], - [ - 4.8654, - 49.83964 - ], - [ - 4.85304, - 49.84042 - ], - [ - 4.84943, - 49.84894 - ], - [ - 4.84789, - 49.86278 - ], - [ - 4.84463, - 49.8703 - ], - [ - 4.85561, - 49.87096 - ], - [ - 4.87484, - 49.89618 - ], - [ - 4.87347, - 49.90459 - ], - [ - 4.87999, - 49.90879 - ], - [ - 4.87553, - 49.92006 - ], - [ - 4.85424, - 49.92957 - ], - [ - 4.84325, - 49.94636 - ], - [ - 4.82849, - 49.94724 - ], - [ - 4.78558, - 49.9563 - ], - [ - 4.78523, - 49.9828 - ], - [ - 4.80995, - 49.99626 - ], - [ - 4.81647, - 50.02671 - ], - [ - 4.83021, - 50.04127 - ], - [ - 4.81441, - 50.04788 - ], - [ - 4.8127, - 50.06794 - ], - [ - 4.8357, - 50.07014 - ], - [ - 4.83192, - 50.09085 - ], - [ - 4.84291, - 50.10363 - ], - [ - 4.86626, - 50.10318 - ], - [ - 4.85836, - 50.1164 - ], - [ - 4.88274, - 50.13664 - ], - [ - 4.87072, - 50.14875 - ], - [ - 4.8278, - 50.14963 - ], - [ - 4.82025, - 50.15579 - ], - [ - 4.76875, - 50.1296 - ], - [ - 4.75262, - 50.10539 - ], - [ - 4.70352, - 50.08424 - ], - [ - 4.70112, - 50.01502 - ], - [ - 4.69803, - 49.99229 - ], - [ - 4.63383, - 49.98037 - ], - [ - 4.56963, - 49.96712 - ], - [ - 4.53255, - 49.94857 - ], - [ - 4.51401, - 49.93973 - ], - [ - 4.44122, - 49.93178 - ], - [ - 4.35745, - 49.94327 - ], - [ - 4.31145, - 49.95564 - ], - [ - 4.22974, - 49.94945 - ], - [ - 4.18785, - 49.95034 - ], - [ - 4.16725, - 49.96801 - ], - [ - 4.12331, - 49.97286 - ], - [ - 4.12193, - 50.01215 - ], - [ - 4.14734, - 50.05273 - ], - [ - 4.18167, - 50.05493 - ], - [ - 4.22012, - 50.07301 - ], - [ - 4.1906, - 50.10252 - ], - [ - 4.18922, - 50.1263 - ], - [ - 4.16382, - 50.1219 - ], - [ - 4.11644, - 50.13158 - ], - [ - 4.13841, - 50.21734 - ], - [ - 4.20708, - 50.25555 - ], - [ - 4.1827, - 50.27025 - ], - [ - 4.16382, - 50.28298 - ], - [ - 4.15901, - 50.27596 - ], - [ - 4.17309, - 50.2685 - ], - [ - 4.17309, - 50.25994 - ], - [ - 4.16519, - 50.25401 - ], - [ - 4.13258, - 50.25489 - ], - [ - 4.1312, - 50.26433 - ], - [ - 4.13017, - 50.27091 - ], - [ - 4.11644, - 50.27464 - ], - [ - 4.12262, - 50.2821 - ], - [ - 4.1185, - 50.2957 - ], - [ - 4.09653, - 50.30864 - ], - [ - 4.07696, - 50.30579 - ], - [ - 4.07215, - 50.31807 - ], - [ - 4.05533, - 50.32946 - ], - [ - 4.03679, - 50.33998 - ], - [ - 4.02512, - 50.35291 - ], - [ - 3.98598, - 50.33911 - ], - [ - 3.95748, - 50.33845 - ], - [ - 3.8974, - 50.32267 - ], - [ - 3.88264, - 50.32377 - ], - [ - 3.88092, - 50.33494 - ], - [ - 3.85448, - 50.33911 - ], - [ - 3.84933, - 50.34875 - ], - [ - 3.82942, - 50.35028 - ], - [ - 3.82633, - 50.34217 - ], - [ - 3.80711, - 50.3413 - ], - [ - 3.80608, - 50.35072 - ], - [ - 3.74256, - 50.34393 - ], - [ - 3.73604, - 50.31149 - ], - [ - 3.72437, - 50.30272 - ], - [ - 3.70583, - 50.29921 - ], - [ - 3.68076, - 50.31894 - ], - [ - 3.66428, - 50.34152 - ], - [ - 3.65227, - 50.37087 - ], - [ - 3.66634, - 50.39123 - ], - [ - 3.66325, - 50.42143 - ], - [ - 3.65398, - 50.4551 - ], - [ - 3.62995, - 50.46712 - ], - [ - 3.60832, - 50.49006 - ], - [ - 3.59974, - 50.48657 - ], - [ - 3.55476, - 50.48853 - ], - [ - 3.49915, - 50.47936 - ], - [ - 3.48198, - 50.48635 - ], - [ - 3.50945, - 50.52085 - ], - [ - 3.4758, - 50.52478 - ], - [ - 3.45726, - 50.50513 - ], - [ - 3.43735, - 50.49945 - ], - [ - 3.36662, - 50.48416 - ], - [ - 3.27324, - 50.52609 - ], - [ - 3.25951, - 50.60154 - ], - [ - 3.2341, - 50.65251 - ], - [ - 3.24097, - 50.67862 - ], - [ - 3.24783, - 50.70037 - ], - [ - 3.19565, - 50.70776 - ], - [ - 3.1311, - 50.77642 - ], - [ - 3.06725, - 50.76296 - ], - [ - 2.99652, - 50.74428 - ], - [ - 2.95807, - 50.67035 - ], - [ - 2.82898, - 50.68602 - ], - [ - 2.68341, - 50.77816 - ], - [ - 2.57629, - 50.81114 - ], - [ - 2.5708, - 50.93939 - ], - [ - 2.51862, - 51.05866 - ], - [ - 2.36755, - 51.2516 - ], - [ - 3.08167, - 51.55146 - ] - ] - ] - } - }, - be_brussels: { - type: "Feature", - id: "be_brussels", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 4.37973, - 50.76382 - ], - [ - 4.37853, - 50.76811 - ], - [ - 4.34522, - 50.77337 - ], - [ - 4.34205, - 50.77164 - ], - [ - 4.32952, - 50.77381 - ], - [ - 4.31621, - 50.78624 - ], - [ - 4.31458, - 50.79454 - ], - [ - 4.30282, - 50.79709 - ], - [ - 4.29802, - 50.80593 - ], - [ - 4.28901, - 50.80691 - ], - [ - 4.2854, - 50.80506 - ], - [ - 4.27579, - 50.80696 - ], - [ - 4.27218, - 50.81011 - ], - [ - 4.25802, - 50.80935 - ], - [ - 4.25519, - 50.8151 - ], - [ - 4.24403, - 50.81548 - ], - [ - 4.24343, - 50.82182 - ], - [ - 4.25227, - 50.82697 - ], - [ - 4.25107, - 50.83288 - ], - [ - 4.25467, - 50.83695 - ], - [ - 4.27193, - 50.84036 - ], - [ - 4.28094, - 50.84215 - ], - [ - 4.28042, - 50.85721 - ], - [ - 4.27802, - 50.85911 - ], - [ - 4.27699, - 50.86713 - ], - [ - 4.28274, - 50.87227 - ], - [ - 4.29561, - 50.88094 - ], - [ - 4.29553, - 50.88262 - ], - [ - 4.29149, - 50.88495 - ], - [ - 4.29004, - 50.88982 - ], - [ - 4.30634, - 50.89274 - ], - [ - 4.31647, - 50.89605 - ], - [ - 4.32892, - 50.90249 - ], - [ - 4.34025, - 50.90411 - ], - [ - 4.34857, - 50.90341 - ], - [ - 4.36213, - 50.9033 - ], - [ - 4.3726, - 50.90032 - ], - [ - 4.38119, - 50.90319 - ], - [ - 4.38462, - 50.91093 - ], - [ - 4.39578, - 50.91407 - ], - [ - 4.41543, - 50.91342 - ], - [ - 4.41655, - 50.90757 - ], - [ - 4.4296, - 50.90103 - ], - [ - 4.43595, - 50.89502 - ], - [ - 4.43106, - 50.89014 - ], - [ - 4.44007, - 50.87845 - ], - [ - 4.43183, - 50.87628 - ], - [ - 4.4253, - 50.86615 - ], - [ - 4.44599, - 50.85992 - ], - [ - 4.44968, - 50.85591 - ], - [ - 4.46238, - 50.85396 - ], - [ - 4.46899, - 50.84573 - ], - [ - 4.46959, - 50.83537 - ], - [ - 4.47972, - 50.82036 - ], - [ - 4.45947, - 50.81661 - ], - [ - 4.45921, - 50.80626 - ], - [ - 4.48238, - 50.79617 - ], - [ - 4.4817, - 50.79134 - ], - [ - 4.46427, - 50.78645 - ], - [ - 4.435, - 50.775 - ], - [ - 4.43028, - 50.77517 - ], - [ - 4.38917, - 50.76377 - ], - [ - 4.37973, - 50.76382 - ] - ] - ] - } - }, - be_flanders: { - type: "Feature", - id: "be_flanders", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 2.52239, - 51.10172 - ], - [ - 3.12606, - 51.34118 - ], - [ - 3.17493, - 51.38246 - ], - [ - 3.37615, - 51.38784 - ], - [ - 3.41065, - 51.3304 - ], - [ - 3.40202, - 51.28548 - ], - [ - 3.49114, - 51.2567 - ], - [ - 3.48251, - 51.30345 - ], - [ - 3.57737, - 51.32322 - ], - [ - 3.81309, - 51.27289 - ], - [ - 3.82172, - 51.23691 - ], - [ - 3.93095, - 51.23691 - ], - [ - 4.05456, - 51.27469 - ], - [ - 4.20116, - 51.35195 - ], - [ - 4.16954, - 51.38067 - ], - [ - 4.34202, - 51.39502 - ], - [ - 4.36502, - 51.46491 - ], - [ - 4.53749, - 51.50072 - ], - [ - 4.57199, - 51.47924 - ], - [ - 4.56049, - 51.44879 - ], - [ - 4.63811, - 51.45058 - ], - [ - 4.75022, - 51.52397 - ], - [ - 4.83645, - 51.50787 - ], - [ - 5.0808, - 51.49893 - ], - [ - 5.13541, - 51.447 - ], - [ - 5.10667, - 51.39143 - ], - [ - 5.26477, - 51.31783 - ], - [ - 5.26477, - 51.28727 - ], - [ - 5.4085, - 51.29267 - ], - [ - 5.48612, - 51.32501 - ], - [ - 5.58098, - 51.28368 - ], - [ - 5.58385, - 51.23511 - ], - [ - 5.76783, - 51.2045 - ], - [ - 5.87706, - 51.16125 - ], - [ - 5.70459, - 50.80293 - ], - [ - 5.90581, - 50.78657 - ], - [ - 5.93743, - 50.73202 - ], - [ - 5.90293, - 50.70108 - ], - [ - 5.81382, - 50.69379 - ], - [ - 5.61547, - 50.76112 - ], - [ - 5.50049, - 50.712 - ], - [ - 5.2044, - 50.7029 - ], - [ - 5.16416, - 50.67558 - ], - [ - 5.03768, - 50.70108 - ], - [ - 4.98881, - 50.75021 - ], - [ - 4.91694, - 50.72656 - ], - [ - 4.79046, - 50.76658 - ], - [ - 4.68122, - 50.77021 - ], - [ - 4.66973, - 50.73566 - ], - [ - 4.2874, - 50.67922 - ], - [ - 3.91083, - 50.6774 - ], - [ - 3.71823, - 50.75203 - ], - [ - 3.65499, - 50.712 - ], - [ - 3.53426, - 50.71018 - ], - [ - 3.51413, - 50.74112 - ], - [ - 3.45664, - 50.74384 - ], - [ - 3.37328, - 50.69562 - ], - [ - 3.31004, - 50.70745 - ], - [ - 3.28991, - 50.73657 - ], - [ - 3.16487, - 50.74294 - ], - [ - 3.13181, - 50.77203 - ], - [ - 3.08007, - 50.76021 - ], - [ - 2.87453, - 50.7393 - ], - [ - 2.89609, - 50.71109 - ], - [ - 2.87453, - 50.69562 - ], - [ - 2.79692, - 50.7029 - ], - [ - 2.69918, - 50.8002 - ], - [ - 2.62013, - 50.79747 - ], - [ - 2.56982, - 50.8583 - ], - [ - 2.56695, - 50.92358 - ], - [ - 2.60288, - 50.94985 - ], - [ - 2.5497, - 50.99601 - ], - [ - 2.52239, - 51.10172 - ] - ] - ] - } - }, - be_wallonia: { - type: "Feature", - id: "be_wallonia", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 5.78257, - 49.87573 - ], - [ - 5.73919, - 49.83362 - ], - [ - 5.75516, - 49.79146 - ], - [ - 5.78839, - 49.79665 - ], - [ - 5.91064, - 49.66249 - ], - [ - 5.84857, - 49.59723 - ], - [ - 5.87102, - 49.57599 - ], - [ - 5.81857, - 49.54638 - ], - [ - 5.66079, - 49.55362 - ], - [ - 5.61108, - 49.50603 - ], - [ - 5.55603, - 49.52928 - ], - [ - 5.47051, - 49.49737 - ], - [ - 5.45708, - 49.56703 - ], - [ - 5.37522, - 49.62333 - ], - [ - 5.31486, - 49.61137 - ], - [ - 5.33243, - 49.65263 - ], - [ - 5.26851, - 49.69657 - ], - [ - 5.16628, - 49.69303 - ], - [ - 4.99753, - 49.80006 - ], - [ - 4.85164, - 49.79345 - ], - [ - 4.84754, - 49.86806 - ], - [ - 4.89013, - 49.90893 - ], - [ - 4.79117, - 49.958 - ], - [ - 4.87762, - 50.15374 - ], - [ - 4.82418, - 50.16932 - ], - [ - 4.70207, - 50.09556 - ], - [ - 4.69441, - 49.99625 - ], - [ - 4.44551, - 49.93722 - ], - [ - 4.30589, - 49.96829 - ], - [ - 4.19746, - 49.9546 - ], - [ - 4.1352, - 50.01508 - ], - [ - 4.22825, - 50.07842 - ], - [ - 4.19682, - 50.13519 - ], - [ - 4.12714, - 50.1355 - ], - [ - 4.2052, - 50.27347 - ], - [ - 4.16262, - 50.28896 - ], - [ - 4.13538, - 50.25784 - ], - [ - 4.02795, - 50.3584 - ], - [ - 3.88574, - 50.32701 - ], - [ - 3.84578, - 50.35323 - ], - [ - 3.74546, - 50.35005 - ], - [ - 3.70994, - 50.30316 - ], - [ - 3.65756, - 50.37076 - ], - [ - 3.65552, - 50.4617 - ], - [ - 3.60586, - 50.49632 - ], - [ - 3.4993, - 50.48921 - ], - [ - 3.51992, - 50.52362 - ], - [ - 3.47439, - 50.53368 - ], - [ - 3.37698, - 50.49109 - ], - [ - 3.28634, - 50.52793 - ], - [ - 3.26104, - 50.70131 - ], - [ - 3.20602, - 50.71139 - ], - [ - 3.17839, - 50.75609 - ], - [ - 3.30562, - 50.75466 - ], - [ - 3.36077, - 50.70962 - ], - [ - 3.45439, - 50.77072 - ], - [ - 3.64047, - 50.72242 - ], - [ - 3.67752, - 50.77062 - ], - [ - 3.75857, - 50.78045 - ], - [ - 3.77568, - 50.74789 - ], - [ - 3.8798, - 50.75146 - ], - [ - 3.9097, - 50.69245 - ], - [ - 4.05868, - 50.69439 - ], - [ - 4.14853, - 50.72834 - ], - [ - 4.2467, - 50.6894 - ], - [ - 4.46355, - 50.75511 - ], - [ - 4.52399, - 50.72724 - ], - [ - 4.59727, - 50.76359 - ], - [ - 4.63445, - 50.74272 - ], - [ - 4.64309, - 50.79755 - ], - [ - 4.76014, - 50.80544 - ], - [ - 4.92545, - 50.74275 - ], - [ - 5.00339, - 50.76594 - ], - [ - 5.07039, - 50.70649 - ], - [ - 5.16508, - 50.6957 - ], - [ - 5.16984, - 50.72257 - ], - [ - 5.30912, - 50.71802 - ], - [ - 5.35029, - 50.74629 - ], - [ - 5.47863, - 50.72352 - ], - [ - 5.68786, - 50.81193 - ], - [ - 5.68225, - 50.75651 - ], - [ - 5.7707, - 50.75132 - ], - [ - 5.81963, - 50.71396 - ], - [ - 5.88333, - 50.70992 - ], - [ - 5.89217, - 50.75518 - ], - [ - 5.96561, - 50.76107 - ], - [ - 6.04045, - 50.74546 - ], - [ - 6.03959, - 50.71833 - ], - [ - 6.11066, - 50.72299 - ], - [ - 6.18169, - 50.62383 - ], - [ - 6.26953, - 50.62519 - ], - [ - 6.17812, - 50.54153 - ], - [ - 6.22658, - 50.49432 - ], - [ - 6.35036, - 50.48854 - ], - [ - 6.34298, - 50.38033 - ], - [ - 6.40542, - 50.32331 - ], - [ - 6.30647, - 50.32019 - ], - [ - 6.27889, - 50.26734 - ], - [ - 6.17377, - 50.23165 - ], - [ - 6.19232, - 50.18203 - ], - [ - 6.147, - 50.17775 - ], - [ - 6.13779, - 50.12985 - ], - [ - 6.10245, - 50.17055 - ], - [ - 5.96368, - 50.17263 - ], - [ - 5.96133, - 50.13136 - ], - [ - 5.89532, - 50.11216 - ], - [ - 5.81968, - 50.01329 - ], - [ - 5.83578, - 49.97892 - ], - [ - 5.77502, - 49.9608 - ], - [ - 5.73577, - 49.89684 - ], - [ - 5.78257, - 49.87573 - ] - ] - ] - } - }, - czechia: { - type: "Feature", - id: "czechia", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 14.3811, - 51.06902 - ], - [ - 15.13916, - 51.08282 - ], - [ - 16.42456, - 50.70863 - ], - [ - 16.68823, - 50.32442 - ], - [ - 16.78711, - 50.49246 - ], - [ - 17.75391, - 50.35247 - ], - [ - 18.58887, - 49.96536 - ], - [ - 18.92944, - 49.51808 - ], - [ - 18.1604, - 48.98022 - ], - [ - 17.00684, - 48.61839 - ], - [ - 15.13916, - 48.85749 - ], - [ - 14.67773, - 48.55298 - ], - [ - 13.85376, - 48.58206 - ], - [ - 12.00806, - 50.05008 - ], - [ - 11.92017, - 50.35948 - ], - [ - 14.3811, - 51.06902 - ] - ] - ] - } - }, - denmark: { - type: "Feature", - id: "denmark", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 7.99805, - 55.11608 - ], - [ - 7.9541, - 56.94497 - ], - [ - 10.62378, - 57.94401 - ], - [ - 12.65625, - 56.01681 - ], - [ - 12.65625, - 55.91535 - ], - [ - 12.82928, - 55.5566 - ], - [ - 12.60956, - 55.42122 - ], - [ - 12.66449, - 55.25095 - ], - [ - 14.82605, - 55.37911 - ], - [ - 15.28198, - 55.22902 - ], - [ - 15.11719, - 54.85448 - ], - [ - 12.87598, - 54.85922 - ], - [ - 12.07672, - 54.44769 - ], - [ - 10.849, - 54.73414 - ], - [ - 10.67871, - 54.58002 - ], - [ - 9.88083, - 54.83708 - ], - [ - 9.73972, - 54.82265 - ], - [ - 9.60823, - 54.8525 - ], - [ - 9.63158, - 54.87996 - ], - [ - 9.59038, - 54.88668 - ], - [ - 9.4994, - 54.83886 - ], - [ - 9.43176, - 54.82601 - ], - [ - 9.41013, - 54.84242 - ], - [ - 9.38198, - 54.83827 - ], - [ - 9.37443, - 54.82047 - ], - [ - 9.34422, - 54.80108 - ], - [ - 9.25152, - 54.80979 - ], - [ - 9.23985, - 54.84993 - ], - [ - 9.13822, - 54.87483 - ], - [ - 9.06338, - 54.87048 - ], - [ - 8.90167, - 54.90386 - ], - [ - 8.85532, - 54.89517 - ], - [ - 8.82408, - 54.90662 - ], - [ - 8.79765, - 54.90445 - ], - [ - 8.77602, - 54.893 - ], - [ - 8.72761, - 54.89181 - ], - [ - 8.67645, - 54.91195 - ], - [ - 8.66066, - 54.90859 - ], - [ - 8.55698, - 54.92063 - ], - [ - 8.47355, - 55.05537 - ], - [ - 7.99805, - 55.11608 - ] - ] - ] - } - }, - finland: { - type: "Feature", - id: "finland", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 24.16992, - 65.34851 - ], - [ - 23.90625, - 66.14274 - ], - [ - 23.68652, - 66.44311 - ], - [ - 23.99414, - 66.80922 - ], - [ - 23.51074, - 67.27204 - ], - [ - 23.37891, - 67.44123 - ], - [ - 23.73047, - 67.97463 - ], - [ - 20.74219, - 69.03714 - ], - [ - 21.18164, - 69.28726 - ], - [ - 21.70898, - 69.27171 - ], - [ - 22.45605, - 68.73638 - ], - [ - 23.15918, - 68.65655 - ], - [ - 23.90625, - 68.8318 - ], - [ - 25.00488, - 68.59249 - ], - [ - 25.40039, - 68.87936 - ], - [ - 25.75195, - 68.95839 - ], - [ - 25.97168, - 69.70287 - ], - [ - 26.45508, - 69.96044 - ], - [ - 27.20215, - 69.90012 - ], - [ - 27.50977, - 70.0506 - ], - [ - 27.86133, - 70.08056 - ], - [ - 28.38867, - 69.82447 - ], - [ - 29.04785, - 69.71811 - ], - [ - 29.26758, - 69.53452 - ], - [ - 28.87207, - 69.225 - ], - [ - 29.0918, - 69.02141 - ], - [ - 28.52051, - 68.89519 - ], - [ - 28.78418, - 68.84767 - ], - [ - 28.52051, - 68.56038 - ], - [ - 28.69629, - 68.17156 - ], - [ - 29.26758, - 68.0733 - ], - [ - 30.05859, - 67.69277 - ], - [ - 29.17969, - 67.0503 - ], - [ - 29.0918, - 66.8956 - ], - [ - 30.14648, - 65.73063 - ], - [ - 29.66309, - 65.20147 - ], - [ - 29.70703, - 64.79285 - ], - [ - 30.05859, - 64.79285 - ], - [ - 30.10254, - 64.41592 - ], - [ - 30.4541, - 64.30182 - ], - [ - 30.05859, - 63.74363 - ], - [ - 31.59668, - 63.01511 - ], - [ - 30.27832, - 61.89758 - ], - [ - 27.81738, - 60.56538 - ], - [ - 27.33398, - 60.19616 - ], - [ - 24.65332, - 59.88894 - ], - [ - 21.84082, - 59.46741 - ], - [ - 20.43457, - 59.46741 - ], - [ - 19.11621, - 60.19616 - ], - [ - 19.2041, - 60.58697 - ], - [ - 20.08301, - 60.75916 - ], - [ - 20.69824, - 61.14324 - ], - [ - 20.96191, - 61.73153 - ], - [ - 19.99512, - 63.27318 - ], - [ - 21.44531, - 63.66576 - ], - [ - 22.93945, - 64.20638 - ], - [ - 23.24707, - 64.51064 - ], - [ - 23.81836, - 64.66152 - ], - [ - 24.16992, - 65.34851 - ] - ] - ] - } - }, - france: { - type: "Feature", - id: "france", - properties: { - }, - geometry: { - type: "MultiPolygon", - coordinates: [ - [ - [ - [ - 9.9, - 42.64836 - ], - [ - 9.9, - 42.02785 - ], - [ - 9.63227, - 41.43244 - ], - [ - 9.36968, - 41.35052 - ], - [ - 9.32602, - 41.3036 - ], - [ - 9.27311, - 41.29196 - ], - [ - 9.07196, - 41.26129 - ], - [ - 8.94186, - 41.27688 - ], - [ - 8.8742, - 41.26232 - ], - [ - 8.84542, - 41.26311 - ], - [ - 8.78782, - 41.25725 - ], - [ - 7.3114, - 41.4242 - ], - [ - 5.8, - 41.64 - ], - [ - 3.17358, - 42.41768 - ], - [ - 3.16081, - 42.42757 - ], - [ - 3.0944, - 42.41457 - ], - [ - 3.03402, - 42.45331 - ], - [ - 3.02214, - 42.45645 - ], - [ - 2.87822, - 42.4487 - ], - [ - 2.87019, - 42.44653 - ], - [ - 2.78424, - 42.40256 - ], - [ - 2.7413, - 42.41128 - ], - [ - 2.72928, - 42.40998 - ], - [ - 2.69331, - 42.39417 - ], - [ - 2.68378, - 42.3854 - ], - [ - 2.68162, - 42.37263 - ], - [ - 2.68585, - 42.34679 - ], - [ - 2.66719, - 42.33008 - ], - [ - 2.58106, - 42.34418 - ], - [ - 2.56777, - 42.34173 - ], - [ - 2.5338, - 42.32197 - ], - [ - 2.47795, - 42.32986 - ], - [ - 2.41933, - 42.37658 - ], - [ - 2.41222, - 42.38021 - ], - [ - 2.26719, - 42.42055 - ], - [ - 2.25973, - 42.42117 - ], - [ - 2.20694, - 42.41558 - ], - [ - 2.20653, - 42.41526 - ], - [ - 2.20526, - 42.41541 - ], - [ - 2.16028, - 42.41065 - ], - [ - 2.14881, - 42.40545 - ], - [ - 2.09393, - 42.35474 - ], - [ - 2.00861, - 42.33818 - ], - [ - 1.965, - 42.36473 - ], - [ - 1.93076, - 42.42442 - ], - [ - 1.92089, - 42.43302 - ], - [ - 1.88467, - 42.44761 - ], - [ - 1.88459, - 42.44762 - ], - [ - 1.88444, - 42.4477 - ], - [ - 1.82774, - 42.47056 - ], - [ - 1.72567, - 42.48452 - ], - [ - 1.71561, - 42.50125 - ], - [ - 1.7272, - 42.56103 - ], - [ - 1.72479, - 42.57499 - ], - [ - 1.71011, - 42.59992 - ], - [ - 1.69377, - 42.60975 - ], - [ - 1.60283, - 42.61382 - ], - [ - 1.56069, - 42.6392 - ], - [ - 1.54636, - 42.64166 - ], - [ - 1.50444, - 42.6331 - ], - [ - 1.4921, - 42.62502 - ], - [ - 1.47238, - 42.59703 - ], - [ - 1.43792, - 42.59264 - ], - [ - 1.41936, - 42.60643 - ], - [ - 1.38032, - 42.67415 - ], - [ - 1.37335, - 42.68127 - ], - [ - 1.33313, - 42.70563 - ], - [ - 1.32364, - 42.7085 - ], - [ - 1.23221, - 42.71248 - ], - [ - 1.16554, - 42.69928 - ], - [ - 1.08546, - 42.76635 - ], - [ - 1.07564, - 42.77079 - ], - [ - 0.95937, - 42.78852 - ], - [ - 0.95073, - 42.78794 - ], - [ - 0.92265, - 42.7797 - ], - [ - 0.84606, - 42.8157 - ], - [ - 0.71511, - 42.8464 - ], - [ - 0.70017, - 42.84402 - ], - [ - 0.69117, - 42.83186 - ], - [ - 0.67409, - 42.76479 - ], - [ - 0.67474, - 42.75286 - ], - [ - 0.69192, - 42.70684 - ], - [ - 0.669, - 42.67901 - ], - [ - 0.43024, - 42.67863 - ], - [ - 0.3715, - 42.70308 - ], - [ - 0.35954, - 42.70415 - ], - [ - 0.34912, - 42.69817 - ], - [ - 0.32567, - 42.67274 - ], - [ - 0.29571, - 42.66388 - ], - [ - 0.24593, - 42.70175 - ], - [ - 0.23972, - 42.70494 - ], - [ - 0.18967, - 42.72039 - ], - [ - 0.17919, - 42.72075 - ], - [ - -0.01993, - 42.67389 - ], - [ - -0.06726, - 42.6848 - ], - [ - -0.16949, - 42.77157 - ], - [ - -0.29987, - 42.82697 - ], - [ - -0.31683, - 42.82635 - ], - [ - -0.39208, - 42.78766 - ], - [ - -0.44354, - 42.78453 - ], - [ - -0.48842, - 42.80255 - ], - [ - -0.50868, - 42.79935 - ], - [ - -0.54499, - 42.76906 - ], - [ - -0.56721, - 42.76937 - ], - [ - -0.67446, - 42.86392 - ], - [ - -0.68094, - 42.86775 - ], - [ - -0.73372, - 42.88666 - ], - [ - -0.7476, - 42.93879 - ], - [ - -0.75711, - 42.95107 - ], - [ - -0.77253, - 42.95284 - ], - [ - -0.82114, - 42.93865 - ], - [ - -0.94508, - 42.94192 - ], - [ - -1.02313, - 42.98206 - ], - [ - -1.10852, - 43.00409 - ], - [ - -1.1156, - 43.00461 - ], - [ - -1.14775, - 43.00124 - ], - [ - -1.15845, - 43.01452 - ], - [ - -1.16736, - 43.02083 - ], - [ - -1.21622, - 43.0381 - ], - [ - -1.22612, - 43.03898 - ], - [ - -1.26236, - 43.03303 - ], - [ - -1.30643, - 43.05531 - ], - [ - -1.31992, - 43.05696 - ], - [ - -1.33135, - 43.0496 - ], - [ - -1.3542, - 43.0197 - ], - [ - -1.43868, - 43.03371 - ], - [ - -1.4775, - 43.06889 - ], - [ - -1.48311, - 43.08561 - ], - [ - -1.47641, - 43.10248 - ], - [ - -1.43479, - 43.13087 - ], - [ - -1.42732, - 43.1404 - ], - [ - -1.39411, - 43.22935 - ], - [ - -1.39531, - 43.24596 - ], - [ - -1.40868, - 43.25591 - ], - [ - -1.52629, - 43.28099 - ], - [ - -1.54626, - 43.2737 - ], - [ - -1.57149, - 43.2412 - ], - [ - -1.61053, - 43.24223 - ], - [ - -1.65, - 43.29323 - ], - [ - -1.66953, - 43.30065 - ], - [ - -1.73359, - 43.28856 - ], - [ - -1.75606, - 43.31966 - ], - [ - -1.76297, - 43.32565 - ], - [ - -1.79156, - 43.34067 - ], - [ - -1.80099, - 43.37017 - ], - [ - -1.78509, - 43.39037 - ], - [ - -1.7835, - 43.39686 - ], - [ - -2.7, - 43.9 - ], - [ - -6.3, - 48.98 - ], - [ - -2.25, - 50.09 - ], - [ - 1.26331, - 50.92504 - ], - [ - 1.76605, - 51.17762 - ], - [ - 2.35816, - 51.32937 - ], - [ - 2.5488, - 51.09759 - ], - [ - 2.57048, - 51.07409 - ], - [ - 2.58741, - 51.01763 - ], - [ - 2.59845, - 51.0051 - ], - [ - 2.61558, - 50.99749 - ], - [ - 2.63986, - 50.95766 - ], - [ - 2.64225, - 50.94578 - ], - [ - 2.62452, - 50.9256 - ], - [ - 2.61962, - 50.91067 - ], - [ - 2.62396, - 50.86071 - ], - [ - 2.62781, - 50.85054 - ], - [ - 2.63786, - 50.83696 - ], - [ - 2.6511, - 50.82906 - ], - [ - 2.73267, - 50.81738 - ], - [ - 2.79995, - 50.73795 - ], - [ - 2.81655, - 50.73092 - ], - [ - 2.85265, - 50.73335 - ], - [ - 2.89072, - 50.7162 - ], - [ - 2.90492, - 50.71536 - ], - [ - 2.9161, - 50.72418 - ], - [ - 2.93508, - 50.75592 - ], - [ - 3.00718, - 50.78377 - ], - [ - 3.08218, - 50.78749 - ], - [ - 3.09244, - 50.79092 - ], - [ - 3.11412, - 50.80566 - ], - [ - 3.14877, - 50.80195 - ], - [ - 3.2154, - 50.73111 - ], - [ - 3.22149, - 50.7267 - ], - [ - 3.27051, - 50.70375 - ], - [ - 3.27545, - 50.67757 - ], - [ - 3.26576, - 50.6604 - ], - [ - 3.26588, - 50.64054 - ], - [ - 3.28922, - 50.60028 - ], - [ - 3.29219, - 50.55037 - ], - [ - 3.3056, - 50.53267 - ], - [ - 3.37551, - 50.50839 - ], - [ - 3.3898, - 50.50884 - ], - [ - 3.4748, - 50.54445 - ], - [ - 3.52173, - 50.53459 - ], - [ - 3.53266, - 50.51873 - ], - [ - 3.54779, - 50.51012 - ], - [ - 3.61523, - 50.50558 - ], - [ - 3.67378, - 50.45642 - ], - [ - 3.68415, - 50.35277 - ], - [ - 3.6901, - 50.34044 - ], - [ - 3.70258, - 50.33482 - ], - [ - 3.71576, - 50.33854 - ], - [ - 3.74935, - 50.36279 - ], - [ - 3.84109, - 50.36558 - ], - [ - 3.90189, - 50.3436 - ], - [ - 3.91317, - 50.34291 - ], - [ - 4.02672, - 50.36904 - ], - [ - 4.13761, - 50.29984 - ], - [ - 4.14388, - 50.29727 - ], - [ - 4.21444, - 50.28167 - ], - [ - 4.22904, - 50.26664 - ], - [ - 4.23078, - 50.25233 - ], - [ - 4.17084, - 50.18579 - ], - [ - 4.16601, - 50.16888 - ], - [ - 4.1764, - 50.1547 - ], - [ - 4.21195, - 50.13602 - ], - [ - 4.24074, - 50.07102 - ], - [ - 4.23193, - 50.05551 - ], - [ - 4.18164, - 50.03436 - ], - [ - 4.17177, - 50.02537 - ], - [ - 4.16976, - 50.01217 - ], - [ - 4.1765, - 50.00065 - ], - [ - 4.20633, - 49.97546 - ], - [ - 4.22164, - 49.97089 - ], - [ - 4.30877, - 49.98145 - ], - [ - 4.44542, - 49.9523 - ], - [ - 4.45469, - 49.95251 - ], - [ - 4.6581, - 50.00609 - ], - [ - 4.66936, - 50.01392 - ], - [ - 4.67293, - 50.02716 - ], - [ - 4.66924, - 50.06972 - ], - [ - 4.69517, - 50.10472 - ], - [ - 4.83123, - 50.17941 - ], - [ - 4.8815, - 50.16436 - ], - [ - 4.90479, - 50.14451 - ], - [ - 4.90426, - 50.12639 - ], - [ - 4.88076, - 50.0815 - ], - [ - 4.86277, - 50.0745 - ], - [ - 4.85104, - 50.06216 - ], - [ - 4.84331, - 50.03884 - ], - [ - 4.84331, - 50.03883 - ], - [ - 4.8433, - 50.03881 - ], - [ - 4.82678, - 49.989 - ], - [ - 4.82662, - 49.97692 - ], - [ - 4.83343, - 49.96696 - ], - [ - 4.89654, - 49.91753 - ], - [ - 4.89755, - 49.89424 - ], - [ - 4.87913, - 49.86942 - ], - [ - 4.87625, - 49.85111 - ], - [ - 4.88924, - 49.81266 - ], - [ - 4.89769, - 49.80204 - ], - [ - 4.91098, - 49.79926 - ], - [ - 4.99534, - 49.81116 - ], - [ - 5.01867, - 49.79272 - ], - [ - 5.02686, - 49.78886 - ], - [ - 5.09944, - 49.77323 - ], - [ - 5.13458, - 49.73462 - ], - [ - 5.1412, - 49.72984 - ], - [ - 5.18761, - 49.70906 - ], - [ - 5.19602, - 49.70732 - ], - [ - 5.28157, - 49.70836 - ], - [ - 5.33363, - 49.67308 - ], - [ - 5.344, - 49.65049 - ], - [ - 5.3544, - 49.64041 - ], - [ - 5.43141, - 49.60791 - ], - [ - 5.48205, - 49.52815 - ], - [ - 5.49294, - 49.51979 - ], - [ - 5.50666, - 49.52042 - ], - [ - 5.55401, - 49.54025 - ], - [ - 5.59311, - 49.53424 - ], - [ - 5.6076, - 49.53761 - ], - [ - 5.641, - 49.56095 - ], - [ - 5.70676, - 49.55267 - ], - [ - 5.71578, - 49.55361 - ], - [ - 5.77526, - 49.57414 - ], - [ - 5.8399, - 49.55321 - ], - [ - 5.86126, - 49.52038 - ], - [ - 5.876, - 49.5114 - ], - [ - 5.97516, - 49.50129 - ], - [ - 5.99801, - 49.47317 - ], - [ - 6.01627, - 49.46597 - ], - [ - 6.08635, - 49.47562 - ], - [ - 6.09319, - 49.47787 - ], - [ - 6.17397, - 49.52187 - ], - [ - 6.24643, - 49.52511 - ], - [ - 6.334, - 49.48235 - ], - [ - 6.34423, - 49.48037 - ], - [ - 6.43515, - 49.487 - ], - [ - 6.5451, - 49.44384 - ], - [ - 6.60639, - 49.37868 - ], - [ - 6.60497, - 49.33739 - ], - [ - 6.61627, - 49.31869 - ], - [ - 6.67013, - 49.29269 - ], - [ - 6.72996, - 49.22917 - ], - [ - 6.74328, - 49.19086 - ], - [ - 6.76026, - 49.17752 - ], - [ - 6.80904, - 49.17284 - ], - [ - 6.82473, - 49.17826 - ], - [ - 6.83093, - 49.19366 - ], - [ - 6.82982, - 49.21802 - ], - [ - 6.85119, - 49.23136 - ], - [ - 6.88453, - 49.2239 - ], - [ - 6.89322, - 49.22389 - ], - [ - 6.93753, - 49.23369 - ], - [ - 7.04055, - 49.19794 - ], - [ - 7.0463, - 49.17503 - ], - [ - 7.05478, - 49.16313 - ], - [ - 7.06908, - 49.16018 - ], - [ - 7.10494, - 49.16634 - ], - [ - 7.14315, - 49.14159 - ], - [ - 7.1535, - 49.13839 - ], - [ - 7.28683, - 49.13488 - ], - [ - 7.29893, - 49.13856 - ], - [ - 7.36095, - 49.18259 - ], - [ - 7.45012, - 49.19517 - ], - [ - 7.50113, - 49.17672 - ], - [ - 7.54379, - 49.10572 - ], - [ - 7.5579, - 49.09626 - ], - [ - 7.6296, - 49.08527 - ], - [ - 7.64722, - 49.06722 - ], - [ - 7.6612, - 49.06119 - ], - [ - 7.75401, - 49.05963 - ], - [ - 7.76073, - 49.06067 - ], - [ - 7.80291, - 49.07489 - ], - [ - 7.85525, - 49.05329 - ], - [ - 7.8673, - 49.05227 - ], - [ - 7.93826, - 49.06832 - ], - [ - 8.08069, - 49.00688 - ], - [ - 8.2225, - 48.98787 - ], - [ - 8.23704, - 48.97683 - ], - [ - 8.23589, - 48.95817 - ], - [ - 8.20888, - 48.94863 - ], - [ - 8.20089, - 48.94339 - ], - [ - 8.15824, - 48.89753 - ], - [ - 8.10087, - 48.7993 - ], - [ - 7.99071, - 48.74478 - ], - [ - 7.98534, - 48.7409 - ], - [ - 7.90422, - 48.65865 - ], - [ - 7.85605, - 48.63606 - ], - [ - 7.8484, - 48.62977 - ], - [ - 7.81842, - 48.58883 - ], - [ - 7.81456, - 48.57704 - ], - [ - 7.81449, - 48.50968 - ], - [ - 7.78547, - 48.48337 - ], - [ - 7.78055, - 48.47652 - ], - [ - 7.74506, - 48.39484 - ], - [ - 7.74357, - 48.38427 - ], - [ - 7.75159, - 48.32322 - ], - [ - 7.71085, - 48.29841 - ], - [ - 7.70241, - 48.28803 - ], - [ - 7.67661, - 48.21555 - ], - [ - 7.59605, - 48.11698 - ], - [ - 7.59165, - 48.10648 - ], - [ - 7.58522, - 48.04694 - ], - [ - 7.59127, - 48.03035 - ], - [ - 7.62437, - 47.99865 - ], - [ - 7.63205, - 47.97081 - ], - [ - 7.57554, - 47.87436 - ], - [ - 7.5728, - 47.86435 - ], - [ - 7.57267, - 47.83631 - ], - [ - 7.54581, - 47.78793 - ], - [ - 7.54418, - 47.77232 - ], - [ - 7.55758, - 47.72899 - ], - [ - 7.53526, - 47.6989 - ], - [ - 7.53136, - 47.68564 - ], - [ - 7.537, - 47.67302 - ], - [ - 7.60016, - 47.60822 - ], - [ - 7.58967, - 47.56755 - ], - [ - 7.55424, - 47.55128 - ], - [ - 7.54511, - 47.54283 - ], - [ - 7.51256, - 47.48439 - ], - [ - 7.38747, - 47.42111 - ], - [ - 7.32653, - 47.4273 - ], - [ - 7.24435, - 47.40939 - ], - [ - 7.16708, - 47.4335 - ], - [ - 7.15212, - 47.47612 - ], - [ - 7.14279, - 47.48707 - ], - [ - 7.12853, - 47.48893 - ], - [ - 7.0801, - 47.47718 - ], - [ - 7.03557, - 47.48695 - ], - [ - 7.02102, - 47.48458 - ], - [ - 7.01205, - 47.47287 - ], - [ - 7.003, - 47.44095 - ], - [ - 6.9551, - 47.40808 - ], - [ - 6.94716, - 47.39698 - ], - [ - 6.94818, - 47.38337 - ], - [ - 6.95769, - 47.37359 - ], - [ - 6.97126, - 47.37218 - ], - [ - 7.018, - 47.38386 - ], - [ - 7.05623, - 47.37035 - ], - [ - 7.07007, - 47.35005 - ], - [ - 7.05958, - 47.32257 - ], - [ - 6.97424, - 47.27856 - ], - [ - 6.96347, - 47.26233 - ], - [ - 6.96134, - 47.23479 - ], - [ - 6.89443, - 47.19393 - ], - [ - 6.88913, - 47.18922 - ], - [ - 6.85545, - 47.14636 - ], - [ - 6.76907, - 47.10751 - ], - [ - 6.76011, - 47.09953 - ], - [ - 6.72561, - 47.0418 - ], - [ - 6.62355, - 46.9811 - ], - [ - 6.4812, - 46.9445 - ], - [ - 6.46892, - 46.93522 - ], - [ - 6.46686, - 46.91997 - ], - [ - 6.47548, - 46.88771 - ], - [ - 6.4535, - 46.8239 - ], - [ - 6.45644, - 46.80534 - ], - [ - 6.46722, - 46.79104 - ], - [ - 6.46098, - 46.76887 - ], - [ - 6.15817, - 46.59343 - ], - [ - 6.14872, - 46.58069 - ], - [ - 6.15152, - 46.56508 - ], - [ - 6.16549, - 46.54399 - ], - [ - 6.15811, - 46.52456 - ], - [ - 6.10174, - 46.46979 - ], - [ - 6.09572, - 46.45418 - ], - [ - 6.09704, - 46.43317 - ], - [ - 6.10829, - 46.41643 - ], - [ - 6.16622, - 46.38839 - ], - [ - 6.17817, - 46.36922 - ], - [ - 6.13748, - 46.31297 - ], - [ - 6.13371, - 46.30227 - ], - [ - 6.13038, - 46.23737 - ], - [ - 6.1103, - 46.22344 - ], - [ - 6.08865, - 46.23081 - ], - [ - 6.07717, - 46.23123 - ], - [ - 6.01857, - 46.21601 - ], - [ - 6.00681, - 46.20752 - ], - [ - 6.00388, - 46.19332 - ], - [ - 6.00787, - 46.16977 - ], - [ - 6.01783, - 46.15564 - ], - [ - 6.03509, - 46.15456 - ], - [ - 6.05564, - 46.16288 - ], - [ - 6.12468, - 46.15415 - ], - [ - 6.13778, - 46.15702 - ], - [ - 6.24026, - 46.22094 - ], - [ - 6.24906, - 46.23299 - ], - [ - 6.24707, - 46.24777 - ], - [ - 6.21148, - 46.31057 - ], - [ - 6.21219, - 46.32485 - ], - [ - 6.23946, - 46.36705 - ], - [ - 6.31648, - 46.41557 - ], - [ - 6.41083, - 46.42495 - ], - [ - 6.41748, - 46.42682 - ], - [ - 6.50498, - 46.46871 - ], - [ - 6.63047, - 46.47435 - ], - [ - 6.74665, - 46.45695 - ], - [ - 6.82244, - 46.42925 - ], - [ - 6.81832, - 46.38181 - ], - [ - 6.80484, - 46.36179 - ], - [ - 6.80189, - 46.34639 - ], - [ - 6.81095, - 46.33359 - ], - [ - 6.86491, - 46.30038 - ], - [ - 6.87504, - 46.28007 - ], - [ - 6.86092, - 46.2439 - ], - [ - 6.82698, - 46.21188 - ], - [ - 6.82075, - 46.19862 - ], - [ - 6.81863, - 46.16592 - ], - [ - 6.82259, - 46.15261 - ], - [ - 6.83427, - 46.14509 - ], - [ - 6.90382, - 46.12971 - ], - [ - 6.90491, - 46.09595 - ], - [ - 6.90932, - 46.08406 - ], - [ - 6.92001, - 46.07721 - ], - [ - 6.94898, - 46.0699 - ], - [ - 7.01556, - 46.00883 - ], - [ - 7.05191, - 45.93066 - ], - [ - 7.04533, - 45.92217 - ], - [ - 7.04497, - 45.92064 - ], - [ - 7.04394, - 45.92036 - ], - [ - 6.99582, - 45.85822 - ], - [ - 6.94097, - 45.83551 - ], - [ - 6.84376, - 45.82387 - ], - [ - 6.83102, - 45.81711 - ], - [ - 6.82614, - 45.80353 - ], - [ - 6.82787, - 45.73217 - ], - [ - 6.83174, - 45.72082 - ], - [ - 6.8414, - 45.71373 - ], - [ - 6.90729, - 45.69124 - ], - [ - 6.92419, - 45.66935 - ], - [ - 6.94247, - 45.66172 - ], - [ - 6.97131, - 45.66528 - ], - [ - 7.00597, - 45.64945 - ], - [ - 7.01151, - 45.63652 - ], - [ - 6.9978, - 45.60877 - ], - [ - 6.99643, - 45.59465 - ], - [ - 7.0158, - 45.52354 - ], - [ - 7.02774, - 45.5102 - ], - [ - 7.1072, - 45.47877 - ], - [ - 7.1228, - 45.44924 - ], - [ - 7.13304, - 45.44001 - ], - [ - 7.1856, - 45.41894 - ], - [ - 7.19515, - 45.40409 - ], - [ - 7.17075, - 45.35069 - ], - [ - 7.14232, - 45.32298 - ], - [ - 7.13649, - 45.30576 - ], - [ - 7.14458, - 45.25048 - ], - [ - 7.08417, - 45.20279 - ], - [ - 6.99279, - 45.19823 - ], - [ - 6.98106, - 45.19368 - ], - [ - 6.90009, - 45.12689 - ], - [ - 6.85843, - 45.11699 - ], - [ - 6.78283, - 45.14228 - ], - [ - 6.77056, - 45.14242 - ], - [ - 6.67751, - 45.11356 - ], - [ - 6.6653, - 45.10289 - ], - [ - 6.66501, - 45.08667 - ], - [ - 6.68237, - 45.04558 - ], - [ - 6.69602, - 45.03395 - ], - [ - 6.75744, - 45.01884 - ], - [ - 6.78375, - 44.9146 - ], - [ - 6.7942, - 44.90161 - ], - [ - 6.86698, - 44.86519 - ], - [ - 6.8798, - 44.86346 - ], - [ - 6.93633, - 44.87461 - ], - [ - 7.01795, - 44.84402 - ], - [ - 7.03453, - 44.82282 - ], - [ - 7.03711, - 44.75009 - ], - [ - 7.0496, - 44.73226 - ], - [ - 7.07224, - 44.72311 - ], - [ - 7.08651, - 44.6968 - ], - [ - 7.08666, - 44.68085 - ], - [ - 7.07671, - 44.67134 - ], - [ - 6.99007, - 44.67203 - ], - [ - 6.97413, - 44.66431 - ], - [ - 6.97056, - 44.64696 - ], - [ - 6.97819, - 44.61784 - ], - [ - 6.94659, - 44.57124 - ], - [ - 6.88235, - 44.53479 - ], - [ - 6.87233, - 44.5195 - ], - [ - 6.87892, - 44.50245 - ], - [ - 6.95894, - 44.43129 - ], - [ - 6.95872, - 44.42908 - ], - [ - 6.92167, - 44.41436 - ], - [ - 6.91223, - 44.40659 - ], - [ - 6.90907, - 44.39477 - ], - [ - 6.90972, - 44.38195 - ], - [ - 6.91637, - 44.36804 - ], - [ - 6.99909, - 44.29414 - ], - [ - 7.01181, - 44.256 - ], - [ - 7.01983, - 44.24558 - ], - [ - 7.03259, - 44.2424 - ], - [ - 7.07312, - 44.2461 - ], - [ - 7.1651, - 44.22112 - ], - [ - 7.24533, - 44.18544 - ], - [ - 7.26053, - 44.16682 - ], - [ - 7.27537, - 44.15947 - ], - [ - 7.33878, - 44.1574 - ], - [ - 7.36278, - 44.13834 - ], - [ - 7.37776, - 44.13416 - ], - [ - 7.56283, - 44.15792 - ], - [ - 7.5642, - 44.15836 - ], - [ - 7.56478, - 44.15817 - ], - [ - 7.60548, - 44.1634 - ], - [ - 7.6162, - 44.16827 - ], - [ - 7.63989, - 44.18928 - ], - [ - 7.68608, - 44.1861 - ], - [ - 7.69422, - 44.17795 - ], - [ - 7.68937, - 44.13869 - ], - [ - 7.69445, - 44.12276 - ], - [ - 7.72786, - 44.08615 - ], - [ - 7.72403, - 44.05704 - ], - [ - 7.68603, - 44.02371 - ], - [ - 7.68077, - 44.0164 - ], - [ - 7.66016, - 43.9672 - ], - [ - 7.59624, - 43.94466 - ], - [ - 7.58419, - 43.93287 - ], - [ - 7.56858, - 43.89159 - ], - [ - 7.5271, - 43.87434 - ], - [ - 7.51649, - 43.86397 - ], - [ - 7.51594, - 43.84915 - ], - [ - 7.53622, - 43.79234 - ], - [ - 9.26696, - 43.39308 - ], - [ - 9.8, - 43.1 - ], - [ - 9.9, - 42.64836 - ] - ] - ] - ] - } - }, - "de-berlin-brandenburg": { - type: "Feature", - id: "de-berlin-brandenburg", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 11.32141, - 53.11711 - ], - [ - 12.09595, - 53.36694 - ], - [ - 12.88147, - 53.20274 - ], - [ - 13.78235, - 53.50765 - ], - [ - 14.16687, - 53.41608 - ], - [ - 14.10645, - 53.28164 - ], - [ - 14.29871, - 53.27507 - ], - [ - 14.41956, - 53.32431 - ], - [ - 14.19434, - 52.93871 - ], - [ - 14.19434, - 52.82932 - ], - [ - 14.57336, - 52.60972 - ], - [ - 14.57336, - 52.36218 - ], - [ - 14.71619, - 52.05249 - ], - [ - 14.61182, - 51.84257 - ], - [ - 14.76563, - 51.54975 - ], - [ - 14.36462, - 51.519 - ], - [ - 14.1449, - 51.54975 - ], - [ - 13.99109, - 51.36835 - ], - [ - 13.2605, - 51.39578 - ], - [ - 13.07373, - 51.65211 - ], - [ - 13.13965, - 51.86971 - ], - [ - 12.67273, - 52.01532 - ], - [ - 12.40356, - 52.03222 - ], - [ - 12.22229, - 52.14697 - ], - [ - 12.32117, - 52.50619 - ], - [ - 12.16736, - 52.51956 - ], - [ - 12.23877, - 52.87245 - ], - [ - 11.60156, - 52.96849 - ], - [ - 11.32141, - 53.11711 - ] - ] - ] - } - }, - "de-ostwestfalen-lippe": { - type: "Feature", - id: "de-ostwestfalen-lippe", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 8.04337, - 52.05756 - ], - [ - 8.42583, - 52.19919 - ], - [ - 8.43846, - 52.35394 - ], - [ - 8.30866, - 52.39929 - ], - [ - 8.28438, - 52.4581 - ], - [ - 8.67096, - 52.56967 - ], - [ - 9.22028, - 52.49616 - ], - [ - 9.06097, - 52.28328 - ], - [ - 9.47365, - 51.86716 - ], - [ - 9.46266, - 51.64103 - ], - [ - 9.26285, - 51.46641 - ], - [ - 9.15648, - 51.43569 - ], - [ - 8.80348, - 51.43218 - ], - [ - 8.54444, - 51.46003 - ], - [ - 8.42239, - 51.55658 - ], - [ - 8.31076, - 51.72252 - ], - [ - 8.12645, - 51.86844 - ], - [ - 8.04337, - 52.05756 - ] - ] - ] - } - }, - germany: { - type: "Feature", - id: "germany", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 7.05048, - 52.62973 - ], - [ - 7.21252, - 53.20274 - ], - [ - 6.56982, - 53.61858 - ], - [ - 8.30772, - 55.1467 - ], - [ - 8.6483, - 54.96421 - ], - [ - 9.45305, - 54.83313 - ], - [ - 9.95018, - 54.82838 - ], - [ - 11.99913, - 54.44689 - ], - [ - 13.3889, - 54.89162 - ], - [ - 14.15245, - 54.47562 - ], - [ - 14.26231, - 53.78037 - ], - [ - 14.44359, - 53.27096 - ], - [ - 14.36119, - 53.0668 - ], - [ - 14.16344, - 52.97097 - ], - [ - 14.13597, - 52.84508 - ], - [ - 14.62486, - 52.60555 - ], - [ - 14.5919, - 52.35463 - ], - [ - 14.71825, - 52.24042 - ], - [ - 14.74571, - 52.06516 - ], - [ - 14.60838, - 51.83153 - ], - [ - 14.74571, - 51.69554 - ], - [ - 14.76768, - 51.54206 - ], - [ - 14.98741, - 51.43261 - ], - [ - 15.03136, - 51.27824 - ], - [ - 14.94347, - 51.04744 - ], - [ - 14.85558, - 50.88138 - ], - [ - 14.77867, - 50.81548 - ], - [ - 14.64684, - 50.85017 - ], - [ - 14.5974, - 50.99215 - ], - [ - 14.32823, - 51.07506 - ], - [ - 14.32823, - 50.88138 - ], - [ - 13.01537, - 50.49508 - ], - [ - 12.48253, - 50.38663 - ], - [ - 12.33421, - 50.18305 - ], - [ - 12.1804, - 50.30952 - ], - [ - 12.12547, - 50.25686 - ], - [ - 12.22984, - 50.09856 - ], - [ - 12.55394, - 49.92912 - ], - [ - 12.4276, - 49.75199 - ], - [ - 12.5045, - 49.68807 - ], - [ - 12.77916, - 49.35286 - ], - [ - 12.93297, - 49.36002 - ], - [ - 13.03185, - 49.28841 - ], - [ - 13.57018, - 48.96489 - ], - [ - 13.80089, - 48.81319 - ], - [ - 13.75694, - 48.52297 - ], - [ - 13.52074, - 48.58842 - ], - [ - 13.45482, - 48.57388 - ], - [ - 13.40538, - 48.36994 - ], - [ - 13.23509, - 48.28959 - ], - [ - 12.99889, - 48.24571 - ], - [ - 12.75169, - 48.12118 - ], - [ - 12.9879, - 47.86385 - ], - [ - 12.91649, - 47.71623 - ], - [ - 13.04832, - 47.72362 - ], - [ - 13.09776, - 47.67186 - ], - [ - 13.0648, - 47.50885 - ], - [ - 12.93846, - 47.47173 - ], - [ - 12.77367, - 47.5793 - ], - [ - 12.8286, - 47.60894 - ], - [ - 12.70226, - 47.70144 - ], - [ - 12.1859, - 47.70514 - ], - [ - 12.16942, - 47.62005 - ], - [ - 11.86729, - 47.60524 - ], - [ - 11.63109, - 47.59412 - ], - [ - 11.25755, - 47.40114 - ], - [ - 10.98839, - 47.40486 - ], - [ - 10.88402, - 47.52369 - ], - [ - 10.67528, - 47.55707 - ], - [ - 10.45006, - 47.54594 - ], - [ - 10.46654, - 47.41973 - ], - [ - 10.34019, - 47.3081 - ], - [ - 10.19737, - 47.27457 - ], - [ - 10.21385, - 47.38998 - ], - [ - 10.10948, - 47.3751 - ], - [ - 10.08202, - 47.46431 - ], - [ - 9.84581, - 47.55336 - ], - [ - 9.40636, - 47.55336 - ], - [ - 9.09874, - 47.68388 - ], - [ - 8.90236, - 47.65521 - ], - [ - 8.85292, - 47.70329 - ], - [ - 8.80348, - 47.74025 - ], - [ - 8.76915, - 47.71993 - ], - [ - 8.80486, - 47.70329 - ], - [ - 8.79524, - 47.68388 - ], - [ - 8.7307, - 47.69867 - ], - [ - 8.73482, - 47.7227 - ], - [ - 8.71284, - 47.7384 - ], - [ - 8.7513, - 47.76887 - ], - [ - 8.69637, - 47.76425 - ], - [ - 8.65654, - 47.8067 - ], - [ - 8.63594, - 47.76518 - ], - [ - 8.61122, - 47.80947 - ], - [ - 8.57002, - 47.79286 - ], - [ - 8.48763, - 47.77902 - ], - [ - 8.41621, - 47.71808 - ], - [ - 8.41347, - 47.68111 - ], - [ - 8.46428, - 47.65891 - ], - [ - 8.53706, - 47.67001 - ], - [ - 8.60985, - 47.67741 - ], - [ - 8.63457, - 47.64966 - ], - [ - 8.59886, - 47.64319 - ], - [ - 8.61122, - 47.6219 - ], - [ - 8.56865, - 47.60061 - ], - [ - 8.56865, - 47.6219 - ], - [ - 8.52745, - 47.64041 - ], - [ - 8.45879, - 47.60801 - ], - [ - 8.50273, - 47.58672 - ], - [ - 8.38463, - 47.57004 - ], - [ - 8.33107, - 47.57375 - ], - [ - 8.29399, - 47.61542 - ], - [ - 8.2061, - 47.62653 - ], - [ - 8.10173, - 47.56819 - ], - [ - 7.96852, - 47.5617 - ], - [ - 7.92046, - 47.55429 - ], - [ - 7.89024, - 47.59505 - ], - [ - 7.8257, - 47.58949 - ], - [ - 7.81197, - 47.56726 - ], - [ - 7.6815, - 47.54038 - ], - [ - 7.6403, - 47.56448 - ], - [ - 7.69386, - 47.5756 - ], - [ - 7.6815, - 47.59412 - ], - [ - 7.64854, - 47.60061 - ], - [ - 7.61421, - 47.58394 - ], - [ - 7.50641, - 47.70237 - ], - [ - 7.79205, - 48.60749 - ], - [ - 8.22876, - 48.97481 - ], - [ - 6.84174, - 49.17093 - ], - [ - 6.37482, - 49.48597 - ], - [ - 6.53961, - 49.80963 - ], - [ - 6.1441, - 50.01833 - ], - [ - 6.19835, - 50.21119 - ], - [ - 6.41808, - 50.35159 - ], - [ - 6.19835, - 50.63117 - ], - [ - 6.02257, - 50.77034 - ], - [ - 6.02257, - 51.07506 - ], - [ - 6.24229, - 51.37778 - ], - [ - 5.97862, - 51.81456 - ], - [ - 6.1496, - 51.90022 - ], - [ - 6.44073, - 51.85105 - ], - [ - 6.828, - 51.95611 - ], - [ - 6.68518, - 52.05587 - ], - [ - 7.04773, - 52.23957 - ], - [ - 6.99554, - 52.45768 - ], - [ - 6.70166, - 52.48445 - ], - [ - 6.72913, - 52.64973 - ], - [ - 7.05048, - 52.62973 - ] - ] - ] - } - }, - hungary: { - type: "Feature", - id: "hungary", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 18.43643, - 45.73111 - ], - [ - 17.67426, - 45.83454 - ], - [ - 17.57675, - 45.92823 - ], - [ - 17.35153, - 45.94303 - ], - [ - 17.14966, - 46.16081 - ], - [ - 16.52756, - 46.50028 - ], - [ - 16.3147, - 46.86582 - ], - [ - 16.11969, - 46.86582 - ], - [ - 16.28448, - 46.99337 - ], - [ - 16.48224, - 47.01584 - ], - [ - 16.5152, - 47.1505 - ], - [ - 16.42731, - 47.2177 - ], - [ - 16.43829, - 47.41136 - ], - [ - 16.66763, - 47.44852 - ], - [ - 16.67587, - 47.60616 - ], - [ - 16.43829, - 47.65614 - ], - [ - 16.54816, - 47.75964 - ], - [ - 16.71844, - 47.73563 - ], - [ - 16.75003, - 47.68111 - ], - [ - 17.08099, - 47.70791 - ], - [ - 17.04254, - 47.86293 - ], - [ - 17.09473, - 47.96234 - ], - [ - 17.20734, - 48.02484 - ], - [ - 17.75665, - 47.74486 - ], - [ - 18.71246, - 47.76702 - ], - [ - 18.85529, - 47.82606 - ], - [ - 18.77838, - 47.87767 - ], - [ - 18.75641, - 47.98808 - ], - [ - 18.82233, - 48.04687 - ], - [ - 19.50348, - 48.1056 - ], - [ - 19.55566, - 48.25028 - ], - [ - 19.92096, - 48.14227 - ], - [ - 20.34943, - 48.30329 - ], - [ - 20.54718, - 48.54389 - ], - [ - 20.82184, - 48.58751 - ], - [ - 21.14044, - 48.50751 - ], - [ - 21.47003, - 48.58751 - ], - [ - 21.70074, - 48.36902 - ], - [ - 21.8367, - 48.34073 - ], - [ - 22.2171, - 48.42282 - ], - [ - 22.38327, - 48.24205 - ], - [ - 22.50549, - 48.24845 - ], - [ - 22.61948, - 48.1056 - ], - [ - 22.83371, - 48.11843 - ], - [ - 22.90649, - 47.95406 - ], - [ - 22.59064, - 47.75779 - ], - [ - 22.48077, - 47.81131 - ], - [ - 22.42584, - 47.74486 - ], - [ - 22.32147, - 47.75779 - ], - [ - 22.02759, - 47.51442 - ], - [ - 22.03033, - 47.38161 - ], - [ - 21.9397, - 47.3658 - ], - [ - 21.48926, - 46.75868 - ], - [ - 21.52908, - 46.73233 - ], - [ - 21.4151, - 46.61737 - ], - [ - 21.33133, - 46.61549 - ], - [ - 21.10611, - 46.23875 - ], - [ - 20.79575, - 46.27863 - ], - [ - 20.7106, - 46.15035 - ], - [ - 20.25055, - 46.13227 - ], - [ - 19.82758, - 46.16461 - ], - [ - 19.54742, - 46.17793 - ], - [ - 19.51447, - 46.1018 - ], - [ - 18.80997, - 45.87567 - ], - [ - 18.70285, - 45.91294 - ], - [ - 18.43643, - 45.73111 - ] - ] - ] - } - }, - italy: { - type: "Feature", - id: "italy", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 7.6, - 43.5 - ], - [ - 7.49542, - 43.86523 - ], - [ - 7.69043, - 44.0718 - ], - [ - 7.69043, - 44.19796 - ], - [ - 7.42676, - 44.15068 - ], - [ - 6.9873, - 44.26094 - ], - [ - 6.85547, - 44.55916 - ], - [ - 7.03125, - 44.73113 - ], - [ - 7.00928, - 44.87144 - ], - [ - 6.72363, - 44.91814 - ], - [ - 6.5918, - 45.12005 - ], - [ - 7.09717, - 45.25942 - ], - [ - 7.14111, - 45.41388 - ], - [ - 6.96533, - 45.61404 - ], - [ - 6.76758, - 45.79817 - ], - [ - 7.03125, - 45.9053 - ], - [ - 7.55859, - 45.9817 - ], - [ - 7.77832, - 45.93587 - ], - [ - 8.12988, - 46.13417 - ], - [ - 8.08594, - 46.30141 - ], - [ - 8.48145, - 46.46813 - ], - [ - 8.61328, - 46.13417 - ], - [ - 8.81104, - 46.10371 - ], - [ - 9.05273, - 45.8288 - ], - [ - 9.07471, - 46.11894 - ], - [ - 9.27246, - 46.25585 - ], - [ - 9.25049, - 46.43786 - ], - [ - 9.44824, - 46.49839 - ], - [ - 9.49219, - 46.31658 - ], - [ - 9.68994, - 46.31658 - ], - [ - 9.95361, - 46.36209 - ], - [ - 10.06348, - 46.17983 - ], - [ - 10.17334, - 46.25585 - ], - [ - 10.0415, - 46.453 - ], - [ - 10.08545, - 46.60417 - ], - [ - 10.26123, - 46.66452 - ], - [ - 10.45898, - 46.49839 - ], - [ - 10.50293, - 46.61926 - ], - [ - 10.39307, - 46.70974 - ], - [ - 10.41504, - 46.86019 - ], - [ - 10.61279, - 46.87521 - ], - [ - 11.03027, - 46.76997 - ], - [ - 11.16211, - 46.93526 - ], - [ - 11.27197, - 46.99524 - ], - [ - 11.53564, - 47.01023 - ], - [ - 11.7334, - 46.99524 - ], - [ - 12.2168, - 47.10004 - ], - [ - 12.15088, - 46.93526 - ], - [ - 12.43652, - 46.70974 - ], - [ - 12.96387, - 46.61926 - ], - [ - 13.73291, - 46.54375 - ], - [ - 13.71094, - 46.42271 - ], - [ - 13.40332, - 46.33176 - ], - [ - 13.40332, - 46.22545 - ], - [ - 13.66699, - 46.17983 - ], - [ - 13.51318, - 46.05799 - ], - [ - 13.64502, - 45.96642 - ], - [ - 13.5791, - 45.85941 - ], - [ - 13.93066, - 45.64477 - ], - [ - 13.82629, - 45.5756 - ], - [ - 13.6, - 45.6294 - ], - [ - 12.9, - 45.4 - ], - [ - 12.8, - 45 - ], - [ - 18.9, - 40.3 - ], - [ - 18.5, - 39 - ], - [ - 15, - 36 - ], - [ - 11, - 38 - ], - [ - 9.6, - 43.2 - ], - [ - 7.6, - 43.5 - ] - ] - ] - } - }, - IT_Lazio: { - type: "Feature", - id: "IT_Lazio", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 13.23814, - 42.1301 - ], - [ - 13.19363, - 42.15923 - ], - [ - 13.17062, - 42.15169 - ], - [ - 13.12434, - 42.17797 - ], - [ - 13.08798, - 42.17886 - ], - [ - 13.08575, - 42.14318 - ], - [ - 13.0317, - 42.12309 - ], - [ - 13.01946, - 42.07634 - ], - [ - 13.05545, - 42.01736 - ], - [ - 13.10194, - 42.00898 - ], - [ - 13.10589, - 42.02698 - ], - [ - 13.36437, - 41.92475 - ], - [ - 13.384, - 41.90419 - ], - [ - 13.35751, - 41.8694 - ], - [ - 13.38052, - 41.81709 - ], - [ - 13.4169, - 41.83467 - ], - [ - 13.50508, - 41.8016 - ], - [ - 13.52044, - 41.77297 - ], - [ - 13.57182, - 41.7543 - ], - [ - 13.66214, - 41.81144 - ], - [ - 13.70555, - 41.78747 - ], - [ - 13.72956, - 41.7989 - ], - [ - 13.7629, - 41.7488 - ], - [ - 13.81162, - 41.75426 - ], - [ - 13.85645, - 41.73124 - ], - [ - 13.89541, - 41.73405 - ], - [ - 13.98311, - 41.66238 - ], - [ - 14.01182, - 41.60835 - ], - [ - 13.99895, - 41.57448 - ], - [ - 14.02596, - 41.55567 - ], - [ - 14.00526, - 41.53875 - ], - [ - 14.0275, - 41.52321 - ], - [ - 13.97291, - 41.49404 - ], - [ - 13.99278, - 41.48208 - ], - [ - 13.9779, - 41.46249 - ], - [ - 13.90257, - 41.42273 - ], - [ - 13.86123, - 41.41763 - ], - [ - 13.8886, - 41.40081 - ], - [ - 13.8688, - 41.36272 - ], - [ - 13.88974, - 41.29748 - ], - [ - 13.82898, - 41.28154 - ], - [ - 13.83083, - 41.2502 - ], - [ - 13.77126, - 41.24136 - ], - [ - 13.45667, - 40.77769 - ], - [ - 11.52381, - 41.03693 - ], - [ - 11.44922, - 42.37798 - ], - [ - 11.48889, - 42.43937 - ], - [ - 11.61771, - 42.43604 - ], - [ - 11.61626, - 42.48862 - ], - [ - 11.56011, - 42.51595 - ], - [ - 11.58852, - 42.54226 - ], - [ - 11.57917, - 42.56803 - ], - [ - 11.61401, - 42.55723 - ], - [ - 11.64337, - 42.56635 - ], - [ - 11.71111, - 42.61091 - ], - [ - 11.73597, - 42.60666 - ], - [ - 11.74975, - 42.63965 - ], - [ - 11.80478, - 42.644 - ], - [ - 11.77554, - 42.70951 - ], - [ - 11.80156, - 42.70719 - ], - [ - 11.81949, - 42.74543 - ], - [ - 11.74602, - 42.78576 - ], - [ - 11.77424, - 42.82107 - ], - [ - 11.80685, - 42.79485 - ], - [ - 11.8137, - 42.82267 - ], - [ - 11.84851, - 42.84008 - ], - [ - 11.90558, - 42.8325 - ], - [ - 11.92743, - 42.78092 - ], - [ - 11.97948, - 42.76459 - ], - [ - 11.96293, - 42.72669 - ], - [ - 11.9301, - 42.71295 - ], - [ - 11.94133, - 42.6833 - ], - [ - 12.03, - 42.64324 - ], - [ - 12.10666, - 42.66464 - ], - [ - 12.12406, - 42.64929 - ], - [ - 12.16101, - 42.67691 - ], - [ - 12.20434, - 42.66046 - ], - [ - 12.24292, - 42.62906 - ], - [ - 12.22819, - 42.61077 - ], - [ - 12.24626, - 42.60256 - ], - [ - 12.23866, - 42.57218 - ], - [ - 12.27504, - 42.55991 - ], - [ - 12.26676, - 42.53347 - ], - [ - 12.29027, - 42.51904 - ], - [ - 12.27477, - 42.50921 - ], - [ - 12.30735, - 42.4973 - ], - [ - 12.29041, - 42.49164 - ], - [ - 12.32537, - 42.49476 - ], - [ - 12.35123, - 42.47365 - ], - [ - 12.39017, - 42.49819 - ], - [ - 12.41905, - 42.49765 - ], - [ - 12.41244, - 42.46756 - ], - [ - 12.43038, - 42.45802 - ], - [ - 12.41368, - 42.45517 - ], - [ - 12.41365, - 42.4256 - ], - [ - 12.4636, - 42.42909 - ], - [ - 12.44469, - 42.39882 - ], - [ - 12.51169, - 42.40311 - ], - [ - 12.52874, - 42.36445 - ], - [ - 12.60642, - 42.40245 - ], - [ - 12.61481, - 42.46511 - ], - [ - 12.64109, - 42.4678 - ], - [ - 12.6495, - 42.44331 - ], - [ - 12.67465, - 42.44242 - ], - [ - 12.74156, - 42.47053 - ], - [ - 12.71114, - 42.50079 - ], - [ - 12.89273, - 42.5635 - ], - [ - 12.88052, - 42.60935 - ], - [ - 13.00524, - 42.61622 - ], - [ - 13.02522, - 42.64 - ], - [ - 13.06423, - 42.62427 - ], - [ - 13.13, - 42.66053 - ], - [ - 13.14645, - 42.64714 - ], - [ - 13.17506, - 42.66707 - ], - [ - 13.19025, - 42.73363 - ], - [ - 13.25415, - 42.72145 - ], - [ - 13.2645, - 42.74019 - ], - [ - 13.28589, - 42.74049 - ], - [ - 13.35851, - 42.69533 - ], - [ - 13.35059, - 42.66968 - ], - [ - 13.37022, - 42.6507 - ], - [ - 13.4092, - 42.64383 - ], - [ - 13.39493, - 42.59223 - ], - [ - 13.29421, - 42.5705 - ], - [ - 13.28454, - 42.58349 - ], - [ - 13.24686, - 42.57367 - ], - [ - 13.19228, - 42.58849 - ], - [ - 13.15673, - 42.54102 - ], - [ - 13.17934, - 42.48031 - ], - [ - 13.11708, - 42.44489 - ], - [ - 13.19508, - 42.39017 - ], - [ - 13.15427, - 42.35797 - ], - [ - 13.22737, - 42.32031 - ], - [ - 13.23563, - 42.27871 - ], - [ - 13.28229, - 42.23874 - ], - [ - 13.33653, - 42.22338 - ], - [ - 13.34238, - 42.19939 - ], - [ - 13.3808, - 42.18142 - ], - [ - 13.34871, - 42.17689 - ], - [ - 13.35488, - 42.16769 - ], - [ - 13.32819, - 42.16483 - ], - [ - 13.30621, - 42.13923 - ], - [ - 13.23814, - 42.1301 - ] - ] - ] - } - }, - IT_Roma_Capitale: { - type: "Feature", - id: "IT_Roma_Capitale", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 11.6, - 42.16 - ], - [ - 12.28, - 42.2 - ], - [ - 12.52, - 42.31 - ], - [ - 13.27, - 41.92 - ], - [ - 13.15, - 41.58 - ], - [ - 12.6, - 41.16 - ], - [ - 11.6, - 42.16 - ] - ] - ] - } - }, - south_tyrol: { - type: "Feature", - id: "south_tyrol", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 10.45624, - 46.86582 - ], - [ - 10.73639, - 46.89211 - ], - [ - 10.82977, - 46.80946 - ], - [ - 10.96161, - 46.81322 - ], - [ - 11.1319, - 46.99149 - ], - [ - 11.49067, - 47.01233 - ], - [ - 11.68121, - 47.04018 - ], - [ - 11.7691, - 47.01023 - ], - [ - 12.16736, - 47.115 - ], - [ - 12.28546, - 47.08322 - ], - [ - 12.18384, - 46.98213 - ], - [ - 12.30469, - 46.85831 - ], - [ - 12.37335, - 46.73421 - ], - [ - 12.49969, - 46.67017 - ], - [ - 12.34039, - 46.61737 - ], - [ - 12.08771, - 46.64944 - ], - [ - 12.0163, - 46.52297 - ], - [ - 11.8515, - 46.49272 - ], - [ - 11.66336, - 46.48657 - ], - [ - 11.56929, - 46.34077 - ], - [ - 11.399, - 46.25585 - ], - [ - 11.18958, - 46.21072 - ], - [ - 11.13739, - 46.2867 - ], - [ - 11.20193, - 46.44732 - ], - [ - 10.91904, - 46.42603 - ], - [ - 10.61966, - 46.43833 - ], - [ - 10.44113, - 46.49036 - ], - [ - 10.36766, - 46.68854 - ], - [ - 10.45624, - 46.86582 - ] - ] - ] - } - }, - trentino: { - type: "Feature", - id: "trentino", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 10.49332, - 46.35641 - ], - [ - 10.59219, - 46.46624 - ], - [ - 10.76317, - 46.49697 - ], - [ - 10.84076, - 46.45536 - ], - [ - 11.07971, - 46.54469 - ], - [ - 11.23627, - 46.50123 - ], - [ - 11.21086, - 46.32559 - ], - [ - 11.1779, - 46.27341 - ], - [ - 11.23352, - 46.2473 - ], - [ - 11.32416, - 46.30235 - ], - [ - 11.5583, - 46.40378 - ], - [ - 11.62628, - 46.5069 - ], - [ - 11.83502, - 46.54233 - ], - [ - 11.91399, - 46.44306 - ], - [ - 11.85356, - 46.34124 - ], - [ - 11.99158, - 46.18363 - ], - [ - 11.84464, - 46.08466 - ], - [ - 11.72791, - 46.07704 - ], - [ - 11.69907, - 45.95592 - ], - [ - 11.51093, - 45.97979 - ], - [ - 11.28845, - 45.8814 - ], - [ - 11.21567, - 45.76273 - ], - [ - 11.16074, - 45.68316 - ], - [ - 10.90256, - 45.66013 - ], - [ - 10.82016, - 45.71097 - ], - [ - 10.84076, - 45.81827 - ], - [ - 10.51529, - 45.76752 - ], - [ - 10.41504, - 46.00269 - ], - [ - 10.51941, - 46.2112 - ], - [ - 10.49332, - 46.35641 - ] - ] - ] - } - }, - norway: { - type: "Feature", - id: "norway", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 25.98816, - 69.6179 - ], - [ - 25.24109, - 68.60752 - ], - [ - 20.42908, - 68.97318 - ], - [ - 16.9519, - 67.9499 - ], - [ - 13.77686, - 64.59561 - ], - [ - 14.28223, - 64.47279 - ], - [ - 14.08447, - 63.99524 - ], - [ - 13.02979, - 64.10101 - ], - [ - 12.00806, - 63.2633 - ], - [ - 12.14813, - 61.6586 - ], - [ - 12.87323, - 61.31245 - ], - [ - 12.67548, - 61.0636 - ], - [ - 12.26074, - 61.00241 - ], - [ - 12.60681, - 60.50593 - ], - [ - 12.49146, - 60.08128 - ], - [ - 12.17285, - 59.88756 - ], - [ - 11.87622, - 59.84895 - ], - [ - 11.94214, - 59.69547 - ], - [ - 11.6922, - 59.58998 - ], - [ - 11.84601, - 59.25044 - ], - [ - 11.64276, - 58.89471 - ], - [ - 11.45325, - 58.88194 - ], - [ - 11.44775, - 59.00168 - ], - [ - 11.34888, - 59.11254 - ], - [ - 11.18134, - 59.08009 - ], - [ - 11.06186, - 58.97054 - ], - [ - 8, - 57.5 - ], - [ - 3, - 57.5 - ], - [ - 3, - 83 - ], - [ - 40, - 83 - ], - [ - 35, - 71 - ], - [ - 29.61365, - 69.28629 - ], - [ - 27.98767, - 69.99711 - ], - [ - 25.98816, - 69.6179 - ] - ] - ] - } - }, - poland: { - type: "Feature", - id: "poland", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 14.03, - 52.84 - ], - [ - 14.34, - 53.26 - ], - [ - 14.13, - 54.16 - ], - [ - 15.95, - 54.52 - ], - [ - 16.31, - 54.76 - ], - [ - 17.13, - 54.97 - ], - [ - 18.29, - 55.08 - ], - [ - 18.9, - 54.98 - ], - [ - 19.69, - 54.5 - ], - [ - 21.47, - 54.37 - ], - [ - 22.9, - 54.46 - ], - [ - 23.39, - 54.3 - ], - [ - 24.01, - 53.17 - ], - [ - 24.03, - 52.71 - ], - [ - 23.29, - 52.3 - ], - [ - 23.74, - 52.09 - ], - [ - 23.64, - 51.61 - ], - [ - 24.24, - 50.86 - ], - [ - 24.11, - 50.41 - ], - [ - 23.78, - 50.34 - ], - [ - 22.77, - 49.55 - ], - [ - 22.96, - 48.97 - ], - [ - 22.18, - 49.1 - ], - [ - 21.6, - 49.38 - ], - [ - 20.93, - 49.24 - ], - [ - 20.47, - 49.34 - ], - [ - 20.12, - 49.13 - ], - [ - 19.76, - 49.14 - ], - [ - 19.45, - 49.51 - ], - [ - 18.94, - 49.34 - ], - [ - 18.48, - 49.85 - ], - [ - 17.83, - 49.92 - ], - [ - 17.54, - 50.21 - ], - [ - 17.06, - 50.35 - ], - [ - 17.08, - 50.18 - ], - [ - 16.65, - 50.05 - ], - [ - 16.11, - 50.41 - ], - [ - 16.3, - 50.6 - ], - [ - 16.01, - 50.54 - ], - [ - 15.34, - 50.73 - ], - [ - 15.14, - 50.93 - ], - [ - 14.78, - 50.82 - ], - [ - 14.94, - 51.27 - ], - [ - 14.5, - 51.81 - ], - [ - 14.66, - 52.05 - ], - [ - 14.53, - 52.57 - ], - [ - 14.03, - 52.84 - ] - ] - ] - } - }, - spain: { - type: "Feature", - id: "spain", - properties: { - }, - geometry: { - type: "MultiPolygon", - coordinates: [ - [ - [ - [ - -19, - 29 - ], - [ - -13, - 30 - ], - [ - -13, - 29 - ], - [ - -14, - 27.8 - ], - [ - -19, - 27 - ], - [ - -19, - 29 - ] - ] - ], - [ - [ - [ - -8.89106, - 41.82289 - ], - [ - -10, - 44 - ], - [ - -4, - 44 - ], - [ - -1.77005, - 43.37605 - ], - [ - -1.71005, - 43.37569 - ], - [ - -1.71135, - 43.33125 - ], - [ - -1.72259, - 43.31318 - ], - [ - -1.68904, - 43.31291 - ], - [ - -1.68811, - 43.33413 - ], - [ - -1.64467, - 43.33372 - ], - [ - -1.64498, - 43.31332 - ], - [ - -1.60299, - 43.31295 - ], - [ - -1.60344, - 43.29266 - ], - [ - -1.56359, - 43.29212 - ], - [ - -1.56305, - 43.31338 - ], - [ - -1.47799, - 43.31284 - ], - [ - -1.36677, - 43.27614 - ], - [ - -1.35688, - 43.23815 - ], - [ - -1.37037, - 43.1713 - ], - [ - -1.44231, - 43.08336 - ], - [ - -1.41983, - 43.06036 - ], - [ - -1.37307, - 43.05117 - ], - [ - -1.36407, - 43.11159 - ], - [ - -1.30203, - 43.13522 - ], - [ - -1.23549, - 43.13325 - ], - [ - -1.27955, - 43.07744 - ], - [ - -1.19232, - 43.06496 - ], - [ - -1.00619, - 43.00778 - ], - [ - -0.94234, - 42.9749 - ], - [ - -0.7562, - 42.98213 - ], - [ - -0.71484, - 42.96108 - ], - [ - -0.69685, - 42.90314 - ], - [ - -0.55118, - 42.82207 - ], - [ - -0.50442, - 42.84845 - ], - [ - -0.42889, - 42.82009 - ], - [ - -0.31648, - 42.86558 - ], - [ - -0.14563, - 42.81086 - ], - [ - -0.03143, - 42.71249 - ], - [ - 0.18618, - 42.7541 - ], - [ - 0.30218, - 42.71777 - ], - [ - 0.36422, - 42.74287 - ], - [ - 0.44875, - 42.71447 - ], - [ - 0.62769, - 42.7224 - ], - [ - 0.64118, - 42.85767 - ], - [ - 0.71492, - 42.88272 - ], - [ - 0.9676, - 42.81811 - ], - [ - 1.10878, - 42.79898 - ], - [ - 1.17532, - 42.73429 - ], - [ - 1.36326, - 42.74155 - ], - [ - 1.41137, - 42.70939 - ], - [ - 1.48061, - 42.71034 - ], - [ - 1.4813, - 42.50107 - ], - [ - 1.64436, - 42.50203 - ], - [ - 1.64328, - 42.54245 - ], - [ - 1.73041, - 42.54342 - ], - [ - 1.73164, - 42.50118 - ], - [ - 2.06386, - 42.50164 - ], - [ - 2.06456, - 42.45902 - ], - [ - 2.39693, - 42.45994 - ], - [ - 2.39768, - 42.41784 - ], - [ - 2.48048, - 42.41797 - ], - [ - 2.48098, - 42.37594 - ], - [ - 2.64479, - 42.37626 - ], - [ - 2.64448, - 42.45924 - ], - [ - 2.81133, - 42.45961 - ], - [ - 2.81126, - 42.50104 - ], - [ - 3.06388, - 42.50085 - ], - [ - 3.06388, - 42.45915 - ], - [ - 3.23078, - 42.45934 - ], - [ - 5, - 40 - ], - [ - 4, - 39 - ], - [ - -2.2, - 36.5 - ], - [ - -5.6, - 35.95 - ], - [ - -6, - 36 - ], - [ - -7.37535, - 37.15354 - ], - [ - -7.40832, - 37.16822 - ], - [ - -7.4481, - 37.39094 - ], - [ - -7.46963, - 37.40758 - ], - [ - -7.4647, - 37.45305 - ], - [ - -7.50197, - 37.51641 - ], - [ - -7.51916, - 37.52292 - ], - [ - -7.52196, - 37.57237 - ], - [ - -7.45013, - 37.66958 - ], - [ - -7.4249, - 37.75992 - ], - [ - -7.31666, - 37.83997 - ], - [ - -7.26833, - 37.98895 - ], - [ - -7.15368, - 38.01552 - ], - [ - -7.11771, - 38.05536 - ], - [ - -7.0143, - 38.02438 - ], - [ - -6.99632, - 38.10756 - ], - [ - -6.96147, - 38.20125 - ], - [ - -7.08062, - 38.15708 - ], - [ - -7.34027, - 38.44024 - ], - [ - -7.26383, - 38.73807 - ], - [ - -7.04352, - 38.87297 - ], - [ - -7.06151, - 38.90796 - ], - [ - -6.96934, - 39.01983 - ], - [ - -7.00081, - 39.08879 - ], - [ - -7.15368, - 39.09577 - ], - [ - -7.15255, - 39.16029 - ], - [ - -7.24472, - 39.19689 - ], - [ - -7.25596, - 39.28133 - ], - [ - -7.33689, - 39.35351 - ], - [ - -7.3279, - 39.45599 - ], - [ - -7.51449, - 39.58865 - ], - [ - -7.55271, - 39.67954 - ], - [ - -7.05027, - 39.67522 - ], - [ - -6.99519, - 39.81954 - ], - [ - -6.92213, - 39.87909 - ], - [ - -6.88616, - 40.02299 - ], - [ - -7.04128, - 40.13479 - ], - [ - -7.01767, - 40.26615 - ], - [ - -6.8086, - 40.34501 - ], - [ - -6.86818, - 40.44516 - ], - [ - -6.85356, - 40.60664 - ], - [ - -6.83783, - 40.87576 - ], - [ - -6.9536, - 41.03704 - ], - [ - -6.80186, - 41.03959 - ], - [ - -6.76814, - 41.13871 - ], - [ - -6.64112, - 41.26556 - ], - [ - -6.56244, - 41.26303 - ], - [ - -6.21737, - 41.5791 - ], - [ - -6.31628, - 41.64465 - ], - [ - -6.51523, - 41.64129 - ], - [ - -6.58717, - 41.68832 - ], - [ - -6.54783, - 41.85597 - ], - [ - -6.62988, - 41.91121 - ], - [ - -7.13345, - 41.94048 - ], - [ - -7.16829, - 41.87188 - ], - [ - -7.42569, - 41.78477 - ], - [ - -7.95398, - 41.84593 - ], - [ - -8.13045, - 41.78058 - ], - [ - -8.25185, - 41.90786 - ], - [ - -8.12933, - 42.03488 - ], - [ - -8.24848, - 42.1008 - ], - [ - -8.36762, - 42.05575 - ], - [ - -8.60704, - 42.03405 - ], - [ - -8.89106, - 41.82289 - ] - ] - ] - ] - } - }, - sweden: { - type: "Feature", - id: "sweden", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 10.57159, - 58.2445 - ], - [ - 10.63202, - 58.9245 - ], - [ - 11.35712, - 59.12804 - ], - [ - 11.53839, - 58.91174 - ], - [ - 11.62079, - 58.92308 - ], - [ - 11.75812, - 59.24341 - ], - [ - 11.65649, - 59.61777 - ], - [ - 11.85974, - 59.7121 - ], - [ - 11.82129, - 59.84481 - ], - [ - 11.95862, - 59.91098 - ], - [ - 12.15363, - 59.91235 - ], - [ - 12.44476, - 60.0895 - ], - [ - 12.48322, - 60.32151 - ], - [ - 12.56012, - 60.50458 - ], - [ - 12.36511, - 60.71217 - ], - [ - 12.19482, - 61.01572 - ], - [ - 12.64801, - 61.09415 - ], - [ - 12.82928, - 61.34276 - ], - [ - 12.55463, - 61.55018 - ], - [ - 12.42828, - 61.54495 - ], - [ - 12.12341, - 61.71331 - ], - [ - 12.28546, - 62.26664 - ], - [ - 12.03278, - 62.60851 - ], - [ - 12.10968, - 62.74718 - ], - [ - 12.06024, - 62.89772 - ], - [ - 12.18658, - 62.99765 - ], - [ - 11.95587, - 63.28183 - ], - [ - 12.18109, - 63.47873 - ], - [ - 12.1344, - 63.59012 - ], - [ - 12.659, - 63.9856 - ], - [ - 12.90619, - 64.0722 - ], - [ - 13.20831, - 64.10461 - ], - [ - 13.9801, - 64.03014 - ], - [ - 14.06525, - 64.46214 - ], - [ - 13.60382, - 64.56968 - ], - [ - 14.26025, - 65.11608 - ], - [ - 14.31519, - 65.23831 - ], - [ - 14.45251, - 65.31412 - ], - [ - 14.47998, - 65.62656 - ], - [ - 14.57886, - 65.80953 - ], - [ - 14.49097, - 66.15163 - ], - [ - 14.99634, - 66.17161 - ], - [ - 15.4248, - 66.29337 - ], - [ - 15.33691, - 66.51107 - ], - [ - 16.04004, - 66.93221 - ], - [ - 16.37512, - 67.06743 - ], - [ - 16.35864, - 67.21467 - ], - [ - 16.06201, - 67.42015 - ], - [ - 16.1499, - 67.52957 - ], - [ - 16.37512, - 67.55266 - ], - [ - 16.70471, - 67.91688 - ], - [ - 17.25952, - 68.13067 - ], - [ - 17.88025, - 67.99523 - ], - [ - 18.09448, - 68.19809 - ], - [ - 18.06702, - 68.54432 - ], - [ - 18.39661, - 68.58848 - ], - [ - 19.00085, - 68.52019 - ], - [ - 19.89075, - 68.39109 - ], - [ - 20.13245, - 68.48798 - ], - [ - 19.89075, - 68.55637 - ], - [ - 20.28076, - 68.78613 - ], - [ - 19.99512, - 69.06268 - ], - [ - 20.62134, - 69.08033 - ], - [ - 20.86853, - 69.03518 - ], - [ - 21.24756, - 68.8437 - ], - [ - 21.92322, - 68.60652 - ], - [ - 22.90649, - 68.39514 - ], - [ - 23.73596, - 67.96639 - ], - [ - 23.5437, - 67.8362 - ], - [ - 23.62061, - 67.47492 - ], - [ - 23.79639, - 67.44544 - ], - [ - 23.81287, - 67.26992 - ], - [ - 23.63159, - 67.23806 - ], - [ - 24.04358, - 66.82868 - ], - [ - 23.91174, - 66.57448 - ], - [ - 23.71399, - 66.31986 - ], - [ - 24.22485, - 65.97333 - ], - [ - 24.04358, - 65.64469 - ], - [ - 21.00586, - 63.63894 - ], - [ - 18.57239, - 61.83023 - ], - [ - 19.18762, - 60.53297 - ], - [ - 19.11346, - 60.18387 - ], - [ - 19.66827, - 59.82687 - ], - [ - 19.90173, - 58.07788 - ], - [ - 18.78662, - 56.9869 - ], - [ - 16.73218, - 56.05977 - ], - [ - 15.0238, - 55.72711 - ], - [ - 14.36462, - 55.31977 - ], - [ - 13.1163, - 55.22276 - ], - [ - 12.7002, - 55.30414 - ], - [ - 12.82654, - 55.57834 - ], - [ - 12.84851, - 55.72402 - ], - [ - 12.79358, - 55.83214 - ], - [ - 12.6123, - 56.0751 - ], - [ - 12.49146, - 56.13331 - ], - [ - 12.07947, - 56.30435 - ], - [ - 11.35437, - 57.67185 - ], - [ - 10.57159, - 58.2445 - ] - ] - ] - } - }, - east_midlands_uk: { - type: "Feature", - id: "east_midlands_uk", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 0.03031, - 53.53488 - ], - [ - 0.28564, - 53.56315 - ], - [ - 0.48889, - 53.10722 - ], - [ - 0.27299, - 52.82421 - ], - [ - 0.24507, - 52.7845 - ], - [ - 0.27219, - 52.77279 - ], - [ - 0.18631, - 52.73533 - ], - [ - 0.14206, - 52.7399 - ], - [ - 0.08901, - 52.72361 - ], - [ - 0.06361, - 52.72737 - ], - [ - 0.04413, - 52.71436 - ], - [ - 0.04883, - 52.68175 - ], - [ - 0.02104, - 52.66476 - ], - [ - -0.03129, - 52.66151 - ], - [ - -0.06373, - 52.67521 - ], - [ - -0.08777, - 52.66676 - ], - [ - -0.10221, - 52.67218 - ], - [ - -0.14108, - 52.65149 - ], - [ - -0.18003, - 52.66054 - ], - [ - -0.19288, - 52.65242 - ], - [ - -0.20605, - 52.66805 - ], - [ - -0.26064, - 52.65139 - ], - [ - -0.28925, - 52.67025 - ], - [ - -0.335, - 52.67485 - ], - [ - -0.35023, - 52.66159 - ], - [ - -0.40569, - 52.64802 - ], - [ - -0.45065, - 52.65411 - ], - [ - -0.49897, - 52.63931 - ], - [ - -0.52006, - 52.64143 - ], - [ - -0.55014, - 52.61223 - ], - [ - -0.54419, - 52.59287 - ], - [ - -0.55813, - 52.59447 - ], - [ - -0.57192, - 52.58579 - ], - [ - -0.58149, - 52.59587 - ], - [ - -0.58865, - 52.58679 - ], - [ - -0.60303, - 52.58857 - ], - [ - -0.66093, - 52.56893 - ], - [ - -0.69783, - 52.5457 - ], - [ - -0.71564, - 52.52237 - ], - [ - -0.75723, - 52.51093 - ], - [ - -0.77488, - 52.51826 - ], - [ - -0.82013, - 52.51552 - ], - [ - -0.86871, - 52.52699 - ], - [ - -0.88346, - 52.51395 - ], - [ - -0.88214, - 52.49315 - ], - [ - -0.89806, - 52.4869 - ], - [ - -0.88241, - 52.47127 - ], - [ - -0.90065, - 52.45994 - ], - [ - -0.94219, - 52.46777 - ], - [ - -0.95192, - 52.47741 - ], - [ - -1.0007, - 52.47092 - ], - [ - -1.04452, - 52.44573 - ], - [ - -1.03429, - 52.43627 - ], - [ - -1.04987, - 52.42225 - ], - [ - -1.08439, - 52.43628 - ], - [ - -1.12928, - 52.41609 - ], - [ - -1.14947, - 52.39701 - ], - [ - -1.20141, - 52.39648 - ], - [ - -1.30715, - 52.49423 - ], - [ - -1.52226, - 52.57033 - ], - [ - -1.52716, - 52.58272 - ], - [ - -1.56075, - 52.59612 - ], - [ - -1.55447, - 52.61472 - ], - [ - -1.57139, - 52.6353 - ], - [ - -1.54714, - 52.64218 - ], - [ - -1.54245, - 52.65362 - ], - [ - -1.55281, - 52.66845 - ], - [ - -1.58965, - 52.68724 - ], - [ - -1.59082, - 52.69801 - ], - [ - -1.65505, - 52.69878 - ], - [ - -1.65662, - 52.72173 - ], - [ - -1.70372, - 52.7298 - ], - [ - -1.69687, - 52.75272 - ], - [ - -1.66654, - 52.78471 - ], - [ - -1.61113, - 52.78139 - ], - [ - -1.61435, - 52.78826 - ], - [ - -1.58887, - 52.79985 - ], - [ - -1.59183, - 52.80947 - ], - [ - -1.6105, - 52.81639 - ], - [ - -1.58536, - 52.8317 - ], - [ - -1.62672, - 52.85441 - ], - [ - -1.69028, - 52.86445 - ], - [ - -1.70061, - 52.86057 - ], - [ - -1.70435, - 52.86666 - ], - [ - -1.72527, - 52.85964 - ], - [ - -1.77712, - 52.88377 - ], - [ - -1.79092, - 52.88023 - ], - [ - -1.80186, - 52.88613 - ], - [ - -1.81171, - 52.88058 - ], - [ - -1.83295, - 52.8869 - ], - [ - -1.85422, - 52.93063 - ], - [ - -1.82982, - 52.94565 - ], - [ - -1.82678, - 52.97707 - ], - [ - -1.76257, - 52.99965 - ], - [ - -1.75775, - 53.01698 - ], - [ - -1.75978, - 53.03869 - ], - [ - -1.7847, - 53.04991 - ], - [ - -1.77566, - 53.05933 - ], - [ - -1.79424, - 53.08837 - ], - [ - -1.78373, - 53.10281 - ], - [ - -1.82144, - 53.13579 - ], - [ - -1.81254, - 53.15432 - ], - [ - -1.8393, - 53.1769 - ], - [ - -1.87403, - 53.19536 - ], - [ - -1.95671, - 53.21373 - ], - [ - -1.96237, - 53.22622 - ], - [ - -1.9896, - 53.21572 - ], - [ - -1.97486, - 53.23106 - ], - [ - -2.00948, - 53.26065 - ], - [ - -2.00679, - 53.35457 - ], - [ - -2.009, - 53.36201 - ], - [ - -2.03173, - 53.36573 - ], - [ - -2.03385, - 53.37517 - ], - [ - -2.00464, - 53.38633 - ], - [ - -1.99233, - 53.41519 - ], - [ - -2.02371, - 53.42055 - ], - [ - -2.02738, - 53.43233 - ], - [ - -2.01366, - 53.43988 - ], - [ - -2.00422, - 53.43592 - ], - [ - -2.00823, - 53.44155 - ], - [ - -1.98579, - 53.45523 - ], - [ - -1.98809, - 53.48033 - ], - [ - -1.97428, - 53.48838 - ], - [ - -1.97159, - 53.50434 - ], - [ - -1.92197, - 53.50995 - ], - [ - -1.92678, - 53.52095 - ], - [ - -1.91189, - 53.53803 - ], - [ - -1.89411, - 53.5336 - ], - [ - -1.87349, - 53.54041 - ], - [ - -1.84182, - 53.51989 - ], - [ - -1.82223, - 53.52108 - ], - [ - -1.80428, - 53.537 - ], - [ - -1.77188, - 53.53384 - ], - [ - -1.74155, - 53.54105 - ], - [ - -1.72318, - 53.55991 - ], - [ - -1.66945, - 53.5532 - ], - [ - -1.65103, - 53.56166 - ], - [ - -1.61581, - 53.56305 - ], - [ - -1.59636, - 53.57692 - ], - [ - -1.59109, - 53.60677 - ], - [ - -1.55023, - 53.60421 - ], - [ - -1.53078, - 53.59311 - ], - [ - -1.51867, - 53.5997 - ], - [ - -1.49656, - 53.59736 - ], - [ - -1.49512, - 53.60317 - ], - [ - -1.48371, - 53.59485 - ], - [ - -1.44763, - 53.61272 - ], - [ - -1.40036, - 53.59865 - ], - [ - -1.3767, - 53.60646 - ], - [ - -1.35612, - 53.59535 - ], - [ - -1.35143, - 53.58106 - ], - [ - -1.30782, - 53.57535 - ], - [ - -1.25803, - 53.59198 - ], - [ - -1.24825, - 53.61634 - ], - [ - -1.21778, - 53.62429 - ], - [ - -1.21602, - 53.642 - ], - [ - -1.1886, - 53.63583 - ], - [ - -1.15503, - 53.64319 - ], - [ - -1.13504, - 53.63254 - ], - [ - -1.12095, - 53.64688 - ], - [ - -0.99046, - 53.6612 - ], - [ - -0.94448, - 53.65868 - ], - [ - -0.86533, - 53.63769 - ], - [ - -0.89792, - 53.58325 - ], - [ - -0.90111, - 53.5687 - ], - [ - -0.89099, - 53.56654 - ], - [ - -0.90126, - 53.54788 - ], - [ - -0.89233, - 53.53738 - ], - [ - -0.94654, - 53.52732 - ], - [ - -0.95001, - 53.51363 - ], - [ - -0.93209, - 53.51065 - ], - [ - -0.93557, - 53.5025 - ], - [ - -0.90047, - 53.47513 - ], - [ - -0.92046, - 53.46446 - ], - [ - -0.87373, - 53.46146 - ], - [ - -0.87192, - 53.46629 - ], - [ - -0.79748, - 53.45504 - ], - [ - -0.78436, - 53.46336 - ], - [ - -0.78439, - 53.47665 - ], - [ - -0.77157, - 53.47918 - ], - [ - -0.76811, - 53.4989 - ], - [ - -0.75211, - 53.50051 - ], - [ - -0.73959, - 53.51991 - ], - [ - -0.62449, - 53.51282 - ], - [ - -0.62975, - 53.45819 - ], - [ - -0.55179, - 53.4595 - ], - [ - -0.47175, - 53.47485 - ], - [ - -0.48663, - 53.48045 - ], - [ - -0.48838, - 53.50484 - ], - [ - -0.40507, - 53.51759 - ], - [ - -0.40814, - 53.53208 - ], - [ - -0.43066, - 53.54631 - ], - [ - -0.50123, - 53.53744 - ], - [ - -0.46702, - 53.54894 - ], - [ - -0.429, - 53.5745 - ], - [ - -0.41967, - 53.56375 - ], - [ - -0.33594, - 53.5586 - ], - [ - -0.30342, - 53.59077 - ], - [ - -0.30093, - 53.61636 - ], - [ - -0.24847, - 53.59364 - ], - [ - -0.25139, - 53.58463 - ], - [ - -0.23466, - 53.58623 - ], - [ - -0.22255, - 53.56799 - ], - [ - -0.19169, - 53.56844 - ], - [ - -0.21988, - 53.53258 - ], - [ - -0.21059, - 53.53168 - ], - [ - -0.20408, - 53.51174 - ], - [ - -0.2106, - 53.48626 - ], - [ - -0.18856, - 53.48451 - ], - [ - -0.1818, - 53.46862 - ], - [ - -0.15368, - 53.46565 - ], - [ - -0.14923, - 53.44667 - ], - [ - -0.13188, - 53.43591 - ], - [ - -0.12034, - 53.43357 - ], - [ - -0.08221, - 53.45112 - ], - [ - -0.10786, - 53.46987 - ], - [ - -0.0898, - 53.47765 - ], - [ - -0.09548, - 53.48596 - ], - [ - -0.07526, - 53.48931 - ], - [ - -0.06493, - 53.51878 - ], - [ - -0.01452, - 53.51538 - ], - [ - 0.03031, - 53.53488 - ] - ] - ] - } - }, - "england-west-midlands": { - type: "Feature", - id: "england-west-midlands", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -3.28493, - 52.44175 - ], - [ - -3.12706, - 52.96995 - ], - [ - -1.95817, - 53.27605 - ], - [ - -1.1222, - 52.36367 - ], - [ - -1.59859, - 51.90733 - ], - [ - -2.65611, - 51.7761 - ], - [ - -3.10848, - 51.95414 - ], - [ - -3.28493, - 52.44175 - ] - ] - ] - } - }, - london_uk: { - type: "Feature", - id: "london_uk", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 0.23926, - 51.43251 - ], - [ - 0.23923, - 51.43329 - ], - [ - 0.23926, - 51.43251 - ], - [ - 0.23717, - 51.4241 - ], - [ - 0.205, - 51.39919 - ], - [ - 0.18385, - 51.37628 - ], - [ - 0.16188, - 51.36621 - ], - [ - 0.15614, - 51.3539 - ], - [ - 0.1603, - 51.31026 - ], - [ - 0.14958, - 51.30173 - ], - [ - 0.14213, - 51.29098 - ], - [ - 0.06692, - 51.27361 - ], - [ - -0.01594, - 51.26864 - ], - [ - -0.05766, - 51.2586 - ], - [ - -0.10949, - 51.25943 - ], - [ - -0.16628, - 51.26848 - ], - [ - -0.19872, - 51.25854 - ], - [ - -0.22666, - 51.2587 - ], - [ - -0.27352, - 51.28757 - ], - [ - -0.31813, - 51.30077 - ], - [ - -0.33644, - 51.31532 - ], - [ - -0.40313, - 51.30581 - ], - [ - -0.44436, - 51.31987 - ], - [ - -0.47985, - 51.3302 - ], - [ - -0.50762, - 51.37142 - ], - [ - -0.53414, - 51.39494 - ], - [ - -0.54109, - 51.42774 - ], - [ - -0.53264, - 51.43923 - ], - [ - -0.5152, - 51.46248 - ], - [ - -0.49617, - 51.48894 - ], - [ - -0.50203, - 51.53945 - ], - [ - -0.5278, - 51.55474 - ], - [ - -0.53166, - 51.5611 - ], - [ - -0.53569, - 51.57289 - ], - [ - -0.53596, - 51.5778 - ], - [ - -0.53455, - 51.58275 - ], - [ - -0.53376, - 51.58792 - ], - [ - -0.51516, - 51.6337 - ], - [ - -0.49776, - 51.65205 - ], - [ - -0.4901, - 51.66912 - ], - [ - -0.45924, - 51.67692 - ], - [ - -0.44684, - 51.69442 - ], - [ - -0.42579, - 51.71213 - ], - [ - -0.39306, - 51.715 - ], - [ - -0.38079, - 51.71654 - ], - [ - -0.34459, - 51.70948 - ], - [ - -0.2838, - 51.71515 - ], - [ - -0.26707, - 51.71395 - ], - [ - -0.23509, - 51.69056 - ], - [ - -0.22093, - 51.68445 - ], - [ - -0.17729, - 51.68441 - ], - [ - -0.10644, - 51.69165 - ], - [ - -0.05899, - 51.68257 - ], - [ - 0.02324, - 51.678 - ], - [ - 0.0691, - 51.68854 - ], - [ - 0.10856, - 51.68336 - ], - [ - 0.19863, - 51.65015 - ], - [ - 0.25714, - 51.61353 - ], - [ - 0.28187, - 51.57813 - ], - [ - 0.29039, - 51.55903 - ], - [ - 0.26811, - 51.50265 - ], - [ - 0.26882, - 51.49783 - ], - [ - 0.26782, - 51.49042 - ], - [ - 0.2659, - 51.47443 - ], - [ - 0.25509, - 51.46053 - ], - [ - 0.23586, - 51.44791 - ], - [ - 0.23926, - 51.43251 - ] - ] - ] - } - }, - united_kingdom: { - type: "Feature", - id: "united_kingdom", - properties: { - name: "United Kingdom", - source: "OpenStreetMap" - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -7.24863, - 55.06999 - ], - [ - -6.96705, - 55.19847 - ], - [ - -6.59182, - 55.36664 - ], - [ - -9.93166, - 58.01975 - ], - [ - 0.32957, - 61.43878 - ], - [ - 2.43894, - 51.64531 - ], - [ - 0.72508, - 50.42953 - ], - [ - -7.66848, - 49.03788 - ], - [ - -5.93264, - 51.46771 - ], - [ - -5.4053, - 53.54032 - ], - [ - -6.07527, - 54.0096 - ], - [ - -6.28173, - 54.11135 - ], - [ - -6.309, - 54.10669 - ], - [ - -6.31788, - 54.09098 - ], - [ - -6.33629, - 54.09472 - ], - [ - -6.33993, - 54.11189 - ], - [ - -6.3662, - 54.11374 - ], - [ - -6.36237, - 54.0766 - ], - [ - -6.37492, - 54.06914 - ], - [ - -6.37907, - 54.06909 - ], - [ - -6.37911, - 54.06907 - ], - [ - -6.37918, - 54.06902 - ], - [ - -6.39105, - 54.05885 - ], - [ - -6.41198, - 54.06306 - ], - [ - -6.44345, - 54.05649 - ], - [ - -6.45607, - 54.07252 - ], - [ - -6.47779, - 54.07709 - ], - [ - -6.4713, - 54.0663 - ], - [ - -6.51051, - 54.05268 - ], - [ - -6.53187, - 54.05968 - ], - [ - -6.55772, - 54.04917 - ], - [ - -6.58643, - 54.05757 - ], - [ - -6.59499, - 54.04462 - ], - [ - -6.62381, - 54.03646 - ], - [ - -6.66426, - 54.06917 - ], - [ - -6.66202, - 54.09283 - ], - [ - -6.64506, - 54.096 - ], - [ - -6.66127, - 54.12266 - ], - [ - -6.64886, - 54.12138 - ], - [ - -6.63961, - 54.13187 - ], - [ - -6.63436, - 54.16317 - ], - [ - -6.66539, - 54.19316 - ], - [ - -6.70601, - 54.20005 - ], - [ - -6.72106, - 54.18197 - ], - [ - -6.74076, - 54.18192 - ], - [ - -6.75617, - 54.19926 - ], - [ - -6.77562, - 54.19895 - ], - [ - -6.80097, - 54.21317 - ], - [ - -6.80042, - 54.2211 - ], - [ - -6.81617, - 54.22302 - ], - [ - -6.82774, - 54.26149 - ], - [ - -6.87804, - 54.27924 - ], - [ - -6.87229, - 54.28794 - ], - [ - -6.859, - 54.28191 - ], - [ - -6.85087, - 54.29728 - ], - [ - -6.87594, - 54.34641 - ], - [ - -6.90626, - 54.3503 - ], - [ - -6.91129, - 54.37474 - ], - [ - -6.93074, - 54.37575 - ], - [ - -6.9237, - 54.38284 - ], - [ - -6.95963, - 54.39221 - ], - [ - -6.98165, - 54.40946 - ], - [ - -6.99601, - 54.40538 - ], - [ - -7.0291, - 54.42137 - ], - [ - -7.05724, - 54.41108 - ], - [ - -7.07234, - 54.38839 - ], - [ - -7.10979, - 54.36824 - ], - [ - -7.10388, - 54.35574 - ], - [ - -7.15344, - 54.33501 - ], - [ - -7.18882, - 54.33765 - ], - [ - -7.17974, - 54.32046 - ], - [ - -7.17949, - 54.30924 - ], - [ - -7.19789, - 54.31106 - ], - [ - -7.21219, - 54.29962 - ], - [ - -7.17302, - 54.28613 - ], - [ - -7.17937, - 54.2726 - ], - [ - -7.16092, - 54.27371 - ], - [ - -7.14225, - 54.25559 - ], - [ - -7.15893, - 54.24396 - ], - [ - -7.14594, - 54.23957 - ], - [ - -7.14503, - 54.22473 - ], - [ - -7.17104, - 54.2176 - ], - [ - -7.18808, - 54.22492 - ], - [ - -7.1986, - 54.21578 - ], - [ - -7.22085, - 54.21581 - ], - [ - -7.23182, - 54.20557 - ], - [ - -7.24806, - 54.20446 - ], - [ - -7.24915, - 54.19817 - ], - [ - -7.233, - 54.19784 - ], - [ - -7.25942, - 54.19225 - ], - [ - -7.25828, - 54.17737 - ], - [ - -7.24028, - 54.1697 - ], - [ - -7.25812, - 54.16451 - ], - [ - -7.26296, - 54.13741 - ], - [ - -7.29195, - 54.11911 - ], - [ - -7.30891, - 54.13211 - ], - [ - -7.28551, - 54.13626 - ], - [ - -7.30149, - 54.14421 - ], - [ - -7.28379, - 54.15386 - ], - [ - -7.27997, - 54.16797 - ], - [ - -7.2913, - 54.17196 - ], - [ - -7.33956, - 54.14672 - ], - [ - -7.30533, - 54.12336 - ], - [ - -7.31867, - 54.11329 - ], - [ - -7.32713, - 54.12458 - ], - [ - -7.34602, - 54.11645 - ], - [ - -7.3632, - 54.1316 - ], - [ - -7.39181, - 54.12013 - ], - [ - -7.37279, - 54.13963 - ], - [ - -7.42078, - 54.13705 - ], - [ - -7.40959, - 54.15646 - ], - [ - -7.44192, - 54.15409 - ], - [ - -7.46841, - 54.14081 - ], - [ - -7.47919, - 54.12227 - ], - [ - -7.5281, - 54.13574 - ], - [ - -7.54738, - 54.12214 - ], - [ - -7.56576, - 54.12659 - ], - [ - -7.57454, - 54.14151 - ], - [ - -7.61043, - 54.14378 - ], - [ - -7.62966, - 54.1703 - ], - [ - -7.66425, - 54.18797 - ], - [ - -7.67659, - 54.18196 - ], - [ - -7.68829, - 54.20197 - ], - [ - -7.68543, - 54.20776 - ], - [ - -7.7394, - 54.20353 - ], - [ - -7.74858, - 54.20942 - ], - [ - -7.80368, - 54.20707 - ], - [ - -7.81173, - 54.20073 - ], - [ - -7.86017, - 54.21728 - ], - [ - -7.86046, - 54.26026 - ], - [ - -7.87322, - 54.27945 - ], - [ - -7.86187, - 54.29343 - ], - [ - -7.88087, - 54.29188 - ], - [ - -7.9017, - 54.30143 - ], - [ - -7.91095, - 54.29595 - ], - [ - -7.9616, - 54.31247 - ], - [ - -8.00093, - 54.35846 - ], - [ - -8.03129, - 54.35671 - ], - [ - -8.05733, - 54.36572 - ], - [ - -8.08416, - 54.39741 - ], - [ - -8.16026, - 54.44028 - ], - [ - -8.14291, - 54.45092 - ], - [ - -8.17751, - 54.46476 - ], - [ - -8.11467, - 54.46903 - ], - [ - -8.11324, - 54.4764 - ], - [ - -8.09148, - 54.47653 - ], - [ - -8.09868, - 54.48433 - ], - [ - -8.08933, - 54.48708 - ], - [ - -8.04265, - 54.48763 - ], - [ - -8.04185, - 54.50638 - ], - [ - -8.00601, - 54.54594 - ], - [ - -7.9703, - 54.54705 - ], - [ - -7.94973, - 54.53363 - ], - [ - -7.85055, - 54.53313 - ], - [ - -7.82402, - 54.54427 - ], - [ - -7.83325, - 54.55223 - ], - [ - -7.79659, - 54.57163 - ], - [ - -7.79341, - 54.58188 - ], - [ - -7.76212, - 54.58588 - ], - [ - -7.75151, - 54.59878 - ], - [ - -7.69725, - 54.61007 - ], - [ - -7.70877, - 54.63495 - ], - [ - -7.74165, - 54.61797 - ], - [ - -7.75797, - 54.62503 - ], - [ - -7.77236, - 54.62149 - ], - [ - -7.81366, - 54.64411 - ], - [ - -7.82828, - 54.63305 - ], - [ - -7.85213, - 54.63078 - ], - [ - -7.85669, - 54.65057 - ], - [ - -7.89164, - 54.65594 - ], - [ - -7.9099, - 54.66828 - ], - [ - -7.91381, - 54.67596 - ], - [ - -7.89766, - 54.68701 - ], - [ - -7.92089, - 54.69596 - ], - [ - -7.91804, - 54.70282 - ], - [ - -7.8796, - 54.70269 - ], - [ - -7.83665, - 54.73642 - ], - [ - -7.81761, - 54.73378 - ], - [ - -7.8047, - 54.7186 - ], - [ - -7.78875, - 54.71964 - ], - [ - -7.75006, - 54.70428 - ], - [ - -7.73551, - 54.71683 - ], - [ - -7.7116, - 54.72611 - ], - [ - -7.69723, - 54.72356 - ], - [ - -7.63657, - 54.75151 - ], - [ - -7.60944, - 54.74415 - ], - [ - -7.59117, - 54.74438 - ], - [ - -7.57919, - 54.75047 - ], - [ - -7.57865, - 54.74191 - ], - [ - -7.5698, - 54.74384 - ], - [ - -7.54826, - 54.74101 - ], - [ - -7.53859, - 54.751 - ], - [ - -7.54804, - 54.75711 - ], - [ - -7.54795, - 54.78835 - ], - [ - -7.52847, - 54.80757 - ], - [ - -7.47096, - 54.8348 - ], - [ - -7.44188, - 54.87561 - ], - [ - -7.45258, - 54.89849 - ], - [ - -7.44727, - 54.93524 - ], - [ - -7.39202, - 54.94545 - ], - [ - -7.4072, - 54.95521 - ], - [ - -7.4027, - 54.96689 - ], - [ - -7.40705, - 54.98294 - ], - [ - -7.39135, - 54.99774 - ], - [ - -7.40558, - 55.00332 - ], - [ - -7.37023, - 55.03476 - ], - [ - -7.34516, - 55.05083 - ], - [ - -7.31828, - 55.04507 - ], - [ - -7.29947, - 55.0561 - ], - [ - -7.28944, - 55.04771 - ], - [ - -7.27251, - 55.06357 - ], - [ - -7.24863, - 55.06999 - ] - ] - ] - } - }, - canada_full: { - type: "Feature", - id: "canada_full", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -140.99854, - 69.64945 - ], - [ - -120.9375, - 78.7335 - ], - [ - -91.05469, - 82.7432 - ], - [ - -75.58594, - 83.40004 - ], - [ - -63.45703, - 83.15311 - ], - [ - -59.32617, - 82.37915 - ], - [ - -63.76465, - 81.42049 - ], - [ - -67.19238, - 80.79583 - ], - [ - -73.21289, - 78.85307 - ], - [ - -74.9707, - 76.33114 - ], - [ - -61.34766, - 70.75797 - ], - [ - -50.1416, - 46.67959 - ], - [ - -65.98389, - 42.85181 - ], - [ - -66.95892, - 44.48769 - ], - [ - -66.9397, - 44.81692 - ], - [ - -67.13745, - 45.15493 - ], - [ - -67.26379, - 45.18591 - ], - [ - -67.31873, - 45.1278 - ], - [ - -67.43958, - 45.21881 - ], - [ - -67.44507, - 45.58329 - ], - [ - -67.79114, - 45.67164 - ], - [ - -67.78015, - 47.07012 - ], - [ - -68.19763, - 47.35743 - ], - [ - -68.39539, - 47.35743 - ], - [ - -68.37891, - 47.29413 - ], - [ - -68.90625, - 47.17478 - ], - [ - -69.06006, - 47.23449 - ], - [ - -69.08203, - 47.43552 - ], - [ - -69.22485, - 47.46524 - ], - [ - -70.00488, - 46.70974 - ], - [ - -70.05981, - 46.41514 - ], - [ - -70.18066, - 46.36209 - ], - [ - -70.3125, - 46.21025 - ], - [ - -70.24658, - 46.14178 - ], - [ - -70.3125, - 45.97406 - ], - [ - -70.26855, - 45.91294 - ], - [ - -70.42236, - 45.80583 - ], - [ - -70.42236, - 45.72152 - ], - [ - -70.71899, - 45.49865 - ], - [ - -70.62012, - 45.38302 - ], - [ - -70.80688, - 45.4293 - ], - [ - -70.85083, - 45.22848 - ], - [ - -71.00464, - 45.3367 - ], - [ - -71.1145, - 45.25169 - ], - [ - -71.26831, - 45.29035 - ], - [ - -71.41113, - 45.24395 - ], - [ - -71.5155, - 45.0153 - ], - [ - -74.81689, - 45.0153 - ], - [ - -75.31128, - 44.84808 - ], - [ - -75.7782, - 44.51218 - ], - [ - -75.82214, - 44.4377 - ], - [ - -76.43188, - 44.09942 - ], - [ - -76.79993, - 43.63011 - ], - [ - -78.68683, - 43.63806 - ], - [ - -79.19495, - 43.45292 - ], - [ - -79.07204, - 43.26521 - ], - [ - -79.05693, - 43.25671 - ], - [ - -79.04594, - 43.13807 - ], - [ - -79.06998, - 43.12103 - ], - [ - -79.06311, - 43.11652 - ], - [ - -79.05693, - 43.10951 - ], - [ - -79.07616, - 43.08393 - ], - [ - -79.07684, - 43.07691 - ], - [ - -79.01505, - 43.06839 - ], - [ - -78.99719, - 43.05785 - ], - [ - -79.02672, - 43.02071 - ], - [ - -79.01779, - 42.98456 - ], - [ - -78.98003, - 42.97099 - ], - [ - -78.96423, - 42.95843 - ], - [ - -78.93402, - 42.95542 - ], - [ - -78.91136, - 42.93883 - ], - [ - -78.90518, - 42.90011 - ], - [ - -78.93127, - 42.82361 - ], - [ - -80.07935, - 42.38289 - ], - [ - -81.27686, - 42.20818 - ], - [ - -82.39197, - 41.68112 - ], - [ - -82.68311, - 41.67701 - ], - [ - -83.07861, - 41.86547 - ], - [ - -83.15552, - 42.03909 - ], - [ - -83.12531, - 42.12064 - ], - [ - -83.13904, - 42.23462 - ], - [ - -83.07587, - 42.31185 - ], - [ - -82.98523, - 42.33418 - ], - [ - -82.81219, - 42.37478 - ], - [ - -82.63916, - 42.56117 - ], - [ - -82.59521, - 42.54903 - ], - [ - -82.52655, - 42.61375 - ], - [ - -82.41669, - 43.00063 - ], - [ - -82.13379, - 43.59631 - ], - [ - -82.51831, - 45.34442 - ], - [ - -83.59772, - 45.82114 - ], - [ - -83.43567, - 45.99696 - ], - [ - -83.57162, - 46.10847 - ], - [ - -83.65402, - 46.12275 - ], - [ - -83.76663, - 46.10466 - ], - [ - -83.82843, - 46.11989 - ], - [ - -83.89984, - 46.06084 - ], - [ - -83.95615, - 46.05989 - ], - [ - -83.974, - 46.1018 - ], - [ - -84.00833, - 46.11609 - ], - [ - -84.00696, - 46.14559 - ], - [ - -84.07974, - 46.18934 - ], - [ - -84.10995, - 46.24065 - ], - [ - -84.0976, - 46.25585 - ], - [ - -84.11545, - 46.26724 - ], - [ - -84.12094, - 46.31564 - ], - [ - -84.10309, - 46.32038 - ], - [ - -84.13467, - 46.36115 - ], - [ - -84.14841, - 46.42082 - ], - [ - -84.10995, - 46.50359 - ], - [ - -84.12781, - 46.531 - ], - [ - -84.14085, - 46.53241 - ], - [ - -84.17313, - 46.52722 - ], - [ - -84.19373, - 46.54092 - ], - [ - -84.226, - 46.53525 - ], - [ - -84.26582, - 46.49603 - ], - [ - -84.2926, - 46.49225 - ], - [ - -84.34135, - 46.50595 - ], - [ - -84.37225, - 46.50879 - ], - [ - -84.44023, - 46.49036 - ], - [ - -84.47662, - 46.45489 - ], - [ - -84.55353, - 46.45867 - ], - [ - -84.76776, - 46.62492 - ], - [ - -84.84741, - 46.88272 - ], - [ - -88.38501, - 48.31243 - ], - [ - -89.32983, - 47.96786 - ], - [ - -93.21899, - 48.64743 - ], - [ - -93.80127, - 48.5166 - ], - [ - -93.83423, - 48.63291 - ], - [ - -94.6637, - 48.75257 - ], - [ - -94.8175, - 49.32691 - ], - [ - -95.15259, - 49.38595 - ], - [ - -95.15533, - 49.00184 - ], - [ - -123.31879, - 49.00004 - ], - [ - -122.99469, - 48.7761 - ], - [ - -123.2666, - 48.69096 - ], - [ - -123.11279, - 48.37815 - ], - [ - -123.44238, - 48.22467 - ], - [ - -124.7168, - 48.49477 - ], - [ - -128.49609, - 48.74895 - ], - [ - -131.2207, - 53.61858 - ], - [ - -130.75928, - 54.73731 - ], - [ - -129.99023, - 55.27912 - ], - [ - -130.07813, - 56.10881 - ], - [ - -131.74805, - 56.63206 - ], - [ - -135.53833, - 59.80063 - ], - [ - -137.47192, - 58.90465 - ], - [ - -138.67493, - 59.78958 - ], - [ - -138.6969, - 59.90822 - ], - [ - -139.20227, - 60.09772 - ], - [ - -139.08142, - 60.35141 - ], - [ - -139.71863, - 60.33239 - ], - [ - -139.98779, - 60.18523 - ], - [ - -140.46021, - 60.30791 - ], - [ - -140.52063, - 60.22618 - ], - [ - -141.01501, - 60.30519 - ], - [ - -140.99854, - 69.64945 - ] - ] - ] - } - }, - ottawa_gatineau: { - type: "Feature", - id: "ottawa_gatineau", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -76.23413, - 45.50827 - ], - [ - -76.12839, - 45.55829 - ], - [ - -75.26184, - 45.58041 - ], - [ - -75.13412, - 45.39652 - ], - [ - -75.42938, - 45.32512 - ], - [ - -75.35385, - 45.17816 - ], - [ - -75.82489, - 44.93564 - ], - [ - -76.34537, - 45.36855 - ], - [ - -76.23413, - 45.50827 - ] - ] - ] - } - }, - vancouver_metro: { - type: "Feature", - id: "vancouver_metro", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -123.32, - 49 - ], - [ - -123.45, - 49.38 - ], - [ - -123.26, - 49.47 - ], - [ - -122.24, - 49.27 - ], - [ - -122.2, - 49 - ], - [ - -123.32, - 49 - ] - ] - ] - } - }, - cuba: { - type: "Feature", - id: "cuba", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -85.5, - 21.75 - ], - [ - -83.5, - 23.5 - ], - [ - -80, - 23.5 - ], - [ - -73.5, - 20.4 - ], - [ - -74.5, - 19.5 - ], - [ - -78, - 19.5 - ], - [ - -85.5, - 21.75 - ] - ] - ] - } - }, - nicaragua: { - type: "Feature", - id: "nicaragua", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -88, - 13 - ], - [ - -87.56104, - 13.13298 - ], - [ - -87.36877, - 12.99921 - ], - [ - -86.97876, - 13.02597 - ], - [ - -86.88538, - 13.28272 - ], - [ - -86.7041, - 13.29876 - ], - [ - -86.77002, - 13.76873 - ], - [ - -86.31409, - 13.77407 - ], - [ - -86.1438, - 14.046 - ], - [ - -86.01746, - 14.05133 - ], - [ - -85.75378, - 13.89141 - ], - [ - -85.16602, - 14.31761 - ], - [ - -84.96277, - 14.80144 - ], - [ - -84.4574, - 14.63674 - ], - [ - -83.39722, - 15.03499 - ], - [ - -82.5, - 14.9 - ], - [ - -82.8, - 12 - ], - [ - -83.676, - 10.95 - ], - [ - -83.66, - 10.8 - ], - [ - -83.92, - 10.7 - ], - [ - -84.688, - 11.076 - ], - [ - -84.91, - 10.945 - ], - [ - -85.615, - 11.215 - ], - [ - -85.7, - 11.06 - ], - [ - -86, - 11.06 - ], - [ - -88, - 13 - ] - ] - ] - } - }, - boston_metro: { - type: "Feature", - id: "boston_metro", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -70.5, - 41.91 - ], - [ - -71, - 41.91 - ], - [ - -71.42, - 42.05 - ], - [ - -71.57, - 42.18 - ], - [ - -71.64, - 42.4 - ], - [ - -71.57, - 42.52 - ], - [ - -71.35, - 42.64 - ], - [ - -71.1, - 42.7 - ], - [ - -70.5, - 42.7 - ], - [ - -70.5, - 41.91 - ] - ] - ] - } - }, - central_pa: { - type: "Feature", - id: "central_pa", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -78.7, - 41.5 - ], - [ - -77, - 41.5 - ], - [ - -76, - 40 - ], - [ - -76, - 39.72 - ], - [ - -79.3, - 39.72 - ], - [ - -78.7, - 41.5 - ] - ] - ] - } - }, - chattanooga: { - type: "Feature", - id: "chattanooga", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -85.634, - 34.743 - ], - [ - -85.634, - 35.282 - ], - [ - -84.933, - 35.282 - ], - [ - -84.933, - 34.743 - ], - [ - -85.634, - 34.743 - ] - ] - ] - } - }, - cleveland: { - type: "Feature", - id: "cleveland", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -82.5, - 41.5 - ], - [ - -80.95, - 42 - ], - [ - -80.95, - 41 - ], - [ - -82.5, - 41 - ], - [ - -82.5, - 41.5 - ] - ] - ] - } - }, - colorado: { - type: "Feature", - id: "colorado", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -109.05, - 37 - ], - [ - -109.05, - 41 - ], - [ - -102.05, - 41 - ], - [ - -102.05, - 37 - ], - [ - -109.05, - 37 - ] - ] - ] - } - }, - dc_metro: { - type: "Feature", - id: "dc_metro", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -77.04437, - 38.70266 - ], - [ - -77.27783, - 38.69409 - ], - [ - -77.57172, - 38.91668 - ], - [ - -77.61017, - 39.1258 - ], - [ - -77.27509, - 39.21523 - ], - [ - -77.08694, - 39.21204 - ], - [ - -76.87546, - 39.05119 - ], - [ - -76.69968, - 38.97863 - ], - [ - -76.71066, - 38.77657 - ], - [ - -76.84662, - 38.7048 - ], - [ - -77.04437, - 38.70266 - ] - ] - ] - } - }, - dfw_metro: { - type: "Feature", - id: "dfw_metro", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -97.75, - 32.25 - ], - [ - -97.75, - 33.4 - ], - [ - -96, - 33.4 - ], - [ - -96, - 32.25 - ], - [ - -97.75, - 32.25 - ] - ] - ] - } - }, - grand_junction_co: { - type: "Feature", - id: "grand_junction_co", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -109, - 39.4 - ], - [ - -108.1, - 39.4 - ], - [ - -107.8, - 39.16 - ], - [ - -107.8, - 38.7 - ], - [ - -108.1, - 38.5 - ], - [ - -109, - 39 - ], - [ - -109, - 39.4 - ] - ] - ] - } - }, - la_metro: { - type: "Feature", - id: "la_metro", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -118.5, - 33.7 - ], - [ - -118.68, - 34.23 - ], - [ - -118.5, - 34.35 - ], - [ - -118, - 34.2 - ], - [ - -117.3, - 34.2 - ], - [ - -117.2, - 34.1 - ], - [ - -117.37, - 33.9 - ], - [ - -117.74, - 33.5 - ], - [ - -118.5, - 33.7 - ] - ] - ] - } - }, - minneapolis_st_paul_metro: { - type: "Feature", - id: "minneapolis_st_paul_metro", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -93.801, - 44.578 - ], - [ - -93.801, - 45.348 - ], - [ - -92.666, - 45.348 - ], - [ - -92.666, - 44.578 - ], - [ - -93.801, - 44.578 - ] - ] - ] - } - }, - mt_vernon_wa: { - type: "Feature", - id: "mt_vernon_wa", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -123.3, - 49 - ], - [ - -122, - 49 - ], - [ - -122, - 48 - ], - [ - -123.2, - 48.4 - ], - [ - -123.3, - 49 - ] - ] - ] - } - }, - nyc_metro: { - type: "Feature", - id: "nyc_metro", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -74.73, - 40.64 - ], - [ - -73.95, - 41.38 - ], - [ - -73.6, - 40.95 - ], - [ - -73.25, - 41 - ], - [ - -73.25, - 40.6 - ], - [ - -74.43, - 40.43 - ], - [ - -74.73, - 40.64 - ] - ] - ] - } - }, - philly_metro: { - type: "Feature", - id: "philly_metro", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -75.7, - 40.3 - ], - [ - -75.3, - 40.4 - ], - [ - -74.7, - 40.3 - ], - [ - -74.45, - 40.1 - ], - [ - -74.9, - 39.55 - ], - [ - -75.5, - 39.55 - ], - [ - -75.8, - 39.7218 - ], - [ - -76.23, - 39.7211 - ], - [ - -75.7, - 40.3 - ] - ] - ] - } - }, - phoenix: { - type: "Feature", - id: "phoenix", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -113, - 32.7 - ], - [ - -113, - 34 - ], - [ - -111.1, - 34 - ], - [ - -111.1, - 32.7 - ], - [ - -113, - 32.7 - ] - ] - ] - } - }, - portland_me: { - type: "Feature", - id: "portland_me", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -70.5, - 42.9 - ], - [ - -71, - 43.3 - ], - [ - -71, - 44.2 - ], - [ - -69.6, - 44.5 - ], - [ - -69, - 44 - ], - [ - -70.5, - 42.9 - ] - ] - ] - } - }, - portland_or: { - type: "Feature", - id: "portland_or", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -124.4, - 44.8 - ], - [ - -124.4, - 46.3 - ], - [ - -121.5, - 46.3 - ], - [ - -121.5, - 44.8 - ], - [ - -124.4, - 44.8 - ] - ] - ] - } - }, - salt_lake_city: { - type: "Feature", - id: "salt_lake_city", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -112.6, - 40.75 - ], - [ - -112.3, - 41.4 - ], - [ - -111.5, - 41.4 - ], - [ - -111.1, - 40.3 - ], - [ - -112, - 39.75 - ], - [ - -112.6, - 40.75 - ] - ] - ] - } - }, - seattle: { - type: "Feature", - id: "seattle", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -122.15, - 47.26 - ], - [ - -122.33, - 47.26 - ], - [ - -122.54, - 47.33 - ], - [ - -122.52, - 47.46 - ], - [ - -122.45, - 47.55 - ], - [ - -122.45, - 47.8 - ], - [ - -121.2, - 47.8 - ], - [ - -121.43, - 47.38 - ], - [ - -121.43, - 47.14 - ], - [ - -121.94, - 47.14 - ], - [ - -122, - 47.17 - ], - [ - -122, - 47.17 - ], - [ - -122.1, - 47.19 - ], - [ - -122.15, - 47.26 - ] - ] - ] - } - }, - sf_bay_area: { - type: "Feature", - id: "sf_bay_area", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -123.5, - 38.5 - ], - [ - -122.8, - 38.8 - ], - [ - -121.7, - 38.2 - ], - [ - -121.5, - 36.9 - ], - [ - -123, - 36.9 - ], - [ - -123.5, - 38.5 - ] - ] - ] - } - }, - south_sf_bay_area: { - type: "Feature", - id: "south_sf_bay_area", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -121.4566, - 37.48249 - ], - [ - -121.21628, - 37.17673 - ], - [ - -121.20529, - 36.95757 - ], - [ - -121.49368, - 36.95757 - ], - [ - -121.5596, - 36.8928 - ], - [ - -121.98257, - 37.12419 - ], - [ - -122.27234, - 37.39635 - ], - [ - -122.13501, - 37.48903 - ], - [ - -121.4566, - 37.48249 - ] - ] - ] - } - }, - st_louis: { - type: "Feature", - id: "st_louis", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -90.28, - 39.1 - ], - [ - -89.57, - 39.05 - ], - [ - -89.57, - 38.18 - ], - [ - -90.58, - 38 - ], - [ - -91.37, - 38.2 - ], - [ - -91.37, - 38.75 - ], - [ - -90.28, - 39.1 - ] - ] - ] - } - }, - tampa_bay: { - type: "Feature", - id: "tampa_bay", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -83, - 28.2 - ], - [ - -82.2, - 28.2 - ], - [ - -82.2, - 27.55 - ], - [ - -83, - 27.55 - ], - [ - -83, - 28.2 - ] - ] - ] - } - }, - usa_full: { - type: "Feature", - id: "usa_full", - properties: { - }, - geometry: { - type: "MultiPolygon", - coordinates: [ - [ - [ - [ - -124.76179, - 48.41301 - ], - [ - -123.22752, - 48.18499 - ], - [ - -123.32289, - 49.00429 - ], - [ - -96.01312, - 49.00605 - ], - [ - -95.11054, - 49.412 - ], - [ - -93.99811, - 49.00671 - ], - [ - -89.43531, - 47.98378 - ], - [ - -88.34922, - 48.29633 - ], - [ - -87.50645, - 48.01427 - ], - [ - -83.2814, - 46.13885 - ], - [ - -82.17616, - 43.58854 - ], - [ - -82.66248, - 41.68895 - ], - [ - -79.00601, - 42.80053 - ], - [ - -79.15798, - 43.44626 - ], - [ - -78.76239, - 43.62496 - ], - [ - -76.90231, - 43.80246 - ], - [ - -75.07988, - 44.98029 - ], - [ - -72.02225, - 45.00598 - ], - [ - -71.41227, - 45.25488 - ], - [ - -70.46149, - 46.21766 - ], - [ - -69.25051, - 47.51223 - ], - [ - -67.75966, - 47.099 - ], - [ - -66.94528, - 44.71049 - ], - [ - -69.84893, - 43.26199 - ], - [ - -69.87974, - 40.99205 - ], - [ - -72.00202, - 40.99125 - ], - [ - -74.02112, - 39.57279 - ], - [ - -75.41474, - 35.05319 - ], - [ - -80.02453, - 32.01613 - ], - [ - -79.89011, - 26.85507 - ], - [ - -80.02, - 24.0071 - ], - [ - -84.01601, - 24.00527 - ], - [ - -84.01656, - 25.01258 - ], - [ - -81.99666, - 25.01349 - ], - [ - -81.9972, - 25.98268 - ], - [ - -84.01879, - 28.99618 - ], - [ - -86.02775, - 30.00475 - ], - [ - -88.01625, - 30.00389 - ], - [ - -88.01567, - 28.99443 - ], - [ - -90.90285, - 28.85645 - ], - [ - -93.74053, - 29.47421 - ], - [ - -95.55633, - 28.58761 - ], - [ - -96.80617, - 27.79782 - ], - [ - -96.95553, - 25.98216 - ], - [ - -97.43502, - 25.8266 - ], - [ - -98.01091, - 25.9928 - ], - [ - -99.23511, - 26.4476 - ], - [ - -100.00624, - 28.00822 - ], - [ - -101.25529, - 29.48105 - ], - [ - -102.1514, - 29.74757 - ], - [ - -102.71736, - 29.39206 - ], - [ - -103.25189, - 28.89087 - ], - [ - -104.58819, - 29.69979 - ], - [ - -105.02053, - 30.5361 - ], - [ - -106.20525, - 31.4467 - ], - [ - -106.28689, - 31.56133 - ], - [ - -106.42932, - 31.75206 - ], - [ - -106.48421, - 31.74645 - ], - [ - -106.53072, - 31.78209 - ], - [ - -108.18711, - 31.77551 - ], - [ - -108.19927, - 31.326 - ], - [ - -111.00893, - 31.33601 - ], - [ - -114.86123, - 32.47999 - ], - [ - -117.67593, - 32.46302 - ], - [ - -119.97759, - 33.00641 - ], - [ - -122.53697, - 36.85661 - ], - [ - -124.99343, - 40.05576 - ], - [ - -124.60595, - 45.90245 - ], - [ - -124.76179, - 48.41301 - ] - ] - ], - [ - [ - [ - -160.57876, - 22.50629 - ], - [ - -159.00937, - 22.50702 - ], - [ - -157.50474, - 21.9985 - ], - [ - -156.29276, - 21.22259 - ], - [ - -154.68902, - 19.88057 - ], - [ - -154.62178, - 18.7587 - ], - [ - -155.99619, - 18.77902 - ], - [ - -157.50832, - 20.9958 - ], - [ - -158.74706, - 21.24398 - ], - [ - -160.57822, - 21.49846 - ], - [ - -160.57876, - 22.50629 - ] - ] - ], - [ - [ - [ - -167.1572, - 68.722 - ], - [ - -164.9717, - 68.9947 - ], - [ - -163.0218, - 69.9707 - ], - [ - -160.4136, - 70.7398 - ], - [ - -156.1769, - 71.5633 - ], - [ - -140.9684, - 69.9535 - ], - [ - -140.9874, - 61.0119 - ], - [ - -139.1716, - 60.4127 - ], - [ - -138.0072, - 59.9918 - ], - [ - -135.123, - 59.7566 - ], - [ - -131.9759, - 56.9995 - ], - [ - -130.0071, - 57.0001 - ], - [ - -130.0044, - 54.0043 - ], - [ - -133.9948, - 54.0032 - ], - [ - -138.515, - 57.9986 - ], - [ - -138.516, - 58.9953 - ], - [ - -151.5013, - 58.992 - ], - [ - -151.5003, - 57.9988 - ], - [ - -151.9963, - 55.9992 - ], - [ - -158.0191, - 55.0028 - ], - [ - -159.0076, - 55.0025 - ], - [ - -162.4025, - 53.9567 - ], - [ - -171.4689, - 51.8215 - ], - [ - -177.9993, - 51.2554 - ], - [ - -178.0001, - 52.2446 - ], - [ - -173.8197, - 59.7401 - ], - [ - -172.5143, - 63.8767 - ], - [ - -169.0075, - 64.9988 - ], - [ - -169.0087, - 66.0015 - ], - [ - -168.0022, - 66.0018 - ], - [ - -164.8554, - 67.0255 - ], - [ - -167.1572, - 68.722 - ] - ] - ], - [ - [ - [ - -68.2, - 17.8 - ], - [ - -67.9, - 18.67 - ], - [ - -65.33, - 18.57 - ], - [ - -64.64, - 18.36 - ], - [ - -64.32, - 17.38 - ], - [ - -68.2, - 17.8 - ] - ] - ], - [ - [ - [ - 146.2, - 15.4 - ], - [ - 144.8, - 12.9 - ], - [ - 144.2, - 13.2 - ], - [ - 145.7, - 15.6 - ], - [ - 146.2, - 15.4 - ] - ] - ], - [ - [ - [ - 180, - 52.2 - ], - [ - 180, - 51 - ], - [ - 172, - 52.5 - ], - [ - 172, - 53.5 - ], - [ - 180, - 52.2 - ] - ] - ] - ] - } - }, - wyoming: { - type: "Feature", - id: "wyoming", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -111.05, - 41 - ], - [ - -111.05, - 45 - ], - [ - -104.05, - 45 - ], - [ - -104.05, - 41 - ], - [ - -111.05, - 41 - ] - ] - ] - } - }, - australia_full: { - type: "Feature", - id: "australia_full", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - 146.07422, - -44.43378 - ], - [ - 131.66016, - -44.65302 - ], - [ - 124.54102, - -41.44273 - ], - [ - 116.45508, - -39.36828 - ], - [ - 108.80859, - -39.16414 - ], - [ - 103.18359, - -27.60567 - ], - [ - 95.27344, - -24.04646 - ], - [ - 96.30615, - -11.15685 - ], - [ - 106.25977, - -9.92557 - ], - [ - 116.47705, - -13.98738 - ], - [ - 122.77222, - -11.65224 - ], - [ - 126.43066, - -11.48002 - ], - [ - 129.26514, - -9.92557 - ], - [ - 134.89014, - -9.92557 - ], - [ - 139.46045, - -10.14193 - ], - [ - 141.55334, - -9.99861 - ], - [ - 141.7868, - -9.77132 - ], - [ - 142.229, - -9.67115 - ], - [ - 142.72614, - -9.552 - ], - [ - 143.30017, - -9.39216 - ], - [ - 144.24774, - -9.24851 - ], - [ - 144.44824, - -9.59533 - ], - [ - 149.5459, - -12.68321 - ], - [ - 154.90723, - -18.02053 - ], - [ - 156.42334, - -21.55528 - ], - [ - 158.02734, - -24.68695 - ], - [ - 160.0708, - -26.03704 - ], - [ - 167.34375, - -26.6671 - ], - [ - 170.354, - -29.11378 - ], - [ - 168.2666, - -30.63791 - ], - [ - 160.15869, - -34.03445 - ], - [ - 152.18262, - -38.41056 - ], - [ - 149.94141, - -43.51669 - ], - [ - 146.07422, - -44.43378 - ] - ] - ] - } - }, - argentina: { - type: "Feature", - id: "argentina", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -73.14602, - -49.18818 - ], - [ - -72.91615, - -48.93261 - ], - [ - -72.53201, - -48.80072 - ], - [ - -72.58755, - -48.48542 - ], - [ - -72.22624, - -48.32339 - ], - [ - -72.49784, - -47.96155 - ], - [ - -72.33315, - -47.44938 - ], - [ - -71.86801, - -47.23376 - ], - [ - -71.94851, - -46.80983 - ], - [ - -71.64665, - -46.68783 - ], - [ - -71.79939, - -46.19141 - ], - [ - -71.6147, - -45.97522 - ], - [ - -71.79762, - -45.62288 - ], - [ - -71.46813, - -45.4921 - ], - [ - -71.32472, - -45.306 - ], - [ - -71.56043, - -44.97863 - ], - [ - -72.04094, - -44.90019 - ], - [ - -72.07396, - -44.78023 - ], - [ - -71.46969, - -44.73753 - ], - [ - -71.23704, - -44.79082 - ], - [ - -71.13226, - -44.4711 - ], - [ - -71.36469, - -44.38958 - ], - [ - -71.80731, - -44.42036 - ], - [ - -71.84736, - -44.11002 - ], - [ - -71.64902, - -43.94552 - ], - [ - -71.75129, - -43.78527 - ], - [ - -71.60784, - -43.62836 - ], - [ - -71.93082, - -43.45685 - ], - [ - -71.76157, - -43.1645 - ], - [ - -72.14281, - -42.8979 - ], - [ - -72.1812, - -42.69735 - ], - [ - -72.023, - -42.41766 - ], - [ - -72.17288, - -42.14043 - ], - [ - -71.72931, - -42.12447 - ], - [ - -71.91021, - -41.34113 - ], - [ - -71.8196, - -41.06038 - ], - [ - -71.96387, - -40.71955 - ], - [ - -71.8414, - -40.4521 - ], - [ - -71.65704, - -40.36426 - ], - [ - -71.82818, - -40.20778 - ], - [ - -71.59266, - -39.90123 - ], - [ - -71.67811, - -39.56486 - ], - [ - -71.39497, - -39.34179 - ], - [ - -71.42542, - -38.92164 - ], - [ - -70.92524, - -38.76298 - ], - [ - -70.84044, - -38.54138 - ], - [ - -70.97623, - -38.44222 - ], - [ - -70.98292, - -38.10477 - ], - [ - -71.21191, - -37.68901 - ], - [ - -71.11983, - -37.4585 - ], - [ - -71.21555, - -37.27261 - ], - [ - -71.09237, - -37.11444 - ], - [ - -71.11982, - -36.69792 - ], - [ - -71.03513, - -36.47333 - ], - [ - -70.71285, - -36.42687 - ], - [ - -70.70501, - -36.27229 - ], - [ - -70.42451, - -36.15581 - ], - [ - -70.38755, - -35.60868 - ], - [ - -70.43201, - -35.31842 - ], - [ - -70.58358, - -35.27831 - ], - [ - -70.36203, - -35.13645 - ], - [ - -70.21683, - -34.61145 - ], - [ - -70.01089, - -34.41389 - ], - [ - -70.03094, - -34.28805 - ], - [ - -69.79507, - -34.24304 - ], - [ - -69.90417, - -33.77143 - ], - [ - -69.7705, - -33.3611 - ], - [ - -70.00282, - -33.32294 - ], - [ - -70.08089, - -33.02919 - ], - [ - -70.00121, - -32.8846 - ], - [ - -70.17038, - -32.62555 - ], - [ - -70.14899, - -32.46585 - ], - [ - -70.31918, - -32.27335 - ], - [ - -70.35277, - -32.0257 - ], - [ - -70.2106, - -31.95769 - ], - [ - -70.46072, - -31.84116 - ], - [ - -70.56691, - -31.60016 - ], - [ - -70.49734, - -31.12216 - ], - [ - -70.40805, - -31.16633 - ], - [ - -70.23998, - -30.61575 - ], - [ - -70.11719, - -30.43102 - ], - [ - -69.89853, - -30.35557 - ], - [ - -69.87492, - -29.7043 - ], - [ - -70.01808, - -29.38321 - ], - [ - -69.78724, - -29.13008 - ], - [ - -69.68114, - -28.47172 - ], - [ - -69.45679, - -28.18357 - ], - [ - -69.17254, - -27.97088 - ], - [ - -68.94231, - -27.52325 - ], - [ - -68.8412, - -27.15464 - ], - [ - -68.29854, - -27.0389 - ], - [ - -68.2638, - -26.91623 - ], - [ - -68.58734, - -26.49294 - ], - [ - -68.55754, - -26.2871 - ], - [ - -68.38108, - -26.17822 - ], - [ - -68.57599, - -25.42894 - ], - [ - -68.4999, - -25.16149 - ], - [ - -68.34279, - -25.1124 - ], - [ - -68.56789, - -24.79739 - ], - [ - -68.26201, - -24.40457 - ], - [ - -67.32231, - -24.0344 - ], - [ - -66.99052, - -23.00044 - ], - [ - -67.18066, - -22.8138 - ], - [ - -67.02827, - -22.54089 - ], - [ - -66.78247, - -22.43778 - ], - [ - -66.73899, - -22.23893 - ], - [ - -66.28793, - -22.08605 - ], - [ - -66.24277, - -21.79408 - ], - [ - -66.07589, - -21.83493 - ], - [ - -65.74764, - -22.10912 - ], - [ - -64.99322, - -22.08239 - ], - [ - -64.53579, - -22.29137 - ], - [ - -64.29933, - -22.86509 - ], - [ - -64.24332, - -22.56039 - ], - [ - -63.93139, - -22 - ], - [ - -62.80617, - -22 - ], - [ - -62.7913, - -22.16193 - ], - [ - -62.3009, - -22.48659 - ], - [ - -62.20671, - -22.70418 - ], - [ - -61.73612, - -23.23432 - ], - [ - -61.08824, - -23.61393 - ], - [ - -60.9899, - -23.81808 - ], - [ - -60.37353, - -24.024 - ], - [ - -60.03941, - -24.01156 - ], - [ - -59.47554, - -24.33261 - ], - [ - -59.35397, - -24.47821 - ], - [ - -58.67243, - -24.83192 - ], - [ - -58.24167, - -24.92801 - ], - [ - -57.76089, - -25.17193 - ], - [ - -57.555, - -25.4484 - ], - [ - -57.74064, - -25.65045 - ], - [ - -57.89112, - -25.9662 - ], - [ - -58.08473, - -26.11185 - ], - [ - -58.22103, - -26.41403 - ], - [ - -58.18996, - -26.64518 - ], - [ - -58.31991, - -26.85821 - ], - [ - -58.64913, - -27.12662 - ], - [ - -58.59905, - -27.29984 - ], - [ - -57.87482, - -27.27527 - ], - [ - -57.48754, - -27.44418 - ], - [ - -56.96564, - -27.50202 - ], - [ - -56.84926, - -27.6063 - ], - [ - -56.60117, - -27.42102 - ], - [ - -56.3749, - -27.58903 - ], - [ - -56.29432, - -27.42003 - ], - [ - -56.06276, - -27.306 - ], - [ - -55.73692, - -27.44516 - ], - [ - -55.6057, - -27.16241 - ], - [ - -55.42284, - -26.99528 - ], - [ - -54.78695, - -26.63111 - ], - [ - -54.61874, - -26.20893 - ], - [ - -54.67933, - -25.99524 - ], - [ - -54.65698, - -25.67619 - ], - [ - -54.5842, - -25.58952 - ], - [ - -54.4812, - -25.62543 - ], - [ - -54.108, - -25.495 - ], - [ - -53.86217, - -25.65902 - ], - [ - -53.83619, - -25.97166 - ], - [ - -53.6411, - -26.21559 - ], - [ - -53.73094, - -26.5097 - ], - [ - -53.67249, - -26.91252 - ], - [ - -53.84355, - -27.16453 - ], - [ - -53.959, - -27.15804 - ], - [ - -54.21736, - -27.38603 - ], - [ - -54.673, - -27.57 - ], - [ - -54.814, - -27.533 - ], - [ - -54.936, - -27.772 - ], - [ - -55.38728, - -27.98524 - ], - [ - -55.76677, - -28.23982 - ], - [ - -55.69902, - -28.42637 - ], - [ - -55.88091, - -28.4715 - ], - [ - -56.29651, - -28.80272 - ], - [ - -56.42475, - -29.07897 - ], - [ - -56.59315, - -29.12516 - ], - [ - -56.70164, - -29.35913 - ], - [ - -57.328, - -29.972 - ], - [ - -57.64923, - -30.20184 - ], - [ - -57.63687, - -30.33197 - ], - [ - -57.85924, - -30.47701 - ], - [ - -57.8096, - -30.91332 - ], - [ - -58.08141, - -31.45457 - ], - [ - -57.98082, - -31.58691 - ], - [ - -58.20653, - -31.86773 - ], - [ - -58.10645, - -32.24002 - ], - [ - -58.20464, - -32.46055 - ], - [ - -58.0841, - -32.99782 - ], - [ - -58.36693, - -33.12177 - ], - [ - -58.49375, - -33.57857 - ], - [ - -58.29507, - -34.17809 - ], - [ - -57.9345, - -34.4519 - ], - [ - -55.9, - -35.6 - ], - [ - -57, - -39 - ], - [ - -61, - -41 - ], - [ - -63.5, - -55 - ], - [ - -66.67094, - -55.11906 - ], - [ - -67.27285, - -54.90511 - ], - [ - -67.95071, - -54.87373 - ], - [ - -68.60967, - -54.91369 - ], - [ - -68.60676, - -52.65902 - ], - [ - -68.41869, - -52.3325 - ], - [ - -69.19014, - -52.15044 - ], - [ - -69.48632, - -52.15165 - ], - [ - -69.9955, - -52.00074 - ], - [ - -71.92259, - -51.99991 - ], - [ - -72.29907, - -51.69791 - ], - [ - -72.28621, - -50.65987 - ], - [ - -72.72636, - -50.61667 - ], - [ - -73.06995, - -50.78909 - ], - [ - -73.32848, - -50.5716 - ], - [ - -73.52199, - -50.15397 - ], - [ - -73.44481, - -49.79226 - ], - [ - -73.53933, - -49.49825 - ], - [ - -73.47299, - -49.20464 - ], - [ - -73.14602, - -49.18818 - ] - ] - ] - } - }, - bolivia: { - type: "Feature", - id: "bolivia", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -60.17487, - -16.26675 - ], - [ - -58.32092, - -16.31948 - ], - [ - -58.47336, - -16.74472 - ], - [ - -58.39371, - -17.18081 - ], - [ - -57.79152, - -17.55501 - ], - [ - -57.71187, - -17.73103 - ], - [ - -57.55463, - -18.22348 - ], - [ - -57.72079, - -18.89914 - ], - [ - -57.70775, - -19.0381 - ], - [ - -58.11768, - -19.75313 - ], - [ - -57.85675, - -19.96754 - ], - [ - -58.15338, - -20.15201 - ], - [ - -58.17535, - -19.83066 - ], - [ - -59.07074, - -19.28846 - ], - [ - -59.97025, - -19.29494 - ], - [ - -61.78848, - -19.65358 - ], - [ - -62.57401, - -21.99972 - ], - [ - -63.93082, - -22.00736 - ], - [ - -64.24942, - -22.60957 - ], - [ - -64.31808, - -22.8806 - ], - [ - -64.56528, - -22.36595 - ], - [ - -64.62021, - -22.21856 - ], - [ - -64.99649, - -22.08628 - ], - [ - -65.77446, - -22.10027 - ], - [ - -65.92552, - -21.93222 - ], - [ - -66.04774, - -21.91884 - ], - [ - -66.04225, - -21.86022 - ], - [ - -66.2273, - -21.78437 - ], - [ - -66.3121, - -22.1219 - ], - [ - -66.74057, - -22.23635 - ], - [ - -66.7955, - -22.44213 - ], - [ - -67.18002, - -22.81353 - ], - [ - -67.56351, - -22.90085 - ], - [ - -67.81174, - -22.87934 - ], - [ - -68.17566, - -21.3252 - ], - [ - -68.405, - -20.9499 - ], - [ - -68.54095, - -20.92681 - ], - [ - -68.55606, - -20.7285 - ], - [ - -68.43796, - -20.63857 - ], - [ - -68.74557, - -20.46369 - ], - [ - -68.72772, - -20.08173 - ], - [ - -68.56293, - -20.05077 - ], - [ - -68.53134, - -19.85779 - ], - [ - -68.69064, - -19.74667 - ], - [ - -68.41873, - -19.41544 - ], - [ - -68.9296, - -18.97448 - ], - [ - -69.12186, - -18.14128 - ], - [ - -69.46793, - -17.50852 - ], - [ - -69.46793, - -17.37489 - ], - [ - -69.63547, - -17.27787 - ], - [ - -69.01199, - -16.66053 - ], - [ - -69.03877, - -16.58487 - ], - [ - -68.93509, - -16.2061 - ], - [ - -69.16718, - -16.22259 - ], - [ - -69.40201, - -15.62634 - ], - [ - -69.13422, - -15.23516 - ], - [ - -69.35806, - -14.96933 - ], - [ - -68.97903, - -14.21979 - ], - [ - -68.87466, - -12.88745 - ], - [ - -68.65768, - -12.49088 - ], - [ - -69.57264, - -10.94456 - ], - [ - -68.74806, - -11.00835 - ], - [ - -68.75167, - -11.01762 - ], - [ - -68.75201, - -11.03716 - ], - [ - -68.76592, - -11.04963 - ], - [ - -68.70815, - -11.14253 - ], - [ - -68.54576, - -11.11036 - ], - [ - -68.24295, - -10.95872 - ], - [ - -68.08502, - -10.69165 - ], - [ - -67.86736, - -10.64036 - ], - [ - -67.71629, - -10.71459 - ], - [ - -67.6775, - -10.60341 - ], - [ - -67.65947, - -10.61792 - ], - [ - -67.58446, - -10.50402 - ], - [ - -67.43614, - -10.44966 - ], - [ - -67.40593, - -10.38314 - ], - [ - -67.31461, - -10.37774 - ], - [ - -67.32216, - -10.32438 - ], - [ - -67.1953, - -10.32277 - ], - [ - -67.18869, - -10.33983 - ], - [ - -67.17093, - -10.33814 - ], - [ - -66.57921, - -9.90392 - ], - [ - -65.86441, - -9.75981 - ], - [ - -65.56503, - -9.82477 - ], - [ - -65.44968, - -9.67318 - ], - [ - -65.29449, - -9.85589 - ], - [ - -65.39474, - -10.54722 - ], - [ - -65.35629, - -10.78474 - ], - [ - -65.2684, - -10.88658 - ], - [ - -65.29861, - -11.32656 - ], - [ - -65.14481, - -11.70939 - ], - [ - -64.36752, - -12.4587 - ], - [ - -63.67538, - -12.46675 - ], - [ - -61.64841, - -13.53453 - ], - [ - -61.06339, - -13.52919 - ], - [ - -60.4303, - -13.88608 - ], - [ - -60.23804, - -15.09864 - ], - [ - -60.57312, - -15.09599 - ], - [ - -60.24353, - -15.47221 - ], - [ - -60.17487, - -16.26675 - ] - ] - ] - } - }, - bahia: { - id: "bahia", - type: "Feature", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -46.26343, - -11.52309 - ], - [ - -46.40625, - -11.53923 - ], - [ - -46.51062, - -11.50425 - ], - [ - -46.604, - -11.3481 - ], - [ - -46.61224, - -11.25653 - ], - [ - -46.46668, - -11.1811 - ], - [ - -46.42822, - -11.02208 - ], - [ - -46.32935, - -10.9331 - ], - [ - -46.19751, - -10.65521 - ], - [ - -45.84045, - -10.47701 - ], - [ - -45.82672, - -10.35275 - ], - [ - -45.74707, - -10.34194 - ], - [ - -45.70038, - -10.26087 - ], - [ - -45.72784, - -10.15815 - ], - [ - -45.59326, - -10.09326 - ], - [ - -45.41199, - -10.43379 - ], - [ - -45.45593, - -10.55262 - ], - [ - -45.37903, - -10.72538 - ], - [ - -45.15381, - -10.8387 - ], - [ - -44.90112, - -10.90883 - ], - [ - -44.60999, - -10.66601 - ], - [ - -44.34631, - -10.54182 - ], - [ - -44.13757, - -10.63362 - ], - [ - -44.05518, - -10.39057 - ], - [ - -43.96179, - -10.42839 - ], - [ - -43.78601, - -10.15275 - ], - [ - -43.69263, - -10.03918 - ], - [ - -43.69812, - -9.95262 - ], - [ - -43.64868, - -9.82274 - ], - [ - -43.76404, - -9.76861 - ], - [ - -43.8794, - -9.54117 - ], - [ - -43.68713, - -9.41655 - ], - [ - -43.4729, - -9.24851 - ], - [ - -43.3081, - -9.37861 - ], - [ - -43.04443, - -9.36235 - ], - [ - -42.8302, - -9.60617 - ], - [ - -42.33581, - -9.31899 - ], - [ - -41.90735, - -9.23767 - ], - [ - -41.7865, - -9.09125 - ], - [ - -41.40198, - -8.71136 - ], - [ - -41.14929, - -8.70593 - ], - [ - -41.03943, - -8.83351 - ], - [ - -41.01471, - -8.82808 - ], - [ - -40.92407, - -8.83894 - ], - [ - -40.8197, - -9.07226 - ], - [ - -40.68237, - -9.14277 - ], - [ - -40.66864, - -9.26478 - ], - [ - -40.7428, - -9.30002 - ], - [ - -40.75653, - -9.42197 - ], - [ - -40.62744, - -9.47615 - ], - [ - -40.53131, - -9.41384 - ], - [ - -40.47363, - -9.39758 - ], - [ - -40.42694, - -9.34338 - ], - [ - -40.36102, - -9.37319 - ], - [ - -40.29785, - -9.09396 - ], - [ - -40.23468, - -9.04243 - ], - [ - -40.14679, - -9.10481 - ], - [ - -40.07813, - -9.05057 - ], - [ - -39.98749, - -9.05599 - ], - [ - -39.8996, - -8.95833 - ], - [ - -39.90509, - -8.82808 - ], - [ - -39.68262, - -8.77923 - ], - [ - -39.70459, - -8.67063 - ], - [ - -39.65241, - -8.65977 - ], - [ - -39.41345, - -8.50769 - ], - [ - -39.2926, - -8.54843 - ], - [ - -39.23492, - -8.6299 - ], - [ - -38.96576, - -8.76837 - ], - [ - -38.86963, - -8.76837 - ], - [ - -38.71307, - -8.83622 - ], - [ - -38.68835, - -8.90678 - ], - [ - -38.66913, - -8.98275 - ], - [ - -38.61694, - -8.96376 - ], - [ - -38.60596, - -8.86065 - ], - [ - -38.5675, - -8.81723 - ], - [ - -38.47687, - -8.84708 - ], - [ - -38.50983, - -8.94205 - ], - [ - -38.42194, - -9.037 - ], - [ - -38.33679, - -8.97461 - ], - [ - -38.28461, - -9.00716 - ], - [ - -38.31757, - -9.06684 - ], - [ - -38.21045, - -9.36235 - ], - [ - -38.04565, - -9.4599 - ], - [ - -38.02368, - -9.8498 - ], - [ - -37.89185, - -9.96885 - ], - [ - -37.74902, - -10.31492 - ], - [ - -37.8479, - -10.37977 - ], - [ - -37.78198, - -10.64981 - ], - [ - -37.93579, - -10.73617 - ], - [ - -38.13354, - -10.6822 - ], - [ - -38.26538, - -10.79014 - ], - [ - -38.02368, - -11.31848 - ], - [ - -37.73804, - -11.57691 - ], - [ - -37.3645, - -11.48002 - ], - [ - -38.50159, - -18.11975 - ], - [ - -39.65515, - -18.35453 - ], - [ - -40.25391, - -17.96828 - ], - [ - -40.23193, - -17.79053 - ], - [ - -40.61646, - -17.38209 - ], - [ - -40.51758, - -16.89917 - ], - [ - -40.13306, - -16.45716 - ], - [ - -39.90234, - -16.04581 - ], - [ - -40.68237, - -15.68651 - ], - [ - -41.08887, - -15.73939 - ], - [ - -41.35254, - -15.73939 - ], - [ - -41.37451, - -15.49603 - ], - [ - -41.80298, - -15.09334 - ], - [ - -42.04468, - -15.18878 - ], - [ - -43.24219, - -14.67925 - ], - [ - -43.50586, - -14.78551 - ], - [ - -43.92334, - -14.63674 - ], - [ - -43.7915, - -14.31761 - ], - [ - -44.35181, - -14.24309 - ], - [ - -44.65942, - -14.38148 - ], - [ - -45.78003, - -15.13576 - ], - [ - -46.10962, - -15.29478 - ], - [ - -46.06567, - -14.87047 - ], - [ - -45.92285, - -14.38148 - ], - [ - -46.24146, - -14.14723 - ], - [ - -46.32935, - -13.11158 - ], - [ - -46.38428, - -12.02858 - ], - [ - -46.26343, - -11.52309 - ] - ] - ] - } - }, - brazil: { - type: "Feature", - id: "brazil", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -51.56433, - 4.29711 - ], - [ - -28.4491, - 1.04914 - ], - [ - -37.67761, - -21.04862 - ], - [ - -52.94861, - -34.05721 - ], - [ - -53.56384, - -33.71063 - ], - [ - -53.58581, - -33.23409 - ], - [ - -53.16833, - -32.81036 - ], - [ - -54.11316, - -32.08723 - ], - [ - -55.73914, - -30.85036 - ], - [ - -56.11267, - -31.18931 - ], - [ - -56.11267, - -30.90694 - ], - [ - -57.0575, - -30.14988 - ], - [ - -57.23328, - -30.32073 - ], - [ - -57.73865, - -30.26381 - ], - [ - -55.98083, - -28.5411 - ], - [ - -54.94812, - -27.68839 - ], - [ - -53.80554, - -27.18136 - ], - [ - -53.7616, - -26.73089 - ], - [ - -53.87146, - -26.00249 - ], - [ - -54.20105, - -25.88394 - ], - [ - -54.6405, - -25.88394 - ], - [ - -54.28894, - -24.13171 - ], - [ - -55.43701, - -24.18685 - ], - [ - -55.87647, - -22.3704 - ], - [ - -58.07373, - -22.08564 - ], - [ - -58.24402, - -20.06109 - ], - [ - -57.71668, - -17.98396 - ], - [ - -58.43628, - -17.18278 - ], - [ - -58.50769, - -16.38866 - ], - [ - -60.1831, - -16.29905 - ], - [ - -60.26001, - -15.14637 - ], - [ - -60.49072, - -14.09396 - ], - [ - -60.94116, - -13.63531 - ], - [ - -61.85303, - -13.5926 - ], - [ - -63.58887, - -12.56529 - ], - [ - -64.22058, - -12.55992 - ], - [ - -65.20386, - -11.8996 - ], - [ - -65.4126, - -9.74154 - ], - [ - -66.82983, - -10.1203 - ], - [ - -68.17566, - -10.92501 - ], - [ - -70.6366, - -11.18379 - ], - [ - -70.6366, - -9.62783 - ], - [ - -71.42761, - -9.97426 - ], - [ - -72.74597, - -9.88769 - ], - [ - -73.97644, - -7.10634 - ], - [ - -72.70752, - -4.67498 - ], - [ - -70.15869, - -4.23686 - ], - [ - -69.67529, - -1.03266 - ], - [ - -70.19714, - 1.75205 - ], - [ - -67.56042, - 1.83989 - ], - [ - -66.94519, - 0.69761 - ], - [ - -63.78113, - 1.83989 - ], - [ - -64.84131, - 4.36832 - ], - [ - -63.25378, - 3.59566 - ], - [ - -60.24353, - 5.20584 - ], - [ - -60.03479, - 4.98698 - ], - [ - -59.57886, - 3.81493 - ], - [ - -59.89746, - 3.26118 - ], - [ - -60.05676, - 2.76199 - ], - [ - -59.9469, - 2.2626 - ], - [ - -59.77661, - 2.23515 - ], - [ - -59.77661, - 1.75754 - ], - [ - -58.64502, - 1.55987 - ], - [ - -55.87647, - 2.61384 - ], - [ - -53.10791, - 2.35041 - ], - [ - -51.56433, - 4.29711 - ] - ] - ] - } - }, - df_br: { - id: "df_br", - type: "Feature", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -48.20114, - -15.49868 - ], - [ - -47.42111, - -15.5 - ], - [ - -47.38953, - -15.56484 - ], - [ - -47.32361, - -15.58865 - ], - [ - -47.33047, - -15.63891 - ], - [ - -47.31125, - -15.73278 - ], - [ - -47.36755, - -15.83189 - ], - [ - -47.3703, - -15.927 - ], - [ - -47.36893, - -15.99698 - ], - [ - -47.30988, - -16.04317 - ], - [ - -48.27805, - -16.04713 - ], - [ - -48.24921, - -15.94152 - ], - [ - -48.2753, - -15.93096 - ], - [ - -48.29041, - -15.83189 - ], - [ - -48.22998, - -15.77772 - ], - [ - -48.21899, - -15.71163 - ], - [ - -48.24097, - -15.70898 - ], - [ - -48.23547, - -15.66535 - ], - [ - -48.22449, - -15.63097 - ], - [ - -48.20251, - -15.62568 - ], - [ - -48.20114, - -15.49868 - ] - ] - ] - } - }, - chile: { - type: "Feature", - id: "chile", - properties: { - }, - geometry: { - type: "MultiPolygon", - coordinates: [ - [ - [ - [ - -110, - -28 - ], - [ - -110, - -26 - ], - [ - -109, - -26 - ], - [ - -109, - -28 - ], - [ - -110, - -28 - ] - ], - [ - [ - -69.46999, - -17.50394 - ], - [ - -69.67049, - -17.66692 - ], - [ - -69.80164, - -17.65253 - ], - [ - -69.83047, - -17.71337 - ], - [ - -69.82704, - -17.75196 - ], - [ - -69.80919, - -17.8023 - ], - [ - -69.75494, - -17.98135 - ], - [ - -69.82018, - -18.1191 - ], - [ - -69.86618, - -18.17325 - ], - [ - -69.96918, - -18.26065 - ], - [ - -70.19165, - -18.33106 - ], - [ - -72.5, - -18.3 - ], - [ - -78, - -53 - ], - [ - -68, - -58 - ], - [ - -65.80412, - -55.20392 - ], - [ - -67.30412, - -54.90395 - ], - [ - -68.60412, - -54.90395 - ], - [ - -68.60412, - -52.65417 - ], - [ - -68.42212, - -52.39063 - ], - [ - -68.42268, - -52.33665 - ], - [ - -68.57786, - -52.32931 - ], - [ - -68.58833, - -52.31016 - ], - [ - -68.84205, - -52.28181 - ], - [ - -69.19421, - -52.15445 - ], - [ - -69.49016, - -52.15561 - ], - [ - -70.00412, - -52.00423 - ], - [ - -71.92097, - -52.00391 - ], - [ - -71.95221, - -51.97896 - ], - [ - -72.04212, - -51.96756 - ], - [ - -71.93324, - -51.91854 - ], - [ - -72.03255, - -51.8118 - ], - [ - -72.32412, - -51.60426 - ], - [ - -72.34531, - -50.65403 - ], - [ - -73.32687, - -50.52827 - ], - [ - -73.51742, - -49.89065 - ], - [ - -72.98733, - -48.99351 - ], - [ - -72.68005, - -48.89271 - ], - [ - -72.53174, - -48.77746 - ], - [ - -72.56195, - -48.50569 - ], - [ - -72.24472, - -48.34986 - ], - [ - -72.46788, - -47.7451 - ], - [ - -72.0504, - -47.34557 - ], - [ - -71.87325, - -47.12505 - ], - [ - -71.9426, - -46.81204 - ], - [ - -71.64974, - -46.68289 - ], - [ - -71.82037, - -46.1256 - ], - [ - -71.64459, - -46.00936 - ], - [ - -71.75291, - -45.55168 - ], - [ - -71.47104, - -45.49829 - ], - [ - -71.54383, - -45.40436 - ], - [ - -71.3895, - -45.35287 - ], - [ - -71.33354, - -45.28286 - ], - [ - -71.41148, - -45.19486 - ], - [ - -71.56494, - -44.98326 - ], - [ - -72.03323, - -44.88409 - ], - [ - -72.03495, - -44.76989 - ], - [ - -71.24908, - -44.80425 - ], - [ - -71.07056, - -44.47985 - ], - [ - -71.81213, - -44.30714 - ], - [ - -71.58417, - -43.64303 - ], - [ - -71.8856, - -43.45765 - ], - [ - -71.72596, - -43.19066 - ], - [ - -72.14344, - -42.90363 - ], - [ - -72.04765, - -42.54322 - ], - [ - -72.04182, - -42.40546 - ], - [ - -72.17194, - -42.14686 - ], - [ - -71.73051, - -42.11516 - ], - [ - -71.92612, - -40.72332 - ], - [ - -71.80252, - -40.42081 - ], - [ - -71.70639, - -40.425 - ], - [ - -71.66794, - -40.30571 - ], - [ - -71.77643, - -40.268 - ], - [ - -71.39465, - -38.92843 - ], - [ - -70.90816, - -38.67251 - ], - [ - -71.189, - -37.74167 - ], - [ - -71.04858, - -36.49087 - ], - [ - -70.95932, - -36.50246 - ], - [ - -70.37876, - -36.04743 - ], - [ - -70.43884, - -35.32549 - ], - [ - -70.58441, - -35.27646 - ], - [ - -70.53875, - -35.20551 - ], - [ - -70.3791, - -35.17241 - ], - [ - -69.87854, - -34.15614 - ], - [ - -69.8703, - -33.57458 - ], - [ - -69.78207, - -33.33282 - ], - [ - -69.86721, - -33.28663 - ], - [ - -69.99561, - -33.3268 - ], - [ - -70.08453, - -33.03716 - ], - [ - -70.3125, - -32.12562 - ], - [ - -70.22736, - -31.93934 - ], - [ - -70.46185, - -31.84548 - ], - [ - -70.53102, - -31.3724 - ], - [ - -70.07904, - -30.38828 - ], - [ - -69.88678, - -30.35747 - ], - [ - -69.81262, - -30.14869 - ], - [ - -69.93347, - -30.10118 - ], - [ - -69.94308, - -29.24087 - ], - [ - -68.78609, - -27.10803 - ], - [ - -68.56567, - -27.17525 - ], - [ - -68.25256, - -26.96492 - ], - [ - -68.57666, - -26.49147 - ], - [ - -68.5437, - -26.27987 - ], - [ - -68.37067, - -26.17639 - ], - [ - -68.48328, - -25.15399 - ], - [ - -68.32397, - -25.09928 - ], - [ - -68.5437, - -24.79047 - ], - [ - -68.46405, - -24.62829 - ], - [ - -68.24432, - -24.39338 - ], - [ - -67.32216, - -24.03768 - ], - [ - -66.98639, - -23.00012 - ], - [ - -67.17728, - -22.81416 - ], - [ - -67.55768, - -22.89642 - ], - [ - -67.81586, - -22.86099 - ], - [ - -68.19489, - -21.27018 - ], - [ - -68.405, - -20.93964 - ], - [ - -68.53546, - -20.8524 - ], - [ - -68.47504, - -20.64949 - ], - [ - -68.72772, - -20.46948 - ], - [ - -68.73322, - -20.38454 - ], - [ - -68.67279, - -20.34591 - ], - [ - -68.76549, - -20.08237 - ], - [ - -68.56842, - -20.05658 - ], - [ - -68.52997, - -19.85262 - ], - [ - -68.68309, - -19.72793 - ], - [ - -68.40225, - -19.41091 - ], - [ - -68.92548, - -18.97253 - ], - [ - -69.11087, - -18.1328 - ], - [ - -69.06143, - -18.06231 - ], - [ - -69.29352, - -17.96698 - ], - [ - -69.30931, - -17.9121 - ], - [ - -69.30794, - -17.83956 - ], - [ - -69.34708, - -17.7343 - ], - [ - -69.47205, - -17.61065 - ], - [ - -69.46999, - -17.50394 - ] - ] - ] - ] - } - }, - bogota: { - type: "Feature", - id: "bogota", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -74.38, - 4.7 - ], - [ - -74.17, - 5 - ], - [ - -73.75, - 5 - ], - [ - -73.9, - 4.37 - ], - [ - -74.25, - 4.31 - ], - [ - -74.38, - 4.7 - ] - ] - ] - } - }, - colombia: { - type: "Feature", - id: "colombia", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -75.8, - 11.8 - ], - [ - -71.3, - 12.7 - ], - [ - -70.9, - 11.9 - ], - [ - -71.98242, - 11.65762 - ], - [ - -72.2406, - 11.14607 - ], - [ - -72.45483, - 11.10295 - ], - [ - -72.8833, - 10.43379 - ], - [ - -72.94922, - 9.83898 - ], - [ - -73.31177, - 9.20514 - ], - [ - -72.99866, - 9.29189 - ], - [ - -72.94373, - 9.09125 - ], - [ - -72.76245, - 9.12379 - ], - [ - -72.65259, - 8.61633 - ], - [ - -72.39716, - 8.36098 - ], - [ - -72.34497, - 8.00484 - ], - [ - -72.4054, - 8.04563 - ], - [ - -72.49054, - 7.945 - ], - [ - -72.4411, - 7.89875 - ], - [ - -72.45209, - 7.53676 - ], - [ - -72.43835, - 7.40605 - ], - [ - -72.18567, - 7.38426 - ], - [ - -72.14996, - 7.32161 - ], - [ - -72.18018, - 7.24532 - ], - [ - -72.03461, - 7.0273 - ], - [ - -71.12, - 7.02457 - ], - [ - -71.09528, - 6.98641 - ], - [ - -70.9964, - 6.98641 - ], - [ - -70.77942, - 7.09817 - ], - [ - -70.5542, - 7.07636 - ], - [ - -70.30701, - 6.93461 - ], - [ - -70.11475, - 6.98095 - ], - [ - -69.43016, - 6.10778 - ], - [ - -69.34914, - 6.13987 - ], - [ - -69.31, - 6.0873 - ], - [ - -69.23378, - 6.08047 - ], - [ - -69.17404, - 6.15011 - ], - [ - -69.03877, - 6.22384 - ], - [ - -68.66455, - 6.14055 - ], - [ - -67.80762, - 6.288 - ], - [ - -67.45056, - 6.21155 - ], - [ - -67.47803, - 6.10232 - ], - [ - -67.40662, - 6.00946 - ], - [ - -67.60437, - 5.7909 - ], - [ - -67.63184, - 5.4629 - ], - [ - -67.82959, - 5.31524 - ], - [ - -67.79114, - 4.28068 - ], - [ - -67.62085, - 3.74915 - ], - [ - -67.5, - 3.78204 - ], - [ - -67.29126, - 3.36537 - ], - [ - -67.86255, - 2.82234 - ], - [ - -67.58789, - 2.79491 - ], - [ - -67.1759, - 2.33395 - ], - [ - -66.85181, - 1.23037 - ], - [ - -67.08801, - 1.16172 - ], - [ - -67.16766, - 1.83989 - ], - [ - -67.34894, - 1.97715 - ], - [ - -67.36816, - 2.22417 - ], - [ - -67.44781, - 2.21868 - ], - [ - -67.56866, - 2.054 - ], - [ - -67.80487, - 1.98813 - ], - [ - -67.91199, - 1.81793 - ], - [ - -68.18939, - 2.01009 - ], - [ - -68.2663, - 1.85087 - ], - [ - -68.16193, - 1.73008 - ], - [ - -69.83459, - 1.71361 - ], - [ - -69.8291, - 1.08209 - ], - [ - -69.19739, - 1.06561 - ], - [ - -69.15344, - 0.62621 - ], - [ - -69.48303, - 0.73057 - ], - [ - -69.79065, - 0.58776 - ], - [ - -70.02686, - 0.57128 - ], - [ - -70.04059, - -0.19226 - ], - [ - -69.60937, - -0.50262 - ], - [ - -69.55719, - -0.65367 - ], - [ - -69.61212, - -0.7498 - ], - [ - -69.41986, - -1.03541 - ], - [ - -69.40338, - -1.37041 - ], - [ - -69.9321, - -4.21974 - ], - [ - -69.94995, - -4.23275 - ], - [ - -70.06531, - -4.08071 - ], - [ - -70.1841, - -3.93893 - ], - [ - -70.28641, - -3.82246 - ], - [ - -70.35027, - -3.80054 - ], - [ - -70.50613, - -3.87796 - ], - [ - -70.71075, - -3.793 - ], - [ - -70.04883, - -2.75102 - ], - [ - -70.8783, - -2.23241 - ], - [ - -71.41113, - -2.37786 - ], - [ - -71.75171, - -2.19124 - ], - [ - -72.36694, - -2.48762 - ], - [ - -72.63336, - -2.36688 - ], - [ - -72.67456, - -2.4595 - ], - [ - -72.93274, - -2.4492 - ], - [ - -73.1813, - -2.22692 - ], - [ - -73.10028, - -2.0842 - ], - [ - -73.14697, - -1.79597 - ], - [ - -73.55347, - -1.69439 - ], - [ - -73.47382, - -1.55437 - ], - [ - -73.64136, - -1.26607 - ], - [ - -73.85834, - -1.22763 - ], - [ - -74.27582, - -0.97774 - ], - [ - -74.42139, - -0.51086 - ], - [ - -74.79492, - -0.23621 - ], - [ - -75.20142, - -0.06592 - ], - [ - -75.27832, - -0.12909 - ], - [ - -75.80566, - 0.04669 - ], - [ - -76.09955, - 0.32959 - ], - [ - -76.32751, - 0.42572 - ], - [ - -76.40991, - 0.37903 - ], - [ - -76.41266, - 0.23621 - ], - [ - -76.96198, - 0.27191 - ], - [ - -77.11029, - 0.36529 - ], - [ - -77.53601, - 0.40649 - ], - [ - -77.48383, - 0.65093 - ], - [ - -77.69257, - 0.73606 - ], - [ - -77.66441, - 0.81296 - ], - [ - -77.7166, - 0.85141 - ], - [ - -77.74544, - 0.83562 - ], - [ - -77.77565, - 0.83974 - ], - [ - -77.80861, - 0.82738 - ], - [ - -77.8196, - 0.80678 - ], - [ - -77.96173, - 0.82257 - ], - [ - -78.19794, - 0.94478 - ], - [ - -78.19931, - 0.99284 - ], - [ - -78.28308, - 1.05325 - ], - [ - -78.2515, - 1.08346 - ], - [ - -78.31741, - 1.19193 - ], - [ - -78.43002, - 1.1425 - ], - [ - -78.55499, - 1.2496 - ], - [ - -78.61816, - 1.24685 - ], - [ - -80, - 2.5 - ], - [ - -77.7, - 7.7 - ], - [ - -77.55524, - 7.51498 - ], - [ - -77.32178, - 7.87971 - ], - [ - -77.17896, - 7.93956 - ], - [ - -77.5, - 8.5 - ], - [ - -75.8, - 11.8 - ] - ] - ] - } - }, - ecuador: { - type: "Feature", - id: "ecuador", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -82, - -3 - ], - [ - -80, - 2.2 - ], - [ - -77.86079, - 0.80404 - ], - [ - -77.72072, - 0.85484 - ], - [ - -77.66287, - 0.81794 - ], - [ - -77.66424, - 0.80884 - ], - [ - -77.67385, - 0.80215 - ], - [ - -77.67729, - 0.79099 - ], - [ - -77.66184, - 0.78979 - ], - [ - -77.68587, - 0.77365 - ], - [ - -77.6972, - 0.74241 - ], - [ - -77.67523, - 0.73778 - ], - [ - -77.5573, - 0.65058 - ], - [ - -77.47353, - 0.6626 - ], - [ - -77.52159, - 0.44837 - ], - [ - -76.47583, - 0.20874 - ], - [ - -76.32202, - 0.4422 - ], - [ - -76.0199, - 0.30487 - ], - [ - -75.81665, - 0.09064 - ], - [ - -75.26733, - -0.1181 - ], - [ - -75.31265, - -0.16617 - ], - [ - -75.50629, - -0.21698 - ], - [ - -75.22888, - -0.56441 - ], - [ - -75.20279, - -0.97362 - ], - [ - -75.28931, - -0.99147 - ], - [ - -75.36072, - -0.95027 - ], - [ - -75.64087, - -1.62576 - ], - [ - -76.63376, - -2.59052 - ], - [ - -77.84637, - -3 - ], - [ - -78.2872, - -3.42158 - ], - [ - -79.01917, - -5.01844 - ], - [ - -79.24301, - -4.96581 - ], - [ - -79.62753, - -4.42656 - ], - [ - -79.79233, - -4.48954 - ], - [ - -80.12535, - -4.29784 - ], - [ - -80.36018, - -4.49775 - ], - [ - -80.44584, - -4.45086 - ], - [ - -80.44739, - -4.37692 - ], - [ - -80.33409, - -4.21841 - ], - [ - -80.45013, - -4.20968 - ], - [ - -80.44928, - -4.13024 - ], - [ - -80.48035, - -4.09445 - ], - [ - -80.47297, - -4.05079 - ], - [ - -80.44739, - -3.99719 - ], - [ - -80.39915, - -3.98281 - ], - [ - -80.29701, - -4.01843 - ], - [ - -80.12878, - -3.89718 - ], - [ - -80.16106, - -3.86704 - ], - [ - -80.19264, - -3.60256 - ], - [ - -80.21633, - -3.582 - ], - [ - -80.20706, - -3.54705 - ], - [ - -80.21745, - -3.5 - ], - [ - -80.22878, - -3.50181 - ], - [ - -80.2335, - -3.4899 - ], - [ - -80.2456, - -3.48759 - ], - [ - -80.24545, - -3.48481 - ], - [ - -80.24416, - -3.48461 - ], - [ - -80.24386, - -3.48247 - ], - [ - -80.24313, - -3.48142 - ], - [ - -80.24393, - -3.47881 - ], - [ - -80.24079, - -3.47723 - ], - [ - -80.2438, - -3.46463 - ], - [ - -80.22217, - -3.44047 - ], - [ - -80.25238, - -3.41 - ], - [ - -82, - -3 - ] - ] - ] - } - }, - paraguay: { - type: "Feature", - id: "paraguay", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -54.25873, - -24.35961 - ], - [ - -54.58403, - -25.58921 - ], - [ - -54.65681, - -25.67588 - ], - [ - -54.67916, - -25.99493 - ], - [ - -54.61857, - -26.20862 - ], - [ - -54.78678, - -26.6308 - ], - [ - -55.42267, - -26.99497 - ], - [ - -55.60553, - -27.1621 - ], - [ - -55.73675, - -27.44486 - ], - [ - -55.78857, - -27.44309 - ], - [ - -55.89775, - -27.34371 - ], - [ - -55.97809, - -27.35591 - ], - [ - -56.06259, - -27.30569 - ], - [ - -56.29415, - -27.41973 - ], - [ - -56.37473, - -27.58873 - ], - [ - -56.601, - -27.42072 - ], - [ - -56.84909, - -27.606 - ], - [ - -56.96547, - -27.50172 - ], - [ - -57.48737, - -27.44388 - ], - [ - -57.87465, - -27.27496 - ], - [ - -58.59888, - -27.29953 - ], - [ - -58.64896, - -27.12631 - ], - [ - -58.31974, - -26.8579 - ], - [ - -58.18979, - -26.64487 - ], - [ - -58.22086, - -26.41372 - ], - [ - -58.08456, - -26.11154 - ], - [ - -57.89095, - -25.96589 - ], - [ - -57.74047, - -25.65014 - ], - [ - -57.55483, - -25.44809 - ], - [ - -57.76072, - -25.17162 - ], - [ - -58.2415, - -24.9277 - ], - [ - -58.67226, - -24.83161 - ], - [ - -59.3538, - -24.4779 - ], - [ - -59.47537, - -24.3323 - ], - [ - -60.03924, - -24.01125 - ], - [ - -60.37336, - -24.02369 - ], - [ - -60.98973, - -23.81777 - ], - [ - -61.08807, - -23.61362 - ], - [ - -61.73595, - -23.234 - ], - [ - -62.20654, - -22.70386 - ], - [ - -62.30073, - -22.48627 - ], - [ - -62.64387, - -22.24906 - ], - [ - -62.26072, - -21.05983 - ], - [ - -62.26622, - -20.56305 - ], - [ - -61.92152, - -20.08915 - ], - [ - -61.73647, - -19.63289 - ], - [ - -59.97488, - -19.29332 - ], - [ - -59.06988, - -19.28619 - ], - [ - -58.20814, - -19.80515 - ], - [ - -57.83186, - -20.9842 - ], - [ - -57.92507, - -21.63334 - ], - [ - -57.88113, - -21.68734 - ], - [ - -57.90602, - -21.71294 - ], - [ - -57.97194, - -22.07832 - ], - [ - -56.81013, - -22.27099 - ], - [ - -56.56363, - -22.20044 - ], - [ - -56.49462, - -22.08659 - ], - [ - -56.39677, - -22.07641 - ], - [ - -56.26631, - -22.24811 - ], - [ - -56.01774, - -22.29259 - ], - [ - -55.8526, - -22.28227 - ], - [ - -55.78935, - -22.38413 - ], - [ - -55.74034, - -22.38913 - ], - [ - -55.75132, - -22.47989 - ], - [ - -55.7472, - -22.50653 - ], - [ - -55.72347, - -22.5514 - ], - [ - -55.69845, - -22.56298 - ], - [ - -55.69365, - -22.57788 - ], - [ - -55.62361, - -22.62986 - ], - [ - -55.38191, - -24.00601 - ], - [ - -54.65973, - -23.82806 - ], - [ - -54.31366, - -24.01762 - ], - [ - -54.25873, - -24.35961 - ] - ] - ] - } - }, - peru: { - type: "Feature", - id: "peru", - properties: { - }, - geometry: { - type: "Polygon", - coordinates: [ - [ - [ - -83, - -3 - ], - [ - -80.25238, - -3.41 - ], - [ - -80.22217, - -3.44047 - ], - [ - -80.2438, - -3.46463 - ], - [ - -80.24079, - -3.47723 - ], - [ - -80.24393, - -3.47881 - ], - [ - -80.24313, - -3.48142 - ], - [ - -80.24386, - -3.48247 - ], - [ - -80.24416, - -3.48461 - ], - [ - -80.24545, - -3.48481 - ], - [ - -80.2456, - -3.48759 - ], - [ - -80.2335, - -3.4899 - ], - [ - -80.22878, - -3.50181 - ], - [ - -80.21745, - -3.5001 - ], - [ - -80.20706, - -3.54705 - ], - [ - -80.21633, - -3.582 - ], - [ - -80.19264, - -3.60256 - ], - [ - -80.16106, - -3.86704 - ], - [ - -80.12878, - -3.89718 - ], - [ - -80.29701, - -4.01843 - ], - [ - -80.39915, - -3.98281 - ], - [ - -80.44739, - -3.99719 - ], - [ - -80.47297, - -4.05079 - ], - [ - -80.48035, - -4.09445 - ], - [ - -80.44928, - -4.13024 - ], - [ - -80.45013, - -4.20968 - ], - [ - -80.33409, - -4.21841 - ], - [ - -80.44739, - -4.37692 - ], - [ - -80.44584, - -4.45086 - ], - [ - -80.36018, - -4.49775 - ], - [ - -80.12535, - -4.29784 - ], - [ - -79.79233, - -4.48954 - ], - [ - -79.62753, - -4.42656 - ], - [ - -79.24301, - -4.96581 - ], - [ - -79.01917, - -5.01844 - ], - [ - -78.2872, - -3.42158 - ], - [ - -77.84637, - -3 - ], - [ - -76.63376, - -2.59052 - ], - [ - -75.64087, - -1.62576 - ], - [ - -75.36072, - -0.95027 - ], - [ - -75.56534, - -0.13806 - ], - [ - -75.15884, - -0.06665 - ], - [ - -74.40628, - -0.55553 - ], - [ - -72.92862, - -2.39505 - ], - [ - -70.9552, - -2.25162 - ], - [ - -70.02686, - -2.70987 - ], - [ - -70.70595, - -3.78478 - ], - [ - -70.49789, - -3.88142 - ], - [ - -70.32349, - -3.8088 - ], - [ - -69.95819, - -4.23211 - ], - [ - -69.94446, - -4.29784 - ], - [ - -69.99802, - -4.37316 - ], - [ - -70.10376, - -4.29164 - ], - [ - -70.19028, - -4.35946 - ], - [ - -71.82999, - -4.5662 - ], - [ - -72.86133, - -5.25507 - ], - [ - -73.94348, - -7.4932 - ], - [ - -72.19116, - -9.95803 - ], - [ - -70.61188, - -9.57638 - ], - [ - -70.62149, - -10.96681 - ], - [ - -69.57161, - -10.94557 - ], - [ - -68.65494, - -12.49629 - ], - [ - -69.01886, - -13.62196 - ], - [ - -68.83896, - -14.22445 - ], - [ - -69.38141, - -14.86251 - ], - [ - -69.14795, - -15.24444 - ], - [ - -69.39926, - -15.6151 - ], - [ - -69.19189, - -16.17449 - ], - [ - -69.10177, - -16.22555 - ], - [ - -68.96152, - -16.19456 - ], - [ - -68.78952, - -16.34254 - ], - [ - -68.98865, - -16.42357 - ], - [ - -69.04015, - -16.57368 - ], - [ - -69.01886, - -16.65198 - ], - [ - -69.61075, - -17.26542 - ], - [ - -69.46896, - -17.37423 - ], - [ - -69.46827, - -17.49919 - ], - [ - -69.66654, - -17.66071 - ], - [ - -69.81262, - -17.67281 - ], - [ - -69.75, - -18 - ], - [ - -70, - -18.27 - ], - [ - -75, - -19 - ], - [ - -83, - -3 - ] - ] - ] - } - } - }; - - var resources = { - "cape-coast-youthmappers": { - id: "cape-coast-youthmappers", - featureId: "cape_coast_gh", - type: "twitter", - name: "University of Cape Coast YouthMappers", - countryCodes: [ - "gh" - ], - languageCodes: [ - "en" - ], - description: "Follow us on Twitter: {url}", - extendedDescription: "This is the official handle for the Youth Mappers chapter of the University of Cape Coast, Ghana. we love maps, open data and helping the vulnerable.", - url: "https://twitter.com/YouthmappersUCC", - contacts: [ - { - name: "Enock Seth Nyamador", - email: "kwadzo459@gmail.com" - } - ] - }, - "osm-gh-facebook": { - id: "osm-gh-facebook", - featureId: "ghana", - type: "facebook", - name: "OpenStreetMap Ghana on Facebook", - countryCodes: [ - "gh" - ], - languageCodes: [ - "en" - ], - description: "Facebook group for people interested in OpenStreetMap.", - extendedDescription: "Mappers in Ghana community, promoting OpenStreetMap and Humanitarian OpenStreetMap Team (HOT) projects in Ghana. Join us.", - url: "https://www.facebook.com/OSMGhana/", - contacts: [ - { - name: "Enock Seth Nyamador", - email: "kwadzo459@gmail.com" - } - ] - }, - "osm-gh-twitter": { - id: "osm-gh-twitter", - featureId: "ghana", - type: "twitter", - name: "OpenStreetMap Ghana on Twitter", - countryCodes: [ - "gh" - ], - languageCodes: [ - "en" - ], - description: "Follow us on Twitter: {url}", - url: "https://twitter.com/osmghana", - contacts: [ - { - name: "Enock Seth Nyamador", - email: "kwadzo459@gmail.com" - } - ] - }, - "talk-gh": { - id: "talk-gh", - featureId: "ghana", - type: "mailinglist", - name: "Talk-gh Mailing List", - countryCodes: [ - "gh" - ], - languageCodes: [ - "en" - ], - description: "Talk-gh is the official mailing list for Ghana OSM community.", - url: "https://lists.openstreetmap.org/listinfo/talk-gh", - contacts: [ - { - name: "Enock Seth Nyamador", - email: "kwadzo459@gmail.com" - } - ] - }, - "osm-mg-facebook": { - id: "osm-mg-facebook", - featureId: "madagascar", - type: "facebook", - name: "OpenStreetMap Madagascar Facebook Group", - countryCodes: [ - "mg" - ], - languageCodes: [ - "mg", - "fr" - ], - description: "Malagasy Facebook group for people interested in OpenStreetMap.", - url: "https://www.facebook.com/groups/1601381123461284/", - contacts: [ - { - name: "Brice Ramamonjy", - email: "rafaby21@gmail.com" - }, - { - name: "Dolly Andriatsiferana", - email: "privatemajory@gmail.com" - } - ] - }, - "talk-mg": { - id: "talk-mg", - featureId: "madagascar", - type: "mailinglist", - countryCodes: [ - "mg" - ], - languageCodes: [ - "mg", - "fr" - ], - name: "Talk-mg Mailing List", - description: "Place for OpenStreetMap contributors, communities and users in Madagascar to share and discuss.", - url: "https://lists.openstreetmap.org/listinfo/talk-mg", - contacts: [ - { - name: "Brice Ramamonjy", - email: "rafaby21@gmail.com" - }, - { - name: "Dolly Andriatsiferana", - email: "privatemajory@gmail.com" - } - ] - }, - "OSM-BGD-facebook": { - id: "OSM-BGD-facebook", - featureId: "BGD", - type: "facebook", - name: "OpenStreetMap Bangladesh", - description: "Improve OpenStreetMap in Bangladesh", - extendedDescription: "Mapping in Bangladesh? Have questions, want to connect with the community here? Join us at {url}. All are welcome!", - url: "https://www.facebook.com/groups/osmbd/", - contacts: [ - { - name: "Ahasanul Hoque", - email: "hoque.ahasan@gmail.com" - } - ] - }, - "OSM-India-facebook": { - id: "OSM-India-facebook", - featureId: "india_full", - type: "facebook", - name: "OpenStreetMap India - Participatory neighborhood mapping", - description: "Improve OpenStreetMap in India", - extendedDescription: "Mapping in India? Have questions, want to connect with the community here? Join us at {url}. All are welcome!", - url: "https://www.facebook.com/groups/mappingindia/", - contacts: [ - { - name: "Jinal Foflia", - email: "fofliajinal@gmail.com" - }, - { - name: "Arun Ganesh", - email: "arun.planemad@gmail.com" - } - ], - events: [ - { - id: "sotmasia2018", - i18n: true, - name: "State of the Map Asia 2018", - description: "Join the 2018 OpenStreetMap region-wide event at State of the Map Asia in India", - where: "Indian Institute of Management, Bangalore, India", - when: "2018-11-17", - url: "http://stateofthemap.asia/" - } - ] - }, - "OSM-india-mailinglist": { - id: "OSM-india-mailinglist", - featureId: "india_full", - type: "mailinglist", - name: "OpenStreetMap India Mailinglist", - description: "Talk-in is the official Mailinglist for Indian Community", - url: "https://lists.openstreetmap.org/listinfo/talk-in", - contacts: [ - { - name: "Arun Ganesh", - email: "arun.planemad@gmail.com" - } - ] - }, - "OSM-india-twitter": { - id: "OSM-india-twitter", - featureId: "india_full", - type: "twitter", - name: "OpenStreetMap India Twitter", - description: "We are just a tweet away: {url}", - url: "https://twitter.com/osm_in", - contacts: [ - { - name: "Jinal Foflia", - email: "fofliajinal@gmail.com" - } - ] - }, - "OSM-India-Puducherry-Facebook": { - id: "OSM-India-Puducherry-Facebook", - featureId: "india_puducherry", - type: "facebook", - name: "Free Software Hardware Movement - Facebook", - description: "FSHM Facebook page to know about community events, activities", - extendedDescription: "FSHM organizes events relating to free software/hardware, technology, activism and OpenStreetMap. Its FB page is the best way to keep in contact with its events.", - url: "https://www.facebook.com/FSHMP", - contacts: [ - { - name: "Kamalavelan", - email: "sskamalavelan@gmail.com", - osm: "demonshreder" - }, - { - name: "Prasanna", - email: "prasmailme@gmail.com", - osm: "Prashere" - } - ] - }, - "OSM-India-Puducherry-Matrix": { - id: "OSM-India-Puducherry-Matrix", - featureId: "india_puducherry", - type: "matrix", - name: "Free Software Hardware Movement - Matrix", - description: "FSHM Riot group to discuss, share and update mapping activities, events in and around Puducherry", - extendedDescription: "FSHM community members share their OSM mapping updates / experiences through the Riot.im group, this group is also used to discuss things related to free software / hardware, technology and activism.", - url: "https://riot.im/app/#/room/#fshm:matrix.org", - contacts: [ - { - name: "Kamalavelan", - email: "sskamalavelan@gmail.com", - osm: "demonshreder" - }, - { - name: "Prasanna", - email: "prasmailme@gmail.com", - osm: "Prashere" - } - ] - }, - "OSM-IDN-facebook": { - id: "OSM-IDN-facebook", - featureId: "IDN", - type: "facebook", - name: "OpenStreetMap Indonesia", - description: "Improve OpenStreetMap in Indonesia", - extendedDescription: "Mapping in Indonesia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!", - url: "https://www.facebook.com/groups/osm.id/", - contacts: [ - { - name: "Yantisa Akhadi", - email: "yantisa.akhadi@hotosm.org" - } - ] - }, - "OSM-japan-facebook": { - id: "OSM-japan-facebook", - featureId: "japan", - type: "facebook", - name: "OpenStreetMap Japan Community", - countryCodes: [ - "jp" - ], - languageCodes: [ - "jp" - ], - description: "Mappers and OpenStreetMap users in Japan", - url: "https://www.facebook.com/groups/osmjapan/", - contacts: [ - { - name: "Satoshi IIDA", - email: "nyampire@gmail.com" - } - ] - }, - "OSM-japan-mailinglist": { - id: "OSM-japan-mailinglist", - featureId: "japan", - type: "mailinglist", - name: "OpenStreetMap Japan Mailinglist", - countryCodes: [ - "jp" - ], - languageCodes: [ - "jp" - ], - description: "Talk-ja is an Official Mailinglist for Japanese Community", - url: "https://lists.openstreetmap.org/listinfo/talk-ja", - contacts: [ - { - name: "OSMF Japan", - email: "info@osmf.jp" - } - ] - }, - "OSM-japan-twitter": { - id: "OSM-japan-twitter", - featureId: "japan", - type: "twitter", - name: "OpenStreetMap Japan Twitter", - countryCodes: [ - "jp" - ], - languageCodes: [ - "jp" - ], - description: "Hashtag on Twitter: {url}", - url: "https://twitter.com/hashtag/osmjp", - contacts: [ - { - name: "Satoshi IIDA", - email: "nyampire@gmail.com" - } - ] - }, - "OSM-japan-website": { - id: "OSM-japan-website", - featureId: "japan", - type: "group", - name: "OpenStreetMap Japan", - countryCodes: [ - "jp" - ], - languageCodes: [ - "jp" - ], - description: "Mappers and OpenStreetMap users in Japan", - url: "https://openstreetmap.jp/", - contacts: [ - { - name: "Satoshi IIDA", - email: "nyampire@gmail.com" - } - ] - }, - "OSM-korea-telegram": { - id: "OSM-korea-telegram", - featureId: "korea", - type: "telegram", - countryCodes: [ - "ko" - ], - languageCodes: [ - "ko", - "en" - ], - name: "OSM Korea Telegram Channel", - description: "Unofficial Channnel for OpenStreetMap contributors, communities and users in Korea to share and discuss.", - url: "https://t.me/osmKorea", - contacts: [ - { - name: "Yongmin Hong", - email: "lists@revi.pe.kr" - }, - { - name: "Max N", - email: "abonnements@revolwear.com" - } - ] - }, - "OSM-MY-facebook": { - id: "OSM-MY-facebook", - featureId: "malaysia", - type: "facebook", - countryCodes: [ - "my" - ], - languageCodes: [ - "ms", - "en" - ], - name: "OpenStreetMap Malaysia on Facebook", - description: "For chat about anything related to OpenStreetMap!", - url: "https://www.facebook.com/groups/openstreetmapMY/", - contacts: [ - { - name: "Mohd Saidin", - email: "projekopenstreetmap@hotmail.com" - } - ] - }, - "OSM-MY-forum": { - id: "OSM-MY-forum", - featureId: "malaysia", - type: "forum", - countryCodes: [ - "my" - ], - languageCodes: [ - "ms", - "en" - ], - name: "OpenStreetMap Malaysia Forum", - description: "Official OpenStreetMap Malaysia Forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=60", - contacts: [ - { - name: "Mohd Saidin", - email: "projekopenstreetmap@hotmail.com" - } - ] - }, - "OSM-MY-matrix": { - id: "OSM-MY-matrix", - featureId: "malaysia", - type: "matrix", - countryCodes: [ - "my" - ], - languageCodes: [ - "ms", - "en" - ], - name: "OpenStreetMap Malaysia Riot channel", - description: "All mappers are welcome! Sign up at {signupUrl}", - signupUrl: "https://riot.im/app/#/register", - url: "https://riot.im/app/#/room/#OpenstreetmapMalaysia:matrix.org", - contacts: [ - { - name: "Ahmad Amsyar", - email: "OfficiallyAhmad@protonmail.ch" - } - ] - }, - "OSM-MNG-facebook": { - id: "OSM-MNG-facebook", - featureId: "MNG", - type: "facebook", - name: "OpenStreetMap Mongolia", - description: "Improve OpenStreetMap in Mongolia", - extendedDescription: "Mapping in Mongolia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!", - url: "https://www.facebook.com/groups/OSM.Mongolia/", - contacts: [ - { - name: " ", - email: "talk-mn@openstreetmap.org" - } - ] - }, - "OSM-MMR-facebook": { - id: "OSM-MMR-facebook", - featureId: "MMR", - type: "facebook", - name: "OpenStreetMap Myanmar", - description: "Improve OpenStreetMap in Myanmar", - extendedDescription: "Mapping in Myanmar? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!", - url: "https://www.facebook.com/groups/osmmm/", - contacts: [ - { - name: "Yan Naung Oak", - email: "yan@phandeeyar.org" - }, - { - name: "Patrick Oswald", - email: "patrickoswald.omm@gmail.com" - }, - { - name: "Set Khaing Oo", - email: "setkhaing@phandeeyar.org" - } - ] - }, - "OSM-Nepal-facebook": { - id: "OSM-Nepal-facebook", - featureId: "NPL", - type: "facebook", - name: "OpenStreetMap Nepal", - description: "Improve OpenStreetMap in Nepal", - extendedDescription: "Mapping in Nepal? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!", - url: "https://www.facebook.com/groups/mapkathmandu/", - contacts: [ - { - name: "Kshitiz Khanal", - email: "khanal1990@gmail.com" - } - ] - }, - "OSM-PH-facebook": { - id: "OSM-PH-facebook", - featureId: "philippines", - type: "facebook", - countryCodes: [ - "ph" - ], - name: "OpenStreetMap PH Facebook", - description: "Welcome to OpenStreetMap Philippines, where we encourage all fellow Filipinos to contribute to the OpenStreetMap project.", - url: "https://www.facebook.com/OSMPH/", - contacts: [ - { - name: "Maning Sambale", - email: "emmanuel.sambale@gmail.com" - }, - { - name: "OSM PH Group", - email: "osm.pilipinas@gmail.com" - } - ] - }, - "OSM-PH-mailinglist": { - id: "OSM-PH-mailinglist", - featureId: "philippines", - type: "mailinglist", - countryCodes: [ - "ph" - ], - name: "Talk-ph Mailing List", - description: "A mailing list to discuss OpenStreetMap in the Philippines", - url: "https://lists.openstreetmap.org/pipermail/talk-ph/", - contacts: [ - { - name: "Maning Sambale", - email: "emmanuel.sambale@gmail.com" - }, - { - name: "OSM PH Group", - email: "osm.pilipinas@gmail.com" - } - ] - }, - "OSM-PH-slack": { - id: "OSM-PH-slack", - featureId: "philippines", - type: "slack", - countryCodes: [ - "ph" - ], - name: "OpenStreetMap PH Slack", - description: "All are welcome! Sign up at {signupUrl}", - signupUrl: "https://osmph-chat.herokuapp.com/", - url: "https://osmph.slack.com", - contacts: [ - { - name: "Maning Sambale", - email: "emmanuel.sambale@gmail.com" - }, - { - name: "OSM PH Group", - email: "osm.pilipinas@gmail.com" - } - ] - }, - "OSM-PH-telegram": { - id: "OSM-PH-telegram", - featureId: "philippines", - type: "telegram", - countryCodes: [ - "ph" - ], - languageCodes: [ - "tl", - "en" - ], - name: "OpenStreetMap PH Telegram", - description: "Un-official, Telegram local community of OpenStreetMap contributors and friends in the Philippines", - url: "https://t.me/osmph", - contacts: [ - { - name: "Erwin Olario", - email: "govvin@gmail.com" - }, - { - name: "OSM PH Group", - email: "osm.pilipinas@gmail.com" - } - ] - }, - "OSM-RU-forum": { - id: "OSM-RU-forum", - type: "forum", - featureId: "russia", - countryCodes: [ - "ru" - ], - languageCodes: [ - "ru" - ], - name: "OpenStreetMap RU forum", - description: "OpenStreetMap Russia web forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=21", - contacts: [ - { - name: "Ilya Zverev", - email: "ilya@zverev.info" - } - ] - }, - "OSM-RU-telegram": { - id: "OSM-RU-telegram", - type: "telegram", - featureId: "russia", - countryCodes: [ - "ru" - ], - languageCodes: [ - "ru" - ], - name: "OpenStreetMap RU telegram", - description: "OpenStreetMap Russia telegram chat", - url: "https://t.me/ruosm", - contacts: [ - { - name: "Ilya Zverev", - email: "ilya@zverev.info" - } - ] - }, - "OSM-LKA-facebook": { - id: "OSM-LKA-facebook", - featureId: "LKA", - type: "facebook", - name: "OpenStreetMap Sri Lanka", - description: "Improve OpenStreetMap in Sri Lanka", - extendedDescription: "Mapping in Sri Lanka? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!", - url: "https://www.facebook.com/groups/142058222659672/", - contacts: [ - { - name: "Karan Suthakaran", - email: "karansuthakaran@yahoo.com" - } - ] - }, - "OSM-TW-facebook": { - id: "OSM-TW-facebook", - featureId: "taiwan", - type: "facebook", - name: "OpenStreetMap Taiwan Community", - countryCodes: [ - "tw" - ], - languageCodes: [ - "zh-tw" - ], - description: "Facebook Group for Mappers and OpenStreetMap users to discuss matters about Taiwan.", - url: "https://www.facebook.com/groups/OpenStreetMap.TW/", - contacts: [ - { - name: "Nobody 沒有人 (Public mail)", - email: "hiboard@openstreetmap.tw" - } - ] - }, - "OSM-TW-mailinglist": { - id: "OSM-TW-mailinglist", - featureId: "taiwan", - type: "mailinglist", - name: "OpenStreetMap Taiwan Mailinglist", - countryCodes: [ - "tw" - ], - languageCodes: [ - "zh-tw", - "en" - ], - description: "Talk-tw is an Official Mailinglist for the Communities to dicuss matters about Taiwan", - url: "https://lists.openstreetmap.org/listinfo/talk-tw", - contacts: [ - { - name: "Nobody 沒有人 (Public email)", - email: "hiboard@openstreetmap.tw" - } - ] - }, - "OSM-TH-CNX-meetup": { - id: "OSM-TH-CNX-meetup", - featureId: "thailand_cnx", - type: "meetup", - countryCodes: [ - "th" - ], - languageCodes: [ - "en" - ], - name: "OSM Meetup Chiang Mai", - description: "Irregular meeting of the OpenStreetMap community in Chiang Mai", - extendedDescription: "Members of the OpenStreetMap community meet every few months in Chiang Mai. Get in contact and check out {url} to see when the next meetup is scheduled", - url: "https://forum.openstreetmap.org/viewforum.php?id=46", - contacts: [ - { - name: "Team Chiang Mai", - email: "meetup-cnx@openstreetmap.in.th" - } - ] - }, - "OSM-TH-forum": { - id: "OSM-TH-forum", - featureId: "thailand_full", - type: "forum", - countryCodes: [ - "th" - ], - languageCodes: [ - "en", - "th" - ], - name: "OpenStreetMap TH forum", - description: "OpenStreetMap Thailand web forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=46", - contacts: [ - { - name: "Stephan Knauss", - email: "osm@stephans-server.de" - } - ] - }, - "al-forum": { - id: "al-forum", - featureId: "albania", - type: "forum", - countryCodes: [ - "al" - ], - languageCodes: [ - "sq", - "en" - ], - name: "OSM Albania Forum", - description: "OpenStreetMap Albania Forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=91", - contacts: [ - { - name: "Jonathan Beliën", - email: "dev@jbelien.be" - }, - { - name: "Amanti Lulo", - email: "amanti.lulo@gmail.com" - } - ] - }, - "al-maptime-tirana": { - id: "al-maptime-tirana", - featureId: "al-tirana", - type: "group", - countryCodes: [ - "al" - ], - languageCodes: [ - "sq", - "en" - ], - name: "Maptime Tirana", - description: "Social events organized around mapping - beginners most welcome!", - extendedDescription: "Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time.", - url: "http://maptime.io/tirana/", - contacts: [ - { - name: "Jonathan Beliën", - email: "dev@jbelien.be" - }, - { - name: "Amanti Lulo", - email: "amanti.lulo@gmail.com" - } - ] - }, - "al-telegram": { - id: "al-telegram", - featureId: "albania", - type: "telegram", - countryCodes: [ - "al" - ], - languageCodes: [ - "sq", - "en" - ], - name: "OSM Albania Telegram channel", - description: "OpenStreetMap Albania Telegram channel", - url: "https://telegram.me/OpenStreetMapAL", - contacts: [ - { - name: "Jonathan Beliën", - email: "dev@jbelien.be" - }, - { - name: "Amanti Lulo", - email: "amanti.lulo@gmail.com" - } - ] - }, - "at-forum": { - id: "at-forum", - featureId: "austria", - type: "forum", - name: "OpenStreetMap Austria Forum", - countryCodes: [ - "at" - ], - languageCodes: [ - "en", - "de" - ], - description: "The official forum for OpenStreetMap questions in and around Austria", - url: "https://forum.openstreetmap.org/viewforum.php?id=89", - contacts: [ - { - name: "emga", - email: "emgaosm@gmail.com" - } - ] - }, - "at-mailinglist": { - id: "at-mailinglist", - featureId: "austria", - type: "mailinglist", - name: "Talk-at Mailing List", - countryCodes: [ - "at" - ], - languageCodes: [ - "de" - ], - description: "Talk-at is the official mailing list for the Austrian OSM community", - url: "https://lists.openstreetmap.org/listinfo/talk-at", - contacts: [ - { - name: "AT community", - email: "info@openstreetmap.at" - } - ] - }, - "at-twitter": { - id: "at-twitter", - featureId: "austria", - type: "twitter", - name: "OpenStreetMap Austria Twitter", - countryCodes: [ - "at" - ], - languageCodes: [ - "de" - ], - description: "OpenStreetMap Austria On Twitter: {url}", - url: "https://twitter.com/osm_at", - contacts: [ - { - name: "AT Community", - email: "info@openstreetmap.at" - } - ] - }, - "osmgraz-meetup": { - id: "osmgraz-meetup", - featureId: "graz", - type: "meetup", - countryCodes: [ - "at" - ], - languageCodes: [ - "de", - "en" - ], - name: "OSM community meetup Graz", - description: "Monthly meetup of the OpenStreetMap community in Graz", - url: "https://wiki.openstreetmap.org/wiki/Graz/Stammtisch", - contacts: [ - { - name: "Michael Maier", - email: "michael.maier@secure.mailbox.org" - } - ] - }, - "osmgraz-twitter": { - id: "osmgraz-twitter", - featureId: "graz", - type: "twitter", - countryCodes: [ - "at" - ], - languageCodes: [ - "de", - "en" - ], - name: "OSM community Graz on twitter", - description: "OpenStreetMap community in Graz on twitter", - url: "https://twitter.com/osmgraz", - contacts: [ - { - name: "Michael Maier", - email: "michael.maier@secure.mailbox.org" - } - ] - }, - "osm-at": { - id: "osm-at", - featureId: "austria", - type: "group", - countryCodes: [ - "at" - ], - languageCodes: [ - "de" - ], - name: "OpenStreetMap Austria", - description: "The platform for information on OpenStreetMap in Austria", - url: "https://www.openstreetmap.at/", - contacts: [ - { - name: "AT community", - email: "info@openstreetmap.at" - } - ] - }, - byosm: { - id: "byosm", - type: "telegram", - featureId: "belarus", - languageCodes: [ - "ru", - "be", - "en" - ], - name: "OpenStreetMap Belarus", - description: "OpenStreetMap Belarus telegram chat", - url: "https://t.me/byosm", - contacts: [ - { - name: "Darafei Praliaskouski", - email: "me@komzpa.net" - } - ] - }, - "be-facebook": { - id: "be-facebook", - featureId: "belgium", - type: "facebook", - name: "OpenStreetMap BE Community", - countryCodes: [ - "be" - ], - languageCodes: [ - "en", - "nl", - "fr", - "de" - ], - description: "Mappers and OpenStreetMap on Facebook in Belgium", - url: "https://www.facebook.com/groups/1419016881706058/", - contacts: [ - { - name: "BE community", - email: "community@osm.be" - } - ] - }, - "be-forum": { - id: "be-forum", - type: "forum", - featureId: "belgium", - countryCodes: [ - "be" - ], - languageCodes: [ - "en", - "nl", - "fr", - "de" - ], - name: "OpenStreetMap BE forum", - description: "OpenStreetMap Belgium web forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=29", - contacts: [ - { - name: "BE community", - email: "community@osm.be" - } - ] - }, - "be-irc": { - id: "be-irc", - featureId: "belgium", - type: "irc", - name: "OpenStreetMap Belgium IRC", - countryCodes: [ - "be" - ], - languageCodes: [ - "en", - "nl", - "fr", - "de" - ], - description: "Join #osmbe on irc.oftc.net (port 6667)", - extendedDescription: "Join #osmbe on irc.oftc.net (port 6667), it is bridged with the Matrix chat channel", - url: "https://webchat.oftc.net/?channels=osmbe", - contacts: [ - { - name: "BE community", - email: "community@osm.be" - } - ] - }, - "be-mailinglist": { - id: "be-mailinglist", - featureId: "belgium", - type: "mailinglist", - name: "Talk-be Mailing List", - countryCodes: [ - "be" - ], - languageCodes: [ - "en", - "nl", - "fr", - "de" - ], - description: "Talk-be is the official mailing list for the Belgian OSM community", - url: "https://lists.openstreetmap.org/listinfo/talk-be", - contacts: [ - { - name: "BE community", - email: "community@osm.be" - } - ] - }, - "be-maptime": { - id: "be-maptime", - featureId: "belgium", - type: "group", - countryCodes: [ - "be" - ], - languageCodes: [ - "en", - "nl", - "fr", - "de" - ], - name: "Maptime Belgium", - description: "Social events organized around mapping - beginners most welcome!", - extendedDescription: "Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time.", - url: "http://maptime.io/belgium/", - contacts: [ - { - name: "BE community", - email: "community@osm.be" - } - ] - }, - "be-matrix": { - id: "be-matrix", - featureId: "belgium", - type: "matrix", - countryCodes: [ - "be" - ], - languageCodes: [ - "en", - "nl", - "fr", - "de" - ], - name: "OpenStreetMap BE Matrix channel", - description: "All mappers are welcome!", - extendedDescription: "Most talk is happening at the \"OpenStreetMap Belgium\" channel. You can ask anything there! The other rooms are for specific subjects.", - url: "https://riot.im/app/#/group/+osmbe:matrix.org", - contacts: [ - { - name: "BE community", - email: "community@osm.be" - } - ] - }, - "be-meetup": { - id: "be-meetup", - featureId: "belgium", - type: "meetup", - countryCodes: [ - "be" - ], - languageCodes: [ - "en", - "nl", - "fr", - "de" - ], - name: "OpenStreetMap Belgium Meetup", - description: "Real life meetups of everyone who is interested in OpenStreetMap", - extendedDescription: "Physical meetups are great to meet other mappers, ask them questions and to learn a lot. Especially new contributors are very welcome!", - url: "https://meetup.com/OpenStreetMap-Belgium/", - contacts: [ - { - name: "BE community", - email: "community@osm.be" - } - ] - }, - "be-twitter": { - id: "be-twitter", - featureId: "belgium", - type: "twitter", - name: "OpenStreetMap Belgium Twitter", - countryCodes: [ - "be" - ], - languageCodes: [ - "en", - "nl", - "fr", - "de" - ], - description: "OSM Belgium on Twitter: @osm_be", - url: "https://twitter.com/osm_be", - contacts: [ - { - name: "BE community", - email: "community@osm.be" - } - ] - }, - "talk-cz-mailinglist": { - id: "talk-cz-mailinglist", - featureId: "czechia", - type: "mailinglist", - name: "Talk-cz Mailing List", - countryCodes: [ - "cz" - ], - languageCodes: [ - "cs", - "sk", - "en" - ], - description: "Talk-cz is the official mailing list for Czech community", - url: "https://openstreetmap.cz/talkcz", - contacts: [ - { - name: "osmcz", - email: "dev@openstreetmap.cz" - } - ] - }, - "dk-forum": { - id: "dk-forum", - type: "forum", - featureId: "denmark", - countryCodes: [ - "dk" - ], - languageCodes: [ - "da" - ], - name: "OpenStreetMap Denmark Web Forum", - description: "OpenStreetMap Denmark web forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=48", - contacts: [ - { - name: "Talk-dk-owner", - email: "talk-dk-owner@openstreetmap.org" - } - ] - }, - "dk-irc": { - id: "dk-irc", - featureId: "denmark", - type: "irc", - name: "OpenStreetMap Denmark IRC", - countryCodes: [ - "dk" - ], - languageCodes: [ - "da" - ], - description: "Join #osm-dk on irc.oftc.net (port 6667)", - url: "https://irc.openstreetmap.org/?chan=osm-dk", - contacts: [ - { - name: "Talk-dk-owner", - email: "talk-dk-owner@openstreetmap.org" - } - ] - }, - "dk-mailinglist": { - id: "dk-mailinglist", - featureId: "denmark", - type: "mailinglist", - name: "Talk-dk Mailing List", - countryCodes: [ - "dk" - ], - languageCodes: [ - "da" - ], - description: "A mailing list to discuss OpenStreetMap in Denmark", - url: "https://lists.openstreetmap.org/listinfo/talk-dk", - contacts: [ - { - name: "Talk-dk-owner", - email: "talk-dk-owner@openstreetmap.org" - } - ] - }, - "fi-forum": { - id: "fi-forum", - featureId: "finland", - type: "forum", - countryCodes: [ - "fi" - ], - languageCodes: [ - "fi" - ], - name: "OpenStreetMap FI forum", - description: "OpenStreetMap Finland web forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=15", - contacts: [ - { - name: "Talk-fi administrator", - email: "talk-fi-owner@openstreetmap.org" - } - ] - }, - "fi-irc": { - id: "fi-irc", - featureId: "finland", - type: "irc", - name: "OpenStreetMap Finland IRC", - countryCodes: [ - "fi" - ], - languageCodes: [ - "fi" - ], - description: "Join #osm-fi on irc.oftc.net (port 6667)", - url: "https://irc.openstreetmap.org/?chan=osm-fi", - contacts: [ - { - name: "Talk-fi administrator", - email: "talk-fi-owner@openstreetmap.org" - } - ] - }, - "fi-mailinglist": { - id: "fi-mailinglist", - featureId: "finland", - type: "mailinglist", - name: "Talk-fi Mailing List", - countryCodes: [ - "fi" - ], - languageCodes: [ - "fi" - ], - description: "Talk-fi is the official mailing list for the Finnish OSM community", - url: "https://lists.openstreetmap.org/listinfo/talk-fi", - contacts: [ - { - name: "Talk-fi administrator", - email: "talk-fi-owner@openstreetmap.org" - } - ] - }, - "fr-facebook": { - id: "fr-facebook", - featureId: "france", - type: "facebook", - name: "OpenStreetMap France Facebook page", - countryCodes: [ - "fr" - ], - languageCodes: [ - "fr" - ], - description: "OpenStreetMap France Facebook page", - url: "https://www.facebook.com/osmfr", - contacts: [ - { - name: "OpenStreetMap France", - email: "contact@openstreetmap.fr" - } - ] - }, - "fr-forum": { - id: "fr-forum", - type: "forum", - featureId: "france", - countryCodes: [ - "fr" - ], - languageCodes: [ - "fr" - ], - name: "OpenStreetMap France web forum", - description: "OpenStreetMap France web forum", - url: "https://forum.openstreetmap.fr/", - contacts: [ - { - name: "OpenStreetMap France", - email: "contact@openstreetmap.fr" - } - ] - }, - "fr-irc": { - id: "fr-irc", - featureId: "france", - type: "irc", - name: "OpenStreetMap France on IRC", - countryCodes: [ - "fr" - ], - languageCodes: [ - "fr" - ], - description: "Join #osm-fr on irc.oftc.net (port 6667)", - url: "https://irc.openstreetmap.org/?chan=osm-fr", - contacts: [ - { - name: "OpenStreetMap France", - email: "contact@openstreetmap.fr" - } - ] - }, - "fr-mailinglist": { - id: "fr-mailinglist", - featureId: "france", - type: "mailinglist", - name: "Talk-fr Mailing List", - countryCodes: [ - "fr" - ], - languageCodes: [ - "fr" - ], - description: "Talk-fr mailing list", - url: "https://lists.openstreetmap.org/listinfo/talk-fr", - contacts: [ - { - name: "OpenStreetMap France", - email: "contact@openstreetmap.fr" - } - ] - }, - "fr-twitter": { - id: "fr-twitter", - featureId: "france", - type: "twitter", - name: "OpenStreetMap France on Twitter", - countryCodes: [ - "fr" - ], - languageCodes: [ - "fr" - ], - description: "OpenStreetMap France on Twitter: {url}", - url: "https://twitter.com/osm_fr", - contacts: [ - { - name: "OpenStreetMap France", - email: "contact@openstreetmap.fr" - } - ] - }, - "de-berlin-mailinglist": { - id: "de-berlin-mailinglist", - featureId: "de-berlin-brandenburg", - type: "mailinglist", - name: "Berlin Mailing List", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - description: "This is the mailing list for the Berlin OSM community", - url: "https://lists.openstreetmap.de/listinfo/berlin", - contacts: [ - { - name: "FOSSGIS e.V.", - email: "info@fossgis.de" - } - ] - }, - "de-berlin-meetup": { - id: "de-berlin-meetup", - featureId: "de-berlin-brandenburg", - type: "meetup", - name: "OpenStreetMap Berlin-Brandenburg Meetup", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - description: "Mappers and OpenStreetMap users in the Berlin area", - url: "https://www.meetup.com/OSM-Berlin-Brandenburg/", - contacts: [ - { - name: "Christopher Lorenz", - email: "osm@lorenz.lu" - } - ] - }, - "de-berlin-telegram": { - id: "de-berlin-telegram", - featureId: "de-berlin-brandenburg", - type: "telegram", - name: "@osmberlin on Telegram", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - description: "OpenStreetMap Berlin Telegram chat", - url: "https://t.me/osmberlin", - contacts: [ - { - name: "Christopher Lorenz", - email: "osm@lorenz.lu" - } - ] - }, - "de-berlin-twitter": { - id: "de-berlin-twitter", - featureId: "de-berlin-brandenburg", - type: "twitter", - name: "OpenStreetMap Berlin Twitter", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - description: "Follow us on Twitter: {url}", - url: "https://twitter.com/osmberlin", - contacts: [ - { - name: "Christopher Lorenz", - email: "osm@lorenz.lu" - } - ] - }, - "de-forum": { - id: "de-forum", - featureId: "germany", - type: "forum", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - name: "OpenStreetMap DE forum", - description: "OpenStreetMap Germany web forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=14", - contacts: [ - { - name: "FOSSGIS e.V.", - email: "info@fossgis.de" - } - ] - }, - "de-irc": { - id: "de-irc", - featureId: "germany", - type: "irc", - name: "OpenStreetMap Germany IRC", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - description: "Join #osm-de on irc.oftc.net (port 6667)", - url: "https://irc.openstreetmap.org/?chan=osm-de", - contacts: [ - { - name: "FOSSGIS e.V.", - email: "info@fossgis.de" - } - ] - }, - "de-mailinglist": { - id: "de-mailinglist", - featureId: "germany", - type: "mailinglist", - name: "Talk-de Mailing List", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - description: "Talk-de is the official mailing list for the German OSM community", - url: "https://lists.openstreetmap.org/listinfo/talk-de", - contacts: [ - { - name: "FOSSGIS e.V.", - email: "info@fossgis.de" - } - ] - }, - "de-ostwestfalen-lippe-mailinglist": { - id: "de-ostwestfalen-lippe-mailinglist", - featureId: "de-ostwestfalen-lippe", - type: "mailinglist", - name: "OWL Mailing List", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - description: "This is the mailing list for the Ostwestfalen-Lippe OSM community", - url: "https://gt.owl.de/mailman/listinfo/osm", - contacts: [ - { - name: "Florian Lohoff", - email: "osm-owner@gt.owl.de" - } - ] - }, - "osm-de": { - id: "osm-de", - featureId: "germany", - type: "group", - countryCodes: [ - "de" - ], - languageCodes: [ - "de" - ], - name: "OpenStreetMap Germany", - description: "The platform for information on OpenStreetMap in Germany", - url: "https://www.openstreetmap.de/", - contacts: [ - { - name: "FOSSGIS e.V.", - email: "info@fossgis.de" - } - ] - }, - "hu-facebook": { - id: "hu-facebook", - featureId: "hungary", - type: "facebook", - name: "OpenStreetMap HU on Facebook", - countryCodes: [ - "hu" - ], - languageCodes: [ - "hu" - ], - description: "Mappers and OpenStreetMap Facebook in Hungary", - url: "https://www.facebook.com/groups/osm.hu/", - contacts: [ - { - name: "Ferenc Veres", - email: "info@openstreetmap.hu" - } - ] - }, - "hu-forum": { - id: "hu-forum", - featureId: "hungary", - type: "forum", - countryCodes: [ - "hu" - ], - languageCodes: [ - "hu" - ], - name: "OpenStreetMap HU forum", - description: "OpenStreetMap Hungary web forum", - url: "https://groups.google.com/forum/#!forum/openstreetmap-hungary", - contacts: [ - { - name: "Ferenc Veres", - email: "info@openstreetmap.hu" - } - ] - }, - "hu-meetup": { - id: "hu-meetup", - featureId: "hungary", - type: "meetup", - countryCodes: [ - "hu" - ], - languageCodes: [ - "hu" - ], - name: "OpenStreetMap Hungary Meetup", - description: "The platform for organizing meetups in Hungary", - url: "https://www.meetup.com/OpenStreetMap-Hungary", - contacts: [ - { - name: "Ferenc Veres", - email: "info@openstreetmap.hu" - } - ] - }, - "it-facebook": { - id: "it-facebook", - featureId: "italy", - type: "facebook", - name: "OpenStreetMap Italy Facebook", - countryCodes: [ - "it" - ], - languageCodes: [ - "it" - ], - description: "Join the OpenStreetMap Italy community on Facebook", - url: "https://www.facebook.com/OpenStreetMap.Italia/", - contacts: [ - { - name: "Simone Cortesi", - email: "simone@cortesi.com" - }, - { - name: "Stefano", - email: "sabas88@gmail.com" - }, - { - name: "Alessandro Palmas", - email: "alessandro.palmas@wikimedia.it" - } - ] - }, - "it-irc": { - id: "it-irc", - featureId: "italy", - type: "irc", - name: "OpenStreetMap Italy IRC", - countryCodes: [ - "it" - ], - languageCodes: [ - "it" - ], - description: "Join #osm-it on irc.oftc.net (port 6667)", - url: "https://irc.openstreetmap.org/?chan=osm-it", - contacts: [ - { - name: "Simone Cortesi", - email: "simone@cortesi.com" - }, - { - name: "Stefano", - email: "sabas88@gmail.com" - }, - { - name: "Alessandro Palmas", - email: "alessandro.palmas@wikimedia.it" - } - ] - }, - "it-mailinglist": { - id: "it-mailinglist", - featureId: "italy", - type: "mailinglist", - name: "Talk-it Mailing List", - countryCodes: [ - "it" - ], - languageCodes: [ - "it" - ], - description: "Talk-it is the official mailing list for the Italian OSM community", - url: "https://lists.openstreetmap.org/listinfo/talk-it", - contacts: [ - { - name: "Simone Cortesi", - email: "simone@cortesi.com" - }, - { - name: "Stefano", - email: "sabas88@gmail.com" - }, - { - name: "Alessandro Palmas", - email: "alessandro.palmas@wikimedia.it" - } - ] - }, - "it-telegram": { - id: "it-telegram", - type: "telegram", - featureId: "italy", - countryCodes: [ - "it" - ], - languageCodes: [ - "it" - ], - name: "@OpenStreetMapItalia on Telegram", - description: "OpenStreetMap Italy Telegram chat", - url: "https://t.me/OpenStreetMapItalia", - contacts: [ - { - name: "Simone Cortesi", - email: "simone@cortesi.com" - }, - { - name: "Stefano", - email: "sabas88@gmail.com" - }, - { - name: "Alessandro Palmas", - email: "alessandro.palmas@wikimedia.it" - } - ] - }, - "it-twitter": { - id: "it-twitter", - featureId: "italy", - type: "twitter", - name: "OpenStreetMap Italy Twitter", - countryCodes: [ - "it" - ], - languageCodes: [ - "it" - ], - description: "Follow us on Twitter at {url}", - url: "https://twitter.com/OpenStreetMapIt", - contacts: [ - { - name: "Simone Cortesi", - email: "simone@cortesi.com" - }, - { - name: "Stefano", - email: "sabas88@gmail.com" - }, - { - name: "Alessandro Palmas", - email: "alessandro.palmas@wikimedia.it" - } - ] - }, - "OSM-Rome-meetup": { - id: "OSM-Rome-meetup", - featureId: "IT_Roma_Capitale", - type: "group", - name: "Incontro Mappatori Romani", - countryCodes: [ - "it" - ], - languageCodes: [ - "it" - ], - description: "Improve OpenStreetMap in the Rome area", - extendedDescription: "We aim to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Lazio.", - url: "https://wiki.openstreetmap.org/wiki/Rome/Incontro", - contacts: [ - { - name: "Martin Koppenhoefer", - email: "dieterdreist@gmail.com" - } - ] - }, - "South-Tyrol-Mailing-List": { - id: "South-Tyrol-Mailing-List", - featureId: "south_tyrol", - type: "mailinglist", - countryCodes: [ - "it" - ], - languageCodes: [ - "de", - "it", - "lld", - "en" - ], - name: "OpenStreetMap mailing list for South Tyrol", - description: "OpenStreetMap Italy regional talk list for South Tyrol", - url: "https://lists.openstreetmap.org/listinfo/talk-it-southtyrol", - contacts: [ - { - name: "Martin Raifer", - email: "tyr.asd@gmail.com" - } - ] - }, - "talk-it-lazio": { - id: "talk-it-lazio", - featureId: "IT_Lazio", - type: "mailinglist", - countryCodes: [ - "it" - ], - languageCodes: [ - "it" - ], - name: "OpenStreetMap IT Lazio", - description: "All are welcome! Sign up at {signupUrl}", - extendedDescription: "Mailinglist for Rome and Lazio area.", - signupUrl: "https://lists.openstreetmap.org/listinfo/talk-it-lazio", - url: "https://lists.openstreetmap.org/listinfo/talk-it-lazio", - contacts: [ - { - name: "Martin Koppenhoefer", - email: "dieterdreist@gmail.com" - } - ] - }, - "Trentino-Mailing-List": { - id: "Trentino-Mailing-List", - featureId: "trentino", - type: "mailinglist", - countryCodes: [ - "it" - ], - languageCodes: [ - "it" - ], - name: "OpenStreetMap mailing list for Trentino", - description: "OpenStreetMap Italy regional talk list for Trentino", - url: "https://lists.openstreetmap.org/listinfo/talk-it-trentino", - contacts: [ - { - name: "Luca Delucchi", - email: "lucadeluge@gmail.com" - } - ] - }, - "no-forum": { - id: "no-forum", - type: "forum", - featureId: "norway", - countryCodes: [ - "no" - ], - languageCodes: [ - "no" - ], - name: "OpenStreetMap Norway Web Forum", - description: "OpenStreetMap Norway web forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=68", - contacts: [ - { - name: "OpenStreetMap Norway", - email: "kart@nuug.no" - } - ] - }, - "no-irc": { - id: "no-irc", - featureId: "norway", - type: "irc", - name: "OpenStreetMap Norway on IRC", - countryCodes: [ - "no" - ], - languageCodes: [ - "no" - ], - description: "Chat room for mappers and OpenStreetMap users, developers and enthusiasts in Norway", - contacts: [ - { - name: "OpenStreetMap Norway", - email: "kart@nuug.no" - } - ], - url: "https://webchat.oftc.net/?channels=osm-no" - }, - "no-mailinglist": { - id: "no-mailinglist", - featureId: "norway", - type: "mailinglist", - name: "OpenStreetMap Norway mailing list", - countryCodes: [ - "no" - ], - languageCodes: [ - "no" - ], - description: "Mailing list for mappers and OpenStreetMap users, developers and enthusiasts in Norway", - contacts: [ - { - name: "OpenStreetMap Norway", - email: "kart@nuug.no" - } - ], - url: "https://lists.nuug.no/mailman/listinfo/kart" - }, - "OSM-PL-facebook-group": { - id: "OSM-PL-facebook-group", - type: "facebook", - featureId: "poland", - countryCodes: [ - "pl" - ], - languageCodes: [ - "pl" - ], - name: "OpenStreetMap Poland Facebook group", - description: "Group for mappers and users of OpenStreetMap in Poland", - url: "https://www.facebook.com/groups/500589303317858/", - contacts: [ - { - name: "Michał Brzozowski", - email: "www.haxor@gmail.com" - } - ] - }, - "OSM-PL-forum": { - id: "OSM-PL-forum", - type: "forum", - featureId: "poland", - countryCodes: [ - "pl" - ], - languageCodes: [ - "pl", - "en" - ], - name: "OpenStreetMap Poland Forum", - description: "Forum of Polish OpenStreetMap community", - url: "https://forum.openstreetmap.org/viewforum.php?id=23", - contacts: [ - { - name: "Daniel Koć", - email: "daniel@xn--ko-wla.pl" - }, - { - name: "Ryszard Mikke", - email: "ryszard.mikke@gmail.com" - } - ] - }, - "OSM-ES-mailinglist": { - id: "OSM-ES-mailinglist", - type: "mailinglist", - featureId: "spain", - languageCodes: [ - "es" - ], - name: "Talk-es mailing list", - description: "A mailing list to discuss OpenStreetMap in Spain", - url: "https://lists.openstreetmap.org/listinfo/talk-es", - contacts: [ - { - name: "Iván Sánchez", - email: "ivansanchez@escomposlinux.org" - } - ] - }, - "OSM-ES-telegram": { - id: "OSM-ES-telegram", - type: "telegram", - featureId: "spain", - languageCodes: [ - "es" - ], - name: "@OSMes on Telegram", - description: "OpenStreetMap Spain Telegram chat", - url: "https://t.me/OSMes", - contacts: [ - { - name: "Jorge Sanz", - email: "sanchi2@gmail.com" - } - ] - }, - "osm-se": { - id: "osm-se", - featureId: "sweden", - type: "group", - countryCodes: [ - "se" - ], - languageCodes: [ - "sv" - ], - name: "OpenStreetMap.se", - description: "Provide OSM services and information for the local community in Sweden", - url: "http://openstreetmap.se/", - contacts: [ - { - name: "Talk-se-owner", - email: "talk-se-owner@openstreetmap.org" - } - ] - }, - "se-facebook": { - id: "se-facebook", - featureId: "sweden", - type: "facebook", - name: "OpenStreetMap Sweden Facebook", - countryCodes: [ - "se" - ], - languageCodes: [ - "sv" - ], - description: "OpenStreetMap Sweden on Facebook", - url: "https://www.facebook.com/groups/osmsweden/", - contacts: [ - { - name: "Talk-se-owner", - email: "talk-se-owner@openstreetmap.org" - } - ] - }, - "se-forum": { - id: "se-forum", - type: "forum", - featureId: "sweden", - countryCodes: [ - "se" - ], - languageCodes: [ - "sv" - ], - name: "OpenStreetMap Sweden Web Forum", - description: "OpenStreetMap Sweden web forum", - url: "https://forum.openstreetmap.org/viewforum.php?id=4", - contacts: [ - { - name: "Talk-se-owner", - email: "talk-se-owner@openstreetmap.org" - } - ] - }, - "se-irc": { - id: "se-irc", - featureId: "sweden", - type: "irc", - name: "OpenStreetMap Sweden IRC", - countryCodes: [ - "se" - ], - languageCodes: [ - "sv" - ], - description: "Join #osm.se on irc.oftc.net (port 6667)", - url: "https://irc.openstreetmap.org/?chan=osm.se", - contacts: [ - { - name: "Talk-se-owner", - email: "talk-se-owner@openstreetmap.org" - } - ] - }, - "se-mailinglist": { - id: "se-mailinglist", - featureId: "sweden", - type: "mailinglist", - name: "Talk-se Mailing List", - countryCodes: [ - "se" - ], - languageCodes: [ - "sv" - ], - description: "A mailing list to discuss OpenStreetMap in Sweden", - url: "https://lists.openstreetmap.org/listinfo/talk-se", - contacts: [ - { - name: "Talk-se-owner", - email: "talk-se-owner@openstreetmap.org" - } - ] - }, - "se-twitter": { - id: "se-twitter", - featureId: "sweden", - type: "twitter", - name: "OpenStreetMap Sweden on Twitter", - countryCodes: [ - "se" - ], - languageCodes: [ - "sv" - ], - description: "Follow us on Twitter: {url}", - url: "https://twitter.com/openstreetmapse", - contacts: [ - { - name: "Talk-se-owner", - email: "talk-se-owner@openstreetmap.org" - } - ] - }, - "Nottingham-OSM-pub-meetup": { - id: "Nottingham-OSM-pub-meetup", - featureId: "east_midlands_uk", - type: "group", - name: "East Midlands (Nottingham) Monthly pub meet-up", - countryCodes: [ - "gb" - ], - languageCodes: [ - "en" - ], - description: "Social gathering for East Midlands mappers and users", - extendedDescription: "A group have been meeting since March 2011, initially in Nottingham, and, more recently in Derby, and from time to time elsewhere in the East Midlands. These are social gatherings, but are an excellent place to come and ask specific questions about OSM either in the area or in general. In the summer months we usually do some light mapping for an hour in the vicinity of our meeting place. The group as a whole has a special interest in mapping public rights of way and from time to time has mapping meetings for this purpose.", - url: "https://wiki.openstreetmap.org/wiki/Nottingham/Pub-meetup", - contacts: [ - { - name: "Jerry Clough", - email: "SK53.osm@gmail.com" - } - ] - }, - "gb-mailinglist": { - id: "gb-mailinglist", - featureId: "united_kingdom", - type: "mailinglist", - name: "Talk-gb Mailing List", - countryCodes: [ - "gb" - ], - languageCodes: [ - "en", - "cy" - ], - description: "Talk-gb is the main communication forum list for the British (including Northern Ireland) OSM community", - url: "https://lists.openstreetmap.org/listinfo/talk-gb", - contacts: [ - { - name: "UK mailing list", - email: "talk-gb-owner@lists.openstreetmap.org" - } - ] - }, - "mappa-mercia-group": { - id: "mappa-mercia-group", - featureId: "england-west-midlands", - type: "group", - countryCodes: [ - "gb" - ], - languageCodes: [ - "en" - ], - name: "Mappa Mercia local group", - description: "A home for OpenStreetMap enthusiasts in the Midlands", - extendedDescription: "Mappa Mercia is a project to grow OpenStreetMap in the West Midlands, UK. We run community events, provide training and support local organisations wishing to open up their data.", - url: "http://www.mappa-mercia.org/", - contacts: [ - { - name: "Brian Prangle", - email: "community@mappa-mercia.org" - } - ] - }, - "gb-irc": { - id: "gb-irc", - featureId: "united_kingdom", - type: "irc", - name: "OpenStreetMap United Kingdom IRC", - countryCodes: [ - "gb" - ], - languageCodes: [ - "en", - "cy" - ], - description: "Join #osm-gb on irc.oftc.net (port 6667)", - extendedDescription: "Join #osm-gb on irc.oftc.net (port 6667), please be patient and wait for a few minutes if you ask a question", - url: "https://irc.openstreetmap.org/?chan=osm-gb", - contacts: [ - { - name: "UK mailing list", - email: "talk-gb-owner@lists.openstreetmap.org" - } - ] - }, - "OSM-CA-Slack": { - id: "OSM-CA-Slack", - featureId: "canada_full", - type: "slack", - countryCodes: [ - "ca" - ], - languageCodes: [ - "en", - "fr" - ], - name: "OSM-CA Slack", - description: "All are welcome! Sign up at {signupUrl}.", - signupUrl: "https://slackinviteosmcanada.herokuapp.com/", - url: "https://osm-ca.slack.com/", - contacts: [ - { - name: "Denis Carriere", - email: "carriere.denis@gmail.com" - } - ] - }, - "OSM-Vancouver-meetup": { - id: "OSM-Vancouver-meetup", - featureId: "vancouver_metro", - type: "meetup", - name: "OpenStreetMap Vancouver", - countryCodes: [ - "ca" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the Vancouver, BC area", - url: "https://www.meetup.com/OpenStreetMap-Vancouver/", - contacts: [ - { - name: "Paul Norman", - email: "penorman@mac.com" - }, - { - name: "Peter Chin", - email: "bpchin@gmail.com" - } - ], - events: [ - { - name: "April Metrotown Mappy Hour", - description: "Mappy Hour is the time and place for discussion of OpenStreetMap, from surveying data to consuming data. Beginners welcome. Bring your questions.", - when: "2018-04-27 18:30", - where: "Firefighters' Public House, 6515 Bonsor Avenue, Burnaby, BC", - url: "https://www.meetup.com/OpenStreetMap-Vancouver/events/qzsbsmyxgbkc/" - } - ] - }, - "OSM-CU-telegram": { - id: "OSM-CU-telegram", - type: "telegram", - featureId: "cuba", - countryCodes: [ - "cu" - ], - languageCodes: [ - "es" - ], - name: "OSM Cuba on Telegram", - description: "OpenStreetMap Cuba Telegram chat", - url: "https://telegram.me/OSM_Cuba", - contacts: [ - { - name: "Talk-cu Owner", - email: "talk-cu-owner@openstreetmap.org" - } - ] - }, - "OSM-NI-telegram": { - id: "OSM-NI-telegram", - type: "telegram", - featureId: "nicaragua", - countryCodes: [ - "ni" - ], - languageCodes: [ - "es" - ], - name: "OSM Nicaragua on Telegram", - description: "OpenStreetMap Nicaragua Telegram chat", - url: "https://telegram.me/MapaNica", - contacts: [ - { - name: "Talk-ni Owner", - email: "talk-ni-owner@openstreetmap.org" - } - ] - }, - "Bay-Area-OpenStreetMappers": { - id: "Bay-Area-OpenStreetMappers", - featureId: "sf_bay_area", - type: "meetup", - name: "Bay Area OpenStreetMappers", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Improve OpenStreetMap in the Bay Area", - extendedDescription: "This group is about growing the OpenStreetMap community here in the Bay Area. Our events are open to everyone, from open source enthusiasts, cyclists, GIS professionals, geocachers, and beyond. Anyone and everyone who is interested in maps, map making and free map data is welcome to join our group as well as attend our events.", - url: "https://www.meetup.com/Bay-Area-OpenStreetMappers/", - contacts: [ - { - name: "Ben Discoe", - email: "bdiscoe@gmail.com" - } - ] - }, - "Central-Pennsylvania-OSM": { - id: "Central-Pennsylvania-OSM", - featureId: "central_pa", - type: "facebook", - name: "Central Pennsylvania OSM", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Online mapping community based out of State College, PA", - url: "https://www.facebook.com/CentralPennsylvaniaOSM", - contacts: [ - { - name: "Sterling Quinn", - email: "sdq107@psu.edu" - } - ] - }, - "Code-for-San-Jose-Slack": { - id: "Code-for-San-Jose-Slack", - featureId: "south_sf_bay_area", - type: "slack", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - name: "Code for San Jose Slack", - description: "All are welcome! Sign up at {signupUrl}, then join the #osm channel.", - signupUrl: "https://slackin-c4sj.herokuapp.com/", - url: "https://codeforsanjose.slack.com/", - contacts: [ - { - name: "OSM Bay Area mailing list", - email: "talk-us-sfbay@openstreetmap.org" - } - ] - }, - "Dallas-Fort-Worth-OSM": { - id: "Dallas-Fort-Worth-OSM", - featureId: "dfw_metro", - type: "group", - name: "Dallas-Fort Worth OSM", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "The OpenStreetMap user group for Dallas-Fort Worth", - extendedDescription: "Dallas, Fort Worth, and all the cities in between are abounding with creative and tech-savvy people. The vision for this usergroup is to find new ways to use the amazing resource of OSM.", - url: "http://dfwosm.org/", - contacts: [ - { - name: "Andrew Matheny", - email: "andrewdmatheny@gmail.com" - } - ] - }, - GeoPhilly: { - id: "GeoPhilly", - featureId: "philly_metro", - type: "meetup", - name: "GeoPhilly", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Meetup for map enthusiasts in the Philadelphia area", - extendedDescription: "GeoPhilly unites developers, geographers, data geeks, open source enthusiasts, civic hackers and map addicts in our shared love of maps and the stories they tell. If you use maps as part of your work or just want to learn more, this is the meetup for you! Our events aim to be open, friendly, educational and social and range from happy hours to lightning talks or even workshops. Come create a diverse, inspiring geospatial community in the Philadelphia with us!", - url: "https://www.meetup.com/GeoPhilly/", - contacts: [ - { - name: "Dan Ford", - email: "dford@azavea.com" - } - ] - }, - MapMinnesota: { - id: "MapMinnesota", - featureId: "minneapolis_st_paul_metro", - type: "meetup", - name: "MapMinnesota", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap enthusiasts in the Twin Cities area", - extendedDescription: "Connecting OpenStreetMap enthusiasts in Minnesota and the Twin Cities!", - url: "https://www.meetup.com/Map-Minnesota/", - contacts: [ - { - name: "Ian Dees", - email: "ian.dees@gmail.com" - } - ] - }, - "Mapping-DC-meetup": { - id: "Mapping-DC-meetup", - featureId: "dc_metro", - type: "meetup", - name: "Mapping DC", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Improve OpenStreetMap in the DC area", - extendedDescription: "We are a group of volunteer mappers who aim to improve the OpenStreetMap in the DC area. We also aim to teach others about the OSM ecosystem, data analytics, cartography, and GIS. We gather every other month at meetups to focus on one area of our city.", - url: "https://mappingdc.org/", - contacts: [ - { - name: "Brian DeRocher", - email: "brian@derocher.org" - } - ], - events: [ - { - name: "April Meetup", - description: "Meets every other month on the 2nd Tuesday", - when: "2018-04-10 18:00", - where: "Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC", - url: "https://www.meetup.com/MappingDC/events/qqvnvhyxgbnb/" - }, - { - name: "June Meetup", - description: "Meets every other month on the 2nd Tuesday", - when: "2018-06-12 18:00", - where: "Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC", - url: "https://www.meetup.com/MappingDC/events/qqvnvhyxjbqb/" - }, - { - name: "August Meetup", - description: "Meets every other month on the 2nd Tuesday", - when: "2018-08-14 18:00", - where: "Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC", - url: "https://www.meetup.com/MappingDC/events/qqvnvhyxlbsb/" - }, - { - name: "October Meetup", - description: "Meets every other month on the 2nd Tuesday", - when: "2018-10-09 18:00", - where: "Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC", - url: "https://www.meetup.com/MappingDC/events/qqvnvhyxnbmb/" - } - ] - }, - "Maptime-ME-meetup": { - id: "Maptime-ME-meetup", - featureId: "portland_me", - type: "meetup", - name: "MaptimeME", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users, around Portland, ME", - extendedDescription: "Maptime is, rather literally, time for mapmaking. Our mission is to open the doors of cartographic possibility to anyone interested by creating a time and space for collaborative learning, exploration, and map creation using mapping tools and technologies.", - url: "https://www.meetup.com/MaptimeME/", - contacts: [ - { - name: "Malcolm Toon", - email: "malcolm@foreflight.com" - } - ] - }, - "OpenCleveland-meetup": { - id: "OpenCleveland-meetup", - featureId: "cleveland", - type: "meetup", - name: "Open Cleveland", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Improve OpenStreetMap in the Cleveland area", - extendedDescription: "Open Geo Cleveland aims to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Northeast Ohio. We're also a maptime chapter =)", - url: "https://www.meetup.com/open-cleveland/", - contacts: [ - { - name: "Will Skora", - email: "skorasaurus@gmail.com" - }, - { - name: "Anastasia Diamond-Ortiz", - email: "anastasia.diamond@gmail.com" - } - ], - events: [ - { - name: "Wednesday Meetup / Hack Night", - description: "Meets weekly - programming experience is not necessary!", - when: "2018-04-18 18:00", - where: "The Tech Hive, 6815 Euclid Ave, Cleveland, OH", - url: "https://www.meetup.com/open-cleveland/events/lcjdnpyxgbxb/" - }, - { - name: "Wednesday Meetup / Hack Night", - description: "Meets weekly - programming experience is not necessary!", - when: "2018-04-25 18:00", - where: "The Tech Hive, 6815 Euclid Ave, Cleveland, OH", - url: "https://www.meetup.com/open-cleveland/events/lcjdnpyxgbhc/" - }, - { - name: "Wednesday Meetup / Hack Night", - description: "Meets weekly - programming experience is not necessary!", - when: "2018-05-02 18:00", - where: "The Tech Hive, 6815 Euclid Ave, Cleveland, OH", - url: "https://www.meetup.com/open-cleveland/events/lcjdnpyxhbdb/" - }, - { - name: "Wednesday Meetup / Hack Night", - description: "Meets weekly - programming experience is not necessary!", - when: "2018-05-09 18:00", - where: "The Tech Hive, 6815 Euclid Ave, Cleveland, OH", - url: "https://www.meetup.com/open-cleveland/events/lcjdnpyxhbmb/" - }, - { - name: "Wednesday Meetup / Hack Night", - description: "Meets weekly - programming experience is not necessary!", - when: "2018-05-16 18:00", - where: "The Tech Hive, 6815 Euclid Ave, Cleveland, OH", - url: "https://www.meetup.com/open-cleveland/events/lcjdnpyxhbvb/" - }, - { - name: "Wednesday Meetup / Hack Night", - description: "Meets weekly - programming experience is not necessary!", - when: "2018-05-23 18:00", - where: "The Tech Hive, 6815 Euclid Ave, Cleveland, OH", - url: "https://www.meetup.com/open-cleveland/events/lcjdnpyxhbfc/" - }, - { - name: "Wednesday Meetup / Hack Night", - description: "Meets weekly - programming experience is not necessary!", - when: "2018-05-30 18:00", - where: "The Tech Hive, 6815 Euclid Ave, Cleveland, OH", - url: "https://www.meetup.com/open-cleveland/events/lcjdnpyxhbnc/" - } - ] - }, - "OSM-Boston": { - id: "OSM-Boston", - featureId: "boston_metro", - type: "meetup", - name: "OpenStreetMap Boston", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the Boston area", - extendedDescription: "OpenStreetMap is the free and open, wiki-style map of the world, with hundreds of thousands of contributions every day from people like you. Editing the map is simple, and fun! Join us both indoors and outdoors in our effort to create the best map of the Boston area and the rest of the world!", - url: "https://www.meetup.com/OpenStreetMap-Boston/", - contacts: [ - { - name: "Lars Ahlzen", - email: "lars@ahlzen.com" - } - ] - }, - "OSM-Central-Salish-Sea": { - id: "OSM-Central-Salish-Sea", - featureId: "mt_vernon_wa", - type: "meetup", - name: "OpenStreetMap Central Salish Sea", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users around Mount Vernon, WA", - extendedDescription: "OpenStreetMap is an map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more. We meet all the time to talk maps, make maps and have fun!", - url: "https://www.meetup.com/OpenStreetMap-Central-Salish-Sea/", - contacts: [ - { - name: "Clifford Snow", - email: "clifford@snowandsnow.us" - } - ] - }, - "OSM-Chattanooga": { - id: "OSM-Chattanooga", - featureId: "chattanooga", - type: "facebook", - name: "OSM Chattanooga", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "The OpenStreetMap user group for Chattanooga", - url: "https://www.facebook.com/groups/123483951073256", - contacts: [ - { - name: "Jenny Park", - email: "tennessee@tpl.org" - }, - { - name: "Randal Hale", - email: "rjhale@northrivergeographic.com" - } - ] - }, - "OSM-Colorado": { - id: "OSM-Colorado", - featureId: "colorado", - type: "meetup", - name: "OpenStreetMap Colorado", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the state of Colorado, USA", - extendedDescription: "OpenStreetMap (OSM) Colorado is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties.", - url: "https://www.meetup.com/OSM-Colorado/", - contacts: [ - { - name: "Russell Deffner", - email: "russdeffner@gmail.com" - } - ] - }, - "OSM-NYC": { - id: "OSM-NYC", - featureId: "nyc_metro", - type: "meetup", - name: "OpenStreetMap NYC", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users, developers and enthusiasts in the New York Metropolitan area", - url: "https://www.meetup.com/osm-nyc/", - contacts: [ - { - name: "Jeff Ferzoco", - email: "jferzoco@carto.com" - } - ] - }, - "OSM-Portland": { - id: "OSM-Portland", - featureId: "portland_or", - type: "meetup", - name: "OpenStreetMap Portland", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the Portland area", - extendedDescription: "OpenStreetMap (OSM) is a map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more, and come join us at a meetup to talk maps, contribute to OSM, and have fun!", - url: "https://www.meetup.com/OpenStreetMap-Portland/", - contacts: [ - { - name: "Madeline Steele", - email: "madeline.steele@gmail.com" - } - ] - }, - "OSM-Seattle": { - id: "OSM-Seattle", - featureId: "seattle", - type: "meetup", - name: "OpenStreetMap Seattle", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the Seattle area", - url: "https://www.meetup.com/OpenStreetMap-Seattle/", - contacts: [ - { - name: "Clifford Snow", - email: "clifford@snowandsnow.us" - }, - { - name: "Chase Stephens", - email: "seattlefyi@gmail.com" - }, - { - name: "Paul McCombs", - email: "pablo@imperium.org" - } - ] - }, - "OSM-SoCal": { - id: "OSM-SoCal", - featureId: "la_metro", - type: "meetup", - name: "OpenStreetMap Southern California", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Let's have some fun, contribute something to Los Angeles, and learn about mapping!", - extendedDescription: "OpenStreetMap (OSM) Southern California is for anyone interested in mapping to get together to work with OpenStreetMap. OpenStreetMap, the Wikipedia of maps, is a free open-source map of the world being created by more than 1,000,000 volunteers around the globe. Everyone is welcome. If you don't know OpenStreetMap, we'll teach you. If you have an idea for a mapping project or even a field trip that the group can do, great!", - url: "https://www.meetup.com/OSM-Southern-California/", - contacts: [ - { - name: "Charlotte Wolter", - email: "techlady@techlady.com" - } - ] - }, - "OSM-South-Bay": { - id: "OSM-South-Bay", - featureId: "south_sf_bay_area", - type: "meetup", - name: "OSM South Bay", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Map Nights hosted by Code for San Jose", - extendedDescription: "Code for San Jose, the local Code for America brigade, hosts monthly Map Nights on Thursday nights in downtown San José. Meet fellow South Bay mappers, help out with local mapping projects, and hear about other civic tech projects. Programming and GIS skills are not required.", - url: "https://www.meetup.com/Code-for-San-Jose/", - contacts: [ - { - name: "OSM Bay Area mailing list", - email: "talk-us-sfbay@openstreetmap.org" - } - ] - }, - "OSM-Tampa-Bay": { - id: "OSM-Tampa-Bay", - featureId: "tampa_bay", - type: "meetup", - name: "OpenStreetMap Tampa Bay", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the Tampa Bay area", - extendedDescription: "OSM Tampa Bay group for local residents to get together and build out the definitive map of Tampa Bay with OpenStreetMap, the free and editable map of the world. If you're into maps, data, open source, GPS, hiking, cycling, et cetera, you'll love working with OpenStreetMap -- so join in! We'll get together and map and talk about new topics once-a-month or so.", - url: "https://www.meetup.com/osmtampabay/", - contacts: [ - { - name: "Coleman McCormick", - email: "cmccormick@gmail.com" - } - ] - }, - "OSM-US-Slack": { - id: "OSM-US-Slack", - featureId: "usa_full", - type: "slack", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - name: "OpenStreetMap US Slack", - description: "All are welcome! Sign up at {signupUrl}", - signupUrl: "https://osmus-slack.herokuapp.com/", - url: "https://osmus.slack.com", - contacts: [ - { - name: "Ian Dees", - email: "ian@openstreetmap.us" - }, - { - name: "Clifford Snow", - email: "clifford@snowandsnow.us" - } - ] - }, - "OSM-US": { - id: "OSM-US", - featureId: "usa_full", - type: "group", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - name: "OpenStreetMap US", - description: "We help grow and improve OpenStreetMap in the United States.", - extendedDescription: "We support OpenStreetMap by holding annual conferences, providing community resources, building partnerships, and by spreading the word. Join OpenStreetMap US here: {signupUrl}", - signupUrl: "https://www.openstreetmap.us/join", - url: "https://www.openstreetmap.us/", - contacts: [ - { - name: "Ian Dees", - email: "ian@openstreetmap.us" - }, - { - name: "Bryan Housel", - email: "bryan@openstreetmap.us" - } - ] - }, - "OSM-Utah": { - id: "OSM-Utah", - featureId: "salt_lake_city", - type: "meetup", - name: "OpenStreetMap Utah", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the Salt Lake City area", - extendedDescription: "Activities may include things like Learn To Map workshops, mapping parties and outdoor data collection. The events will take place in the SLC area, at least initially. We are looking for seasoned mappers as well as people new to OSM. Join and let's do some mapping!", - url: "https://www.meetup.com/OpenStreetMap-Utah/", - contacts: [ - { - name: "Martijn van Exel", - email: "m@rtijn.org" - } - ] - }, - "OSM-Wyoming": { - id: "OSM-Wyoming", - featureId: "wyoming", - type: "meetup", - name: "OpenStreetMap Wyoming", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the state of Wyoming", - extendedDescription: "OpenStreetMap (OSM) Wyoming is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties.", - url: "https://www.meetup.com/OSM-Wyoming/", - contacts: [ - { - name: "Russell Deffner", - email: "russdeffner@gmail.com" - } - ] - }, - "PHXGeo-meetup": { - id: "PHXGeo-meetup", - featureId: "phoenix", - type: "meetup", - name: "PHXGeo Meetup", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users in the Phoenix, AZ area", - extendedDescription: "This is a meetup group for those in the Phoenix area who like maps, GIS, OpenStreetMap, cartography and anything in between.", - url: "https://www.meetup.com/PHXGeo/", - contacts: [ - { - name: "Ryan Arp", - email: "ryan@arpconsultinggroup.com" - } - ] - }, - "PHXGeo-twitter": { - id: "PHXGeo-twitter", - featureId: "phoenix", - type: "twitter", - name: "PHXGeo Twitter", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Follow us on Twitter at {url}", - url: "https://twitter.com/phxgeo", - contacts: [ - { - name: "Ryan Arp", - email: "ryan@arpconsultinggroup.com" - } - ] - }, - "Western-Slope-facebook": { - id: "Western-Slope-facebook", - featureId: "grand_junction_co", - type: "facebook", - name: "Western Slope OSM Facebook", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users around Grand Junction, CO", - url: "https://www.facebook.com/wsosm/", - contacts: [ - { - name: "Aaron Young", - email: "aaron@kaartgroup.com" - } - ] - }, - "Western-Slope-meetup": { - id: "Western-Slope-meetup", - featureId: "grand_junction_co", - type: "meetup", - name: "Western Slope OSM Meetup", - countryCodes: [ - "us" - ], - languageCodes: [ - "en" - ], - description: "Mappers and OpenStreetMap users around Grand Junction, CO", - extendedDescription: "The goal of this group is to introduce OpenStreetMap to the community, develop a community of mappers, create the most amazing geodata possible using whatever method we can and finally strategize in order to get this data out into our community. Imagine accurate trail signage! Imagine further development of bike paths! Imagine anything you want, that's the joy of OpenStreetMap!", - url: "https://www.meetup.com/Western-Slope-OpenStreetMap/", - contacts: [ - { - name: "Aaron Young", - email: "aaron@kaartgroup.com" - } - ] - }, - "Maptime-Australia-Slack": { - id: "Maptime-Australia-Slack", - featureId: "australia_full", - type: "slack", - countryCodes: [ - "au" - ], - languageCodes: [ - "en" - ], - name: "Maptime Australia Slack", - description: "Sign up at {signupUrl}", - signupUrl: "https://bit.ly/maptimeau", - url: "https://maptimeaustralia.slack.com", - contacts: [ - { - name: "David Dean", - email: "ddean@ieee.org" - }, - { - name: "Philip Mallis", - email: "philip.mallis@unimelb.edu.au" - }, - { - name: "Edoardo Neerhut", - email: "ed@mapillary.com" - } - ] - }, - "talk-au": { - id: "talk-au", - featureId: "australia_full", - type: "mailinglist", - countryCodes: [ - "au" - ], - languageCodes: [ - "en" - ], - name: "Talk-au Mailing List", - description: "Place for Aussie mappers to chat", - url: "https://lists.openstreetmap.org/listinfo/talk-au", - contacts: [ - { - name: "Ben Kelley", - email: "ben.kelley@gmail.com" - }, - { - name: "Steve Bennett", - email: "stevagewp@gmail.com" - }, - { - name: "Ian Sergeant", - email: "inas66+osm@gmail.com" - } - ] - }, - "OSM-AR-facebook": { - id: "OSM-AR-facebook", - featureId: "argentina", - type: "facebook", - name: "OpenStreetMap Argentina Facebook", - countryCodes: [ - "ar" - ], - languageCodes: [ - "es" - ], - description: "Join the OpenStreetMap Argentina community on Facebook", - extendedDescription: "News from the local community", - url: "https://www.facebook.com/OpenStreetMapArgentina/", - contacts: [ - { - name: "OpenStreetMap Argentina", - email: "openstreetmap.org.ar@gmail.com" - } - ] - }, - "OSM-AR-forum": { - id: "OSM-AR-forum", - featureId: "argentina", - type: "forum", - name: "OpenStreetMap Argentina web forum", - countryCodes: [ - "ar" - ], - languageCodes: [ - "es" - ], - description: "Join the OpenStreetMap Argentina web forum", - extendedDescription: "Ideal for long or important discussions. Slow response time.", - url: "https://forum.openstreetmap.org/viewforum.php?id=49", - contacts: [ - { - name: "OpenStreetMap Argentina", - email: "openstreetmap.org.ar@gmail.com" - } - ] - }, - "OSM-AR-irc": { - id: "OSM-AR-irc", - featureId: "argentina", - type: "irc", - name: "OpenStreetMap Argentina IRC", - countryCodes: [ - "ar" - ], - languageCodes: [ - "es" - ], - description: "Join #osm-ar on irc.oftc.net (port 6667)", - extendedDescription: "You may find the most geeky user in the community.", - url: "https://irc.openstreetmap.org/?chan=osm-ar", - contacts: [ - { - name: "OpenStreetMap Argentina", - email: "openstreetmap.org.ar@gmail.com" - } - ] - }, - "OSM-AR-mailinglist": { - id: "OSM-AR-mailinglist", - featureId: "argentina", - type: "mailinglist", - name: "Talk-ar Mailing List", - countryCodes: [ - "ar" - ], - languageCodes: [ - "es" - ], - description: "Historic mailing list. Almost unused today.", - url: "https://lists.openstreetmap.org/pipermail/talk-ar/", - contacts: [ - { - name: "OpenStreetMap Argentina", - email: "openstreetmap.org.ar@gmail.com" - } - ] - }, - "OSM-AR-telegram": { - id: "OSM-AR-telegram", - featureId: "argentina", - type: "telegram", - name: "OpenStreetMap Argentina Telegram", - countryCodes: [ - "ar" - ], - languageCodes: [ - "es" - ], - description: "Join the OpenStreetMap Argentina community on Telegram", - extendedDescription: "The most active channel in the community, ideal for chatting and getting answers to your questions instantly. Everyone is welcome!", - url: "https://telegram.me/osm_ar", - contacts: [ - { - name: "OpenStreetMap Argentina", - email: "openstreetmap.org.ar@gmail.com" - } - ] - }, - "OSM-AR-twitter": { - id: "OSM-AR-twitter", - featureId: "argentina", - type: "twitter", - name: "OpenStreetMap Argentina Twitter", - countryCodes: [ - "ar" - ], - languageCodes: [ - "es" - ], - description: "Follow us on Twitter at {url}", - extendedDescription: "News from the local community and OpenStreetMap in general.", - url: "https://twitter.com/OpenStreetMapAr", - contacts: [ - { - name: "OpenStreetMap Argentina", - email: "openstreetmap.org.ar@gmail.com" - } - ] - }, - "OSM-BO-mailinglist": { - id: "OSM-BO-mailinglist", - featureId: "bolivia", - type: "mailinglist", - name: "Talk-bo Mailing List", - countryCodes: [ - "bo" - ], - languageCodes: [ - "es" - ], - description: "Talk-bo is the official mailing list for the Bolivian OpenStreetMap community", - extendedDescription: "Mapping in Bolivia? Have questions, want to connect with the community here? Join us at {url}. All are welcome!", - url: "https://lists.openstreetmap.org/pipermail/talk-bo/", - contacts: [ - { - name: "Marco Antonio", - email: "marcoantoniofrias@gmail.com" - } - ] - }, - "Bahia-telegram": { - id: "Bahia-telegram", - featureId: "bahia", - type: "telegram", - name: "OpenStreetMap Bahia Telegram Group", - countryCodes: [ - "br" - ], - languageCodes: [ - "pt" - ], - description: "Join the OpenStreetMap Bahia community on Telegram", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!", - url: "https://t.me/OSMBA", - contacts: [ - { - name: "Wille Marcel", - email: "wille@wille.blog.br" - } - ] - }, - "DF-telegram": { - id: "DF-telegram", - featureId: "df_br", - type: "telegram", - name: "OpenStreetMap Brasília Telegram Group", - countryCodes: [ - "br" - ], - languageCodes: [ - "pt" - ], - description: "Join the OpenStreetMap Brasília community on Telegram", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!", - url: "https://t.me/osmbsb", - contacts: [ - { - name: "Wille Marcel", - email: "wille@wille.blog.br" - } - ] - }, - "OSM-br-mailinglist": { - id: "OSM-br-mailinglist", - featureId: "brazil", - type: "mailinglist", - name: "Talk-br Mailing List", - countryCodes: [ - "br" - ], - languageCodes: [ - "pt" - ], - description: "A mailing list to discuss OpenStreetMap in Brazil", - url: "https://lists.openstreetmap.org/pipermail/talk-br/", - contacts: [ - { - name: "Arlindo Pereira", - email: "nighto@gmail.com" - } - ] - }, - "OSM-br-telegram": { - id: "OSM-br-telegram", - featureId: "brazil", - type: "telegram", - name: "OpenStreetMap Brasil Telegram", - countryCodes: [ - "br" - ], - languageCodes: [ - "pt" - ], - description: "Join the OpenStreetMap Brasil community on Telegram", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!", - url: "https://t.me/OSMBrasil_Comunidade", - contacts: [ - { - name: "Vitor George", - email: "vitor.george@gmail.com" - } - ], - events: [ - { - id: "webinar_mundogeo", - name: "Webinar: OpenStreetMap em Prefeituras e Empresas", - description: "Participe do webinar sobre como utilizar o OpenStreeMap em prefeituras e empresas.", - where: "Online", - when: "2018-05-02 14:30", - url: "http://mundogeo.com/webinar/webinar.html" - }, - { - id: "mundogeo", - name: "Painel OpenStreetMap no MundoGeo #connect", - description: "Participe do painel sobre o OpenStreetMap no MundoGeo #connect.", - where: "São Paulo, SP, Brasil", - when: "2018-05-16 11:00", - url: "http://mundogeoconnect.com/2018/atividades-especiais/" - } - ] - }, - "OSM-br-twitter": { - id: "OSM-br-twitter", - featureId: "brazil", - type: "twitter", - name: "OpenStreetMap Brasil Twitter", - countryCodes: [ - "br" - ], - languageCodes: [ - "pt" - ], - description: "Follow us on Twitter at {url}", - url: "https://twitter.com/OpenStreetMapBR", - contacts: [ - { - name: "Wille Marcel", - email: "wille@wille.blog.br" - } - ] - }, - "OSM-CL-facebook": { - id: "OSM-CL-facebook", - featureId: "chile", - type: "facebook", - name: "OpenStreetMap Chile Facebook", - countryCodes: [ - "cl" - ], - languageCodes: [ - "es" - ], - description: "Join the OpenStreetMap Chile community on Facebook", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!", - url: "https://www.facebook.com/OpenStreetMap-Chile-145127198882915/", - contacts: [ - { - name: "Julio Costa", - email: "julio.costa@openstreetmap.cl" - } - ] - }, - "OSM-CL-mailinglist": { - id: "OSM-CL-mailinglist", - featureId: "chile", - type: "mailinglist", - name: "Talk-cl Mailing List", - countryCodes: [ - "cl" - ], - languageCodes: [ - "es" - ], - description: "A mailing list to discuss OpenStreetMap in Chile", - url: "https://lists.openstreetmap.org/pipermail/talk-cl/", - contacts: [ - { - name: "Julio Costa", - email: "julio.costa@openstreetmap.cl" - } - ] - }, - "OSM-CL-telegram": { - id: "OSM-CL-telegram", - featureId: "chile", - type: "telegram", - name: "OpenStreetMap Chile Telegram", - countryCodes: [ - "cl" - ], - languageCodes: [ - "es" - ], - description: "Join the OpenStreetMap Chile community on Telegram", - extendedDescription: "Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!", - url: "https://t.me/OSMcl", - contacts: [ - { - name: "Julio Costa", - email: "julio.costa@openstreetmap.cl" - } - ] - }, - "OSM-CL-twitter": { - id: "OSM-CL-twitter", - featureId: "chile", - type: "twitter", - name: "OpenStreetMap Chile Twitter", - countryCodes: [ - "cl" - ], - languageCodes: [ - "es" - ], - description: "Follow us on Twitter at {url}", - url: "https://twitter.com/osmCL", - contacts: [ - { - name: "Julio Costa", - email: "julio.costa@openstreetmap.cl" - } - ] - }, - "Maptime-Bogota": { - id: "Maptime-Bogota", - featureId: "bogota", - type: "meetup", - name: "Maptime Bogotá", - countryCodes: [ - "co" - ], - languageCodes: [ - "es" - ], - description: "We're a group of mappers interested in mapping in OpenStreetMap around Bogotá.", - extendedDescription: "Learn to collect data in the field and digitize onto OpenStreetMap. It is not necessary to have previous knowledge! You just need the desire to participate, learn, and have fun.", - url: "https://www.meetup.com/Maptime-Colombia-OSM/", - contacts: [ - { - name: "Andrés Gómez Casanova", - email: "angoca@gmail.com" - } - ] - }, - "OSM-CO-facebook": { - id: "OSM-CO-facebook", - featureId: "colombia", - type: "facebook", - name: "OpenStreetMap Colombia Facebook", - countryCodes: [ - "co" - ], - languageCodes: [ - "es" - ], - description: "Join the OpenStreetMap Colombia community on Facebook", - extendedDescription: "Join the community to learn more about OpenStreetMap. Everyone is welcome!", - url: "https://www.facebook.com/groups/OsmCol/", - contacts: [ - { - name: "Fredy Rivera", - email: "fredyrivera@gmail.com" - } - ] - }, - "OSM-CO-mailinglist": { - id: "OSM-CO-mailinglist", - featureId: "colombia", - type: "mailinglist", - name: "Talk-co Mailing List", - countryCodes: [ - "co" - ], - languageCodes: [ - "es" - ], - description: "A mailing list to discuss OpenStreetMap in Colombia", - url: "https://lists.openstreetmap.org/pipermail/talk-co/", - contacts: [ - { - name: "Fredy Rivera", - email: "fredyrivera@gmail.com" - } - ] - }, - "OSM-CO-telegram": { - id: "OSM-CO-telegram", - type: "telegram", - featureId: "colombia", - countryCodes: [ - "co" - ], - languageCodes: [ - "es" - ], - name: "OSM Colombia on Telegram", - description: "OpenStreetMap Colombia Telegram chat", - url: "https://telegram.me/osmco", - contacts: [ - { - name: "Fredy Rivera", - email: "fredyrivera@gmail.com" - } - ] - }, - "OSM-CO-twitter": { - id: "OSM-CO-twitter", - featureId: "colombia", - type: "twitter", - name: "OpenStreetMap Colombia Twitter", - countryCodes: [ - "co" - ], - languageCodes: [ - "es" - ], - description: "Follow us on Twitter at {url}", - url: "https://twitter.com/OpenStreetMapCo", - contacts: [ - { - name: "Fredy Rivera", - email: "fredyrivera@gmail.com" - } - ] - }, - "OSM-CO": { - id: "OSM-CO", - featureId: "colombia", - type: "group", - countryCodes: [ - "co" - ], - languageCodes: [ - "es" - ], - name: "OpenStreetMap Colombia", - description: "News of the OpenStreetMap Colombia community and the OSMCo Foundation", - url: "https://blog.openstreetmap.co/s657", - contacts: [ - { - name: "Fredy Rivera", - email: "fredyrivera@gmail.com" - } - ] - }, - "OSM-EC-telegram": { - id: "OSM-EC-telegram", - type: "telegram", - featureId: "ecuador", - languageCodes: [ - "es" - ], - countryCodes: [ - "ec" - ], - name: "OSM Ecuador on Telegram", - description: "OpenStreetMap Ecuador Telegram chat", - url: "https://telegram.me/MappingEcuador", - contacts: [ - { - name: "Talk-ec Owner", - email: "talk-ec-owner@openstreetmap.org" - } - ] - }, - "OSM-PY-telegram": { - id: "OSM-PY-telegram", - type: "telegram", - featureId: "paraguay", - languageCodes: [ - "es" - ], - countryCodes: [ - "py" - ], - name: "OSM Paraguay on Telegram", - description: "OpenStreetMap Paraguay Telegram chat", - url: "https://telegram.me/osm_py", - contacts: [ - { - name: "Talk-py Owner", - email: "talk-py-owner@openstreetmap.org" - } - ] - }, - "OSM-PE-facebook": { - id: "OSM-PE-facebook", - featureId: "peru", - type: "facebook", - name: "OpenStreetMap Peru Facebook", - countryCodes: [ - "pe" - ], - languageCodes: [ - "es" - ], - description: "Join the OpenStreetMap Peru community on Facebook", - url: "https://www.facebook.com/Osmpe", - contacts: [ - { - name: "Diego Sangunietti", - email: "diego.sanguinetti@hotmail.com" - }, - { - name: "Ruben Lopez M.", - email: "rub2106@gmail.com" - } - ] - }, - "OSM-PE-mailinglist": { - id: "OSM-PE-mailinglist", - featureId: "peru", - type: "mailinglist", - name: "Talk-pe Mailing List", - countryCodes: [ - "pe" - ], - languageCodes: [ - "es" - ], - description: "The official mailing list for the OpenStreetMap Peru community", - url: "https://lists.openstreetmap.org/pipermail/talk-pe/", - contacts: [ - { - name: "Diego Sangunietti", - email: "diego.sanguinetti@hotmail.com" - }, - { - name: "Ruben Lopez M.", - email: "rub2106@gmail.com" - } - ] - }, - "OSM-PE-matrix": { - id: "OSM-PE-matrix", - featureId: "peru", - type: "matrix", - name: "OpenStreetMap Peru Matrix Chat", - countryCodes: [ - "pe" - ], - languageCodes: [ - "es" - ], - description: "Chat with other members of the OpenStreetMap Peru community in Matrix.", - url: "https://matrix.to/#/#osmpe:matrix.org", - contacts: [ - { - name: "Diego Sangunietti", - email: "diego.sanguinetti@hotmail.com" - }, - { - name: "Ruben Lopez M.", - email: "rub2106@gmail.com" - } - ] - }, - "OSM-PE-telegram": { - id: "OSM-PE-telegram", - featureId: "peru", - type: "telegram", - name: "OpenStreetMap Peru Telegram", - countryCodes: [ - "pe" - ], - languageCodes: [ - "es" - ], - description: "Join the OpenStreetMap Peru community on Telegram", - url: "https://telegram.me/osmPe", - contacts: [ - { - name: "Diego Sangunietti", - email: "diego.sanguinetti@hotmail.com" - }, - { - name: "Ruben Lopez M.", - email: "rub2106@gmail.com" - } - ] - }, - "OSM-PE-twitter": { - id: "OSM-PE-twitter", - featureId: "peru", - type: "twitter", - name: "OpenStreetMap Peru Twitter", - countryCodes: [ - "pe" - ], - languageCodes: [ - "es" - ], - description: "Follow us on Twitter at {url}", - url: "https://twitter.com/osmpe", - contacts: [ - { - name: "Diego Sangunietti", - email: "diego.sanguinetti@hotmail.com" - }, - { - name: "Ruben Lopez M.", - email: "rub2106@gmail.com" - } - ] - }, - "OSM-PE": { - id: "OSM-PE", - featureId: "peru", - type: "group", - name: "OpenStreetMap Peru", - countryCodes: [ - "ar" - ], - languageCodes: [ - "es" - ], - description: "News and resources for the OpenStreetMap Peru community", - url: "http://osmpe.ourproject.org/", - contacts: [ - { - name: "Diego Sangunietti", - email: "diego.sanguinetti@hotmail.com" - }, - { - name: "Ruben Lopez M.", - email: "rub2106@gmail.com" - } - ] - }, - "OSM-Facebook": { - id: "OSM-Facebook", - type: "facebook", - languageCodes: [ - "en" - ], - name: "OpenStreetMap on Facebook", - description: "Like us on Facebook for news and updates about OpenStreetMap.", - url: "https://www.facebook.com/OpenStreetMap", - contacts: [ - { - name: "Harry Wood", - email: "mail@harrywood.co.uk" - } - ] - }, - "OSM-help": { - id: "OSM-help", - type: "forum", - languageCodes: [ - "en" - ], - name: "OpenStreetMap Help", - description: "Ask a question and get answers on OSM's community-driven question and answer site.", - extendedDescription: "{url} is for everyone who needs help with OpenStreetMap. Whether you are a beginner mapper or have a technical question, we're here to help!", - url: "https://help.openstreetmap.org/", - contacts: [ - { - name: "OSMF Operations", - email: "operations@osmfoundation.org" - } - ] - }, - "OSM-Reddit": { - id: "OSM-Reddit", - type: "reddit", - languageCodes: [ - "en" - ], - name: "OpenStreetMap on Reddit", - description: "/r/openstreetmap/ is a great place to learn more about OpenStreetMap. Ask us anything!", - url: "https://www.reddit.com/r/openstreetmap/", - contacts: [ - { - name: "Serge Wroclawski", - email: "emacsen@gmail.com" - } - ] - }, - "OSM-Twitter": { - id: "OSM-Twitter", - type: "twitter", - languageCodes: [ - "en" - ], - name: "OpenStreetMap Twitter", - description: "Follow us on Twitter at {url}", - url: "https://twitter.com/openstreetmap", - contacts: [ - { - name: "Harry Wood", - email: "mail@harrywood.co.uk" - } - ] - }, - OSMF: { - id: "OSMF", - type: "group", - languageCodes: [ - "en", - "nl", - "fr", - "it", - "jp", - "ru" - ], - name: "OpenStreetMap Foundation", - description: "OSMF is a UK-based not-for-profit that supports the OpenStreetMap Project", - extendedDescription: "OSMF supports the OpenStreetMap by fundraising, maintaining the servers which power OSM, organizing the annual State of the Map conference, and coordinating the volunteers who keep OSM running. You can show your support and have a voice in the direction of OpenStreetMap by joining as an OSMF member here: {signupUrl}", - url: "https://wiki.osmfoundation.org/wiki/Main_Page", - signupUrl: "https://join.osmfoundation.org/", - contacts: [ - { - name: "OSMF Board", - email: "board@osmfoundation.org" - } - ], - events: [ - { - id: "sotm2018", - i18n: true, - name: "State of the Map 2018", - description: "Join us for 3 days in Milan, Italy for the annual worldwide OpenStreetMap conference, bringing together everyone in the community to socialize, share, and learn.", - where: "Milan, Italy", - when: "2018-jul-28", - url: "https://2018.stateofthemap.org/" - } - ] - } - }; - - var dataImagery = [ - { - id: "sjcgis.org-Aerials_2013_WM", - name: "2013 aerial imagery for San Juan County WA", - type: "tms", - template: "https://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2013_WM/MapServer/tile/{zoom}/{y}/{x}", - endDate: "2013-06-01T00:00:00.000Z", - startDate: "2013-05-01T00:00:00.000Z", - scaleExtent: [ - 0, - 19 - ], - polygon: [ - [ - [ - -123.02167396992, - 48.44667085335 - ], - [ - -122.9466579482, - 48.44780949945 - ], - [ - -122.90151100606, - 48.41306930778 - ], - [ - -122.80263405293, - 48.40771378918 - ], - [ - -122.79199104756, - 48.44279926564 - ], - [ - -122.8088138625, - 48.47865708877 - ], - [ - -122.73911934346, - 48.49572334021 - ], - [ - -122.78546791524, - 48.62160819278 - ], - [ - -122.73087959737, - 48.6361306644 - ], - [ - -122.75559883565, - 48.71207854113 - ], - [ - -122.95747261494, - 48.71592956034 - ], - [ - -122.97086220235, - 48.695765074 - ], - [ - -122.99970131367, - 48.69780454658 - ], - [ - -123.00347786397, - 48.73427448605 - ], - [ - -123.04330330342, - 48.74310484148 - ], - [ - -123.0762622878, - 48.70528190578 - ], - [ - -123.08484535664, - 48.66334903433 - ], - [ - -123.12844734639, - 48.66380254936 - ], - [ - -123.22698097676, - 48.70301615666 - ], - [ - -123.24655037373, - 48.68352650341 - ], - [ - -123.17445259541, - 48.64701977542 - ], - [ - -123.21513634175, - 48.60106537642 - ], - [ - -123.21393471211, - 48.57335906966 - ], - [ - -123.18080406636, - 48.56574853208 - ], - [ - -123.16621284932, - 48.52006125122 - ], - [ - -123.10235481709, - 48.47683634964 - ], - [ - -123.02167396992, - 48.44667085335 - ] - ], - [ - [ - -122.98339348286, - 48.78214357977 - ], - [ - -122.93498497456, - 48.76653172572 - ], - [ - -122.91181068867, - 48.73857664785 - ], - [ - -122.80229073018, - 48.73982194177 - ], - [ - -122.81945686787, - 48.75498940888 - ], - [ - -122.93429832906, - 48.79571515892 - ], - [ - -122.98373680562, - 48.79435816618 - ], - [ - -122.98339348286, - 48.78214357977 - ] - ] - ], - terms_url: "https://www.arcgis.com/home/item.html?id=7bf69831861d438d8365cf9f46662523", - terms_text: "Pictometry Inc, San Juan County GIS", - description: "Public domain aerial imagery taken in May/June 2013 from San Juan County, WA. Resolution is 9 inch." - }, - { - id: "sjcgis.org-Aerials_2016_WM", - name: "2016 aerial imagery for San Juan County WA", - type: "tms", - template: "https://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2016_WM/MapServer/tile/{zoom}/{y}/{x}", - endDate: "2016-07-01T00:00:00.000Z", - startDate: "2016-05-01T00:00:00.000Z", - scaleExtent: [ - 0, - 19 - ], - polygon: [ - [ - [ - -123.02167396992, - 48.44667085335 - ], - [ - -122.9466579482, - 48.44780949945 - ], - [ - -122.90151100606, - 48.41306930778 - ], - [ - -122.80263405293, - 48.40771378918 - ], - [ - -122.79199104756, - 48.44279926564 - ], - [ - -122.8088138625, - 48.47865708877 - ], - [ - -122.73911934346, - 48.49572334021 - ], - [ - -122.78546791524, - 48.62160819278 - ], - [ - -122.73087959737, - 48.6361306644 - ], - [ - -122.75559883565, - 48.71207854113 - ], - [ - -122.95747261494, - 48.71592956034 - ], - [ - -122.97086220235, - 48.695765074 - ], - [ - -122.99970131367, - 48.69780454658 - ], - [ - -123.00347786397, - 48.73427448605 - ], - [ - -123.04330330342, - 48.74310484148 - ], - [ - -123.0762622878, - 48.70528190578 - ], - [ - -123.08484535664, - 48.66334903433 - ], - [ - -123.12844734639, - 48.66380254936 - ], - [ - -123.22698097676, - 48.70301615666 - ], - [ - -123.24655037373, - 48.68352650341 - ], - [ - -123.17445259541, - 48.64701977542 - ], - [ - -123.21513634175, - 48.60106537642 - ], - [ - -123.21393471211, - 48.57335906966 - ], - [ - -123.18080406636, - 48.56574853208 - ], - [ - -123.16621284932, - 48.52006125122 - ], - [ - -123.10235481709, - 48.47683634964 - ], - [ - -123.02167396992, - 48.44667085335 - ] - ], - [ - [ - -122.98339348286, - 48.78214357977 - ], - [ - -122.93498497456, - 48.76653172572 - ], - [ - -122.91181068867, - 48.73857664785 - ], - [ - -122.80229073018, - 48.73982194177 - ], - [ - -122.81945686787, - 48.75498940888 - ], - [ - -122.93429832906, - 48.79571515892 - ], - [ - -122.98373680562, - 48.79435816618 - ], - [ - -122.98339348286, - 48.78214357977 - ] - ] - ], - best: true, - description: "Public domain aerial imagery taken in May, June, and July from San Juan County, WA. Resolution is 6 inch countywide." - }, - { - id: "OS7", - name: "7th Series (OS7)", - type: "tms", - template: "https://ooc.openstreetmap.org/os7/{zoom}/{x}/{y}.jpg", - polygon: [ - [ - [ - -3.046968, - 54.839473 - ], - [ - -3.058641, - 55.2415704 - ], - [ - -4.0446639, - 55.2329572 - ], - [ - -4.0707564, - 55.6365416 - ], - [ - -4.6190429, - 55.6253005 - ], - [ - -4.6492553, - 56.0283381 - ], - [ - -4.4896102, - 56.0321747 - ], - [ - -4.5239425, - 56.4367031 - ], - [ - -3.8675094, - 56.4458128 - ], - [ - -3.8417602, - 56.049435 - ], - [ - -3.445909, - 56.0498185 - ], - [ - -3.4349227, - 55.6442923 - ], - [ - -2.7949691, - 55.6504917 - ], - [ - -2.8080153, - 56.0574872 - ], - [ - -3.2066131, - 56.0532696 - ], - [ - -3.2141662, - 56.4568175 - ], - [ - -3.7380767, - 56.4507463 - ], - [ - -3.7418532, - 56.8617541 - ], - [ - -5.0766921, - 56.8317131 - ], - [ - -5.0365233, - 56.4294897 - ], - [ - -5.1601195, - 56.4249331 - ], - [ - -5.1299071, - 56.0179772 - ], - [ - -5.9260726, - 55.994559 - ], - [ - -5.8551764, - 55.2333487 - ], - [ - -5.2280974, - 55.2513559 - ], - [ - -5.2102447, - 55.027647 - ], - [ - -4.659555, - 55.0418131 - ], - [ - -4.6454787, - 54.8163344 - ], - [ - -3.046968, - 54.839473 - ] - ], - [ - [ - -1.7483497, - 57.7642809 - ], - [ - -1.7406468, - 57.3599979 - ], - [ - -2.5802193, - 57.3553698 - ], - [ - -2.5743689, - 57.0452643 - ], - [ - -2.0840782, - 57.0479899 - ], - [ - -2.0765057, - 56.6427564 - ], - [ - -2.734497, - 56.6390587 - ], - [ - -2.737815, - 56.8171751 - ], - [ - -3.2388513, - 56.8143725 - ], - [ - -3.2489563, - 57.351683 - ], - [ - -3.7562947, - 57.3488858 - ], - [ - -3.7621877, - 57.6586785 - ], - [ - -4.7658688, - 57.6447324 - ], - [ - -4.810078, - 58.2698422 - ], - [ - -5.2511001, - 58.2654711 - ], - [ - -5.2737594, - 58.6676722 - ], - [ - -3.5581778, - 58.6988712 - ], - [ - -3.566072, - 58.9316035 - ], - [ - -3.3765578, - 58.9344382 - ], - [ - -3.3858372, - 59.2017095 - ], - [ - -3.187134, - 59.2021481 - ], - [ - -3.1874677, - 59.2417623 - ], - [ - -3.0675673, - 59.2420266 - ], - [ - -3.0785537, - 59.4213467 - ], - [ - -2.3713088, - 59.4276337 - ], - [ - -2.3685622, - 59.0221982 - ], - [ - -2.678926, - 59.0207845 - ], - [ - -2.6734328, - 58.8393493 - ], - [ - -2.8656936, - 58.8365068 - ], - [ - -2.8602004, - 58.5353109 - ], - [ - -3.0346084, - 58.5331604 - ], - [ - -3.0195022, - 58.1315879 - ], - [ - -3.6155983, - 58.1198177 - ], - [ - -3.6127639, - 57.9775439 - ], - [ - -3.7109154, - 57.9756153 - ], - [ - -3.699316, - 57.7536442 - ], - [ - -1.7483497, - 57.7642809 - ] - ], - [ - [ - -7.0749164, - 56.7631857 - ], - [ - -7.7347099, - 56.7356573 - ], - [ - -7.7911007, - 57.1399384 - ], - [ - -7.7066243, - 57.1434261 - ], - [ - -7.7629881, - 57.5431114 - ], - [ - -7.6021787, - 57.5496778 - ], - [ - -7.6213373, - 57.6845215 - ], - [ - -7.724988, - 57.6803049 - ], - [ - -7.7301746, - 57.7167278 - ], - [ - -7.6026437, - 57.7219106 - ], - [ - -7.5996413, - 57.7008338 - ], - [ - -7.4863439, - 57.7054402 - ], - [ - -7.49528, - 57.7681282 - ], - [ - -7.3749316, - 57.7730121 - ], - [ - -7.3933722, - 57.9020139 - ], - [ - -7.2359063, - 57.9083804 - ], - [ - -7.2432312, - 57.9594843 - ], - [ - -7.1391571, - 57.9636854 - ], - [ - -7.1450794, - 58.0049464 - ], - [ - -7.2374247, - 58.001223 - ], - [ - -7.2329687, - 57.9701789 - ], - [ - -7.3113276, - 57.9670164 - ], - [ - -7.3153794, - 57.9952475 - ], - [ - -7.2490415, - 57.9979228 - ], - [ - -7.2808211, - 58.218564 - ], - [ - -7.0735459, - 58.2268701 - ], - [ - -7.0827038, - 58.2901845 - ], - [ - -6.807432, - 58.3011927 - ], - [ - -6.8276802, - 58.4407359 - ], - [ - -6.5030498, - 58.4536624 - ], - [ - -6.5153194, - 58.5379206 - ], - [ - -6.1647379, - 58.5518417 - ], - [ - -6.1063084, - 58.1489361 - ], - [ - -6.3346892, - 58.139764 - ], - [ - -6.2775862, - 57.7414459 - ], - [ - -6.9613783, - 57.7136632 - ], - [ - -6.9333168, - 57.5161471 - ], - [ - -7.100168, - 57.5093277 - ], - [ - -7.0521806, - 57.169002 - ], - [ - -7.1311072, - 57.1657457 - ], - [ - -7.0749164, - 56.7631857 - ] - ], - [ - [ - 0.4107642, - 50.8208689 - ], - [ - 0.9810233, - 50.8061178 - ], - [ - 0.9943731, - 51.0117337 - ], - [ - 1.4506241, - 50.9999804 - ], - [ - 1.4771216, - 51.4055151 - ], - [ - 0.8961869, - 51.4203486 - ], - [ - 0.882435, - 51.2103932 - ], - [ - 0.5050041, - 51.2200721 - ], - [ - 0.5227271, - 51.4904202 - ], - [ - -0.6339669, - 51.5106322 - ], - [ - -0.6367135, - 51.4456291 - ], - [ - -1.0995126, - 51.4524759 - ], - [ - -1.1148479, - 51.0481357 - ], - [ - -0.5298744, - 51.0394048 - ], - [ - -0.5275085, - 51.10203 - ], - [ - 0.4280611, - 51.0877836 - ], - [ - 0.4107642, - 50.8208689 - ] - ], - [ - [ - -5.3945661, - 51.9618998 - ], - [ - -4.7958112, - 51.9805124 - ], - [ - -4.7887332, - 51.8940308 - ], - [ - -4.2026458, - 51.9122773 - ], - [ - -4.2294099, - 52.2382823 - ], - [ - -3.6551984, - 52.2560218 - ], - [ - -3.6222764, - 51.8548323 - ], - [ - -4.2134157, - 51.836405 - ], - [ - -4.1855134, - 51.4934202 - ], - [ - -4.776615, - 51.4748465 - ], - [ - -4.7847576, - 51.5752482 - ], - [ - -5.0879928, - 51.5657379 - ], - [ - -5.0942224, - 51.6424172 - ], - [ - -5.3678001, - 51.6338498 - ], - [ - -5.3945661, - 51.9618998 - ] - ], - [ - [ - -1.2389016, - 54.0353696 - ], - [ - -0.6277871, - 54.0281103 - ], - [ - -0.6200376, - 54.2525704 - ], - [ - -0.5726819, - 54.2520109 - ], - [ - -0.5586479, - 54.6554165 - ], - [ - -1.17998, - 54.6626853 - ], - [ - -1.1878192, - 54.4378771 - ], - [ - -1.2322093, - 54.4383992 - ], - [ - -1.2389016, - 54.0353696 - ] - ], - [ - [ - -2.6722741, - 50.9767709 - ], - [ - -2.0996118, - 50.9802295 - ], - [ - -2.1057212, - 51.3794917 - ], - [ - -1.5887659, - 51.3825866 - ], - [ - -1.594992, - 51.7858908 - ], - [ - -2.1756313, - 51.7889106 - ], - [ - -2.1715392, - 51.3839176 - ], - [ - -2.6784576, - 51.3808828 - ], - [ - -2.6722741, - 50.9767709 - ] - ], - [ - [ - -2.6015496, - 53.2715461 - ], - [ - -3.2297251, - 53.2685042 - ], - [ - -3.2352183, - 53.6723131 - ], - [ - -2.6070428, - 53.6753262 - ], - [ - -2.6015496, - 53.2715461 - ] - ], - [ - [ - -0.0394177, - 51.7727994 - ], - [ - -0.6156335, - 51.7757705 - ], - [ - -0.6046472, - 52.5841377 - ], - [ - -0.0284314, - 52.5812201 - ], - [ - -0.0394177, - 51.7727994 - ] - ], - [ - [ - -2.9152892, - 54.0352257 - ], - [ - -3.5322877, - 54.0286638 - ], - [ - -3.5448438, - 54.4339736 - ], - [ - -2.9278454, - 54.4404713 - ], - [ - -2.9152892, - 54.0352257 - ] - ], - [ - [ - -6.3058305, - 57.1968949 - ], - [ - -6.3538957, - 57.6001458 - ], - [ - -5.6911121, - 57.6229455 - ], - [ - -5.643047, - 57.2199469 - ], - [ - -6.3058305, - 57.1968949 - ] - ], - [ - [ - 1.171145, - 52.5723589 - ], - [ - 1.1986505, - 52.9759408 - ], - [ - 1.7978754, - 52.9610616 - ], - [ - 1.7703699, - 52.5573411 - ], - [ - 1.171145, - 52.5723589 - ] - ], - [ - [ - -2.4022508, - 55.5631737 - ], - [ - -2.4008775, - 55.9656986 - ], - [ - -1.7608445, - 55.965011 - ], - [ - -1.7622178, - 55.562479 - ], - [ - -2.4022508, - 55.5631737 - ] - ], - [ - [ - -6.3257432, - 56.3853727 - ], - [ - -7.0196021, - 56.3574652 - ], - [ - -7.0731605, - 56.7638392 - ], - [ - -6.3793015, - 56.7914485 - ], - [ - -6.3257432, - 56.3853727 - ] - ], - [ - [ - -2.422577, - 54.4430983 - ], - [ - -2.4257397, - 54.841885 - ], - [ - -1.7993058, - 54.8435404 - ], - [ - -1.7961431, - 54.4447701 - ], - [ - -2.422577, - 54.4430983 - ] - ], - [ - [ - -3.0270123, - 51.3793548 - ], - [ - -3.6058877, - 51.370168 - ], - [ - -3.6223672, - 51.7730401 - ], - [ - -3.0434918, - 51.7821458 - ], - [ - -3.0270123, - 51.3793548 - ] - ], - [ - [ - -3.0537915, - 52.1897924 - ], - [ - -3.0661511, - 52.5937352 - ], - [ - -2.4836401, - 52.600342 - ], - [ - -2.4712805, - 52.1964599 - ], - [ - -3.0537915, - 52.1897924 - ] - ], - [ - [ - -5.676726, - 51.7042466 - ], - [ - -5.6788616, - 51.731006 - ], - [ - -5.4635982, - 51.7375973 - ], - [ - -5.4614627, - 51.7108418 - ], - [ - -5.676726, - 51.7042466 - ] - ], - [ - [ - -5.8442675, - 59.1088192 - ], - [ - -5.8469031, - 59.1357806 - ], - [ - -5.7955763, - 59.1371015 - ], - [ - -5.7929408, - 59.1101412 - ], - [ - -5.8442675, - 59.1088192 - ] - ], - [ - [ - -8.648442, - 57.7786066 - ], - [ - -8.6659651, - 57.87717 - ], - [ - -8.4664946, - 57.8872093 - ], - [ - -8.4489714, - 57.7886733 - ], - [ - -8.648442, - 57.7786066 - ] - ], - [ - [ - -4.5271098, - 59.0153156 - ], - [ - -4.5285904, - 59.0331938 - ], - [ - -4.4762337, - 59.034342 - ], - [ - -4.4747531, - 59.0164644 - ], - [ - -4.5271098, - 59.0153156 - ] - ], - [ - [ - -7.6806151, - 58.2583811 - ], - [ - -7.6865455, - 58.2938023 - ], - [ - -7.5344535, - 58.3008387 - ], - [ - -7.5285231, - 58.2654246 - ], - [ - -7.6806151, - 58.2583811 - ] - ], - [ - [ - -6.1910235, - 59.080087 - ], - [ - -6.1954619, - 59.1158563 - ], - [ - -6.125424, - 59.1181472 - ], - [ - -6.1209857, - 59.0823803 - ], - [ - -6.1910235, - 59.080087 - ] - ], - [ - [ - -4.4266879, - 59.0711219 - ], - [ - -4.4280472, - 59.0886998 - ], - [ - -4.3762055, - 59.089758 - ], - [ - -4.3748462, - 59.0721806 - ], - [ - -4.4266879, - 59.0711219 - ] - ] - ] - }, - { - id: "ACT2017", - name: "ACTmapi Imagery 2017", - type: "wms", - template: "https://data.actmapi.act.gov.au/arcgis/services/actmapi/imagery2017mga/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - endDate: "2017-05-01T00:00:00.000Z", - startDate: "2017-05-01T00:00:00.000Z", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 149.085, - -35.1171 - ], - [ - 149.1509, - -35.1157 - ], - [ - 149.1509, - -35.1335 - ], - [ - 149.1736, - -35.1335 - ], - [ - 149.1739, - -35.1512 - ], - [ - 149.1957, - -35.1512 - ], - [ - 149.1962, - -35.1689 - ], - [ - 149.2177, - -35.1683 - ], - [ - 149.2192, - -35.2048 - ], - [ - 149.241, - -35.2043 - ], - [ - 149.2419, - -35.2223 - ], - [ - 149.2632, - -35.2222 - ], - [ - 149.2644, - -35.2575 - ], - [ - 149.3085, - -35.2571 - ], - [ - 149.309, - -35.2751 - ], - [ - 149.3531, - -35.2742 - ], - [ - 149.3536, - -35.2921 - ], - [ - 149.3974, - -35.2917 - ], - [ - 149.3988, - -35.3452 - ], - [ - 149.3777, - -35.3457 - ], - [ - 149.3772, - -35.3641 - ], - [ - 149.3341, - -35.3648 - ], - [ - 149.3385, - -35.5451 - ], - [ - 149.1624, - -35.5487 - ], - [ - 149.1727, - -35.9271 - ], - [ - 149.0175, - -35.9294 - ], - [ - 149.0172, - -35.9113 - ], - [ - 148.9506, - -35.9125 - ], - [ - 148.9499, - -35.8946 - ], - [ - 148.9277, - -35.8949 - ], - [ - 148.9272, - -35.8768 - ], - [ - 148.9053, - -35.8768 - ], - [ - 148.9042, - -35.8586 - ], - [ - 148.8826, - -35.859 - ], - [ - 148.8805, - -35.7695 - ], - [ - 148.8361, - -35.7698 - ], - [ - 148.8359, - -35.7521 - ], - [ - 148.8138, - -35.7524 - ], - [ - 148.8131, - -35.7343 - ], - [ - 148.7909, - -35.7347 - ], - [ - 148.7911, - -35.7167 - ], - [ - 148.7688, - -35.7167 - ], - [ - 148.7617, - -35.3924 - ], - [ - 148.7839, - -35.3921 - ], - [ - 148.7822, - -35.3022 - ], - [ - 148.8041, - -35.302 - ], - [ - 148.8033, - -35.2836 - ], - [ - 148.8474, - -35.2832 - ], - [ - 148.8469, - -35.2652 - ], - [ - 148.8689, - -35.2643 - ], - [ - 148.8687, - -35.2466 - ], - [ - 148.9128, - -35.246 - ], - [ - 148.9123, - -35.2282 - ], - [ - 148.9341, - -35.228 - ], - [ - 148.9329, - -35.1919 - ], - [ - 148.999, - -35.1904 - ], - [ - 148.9986, - -35.1724 - ], - [ - 149.0206, - -35.172 - ], - [ - 149.0204, - -35.154 - ], - [ - 149.0637, - -35.1532 - ], - [ - 149.0635, - -35.1355 - ], - [ - 149.0857, - -35.1348 - ], - [ - 149.085, - -35.1171 - ] - ] - ], - terms_url: "https://actmapi-actgov.opendata.arcgis.com/datasets/884456bde6fd46d68e0c05479f55d548", - terms_text: "© Jacobs Group (Australia) Pty Ltd and Australian Capital Territory", - best: true - }, - { - id: "AGIV10cm", - name: "AGIV Flanders 2013-2015 aerial imagery 10cm", - type: "wms", - template: "https://geoservices.informatievlaanderen.be/raadpleegdiensten/OGW/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OGWRGB13_15VL&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 5.9849448, - 50.7072276 - ], - [ - 5.9849448, - 50.7671973 - ], - [ - 5.9107871, - 50.8227527 - ], - [ - 5.7556052, - 50.8353303 - ], - [ - 5.7542319, - 50.8626424 - ], - [ - 5.8331961, - 50.9332328 - ], - [ - 5.8551688, - 51.026611 - ], - [ - 5.9094138, - 51.0775439 - ], - [ - 5.9121604, - 51.1822548 - ], - [ - 5.8785147, - 51.2080728 - ], - [ - 5.7741446, - 51.2368858 - ], - [ - 5.684194, - 51.2407548 - ], - [ - 5.6230826, - 51.2699769 - ], - [ - 5.6230826, - 51.2978925 - ], - [ - 5.5399985, - 51.34724 - ], - [ - 5.4473013, - 51.3485267 - ], - [ - 5.3985495, - 51.321071 - ], - [ - 5.3120322, - 51.3232166 - ], - [ - 5.2667136, - 51.3618196 - ], - [ - 5.1994223, - 51.3725369 - ], - [ - 5.1829428, - 51.3961061 - ], - [ - 5.1589102, - 51.4923992 - ], - [ - 5.0833792, - 51.5308596 - ], - [ - 5.0325675, - 51.539829 - ], - [ - 4.9556632, - 51.5052229 - ], - [ - 4.9014182, - 51.5056503 - ], - [ - 4.8382468, - 51.5436725 - ], - [ - 4.7709555, - 51.5586163 - ], - [ - 4.711904, - 51.5470886 - ], - [ - 4.6404929, - 51.4966741 - ], - [ - 4.6144003, - 51.4971016 - ], - [ - 4.5656485, - 51.5317139 - ], - [ - 4.4825644, - 51.5304324 - ], - [ - 4.4262595, - 51.5218884 - ], - [ - 4.3006034, - 51.4697351 - ], - [ - 4.2951102, - 51.4256575 - ], - [ - 4.181127, - 51.4243731 - ], - [ - 4.1371817, - 51.3952492 - ], - [ - 4.138555, - 51.3506709 - ], - [ - 4.0520377, - 51.3004685 - ], - [ - 3.933248, - 51.272984 - ], - [ - 3.8652701, - 51.2708361 - ], - [ - 3.8632102, - 51.2901637 - ], - [ - 3.7629599, - 51.3240748 - ], - [ - 3.5933585, - 51.359247 - ], - [ - 3.4773154, - 51.3313688 - ], - [ - 3.425817, - 51.3973913 - ], - [ - 3.2356162, - 51.3515286 - ], - [ - 3.2260031, - 51.3656781 - ], - [ - 3.1779379, - 51.3618196 - ], - [ - 3.1600852, - 51.3322268 - ], - [ - 3.0625815, - 51.3021857 - ], - [ - 2.7508444, - 51.1702014 - ], - [ - 2.4700064, - 51.0745241 - ], - [ - 2.4926657, - 50.9937771 - ], - [ - 2.5311179, - 50.9557299 - ], - [ - 2.5091452, - 50.9115907 - ], - [ - 2.5304312, - 50.8214514 - ], - [ - 2.5990958, - 50.7641572 - ], - [ - 2.6650138, - 50.7645915 - ], - [ - 2.7700705, - 50.66677 - ], - [ - 2.8970999, - 50.6589354 - ], - [ - 2.991857, - 50.7254874 - ], - [ - 3.1133933, - 50.7263567 - ], - [ - 3.2369895, - 50.7059231 - ], - [ - 3.3626456, - 50.6585001 - ], - [ - 3.4711356, - 50.7020092 - ], - [ - 3.6393637, - 50.6672052 - ], - [ - 3.6984152, - 50.681565 - ], - [ - 3.727941, - 50.7124454 - ], - [ - 3.8185782, - 50.6841754 - ], - [ - 3.8748831, - 50.6415206 - ], - [ - 4.0925498, - 50.642827 - ], - [ - 4.150228, - 50.6632881 - ], - [ - 4.2065329, - 50.6441333 - ], - [ - 4.3136496, - 50.642827 - ], - [ - 4.452352, - 50.6876557 - ], - [ - 4.5347495, - 50.6780842 - ], - [ - 4.6130271, - 50.6954855 - ], - [ - 4.6768851, - 50.6959204 - ], - [ - 4.7270102, - 50.732007 - ], - [ - 4.7805686, - 50.732007 - ], - [ - 4.7997946, - 50.7128802 - ], - [ - 4.8622794, - 50.7128802 - ], - [ - 4.8856253, - 50.6954855 - ], - [ - 4.9611563, - 50.6954855 - ], - [ - 5.0311942, - 50.6576295 - ], - [ - 5.1074118, - 50.6502288 - ], - [ - 5.2007956, - 50.6489227 - ], - [ - 5.2358145, - 50.6654643 - ], - [ - 5.3250784, - 50.6658995 - ], - [ - 5.3669638, - 50.6820001 - ], - [ - 5.4212088, - 50.6641586 - ], - [ - 5.5221457, - 50.6746032 - ], - [ - 5.622396, - 50.7241834 - ], - [ - 5.6752677, - 50.69853 - ], - [ - 5.7398123, - 50.6972252 - ], - [ - 5.7727713, - 50.6719923 - ], - [ - 5.8125968, - 50.6602413 - ], - [ - 5.9080405, - 50.659806 - ], - [ - 5.9849448, - 50.7072276 - ] - ] - ], - terms_text: "Orthophoto Flanders © AGIV", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABm0lEQVQ4y6WTPUgCYRjHf5oFJVfRUZKVHYFBoBAUFLZE0FBD0NQHRENESzS019LSFNHWx1DQEhGRg0JFREM11FJuLWem4GB5HULdwdkgHprn5LO97/O8v+fj/7y2bDabpQKzFx5S6ntlgE81xvHtclHAbuSNloNT5q/uywP021cAvO4hAPYu5/hI5e6GWpsBCEfjxNSMNUALPvJ7eA3AQPcML3KIzbNhlvdEWmu+6RCcAISiCWtA3fosPztBfrYvAGgX/QCIggdR8DDe6Qbg5E0uAdjyKhhykq+uBeySi9qVCfSAB61HRBQ8RFJpRs6vALiZHMUnNpYO0Ujn+jPkJJnVfbTBNeqfFQB8YqP56H8VJqBKcuHcWsQuuXIOyUX1sN8MnPJKlnOwWS2SIScx0hkcvV3mXUzN0HcSAuBoNMBYZxsADittVXcT/XcPKE/PltqHowkTYLcMkOMoml52+wr9jnIZAJZ8XjYGe0vaUDSdsBxnulsqrUDRdMLReNHg8tYhOAs2M2HdQiSVBqChprpI7/9q5JPYKv3OfxL1n52ATYYBAAAAAElFTkSuQmCC" - }, - { - id: "AGRI-black_and_white-2.5m", - name: "AGRI black-and-white 2.5m", - type: "tms", - template: "https://{switch:a,b,c}.agri.openstreetmap.org/layer/au_ga_agri/{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" - }, - { - id: "alagoas_litoral", - name: "Alagoas Litoral 2006", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Ortofotos%202006&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -35.523842344, - -9.48089222803 - ], - [ - -35.52360077082, - -9.44514935417 - ], - [ - -35.51571944592, - -9.44517914145 - ], - [ - -35.51584023251, - -9.44228976382 - ], - [ - -35.50542238925, - -9.44237912638 - ], - [ - -35.50518081607, - -9.43064264549 - ], - [ - -35.4933437304, - -9.43073201107 - ], - [ - -35.49304176392, - -9.39820141319 - ], - [ - -35.48929737968, - -9.39817162186 - ], - [ - -35.48920678974, - -9.38628467767 - ], - [ - -35.4854020122, - -9.38634426236 - ], - [ - -35.48525102896, - -9.37809168429 - ], - [ - -35.48126507154, - -9.37812147735 - ], - [ - -35.48114428495, - -9.36986870367 - ], - [ - -35.47697714765, - -9.36995808494 - ], - [ - -35.47685636106, - -9.36385031181 - ], - [ - -35.47459161253, - -9.36388010609 - ], - [ - -35.47447082594, - -9.36152635042 - ], - [ - -35.47211548746, - -9.36140717249 - ], - [ - -35.47205509417, - -9.35917257881 - ], - [ - -35.46976014899, - -9.35920237349 - ], - [ - -35.46966955904, - -9.35681879126 - ], - [ - -35.46652910774, - -9.3567592015 - ], - [ - -35.46640832115, - -9.35288584487 - ], - [ - -35.46387180279, - -9.35276666399 - ], - [ - -35.46387180279, - -9.35118751337 - ], - [ - -35.44134510403, - -9.3513066948 - ], - [ - -35.44125451409, - -9.34540716508 - ], - [ - -35.43177276689, - -9.34537736922 - ], - [ - -35.4317123736, - -9.33602134361 - ], - [ - -35.39463089092, - -9.33631931008 - ], - [ - -35.39441951439, - -9.30124690873 - ], - [ - -35.38164633265, - -9.30142570645 - ], - [ - -35.38146515277, - -9.28637657868 - ], - [ - -35.37799253835, - -9.28625737508 - ], - [ - -35.3779623417, - -9.28110178087 - ], - [ - -35.36941669056, - -9.28122098621 - ], - [ - -35.36920531403, - -9.27260829561 - ], - [ - -35.35966317354, - -9.2727573059 - ], - [ - -35.35969337019, - -9.2646510545 - ], - [ - -35.35051358946, - -9.26474046271 - ], - [ - -35.35036260622, - -9.25562070859 - ], - [ - -35.34115262885, - -9.25565051209 - ], - [ - -35.34118282549, - -9.24501050089 - ], - [ - -35.31775022732, - -9.24518932726 - ], - [ - -35.31759924408, - -9.22566691185 - ], - [ - -35.30292367358, - -9.22578613599 - ], - [ - -35.30283308363, - -9.2113001083 - ], - [ - -35.307936317, - -9.2113597228 - ], - [ - -35.30784572706, - -9.19979432149 - ], - [ - -35.29102619461, - -9.19988374615 - ], - [ - -35.29090540802, - -9.19660482728 - ], - [ - -35.29018068849, - -9.19669425274 - ], - [ - -35.28996931196, - -9.16515547298 - ], - [ - -35.27758868663, - -9.16521509525 - ], - [ - -35.27749809669, - -9.16417170413 - ], - [ - -35.27541452804, - -9.16420151535 - ], - [ - -35.27535413474, - -9.16151849576 - ], - [ - -35.27375371245, - -9.16148868432 - ], - [ - -35.2736631225, - -9.15838828064 - ], - [ - -35.27182112703, - -9.15841809234 - ], - [ - -35.27185132368, - -9.15728524588 - ], - [ - -35.27148896391, - -9.15728524588 - ], - [ - -35.27142857062, - -9.15469161013 - ], - [ - -35.26964696844, - -9.1546319861 - ], - [ - -35.26958657514, - -9.15361837601 - ], - [ - -35.26919401873, - -9.15361837601 - ], - [ - -35.26907323214, - -9.13158654923 - ], - [ - -35.26403039207, - -9.13164617712 - ], - [ - -35.26400019542, - -9.12317891652 - ], - [ - -35.26055777765, - -9.12320873117 - ], - [ - -35.260527581, - -9.11781223884 - ], - [ - -35.25599808393, - -9.11784205394 - ], - [ - -35.25572631411, - -9.08945695375 - ], - [ - -35.25113642374, - -9.08954640613 - ], - [ - -35.25107603045, - -9.08650501259 - ], - [ - -35.25026072098, - -9.08647519487 - ], - [ - -35.25029091762, - -9.08474576336 - ], - [ - -35.24449316137, - -9.08477558121 - ], - [ - -35.24449316137, - -9.07988541975 - ], - [ - -35.24092995701, - -9.07997487452 - ], - [ - -35.24080917042, - -9.0731166106 - ], - [ - -35.237336556, - -9.0731166106 - ], - [ - -35.23718557277, - -9.06321662455 - ], - [ - -35.23655144318, - -9.06321662455 - ], - [ - -35.23652124653, - -9.04654705576 - ], - [ - -35.23322981199, - -9.04651723473 - ], - [ - -35.23332040193, - -9.04344565539 - ], - [ - -35.23060270369, - -9.04347547668 - ], - [ - -35.23060270369, - -9.04013547745 - ], - [ - -35.22897208475, - -9.04007583433 - ], - [ - -35.22900228139, - -9.03834617941 - ], - [ - -35.22504652062, - -9.03825671427 - ], - [ - -35.22501632397, - -9.03166605486 - ], - [ - -35.22229862573, - -9.03160641033 - ], - [ - -35.22232882238, - -9.02012465516 - ], - [ - -35.21834286496, - -9.02009483194 - ], - [ - -35.21831266831, - -9.01341436936 - ], - [ - -35.21671224601, - -9.01341436936 - ], - [ - -35.21668204936, - -9.00998461959 - ], - [ - -35.21175999588, - -9.00998461959 - ], - [ - -35.21172979923, - -9.00646536424 - ], - [ - -35.20970662388, - -9.00652501292 - ], - [ - -35.20973682052, - -9.00437765419 - ], - [ - -35.20765325187, - -9.00431800516 - ], - [ - -35.20768344852, - -9.00226010741 - ], - [ - -35.20566027316, - -9.00226010741 - ], - [ - -35.20563007651, - -8.99987412434 - ], - [ - -35.20390886763, - -8.99987412434 - ], - [ - -35.20393906427, - -8.99784602637 - ], - [ - -35.20212726545, - -8.99790567647 - ], - [ - -35.20212726545, - -8.9957880918 - ], - [ - -35.1984432745, - -8.99581791702 - ], - [ - -35.1984432745, - -8.99361084394 - ], - [ - -35.19433653049, - -8.99361084394 - ], - [ - -35.19427613719, - -8.99122480384 - ], - [ - -35.19065253954, - -8.99131428063 - ], - [ - -35.19062234289, - -8.98833170914 - ], - [ - -35.18766307147, - -8.98842118664 - ], - [ - -35.18763287482, - -8.98543859134 - ], - [ - -35.1847339967, - -8.98540876526 - ], - [ - -35.1846736034, - -8.98254545043 - ], - [ - -35.18237865822, - -8.98251562411 - ], - [ - -35.18234846157, - -8.9805172554 - ], - [ - -35.17950997674, - -8.98060673484 - ], - [ - -35.1794797801, - -8.97741528813 - ], - [ - -35.17809073433, - -8.97744511486 - ], - [ - -35.17803034103, - -8.97306055853 - ], - [ - -35.17558441262, - -8.97303073144 - ], - [ - -35.17549382268, - -8.96912336076 - ], - [ - -35.17292710767, - -8.96909353334 - ], - [ - -35.17283651773, - -8.96291920489 - ], - [ - -35.17063216249, - -8.96288937697 - ], - [ - -35.17048117925, - -8.95579026036 - ], - [ - -35.16851839719, - -8.95564111777 - ], - [ - -35.16851839719, - -8.94806459361 - ], - [ - -35.16794466089, - -8.94800493531 - ], - [ - -35.16791446424, - -8.9399509755 - ], - [ - -35.16244887111, - -8.9399509755 - ], - [ - -35.16241867447, - -8.92977886806 - ], - [ - -35.15870448687, - -8.9298086987 - ], - [ - -35.15873468352, - -8.92661680615 - ], - [ - -35.15547344563, - -8.92667646795 - ], - [ - -35.15550364227, - -8.92378285946 - ], - [ - -35.15348046692, - -8.92381269059 - ], - [ - -35.15338987697, - -8.92065057698 - ], - [ - -35.15130630832, - -8.92062074559 - ], - [ - -35.15121571838, - -8.91193970728 - ], - [ - -35.1526349608, - -8.91193970728 - ], - [ - -35.1526349608, - -8.90821067559 - ], - [ - -35.15438636633, - -8.908240508 - ], - [ - -35.15429577639, - -8.90215464709 - ], - [ - -35.15592639533, - -8.90212481419 - ], - [ - -35.15592639533, - -8.90051383392 - ], - [ - -35.15767780087, - -8.90048400089 - ], - [ - -35.15773819416, - -8.89905201236 - ], - [ - -35.15958018964, - -8.89908184551 - ], - [ - -35.15954999299, - -8.89747085185 - ], - [ - -35.16139198846, - -8.89750068513 - ], - [ - -35.16133159517, - -8.89624768526 - ], - [ - -35.16362654035, - -8.89624768526 - ], - [ - -35.1635963437, - -8.89526318235 - ], - [ - -35.16552892912, - -8.89526318235 - ], - [ - -35.16549873247, - -8.89314500045 - ], - [ - -35.16794466089, - -8.89314500045 - ], - [ - -35.16791446424, - -8.89147431313 - ], - [ - -35.17023960607, - -8.89153398066 - ], - [ - -35.17026980272, - -8.89040029582 - ], - [ - -35.17301769761, - -8.89043012968 - ], - [ - -35.17301769761, - -8.88875942997 - ], - [ - -35.17790955445, - -8.88875942997 - ], - [ - -35.17793975109, - -8.88795391132 - ], - [ - -35.17893624045, - -8.88792407726 - ], - [ - -35.17893624045, - -8.8889085999 - ], - [ - -35.17966095998, - -8.88893843387 - ], - [ - -35.17978174657, - -8.88858042598 - ], - [ - -35.18098961245, - -8.88861025998 - ], - [ - -35.18098961245, - -8.88816274965 - ], - [ - -35.1851869464, - -8.88816274965 - ], - [ - -35.1851869464, - -8.88896826785 - ], - [ - -35.18591166594, - -8.88899810182 - ], - [ - -35.18591166594, - -8.88971411645 - ], - [ - -35.18932388706, - -8.88971411645 - ], - [ - -35.1894748703, - -8.88929644142 - ], - [ - -35.19013919653, - -8.88926660747 - ], - [ - -35.19016939318, - -8.88831191982 - ], - [ - -35.19071293283, - -8.88831191982 - ], - [ - -35.19077332612, - -8.8878942432 - ], - [ - -35.1915282423, - -8.88792407726 - ], - [ - -35.19155843895, - -8.88619369772 - ], - [ - -35.19753737508, - -8.8860743609 - ], - [ - -35.19756757173, - -8.88729756147 - ], - [ - -35.19968133703, - -8.88729756147 - ], - [ - -35.19974173032, - -8.88777490693 - ], - [ - -35.20079861297, - -8.88777490693 - ], - [ - -35.20079861297, - -8.88822241773 - ], - [ - -35.20330493468, - -8.88822241773 - ], - [ - -35.20336532798, - -8.88869976198 - ], - [ - -35.20563007651, - -8.88861025998 - ], - [ - -35.20556968322, - -8.88983345208 - ], - [ - -35.20741167869, - -8.88980361818 - ], - [ - -35.20744187534, - -8.89022129263 - ], - [ - -35.21124665288, - -8.8902511265 - ], - [ - -35.21127684953, - -8.8876854047 - ], - [ - -35.21245451877, - -8.88777490693 - ], - [ - -35.21248471541, - -8.88861025998 - ], - [ - -35.21622909966, - -8.88858042598 - ], - [ - -35.21622909966, - -8.88747656609 - ], - [ - -35.21870522472, - -8.887446732 - ], - [ - -35.21870522472, - -8.88896826785 - ], - [ - -35.22136252967, - -8.88896826785 - ], - [ - -35.22263078885, - -8.88792407726 - ], - [ - -35.22401983462, - -8.88747656609 - ], - [ - -35.22453317762, - -8.88762573654 - ], - [ - -35.22643556639, - -8.88717822501 - ], - [ - -35.22706969598, - -8.88598485826 - ], - [ - -35.2331090254, - -8.88446331002 - ], - [ - -35.23932953471, - -8.88338927217 - ], - [ - -35.24129231678, - -8.88416496649 - ], - [ - -35.25010973774, - -8.88514949923 - ], - [ - -35.25623965711, - -8.88505999636 - ], - [ - -35.26167505359, - -8.88294175546 - ], - [ - -35.2616146603, - -8.88094284086 - ], - [ - -35.26406058872, - -8.88109201397 - ], - [ - -35.26877126567, - -8.87930193267 - ], - [ - -35.27420666215, - -8.87748200772 - ], - [ - -35.27810202963, - -8.87518471252 - ], - [ - -35.28498686518, - -8.87506537212 - ], - [ - -35.28501706183, - -8.875811249 - ], - [ - -35.28809711983, - -8.87578141395 - ], - [ - -35.29404585932, - -8.87545322829 - ], - [ - -35.30781553041, - -8.87208184942 - ], - [ - -35.31756904744, - -8.86960550716 - ], - [ - -35.32783590746, - -8.86715898394 - ], - [ - -35.33206343806, - -8.8661445671 - ], - [ - -35.34103184226, - -8.86375769289 - ], - [ - -35.34710136833, - -8.86244490546 - ], - [ - -35.3522046017, - -8.86113211335 - ], - [ - -35.35256696146, - -8.86390687298 - ], - [ - -35.34903395375, - -8.86611473127 - ], - [ - -35.34495740639, - -8.87205201407 - ], - [ - -35.34326639415, - -8.87488636144 - ], - [ - -35.3431758042, - -8.8756919088 - ], - [ - -35.34380993379, - -8.87667646429 - ], - [ - -35.34480642315, - -8.87679580417 - ], - [ - -35.34888297051, - -8.87721349344 - ], - [ - -35.35042299952, - -8.87781019157 - ], - [ - -35.35253676482, - -8.87891408057 - ], - [ - -35.35398620388, - -8.88010747033 - ], - [ - -35.35576780606, - -8.88252407272 - ], - [ - -35.35754940824, - -8.88395612587 - ], - [ - -35.36035769642, - -8.88511966494 - ], - [ - -35.36114280925, - -8.88508983065 - ], - [ - -35.36120320254, - -8.88586552137 - ], - [ - -35.36174674219, - -8.8858953556 - ], - [ - -35.36177693884, - -8.88777490693 - ], - [ - -35.36253185502, - -8.88783457507 - ], - [ - -35.36247146172, - -8.89099697249 - ], - [ - -35.36310559131, - -8.89111630771 - ], - [ - -35.36310559131, - -8.89481568015 - ], - [ - -35.36440404714, - -8.89487534714 - ], - [ - -35.36506837338, - -8.8966951857 - ], - [ - -35.3663668292, - -8.90021550347 - ], - [ - -35.36754449844, - -8.90427277684 - ], - [ - -35.36793705485, - -8.90782285411 - ], - [ - -35.36863157774, - -8.90916531133 - ], - [ - -35.37207399551, - -8.91155188976 - ], - [ - -35.37409717087, - -8.91349097325 - ], - [ - -35.37276851839, - -8.91599685052 - ], - [ - -35.37261753516, - -8.91817456324 - ], - [ - -35.37083593298, - -8.92229129973 - ], - [ - -35.37062455645, - -8.92485677869 - ], - [ - -35.37234576533, - -8.93037548043 - ], - [ - -35.37153045586, - -8.93192666805 - ], - [ - -35.37153045586, - -8.93362700074 - ], - [ - -35.37171163574, - -8.93386564329 - ], - [ - -35.37171163574, - -8.94362002373 - ], - [ - -35.36817862803, - -8.94376917125 - ], - [ - -35.36814843138, - -8.9450518374 - ], - [ - -35.36926570733, - -8.94511149618 - ], - [ - -35.36920531403, - -8.94863134694 - ], - [ - -35.37077553968, - -8.94872083423 - ], - [ - -35.37080573633, - -8.95182304658 - ], - [ - -35.3721947821, - -8.9517633889 - ], - [ - -35.37222497875, - -8.9552831753 - ], - [ - -35.37319127145, - -8.95531300385 - ], - [ - -35.37313087816, - -8.95737116808 - ], - [ - -35.37439913734, - -8.95737116808 - ], - [ - -35.37445953063, - -8.96011536892 - ], - [ - -35.37566739652, - -8.96017502523 - ], - [ - -35.37569759317, - -8.96205419397 - ], - [ - -35.3768752624, - -8.96208402197 - ], - [ - -35.3769356557, - -8.964440426 - ], - [ - -35.37781135847, - -8.964440426 - ], - [ - -35.37775096517, - -8.96617043441 - ], - [ - -35.38074043324, - -8.96617043441 - ], - [ - -35.38074043324, - -8.96330696774 - ], - [ - -35.38288439518, - -8.96327713984 - ], - [ - -35.38291459183, - -8.95981708722 - ], - [ - -35.38542091354, - -8.9598469154 - ], - [ - -35.38542091354, - -8.95722202613 - ], - [ - -35.38723271237, - -8.95722202613 - ], - [ - -35.38720251572, - -8.95406020253 - ], - [ - -35.38946726426, - -8.95409003118 - ], - [ - -35.38946726426, - -8.9508386936 - ], - [ - -35.39158102956, - -8.95086852252 - ], - [ - -35.39158102956, - -8.94791544785 - ], - [ - -35.39586895345, - -8.94791544785 - ], - [ - -35.39580856016, - -8.94651347472 - ], - [ - -35.39719760593, - -8.94654330399 - ], - [ - -35.39710701598, - -8.94472371393 - ], - [ - -35.39837527516, - -8.94469388451 - ], - [ - -35.39837527516, - -8.93914556972 - ], - [ - -35.4010741005, - -8.93915302719 - ], - [ - -35.40106277676, - -8.93895167547 - ], - [ - -35.4016667097, - -8.93893676052 - ], - [ - -35.40172710299, - -8.93687849204 - ], - [ - -35.40236123258, - -8.93687849204 - ], - [ - -35.40236123258, - -8.9362818903 - ], - [ - -35.40323693535, - -8.93640121073 - ], - [ - -35.40329732865, - -8.93583443836 - ], - [ - -35.40426362135, - -8.93580460821 - ], - [ - -35.40420322806, - -8.93362700074 - ], - [ - -35.40574325706, - -8.93359717041 - ], - [ - -35.40577345371, - -8.93124056665 - ], - [ - -35.40809859554, - -8.93133005821 - ], - [ - -35.40803820225, - -8.92927174677 - ], - [ - -35.40936685472, - -8.92930157745 - ], - [ - -35.40927626478, - -8.92739240878 - ], - [ - -35.41084649043, - -8.92742223962 - ], - [ - -35.41084649043, - -8.92542356812 - ], - [ - -35.41238651943, - -8.92545339912 - ], - [ - -35.41235632279, - -8.92390218397 - ], - [ - -35.41335281214, - -8.92387235285 - ], - [ - -35.41329241885, - -8.92193332448 - ], - [ - -35.41522500426, - -8.92196315577 - ], - [ - -35.41522500426, - -8.91999428582 - ], - [ - -35.41655365674, - -8.92002411726 - ], - [ - -35.41655365674, - -8.91754809927 - ], - [ - -35.4196035181, - -8.91754809927 - ], - [ - -35.41966391139, - -8.91963630832 - ], - [ - -35.42183806999, - -8.91963630832 - ], - [ - -35.42186826663, - -8.92264927462 - ], - [ - -35.42389144199, - -8.92267910584 - ], - [ - -35.42392163864, - -8.92512525801 - ], - [ - -35.4253710777, - -8.92512525801 - ], - [ - -35.4253710777, - -8.92766088623 - ], - [ - -35.42724326982, - -8.92766088623 - ], - [ - -35.42727346647, - -8.92986835998 - ], - [ - -35.42814916924, - -8.92983852934 - ], - [ - -35.42817936588, - -8.93159853276 - ], - [ - -35.42987037812, - -8.93153887177 - ], - [ - -35.42990057477, - -8.93407445539 - ], - [ - -35.43141040713, - -8.93407445539 - ], - [ - -35.43141040713, - -8.9355957971 - ], - [ - -35.43225591325, - -8.93556596693 - ], - [ - -35.43228610989, - -8.93586426851 - ], - [ - -35.43340338584, - -8.93583443836 - ], - [ - -35.43340338584, - -8.94001063511 - ], - [ - -35.4343394819, - -8.94004046492 - ], - [ - -35.4343394819, - -8.94096518765 - ], - [ - -35.43530577461, - -8.94096518765 - ], - [ - -35.43533597125, - -8.94260581897 - ], - [ - -35.43566813437, - -8.94263564856 - ], - [ - -35.43569833102, - -8.94329189897 - ], - [ - -35.43627206732, - -8.94332172851 - ], - [ - -35.43624187067, - -8.94421661344 - ], - [ - -35.43729875332, - -8.94421661344 - ], - [ - -35.43726855667, - -8.94520098434 - ], - [ - -35.43823484938, - -8.94520098434 - ], - [ - -35.43826504603, - -8.94684159657 - ], - [ - -35.4390199622, - -8.94687142582 - ], - [ - -35.4390199622, - -8.94797510616 - ], - [ - -35.44025802474, - -8.94797510616 - ], - [ - -35.44031841803, - -8.94952621882 - ], - [ - -35.44158667721, - -8.94955604785 - ], - [ - -35.4416470705, - -8.95152475808 - ], - [ - -35.4427341498, - -8.95152475808 - ], - [ - -35.4427341498, - -8.95334431412 - ], - [ - -35.44436476875, - -8.95334431412 - ], - [ - -35.44436476875, - -8.95498488964 - ], - [ - -35.44569342122, - -8.95501471821 - ], - [ - -35.44563302793, - -8.9567447715 - ], - [ - -35.44720325358, - -8.95680442836 - ], - [ - -35.44717305693, - -8.95865378627 - ], - [ - -35.44895465911, - -8.95871344282 - ], - [ - -35.44892446246, - -8.95999605627 - ], - [ - -35.45100803112, - -8.95993639993 - ], - [ - -35.45097783447, - -8.96101021254 - ], - [ - -35.45469202207, - -8.96095055636 - ], - [ - -35.45466182542, - -8.96235247383 - ], - [ - -35.46048977832, - -8.96235247383 - ], - [ - -35.46055017161, - -8.96557388071 - ], - [ - -35.46652910774, - -8.96548439758 - ], - [ - -35.46658950104, - -8.9688549139 - ], - [ - -35.46770677698, - -8.96882508646 - ], - [ - -35.46773697363, - -8.97052524668 - ], - [ - -35.47389708964, - -8.97052524668 - ], - [ - -35.47398767958, - -8.97529758369 - ], - [ - -35.47791324371, - -8.97520810295 - ], - [ - -35.47797363701, - -8.97816095576 - ], - [ - -35.48410355637, - -8.97813112908 - ], - [ - -35.48416394967, - -8.98200857638 - ], - [ - -35.49083740868, - -8.98194892366 - ], - [ - -35.49083740868, - -8.98561754775 - ], - [ - -35.49720890123, - -8.98561754775 - ], - [ - -35.49720890123, - -8.99068794266 - ], - [ - -35.5022517413, - -8.99056864006 - ], - [ - -35.50234233124, - -8.99566879088 - ], - [ - -35.5064792719, - -8.99566879088 - ], - [ - -35.50650946855, - -8.99856182695 - ], - [ - -35.51203545497, - -8.99850217696 - ], - [ - -35.51206565162, - -9.00163378838 - ], - [ - -35.51662534534, - -9.00166361312 - ], - [ - -35.51665554198, - -9.00616712068 - ], - [ - -35.52118503905, - -9.00613729631 - ], - [ - -35.5212152357, - -9.00738991769 - ], - [ - -35.5312707192, - -9.00733026915 - ], - [ - -35.5312707192, - -9.01064074815 - ], - [ - -35.54818084159, - -9.01049162813 - ], - [ - -35.54818084159, - -9.01359331193 - ], - [ - -35.56968085435, - -9.01344419313 - ], - [ - -35.56974124764, - -9.01738090893 - ], - [ - -35.58574547062, - -9.01732126204 - ], - [ - -35.58577566727, - -9.01994571582 - ], - [ - -35.60957062521, - -9.01982642288 - ], - [ - -35.60954042856, - -9.02301749544 - ], - [ - -35.62910785591, - -9.02286838053 - ], - [ - -35.62904746261, - -9.02507527493 - ], - [ - -35.65220829096, - -9.02489633805 - ], - [ - -35.65223848761, - -9.02758038195 - ], - [ - -35.67552010255, - -9.02740144631 - ], - [ - -35.6755502992, - -9.03056262951 - ], - [ - -35.68294847774, - -9.03056262951 - ], - [ - -35.68297867439, - -9.03435004835 - ], - [ - -35.69128275235, - -9.03432022631 - ], - [ - -35.69128275235, - -9.03766027947 - ], - [ - -35.69949624037, - -9.03760063593 - ], - [ - -35.69949624037, - -9.04034422831 - ], - [ - -35.70668304239, - -9.04031440677 - ], - [ - -35.70671323904, - -9.04517528582 - ], - [ - -35.71115214617, - -9.04517528582 - ], - [ - -35.71133332605, - -9.06691424164 - ], - [ - -35.70870621775, - -9.06691424164 - ], - [ - -35.70876661104, - -9.07869268732 - ], - [ - -35.7065622558, - -9.07872250568 - ], - [ - -35.7065622558, - -9.08653483029 - ], - [ - -35.70429750727, - -9.08653483029 - ], - [ - -35.70432770391, - -9.09103727588 - ], - [ - -35.69991899343, - -9.09106709321 - ], - [ - -35.69988879679, - -9.09559929877 - ], - [ - -35.69535929972, - -9.09556948181 - ], - [ - -35.69541969301, - -9.1000121806 - ], - [ - -35.69092039259, - -9.10013144692 - ], - [ - -35.69101098253, - -9.10206951907 - ], - [ - -35.63366754962, - -9.10245713224 - ], - [ - -35.63369774627, - -9.10540894182 - ], - [ - -35.62584661802, - -9.10552820634 - ], - [ - -35.62590701131, - -9.10964280796 - ], - [ - -35.6223136103, - -9.10964280796 - ], - [ - -35.62234380695, - -9.11202806257 - ], - [ - -35.61989787853, - -9.11199824698 - ], - [ - -35.61989787853, - -9.11500960843 - ], - [ - -35.61473425187, - -9.11506923909 - ], - [ - -35.61473425187, - -9.11706686056 - ], - [ - -35.61177498045, - -9.11700723023 - ], - [ - -35.6118051771, - -9.11819983493 - ], - [ - -35.60960082186, - -9.11825946506 - ], - [ - -35.60963101851, - -9.12571315292 - ], - [ - -35.59975671489, - -9.12583241066 - ], - [ - -35.59978691154, - -9.12923123948 - ], - [ - -35.59634449377, - -9.12926105363 - ], - [ - -35.59640488706, - -9.13501513686 - ], - [ - -35.59196597993, - -9.13507476418 - ], - [ - -35.59208676652, - -9.14899746988 - ], - [ - -35.59018437775, - -9.14896765739 - ], - [ - -35.5901541811, - -9.15108433815 - ], - [ - -35.60159871037, - -9.15105452583 - ], - [ - -35.60153831707, - -9.14911671983 - ], - [ - -35.60552427449, - -9.14911671983 - ], - [ - -35.60549407785, - -9.14556901687 - ], - [ - -35.61183537375, - -9.14553920409 - ], - [ - -35.61183537375, - -9.14234922223 - ], - [ - -35.61760293335, - -9.14237903528 - ], - [ - -35.6175727367, - -9.13853313161 - ], - [ - -35.62400462254, - -9.13853313161 - ], - [ - -35.62397442589, - -9.13465737274 - ], - [ - -35.63176516085, - -9.13465737274 - ], - [ - -35.63164437426, - -9.13063250159 - ], - [ - -35.6392237327, - -9.13060268756 - ], - [ - -35.63919353605, - -9.12878402702 - ], - [ - -35.66386419676, - -9.12869458446 - ], - [ - -35.66380380346, - -9.12610074043 - ], - [ - -35.71278276511, - -9.12577278179 - ], - [ - -35.71275256846, - -9.12407335495 - ], - [ - -35.72425749102, - -9.12401372579 - ], - [ - -35.71963740401, - -9.15323081845 - ], - [ - -35.72111703972, - -9.15320100631 - ], - [ - -35.72123782631, - -9.17257836825 - ], - [ - -35.72066409001, - -9.17254855774 - ], - [ - -35.72081507325, - -9.18557551362 - ], - [ - -35.71211843887, - -9.18566494187 - ], - [ - -35.71329610811, - -9.34415573683 - ], - [ - -35.69040704959, - -9.34433451257 - ], - [ - -35.69064862276, - -9.3718946735 - ], - [ - -35.68898780717, - -9.3718946735 - ], - [ - -35.68901800382, - -9.37597637093 - ], - [ - -35.68756856476, - -9.37597637093 - ], - [ - -35.6876591547, - -9.38232227231 - ], - [ - -35.6849716531, - -9.38235206501 - ], - [ - -35.6850320464, - -9.39093225328 - ], - [ - -35.68168021856, - -9.39099183718 - ], - [ - -35.68177080851, - -9.39936327296 - ], - [ - -35.67715072149, - -9.39933348173 - ], - [ - -35.67724131144, - -9.40889633403 - ], - [ - -35.6729231909, - -9.40892612443 - ], - [ - -35.67301378084, - -9.41753544361 - ], - [ - -35.6697223463, - -9.41759502292 - ], - [ - -35.66978273959, - -9.42498277846 - ], - [ - -35.66721602459, - -9.42498277846 - ], - [ - -35.66727641788, - -9.43269804791 - ], - [ - -35.6607539421, - -9.43287677797 - ], - [ - -35.6607539421, - -9.43704711987 - ], - [ - -35.65130239155, - -9.43707690785 - ], - [ - -35.65142317814, - -9.44211103864 - ], - [ - -35.64514227553, - -9.44217061371 - ], - [ - -35.64523286547, - -9.44651956613 - ], - [ - -35.63644564116, - -9.44660892759 - ], - [ - -35.63644564116, - -9.44991528532 - ], - [ - -35.62711487719, - -9.4500046459 - ], - [ - -35.62726586043, - -9.46504667925 - ], - [ - -35.62086417124, - -9.46510625035 - ], - [ - -35.62092456453, - -9.47219513764 - ], - [ - -35.60938944533, - -9.47222492257 - ], - [ - -35.60938944533, - -9.47529275674 - ], - [ - -35.59673705018, - -9.47535232607 - ], - [ - -35.59673705018, - -9.47350567221 - ], - [ - -35.57843788202, - -9.47371416589 - ], - [ - -35.57846807866, - -9.47594801874 - ], - [ - -35.57267032241, - -9.47603737255 - ], - [ - -35.57270051906, - -9.48041568084 - ], - [ - -35.56823141529, - -9.48047524927 - ], - [ - -35.56826161193, - -9.48881472807 - ], - [ - -35.54168856246, - -9.48893386201 - ], - [ - -35.54162816916, - -9.48071352291 - ], - [ - -35.523842344, - -9.48089222803 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "arapiraca_al", - name: "Arapiraca AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Arapiraca&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.60875162133, - -9.83071802463 - ], - [ - -36.60783704041, - -9.74047303963 - ], - [ - -36.61718167158, - -9.74051223078 - ], - [ - -36.61630685505, - -9.65075247124 - ], - [ - -36.70736730351, - -9.64977242883 - ], - [ - -36.70832164882, - -9.74043384847 - ], - [ - -36.69897701764, - -9.74047303963 - ], - [ - -36.69997112734, - -9.82967973955 - ], - [ - -36.60875162133, - -9.83071802463 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "CRAIG-Auvergne-2013", - name: "Auvergne 2013 25cm CRAIG", - type: "tms", - template: "https://tiles.craig.fr/osm/wmts/1.0.0/ortho_2013/webmercator/{zoom}/{x}/{y}.jpeg", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 2.9401192, - 44.6338837 - ], - [ - 2.9971896, - 44.633931 - ], - [ - 2.9971676, - 44.6473385 - ], - [ - 3.0159744, - 44.6473541 - ], - [ - 3.0159305, - 44.6741168 - ], - [ - 3.0349486, - 44.6741326 - ], - [ - 3.0349036, - 44.7015216 - ], - [ - 3.0536338, - 44.7015371 - ], - [ - 3.0535675, - 44.7418954 - ], - [ - 3.0723301, - 44.741911 - ], - [ - 3.0722196, - 44.8091687 - ], - [ - 3.0921583, - 44.8091852 - ], - [ - 3.092137, - 44.8221252 - ], - [ - 3.1301398, - 44.8221567 - ], - [ - 3.1300495, - 44.8770722 - ], - [ - 3.1485587, - 44.8770875 - ], - [ - 3.1485807, - 44.8636964 - ], - [ - 3.1682313, - 44.8637126 - ], - [ - 3.1682538, - 44.8500261 - ], - [ - 3.2064, - 44.8500576 - ], - [ - 3.2063789, - 44.8628393 - ], - [ - 3.2439492, - 44.8628704 - ], - [ - 3.2439263, - 44.8767893 - ], - [ - 3.2631452, - 44.8768052 - ], - [ - 3.2630782, - 44.9175197 - ], - [ - 3.3200437, - 44.9175667 - ], - [ - 3.3200227, - 44.9303336 - ], - [ - 3.3390815, - 44.9303493 - ], - [ - 3.3390586, - 44.9441978 - ], - [ - 3.3769989, - 44.9442292 - ], - [ - 3.3770218, - 44.9302879 - ], - [ - 3.396031, - 44.9303036 - ], - [ - 3.39612, - 44.8762713 - ], - [ - 3.4148252, - 44.8762867 - ], - [ - 3.4148923, - 44.8355255 - ], - [ - 3.4333371, - 44.8355408 - ], - [ - 3.4333819, - 44.8082784 - ], - [ - 3.4525549, - 44.8082943 - ], - [ - 3.4525774, - 44.7946344 - ], - [ - 3.5089262, - 44.7946811 - ], - [ - 3.508904, - 44.8081469 - ], - [ - 3.604265, - 44.8082258 - ], - [ - 3.6042213, - 44.8348239 - ], - [ - 3.6236136, - 44.83484 - ], - [ - 3.6235695, - 44.8616583 - ], - [ - 3.6424823, - 44.8616739 - ], - [ - 3.642549, - 44.821102 - ], - [ - 3.6610055, - 44.8211172 - ], - [ - 3.6610275, - 44.8077696 - ], - [ - 3.6992999, - 44.8078013 - ], - [ - 3.6992782, - 44.820994 - ], - [ - 3.7361139, - 44.8210245 - ], - [ - 3.7361819, - 44.7797075 - ], - [ - 3.7751058, - 44.7797397 - ], - [ - 3.775151, - 44.7522344 - ], - [ - 3.8118352, - 44.7522648 - ], - [ - 3.8118567, - 44.7392021 - ], - [ - 3.8311822, - 44.7392181 - ], - [ - 3.8312061, - 44.7246766 - ], - [ - 3.887824, - 44.7247235 - ], - [ - 3.8878019, - 44.7381833 - ], - [ - 3.925626, - 44.7382146 - ], - [ - 3.9256039, - 44.7516682 - ], - [ - 3.9454097, - 44.7516846 - ], - [ - 3.9453656, - 44.7784691 - ], - [ - 3.9643737, - 44.7784848 - ], - [ - 3.9643516, - 44.7919273 - ], - [ - 4.0033183, - 44.7919596 - ], - [ - 4.0032964, - 44.8052575 - ], - [ - 4.0216937, - 44.8052727 - ], - [ - 4.0216718, - 44.8185687 - ], - [ - 4.0596515, - 44.8186001 - ], - [ - 4.0596082, - 44.8449216 - ], - [ - 4.0798132, - 44.8449383 - ], - [ - 4.0797928, - 44.8573502 - ], - [ - 4.173882, - 44.857428 - ], - [ - 4.1738604, - 44.8705468 - ], - [ - 4.1932576, - 44.8705628 - ], - [ - 4.193235, - 44.8842744 - ], - [ - 4.2140385, - 44.8842916 - ], - [ - 4.2139961, - 44.9100242 - ], - [ - 4.2324138, - 44.9100394 - ], - [ - 4.2323689, - 44.9373093 - ], - [ - 4.2715486, - 44.9373416 - ], - [ - 4.2715273, - 44.9502971 - ], - [ - 4.3288672, - 44.9503445 - ], - [ - 4.3287793, - 45.0036659 - ], - [ - 4.3489259, - 45.0036825 - ], - [ - 4.3489038, - 45.0170656 - ], - [ - 4.4060793, - 45.0171127 - ], - [ - 4.4059904, - 45.0710024 - ], - [ - 4.3884707, - 45.0709879 - ], - [ - 4.3884482, - 45.0845976 - ], - [ - 4.407943, - 45.0846137 - ], - [ - 4.4079231, - 45.09663 - ], - [ - 4.4843608, - 45.0966929 - ], - [ - 4.4842941, - 45.1370472 - ], - [ - 4.4663631, - 45.1370324 - ], - [ - 4.4663413, - 45.1502035 - ], - [ - 4.4864469, - 45.15022 - ], - [ - 4.4864022, - 45.1772415 - ], - [ - 4.5065524, - 45.177258 - ], - [ - 4.5064402, - 45.2450058 - ], - [ - 4.4881342, - 45.2449908 - ], - [ - 4.4881106, - 45.2592077 - ], - [ - 4.4698588, - 45.2591927 - ], - [ - 4.469836, - 45.2729835 - ], - [ - 4.4508849, - 45.2729679 - ], - [ - 4.4508626, - 45.2864203 - ], - [ - 4.3936753, - 45.2863733 - ], - [ - 4.3936303, - 45.3135182 - ], - [ - 4.3750893, - 45.3135029 - ], - [ - 4.3750662, - 45.3274054 - ], - [ - 4.3950734, - 45.3274218 - ], - [ - 4.3950283, - 45.3545849 - ], - [ - 4.3767871, - 45.35457 - ], - [ - 4.3767639, - 45.3685486 - ], - [ - 4.3576564, - 45.3685329 - ], - [ - 4.3576335, - 45.3823359 - ], - [ - 4.2814576, - 45.3822734 - ], - [ - 4.2814334, - 45.3968834 - ], - [ - 4.2444556, - 45.3968531 - ], - [ - 4.2444325, - 45.4107893 - ], - [ - 4.1481178, - 45.4107104 - ], - [ - 4.1481388, - 45.3980659 - ], - [ - 4.1291913, - 45.3980504 - ], - [ - 4.1292145, - 45.3840899 - ], - [ - 4.0902138, - 45.3840579 - ], - [ - 4.0902351, - 45.3712093 - ], - [ - 4.0135507, - 45.3711464 - ], - [ - 4.0135259, - 45.3860975 - ], - [ - 3.9170932, - 45.3860185 - ], - [ - 3.9170704, - 45.3997355 - ], - [ - 3.9375703, - 45.3997523 - ], - [ - 3.9375481, - 45.4131142 - ], - [ - 3.975277, - 45.4131451 - ], - [ - 3.9752552, - 45.4262061 - ], - [ - 3.9953725, - 45.4262226 - ], - [ - 3.9956999, - 45.5209568 - ], - [ - 3.9777821, - 45.5209421 - ], - [ - 3.977693, - 45.5743873 - ], - [ - 3.9581755, - 45.5743714 - ], - [ - 3.9581522, - 45.5883658 - ], - [ - 3.9396019, - 45.5883506 - ], - [ - 3.9395781, - 45.6026212 - ], - [ - 3.9202279, - 45.6026054 - ], - [ - 3.9202048, - 45.6164603 - ], - [ - 3.8818916, - 45.616429 - ], - [ - 3.8818468, - 45.643276 - ], - [ - 3.8441329, - 45.6432453 - ], - [ - 3.8441098, - 45.6570896 - ], - [ - 3.8261689, - 45.657075 - ], - [ - 3.8261241, - 45.6838865 - ], - [ - 3.8072175, - 45.6838711 - ], - [ - 3.8071277, - 45.7375802 - ], - [ - 3.7882101, - 45.7375648 - ], - [ - 3.7881863, - 45.7517966 - ], - [ - 3.7688482, - 45.7517809 - ], - [ - 3.7688028, - 45.7789651 - ], - [ - 3.750719, - 45.7789504 - ], - [ - 3.7505822, - 45.8606554 - ], - [ - 3.7696692, - 45.8606709 - ], - [ - 3.7695793, - 45.914333 - ], - [ - 3.751661, - 45.9143185 - ], - [ - 3.7516379, - 45.9280879 - ], - [ - 3.7328974, - 45.9280727 - ], - [ - 3.7328527, - 45.9547155 - ], - [ - 3.8101795, - 45.9547782 - ], - [ - 3.8101569, - 45.9682278 - ], - [ - 3.8495994, - 45.9682598 - ], - [ - 3.8495098, - 46.0216192 - ], - [ - 3.8318849, - 46.0216049 - ], - [ - 3.8317936, - 46.0759058 - ], - [ - 3.8505037, - 46.0759209 - ], - [ - 3.8504583, - 46.1029545 - ], - [ - 3.8324727, - 46.10294 - ], - [ - 3.8323353, - 46.1845598 - ], - [ - 3.8142194, - 46.1845452 - ], - [ - 3.8141522, - 46.2244234 - ], - [ - 3.8336864, - 46.2244392 - ], - [ - 3.8336634, - 46.2381001 - ], - [ - 3.8528929, - 46.2381156 - ], - [ - 3.8528703, - 46.2514729 - ], - [ - 3.8931424, - 46.2515054 - ], - [ - 3.8931205, - 46.2644677 - ], - [ - 3.9130562, - 46.2644838 - ], - [ - 3.9130335, - 46.2779317 - ], - [ - 3.9518926, - 46.2779631 - ], - [ - 3.9518709, - 46.2908227 - ], - [ - 3.971523, - 46.2908386 - ], - [ - 3.9715012, - 46.3036947 - ], - [ - 4.0105021, - 46.3037261 - ], - [ - 4.0104784, - 46.3177638 - ], - [ - 4.0298278, - 46.3177794 - ], - [ - 4.029783, - 46.3442827 - ], - [ - 4.0116018, - 46.344268 - ], - [ - 4.0114647, - 46.4253437 - ], - [ - 4.031532, - 46.4253598 - ], - [ - 4.0314635, - 46.4657978 - ], - [ - 4.0132435, - 46.4657832 - ], - [ - 4.0132204, - 46.479378 - ], - [ - 3.9943703, - 46.4793629 - ], - [ - 3.9943461, - 46.4936113 - ], - [ - 3.9745971, - 46.4935955 - ], - [ - 3.9745735, - 46.5075278 - ], - [ - 3.8775423, - 46.5074499 - ], - [ - 3.8774959, - 46.5347758 - ], - [ - 3.8583577, - 46.5347605 - ], - [ - 3.8583347, - 46.5483156 - ], - [ - 3.8186897, - 46.5482838 - ], - [ - 3.8187114, - 46.5355316 - ], - [ - 3.7992386, - 46.535516 - ], - [ - 3.7992156, - 46.5490706 - ], - [ - 3.7610377, - 46.5490399 - ], - [ - 3.7609226, - 46.6168059 - ], - [ - 3.7423295, - 46.616791 - ], - [ - 3.7422834, - 46.6439624 - ], - [ - 3.7228558, - 46.6439468 - ], - [ - 3.7228098, - 46.6710357 - ], - [ - 3.7038706, - 46.6710206 - ], - [ - 3.7038474, - 46.6846709 - ], - [ - 3.6841096, - 46.6846551 - ], - [ - 3.6840631, - 46.711998 - ], - [ - 3.6648359, - 46.7119826 - ], - [ - 3.6647898, - 46.7390375 - ], - [ - 3.6457623, - 46.7390222 - ], - [ - 3.6457158, - 46.7663375 - ], - [ - 3.6257542, - 46.7663216 - ], - [ - 3.6257314, - 46.7797093 - ], - [ - 3.5672301, - 46.7796626 - ], - [ - 3.5672528, - 46.7663082 - ], - [ - 3.5471462, - 46.7662922 - ], - [ - 3.5471922, - 46.7392824 - ], - [ - 3.5271621, - 46.7392664 - ], - [ - 3.5272308, - 46.6988967 - ], - [ - 3.4877399, - 46.6988651 - ], - [ - 3.4877618, - 46.685943 - ], - [ - 3.4679636, - 46.6859272 - ], - [ - 3.4679407, - 46.6994059 - ], - [ - 3.4679179, - 46.7127907 - ], - [ - 3.4486497, - 46.7127753 - ], - [ - 3.4486258, - 46.7267878 - ], - [ - 3.350433, - 46.7267092 - ], - [ - 3.3504786, - 46.6999004 - ], - [ - 3.3303913, - 46.6998843 - ], - [ - 3.3303448, - 46.7271984 - ], - [ - 3.2327174, - 46.7271203 - ], - [ - 3.2327406, - 46.7135148 - ], - [ - 3.2129042, - 46.7134989 - ], - [ - 3.212927, - 46.7001302 - ], - [ - 3.1735446, - 46.7000987 - ], - [ - 3.173498, - 46.7275094 - ], - [ - 3.1541227, - 46.7274939 - ], - [ - 3.1541002, - 46.7407271 - ], - [ - 3.1147772, - 46.7406957 - ], - [ - 3.114754, - 46.7542756 - ], - [ - 3.0753432, - 46.7542441 - ], - [ - 3.0752971, - 46.7813548 - ], - [ - 3.05597, - 46.7813394 - ], - [ - 3.055924, - 46.8083069 - ], - [ - 2.99704, - 46.8082598 - ], - [ - 2.9970166, - 46.8219593 - ], - [ - 2.9379443, - 46.8219121 - ], - [ - 2.9379675, - 46.8082604 - ], - [ - 2.8986634, - 46.808229 - ], - [ - 2.8986872, - 46.7942392 - ], - [ - 2.878991, - 46.7942234 - ], - [ - 2.8790134, - 46.7810427 - ], - [ - 2.8594188, - 46.781027 - ], - [ - 2.8594415, - 46.7677056 - ], - [ - 2.8400446, - 46.7676901 - ], - [ - 2.8400671, - 46.754466 - ], - [ - 2.7414032, - 46.7543871 - ], - [ - 2.741382, - 46.7668245 - ], - [ - 2.7023351, - 46.7667932 - ], - [ - 2.7023571, - 46.7538869 - ], - [ - 2.6826621, - 46.7538711 - ], - [ - 2.6826849, - 46.7404752 - ], - [ - 2.6634875, - 46.7404599 - ], - [ - 2.6635123, - 46.7258966 - ], - [ - 2.6434164, - 46.7258805 - ], - [ - 2.6434382, - 46.7130938 - ], - [ - 2.6241432, - 46.7130784 - ], - [ - 2.6241658, - 46.6998093 - ], - [ - 2.6039699, - 46.6997931 - ], - [ - 2.6039936, - 46.6858433 - ], - [ - 2.5651245, - 46.6858122 - ], - [ - 2.5651469, - 46.6726126 - ], - [ - 2.5459278, - 46.6725972 - ], - [ - 2.5459966, - 46.6321534 - ], - [ - 2.5659222, - 46.6321694 - ], - [ - 2.565946, - 46.6181104 - ], - [ - 2.5456397, - 46.6180941 - ], - [ - 2.5456862, - 46.5907192 - ], - [ - 2.5664225, - 46.5907358 - ], - [ - 2.5664449, - 46.5775417 - ], - [ - 2.5854963, - 46.577557 - ], - [ - 2.5855181, - 46.5647199 - ], - [ - 2.5661318, - 46.5647044 - ], - [ - 2.5661557, - 46.5506246 - ], - [ - 2.468279, - 46.5505461 - ], - [ - 2.4683039, - 46.5358205 - ], - [ - 2.3321246, - 46.5357112 - ], - [ - 2.3321701, - 46.5088566 - ], - [ - 2.3126474, - 46.5088409 - ], - [ - 2.3126703, - 46.4953444 - ], - [ - 2.2928767, - 46.4953285 - ], - [ - 2.2928996, - 46.4818182 - ], - [ - 2.2748687, - 46.4818037 - ], - [ - 2.2749151, - 46.4544154 - ], - [ - 2.2553921, - 46.4543997 - ], - [ - 2.255529, - 46.3734888 - ], - [ - 2.275948, - 46.3735052 - ], - [ - 2.276037, - 46.3208741 - ], - [ - 2.3145615, - 46.3209052 - ], - [ - 2.3145849, - 46.3070421 - ], - [ - 2.3537075, - 46.3070737 - ], - [ - 2.3537313, - 46.2929669 - ], - [ - 2.3938428, - 46.2929992 - ], - [ - 2.3938862, - 46.2672854 - ], - [ - 2.4515727, - 46.267332 - ], - [ - 2.451596, - 46.2534921 - ], - [ - 2.4709353, - 46.2535077 - ], - [ - 2.4709807, - 46.2265552 - ], - [ - 2.4915062, - 46.2265718 - ], - [ - 2.4915521, - 46.199329 - ], - [ - 2.5108806, - 46.1993446 - ], - [ - 2.5109254, - 46.1727799 - ], - [ - 2.5311728, - 46.1727963 - ], - [ - 2.5313772, - 46.051352 - ], - [ - 2.5516349, - 46.0513684 - ], - [ - 2.5516577, - 46.0377665 - ], - [ - 2.5705635, - 46.0377818 - ], - [ - 2.5706774, - 45.9699434 - ], - [ - 2.5514356, - 45.9699278 - ], - [ - 2.551458, - 45.9566151 - ], - [ - 2.5322621, - 45.9565995 - ], - [ - 2.5322849, - 45.9430066 - ], - [ - 2.5130653, - 45.942991 - ], - [ - 2.513134, - 45.9020279 - ], - [ - 2.4749412, - 45.9019969 - ], - [ - 2.4749633, - 45.8888235 - ], - [ - 2.4361947, - 45.888792 - ], - [ - 2.4362172, - 45.8753288 - ], - [ - 2.417209, - 45.8753133 - ], - [ - 2.4172548, - 45.8479368 - ], - [ - 2.3784736, - 45.8479053 - ], - [ - 2.378497, - 45.8339746 - ], - [ - 2.3595157, - 45.8339592 - ], - [ - 2.3595606, - 45.8070849 - ], - [ - 2.3787254, - 45.8071005 - ], - [ - 2.3787481, - 45.7935783 - ], - [ - 2.3986981, - 45.7935945 - ], - [ - 2.3987203, - 45.7803477 - ], - [ - 2.4182486, - 45.7803636 - ], - [ - 2.4183161, - 45.7400007 - ], - [ - 2.4572171, - 45.7400324 - ], - [ - 2.4572394, - 45.7266956 - ], - [ - 2.4758919, - 45.7267107 - ], - [ - 2.4759144, - 45.7132391 - ], - [ - 2.49533, - 45.7132549 - ], - [ - 2.4954204, - 45.6591268 - ], - [ - 2.4576942, - 45.659096 - ], - [ - 2.4577622, - 45.618343 - ], - [ - 2.4391188, - 45.6183278 - ], - [ - 2.4391866, - 45.5776619 - ], - [ - 2.4585044, - 45.5776777 - ], - [ - 2.4585496, - 45.5505348 - ], - [ - 2.4780887, - 45.5505508 - ], - [ - 2.4781108, - 45.5372464 - ], - [ - 2.4975506, - 45.5372623 - ], - [ - 2.4975949, - 45.5106757 - ], - [ - 2.4785536, - 45.5106601 - ], - [ - 2.4786444, - 45.4561337 - ], - [ - 2.4597798, - 45.4561183 - ], - [ - 2.4598701, - 45.401757 - ], - [ - 2.4224876, - 45.4017264 - ], - [ - 2.4224651, - 45.4152816 - ], - [ - 2.4023154, - 45.4152651 - ], - [ - 2.4022929, - 45.4288193 - ], - [ - 2.3256006, - 45.4287565 - ], - [ - 2.3256684, - 45.3879609 - ], - [ - 2.3456182, - 45.3879773 - ], - [ - 2.3456629, - 45.3611091 - ], - [ - 2.326256, - 45.3610932 - ], - [ - 2.326279, - 45.3472146 - ], - [ - 2.3073819, - 45.3471991 - ], - [ - 2.3074045, - 45.3335972 - ], - [ - 2.2881095, - 45.3335813 - ], - [ - 2.2881307, - 45.3208191 - ], - [ - 2.2696332, - 45.3208039 - ], - [ - 2.2696574, - 45.306212 - ], - [ - 2.2506602, - 45.3061964 - ], - [ - 2.2506828, - 45.2925147 - ], - [ - 2.2316866, - 45.2924992 - ], - [ - 2.2317086, - 45.2792355 - ], - [ - 2.2130009, - 45.2792202 - ], - [ - 2.213046, - 45.2520355 - ], - [ - 2.1937387, - 45.2520197 - ], - [ - 2.1937617, - 45.2381134 - ], - [ - 2.1756091, - 45.2380985 - ], - [ - 2.1757423, - 45.1576822 - ], - [ - 2.1573543, - 45.157667 - ], - [ - 2.1574448, - 45.1029478 - ], - [ - 2.1202408, - 45.1029172 - ], - [ - 2.1202629, - 45.0895468 - ], - [ - 2.1006669, - 45.0895306 - ], - [ - 2.1006902, - 45.0754441 - ], - [ - 2.0824591, - 45.0754291 - ], - [ - 2.082548, - 45.0215961 - ], - [ - 2.1025534, - 45.0216126 - ], - [ - 2.1025982, - 44.994453 - ], - [ - 2.0457406, - 44.9944061 - ], - [ - 2.0458508, - 44.9275321 - ], - [ - 2.0657794, - 44.9275486 - ], - [ - 2.0658912, - 44.8596881 - ], - [ - 2.0856964, - 44.8597044 - ], - [ - 2.0857193, - 44.8458126 - ], - [ - 2.1055593, - 44.8458291 - ], - [ - 2.1056029, - 44.8193264 - ], - [ - 2.124743, - 44.8193422 - ], - [ - 2.1247657, - 44.805512 - ], - [ - 2.1435067, - 44.8055275 - ], - [ - 2.143551, - 44.778597 - ], - [ - 2.1256091, - 44.7785822 - ], - [ - 2.1256984, - 44.7242739 - ], - [ - 2.1066459, - 44.7242581 - ], - [ - 2.1067116, - 44.6842263 - ], - [ - 2.1263414, - 44.6842426 - ], - [ - 2.1263635, - 44.670735 - ], - [ - 2.14598, - 44.6707513 - ], - [ - 2.146069, - 44.6164441 - ], - [ - 2.1839622, - 44.6164756 - ], - [ - 2.183983, - 44.6037819 - ], - [ - 2.2404173, - 44.6038288 - ], - [ - 2.2403728, - 44.6309515 - ], - [ - 2.25948, - 44.6309674 - ], - [ - 2.2594571, - 44.644934 - ], - [ - 2.316678, - 44.6449815 - ], - [ - 2.3167011, - 44.6308801 - ], - [ - 2.3361516, - 44.6308963 - ], - [ - 2.3361734, - 44.6175824 - ], - [ - 2.3724238, - 44.6176125 - ], - [ - 2.3724009, - 44.6315823 - ], - [ - 2.4110495, - 44.6316144 - ], - [ - 2.4110701, - 44.6190741 - ], - [ - 2.4492173, - 44.6191058 - ], - [ - 2.4491956, - 44.6323197 - ], - [ - 2.5048575, - 44.6323659 - ], - [ - 2.5048126, - 44.6597555 - ], - [ - 2.5246119, - 44.6597719 - ], - [ - 2.524567, - 44.6871739 - ], - [ - 2.5422544, - 44.6871886 - ], - [ - 2.5422313, - 44.70122 - ], - [ - 2.5807101, - 44.701252 - ], - [ - 2.5805999, - 44.7683374 - ], - [ - 2.61769, - 44.7683681 - ], - [ - 2.6176235, - 44.808838 - ], - [ - 2.6367564, - 44.8088539 - ], - [ - 2.6366899, - 44.8492948 - ], - [ - 2.6733105, - 44.8493251 - ], - [ - 2.6732888, - 44.8625164 - ], - [ - 2.6933766, - 44.862533 - ], - [ - 2.6933323, - 44.8894303 - ], - [ - 2.7305201, - 44.8894611 - ], - [ - 2.7304757, - 44.9164461 - ], - [ - 2.7499202, - 44.9164622 - ], - [ - 2.7500519, - 44.8364688 - ], - [ - 2.8073346, - 44.8365162 - ], - [ - 2.8073139, - 44.8491017 - ], - [ - 2.8263796, - 44.8491175 - ], - [ - 2.8264007, - 44.8362845 - ], - [ - 2.8457039, - 44.8363004 - ], - [ - 2.8457707, - 44.7957107 - ], - [ - 2.8642166, - 44.795726 - ], - [ - 2.8642611, - 44.7686452 - ], - [ - 2.8839885, - 44.7686615 - ], - [ - 2.8840323, - 44.7419697 - ], - [ - 2.9020315, - 44.7419846 - ], - [ - 2.9021426, - 44.6743192 - ], - [ - 2.9219777, - 44.6743357 - ], - [ - 2.9220221, - 44.6472986 - ], - [ - 2.9400972, - 44.6473136 - ], - [ - 2.9401192, - 44.6338837 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/WikiProject_France/CRAIG", - terms_text: "Orthophotographie CRAIG/Sintegra/IGN 2013" - }, - { - id: "CRAIG-Auvergne-2016", - name: "Auvergne 2016 25cm CRAIG", - type: "tms", - template: "https://tiles.craig.fr/ortho/wmts/1.0.0/ortho_2016/webmercator/{zoom}/{x}/{y}.jpeg", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2016-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 2.493891, - 46.6682909 - ], - [ - 2.7136176, - 46.8414109 - ], - [ - 3.6474555, - 46.8075834 - ], - [ - 4.0484565, - 46.4832686 - ], - [ - 4.0374701, - 46.2482538 - ], - [ - 4.4604438, - 46.2596487 - ], - [ - 4.4934028, - 46.1455925 - ], - [ - 4.3835395, - 46.0922853 - ], - [ - 4.4549506, - 45.6908367 - ], - [ - 4.7625678, - 45.5717589 - ], - [ - 4.8120063, - 45.344428 - ], - [ - 4.2242377, - 44.8441895 - ], - [ - 3.8616889, - 44.6959969 - ], - [ - 3.3782905, - 44.8052283 - ], - [ - 3.3343451, - 44.8909082 - ], - [ - 3.1805365, - 44.8247122 - ], - [ - 3.0322211, - 44.6061167 - ], - [ - 2.927851, - 44.6022057 - ], - [ - 2.7191108, - 44.8519786 - ], - [ - 2.5103705, - 44.6022057 - ], - [ - 2.125849, - 44.5826468 - ], - [ - 2.0049994, - 44.9725746 - ], - [ - 2.3071235, - 45.4678399 - ], - [ - 2.4334662, - 45.4408666 - ], - [ - 2.4114936, - 45.7291949 - ], - [ - 2.3455756, - 45.8240183 - ], - [ - 2.5488227, - 45.9797905 - ], - [ - 2.4609321, - 46.2216563 - ], - [ - 2.2137397, - 46.3393472 - ], - [ - 2.2782844, - 46.5390305 - ], - [ - 2.5488227, - 46.5664179 - ], - [ - 2.493891, - 46.6682909 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/WikiProject_France/CRAIG", - terms_text: "CRAIG - IGN -TopoGEODIS - Feder Auvergne-Rhône-Alpes 2016" - }, - { - id: "BANO", - name: "BANO", - type: "tms", - template: "https://{switch:a,b,c}.layers.openstreetmap.fr/bano/{zoom}/{x}/{y}.png", - scaleExtent: [ - 12, - 20 - ], - polygon: [ - [ - [ - -2.7, - 43.9 - ], - [ - -6.3, - 48.98 - ], - [ - -2.25, - 50.09 - ], - [ - 1.31, - 50.88 - ], - [ - 2.358164, - 51.32937 - ], - [ - 2.548804, - 51.09759 - ], - [ - 2.570482, - 51.07409 - ], - [ - 2.587412, - 51.01763 - ], - [ - 2.598448, - 51.0051 - ], - [ - 2.615575, - 50.99749 - ], - [ - 2.639859, - 50.95766 - ], - [ - 2.642247, - 50.94578 - ], - [ - 2.624519, - 50.9256 - ], - [ - 2.61962, - 50.91067 - ], - [ - 2.623964, - 50.86071 - ], - [ - 2.627811, - 50.85054 - ], - [ - 2.637859, - 50.83696 - ], - [ - 2.651102, - 50.82906 - ], - [ - 2.732666, - 50.81738 - ], - [ - 2.79995, - 50.73795 - ], - [ - 2.816552, - 50.73092 - ], - [ - 2.852648, - 50.73335 - ], - [ - 2.890719, - 50.7162 - ], - [ - 2.904925, - 50.71536 - ], - [ - 2.916096, - 50.72418 - ], - [ - 2.935084, - 50.75592 - ], - [ - 3.007184, - 50.78377 - ], - [ - 3.082183, - 50.78749 - ], - [ - 3.092439, - 50.79092 - ], - [ - 3.114119, - 50.80566 - ], - [ - 3.148768, - 50.80195 - ], - [ - 3.215401, - 50.73111 - ], - [ - 3.221487, - 50.7267 - ], - [ - 3.270507, - 50.70375 - ], - [ - 3.275448, - 50.67757 - ], - [ - 3.265761, - 50.6604 - ], - [ - 3.265877, - 50.64054 - ], - [ - 3.289219, - 50.60028 - ], - [ - 3.292195, - 50.55037 - ], - [ - 3.305598, - 50.53267 - ], - [ - 3.375514, - 50.50839 - ], - [ - 3.389804, - 50.50884 - ], - [ - 3.474798, - 50.54445 - ], - [ - 3.52173, - 50.53459 - ], - [ - 3.532662, - 50.51873 - ], - [ - 3.547788, - 50.51012 - ], - [ - 3.615234, - 50.50558 - ], - [ - 3.673778, - 50.45642 - ], - [ - 3.684152, - 50.35277 - ], - [ - 3.690097, - 50.34044 - ], - [ - 3.702583, - 50.33482 - ], - [ - 3.715758, - 50.33854 - ], - [ - 3.749349, - 50.36279 - ], - [ - 3.841089, - 50.36558 - ], - [ - 3.901887, - 50.3436 - ], - [ - 3.913173, - 50.34291 - ], - [ - 4.026717, - 50.36904 - ], - [ - 4.13761, - 50.29984 - ], - [ - 4.143881, - 50.29727 - ], - [ - 4.214438, - 50.28167 - ], - [ - 4.229037, - 50.26664 - ], - [ - 4.230782, - 50.25233 - ], - [ - 4.170843, - 50.18579 - ], - [ - 4.166015, - 50.16888 - ], - [ - 4.176401, - 50.1547 - ], - [ - 4.211948, - 50.13602 - ], - [ - 4.240742, - 50.07102 - ], - [ - 4.231934, - 50.05551 - ], - [ - 4.181645, - 50.03436 - ], - [ - 4.17177, - 50.02537 - ], - [ - 4.169755, - 50.01217 - ], - [ - 4.176498, - 50.00065 - ], - [ - 4.206331, - 49.97546 - ], - [ - 4.221639, - 49.97089 - ], - [ - 4.308774, - 49.98145 - ], - [ - 4.445423, - 49.9523 - ], - [ - 4.454691, - 49.95251 - ], - [ - 4.658098, - 50.00609 - ], - [ - 4.669358, - 50.01392 - ], - [ - 4.672929, - 50.02716 - ], - [ - 4.66924, - 50.06972 - ], - [ - 4.695168, - 50.10472 - ], - [ - 4.831227, - 50.17941 - ], - [ - 4.881497, - 50.16436 - ], - [ - 4.904786, - 50.14451 - ], - [ - 4.904264, - 50.12639 - ], - [ - 4.880762, - 50.0815 - ], - [ - 4.862772, - 50.0745 - ], - [ - 4.851037, - 50.06216 - ], - [ - 4.843307, - 50.03884 - ], - [ - 4.843307, - 50.03883 - ], - [ - 4.843295, - 50.03881 - ], - [ - 4.826781, - 49.989 - ], - [ - 4.826618, - 49.97692 - ], - [ - 4.833433, - 49.96696 - ], - [ - 4.896542, - 49.91753 - ], - [ - 4.897546, - 49.89424 - ], - [ - 4.879134, - 49.86942 - ], - [ - 4.876249, - 49.85111 - ], - [ - 4.889238, - 49.81266 - ], - [ - 4.897691, - 49.80204 - ], - [ - 4.910979, - 49.79926 - ], - [ - 4.995343, - 49.81116 - ], - [ - 5.01867, - 49.79272 - ], - [ - 5.026862, - 49.78886 - ], - [ - 5.099438, - 49.77323 - ], - [ - 5.134584, - 49.73462 - ], - [ - 5.141201, - 49.72984 - ], - [ - 5.187609, - 49.70906 - ], - [ - 5.196025, - 49.70732 - ], - [ - 5.281572, - 49.70836 - ], - [ - 5.333628, - 49.67308 - ], - [ - 5.343996, - 49.65049 - ], - [ - 5.354398, - 49.64041 - ], - [ - 5.431412, - 49.60791 - ], - [ - 5.482051, - 49.52815 - ], - [ - 5.492943, - 49.51979 - ], - [ - 5.50666, - 49.52042 - ], - [ - 5.55401, - 49.54025 - ], - [ - 5.59311, - 49.53424 - ], - [ - 5.607602, - 49.53761 - ], - [ - 5.640997, - 49.56095 - ], - [ - 5.706759, - 49.55267 - ], - [ - 5.715782, - 49.55361 - ], - [ - 5.775261, - 49.57414 - ], - [ - 5.839902, - 49.55321 - ], - [ - 5.861263, - 49.52038 - ], - [ - 5.875997, - 49.5114 - ], - [ - 5.975162, - 49.50129 - ], - [ - 5.998015, - 49.47317 - ], - [ - 6.016266, - 49.46597 - ], - [ - 6.08635, - 49.47562 - ], - [ - 6.093186, - 49.47787 - ], - [ - 6.173966, - 49.52187 - ], - [ - 6.246435, - 49.52511 - ], - [ - 6.333999, - 49.48235 - ], - [ - 6.344229, - 49.48037 - ], - [ - 6.435145, - 49.487 - ], - [ - 6.5451, - 49.44384 - ], - [ - 6.606389, - 49.37868 - ], - [ - 6.604972, - 49.33739 - ], - [ - 6.616267, - 49.31869 - ], - [ - 6.670133, - 49.29269 - ], - [ - 6.729955, - 49.22917 - ], - [ - 6.743276, - 49.19086 - ], - [ - 6.760259, - 49.17752 - ], - [ - 6.809042, - 49.17284 - ], - [ - 6.824733, - 49.17826 - ], - [ - 6.830928, - 49.19366 - ], - [ - 6.829819, - 49.21802 - ], - [ - 6.851186, - 49.23136 - ], - [ - 6.884528, - 49.2239 - ], - [ - 6.893221, - 49.22389 - ], - [ - 6.937527, - 49.23369 - ], - [ - 7.040549, - 49.19794 - ], - [ - 7.046296, - 49.17503 - ], - [ - 7.054777, - 49.16313 - ], - [ - 7.069081, - 49.16018 - ], - [ - 7.104945, - 49.16634 - ], - [ - 7.143153, - 49.14159 - ], - [ - 7.153499, - 49.13839 - ], - [ - 7.286827, - 49.13488 - ], - [ - 7.29893, - 49.13856 - ], - [ - 7.360948, - 49.18259 - ], - [ - 7.450116, - 49.19517 - ], - [ - 7.50113, - 49.17672 - ], - [ - 7.543788, - 49.10572 - ], - [ - 7.557903, - 49.09626 - ], - [ - 7.629604, - 49.08527 - ], - [ - 7.647217, - 49.06722 - ], - [ - 7.661197, - 49.06119 - ], - [ - 7.754008, - 49.05963 - ], - [ - 7.760731, - 49.06067 - ], - [ - 7.802913, - 49.07489 - ], - [ - 7.855253, - 49.05329 - ], - [ - 7.867297, - 49.05227 - ], - [ - 7.93826, - 49.06832 - ], - [ - 8.080685, - 49.00688 - ], - [ - 8.222498, - 48.98787 - ], - [ - 8.23704, - 48.97683 - ], - [ - 8.235894, - 48.95817 - ], - [ - 8.208878, - 48.94863 - ], - [ - 8.200888, - 48.94339 - ], - [ - 8.158243, - 48.89753 - ], - [ - 8.100873, - 48.7993 - ], - [ - 7.990709, - 48.74478 - ], - [ - 7.985341, - 48.7409 - ], - [ - 7.904217, - 48.65865 - ], - [ - 7.856051, - 48.63606 - ], - [ - 7.848405, - 48.62977 - ], - [ - 7.818424, - 48.58883 - ], - [ - 7.81456, - 48.57704 - ], - [ - 7.814491, - 48.50968 - ], - [ - 7.785465, - 48.48337 - ], - [ - 7.780554, - 48.47652 - ], - [ - 7.745059, - 48.39484 - ], - [ - 7.743573, - 48.38427 - ], - [ - 7.751593, - 48.32322 - ], - [ - 7.71085, - 48.29841 - ], - [ - 7.702411, - 48.28803 - ], - [ - 7.676613, - 48.21555 - ], - [ - 7.596051, - 48.11698 - ], - [ - 7.591652, - 48.10648 - ], - [ - 7.585216, - 48.04694 - ], - [ - 7.591268, - 48.03035 - ], - [ - 7.624373, - 47.99865 - ], - [ - 7.632049, - 47.97081 - ], - [ - 7.575545, - 47.87436 - ], - [ - 7.572802, - 47.86435 - ], - [ - 7.572673, - 47.83631 - ], - [ - 7.545808, - 47.78793 - ], - [ - 7.544185, - 47.77232 - ], - [ - 7.557581, - 47.72899 - ], - [ - 7.535257, - 47.6989 - ], - [ - 7.531364, - 47.68564 - ], - [ - 7.536998, - 47.67302 - ], - [ - 7.600164, - 47.60822 - ], - [ - 7.589675, - 47.56755 - ], - [ - 7.554237, - 47.55128 - ], - [ - 7.54511, - 47.54283 - ], - [ - 7.512557, - 47.48439 - ], - [ - 7.387471, - 47.42111 - ], - [ - 7.326527, - 47.4273 - ], - [ - 7.244354, - 47.40939 - ], - [ - 7.167083, - 47.4335 - ], - [ - 7.152115, - 47.47612 - ], - [ - 7.14279, - 47.48707 - ], - [ - 7.128529, - 47.48893 - ], - [ - 7.080105, - 47.47718 - ], - [ - 7.035575, - 47.48695 - ], - [ - 7.021019, - 47.48458 - ], - [ - 7.012048, - 47.47287 - ], - [ - 7.002995, - 47.44095 - ], - [ - 6.955099, - 47.40808 - ], - [ - 6.947157, - 47.39698 - ], - [ - 6.94818, - 47.38337 - ], - [ - 6.957691, - 47.37359 - ], - [ - 6.971263, - 47.37218 - ], - [ - 7.018004, - 47.38386 - ], - [ - 7.05623, - 47.37035 - ], - [ - 7.070073, - 47.35005 - ], - [ - 7.05958, - 47.32257 - ], - [ - 6.974243, - 47.27856 - ], - [ - 6.963469, - 47.26233 - ], - [ - 6.961339, - 47.23479 - ], - [ - 6.89443, - 47.19393 - ], - [ - 6.889128, - 47.18922 - ], - [ - 6.855453, - 47.14636 - ], - [ - 6.769073, - 47.10751 - ], - [ - 6.760108, - 47.09953 - ], - [ - 6.725613, - 47.0418 - ], - [ - 6.623551, - 46.9811 - ], - [ - 6.481204, - 46.9445 - ], - [ - 6.46892, - 46.93522 - ], - [ - 6.466862, - 46.91997 - ], - [ - 6.475476, - 46.88771 - ], - [ - 6.453496, - 46.8239 - ], - [ - 6.45644, - 46.80534 - ], - [ - 6.467224, - 46.79104 - ], - [ - 6.460984, - 46.76887 - ], - [ - 6.15817, - 46.59343 - ], - [ - 6.148724, - 46.58069 - ], - [ - 6.15152, - 46.56508 - ], - [ - 6.165489, - 46.54399 - ], - [ - 6.158111, - 46.52456 - ], - [ - 6.101739, - 46.46979 - ], - [ - 6.095717, - 46.45418 - ], - [ - 6.097044, - 46.43317 - ], - [ - 6.108289, - 46.41643 - ], - [ - 6.166216, - 46.38839 - ], - [ - 6.178173, - 46.36922 - ], - [ - 6.137482, - 46.31297 - ], - [ - 6.133713, - 46.30227 - ], - [ - 6.130383, - 46.23737 - ], - [ - 6.110298, - 46.22344 - ], - [ - 6.088648, - 46.23081 - ], - [ - 6.077173, - 46.23123 - ], - [ - 6.018573, - 46.21601 - ], - [ - 6.006813, - 46.20752 - ], - [ - 6.003882, - 46.19332 - ], - [ - 6.007866, - 46.16977 - ], - [ - 6.017834, - 46.15564 - ], - [ - 6.03509, - 46.15456 - ], - [ - 6.055639, - 46.16288 - ], - [ - 6.124683, - 46.15415 - ], - [ - 6.137776, - 46.15702 - ], - [ - 6.240258, - 46.22094 - ], - [ - 6.249058, - 46.23299 - ], - [ - 6.247073, - 46.24777 - ], - [ - 6.21148, - 46.31057 - ], - [ - 6.212186, - 46.32485 - ], - [ - 6.239462, - 46.36705 - ], - [ - 6.316478, - 46.41557 - ], - [ - 6.410826, - 46.42495 - ], - [ - 6.417483, - 46.42682 - ], - [ - 6.504978, - 46.46871 - ], - [ - 6.630473, - 46.47435 - ], - [ - 6.746646, - 46.45695 - ], - [ - 6.822442, - 46.42925 - ], - [ - 6.818324, - 46.38181 - ], - [ - 6.804843, - 46.36179 - ], - [ - 6.801885, - 46.34639 - ], - [ - 6.810949, - 46.33359 - ], - [ - 6.864911, - 46.30038 - ], - [ - 6.875036, - 46.28007 - ], - [ - 6.860917, - 46.2439 - ], - [ - 6.826978, - 46.21188 - ], - [ - 6.820746, - 46.19862 - ], - [ - 6.818627, - 46.16592 - ], - [ - 6.822593, - 46.15261 - ], - [ - 6.834266, - 46.14509 - ], - [ - 6.903819, - 46.12971 - ], - [ - 6.904911, - 46.09595 - ], - [ - 6.909323, - 46.08406 - ], - [ - 6.920006, - 46.07721 - ], - [ - 6.948976, - 46.0699 - ], - [ - 7.015561, - 46.00883 - ], - [ - 7.051911, - 45.93066 - ], - [ - 7.045335, - 45.92217 - ], - [ - 7.044967, - 45.92064 - ], - [ - 7.043936, - 45.92036 - ], - [ - 6.995822, - 45.85822 - ], - [ - 6.940965, - 45.83551 - ], - [ - 6.843757, - 45.82387 - ], - [ - 6.831016, - 45.81711 - ], - [ - 6.826141, - 45.80353 - ], - [ - 6.82787, - 45.73217 - ], - [ - 6.83174, - 45.72082 - ], - [ - 6.841405, - 45.71373 - ], - [ - 6.907294, - 45.69124 - ], - [ - 6.92419, - 45.66935 - ], - [ - 6.942468, - 45.66172 - ], - [ - 6.971313, - 45.66528 - ], - [ - 7.00597, - 45.64945 - ], - [ - 7.011511, - 45.63652 - ], - [ - 6.997797, - 45.60877 - ], - [ - 6.996431, - 45.59465 - ], - [ - 7.015803, - 45.52354 - ], - [ - 7.027743, - 45.5102 - ], - [ - 7.107198, - 45.47877 - ], - [ - 7.122797, - 45.44924 - ], - [ - 7.13304, - 45.44001 - ], - [ - 7.185604, - 45.41894 - ], - [ - 7.19515, - 45.40409 - ], - [ - 7.170749, - 45.35069 - ], - [ - 7.142319, - 45.32298 - ], - [ - 7.136488, - 45.30576 - ], - [ - 7.14458, - 45.25048 - ], - [ - 7.084166, - 45.20279 - ], - [ - 6.992792, - 45.19823 - ], - [ - 6.981064, - 45.19368 - ], - [ - 6.900091, - 45.12689 - ], - [ - 6.85843, - 45.11699 - ], - [ - 6.782826, - 45.14228 - ], - [ - 6.770557, - 45.14242 - ], - [ - 6.677507, - 45.11356 - ], - [ - 6.665295, - 45.10289 - ], - [ - 6.665008, - 45.08667 - ], - [ - 6.68237, - 45.04558 - ], - [ - 6.696016, - 45.03395 - ], - [ - 6.757442, - 45.01884 - ], - [ - 6.783751, - 44.9146 - ], - [ - 6.794195, - 44.90161 - ], - [ - 6.866981, - 44.86519 - ], - [ - 6.879801, - 44.86346 - ], - [ - 6.936325, - 44.87461 - ], - [ - 7.017954, - 44.84402 - ], - [ - 7.034535, - 44.82282 - ], - [ - 7.037114, - 44.75009 - ], - [ - 7.049604, - 44.73226 - ], - [ - 7.072236, - 44.72311 - ], - [ - 7.086508, - 44.6968 - ], - [ - 7.086656, - 44.68085 - ], - [ - 7.07671, - 44.67134 - ], - [ - 6.990071, - 44.67203 - ], - [ - 6.974128, - 44.66431 - ], - [ - 6.970564, - 44.64696 - ], - [ - 6.978189, - 44.61784 - ], - [ - 6.94659, - 44.57124 - ], - [ - 6.882347, - 44.53479 - ], - [ - 6.872327, - 44.5195 - ], - [ - 6.878925, - 44.50245 - ], - [ - 6.958945, - 44.43129 - ], - [ - 6.958723, - 44.42908 - ], - [ - 6.921668, - 44.41436 - ], - [ - 6.912225, - 44.40659 - ], - [ - 6.909075, - 44.39477 - ], - [ - 6.90972, - 44.38195 - ], - [ - 6.91637, - 44.36804 - ], - [ - 6.999091, - 44.29414 - ], - [ - 7.011806, - 44.256 - ], - [ - 7.019835, - 44.24558 - ], - [ - 7.032595, - 44.2424 - ], - [ - 7.073117, - 44.2461 - ], - [ - 7.165097, - 44.22112 - ], - [ - 7.245331, - 44.18544 - ], - [ - 7.260526, - 44.16682 - ], - [ - 7.275371, - 44.15947 - ], - [ - 7.338779, - 44.1574 - ], - [ - 7.362775, - 44.13834 - ], - [ - 7.377763, - 44.13416 - ], - [ - 7.56283, - 44.15792 - ], - [ - 7.5642, - 44.15836 - ], - [ - 7.564785, - 44.15817 - ], - [ - 7.605476, - 44.1634 - ], - [ - 7.616198, - 44.16827 - ], - [ - 7.639891, - 44.18928 - ], - [ - 7.686079, - 44.1861 - ], - [ - 7.69422, - 44.17795 - ], - [ - 7.68937, - 44.13869 - ], - [ - 7.694448, - 44.12276 - ], - [ - 7.727862, - 44.08615 - ], - [ - 7.724032, - 44.05704 - ], - [ - 7.686028, - 44.02371 - ], - [ - 7.680769, - 44.0164 - ], - [ - 7.660161, - 43.9672 - ], - [ - 7.596244, - 43.94466 - ], - [ - 7.584187, - 43.93287 - ], - [ - 7.568576, - 43.89159 - ], - [ - 7.527096, - 43.87434 - ], - [ - 7.516489, - 43.86397 - ], - [ - 7.51594, - 43.84915 - ], - [ - 7.53622, - 43.79234 - ], - [ - 9.8, - 43.1 - ], - [ - 9.63227, - 41.43244 - ], - [ - 9.369681, - 41.35052 - ], - [ - 9.273114, - 41.29196 - ], - [ - 8.941857, - 41.27688 - ], - [ - 5.8, - 41.64 - ], - [ - 3.173576, - 42.41768 - ], - [ - 3.160814, - 42.42757 - ], - [ - 3.094399, - 42.41457 - ], - [ - 3.034016, - 42.45331 - ], - [ - 3.022142, - 42.45645 - ], - [ - 2.878221, - 42.4487 - ], - [ - 2.870188, - 42.44653 - ], - [ - 2.784238, - 42.40256 - ], - [ - 2.741304, - 42.41128 - ], - [ - 2.729276, - 42.40998 - ], - [ - 2.693308, - 42.39417 - ], - [ - 2.683779, - 42.3854 - ], - [ - 2.681621, - 42.37263 - ], - [ - 2.685852, - 42.34679 - ], - [ - 2.66719, - 42.33008 - ], - [ - 2.581057, - 42.34418 - ], - [ - 2.567769, - 42.34173 - ], - [ - 2.533803, - 42.32197 - ], - [ - 2.477948, - 42.32986 - ], - [ - 2.419327, - 42.37658 - ], - [ - 2.41222, - 42.38021 - ], - [ - 2.267193, - 42.42055 - ], - [ - 2.259731, - 42.42117 - ], - [ - 2.206944, - 42.41558 - ], - [ - 2.206525, - 42.41526 - ], - [ - 2.205257, - 42.41541 - ], - [ - 2.160278, - 42.41065 - ], - [ - 2.148808, - 42.40545 - ], - [ - 2.093931, - 42.35474 - ], - [ - 2.008614, - 42.33818 - ], - [ - 1.964998, - 42.36473 - ], - [ - 1.930762, - 42.42442 - ], - [ - 1.920889, - 42.43302 - ], - [ - 1.884665, - 42.44761 - ], - [ - 1.884588, - 42.44762 - ], - [ - 1.884444, - 42.4477 - ], - [ - 1.827736, - 42.47056 - ], - [ - 1.725668, - 42.48452 - ], - [ - 1.715606, - 42.50125 - ], - [ - 1.727195, - 42.56103 - ], - [ - 1.724794, - 42.57499 - ], - [ - 1.710109, - 42.59992 - ], - [ - 1.69377, - 42.60975 - ], - [ - 1.602827, - 42.61382 - ], - [ - 1.560687, - 42.6392 - ], - [ - 1.546365, - 42.64166 - ], - [ - 1.504443, - 42.6331 - ], - [ - 1.492096, - 42.62502 - ], - [ - 1.472384, - 42.59703 - ], - [ - 1.437922, - 42.59264 - ], - [ - 1.419356, - 42.60643 - ], - [ - 1.38032, - 42.67415 - ], - [ - 1.373353, - 42.68127 - ], - [ - 1.333134, - 42.70563 - ], - [ - 1.323642, - 42.7085 - ], - [ - 1.232212, - 42.71248 - ], - [ - 1.165543, - 42.69928 - ], - [ - 1.085465, - 42.76635 - ], - [ - 1.075637, - 42.77079 - ], - [ - 0.9593748, - 42.78852 - ], - [ - 0.9507323, - 42.78794 - ], - [ - 0.9226515, - 42.7797 - ], - [ - 0.8460624, - 42.8157 - ], - [ - 0.7151135, - 42.8464 - ], - [ - 0.7001699, - 42.84402 - ], - [ - 0.6911674, - 42.83186 - ], - [ - 0.6740937, - 42.76479 - ], - [ - 0.6747382, - 42.75286 - ], - [ - 0.6919171, - 42.70684 - ], - [ - 0.6689955, - 42.67901 - ], - [ - 0.4302428, - 42.67863 - ], - [ - 0.3715037, - 42.70308 - ], - [ - 0.3595376, - 42.70415 - ], - [ - 0.3491168, - 42.69817 - ], - [ - 0.3256688, - 42.67274 - ], - [ - 0.2957095, - 42.66388 - ], - [ - 0.2459353, - 42.70175 - ], - [ - 0.2397249, - 42.70494 - ], - [ - 0.189669, - 42.72039 - ], - [ - 0.1791886, - 42.72075 - ], - [ - -0.01993262, - 42.67389 - ], - [ - -0.06725834, - 42.6848 - ], - [ - -0.1694885, - 42.77157 - ], - [ - -0.2998662, - 42.82697 - ], - [ - -0.3168349, - 42.82635 - ], - [ - -0.3920752, - 42.78766 - ], - [ - -0.4435404, - 42.78453 - ], - [ - -0.488418, - 42.80255 - ], - [ - -0.508683, - 42.79935 - ], - [ - -0.5449894, - 42.76906 - ], - [ - -0.5672068, - 42.76937 - ], - [ - -0.6744552, - 42.86392 - ], - [ - -0.6809365, - 42.86775 - ], - [ - -0.7337233, - 42.88666 - ], - [ - -0.747598, - 42.93879 - ], - [ - -0.757105, - 42.95107 - ], - [ - -0.7725328, - 42.95284 - ], - [ - -0.8211401, - 42.93865 - ], - [ - -0.9450847, - 42.94192 - ], - [ - -1.023131, - 42.98206 - ], - [ - -1.108517, - 43.00409 - ], - [ - -1.115597, - 43.00461 - ], - [ - -1.147753, - 43.00124 - ], - [ - -1.158452, - 43.01452 - ], - [ - -1.167362, - 43.02083 - ], - [ - -1.216216, - 43.0381 - ], - [ - -1.226121, - 43.03898 - ], - [ - -1.262362, - 43.03303 - ], - [ - -1.306428, - 43.05531 - ], - [ - -1.319918, - 43.05696 - ], - [ - -1.331346, - 43.0496 - ], - [ - -1.354196, - 43.0197 - ], - [ - -1.438684, - 43.03371 - ], - [ - -1.4775, - 43.06889 - ], - [ - -1.48311, - 43.08561 - ], - [ - -1.476407, - 43.10248 - ], - [ - -1.434786, - 43.13087 - ], - [ - -1.427318, - 43.1404 - ], - [ - -1.394112, - 43.22935 - ], - [ - -1.395313, - 43.24596 - ], - [ - -1.408677, - 43.25591 - ], - [ - -1.526287, - 43.28099 - ], - [ - -1.546257, - 43.2737 - ], - [ - -1.571485, - 43.2412 - ], - [ - -1.610526, - 43.24223 - ], - [ - -1.650003, - 43.29323 - ], - [ - -1.669527, - 43.30065 - ], - [ - -1.733594, - 43.28856 - ], - [ - -1.756061, - 43.31966 - ], - [ - -1.762973, - 43.32565 - ], - [ - -1.791557, - 43.34067 - ], - [ - -1.800991, - 43.37017 - ], - [ - -1.785091, - 43.39037 - ], - [ - -1.783502, - 43.39686 - ], - [ - -2.7, - 43.9 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/FR:WikiProject_France/WikiProject_Base_Adresses_Nationale_Ouverte_(BANO)#Licence_du_r.C3.A9sultat", - terms_text: "Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL", - description: "French address registry or Base Adresses Nationale Ouverte", - overlay: true - }, - { - id: "lu.geoportail.opendata.basemap", - name: "Basemap geoportail.lu", - type: "tms", - template: "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/basemap/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png", - endDate: "2010-07-20T00:00:00.000Z", - startDate: "2013-07-19T00:00:00.000Z", - 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", - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "basemap.at", - name: "basemap.at", - type: "tms", - template: "https://maps{switch:1,2,3,4}.wien.gv.at/basemap/geolandbasemap/normal/google3857/{zoom}/{y}/{x}.png", - scaleExtent: [ - 0, - 19 - ], - 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 - ], - [ - 16.5073284, - 46.9929304 - ] - ] - ], - terms_url: "https://basemap.at", - terms_text: "basemap.at", - description: "Basemap of Austria, based on government data.", - icon: "https://www.basemap.at/images/logo_basemap.jpg" - }, - { - id: "basemap.at-orthofoto", - name: "basemap.at Orthofoto", - type: "tms", - template: "https://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{zoom}/{y}/{x}.jpeg", - scaleExtent: [ - 0, - 19 - ], - 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 - ], - [ - 16.5073284, - 46.9929304 - ] - ] - ], - terms_url: "https://basemap.at", - terms_text: "basemap.at", - best: true, - description: "Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.", - icon: "https://www.basemap.at/images/logo_basemap.jpg" - }, - { - id: "bavaria-2m", - name: "Bavaria (2 m)", - type: "wms", - template: "https://geodaten.bayern.de/ogc/ogc_dop200_oa.cgi?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=adv_dop200c&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - scaleExtent: [ - 8, - 18 - ], - polygon: [ - [ - [ - 10.1235886, - 50.568462 - ], - [ - 10.1428576, - 50.5507804 - ], - [ - 10.2028056, - 50.5574195 - ], - [ - 10.2520485, - 50.5179575 - ], - [ - 10.3269835, - 50.4934473 - ], - [ - 10.4104825, - 50.4184762 - ], - [ - 10.6031724, - 50.3310874 - ], - [ - 10.6224414, - 50.2271041 - ], - [ - 10.7252093, - 50.2106649 - ], - [ - 10.7294913, - 50.2476451 - ], - [ - 10.8515282, - 50.2435376 - ], - [ - 10.7187863, - 50.3201525 - ], - [ - 10.7123633, - 50.3652428 - ], - [ - 10.8558102, - 50.3966441 - ], - [ - 10.9371682, - 50.3966441 - ], - [ - 10.9906932, - 50.3666085 - ], - [ - 11.1277171, - 50.3666085 - ], - [ - 11.1791011, - 50.3133169 - ], - [ - 11.1619731, - 50.294172 - ], - [ - 11.24119, - 50.2928042 - ], - [ - 11.249754, - 50.3734364 - ], - [ - 11.24119, - 50.479825 - ], - [ - 11.358945, - 50.5234025 - ], - [ - 11.4381619, - 50.5097889 - ], - [ - 11.4424439, - 50.4893611 - ], - [ - 11.425316, - 50.4771001 - ], - [ - 11.425316, - 50.4416618 - ], - [ - 11.4895459, - 50.4225686 - ], - [ - 11.4916869, - 50.3980089 - ], - [ - 11.5195199, - 50.3980089 - ], - [ - 11.5259429, - 50.3761673 - ], - [ - 11.5987369, - 50.4034677 - ], - [ - 11.6372748, - 50.3884544 - ], - [ - 11.7935678, - 50.4212045 - ], - [ - 11.8363877, - 50.3925494 - ], - [ - 11.9220277, - 50.4280246 - ], - [ - 11.9862577, - 50.3870894 - ], - [ - 11.9841167, - 50.3570478 - ], - [ - 12.0483466, - 50.3310874 - ], - [ - 12.0933076, - 50.3297207 - ], - [ - 12.1297046, - 50.2982751 - ], - [ - 12.1404096, - 50.2722826 - ], - [ - 12.1061536, - 50.255859 - ], - [ - 12.1125766, - 50.2353216 - ], - [ - 12.1489736, - 50.236691 - ], - [ - 12.1982166, - 50.2010728 - ], - [ - 12.2239086, - 50.1640565 - ], - [ - 12.2046396, - 50.1434795 - ], - [ - 12.2067806, - 50.1077916 - ], - [ - 12.2431775, - 50.0995522 - ], - [ - 12.2774335, - 50.0720772 - ], - [ - 12.4936744, - 49.985428 - ], - [ - 12.4979564, - 49.9413559 - ], - [ - 12.5557634, - 49.9220616 - ], - [ - 12.5493404, - 49.8682726 - ], - [ - 12.4808284, - 49.7881677 - ], - [ - 12.4101755, - 49.7577484 - ], - [ - 12.4615594, - 49.7065456 - ], - [ - 12.5471994, - 49.6802313 - ], - [ - 12.5878784, - 49.552613 - ], - [ - 12.6542493, - 49.534553 - ], - [ - 12.6628133, - 49.4330153 - ], - [ - 12.7527353, - 49.4107323 - ], - [ - 12.7976963, - 49.3466124 - ], - [ - 12.9047462, - 49.3563752 - ], - [ - 12.9968092, - 49.3368477 - ], - [ - 13.0546161, - 49.2754251 - ], - [ - 13.1316921, - 49.2195199 - ], - [ - 13.1916401, - 49.1439475 - ], - [ - 13.236601, - 49.1215335 - ], - [ - 13.296549, - 49.1229347 - ], - [ - 13.371484, - 49.0808823 - ], - [ - 13.414304, - 49.0289687 - ], - [ - 13.414304, - 48.9798112 - ], - [ - 13.5791609, - 48.9699739 - ], - [ - 13.6348268, - 48.9432629 - ], - [ - 13.6776468, - 48.8869823 - ], - [ - 13.7375948, - 48.8926132 - ], - [ - 13.7846968, - 48.8334571 - ], - [ - 13.8403627, - 48.774231 - ], - [ - 13.8168118, - 48.7064584 - ], - [ - 13.8446447, - 48.7008065 - ], - [ - 13.8425037, - 48.6003807 - ], - [ - 13.7654278, - 48.5422972 - ], - [ - 13.7525818, - 48.5040106 - ], - [ - 13.6712238, - 48.5054291 - ], - [ - 13.6433908, - 48.5437146 - ], - [ - 13.4571239, - 48.5508013 - ], - [ - 13.4571239, - 48.4159838 - ], - [ - 13.40574, - 48.3605338 - ], - [ - 13.283703, - 48.2751083 - ], - [ - 13.0931541, - 48.2694081 - ], - [ - 12.9582712, - 48.1909669 - ], - [ - 12.8769132, - 48.1852574 - ], - [ - 12.7720043, - 48.0938188 - ], - [ - 12.8640672, - 48.0136764 - ], - [ - 12.8983232, - 47.9549216 - ], - [ - 12.9454252, - 47.9563555 - ], - [ - 12.9968092, - 47.8846147 - ], - [ - 13.0139372, - 47.834337 - ], - [ - 12.9347202, - 47.7321953 - ], - [ - 13.0588981, - 47.7249947 - ], - [ - 13.1188461, - 47.6385093 - ], - [ - 13.0653211, - 47.5692178 - ], - [ - 13.0567571, - 47.473792 - ], - [ - 13.0032322, - 47.4520801 - ], - [ - 12.7677223, - 47.5504355 - ], - [ - 12.7698633, - 47.6327385 - ], - [ - 12.7398893, - 47.6731207 - ], - [ - 12.6670953, - 47.6702373 - ], - [ - 12.5750324, - 47.621195 - ], - [ - 12.4808284, - 47.6197519 - ], - [ - 12.4144575, - 47.6702373 - ], - [ - 12.2431775, - 47.6774455 - ], - [ - 12.2132036, - 47.6918589 - ], - [ - 12.1917936, - 47.6817699 - ], - [ - 12.2132036, - 47.6659119 - ], - [ - 12.2110626, - 47.603875 - ], - [ - 12.1746656, - 47.5952129 - ], - [ - 12.1382686, - 47.603875 - ], - [ - 11.8920537, - 47.603875 - ], - [ - 11.8513747, - 47.5793285 - ], - [ - 11.6394158, - 47.5822169 - ], - [ - 11.5944549, - 47.5489905 - ], - [ - 11.5901729, - 47.5128508 - ], - [ - 11.5173789, - 47.498388 - ], - [ - 11.4403029, - 47.5041736 - ], - [ - 11.395342, - 47.4752392 - ], - [ - 11.427457, - 47.4448409 - ], - [ - 11.346099, - 47.4433929 - ], - [ - 11.279728, - 47.3955873 - ], - [ - 11.2133571, - 47.3883402 - ], - [ - 11.247613, - 47.4318076 - ], - [ - 11.1020251, - 47.3926886 - ], - [ - 10.9650012, - 47.3897897 - ], - [ - 10.9778472, - 47.4361524 - ], - [ - 10.9178992, - 47.4752392 - ], - [ - 10.8707972, - 47.4752392 - ], - [ - 10.8558102, - 47.4940484 - ], - [ - 10.9007712, - 47.5142969 - ], - [ - 10.8729382, - 47.5359831 - ], - [ - 10.8108493, - 47.5128508 - ], - [ - 10.6438513, - 47.5489905 - ], - [ - 10.5946084, - 47.5547705 - ], - [ - 10.5796214, - 47.5287553 - ], - [ - 10.4618664, - 47.5403192 - ], - [ - 10.4661484, - 47.4839212 - ], - [ - 10.4875584, - 47.4781333 - ], - [ - 10.4875584, - 47.4129762 - ], - [ - 10.4597254, - 47.4028333 - ], - [ - 10.4597254, - 47.375293 - ], - [ - 10.4104825, - 47.3738431 - ], - [ - 10.4083415, - 47.3433862 - ], - [ - 10.3205605, - 47.2867768 - ], - [ - 10.2820225, - 47.2780622 - ], - [ - 10.2841635, - 47.2620819 - ], - [ - 10.1471396, - 47.2620819 - ], - [ - 10.1921006, - 47.3027497 - ], - [ - 10.1942416, - 47.3738431 - ], - [ - 10.1664086, - 47.3738431 - ], - [ - 10.1664086, - 47.3462876 - ], - [ - 10.1000376, - 47.3433862 - ], - [ - 10.0614996, - 47.3636928 - ], - [ - 10.0679226, - 47.4187712 - ], - [ - 10.0936146, - 47.426014 - ], - [ - 10.0957556, - 47.4419449 - ], - [ - 9.9780007, - 47.485368 - ], - [ - 9.9565907, - 47.5273097 - ], - [ - 9.8945017, - 47.5287553 - ], - [ - 9.8559637, - 47.5085124 - ], - [ - 9.8174258, - 47.544655 - ], - [ - 9.8217078, - 47.5764399 - ], - [ - 9.7746058, - 47.5822169 - ], - [ - 9.7382088, - 47.525864 - ], - [ - 9.6739788, - 47.5345376 - ], - [ - 9.5840569, - 47.564884 - ], - [ - 9.6397228, - 47.6053186 - ], - [ - 9.7167988, - 47.603875 - ], - [ - 9.8559637, - 47.6760039 - ], - [ - 9.9780007, - 47.6558179 - ], - [ - 10.0293846, - 47.6817699 - ], - [ - 10.1000376, - 47.6673537 - ], - [ - 10.1321526, - 47.6760039 - ], - [ - 10.1428576, - 47.7019459 - ], - [ - 10.0614996, - 47.7725005 - ], - [ - 10.1128836, - 47.8098988 - ], - [ - 10.0829096, - 47.8530173 - ], - [ - 10.1086016, - 47.9090177 - ], - [ - 10.0764866, - 47.9649577 - ], - [ - 10.1300116, - 48.020837 - ], - [ - 10.1342936, - 48.1066872 - ], - [ - 10.1000376, - 48.1281274 - ], - [ - 10.0550766, - 48.2622821 - ], - [ - 9.9694367, - 48.3676462 - ], - [ - 10.0315256, - 48.4259299 - ], - [ - 10.0293846, - 48.461436 - ], - [ - 10.1235886, - 48.4770509 - ], - [ - 10.1535626, - 48.4514968 - ], - [ - 10.2349205, - 48.5125212 - ], - [ - 10.3162785, - 48.516776 - ], - [ - 10.2991505, - 48.6187835 - ], - [ - 10.2456255, - 48.6682961 - ], - [ - 10.2734585, - 48.7064584 - ], - [ - 10.3698035, - 48.6838472 - ], - [ - 10.4318924, - 48.6993935 - ], - [ - 10.4511614, - 48.7276471 - ], - [ - 10.4019185, - 48.7460035 - ], - [ - 10.4404564, - 48.8489571 - ], - [ - 10.4340334, - 48.9587289 - ], - [ - 10.3376885, - 49.0205451 - ], - [ - 10.2499075, - 49.0359872 - ], - [ - 10.2499075, - 49.0738701 - ], - [ - 10.2006646, - 49.1033147 - ], - [ - 10.2520485, - 49.1327418 - ], - [ - 10.1235886, - 49.1971401 - ], - [ - 10.1193066, - 49.2628519 - ], - [ - 10.1514216, - 49.2893915 - ], - [ - 10.1043196, - 49.3452175 - ], - [ - 10.1407166, - 49.3940134 - ], - [ - 10.1086016, - 49.445545 - ], - [ - 10.1107426, - 49.5053651 - ], - [ - 10.0722046, - 49.5331635 - ], - [ - 10.0165387, - 49.4761598 - ], - [ - 9.9266167, - 49.478942 - ], - [ - 9.9244757, - 49.5567797 - ], - [ - 9.8987837, - 49.5817727 - ], - [ - 9.8559637, - 49.5387213 - ], - [ - 9.8067208, - 49.5567797 - ], - [ - 9.8666687, - 49.6067529 - ], - [ - 9.8538227, - 49.6441991 - ], - [ - 9.8174258, - 49.6608327 - ], - [ - 9.8345537, - 49.6899277 - ], - [ - 9.7960158, - 49.7203895 - ], - [ - 9.7574778, - 49.7079302 - ], - [ - 9.7403498, - 49.6857723 - ], - [ - 9.7060938, - 49.7162368 - ], - [ - 9.6782608, - 49.7162368 - ], - [ - 9.6825428, - 49.6885426 - ], - [ - 9.6204539, - 49.6913127 - ], - [ - 9.6461458, - 49.78955 - ], - [ - 9.5583649, - 49.7743431 - ], - [ - 9.5712109, - 49.7356133 - ], - [ - 9.5069809, - 49.7522156 - ], - [ - 9.4919939, - 49.7798735 - ], - [ - 9.4684429, - 49.7605146 - ], - [ - 9.425623, - 49.7784909 - ], - [ - 9.404213, - 49.7646636 - ], - [ - 9.33356, - 49.770195 - ], - [ - 9.329278, - 49.7342295 - ], - [ - 9.408495, - 49.725926 - ], - [ - 9.427764, - 49.6982374 - ], - [ - 9.414918, - 49.6441991 - ], - [ - 9.380662, - 49.6386533 - ], - [ - 9.359252, - 49.6497443 - ], - [ - 9.339983, - 49.6372668 - ], - [ - 9.31215, - 49.648358 - ], - [ - 9.277894, - 49.626173 - ], - [ - 9.284317, - 49.6081403 - ], - [ - 9.241497, - 49.5748315 - ], - [ - 9.0980501, - 49.5720547 - ], - [ - 9.0659351, - 49.6081403 - ], - [ - 9.1001911, - 49.6511305 - ], - [ - 9.0916271, - 49.6926978 - ], - [ - 9.1301651, - 49.7120837 - ], - [ - 9.1387291, - 49.7425316 - ], - [ - 9.1087551, - 49.7563653 - ], - [ - 9.1365881, - 49.7909322 - ], - [ - 9.1001911, - 49.78955 - ], - [ - 9.0723581, - 49.8282367 - ], - [ - 9.0359611, - 49.8351418 - ], - [ - 9.0166922, - 50.0267091 - ], - [ - 8.9631672, - 50.0308352 - ], - [ - 8.9567442, - 50.0597083 - ], - [ - 9.0017052, - 50.0707031 - ], - [ - 9.0209742, - 50.1105378 - ], - [ - 9.1216011, - 50.1228936 - ], - [ - 9.1558571, - 50.1132838 - ], - [ - 9.1965361, - 50.1187753 - ], - [ - 9.1858311, - 50.1352462 - ], - [ - 9.235074, - 50.1475956 - ], - [ - 9.37638, - 50.1270115 - ], - [ - 9.408495, - 50.0816953 - ], - [ - 9.5219679, - 50.095432 - ], - [ - 9.5048399, - 50.1421073 - ], - [ - 9.5326729, - 50.1640565 - ], - [ - 9.4898529, - 50.1695422 - ], - [ - 9.4941349, - 50.2435376 - ], - [ - 9.6140309, - 50.221625 - ], - [ - 9.6654148, - 50.2353216 - ], - [ - 9.6354408, - 50.2490142 - ], - [ - 9.6675558, - 50.2722826 - ], - [ - 9.7424908, - 50.3092151 - ], - [ - 9.7296448, - 50.3584137 - ], - [ - 9.7703238, - 50.4293885 - ], - [ - 9.8688097, - 50.4007384 - ], - [ - 9.9180527, - 50.4089259 - ], - [ - 10.0358076, - 50.479825 - ], - [ - 10.0379486, - 50.5111504 - ], - [ - 10.1235886, - 50.568462 - ] - ] - ], - terms_url: "www.geodaten.bayern.de", - terms_text: "Bayerische Vermessungsverwaltung" - }, - { - id: "bavaria-DOP80", - name: "Bavaria DOP 80cm", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/BAYERNDOP80/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - scaleExtent: [ - 7, - 18 - ], - polygon: [ - [ - [ - 10.1235886, - 50.568462 - ], - [ - 10.1428576, - 50.5507804 - ], - [ - 10.2028056, - 50.5574195 - ], - [ - 10.2520485, - 50.5179575 - ], - [ - 10.3269835, - 50.4934473 - ], - [ - 10.4104825, - 50.4184762 - ], - [ - 10.6031724, - 50.3310874 - ], - [ - 10.6224414, - 50.2271041 - ], - [ - 10.7252093, - 50.2106649 - ], - [ - 10.7294913, - 50.2476451 - ], - [ - 10.8515282, - 50.2435376 - ], - [ - 10.7187863, - 50.3201525 - ], - [ - 10.7123633, - 50.3652428 - ], - [ - 10.8558102, - 50.3966441 - ], - [ - 10.9371682, - 50.3966441 - ], - [ - 10.9906932, - 50.3666085 - ], - [ - 11.1277171, - 50.3666085 - ], - [ - 11.1791011, - 50.3133169 - ], - [ - 11.1619731, - 50.294172 - ], - [ - 11.24119, - 50.2928042 - ], - [ - 11.249754, - 50.3734364 - ], - [ - 11.24119, - 50.479825 - ], - [ - 11.358945, - 50.5234025 - ], - [ - 11.4381619, - 50.5097889 - ], - [ - 11.4424439, - 50.4893611 - ], - [ - 11.425316, - 50.4771001 - ], - [ - 11.425316, - 50.4416618 - ], - [ - 11.4895459, - 50.4225686 - ], - [ - 11.4916869, - 50.3980089 - ], - [ - 11.5195199, - 50.3980089 - ], - [ - 11.5259429, - 50.3761673 - ], - [ - 11.5987369, - 50.4034677 - ], - [ - 11.6372748, - 50.3884544 - ], - [ - 11.7935678, - 50.4212045 - ], - [ - 11.8363877, - 50.3925494 - ], - [ - 11.9220277, - 50.4280246 - ], - [ - 11.9862577, - 50.3870894 - ], - [ - 11.9841167, - 50.3570478 - ], - [ - 12.0483466, - 50.3310874 - ], - [ - 12.0933076, - 50.3297207 - ], - [ - 12.1297046, - 50.2982751 - ], - [ - 12.1404096, - 50.2722826 - ], - [ - 12.1061536, - 50.255859 - ], - [ - 12.1125766, - 50.2353216 - ], - [ - 12.1489736, - 50.236691 - ], - [ - 12.1982166, - 50.2010728 - ], - [ - 12.2239086, - 50.1640565 - ], - [ - 12.2046396, - 50.1434795 - ], - [ - 12.2067806, - 50.1077916 - ], - [ - 12.2431775, - 50.0995522 - ], - [ - 12.2774335, - 50.0720772 - ], - [ - 12.4936744, - 49.985428 - ], - [ - 12.4979564, - 49.9413559 - ], - [ - 12.5557634, - 49.9220616 - ], - [ - 12.5493404, - 49.8682726 - ], - [ - 12.4808284, - 49.7881677 - ], - [ - 12.4101755, - 49.7577484 - ], - [ - 12.4615594, - 49.7065456 - ], - [ - 12.5471994, - 49.6802313 - ], - [ - 12.5878784, - 49.552613 - ], - [ - 12.6542493, - 49.534553 - ], - [ - 12.6628133, - 49.4330153 - ], - [ - 12.7527353, - 49.4107323 - ], - [ - 12.7976963, - 49.3466124 - ], - [ - 12.9047462, - 49.3563752 - ], - [ - 12.9968092, - 49.3368477 - ], - [ - 13.0546161, - 49.2754251 - ], - [ - 13.1316921, - 49.2195199 - ], - [ - 13.1916401, - 49.1439475 - ], - [ - 13.236601, - 49.1215335 - ], - [ - 13.296549, - 49.1229347 - ], - [ - 13.371484, - 49.0808823 - ], - [ - 13.414304, - 49.0289687 - ], - [ - 13.414304, - 48.9798112 - ], - [ - 13.5791609, - 48.9699739 - ], - [ - 13.6348268, - 48.9432629 - ], - [ - 13.6776468, - 48.8869823 - ], - [ - 13.7375948, - 48.8926132 - ], - [ - 13.7846968, - 48.8334571 - ], - [ - 13.8403627, - 48.774231 - ], - [ - 13.8168118, - 48.7064584 - ], - [ - 13.8446447, - 48.7008065 - ], - [ - 13.8425037, - 48.6003807 - ], - [ - 13.7654278, - 48.5422972 - ], - [ - 13.7525818, - 48.5040106 - ], - [ - 13.6712238, - 48.5054291 - ], - [ - 13.6433908, - 48.5437146 - ], - [ - 13.4571239, - 48.5508013 - ], - [ - 13.4571239, - 48.4159838 - ], - [ - 13.40574, - 48.3605338 - ], - [ - 13.283703, - 48.2751083 - ], - [ - 13.0931541, - 48.2694081 - ], - [ - 12.9582712, - 48.1909669 - ], - [ - 12.8769132, - 48.1852574 - ], - [ - 12.7720043, - 48.0938188 - ], - [ - 12.8640672, - 48.0136764 - ], - [ - 12.8983232, - 47.9549216 - ], - [ - 12.9454252, - 47.9563555 - ], - [ - 12.9968092, - 47.8846147 - ], - [ - 13.0139372, - 47.834337 - ], - [ - 12.9347202, - 47.7321953 - ], - [ - 13.0588981, - 47.7249947 - ], - [ - 13.1188461, - 47.6385093 - ], - [ - 13.0653211, - 47.5692178 - ], - [ - 13.0567571, - 47.473792 - ], - [ - 13.0032322, - 47.4520801 - ], - [ - 12.7677223, - 47.5504355 - ], - [ - 12.7698633, - 47.6327385 - ], - [ - 12.7398893, - 47.6731207 - ], - [ - 12.6670953, - 47.6702373 - ], - [ - 12.5750324, - 47.621195 - ], - [ - 12.4808284, - 47.6197519 - ], - [ - 12.4144575, - 47.6702373 - ], - [ - 12.2431775, - 47.6774455 - ], - [ - 12.2132036, - 47.6918589 - ], - [ - 12.1917936, - 47.6817699 - ], - [ - 12.2132036, - 47.6659119 - ], - [ - 12.2110626, - 47.603875 - ], - [ - 12.1746656, - 47.5952129 - ], - [ - 12.1382686, - 47.603875 - ], - [ - 11.8920537, - 47.603875 - ], - [ - 11.8513747, - 47.5793285 - ], - [ - 11.6394158, - 47.5822169 - ], - [ - 11.5944549, - 47.5489905 - ], - [ - 11.5901729, - 47.5128508 - ], - [ - 11.5173789, - 47.498388 - ], - [ - 11.4403029, - 47.5041736 - ], - [ - 11.395342, - 47.4752392 - ], - [ - 11.427457, - 47.4448409 - ], - [ - 11.346099, - 47.4433929 - ], - [ - 11.279728, - 47.3955873 - ], - [ - 11.2133571, - 47.3883402 - ], - [ - 11.247613, - 47.4318076 - ], - [ - 11.1020251, - 47.3926886 - ], - [ - 10.9650012, - 47.3897897 - ], - [ - 10.9778472, - 47.4361524 - ], - [ - 10.9178992, - 47.4752392 - ], - [ - 10.8707972, - 47.4752392 - ], - [ - 10.8558102, - 47.4940484 - ], - [ - 10.9007712, - 47.5142969 - ], - [ - 10.8729382, - 47.5359831 - ], - [ - 10.8108493, - 47.5128508 - ], - [ - 10.6438513, - 47.5489905 - ], - [ - 10.5946084, - 47.5547705 - ], - [ - 10.5796214, - 47.5287553 - ], - [ - 10.4618664, - 47.5403192 - ], - [ - 10.4661484, - 47.4839212 - ], - [ - 10.4875584, - 47.4781333 - ], - [ - 10.4875584, - 47.4129762 - ], - [ - 10.4597254, - 47.4028333 - ], - [ - 10.4597254, - 47.375293 - ], - [ - 10.4104825, - 47.3738431 - ], - [ - 10.4083415, - 47.3433862 - ], - [ - 10.3205605, - 47.2867768 - ], - [ - 10.2820225, - 47.2780622 - ], - [ - 10.2841635, - 47.2620819 - ], - [ - 10.1471396, - 47.2620819 - ], - [ - 10.1921006, - 47.3027497 - ], - [ - 10.1942416, - 47.3738431 - ], - [ - 10.1664086, - 47.3738431 - ], - [ - 10.1664086, - 47.3462876 - ], - [ - 10.1000376, - 47.3433862 - ], - [ - 10.0614996, - 47.3636928 - ], - [ - 10.0679226, - 47.4187712 - ], - [ - 10.0936146, - 47.426014 - ], - [ - 10.0957556, - 47.4419449 - ], - [ - 9.9780007, - 47.485368 - ], - [ - 9.9565907, - 47.5273097 - ], - [ - 9.8945017, - 47.5287553 - ], - [ - 9.8559637, - 47.5085124 - ], - [ - 9.8174258, - 47.544655 - ], - [ - 9.8217078, - 47.5764399 - ], - [ - 9.7746058, - 47.5822169 - ], - [ - 9.7382088, - 47.525864 - ], - [ - 9.6739788, - 47.5345376 - ], - [ - 9.5840569, - 47.564884 - ], - [ - 9.6397228, - 47.6053186 - ], - [ - 9.7167988, - 47.603875 - ], - [ - 9.8559637, - 47.6760039 - ], - [ - 9.9780007, - 47.6558179 - ], - [ - 10.0293846, - 47.6817699 - ], - [ - 10.1000376, - 47.6673537 - ], - [ - 10.1321526, - 47.6760039 - ], - [ - 10.1428576, - 47.7019459 - ], - [ - 10.0614996, - 47.7725005 - ], - [ - 10.1128836, - 47.8098988 - ], - [ - 10.0829096, - 47.8530173 - ], - [ - 10.1086016, - 47.9090177 - ], - [ - 10.0764866, - 47.9649577 - ], - [ - 10.1300116, - 48.020837 - ], - [ - 10.1342936, - 48.1066872 - ], - [ - 10.1000376, - 48.1281274 - ], - [ - 10.0550766, - 48.2622821 - ], - [ - 9.9694367, - 48.3676462 - ], - [ - 10.0315256, - 48.4259299 - ], - [ - 10.0293846, - 48.461436 - ], - [ - 10.1235886, - 48.4770509 - ], - [ - 10.1535626, - 48.4514968 - ], - [ - 10.2349205, - 48.5125212 - ], - [ - 10.3162785, - 48.516776 - ], - [ - 10.2991505, - 48.6187835 - ], - [ - 10.2456255, - 48.6682961 - ], - [ - 10.2734585, - 48.7064584 - ], - [ - 10.3698035, - 48.6838472 - ], - [ - 10.4318924, - 48.6993935 - ], - [ - 10.4511614, - 48.7276471 - ], - [ - 10.4019185, - 48.7460035 - ], - [ - 10.4404564, - 48.8489571 - ], - [ - 10.4340334, - 48.9587289 - ], - [ - 10.3376885, - 49.0205451 - ], - [ - 10.2499075, - 49.0359872 - ], - [ - 10.2499075, - 49.0738701 - ], - [ - 10.2006646, - 49.1033147 - ], - [ - 10.2520485, - 49.1327418 - ], - [ - 10.1235886, - 49.1971401 - ], - [ - 10.1193066, - 49.2628519 - ], - [ - 10.1514216, - 49.2893915 - ], - [ - 10.1043196, - 49.3452175 - ], - [ - 10.1407166, - 49.3940134 - ], - [ - 10.1086016, - 49.445545 - ], - [ - 10.1107426, - 49.5053651 - ], - [ - 10.0722046, - 49.5331635 - ], - [ - 10.0165387, - 49.4761598 - ], - [ - 9.9266167, - 49.478942 - ], - [ - 9.9244757, - 49.5567797 - ], - [ - 9.8987837, - 49.5817727 - ], - [ - 9.8559637, - 49.5387213 - ], - [ - 9.8067208, - 49.5567797 - ], - [ - 9.8666687, - 49.6067529 - ], - [ - 9.8538227, - 49.6441991 - ], - [ - 9.8174258, - 49.6608327 - ], - [ - 9.8345537, - 49.6899277 - ], - [ - 9.7960158, - 49.7203895 - ], - [ - 9.7574778, - 49.7079302 - ], - [ - 9.7403498, - 49.6857723 - ], - [ - 9.7060938, - 49.7162368 - ], - [ - 9.6782608, - 49.7162368 - ], - [ - 9.6825428, - 49.6885426 - ], - [ - 9.6204539, - 49.6913127 - ], - [ - 9.6461458, - 49.78955 - ], - [ - 9.5583649, - 49.7743431 - ], - [ - 9.5712109, - 49.7356133 - ], - [ - 9.5069809, - 49.7522156 - ], - [ - 9.4919939, - 49.7798735 - ], - [ - 9.4684429, - 49.7605146 - ], - [ - 9.425623, - 49.7784909 - ], - [ - 9.404213, - 49.7646636 - ], - [ - 9.33356, - 49.770195 - ], - [ - 9.329278, - 49.7342295 - ], - [ - 9.408495, - 49.725926 - ], - [ - 9.427764, - 49.6982374 - ], - [ - 9.414918, - 49.6441991 - ], - [ - 9.380662, - 49.6386533 - ], - [ - 9.359252, - 49.6497443 - ], - [ - 9.339983, - 49.6372668 - ], - [ - 9.31215, - 49.648358 - ], - [ - 9.277894, - 49.626173 - ], - [ - 9.284317, - 49.6081403 - ], - [ - 9.241497, - 49.5748315 - ], - [ - 9.0980501, - 49.5720547 - ], - [ - 9.0659351, - 49.6081403 - ], - [ - 9.1001911, - 49.6511305 - ], - [ - 9.0916271, - 49.6926978 - ], - [ - 9.1301651, - 49.7120837 - ], - [ - 9.1387291, - 49.7425316 - ], - [ - 9.1087551, - 49.7563653 - ], - [ - 9.1365881, - 49.7909322 - ], - [ - 9.1001911, - 49.78955 - ], - [ - 9.0723581, - 49.8282367 - ], - [ - 9.0359611, - 49.8351418 - ], - [ - 9.0166922, - 50.0267091 - ], - [ - 8.9631672, - 50.0308352 - ], - [ - 8.9567442, - 50.0597083 - ], - [ - 9.0017052, - 50.0707031 - ], - [ - 9.0209742, - 50.1105378 - ], - [ - 9.1216011, - 50.1228936 - ], - [ - 9.1558571, - 50.1132838 - ], - [ - 9.1965361, - 50.1187753 - ], - [ - 9.1858311, - 50.1352462 - ], - [ - 9.235074, - 50.1475956 - ], - [ - 9.37638, - 50.1270115 - ], - [ - 9.408495, - 50.0816953 - ], - [ - 9.5219679, - 50.095432 - ], - [ - 9.5048399, - 50.1421073 - ], - [ - 9.5326729, - 50.1640565 - ], - [ - 9.4898529, - 50.1695422 - ], - [ - 9.4941349, - 50.2435376 - ], - [ - 9.6140309, - 50.221625 - ], - [ - 9.6654148, - 50.2353216 - ], - [ - 9.6354408, - 50.2490142 - ], - [ - 9.6675558, - 50.2722826 - ], - [ - 9.7424908, - 50.3092151 - ], - [ - 9.7296448, - 50.3584137 - ], - [ - 9.7703238, - 50.4293885 - ], - [ - 9.8688097, - 50.4007384 - ], - [ - 9.9180527, - 50.4089259 - ], - [ - 10.0358076, - 50.479825 - ], - [ - 10.0379486, - 50.5111504 - ], - [ - 10.1235886, - 50.568462 - ] - ] - ], - terms_url: "www.geodaten.bayern.de", - terms_text: "Bayerische Vermessungsverwaltung", - best: true - }, - { - id: "route500hydro", - name: "BD Carthage", - type: "tms", - template: "https://{switch:a,b,c}.tile.openstreetmap.fr/route500hydro/{zoom}/{x}/{y}.png", - scaleExtent: [ - 6, - 20 - ], - polygon: [ - [ - [ - -2.7, - 43.9 - ], - [ - -6.3, - 48.98 - ], - [ - -2.25, - 50.09 - ], - [ - 1.31, - 50.88 - ], - [ - 2.358164, - 51.32937 - ], - [ - 2.548804, - 51.09759 - ], - [ - 2.570482, - 51.07409 - ], - [ - 2.587412, - 51.01763 - ], - [ - 2.598448, - 51.0051 - ], - [ - 2.615575, - 50.99749 - ], - [ - 2.639859, - 50.95766 - ], - [ - 2.642247, - 50.94578 - ], - [ - 2.624519, - 50.9256 - ], - [ - 2.61962, - 50.91067 - ], - [ - 2.623964, - 50.86071 - ], - [ - 2.627811, - 50.85054 - ], - [ - 2.637859, - 50.83696 - ], - [ - 2.651102, - 50.82906 - ], - [ - 2.732666, - 50.81738 - ], - [ - 2.79995, - 50.73795 - ], - [ - 2.816552, - 50.73092 - ], - [ - 2.852648, - 50.73335 - ], - [ - 2.890719, - 50.7162 - ], - [ - 2.904925, - 50.71536 - ], - [ - 2.916096, - 50.72418 - ], - [ - 2.935084, - 50.75592 - ], - [ - 3.007184, - 50.78377 - ], - [ - 3.082183, - 50.78749 - ], - [ - 3.092439, - 50.79092 - ], - [ - 3.114119, - 50.80566 - ], - [ - 3.148768, - 50.80195 - ], - [ - 3.215401, - 50.73111 - ], - [ - 3.221487, - 50.7267 - ], - [ - 3.270507, - 50.70375 - ], - [ - 3.275448, - 50.67757 - ], - [ - 3.265761, - 50.6604 - ], - [ - 3.265877, - 50.64054 - ], - [ - 3.289219, - 50.60028 - ], - [ - 3.292195, - 50.55037 - ], - [ - 3.305598, - 50.53267 - ], - [ - 3.375514, - 50.50839 - ], - [ - 3.389804, - 50.50884 - ], - [ - 3.474798, - 50.54445 - ], - [ - 3.52173, - 50.53459 - ], - [ - 3.532662, - 50.51873 - ], - [ - 3.547788, - 50.51012 - ], - [ - 3.615234, - 50.50558 - ], - [ - 3.673778, - 50.45642 - ], - [ - 3.684152, - 50.35277 - ], - [ - 3.690097, - 50.34044 - ], - [ - 3.702583, - 50.33482 - ], - [ - 3.715758, - 50.33854 - ], - [ - 3.749349, - 50.36279 - ], - [ - 3.841089, - 50.36558 - ], - [ - 3.901887, - 50.3436 - ], - [ - 3.913173, - 50.34291 - ], - [ - 4.026717, - 50.36904 - ], - [ - 4.13761, - 50.29984 - ], - [ - 4.143881, - 50.29727 - ], - [ - 4.214438, - 50.28167 - ], - [ - 4.229037, - 50.26664 - ], - [ - 4.230782, - 50.25233 - ], - [ - 4.170843, - 50.18579 - ], - [ - 4.166015, - 50.16888 - ], - [ - 4.176401, - 50.1547 - ], - [ - 4.211948, - 50.13602 - ], - [ - 4.240742, - 50.07102 - ], - [ - 4.231934, - 50.05551 - ], - [ - 4.181645, - 50.03436 - ], - [ - 4.17177, - 50.02537 - ], - [ - 4.169755, - 50.01217 - ], - [ - 4.176498, - 50.00065 - ], - [ - 4.206331, - 49.97546 - ], - [ - 4.221639, - 49.97089 - ], - [ - 4.308774, - 49.98145 - ], - [ - 4.445423, - 49.9523 - ], - [ - 4.454691, - 49.95251 - ], - [ - 4.658098, - 50.00609 - ], - [ - 4.669358, - 50.01392 - ], - [ - 4.672929, - 50.02716 - ], - [ - 4.66924, - 50.06972 - ], - [ - 4.695168, - 50.10472 - ], - [ - 4.831227, - 50.17941 - ], - [ - 4.881497, - 50.16436 - ], - [ - 4.904786, - 50.14451 - ], - [ - 4.904264, - 50.12639 - ], - [ - 4.880762, - 50.0815 - ], - [ - 4.862772, - 50.0745 - ], - [ - 4.851037, - 50.06216 - ], - [ - 4.843307, - 50.03884 - ], - [ - 4.843307, - 50.03883 - ], - [ - 4.843295, - 50.03881 - ], - [ - 4.826781, - 49.989 - ], - [ - 4.826618, - 49.97692 - ], - [ - 4.833433, - 49.96696 - ], - [ - 4.896542, - 49.91753 - ], - [ - 4.897546, - 49.89424 - ], - [ - 4.879134, - 49.86942 - ], - [ - 4.876249, - 49.85111 - ], - [ - 4.889238, - 49.81266 - ], - [ - 4.897691, - 49.80204 - ], - [ - 4.910979, - 49.79926 - ], - [ - 4.995343, - 49.81116 - ], - [ - 5.01867, - 49.79272 - ], - [ - 5.026862, - 49.78886 - ], - [ - 5.099438, - 49.77323 - ], - [ - 5.134584, - 49.73462 - ], - [ - 5.141201, - 49.72984 - ], - [ - 5.187609, - 49.70906 - ], - [ - 5.196025, - 49.70732 - ], - [ - 5.281572, - 49.70836 - ], - [ - 5.333628, - 49.67308 - ], - [ - 5.343996, - 49.65049 - ], - [ - 5.354398, - 49.64041 - ], - [ - 5.431412, - 49.60791 - ], - [ - 5.482051, - 49.52815 - ], - [ - 5.492943, - 49.51979 - ], - [ - 5.50666, - 49.52042 - ], - [ - 5.55401, - 49.54025 - ], - [ - 5.59311, - 49.53424 - ], - [ - 5.607602, - 49.53761 - ], - [ - 5.640997, - 49.56095 - ], - [ - 5.706759, - 49.55267 - ], - [ - 5.715782, - 49.55361 - ], - [ - 5.775261, - 49.57414 - ], - [ - 5.839902, - 49.55321 - ], - [ - 5.861263, - 49.52038 - ], - [ - 5.875997, - 49.5114 - ], - [ - 5.975162, - 49.50129 - ], - [ - 5.998015, - 49.47317 - ], - [ - 6.016266, - 49.46597 - ], - [ - 6.08635, - 49.47562 - ], - [ - 6.093186, - 49.47787 - ], - [ - 6.173966, - 49.52187 - ], - [ - 6.246435, - 49.52511 - ], - [ - 6.333999, - 49.48235 - ], - [ - 6.344229, - 49.48037 - ], - [ - 6.435145, - 49.487 - ], - [ - 6.5451, - 49.44384 - ], - [ - 6.606389, - 49.37868 - ], - [ - 6.604972, - 49.33739 - ], - [ - 6.616267, - 49.31869 - ], - [ - 6.670133, - 49.29269 - ], - [ - 6.729955, - 49.22917 - ], - [ - 6.743276, - 49.19086 - ], - [ - 6.760259, - 49.17752 - ], - [ - 6.809042, - 49.17284 - ], - [ - 6.824733, - 49.17826 - ], - [ - 6.830928, - 49.19366 - ], - [ - 6.829819, - 49.21802 - ], - [ - 6.851186, - 49.23136 - ], - [ - 6.884528, - 49.2239 - ], - [ - 6.893221, - 49.22389 - ], - [ - 6.937527, - 49.23369 - ], - [ - 7.040549, - 49.19794 - ], - [ - 7.046296, - 49.17503 - ], - [ - 7.054777, - 49.16313 - ], - [ - 7.069081, - 49.16018 - ], - [ - 7.104945, - 49.16634 - ], - [ - 7.143153, - 49.14159 - ], - [ - 7.153499, - 49.13839 - ], - [ - 7.286827, - 49.13488 - ], - [ - 7.29893, - 49.13856 - ], - [ - 7.360948, - 49.18259 - ], - [ - 7.450116, - 49.19517 - ], - [ - 7.50113, - 49.17672 - ], - [ - 7.543788, - 49.10572 - ], - [ - 7.557903, - 49.09626 - ], - [ - 7.629604, - 49.08527 - ], - [ - 7.647217, - 49.06722 - ], - [ - 7.661197, - 49.06119 - ], - [ - 7.754008, - 49.05963 - ], - [ - 7.760731, - 49.06067 - ], - [ - 7.802913, - 49.07489 - ], - [ - 7.855253, - 49.05329 - ], - [ - 7.867297, - 49.05227 - ], - [ - 7.93826, - 49.06832 - ], - [ - 8.080685, - 49.00688 - ], - [ - 8.222498, - 48.98787 - ], - [ - 8.23704, - 48.97683 - ], - [ - 8.235894, - 48.95817 - ], - [ - 8.208878, - 48.94863 - ], - [ - 8.200888, - 48.94339 - ], - [ - 8.158243, - 48.89753 - ], - [ - 8.100873, - 48.7993 - ], - [ - 7.990709, - 48.74478 - ], - [ - 7.985341, - 48.7409 - ], - [ - 7.904217, - 48.65865 - ], - [ - 7.856051, - 48.63606 - ], - [ - 7.848405, - 48.62977 - ], - [ - 7.818424, - 48.58883 - ], - [ - 7.81456, - 48.57704 - ], - [ - 7.814491, - 48.50968 - ], - [ - 7.785465, - 48.48337 - ], - [ - 7.780554, - 48.47652 - ], - [ - 7.745059, - 48.39484 - ], - [ - 7.743573, - 48.38427 - ], - [ - 7.751593, - 48.32322 - ], - [ - 7.71085, - 48.29841 - ], - [ - 7.702411, - 48.28803 - ], - [ - 7.676613, - 48.21555 - ], - [ - 7.596051, - 48.11698 - ], - [ - 7.591652, - 48.10648 - ], - [ - 7.585216, - 48.04694 - ], - [ - 7.591268, - 48.03035 - ], - [ - 7.624373, - 47.99865 - ], - [ - 7.632049, - 47.97081 - ], - [ - 7.575545, - 47.87436 - ], - [ - 7.572802, - 47.86435 - ], - [ - 7.572673, - 47.83631 - ], - [ - 7.545808, - 47.78793 - ], - [ - 7.544185, - 47.77232 - ], - [ - 7.557581, - 47.72899 - ], - [ - 7.535257, - 47.6989 - ], - [ - 7.531364, - 47.68564 - ], - [ - 7.536998, - 47.67302 - ], - [ - 7.600164, - 47.60822 - ], - [ - 7.589675, - 47.56755 - ], - [ - 7.554237, - 47.55128 - ], - [ - 7.54511, - 47.54283 - ], - [ - 7.512557, - 47.48439 - ], - [ - 7.387471, - 47.42111 - ], - [ - 7.326527, - 47.4273 - ], - [ - 7.244354, - 47.40939 - ], - [ - 7.167083, - 47.4335 - ], - [ - 7.152115, - 47.47612 - ], - [ - 7.14279, - 47.48707 - ], - [ - 7.128529, - 47.48893 - ], - [ - 7.080105, - 47.47718 - ], - [ - 7.035575, - 47.48695 - ], - [ - 7.021019, - 47.48458 - ], - [ - 7.012048, - 47.47287 - ], - [ - 7.002995, - 47.44095 - ], - [ - 6.955099, - 47.40808 - ], - [ - 6.947157, - 47.39698 - ], - [ - 6.94818, - 47.38337 - ], - [ - 6.957691, - 47.37359 - ], - [ - 6.971263, - 47.37218 - ], - [ - 7.018004, - 47.38386 - ], - [ - 7.05623, - 47.37035 - ], - [ - 7.070073, - 47.35005 - ], - [ - 7.05958, - 47.32257 - ], - [ - 6.974243, - 47.27856 - ], - [ - 6.963469, - 47.26233 - ], - [ - 6.961339, - 47.23479 - ], - [ - 6.89443, - 47.19393 - ], - [ - 6.889128, - 47.18922 - ], - [ - 6.855453, - 47.14636 - ], - [ - 6.769073, - 47.10751 - ], - [ - 6.760108, - 47.09953 - ], - [ - 6.725613, - 47.0418 - ], - [ - 6.623551, - 46.9811 - ], - [ - 6.481204, - 46.9445 - ], - [ - 6.46892, - 46.93522 - ], - [ - 6.466862, - 46.91997 - ], - [ - 6.475476, - 46.88771 - ], - [ - 6.453496, - 46.8239 - ], - [ - 6.45644, - 46.80534 - ], - [ - 6.467224, - 46.79104 - ], - [ - 6.460984, - 46.76887 - ], - [ - 6.15817, - 46.59343 - ], - [ - 6.148724, - 46.58069 - ], - [ - 6.15152, - 46.56508 - ], - [ - 6.165489, - 46.54399 - ], - [ - 6.158111, - 46.52456 - ], - [ - 6.101739, - 46.46979 - ], - [ - 6.095717, - 46.45418 - ], - [ - 6.097044, - 46.43317 - ], - [ - 6.108289, - 46.41643 - ], - [ - 6.166216, - 46.38839 - ], - [ - 6.178173, - 46.36922 - ], - [ - 6.137482, - 46.31297 - ], - [ - 6.133713, - 46.30227 - ], - [ - 6.130383, - 46.23737 - ], - [ - 6.110298, - 46.22344 - ], - [ - 6.088648, - 46.23081 - ], - [ - 6.077173, - 46.23123 - ], - [ - 6.018573, - 46.21601 - ], - [ - 6.006813, - 46.20752 - ], - [ - 6.003882, - 46.19332 - ], - [ - 6.007866, - 46.16977 - ], - [ - 6.017834, - 46.15564 - ], - [ - 6.03509, - 46.15456 - ], - [ - 6.055639, - 46.16288 - ], - [ - 6.124683, - 46.15415 - ], - [ - 6.137776, - 46.15702 - ], - [ - 6.240258, - 46.22094 - ], - [ - 6.249058, - 46.23299 - ], - [ - 6.247073, - 46.24777 - ], - [ - 6.21148, - 46.31057 - ], - [ - 6.212186, - 46.32485 - ], - [ - 6.239462, - 46.36705 - ], - [ - 6.316478, - 46.41557 - ], - [ - 6.410826, - 46.42495 - ], - [ - 6.417483, - 46.42682 - ], - [ - 6.504978, - 46.46871 - ], - [ - 6.630473, - 46.47435 - ], - [ - 6.746646, - 46.45695 - ], - [ - 6.822442, - 46.42925 - ], - [ - 6.818324, - 46.38181 - ], - [ - 6.804843, - 46.36179 - ], - [ - 6.801885, - 46.34639 - ], - [ - 6.810949, - 46.33359 - ], - [ - 6.864911, - 46.30038 - ], - [ - 6.875036, - 46.28007 - ], - [ - 6.860917, - 46.2439 - ], - [ - 6.826978, - 46.21188 - ], - [ - 6.820746, - 46.19862 - ], - [ - 6.818627, - 46.16592 - ], - [ - 6.822593, - 46.15261 - ], - [ - 6.834266, - 46.14509 - ], - [ - 6.903819, - 46.12971 - ], - [ - 6.904911, - 46.09595 - ], - [ - 6.909323, - 46.08406 - ], - [ - 6.920006, - 46.07721 - ], - [ - 6.948976, - 46.0699 - ], - [ - 7.015561, - 46.00883 - ], - [ - 7.051911, - 45.93066 - ], - [ - 7.045335, - 45.92217 - ], - [ - 7.044967, - 45.92064 - ], - [ - 7.043936, - 45.92036 - ], - [ - 6.995822, - 45.85822 - ], - [ - 6.940965, - 45.83551 - ], - [ - 6.843757, - 45.82387 - ], - [ - 6.831016, - 45.81711 - ], - [ - 6.826141, - 45.80353 - ], - [ - 6.82787, - 45.73217 - ], - [ - 6.83174, - 45.72082 - ], - [ - 6.841405, - 45.71373 - ], - [ - 6.907294, - 45.69124 - ], - [ - 6.92419, - 45.66935 - ], - [ - 6.942468, - 45.66172 - ], - [ - 6.971313, - 45.66528 - ], - [ - 7.00597, - 45.64945 - ], - [ - 7.011511, - 45.63652 - ], - [ - 6.997797, - 45.60877 - ], - [ - 6.996431, - 45.59465 - ], - [ - 7.015803, - 45.52354 - ], - [ - 7.027743, - 45.5102 - ], - [ - 7.107198, - 45.47877 - ], - [ - 7.122797, - 45.44924 - ], - [ - 7.13304, - 45.44001 - ], - [ - 7.185604, - 45.41894 - ], - [ - 7.19515, - 45.40409 - ], - [ - 7.170749, - 45.35069 - ], - [ - 7.142319, - 45.32298 - ], - [ - 7.136488, - 45.30576 - ], - [ - 7.14458, - 45.25048 - ], - [ - 7.084166, - 45.20279 - ], - [ - 6.992792, - 45.19823 - ], - [ - 6.981064, - 45.19368 - ], - [ - 6.900091, - 45.12689 - ], - [ - 6.85843, - 45.11699 - ], - [ - 6.782826, - 45.14228 - ], - [ - 6.770557, - 45.14242 - ], - [ - 6.677507, - 45.11356 - ], - [ - 6.665295, - 45.10289 - ], - [ - 6.665008, - 45.08667 - ], - [ - 6.68237, - 45.04558 - ], - [ - 6.696016, - 45.03395 - ], - [ - 6.757442, - 45.01884 - ], - [ - 6.783751, - 44.9146 - ], - [ - 6.794195, - 44.90161 - ], - [ - 6.866981, - 44.86519 - ], - [ - 6.879801, - 44.86346 - ], - [ - 6.936325, - 44.87461 - ], - [ - 7.017954, - 44.84402 - ], - [ - 7.034535, - 44.82282 - ], - [ - 7.037114, - 44.75009 - ], - [ - 7.049604, - 44.73226 - ], - [ - 7.072236, - 44.72311 - ], - [ - 7.086508, - 44.6968 - ], - [ - 7.086656, - 44.68085 - ], - [ - 7.07671, - 44.67134 - ], - [ - 6.990071, - 44.67203 - ], - [ - 6.974128, - 44.66431 - ], - [ - 6.970564, - 44.64696 - ], - [ - 6.978189, - 44.61784 - ], - [ - 6.94659, - 44.57124 - ], - [ - 6.882347, - 44.53479 - ], - [ - 6.872327, - 44.5195 - ], - [ - 6.878925, - 44.50245 - ], - [ - 6.958945, - 44.43129 - ], - [ - 6.958723, - 44.42908 - ], - [ - 6.921668, - 44.41436 - ], - [ - 6.912225, - 44.40659 - ], - [ - 6.909075, - 44.39477 - ], - [ - 6.90972, - 44.38195 - ], - [ - 6.91637, - 44.36804 - ], - [ - 6.999091, - 44.29414 - ], - [ - 7.011806, - 44.256 - ], - [ - 7.019835, - 44.24558 - ], - [ - 7.032595, - 44.2424 - ], - [ - 7.073117, - 44.2461 - ], - [ - 7.165097, - 44.22112 - ], - [ - 7.245331, - 44.18544 - ], - [ - 7.260526, - 44.16682 - ], - [ - 7.275371, - 44.15947 - ], - [ - 7.338779, - 44.1574 - ], - [ - 7.362775, - 44.13834 - ], - [ - 7.377763, - 44.13416 - ], - [ - 7.56283, - 44.15792 - ], - [ - 7.5642, - 44.15836 - ], - [ - 7.564785, - 44.15817 - ], - [ - 7.605476, - 44.1634 - ], - [ - 7.616198, - 44.16827 - ], - [ - 7.639891, - 44.18928 - ], - [ - 7.686079, - 44.1861 - ], - [ - 7.69422, - 44.17795 - ], - [ - 7.68937, - 44.13869 - ], - [ - 7.694448, - 44.12276 - ], - [ - 7.727862, - 44.08615 - ], - [ - 7.724032, - 44.05704 - ], - [ - 7.686028, - 44.02371 - ], - [ - 7.680769, - 44.0164 - ], - [ - 7.660161, - 43.9672 - ], - [ - 7.596244, - 43.94466 - ], - [ - 7.584187, - 43.93287 - ], - [ - 7.568576, - 43.89159 - ], - [ - 7.527096, - 43.87434 - ], - [ - 7.516489, - 43.86397 - ], - [ - 7.51594, - 43.84915 - ], - [ - 7.53622, - 43.79234 - ], - [ - 9.8, - 43.1 - ], - [ - 9.63227, - 41.43244 - ], - [ - 9.369681, - 41.35052 - ], - [ - 9.273114, - 41.29196 - ], - [ - 8.941857, - 41.27688 - ], - [ - 5.8, - 41.64 - ], - [ - 3.173576, - 42.41768 - ], - [ - 3.160814, - 42.42757 - ], - [ - 3.094399, - 42.41457 - ], - [ - 3.034016, - 42.45331 - ], - [ - 3.022142, - 42.45645 - ], - [ - 2.878221, - 42.4487 - ], - [ - 2.870188, - 42.44653 - ], - [ - 2.784238, - 42.40256 - ], - [ - 2.741304, - 42.41128 - ], - [ - 2.729276, - 42.40998 - ], - [ - 2.693308, - 42.39417 - ], - [ - 2.683779, - 42.3854 - ], - [ - 2.681621, - 42.37263 - ], - [ - 2.685852, - 42.34679 - ], - [ - 2.66719, - 42.33008 - ], - [ - 2.581057, - 42.34418 - ], - [ - 2.567769, - 42.34173 - ], - [ - 2.533803, - 42.32197 - ], - [ - 2.477948, - 42.32986 - ], - [ - 2.419327, - 42.37658 - ], - [ - 2.41222, - 42.38021 - ], - [ - 2.267193, - 42.42055 - ], - [ - 2.259731, - 42.42117 - ], - [ - 2.206944, - 42.41558 - ], - [ - 2.206525, - 42.41526 - ], - [ - 2.205257, - 42.41541 - ], - [ - 2.160278, - 42.41065 - ], - [ - 2.148808, - 42.40545 - ], - [ - 2.093931, - 42.35474 - ], - [ - 2.008614, - 42.33818 - ], - [ - 1.964998, - 42.36473 - ], - [ - 1.930762, - 42.42442 - ], - [ - 1.920889, - 42.43302 - ], - [ - 1.884665, - 42.44761 - ], - [ - 1.884588, - 42.44762 - ], - [ - 1.884444, - 42.4477 - ], - [ - 1.827736, - 42.47056 - ], - [ - 1.725668, - 42.48452 - ], - [ - 1.715606, - 42.50125 - ], - [ - 1.727195, - 42.56103 - ], - [ - 1.724794, - 42.57499 - ], - [ - 1.710109, - 42.59992 - ], - [ - 1.69377, - 42.60975 - ], - [ - 1.602827, - 42.61382 - ], - [ - 1.560687, - 42.6392 - ], - [ - 1.546365, - 42.64166 - ], - [ - 1.504443, - 42.6331 - ], - [ - 1.492096, - 42.62502 - ], - [ - 1.472384, - 42.59703 - ], - [ - 1.437922, - 42.59264 - ], - [ - 1.419356, - 42.60643 - ], - [ - 1.38032, - 42.67415 - ], - [ - 1.373353, - 42.68127 - ], - [ - 1.333134, - 42.70563 - ], - [ - 1.323642, - 42.7085 - ], - [ - 1.232212, - 42.71248 - ], - [ - 1.165543, - 42.69928 - ], - [ - 1.085465, - 42.76635 - ], - [ - 1.075637, - 42.77079 - ], - [ - 0.9593748, - 42.78852 - ], - [ - 0.9507323, - 42.78794 - ], - [ - 0.9226515, - 42.7797 - ], - [ - 0.8460624, - 42.8157 - ], - [ - 0.7151135, - 42.8464 - ], - [ - 0.7001699, - 42.84402 - ], - [ - 0.6911674, - 42.83186 - ], - [ - 0.6740937, - 42.76479 - ], - [ - 0.6747382, - 42.75286 - ], - [ - 0.6919171, - 42.70684 - ], - [ - 0.6689955, - 42.67901 - ], - [ - 0.4302428, - 42.67863 - ], - [ - 0.3715037, - 42.70308 - ], - [ - 0.3595376, - 42.70415 - ], - [ - 0.3491168, - 42.69817 - ], - [ - 0.3256688, - 42.67274 - ], - [ - 0.2957095, - 42.66388 - ], - [ - 0.2459353, - 42.70175 - ], - [ - 0.2397249, - 42.70494 - ], - [ - 0.189669, - 42.72039 - ], - [ - 0.1791886, - 42.72075 - ], - [ - -0.01993262, - 42.67389 - ], - [ - -0.06725834, - 42.6848 - ], - [ - -0.1694885, - 42.77157 - ], - [ - -0.2998662, - 42.82697 - ], - [ - -0.3168349, - 42.82635 - ], - [ - -0.3920752, - 42.78766 - ], - [ - -0.4435404, - 42.78453 - ], - [ - -0.488418, - 42.80255 - ], - [ - -0.508683, - 42.79935 - ], - [ - -0.5449894, - 42.76906 - ], - [ - -0.5672068, - 42.76937 - ], - [ - -0.6744552, - 42.86392 - ], - [ - -0.6809365, - 42.86775 - ], - [ - -0.7337233, - 42.88666 - ], - [ - -0.747598, - 42.93879 - ], - [ - -0.757105, - 42.95107 - ], - [ - -0.7725328, - 42.95284 - ], - [ - -0.8211401, - 42.93865 - ], - [ - -0.9450847, - 42.94192 - ], - [ - -1.023131, - 42.98206 - ], - [ - -1.108517, - 43.00409 - ], - [ - -1.115597, - 43.00461 - ], - [ - -1.147753, - 43.00124 - ], - [ - -1.158452, - 43.01452 - ], - [ - -1.167362, - 43.02083 - ], - [ - -1.216216, - 43.0381 - ], - [ - -1.226121, - 43.03898 - ], - [ - -1.262362, - 43.03303 - ], - [ - -1.306428, - 43.05531 - ], - [ - -1.319918, - 43.05696 - ], - [ - -1.331346, - 43.0496 - ], - [ - -1.354196, - 43.0197 - ], - [ - -1.438684, - 43.03371 - ], - [ - -1.4775, - 43.06889 - ], - [ - -1.48311, - 43.08561 - ], - [ - -1.476407, - 43.10248 - ], - [ - -1.434786, - 43.13087 - ], - [ - -1.427318, - 43.1404 - ], - [ - -1.394112, - 43.22935 - ], - [ - -1.395313, - 43.24596 - ], - [ - -1.408677, - 43.25591 - ], - [ - -1.526287, - 43.28099 - ], - [ - -1.546257, - 43.2737 - ], - [ - -1.571485, - 43.2412 - ], - [ - -1.610526, - 43.24223 - ], - [ - -1.650003, - 43.29323 - ], - [ - -1.669527, - 43.30065 - ], - [ - -1.733594, - 43.28856 - ], - [ - -1.756061, - 43.31966 - ], - [ - -1.762973, - 43.32565 - ], - [ - -1.791557, - 43.34067 - ], - [ - -1.800991, - 43.37017 - ], - [ - -1.785091, - 43.39037 - ], - [ - -1.783502, - 43.39686 - ], - [ - -2.7, - 43.9 - ] - ] - ], - terms_url: "http://www.sandre.eaufrance.fr/actualite/la-bd-carthage-en-licence-ouverte-open-licence", - terms_text: "Tiles © cquest@Openstreetmap France, data © Onema - IGN, LO/OL", - description: "Réseau hydrographique: cours et plans d'eau et POI", - overlay: true - }, - { - id: "fr.ign.bdortho", - name: "BDOrtho IGN", - type: "tms", - template: "https://proxy-ign.openstreetmap.fr/94GjiyqD/bdortho/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 2, - 21 - ], - polygon: [ - [ - [ - -2.7, - 43.9 - ], - [ - -6.3, - 48.98 - ], - [ - -2.25, - 50.09 - ], - [ - 1.31, - 50.88 - ], - [ - 2.358164, - 51.32937 - ], - [ - 2.548804, - 51.09759 - ], - [ - 2.570482, - 51.07409 - ], - [ - 2.587412, - 51.01763 - ], - [ - 2.598448, - 51.0051 - ], - [ - 2.615575, - 50.99749 - ], - [ - 2.639859, - 50.95766 - ], - [ - 2.642247, - 50.94578 - ], - [ - 2.624519, - 50.9256 - ], - [ - 2.61962, - 50.91067 - ], - [ - 2.623964, - 50.86071 - ], - [ - 2.627811, - 50.85054 - ], - [ - 2.637859, - 50.83696 - ], - [ - 2.651102, - 50.82906 - ], - [ - 2.732666, - 50.81738 - ], - [ - 2.79995, - 50.73795 - ], - [ - 2.816552, - 50.73092 - ], - [ - 2.852648, - 50.73335 - ], - [ - 2.890719, - 50.7162 - ], - [ - 2.904925, - 50.71536 - ], - [ - 2.916096, - 50.72418 - ], - [ - 2.935084, - 50.75592 - ], - [ - 3.007184, - 50.78377 - ], - [ - 3.082183, - 50.78749 - ], - [ - 3.092439, - 50.79092 - ], - [ - 3.114119, - 50.80566 - ], - [ - 3.148768, - 50.80195 - ], - [ - 3.215401, - 50.73111 - ], - [ - 3.221487, - 50.7267 - ], - [ - 3.270507, - 50.70375 - ], - [ - 3.275448, - 50.67757 - ], - [ - 3.265761, - 50.6604 - ], - [ - 3.265877, - 50.64054 - ], - [ - 3.289219, - 50.60028 - ], - [ - 3.292195, - 50.55037 - ], - [ - 3.305598, - 50.53267 - ], - [ - 3.375514, - 50.50839 - ], - [ - 3.389804, - 50.50884 - ], - [ - 3.474798, - 50.54445 - ], - [ - 3.52173, - 50.53459 - ], - [ - 3.532662, - 50.51873 - ], - [ - 3.547788, - 50.51012 - ], - [ - 3.615234, - 50.50558 - ], - [ - 3.673778, - 50.45642 - ], - [ - 3.684152, - 50.35277 - ], - [ - 3.690097, - 50.34044 - ], - [ - 3.702583, - 50.33482 - ], - [ - 3.715758, - 50.33854 - ], - [ - 3.749349, - 50.36279 - ], - [ - 3.841089, - 50.36558 - ], - [ - 3.901887, - 50.3436 - ], - [ - 3.913173, - 50.34291 - ], - [ - 4.026717, - 50.36904 - ], - [ - 4.13761, - 50.29984 - ], - [ - 4.143881, - 50.29727 - ], - [ - 4.214438, - 50.28167 - ], - [ - 4.229037, - 50.26664 - ], - [ - 4.230782, - 50.25233 - ], - [ - 4.170843, - 50.18579 - ], - [ - 4.166015, - 50.16888 - ], - [ - 4.176401, - 50.1547 - ], - [ - 4.211948, - 50.13602 - ], - [ - 4.240742, - 50.07102 - ], - [ - 4.231934, - 50.05551 - ], - [ - 4.181645, - 50.03436 - ], - [ - 4.17177, - 50.02537 - ], - [ - 4.169755, - 50.01217 - ], - [ - 4.176498, - 50.00065 - ], - [ - 4.206331, - 49.97546 - ], - [ - 4.221639, - 49.97089 - ], - [ - 4.308774, - 49.98145 - ], - [ - 4.445423, - 49.9523 - ], - [ - 4.454691, - 49.95251 - ], - [ - 4.658098, - 50.00609 - ], - [ - 4.669358, - 50.01392 - ], - [ - 4.672929, - 50.02716 - ], - [ - 4.66924, - 50.06972 - ], - [ - 4.695168, - 50.10472 - ], - [ - 4.831227, - 50.17941 - ], - [ - 4.881497, - 50.16436 - ], - [ - 4.904786, - 50.14451 - ], - [ - 4.904264, - 50.12639 - ], - [ - 4.880762, - 50.0815 - ], - [ - 4.862772, - 50.0745 - ], - [ - 4.851037, - 50.06216 - ], - [ - 4.843307, - 50.03884 - ], - [ - 4.843307, - 50.03883 - ], - [ - 4.843295, - 50.03881 - ], - [ - 4.826781, - 49.989 - ], - [ - 4.826618, - 49.97692 - ], - [ - 4.833433, - 49.96696 - ], - [ - 4.896542, - 49.91753 - ], - [ - 4.897546, - 49.89424 - ], - [ - 4.879134, - 49.86942 - ], - [ - 4.876249, - 49.85111 - ], - [ - 4.889238, - 49.81266 - ], - [ - 4.897691, - 49.80204 - ], - [ - 4.910979, - 49.79926 - ], - [ - 4.995343, - 49.81116 - ], - [ - 5.01867, - 49.79272 - ], - [ - 5.026862, - 49.78886 - ], - [ - 5.099438, - 49.77323 - ], - [ - 5.134584, - 49.73462 - ], - [ - 5.141201, - 49.72984 - ], - [ - 5.187609, - 49.70906 - ], - [ - 5.196025, - 49.70732 - ], - [ - 5.281572, - 49.70836 - ], - [ - 5.333628, - 49.67308 - ], - [ - 5.343996, - 49.65049 - ], - [ - 5.354398, - 49.64041 - ], - [ - 5.431412, - 49.60791 - ], - [ - 5.482051, - 49.52815 - ], - [ - 5.492943, - 49.51979 - ], - [ - 5.50666, - 49.52042 - ], - [ - 5.55401, - 49.54025 - ], - [ - 5.59311, - 49.53424 - ], - [ - 5.607602, - 49.53761 - ], - [ - 5.640997, - 49.56095 - ], - [ - 5.706759, - 49.55267 - ], - [ - 5.715782, - 49.55361 - ], - [ - 5.775261, - 49.57414 - ], - [ - 5.839902, - 49.55321 - ], - [ - 5.861263, - 49.52038 - ], - [ - 5.875997, - 49.5114 - ], - [ - 5.975162, - 49.50129 - ], - [ - 5.998015, - 49.47317 - ], - [ - 6.016266, - 49.46597 - ], - [ - 6.08635, - 49.47562 - ], - [ - 6.093186, - 49.47787 - ], - [ - 6.173966, - 49.52187 - ], - [ - 6.246435, - 49.52511 - ], - [ - 6.333999, - 49.48235 - ], - [ - 6.344229, - 49.48037 - ], - [ - 6.435145, - 49.487 - ], - [ - 6.5451, - 49.44384 - ], - [ - 6.606389, - 49.37868 - ], - [ - 6.604972, - 49.33739 - ], - [ - 6.616267, - 49.31869 - ], - [ - 6.670133, - 49.29269 - ], - [ - 6.729955, - 49.22917 - ], - [ - 6.743276, - 49.19086 - ], - [ - 6.760259, - 49.17752 - ], - [ - 6.809042, - 49.17284 - ], - [ - 6.824733, - 49.17826 - ], - [ - 6.830928, - 49.19366 - ], - [ - 6.829819, - 49.21802 - ], - [ - 6.851186, - 49.23136 - ], - [ - 6.884528, - 49.2239 - ], - [ - 6.893221, - 49.22389 - ], - [ - 6.937527, - 49.23369 - ], - [ - 7.040549, - 49.19794 - ], - [ - 7.046296, - 49.17503 - ], - [ - 7.054777, - 49.16313 - ], - [ - 7.069081, - 49.16018 - ], - [ - 7.104945, - 49.16634 - ], - [ - 7.143153, - 49.14159 - ], - [ - 7.153499, - 49.13839 - ], - [ - 7.286827, - 49.13488 - ], - [ - 7.29893, - 49.13856 - ], - [ - 7.360948, - 49.18259 - ], - [ - 7.450116, - 49.19517 - ], - [ - 7.50113, - 49.17672 - ], - [ - 7.543788, - 49.10572 - ], - [ - 7.557903, - 49.09626 - ], - [ - 7.629604, - 49.08527 - ], - [ - 7.647217, - 49.06722 - ], - [ - 7.661197, - 49.06119 - ], - [ - 7.754008, - 49.05963 - ], - [ - 7.760731, - 49.06067 - ], - [ - 7.802913, - 49.07489 - ], - [ - 7.855253, - 49.05329 - ], - [ - 7.867297, - 49.05227 - ], - [ - 7.93826, - 49.06832 - ], - [ - 8.080685, - 49.00688 - ], - [ - 8.222498, - 48.98787 - ], - [ - 8.23704, - 48.97683 - ], - [ - 8.235894, - 48.95817 - ], - [ - 8.208878, - 48.94863 - ], - [ - 8.200888, - 48.94339 - ], - [ - 8.158243, - 48.89753 - ], - [ - 8.100873, - 48.7993 - ], - [ - 7.990709, - 48.74478 - ], - [ - 7.985341, - 48.7409 - ], - [ - 7.904217, - 48.65865 - ], - [ - 7.856051, - 48.63606 - ], - [ - 7.848405, - 48.62977 - ], - [ - 7.818424, - 48.58883 - ], - [ - 7.81456, - 48.57704 - ], - [ - 7.814491, - 48.50968 - ], - [ - 7.785465, - 48.48337 - ], - [ - 7.780554, - 48.47652 - ], - [ - 7.745059, - 48.39484 - ], - [ - 7.743573, - 48.38427 - ], - [ - 7.751593, - 48.32322 - ], - [ - 7.71085, - 48.29841 - ], - [ - 7.702411, - 48.28803 - ], - [ - 7.676613, - 48.21555 - ], - [ - 7.596051, - 48.11698 - ], - [ - 7.591652, - 48.10648 - ], - [ - 7.585216, - 48.04694 - ], - [ - 7.591268, - 48.03035 - ], - [ - 7.624373, - 47.99865 - ], - [ - 7.632049, - 47.97081 - ], - [ - 7.575545, - 47.87436 - ], - [ - 7.572802, - 47.86435 - ], - [ - 7.572673, - 47.83631 - ], - [ - 7.545808, - 47.78793 - ], - [ - 7.544185, - 47.77232 - ], - [ - 7.557581, - 47.72899 - ], - [ - 7.535257, - 47.6989 - ], - [ - 7.531364, - 47.68564 - ], - [ - 7.536998, - 47.67302 - ], - [ - 7.600164, - 47.60822 - ], - [ - 7.589675, - 47.56755 - ], - [ - 7.554237, - 47.55128 - ], - [ - 7.54511, - 47.54283 - ], - [ - 7.512557, - 47.48439 - ], - [ - 7.387471, - 47.42111 - ], - [ - 7.326527, - 47.4273 - ], - [ - 7.244354, - 47.40939 - ], - [ - 7.167083, - 47.4335 - ], - [ - 7.152115, - 47.47612 - ], - [ - 7.14279, - 47.48707 - ], - [ - 7.128529, - 47.48893 - ], - [ - 7.080105, - 47.47718 - ], - [ - 7.035575, - 47.48695 - ], - [ - 7.021019, - 47.48458 - ], - [ - 7.012048, - 47.47287 - ], - [ - 7.002995, - 47.44095 - ], - [ - 6.955099, - 47.40808 - ], - [ - 6.947157, - 47.39698 - ], - [ - 6.94818, - 47.38337 - ], - [ - 6.957691, - 47.37359 - ], - [ - 6.971263, - 47.37218 - ], - [ - 7.018004, - 47.38386 - ], - [ - 7.05623, - 47.37035 - ], - [ - 7.070073, - 47.35005 - ], - [ - 7.05958, - 47.32257 - ], - [ - 6.974243, - 47.27856 - ], - [ - 6.963469, - 47.26233 - ], - [ - 6.961339, - 47.23479 - ], - [ - 6.89443, - 47.19393 - ], - [ - 6.889128, - 47.18922 - ], - [ - 6.855453, - 47.14636 - ], - [ - 6.769073, - 47.10751 - ], - [ - 6.760108, - 47.09953 - ], - [ - 6.725613, - 47.0418 - ], - [ - 6.623551, - 46.9811 - ], - [ - 6.481204, - 46.9445 - ], - [ - 6.46892, - 46.93522 - ], - [ - 6.466862, - 46.91997 - ], - [ - 6.475476, - 46.88771 - ], - [ - 6.453496, - 46.8239 - ], - [ - 6.45644, - 46.80534 - ], - [ - 6.467224, - 46.79104 - ], - [ - 6.460984, - 46.76887 - ], - [ - 6.15817, - 46.59343 - ], - [ - 6.148724, - 46.58069 - ], - [ - 6.15152, - 46.56508 - ], - [ - 6.165489, - 46.54399 - ], - [ - 6.158111, - 46.52456 - ], - [ - 6.101739, - 46.46979 - ], - [ - 6.095717, - 46.45418 - ], - [ - 6.097044, - 46.43317 - ], - [ - 6.108289, - 46.41643 - ], - [ - 6.166216, - 46.38839 - ], - [ - 6.178173, - 46.36922 - ], - [ - 6.137482, - 46.31297 - ], - [ - 6.133713, - 46.30227 - ], - [ - 6.130383, - 46.23737 - ], - [ - 6.110298, - 46.22344 - ], - [ - 6.088648, - 46.23081 - ], - [ - 6.077173, - 46.23123 - ], - [ - 6.018573, - 46.21601 - ], - [ - 6.006813, - 46.20752 - ], - [ - 6.003882, - 46.19332 - ], - [ - 6.007866, - 46.16977 - ], - [ - 6.017834, - 46.15564 - ], - [ - 6.03509, - 46.15456 - ], - [ - 6.055639, - 46.16288 - ], - [ - 6.124683, - 46.15415 - ], - [ - 6.137776, - 46.15702 - ], - [ - 6.240258, - 46.22094 - ], - [ - 6.249058, - 46.23299 - ], - [ - 6.247073, - 46.24777 - ], - [ - 6.21148, - 46.31057 - ], - [ - 6.212186, - 46.32485 - ], - [ - 6.239462, - 46.36705 - ], - [ - 6.316478, - 46.41557 - ], - [ - 6.410826, - 46.42495 - ], - [ - 6.417483, - 46.42682 - ], - [ - 6.504978, - 46.46871 - ], - [ - 6.630473, - 46.47435 - ], - [ - 6.746646, - 46.45695 - ], - [ - 6.822442, - 46.42925 - ], - [ - 6.818324, - 46.38181 - ], - [ - 6.804843, - 46.36179 - ], - [ - 6.801885, - 46.34639 - ], - [ - 6.810949, - 46.33359 - ], - [ - 6.864911, - 46.30038 - ], - [ - 6.875036, - 46.28007 - ], - [ - 6.860917, - 46.2439 - ], - [ - 6.826978, - 46.21188 - ], - [ - 6.820746, - 46.19862 - ], - [ - 6.818627, - 46.16592 - ], - [ - 6.822593, - 46.15261 - ], - [ - 6.834266, - 46.14509 - ], - [ - 6.903819, - 46.12971 - ], - [ - 6.904911, - 46.09595 - ], - [ - 6.909323, - 46.08406 - ], - [ - 6.920006, - 46.07721 - ], - [ - 6.948976, - 46.0699 - ], - [ - 7.015561, - 46.00883 - ], - [ - 7.051911, - 45.93066 - ], - [ - 7.045335, - 45.92217 - ], - [ - 7.044967, - 45.92064 - ], - [ - 7.043936, - 45.92036 - ], - [ - 6.995822, - 45.85822 - ], - [ - 6.940965, - 45.83551 - ], - [ - 6.843757, - 45.82387 - ], - [ - 6.831016, - 45.81711 - ], - [ - 6.826141, - 45.80353 - ], - [ - 6.82787, - 45.73217 - ], - [ - 6.83174, - 45.72082 - ], - [ - 6.841405, - 45.71373 - ], - [ - 6.907294, - 45.69124 - ], - [ - 6.92419, - 45.66935 - ], - [ - 6.942468, - 45.66172 - ], - [ - 6.971313, - 45.66528 - ], - [ - 7.00597, - 45.64945 - ], - [ - 7.011511, - 45.63652 - ], - [ - 6.997797, - 45.60877 - ], - [ - 6.996431, - 45.59465 - ], - [ - 7.015803, - 45.52354 - ], - [ - 7.027743, - 45.5102 - ], - [ - 7.107198, - 45.47877 - ], - [ - 7.122797, - 45.44924 - ], - [ - 7.13304, - 45.44001 - ], - [ - 7.185604, - 45.41894 - ], - [ - 7.19515, - 45.40409 - ], - [ - 7.170749, - 45.35069 - ], - [ - 7.142319, - 45.32298 - ], - [ - 7.136488, - 45.30576 - ], - [ - 7.14458, - 45.25048 - ], - [ - 7.084166, - 45.20279 - ], - [ - 6.992792, - 45.19823 - ], - [ - 6.981064, - 45.19368 - ], - [ - 6.900091, - 45.12689 - ], - [ - 6.85843, - 45.11699 - ], - [ - 6.782826, - 45.14228 - ], - [ - 6.770557, - 45.14242 - ], - [ - 6.677507, - 45.11356 - ], - [ - 6.665295, - 45.10289 - ], - [ - 6.665008, - 45.08667 - ], - [ - 6.68237, - 45.04558 - ], - [ - 6.696016, - 45.03395 - ], - [ - 6.757442, - 45.01884 - ], - [ - 6.783751, - 44.9146 - ], - [ - 6.794195, - 44.90161 - ], - [ - 6.866981, - 44.86519 - ], - [ - 6.879801, - 44.86346 - ], - [ - 6.936325, - 44.87461 - ], - [ - 7.017954, - 44.84402 - ], - [ - 7.034535, - 44.82282 - ], - [ - 7.037114, - 44.75009 - ], - [ - 7.049604, - 44.73226 - ], - [ - 7.072236, - 44.72311 - ], - [ - 7.086508, - 44.6968 - ], - [ - 7.086656, - 44.68085 - ], - [ - 7.07671, - 44.67134 - ], - [ - 6.990071, - 44.67203 - ], - [ - 6.974128, - 44.66431 - ], - [ - 6.970564, - 44.64696 - ], - [ - 6.978189, - 44.61784 - ], - [ - 6.94659, - 44.57124 - ], - [ - 6.882347, - 44.53479 - ], - [ - 6.872327, - 44.5195 - ], - [ - 6.878925, - 44.50245 - ], - [ - 6.958945, - 44.43129 - ], - [ - 6.958723, - 44.42908 - ], - [ - 6.921668, - 44.41436 - ], - [ - 6.912225, - 44.40659 - ], - [ - 6.909075, - 44.39477 - ], - [ - 6.90972, - 44.38195 - ], - [ - 6.91637, - 44.36804 - ], - [ - 6.999091, - 44.29414 - ], - [ - 7.011806, - 44.256 - ], - [ - 7.019835, - 44.24558 - ], - [ - 7.032595, - 44.2424 - ], - [ - 7.073117, - 44.2461 - ], - [ - 7.165097, - 44.22112 - ], - [ - 7.245331, - 44.18544 - ], - [ - 7.260526, - 44.16682 - ], - [ - 7.275371, - 44.15947 - ], - [ - 7.338779, - 44.1574 - ], - [ - 7.362775, - 44.13834 - ], - [ - 7.377763, - 44.13416 - ], - [ - 7.56283, - 44.15792 - ], - [ - 7.5642, - 44.15836 - ], - [ - 7.564785, - 44.15817 - ], - [ - 7.605476, - 44.1634 - ], - [ - 7.616198, - 44.16827 - ], - [ - 7.639891, - 44.18928 - ], - [ - 7.686079, - 44.1861 - ], - [ - 7.69422, - 44.17795 - ], - [ - 7.68937, - 44.13869 - ], - [ - 7.694448, - 44.12276 - ], - [ - 7.727862, - 44.08615 - ], - [ - 7.724032, - 44.05704 - ], - [ - 7.686028, - 44.02371 - ], - [ - 7.680769, - 44.0164 - ], - [ - 7.660161, - 43.9672 - ], - [ - 7.596244, - 43.94466 - ], - [ - 7.584187, - 43.93287 - ], - [ - 7.568576, - 43.89159 - ], - [ - 7.527096, - 43.87434 - ], - [ - 7.516489, - 43.86397 - ], - [ - 7.51594, - 43.84915 - ], - [ - 7.53622, - 43.79234 - ], - [ - 9.8, - 43.1 - ], - [ - 9.63227, - 41.43244 - ], - [ - 9.369681, - 41.35052 - ], - [ - 9.273114, - 41.29196 - ], - [ - 8.941857, - 41.27688 - ], - [ - 5.8, - 41.64 - ], - [ - 3.173576, - 42.41768 - ], - [ - 3.160814, - 42.42757 - ], - [ - 3.094399, - 42.41457 - ], - [ - 3.034016, - 42.45331 - ], - [ - 3.022142, - 42.45645 - ], - [ - 2.878221, - 42.4487 - ], - [ - 2.870188, - 42.44653 - ], - [ - 2.784238, - 42.40256 - ], - [ - 2.741304, - 42.41128 - ], - [ - 2.729276, - 42.40998 - ], - [ - 2.693308, - 42.39417 - ], - [ - 2.683779, - 42.3854 - ], - [ - 2.681621, - 42.37263 - ], - [ - 2.685852, - 42.34679 - ], - [ - 2.66719, - 42.33008 - ], - [ - 2.581057, - 42.34418 - ], - [ - 2.567769, - 42.34173 - ], - [ - 2.533803, - 42.32197 - ], - [ - 2.477948, - 42.32986 - ], - [ - 2.419327, - 42.37658 - ], - [ - 2.41222, - 42.38021 - ], - [ - 2.267193, - 42.42055 - ], - [ - 2.259731, - 42.42117 - ], - [ - 2.206944, - 42.41558 - ], - [ - 2.206525, - 42.41526 - ], - [ - 2.205257, - 42.41541 - ], - [ - 2.160278, - 42.41065 - ], - [ - 2.148808, - 42.40545 - ], - [ - 2.093931, - 42.35474 - ], - [ - 2.008614, - 42.33818 - ], - [ - 1.964998, - 42.36473 - ], - [ - 1.930762, - 42.42442 - ], - [ - 1.920889, - 42.43302 - ], - [ - 1.884665, - 42.44761 - ], - [ - 1.884588, - 42.44762 - ], - [ - 1.884444, - 42.4477 - ], - [ - 1.827736, - 42.47056 - ], - [ - 1.725668, - 42.48452 - ], - [ - 1.715606, - 42.50125 - ], - [ - 1.727195, - 42.56103 - ], - [ - 1.724794, - 42.57499 - ], - [ - 1.710109, - 42.59992 - ], - [ - 1.69377, - 42.60975 - ], - [ - 1.602827, - 42.61382 - ], - [ - 1.560687, - 42.6392 - ], - [ - 1.546365, - 42.64166 - ], - [ - 1.504443, - 42.6331 - ], - [ - 1.492096, - 42.62502 - ], - [ - 1.472384, - 42.59703 - ], - [ - 1.437922, - 42.59264 - ], - [ - 1.419356, - 42.60643 - ], - [ - 1.38032, - 42.67415 - ], - [ - 1.373353, - 42.68127 - ], - [ - 1.333134, - 42.70563 - ], - [ - 1.323642, - 42.7085 - ], - [ - 1.232212, - 42.71248 - ], - [ - 1.165543, - 42.69928 - ], - [ - 1.085465, - 42.76635 - ], - [ - 1.075637, - 42.77079 - ], - [ - 0.9593748, - 42.78852 - ], - [ - 0.9507323, - 42.78794 - ], - [ - 0.9226515, - 42.7797 - ], - [ - 0.8460624, - 42.8157 - ], - [ - 0.7151135, - 42.8464 - ], - [ - 0.7001699, - 42.84402 - ], - [ - 0.6911674, - 42.83186 - ], - [ - 0.6740937, - 42.76479 - ], - [ - 0.6747382, - 42.75286 - ], - [ - 0.6919171, - 42.70684 - ], - [ - 0.6689955, - 42.67901 - ], - [ - 0.4302428, - 42.67863 - ], - [ - 0.3715037, - 42.70308 - ], - [ - 0.3595376, - 42.70415 - ], - [ - 0.3491168, - 42.69817 - ], - [ - 0.3256688, - 42.67274 - ], - [ - 0.2957095, - 42.66388 - ], - [ - 0.2459353, - 42.70175 - ], - [ - 0.2397249, - 42.70494 - ], - [ - 0.189669, - 42.72039 - ], - [ - 0.1791886, - 42.72075 - ], - [ - -0.01993262, - 42.67389 - ], - [ - -0.06725834, - 42.6848 - ], - [ - -0.1694885, - 42.77157 - ], - [ - -0.2998662, - 42.82697 - ], - [ - -0.3168349, - 42.82635 - ], - [ - -0.3920752, - 42.78766 - ], - [ - -0.4435404, - 42.78453 - ], - [ - -0.488418, - 42.80255 - ], - [ - -0.508683, - 42.79935 - ], - [ - -0.5449894, - 42.76906 - ], - [ - -0.5672068, - 42.76937 - ], - [ - -0.6744552, - 42.86392 - ], - [ - -0.6809365, - 42.86775 - ], - [ - -0.7337233, - 42.88666 - ], - [ - -0.747598, - 42.93879 - ], - [ - -0.757105, - 42.95107 - ], - [ - -0.7725328, - 42.95284 - ], - [ - -0.8211401, - 42.93865 - ], - [ - -0.9450847, - 42.94192 - ], - [ - -1.023131, - 42.98206 - ], - [ - -1.108517, - 43.00409 - ], - [ - -1.115597, - 43.00461 - ], - [ - -1.147753, - 43.00124 - ], - [ - -1.158452, - 43.01452 - ], - [ - -1.167362, - 43.02083 - ], - [ - -1.216216, - 43.0381 - ], - [ - -1.226121, - 43.03898 - ], - [ - -1.262362, - 43.03303 - ], - [ - -1.306428, - 43.05531 - ], - [ - -1.319918, - 43.05696 - ], - [ - -1.331346, - 43.0496 - ], - [ - -1.354196, - 43.0197 - ], - [ - -1.438684, - 43.03371 - ], - [ - -1.4775, - 43.06889 - ], - [ - -1.48311, - 43.08561 - ], - [ - -1.476407, - 43.10248 - ], - [ - -1.434786, - 43.13087 - ], - [ - -1.427318, - 43.1404 - ], - [ - -1.394112, - 43.22935 - ], - [ - -1.395313, - 43.24596 - ], - [ - -1.408677, - 43.25591 - ], - [ - -1.526287, - 43.28099 - ], - [ - -1.546257, - 43.2737 - ], - [ - -1.571485, - 43.2412 - ], - [ - -1.610526, - 43.24223 - ], - [ - -1.650003, - 43.29323 - ], - [ - -1.669527, - 43.30065 - ], - [ - -1.733594, - 43.28856 - ], - [ - -1.756061, - 43.31966 - ], - [ - -1.762973, - 43.32565 - ], - [ - -1.791557, - 43.34067 - ], - [ - -1.800991, - 43.37017 - ], - [ - -1.785091, - 43.39037 - ], - [ - -1.783502, - 43.39686 - ], - [ - -2.7, - 43.9 - ] - ], - [ - [ - -61.2750098, - 14.9021787 - ], - [ - -60.7236843, - 14.9010106 - ], - [ - -60.7248947, - 14.3668637 - ], - [ - -61.2762202, - 14.3680347 - ], - [ - -61.2750098, - 14.9021787 - ] - ], - [ - [ - -61.9280191, - 16.5861824 - ], - [ - -61.9268639, - 15.7393966 - ], - [ - -60.8812792, - 15.7407152 - ], - [ - -60.8824344, - 16.5874955 - ], - [ - -61.9280191, - 16.5861824 - ] - ], - [ - [ - -53.8934381, - 6.0040017 - ], - [ - -52.4652154, - 5.4464962 - ], - [ - -51.5203912, - 4.5107197 - ], - [ - -51.5368707, - 4.1163329 - ], - [ - -52.2345025, - 3.1021265 - ], - [ - -52.6409967, - 2.251623 - ], - [ - -52.9266412, - 2.0759672 - ], - [ - -53.7286431, - 2.2186891 - ], - [ - -54.2010552, - 2.0320501 - ], - [ - -54.8053033, - 2.2735786 - ], - [ - -54.3109185, - 2.8058902 - ], - [ - -54.3164117, - 3.2008539 - ], - [ - -54.124151, - 3.4640797 - ], - [ - -54.1296441, - 3.5956655 - ], - [ - -54.4207818, - 4.0012658 - ], - [ - -54.5800836, - 4.9596205 - ], - [ - -53.8934381, - 6.0040017 - ] - ], - [ - [ - 55.088162, - -20.7793549 - ], - [ - 55.9595858, - -20.7728126 - ], - [ - 55.9657599, - -21.4900002 - ], - [ - 55.0943361, - -21.496511 - ], - [ - 55.088162, - -20.7793549 - ] - ], - [ - [ - 44.9205447, - -12.5736261 - ], - [ - 45.3482619, - -12.5702887 - ], - [ - 45.3527389, - -13.116298 - ], - [ - 44.9250218, - -13.1196281 - ], - [ - 44.9205447, - -12.5736261 - ] - ], - [ - [ - -178.577276, - -14.7058162 - ], - [ - -178.4256804, - -14.0033368 - ], - [ - -176.3415582, - -12.8385765 - ], - [ - -175.7153375, - -12.9189012 - ], - [ - -175.9185845, - -13.587255 - ], - [ - -177.8463838, - -14.6498253 - ], - [ - -178.577276, - -14.7058162 - ] - ] - ], - terms_url: "https://openstreetmap.fr/bdortho", - terms_text: "BDOrtho IGN", - best: true, - icon: "http://www.ign.fr/institut/sites/all/themes/ign_institut/logo.png" - }, - { - id: "GRB", - name: "Belgium AGIV GRB Flanders", - type: "tms", - template: "https://tile.informatievlaanderen.be/ws/raadpleegdiensten/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=grb_bsk&STYLE=&FORMAT=image/png&tileMatrixSet=GoogleMapsVL&tileMatrix={zoom}&tileRow={y}&tileCol={x}", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 5.9849448, - 50.7072276 - ], - [ - 5.9849448, - 50.7671973 - ], - [ - 5.9107871, - 50.8227527 - ], - [ - 5.7556052, - 50.8353303 - ], - [ - 5.7542319, - 50.8626424 - ], - [ - 5.8331961, - 50.9332328 - ], - [ - 5.8551688, - 51.026611 - ], - [ - 5.9094138, - 51.0775439 - ], - [ - 5.9121604, - 51.1822548 - ], - [ - 5.8785147, - 51.2080728 - ], - [ - 5.7741446, - 51.2368858 - ], - [ - 5.684194, - 51.2407548 - ], - [ - 5.6230826, - 51.2699769 - ], - [ - 5.6230826, - 51.2978925 - ], - [ - 5.5399985, - 51.34724 - ], - [ - 5.4473013, - 51.3485267 - ], - [ - 5.3985495, - 51.321071 - ], - [ - 5.3120322, - 51.3232166 - ], - [ - 5.2667136, - 51.3618196 - ], - [ - 5.1994223, - 51.3725369 - ], - [ - 5.1829428, - 51.3961061 - ], - [ - 5.1589102, - 51.4923992 - ], - [ - 5.0833792, - 51.5308596 - ], - [ - 5.0325675, - 51.539829 - ], - [ - 4.9556632, - 51.5052229 - ], - [ - 4.9014182, - 51.5056503 - ], - [ - 4.8382468, - 51.5436725 - ], - [ - 4.7709555, - 51.5586163 - ], - [ - 4.711904, - 51.5470886 - ], - [ - 4.6404929, - 51.4966741 - ], - [ - 4.6144003, - 51.4971016 - ], - [ - 4.5656485, - 51.5317139 - ], - [ - 4.4825644, - 51.5304324 - ], - [ - 4.4262595, - 51.5218884 - ], - [ - 4.3006034, - 51.4697351 - ], - [ - 4.2951102, - 51.4256575 - ], - [ - 4.181127, - 51.4243731 - ], - [ - 4.1371817, - 51.3952492 - ], - [ - 4.138555, - 51.3506709 - ], - [ - 4.0520377, - 51.3004685 - ], - [ - 3.933248, - 51.272984 - ], - [ - 3.8652701, - 51.2708361 - ], - [ - 3.8632102, - 51.2901637 - ], - [ - 3.7629599, - 51.3240748 - ], - [ - 3.5933585, - 51.359247 - ], - [ - 3.4773154, - 51.3313688 - ], - [ - 3.425817, - 51.3973913 - ], - [ - 3.2356162, - 51.3515286 - ], - [ - 3.2260031, - 51.3656781 - ], - [ - 3.1779379, - 51.3618196 - ], - [ - 3.1600852, - 51.3322268 - ], - [ - 3.0625815, - 51.3021857 - ], - [ - 2.7508444, - 51.1702014 - ], - [ - 2.4700064, - 51.0745241 - ], - [ - 2.4926657, - 50.9937771 - ], - [ - 2.5311179, - 50.9557299 - ], - [ - 2.5091452, - 50.9115907 - ], - [ - 2.5304312, - 50.8214514 - ], - [ - 2.5990958, - 50.7641572 - ], - [ - 2.6650138, - 50.7645915 - ], - [ - 2.7700705, - 50.66677 - ], - [ - 2.8970999, - 50.6589354 - ], - [ - 2.991857, - 50.7254874 - ], - [ - 3.1133933, - 50.7263567 - ], - [ - 3.2369895, - 50.7059231 - ], - [ - 3.3626456, - 50.6585001 - ], - [ - 3.4711356, - 50.7020092 - ], - [ - 3.6393637, - 50.6672052 - ], - [ - 3.6984152, - 50.681565 - ], - [ - 3.727941, - 50.7124454 - ], - [ - 3.8185782, - 50.6841754 - ], - [ - 3.8748831, - 50.6415206 - ], - [ - 4.0925498, - 50.642827 - ], - [ - 4.150228, - 50.6632881 - ], - [ - 4.2065329, - 50.6441333 - ], - [ - 4.3136496, - 50.642827 - ], - [ - 4.452352, - 50.6876557 - ], - [ - 4.5347495, - 50.6780842 - ], - [ - 4.6130271, - 50.6954855 - ], - [ - 4.6768851, - 50.6959204 - ], - [ - 4.7270102, - 50.732007 - ], - [ - 4.7805686, - 50.732007 - ], - [ - 4.7997946, - 50.7128802 - ], - [ - 4.8622794, - 50.7128802 - ], - [ - 4.8856253, - 50.6954855 - ], - [ - 4.9611563, - 50.6954855 - ], - [ - 5.0311942, - 50.6576295 - ], - [ - 5.1074118, - 50.6502288 - ], - [ - 5.2007956, - 50.6489227 - ], - [ - 5.2358145, - 50.6654643 - ], - [ - 5.3250784, - 50.6658995 - ], - [ - 5.3669638, - 50.6820001 - ], - [ - 5.4212088, - 50.6641586 - ], - [ - 5.5221457, - 50.6746032 - ], - [ - 5.622396, - 50.7241834 - ], - [ - 5.6752677, - 50.69853 - ], - [ - 5.7398123, - 50.6972252 - ], - [ - 5.7727713, - 50.6719923 - ], - [ - 5.8125968, - 50.6602413 - ], - [ - 5.9080405, - 50.659806 - ], - [ - 5.9849448, - 50.7072276 - ] - ] - ], - terms_text: "GRB Flanders © AGIV", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABm0lEQVQ4y6WTPUgCYRjHf5oFJVfRUZKVHYFBoBAUFLZE0FBD0NQHRENESzS019LSFNHWx1DQEhGRg0JFREM11FJuLWem4GB5HULdwdkgHprn5LO97/O8v+fj/7y2bDabpQKzFx5S6ntlgE81xvHtclHAbuSNloNT5q/uywP021cAvO4hAPYu5/hI5e6GWpsBCEfjxNSMNUALPvJ7eA3AQPcML3KIzbNhlvdEWmu+6RCcAISiCWtA3fosPztBfrYvAGgX/QCIggdR8DDe6Qbg5E0uAdjyKhhykq+uBeySi9qVCfSAB61HRBQ8RFJpRs6vALiZHMUnNpYO0Ujn+jPkJJnVfbTBNeqfFQB8YqP56H8VJqBKcuHcWsQuuXIOyUX1sN8MnPJKlnOwWS2SIScx0hkcvV3mXUzN0HcSAuBoNMBYZxsADittVXcT/XcPKE/PltqHowkTYLcMkOMoml52+wr9jnIZAJZ8XjYGe0vaUDSdsBxnulsqrUDRdMLReNHg8tYhOAs2M2HdQiSVBqChprpI7/9q5JPYKv3OfxL1n52ATYYBAAAAAElFTkSuQmCC" - }, - { - id: "AGIV", - name: "Belgium AGIV Orthophoto Flanders", - type: "tms", - template: "https://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 © AGIV", - best: true, - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABm0lEQVQ4y6WTPUgCYRjHf5oFJVfRUZKVHYFBoBAUFLZE0FBD0NQHRENESzS019LSFNHWx1DQEhGRg0JFREM11FJuLWem4GB5HULdwdkgHprn5LO97/O8v+fj/7y2bDabpQKzFx5S6ntlgE81xvHtclHAbuSNloNT5q/uywP021cAvO4hAPYu5/hI5e6GWpsBCEfjxNSMNUALPvJ7eA3AQPcML3KIzbNhlvdEWmu+6RCcAISiCWtA3fosPztBfrYvAGgX/QCIggdR8DDe6Qbg5E0uAdjyKhhykq+uBeySi9qVCfSAB61HRBQ8RFJpRs6vALiZHMUnNpYO0Ujn+jPkJJnVfbTBNeqfFQB8YqP56H8VJqBKcuHcWsQuuXIOyUX1sN8MnPJKlnOwWS2SIScx0hkcvV3mXUzN0HcSAuBoNMBYZxsADittVXcT/XcPKE/PltqHowkTYLcMkOMoml52+wr9jnIZAJZ8XjYGe0vaUDSdsBxnulsqrUDRdMLReNHg8tYhOAs2M2HdQiSVBqChprpI7/9q5JPYKv3OfxL1n52ATYYBAAAAAElFTkSuQmCC" - }, - { - id: "Benin_cotonou_pleiade_2016", - name: "Benin: Cotonou Pleiade 2016", - type: "tms", - template: "https://geoxxx.agrocampus-ouest.fr/owsifl/gwc/service/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Benin:cotonou_pleiade_2016&STYLE=&FORMAT=image/jpeg&tileMatrixSet=EPSG:3857&tileMatrix=EPSG:3857:{zoom}&tileRow={y}&tileCol={x}", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2016-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 2.31953818544, - 6.55745092536 - ], - [ - 2.33645249928, - 6.56023631702 - ], - [ - 2.36377172444, - 6.56211241002 - ], - [ - 2.36737717181, - 6.56067658005 - ], - [ - 2.37777373205, - 6.54939665325 - ], - [ - 2.3777926612, - 6.53484752744 - ], - [ - 2.36994151563, - 6.4933195729 - ], - [ - 2.37038356708, - 6.45527010853 - ], - [ - 2.36958186167, - 6.45269435578 - ], - [ - 2.36188103586, - 6.44177160245 - ], - [ - 2.35391742884, - 6.40545220189 - ], - [ - 2.3674929737, - 6.40149524022 - ], - [ - 2.39525870424, - 6.40071623744 - ], - [ - 2.40128040262, - 6.40374371884 - ], - [ - 2.40587684694, - 6.40340733291 - ], - [ - 2.42045897749, - 6.39382909301 - ], - [ - 2.42485054154, - 6.3979366042 - ], - [ - 2.42949152505, - 6.39887495342 - ], - [ - 2.43625257397, - 6.39628121034 - ], - [ - 2.43958410532, - 6.40041525877 - ], - [ - 2.44439433776, - 6.40189359345 - ], - [ - 2.45375647532, - 6.39899446003 - ], - [ - 2.47144744127, - 6.3963166199 - ], - [ - 2.48162019208, - 6.3910582748 - ], - [ - 2.49453210303, - 6.38739776192 - ], - [ - 2.50893162289, - 6.38888498676 - ], - [ - 2.50719014059, - 6.39228876781 - ], - [ - 2.50120407357, - 6.39162040687 - ], - [ - 2.4963025358, - 6.39521449649 - ], - [ - 2.49509997769, - 6.40123077776 - ], - [ - 2.49543290813, - 6.40400928653 - ], - [ - 2.49830345887, - 6.41022131795 - ], - [ - 2.50191336015, - 6.41281720321 - ], - [ - 2.5108701911, - 6.41321333458 - ], - [ - 2.52218648559, - 6.40849403999 - ], - [ - 2.53352059576, - 6.4051656109 - ], - [ - 2.53809922441, - 6.40960941297 - ], - [ - 2.5411100736, - 6.41090182623 - ], - [ - 2.54650822333, - 6.41099034757 - ], - [ - 2.54654385468, - 6.40651114868 - ], - [ - 2.57638511144, - 6.40723702943 - ], - [ - 2.57642074279, - 6.41176933466 - ], - [ - 2.58575615684, - 6.41196408125 - ], - [ - 2.58867792765, - 6.41095493903 - ], - [ - 2.60877400982, - 6.39413560832 - ], - [ - 2.62569890171, - 6.39487921149 - ], - [ - 2.64554556441, - 6.39728706193 - ], - [ - 2.65039142819, - 6.39339200408 - ], - [ - 2.6536650586, - 6.36823275735 - ], - [ - 2.6431181786, - 6.3665949733 - ], - [ - 2.61251084779, - 6.3628944474 - ], - [ - 2.56867983171, - 6.3607044406 - ], - [ - 2.54682890549, - 6.36055393954 - ], - [ - 2.54687344468, - 6.35546343647 - ], - [ - 2.50206702036, - 6.35461353888 - ], - [ - 2.47064016846, - 6.35595920942 - ], - [ - 2.46777184468, - 6.35202842507 - ], - [ - 2.46422652522, - 6.35020467258 - ], - [ - 2.45253944198, - 6.35006302163 - ], - [ - 2.4511320036, - 6.34813302357 - ], - [ - 2.44737289603, - 6.34629155079 - ], - [ - 2.43757427441, - 6.34653944174 - ], - [ - 2.43297783009, - 6.33841209773 - ], - [ - 2.43016295333, - 6.33706638135 - ], - [ - 2.42244876576, - 6.33706638135 - ], - [ - 2.39236031651, - 6.34114999999 - ], - [ - 2.39315311407, - 6.34114999999 - ], - [ - 2.3652849434, - 6.34445228474 - ], - [ - 2.35386064137, - 6.34529777247 - ], - [ - 2.34377474198, - 6.34457844399 - ], - [ - 2.34093759563, - 6.34533982549 - ], - [ - 2.31086028117, - 6.36567095094 - ], - [ - 2.28434610184, - 6.37465215648 - ], - [ - 2.28146887022, - 6.37761782314 - ], - [ - 2.27599054995, - 6.39517244756 - ], - [ - 2.27611525968, - 6.39819996182 - ], - [ - 2.31528747657, - 6.4926104105 - ], - [ - 2.31579967725, - 6.5530659484 - ], - [ - 2.31953818544, - 6.55745092536 - ] - ], - [ - [ - 1.69563043958, - 6.25076170066 - ], - [ - 1.70009994721, - 6.24711901182 - ], - [ - 1.70417862346, - 6.24697179839 - ], - [ - 1.75874803806, - 6.25835802546 - ], - [ - 1.77079143482, - 6.25995187823 - ], - [ - 1.81712109941, - 6.27161341959 - ], - [ - 1.84456614779, - 6.27656750346 - ], - [ - 1.85767848509, - 6.27944518918 - ], - [ - 1.88843363033, - 6.28325588467 - ], - [ - 1.90481876292, - 6.28594870029 - ], - [ - 1.90617692982, - 6.29435189983 - ], - [ - 1.90083111364, - 6.29721233234 - ], - [ - 1.89880903445, - 6.29953873942 - ], - [ - 1.89404334121, - 6.30085024405 - ], - [ - 1.89047742238, - 6.29969866569 - ], - [ - 1.88747882146, - 6.29636150888 - ], - [ - 1.88344050885, - 6.29622344016 - ], - [ - 1.86969682855, - 6.29226563906 - ], - [ - 1.8564007671, - 6.29198230539 - ], - [ - 1.85206654725, - 6.28674503171 - ], - [ - 1.84991419093, - 6.28906373821 - ], - [ - 1.84691224958, - 6.29202989661 - ], - [ - 1.8435272712, - 6.29332703219 - ], - [ - 1.84040507404, - 6.29315437611 - ], - [ - 1.83626738336, - 6.29129499924 - ], - [ - 1.83409832485, - 6.28733273348 - ], - [ - 1.83416513363, - 6.2851988527 - ], - [ - 1.83229560117, - 6.28456355663 - ], - [ - 1.82785949792, - 6.28644177291 - ], - [ - 1.82182443779, - 6.2908379014 - ], - [ - 1.81562903657, - 6.28997904337 - ], - [ - 1.81211044063, - 6.29143113241 - ], - [ - 1.80757635117, - 6.29570768815 - ], - [ - 1.80471693522, - 6.29692955475 - ], - [ - 1.80073513171, - 6.29709778253 - ], - [ - 1.79775991387, - 6.29612383144 - ], - [ - 1.79625448928, - 6.29491967121 - ], - [ - 1.79490049792, - 6.28965143736 - ], - [ - 1.79641483036, - 6.28608317469 - ], - [ - 1.80097564333, - 6.28338261222 - ], - [ - 1.79566657198, - 6.28013306439 - ], - [ - 1.79156005874, - 6.28174455931 - ], - [ - 1.78498607441, - 6.28122215216 - ], - [ - 1.78092410036, - 6.27752986974 - ], - [ - 1.77588226414, - 6.27550220232 - ], - [ - 1.76744654171, - 6.27696318619 - ], - [ - 1.75653444036, - 6.27496207997 - ], - [ - 1.74833032171, - 6.27238985028 - ], - [ - 1.74761769468, - 6.27726423691 - ], - [ - 1.74572477914, - 6.27938486862 - ], - [ - 1.73948038482, - 6.27984972411 - ], - [ - 1.73680357955, - 6.27761398678 - ], - [ - 1.73572127725, - 6.27891558552 - ], - [ - 1.72901812928, - 6.27911038233 - ], - [ - 1.72435487617, - 6.27422273126 - ], - [ - 1.72449294765, - 6.2678607472 - ], - [ - 1.72555966124, - 6.26683029328 - ], - [ - 1.69933944056, - 6.26159387355 - ], - [ - 1.69572953928, - 6.25725948175 - ], - [ - 1.69563043958, - 6.25076170066 - ] - ] - ], - best: true - }, - { - id: "Bing", - name: "Bing aerial imagery", - type: "bing", - template: "https://www.bing.com/maps", - scaleExtent: [ - 0, - 22 - ], - "default": true, - description: "Satellite and aerial imagery.", - icon: "data:image/png;base64,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" - }, - { - id: "Bonvillars-2013", - name: "Bonvillars Orthophoto 2013", - type: "tms", - template: "http://osmdata.asitvd.ch/tiles/bonvillars2013/{zoom}/{x}/{y}.png", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - scaleExtent: [ - 14, - 20 - ], - polygon: [ - [ - [ - 6.6671318, - 46.8335837 - ], - [ - 6.6631287, - 46.838326 - ], - [ - 6.6721281, - 46.8419075 - ], - [ - 6.6749, - 46.8422559 - ], - [ - 6.6784318, - 46.8380735 - ], - [ - 6.6671318, - 46.8335837 - ] - ] - ], - terms_url: "http://osmdata.asitvd.ch/", - terms_text: "Bonvillars - Orthophoto technique 2013" - }, - { - id: "Bordeaux_2012", - name: "Bordeaux - 2012", - type: "tms", - template: "http://wms.openstreetmap.fr/tms/1.0.0/bordeaux_2012/{zoom}/{x}/{y}", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 20 - ], - polygon: [ - [ - [ - -0.5992269128228901, - 45.041932410852176 - ], - [ - -0.542312560140509, - 45.02756808640373 - ], - [ - -0.509790072893434, - 45.006014839274926 - ], - [ - -0.4772675856463589, - 45.002062530648324 - ], - [ - -0.47066145542429677, - 44.97366975755017 - ], - [ - -0.4554165395272304, - 44.95101733966983 - ], - [ - -0.4645634890654702, - 44.91792155099146 - ], - [ - -0.47320227474047455, - 44.91936089493768 - ], - [ - -0.48793902677430534, - 44.90928473014602 - ], - [ - -0.49810230403901634, - 44.89056716544938 - ], - [ - -0.48946351836401203, - 44.87796537368711 - ], - [ - -0.46659614451841236, - 44.87076311041642 - ], - [ - -0.4762512579198878, - 44.84734952959955 - ], - [ - -0.4950533208596031, - 44.839783107079846 - ], - [ - -0.4909880099537187, - 44.83185531284354 - ], - [ - -0.46964512769782574, - 44.825368124499924 - ], - [ - -0.4970859763125452, - 44.80445999547304 - ], - [ - -0.5245268249272648, - 44.80013322923096 - ], - [ - -0.5102982367566694, - 44.76767213918935 - ], - [ - -0.5346901021919757, - 44.76514662270613 - ], - [ - -0.5621309508066953, - 44.75107386670688 - ], - [ - -0.5600982953537531, - 44.7416901252491 - ], - [ - -0.5728023919346418, - 44.741329181695264 - ], - [ - -0.5946534380537702, - 44.760095258488434 - ], - [ - -0.6342902193861429, - 44.73988538494593 - ], - [ - -0.650043299146445, - 44.7770516622697 - ], - [ - -0.6790086393508712, - 44.77488729214841 - ], - [ - -0.688155588889111, - 44.779215951267936 - ], - [ - -0.7150882736405949, - 44.76839369504671 - ], - [ - -0.7516760717935543, - 44.74710400814933 - ], - [ - -0.7633638406479719, - 44.755765166198834 - ], - [ - -0.7384638113494302, - 44.77560875786918 - ], - [ - -0.7420209583920789, - 44.785708331523864 - ], - [ - -0.7277923702214837, - 44.81239155746571 - ], - [ - -0.7399883029391369, - 44.828611809936305 - ], - [ - -0.7643801683744431, - 44.82933260413425 - ], - [ - -0.8030006219803447, - 44.821763815493405 - ], - [ - -0.8400965839965395, - 44.82753060173851 - ], - [ - -0.8390802562700685, - 44.840143435448645 - ], - [ - -0.875668054423028, - 44.8502317148731 - ], - [ - -0.8853231678245034, - 44.85851719417739 - ], - [ - -0.88684765941421, - 44.887686999278294 - ], - [ - -0.8660129410215526, - 44.88696693520083 - ], - [ - -0.8456863864921306, - 44.8966870397005 - ], - [ - -0.8334904537744775, - 44.92763642292355 - ], - [ - -0.818245537877411, - 44.92763642292355 - ], - [ - -0.8019842942538735, - 44.92223947466319 - ], - [ - -0.7984271472112248, - 44.94849985224626 - ], - [ - -0.7872475422200427, - 44.948140202171814 - ], - [ - -0.7557413826994388, - 44.97007473283782 - ], - [ - -0.7216944038626572, - 44.95784996320919 - ], - [ - -0.6957780468376442, - 44.930874348504034 - ], - [ - -0.6886637527523465, - 44.93447182951288 - ], - [ - -0.6713861814023379, - 44.93267311717697 - ], - [ - -0.6693535259493957, - 44.940946727451696 - ], - [ - -0.6251432698479031, - 44.95065770536977 - ], - [ - -0.6322575639332009, - 44.95892872413991 - ], - [ - -0.6312412362067297, - 44.96719855081702 - ], - [ - -0.6002432405493613, - 44.967558081456815 - ], - [ - -0.5514595096787488, - 44.97834295278015 - ], - [ - -0.5407880685508023, - 44.97726455691398 - ], - [ - -0.5545084928581621, - 44.99739126890938 - ], - [ - -0.5936371103272993, - 45.01751091397198 - ], - [ - -0.6078656984978945, - 45.0340324785955 - ], - [ - -0.5992269128228901, - 45.041932410852176 - ] - ] - ], - terms_text: "Communauté urbaine de Bordeaux - 2012" - }, - { - id: "Bordeaux_2016", - name: "Bordeaux 2016", - type: "tms", - template: "http://tms.bordeaux.inria.fr/bdx2016/{zoom}/{x}/{y}.jpg", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2016-01-01T00:00:00.000Z", - scaleExtent: [ - 14, - 20 - ], - polygon: [ - [ - [ - -0.5992269128228901, - 45.041932410852176 - ], - [ - -0.542312560140509, - 45.02756808640373 - ], - [ - -0.509790072893434, - 45.006014839274926 - ], - [ - -0.4772675856463589, - 45.002062530648324 - ], - [ - -0.47066145542429677, - 44.97366975755017 - ], - [ - -0.4554165395272304, - 44.95101733966983 - ], - [ - -0.4645634890654702, - 44.91792155099146 - ], - [ - -0.47320227474047455, - 44.91936089493768 - ], - [ - -0.48793902677430534, - 44.90928473014602 - ], - [ - -0.49810230403901634, - 44.89056716544938 - ], - [ - -0.48946351836401203, - 44.87796537368711 - ], - [ - -0.46659614451841236, - 44.87076311041642 - ], - [ - -0.4762512579198878, - 44.84734952959955 - ], - [ - -0.4950533208596031, - 44.839783107079846 - ], - [ - -0.4909880099537187, - 44.83185531284354 - ], - [ - -0.46964512769782574, - 44.825368124499924 - ], - [ - -0.4970859763125452, - 44.80445999547304 - ], - [ - -0.5245268249272648, - 44.80013322923096 - ], - [ - -0.5102982367566694, - 44.76767213918935 - ], - [ - -0.5346901021919757, - 44.76514662270613 - ], - [ - -0.5621309508066953, - 44.75107386670688 - ], - [ - -0.5600982953537531, - 44.7416901252491 - ], - [ - -0.5728023919346418, - 44.741329181695264 - ], - [ - -0.5946534380537702, - 44.760095258488434 - ], - [ - -0.6342902193861429, - 44.73988538494593 - ], - [ - -0.650043299146445, - 44.7770516622697 - ], - [ - -0.6790086393508712, - 44.77488729214841 - ], - [ - -0.688155588889111, - 44.779215951267936 - ], - [ - -0.7150882736405949, - 44.76839369504671 - ], - [ - -0.7516760717935543, - 44.74710400814933 - ], - [ - -0.7633638406479719, - 44.755765166198834 - ], - [ - -0.7384638113494302, - 44.77560875786918 - ], - [ - -0.7420209583920789, - 44.785708331523864 - ], - [ - -0.7277923702214837, - 44.81239155746571 - ], - [ - -0.7399883029391369, - 44.828611809936305 - ], - [ - -0.7643801683744431, - 44.82933260413425 - ], - [ - -0.8030006219803447, - 44.821763815493405 - ], - [ - -0.8400965839965395, - 44.82753060173851 - ], - [ - -0.8390802562700685, - 44.840143435448645 - ], - [ - -0.875668054423028, - 44.8502317148731 - ], - [ - -0.8853231678245034, - 44.85851719417739 - ], - [ - -0.88684765941421, - 44.887686999278294 - ], - [ - -0.8660129410215526, - 44.88696693520083 - ], - [ - -0.8456863864921306, - 44.8966870397005 - ], - [ - -0.8334904537744775, - 44.92763642292355 - ], - [ - -0.818245537877411, - 44.92763642292355 - ], - [ - -0.8019842942538735, - 44.92223947466319 - ], - [ - -0.7984271472112248, - 44.94849985224626 - ], - [ - -0.7872475422200427, - 44.948140202171814 - ], - [ - -0.7557413826994388, - 44.97007473283782 - ], - [ - -0.7216944038626572, - 44.95784996320919 - ], - [ - -0.6957780468376442, - 44.930874348504034 - ], - [ - -0.6886637527523465, - 44.93447182951288 - ], - [ - -0.6713861814023379, - 44.93267311717697 - ], - [ - -0.6693535259493957, - 44.940946727451696 - ], - [ - -0.6251432698479031, - 44.95065770536977 - ], - [ - -0.6322575639332009, - 44.95892872413991 - ], - [ - -0.6312412362067297, - 44.96719855081702 - ], - [ - -0.6002432405493613, - 44.967558081456815 - ], - [ - -0.5514595096787488, - 44.97834295278015 - ], - [ - -0.5407880685508023, - 44.97726455691398 - ], - [ - -0.5545084928581621, - 44.99739126890938 - ], - [ - -0.5936371103272993, - 45.01751091397198 - ], - [ - -0.6078656984978945, - 45.0340324785955 - ], - [ - -0.5992269128228901, - 45.041932410852176 - ] - ] - ], - terms_text: "Bordeaux Métropole - 2016" - }, - { - id: "branquinha_al", - name: "Branquinha AL", - type: "wms", - template: "http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?service=WMS&version=1.1.0&request=GetMap&layers=Branquinha&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -35.96968237108, - -9.29279539826 - ], - [ - -35.97062650865, - -9.20260556139 - ], - [ - -35.97726765817, - -9.20263733363 - ], - [ - -35.98365131562, - -9.20270087809 - ], - [ - -35.98765317147, - -9.20265851512 - ], - [ - -35.99159065431, - -9.20274324105 - ], - [ - -36.00498024171, - -9.20283855771 - ], - [ - -36.01473275369, - -9.20293387434 - ], - [ - -36.01651374048, - -9.20295505581 - ], - [ - -36.01871315187, - -9.20293387434 - ], - [ - -36.02487150377, - -9.20285973919 - ], - [ - -36.02891627496, - -9.20296564655 - ], - [ - -36.03307906335, - -9.2028915114 - ], - [ - -36.03769246286, - -9.20294446508 - ], - [ - -36.04581419175, - -9.20299741875 - ], - [ - -36.05160776323, - -9.20305037241 - ], - [ - -36.05456892198, - -9.20300800948 - ], - [ - -36.06022301858, - -9.20303978168 - ], - [ - -36.06190744584, - -9.20303978168 - ], - [ - -36.06180015748, - -9.21318555747 - ], - [ - -36.06167141145, - -9.21805712081 - ], - [ - -36.06156412309, - -9.21914791817 - ], - [ - -36.06162849611, - -9.22156248675 - ], - [ - -36.06143537706, - -9.22276976485 - ], - [ - -36.06139246171, - -9.22716464584 - ], - [ - -36.06133881753, - -9.23226899309 - ], - [ - -36.06140319055, - -9.23391041686 - ], - [ - -36.06144610589, - -9.23493762655 - ], - [ - -36.06130663102, - -9.23646255088 - ], - [ - -36.0613280887, - -9.23773331611 - ], - [ - -36.06142464822, - -9.23904643537 - ], - [ - -36.06144610589, - -9.24133379272 - ], - [ - -36.0613602752, - -9.24229744345 - ], - [ - -36.06141391938, - -9.24357877714 - ], - [ - -36.06139246171, - -9.24530486392 - ], - [ - -36.06126371568, - -9.24726390922 - ], - [ - -36.06123152917, - -9.24948767715 - ], - [ - -36.06127444452, - -9.25106548492 - ], - [ - -36.0612100715, - -9.25517410549 - ], - [ - -36.06118861383, - -9.25794845615 - ], - [ - -36.06107059663, - -9.2594521027 - ], - [ - -36.0610920543, - -9.26183462807 - ], - [ - -36.06105986779, - -9.26492659247 - ], - [ - -36.06085601991, - -9.27145986606 - ], - [ - -36.06083456224, - -9.27510235154 - ], - [ - -36.06073800271, - -9.28273662427 - ], - [ - -36.06080237573, - -9.29234011263 - ], - [ - -36.06073800271, - -9.29363185173 - ], - [ - -36.05477276986, - -9.29356832368 - ], - [ - -36.04621115869, - -9.29349420762 - ], - [ - -36.03940907663, - -9.29348361961 - ], - [ - -36.03501025384, - -9.29338832751 - ], - [ - -36.02978531068, - -9.29340950353 - ], - [ - -36.02167431062, - -9.29332479942 - ], - [ - -36.01278010553, - -9.29328244736 - ], - [ - -36.0046798343, - -9.29320833124 - ], - [ - -35.99678341096, - -9.29314480312 - ], - [ - -35.98969165033, - -9.29312362708 - ], - [ - -35.98483148759, - -9.29304951092 - ], - [ - -35.98305050081, - -9.29289069053 - ], - [ - -35.98173085397, - -9.29294363067 - ], - [ - -35.97884479707, - -9.29281657433 - ], - [ - -35.96968237108, - -9.29279539826 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "British_Columbia_Mosaic", - name: "British Columbia Mosaic", - type: "tms", - template: "http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/bc_mosaic/{zoom}/{x}/{y}.png", - endDate: "2013-06-01T00:00:00.000Z", - startDate: "2009-01-01T00:00:00.000Z", - 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 - ], - [ - -123.3176032, - 49.3272567 - ] - ] - ], - terms_url: "http://imagery.paulnorman.ca/tiles/about.html", - terms_text: "Copyright Province of British Columbia, City of Surrey" - }, - { - id: "Budapest_XI_2015", - name: "Budapest district XI orthophoto 2015", - type: "wms", - template: "http://terinfo.ujbuda.hu/mapproxy/service?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=orto2015_20160304&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 19.047674, - 47.487889 - ], - [ - 19.051565, - 47.489898 - ], - [ - 19.064336, - 47.479203 - ], - [ - 19.066498, - 47.476323 - ], - [ - 19.067662, - 47.473428 - ], - [ - 19.068374, - 47.470774 - ], - [ - 19.06846, - 47.468765 - ], - [ - 19.067223, - 47.465006 - ], - [ - 19.056829, - 47.452588 - ], - [ - 19.054896, - 47.449065 - ], - [ - 19.05176, - 47.434991 - ], - [ - 19.048625, - 47.428997 - ], - [ - 19.043844, - 47.429684 - ], - [ - 19.040234, - 47.429319 - ], - [ - 19.035087, - 47.438181 - ], - [ - 19.032205, - 47.437794 - ], - [ - 19.025205, - 47.442004 - ], - [ - 19.020705, - 47.445763 - ], - [ - 19.019153, - 47.446579 - ], - [ - 19.015447, - 47.447588 - ], - [ - 19.01347, - 47.443613 - ], - [ - 19.012663, - 47.44271 - ], - [ - 19.011776, - 47.442473 - ], - [ - 19.011903, - 47.441883 - ], - [ - 19.009799, - 47.439443 - ], - [ - 19.005705, - 47.431105 - ], - [ - 19.000464, - 47.430974 - ], - [ - 18.995338, - 47.428211 - ], - [ - 18.975454, - 47.428179 - ], - [ - 18.973426, - 47.429037 - ], - [ - 18.973615, - 47.429982 - ], - [ - 18.975482, - 47.430671 - ], - [ - 18.977187, - 47.434024 - ], - [ - 18.978227, - 47.438171 - ], - [ - 18.977329, - 47.446572 - ], - [ - 18.970039, - 47.449876 - ], - [ - 18.968611, - 47.451422 - ], - [ - 18.975678, - 47.455063 - ], - [ - 18.975859, - 47.455563 - ], - [ - 18.976247, - 47.455842 - ], - [ - 18.97658, - 47.455945 - ], - [ - 18.977633, - 47.455967 - ], - [ - 18.980167, - 47.456049 - ], - [ - 18.981619, - 47.460669 - ], - [ - 18.977933, - 47.468574 - ], - [ - 18.968669, - 47.476431 - ], - [ - 18.977448, - 47.481943 - ], - [ - 18.980348, - 47.481687 - ], - [ - 18.985653, - 47.478204 - ], - [ - 18.989075, - 47.478377 - ], - [ - 18.991166, - 47.47898 - ], - [ - 18.991766, - 47.481021 - ], - [ - 18.992875, - 47.481817 - ], - [ - 18.998357, - 47.482378 - ], - [ - 18.999022, - 47.483001 - ], - [ - 19.003999, - 47.481886 - ], - [ - 19.004156, - 47.483992 - ], - [ - 19.010272, - 47.485348 - ], - [ - 19.012373, - 47.484043 - ], - [ - 19.0138, - 47.483506 - ], - [ - 19.016739, - 47.484651 - ], - [ - 19.016303, - 47.485392 - ], - [ - 19.016889, - 47.485946 - ], - [ - 19.018085, - 47.486054 - ], - [ - 19.021081, - 47.484921 - ], - [ - 19.021239, - 47.486124 - ], - [ - 19.023013, - 47.487414 - ], - [ - 19.026373, - 47.488854 - ], - [ - 19.029954, - 47.489037 - ], - [ - 19.031349, - 47.488554 - ], - [ - 19.031889, - 47.487587 - ], - [ - 19.032855, - 47.48712 - ], - [ - 19.03364, - 47.487018 - ], - [ - 19.035138, - 47.487249 - ], - [ - 19.035851, - 47.487292 - ], - [ - 19.03616, - 47.487507 - ], - [ - 19.036651, - 47.487668 - ], - [ - 19.037475, - 47.487738 - ], - [ - 19.038474, - 47.487368 - ], - [ - 19.039179, - 47.486793 - ], - [ - 19.041049, - 47.486492 - ], - [ - 19.04181, - 47.487373 - ], - [ - 19.04387, - 47.488104 - ], - [ - 19.045423, - 47.488169 - ], - [ - 19.046945, - 47.488104 - ], - [ - 19.047674, - 47.487889 - ] - ] - ], - terms_url: "http://terinfo.ujbuda.hu", - terms_text: "Budapest XI. kerület önkormányzata", - description: "5 cm resolution bald image" - }, - { - id: "Budapest_XI_2017", - name: "Budapest district XI orthophoto 2017", - type: "wms", - template: "http://terinfo.ujbuda.hu/mapproxy/service?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=orto_2017&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - endDate: "2017-03-01T00:00:00.000Z", - startDate: "2017-03-01T00:00:00.000Z", - polygon: [ - [ - [ - 19.047674, - 47.487889 - ], - [ - 19.051565, - 47.489898 - ], - [ - 19.064336, - 47.479203 - ], - [ - 19.066498, - 47.476323 - ], - [ - 19.067662, - 47.473428 - ], - [ - 19.068374, - 47.470774 - ], - [ - 19.06846, - 47.468765 - ], - [ - 19.067223, - 47.465006 - ], - [ - 19.056829, - 47.452588 - ], - [ - 19.054896, - 47.449065 - ], - [ - 19.05176, - 47.434991 - ], - [ - 19.048625, - 47.428997 - ], - [ - 19.043844, - 47.429684 - ], - [ - 19.040234, - 47.429319 - ], - [ - 19.035087, - 47.438181 - ], - [ - 19.032205, - 47.437794 - ], - [ - 19.025205, - 47.442004 - ], - [ - 19.020705, - 47.445763 - ], - [ - 19.019153, - 47.446579 - ], - [ - 19.015447, - 47.447588 - ], - [ - 19.01347, - 47.443613 - ], - [ - 19.012663, - 47.44271 - ], - [ - 19.011776, - 47.442473 - ], - [ - 19.011903, - 47.441883 - ], - [ - 19.009799, - 47.439443 - ], - [ - 19.005705, - 47.431105 - ], - [ - 19.000464, - 47.430974 - ], - [ - 18.995338, - 47.428211 - ], - [ - 18.975454, - 47.428179 - ], - [ - 18.973426, - 47.429037 - ], - [ - 18.973615, - 47.429982 - ], - [ - 18.975482, - 47.430671 - ], - [ - 18.977187, - 47.434024 - ], - [ - 18.978227, - 47.438171 - ], - [ - 18.977329, - 47.446572 - ], - [ - 18.970039, - 47.449876 - ], - [ - 18.968611, - 47.451422 - ], - [ - 18.975678, - 47.455063 - ], - [ - 18.975859, - 47.455563 - ], - [ - 18.976247, - 47.455842 - ], - [ - 18.97658, - 47.455945 - ], - [ - 18.977633, - 47.455967 - ], - [ - 18.980167, - 47.456049 - ], - [ - 18.981619, - 47.460669 - ], - [ - 18.977933, - 47.468574 - ], - [ - 18.968669, - 47.476431 - ], - [ - 18.977448, - 47.481943 - ], - [ - 18.980348, - 47.481687 - ], - [ - 18.985653, - 47.478204 - ], - [ - 18.989075, - 47.478377 - ], - [ - 18.991166, - 47.47898 - ], - [ - 18.991766, - 47.481021 - ], - [ - 18.992875, - 47.481817 - ], - [ - 18.998357, - 47.482378 - ], - [ - 18.999022, - 47.483001 - ], - [ - 19.003999, - 47.481886 - ], - [ - 19.004156, - 47.483992 - ], - [ - 19.010272, - 47.485348 - ], - [ - 19.012373, - 47.484043 - ], - [ - 19.0138, - 47.483506 - ], - [ - 19.016739, - 47.484651 - ], - [ - 19.016303, - 47.485392 - ], - [ - 19.016889, - 47.485946 - ], - [ - 19.018085, - 47.486054 - ], - [ - 19.021081, - 47.484921 - ], - [ - 19.021239, - 47.486124 - ], - [ - 19.023013, - 47.487414 - ], - [ - 19.026373, - 47.488854 - ], - [ - 19.029954, - 47.489037 - ], - [ - 19.031349, - 47.488554 - ], - [ - 19.031889, - 47.487587 - ], - [ - 19.032855, - 47.48712 - ], - [ - 19.03364, - 47.487018 - ], - [ - 19.035138, - 47.487249 - ], - [ - 19.035851, - 47.487292 - ], - [ - 19.03616, - 47.487507 - ], - [ - 19.036651, - 47.487668 - ], - [ - 19.037475, - 47.487738 - ], - [ - 19.038474, - 47.487368 - ], - [ - 19.039179, - 47.486793 - ], - [ - 19.041049, - 47.486492 - ], - [ - 19.04181, - 47.487373 - ], - [ - 19.04387, - 47.488104 - ], - [ - 19.045423, - 47.488169 - ], - [ - 19.046945, - 47.488104 - ], - [ - 19.047674, - 47.487889 - ] - ] - ], - terms_url: "http://terinfo.ujbuda.hu", - terms_text: "Budapest XI. kerület önkormányzata", - best: true, - description: "5 cm resolution bald image" - }, - { - id: "Cadastre", - name: "Cadastre", - type: "tms", - template: "http://tms.cadastre.openstreetmap.fr/*/tout/{zoom}/{x}/{y}.png", - scaleExtent: [ - 12, - 22 - ], - polygon: [ - [ - [ - -2.7, - 43.9 - ], - [ - -6.3, - 48.98 - ], - [ - -2.25, - 50.09 - ], - [ - 1.31, - 50.88 - ], - [ - 2.358164, - 51.32937 - ], - [ - 2.548804, - 51.09759 - ], - [ - 2.570482, - 51.07409 - ], - [ - 2.587412, - 51.01763 - ], - [ - 2.598448, - 51.0051 - ], - [ - 2.615575, - 50.99749 - ], - [ - 2.639859, - 50.95766 - ], - [ - 2.642247, - 50.94578 - ], - [ - 2.624519, - 50.9256 - ], - [ - 2.61962, - 50.91067 - ], - [ - 2.623964, - 50.86071 - ], - [ - 2.627811, - 50.85054 - ], - [ - 2.637859, - 50.83696 - ], - [ - 2.651102, - 50.82906 - ], - [ - 2.732666, - 50.81738 - ], - [ - 2.79995, - 50.73795 - ], - [ - 2.816552, - 50.73092 - ], - [ - 2.852648, - 50.73335 - ], - [ - 2.890719, - 50.7162 - ], - [ - 2.904925, - 50.71536 - ], - [ - 2.916096, - 50.72418 - ], - [ - 2.935084, - 50.75592 - ], - [ - 3.007184, - 50.78377 - ], - [ - 3.082183, - 50.78749 - ], - [ - 3.092439, - 50.79092 - ], - [ - 3.114119, - 50.80566 - ], - [ - 3.148768, - 50.80195 - ], - [ - 3.215401, - 50.73111 - ], - [ - 3.221487, - 50.7267 - ], - [ - 3.270507, - 50.70375 - ], - [ - 3.275448, - 50.67757 - ], - [ - 3.265761, - 50.6604 - ], - [ - 3.265877, - 50.64054 - ], - [ - 3.289219, - 50.60028 - ], - [ - 3.292195, - 50.55037 - ], - [ - 3.305598, - 50.53267 - ], - [ - 3.375514, - 50.50839 - ], - [ - 3.389804, - 50.50884 - ], - [ - 3.474798, - 50.54445 - ], - [ - 3.52173, - 50.53459 - ], - [ - 3.532662, - 50.51873 - ], - [ - 3.547788, - 50.51012 - ], - [ - 3.615234, - 50.50558 - ], - [ - 3.673778, - 50.45642 - ], - [ - 3.684152, - 50.35277 - ], - [ - 3.690097, - 50.34044 - ], - [ - 3.702583, - 50.33482 - ], - [ - 3.715758, - 50.33854 - ], - [ - 3.749349, - 50.36279 - ], - [ - 3.841089, - 50.36558 - ], - [ - 3.901887, - 50.3436 - ], - [ - 3.913173, - 50.34291 - ], - [ - 4.026717, - 50.36904 - ], - [ - 4.13761, - 50.29984 - ], - [ - 4.143881, - 50.29727 - ], - [ - 4.214438, - 50.28167 - ], - [ - 4.229037, - 50.26664 - ], - [ - 4.230782, - 50.25233 - ], - [ - 4.170843, - 50.18579 - ], - [ - 4.166015, - 50.16888 - ], - [ - 4.176401, - 50.1547 - ], - [ - 4.211948, - 50.13602 - ], - [ - 4.240742, - 50.07102 - ], - [ - 4.231934, - 50.05551 - ], - [ - 4.181645, - 50.03436 - ], - [ - 4.17177, - 50.02537 - ], - [ - 4.169755, - 50.01217 - ], - [ - 4.176498, - 50.00065 - ], - [ - 4.206331, - 49.97546 - ], - [ - 4.221639, - 49.97089 - ], - [ - 4.308774, - 49.98145 - ], - [ - 4.445423, - 49.9523 - ], - [ - 4.454691, - 49.95251 - ], - [ - 4.658098, - 50.00609 - ], - [ - 4.669358, - 50.01392 - ], - [ - 4.672929, - 50.02716 - ], - [ - 4.66924, - 50.06972 - ], - [ - 4.695168, - 50.10472 - ], - [ - 4.831227, - 50.17941 - ], - [ - 4.881497, - 50.16436 - ], - [ - 4.904786, - 50.14451 - ], - [ - 4.904264, - 50.12639 - ], - [ - 4.880762, - 50.0815 - ], - [ - 4.862772, - 50.0745 - ], - [ - 4.851037, - 50.06216 - ], - [ - 4.843307, - 50.03884 - ], - [ - 4.843307, - 50.03883 - ], - [ - 4.843295, - 50.03881 - ], - [ - 4.826781, - 49.989 - ], - [ - 4.826618, - 49.97692 - ], - [ - 4.833433, - 49.96696 - ], - [ - 4.896542, - 49.91753 - ], - [ - 4.897546, - 49.89424 - ], - [ - 4.879134, - 49.86942 - ], - [ - 4.876249, - 49.85111 - ], - [ - 4.889238, - 49.81266 - ], - [ - 4.897691, - 49.80204 - ], - [ - 4.910979, - 49.79926 - ], - [ - 4.995343, - 49.81116 - ], - [ - 5.01867, - 49.79272 - ], - [ - 5.026862, - 49.78886 - ], - [ - 5.099438, - 49.77323 - ], - [ - 5.134584, - 49.73462 - ], - [ - 5.141201, - 49.72984 - ], - [ - 5.187609, - 49.70906 - ], - [ - 5.196025, - 49.70732 - ], - [ - 5.281572, - 49.70836 - ], - [ - 5.333628, - 49.67308 - ], - [ - 5.343996, - 49.65049 - ], - [ - 5.354398, - 49.64041 - ], - [ - 5.431412, - 49.60791 - ], - [ - 5.482051, - 49.52815 - ], - [ - 5.492943, - 49.51979 - ], - [ - 5.50666, - 49.52042 - ], - [ - 5.55401, - 49.54025 - ], - [ - 5.59311, - 49.53424 - ], - [ - 5.607602, - 49.53761 - ], - [ - 5.640997, - 49.56095 - ], - [ - 5.706759, - 49.55267 - ], - [ - 5.715782, - 49.55361 - ], - [ - 5.775261, - 49.57414 - ], - [ - 5.839902, - 49.55321 - ], - [ - 5.861263, - 49.52038 - ], - [ - 5.875997, - 49.5114 - ], - [ - 5.975162, - 49.50129 - ], - [ - 5.998015, - 49.47317 - ], - [ - 6.016266, - 49.46597 - ], - [ - 6.08635, - 49.47562 - ], - [ - 6.093186, - 49.47787 - ], - [ - 6.173966, - 49.52187 - ], - [ - 6.246435, - 49.52511 - ], - [ - 6.333999, - 49.48235 - ], - [ - 6.344229, - 49.48037 - ], - [ - 6.435145, - 49.487 - ], - [ - 6.5451, - 49.44384 - ], - [ - 6.606389, - 49.37868 - ], - [ - 6.604972, - 49.33739 - ], - [ - 6.616267, - 49.31869 - ], - [ - 6.670133, - 49.29269 - ], - [ - 6.729955, - 49.22917 - ], - [ - 6.743276, - 49.19086 - ], - [ - 6.760259, - 49.17752 - ], - [ - 6.809042, - 49.17284 - ], - [ - 6.824733, - 49.17826 - ], - [ - 6.830928, - 49.19366 - ], - [ - 6.829819, - 49.21802 - ], - [ - 6.851186, - 49.23136 - ], - [ - 6.884528, - 49.2239 - ], - [ - 6.893221, - 49.22389 - ], - [ - 6.937527, - 49.23369 - ], - [ - 7.040549, - 49.19794 - ], - [ - 7.046296, - 49.17503 - ], - [ - 7.054777, - 49.16313 - ], - [ - 7.069081, - 49.16018 - ], - [ - 7.104945, - 49.16634 - ], - [ - 7.143153, - 49.14159 - ], - [ - 7.153499, - 49.13839 - ], - [ - 7.286827, - 49.13488 - ], - [ - 7.29893, - 49.13856 - ], - [ - 7.360948, - 49.18259 - ], - [ - 7.450116, - 49.19517 - ], - [ - 7.50113, - 49.17672 - ], - [ - 7.543788, - 49.10572 - ], - [ - 7.557903, - 49.09626 - ], - [ - 7.629604, - 49.08527 - ], - [ - 7.647217, - 49.06722 - ], - [ - 7.661197, - 49.06119 - ], - [ - 7.754008, - 49.05963 - ], - [ - 7.760731, - 49.06067 - ], - [ - 7.802913, - 49.07489 - ], - [ - 7.855253, - 49.05329 - ], - [ - 7.867297, - 49.05227 - ], - [ - 7.93826, - 49.06832 - ], - [ - 8.080685, - 49.00688 - ], - [ - 8.222498, - 48.98787 - ], - [ - 8.23704, - 48.97683 - ], - [ - 8.235894, - 48.95817 - ], - [ - 8.208878, - 48.94863 - ], - [ - 8.200888, - 48.94339 - ], - [ - 8.158243, - 48.89753 - ], - [ - 8.100873, - 48.7993 - ], - [ - 7.990709, - 48.74478 - ], - [ - 7.985341, - 48.7409 - ], - [ - 7.904217, - 48.65865 - ], - [ - 7.856051, - 48.63606 - ], - [ - 7.848405, - 48.62977 - ], - [ - 7.818424, - 48.58883 - ], - [ - 7.81456, - 48.57704 - ], - [ - 7.814491, - 48.50968 - ], - [ - 7.785465, - 48.48337 - ], - [ - 7.780554, - 48.47652 - ], - [ - 7.745059, - 48.39484 - ], - [ - 7.743573, - 48.38427 - ], - [ - 7.751593, - 48.32322 - ], - [ - 7.71085, - 48.29841 - ], - [ - 7.702411, - 48.28803 - ], - [ - 7.676613, - 48.21555 - ], - [ - 7.596051, - 48.11698 - ], - [ - 7.591652, - 48.10648 - ], - [ - 7.585216, - 48.04694 - ], - [ - 7.591268, - 48.03035 - ], - [ - 7.624373, - 47.99865 - ], - [ - 7.632049, - 47.97081 - ], - [ - 7.575545, - 47.87436 - ], - [ - 7.572802, - 47.86435 - ], - [ - 7.572673, - 47.83631 - ], - [ - 7.545808, - 47.78793 - ], - [ - 7.544185, - 47.77232 - ], - [ - 7.557581, - 47.72899 - ], - [ - 7.535257, - 47.6989 - ], - [ - 7.531364, - 47.68564 - ], - [ - 7.536998, - 47.67302 - ], - [ - 7.600164, - 47.60822 - ], - [ - 7.589675, - 47.56755 - ], - [ - 7.554237, - 47.55128 - ], - [ - 7.54511, - 47.54283 - ], - [ - 7.512557, - 47.48439 - ], - [ - 7.387471, - 47.42111 - ], - [ - 7.326527, - 47.4273 - ], - [ - 7.244354, - 47.40939 - ], - [ - 7.167083, - 47.4335 - ], - [ - 7.152115, - 47.47612 - ], - [ - 7.14279, - 47.48707 - ], - [ - 7.128529, - 47.48893 - ], - [ - 7.080105, - 47.47718 - ], - [ - 7.035575, - 47.48695 - ], - [ - 7.021019, - 47.48458 - ], - [ - 7.012048, - 47.47287 - ], - [ - 7.002995, - 47.44095 - ], - [ - 6.955099, - 47.40808 - ], - [ - 6.947157, - 47.39698 - ], - [ - 6.94818, - 47.38337 - ], - [ - 6.957691, - 47.37359 - ], - [ - 6.971263, - 47.37218 - ], - [ - 7.018004, - 47.38386 - ], - [ - 7.05623, - 47.37035 - ], - [ - 7.070073, - 47.35005 - ], - [ - 7.05958, - 47.32257 - ], - [ - 6.974243, - 47.27856 - ], - [ - 6.963469, - 47.26233 - ], - [ - 6.961339, - 47.23479 - ], - [ - 6.89443, - 47.19393 - ], - [ - 6.889128, - 47.18922 - ], - [ - 6.855453, - 47.14636 - ], - [ - 6.769073, - 47.10751 - ], - [ - 6.760108, - 47.09953 - ], - [ - 6.725613, - 47.0418 - ], - [ - 6.623551, - 46.9811 - ], - [ - 6.481204, - 46.9445 - ], - [ - 6.46892, - 46.93522 - ], - [ - 6.466862, - 46.91997 - ], - [ - 6.475476, - 46.88771 - ], - [ - 6.453496, - 46.8239 - ], - [ - 6.45644, - 46.80534 - ], - [ - 6.467224, - 46.79104 - ], - [ - 6.460984, - 46.76887 - ], - [ - 6.15817, - 46.59343 - ], - [ - 6.148724, - 46.58069 - ], - [ - 6.15152, - 46.56508 - ], - [ - 6.165489, - 46.54399 - ], - [ - 6.158111, - 46.52456 - ], - [ - 6.101739, - 46.46979 - ], - [ - 6.095717, - 46.45418 - ], - [ - 6.097044, - 46.43317 - ], - [ - 6.108289, - 46.41643 - ], - [ - 6.166216, - 46.38839 - ], - [ - 6.178173, - 46.36922 - ], - [ - 6.137482, - 46.31297 - ], - [ - 6.133713, - 46.30227 - ], - [ - 6.130383, - 46.23737 - ], - [ - 6.110298, - 46.22344 - ], - [ - 6.088648, - 46.23081 - ], - [ - 6.077173, - 46.23123 - ], - [ - 6.018573, - 46.21601 - ], - [ - 6.006813, - 46.20752 - ], - [ - 6.003882, - 46.19332 - ], - [ - 6.007866, - 46.16977 - ], - [ - 6.017834, - 46.15564 - ], - [ - 6.03509, - 46.15456 - ], - [ - 6.055639, - 46.16288 - ], - [ - 6.124683, - 46.15415 - ], - [ - 6.137776, - 46.15702 - ], - [ - 6.240258, - 46.22094 - ], - [ - 6.249058, - 46.23299 - ], - [ - 6.247073, - 46.24777 - ], - [ - 6.21148, - 46.31057 - ], - [ - 6.212186, - 46.32485 - ], - [ - 6.239462, - 46.36705 - ], - [ - 6.316478, - 46.41557 - ], - [ - 6.410826, - 46.42495 - ], - [ - 6.417483, - 46.42682 - ], - [ - 6.504978, - 46.46871 - ], - [ - 6.630473, - 46.47435 - ], - [ - 6.746646, - 46.45695 - ], - [ - 6.822442, - 46.42925 - ], - [ - 6.818324, - 46.38181 - ], - [ - 6.804843, - 46.36179 - ], - [ - 6.801885, - 46.34639 - ], - [ - 6.810949, - 46.33359 - ], - [ - 6.864911, - 46.30038 - ], - [ - 6.875036, - 46.28007 - ], - [ - 6.860917, - 46.2439 - ], - [ - 6.826978, - 46.21188 - ], - [ - 6.820746, - 46.19862 - ], - [ - 6.818627, - 46.16592 - ], - [ - 6.822593, - 46.15261 - ], - [ - 6.834266, - 46.14509 - ], - [ - 6.903819, - 46.12971 - ], - [ - 6.904911, - 46.09595 - ], - [ - 6.909323, - 46.08406 - ], - [ - 6.920006, - 46.07721 - ], - [ - 6.948976, - 46.0699 - ], - [ - 7.015561, - 46.00883 - ], - [ - 7.051911, - 45.93066 - ], - [ - 7.045335, - 45.92217 - ], - [ - 7.044967, - 45.92064 - ], - [ - 7.043936, - 45.92036 - ], - [ - 6.995822, - 45.85822 - ], - [ - 6.940965, - 45.83551 - ], - [ - 6.843757, - 45.82387 - ], - [ - 6.831016, - 45.81711 - ], - [ - 6.826141, - 45.80353 - ], - [ - 6.82787, - 45.73217 - ], - [ - 6.83174, - 45.72082 - ], - [ - 6.841405, - 45.71373 - ], - [ - 6.907294, - 45.69124 - ], - [ - 6.92419, - 45.66935 - ], - [ - 6.942468, - 45.66172 - ], - [ - 6.971313, - 45.66528 - ], - [ - 7.00597, - 45.64945 - ], - [ - 7.011511, - 45.63652 - ], - [ - 6.997797, - 45.60877 - ], - [ - 6.996431, - 45.59465 - ], - [ - 7.015803, - 45.52354 - ], - [ - 7.027743, - 45.5102 - ], - [ - 7.107198, - 45.47877 - ], - [ - 7.122797, - 45.44924 - ], - [ - 7.13304, - 45.44001 - ], - [ - 7.185604, - 45.41894 - ], - [ - 7.19515, - 45.40409 - ], - [ - 7.170749, - 45.35069 - ], - [ - 7.142319, - 45.32298 - ], - [ - 7.136488, - 45.30576 - ], - [ - 7.14458, - 45.25048 - ], - [ - 7.084166, - 45.20279 - ], - [ - 6.992792, - 45.19823 - ], - [ - 6.981064, - 45.19368 - ], - [ - 6.900091, - 45.12689 - ], - [ - 6.85843, - 45.11699 - ], - [ - 6.782826, - 45.14228 - ], - [ - 6.770557, - 45.14242 - ], - [ - 6.677507, - 45.11356 - ], - [ - 6.665295, - 45.10289 - ], - [ - 6.665008, - 45.08667 - ], - [ - 6.68237, - 45.04558 - ], - [ - 6.696016, - 45.03395 - ], - [ - 6.757442, - 45.01884 - ], - [ - 6.783751, - 44.9146 - ], - [ - 6.794195, - 44.90161 - ], - [ - 6.866981, - 44.86519 - ], - [ - 6.879801, - 44.86346 - ], - [ - 6.936325, - 44.87461 - ], - [ - 7.017954, - 44.84402 - ], - [ - 7.034535, - 44.82282 - ], - [ - 7.037114, - 44.75009 - ], - [ - 7.049604, - 44.73226 - ], - [ - 7.072236, - 44.72311 - ], - [ - 7.086508, - 44.6968 - ], - [ - 7.086656, - 44.68085 - ], - [ - 7.07671, - 44.67134 - ], - [ - 6.990071, - 44.67203 - ], - [ - 6.974128, - 44.66431 - ], - [ - 6.970564, - 44.64696 - ], - [ - 6.978189, - 44.61784 - ], - [ - 6.94659, - 44.57124 - ], - [ - 6.882347, - 44.53479 - ], - [ - 6.872327, - 44.5195 - ], - [ - 6.878925, - 44.50245 - ], - [ - 6.958945, - 44.43129 - ], - [ - 6.958723, - 44.42908 - ], - [ - 6.921668, - 44.41436 - ], - [ - 6.912225, - 44.40659 - ], - [ - 6.909075, - 44.39477 - ], - [ - 6.90972, - 44.38195 - ], - [ - 6.91637, - 44.36804 - ], - [ - 6.999091, - 44.29414 - ], - [ - 7.011806, - 44.256 - ], - [ - 7.019835, - 44.24558 - ], - [ - 7.032595, - 44.2424 - ], - [ - 7.073117, - 44.2461 - ], - [ - 7.165097, - 44.22112 - ], - [ - 7.245331, - 44.18544 - ], - [ - 7.260526, - 44.16682 - ], - [ - 7.275371, - 44.15947 - ], - [ - 7.338779, - 44.1574 - ], - [ - 7.362775, - 44.13834 - ], - [ - 7.377763, - 44.13416 - ], - [ - 7.56283, - 44.15792 - ], - [ - 7.5642, - 44.15836 - ], - [ - 7.564785, - 44.15817 - ], - [ - 7.605476, - 44.1634 - ], - [ - 7.616198, - 44.16827 - ], - [ - 7.639891, - 44.18928 - ], - [ - 7.686079, - 44.1861 - ], - [ - 7.69422, - 44.17795 - ], - [ - 7.68937, - 44.13869 - ], - [ - 7.694448, - 44.12276 - ], - [ - 7.727862, - 44.08615 - ], - [ - 7.724032, - 44.05704 - ], - [ - 7.686028, - 44.02371 - ], - [ - 7.680769, - 44.0164 - ], - [ - 7.660161, - 43.9672 - ], - [ - 7.596244, - 43.94466 - ], - [ - 7.584187, - 43.93287 - ], - [ - 7.568576, - 43.89159 - ], - [ - 7.527096, - 43.87434 - ], - [ - 7.516489, - 43.86397 - ], - [ - 7.51594, - 43.84915 - ], - [ - 7.53622, - 43.79234 - ], - [ - 9.8, - 43.1 - ], - [ - 9.63227, - 41.43244 - ], - [ - 9.369681, - 41.35052 - ], - [ - 9.273114, - 41.29196 - ], - [ - 8.941857, - 41.27688 - ], - [ - 5.8, - 41.64 - ], - [ - 3.173576, - 42.41768 - ], - [ - 3.160814, - 42.42757 - ], - [ - 3.094399, - 42.41457 - ], - [ - 3.034016, - 42.45331 - ], - [ - 3.022142, - 42.45645 - ], - [ - 2.878221, - 42.4487 - ], - [ - 2.870188, - 42.44653 - ], - [ - 2.784238, - 42.40256 - ], - [ - 2.741304, - 42.41128 - ], - [ - 2.729276, - 42.40998 - ], - [ - 2.693308, - 42.39417 - ], - [ - 2.683779, - 42.3854 - ], - [ - 2.681621, - 42.37263 - ], - [ - 2.685852, - 42.34679 - ], - [ - 2.66719, - 42.33008 - ], - [ - 2.581057, - 42.34418 - ], - [ - 2.567769, - 42.34173 - ], - [ - 2.533803, - 42.32197 - ], - [ - 2.477948, - 42.32986 - ], - [ - 2.419327, - 42.37658 - ], - [ - 2.41222, - 42.38021 - ], - [ - 2.267193, - 42.42055 - ], - [ - 2.259731, - 42.42117 - ], - [ - 2.206944, - 42.41558 - ], - [ - 2.206525, - 42.41526 - ], - [ - 2.205257, - 42.41541 - ], - [ - 2.160278, - 42.41065 - ], - [ - 2.148808, - 42.40545 - ], - [ - 2.093931, - 42.35474 - ], - [ - 2.008614, - 42.33818 - ], - [ - 1.964998, - 42.36473 - ], - [ - 1.930762, - 42.42442 - ], - [ - 1.920889, - 42.43302 - ], - [ - 1.884665, - 42.44761 - ], - [ - 1.884588, - 42.44762 - ], - [ - 1.884444, - 42.4477 - ], - [ - 1.827736, - 42.47056 - ], - [ - 1.725668, - 42.48452 - ], - [ - 1.715606, - 42.50125 - ], - [ - 1.727195, - 42.56103 - ], - [ - 1.724794, - 42.57499 - ], - [ - 1.710109, - 42.59992 - ], - [ - 1.69377, - 42.60975 - ], - [ - 1.602827, - 42.61382 - ], - [ - 1.560687, - 42.6392 - ], - [ - 1.546365, - 42.64166 - ], - [ - 1.504443, - 42.6331 - ], - [ - 1.492096, - 42.62502 - ], - [ - 1.472384, - 42.59703 - ], - [ - 1.437922, - 42.59264 - ], - [ - 1.419356, - 42.60643 - ], - [ - 1.38032, - 42.67415 - ], - [ - 1.373353, - 42.68127 - ], - [ - 1.333134, - 42.70563 - ], - [ - 1.323642, - 42.7085 - ], - [ - 1.232212, - 42.71248 - ], - [ - 1.165543, - 42.69928 - ], - [ - 1.085465, - 42.76635 - ], - [ - 1.075637, - 42.77079 - ], - [ - 0.9593748, - 42.78852 - ], - [ - 0.9507323, - 42.78794 - ], - [ - 0.9226515, - 42.7797 - ], - [ - 0.8460624, - 42.8157 - ], - [ - 0.7151135, - 42.8464 - ], - [ - 0.7001699, - 42.84402 - ], - [ - 0.6911674, - 42.83186 - ], - [ - 0.6740937, - 42.76479 - ], - [ - 0.6747382, - 42.75286 - ], - [ - 0.6919171, - 42.70684 - ], - [ - 0.6689955, - 42.67901 - ], - [ - 0.4302428, - 42.67863 - ], - [ - 0.3715037, - 42.70308 - ], - [ - 0.3595376, - 42.70415 - ], - [ - 0.3491168, - 42.69817 - ], - [ - 0.3256688, - 42.67274 - ], - [ - 0.2957095, - 42.66388 - ], - [ - 0.2459353, - 42.70175 - ], - [ - 0.2397249, - 42.70494 - ], - [ - 0.189669, - 42.72039 - ], - [ - 0.1791886, - 42.72075 - ], - [ - -0.01993262, - 42.67389 - ], - [ - -0.06725834, - 42.6848 - ], - [ - -0.1694885, - 42.77157 - ], - [ - -0.2998662, - 42.82697 - ], - [ - -0.3168349, - 42.82635 - ], - [ - -0.3920752, - 42.78766 - ], - [ - -0.4435404, - 42.78453 - ], - [ - -0.488418, - 42.80255 - ], - [ - -0.508683, - 42.79935 - ], - [ - -0.5449894, - 42.76906 - ], - [ - -0.5672068, - 42.76937 - ], - [ - -0.6744552, - 42.86392 - ], - [ - -0.6809365, - 42.86775 - ], - [ - -0.7337233, - 42.88666 - ], - [ - -0.747598, - 42.93879 - ], - [ - -0.757105, - 42.95107 - ], - [ - -0.7725328, - 42.95284 - ], - [ - -0.8211401, - 42.93865 - ], - [ - -0.9450847, - 42.94192 - ], - [ - -1.023131, - 42.98206 - ], - [ - -1.108517, - 43.00409 - ], - [ - -1.115597, - 43.00461 - ], - [ - -1.147753, - 43.00124 - ], - [ - -1.158452, - 43.01452 - ], - [ - -1.167362, - 43.02083 - ], - [ - -1.216216, - 43.0381 - ], - [ - -1.226121, - 43.03898 - ], - [ - -1.262362, - 43.03303 - ], - [ - -1.306428, - 43.05531 - ], - [ - -1.319918, - 43.05696 - ], - [ - -1.331346, - 43.0496 - ], - [ - -1.354196, - 43.0197 - ], - [ - -1.438684, - 43.03371 - ], - [ - -1.4775, - 43.06889 - ], - [ - -1.48311, - 43.08561 - ], - [ - -1.476407, - 43.10248 - ], - [ - -1.434786, - 43.13087 - ], - [ - -1.427318, - 43.1404 - ], - [ - -1.394112, - 43.22935 - ], - [ - -1.395313, - 43.24596 - ], - [ - -1.408677, - 43.25591 - ], - [ - -1.526287, - 43.28099 - ], - [ - -1.546257, - 43.2737 - ], - [ - -1.571485, - 43.2412 - ], - [ - -1.610526, - 43.24223 - ], - [ - -1.650003, - 43.29323 - ], - [ - -1.669527, - 43.30065 - ], - [ - -1.733594, - 43.28856 - ], - [ - -1.756061, - 43.31966 - ], - [ - -1.762973, - 43.32565 - ], - [ - -1.791557, - 43.34067 - ], - [ - -1.800991, - 43.37017 - ], - [ - -1.785091, - 43.39037 - ], - [ - -1.783502, - 43.39686 - ], - [ - -2.7, - 43.9 - ] - ] - ], - terms_url: "https://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", - description: "French land registry", - icon: "https://svn.openstreetmap.org/applications/editors/josm/plugins/cadastre-fr/images/cadastre_small.png" - }, - { - id: "lu.geoportail.opendata.cadastre", - name: "Cadastre geoportail.lu", - 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", - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "cajueiro_al", - name: "Cajueiro AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Cajueiro&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.10752645677, - -9.43884254591 - ], - [ - -36.10751572793, - -9.43420690643 - ], - [ - -36.10766593164, - -9.42959237236 - ], - [ - -36.10779467767, - -9.42361243708 - ], - [ - -36.10768738931, - -9.41927295015 - ], - [ - -36.10780540651, - -9.41390672873 - ], - [ - -36.10803071206, - -9.41094309933 - ], - [ - -36.10809508508, - -9.40965179571 - ], - [ - -36.10810581392, - -9.40747138685 - ], - [ - -36.1081594581, - -9.40693157477 - ], - [ - -36.1081916446, - -9.4041795785 - ], - [ - -36.10810581392, - -9.40175568673 - ], - [ - -36.10817018693, - -9.40001978874 - ], - [ - -36.10826674646, - -9.39952230418 - ], - [ - -36.10826674646, - -9.39646328763 - ], - [ - -36.10833111947, - -9.39474853296 - ], - [ - -36.10832039064, - -9.39272680513 - ], - [ - -36.10836330598, - -9.39039809877 - ], - [ - -36.10840622133, - -9.38447041196 - ], - [ - -36.10847059434, - -9.38165472521 - ], - [ - -36.10845986551, - -9.37767461773 - ], - [ - -36.10835257714, - -9.37572688892 - ], - [ - -36.10844913667, - -9.37431901292 - ], - [ - -36.10849205201, - -9.37233950842 - ], - [ - -36.10844913667, - -9.36970368011 - ], - [ - -36.10867444223, - -9.36278056588 - ], - [ - -36.10863152688, - -9.36102330087 - ], - [ - -36.10872808641, - -9.35927661299 - ], - [ - -36.10873881524, - -9.35736053922 - ], - [ - -36.10854569619, - -9.35478811418 - ], - [ - -36.1086958999, - -9.35230035993 - ], - [ - -36.10870662873, - -9.34996079609 - ], - [ - -36.10872808641, - -9.34893392374 - ], - [ - -36.11268702691, - -9.34908213231 - ], - [ - -36.11725751107, - -9.3491244776 - ], - [ - -36.12137738412, - -9.34905037333 - ], - [ - -36.12806144899, - -9.34910330495 - ], - [ - -36.1321705932, - -9.34906095966 - ], - [ - -36.13694492524, - -9.34914565024 - ], - [ - -36.14024940675, - -9.34913506392 - ], - [ - -36.14134374803, - -9.34931503136 - ], - [ - -36.14458385652, - -9.34915623657 - ], - [ - -36.14683691209, - -9.34913506392 - ], - [ - -36.14842477983, - -9.34905037333 - ], - [ - -36.1527592296, - -9.34907154598 - ], - [ - -36.15400377458, - -9.34921975449 - ], - [ - -36.15626755899, - -9.34923034081 - ], - [ - -36.160258686, - -9.34920916817 - ], - [ - -36.16085950082, - -9.34929385872 - ], - [ - -36.16599861329, - -9.34932561767 - ], - [ - -36.16937819665, - -9.34942089451 - ], - [ - -36.17175999826, - -9.34935737662 - ], - [ - -36.17627683824, - -9.34945265345 - ], - [ - -36.18027869409, - -9.34936796294 - ], - [ - -36.1822742576, - -9.34946323976 - ], - [ - -36.18826094812, - -9.34937854925 - ], - [ - -36.19038525766, - -9.34945265345 - ], - [ - -36.19353953546, - -9.34946323976 - ], - [ - -36.19552437013, - -9.3494103082 - ], - [ - -36.19918290323, - -9.34950558501 - ], - [ - -36.19925800508, - -9.35146404706 - ], - [ - -36.19912925904, - -9.35234270483 - ], - [ - -36.19911853021, - -9.35352836 - ], - [ - -36.19919363206, - -9.35646072192 - ], - [ - -36.19921508973, - -9.35770987942 - ], - [ - -36.19930092042, - -9.35832387044 - ], - [ - -36.19933310693, - -9.3611185745 - ], - [ - -36.19921508973, - -9.36177490326 - ], - [ - -36.19918290323, - -9.36257943359 - ], - [ - -36.19931164926, - -9.36399794306 - ], - [ - -36.19925800508, - -9.36499301341 - ], - [ - -36.19921508973, - -9.36562816321 - ], - [ - -36.19927946275, - -9.36660205731 - ], - [ - -36.19917217439, - -9.36795703586 - ], - [ - -36.19917217439, - -9.36867686607 - ], - [ - -36.19921508973, - -9.36911088062 - ], - [ - -36.19911853021, - -9.37016945042 - ], - [ - -36.19887176698, - -9.37149265813 - ], - [ - -36.19886103814, - -9.37263590554 - ], - [ - -36.19902197068, - -9.37321811341 - ], - [ - -36.19915071672, - -9.37503882993 - ], - [ - -36.19910780137, - -9.37688070785 - ], - [ - -36.19895759767, - -9.37747349407 - ], - [ - -36.19898978418, - -9.37914599257 - ], - [ - -36.19917217439, - -9.38053267826 - ], - [ - -36.19919363206, - -9.38124189704 - ], - [ - -36.19925800508, - -9.38174999318 - ], - [ - -36.19927946275, - -9.38302023029 - ], - [ - -36.19912925904, - -9.38374002925 - ], - [ - -36.19907561486, - -9.38592058756 - ], - [ - -36.19878593629, - -9.38786825912 - ], - [ - -36.19880739396, - -9.3893501758 - ], - [ - -36.19902197068, - -9.39091676655 - ], - [ - -36.19904342836, - -9.39199643982 - ], - [ - -36.19898978418, - -9.39347833885 - ], - [ - -36.19879666513, - -9.39450507945 - ], - [ - -36.19866791909, - -9.39704545549 - ], - [ - -36.19845334237, - -9.39949054982 - ], - [ - -36.19863573259, - -9.40313169724 - ], - [ - -36.19865719026, - -9.40476173338 - ], - [ - -36.19864646142, - -9.40836048727 - ], - [ - -36.19875374978, - -9.40901672659 - ], - [ - -36.19857135957, - -9.41058322831 - ], - [ - -36.19859281724, - -9.4127318644 - ], - [ - -36.19874302095, - -9.41445711425 - ], - [ - -36.19867864793, - -9.41711377049 - ], - [ - -36.19860354608, - -9.41901892972 - ], - [ - -36.19846407121, - -9.41965398046 - ], - [ - -36.19849625772, - -9.42235293308 - ], - [ - -36.19871083444, - -9.42428981548 - ], - [ - -36.19858208841, - -9.42696756397 - ], - [ - -36.19839969819, - -9.42894675602 - ], - [ - -36.19857135957, - -9.43412223664 - ], - [ - -36.19871083444, - -9.43470434105 - ], - [ - -36.19864646142, - -9.43595321629 - ], - [ - -36.19857135957, - -9.43626014256 - ], - [ - -36.19859281724, - -9.43667290505 - ], - [ - -36.19876447862, - -9.43748784493 - ], - [ - -36.19889322465, - -9.43905421746 - ], - [ - -36.1988181228, - -9.43995382008 - ], - [ - -36.1784977073, - -9.43977389974 - ], - [ - -36.17717806047, - -9.43967864776 - ], - [ - -36.17265049165, - -9.43966806421 - ], - [ - -36.17098752206, - -9.43971039843 - ], - [ - -36.16396013444, - -9.43962572998 - ], - [ - -36.15386429971, - -9.43949872728 - ], - [ - -36.13983098214, - -9.43929763957 - ], - [ - -36.12874809449, - -9.43912830247 - ], - [ - -36.11497226899, - -9.43891663097 - ], - [ - -36.10752645677, - -9.43884254591 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "osm-cambodia_laos_thailand_vietnam-bilingual", - name: "Cambodia, Laos, Thailand, Vietnam, Malaysia, Myanmar bilingual", - type: "tms", - template: "http://{switch:a,b,c,d}.tile.osm-tools.org/osm/{zoom}/{x}/{y}.png", - scaleExtent: [ - 0, - 20 - ], - polygon: [ - [ - [ - 92.1023798, - 20.8135629 - ], - [ - 93.5690546, - 24.0975527 - ], - [ - 94.1733026, - 23.9269484 - ], - [ - 95.1950312, - 26.707274 - ], - [ - 96.7550898, - 27.5286657 - ], - [ - 97.5845575, - 28.5805966 - ], - [ - 98.738122, - 27.514051 - ], - [ - 98.7436151, - 25.8799151 - ], - [ - 97.6779413, - 24.7577376 - ], - [ - 97.9635858, - 24.042382 - ], - [ - 98.8205194, - 24.1627239 - ], - [ - 99.5236444, - 22.9593356 - ], - [ - 100.3695917, - 21.5051376 - ], - [ - 101.7923212, - 22.4830518 - ], - [ - 105.3628778, - 23.3331079 - ], - [ - 106.8185663, - 22.8480137 - ], - [ - 108.1973505, - 21.3619661 - ], - [ - 107.4389505, - 18.8539792 - ], - [ - 117.1453714, - 7.4656173 - ], - [ - 119.6172953, - 5.2875389 - ], - [ - 118.1231546, - 4.0502277 - ], - [ - 117.2552347, - 4.3624942 - ], - [ - 115.8654642, - 4.3460623 - ], - [ - 115.5084085, - 3.0249771 - ], - [ - 114.552598, - 1.5100953 - ], - [ - 113.5418558, - 1.2574836 - ], - [ - 112.9650736, - 1.5704982 - ], - [ - 112.2454691, - 1.5100953 - ], - [ - 111.67418, - 1.0158321 - ], - [ - 110.4546976, - 0.9004918 - ], - [ - 109.4988871, - 1.9218969 - ], - [ - 103.2256937, - 1.1256762 - ], - [ - 100.4626322, - 3.2388904 - ], - [ - 97.6721048, - 8.0588831 - ], - [ - 93.892808, - 15.9398659 - ], - [ - 92.1023798, - 20.8135629 - ] - ] - ], - terms_url: "http://www.osm-tools.org", - terms_text: "© osm-tools.org & OpenStreetMap contributors, CC-BY-SA" - }, - { - id: "campo_alegre_al", - name: "Campo Alegre AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Campo%20Alegre&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.30642834848, - -9.82332496055 - ], - [ - -36.30602585634, - -9.78597356977 - ], - [ - -36.30602065271, - -9.78263262201 - ], - [ - -36.30608502572, - -9.7816810657 - ], - [ - -36.30604211038, - -9.78081408979 - ], - [ - -36.30590263551, - -9.77530556809 - ], - [ - -36.30585972017, - -9.76496494896 - ], - [ - -36.3054520244, - -9.73335957439 - ], - [ - -36.39633599466, - -9.73248189831 - ], - [ - -36.39627162164, - -9.73744126654 - ], - [ - -36.39635745233, - -9.74336280376 - ], - [ - -36.39644328302, - -9.7553535947 - ], - [ - -36.39660421556, - -9.75855741026 - ], - [ - -36.3966471309, - -9.75979451892 - ], - [ - -36.39655057138, - -9.76243789809 - ], - [ - -36.39661494439, - -9.76489093519 - ], - [ - -36.39658275789, - -9.76647694093 - ], - [ - -36.39661494439, - -9.76683643452 - ], - [ - -36.39659348672, - -9.76959606352 - ], - [ - -36.39670077508, - -9.77896382877 - ], - [ - -36.39675441926, - -9.78464145418 - ], - [ - -36.39684024995, - -9.7906678778 - ], - [ - -36.39692608064, - -9.79681048826 - ], - [ - -36.397033369, - -9.80298470156 - ], - [ - -36.39719430154, - -9.82033320249 - ], - [ - -36.39721575921, - -9.82234180629 - ], - [ - -36.39392200654, - -9.82233123473 - ], - [ - -36.35375324434, - -9.8227858118 - ], - [ - -36.34821716493, - -9.82285981267 - ], - [ - -36.31697479432, - -9.82316638748 - ], - [ - -36.3119107837, - -9.82324038826 - ], - [ - -36.30878869241, - -9.82327210287 - ], - [ - -36.30642834848, - -9.82332496055 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "canaan_drone_red_cross_201712", - name: "Canaan - American Red Cross, Dec-2017", - type: "tms", - template: "https://tiles.openaerialmap.org/5ac65a9f91b5310010e0d489/0/5ac65a9f91b5310010e0d48a/{zoom}/{x}/{y}.png", - endDate: "2017-12-20T00:00:00.000Z", - startDate: "2017-12-11T00:00:00.000Z", - polygon: [ - [ - [ - -72.26733684539795, - 18.63561150166432 - ], - [ - -72.26360321044922, - 18.637299102898723 - ], - [ - -72.26115703582762, - 18.64140620693752 - ], - [ - -72.25982666015625, - 18.645879177561056 - ], - [ - -72.25811004638672, - 18.64742435821355 - ], - [ - -72.24502086639404, - 18.64795296941909 - ], - [ - -72.23433494567871, - 18.648074956386637 - ], - [ - -72.22733974456787, - 18.648196943266544 - ], - [ - -72.2195291519165, - 18.654377497115863 - ], - [ - -72.21609592437743, - 18.654458818692795 - ], - [ - -72.21583843231201, - 18.662224849717205 - ], - [ - -72.21725463867188, - 18.66738845367857 - ], - [ - -72.21888542175293, - 18.67019381039462 - ], - [ - -72.22309112548828, - 18.669583954186887 - ], - [ - -72.22343444824219, - 18.673121089658242 - ], - [ - -72.225022315979, - 18.67320240224967 - ], - [ - -72.22545146942139, - 18.676088973977365 - ], - [ - -72.2328758239746, - 18.675967007152448 - ], - [ - -72.23339080810547, - 18.678772221921143 - ], - [ - -72.23673820495605, - 18.67856894704893 - ], - [ - -72.23854064941406, - 18.679747937913884 - ], - [ - -72.23999977111816, - 18.68129281008022 - ], - [ - -72.2446346282959, - 18.682065240881936 - ], - [ - -72.24682331085205, - 18.681699353046348 - ], - [ - -72.24605083465576, - 18.676983394678427 - ], - [ - -72.25094318389893, - 18.676983394678427 - ], - [ - -72.25510597229004, - 18.679016151445964 - ], - [ - -72.25961208343506, - 18.678975496549533 - ], - [ - -72.26081371307373, - 18.677430603259076 - ], - [ - -72.27038383483887, - 18.677105360771996 - ], - [ - -72.27900981903076, - 18.67682077308383 - ], - [ - -72.28373050689697, - 18.678934841643372 - ], - [ - -72.28613376617432, - 18.681536735976945 - ], - [ - -72.2966480255127, - 18.681780661522538 - ], - [ - -72.30184078216553, - 18.68568342249539 - ], - [ - -72.30119705200195, - 18.688244560524797 - ], - [ - -72.30802059173584, - 18.693244766020335 - ], - [ - -72.30947971343994, - 18.693082160033953 - ], - [ - -72.31698989868164, - 18.69682205821522 - ], - [ - -72.32806205749512, - 18.705277175644323 - ], - [ - -72.33840465545654, - 18.69901717736881 - ], - [ - -72.34012126922607, - 18.696659455664193 - ], - [ - -72.33960628509521, - 18.694261049897648 - ], - [ - -72.33376979827881, - 18.683569438127616 - ], - [ - -72.33134508132935, - 18.681922951261985 - ], - [ - -72.32550859451294, - 18.680926920576777 - ], - [ - -72.32027292251587, - 18.677410275621916 - ], - [ - -72.31626033782959, - 18.67476766203316 - ], - [ - -72.3116683959961, - 18.672003037571464 - ], - [ - -72.30799913406372, - 18.669949868174736 - ], - [ - -72.30533838272095, - 18.669258696645926 - ], - [ - -72.3006820678711, - 18.664989633593734 - ], - [ - -72.29795694351196, - 18.664786342196592 - ], - [ - -72.2960901260376, - 18.661289692031172 - ], - [ - -72.29315042495728, - 18.659988594501545 - ], - [ - -72.2951889038086, - 18.654967077665706 - ], - [ - -72.28413820266724, - 18.649620117055733 - ], - [ - -72.2780442237854, - 18.64522857097433 - ], - [ - -72.27486848831177, - 18.642117823780783 - ], - [ - -72.27351665496826, - 18.640572594843363 - ], - [ - -72.27059841156006, - 18.639007019609803 - ], - [ - -72.26733684539795, - 18.63561150166432 - ] - ] - ], - terms_url: "http://americanredcross.github.io/", - terms_text: "American Red Cross", - description: "Drone imagery collected December 2017 for Canaan, Haiti by American Red Cross in coordination with the Haitian Red Cross." - }, - { - id: "Geneve-SITG-2011", - name: "Canton de Génève 5cm (SITG 2011)", - type: "wms", - template: "https://ge.ch/ags2/services/Orthophotos_2011/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 6.182206, - 46.2261804 - ], - [ - 6.1834782, - 46.227722 - ], - [ - 6.1892864, - 46.2332924 - ], - [ - 6.1919574, - 46.2385834 - ], - [ - 6.1925342, - 46.2423928 - ], - [ - 6.190614, - 46.2439668 - ], - [ - 6.1904559, - 46.2465408 - ], - [ - 6.1925579, - 46.2504535 - ], - [ - 6.1918625, - 46.2526174 - ], - [ - 6.1932454, - 46.2559996 - ], - [ - 6.1928661, - 46.257759 - ], - [ - 6.1954344, - 46.2618129 - ], - [ - 6.1978999, - 46.2645391 - ], - [ - 6.2004523, - 46.2656918 - ], - [ - 6.2091685, - 46.2663364 - ], - [ - 6.2171577, - 46.2738801 - ], - [ - 6.2204608, - 46.2789542 - ], - [ - 6.2275017, - 46.2864907 - ], - [ - 6.2343293, - 46.2895488 - ], - [ - 6.2364313, - 46.2932018 - ], - [ - 6.240738, - 46.297739 - ], - [ - 6.2395843, - 46.3039573 - ], - [ - 6.2412991, - 46.3052948 - ], - [ - 6.2432035, - 46.3045305 - ], - [ - 6.2451317, - 46.3049236 - ], - [ - 6.2462696, - 46.3037171 - ], - [ - 6.2498335, - 46.3026962 - ], - [ - 6.2503156, - 46.3014024 - ], - [ - 6.2493752, - 46.3001795 - ], - [ - 6.2514614, - 46.2964723 - ], - [ - 6.2506316, - 46.2945122 - ], - [ - 6.2522279, - 46.2938242 - ], - [ - 6.2542904, - 46.2906955 - ], - [ - 6.2523069, - 46.2873481 - ], - [ - 6.2503156, - 46.2867966 - ], - [ - 6.2497387, - 46.2857426 - ], - [ - 6.2463644, - 46.2843337 - ], - [ - 6.2432272, - 46.284279 - ], - [ - 6.2398451, - 46.2809804 - ], - [ - 6.2393393, - 46.2762725 - ], - [ - 6.2437172, - 46.2735579 - ], - [ - 6.2511281, - 46.2625819 - ], - [ - 6.2624442, - 46.2553044 - ], - [ - 6.2630131, - 46.2545722 - ], - [ - 6.2620016, - 46.2521461 - ], - [ - 6.2673594, - 46.2488674 - ], - [ - 6.2773162, - 46.2521133 - ], - [ - 6.277253, - 46.2529767 - ], - [ - 6.2831955, - 46.2550312 - ], - [ - 6.2823104, - 46.2556759 - ], - [ - 6.2827846, - 46.2567687 - ], - [ - 6.2886797, - 46.2604621 - ], - [ - 6.2915403, - 46.2643957 - ], - [ - 6.2945748, - 46.2655648 - ], - [ - 6.2972931, - 46.2648874 - ], - [ - 6.2978305, - 46.2630955 - ], - [ - 6.2954124, - 46.2582658 - ], - [ - 6.2966293, - 46.2566048 - ], - [ - 6.302398, - 46.2557961 - ], - [ - 6.3067758, - 46.2575336 - ], - [ - 6.3109956, - 46.2566594 - ], - [ - 6.3076767, - 46.2518401 - ], - [ - 6.3104583, - 46.2505724 - ], - [ - 6.3101106, - 46.2474903 - ], - [ - 6.3115646, - 46.2438616 - ], - [ - 6.2960604, - 46.225012 - ], - [ - 6.2901179, - 46.2224096 - ], - [ - 6.2777271, - 46.2149299 - ], - [ - 6.2670749, - 46.2127645 - ], - [ - 6.2566755, - 46.2092647 - ], - [ - 6.2508911, - 46.2057429 - ], - [ - 6.2507646, - 46.2045616 - ], - [ - 6.2495003, - 46.2040365 - ], - [ - 6.2464342, - 46.2045397 - ], - [ - 6.2425147, - 46.2036427 - ], - [ - 6.23594, - 46.2054147 - ], - [ - 6.2334745, - 46.2050866 - ], - [ - 6.2288912, - 46.2017176 - ], - [ - 6.2232332, - 46.2000549 - ], - [ - 6.2235492, - 46.1988078 - ], - [ - 6.2225694, - 46.1979108 - ], - [ - 6.2193452, - 46.1976483 - ], - [ - 6.2168797, - 46.1944757 - ], - [ - 6.2125941, - 46.1918913 - ], - [ - 6.2072745, - 46.191373 - ], - [ - 6.2058776, - 46.1890752 - ], - [ - 6.2034006, - 46.1880582 - ], - [ - 6.2028159, - 46.1864225 - ], - [ - 6.2003504, - 46.1850438 - ], - [ - 6.1990544, - 46.1829648 - ], - [ - 6.1961543, - 46.1828772 - ], - [ - 6.1885049, - 46.179671 - ], - [ - 6.1875092, - 46.1753867 - ], - [ - 6.1898176, - 46.1658394 - ], - [ - 6.1748034, - 46.1569398 - ], - [ - 6.1687976, - 46.1562391 - ], - [ - 6.1582876, - 46.1519474 - ], - [ - 6.1543365, - 46.151411 - ], - [ - 6.1495161, - 46.1493307 - ], - [ - 6.1480463, - 46.1474803 - ], - [ - 6.148315, - 46.1461882 - ], - [ - 6.1456124, - 46.1441734 - ], - [ - 6.1424357, - 46.144929 - ], - [ - 6.1376785, - 46.1421695 - ], - [ - 6.1369199, - 46.1407131 - ], - [ - 6.1307404, - 46.1394647 - ], - [ - 6.1259832, - 46.1396618 - ], - [ - 6.1201355, - 46.1418082 - ], - [ - 6.1076974, - 46.1420272 - ], - [ - 6.1053741, - 46.1431332 - ], - [ - 6.097456, - 46.1432536 - ], - [ - 6.0915135, - 46.1509511 - ], - [ - 6.0747608, - 46.1479511 - ], - [ - 6.0718843, - 46.1490789 - ], - [ - 6.0529505, - 46.1504584 - ], - [ - 6.0497264, - 46.1468014 - ], - [ - 6.0486201, - 46.1415344 - ], - [ - 6.045712, - 46.1391581 - ], - [ - 6.0428672, - 46.140056 - ], - [ - 6.040133, - 46.138939 - ], - [ - 6.0378256, - 46.1371649 - ], - [ - 6.0364664, - 46.1338137 - ], - [ - 6.0353127, - 46.1334413 - ], - [ - 6.0300024, - 46.1381615 - ], - [ - 6.0207883, - 46.1402422 - ], - [ - 6.016932, - 46.1419067 - ], - [ - 6.0128228, - 46.1411949 - ], - [ - 6.0081447, - 46.1417096 - ], - [ - 6.0036404, - 46.1408773 - ], - [ - 5.9933833, - 46.1431989 - ], - [ - 5.9872827, - 46.1417096 - ], - [ - 5.9846434, - 46.1423228 - ], - [ - 5.9830945, - 46.1371211 - ], - [ - 5.9760299, - 46.131897 - ], - [ - 5.9731377, - 46.1308127 - ], - [ - 5.9703719, - 46.1310756 - ], - [ - 5.9653619, - 46.1288192 - ], - [ - 5.961632, - 46.1297612 - ], - [ - 5.9573016, - 46.1276692 - ], - [ - 5.9557527, - 46.1283592 - ], - [ - 5.9548361, - 46.132138 - ], - [ - 5.9588978, - 46.1355331 - ], - [ - 5.964461, - 46.1373839 - ], - [ - 5.9651722, - 46.1384462 - ], - [ - 5.9631018, - 46.1424104 - ], - [ - 5.9638288, - 46.1465605 - ], - [ - 5.971573, - 46.1558012 - ], - [ - 5.9788431, - 46.1672076 - ], - [ - 5.9802181, - 46.1735447 - ], - [ - 5.983221, - 46.1750659 - ], - [ - 5.9853704, - 46.1747814 - ], - [ - 5.9875356, - 46.1730632 - ], - [ - 5.9902856, - 46.1795528 - ], - [ - 5.9936045, - 46.1820258 - ], - [ - 5.989764, - 46.186917 - ], - [ - 5.9828733, - 46.188219 - ], - [ - 5.9806765, - 46.1903963 - ], - [ - 5.9628173, - 46.196304 - ], - [ - 5.9622484, - 46.1971902 - ], - [ - 5.9646507, - 46.2002203 - ], - [ - 5.9716363, - 46.2030206 - ], - [ - 5.9698504, - 46.2038301 - ], - [ - 5.967938, - 46.2067505 - ], - [ - 5.9722684, - 46.2141766 - ], - [ - 5.9736434, - 46.2156311 - ], - [ - 5.9789696, - 46.2182119 - ], - [ - 6.0085714, - 46.2444351 - ], - [ - 6.0142164, - 46.2485522 - ], - [ - 6.0659287, - 46.2834493 - ], - [ - 6.1151124, - 46.315115 - ], - [ - 6.125733, - 46.3184334 - ], - [ - 6.1297158, - 46.3156826 - ], - [ - 6.129779, - 46.3140671 - ], - [ - 6.1360376, - 46.308958 - ], - [ - 6.1417904, - 46.3055517 - ], - [ - 6.1539283, - 46.3001361 - ], - [ - 6.1715661, - 46.2950695 - ], - [ - 6.17125, - 46.2922302 - ], - [ - 6.1727673, - 46.286289 - ], - [ - 6.1701753, - 46.2853279 - ], - [ - 6.168342, - 46.28109 - ], - [ - 6.1720087, - 46.2755409 - ], - [ - 6.1721983, - 46.2730065 - ], - [ - 6.1691006, - 46.26785 - ], - [ - 6.167457, - 46.2621684 - ], - [ - 6.1653076, - 46.2619499 - ], - [ - 6.1645489, - 46.2627366 - ], - [ - 6.1594283, - 46.2589777 - ], - [ - 6.1553191, - 46.2521587 - ], - [ - 6.1538651, - 46.252115 - ], - [ - 6.1527272, - 46.2503664 - ], - [ - 6.1531065, - 46.2476997 - ], - [ - 6.1549398, - 46.2459072 - ], - [ - 6.152095, - 46.2387805 - ], - [ - 6.1521713, - 46.2327333 - ], - [ - 6.150338, - 46.2265889 - ], - [ - 6.154542, - 46.2219091 - ], - [ - 6.1548264, - 46.2204438 - ], - [ - 6.1529615, - 46.217382 - ], - [ - 6.1540046, - 46.2135544 - ], - [ - 6.1571023, - 46.2109734 - ], - [ - 6.1626339, - 46.2104265 - ], - [ - 6.1638666, - 46.2097047 - ], - [ - 6.1691137, - 46.2119139 - ], - [ - 6.1686712, - 46.2131825 - ], - [ - 6.1707258, - 46.2147792 - ], - [ - 6.1747085, - 46.2160259 - ], - [ - 6.182206, - 46.2261804 - ] - ], - [ - [ - 6.1883445, - 46.3490083 - ], - [ - 6.1869587, - 46.3486226 - ], - [ - 6.1819521, - 46.35015 - ], - [ - 6.1796053, - 46.3520013 - ], - [ - 6.1714248, - 46.3544387 - ], - [ - 6.1702178, - 46.3591128 - ], - [ - 6.1741516, - 46.3603622 - ], - [ - 6.1727212, - 46.3618892 - ], - [ - 6.1734811, - 46.3628764 - ], - [ - 6.1799852, - 46.3654676 - ], - [ - 6.1876963, - 46.3613185 - ], - [ - 6.1944686, - 46.3617504 - ], - [ - 6.1990506, - 46.3608558 - ], - [ - 6.2011339, - 46.3563388 - ], - [ - 6.202582, - 46.3556728 - ], - [ - 6.2079112, - 46.3558251 - ], - [ - 6.213743, - 46.3537853 - ], - [ - 6.2124652, - 46.3508462 - ], - [ - 6.2084644, - 46.3466497 - ], - [ - 6.2085985, - 46.3399069 - ], - [ - 6.2065869, - 46.3379163 - ], - [ - 6.2049329, - 46.3386107 - ], - [ - 6.2034801, - 46.3379318 - ], - [ - 6.1918129, - 46.3433324 - ], - [ - 6.1931763, - 46.3478686 - ], - [ - 6.1907624, - 46.3476988 - ], - [ - 6.1883445, - 46.3490083 - ] - ], - [ - [ - 6.181818, - 46.3428059 - ], - [ - 6.180164, - 46.3431762 - ], - [ - 6.1752021, - 46.3453209 - ], - [ - 6.173414, - 46.3439785 - ], - [ - 6.1732352, - 46.3405377 - ], - [ - 6.1714024, - 46.3395192 - ], - [ - 6.1658818, - 46.3425436 - ], - [ - 6.1656359, - 46.3433922 - ], - [ - 6.1709107, - 46.3505357 - ], - [ - 6.173414, - 46.3502888 - ], - [ - 6.1745763, - 46.3519241 - ], - [ - 6.1758726, - 46.3520476 - ], - [ - 6.1857942, - 46.345934 - ], - [ - 6.181818, - 46.3428059 - ] - ] - ], - terms_url: "http://ge.ch/sitg/donnees/conditions-d-utilisation/open-data", - terms_text: "Orthophotos du SITG 2011" - }, - { - id: "Canvec", - name: "Canvec - English", - type: "wms", - template: "https://maps.geogratis.gc.ca/wms/canvec_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=canvec&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -141.0678, - 60.2442 - ], - [ - -139.3842, - 60.10331 - ], - [ - -137.4746, - 58.82791 - ], - [ - -135.4766, - 59.65971 - ], - [ - -134.399, - 58.86279 - ], - [ - -132.5239, - 57.08342 - ], - [ - -130.1435, - 55.27452 - ], - [ - -130.7734, - 54.75597 - ], - [ - -132.4355, - 54.71514 - ], - [ - -134.5711, - 54.38827 - ], - [ - -141.7761, - 53.58405 - ], - [ - -128.9768, - 46.41459 - ], - [ - -124.8087, - 48.42976 - ], - [ - -123.4286, - 48.17889 - ], - [ - -123.0256, - 48.40444 - ], - [ - -123.1923701, - 48.6550408 - ], - [ - -122.9958159, - 48.5106543 - ], - [ - -122.4868966, - 48.4098005 - ], - [ - -122.3291531, - 48.4527983 - ], - [ - -122.229391, - 48.5064943 - ], - [ - -122.1790836, - 48.5296509 - ], - [ - -122.1841996, - 48.566905 - ], - [ - -121.7783298, - 48.5759321 - ], - [ - -121.6657777, - 48.4279093 - ], - [ - -121.3306793, - 48.3571354 - ], - [ - -121.0271296, - 48.3497692 - ], - [ - -121.0305403, - 48.4940645 - ], - [ - -120.6979999, - 48.5149675 - ], - [ - -120.510413, - 48.8718034 - ], - [ - -119.9757904, - 48.8813368 - ], - [ - -119.9544737, - 48.5149675 - ], - [ - -119.907577, - 48.2942056 - ], - [ - -119.7319275, - 48.1550316 - ], - [ - -119.7438648, - 48.0741943 - ], - [ - -119.622786, - 48.1095051 - ], - [ - -119.602322, - 48.1470674 - ], - [ - -119.2527283, - 48.1624259 - ], - [ - -114.1499, - 48.99487 - ], - [ - -95.12094, - 48.98405 - ], - [ - -95.13419, - 49.35564 - ], - [ - -94.94415, - 49.34356 - ], - [ - -94.8839, - 49.29522 - ], - [ - -94.71704, - 48.87631 - ], - [ - -94.71791, - 48.7485 - ], - [ - -93.83204, - 48.49765 - ], - [ - -93.43778, - 48.53066 - ], - [ - -93.38216, - 48.59507 - ], - [ - -92.98471, - 48.60312 - ], - [ - -92.73847, - 48.50725 - ], - [ - -92.7095, - 48.42081 - ], - [ - -92.54293, - 48.40158 - ], - [ - -92.38361, - 48.20406 - ], - [ - -92.11564, - 48.27641 - ], - [ - -91.58697, - 48.02516 - ], - [ - -91.24658, - 48.05422 - ], - [ - -90.86275, - 48.20889 - ], - [ - -90.78308, - 48.0639 - ], - [ - -90.0774, - 48.07435 - ], - [ - -89.93835, - 47.96584 - ], - [ - -89.75469, - 47.99609 - ], - [ - -89.32745, - 47.93943 - ], - [ - -88.41489, - 48.26677 - ], - [ - -84.9566, - 46.86086 - ], - [ - -84.84795, - 46.6762 - ], - [ - -84.55904, - 46.45441 - ], - [ - -84.47642, - 46.44972 - ], - [ - -84.43758, - 46.48872 - ], - [ - -84.3669, - 46.5055 - ], - [ - -84.34899, - 46.5055 - ], - [ - -84.29026, - 46.49077 - ], - [ - -84.25742, - 46.49386 - ], - [ - -84.22507, - 46.53187 - ], - [ - -84.1962, - 46.53804 - ], - [ - -84.18027, - 46.52468 - ], - [ - -84.15987, - 46.52468 - ], - [ - -84.13449, - 46.52879 - ], - [ - -84.11558, - 46.50653 - ], - [ - -84.15944, - 46.42769 - ], - [ - -84.10024, - 46.20338 - ], - [ - -83.95558, - 46.05132 - ], - [ - -83.8864, - 46.06125 - ], - [ - -83.8203, - 46.11181 - ], - [ - -83.76975, - 46.09563 - ], - [ - -83.67498, - 46.11391 - ], - [ - -83.58084, - 46.09921 - ], - [ - -83.44747, - 45.99521 - ], - [ - -83.60888, - 45.81772 - ], - [ - -82.14271, - 43.57905 - ], - [ - -82.39133, - 43.06666 - ], - [ - -82.41252, - 43.01127 - ], - [ - -82.42522, - 42.99864 - ], - [ - -82.42618, - 42.99374 - ], - [ - -82.42363, - 42.98536 - ], - [ - -82.41503, - 42.97697 - ], - [ - -82.41853, - 42.96578 - ], - [ - -82.43064, - 42.95203 - ], - [ - -82.44911, - 42.93711 - ], - [ - -82.45739, - 42.92568 - ], - [ - -82.46472, - 42.90562 - ], - [ - -82.47228, - 42.8877 - ], - [ - -82.47228, - 42.84743 - ], - [ - -82.48536, - 42.80967 - ], - [ - -82.46844, - 42.76365 - ], - [ - -82.48586, - 42.73697 - ], - [ - -82.49155, - 42.71168 - ], - [ - -82.51488, - 42.66652 - ], - [ - -82.51224, - 42.63893 - ], - [ - -82.52421, - 42.61103 - ], - [ - -82.56854, - 42.58184 - ], - [ - -82.59498, - 42.55148 - ], - [ - -82.61286, - 42.56409 - ], - [ - -82.65158, - 42.55707 - ], - [ - -82.83439, - 42.3763 - ], - [ - -83.01489, - 42.33457 - ], - [ - -83.07244, - 42.31502 - ], - [ - -83.09647, - 42.29542 - ], - [ - -83.12823, - 42.24126 - ], - [ - -83.14167, - 42.18582 - ], - [ - -83.12799, - 42.12172 - ], - [ - -83.16266, - 42.04963 - ], - [ - -83.05136, - 41.70911 - ], - [ - -82.41932, - 41.6377 - ], - [ - -81.22563, - 42.19633 - ], - [ - -80.06688, - 42.37121 - ], - [ - -78.86642, - 42.825 - ], - [ - -78.90301, - 42.92307 - ], - [ - -78.92063, - 42.95234 - ], - [ - -78.93331, - 42.95708 - ], - [ - -78.96058, - 42.9595 - ], - [ - -78.98479, - 42.9761 - ], - [ - -79.01825, - 42.9964 - ], - [ - -79.01969, - 43.01561 - ], - [ - -79.00695, - 43.0333 - ], - [ - -78.99599, - 43.06448 - ], - [ - -79.07335, - 43.07876 - ], - [ - -79.07286, - 43.083 - ], - [ - -79.0652, - 43.0917 - ], - [ - -79.05623, - 43.10825 - ], - [ - -79.05982, - 43.11563 - ], - [ - -79.06764, - 43.11992 - ], - [ - -79.05411, - 43.12801 - ], - [ - -79.04112, - 43.13986 - ], - [ - -79.04465, - 43.16192 - ], - [ - -79.05101, - 43.17037 - ], - [ - -79.04758, - 43.19974 - ], - [ - -79.05511, - 43.25682 - ], - [ - -79.18688, - 43.44858 - ], - [ - -78.68836, - 43.62502 - ], - [ - -76.77647, - 43.61369 - ], - [ - -76.41665, - 44.08498 - ], - [ - -75.49023, - 44.70772 - ], - [ - -75.29544, - 44.82587 - ], - [ - -75.16845, - 44.88548 - ], - [ - -75.1275, - 44.8975 - ], - [ - -75.00499, - 44.95265 - ], - [ - -74.98159, - 44.97728 - ], - [ - -74.90496, - 44.98222 - ], - [ - -74.8313, - 45.01108 - ], - [ - -74.77954, - 45.00158 - ], - [ - -74.74562, - 44.98526 - ], - [ - -74.70475, - 44.99877 - ], - [ - -74.49079, - 44.99343 - ], - [ - -74.23203, - 44.98552 - ], - [ - -73.93713, - 44.99512 - ], - [ - -73.01809, - 45.0121 - ], - [ - -72.63177, - 45.0121 - ], - [ - -72.54779, - 45.00506 - ], - [ - -72.32259, - 45.00286 - ], - [ - -71.49404, - 45.01093 - ], - [ - -71.48648, - 45.06221 - ], - [ - -71.42303, - 45.12765 - ], - [ - -71.43112, - 45.14037 - ], - [ - -71.37175, - 45.22117 - ], - [ - -71.28959, - 45.28578 - ], - [ - -71.23613, - 45.24302 - ], - [ - -71.11683, - 45.22933 - ], - [ - -71.0531, - 45.29866 - ], - [ - -70.98936, - 45.31088 - ], - [ - -70.90246, - 45.22525 - ], - [ - -70.82473, - 45.22714 - ], - [ - -70.77626, - 45.40013 - ], - [ - -70.7119, - 45.3754 - ], - [ - -70.63387, - 45.37346 - ], - [ - -70.60302, - 45.41179 - ], - [ - -70.67659, - 45.56319 - ], - [ - -70.3752, - 45.73075 - ], - [ - -70.36334, - 45.82013 - ], - [ - -70.25417, - 45.87468 - ], - [ - -70.22569, - 45.94403 - ], - [ - -70.27316, - 45.99022 - ], - [ - -70.17586, - 46.33538 - ], - [ - -70.06195, - 46.4107 - ], - [ - -69.98891, - 46.69363 - ], - [ - -69.22424, - 47.44463 - ], - [ - -69.06999, - 47.41092 - ], - [ - -69.07473, - 47.24202 - ], - [ - -68.89684, - 47.17469 - ], - [ - -68.78685, - 47.21493 - ], - [ - -68.72415, - 47.23217 - ], - [ - -68.68583, - 47.24028 - ], - [ - -68.66044, - 47.23183 - ], - [ - -68.62162, - 47.24028 - ], - [ - -68.59425, - 47.24974 - ], - [ - -68.59226, - 47.27001 - ], - [ - -68.57385, - 47.28486 - ], - [ - -68.55941, - 47.2798 - ], - [ - -68.542, - 47.2798 - ], - [ - -68.51214, - 47.29195 - ], - [ - -68.47381, - 47.29229 - ], - [ - -68.46038, - 47.28149 - ], - [ - -68.43898, - 47.27777 - ], - [ - -68.37229, - 47.2825 - ], - [ - -68.3703, - 47.34796 - ], - [ - -68.33173, - 47.35822 - ], - [ - -68.29664, - 47.352 - ], - [ - -68.2399, - 47.34897 - ], - [ - -68.0906, - 47.26798 - ], - [ - -68.00002, - 47.21223 - ], - [ - -67.96344, - 47.19753 - ], - [ - -67.93582, - 47.15947 - ], - [ - -67.88619, - 47.10424 - ], - [ - -67.80218, - 47.06386 - ], - [ - -67.79415, - 45.93923 - ], - [ - -67.82753, - 45.8489 - ], - [ - -67.82753, - 45.6704 - ], - [ - -67.54943, - 45.57445 - ], - [ - -67.45302, - 45.58742 - ], - [ - -67.44189, - 45.52251 - ], - [ - -67.54201, - 45.49393 - ], - [ - -67.4456, - 45.38726 - ], - [ - -67.51605, - 45.29343 - ], - [ - -67.38257, - 45.11839 - ], - [ - -67.3047, - 45.11316 - ], - [ - -67.26762, - 45.18116 - ], - [ - -67.12671, - 45.09484 - ], - [ - -66.94835, - 44.78406 - ], - [ - -66.52283, - 43.61294 - ], - [ - -65.02339, - 42.10691 - ], - [ - -42.53366, - 47.50263 - ], - [ - -75.90901, - 77.3176 - ], - [ - -71.86482, - 78.7359 - ], - [ - -67.20011, - 80.66812 - ], - [ - -66.20727, - 80.78637 - ], - [ - -54.82473, - 83.07464 - ], - [ - -57.62518, - 85.04043 - ], - [ - -106.7949, - 85.04625 - ], - [ - -141.3957, - 79.2514 - ], - [ - -141.0678, - 60.2442 - ] - ] - ] - }, - { - id: "Canvec_French", - name: "Canvec - French", - type: "wms", - template: "https://maps.geogratis.gc.ca/wms/canvec_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=canvec&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -141.0678, - 60.2442 - ], - [ - -139.3842, - 60.10331 - ], - [ - -137.4746, - 58.82791 - ], - [ - -135.4766, - 59.65971 - ], - [ - -134.399, - 58.86279 - ], - [ - -132.5239, - 57.08342 - ], - [ - -130.1435, - 55.27452 - ], - [ - -130.7734, - 54.75597 - ], - [ - -132.4355, - 54.71514 - ], - [ - -134.5711, - 54.38827 - ], - [ - -141.7761, - 53.58405 - ], - [ - -128.9768, - 46.41459 - ], - [ - -124.8087, - 48.42976 - ], - [ - -123.4286, - 48.17889 - ], - [ - -123.0256, - 48.40444 - ], - [ - -123.1923701, - 48.6550408 - ], - [ - -122.9958159, - 48.5106543 - ], - [ - -122.4868966, - 48.4098005 - ], - [ - -122.3291531, - 48.4527983 - ], - [ - -122.229391, - 48.5064943 - ], - [ - -122.1790836, - 48.5296509 - ], - [ - -122.1841996, - 48.566905 - ], - [ - -121.7783298, - 48.5759321 - ], - [ - -121.6657777, - 48.4279093 - ], - [ - -121.3306793, - 48.3571354 - ], - [ - -121.0271296, - 48.3497692 - ], - [ - -121.0305403, - 48.4940645 - ], - [ - -120.6979999, - 48.5149675 - ], - [ - -120.510413, - 48.8718034 - ], - [ - -119.9757904, - 48.8813368 - ], - [ - -119.9544737, - 48.5149675 - ], - [ - -119.907577, - 48.2942056 - ], - [ - -119.7319275, - 48.1550316 - ], - [ - -119.7438648, - 48.0741943 - ], - [ - -119.622786, - 48.1095051 - ], - [ - -119.602322, - 48.1470674 - ], - [ - -119.2527283, - 48.1624259 - ], - [ - -114.1499, - 48.99487 - ], - [ - -95.12094, - 48.98405 - ], - [ - -95.13419, - 49.35564 - ], - [ - -94.94415, - 49.34356 - ], - [ - -94.8839, - 49.29522 - ], - [ - -94.71704, - 48.87631 - ], - [ - -94.71791, - 48.7485 - ], - [ - -93.83204, - 48.49765 - ], - [ - -93.43778, - 48.53066 - ], - [ - -93.38216, - 48.59507 - ], - [ - -92.98471, - 48.60312 - ], - [ - -92.73847, - 48.50725 - ], - [ - -92.7095, - 48.42081 - ], - [ - -92.54293, - 48.40158 - ], - [ - -92.38361, - 48.20406 - ], - [ - -92.11564, - 48.27641 - ], - [ - -91.58697, - 48.02516 - ], - [ - -91.24658, - 48.05422 - ], - [ - -90.86275, - 48.20889 - ], - [ - -90.78308, - 48.0639 - ], - [ - -90.0774, - 48.07435 - ], - [ - -89.93835, - 47.96584 - ], - [ - -89.75469, - 47.99609 - ], - [ - -89.32745, - 47.93943 - ], - [ - -88.41489, - 48.26677 - ], - [ - -84.9566, - 46.86086 - ], - [ - -84.84795, - 46.6762 - ], - [ - -84.55904, - 46.45441 - ], - [ - -84.47642, - 46.44972 - ], - [ - -84.43758, - 46.48872 - ], - [ - -84.3669, - 46.5055 - ], - [ - -84.34899, - 46.5055 - ], - [ - -84.29026, - 46.49077 - ], - [ - -84.25742, - 46.49386 - ], - [ - -84.22507, - 46.53187 - ], - [ - -84.1962, - 46.53804 - ], - [ - -84.18027, - 46.52468 - ], - [ - -84.15987, - 46.52468 - ], - [ - -84.13449, - 46.52879 - ], - [ - -84.11558, - 46.50653 - ], - [ - -84.15944, - 46.42769 - ], - [ - -84.10024, - 46.20338 - ], - [ - -83.95558, - 46.05132 - ], - [ - -83.8864, - 46.06125 - ], - [ - -83.8203, - 46.11181 - ], - [ - -83.76975, - 46.09563 - ], - [ - -83.67498, - 46.11391 - ], - [ - -83.58084, - 46.09921 - ], - [ - -83.44747, - 45.99521 - ], - [ - -83.60888, - 45.81772 - ], - [ - -82.14271, - 43.57905 - ], - [ - -82.39133, - 43.06666 - ], - [ - -82.41252, - 43.01127 - ], - [ - -82.42522, - 42.99864 - ], - [ - -82.42618, - 42.99374 - ], - [ - -82.42363, - 42.98536 - ], - [ - -82.41503, - 42.97697 - ], - [ - -82.41853, - 42.96578 - ], - [ - -82.43064, - 42.95203 - ], - [ - -82.44911, - 42.93711 - ], - [ - -82.45739, - 42.92568 - ], - [ - -82.46472, - 42.90562 - ], - [ - -82.47228, - 42.8877 - ], - [ - -82.47228, - 42.84743 - ], - [ - -82.48536, - 42.80967 - ], - [ - -82.46844, - 42.76365 - ], - [ - -82.48586, - 42.73697 - ], - [ - -82.49155, - 42.71168 - ], - [ - -82.51488, - 42.66652 - ], - [ - -82.51224, - 42.63893 - ], - [ - -82.52421, - 42.61103 - ], - [ - -82.56854, - 42.58184 - ], - [ - -82.59498, - 42.55148 - ], - [ - -82.61286, - 42.56409 - ], - [ - -82.65158, - 42.55707 - ], - [ - -82.83439, - 42.3763 - ], - [ - -83.01489, - 42.33457 - ], - [ - -83.07244, - 42.31502 - ], - [ - -83.09647, - 42.29542 - ], - [ - -83.12823, - 42.24126 - ], - [ - -83.14167, - 42.18582 - ], - [ - -83.12799, - 42.12172 - ], - [ - -83.16266, - 42.04963 - ], - [ - -83.05136, - 41.70911 - ], - [ - -82.41932, - 41.6377 - ], - [ - -81.22563, - 42.19633 - ], - [ - -80.06688, - 42.37121 - ], - [ - -78.86642, - 42.825 - ], - [ - -78.90301, - 42.92307 - ], - [ - -78.92063, - 42.95234 - ], - [ - -78.93331, - 42.95708 - ], - [ - -78.96058, - 42.9595 - ], - [ - -78.98479, - 42.9761 - ], - [ - -79.01825, - 42.9964 - ], - [ - -79.01969, - 43.01561 - ], - [ - -79.00695, - 43.0333 - ], - [ - -78.99599, - 43.06448 - ], - [ - -79.07335, - 43.07876 - ], - [ - -79.07286, - 43.083 - ], - [ - -79.0652, - 43.0917 - ], - [ - -79.05623, - 43.10825 - ], - [ - -79.05982, - 43.11563 - ], - [ - -79.06764, - 43.11992 - ], - [ - -79.05411, - 43.12801 - ], - [ - -79.04112, - 43.13986 - ], - [ - -79.04465, - 43.16192 - ], - [ - -79.05101, - 43.17037 - ], - [ - -79.04758, - 43.19974 - ], - [ - -79.05511, - 43.25682 - ], - [ - -79.18688, - 43.44858 - ], - [ - -78.68836, - 43.62502 - ], - [ - -76.77647, - 43.61369 - ], - [ - -76.41665, - 44.08498 - ], - [ - -75.49023, - 44.70772 - ], - [ - -75.29544, - 44.82587 - ], - [ - -75.16845, - 44.88548 - ], - [ - -75.1275, - 44.8975 - ], - [ - -75.00499, - 44.95265 - ], - [ - -74.98159, - 44.97728 - ], - [ - -74.90496, - 44.98222 - ], - [ - -74.8313, - 45.01108 - ], - [ - -74.77954, - 45.00158 - ], - [ - -74.74562, - 44.98526 - ], - [ - -74.70475, - 44.99877 - ], - [ - -74.49079, - 44.99343 - ], - [ - -74.23203, - 44.98552 - ], - [ - -73.93713, - 44.99512 - ], - [ - -73.01809, - 45.0121 - ], - [ - -72.63177, - 45.0121 - ], - [ - -72.54779, - 45.00506 - ], - [ - -72.32259, - 45.00286 - ], - [ - -71.49404, - 45.01093 - ], - [ - -71.48648, - 45.06221 - ], - [ - -71.42303, - 45.12765 - ], - [ - -71.43112, - 45.14037 - ], - [ - -71.37175, - 45.22117 - ], - [ - -71.28959, - 45.28578 - ], - [ - -71.23613, - 45.24302 - ], - [ - -71.11683, - 45.22933 - ], - [ - -71.0531, - 45.29866 - ], - [ - -70.98936, - 45.31088 - ], - [ - -70.90246, - 45.22525 - ], - [ - -70.82473, - 45.22714 - ], - [ - -70.77626, - 45.40013 - ], - [ - -70.7119, - 45.3754 - ], - [ - -70.63387, - 45.37346 - ], - [ - -70.60302, - 45.41179 - ], - [ - -70.67659, - 45.56319 - ], - [ - -70.3752, - 45.73075 - ], - [ - -70.36334, - 45.82013 - ], - [ - -70.25417, - 45.87468 - ], - [ - -70.22569, - 45.94403 - ], - [ - -70.27316, - 45.99022 - ], - [ - -70.17586, - 46.33538 - ], - [ - -70.06195, - 46.4107 - ], - [ - -69.98891, - 46.69363 - ], - [ - -69.22424, - 47.44463 - ], - [ - -69.06999, - 47.41092 - ], - [ - -69.07473, - 47.24202 - ], - [ - -68.89684, - 47.17469 - ], - [ - -68.78685, - 47.21493 - ], - [ - -68.72415, - 47.23217 - ], - [ - -68.68583, - 47.24028 - ], - [ - -68.66044, - 47.23183 - ], - [ - -68.62162, - 47.24028 - ], - [ - -68.59425, - 47.24974 - ], - [ - -68.59226, - 47.27001 - ], - [ - -68.57385, - 47.28486 - ], - [ - -68.55941, - 47.2798 - ], - [ - -68.542, - 47.2798 - ], - [ - -68.51214, - 47.29195 - ], - [ - -68.47381, - 47.29229 - ], - [ - -68.46038, - 47.28149 - ], - [ - -68.43898, - 47.27777 - ], - [ - -68.37229, - 47.2825 - ], - [ - -68.3703, - 47.34796 - ], - [ - -68.33173, - 47.35822 - ], - [ - -68.29664, - 47.352 - ], - [ - -68.2399, - 47.34897 - ], - [ - -68.0906, - 47.26798 - ], - [ - -68.00002, - 47.21223 - ], - [ - -67.96344, - 47.19753 - ], - [ - -67.93582, - 47.15947 - ], - [ - -67.88619, - 47.10424 - ], - [ - -67.80218, - 47.06386 - ], - [ - -67.79415, - 45.93923 - ], - [ - -67.82753, - 45.8489 - ], - [ - -67.82753, - 45.6704 - ], - [ - -67.54943, - 45.57445 - ], - [ - -67.45302, - 45.58742 - ], - [ - -67.44189, - 45.52251 - ], - [ - -67.54201, - 45.49393 - ], - [ - -67.4456, - 45.38726 - ], - [ - -67.51605, - 45.29343 - ], - [ - -67.38257, - 45.11839 - ], - [ - -67.3047, - 45.11316 - ], - [ - -67.26762, - 45.18116 - ], - [ - -67.12671, - 45.09484 - ], - [ - -66.94835, - 44.78406 - ], - [ - -66.52283, - 43.61294 - ], - [ - -65.02339, - 42.10691 - ], - [ - -42.53366, - 47.50263 - ], - [ - -75.90901, - 77.3176 - ], - [ - -71.86482, - 78.7359 - ], - [ - -67.20011, - 80.66812 - ], - [ - -66.20727, - 80.78637 - ], - [ - -54.82473, - 83.07464 - ], - [ - -57.62518, - 85.04043 - ], - [ - -106.7949, - 85.04625 - ], - [ - -141.3957, - 79.2514 - ], - [ - -141.0678, - 60.2442 - ] - ] - ] - }, - { - id: "capela_al", - name: "Capela AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Capela&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.03320780938, - -9.4574082918 - ], - [ - -36.03321853822, - -9.45581025359 - ], - [ - -36.03335801309, - -9.45482602768 - ], - [ - -36.03340092843, - -9.45291048318 - ], - [ - -36.0332721824, - -9.45140767284 - ], - [ - -36.03335801309, - -9.44286692894 - ], - [ - -36.03349748796, - -9.43821017639 - ], - [ - -36.03352967447, - -9.42881181147 - ], - [ - -36.03362623399, - -9.42027050777 - ], - [ - -36.03389445489, - -9.41091399212 - ], - [ - -36.03389445489, - -9.40031880838 - ], - [ - -36.03401247209, - -9.38880239663 - ], - [ - -36.03413048928, - -9.38527753599 - ], - [ - -36.03428069299, - -9.38265239127 - ], - [ - -36.03417340463, - -9.37849234301 - ], - [ - -36.03444162553, - -9.3668799342 - ], - [ - -36.05245534127, - -9.36710223556 - ], - [ - -36.05790558999, - -9.36711282133 - ], - [ - -36.0715955848, - -9.36727160792 - ], - [ - -36.08621898835, - -9.367313951 - ], - [ - -36.10299888795, - -9.36750449479 - ], - [ - -36.11651722139, - -9.36754683784 - ], - [ - -36.12515393441, - -9.36768445271 - ], - [ - -36.12521830743, - -9.37473449571 - ], - [ - -36.12520757859, - -9.37721150385 - ], - [ - -36.12511101907, - -9.38037654408 - ], - [ - -36.12514320558, - -9.38528812121 - ], - [ - -36.12504664605, - -9.39026313917 - ], - [ - -36.12503591722, - -9.39477234906 - ], - [ - -36.12505737489, - -9.40171599404 - ], - [ - -36.12499300187, - -9.40382234661 - ], - [ - -36.12479988282, - -9.40678603705 - ], - [ - -36.12462822145, - -9.41123152509 - ], - [ - -36.12473550981, - -9.41360242867 - ], - [ - -36.12456384843, - -9.41630142857 - ], - [ - -36.1245853061, - -9.42460998216 - ], - [ - -36.12466040796, - -9.42690670628 - ], - [ - -36.12464967912, - -9.42924575062 - ], - [ - -36.12457457727, - -9.42970085695 - ], - [ - -36.12463895028, - -9.4353843436 - ], - [ - -36.12438145822, - -9.44108890357 - ], - [ - -36.12445656007, - -9.44387235589 - ], - [ - -36.12452093309, - -9.44578795069 - ], - [ - -36.12438145822, - -9.4473648688 - ], - [ - -36.12447801774, - -9.44856078174 - ], - [ - -36.12447801774, - -9.45095259517 - ], - [ - -36.12436000055, - -9.45391588079 - ], - [ - -36.12433854287, - -9.45790569291 - ], - [ - -36.11757937616, - -9.45783161194 - ], - [ - -36.10889974778, - -9.45777869695 - ], - [ - -36.10418978875, - -9.45779986294 - ], - [ - -36.10116425699, - -9.45772578195 - ], - [ - -36.09529558366, - -9.45772578195 - ], - [ - -36.08460966295, - -9.45767286695 - ], - [ - -36.07361260598, - -9.45756703691 - ], - [ - -36.05726185983, - -9.4574082918 - ], - [ - -36.04816380685, - -9.45747178985 - ], - [ - -36.04176942056, - -9.45738712578 - ], - [ - -36.03767100518, - -9.45738712578 - ], - [ - -36.03320780938, - -9.4574082918 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "Cartoriviera-2012", - name: "Cartoriviera - Orthophoto 2012", - type: "tms", - template: "http://osmdata.asitvd.ch/tiles/cartoriviera2012/{zoom}/{x}/{y}.png", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - scaleExtent: [ - 14, - 20 - ], - polygon: [ - [ - [ - 7.0223485, - 46.428558 - ], - [ - 7.0224002, - 46.4204487 - ], - [ - 7.0217584, - 46.4195527 - ], - [ - 7.0222539, - 46.4195415 - ], - [ - 7.0216122, - 46.4174862 - ], - [ - 7.0224164, - 46.4174022 - ], - [ - 7.0224245, - 46.4168141 - ], - [ - 7.0211329, - 46.4144283 - ], - [ - 7.0216447, - 46.4125856 - ], - [ - 7.021604, - 46.4118799 - ], - [ - 7.0191751, - 46.4105524 - ], - [ - 7.0189557, - 46.4100427 - ], - [ - 7.0175666, - 46.4082615 - ], - [ - 7.0142603, - 46.406962 - ], - [ - 7.0094754, - 46.4069452 - ], - [ - 7.0095161, - 46.4045084 - ], - [ - 7.0036833, - 46.4015338 - ], - [ - 6.9705244, - 46.4013942 - ], - [ - 6.9705607, - 46.3935365 - ], - [ - 6.9650691, - 46.3833298 - ], - [ - 6.8937941, - 46.382997 - ], - [ - 6.8932656, - 46.3920944 - ], - [ - 6.8968041, - 46.4000018 - ], - [ - 6.8967811, - 46.4009684 - ], - [ - 6.8939549, - 46.4010001 - ], - [ - 6.8976772, - 46.4088811 - ], - [ - 6.8924614, - 46.4138556 - ], - [ - 6.8923695, - 46.4180692 - ], - [ - 6.894897, - 46.4193048 - ], - [ - 6.892852, - 46.419479 - ], - [ - 6.8939549, - 46.423122 - ], - [ - 6.8922546, - 46.4233913 - ], - [ - 6.8921857, - 46.428016 - ], - [ - 6.8874294, - 46.4280001 - ], - [ - 6.8765153, - 46.4316268 - ], - [ - 6.8662445, - 46.4363299 - ], - [ - 6.8400276, - 46.4459092 - ], - [ - 6.8350416, - 46.4493447 - ], - [ - 6.8269996, - 46.4520359 - ], - [ - 6.8269536, - 46.4537931 - ], - [ - 6.819532, - 46.4565474 - ], - [ - 6.8036089, - 46.4599347 - ], - [ - 6.7877547, - 46.4625304 - ], - [ - 6.7869737, - 46.5245979 - ], - [ - 6.8260407, - 46.5247994 - ], - [ - 6.8260866, - 46.5266175 - ], - [ - 6.8390687, - 46.5266965 - ], - [ - 6.8388849, - 46.5500567 - ], - [ - 6.9065755, - 46.5504201 - ], - [ - 6.9119981, - 46.5430086 - ], - [ - 6.9108263, - 46.5398319 - ], - [ - 6.9097923, - 46.5351219 - ], - [ - 6.9093098, - 46.5351693 - ], - [ - 6.9086664, - 46.5337309 - ], - [ - 6.9119521, - 46.5329722 - ], - [ - 6.9133537, - 46.5360386 - ], - [ - 6.9267954, - 46.5336361 - ], - [ - 6.9272319, - 46.5349006 - ], - [ - 6.9371351, - 46.5331144 - ], - [ - 6.9369053, - 46.5327035 - ], - [ - 6.9402829, - 46.5319605 - ], - [ - 6.9416386, - 46.5347741 - ], - [ - 6.9430861, - 46.5345528 - ], - [ - 6.9434538, - 46.5352799 - ], - [ - 6.9564129, - 46.530032 - ], - [ - 6.956321, - 46.5273289 - ], - [ - 6.9511051, - 46.5272498 - ], - [ - 6.9530122, - 46.5261116 - ], - [ - 6.9434078, - 46.5260484 - ], - [ - 6.9434308, - 46.5254634 - ], - [ - 7.0162912, - 46.5256848 - ], - [ - 7.021576, - 46.5221118 - ], - [ - 7.0219571, - 46.4735486 - ], - [ - 7.0709902, - 46.4736751 - ], - [ - 7.0740232, - 46.4719028 - ], - [ - 7.0738322, - 46.4325972 - ], - [ - 7.0594696, - 46.4323285 - ], - [ - 7.0527757, - 46.4287898 - ], - [ - 7.0223485, - 46.428558 - ] - ] - ], - terms_url: "https://map.cartoriviera.ch/?baselayer_ref=orthos_2012_mobile&baselayer_opacity=100", - terms_text: "Cartoriviera" - }, - { - id: "Catastro-Spain", - name: "Catastro Spain", - type: "wms", - template: "http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=Catastro&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -17.8846298, - 28.4460601 - ], - [ - -17.8939535, - 28.5225529 - ], - [ - -18.0212548, - 28.7481927 - ], - [ - -18.0224091, - 28.8038375 - ], - [ - -17.9424017, - 28.8726124 - ], - [ - -17.8911792, - 28.8737099 - ], - [ - -17.8903302, - 28.8515102 - ], - [ - -17.7675902, - 28.8537764 - ], - [ - -17.7669837, - 28.8312183 - ], - [ - -17.7412714, - 28.8319975 - ], - [ - -17.7394926, - 28.7642235 - ], - [ - -17.7139824, - 28.7649677 - ], - [ - -17.7129312, - 28.7303731 - ], - [ - -17.7574427, - 28.6931782 - ], - [ - -17.7570788, - 28.6741254 - ], - [ - -17.7457913, - 28.6743524 - ], - [ - -17.7457266, - 28.6165627 - ], - [ - -17.7519687, - 28.5833675 - ], - [ - -17.7622536, - 28.5591958 - ], - [ - -17.7833086, - 28.541667 - ], - [ - -17.7831575, - 28.4936643 - ], - [ - -17.808611, - 28.4925024 - ], - [ - -17.8060072, - 28.4468974 - ], - [ - -17.8846298, - 28.4460601 - ] - ], - [ - [ - -18.1661033, - 27.7851643 - ], - [ - -18.163494, - 27.6949247 - ], - [ - -18.0889827, - 27.6963366 - ], - [ - -18.0873398, - 27.6738724 - ], - [ - -18.0364092, - 27.6753701 - ], - [ - -18.0350079, - 27.6302571 - ], - [ - -17.9589987, - 27.6323976 - ], - [ - -17.8603269, - 27.7926025 - ], - [ - -17.8630328, - 27.8368793 - ], - [ - -17.8884015, - 27.8364947 - ], - [ - -17.8891263, - 27.8590536 - ], - [ - -17.9906491, - 27.8567467 - ], - [ - -18.0386803, - 27.7655831 - ], - [ - -18.1146412, - 27.7637873 - ], - [ - -18.1154627, - 27.7863613 - ], - [ - -18.1661033, - 27.7851643 - ] - ], - [ - [ - -17.36038, - 28.0639801 - ], - [ - -17.3629657, - 28.1757247 - ], - [ - -17.3375583, - 28.1763688 - ], - [ - -17.3384577, - 28.2213012 - ], - [ - -17.1857883, - 28.2238767 - ], - [ - -17.0820788, - 28.1351849 - ], - [ - -17.0808422, - 28.0679977 - ], - [ - -17.1315446, - 28.0668073 - ], - [ - -17.1563337, - 28.0214628 - ], - [ - -17.2321063, - 28.0203711 - ], - [ - -17.2319938, - 27.9980388 - ], - [ - -17.2576823, - 27.9978403 - ], - [ - -17.257851, - 28.0199741 - ], - [ - -17.3086658, - 28.0192298 - ], - [ - -17.36038, - 28.0639801 - ] - ], - [ - [ - -16.9278171, - 28.3275779 - ], - [ - -16.9286591, - 28.3721879 - ], - [ - -16.8776666, - 28.3729288 - ], - [ - -16.8780707, - 28.3954191 - ], - [ - -16.5214259, - 28.4226146 - ], - [ - -16.4457117, - 28.491135 - ], - [ - -16.4462506, - 28.535972 - ], - [ - -16.4205859, - 28.5362679 - ], - [ - -16.4209227, - 28.5588419 - ], - [ - -16.3443329, - 28.5597589 - ], - [ - -16.3446023, - 28.5822095 - ], - [ - -16.1912541, - 28.5837179 - ], - [ - -16.1916246, - 28.6068435 - ], - [ - -16.1279344, - 28.6078193 - ], - [ - -16.1277997, - 28.5921762 - ], - [ - -16.0995079, - 28.5925015 - ], - [ - -16.0993395, - 28.5163822 - ], - [ - -16.1648148, - 28.5161158 - ], - [ - -16.1647474, - 28.4938583 - ], - [ - -16.2385755, - 28.4484704 - ], - [ - -16.2653516, - 28.4476116 - ], - [ - -16.2658569, - 28.4030038 - ], - [ - -16.3167484, - 28.4017594 - ], - [ - -16.3163105, - 28.380189 - ], - [ - -16.3420763, - 28.3795075 - ], - [ - -16.3408301, - 28.2892963 - ], - [ - -16.415837, - 28.1976134 - ], - [ - -16.415096, - 28.1311312 - ], - [ - -16.5153297, - 28.0164796 - ], - [ - -16.6168433, - 28.01532 - ], - [ - -16.6168096, - 27.9930469 - ], - [ - -16.7184243, - 27.9919168 - ], - [ - -16.7190979, - 28.0371426 - ], - [ - -16.7446952, - 28.0367859 - ], - [ - -16.7453351, - 28.0818146 - ], - [ - -16.7706967, - 28.0816065 - ], - [ - -16.8223966, - 28.1259036 - ], - [ - -16.8231712, - 28.1708652 - ], - [ - -16.8487012, - 28.1707464 - ], - [ - -16.8502842, - 28.260791 - ], - [ - -16.8756457, - 28.2605537 - ], - [ - -16.8760836, - 28.2832162 - ], - [ - -16.9015125, - 28.2827713 - ], - [ - -16.9023882, - 28.3279337 - ], - [ - -16.9278171, - 28.3275779 - ] - ], - [ - [ - -15.8537427, - 27.9008901 - ], - [ - -15.8542032, - 27.9901812 - ], - [ - -15.828953, - 27.9906555 - ], - [ - -15.8291065, - 28.035578 - ], - [ - -15.7782992, - 28.0363232 - ], - [ - -15.7532793, - 28.0814298 - ], - [ - -15.7278756, - 28.0815652 - ], - [ - -15.7282593, - 28.1718567 - ], - [ - -15.4989741, - 28.1728039 - ], - [ - -15.4987438, - 28.1504075 - ], - [ - -15.4497785, - 28.1507459 - ], - [ - -15.4501622, - 28.1961425 - ], - [ - -15.3972827, - 28.1961425 - ], - [ - -15.3964385, - 28.0383554 - ], - [ - -15.3710348, - 28.0380167 - ], - [ - -15.3706511, - 28.0153212 - ], - [ - -15.3457847, - 28.0153212 - ], - [ - -15.3454777, - 27.9254406 - ], - [ - -15.3708046, - 27.9252372 - ], - [ - -15.3705743, - 27.8352137 - ], - [ - -15.395978, - 27.8347387 - ], - [ - -15.4209979, - 27.7879673 - ], - [ - -15.4718052, - 27.7893932 - ], - [ - -15.471882, - 27.7666454 - ], - [ - -15.522766, - 27.7667813 - ], - [ - -15.5477092, - 27.7216112 - ], - [ - -15.6236132, - 27.7213395 - ], - [ - -15.6241504, - 27.741991 - ], - [ - -15.7007451, - 27.7433495 - ], - [ - -15.801669, - 27.8110501 - ], - [ - -15.8537427, - 27.9008901 - ] - ], - [ - [ - -14.5215621, - 28.0467778 - ], - [ - -14.5224358, - 28.1184131 - ], - [ - -14.4157526, - 28.1156076 - ], - [ - -14.2168794, - 28.2278805 - ], - [ - -14.2153651, - 28.33903 - ], - [ - -14.1641672, - 28.4528287 - ], - [ - -14.1115132, - 28.4747955 - ], - [ - -14.0335806, - 28.7226671 - ], - [ - -13.9565217, - 28.7449351 - ], - [ - -13.9561722, - 28.7665857 - ], - [ - -13.8290221, - 28.7664325 - ], - [ - -13.8289639, - 28.7879765 - ], - [ - -13.8000741, - 28.7879255 - ], - [ - -13.8012972, - 28.7189894 - ], - [ - -13.827566, - 28.719347 - ], - [ - -13.8278572, - 28.6517968 - ], - [ - -13.8025786, - 28.651899 - ], - [ - -13.8033941, - 28.5384172 - ], - [ - -13.8288474, - 28.5384684 - ], - [ - -13.8315061, - 28.3970177 - ], - [ - -13.9158189, - 28.2241438 - ], - [ - -13.9856445, - 28.2235696 - ], - [ - -14.0369588, - 28.1795787 - ], - [ - -14.1387139, - 28.1799894 - ], - [ - -14.1386556, - 28.1579103 - ], - [ - -14.2153651, - 28.1578076 - ], - [ - -14.2147244, - 28.1118888 - ], - [ - -14.2913173, - 28.0452356 - ], - [ - -14.3319673, - 28.0368713 - ], - [ - -14.4457846, - 28.0469834 - ], - [ - -14.4466583, - 28.0657961 - ], - [ - -14.4962835, - 28.0682631 - ], - [ - -14.495934, - 28.0458525 - ], - [ - -14.5215621, - 28.0467778 - ] - ], - [ - [ - -13.800662, - 28.8456579 - ], - [ - -13.8009273, - 28.8231121 - ], - [ - -13.775688, - 28.8230539 - ], - [ - -13.69729, - 28.8898184 - ], - [ - -13.69729, - 28.9127744 - ], - [ - -13.6072498, - 28.9117991 - ], - [ - -13.4388551, - 29.0002417 - ], - [ - -13.4374559, - 29.1351289 - ], - [ - -13.4117005, - 29.1349931 - ], - [ - -13.4105556, - 29.2229789 - ], - [ - -13.4592801, - 29.255586 - ], - [ - -13.4597392, - 29.2942023 - ], - [ - -13.5091254, - 29.2945638 - ], - [ - -13.5100581, - 29.3163453 - ], - [ - -13.5635382, - 29.3172941 - ], - [ - -13.5640564, - 29.2713764 - ], - [ - -13.5389228, - 29.2711956 - ], - [ - -13.5389747, - 29.2500375 - ], - [ - -13.5661293, - 29.2501279 - ], - [ - -13.5665956, - 29.2030039 - ], - [ - -13.5156549, - 29.2022349 - ], - [ - -13.5156549, - 29.1820579 - ], - [ - -13.5398038, - 29.1827819 - ], - [ - -13.5408921, - 29.137528 - ], - [ - -13.65782, - 29.1368528 - ], - [ - -13.713222, - 29.0935079 - ], - [ - -13.7663353, - 29.0934533 - ], - [ - -13.8502463, - 29.0165937 - ], - [ - -13.8518224, - 28.983425 - ], - [ - -13.8524443, - 28.914861 - ], - [ - -13.9013122, - 28.89245 - ], - [ - -13.9024005, - 28.8469779 - ], - [ - -13.800662, - 28.8456579 - ] - ], - [ - [ - 1.6479916, - 38.9990693 - ], - [ - 1.7321668, - 38.9993635 - ], - [ - 1.7314703, - 39.0441733 - ], - [ - 1.6489512, - 39.0431944 - ], - [ - 1.6481552, - 39.1276358 - ], - [ - 1.3948608, - 39.1265691 - ], - [ - 1.3954412, - 39.0864199 - ], - [ - 1.2281145, - 39.0852615 - ], - [ - 1.2291095, - 39.0028958 - ], - [ - 1.1448657, - 39.0018003 - ], - [ - 1.1452803, - 38.8319988 - ], - [ - 1.3113632, - 38.8331615 - ], - [ - 1.3121924, - 38.7906483 - ], - [ - 1.3946949, - 38.7916178 - ], - [ - 1.3951924, - 38.7529597 - ], - [ - 1.3112803, - 38.7519251 - ], - [ - 1.3125919, - 38.6238804 - ], - [ - 1.6489036, - 38.6251112 - ], - [ - 1.6480745, - 38.7111504 - ], - [ - 1.58456, - 38.7101152 - ], - [ - 1.5811604, - 38.7005387 - ], - [ - 1.5491544, - 38.7002798 - ], - [ - 1.5197188, - 38.7092094 - ], - [ - 1.50355, - 38.7253185 - ], - [ - 1.4813282, - 38.9155064 - ], - [ - 1.5518906, - 38.9254411 - ], - [ - 1.5667328, - 38.9566554 - ], - [ - 1.6487378, - 38.9583318 - ], - [ - 1.6479916, - 38.9990693 - ] - ], - [ - [ - 2.5450749, - 39.4166673 - ], - [ - 2.43933, - 39.4161122 - ], - [ - 2.438714, - 39.4846853 - ], - [ - 2.439022, - 39.4993424 - ], - [ - 2.3122308, - 39.4993424 - ], - [ - 2.3119228, - 39.5417911 - ], - [ - 2.2290722, - 39.5409994 - ], - [ - 2.2283536, - 39.6260571 - ], - [ - 2.3460076, - 39.6270851 - ], - [ - 2.9270445, - 39.9601558 - ], - [ - 3.1456647, - 39.9600498 - ], - [ - 3.1460753, - 40.0019797 - ], - [ - 3.2313899, - 40.0019797 - ], - [ - 3.2312872, - 39.8329231 - ], - [ - 3.1482313, - 39.8331596 - ], - [ - 3.1484366, - 39.7935717 - ], - [ - 3.4814817, - 39.7931773 - ], - [ - 3.4803472, - 39.5959027 - ], - [ - 3.3150618, - 39.4784606 - ], - [ - 3.3146179, - 39.3785504 - ], - [ - 3.0830178, - 39.2499355 - ], - [ - 2.9798608, - 39.2501482 - ], - [ - 2.9790395, - 39.3334971 - ], - [ - 2.7287424, - 39.3334177 - ], - [ - 2.7288451, - 39.4581361 - ], - [ - 2.6456865, - 39.4577397 - ], - [ - 2.6453785, - 39.4996593 - ], - [ - 2.5452802, - 39.4994216 - ], - [ - 2.5450749, - 39.4166673 - ] - ], - [ - [ - 3.8120402, - 40.0434431 - ], - [ - 3.729082, - 40.0437979 - ], - [ - 3.7286185, - 39.9584155 - ], - [ - 3.8126633, - 39.9576011 - ], - [ - 3.8122771, - 39.9164393 - ], - [ - 3.9608975, - 39.9159813 - ], - [ - 4.1938142, - 39.791308 - ], - [ - 4.3150279, - 39.7905799 - ], - [ - 4.3159934, - 39.8329294 - ], - [ - 4.3987393, - 39.8320396 - ], - [ - 4.3973664, - 39.9185834 - ], - [ - 4.3158003, - 39.9193274 - ], - [ - 4.3161865, - 40.0433985 - ], - [ - 4.2318959, - 40.0443594 - ], - [ - 4.2324752, - 40.0847793 - ], - [ - 4.1491501, - 40.086109 - ], - [ - 4.1490623, - 40.1255157 - ], - [ - 4.0627981, - 40.1272166 - ], - [ - 4.0624217, - 40.0849941 - ], - [ - 3.8128687, - 40.085294 - ], - [ - 3.8120402, - 40.0434431 - ] - ], - [ - [ - -8.8910646, - 41.8228891 - ], - [ - -9.1092038, - 42.5751065 - ], - [ - -9.0365469, - 42.730656 - ], - [ - -9.0883419, - 42.7269569 - ], - [ - -9.1466113, - 42.7750272 - ], - [ - -9.2185488, - 42.9016271 - ], - [ - -9.2760988, - 42.8605106 - ], - [ - -9.3099094, - 42.9311297 - ], - [ - -9.2789763, - 42.9821991 - ], - [ - -9.3099094, - 43.0600377 - ], - [ - -9.2523594, - 43.1041725 - ], - [ - -9.2314975, - 43.1703151 - ], - [ - -9.1473307, - 43.210176 - ], - [ - -9.06748, - 43.1991644 - ], - [ - -9.0336694, - 43.2426748 - ], - [ - -8.99842, - 43.2447709 - ], - [ - -8.9998588, - 43.2955793 - ], - [ - -8.9372732, - 43.3055265 - ], - [ - -8.92936, - 43.326986 - ], - [ - -8.8638969, - 43.3290792 - ], - [ - -8.8761263, - 43.3740655 - ], - [ - -8.8221732, - 43.3735426 - ], - [ - -8.785485, - 43.3191358 - ], - [ - -8.7063538, - 43.305003 - ], - [ - -8.6099575, - 43.3296025 - ], - [ - -8.5509688, - 43.3233227 - ], - [ - -8.5243519, - 43.3364048 - ], - [ - -8.5250713, - 43.3646525 - ], - [ - -8.45745, - 43.3918416 - ], - [ - -8.3610538, - 43.4111803 - ], - [ - -8.3603344, - 43.4634161 - ], - [ - -8.3344369, - 43.5797394 - ], - [ - -8.2776063, - 43.5708796 - ], - [ - -8.0646713, - 43.7239184 - ], - [ - -7.9992081, - 43.7233986 - ], - [ - -7.9171994, - 43.7826357 - ], - [ - -7.8560525, - 43.7914643 - ], - [ - -7.83591, - 43.7374337 - ], - [ - -7.6628443, - 43.809819 - ], - [ - -7.3188932, - 43.6782695 - ], - [ - -7.1997467, - 43.5830817 - ], - [ - -6.2488228, - 43.6075032 - ], - [ - -6.1229322, - 43.5790105 - ], - [ - -5.8520425, - 43.6798953 - ], - [ - -5.6036334, - 43.5708672 - ], - [ - -5.2855347, - 43.5619084 - ], - [ - -5.1787525, - 43.4991591 - ], - [ - -4.9089869, - 43.4836655 - ], - [ - -4.6156167, - 43.4192021 - ], - [ - -4.1839917, - 43.4249168 - ], - [ - -3.8029478, - 43.5195394 - ], - [ - -3.7400025, - 43.4869277 - ], - [ - -3.5612827, - 43.5423572 - ], - [ - -3.1083013, - 43.3816347 - ], - [ - -2.9385737, - 43.4624573 - ], - [ - -2.7452417, - 43.4755094 - ], - [ - -2.3046245, - 43.3170625 - ], - [ - -1.9854018, - 43.3563045 - ], - [ - -1.8552841, - 43.3972545 - ], - [ - -1.769802, - 43.3964383 - ], - [ - -1.7700492, - 43.3760501 - ], - [ - -1.7100474, - 43.3756908 - ], - [ - -1.7113451, - 43.3312527 - ], - [ - -1.7225915, - 43.3131806 - ], - [ - -1.6890375, - 43.3129108 - ], - [ - -1.6881106, - 43.3341294 - ], - [ - -1.6446695, - 43.3337248 - ], - [ - -1.6449785, - 43.3133155 - ], - [ - -1.6029903, - 43.3129528 - ], - [ - -1.6034352, - 43.2926624 - ], - [ - -1.5635905, - 43.2921227 - ], - [ - -1.5630468, - 43.3133844 - ], - [ - -1.4779905, - 43.3128355 - ], - [ - -1.3667723, - 43.2761368 - ], - [ - -1.3568809, - 43.2381533 - ], - [ - -1.3703692, - 43.1712972 - ], - [ - -1.4423067, - 43.0833554 - ], - [ - -1.4198262, - 43.0603647 - ], - [ - -1.3730668, - 43.051166 - ], - [ - -1.3640746, - 43.1115893 - ], - [ - -1.3020285, - 43.135217 - ], - [ - -1.2354864, - 43.1332484 - ], - [ - -1.2795481, - 43.0774443 - ], - [ - -1.1923239, - 43.0649635 - ], - [ - -1.0061856, - 43.0077821 - ], - [ - -0.942341, - 42.9748951 - ], - [ - -0.7562028, - 42.9821318 - ], - [ - -0.7148387, - 42.9610774 - ], - [ - -0.6968543, - 42.9031405 - ], - [ - -0.5511809, - 42.8220693 - ], - [ - -0.5044215, - 42.8484456 - ], - [ - -0.4288871, - 42.8200906 - ], - [ - -0.3164848, - 42.8655842 - ], - [ - -0.1456332, - 42.810856 - ], - [ - -0.0314324, - 42.7124874 - ], - [ - 0.1861785, - 42.7540985 - ], - [ - 0.3021777, - 42.7177729 - ], - [ - 0.3642238, - 42.7428729 - ], - [ - 0.4487504, - 42.7144695 - ], - [ - 0.6276949, - 42.7223973 - ], - [ - 0.6411832, - 42.8576747 - ], - [ - 0.7149192, - 42.882718 - ], - [ - 0.9675996, - 42.8181119 - ], - [ - 1.108777, - 42.7989808 - ], - [ - 1.1753192, - 42.7342872 - ], - [ - 1.3632559, - 42.7415521 - ], - [ - 1.4113736, - 42.7093914 - ], - [ - 1.4806054, - 42.7103407 - ], - [ - 1.4813006, - 42.5010664 - ], - [ - 1.6443591, - 42.5020345 - ], - [ - 1.6432777, - 42.5424539 - ], - [ - 1.730407, - 42.5434214 - ], - [ - 1.7316429, - 42.5011803 - ], - [ - 2.0638621, - 42.5016359 - ], - [ - 2.0645572, - 42.4590247 - ], - [ - 2.3969309, - 42.4599364 - ], - [ - 2.3976786, - 42.4178363 - ], - [ - 2.4804823, - 42.4179732 - ], - [ - 2.4809767, - 42.3759441 - ], - [ - 2.6447922, - 42.3762636 - ], - [ - 2.6444832, - 42.4592447 - ], - [ - 2.8113266, - 42.4596094 - ], - [ - 2.8112648, - 42.5010358 - ], - [ - 3.063878, - 42.5008535 - ], - [ - 3.063878, - 42.4591535 - ], - [ - 3.2307832, - 42.4593359 - ], - [ - 3.2304935, - 42.3764363 - ], - [ - 3.3141469, - 42.3760369 - ], - [ - 3.3141243, - 42.3339864 - ], - [ - 3.397855, - 42.3340435 - ], - [ - 3.3973912, - 42.290094 - ], - [ - 3.3138923, - 42.2908368 - ], - [ - 3.3139695, - 42.2070151 - ], - [ - 3.1475896, - 42.2073012 - ], - [ - 3.1475896, - 42.1260612 - ], - [ - 3.2305478, - 42.1260039 - ], - [ - 3.2466753, - 41.9529359 - ], - [ - 3.1945206, - 41.8558943 - ], - [ - 3.060537, - 41.7647419 - ], - [ - 2.7835777, - 41.6371796 - ], - [ - 2.26293, - 41.4271601 - ], - [ - 2.1649151, - 41.2989297 - ], - [ - 1.86008, - 41.2232228 - ], - [ - 1.3763003, - 41.116273 - ], - [ - 1.1793714, - 41.0464585 - ], - [ - 1.0858526, - 41.048493 - ], - [ - 0.758537, - 40.8195599 - ], - [ - 0.9114042, - 40.733761 - ], - [ - 0.8781331, - 40.6751363 - ], - [ - 0.6650182, - 40.5358666 - ], - [ - 0.5580112, - 40.5502166 - ], - [ - 0.433919, - 40.3757589 - ], - [ - 0.2675635, - 40.1919192 - ], - [ - 0.1641534, - 40.0647234 - ], - [ - 0.0751307, - 40.0144671 - ], - [ - 0.010387, - 39.8952188 - ], - [ - -0.0939224, - 39.8116904 - ], - [ - -0.1847435, - 39.6311716 - ], - [ - -0.2908513, - 39.5036254 - ], - [ - -0.2863552, - 39.333431 - ], - [ - -0.1856427, - 39.1774612 - ], - [ - -0.2135185, - 39.1558487 - ], - [ - -0.1110076, - 38.9722246 - ], - [ - 0.0094878, - 38.8826835 - ], - [ - 0.1218901, - 38.872183 - ], - [ - 0.2342925, - 38.798636 - ], - [ - 0.2558737, - 38.7264162 - ], - [ - 0.0958128, - 38.6133825 - ], - [ - -0.0022021, - 38.6070586 - ], - [ - -0.0570544, - 38.5269073 - ], - [ - -0.2719677, - 38.4762395 - ], - [ - -0.379874, - 38.3931234 - ], - [ - -0.3834708, - 38.3381297 - ], - [ - -0.4509122, - 38.3310763 - ], - [ - -0.5048654, - 38.2830943 - ], - [ - -0.4823849, - 38.1948095 - ], - [ - -0.429331, - 38.1658287 - ], - [ - -0.4545091, - 38.148859 - ], - [ - -0.5839966, - 38.1721913 - ], - [ - -0.6136708, - 38.1198599 - ], - [ - -0.6370505, - 37.9612228 - ], - [ - -0.6811123, - 37.9456238 - ], - [ - -0.7323677, - 37.8810656 - ], - [ - -0.7215771, - 37.7830562 - ], - [ - -0.688306, - 37.7340026 - ], - [ - -0.6641461, - 37.6231485 - ], - [ - -0.7193941, - 37.5878413 - ], - [ - -0.9196258, - 37.5375806 - ], - [ - -1.1107098, - 37.5164093 - ], - [ - -1.3383246, - 37.5286671 - ], - [ - -1.4408917, - 37.3903714 - ], - [ - -1.6766966, - 37.2765189 - ], - [ - -1.8540816, - 36.9122889 - ], - [ - -2.0683486, - 36.6929117 - ], - [ - -2.2158766, - 36.6619233 - ], - [ - -2.3721861, - 36.7801753 - ], - [ - -2.6812926, - 36.6591056 - ], - [ - -2.9201476, - 36.6675585 - ], - [ - -3.09402, - 36.712625 - ], - [ - -3.4610839, - 36.6548788 - ], - [ - -3.7280395, - 36.6929117 - ], - [ - -4.3743529, - 36.6633322 - ], - [ - -4.6571151, - 36.4404171 - ], - [ - -4.9188018, - 36.4531321 - ], - [ - -5.1699508, - 36.3513541 - ], - [ - -5.2841094, - 36.1970201 - ], - [ - -5.2680911, - 36.1241812 - ], - [ - -5.3524784, - 36.1224654 - ], - [ - -5.3516094, - 36.0401413 - ], - [ - -5.4365759, - 36.0388921 - ], - [ - -5.4353207, - 36.0034384 - ], - [ - -5.6888562, - 36.0036518 - ], - [ - -5.6899635, - 36.0405317 - ], - [ - -5.85506, - 36.0385595 - ], - [ - -5.8566821, - 36.1242077 - ], - [ - -5.9384817, - 36.1221487 - ], - [ - -5.9400265, - 36.1655625 - ], - [ - -5.9983445, - 36.1645024 - ], - [ - -6.0357297, - 36.1780957 - ], - [ - -6.0775178, - 36.2224132 - ], - [ - -6.1506113, - 36.2864561 - ], - [ - -6.231541, - 36.3770075 - ], - [ - -6.3358504, - 36.5310643 - ], - [ - -6.3214629, - 36.5816265 - ], - [ - -6.404191, - 36.6234958 - ], - [ - -6.4743301, - 36.7489673 - ], - [ - -6.4158808, - 36.7993866 - ], - [ - -6.490516, - 36.9173818 - ], - [ - -6.6298949, - 37.0194012 - ], - [ - -6.8744824, - 37.1083766 - ], - [ - -7.0426363, - 37.1850699 - ], - [ - -7.2647434, - 37.1843535 - ], - [ - -7.3753473, - 37.1535419 - ], - [ - -7.408316, - 37.1682196 - ], - [ - -7.4202886, - 37.2118318 - ], - [ - -7.4249231, - 37.2350505 - ], - [ - -7.4380543, - 37.2451969 - ], - [ - -7.4459717, - 37.3326142 - ], - [ - -7.4480958, - 37.3909382 - ], - [ - -7.4696271, - 37.4075829 - ], - [ - -7.4647029, - 37.4530494 - ], - [ - -7.5019723, - 37.516411 - ], - [ - -7.5191587, - 37.5229203 - ], - [ - -7.5219588, - 37.5723727 - ], - [ - -7.4501271, - 37.6695835 - ], - [ - -7.4249019, - 37.7599222 - ], - [ - -7.316662, - 37.839974 - ], - [ - -7.268329, - 37.988952 - ], - [ - -7.1536786, - 38.0155235 - ], - [ - -7.1177098, - 38.0553626 - ], - [ - -7.0142997, - 38.0243785 - ], - [ - -6.9963153, - 38.1075633 - ], - [ - -6.9614706, - 38.201254 - ], - [ - -7.080617, - 38.1570753 - ], - [ - -7.3402665, - 38.4402363 - ], - [ - -7.2638329, - 38.7380741 - ], - [ - -7.0435243, - 38.8729667 - ], - [ - -7.0615086, - 38.907962 - ], - [ - -6.9693387, - 39.0198308 - ], - [ - -7.0008114, - 39.0887867 - ], - [ - -7.1536786, - 39.0957658 - ], - [ - -7.1525545, - 39.1602899 - ], - [ - -7.2447245, - 39.1968854 - ], - [ - -7.2559647, - 39.2813308 - ], - [ - -7.3368944, - 39.3535074 - ], - [ - -7.3279022, - 39.4559917 - ], - [ - -7.5144901, - 39.5886496 - ], - [ - -7.5527069, - 39.6795427 - ], - [ - -7.0502684, - 39.6752171 - ], - [ - -6.9951913, - 39.8195433 - ], - [ - -6.9221297, - 39.8790868 - ], - [ - -6.886161, - 40.0229854 - ], - [ - -7.0412762, - 40.1347927 - ], - [ - -7.0176717, - 40.266146 - ], - [ - -6.8086034, - 40.3450071 - ], - [ - -6.8681766, - 40.4451649 - ], - [ - -6.8535643, - 40.6066433 - ], - [ - -6.837828, - 40.8757589 - ], - [ - -6.9536024, - 41.0370445 - ], - [ - -6.8018592, - 41.0395879 - ], - [ - -6.7681385, - 41.138706 - ], - [ - -6.6411239, - 41.2655616 - ], - [ - -6.5624422, - 41.2630269 - ], - [ - -6.217367, - 41.5791017 - ], - [ - -6.3162811, - 41.644652 - ], - [ - -6.5152332, - 41.6412921 - ], - [ - -6.5871707, - 41.6883151 - ], - [ - -6.5478299, - 41.8559743 - ], - [ - -6.6298836, - 41.9112057 - ], - [ - -7.1334461, - 41.9404756 - ], - [ - -7.1682909, - 41.8718791 - ], - [ - -7.4256922, - 41.7847727 - ], - [ - -7.9539833, - 41.8459271 - ], - [ - -8.130455, - 41.7805819 - ], - [ - -8.2518495, - 41.9078597 - ], - [ - -8.1293309, - 42.0348842 - ], - [ - -8.2484774, - 42.1008034 - ], - [ - -8.3676239, - 42.0557521 - ], - [ - -8.6070409, - 42.0340493 - ], - [ - -8.8910646, - 41.8228891 - ] - ] - ] - }, - { - id: "South_Africa-CapeTown-Aerial-2013", - name: "City of Cape Town 2013 Aerial", - type: "tms", - template: "https://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2013/{zoom}/{x}/{y}.jpg", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - scaleExtent: [ - 1, - 21 - ], - polygon: [ - [ - [ - 18.4486565, - -33.893623 - ], - [ - 18.4485868, - -33.902644 - ], - [ - 18.4702, - -33.9027665 - ], - [ - 18.4813902, - -33.8472383 - ], - [ - 18.4492466, - -33.801069 - ], - [ - 18.4281537, - -33.7356408 - ], - [ - 18.43914, - -33.7177232 - ], - [ - 18.4071895, - -33.6589917 - ], - [ - 18.3322379, - -33.5775191 - ], - [ - 18.3324525, - -33.5504487 - ], - [ - 18.353996, - -33.5505918 - ], - [ - 18.3542535, - -33.5236025 - ], - [ - 18.3652398, - -33.5236561 - ], - [ - 18.3650252, - -33.5148009 - ], - [ - 18.3760115, - -33.5147652 - ], - [ - 18.3760545, - -33.5058017 - ], - [ - 18.4296557, - -33.5059449 - ], - [ - 18.4296986, - -33.4878541 - ], - [ - 18.4404919, - -33.4878899 - ], - [ - 18.4405991, - -33.4698849 - ], - [ - 18.4943721, - -33.4700997 - ], - [ - 18.4943292, - -33.4791564 - ], - [ - 18.5158297, - -33.4791743 - ], - [ - 18.5157439, - -33.4881941 - ], - [ - 18.5264727, - -33.4883015 - ], - [ - 18.5263225, - -33.5243538 - ], - [ - 18.5479304, - -33.5244253 - ], - [ - 18.5479519, - -33.5153913 - ], - [ - 18.5693666, - -33.5154987 - ], - [ - 18.5693666, - -33.524479 - ], - [ - 18.5801169, - -33.5245327 - ], - [ - 18.580074, - -33.5425978 - ], - [ - 18.5907814, - -33.5425978 - ], - [ - 18.5907385, - -33.5606413 - ], - [ - 18.5799453, - -33.5605341 - ], - [ - 18.5798809, - -33.569617 - ], - [ - 18.5906956, - -33.569617 - ], - [ - 18.5906526, - -33.5786811 - ], - [ - 18.6230108, - -33.5787347 - ], - [ - 18.622925, - -33.5877264 - ], - [ - 18.6659691, - -33.5878872 - ], - [ - 18.6659262, - -33.614928 - ], - [ - 18.6767194, - -33.6149726 - ], - [ - 18.6765772, - -33.6510279 - ], - [ - 18.687298, - -33.6510167 - ], - [ - 18.6873409, - -33.6600365 - ], - [ - 18.6980697, - -33.6600901 - ], - [ - 18.6980697, - -33.6690733 - ], - [ - 18.7520358, - -33.6692519 - ], - [ - 18.7520787, - -33.6421924 - ], - [ - 18.7736437, - -33.642246 - ], - [ - 18.773708, - -33.6331886 - ], - [ - 18.8274595, - -33.6332958 - ], - [ - 18.8275239, - -33.6603044 - ], - [ - 18.8166663, - -33.6602866 - ], - [ - 18.8166019, - -33.6783233 - ], - [ - 18.8058087, - -33.6783055 - ], - [ - 18.8058087, - -33.7053892 - ], - [ - 18.8273951, - -33.7054428 - ], - [ - 18.8273308, - -33.7234701 - ], - [ - 18.838124, - -33.7234344 - ], - [ - 18.8380381, - -33.7413865 - ], - [ - 18.8165161, - -33.7413687 - ], - [ - 18.8163659, - -33.7955057 - ], - [ - 18.8055941, - -33.7955057 - ], - [ - 18.8055083, - -33.8135675 - ], - [ - 18.794758, - -33.8135497 - ], - [ - 18.7947151, - -33.8315364 - ], - [ - 18.7731072, - -33.8315186 - ], - [ - 18.7731287, - -33.8405194 - ], - [ - 18.7623569, - -33.8405194 - ], - [ - 18.7622711, - -33.903588 - ], - [ - 18.7514564, - -33.9035167 - ], - [ - 18.7510809, - -33.9847823 - ], - [ - 18.7619063, - -33.9848001 - ], - [ - 18.7617776, - -34.0298785 - ], - [ - 18.772603, - -34.0298963 - ], - [ - 18.7725815, - -34.0389073 - ], - [ - 18.7940338, - -34.0389406 - ], - [ - 18.7938756, - -34.0406987 - ], - [ - 18.7984461, - -34.0411855 - ], - [ - 18.8032445, - -34.0411788 - ], - [ - 18.8034055, - -34.0389206 - ], - [ - 18.8159367, - -34.038974 - ], - [ - 18.8163444, - -34.0299318 - ], - [ - 18.8379845, - -34.0316479 - ], - [ - 18.8380006, - -34.030003 - ], - [ - 18.8484183, - -34.0300074 - ], - [ - 18.8484666, - -34.0218491 - ], - [ - 18.859925, - -34.0234675 - ], - [ - 18.8598606, - -34.0210132 - ], - [ - 18.868272, - -34.0220803 - ], - [ - 18.8681862, - -34.0211733 - ], - [ - 18.8854596, - -34.0234319 - ], - [ - 18.8851806, - -34.0213156 - ], - [ - 18.9025184, - -34.021031 - ], - [ - 18.9025828, - -34.0119958 - ], - [ - 18.9134189, - -34.0119958 - ], - [ - 18.9134833, - -33.9939582 - ], - [ - 18.9458844, - -33.9940294 - ], - [ - 18.9458629, - -34.003102 - ], - [ - 18.9674279, - -34.0029953 - ], - [ - 18.9674708, - -34.0120848 - ], - [ - 18.9782211, - -34.0120848 - ], - [ - 18.9783284, - -34.0211377 - ], - [ - 18.9891431, - -34.0211377 - ], - [ - 18.9891645, - -34.039134 - ], - [ - 19.0000167, - -34.0391251 - ], - [ - 19.0000221, - -34.0571798 - ], - [ - 19.0108368, - -34.0572509 - ], - [ - 19.0107939, - -34.0841436 - ], - [ - 19.0000007, - -34.0841258 - ], - [ - 19.0000221, - -34.0931977 - ], - [ - 18.9891538, - -34.0931711 - ], - [ - 18.9891753, - -34.1021976 - ], - [ - 18.9783177, - -34.1021798 - ], - [ - 18.9783177, - -34.111232 - ], - [ - 18.967503, - -34.1112143 - ], - [ - 18.9674923, - -34.1292536 - ], - [ - 18.9566025, - -34.1292358 - ], - [ - 18.9565596, - -34.1382408 - ], - [ - 18.9674172, - -34.1383118 - ], - [ - 18.9674172, - -34.1473157 - ], - [ - 18.9891753, - -34.147298 - ], - [ - 18.9891753, - -34.165303 - ], - [ - 18.9782748, - -34.1652852 - ], - [ - 18.9783177, - -34.1742863 - ], - [ - 18.9674172, - -34.1742685 - ], - [ - 18.9674601, - -34.1833042 - ], - [ - 18.9565596, - -34.1833219 - ], - [ - 18.9565596, - -34.1923565 - ], - [ - 18.9457449, - -34.192321 - ], - [ - 18.945702, - -34.2013192 - ], - [ - 18.9348659, - -34.2013725 - ], - [ - 18.9348873, - -34.2193305 - ], - [ - 18.9023575, - -34.2193482 - ], - [ - 18.9017567, - -34.2362557 - ], - [ - 18.8878414, - -34.2373467 - ], - [ - 18.8894185, - -34.2554123 - ], - [ - 18.8805887, - -34.2553414 - ], - [ - 18.8792744, - -34.2644348 - ], - [ - 18.8696882, - -34.2644126 - ], - [ - 18.8697097, - -34.2734386 - ], - [ - 18.8371369, - -34.2734208 - ], - [ - 18.8371155, - -34.2643771 - ], - [ - 18.848016, - -34.2644037 - ], - [ - 18.8480267, - -34.237391 - ], - [ - 18.8154861, - -34.210281 - ], - [ - 18.8156471, - -34.1741265 - ], - [ - 18.8548824, - -34.1562743 - ], - [ - 18.7617561, - -34.0840547 - ], - [ - 18.6533734, - -34.077479 - ], - [ - 18.4797433, - -34.1101217 - ], - [ - 18.4463713, - -34.1342269 - ], - [ - 18.4444508, - -34.1640868 - ], - [ - 18.4359965, - -34.1640513 - ], - [ - 18.435975, - -34.1820172 - ], - [ - 18.4468111, - -34.182106 - ], - [ - 18.4467253, - -34.1911052 - ], - [ - 18.4659299, - -34.1912117 - ], - [ - 18.4866151, - -34.2453911 - ], - [ - 18.4788904, - -34.2543659 - ], - [ - 18.4860036, - -34.2543748 - ], - [ - 18.4677109, - -34.2994116 - ], - [ - 18.4892222, - -34.3445792 - ], - [ - 18.500112, - -34.3445837 - ], - [ - 18.4999189, - -34.3626174 - ], - [ - 18.467432, - -34.3625111 - ], - [ - 18.4673676, - -34.3534947 - ], - [ - 18.3916005, - -34.3170651 - ], - [ - 18.3917722, - -34.2900161 - ], - [ - 18.3701643, - -34.2808678 - ], - [ - 18.370682, - -34.2178866 - ], - [ - 18.3492324, - -34.1816178 - ], - [ - 18.3274743, - -34.1814936 - ], - [ - 18.3276674, - -34.1634565 - ], - [ - 18.3118746, - -34.1543832 - ], - [ - 18.3114025, - -34.1435331 - ], - [ - 18.3236656, - -34.1346886 - ], - [ - 18.3499297, - -34.1042053 - ], - [ - 18.3393189, - -34.0882843 - ], - [ - 18.3612487, - -34.0597219 - ], - [ - 18.3550474, - -34.0553843 - ], - [ - 18.3427522, - -34.064326 - ], - [ - 18.3199963, - -34.0644326 - ], - [ - 18.296071, - -34.045126 - ], - [ - 18.3068213, - -34.0252637 - ], - [ - 18.3287725, - -34.0191992 - ], - [ - 18.3289227, - -34.001252 - ], - [ - 18.3397374, - -34.0012698 - ], - [ - 18.3398017, - -33.9866282 - ], - [ - 18.3628687, - -33.9735145 - ], - [ - 18.3638129, - -33.9292474 - ], - [ - 18.3726212, - -33.9292741 - ], - [ - 18.3728358, - -33.917763 - ], - [ - 18.3977267, - -33.8933469 - ], - [ - 18.4486565, - -33.893623 - ] - ] - ], - terms_url: "https://www.capetown.gov.za", - terms_text: "City of Cape Town Aerial - OPENSTREETMAP USE ONLY", - description: "OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 12cm ground sample distance" - }, - { - id: "South_Africa-CapeTown-Aerial", - name: "City of Cape Town 2015 Aerial", - type: "tms", - template: "https://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2015/{zoom}/{x}/{y}.jpg", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - scaleExtent: [ - 1, - 21 - ], - polygon: [ - [ - [ - 18.4486565, - -33.893623 - ], - [ - 18.4485868, - -33.902644 - ], - [ - 18.4702, - -33.9027665 - ], - [ - 18.4813902, - -33.8472383 - ], - [ - 18.4492466, - -33.801069 - ], - [ - 18.4281537, - -33.7356408 - ], - [ - 18.43914, - -33.7177232 - ], - [ - 18.4071895, - -33.6589917 - ], - [ - 18.3322379, - -33.5775191 - ], - [ - 18.3324525, - -33.5504487 - ], - [ - 18.353996, - -33.5505918 - ], - [ - 18.3542535, - -33.5236025 - ], - [ - 18.3652398, - -33.5236561 - ], - [ - 18.3650252, - -33.5148009 - ], - [ - 18.3760115, - -33.5147652 - ], - [ - 18.3760545, - -33.5058017 - ], - [ - 18.4296557, - -33.5059449 - ], - [ - 18.4296986, - -33.4878541 - ], - [ - 18.4404919, - -33.4878899 - ], - [ - 18.4405991, - -33.4698849 - ], - [ - 18.4943721, - -33.4700997 - ], - [ - 18.4943292, - -33.4791564 - ], - [ - 18.5158297, - -33.4791743 - ], - [ - 18.5157439, - -33.4881941 - ], - [ - 18.5264727, - -33.4883015 - ], - [ - 18.5263225, - -33.5243538 - ], - [ - 18.5479304, - -33.5244253 - ], - [ - 18.5479519, - -33.5153913 - ], - [ - 18.5693666, - -33.5154987 - ], - [ - 18.5693666, - -33.524479 - ], - [ - 18.5801169, - -33.5245327 - ], - [ - 18.580074, - -33.5425978 - ], - [ - 18.5907814, - -33.5425978 - ], - [ - 18.5907385, - -33.5606413 - ], - [ - 18.5799453, - -33.5605341 - ], - [ - 18.5798809, - -33.569617 - ], - [ - 18.5906956, - -33.569617 - ], - [ - 18.5906526, - -33.5786811 - ], - [ - 18.6230108, - -33.5787347 - ], - [ - 18.622925, - -33.5877264 - ], - [ - 18.6659691, - -33.5878872 - ], - [ - 18.6659262, - -33.614928 - ], - [ - 18.6767194, - -33.6149726 - ], - [ - 18.6765772, - -33.6510279 - ], - [ - 18.687298, - -33.6510167 - ], - [ - 18.6873409, - -33.6600365 - ], - [ - 18.6980697, - -33.6600901 - ], - [ - 18.6980697, - -33.6690733 - ], - [ - 18.7520358, - -33.6692519 - ], - [ - 18.7520787, - -33.6421924 - ], - [ - 18.7736437, - -33.642246 - ], - [ - 18.773708, - -33.6331886 - ], - [ - 18.8274595, - -33.6332958 - ], - [ - 18.8275239, - -33.6603044 - ], - [ - 18.8166663, - -33.6602866 - ], - [ - 18.8166019, - -33.6783233 - ], - [ - 18.8058087, - -33.6783055 - ], - [ - 18.8058087, - -33.7053892 - ], - [ - 18.8273951, - -33.7054428 - ], - [ - 18.8273308, - -33.7234701 - ], - [ - 18.838124, - -33.7234344 - ], - [ - 18.8380381, - -33.7413865 - ], - [ - 18.8165161, - -33.7413687 - ], - [ - 18.8163659, - -33.7955057 - ], - [ - 18.8055941, - -33.7955057 - ], - [ - 18.8055083, - -33.8135675 - ], - [ - 18.794758, - -33.8135497 - ], - [ - 18.7947151, - -33.8315364 - ], - [ - 18.7731072, - -33.8315186 - ], - [ - 18.7731287, - -33.8405194 - ], - [ - 18.7623569, - -33.8405194 - ], - [ - 18.7622711, - -33.903588 - ], - [ - 18.7514564, - -33.9035167 - ], - [ - 18.7510809, - -33.9847823 - ], - [ - 18.7619063, - -33.9848001 - ], - [ - 18.7617776, - -34.0298785 - ], - [ - 18.772603, - -34.0298963 - ], - [ - 18.7725815, - -34.0389073 - ], - [ - 18.7940338, - -34.0389406 - ], - [ - 18.7938756, - -34.0406987 - ], - [ - 18.7984461, - -34.0411855 - ], - [ - 18.8032445, - -34.0411788 - ], - [ - 18.8034055, - -34.0389206 - ], - [ - 18.8159367, - -34.038974 - ], - [ - 18.8163444, - -34.0299318 - ], - [ - 18.8379845, - -34.0316479 - ], - [ - 18.8380006, - -34.030003 - ], - [ - 18.8484183, - -34.0300074 - ], - [ - 18.8484666, - -34.0218491 - ], - [ - 18.859925, - -34.0234675 - ], - [ - 18.8598606, - -34.0210132 - ], - [ - 18.868272, - -34.0220803 - ], - [ - 18.8681862, - -34.0211733 - ], - [ - 18.8854596, - -34.0234319 - ], - [ - 18.8851806, - -34.0213156 - ], - [ - 18.9025184, - -34.021031 - ], - [ - 18.9025828, - -34.0119958 - ], - [ - 18.9134189, - -34.0119958 - ], - [ - 18.9134833, - -33.9939582 - ], - [ - 18.9458844, - -33.9940294 - ], - [ - 18.9458629, - -34.003102 - ], - [ - 18.9674279, - -34.0029953 - ], - [ - 18.9674708, - -34.0120848 - ], - [ - 18.9782211, - -34.0120848 - ], - [ - 18.9783284, - -34.0211377 - ], - [ - 18.9891431, - -34.0211377 - ], - [ - 18.9891645, - -34.039134 - ], - [ - 19.0000167, - -34.0391251 - ], - [ - 19.0000221, - -34.0571798 - ], - [ - 19.0108368, - -34.0572509 - ], - [ - 19.0107939, - -34.0841436 - ], - [ - 19.0000007, - -34.0841258 - ], - [ - 19.0000221, - -34.0931977 - ], - [ - 18.9891538, - -34.0931711 - ], - [ - 18.9891753, - -34.1021976 - ], - [ - 18.9783177, - -34.1021798 - ], - [ - 18.9783177, - -34.111232 - ], - [ - 18.967503, - -34.1112143 - ], - [ - 18.9674923, - -34.1292536 - ], - [ - 18.9566025, - -34.1292358 - ], - [ - 18.9565596, - -34.1382408 - ], - [ - 18.9674172, - -34.1383118 - ], - [ - 18.9674172, - -34.1473157 - ], - [ - 18.9891753, - -34.147298 - ], - [ - 18.9891753, - -34.165303 - ], - [ - 18.9782748, - -34.1652852 - ], - [ - 18.9783177, - -34.1742863 - ], - [ - 18.9674172, - -34.1742685 - ], - [ - 18.9674601, - -34.1833042 - ], - [ - 18.9565596, - -34.1833219 - ], - [ - 18.9565596, - -34.1923565 - ], - [ - 18.9457449, - -34.192321 - ], - [ - 18.945702, - -34.2013192 - ], - [ - 18.9348659, - -34.2013725 - ], - [ - 18.9348873, - -34.2193305 - ], - [ - 18.9023575, - -34.2193482 - ], - [ - 18.9017567, - -34.2362557 - ], - [ - 18.8878414, - -34.2373467 - ], - [ - 18.8894185, - -34.2554123 - ], - [ - 18.8805887, - -34.2553414 - ], - [ - 18.8792744, - -34.2644348 - ], - [ - 18.8696882, - -34.2644126 - ], - [ - 18.8697097, - -34.2734386 - ], - [ - 18.8371369, - -34.2734208 - ], - [ - 18.8371155, - -34.2643771 - ], - [ - 18.848016, - -34.2644037 - ], - [ - 18.8480267, - -34.237391 - ], - [ - 18.8154861, - -34.210281 - ], - [ - 18.8156471, - -34.1741265 - ], - [ - 18.8548824, - -34.1562743 - ], - [ - 18.7617561, - -34.0840547 - ], - [ - 18.6533734, - -34.077479 - ], - [ - 18.4797433, - -34.1101217 - ], - [ - 18.4463713, - -34.1342269 - ], - [ - 18.4444508, - -34.1640868 - ], - [ - 18.4359965, - -34.1640513 - ], - [ - 18.435975, - -34.1820172 - ], - [ - 18.4468111, - -34.182106 - ], - [ - 18.4467253, - -34.1911052 - ], - [ - 18.4659299, - -34.1912117 - ], - [ - 18.4866151, - -34.2453911 - ], - [ - 18.4788904, - -34.2543659 - ], - [ - 18.4860036, - -34.2543748 - ], - [ - 18.4677109, - -34.2994116 - ], - [ - 18.4892222, - -34.3445792 - ], - [ - 18.500112, - -34.3445837 - ], - [ - 18.4999189, - -34.3626174 - ], - [ - 18.467432, - -34.3625111 - ], - [ - 18.4673676, - -34.3534947 - ], - [ - 18.3916005, - -34.3170651 - ], - [ - 18.3917722, - -34.2900161 - ], - [ - 18.3701643, - -34.2808678 - ], - [ - 18.370682, - -34.2178866 - ], - [ - 18.3492324, - -34.1816178 - ], - [ - 18.3274743, - -34.1814936 - ], - [ - 18.3276674, - -34.1634565 - ], - [ - 18.3118746, - -34.1543832 - ], - [ - 18.3114025, - -34.1435331 - ], - [ - 18.3236656, - -34.1346886 - ], - [ - 18.3499297, - -34.1042053 - ], - [ - 18.3393189, - -34.0882843 - ], - [ - 18.3612487, - -34.0597219 - ], - [ - 18.3550474, - -34.0553843 - ], - [ - 18.3427522, - -34.064326 - ], - [ - 18.3199963, - -34.0644326 - ], - [ - 18.296071, - -34.045126 - ], - [ - 18.3068213, - -34.0252637 - ], - [ - 18.3287725, - -34.0191992 - ], - [ - 18.3289227, - -34.001252 - ], - [ - 18.3397374, - -34.0012698 - ], - [ - 18.3398017, - -33.9866282 - ], - [ - 18.3628687, - -33.9735145 - ], - [ - 18.3638129, - -33.9292474 - ], - [ - 18.3726212, - -33.9292741 - ], - [ - 18.3728358, - -33.917763 - ], - [ - 18.3977267, - -33.8933469 - ], - [ - 18.4486565, - -33.893623 - ] - ] - ], - terms_url: "https://www.capetown.gov.za", - terms_text: "City of Cape Town Aerial - OPENSTREETMAP USE ONLY", - best: true, - description: "OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 8cm ground sample distance" - }, - { - id: "Czech_CUZK-KM", - name: "Czech CUZK:KM", - type: "wms", - template: "https://wms.cuzk.cz/wms.asp?service=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&LAYERS=parcelni_cisla_i,obrazy_parcel_i,RST_KMD_I,hranice_parcel_i,DEF_BUDOVY,RST_KN_I,dalsi_p_mapy_i,prehledka_kat_prac,prehledka_kat_uz,prehledka_kraju-linie&FORMAT=image/png&transparent=TRUE&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - 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 - ], - [ - 15.0063684, - 49.0177392 - ] - ] - ], - overlay: true - }, - { - id: "Czech_CUZK-KM-tms", - name: "Czech CUZK:KM tiles proxy", - type: "tms", - template: "https://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 - ], - [ - 15.0063684, - 49.0177392 - ] - ] - ], - overlay: true - }, - { - id: "Czech_RUIAN-budovy", - name: "Czech RUIAN budovy", - type: "tms", - template: "https://tile.poloha.net/budovy/{zoom}/{x}/{y}.png", - scaleExtent: [ - 12, - 20 - ], - 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 - ], - [ - 15.0063684, - 49.0177392 - ] - ] - ], - terms_url: "https://poloha.net/", - terms_text: "Czech RUIAN" - }, - { - id: "Czech_RUIAN-parcely", - name: "Czech RUIAN parcely", - type: "tms", - template: "https://tile.poloha.net/parcely/{zoom}/{x}/{y}.png", - scaleExtent: [ - 12, - 20 - ], - 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 - ], - [ - 15.0063684, - 49.0177392 - ] - ] - ], - terms_url: "https://poloha.net/", - terms_text: "Czech RUIAN" - }, - { - id: "Duna_2013", - name: "Danube flood orthophoto 2013", - type: "tms", - template: "http://e.tile.openstreetmap.hu/dunai-arviz-2013/{zoom}/{x}/{y}.jpg", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - 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", - description: "Riverbank of Danube at Budapest, Szentendre and Szigetmonostor" - }, - { - id: "Delaware2012Orthophotography", - name: "Delaware 2012 Orthophotography", - type: "wms", - template: "https://firstmap.delaware.gov/arcgis/services/DE_Imagery/DE_Imagery_2012/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - polygon: [ - [ - [ - -75.01770587603, - 38.45188674427 - ], - [ - -75.74173524589, - 38.4499581145 - ], - [ - -75.80699639658, - 39.73907123636 - ], - [ - -75.75558784863, - 39.80106251053 - ], - [ - -75.64692187603, - 39.8563815616 - ], - [ - -75.47114773904, - 39.84645578141 - ], - [ - -75.37725787603, - 39.81477822231 - ], - [ - -75.48746302671, - 39.6718115509 - ], - [ - -75.50901151986, - 39.43446011595 - ], - [ - -75.39326532808, - 39.27784018498 - ], - [ - -75.30707135548, - 39.01666513594 - ], - [ - -75.1931721774, - 38.82218696272 - ], - [ - -75.05341480753, - 38.80875503297 - ], - [ - -75.01770587603, - 38.45188674427 - ] - ] - ], - terms_url: "https://firstmap.delaware.gov/arcgis/rest/services/DE_Imagery/DE_Imagery_2012/ImageServer", - terms_text: "Digital Aerial Solutions, LLC", - description: "This data set consists of 0.3-meter pixel resolution (approximately 1-foot), 4-band true color and near infrared (R, G, B, IR) orthoimages covering New Castle, Kent and Sussex Counties in Delaware." - }, - { - id: "Delaware2017Orthophotography", - name: "Delaware 2017 Orthophotography", - type: "wms", - template: "https://firstmap.delaware.gov/arcgis/services/DE_Imagery/DE_Imagery_2017/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2017-01-01T00:00:00.000Z", - startDate: "2017-01-01T00:00:00.000Z", - polygon: [ - [ - [ - -75.01770587603, - 38.45188674427 - ], - [ - -75.74173524589, - 38.4499581145 - ], - [ - -75.80699639658, - 39.73907123636 - ], - [ - -75.75558784863, - 39.80106251053 - ], - [ - -75.64692187603, - 39.8563815616 - ], - [ - -75.47114773904, - 39.84645578141 - ], - [ - -75.37725787603, - 39.81477822231 - ], - [ - -75.48746302671, - 39.6718115509 - ], - [ - -75.50901151986, - 39.43446011595 - ], - [ - -75.39326532808, - 39.27784018498 - ], - [ - -75.30707135548, - 39.01666513594 - ], - [ - -75.1931721774, - 38.82218696272 - ], - [ - -75.05341480753, - 38.80875503297 - ], - [ - -75.01770587603, - 38.45188674427 - ] - ] - ], - terms_url: "https://firstmap.delaware.gov/arcgis/rest/services/DE_Imagery/DE_Imagery_2017/ImageServer", - terms_text: "Digital Aerial Solutions, LLC", - description: "This data set consists of 0.3-meter pixel resolution (approximately 1-foot), 4-band true color and near infrared (R, G, B, IR) orthoimages covering New Castle, Kent and Sussex Counties in Delaware." - }, - { - id: "delmiro_gouveia", - name: "Delmiro Gouveia AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Delmiro%20Gouveia&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -37.94962469285, - -9.42956855866 - ], - [ - -37.94833723253, - -9.33972104942 - ], - [ - -38.03902808374, - -9.33834478757 - ], - [ - -38.04033700174, - -9.42845725102 - ], - [ - -37.94962469285, - -9.42956855866 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "der-es", - name: "DER-ES", - type: "wms", - template: "http://portal.der.es.gov.br/geoserver/wms?SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=deres-ext:TRECHOINFO&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -40.94577071764, - -21.31403802661 - ], - [ - -40.62309586758, - -20.86277859527 - ], - [ - -40.38881524148, - -20.65176928183 - ], - [ - -40.22208792475, - -20.29831315792 - ], - [ - -39.80383232847, - -19.66412347768 - ], - [ - -39.69603449437, - -19.42573412636 - ], - [ - -39.6730376231, - -19.30437313323 - ], - [ - -39.70537697333, - -18.61383779319 - ], - [ - -39.65291536073, - -18.33096390659 - ], - [ - -40.22280657698, - -17.97586605847 - ], - [ - -40.34282149894, - -17.91980423648 - ], - [ - -40.45277528971, - -17.91501764849 - ], - [ - -40.46499237758, - -17.92048802421 - ], - [ - -40.48367733549, - -17.90407639054 - ], - [ - -40.50164364117, - -17.90681176832 - ], - [ - -40.51601668572, - -17.8890310587 - ], - [ - -40.53326433917, - -17.8890310587 - ], - [ - -40.54548142703, - -17.90134097056 - ], - [ - -40.5893192129, - -17.91501764849 - ], - [ - -40.5893192129, - -17.93211201178 - ], - [ - -40.61519069308, - -17.9341632245 - ], - [ - -40.62956373763, - -17.98680287756 - ], - [ - -40.64609273886, - -17.98680287756 - ], - [ - -40.65902847895, - -18.00730758632 - ], - [ - -40.68777456804, - -18.00594067991 - ], - [ - -40.70574087372, - -18.01755904646 - ], - [ - -40.71364604822, - -18.00183989709 - ], - [ - -40.72155122272, - -17.9977390189 - ], - [ - -40.75101596404, - -18.00252336752 - ], - [ - -40.76754496527, - -17.99842250522 - ], - [ - -40.76754496527, - -17.98133455271 - ], - [ - -40.80922679445, - -17.94852104795 - ], - [ - -40.82431849123, - -17.96014319437 - ], - [ - -40.8315050135, - -17.94988839894 - ], - [ - -40.86528166818, - -17.9827016498 - ], - [ - -40.88396662609, - -17.9676629996 - ], - [ - -40.90911945405, - -17.98475227559 - ], - [ - -40.77760609645, - -18.1077461392 - ], - [ - -40.77832474868, - -18.15145652556 - ], - [ - -40.79054183654, - -18.15350518192 - ], - [ - -40.83509827463, - -18.14531041238 - ], - [ - -40.89546506173, - -18.10364773093 - ], - [ - -40.93283497755, - -18.12755376077 - ], - [ - -40.95583184882, - -18.12550480038 - ], - [ - -40.95295723991, - -18.14462749757 - ], - [ - -40.96014376218, - -18.1500907413 - ], - [ - -40.96373702332, - -18.14326165996 - ], - [ - -40.97954737232, - -18.13643231189 - ], - [ - -40.99248311241, - -18.1500907413 - ], - [ - -40.99104580796, - -18.16306526069 - ], - [ - -41.00901211364, - -18.16306526069 - ], - [ - -41.0578804651, - -18.16579661567 - ], - [ - -41.0578804651, - -18.17535602159 - ], - [ - -41.09596903314, - -18.19242508686 - ], - [ - -41.09596903314, - -18.20539645898 - ], - [ - -41.10890477323, - -18.21290575936 - ], - [ - -41.09812498982, - -18.22997114669 - ], - [ - -41.1053115121, - -18.23270145336 - ], - [ - -41.09884364205, - -18.25590732904 - ], - [ - -41.1290270356, - -18.27501572272 - ], - [ - -41.16136638583, - -18.30572123183 - ], - [ - -41.15058660242, - -18.37393619787 - ], - [ - -41.16424099474, - -18.3793922314 - ], - [ - -41.16424099474, - -18.40189654461 - ], - [ - -41.15058660242, - -18.407351693 - ], - [ - -41.15849177692, - -18.41144294087 - ], - [ - -41.17358347369, - -18.41144294087 - ], - [ - -41.18867517046, - -18.44485115689 - ], - [ - -41.0212292015, - -18.46666526175 - ], - [ - -41.04638202946, - -18.60362157901 - ], - [ - -41.03775820273, - -18.61451885232 - ], - [ - -41.0578804651, - -18.6267774504 - ], - [ - -41.04710068169, - -18.64856833073 - ], - [ - -41.03488359382, - -18.65401561396 - ], - [ - -40.99895098246, - -18.67716461675 - ], - [ - -40.94505206541, - -18.69418392578 - ], - [ - -40.94433341318, - -18.76972898283 - ], - [ - -40.92133654191, - -18.81055006856 - ], - [ - -40.93714689091, - -18.82347468178 - ], - [ - -40.94720802209, - -18.82143401943 - ], - [ - -40.97092354559, - -18.83571813552 - ], - [ - -41.08375194528, - -18.83231726565 - ], - [ - -41.10674881655, - -18.83571813552 - ], - [ - -41.11752859996, - -18.80782897078 - ], - [ - -41.13118299228, - -18.79286214638 - ], - [ - -41.23610621747, - -18.79490315535 - ], - [ - -41.25119791424, - -18.81667237761 - ], - [ - -41.2476046531, - -18.85544182257 - ], - [ - -41.22029586847, - -18.8799231739 - ], - [ - -41.2080787806, - -18.8799231739 - ], - [ - -41.20664147615, - -18.86632286449 - ], - [ - -41.16424099474, - -18.86700290617 - ], - [ - -41.15633582024, - -18.88876278307 - ], - [ - -41.1290270356, - -18.90440094845 - ], - [ - -41.1211218611, - -18.92411655188 - ], - [ - -41.03919550719, - -18.98664720231 - ], - [ - -41.07584677078, - -19.00567361403 - ], - [ - -41.06506698737, - -19.06341902698 - ], - [ - -40.96876758891, - -19.12725524781 - ], - [ - -40.96158106664, - -19.15101775756 - ], - [ - -40.92996036864, - -19.20599786475 - ], - [ - -40.94648936987, - -19.2229633254 - ], - [ - -40.94792667432, - -19.24264106543 - ], - [ - -40.92564845527, - -19.262994866 - ], - [ - -40.94936397877, - -19.27859773554 - ], - [ - -40.92277384636, - -19.31047723804 - ], - [ - -40.94361476096, - -19.352521543 - ], - [ - -40.934272282, - -19.38099701507 - ], - [ - -40.95726915327, - -19.39184350499 - ], - [ - -40.9737981545, - -19.42641186672 - ], - [ - -40.95439454437, - -19.46165046782 - ], - [ - -40.97882872009, - -19.50297829748 - ], - [ - -41.013324027, - -19.50297829748 - ], - [ - -41.04638202946, - -19.48333195583 - ], - [ - -41.05428720396, - -19.48400945558 - ], - [ - -41.04135146387, - -19.56664313353 - ], - [ - -41.09237577201, - -19.58966465422 - ], - [ - -41.14627468905, - -19.6560023745 - ], - [ - -41.16495964696, - -19.65870945459 - ], - [ - -41.17933269151, - -19.69389733589 - ], - [ - -41.19658034496, - -19.74598826039 - ], - [ - -41.16999021255, - -19.80617607525 - ], - [ - -41.18939382269, - -19.82375473895 - ], - [ - -41.18867517046, - -19.88526474348 - ], - [ - -41.21239069396, - -19.89742873112 - ], - [ - -41.22963834742, - -19.90215891837 - ], - [ - -41.24688600088, - -19.93323948769 - ], - [ - -41.25479117538, - -19.92918584689 - ], - [ - -41.26988287215, - -19.93796860383 - ], - [ - -41.30653413574, - -19.93391508438 - ], - [ - -41.31515796247, - -19.9697175726 - ], - [ - -41.32450044142, - -19.97647184801 - ], - [ - -41.31300200579, - -20.01226467389 - ], - [ - -41.33671752929, - -20.05547534637 - ], - [ - -41.34821596492, - -20.08652567207 - ], - [ - -41.3554024872, - -20.12094384129 - ], - [ - -41.37768070624, - -20.1580529872 - ], - [ - -41.3870231852, - -20.1863849412 - ], - [ - -41.4107387087, - -20.19447883957 - ], - [ - -41.42079983988, - -20.2025723174 - ], - [ - -41.7635969523, - -20.20459562113 - ], - [ - -41.78515651912, - -20.28483210523 - ], - [ - -41.8505538718, - -20.32459783588 - ], - [ - -41.86348961189, - -20.37513273815 - ], - [ - -41.85127252403, - -20.38186947551 - ], - [ - -41.84336734953, - -20.40948702116 - ], - [ - -41.80887204262, - -20.4249776227 - ], - [ - -41.80671608594, - -20.47211333219 - ], - [ - -41.83115026167, - -20.4788458242 - ], - [ - -41.8110279993, - -20.54211679742 - ], - [ - -41.83115026167, - -20.55086497994 - ], - [ - -41.86205230744, - -20.61814193832 - ], - [ - -41.82108913048, - -20.64437190401 - ], - [ - -41.85342848071, - -20.68068284947 - ], - [ - -41.87139478639, - -20.72101815833 - ], - [ - -41.86780152526, - -20.73849345818 - ], - [ - -41.88001861312, - -20.73983762845 - ], - [ - -41.88289322203, - -20.76739048664 - ], - [ - -41.85414713294, - -20.77478186241 - ], - [ - -41.83330621835, - -20.79829746931 - ], - [ - -41.80887204262, - -20.80904624047 - ], - [ - -41.78443786689, - -20.80568733178 - ], - [ - -41.75137986444, - -20.82382454951 - ], - [ - -41.74706795107, - -20.87486573082 - ], - [ - -41.72335242757, - -20.87553720984 - ], - [ - -41.74131873325, - -20.92723207622 - ], - [ - -41.72335242757, - -20.97756707786 - ], - [ - -41.74347468994, - -21.09763138917 - ], - [ - -41.72910164539, - -21.12578887114 - ], - [ - -41.59399502666, - -21.16332386392 - ], - [ - -41.57243545984, - -21.18677840236 - ], - [ - -41.49050910593, - -21.18878861828 - ], - [ - -41.48332258366, - -21.20084933958 - ], - [ - -41.43948479779, - -21.22094835332 - ], - [ - -41.41289466538, - -21.20955924815 - ], - [ - -41.34965326938, - -21.21290907619 - ], - [ - -41.27994400333, - -21.24640317418 - ], - [ - -41.24473004419, - -21.2323365795 - ], - [ - -41.17717673483, - -21.25511039335 - ], - [ - -41.09237577201, - -21.22429792287 - ], - [ - -41.04853798614, - -21.25912893631 - ], - [ - -41.01547998369, - -21.25578015812 - ], - [ - -41.00254424359, - -21.28725566578 - ], - [ - -40.94577071764, - -21.31403802661 - ] - ] - ], - terms_url: "https://der.es.gov.br", - terms_text: "Departamento de Estradas de Rodagem do Estado do Espírito Santo", - overlay: true - }, - { - id: "DigitalGlobe-Premium", - name: "DigitalGlobe Premium Imagery", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/v4/digitalglobe.316c9a2e/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqZGFrZ2c2dzFlMWgyd2x0ZHdmMDB6NzYifQ.9Pl3XOO82ArX94fHV289Pg", - scaleExtent: [ - 0, - 18 - ], - terms_url: "https://wiki.openstreetmap.org/wiki/DigitalGlobe", - terms_text: "Terms & Feedback", - "default": true, - description: "Premium DigitalGlobe satellite imagery.", - icon: "data:image/png;base64,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" - }, - { - id: "DigitalGlobe-Premium-vintage", - name: "DigitalGlobe Premium Imagery Vintage", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/v4/digitalglobe.2850d66c/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqOTBkcmZjNzJ5ZnozNHF6NnVkOGd6ODYifQ.grAnqgpCjOaeq-ozqt4QNw", - scaleExtent: [ - 0, - 18 - ], - terms_url: "https://wiki.openstreetmap.org/wiki/DigitalGlobe", - terms_text: "Terms & Feedback", - description: "Imagery boundaries and capture dates. Labels appear at zoom level 13 and higher.", - icon: "data:image/png;base64,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", - overlay: true - }, - { - id: "DigitalGlobe-Standard", - name: "DigitalGlobe Standard Imagery", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/v4/digitalglobe.0a8e44ba/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqZGFrZ3pjczNpaHYycXFyMGo0djY3N2IifQ.90uebT4-ow1uqZKTUrf6RQ", - scaleExtent: [ - 0, - 18 - ], - terms_url: "https://wiki.openstreetmap.org/wiki/DigitalGlobe", - terms_text: "Terms & Feedback", - "default": true, - description: "Standard DigitalGlobe satellite imagery.", - icon: "data:image/png;base64,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" - }, - { - id: "DigitalGlobe-Standard-vintage", - name: "DigitalGlobe Standard Imagery Vintage", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/v4/digitalglobe.1412531a/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqOTBlYWJ1ZDAza2YyeG14NWVodTA4OWUifQ.wVc8ZOuPuYVw39lhS2j3_g", - scaleExtent: [ - 0, - 18 - ], - terms_url: "https://wiki.openstreetmap.org/wiki/DigitalGlobe", - terms_text: "Terms & Feedback", - description: "Imagery boundaries and capture dates. Labels appear at zoom level 13 and higher.", - icon: "data:image/png;base64,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", - overlay: true - }, - { - id: "Erlangen-2011", - name: "Erlangen Luftbild (2011 5,0 cm)", - type: "wms", - template: "https://secure.erlangen.de/arcgiser/services/Luftbilder2011/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Erlangen_ratio10_5cm_gk4.jp2&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 10.909347, - 49.529292 - ], - [ - 10.909347, - 49.65211 - ], - [ - 11.077808, - 49.65211 - ], - [ - 11.077808, - 49.529292 - ], - [ - 10.909347, - 49.529292 - ] - ] - ], - terms_text: "© Stadt Erlangen | © Aerowest GmbH" - }, - { - id: "Erlangen-2013", - name: "Erlangen Luftbild (2013 6,25 cm)", - type: "wms", - template: "https://secure.erlangen.de/arcgiser/services/Luftbilder2013/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Erlangen_ratio5_6.25cm.jp2&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 10.905885, - 49.529259 - ], - [ - 10.905885, - 49.65197 - ], - [ - 11.060541, - 49.65197 - ], - [ - 11.060541, - 49.529259 - ], - [ - 10.905885, - 49.529259 - ] - ] - ], - terms_text: "© Stadt Erlangen | © Aerowest GmbH" - }, - { - id: "Erlangen-2016", - name: "Erlangen Luftbild (2016 5,0 cm)", - type: "wms", - template: "https://secure.erlangen.de/arcgiser/services/Luftbild2016/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2016-03-18T00:00:00.000Z", - startDate: "2016-03-18T00:00:00.000Z", - polygon: [ - [ - [ - 10.97664, - 49.537646 - ], - [ - 10.9910133, - 49.5339157 - ], - [ - 10.9938879, - 49.538346 - ], - [ - 11.0278442, - 49.532545 - ], - [ - 11.034604, - 49.5346153 - ], - [ - 11.034065, - 49.537588 - ], - [ - 11.0431829, - 49.543213 - ], - [ - 11.035569, - 49.5530346 - ], - [ - 11.0383994, - 49.5584249 - ], - [ - 11.0350756, - 49.569291 - ], - [ - 11.037905, - 49.5865909 - ], - [ - 11.047966, - 49.5902015 - ], - [ - 11.0492241, - 49.5936954 - ], - [ - 11.0574886, - 49.595209 - ], - [ - 11.056231, - 49.5990522 - ], - [ - 11.0512678, - 49.600304 - ], - [ - 11.053513, - 49.609036 - ], - [ - 11.043093, - 49.613809 - ], - [ - 11.040757, - 49.618232 - ], - [ - 11.0284955, - 49.61735 - ], - [ - 11.0192878, - 49.6189603 - ], - [ - 11.0152, - 49.613722 - ], - [ - 11.005813, - 49.6144788 - ], - [ - 11.00639, - 49.6193095 - ], - [ - 11.0008274, - 49.622103 - ], - [ - 10.9856009, - 49.616515 - ], - [ - 10.978369, - 49.617534 - ], - [ - 10.973698, - 49.6249544 - ], - [ - 10.9653888, - 49.6255654 - ], - [ - 10.9606278, - 49.6285622 - ], - [ - 10.9638168, - 49.6317624 - ], - [ - 10.9547438, - 49.6379 - ], - [ - 10.9483658, - 49.636998 - ], - [ - 10.941853, - 49.643775 - ], - [ - 10.9273003, - 49.648371 - ], - [ - 10.9206303, - 49.639631 - ], - [ - 10.9113552, - 49.6377259 - ], - [ - 10.9242909, - 49.6050488 - ], - [ - 10.9220451, - 49.580038 - ], - [ - 10.9122086, - 49.5700778 - ], - [ - 10.914409, - 49.5618046 - ], - [ - 10.9235273, - 49.5584249 - ], - [ - 10.9271206, - 49.559765 - ], - [ - 10.9334537, - 49.55892 - ], - [ - 10.9307139, - 49.544671 - ], - [ - 10.930669, - 49.5322541 - ], - [ - 10.9405953, - 49.533245 - ], - [ - 10.9548785, - 49.5302135 - ], - [ - 10.9719915, - 49.531263 - ], - [ - 10.97664, - 49.537646 - ] - ] - ], - terms_text: "© Stadt Erlangen | © Geocart GmbH" - }, - { - id: "EsriWorldImagery", - name: "Esri World Imagery", - type: "tms", - template: "https://{switch:services,server}.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}", - scaleExtent: [ - 0, - 22 - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Esri", - terms_text: "Terms & Feedback", - "default": true, - description: "Esri world imagery.", - icon: "data:image/png;base64,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" - }, - { - id: "EsriWorldImageryClarity", - name: "Esri World Imagery (Clarity) Beta", - type: "tms", - template: "https://clarity.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}", - scaleExtent: [ - 0, - 22 - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Esri", - terms_text: "Terms & Feedback", - "default": true, - description: "Esri archive imagery that may be clearer and more accurate than the default layer.", - icon: "data:image/png;base64,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" - }, - { - id: "maaamet.ee-pohi_vr2", - name: "Estonia Basemap (Maaamet)", - type: "wms", - template: "https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=pohi_vr2&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - polygon: [ - [ - [ - 22.3536433, - 58.8538478 - ], - [ - 22.0941083, - 58.8503765 - ], - [ - 22.09179, - 58.8950979 - ], - [ - 22.0050343, - 58.8937111 - ], - [ - 21.9997875, - 58.9837386 - ], - [ - 22.3475423, - 58.9884539 - ], - [ - 22.3453459, - 59.0333735 - ], - [ - 22.5193454, - 59.0353825 - ], - [ - 22.5155628, - 59.1251033 - ], - [ - 22.6901723, - 59.1268565 - ], - [ - 22.6921246, - 59.0821845 - ], - [ - 22.7791243, - 59.0829995 - ], - [ - 22.7808326, - 59.0381447 - ], - [ - 22.8680763, - 59.0387725 - ], - [ - 22.8692965, - 58.9939856 - ], - [ - 22.9562963, - 58.9948656 - ], - [ - 22.954954, - 59.0395885 - ], - [ - 23.1289535, - 59.0409695 - ], - [ - 23.1278553, - 59.0858205 - ], - [ - 23.4767083, - 59.0877011 - ], - [ - 23.4741459, - 59.2672589 - ], - [ - 23.6492435, - 59.2678824 - ], - [ - 23.6488774, - 59.3128106 - ], - [ - 23.7369753, - 59.3129974 - ], - [ - 23.7364872, - 59.3578039 - ], - [ - 23.9115848, - 59.3578661 - ], - [ - 23.9120729, - 59.4027997 - ], - [ - 24.1760005, - 59.4027997 - ], - [ - 24.1763666, - 59.4477979 - ], - [ - 24.2644645, - 59.4476738 - ], - [ - 24.2647085, - 59.4923646 - ], - [ - 24.7060521, - 59.490816 - ], - [ - 24.7089805, - 59.6255274 - ], - [ - 24.7974445, - 59.6249721 - ], - [ - 24.7965903, - 59.5800862 - ], - [ - 24.9732742, - 59.5788506 - ], - [ - 24.9746164, - 59.6238615 - ], - [ - 24.8860304, - 59.6247253 - ], - [ - 24.8872506, - 59.6691818 - ], - [ - 24.9762027, - 59.6686273 - ], - [ - 24.9773008, - 59.7134564 - ], - [ - 25.0660088, - 59.7125949 - ], - [ - 25.0632024, - 59.6230593 - ], - [ - 25.2403743, - 59.621455 - ], - [ - 25.2418385, - 59.6664705 - ], - [ - 25.3305465, - 59.6654845 - ], - [ - 25.3288383, - 59.6207762 - ], - [ - 25.4175462, - 59.6197889 - ], - [ - 25.4193765, - 59.6646834 - ], - [ - 25.6855005, - 59.6614786 - ], - [ - 25.6875748, - 59.7061327 - ], - [ - 25.8651128, - 59.7038552 - ], - [ - 25.8627944, - 59.6590132 - ], - [ - 26.1285523, - 59.6550682 - ], - [ - 26.1257459, - 59.6100991 - ], - [ - 26.3911377, - 59.6056544 - ], - [ - 26.3880872, - 59.5609901 - ], - [ - 26.8296748, - 59.552149 - ], - [ - 26.8262583, - 59.5072897 - ], - [ - 26.9142342, - 59.5054941 - ], - [ - 26.9105736, - 59.4605107 - ], - [ - 27.9668941, - 59.4330327 - ], - [ - 27.9718969, - 59.4778048 - ], - [ - 28.0366891, - 59.4756977 - ], - [ - 28.0437662, - 59.472227 - ], - [ - 28.0476708, - 59.4657804 - ], - [ - 28.0518195, - 59.4634246 - ], - [ - 28.0691462, - 59.4625567 - ], - [ - 28.0845206, - 59.4593946 - ], - [ - 28.1217365, - 59.4409124 - ], - [ - 28.1357687, - 59.4276958 - ], - [ - 28.1371109, - 59.4226684 - ], - [ - 28.1416256, - 59.419006 - ], - [ - 28.1665176, - 59.4120525 - ], - [ - 28.1722525, - 59.4078922 - ], - [ - 28.1927517, - 59.4014954 - ], - [ - 28.2106885, - 59.383603 - ], - [ - 28.2106885, - 59.3799364 - ], - [ - 28.2038555, - 59.3745911 - ], - [ - 28.2105665, - 59.3723533 - ], - [ - 28.2110546, - 59.3693693 - ], - [ - 28.2067839, - 59.3671933 - ], - [ - 28.207028, - 59.3637736 - ], - [ - 28.1997068, - 59.3609133 - ], - [ - 28.2020252, - 59.3573064 - ], - [ - 28.1926297, - 59.3522685 - ], - [ - 28.1939719, - 59.3464212 - ], - [ - 28.1696901, - 59.3335411 - ], - [ - 28.1362568, - 59.2924414 - ], - [ - 28.1251531, - 59.2890141 - ], - [ - 28.1172218, - 59.2889518 - ], - [ - 28.1099006, - 59.2906343 - ], - [ - 28.0535278, - 59.2901981 - ], - [ - 28.0202165, - 59.2833429 - ], - [ - 27.998253, - 59.2753018 - ], - [ - 27.9798281, - 59.2729328 - ], - [ - 27.9643317, - 59.2726834 - ], - [ - 27.95335, - 59.2686307 - ], - [ - 27.9492013, - 59.2653258 - ], - [ - 27.9056404, - 59.2404352 - ], - [ - 27.9011257, - 59.2348807 - ], - [ - 27.9010037, - 59.2263912 - ], - [ - 27.8978312, - 59.2174624 - ], - [ - 27.9023459, - 59.207282 - ], - [ - 27.8923404, - 59.1922244 - ], - [ - 27.8897779, - 59.1837868 - ], - [ - 27.8764779, - 59.1737214 - ], - [ - 27.8718411, - 59.1684062 - ], - [ - 27.8681805, - 59.161589 - ], - [ - 27.8441428, - 59.1481382 - ], - [ - 27.8320629, - 59.1440081 - ], - [ - 27.820349, - 59.133618 - ], - [ - 27.8098553, - 59.1290479 - ], - [ - 27.8059507, - 59.1216592 - ], - [ - 27.8053406, - 59.1127031 - ], - [ - 27.8107095, - 59.1081928 - ], - [ - 27.8100994, - 59.1060627 - ], - [ - 27.8020461, - 59.1028047 - ], - [ - 27.788868, - 59.0908979 - ], - [ - 27.7906983, - 59.0811186 - ], - [ - 27.7937488, - 59.0784226 - ], - [ - 27.7941149, - 59.0756636 - ], - [ - 27.7927727, - 59.0729044 - ], - [ - 27.7930167, - 59.069267 - ], - [ - 27.788502, - 59.06657 - ], - [ - 27.7826451, - 59.0650019 - ], - [ - 27.7750799, - 59.0581013 - ], - [ - 27.7731276, - 59.0510739 - ], - [ - 27.7766661, - 59.0474341 - ], - [ - 27.769833, - 59.0332479 - ], - [ - 27.7660504, - 59.0315527 - ], - [ - 27.7515302, - 59.0301714 - ], - [ - 27.7462833, - 59.0271573 - ], - [ - 27.7456732, - 59.0170459 - ], - [ - 27.7416466, - 59.0095074 - ], - [ - 27.7478696, - 58.9926656 - ], - [ - 27.7427448, - 58.9884539 - ], - [ - 27.7321291, - 58.9854991 - ], - [ - 27.6544028, - 58.9878252 - ], - [ - 27.6550129, - 58.9924142 - ], - [ - 27.3941358, - 58.9996422 - ], - [ - 27.3897431, - 58.9547414 - ], - [ - 27.1293541, - 58.9613481 - ], - [ - 27.1255715, - 58.9163975 - ], - [ - 27.0388158, - 58.9184133 - ], - [ - 27.027102, - 58.784103 - ], - [ - 27.1136136, - 58.7818263 - ], - [ - 27.1093429, - 58.7370852 - ], - [ - 27.1953665, - 58.7351221 - ], - [ - 27.1873132, - 58.6453349 - ], - [ - 27.2730927, - 58.6430491 - ], - [ - 27.2525935, - 58.4188307 - ], - [ - 27.5339699, - 58.4114172 - ], - [ - 27.5552012, - 58.3657519 - ], - [ - 27.5176193, - 58.3326492 - ], - [ - 27.5140807, - 58.322142 - ], - [ - 27.4999265, - 58.3224624 - ], - [ - 27.4868704, - 58.1880305 - ], - [ - 27.528723, - 58.1868727 - ], - [ - 27.592051, - 58.1187543 - ], - [ - 27.6369541, - 58.0973519 - ], - [ - 27.6093777, - 58.053992 - ], - [ - 27.6226778, - 58.0057957 - ], - [ - 27.6448853, - 58.0020458 - ], - [ - 27.6529386, - 58.0064422 - ], - [ - 27.6478138, - 58.0142638 - ], - [ - 27.6478138, - 58.020856 - ], - [ - 27.661724, - 58.0186587 - ], - [ - 27.6685571, - 58.0104502 - ], - [ - 27.6839315, - 58.0084463 - ], - [ - 27.6964995, - 58.0045027 - ], - [ - 27.7006481, - 57.9986189 - ], - [ - 27.6988178, - 57.9882713 - ], - [ - 27.6912527, - 57.9854899 - ], - [ - 27.680637, - 57.9744915 - ], - [ - 27.6821012, - 57.9719031 - ], - [ - 27.6889343, - 57.9718384 - ], - [ - 27.6858838, - 57.9592823 - ], - [ - 27.6589176, - 57.955398 - ], - [ - 27.6675809, - 57.9509954 - ], - [ - 27.6716076, - 57.9462684 - ], - [ - 27.6691672, - 57.9417351 - ], - [ - 27.6764883, - 57.9355171 - ], - [ - 27.6824673, - 57.9365535 - ], - [ - 27.6861278, - 57.9279374 - ], - [ - 27.6824673, - 57.9243737 - ], - [ - 27.7107757, - 57.9239202 - ], - [ - 27.7202932, - 57.9203561 - ], - [ - 27.7205373, - 57.9117361 - ], - [ - 27.7083353, - 57.9061612 - ], - [ - 27.6988178, - 57.9061612 - ], - [ - 27.706139, - 57.9013635 - ], - [ - 27.7289566, - 57.9073929 - ], - [ - 27.7467714, - 57.9016877 - ], - [ - 27.7536045, - 57.9040866 - ], - [ - 27.7573871, - 57.9031789 - ], - [ - 27.7559228, - 57.8980566 - ], - [ - 27.769589, - 57.8956572 - ], - [ - 27.7809368, - 57.8983159 - ], - [ - 27.7989956, - 57.8996128 - ], - [ - 27.8185187, - 57.8957869 - ], - [ - 27.8209591, - 57.890469 - ], - [ - 27.8194949, - 57.8880043 - ], - [ - 27.8105875, - 57.8861232 - ], - [ - 27.8182747, - 57.8824905 - ], - [ - 27.8116856, - 57.8720446 - ], - [ - 27.8158343, - 57.8716552 - ], - [ - 27.8183967, - 57.8651005 - ], - [ - 27.8163224, - 57.8613359 - ], - [ - 27.7987516, - 57.8520525 - ], - [ - 27.7946029, - 57.8463384 - ], - [ - 27.8005819, - 57.8441954 - ], - [ - 27.7957011, - 57.8401688 - ], - [ - 27.788624, - 57.8418575 - ], - [ - 27.7841093, - 57.837246 - ], - [ - 27.7771542, - 57.8325041 - ], - [ - 27.7584853, - 57.8353623 - ], - [ - 27.7416466, - 57.8267869 - ], - [ - 27.7238318, - 57.8317895 - ], - [ - 27.7054069, - 57.8419224 - ], - [ - 27.6877141, - 57.8341931 - ], - [ - 27.6663607, - 57.8365315 - ], - [ - 27.6602598, - 57.8389348 - ], - [ - 27.6481799, - 57.8377007 - ], - [ - 27.636344, - 57.8397792 - ], - [ - 27.6248742, - 57.8375058 - ], - [ - 27.6220677, - 57.8387399 - ], - [ - 27.5979079, - 57.8332836 - ], - [ - 27.5625224, - 57.8302303 - ], - [ - 27.5562994, - 57.8312698 - ], - [ - 27.5522727, - 57.8211338 - ], - [ - 27.5444635, - 57.8220436 - ], - [ - 27.5451956, - 57.8180795 - ], - [ - 27.5505645, - 57.8176896 - ], - [ - 27.5566654, - 57.81366 - ], - [ - 27.5408029, - 57.81288 - ], - [ - 27.5447076, - 57.8080049 - ], - [ - 27.5372644, - 57.8064447 - ], - [ - 27.5395827, - 57.8014386 - ], - [ - 27.5359222, - 57.7966269 - ], - [ - 27.5386066, - 57.7939607 - ], - [ - 27.5292111, - 57.7885626 - ], - [ - 27.5174973, - 57.7887577 - ], - [ - 27.5184734, - 57.7920097 - ], - [ - 27.502977, - 57.7879772 - ], - [ - 27.5000485, - 57.7897333 - ], - [ - 27.4958999, - 57.7886927 - ], - [ - 27.5077357, - 57.783489 - ], - [ - 27.5145688, - 57.7751615 - ], - [ - 27.5081018, - 57.7715827 - ], - [ - 27.5111523, - 57.7641637 - ], - [ - 27.515911, - 57.7639034 - ], - [ - 27.5201817, - 57.7599329 - ], - [ - 27.5281129, - 57.7581753 - ], - [ - 27.5300652, - 57.7536834 - ], - [ - 27.5311634, - 57.7407253 - ], - [ - 27.5480021, - 57.7332999 - ], - [ - 27.5419011, - 57.7303684 - ], - [ - 27.5279909, - 57.7294564 - ], - [ - 27.5235982, - 57.7161637 - ], - [ - 27.5276249, - 57.708994 - ], - [ - 27.5235982, - 57.7080162 - ], - [ - 27.5165211, - 57.7087333 - ], - [ - 27.5106642, - 57.7110147 - ], - [ - 27.5085899, - 57.707234 - ], - [ - 27.4999265, - 57.7049523 - ], - [ - 27.4952898, - 57.7074947 - ], - [ - 27.4871145, - 57.7190963 - ], - [ - 27.4735703, - 57.7154468 - ], - [ - 27.4706419, - 57.7080162 - ], - [ - 27.4614904, - 57.706191 - ], - [ - 27.4480683, - 57.7161637 - ], - [ - 27.4308636, - 57.7075599 - ], - [ - 27.4281792, - 57.6990193 - ], - [ - 27.4134149, - 57.6991498 - ], - [ - 27.4164653, - 57.6952374 - ], - [ - 27.4074359, - 57.6927593 - ], - [ - 27.4023111, - 57.6849328 - ], - [ - 27.3913294, - 57.6853894 - ], - [ - 27.3937698, - 57.679127 - ], - [ - 27.3914514, - 57.676713 - ], - [ - 27.3819339, - 57.6733202 - ], - [ - 27.3777852, - 57.668361 - ], - [ - 27.3836422, - 57.6605944 - ], - [ - 27.3801036, - 57.658832 - ], - [ - 27.3875468, - 57.6555028 - ], - [ - 27.3804697, - 57.6494964 - ], - [ - 27.3835201, - 57.6479947 - ], - [ - 27.3815678, - 57.643685 - ], - [ - 27.3907193, - 57.6430972 - ], - [ - 27.3881569, - 57.6400931 - ], - [ - 27.4008469, - 57.6374154 - ], - [ - 27.4031652, - 57.6290542 - ], - [ - 27.401823, - 57.6237622 - ], - [ - 27.3959661, - 57.6211486 - ], - [ - 27.3902312, - 57.6203644 - ], - [ - 27.3908413, - 57.616901 - ], - [ - 27.401945, - 57.6177506 - ], - [ - 27.4063377, - 57.6154633 - ], - [ - 27.4068258, - 57.6124569 - ], - [ - 27.3857165, - 57.603044 - ], - [ - 27.3782733, - 57.5951327 - ], - [ - 27.35692, - 57.5969636 - ], - [ - 27.3413015, - 57.5898357 - ], - [ - 27.3417896, - 57.5853883 - ], - [ - 27.3288555, - 57.5796974 - ], - [ - 27.3214124, - 57.5789778 - ], - [ - 27.3341024, - 57.5659571 - ], - [ - 27.331784, - 57.5606559 - ], - [ - 27.3377629, - 57.5600668 - ], - [ - 27.3388611, - 57.5467119 - ], - [ - 27.3438639, - 57.5454024 - ], - [ - 27.3547236, - 57.5257533 - ], - [ - 27.3513071, - 57.516318 - ], - [ - 27.3456942, - 57.5210359 - ], - [ - 27.3244628, - 57.5227395 - ], - [ - 27.2966424, - 57.5385919 - ], - [ - 27.2801699, - 57.5364306 - ], - [ - 27.2737028, - 57.5431105 - ], - [ - 27.2643074, - 57.5437654 - ], - [ - 27.2636973, - 57.5484143 - ], - [ - 27.2577183, - 57.5497892 - ], - [ - 27.2479568, - 57.5476941 - ], - [ - 27.2248951, - 57.5538482 - ], - [ - 27.1932922, - 57.5496583 - ], - [ - 27.1614451, - 57.5592159 - ], - [ - 27.1165421, - 57.5611795 - ], - [ - 27.1009236, - 57.5653027 - ], - [ - 27.0850611, - 57.5753796 - ], - [ - 27.0726151, - 57.5773423 - ], - [ - 27.0722491, - 57.5798936 - ], - [ - 27.0558985, - 57.5825102 - ], - [ - 27.052848, - 57.5808749 - ], - [ - 27.0468691, - 57.5804824 - ], - [ - 27.0449168, - 57.5825102 - ], - [ - 27.0332029, - 57.5853229 - ], - [ - 27.0412562, - 57.5876121 - ], - [ - 27.0441847, - 57.596702 - ], - [ - 27.0310066, - 57.604613 - ], - [ - 26.9951329, - 57.604613 - ], - [ - 26.9923265, - 57.6107575 - ], - [ - 26.9869576, - 57.6086659 - ], - [ - 26.9836631, - 57.6117379 - ], - [ - 26.9754878, - 57.6119994 - ], - [ - 26.9709731, - 57.6044822 - ], - [ - 26.9595033, - 57.6062473 - ], - [ - 26.957795, - 57.6046784 - ], - [ - 26.9459592, - 57.6027171 - ], - [ - 26.9396142, - 57.6093195 - ], - [ - 26.951328, - 57.61579 - ], - [ - 26.9499858, - 57.6205605 - ], - [ - 26.9405903, - 57.6197763 - ], - [ - 26.9296086, - 57.6237622 - ], - [ - 26.9264361, - 57.6331044 - ], - [ - 26.906791, - 57.6330391 - ], - [ - 26.8997139, - 57.6305568 - ], - [ - 26.900568, - 57.6291849 - ], - [ - 26.8958093, - 57.6257223 - ], - [ - 26.8884881, - 57.6235662 - ], - [ - 26.8889762, - 57.6219327 - ], - [ - 26.8745779, - 57.6190575 - ], - [ - 26.8727476, - 57.6173585 - ], - [ - 26.8655485, - 57.6159207 - ], - [ - 26.8578613, - 57.6099732 - ], - [ - 26.8646944, - 57.6084044 - ], - [ - 26.8581053, - 57.6004943 - ], - [ - 26.8599356, - 57.5959828 - ], - [ - 26.8643283, - 57.5941518 - ], - [ - 26.8617659, - 57.5910783 - ], - [ - 26.8468795, - 57.5883969 - ], - [ - 26.8350437, - 57.5824448 - ], - [ - 26.8158867, - 57.581529 - ], - [ - 26.8095417, - 57.5847342 - ], - [ - 26.7968517, - 57.5817907 - ], - [ - 26.799292, - 57.5800245 - ], - [ - 26.792947, - 57.573155 - ], - [ - 26.7868461, - 57.5752487 - ], - [ - 26.7765965, - 57.5599359 - ], - [ - 26.7691533, - 57.5603941 - ], - [ - 26.7635404, - 57.563143 - ], - [ - 26.7536569, - 57.5624885 - ], - [ - 26.7581716, - 57.5653027 - ], - [ - 26.7689093, - 57.5704069 - ], - [ - 26.77379, - 57.5747253 - ], - [ - 26.7676891, - 57.5775385 - ], - [ - 26.748044, - 57.5778002 - ], - [ - 26.7531688, - 57.5800899 - ], - [ - 26.7381604, - 57.5877429 - ], - [ - 26.729009, - 57.5801553 - ], - [ - 26.7382824, - 57.5758375 - ], - [ - 26.7307172, - 57.5690328 - ], - [ - 26.7238842, - 57.5724353 - ], - [ - 26.7110721, - 57.5659571 - ], - [ - 26.6997244, - 57.5710612 - ], - [ - 26.697528, - 57.5706032 - ], - [ - 26.697406, - 57.5673314 - ], - [ - 26.6915491, - 57.5661534 - ], - [ - 26.6756866, - 57.5666769 - ], - [ - 26.6710498, - 57.5632739 - ], - [ - 26.671904, - 57.5538482 - ], - [ - 26.6653149, - 57.5528663 - ], - [ - 26.646524, - 57.5539137 - ], - [ - 26.6426194, - 57.546581 - ], - [ - 26.6344441, - 57.5435689 - ], - [ - 26.6144329, - 57.5290944 - ], - [ - 26.6171173, - 57.5088466 - ], - [ - 26.6046714, - 57.5121237 - ], - [ - 26.6047934, - 57.5144175 - ], - [ - 26.5953979, - 57.5137621 - ], - [ - 26.5947878, - 57.5159248 - ], - [ - 26.5880768, - 57.5161869 - ], - [ - 26.5901511, - 57.5251637 - ], - [ - 26.5869786, - 57.5262119 - ], - [ - 26.5877107, - 57.537806 - ], - [ - 26.5838061, - 57.5395743 - ], - [ - 26.5797794, - 57.5369546 - ], - [ - 26.5796574, - 57.5337452 - ], - [ - 26.5612325, - 57.5285048 - ], - [ - 26.5618426, - 57.5226085 - ], - [ - 26.5666014, - 57.5194633 - ], - [ - 26.557938, - 57.5136966 - ], - [ - 26.5258469, - 57.5161869 - ], - [ - 26.4996128, - 57.5245085 - ], - [ - 26.4909494, - 57.5453369 - ], - [ - 26.4699621, - 57.5755104 - ], - [ - 26.4015093, - 57.5723699 - ], - [ - 26.3448924, - 57.5840801 - ], - [ - 26.3347648, - 57.5796974 - ], - [ - 26.3278097, - 57.579632 - ], - [ - 26.3263455, - 57.5827719 - ], - [ - 26.3117032, - 57.5847342 - ], - [ - 26.3085307, - 57.5929094 - ], - [ - 26.3005994, - 57.5934325 - ], - [ - 26.2929122, - 57.5911437 - ], - [ - 26.2835167, - 57.5923208 - ], - [ - 26.2821745, - 57.5951981 - ], - [ - 26.2775378, - 57.5950019 - ], - [ - 26.2703387, - 57.600102 - ], - [ - 26.2702166, - 57.604613 - ], - [ - 26.2542321, - 57.6138294 - ], - [ - 26.247155, - 57.6208219 - ], - [ - 26.2481312, - 57.6277476 - ], - [ - 26.2394678, - 57.6340842 - ], - [ - 26.2420302, - 57.6353906 - ], - [ - 26.2466669, - 57.6355865 - ], - [ - 26.2395898, - 57.6464929 - ], - [ - 26.2323907, - 57.6461011 - ], - [ - 26.2311705, - 57.6490394 - ], - [ - 26.2421522, - 57.6514551 - ], - [ - 26.2362953, - 57.6575265 - ], - [ - 26.2303164, - 57.6580487 - ], - [ - 26.2104272, - 57.6660116 - ], - [ - 26.2137217, - 57.668883 - ], - [ - 26.2109153, - 57.6707102 - ], - [ - 26.2101832, - 57.6790617 - ], - [ - 26.2007877, - 57.6810188 - ], - [ - 26.1989574, - 57.6835629 - ], - [ - 26.1944427, - 57.6851937 - ], - [ - 26.1854133, - 57.6845414 - ], - [ - 26.177116, - 57.687607 - ], - [ - 26.1887078, - 57.6947157 - ], - [ - 26.1985914, - 57.7090592 - ], - [ - 26.2056685, - 57.7148602 - ], - [ - 26.1726013, - 57.7286746 - ], - [ - 26.1409983, - 57.7327788 - ], - [ - 26.1356294, - 57.7392273 - ], - [ - 26.139046, - 57.7454793 - ], - [ - 26.1355074, - 57.7502978 - ], - [ - 26.1053687, - 57.7570036 - ], - [ - 26.0803547, - 57.7654654 - ], - [ - 26.0797446, - 57.7638383 - ], - [ - 26.0732776, - 57.7637081 - ], - [ - 26.0704712, - 57.7655956 - ], - [ - 26.0591234, - 57.7598678 - ], - [ - 26.0489958, - 57.7611046 - ], - [ - 26.0435049, - 57.7670274 - ], - [ - 26.0332553, - 57.7705416 - ], - [ - 26.0237378, - 57.7676131 - ], - [ - 26.0177589, - 57.7722985 - ], - [ - 26.0245919, - 57.7751615 - ], - [ - 26.024958, - 57.7816025 - ], - [ - 26.0225176, - 57.7835541 - ], - [ - 26.0277644, - 57.7897984 - ], - [ - 26.0308149, - 57.7909691 - ], - [ - 26.0333773, - 57.8010485 - ], - [ - 26.0367939, - 57.8059246 - ], - [ - 26.0360617, - 57.8108 - ], - [ - 26.0485077, - 57.8228883 - ], - [ - 26.057049, - 57.8384152 - ], - [ - 26.0555848, - 57.8476372 - ], - [ - 26.0366718, - 57.8492605 - ], - [ - 26.0200772, - 57.8451696 - ], - [ - 26.0095836, - 57.8573112 - ], - [ - 25.9984798, - 57.8581552 - ], - [ - 25.9627282, - 57.8449098 - ], - [ - 25.9310032, - 57.8524421 - ], - [ - 25.8953736, - 57.849715 - ], - [ - 25.8882964, - 57.8459488 - ], - [ - 25.8808533, - 57.8494553 - ], - [ - 25.885734, - 57.8527667 - ], - [ - 25.8842698, - 57.8559479 - ], - [ - 25.8756064, - 57.8579604 - ], - [ - 25.8747523, - 57.8632183 - ], - [ - 25.8594999, - 57.8561427 - ], - [ - 25.8192336, - 57.8641919 - ], - [ - 25.7831159, - 57.8994831 - ], - [ - 25.7862884, - 57.9042811 - ], - [ - 25.7716461, - 57.9120602 - ], - [ - 25.7510248, - 57.9169213 - ], - [ - 25.7372366, - 57.9229482 - ], - [ - 25.7283292, - 57.9213281 - ], - [ - 25.7224723, - 57.9124491 - ], - [ - 25.7035593, - 57.9033086 - ], - [ - 25.6791555, - 57.9046052 - ], - [ - 25.6754949, - 57.9127732 - ], - [ - 25.6620728, - 57.9151066 - ], - [ - 25.6560938, - 57.9143936 - ], - [ - 25.6488947, - 57.9166621 - ], - [ - 25.6498709, - 57.9184119 - ], - [ - 25.638279, - 57.9305937 - ], - [ - 25.5798318, - 57.9441961 - ], - [ - 25.593986, - 57.9596059 - ], - [ - 25.5893493, - 57.9650431 - ], - [ - 25.5823942, - 57.9678261 - ], - [ - 25.5804419, - 57.9720973 - ], - [ - 25.574829, - 57.9741033 - ], - [ - 25.5655556, - 57.9671789 - ], - [ - 25.5660436, - 57.9625835 - ], - [ - 25.5571362, - 57.9603827 - ], - [ - 25.555672, - 57.9671142 - ], - [ - 25.5507912, - 57.9725502 - ], - [ - 25.5372471, - 57.9713855 - ], - [ - 25.5256553, - 57.9718384 - ], - [ - 25.5226048, - 57.9680203 - ], - [ - 25.5163818, - 57.9673731 - ], - [ - 25.5121111, - 57.9697676 - ], - [ - 25.5221167, - 57.9748797 - ], - [ - 25.5194323, - 57.9803146 - ], - [ - 25.4853889, - 57.9747503 - ], - [ - 25.4784338, - 57.9800558 - ], - [ - 25.4784338, - 57.9826436 - ], - [ - 25.4421941, - 57.9961616 - ], - [ - 25.4481731, - 58.0011406 - ], - [ - 25.4664759, - 58.0051492 - ], - [ - 25.4481731, - 58.0169784 - ], - [ - 25.4069306, - 58.0289329 - ], - [ - 25.371545, - 58.0292559 - ], - [ - 25.3637358, - 58.0317109 - ], - [ - 25.3533641, - 58.0433376 - ], - [ - 25.3448228, - 58.0467603 - ], - [ - 25.3360374, - 58.0570909 - ], - [ - 25.3292043, - 58.0585757 - ], - [ - 25.3266419, - 58.0638042 - ], - [ - 25.3198088, - 58.0659987 - ], - [ - 25.3190767, - 58.0692901 - ], - [ - 25.295527, - 58.0816142 - ], - [ - 25.2868636, - 58.0814852 - ], - [ - 25.2811287, - 58.0701936 - ], - [ - 25.2659983, - 58.0671604 - ], - [ - 25.2650222, - 58.0599959 - ], - [ - 25.2799085, - 58.0506346 - ], - [ - 25.2930866, - 58.0466957 - ], - [ - 25.3043124, - 58.0344888 - ], - [ - 25.3011399, - 58.0150395 - ], - [ - 25.2974793, - 58.014587 - ], - [ - 25.3028482, - 58.0001061 - ], - [ - 25.295771, - 57.9997181 - ], - [ - 25.2973573, - 57.9966143 - ], - [ - 25.3035803, - 57.9939628 - ], - [ - 25.3013839, - 57.9927341 - ], - [ - 25.2918664, - 57.9928634 - ], - [ - 25.283081, - 57.9896296 - ], - [ - 25.2672185, - 57.9945449 - ], - [ - 25.2561148, - 57.9938982 - ], - [ - 25.2550166, - 58.0034682 - ], - [ - 25.2454991, - 58.0030157 - ], - [ - 25.2276843, - 58.0178186 - ], - [ - 25.2458652, - 58.0187234 - ], - [ - 25.2356156, - 58.0228592 - ], - [ - 25.2363477, - 58.02441 - ], - [ - 25.2273182, - 58.0243454 - ], - [ - 25.2253659, - 58.0219545 - ], - [ - 25.2190209, - 58.0297728 - ], - [ - 25.2165806, - 58.0408834 - ], - [ - 25.2269522, - 58.0479872 - ], - [ - 25.2281724, - 58.0534755 - ], - [ - 25.2212173, - 58.0530236 - ], - [ - 25.2214613, - 58.0505055 - ], - [ - 25.2178007, - 58.0490849 - ], - [ - 25.2159705, - 58.059544 - ], - [ - 25.2121879, - 58.0622551 - ], - [ - 25.2052328, - 58.0612223 - ], - [ - 25.2038906, - 58.0650951 - ], - [ - 25.2162145, - 58.07413 - ], - [ - 25.2120658, - 58.0805175 - ], - [ - 25.1996199, - 58.0853558 - ], - [ - 25.1894923, - 58.0800659 - ], - [ - 25.1916886, - 58.0761302 - ], - [ - 25.1534966, - 58.0747752 - ], - [ - 25.1515443, - 58.0770335 - ], - [ - 25.1339735, - 58.0797433 - ], - [ - 25.1057871, - 58.0774852 - ], - [ - 25.105177, - 58.0664505 - ], - [ - 25.0766245, - 58.0664505 - ], - [ - 25.0203736, - 58.0176893 - ], - [ - 24.9951156, - 58.010838 - ], - [ - 24.9486263, - 58.0094159 - ], - [ - 24.832342, - 57.9717737 - ], - [ - 24.8080602, - 57.9906644 - ], - [ - 24.7422918, - 57.9818673 - ], - [ - 24.74339, - 57.9649137 - ], - [ - 24.7328963, - 57.9623894 - ], - [ - 24.7150815, - 57.962713 - ], - [ - 24.6918978, - 57.9465274 - ], - [ - 24.6733509, - 57.9589586 - ], - [ - 24.6446764, - 57.9588939 - ], - [ - 24.64187, - 57.9542327 - ], - [ - 24.6457746, - 57.9526788 - ], - [ - 24.6286919, - 57.9419294 - ], - [ - 24.6161239, - 57.943678 - ], - [ - 24.6089248, - 57.9512544 - ], - [ - 24.5846429, - 57.9617421 - ], - [ - 24.5731731, - 57.9543622 - ], - [ - 24.5479151, - 57.9493766 - ], - [ - 24.5435225, - 57.9447789 - ], - [ - 24.5301003, - 57.9470455 - ], - [ - 24.5207049, - 57.9430304 - ], - [ - 24.5183865, - 57.9367478 - ], - [ - 24.5096011, - 57.9344158 - ], - [ - 24.5132617, - 57.9306585 - ], - [ - 24.4625017, - 57.9249569 - ], - [ - 24.445785, - 57.9079764 - ], - [ - 24.4601833, - 57.906615 - ], - [ - 24.4522521, - 57.8994183 - ], - [ - 24.4600613, - 57.8797658 - ], - [ - 24.4113756, - 57.8649058 - ], - [ - 24.4090573, - 57.8719148 - ], - [ - 24.3370659, - 57.8739264 - ], - [ - 24.3382861, - 58.0109027 - ], - [ - 24.4227234, - 58.0109673 - ], - [ - 24.42614, - 58.280018 - ], - [ - 24.5115534, - 58.2796972 - ], - [ - 24.5121635, - 58.324705 - ], - [ - 24.426384, - 58.3250254 - ], - [ - 24.4271161, - 58.3697196 - ], - [ - 24.3418247, - 58.3701675 - ], - [ - 24.3404825, - 58.2354672 - ], - [ - 24.1701436, - 58.2357242 - ], - [ - 24.1701436, - 58.1907961 - ], - [ - 24.0848522, - 58.1909248 - ], - [ - 24.0850962, - 58.2360454 - ], - [ - 24.0006589, - 58.2357884 - ], - [ - 23.9999268, - 58.2809162 - ], - [ - 23.8297099, - 58.2804671 - ], - [ - 23.8294659, - 58.325538 - ], - [ - 23.658639, - 58.3249613 - ], - [ - 23.6579069, - 58.4149324 - ], - [ - 23.5722493, - 58.4146768 - ], - [ - 23.5712732, - 58.5043556 - ], - [ - 23.3993481, - 58.5035906 - ], - [ - 23.4010564, - 58.4139098 - ], - [ - 23.1442059, - 58.4123759 - ], - [ - 23.1456701, - 58.3673518 - ], - [ - 23.0598906, - 58.3670318 - ], - [ - 23.0617209, - 58.3222061 - ], - [ - 22.9756973, - 58.3215653 - ], - [ - 22.9771615, - 58.2768102 - ], - [ - 22.8918701, - 58.2759761 - ], - [ - 22.8935784, - 58.2310348 - ], - [ - 22.808653, - 58.2301996 - ], - [ - 22.8101172, - 58.1853932 - ], - [ - 22.8952866, - 58.1861008 - ], - [ - 22.8966288, - 58.1413032 - ], - [ - 22.726412, - 58.1398218 - ], - [ - 22.7249478, - 58.18475 - ], - [ - 22.555219, - 58.1827558 - ], - [ - 22.5569273, - 58.1374387 - ], - [ - 22.6417307, - 58.1388557 - ], - [ - 22.6434389, - 58.0939986 - ], - [ - 22.3890288, - 58.0909029 - ], - [ - 22.3852462, - 58.1806329 - ], - [ - 22.2999548, - 58.1796678 - ], - [ - 22.3067879, - 58.045275 - ], - [ - 22.2219845, - 58.0435959 - ], - [ - 22.2262552, - 57.9540384 - ], - [ - 22.1420619, - 57.9528083 - ], - [ - 22.1445023, - 57.9080412 - ], - [ - 22.060065, - 57.9068095 - ], - [ - 22.0626274, - 57.8618552 - ], - [ - 21.978068, - 57.8604272 - ], - [ - 21.9683065, - 58.0400438 - ], - [ - 22.0527438, - 58.0413355 - ], - [ - 22.0450566, - 58.1758075 - ], - [ - 21.9603753, - 58.1747137 - ], - [ - 21.9578129, - 58.219405 - ], - [ - 21.78723, - 58.2163845 - ], - [ - 21.7821052, - 58.3063113 - ], - [ - 21.6968137, - 58.304901 - ], - [ - 21.6940073, - 58.3497486 - ], - [ - 21.7794207, - 58.3512212 - ], - [ - 21.7679509, - 58.5307369 - ], - [ - 22.0256555, - 58.5348771 - ], - [ - 22.0279739, - 58.4900096 - ], - [ - 22.1137534, - 58.4916676 - ], - [ - 22.1114351, - 58.5362146 - ], - [ - 22.1970926, - 58.5374247 - ], - [ - 22.1945302, - 58.5822952 - ], - [ - 22.4523568, - 58.5857297 - ], - [ - 22.4463779, - 58.7203003 - ], - [ - 22.3602323, - 58.7191599 - ], - [ - 22.3536433, - 58.8538478 - ] - ], - [ - [ - 23.4741459, - 59.2672589 - ], - [ - 23.2986822, - 59.2663235 - ], - [ - 23.2979501, - 59.3113783 - ], - [ - 23.4729257, - 59.3119388 - ], - [ - 23.4741459, - 59.2672589 - ] - ], - [ - [ - 24.1701436, - 58.1907961 - ], - [ - 24.255069, - 58.1907318 - ], - [ - 24.2545809, - 58.1458112 - ], - [ - 24.1700216, - 58.1458756 - ], - [ - 24.1701436, - 58.1907961 - ] - ], - [ - [ - 24.0848522, - 58.1909248 - ], - [ - 24.0849742, - 58.1012852 - ], - [ - 23.9996827, - 58.1011563 - ], - [ - 23.9999268, - 58.0563162 - ], - [ - 23.9152454, - 58.0561225 - ], - [ - 23.9150014, - 58.1461332 - ], - [ - 23.83032, - 58.1460044 - ], - [ - 23.8297099, - 58.2357242 - ], - [ - 23.9145133, - 58.2358527 - ], - [ - 23.9147573, - 58.1909891 - ], - [ - 24.0848522, - 58.1909248 - ] - ], - [ - [ - 24.6185366, - 59.5361187 - ], - [ - 24.4418254, - 59.5367966 - ], - [ - 24.4430922, - 59.6265878 - ], - [ - 24.6201552, - 59.6258049 - ], - [ - 24.6185366, - 59.5361187 - ] - ], - [ - [ - 26.4040316, - 59.7851966 - ], - [ - 26.3150064, - 59.7866741 - ], - [ - 26.3181415, - 59.8315183 - ], - [ - 26.4073159, - 59.8299428 - ], - [ - 26.4040316, - 59.7851966 - ] - ], - [ - [ - 26.4830816, - 59.6490028 - ], - [ - 26.4864655, - 59.6938311 - ], - [ - 26.5751422, - 59.692023 - ], - [ - 26.5716589, - 59.6471923 - ], - [ - 26.4830816, - 59.6490028 - ] - ], - [ - [ - 23.1594369, - 57.784083 - ], - [ - 23.2434645, - 57.7846083 - ], - [ - 23.2444497, - 57.73971 - ], - [ - 23.3284773, - 57.740311 - ], - [ - 23.3267883, - 57.8299754 - ], - [ - 23.1584517, - 57.8288513 - ], - [ - 23.1594369, - 57.784083 - ] - ] - ], - terms_text: "Maa-Ameti põhikaart" - }, - { - id: "maaamet.ee-cir_ngr", - name: "Estonia Forestry (Maaamet)", - type: "wms", - template: "https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=cir_ngr&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - polygon: [ - [ - [ - 21.6940073, - 57.5025466 - ], - [ - 21.6940073, - 59.8274564 - ], - [ - 28.2110546, - 59.8274564 - ], - [ - 28.2110546, - 57.5025466 - ], - [ - 21.6940073, - 57.5025466 - ] - ] - ], - terms_text: "Maa-Ameti metsanduslik ortofoto" - }, - { - id: "maaamet.ee-reljeef", - name: "Estonia Hillshading (Maaamet)", - type: "wms", - template: "https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=reljeef&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - polygon: [ - [ - [ - 21.6940073, - 57.5025466 - ], - [ - 21.6940073, - 59.8274564 - ], - [ - 28.2110546, - 59.8274564 - ], - [ - 28.2110546, - 57.5025466 - ], - [ - 21.6940073, - 57.5025466 - ] - ] - ], - terms_text: "Maa-Ameti reljeefikaart" - }, - { - id: "maaamet.ee-orto", - name: "Estonia Ortho (Maaamet)", - type: "tms", - template: "https://tiles.maaamet.ee/tm/tms/1.0.0/foto@GMC/{zoom}/{x}/{-y}.png", - scaleExtent: [ - 14, - 18 - ], - polygon: [ - [ - [ - 21.6940073, - 57.5025466 - ], - [ - 21.6940073, - 59.8274564 - ], - [ - 28.2110546, - 59.8274564 - ], - [ - 28.2110546, - 57.5025466 - ], - [ - 21.6940073, - 57.5025466 - ] - ] - ], - terms_text: "Maa-Ameti ortofoto" - }, - { - id: "estrela_de_alagoas", - name: "Estrela de Alagoas", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Estrela%20de%20Alagoas&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.71382371133, - -9.43475990551 - ], - [ - -36.7147678489, - -9.34442676518 - ], - [ - -36.80585566705, - -9.34497726095 - ], - [ - -36.80525485223, - -9.43541609465 - ], - [ - -36.71382371133, - -9.43475990551 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "Fiez-2013", - name: "Fiez Orthophoto 2013", - type: "tms", - template: "http://osmdata.asitvd.ch/tiles/fiez2013/{zoom}/{x}/{y}.png ", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - scaleExtent: [ - 14, - 20 - ], - polygon: [ - [ - [ - 6.6231344, - 46.8233863 - ], - [ - 6.6289909, - 46.8248413 - ], - [ - 6.6288194, - 46.8267356 - ], - [ - 6.6253097, - 46.8327384 - ], - [ - 6.623822, - 46.8331744 - ], - [ - 6.618386, - 46.8319393 - ], - [ - 6.6231344, - 46.8233863 - ] - ] - ], - terms_url: "http://osmdata.asitvd.ch/", - terms_text: "Fiez - Orthophoto technique 2013" - }, - { - id: "FOMI_2000", - name: "FÖMI orthophoto 2000", - type: "tms", - template: "http://e.tile.openstreetmap.hu/ortofoto2000/{zoom}/{x}/{y}.jpg", - endDate: "2000-01-01T00:00:00.000Z", - startDate: "2000-01-01T00:00:00.000Z", - 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: "https://www.fomi.hu", - terms_text: "Földmérési és Távérzékelési Intézet" - }, - { - id: "FOMI_2005", - name: "FÖMI orthophoto 2005", - type: "tms", - template: "http://e.tile.openstreetmap.hu/ortofoto2005/{zoom}/{x}/{y}.jpg", - endDate: "2005-01-01T00:00:00.000Z", - startDate: "2005-01-01T00:00:00.000Z", - 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: "https://www.fomi.hu", - terms_text: "Földmérési és Távérzékelési Intézet" - }, - { - id: "Freemap.sk-Car", - name: "Freemap.sk Car", - type: "tms", - template: "https://{switch:a,b,c,d}.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.", - icon: "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png" - }, - { - id: "Freemap.sk-Cyclo", - name: "Freemap.sk Cyclo", - type: "tms", - template: "https://{switch:a,b,c,d}.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.", - icon: "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png" - }, - { - id: "Freemap.sk-Hiking", - name: "Freemap.sk Hiking", - type: "tms", - template: "https://{switch:a,b,c,d}.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.", - icon: "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png" - }, - { - id: "Freemap.sk-Ski", - name: "Freemap.sk Ski", - type: "tms", - template: "https://{switch:a,b,c,d}.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.", - icon: "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png" - }, - { - id: "fta-digiroad-functional", - name: "FTA Road Network", - type: "wms", - template: "https://extranet.liikennevirasto.fi/inspirepalvelu/beta/wms?SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=dr_tielinkki_toim_lk&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 3, - 20 - ], - polygon: [ - [ - [ - 27.96569, - 70.0988 - ], - [ - 27.57431, - 70.07728 - ], - [ - 27.10876, - 69.93548 - ], - [ - 26.70913, - 69.97549 - ], - [ - 26.45507, - 69.94207 - ], - [ - 25.87142, - 69.6671 - ], - [ - 25.94833, - 69.61024 - ], - [ - 25.83023, - 69.55323 - ], - [ - 25.66955, - 69.20794 - ], - [ - 25.73822, - 69.01797 - ], - [ - 25.60089, - 68.90309 - ], - [ - 25.45806, - 68.91199 - ], - [ - 25.11749, - 68.80699 - ], - [ - 25.07354, - 68.64355 - ], - [ - 24.88128, - 68.62003 - ], - [ - 23.97491, - 68.84568 - ], - [ - 23.74969, - 68.8308 - ], - [ - 23.63433, - 68.71645 - ], - [ - 23.18939, - 68.68053 - ], - [ - 22.52197, - 68.7553 - ], - [ - 21.63894, - 69.28191 - ], - [ - 21.26953, - 69.31783 - ], - [ - 20.94131, - 69.21622 - ], - [ - 21.08963, - 69.09307 - ], - [ - 21.05941, - 69.04352 - ], - [ - 20.72296, - 69.12491 - ], - [ - 20.54443, - 69.0558 - ], - [ - 20.84655, - 68.97416 - ], - [ - 20.81634, - 68.91742 - ], - [ - 21.38754, - 68.68461 - ], - [ - 22.04734, - 68.47066 - ], - [ - 22.80212, - 68.35464 - ], - [ - 23.12072, - 68.13169 - ], - [ - 23.5437, - 67.9633 - ], - [ - 23.44757, - 67.8393 - ], - [ - 23.48602, - 67.59352 - ], - [ - 23.36517, - 67.46545 - ], - [ - 23.71124, - 67.41592 - ], - [ - 23.72772, - 67.32186 - ], - [ - 23.54644, - 67.26885 - ], - [ - 23.53128, - 67.16724 - ], - [ - 23.89251, - 66.86863 - ], - [ - 23.84582, - 66.57775 - ], - [ - 23.61843, - 66.44562 - ], - [ - 23.67171, - 66.20303 - ], - [ - 23.87191, - 66.14551 - ], - [ - 24.09988, - 65.87247 - ], - [ - 24.1658, - 65.66959 - ], - [ - 24.11636, - 65.39143 - ], - [ - 21.37939, - 63.68037 - ], - [ - 20.17639, - 63.29787 - ], - [ - 19.08325, - 60.16064 - ], - [ - 20.22033, - 59.44786 - ], - [ - 22.29125, - 59.44507 - ], - [ - 25.82336, - 59.933 - ], - [ - 27.52075, - 60.23435 - ], - [ - 27.83386, - 60.53229 - ], - [ - 29.29641, - 61.26165 - ], - [ - 31.20803, - 62.44759 - ], - [ - 31.62826, - 62.90585 - ], - [ - 31.2635, - 63.22106 - ], - [ - 29.99605, - 63.75387 - ], - [ - 30.28656, - 63.81704 - ], - [ - 30.58319, - 64.0782 - ], - [ - 30.5104, - 64.26428 - ], - [ - 30.09979, - 64.39218 - ], - [ - 30.02563, - 64.58736 - ], - [ - 30.16845, - 64.63329 - ], - [ - 30.09429, - 64.79518 - ], - [ - 29.78393, - 64.79811 - ], - [ - 29.65347, - 64.89733 - ], - [ - 29.65759, - 65.05939 - ], - [ - 29.91027, - 65.09527 - ], - [ - 29.93225, - 65.20895 - ], - [ - 29.72076, - 65.27853 - ], - [ - 29.91577, - 65.63788 - ], - [ - 30.1863, - 65.66223 - ], - [ - 29.9913, - 66.09771 - ], - [ - 29.07119, - 66.91983 - ], - [ - 30.11077, - 67.63431 - ], - [ - 29.3486, - 68.08099 - ], - [ - 28.67568, - 68.20166 - ], - [ - 28.46547, - 68.54039 - ], - [ - 28.72375, - 68.72642 - ], - [ - 28.82675, - 68.87341 - ], - [ - 28.44985, - 68.90792 - ], - [ - 28.95996, - 69.05089 - ], - [ - 28.83324, - 69.10563 - ], - [ - 28.87207, - 69.22132 - ], - [ - 29.36096, - 69.46526 - ], - [ - 29.15634, - 69.69667 - ], - [ - 28.38455, - 69.83488 - ], - [ - 28.35845, - 69.88312 - ], - [ - 28.17169, - 69.92511 - ], - [ - 28.00415, - 70.01495 - ], - [ - 27.96569, - 70.0988 - ] - ] - ], - terms_url: "https://www.liikennevirasto.fi/web/en/open-data/digiroad/", - terms_text: "© Liikennevirasto", - description: "Digiroad national road network from the Finnish Transport Agency, functional road classes.", - icon: "https://www.liikennevirasto.fi/livi-theme/images/general/liikennevirasto_logo_2x.png", - overlay: true - }, - { - id: "Geobase_Hydrography", - name: "Geobase Hydrography - English", - type: "wms", - template: "https://maps.geogratis.gc.ca/wms/hydro_network_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nhn:nhn&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -141.0678, - 60.2442 - ], - [ - -139.3842, - 60.10331 - ], - [ - -137.4746, - 58.82791 - ], - [ - -135.4766, - 59.65971 - ], - [ - -134.399, - 58.86279 - ], - [ - -132.5239, - 57.08342 - ], - [ - -130.1435, - 55.27452 - ], - [ - -130.7734, - 54.75597 - ], - [ - -132.4355, - 54.71514 - ], - [ - -134.5711, - 54.38827 - ], - [ - -141.7761, - 53.58405 - ], - [ - -128.9768, - 46.41459 - ], - [ - -124.8087, - 48.42976 - ], - [ - -123.4286, - 48.17889 - ], - [ - -123.0256, - 48.40444 - ], - [ - -123.1923701, - 48.6550408 - ], - [ - -122.9958159, - 48.5106543 - ], - [ - -122.4868966, - 48.4098005 - ], - [ - -122.3291531, - 48.4527983 - ], - [ - -122.229391, - 48.5064943 - ], - [ - -122.1790836, - 48.5296509 - ], - [ - -122.1841996, - 48.566905 - ], - [ - -121.7783298, - 48.5759321 - ], - [ - -121.6657777, - 48.4279093 - ], - [ - -121.3306793, - 48.3571354 - ], - [ - -121.0271296, - 48.3497692 - ], - [ - -121.0305403, - 48.4940645 - ], - [ - -120.6979999, - 48.5149675 - ], - [ - -120.510413, - 48.8718034 - ], - [ - -119.9757904, - 48.8813368 - ], - [ - -119.9544737, - 48.5149675 - ], - [ - -119.907577, - 48.2942056 - ], - [ - -119.7319275, - 48.1550316 - ], - [ - -119.7438648, - 48.0741943 - ], - [ - -119.622786, - 48.1095051 - ], - [ - -119.602322, - 48.1470674 - ], - [ - -119.2527283, - 48.1624259 - ], - [ - -114.1499, - 48.99487 - ], - [ - -95.12094, - 48.98405 - ], - [ - -95.13419, - 49.35564 - ], - [ - -94.94415, - 49.34356 - ], - [ - -94.8839, - 49.29522 - ], - [ - -94.71704, - 48.87631 - ], - [ - -94.71791, - 48.7485 - ], - [ - -93.83204, - 48.49765 - ], - [ - -93.43778, - 48.53066 - ], - [ - -93.38216, - 48.59507 - ], - [ - -92.98471, - 48.60312 - ], - [ - -92.73847, - 48.50725 - ], - [ - -92.7095, - 48.42081 - ], - [ - -92.54293, - 48.40158 - ], - [ - -92.38361, - 48.20406 - ], - [ - -92.11564, - 48.27641 - ], - [ - -91.58697, - 48.02516 - ], - [ - -91.24658, - 48.05422 - ], - [ - -90.86275, - 48.20889 - ], - [ - -90.78308, - 48.0639 - ], - [ - -90.0774, - 48.07435 - ], - [ - -89.93835, - 47.96584 - ], - [ - -89.75469, - 47.99609 - ], - [ - -89.32745, - 47.93943 - ], - [ - -88.41489, - 48.26677 - ], - [ - -84.9566, - 46.86086 - ], - [ - -84.84795, - 46.6762 - ], - [ - -84.55904, - 46.45441 - ], - [ - -84.47642, - 46.44972 - ], - [ - -84.43758, - 46.48872 - ], - [ - -84.3669, - 46.5055 - ], - [ - -84.34899, - 46.5055 - ], - [ - -84.29026, - 46.49077 - ], - [ - -84.25742, - 46.49386 - ], - [ - -84.22507, - 46.53187 - ], - [ - -84.1962, - 46.53804 - ], - [ - -84.18027, - 46.52468 - ], - [ - -84.15987, - 46.52468 - ], - [ - -84.13449, - 46.52879 - ], - [ - -84.11558, - 46.50653 - ], - [ - -84.15944, - 46.42769 - ], - [ - -84.10024, - 46.20338 - ], - [ - -83.95558, - 46.05132 - ], - [ - -83.8864, - 46.06125 - ], - [ - -83.8203, - 46.11181 - ], - [ - -83.76975, - 46.09563 - ], - [ - -83.67498, - 46.11391 - ], - [ - -83.58084, - 46.09921 - ], - [ - -83.44747, - 45.99521 - ], - [ - -83.60888, - 45.81772 - ], - [ - -82.14271, - 43.57905 - ], - [ - -82.39133, - 43.06666 - ], - [ - -82.41252, - 43.01127 - ], - [ - -82.42522, - 42.99864 - ], - [ - -82.42618, - 42.99374 - ], - [ - -82.42363, - 42.98536 - ], - [ - -82.41503, - 42.97697 - ], - [ - -82.41853, - 42.96578 - ], - [ - -82.43064, - 42.95203 - ], - [ - -82.44911, - 42.93711 - ], - [ - -82.45739, - 42.92568 - ], - [ - -82.46472, - 42.90562 - ], - [ - -82.47228, - 42.8877 - ], - [ - -82.47228, - 42.84743 - ], - [ - -82.48536, - 42.80967 - ], - [ - -82.46844, - 42.76365 - ], - [ - -82.48586, - 42.73697 - ], - [ - -82.49155, - 42.71168 - ], - [ - -82.51488, - 42.66652 - ], - [ - -82.51224, - 42.63893 - ], - [ - -82.52421, - 42.61103 - ], - [ - -82.56854, - 42.58184 - ], - [ - -82.59498, - 42.55148 - ], - [ - -82.61286, - 42.56409 - ], - [ - -82.65158, - 42.55707 - ], - [ - -82.83439, - 42.3763 - ], - [ - -83.01489, - 42.33457 - ], - [ - -83.07244, - 42.31502 - ], - [ - -83.09647, - 42.29542 - ], - [ - -83.12823, - 42.24126 - ], - [ - -83.14167, - 42.18582 - ], - [ - -83.12799, - 42.12172 - ], - [ - -83.16266, - 42.04963 - ], - [ - -83.05136, - 41.70911 - ], - [ - -82.41932, - 41.6377 - ], - [ - -81.22563, - 42.19633 - ], - [ - -80.06688, - 42.37121 - ], - [ - -78.86642, - 42.825 - ], - [ - -78.90301, - 42.92307 - ], - [ - -78.92063, - 42.95234 - ], - [ - -78.93331, - 42.95708 - ], - [ - -78.96058, - 42.9595 - ], - [ - -78.98479, - 42.9761 - ], - [ - -79.01825, - 42.9964 - ], - [ - -79.01969, - 43.01561 - ], - [ - -79.00695, - 43.0333 - ], - [ - -78.99599, - 43.06448 - ], - [ - -79.07335, - 43.07876 - ], - [ - -79.07286, - 43.083 - ], - [ - -79.0652, - 43.0917 - ], - [ - -79.05623, - 43.10825 - ], - [ - -79.05982, - 43.11563 - ], - [ - -79.06764, - 43.11992 - ], - [ - -79.05411, - 43.12801 - ], - [ - -79.04112, - 43.13986 - ], - [ - -79.04465, - 43.16192 - ], - [ - -79.05101, - 43.17037 - ], - [ - -79.04758, - 43.19974 - ], - [ - -79.05511, - 43.25682 - ], - [ - -79.18688, - 43.44858 - ], - [ - -78.68836, - 43.62502 - ], - [ - -76.77647, - 43.61369 - ], - [ - -76.41665, - 44.08498 - ], - [ - -75.49023, - 44.70772 - ], - [ - -75.29544, - 44.82587 - ], - [ - -75.16845, - 44.88548 - ], - [ - -75.1275, - 44.8975 - ], - [ - -75.00499, - 44.95265 - ], - [ - -74.98159, - 44.97728 - ], - [ - -74.90496, - 44.98222 - ], - [ - -74.8313, - 45.01108 - ], - [ - -74.77954, - 45.00158 - ], - [ - -74.74562, - 44.98526 - ], - [ - -74.70475, - 44.99877 - ], - [ - -74.49079, - 44.99343 - ], - [ - -74.23203, - 44.98552 - ], - [ - -73.93713, - 44.99512 - ], - [ - -73.01809, - 45.0121 - ], - [ - -72.63177, - 45.0121 - ], - [ - -72.54779, - 45.00506 - ], - [ - -72.32259, - 45.00286 - ], - [ - -71.49404, - 45.01093 - ], - [ - -71.48648, - 45.06221 - ], - [ - -71.42303, - 45.12765 - ], - [ - -71.43112, - 45.14037 - ], - [ - -71.37175, - 45.22117 - ], - [ - -71.28959, - 45.28578 - ], - [ - -71.23613, - 45.24302 - ], - [ - -71.11683, - 45.22933 - ], - [ - -71.0531, - 45.29866 - ], - [ - -70.98936, - 45.31088 - ], - [ - -70.90246, - 45.22525 - ], - [ - -70.82473, - 45.22714 - ], - [ - -70.77626, - 45.40013 - ], - [ - -70.7119, - 45.3754 - ], - [ - -70.63387, - 45.37346 - ], - [ - -70.60302, - 45.41179 - ], - [ - -70.67659, - 45.56319 - ], - [ - -70.3752, - 45.73075 - ], - [ - -70.36334, - 45.82013 - ], - [ - -70.25417, - 45.87468 - ], - [ - -70.22569, - 45.94403 - ], - [ - -70.27316, - 45.99022 - ], - [ - -70.17586, - 46.33538 - ], - [ - -70.06195, - 46.4107 - ], - [ - -69.98891, - 46.69363 - ], - [ - -69.22424, - 47.44463 - ], - [ - -69.06999, - 47.41092 - ], - [ - -69.07473, - 47.24202 - ], - [ - -68.89684, - 47.17469 - ], - [ - -68.78685, - 47.21493 - ], - [ - -68.72415, - 47.23217 - ], - [ - -68.68583, - 47.24028 - ], - [ - -68.66044, - 47.23183 - ], - [ - -68.62162, - 47.24028 - ], - [ - -68.59425, - 47.24974 - ], - [ - -68.59226, - 47.27001 - ], - [ - -68.57385, - 47.28486 - ], - [ - -68.55941, - 47.2798 - ], - [ - -68.542, - 47.2798 - ], - [ - -68.51214, - 47.29195 - ], - [ - -68.47381, - 47.29229 - ], - [ - -68.46038, - 47.28149 - ], - [ - -68.43898, - 47.27777 - ], - [ - -68.37229, - 47.2825 - ], - [ - -68.3703, - 47.34796 - ], - [ - -68.33173, - 47.35822 - ], - [ - -68.29664, - 47.352 - ], - [ - -68.2399, - 47.34897 - ], - [ - -68.0906, - 47.26798 - ], - [ - -68.00002, - 47.21223 - ], - [ - -67.96344, - 47.19753 - ], - [ - -67.93582, - 47.15947 - ], - [ - -67.88619, - 47.10424 - ], - [ - -67.80218, - 47.06386 - ], - [ - -67.79415, - 45.93923 - ], - [ - -67.82753, - 45.8489 - ], - [ - -67.82753, - 45.6704 - ], - [ - -67.54943, - 45.57445 - ], - [ - -67.45302, - 45.58742 - ], - [ - -67.44189, - 45.52251 - ], - [ - -67.54201, - 45.49393 - ], - [ - -67.4456, - 45.38726 - ], - [ - -67.51605, - 45.29343 - ], - [ - -67.38257, - 45.11839 - ], - [ - -67.3047, - 45.11316 - ], - [ - -67.26762, - 45.18116 - ], - [ - -67.12671, - 45.09484 - ], - [ - -66.94835, - 44.78406 - ], - [ - -66.52283, - 43.61294 - ], - [ - -65.02339, - 42.10691 - ], - [ - -42.53366, - 47.50263 - ], - [ - -75.90901, - 77.3176 - ], - [ - -71.86482, - 78.7359 - ], - [ - -67.20011, - 80.66812 - ], - [ - -66.20727, - 80.78637 - ], - [ - -54.82473, - 83.07464 - ], - [ - -57.62518, - 85.04043 - ], - [ - -106.7949, - 85.04625 - ], - [ - -141.3957, - 79.2514 - ], - [ - -141.0678, - 60.2442 - ] - ] - ], - overlay: true - }, - { - id: "Geobase_Hydrography_French", - name: "Geobase Hydrography - French", - type: "wms", - template: "https://maps.geogratis.gc.ca/wms/hydro_network_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nhn:nhn&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -141.0678, - 60.2442 - ], - [ - -139.3842, - 60.10331 - ], - [ - -137.4746, - 58.82791 - ], - [ - -135.4766, - 59.65971 - ], - [ - -134.399, - 58.86279 - ], - [ - -132.5239, - 57.08342 - ], - [ - -130.1435, - 55.27452 - ], - [ - -130.7734, - 54.75597 - ], - [ - -132.4355, - 54.71514 - ], - [ - -134.5711, - 54.38827 - ], - [ - -141.7761, - 53.58405 - ], - [ - -128.9768, - 46.41459 - ], - [ - -124.8087, - 48.42976 - ], - [ - -123.4286, - 48.17889 - ], - [ - -123.0256, - 48.40444 - ], - [ - -123.1923701, - 48.6550408 - ], - [ - -122.9958159, - 48.5106543 - ], - [ - -122.4868966, - 48.4098005 - ], - [ - -122.3291531, - 48.4527983 - ], - [ - -122.229391, - 48.5064943 - ], - [ - -122.1790836, - 48.5296509 - ], - [ - -122.1841996, - 48.566905 - ], - [ - -121.7783298, - 48.5759321 - ], - [ - -121.6657777, - 48.4279093 - ], - [ - -121.3306793, - 48.3571354 - ], - [ - -121.0271296, - 48.3497692 - ], - [ - -121.0305403, - 48.4940645 - ], - [ - -120.6979999, - 48.5149675 - ], - [ - -120.510413, - 48.8718034 - ], - [ - -119.9757904, - 48.8813368 - ], - [ - -119.9544737, - 48.5149675 - ], - [ - -119.907577, - 48.2942056 - ], - [ - -119.7319275, - 48.1550316 - ], - [ - -119.7438648, - 48.0741943 - ], - [ - -119.622786, - 48.1095051 - ], - [ - -119.602322, - 48.1470674 - ], - [ - -119.2527283, - 48.1624259 - ], - [ - -114.1499, - 48.99487 - ], - [ - -95.12094, - 48.98405 - ], - [ - -95.13419, - 49.35564 - ], - [ - -94.94415, - 49.34356 - ], - [ - -94.8839, - 49.29522 - ], - [ - -94.71704, - 48.87631 - ], - [ - -94.71791, - 48.7485 - ], - [ - -93.83204, - 48.49765 - ], - [ - -93.43778, - 48.53066 - ], - [ - -93.38216, - 48.59507 - ], - [ - -92.98471, - 48.60312 - ], - [ - -92.73847, - 48.50725 - ], - [ - -92.7095, - 48.42081 - ], - [ - -92.54293, - 48.40158 - ], - [ - -92.38361, - 48.20406 - ], - [ - -92.11564, - 48.27641 - ], - [ - -91.58697, - 48.02516 - ], - [ - -91.24658, - 48.05422 - ], - [ - -90.86275, - 48.20889 - ], - [ - -90.78308, - 48.0639 - ], - [ - -90.0774, - 48.07435 - ], - [ - -89.93835, - 47.96584 - ], - [ - -89.75469, - 47.99609 - ], - [ - -89.32745, - 47.93943 - ], - [ - -88.41489, - 48.26677 - ], - [ - -84.9566, - 46.86086 - ], - [ - -84.84795, - 46.6762 - ], - [ - -84.55904, - 46.45441 - ], - [ - -84.47642, - 46.44972 - ], - [ - -84.43758, - 46.48872 - ], - [ - -84.3669, - 46.5055 - ], - [ - -84.34899, - 46.5055 - ], - [ - -84.29026, - 46.49077 - ], - [ - -84.25742, - 46.49386 - ], - [ - -84.22507, - 46.53187 - ], - [ - -84.1962, - 46.53804 - ], - [ - -84.18027, - 46.52468 - ], - [ - -84.15987, - 46.52468 - ], - [ - -84.13449, - 46.52879 - ], - [ - -84.11558, - 46.50653 - ], - [ - -84.15944, - 46.42769 - ], - [ - -84.10024, - 46.20338 - ], - [ - -83.95558, - 46.05132 - ], - [ - -83.8864, - 46.06125 - ], - [ - -83.8203, - 46.11181 - ], - [ - -83.76975, - 46.09563 - ], - [ - -83.67498, - 46.11391 - ], - [ - -83.58084, - 46.09921 - ], - [ - -83.44747, - 45.99521 - ], - [ - -83.60888, - 45.81772 - ], - [ - -82.14271, - 43.57905 - ], - [ - -82.39133, - 43.06666 - ], - [ - -82.41252, - 43.01127 - ], - [ - -82.42522, - 42.99864 - ], - [ - -82.42618, - 42.99374 - ], - [ - -82.42363, - 42.98536 - ], - [ - -82.41503, - 42.97697 - ], - [ - -82.41853, - 42.96578 - ], - [ - -82.43064, - 42.95203 - ], - [ - -82.44911, - 42.93711 - ], - [ - -82.45739, - 42.92568 - ], - [ - -82.46472, - 42.90562 - ], - [ - -82.47228, - 42.8877 - ], - [ - -82.47228, - 42.84743 - ], - [ - -82.48536, - 42.80967 - ], - [ - -82.46844, - 42.76365 - ], - [ - -82.48586, - 42.73697 - ], - [ - -82.49155, - 42.71168 - ], - [ - -82.51488, - 42.66652 - ], - [ - -82.51224, - 42.63893 - ], - [ - -82.52421, - 42.61103 - ], - [ - -82.56854, - 42.58184 - ], - [ - -82.59498, - 42.55148 - ], - [ - -82.61286, - 42.56409 - ], - [ - -82.65158, - 42.55707 - ], - [ - -82.83439, - 42.3763 - ], - [ - -83.01489, - 42.33457 - ], - [ - -83.07244, - 42.31502 - ], - [ - -83.09647, - 42.29542 - ], - [ - -83.12823, - 42.24126 - ], - [ - -83.14167, - 42.18582 - ], - [ - -83.12799, - 42.12172 - ], - [ - -83.16266, - 42.04963 - ], - [ - -83.05136, - 41.70911 - ], - [ - -82.41932, - 41.6377 - ], - [ - -81.22563, - 42.19633 - ], - [ - -80.06688, - 42.37121 - ], - [ - -78.86642, - 42.825 - ], - [ - -78.90301, - 42.92307 - ], - [ - -78.92063, - 42.95234 - ], - [ - -78.93331, - 42.95708 - ], - [ - -78.96058, - 42.9595 - ], - [ - -78.98479, - 42.9761 - ], - [ - -79.01825, - 42.9964 - ], - [ - -79.01969, - 43.01561 - ], - [ - -79.00695, - 43.0333 - ], - [ - -78.99599, - 43.06448 - ], - [ - -79.07335, - 43.07876 - ], - [ - -79.07286, - 43.083 - ], - [ - -79.0652, - 43.0917 - ], - [ - -79.05623, - 43.10825 - ], - [ - -79.05982, - 43.11563 - ], - [ - -79.06764, - 43.11992 - ], - [ - -79.05411, - 43.12801 - ], - [ - -79.04112, - 43.13986 - ], - [ - -79.04465, - 43.16192 - ], - [ - -79.05101, - 43.17037 - ], - [ - -79.04758, - 43.19974 - ], - [ - -79.05511, - 43.25682 - ], - [ - -79.18688, - 43.44858 - ], - [ - -78.68836, - 43.62502 - ], - [ - -76.77647, - 43.61369 - ], - [ - -76.41665, - 44.08498 - ], - [ - -75.49023, - 44.70772 - ], - [ - -75.29544, - 44.82587 - ], - [ - -75.16845, - 44.88548 - ], - [ - -75.1275, - 44.8975 - ], - [ - -75.00499, - 44.95265 - ], - [ - -74.98159, - 44.97728 - ], - [ - -74.90496, - 44.98222 - ], - [ - -74.8313, - 45.01108 - ], - [ - -74.77954, - 45.00158 - ], - [ - -74.74562, - 44.98526 - ], - [ - -74.70475, - 44.99877 - ], - [ - -74.49079, - 44.99343 - ], - [ - -74.23203, - 44.98552 - ], - [ - -73.93713, - 44.99512 - ], - [ - -73.01809, - 45.0121 - ], - [ - -72.63177, - 45.0121 - ], - [ - -72.54779, - 45.00506 - ], - [ - -72.32259, - 45.00286 - ], - [ - -71.49404, - 45.01093 - ], - [ - -71.48648, - 45.06221 - ], - [ - -71.42303, - 45.12765 - ], - [ - -71.43112, - 45.14037 - ], - [ - -71.37175, - 45.22117 - ], - [ - -71.28959, - 45.28578 - ], - [ - -71.23613, - 45.24302 - ], - [ - -71.11683, - 45.22933 - ], - [ - -71.0531, - 45.29866 - ], - [ - -70.98936, - 45.31088 - ], - [ - -70.90246, - 45.22525 - ], - [ - -70.82473, - 45.22714 - ], - [ - -70.77626, - 45.40013 - ], - [ - -70.7119, - 45.3754 - ], - [ - -70.63387, - 45.37346 - ], - [ - -70.60302, - 45.41179 - ], - [ - -70.67659, - 45.56319 - ], - [ - -70.3752, - 45.73075 - ], - [ - -70.36334, - 45.82013 - ], - [ - -70.25417, - 45.87468 - ], - [ - -70.22569, - 45.94403 - ], - [ - -70.27316, - 45.99022 - ], - [ - -70.17586, - 46.33538 - ], - [ - -70.06195, - 46.4107 - ], - [ - -69.98891, - 46.69363 - ], - [ - -69.22424, - 47.44463 - ], - [ - -69.06999, - 47.41092 - ], - [ - -69.07473, - 47.24202 - ], - [ - -68.89684, - 47.17469 - ], - [ - -68.78685, - 47.21493 - ], - [ - -68.72415, - 47.23217 - ], - [ - -68.68583, - 47.24028 - ], - [ - -68.66044, - 47.23183 - ], - [ - -68.62162, - 47.24028 - ], - [ - -68.59425, - 47.24974 - ], - [ - -68.59226, - 47.27001 - ], - [ - -68.57385, - 47.28486 - ], - [ - -68.55941, - 47.2798 - ], - [ - -68.542, - 47.2798 - ], - [ - -68.51214, - 47.29195 - ], - [ - -68.47381, - 47.29229 - ], - [ - -68.46038, - 47.28149 - ], - [ - -68.43898, - 47.27777 - ], - [ - -68.37229, - 47.2825 - ], - [ - -68.3703, - 47.34796 - ], - [ - -68.33173, - 47.35822 - ], - [ - -68.29664, - 47.352 - ], - [ - -68.2399, - 47.34897 - ], - [ - -68.0906, - 47.26798 - ], - [ - -68.00002, - 47.21223 - ], - [ - -67.96344, - 47.19753 - ], - [ - -67.93582, - 47.15947 - ], - [ - -67.88619, - 47.10424 - ], - [ - -67.80218, - 47.06386 - ], - [ - -67.79415, - 45.93923 - ], - [ - -67.82753, - 45.8489 - ], - [ - -67.82753, - 45.6704 - ], - [ - -67.54943, - 45.57445 - ], - [ - -67.45302, - 45.58742 - ], - [ - -67.44189, - 45.52251 - ], - [ - -67.54201, - 45.49393 - ], - [ - -67.4456, - 45.38726 - ], - [ - -67.51605, - 45.29343 - ], - [ - -67.38257, - 45.11839 - ], - [ - -67.3047, - 45.11316 - ], - [ - -67.26762, - 45.18116 - ], - [ - -67.12671, - 45.09484 - ], - [ - -66.94835, - 44.78406 - ], - [ - -66.52283, - 43.61294 - ], - [ - -65.02339, - 42.10691 - ], - [ - -42.53366, - 47.50263 - ], - [ - -75.90901, - 77.3176 - ], - [ - -71.86482, - 78.7359 - ], - [ - -67.20011, - 80.66812 - ], - [ - -66.20727, - 80.78637 - ], - [ - -54.82473, - 83.07464 - ], - [ - -57.62518, - 85.04043 - ], - [ - -106.7949, - 85.04625 - ], - [ - -141.3957, - 79.2514 - ], - [ - -141.0678, - 60.2442 - ] - ] - ], - overlay: true - }, - { - id: "Geobase_Roads", - name: "Geobase Roads - English", - type: "wms", - template: "https://maps.geogratis.gc.ca/wms/roads_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=roads&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 4, - 20 - ], - polygon: [ - [ - [ - -141.0678, - 60.2442 - ], - [ - -139.3842, - 60.10331 - ], - [ - -137.4746, - 58.82791 - ], - [ - -135.4766, - 59.65971 - ], - [ - -134.399, - 58.86279 - ], - [ - -132.5239, - 57.08342 - ], - [ - -130.1435, - 55.27452 - ], - [ - -130.7734, - 54.75597 - ], - [ - -132.4355, - 54.71514 - ], - [ - -134.5711, - 54.38827 - ], - [ - -141.7761, - 53.58405 - ], - [ - -128.9768, - 46.41459 - ], - [ - -124.8087, - 48.42976 - ], - [ - -123.4286, - 48.17889 - ], - [ - -123.0256, - 48.40444 - ], - [ - -123.1923701, - 48.6550408 - ], - [ - -122.9958159, - 48.5106543 - ], - [ - -122.4868966, - 48.4098005 - ], - [ - -122.3291531, - 48.4527983 - ], - [ - -122.229391, - 48.5064943 - ], - [ - -122.1790836, - 48.5296509 - ], - [ - -122.1841996, - 48.566905 - ], - [ - -121.7783298, - 48.5759321 - ], - [ - -121.6657777, - 48.4279093 - ], - [ - -121.3306793, - 48.3571354 - ], - [ - -121.0271296, - 48.3497692 - ], - [ - -121.0305403, - 48.4940645 - ], - [ - -120.6979999, - 48.5149675 - ], - [ - -120.510413, - 48.8718034 - ], - [ - -119.9757904, - 48.8813368 - ], - [ - -119.9544737, - 48.5149675 - ], - [ - -119.907577, - 48.2942056 - ], - [ - -119.7319275, - 48.1550316 - ], - [ - -119.7438648, - 48.0741943 - ], - [ - -119.622786, - 48.1095051 - ], - [ - -119.602322, - 48.1470674 - ], - [ - -119.2527283, - 48.1624259 - ], - [ - -114.1499, - 48.99487 - ], - [ - -95.12094, - 48.98405 - ], - [ - -95.13419, - 49.35564 - ], - [ - -94.94415, - 49.34356 - ], - [ - -94.8839, - 49.29522 - ], - [ - -94.71704, - 48.87631 - ], - [ - -94.71791, - 48.7485 - ], - [ - -93.83204, - 48.49765 - ], - [ - -93.43778, - 48.53066 - ], - [ - -93.38216, - 48.59507 - ], - [ - -92.98471, - 48.60312 - ], - [ - -92.73847, - 48.50725 - ], - [ - -92.7095, - 48.42081 - ], - [ - -92.54293, - 48.40158 - ], - [ - -92.38361, - 48.20406 - ], - [ - -92.11564, - 48.27641 - ], - [ - -91.58697, - 48.02516 - ], - [ - -91.24658, - 48.05422 - ], - [ - -90.86275, - 48.20889 - ], - [ - -90.78308, - 48.0639 - ], - [ - -90.0774, - 48.07435 - ], - [ - -89.93835, - 47.96584 - ], - [ - -89.75469, - 47.99609 - ], - [ - -89.32745, - 47.93943 - ], - [ - -88.41489, - 48.26677 - ], - [ - -84.9566, - 46.86086 - ], - [ - -84.84795, - 46.6762 - ], - [ - -84.55904, - 46.45441 - ], - [ - -84.47642, - 46.44972 - ], - [ - -84.43758, - 46.48872 - ], - [ - -84.3669, - 46.5055 - ], - [ - -84.34899, - 46.5055 - ], - [ - -84.29026, - 46.49077 - ], - [ - -84.25742, - 46.49386 - ], - [ - -84.22507, - 46.53187 - ], - [ - -84.1962, - 46.53804 - ], - [ - -84.18027, - 46.52468 - ], - [ - -84.15987, - 46.52468 - ], - [ - -84.13449, - 46.52879 - ], - [ - -84.11558, - 46.50653 - ], - [ - -84.15944, - 46.42769 - ], - [ - -84.10024, - 46.20338 - ], - [ - -83.95558, - 46.05132 - ], - [ - -83.8864, - 46.06125 - ], - [ - -83.8203, - 46.11181 - ], - [ - -83.76975, - 46.09563 - ], - [ - -83.67498, - 46.11391 - ], - [ - -83.58084, - 46.09921 - ], - [ - -83.44747, - 45.99521 - ], - [ - -83.60888, - 45.81772 - ], - [ - -82.14271, - 43.57905 - ], - [ - -82.39133, - 43.06666 - ], - [ - -82.41252, - 43.01127 - ], - [ - -82.42522, - 42.99864 - ], - [ - -82.42618, - 42.99374 - ], - [ - -82.42363, - 42.98536 - ], - [ - -82.41503, - 42.97697 - ], - [ - -82.41853, - 42.96578 - ], - [ - -82.43064, - 42.95203 - ], - [ - -82.44911, - 42.93711 - ], - [ - -82.45739, - 42.92568 - ], - [ - -82.46472, - 42.90562 - ], - [ - -82.47228, - 42.8877 - ], - [ - -82.47228, - 42.84743 - ], - [ - -82.48536, - 42.80967 - ], - [ - -82.46844, - 42.76365 - ], - [ - -82.48586, - 42.73697 - ], - [ - -82.49155, - 42.71168 - ], - [ - -82.51488, - 42.66652 - ], - [ - -82.51224, - 42.63893 - ], - [ - -82.52421, - 42.61103 - ], - [ - -82.56854, - 42.58184 - ], - [ - -82.59498, - 42.55148 - ], - [ - -82.61286, - 42.56409 - ], - [ - -82.65158, - 42.55707 - ], - [ - -82.83439, - 42.3763 - ], - [ - -83.01489, - 42.33457 - ], - [ - -83.07244, - 42.31502 - ], - [ - -83.09647, - 42.29542 - ], - [ - -83.12823, - 42.24126 - ], - [ - -83.14167, - 42.18582 - ], - [ - -83.12799, - 42.12172 - ], - [ - -83.16266, - 42.04963 - ], - [ - -83.05136, - 41.70911 - ], - [ - -82.41932, - 41.6377 - ], - [ - -81.22563, - 42.19633 - ], - [ - -80.06688, - 42.37121 - ], - [ - -78.86642, - 42.825 - ], - [ - -78.90301, - 42.92307 - ], - [ - -78.92063, - 42.95234 - ], - [ - -78.93331, - 42.95708 - ], - [ - -78.96058, - 42.9595 - ], - [ - -78.98479, - 42.9761 - ], - [ - -79.01825, - 42.9964 - ], - [ - -79.01969, - 43.01561 - ], - [ - -79.00695, - 43.0333 - ], - [ - -78.99599, - 43.06448 - ], - [ - -79.07335, - 43.07876 - ], - [ - -79.07286, - 43.083 - ], - [ - -79.0652, - 43.0917 - ], - [ - -79.05623, - 43.10825 - ], - [ - -79.05982, - 43.11563 - ], - [ - -79.06764, - 43.11992 - ], - [ - -79.05411, - 43.12801 - ], - [ - -79.04112, - 43.13986 - ], - [ - -79.04465, - 43.16192 - ], - [ - -79.05101, - 43.17037 - ], - [ - -79.04758, - 43.19974 - ], - [ - -79.05511, - 43.25682 - ], - [ - -79.18688, - 43.44858 - ], - [ - -78.68836, - 43.62502 - ], - [ - -76.77647, - 43.61369 - ], - [ - -76.41665, - 44.08498 - ], - [ - -75.49023, - 44.70772 - ], - [ - -75.29544, - 44.82587 - ], - [ - -75.16845, - 44.88548 - ], - [ - -75.1275, - 44.8975 - ], - [ - -75.00499, - 44.95265 - ], - [ - -74.98159, - 44.97728 - ], - [ - -74.90496, - 44.98222 - ], - [ - -74.8313, - 45.01108 - ], - [ - -74.77954, - 45.00158 - ], - [ - -74.74562, - 44.98526 - ], - [ - -74.70475, - 44.99877 - ], - [ - -74.49079, - 44.99343 - ], - [ - -74.23203, - 44.98552 - ], - [ - -73.93713, - 44.99512 - ], - [ - -73.01809, - 45.0121 - ], - [ - -72.63177, - 45.0121 - ], - [ - -72.54779, - 45.00506 - ], - [ - -72.32259, - 45.00286 - ], - [ - -71.49404, - 45.01093 - ], - [ - -71.48648, - 45.06221 - ], - [ - -71.42303, - 45.12765 - ], - [ - -71.43112, - 45.14037 - ], - [ - -71.37175, - 45.22117 - ], - [ - -71.28959, - 45.28578 - ], - [ - -71.23613, - 45.24302 - ], - [ - -71.11683, - 45.22933 - ], - [ - -71.0531, - 45.29866 - ], - [ - -70.98936, - 45.31088 - ], - [ - -70.90246, - 45.22525 - ], - [ - -70.82473, - 45.22714 - ], - [ - -70.77626, - 45.40013 - ], - [ - -70.7119, - 45.3754 - ], - [ - -70.63387, - 45.37346 - ], - [ - -70.60302, - 45.41179 - ], - [ - -70.67659, - 45.56319 - ], - [ - -70.3752, - 45.73075 - ], - [ - -70.36334, - 45.82013 - ], - [ - -70.25417, - 45.87468 - ], - [ - -70.22569, - 45.94403 - ], - [ - -70.27316, - 45.99022 - ], - [ - -70.17586, - 46.33538 - ], - [ - -70.06195, - 46.4107 - ], - [ - -69.98891, - 46.69363 - ], - [ - -69.22424, - 47.44463 - ], - [ - -69.06999, - 47.41092 - ], - [ - -69.07473, - 47.24202 - ], - [ - -68.89684, - 47.17469 - ], - [ - -68.78685, - 47.21493 - ], - [ - -68.72415, - 47.23217 - ], - [ - -68.68583, - 47.24028 - ], - [ - -68.66044, - 47.23183 - ], - [ - -68.62162, - 47.24028 - ], - [ - -68.59425, - 47.24974 - ], - [ - -68.59226, - 47.27001 - ], - [ - -68.57385, - 47.28486 - ], - [ - -68.55941, - 47.2798 - ], - [ - -68.542, - 47.2798 - ], - [ - -68.51214, - 47.29195 - ], - [ - -68.47381, - 47.29229 - ], - [ - -68.46038, - 47.28149 - ], - [ - -68.43898, - 47.27777 - ], - [ - -68.37229, - 47.2825 - ], - [ - -68.3703, - 47.34796 - ], - [ - -68.33173, - 47.35822 - ], - [ - -68.29664, - 47.352 - ], - [ - -68.2399, - 47.34897 - ], - [ - -68.0906, - 47.26798 - ], - [ - -68.00002, - 47.21223 - ], - [ - -67.96344, - 47.19753 - ], - [ - -67.93582, - 47.15947 - ], - [ - -67.88619, - 47.10424 - ], - [ - -67.80218, - 47.06386 - ], - [ - -67.79415, - 45.93923 - ], - [ - -67.82753, - 45.8489 - ], - [ - -67.82753, - 45.6704 - ], - [ - -67.54943, - 45.57445 - ], - [ - -67.45302, - 45.58742 - ], - [ - -67.44189, - 45.52251 - ], - [ - -67.54201, - 45.49393 - ], - [ - -67.4456, - 45.38726 - ], - [ - -67.51605, - 45.29343 - ], - [ - -67.38257, - 45.11839 - ], - [ - -67.3047, - 45.11316 - ], - [ - -67.26762, - 45.18116 - ], - [ - -67.12671, - 45.09484 - ], - [ - -66.94835, - 44.78406 - ], - [ - -66.52283, - 43.61294 - ], - [ - -65.02339, - 42.10691 - ], - [ - -42.53366, - 47.50263 - ], - [ - -75.90901, - 77.3176 - ], - [ - -71.86482, - 78.7359 - ], - [ - -67.20011, - 80.66812 - ], - [ - -66.20727, - 80.78637 - ], - [ - -54.82473, - 83.07464 - ], - [ - -57.62518, - 85.04043 - ], - [ - -106.7949, - 85.04625 - ], - [ - -141.3957, - 79.2514 - ], - [ - -141.0678, - 60.2442 - ] - ] - ] - }, - { - id: "Geobase_Roads_French", - name: "Geobase Roads - French", - type: "wms", - template: "https://cartes.geogratis.gc.ca/wms/roads_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=routes&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 4, - 20 - ], - polygon: [ - [ - [ - -141.0678, - 60.2442 - ], - [ - -139.3842, - 60.10331 - ], - [ - -137.4746, - 58.82791 - ], - [ - -135.4766, - 59.65971 - ], - [ - -134.399, - 58.86279 - ], - [ - -132.5239, - 57.08342 - ], - [ - -130.1435, - 55.27452 - ], - [ - -130.7734, - 54.75597 - ], - [ - -132.4355, - 54.71514 - ], - [ - -134.5711, - 54.38827 - ], - [ - -141.7761, - 53.58405 - ], - [ - -128.9768, - 46.41459 - ], - [ - -124.8087, - 48.42976 - ], - [ - -123.4286, - 48.17889 - ], - [ - -123.0256, - 48.40444 - ], - [ - -123.1923701, - 48.6550408 - ], - [ - -122.9958159, - 48.5106543 - ], - [ - -122.4868966, - 48.4098005 - ], - [ - -122.3291531, - 48.4527983 - ], - [ - -122.229391, - 48.5064943 - ], - [ - -122.1790836, - 48.5296509 - ], - [ - -122.1841996, - 48.566905 - ], - [ - -121.7783298, - 48.5759321 - ], - [ - -121.6657777, - 48.4279093 - ], - [ - -121.3306793, - 48.3571354 - ], - [ - -121.0271296, - 48.3497692 - ], - [ - -121.0305403, - 48.4940645 - ], - [ - -120.6979999, - 48.5149675 - ], - [ - -120.510413, - 48.8718034 - ], - [ - -119.9757904, - 48.8813368 - ], - [ - -119.9544737, - 48.5149675 - ], - [ - -119.907577, - 48.2942056 - ], - [ - -119.7319275, - 48.1550316 - ], - [ - -119.7438648, - 48.0741943 - ], - [ - -119.622786, - 48.1095051 - ], - [ - -119.602322, - 48.1470674 - ], - [ - -119.2527283, - 48.1624259 - ], - [ - -114.1499, - 48.99487 - ], - [ - -95.12094, - 48.98405 - ], - [ - -95.13419, - 49.35564 - ], - [ - -94.94415, - 49.34356 - ], - [ - -94.8839, - 49.29522 - ], - [ - -94.71704, - 48.87631 - ], - [ - -94.71791, - 48.7485 - ], - [ - -93.83204, - 48.49765 - ], - [ - -93.43778, - 48.53066 - ], - [ - -93.38216, - 48.59507 - ], - [ - -92.98471, - 48.60312 - ], - [ - -92.73847, - 48.50725 - ], - [ - -92.7095, - 48.42081 - ], - [ - -92.54293, - 48.40158 - ], - [ - -92.38361, - 48.20406 - ], - [ - -92.11564, - 48.27641 - ], - [ - -91.58697, - 48.02516 - ], - [ - -91.24658, - 48.05422 - ], - [ - -90.86275, - 48.20889 - ], - [ - -90.78308, - 48.0639 - ], - [ - -90.0774, - 48.07435 - ], - [ - -89.93835, - 47.96584 - ], - [ - -89.75469, - 47.99609 - ], - [ - -89.32745, - 47.93943 - ], - [ - -88.41489, - 48.26677 - ], - [ - -84.9566, - 46.86086 - ], - [ - -84.84795, - 46.6762 - ], - [ - -84.55904, - 46.45441 - ], - [ - -84.47642, - 46.44972 - ], - [ - -84.43758, - 46.48872 - ], - [ - -84.3669, - 46.5055 - ], - [ - -84.34899, - 46.5055 - ], - [ - -84.29026, - 46.49077 - ], - [ - -84.25742, - 46.49386 - ], - [ - -84.22507, - 46.53187 - ], - [ - -84.1962, - 46.53804 - ], - [ - -84.18027, - 46.52468 - ], - [ - -84.15987, - 46.52468 - ], - [ - -84.13449, - 46.52879 - ], - [ - -84.11558, - 46.50653 - ], - [ - -84.15944, - 46.42769 - ], - [ - -84.10024, - 46.20338 - ], - [ - -83.95558, - 46.05132 - ], - [ - -83.8864, - 46.06125 - ], - [ - -83.8203, - 46.11181 - ], - [ - -83.76975, - 46.09563 - ], - [ - -83.67498, - 46.11391 - ], - [ - -83.58084, - 46.09921 - ], - [ - -83.44747, - 45.99521 - ], - [ - -83.60888, - 45.81772 - ], - [ - -82.14271, - 43.57905 - ], - [ - -82.39133, - 43.06666 - ], - [ - -82.41252, - 43.01127 - ], - [ - -82.42522, - 42.99864 - ], - [ - -82.42618, - 42.99374 - ], - [ - -82.42363, - 42.98536 - ], - [ - -82.41503, - 42.97697 - ], - [ - -82.41853, - 42.96578 - ], - [ - -82.43064, - 42.95203 - ], - [ - -82.44911, - 42.93711 - ], - [ - -82.45739, - 42.92568 - ], - [ - -82.46472, - 42.90562 - ], - [ - -82.47228, - 42.8877 - ], - [ - -82.47228, - 42.84743 - ], - [ - -82.48536, - 42.80967 - ], - [ - -82.46844, - 42.76365 - ], - [ - -82.48586, - 42.73697 - ], - [ - -82.49155, - 42.71168 - ], - [ - -82.51488, - 42.66652 - ], - [ - -82.51224, - 42.63893 - ], - [ - -82.52421, - 42.61103 - ], - [ - -82.56854, - 42.58184 - ], - [ - -82.59498, - 42.55148 - ], - [ - -82.61286, - 42.56409 - ], - [ - -82.65158, - 42.55707 - ], - [ - -82.83439, - 42.3763 - ], - [ - -83.01489, - 42.33457 - ], - [ - -83.07244, - 42.31502 - ], - [ - -83.09647, - 42.29542 - ], - [ - -83.12823, - 42.24126 - ], - [ - -83.14167, - 42.18582 - ], - [ - -83.12799, - 42.12172 - ], - [ - -83.16266, - 42.04963 - ], - [ - -83.05136, - 41.70911 - ], - [ - -82.41932, - 41.6377 - ], - [ - -81.22563, - 42.19633 - ], - [ - -80.06688, - 42.37121 - ], - [ - -78.86642, - 42.825 - ], - [ - -78.90301, - 42.92307 - ], - [ - -78.92063, - 42.95234 - ], - [ - -78.93331, - 42.95708 - ], - [ - -78.96058, - 42.9595 - ], - [ - -78.98479, - 42.9761 - ], - [ - -79.01825, - 42.9964 - ], - [ - -79.01969, - 43.01561 - ], - [ - -79.00695, - 43.0333 - ], - [ - -78.99599, - 43.06448 - ], - [ - -79.07335, - 43.07876 - ], - [ - -79.07286, - 43.083 - ], - [ - -79.0652, - 43.0917 - ], - [ - -79.05623, - 43.10825 - ], - [ - -79.05982, - 43.11563 - ], - [ - -79.06764, - 43.11992 - ], - [ - -79.05411, - 43.12801 - ], - [ - -79.04112, - 43.13986 - ], - [ - -79.04465, - 43.16192 - ], - [ - -79.05101, - 43.17037 - ], - [ - -79.04758, - 43.19974 - ], - [ - -79.05511, - 43.25682 - ], - [ - -79.18688, - 43.44858 - ], - [ - -78.68836, - 43.62502 - ], - [ - -76.77647, - 43.61369 - ], - [ - -76.41665, - 44.08498 - ], - [ - -75.49023, - 44.70772 - ], - [ - -75.29544, - 44.82587 - ], - [ - -75.16845, - 44.88548 - ], - [ - -75.1275, - 44.8975 - ], - [ - -75.00499, - 44.95265 - ], - [ - -74.98159, - 44.97728 - ], - [ - -74.90496, - 44.98222 - ], - [ - -74.8313, - 45.01108 - ], - [ - -74.77954, - 45.00158 - ], - [ - -74.74562, - 44.98526 - ], - [ - -74.70475, - 44.99877 - ], - [ - -74.49079, - 44.99343 - ], - [ - -74.23203, - 44.98552 - ], - [ - -73.93713, - 44.99512 - ], - [ - -73.01809, - 45.0121 - ], - [ - -72.63177, - 45.0121 - ], - [ - -72.54779, - 45.00506 - ], - [ - -72.32259, - 45.00286 - ], - [ - -71.49404, - 45.01093 - ], - [ - -71.48648, - 45.06221 - ], - [ - -71.42303, - 45.12765 - ], - [ - -71.43112, - 45.14037 - ], - [ - -71.37175, - 45.22117 - ], - [ - -71.28959, - 45.28578 - ], - [ - -71.23613, - 45.24302 - ], - [ - -71.11683, - 45.22933 - ], - [ - -71.0531, - 45.29866 - ], - [ - -70.98936, - 45.31088 - ], - [ - -70.90246, - 45.22525 - ], - [ - -70.82473, - 45.22714 - ], - [ - -70.77626, - 45.40013 - ], - [ - -70.7119, - 45.3754 - ], - [ - -70.63387, - 45.37346 - ], - [ - -70.60302, - 45.41179 - ], - [ - -70.67659, - 45.56319 - ], - [ - -70.3752, - 45.73075 - ], - [ - -70.36334, - 45.82013 - ], - [ - -70.25417, - 45.87468 - ], - [ - -70.22569, - 45.94403 - ], - [ - -70.27316, - 45.99022 - ], - [ - -70.17586, - 46.33538 - ], - [ - -70.06195, - 46.4107 - ], - [ - -69.98891, - 46.69363 - ], - [ - -69.22424, - 47.44463 - ], - [ - -69.06999, - 47.41092 - ], - [ - -69.07473, - 47.24202 - ], - [ - -68.89684, - 47.17469 - ], - [ - -68.78685, - 47.21493 - ], - [ - -68.72415, - 47.23217 - ], - [ - -68.68583, - 47.24028 - ], - [ - -68.66044, - 47.23183 - ], - [ - -68.62162, - 47.24028 - ], - [ - -68.59425, - 47.24974 - ], - [ - -68.59226, - 47.27001 - ], - [ - -68.57385, - 47.28486 - ], - [ - -68.55941, - 47.2798 - ], - [ - -68.542, - 47.2798 - ], - [ - -68.51214, - 47.29195 - ], - [ - -68.47381, - 47.29229 - ], - [ - -68.46038, - 47.28149 - ], - [ - -68.43898, - 47.27777 - ], - [ - -68.37229, - 47.2825 - ], - [ - -68.3703, - 47.34796 - ], - [ - -68.33173, - 47.35822 - ], - [ - -68.29664, - 47.352 - ], - [ - -68.2399, - 47.34897 - ], - [ - -68.0906, - 47.26798 - ], - [ - -68.00002, - 47.21223 - ], - [ - -67.96344, - 47.19753 - ], - [ - -67.93582, - 47.15947 - ], - [ - -67.88619, - 47.10424 - ], - [ - -67.80218, - 47.06386 - ], - [ - -67.79415, - 45.93923 - ], - [ - -67.82753, - 45.8489 - ], - [ - -67.82753, - 45.6704 - ], - [ - -67.54943, - 45.57445 - ], - [ - -67.45302, - 45.58742 - ], - [ - -67.44189, - 45.52251 - ], - [ - -67.54201, - 45.49393 - ], - [ - -67.4456, - 45.38726 - ], - [ - -67.51605, - 45.29343 - ], - [ - -67.38257, - 45.11839 - ], - [ - -67.3047, - 45.11316 - ], - [ - -67.26762, - 45.18116 - ], - [ - -67.12671, - 45.09484 - ], - [ - -66.94835, - 44.78406 - ], - [ - -66.52283, - 43.61294 - ], - [ - -65.02339, - 42.10691 - ], - [ - -42.53366, - 47.50263 - ], - [ - -75.90901, - 77.3176 - ], - [ - -71.86482, - 78.7359 - ], - [ - -67.20011, - 80.66812 - ], - [ - -66.20727, - 80.78637 - ], - [ - -54.82473, - 83.07464 - ], - [ - -57.62518, - 85.04043 - ], - [ - -106.7949, - 85.04625 - ], - [ - -141.3957, - 79.2514 - ], - [ - -141.0678, - 60.2442 - ] - ] - ] - }, - { - id: "geoimage.at", - name: "Geoimage.at MaxRes", - type: "wms", - template: "http://gis.lebensministerium.at/wmsgw/?key=4d80de696cd562a63ce463a58a61488d&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=Luftbild_MR,Luftbild_1m,Luftbild_8m,Satellitenbild_30m&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - 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 - ], - [ - 16.5073284, - 46.9929304 - ] - ] - ], - terms_url: "http://geoimage.at", - terms_text: "geoimage.at", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QwTFA8gQvGHigAAAwtJREFUOMvtk19oW1Ucx7/nnntukpvGtF2btHG1o52bYxULOp99sYggiM7pVKbbQNCH+SYOFMHCHhR88g9jjPmgm32YMpGNTbpp1W5D7NyfJnYLTdNm3ZI0SZPc5N5zzz3n+CIiCtM9+KQf+D39+H74Pfy+wH8Ocqvlh4enyblMO7JpKHl/X080sbhcnH3r3eNXkR1XtyU8cHiS2Hakf+iuxJ7enq7n4x12ijFDtz3fW11tzBZL1YMnpjKfvrN3m/O3ws+OTRnxmP1gsrf7g2RizUbGLCtkGdSkBnigtPCFaLXc1ZvF8vfZXOG1HdvGcn/M0z8Ln9nx8vBAas0ngwN9dzPGmGlSCkIMrTQxQABCSDjE2B2xyJ2E0A0d/Q+cPP/tMb7v0Kwx+tBz5PcL9350mXZFVuzR4b73Nm3o326HQpYdNonWMEAIgdZQWmvP8yECpZptKetNtzqTLkz8UpBfKmJ1tJo1SgBgfP8V2mhVn2JYet0Osc09Xabp+DFdbpgkV7SQ6jbRdCXaHAgU4AsFj0sQAFGbgguNhsPRqiyeM/d/PkezS4WxRilzpLM5ga5EEu5qGJvXDZFDuXvA4sO4b30MXCi4XCLRGYZhaFQaEtTQ6I5bKNV8HJ3ML1cLM+Pm1fnCaNFZmLhRORkkUltIpl2mI/duxMW8Rk0N4okRG3OLDtb2RlB3AthhgXI9QLbgIp13QQ0CrQSEU57JnX3/OBnbfWBfpVIZjEb7DClb8WRv50jMDqesSNzwpU+UFAiZFIGmaHsKFjNAKNOub8LhkC6XbiD4wvXLR19dOH/wzF9+8McL6Uev31jJNlrc8Xjg+4GSvlBKSKXaLpfFUk3kl5bddOZa7dTk1PTT2194DED3LfqxlZz+7qc35uZvXitXHdf1ROALKX+boO353nKpXr2UyU9/deLMzn9aPfLNDz+/NLC2/0WDhgZNxnqYSUzOA0f4vMg9J33xytzHz2595Ivb6vKet48kHx/b8mQ40vFwNMKS9UbzQmWleHrXK29+XZs/1cD//Cv8CriEgFStQ2K4AAAAAElFTkSuQmCC" - }, - { - id: "Geolittoral-Orthophotos2000", - name: "Géolittoral - Orthophotos 2000", - type: "wms", - template: "http://geolittoral.application.developpement-durable.gouv.fr/wms2/metropole?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortholittorale&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2000-01-01T00:00:00.000Z", - startDate: "2000-01-01T00:00:00.000Z", - polygon: [ - [ - [ - -1.0796243, - 46.1095893 - ], - [ - -0.9411452, - 46.0147437 - ], - [ - -0.5630573, - 45.1517801 - ], - [ - -0.7265951, - 45.0842493 - ], - [ - -0.8790355, - 45.340936 - ], - [ - -0.9979449, - 45.3377907 - ], - [ - -0.9555838, - 44.6998247 - ], - [ - -1.1586189, - 44.1986482 - ], - [ - -1.2151202, - 44.2055773 - ], - [ - -1.2465448, - 44.1162047 - ], - [ - -1.2790262, - 44.0393718 - ], - [ - -1.2882474, - 44.0230397 - ], - [ - -1.3211693, - 43.9409384 - ], - [ - -1.321506, - 43.922956 - ], - [ - -1.3092024, - 43.9233665 - ], - [ - -1.308503, - 43.914392 - ], - [ - -1.2836627, - 43.9151384 - ], - [ - -1.2830152, - 43.9062373 - ], - [ - -1.2760964, - 43.9065485 - ], - [ - -1.2821086, - 43.8925378 - ], - [ - -1.3010173, - 43.8515886 - ], - [ - -1.3038406, - 43.8423978 - ], - [ - -1.3092283, - 43.8349806 - ], - [ - -1.3347421, - 43.7694562 - ], - [ - -1.3440669, - 43.7487464 - ], - [ - -1.3455951, - 43.742141 - ], - [ - -1.3467348, - 43.7368823 - ], - [ - -1.432844, - 43.53152 - ], - [ - -1.4280594, - 43.4681233 - ], - [ - -1.6062745, - 43.4059107 - ], - [ - -1.6060955, - 43.3601202 - ], - [ - -1.7744064, - 43.3035717 - ], - [ - -1.8299531, - 43.384841 - ], - [ - -1.5855116, - 43.4685563 - ], - [ - -1.3570598, - 44.0337366 - ], - [ - -1.4021655, - 44.0646122 - ], - [ - -1.3358385, - 44.2283161 - ], - [ - -1.218361, - 44.2303255 - ], - [ - -1.1679453, - 44.4109713 - ], - [ - -1.3074387, - 44.418472 - ], - [ - -1.1697949, - 45.5910689 - ], - [ - -1.486847, - 46.0604176 - ], - [ - -1.3636417, - 46.0914593 - ], - [ - -1.601759, - 46.1701852 - ], - [ - -1.6444184, - 46.2237487 - ], - [ - -1.5859481, - 46.304264 - ], - [ - -1.5100772, - 46.3388783 - ], - [ - -1.756428, - 46.4221446 - ], - [ - -2.1871988, - 46.8185697 - ], - [ - -2.1642284, - 46.8553436 - ], - [ - -2.2365406, - 46.9337048 - ], - [ - -2.3976918, - 46.9671834 - ], - [ - -2.2820042, - 47.0763113 - ], - [ - -2.1256261, - 47.018745 - ], - [ - -2.0901262, - 47.065624 - ], - [ - -2.184872, - 47.1069799 - ], - [ - -2.2647018, - 47.1076296 - ], - [ - -2.2448935, - 47.1856218 - ], - [ - -2.5677926, - 47.2446686 - ], - [ - -2.6672667, - 47.4668599 - ], - [ - -2.7478721, - 47.4712158 - ], - [ - -2.7577135, - 47.4346122 - ], - [ - -2.8932063, - 47.4629031 - ], - [ - -2.9036899, - 47.5090529 - ], - [ - -3.0338252, - 47.5383308 - ], - [ - -3.0711295, - 47.5118452 - ], - [ - -3.0165289, - 47.4987314 - ], - [ - -3.1250228, - 47.4269256 - ], - [ - -3.1880328, - 47.4844142 - ], - [ - -3.2279087, - 47.6113186 - ], - [ - -3.2966969, - 47.6316051 - ], - [ - -3.2875957, - 47.6715415 - ], - [ - -3.3407355, - 47.6689257 - ], - [ - -3.3891187, - 47.5947342 - ], - [ - -3.55087, - 47.6382724 - ], - [ - -3.5338384, - 47.724884 - ], - [ - -3.7657669, - 47.7647571 - ], - [ - -3.7759528, - 47.737096 - ], - [ - -3.9116771, - 47.7591549 - ], - [ - -3.8959022, - 47.7991129 - ], - [ - -3.9723628, - 47.8152607 - ], - [ - -3.9972201, - 47.7975006 - ], - [ - -3.97956, - 47.7626769 - ], - [ - -3.8945008, - 47.7219346 - ], - [ - -3.9161956, - 47.6783103 - ], - [ - -4.1016259, - 47.7092072 - ], - [ - -4.0898857, - 47.7894357 - ], - [ - -4.0379763, - 47.7990868 - ], - [ - -4.0412502, - 47.8310926 - ], - [ - -4.0876491, - 47.8422143 - ], - [ - -4.1478057, - 47.8252534 - ], - [ - -4.1431427, - 47.7884708 - ], - [ - -4.3516237, - 47.7414997 - ], - [ - -4.4796232, - 47.9776016 - ], - [ - -4.9856536, - 47.9989633 - ], - [ - -4.9693825, - 48.0897202 - ], - [ - -4.63576, - 48.0779844 - ], - [ - -4.6014717, - 48.1146852 - ], - [ - -4.3850007, - 48.1096154 - ], - [ - -4.3895513, - 48.1454286 - ], - [ - -4.3092543, - 48.1500888 - ], - [ - -4.3126821, - 48.1769373 - ], - [ - -4.4636854, - 48.1846773 - ], - [ - -4.4974841, - 48.1453035 - ], - [ - -4.5921009, - 48.1475763 - ], - [ - -4.5753669, - 48.22488 - ], - [ - -4.6710089, - 48.2330974 - ], - [ - -4.654341, - 48.3104921 - ], - [ - -4.8424298, - 48.3004956 - ], - [ - -5.1986731, - 48.4492607 - ], - [ - -5.103461, - 48.5172155 - ], - [ - -4.81465, - 48.3941286 - ], - [ - -4.8351542, - 48.5431896 - ], - [ - -4.6338697, - 48.6637334 - ], - [ - -3.9669223, - 48.7797813 - ], - [ - -3.9493945, - 48.7471474 - ], - [ - -3.6501973, - 48.7535602 - ], - [ - -3.6585313, - 48.8252653 - ], - [ - -3.539314, - 48.8583372 - ], - [ - -3.5444401, - 48.9029653 - ], - [ - -3.4095425, - 48.9186584 - ], - [ - -3.4075537, - 48.8736644 - ], - [ - -3.0276871, - 48.9275037 - ], - [ - -2.6786137, - 48.5884071 - ], - [ - -2.2847486, - 48.7190877 - ], - [ - -2.1754283, - 48.650163 - ], - [ - -2.0136968, - 48.7322121 - ], - [ - -1.8095282, - 48.7317759 - ], - [ - -1.8039194, - 48.6612609 - ], - [ - -1.6116146, - 48.6858177 - ], - [ - -1.7164548, - 49.2478104 - ], - [ - -1.8026014, - 49.3272144 - ], - [ - -1.8574757, - 49.3253007 - ], - [ - -1.9262013, - 49.6557284 - ], - [ - -2.03908, - 49.6787215 - ], - [ - -2.0044546, - 49.7608677 - ], - [ - -1.6175855, - 49.6849834 - ], - [ - -1.2837344, - 49.7606702 - ], - [ - -1.1492009, - 49.6350423 - ], - [ - -1.1713375, - 49.5541159 - ], - [ - -1.2735291, - 49.5524476 - ], - [ - -1.1327984, - 49.3933982 - ], - [ - -0.930595, - 49.4080413 - ], - [ - -0.7482671, - 49.3597647 - ], - [ - -0.3893456, - 49.34167 - ], - [ - -0.2470445, - 49.2999494 - ], - [ - -0.1245368, - 49.2935335 - ], - [ - 0.0273095, - 49.3761879 - ], - [ - 0.0180063, - 49.5465556 - ], - [ - 0.1221093, - 49.6929183 - ], - [ - 0.5171306, - 49.8646551 - ], - [ - 1.057268, - 49.9490353 - ], - [ - 1.4390814, - 50.1181936 - ], - [ - 1.5317687, - 50.4643666 - ], - [ - 1.5254895, - 50.8586668 - ], - [ - 1.6411818, - 50.9591925 - ], - [ - 2.452105, - 51.1214375 - ], - [ - 2.5928557, - 51.1212359 - ], - [ - 2.6068264, - 51.0577932 - ], - [ - 1.7975971, - 50.8990562 - ], - [ - 1.6645759, - 50.8237878 - ], - [ - 1.7078633, - 50.1282048 - ], - [ - 1.0593618, - 49.85 - ], - [ - 0.6160689, - 49.7906207 - ], - [ - 0.2473107, - 49.6502699 - ], - [ - 0.1709048, - 49.5317374 - ], - [ - 0.5706464, - 49.496223 - ], - [ - 0.4111492, - 49.3395965 - ], - [ - 0.1950421, - 49.3573571 - ], - [ - 0.0171786, - 49.2547917 - ], - [ - -0.2445265, - 49.2631234 - ], - [ - -0.3840751, - 49.3049516 - ], - [ - -0.7409079, - 49.3243829 - ], - [ - -0.995405, - 49.3713264 - ], - [ - -1.0545337, - 49.2517481 - ], - [ - -1.27704, - 49.2902182 - ], - [ - -1.2596644, - 49.4346254 - ], - [ - -1.3914123, - 49.5398482 - ], - [ - -1.2753453, - 49.6205575 - ], - [ - -1.2977482, - 49.6594602 - ], - [ - -1.490498, - 49.5713903 - ], - [ - -1.77517, - 49.6339843 - ], - [ - -1.7460051, - 49.4815523 - ], - [ - -1.5129407, - 49.2469097 - ], - [ - -1.4826149, - 48.7260698 - ], - [ - -1.3057444, - 48.725312 - ], - [ - -1.283234, - 48.5973085 - ], - [ - -2.7611439, - 48.4347142 - ], - [ - -3.0017371, - 48.6764625 - ], - [ - -3.210615, - 48.7209691 - ], - [ - -3.9540369, - 48.5605102 - ], - [ - -4.1564328, - 48.6079181 - ], - [ - -4.4447478, - 48.5585184 - ], - [ - -4.6368255, - 48.482991 - ], - [ - -4.6318979, - 48.4472691 - ], - [ - -4.2502228, - 48.43088 - ], - [ - -4.0614098, - 48.2180466 - ], - [ - -4.1757039, - 48.0516486 - ], - [ - -4.3190366, - 48.0140984 - ], - [ - -4.2678092, - 47.8997734 - ], - [ - -3.8848444, - 47.9817224 - ], - [ - -3.7637481, - 47.8640348 - ], - [ - -2.3272701, - 47.5263402 - ], - [ - -2.3691075, - 47.3338959 - ], - [ - -1.7406713, - 47.3350685 - ], - [ - -1.7706224, - 47.204506 - ], - [ - -2.0367815, - 47.2194206 - ], - [ - -2.096803, - 47.1554772 - ], - [ - -1.8878613, - 47.0123909 - ], - [ - -2.0879728, - 46.8300739 - ], - [ - -2.0121404, - 46.8343598 - ], - [ - -1.8407867, - 46.6965096 - ], - [ - -1.873184, - 46.654836 - ], - [ - -1.688585, - 46.5039205 - ], - [ - -1.6211652, - 46.5151306 - ], - [ - -1.4242755, - 46.4167482 - ], - [ - -1.0176087, - 46.3591735 - ], - [ - -1.0796243, - 46.1095893 - ] - ], - [ - [ - -2.4123238, - 46.6924223 - ], - [ - -2.3719717, - 46.676112 - ], - [ - -2.2674923, - 46.680326 - ], - [ - -2.270068, - 46.7070521 - ], - [ - -2.2982682, - 46.7328597 - ], - [ - -2.4165505, - 46.7371145 - ], - [ - -2.4123238, - 46.6924223 - ] - ], - [ - [ - -3.06018, - 47.4054194 - ], - [ - -2.8258703, - 47.2963471 - ], - [ - -2.7878715, - 47.3341715 - ], - [ - -3.0243638, - 47.4456259 - ], - [ - -3.06018, - 47.4054194 - ] - ], - [ - [ - -3.2648203, - 47.4295047 - ], - [ - -3.334303, - 47.3592752 - ], - [ - -3.2961388, - 47.3413278 - ], - [ - -3.3148902, - 47.3005706 - ], - [ - -3.1994054, - 47.2449216 - ], - [ - -3.1656728, - 47.2775103 - ], - [ - -3.086864, - 47.2361201 - ], - [ - -3.0063687, - 47.3085541 - ], - [ - -3.2648203, - 47.4295047 - ] - ], - [ - [ - -1.939663, - 48.8634633 - ], - [ - -1.9399349, - 48.9117889 - ], - [ - -1.7009983, - 48.9110507 - ], - [ - -1.6972613, - 48.8617305 - ], - [ - -1.939663, - 48.8634633 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral", - terms_text: "Ortho littorale 2000" - }, - { - id: "Geolittoral-Sentiers", - name: "Géolittoral - Sentiers", - type: "wms", - template: "http://geolittoral.application.developpement-durable.gouv.fr/wms2/metropole?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=n_sentier_littoral_l&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -0.9838474, - 46.1880746 - ], - [ - -0.8949679, - 46.156277 - ], - [ - -0.934552, - 46.1016299 - ], - [ - -0.843878, - 46.0694893 - ], - [ - -0.8824065, - 46.0163689 - ], - [ - -0.5378663, - 45.8955775 - ], - [ - -0.6349793, - 45.7644353 - ], - [ - -0.8666589, - 45.8479032 - ], - [ - -0.7626356, - 45.6245041 - ], - [ - -0.6969519, - 45.6265921 - ], - [ - -0.6939663, - 45.6018445 - ], - [ - -0.6875472, - 45.6017401 - ], - [ - -0.6879951, - 45.5098594 - ], - [ - -0.6379859, - 45.5089178 - ], - [ - -0.6397773, - 45.4474748 - ], - [ - -0.615743, - 45.4469511 - ], - [ - -0.6161909, - 45.3858599 - ], - [ - -0.585439, - 45.3859647 - ], - [ - -0.5852897, - 45.3233381 - ], - [ - -0.5537914, - 45.323443 - ], - [ - -0.5527464, - 45.1966145 - ], - [ - -0.490944, - 45.195773 - ], - [ - -0.4918397, - 45.1331467 - ], - [ - -0.4566094, - 45.133252 - ], - [ - -0.4551166, - 45.0716113 - ], - [ - -0.4161067, - 45.0708893 - ], - [ - -0.4162123, - 45.0269636 - ], - [ - -0.2907042, - 44.9827801 - ], - [ - -0.2199988, - 45.0677104 - ], - [ - -0.1225183, - 45.0256272 - ], - [ - -0.1892469, - 44.9459114 - ], - [ - -0.0926621, - 44.9101881 - ], - [ - -0.145209, - 44.8392042 - ], - [ - -0.1549123, - 44.8423797 - ], - [ - -0.1938747, - 44.7867829 - ], - [ - -0.4354115, - 44.8731731 - ], - [ - -0.3904779, - 44.6841324 - ], - [ - -0.5879767, - 44.6601403 - ], - [ - -0.6662784, - 44.9912911 - ], - [ - -0.7783806, - 44.9926348 - ], - [ - -0.7776417, - 45.0538898 - ], - [ - -0.8158437, - 45.0532114 - ], - [ - -0.818377, - 45.1196158 - ], - [ - -0.8839284, - 45.1205096 - ], - [ - -0.8817117, - 45.1808092 - ], - [ - -0.9343849, - 45.1818509 - ], - [ - -0.9328016, - 45.2448356 - ], - [ - -1.0016252, - 45.2443896 - ], - [ - -1.0024696, - 45.3082702 - ], - [ - -1.0523984, - 45.3101261 - ], - [ - -1.0482817, - 45.3691125 - ], - [ - -1.0641153, - 45.3691125 - ], - [ - -1.0503928, - 45.1825205 - ], - [ - -1.1076051, - 44.8078702 - ], - [ - -1.0151366, - 44.8011296 - ], - [ - -1.0194644, - 44.7691388 - ], - [ - -0.933646, - 44.7614944 - ], - [ - -0.9404017, - 44.7018029 - ], - [ - -0.9603521, - 44.5643388 - ], - [ - -1.014081, - 44.5676478 - ], - [ - -1.0991605, - 44.1456002 - ], - [ - -1.2268852, - 44.140222 - ], - [ - -1.2185281, - 44.0324931 - ], - [ - -1.3076188, - 44.029002 - ], - [ - -1.3957164, - 43.7430052 - ], - [ - -1.3129592, - 43.7295057 - ], - [ - -1.3743937, - 43.5310863 - ], - [ - -1.3458932, - 43.506056 - ], - [ - -1.599642, - 43.3542258 - ], - [ - -1.7654877, - 43.255483 - ], - [ - -1.7928061, - 43.2803753 - ], - [ - -1.8028079, - 43.4042503 - ], - [ - -1.7283167, - 43.4503267 - ], - [ - -1.5853054, - 43.4890037 - ], - [ - -1.3358385, - 44.2283161 - ], - [ - -1.3074387, - 44.418472 - ], - [ - -1.2251061, - 45.4441615 - ], - [ - -1.486847, - 46.0604176 - ], - [ - -1.601759, - 46.1701852 - ], - [ - -1.6444184, - 46.2237487 - ], - [ - -1.756428, - 46.4221446 - ], - [ - -2.0348287, - 46.6189544 - ], - [ - -2.3465983, - 46.6238164 - ], - [ - -2.4656134, - 46.7119647 - ], - [ - -2.3232967, - 46.8381171 - ], - [ - -2.4528645, - 46.9385605 - ], - [ - -2.3173318, - 47.1621397 - ], - [ - -2.9284827, - 47.2841337 - ], - [ - -2.967417, - 47.2214691 - ], - [ - -3.3560228, - 47.3247359 - ], - [ - -3.1880328, - 47.4844142 - ], - [ - -3.2279087, - 47.6113186 - ], - [ - -3.3891187, - 47.5947342 - ], - [ - -3.9161956, - 47.6783103 - ], - [ - -4.1016259, - 47.7092072 - ], - [ - -4.1431427, - 47.7884708 - ], - [ - -4.3761893, - 47.7106674 - ], - [ - -4.4796232, - 47.9776016 - ], - [ - -4.9856536, - 47.9989633 - ], - [ - -4.9693825, - 48.0897202 - ], - [ - -4.6014717, - 48.1146852 - ], - [ - -4.5921009, - 48.1475763 - ], - [ - -4.6710089, - 48.2330974 - ], - [ - -4.8424298, - 48.3004956 - ], - [ - -5.1986731, - 48.4492607 - ], - [ - -5.103461, - 48.5172155 - ], - [ - -4.8351542, - 48.5431896 - ], - [ - -4.6311736, - 48.6612896 - ], - [ - -3.9669223, - 48.7797813 - ], - [ - -3.9493945, - 48.7471474 - ], - [ - -3.6701315, - 48.895078 - ], - [ - -3.5444401, - 48.9029653 - ], - [ - -3.4095425, - 48.9186584 - ], - [ - -3.3334381, - 48.904579 - ], - [ - -3.0276871, - 48.9275037 - ], - [ - -2.8020731, - 48.7979285 - ], - [ - -2.6935289, - 48.7672208 - ], - [ - -2.4578583, - 48.7089607 - ], - [ - -2.2847486, - 48.7190877 - ], - [ - -2.1754283, - 48.650163 - ], - [ - -2.0136968, - 48.7322121 - ], - [ - -1.8095282, - 48.7317759 - ], - [ - -1.7243003, - 48.7582771 - ], - [ - -1.7055705, - 48.8451195 - ], - [ - -1.9030442, - 48.8628775 - ], - [ - -1.9102707, - 48.9234787 - ], - [ - -1.6871357, - 48.9324898 - ], - [ - -1.7427683, - 49.244734 - ], - [ - -1.8574757, - 49.3253007 - ], - [ - -1.9262013, - 49.6557284 - ], - [ - -2.03908, - 49.6787215 - ], - [ - -2.0044546, - 49.7608677 - ], - [ - -1.6175855, - 49.6849834 - ], - [ - -1.2837344, - 49.7606702 - ], - [ - -1.1492009, - 49.6350423 - ], - [ - -1.1854462, - 49.5483609 - ], - [ - -0.9646323, - 49.4250945 - ], - [ - -0.7442883, - 49.3680181 - ], - [ - -0.3901362, - 49.3621973 - ], - [ - -0.2497648, - 49.3157973 - ], - [ - -0.1334235, - 49.3129316 - ], - [ - 0.0273095, - 49.3761879 - ], - [ - 0.0180063, - 49.5465556 - ], - [ - 0.1221093, - 49.6929183 - ], - [ - 0.5171306, - 49.8646551 - ], - [ - 1.057268, - 49.9490353 - ], - [ - 1.4390814, - 50.1181936 - ], - [ - 1.5317687, - 50.4643666 - ], - [ - 1.5254895, - 50.8586668 - ], - [ - 1.6411818, - 50.9591925 - ], - [ - 2.5971186, - 51.1735455 - ], - [ - 2.6607107, - 51.0195972 - ], - [ - 2.0712386, - 50.9202211 - ], - [ - 2.05937, - 50.9470929 - ], - [ - 1.7975971, - 50.8990562 - ], - [ - 1.6808947, - 50.8717016 - ], - [ - 1.6556923, - 50.5972904 - ], - [ - 1.7535714, - 50.5931978 - ], - [ - 1.7229475, - 50.2470239 - ], - [ - 1.8215592, - 50.2426198 - ], - [ - 1.8014852, - 50.0511647 - ], - [ - 1.5456517, - 50.063112 - ], - [ - 1.541549, - 50.0126688 - ], - [ - 1.4246216, - 50.0174707 - ], - [ - 1.426673, - 50.0527642 - ], - [ - 1.0383804, - 49.8460945 - ], - [ - 0.9827008, - 49.8891609 - ], - [ - 0.5796091, - 49.8213328 - ], - [ - 0.420629, - 49.76297 - ], - [ - 0.4281018, - 49.7544509 - ], - [ - 0.2083136, - 49.6726862 - ], - [ - 0.147652, - 49.5776743 - ], - [ - 0.1346112, - 49.5809045 - ], - [ - 0.1111672, - 49.543649 - ], - [ - 0.5659823, - 49.520445 - ], - [ - 0.5631983, - 49.4998946 - ], - [ - 0.6300139, - 49.496659 - ], - [ - 0.6147753, - 49.3744072 - ], - [ - 0.5482527, - 49.3785094 - ], - [ - 0.5425382, - 49.3346073 - ], - [ - 0.4574069, - 49.3393812 - ], - [ - 0.4584326, - 49.3449183 - ], - [ - 0.3259735, - 49.354559 - ], - [ - 0.3284645, - 49.3812758 - ], - [ - 0.280111, - 49.3843283 - ], - [ - 0.2768875, - 49.363339 - ], - [ - 0.210951, - 49.3665834 - ], - [ - 0.208167, - 49.3508366 - ], - [ - 0.1432562, - 49.3553225 - ], - [ - 0.1376883, - 49.3114953 - ], - [ - 0.0720449, - 49.3153162 - ], - [ - 0.0675026, - 49.2871299 - ], - [ - 0.0027383, - 49.2907616 - ], - [ - 0.0050827, - 49.2571106 - ], - [ - -0.0202662, - 49.260362 - ], - [ - -0.0349188, - 49.1973043 - ], - [ - -0.194485, - 49.2146316 - ], - [ - -0.389657, - 49.127263 - ], - [ - -0.4536886, - 49.1879201 - ], - [ - -0.3561026, - 49.2321443 - ], - [ - -0.8208815, - 49.2833068 - ], - [ - -0.9977772, - 49.3014908 - ], - [ - -1.1672818, - 49.2454506 - ], - [ - -1.1951526, - 49.2818265 - ], - [ - -1.2676791, - 49.2409863 - ], - [ - -1.341138, - 49.2975045 - ], - [ - -1.2476825, - 49.3502459 - ], - [ - -1.4458287, - 49.6068946 - ], - [ - -1.8110511, - 49.6175689 - ], - [ - -1.7747878, - 49.4433325 - ], - [ - -1.7277493, - 49.4650871 - ], - [ - -1.5338965, - 49.2909826 - ], - [ - -1.4790873, - 49.2923341 - ], - [ - -1.4760826, - 49.2402747 - ], - [ - -1.4355714, - 49.2032589 - ], - [ - -1.4722491, - 49.182201 - ], - [ - -1.4509056, - 48.7572466 - ], - [ - -1.3115513, - 48.7640766 - ], - [ - -1.3053347, - 48.7021631 - ], - [ - -1.2583998, - 48.7042144 - ], - [ - -1.2522868, - 48.6435279 - ], - [ - -1.2351913, - 48.6443494 - ], - [ - -1.2269026, - 48.5682354 - ], - [ - -1.8521839, - 48.5308559 - ], - [ - -1.8490756, - 48.4974996 - ], - [ - -1.9232598, - 48.4918694 - ], - [ - -1.9281294, - 48.4409635 - ], - [ - -2.0427212, - 48.4360144 - ], - [ - -2.0388876, - 48.4819121 - ], - [ - -2.2895011, - 48.4610214 - ], - [ - -2.3021023, - 48.5243337 - ], - [ - -2.4086263, - 48.5161813 - ], - [ - -2.4203484, - 48.5695361 - ], - [ - -2.4308411, - 48.5785185 - ], - [ - -2.4908308, - 48.5492405 - ], - [ - -2.4735281, - 48.5332572 - ], - [ - -2.5497844, - 48.4964697 - ], - [ - -2.5400451, - 48.4874747 - ], - [ - -2.7068057, - 48.4074551 - ], - [ - -3.0297895, - 48.6911498 - ], - [ - -4.0103381, - 48.5317872 - ], - [ - -4.0534166, - 48.6441199 - ], - [ - -4.3828059, - 48.5734929 - ], - [ - -4.3548195, - 48.5117951 - ], - [ - -4.3885293, - 48.5047279 - ], - [ - -4.1349543, - 48.4486809 - ], - [ - -4.1641129, - 48.389361 - ], - [ - -4.01832, - 48.3568516 - ], - [ - -4.0473321, - 48.2991791 - ], - [ - -3.9881358, - 48.2867008 - ], - [ - -4.0213971, - 48.216063 - ], - [ - -4.0363427, - 48.2195777 - ], - [ - -4.0662339, - 48.160284 - ], - [ - -4.1667504, - 48.1824662 - ], - [ - -4.1833077, - 48.149336 - ], - [ - -4.1723183, - 48.106499 - ], - [ - -4.2011062, - 48.1028546 - ], - [ - -4.1864321, - 48.0438867 - ], - [ - -4.1880639, - 48.0406137 - ], - [ - -4.3568595, - 48.0230513 - ], - [ - -4.2565705, - 47.9399726 - ], - [ - -4.2336349, - 47.9349658 - ], - [ - -4.2137074, - 47.9759839 - ], - [ - -4.2185428, - 47.977259 - ], - [ - -4.1805957, - 48.0556897 - ], - [ - -3.6172022, - 47.9312353 - ], - [ - -2.1799085, - 47.5864218 - ], - [ - -2.25449, - 47.4450059 - ], - [ - -2.3018177, - 47.4567969 - ], - [ - -2.3204265, - 47.4209203 - ], - [ - -2.3037225, - 47.4175495 - ], - [ - -2.3475337, - 47.3349949 - ], - [ - -2.3621862, - 47.3383711 - ], - [ - -2.380795, - 47.3039043 - ], - [ - -2.3585231, - 47.2985385 - ], - [ - -2.2996198, - 47.297843 - ], - [ - -2.297422, - 47.3617996 - ], - [ - -2.1319947, - 47.3585242 - ], - [ - -2.1347787, - 47.3910707 - ], - [ - -2.0156534, - 47.3962286 - ], - [ - -2.0140417, - 47.3809517 - ], - [ - -1.9286173, - 47.3825391 - ], - [ - -1.9289103, - 47.3795626 - ], - [ - -1.8322035, - 47.3818446 - ], - [ - -1.8298591, - 47.3416477 - ], - [ - -1.7360828, - 47.3430378 - ], - [ - -1.734178, - 47.3049972 - ], - [ - -1.6408412, - 47.3063882 - ], - [ - -1.6401086, - 47.2942654 - ], - [ - -1.5835498, - 47.2956567 - ], - [ - -1.5853081, - 47.3370802 - ], - [ - -1.461201, - 47.3396619 - ], - [ - -1.4600288, - 47.3292351 - ], - [ - -1.3721135, - 47.3322144 - ], - [ - -1.360538, - 47.1123893 - ], - [ - -1.4856707, - 47.1114918 - ], - [ - -1.4858173, - 47.1187709 - ], - [ - -1.6689741, - 47.1168765 - ], - [ - -1.6697068, - 47.1286411 - ], - [ - -1.725533, - 47.1276442 - ], - [ - -1.7261191, - 47.1376124 - ], - [ - -1.9397532, - 47.1326285 - ], - [ - -1.9401928, - 47.1421971 - ], - [ - -1.9925024, - 47.1430941 - ], - [ - -1.8106643, - 47.0058819 - ], - [ - -1.947226, - 46.9207831 - ], - [ - -1.9289103, - 46.9067703 - ], - [ - -1.9952864, - 46.8646098 - ], - [ - -1.7365224, - 46.6683945 - ], - [ - -1.7753516, - 46.643855 - ], - [ - -1.8267821, - 46.6417425 - ], - [ - -1.8247307, - 46.6207134 - ], - [ - -1.1819234, - 46.399869 - ], - [ - -0.9126096, - 46.3048021 - ], - [ - -0.9548089, - 46.2488984 - ], - [ - -0.9423542, - 46.2442372 - ], - [ - -0.9838474, - 46.1880746 - ] - ], - [ - [ - 3.1476937, - 42.4007197 - ], - [ - 3.1494906, - 42.4001543 - ], - [ - 3.1530531, - 42.4005236 - ], - [ - 3.1580376, - 42.4024274 - ], - [ - 3.1876974, - 42.4280509 - ], - [ - 3.142265, - 42.5247964 - ], - [ - 3.0683711, - 42.5463547 - ], - [ - 3.0488369, - 42.6941959 - ], - [ - 3.0798953, - 43.0307277 - ], - [ - 3.226405, - 43.1872688 - ], - [ - 3.4091582, - 43.2603206 - ], - [ - 3.5210352, - 43.258773 - ], - [ - 3.6642877, - 43.3762765 - ], - [ - 3.738414, - 43.3905396 - ], - [ - 4.0097937, - 43.536068 - ], - [ - 4.1769217, - 43.4563611 - ], - [ - 4.5435531, - 43.4334906 - ], - [ - 4.5494282, - 43.3540119 - ], - [ - 4.8350582, - 43.3089126 - ], - [ - 4.9750606, - 43.3830905 - ], - [ - 5.0321866, - 43.3192811 - ], - [ - 5.2591906, - 43.3192811 - ], - [ - 5.3108165, - 43.2050388 - ], - [ - 5.3568173, - 43.1864485 - ], - [ - 5.3688175, - 43.1678525 - ], - [ - 5.4023181, - 43.1621085 - ], - [ - 5.4138183, - 43.1712257 - ], - [ - 5.4091932, - 43.1992072 - ], - [ - 5.5423205, - 43.1882713 - ], - [ - 5.6058216, - 43.1479741 - ], - [ - 5.6196969, - 43.1528987 - ], - [ - 5.6383222, - 43.1715904 - ], - [ - 5.6715728, - 43.1673966 - ], - [ - 5.6909481, - 43.13411 - ], - [ - 5.7760746, - 43.1063726 - ], - [ - 5.7761996, - 43.0943247 - ], - [ - 5.7540742, - 43.0832788 - ], - [ - 5.7570743, - 43.0725048 - ], - [ - 5.7703245, - 43.0646514 - ], - [ - 5.8593261, - 43.0346897 - ], - [ - 5.8877016, - 43.0627336 - ], - [ - 5.9567028, - 43.0610897 - ], - [ - 5.9638279, - 43.092773 - ], - [ - 6.0003285, - 43.0918601 - ], - [ - 6.0174538, - 43.068487 - ], - [ - 6.1023303, - 43.0741485 - ], - [ - 6.1048304, - 43.0525954 - ], - [ - 6.0665981, - 43.0431845 - ], - [ - 6.0672168, - 43.0378549 - ], - [ - 6.1427018, - 43.0092284 - ], - [ - 6.1567558, - 42.9871518 - ], - [ - 6.1963544, - 42.9733134 - ], - [ - 6.2222085, - 42.9801037 - ], - [ - 6.2689052, - 42.996508 - ], - [ - 6.2551549, - 43.0362655 - ], - [ - 6.201904, - 43.0271281 - ], - [ - 6.1837787, - 43.0918826 - ], - [ - 6.3015307, - 43.0990937 - ], - [ - 6.3247811, - 43.0797407 - ], - [ - 6.3777821, - 43.0801059 - ], - [ - 6.3886572, - 43.1339501 - ], - [ - 6.5134094, - 43.1460813 - ], - [ - 6.5770355, - 43.1788145 - ], - [ - 6.6229113, - 43.1456253 - ], - [ - 6.6977876, - 43.1996853 - ], - [ - 6.6801623, - 43.2335736 - ], - [ - 6.7211631, - 43.26007 - ], - [ - 6.7224131, - 43.2747245 - ], - [ - 6.6705372, - 43.2919232 - ], - [ - 6.6874125, - 43.3311252 - ], - [ - 6.7241631, - 43.3426718 - ], - [ - 6.7529136, - 43.4089993 - ], - [ - 6.7910393, - 43.3967387 - ], - [ - 6.9062913, - 43.4167176 - ], - [ - 6.9676674, - 43.5027333 - ], - [ - 6.9661673, - 43.5281154 - ], - [ - 7.006168, - 43.5384464 - ], - [ - 7.0355435, - 43.4981997 - ], - [ - 7.0689191, - 43.5001038 - ], - [ - 7.0907945, - 43.5164228 - ], - [ - 7.062669, - 43.5367247 - ], - [ - 7.0825444, - 43.5456046 - ], - [ - 7.1237951, - 43.5307436 - ], - [ - 7.1557957, - 43.5437019 - ], - [ - 7.1432954, - 43.622841 - ], - [ - 7.1686709, - 43.6463635 - ], - [ - 7.2137967, - 43.6346939 - ], - [ - 7.2541724, - 43.6849746 - ], - [ - 7.3402989, - 43.6674354 - ], - [ - 7.3644243, - 43.6894038 - ], - [ - 7.3530491, - 43.7082017 - ], - [ - 7.4163002, - 43.7109124 - ], - [ - 7.4540509, - 43.7450573 - ], - [ - 7.4943016, - 43.7452379 - ], - [ - 7.5794281, - 43.7842366 - ], - [ - 7.6055156, - 43.7860269 - ], - [ - 7.6036815, - 43.7889781 - ], - [ - 7.5958811, - 43.7952788 - ], - [ - 7.5962789, - 43.7954862 - ], - [ - 7.5385252, - 43.8419488 - ], - [ - 7.4599632, - 43.7998784 - ], - [ - 7.4478096, - 43.8093355 - ], - [ - 7.3235339, - 43.7480609 - ], - [ - 7.3082211, - 43.7635679 - ], - [ - 6.6487795, - 43.3885012 - ], - [ - 6.6686548, - 43.3717842 - ], - [ - 6.510027, - 43.2780293 - ], - [ - 6.5658405, - 43.2250863 - ], - [ - 6.1268057, - 43.105272 - ], - [ - 5.4822945, - 43.2493904 - ], - [ - 5.4726693, - 43.2309046 - ], - [ - 5.4156683, - 43.2465678 - ], - [ - 5.4526689, - 43.3450985 - ], - [ - 4.8019076, - 43.4815759 - ], - [ - 4.7641569, - 43.3924419 - ], - [ - 4.657155, - 43.423681 - ], - [ - 4.6722803, - 43.4560836 - ], - [ - 4.4320261, - 43.5241904 - ], - [ - 4.4145258, - 43.4925498 - ], - [ - 4.1610214, - 43.5643292 - ], - [ - 4.1445211, - 43.5706693 - ], - [ - 4.141646, - 43.5739296 - ], - [ - 4.1867718, - 43.5994627 - ], - [ - 4.1056454, - 43.6819639 - ], - [ - 3.79689, - 43.5216525 - ], - [ - 3.7785147, - 43.5131316 - ], - [ - 3.7646394, - 43.5059696 - ], - [ - 3.7620144, - 43.5033403 - ], - [ - 3.7422641, - 43.4932752 - ], - [ - 3.7160136, - 43.5207461 - ], - [ - 3.2621307, - 43.2814311 - ], - [ - 3.2463804, - 43.2973542 - ], - [ - 3.1838793, - 43.2805211 - ], - [ - 3.1067529, - 43.2408312 - ], - [ - 3.1547538, - 43.1941898 - ], - [ - 2.9062494, - 43.1938252 - ], - [ - 2.9067495, - 42.761892 - ], - [ - 2.9461251, - 42.7620755 - ], - [ - 2.9465001, - 42.6151551 - ], - [ - 2.992376, - 42.6149711 - ], - [ - 2.992376, - 42.5125003 - ], - [ - 3.0410018, - 42.5125924 - ], - [ - 3.0412052, - 42.5009317 - ], - [ - 3.0908647, - 42.5008187 - ], - [ - 3.1476937, - 42.4007197 - ] - ], - [ - [ - 6.3594494, - 43.0232125 - ], - [ - 6.4247695, - 43.0244403 - ], - [ - 6.4524356, - 43.0350368 - ], - [ - 6.4698484, - 43.0546098 - ], - [ - 6.5112149, - 43.0576453 - ], - [ - 6.5215565, - 43.0431768 - ], - [ - 6.4836372, - 43.0244403 - ], - [ - 6.471793, - 43.0072494 - ], - [ - 6.4117762, - 42.9917993 - ], - [ - 6.3985177, - 42.980484 - ], - [ - 6.3517753, - 42.9990494 - ], - [ - 6.3594494, - 43.0232125 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral", - terms_text: "Ortho littorale 2000" - }, - { - id: "GeolittoralV2-Orthophotos", - name: "Géolittoral V2 - Orthophotos 2011-2014", - type: "wms", - template: "http://geolittoral.application.developpement-durable.gouv.fr/wms2/metropole?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortholittorale_v2_rvb&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2014-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - polygon: [ - [ - [ - -0.9838474, - 46.1880746 - ], - [ - -0.8949679, - 46.156277 - ], - [ - -0.934552, - 46.1016299 - ], - [ - -0.843878, - 46.0694893 - ], - [ - -0.8824065, - 46.0163689 - ], - [ - -0.5378663, - 45.8955775 - ], - [ - -0.6349793, - 45.7644353 - ], - [ - -0.8666589, - 45.8479032 - ], - [ - -0.7626356, - 45.6245041 - ], - [ - -0.6969519, - 45.6265921 - ], - [ - -0.6939663, - 45.6018445 - ], - [ - -0.6875472, - 45.6017401 - ], - [ - -0.6879951, - 45.5098594 - ], - [ - -0.6379859, - 45.5089178 - ], - [ - -0.6397773, - 45.4474748 - ], - [ - -0.615743, - 45.4469511 - ], - [ - -0.6161909, - 45.3858599 - ], - [ - -0.585439, - 45.3859647 - ], - [ - -0.5852897, - 45.3233381 - ], - [ - -0.5537914, - 45.323443 - ], - [ - -0.5527464, - 45.1966145 - ], - [ - -0.490944, - 45.195773 - ], - [ - -0.4918397, - 45.1331467 - ], - [ - -0.4566094, - 45.133252 - ], - [ - -0.4551166, - 45.0716113 - ], - [ - -0.4161067, - 45.0708893 - ], - [ - -0.4162123, - 45.0269636 - ], - [ - -0.2907042, - 44.9827801 - ], - [ - -0.2199988, - 45.0677104 - ], - [ - -0.1225183, - 45.0256272 - ], - [ - -0.1892469, - 44.9459114 - ], - [ - -0.0926621, - 44.9101881 - ], - [ - -0.145209, - 44.8392042 - ], - [ - -0.1549123, - 44.8423797 - ], - [ - -0.1938747, - 44.7867829 - ], - [ - -0.4354115, - 44.8731731 - ], - [ - -0.3904779, - 44.6841324 - ], - [ - -0.5879767, - 44.6601403 - ], - [ - -0.6662784, - 44.9912911 - ], - [ - -0.7783806, - 44.9926348 - ], - [ - -0.7776417, - 45.0538898 - ], - [ - -0.8158437, - 45.0532114 - ], - [ - -0.818377, - 45.1196158 - ], - [ - -0.8839284, - 45.1205096 - ], - [ - -0.8817117, - 45.1808092 - ], - [ - -0.9343849, - 45.1818509 - ], - [ - -0.9328016, - 45.2448356 - ], - [ - -1.0016252, - 45.2443896 - ], - [ - -1.0024696, - 45.3082702 - ], - [ - -1.0523984, - 45.3101261 - ], - [ - -1.0482817, - 45.3691125 - ], - [ - -1.0641153, - 45.3691125 - ], - [ - -1.0503928, - 45.1825205 - ], - [ - -1.1076051, - 44.8078702 - ], - [ - -1.0151366, - 44.8011296 - ], - [ - -1.0194644, - 44.7691388 - ], - [ - -0.933646, - 44.7614944 - ], - [ - -0.9404017, - 44.7018029 - ], - [ - -0.9603521, - 44.5643388 - ], - [ - -1.014081, - 44.5676478 - ], - [ - -1.0991605, - 44.1456002 - ], - [ - -1.2268852, - 44.140222 - ], - [ - -1.2185281, - 44.0324931 - ], - [ - -1.3076188, - 44.029002 - ], - [ - -1.3957164, - 43.7430052 - ], - [ - -1.3129592, - 43.7295057 - ], - [ - -1.3743937, - 43.5310863 - ], - [ - -1.3458932, - 43.506056 - ], - [ - -1.599642, - 43.3542258 - ], - [ - -1.7654877, - 43.255483 - ], - [ - -1.7928061, - 43.2803753 - ], - [ - -1.8028079, - 43.4042503 - ], - [ - -1.7283167, - 43.4503267 - ], - [ - -1.5853054, - 43.4890037 - ], - [ - -1.3358385, - 44.2283161 - ], - [ - -1.3074387, - 44.418472 - ], - [ - -1.2251061, - 45.4441615 - ], - [ - -1.486847, - 46.0604176 - ], - [ - -1.601759, - 46.1701852 - ], - [ - -1.6444184, - 46.2237487 - ], - [ - -1.756428, - 46.4221446 - ], - [ - -2.0348287, - 46.6189544 - ], - [ - -2.3465983, - 46.6238164 - ], - [ - -2.4656134, - 46.7119647 - ], - [ - -2.3232967, - 46.8381171 - ], - [ - -2.4528645, - 46.9385605 - ], - [ - -2.3173318, - 47.1621397 - ], - [ - -2.9284827, - 47.2841337 - ], - [ - -2.967417, - 47.2214691 - ], - [ - -3.3560228, - 47.3247359 - ], - [ - -3.1880328, - 47.4844142 - ], - [ - -3.2279087, - 47.6113186 - ], - [ - -3.3891187, - 47.5947342 - ], - [ - -3.9161956, - 47.6783103 - ], - [ - -4.1016259, - 47.7092072 - ], - [ - -4.1431427, - 47.7884708 - ], - [ - -4.3761893, - 47.7106674 - ], - [ - -4.4796232, - 47.9776016 - ], - [ - -4.9856536, - 47.9989633 - ], - [ - -4.9693825, - 48.0897202 - ], - [ - -4.6014717, - 48.1146852 - ], - [ - -4.5921009, - 48.1475763 - ], - [ - -4.6710089, - 48.2330974 - ], - [ - -4.8424298, - 48.3004956 - ], - [ - -5.1986731, - 48.4492607 - ], - [ - -5.103461, - 48.5172155 - ], - [ - -4.8351542, - 48.5431896 - ], - [ - -4.6311736, - 48.6612896 - ], - [ - -3.9669223, - 48.7797813 - ], - [ - -3.9493945, - 48.7471474 - ], - [ - -3.6701315, - 48.895078 - ], - [ - -3.5444401, - 48.9029653 - ], - [ - -3.4095425, - 48.9186584 - ], - [ - -3.3334381, - 48.904579 - ], - [ - -3.0276871, - 48.9275037 - ], - [ - -2.8020731, - 48.7979285 - ], - [ - -2.6935289, - 48.7672208 - ], - [ - -2.4578583, - 48.7089607 - ], - [ - -2.2847486, - 48.7190877 - ], - [ - -2.1754283, - 48.650163 - ], - [ - -2.0136968, - 48.7322121 - ], - [ - -1.8095282, - 48.7317759 - ], - [ - -1.7243003, - 48.7582771 - ], - [ - -1.7055705, - 48.8451195 - ], - [ - -1.9030442, - 48.8628775 - ], - [ - -1.9102707, - 48.9234787 - ], - [ - -1.6871357, - 48.9324898 - ], - [ - -1.7427683, - 49.244734 - ], - [ - -1.8574757, - 49.3253007 - ], - [ - -1.9262013, - 49.6557284 - ], - [ - -2.03908, - 49.6787215 - ], - [ - -2.0044546, - 49.7608677 - ], - [ - -1.6175855, - 49.6849834 - ], - [ - -1.2837344, - 49.7606702 - ], - [ - -1.1492009, - 49.6350423 - ], - [ - -1.1854462, - 49.5483609 - ], - [ - -0.9646323, - 49.4250945 - ], - [ - -0.7442883, - 49.3680181 - ], - [ - -0.3901362, - 49.3621973 - ], - [ - -0.2497648, - 49.3157973 - ], - [ - -0.1334235, - 49.3129316 - ], - [ - 0.0273095, - 49.3761879 - ], - [ - 0.0180063, - 49.5465556 - ], - [ - 0.1221093, - 49.6929183 - ], - [ - 0.5171306, - 49.8646551 - ], - [ - 1.057268, - 49.9490353 - ], - [ - 1.4390814, - 50.1181936 - ], - [ - 1.5317687, - 50.4643666 - ], - [ - 1.5254895, - 50.8586668 - ], - [ - 1.6411818, - 50.9591925 - ], - [ - 2.5971186, - 51.1735455 - ], - [ - 2.6607107, - 51.0195972 - ], - [ - 2.0712386, - 50.9202211 - ], - [ - 2.05937, - 50.9470929 - ], - [ - 1.7975971, - 50.8990562 - ], - [ - 1.6808947, - 50.8717016 - ], - [ - 1.6556923, - 50.5972904 - ], - [ - 1.7535714, - 50.5931978 - ], - [ - 1.7229475, - 50.2470239 - ], - [ - 1.8215592, - 50.2426198 - ], - [ - 1.8014852, - 50.0511647 - ], - [ - 1.5456517, - 50.063112 - ], - [ - 1.541549, - 50.0126688 - ], - [ - 1.4246216, - 50.0174707 - ], - [ - 1.426673, - 50.0527642 - ], - [ - 1.0383804, - 49.8460945 - ], - [ - 0.9827008, - 49.8891609 - ], - [ - 0.5796091, - 49.8213328 - ], - [ - 0.420629, - 49.76297 - ], - [ - 0.4281018, - 49.7544509 - ], - [ - 0.2083136, - 49.6726862 - ], - [ - 0.147652, - 49.5776743 - ], - [ - 0.1346112, - 49.5809045 - ], - [ - 0.1111672, - 49.543649 - ], - [ - 0.5659823, - 49.520445 - ], - [ - 0.5631983, - 49.4998946 - ], - [ - 0.6300139, - 49.496659 - ], - [ - 0.6147753, - 49.3744072 - ], - [ - 0.5482527, - 49.3785094 - ], - [ - 0.5425382, - 49.3346073 - ], - [ - 0.4574069, - 49.3393812 - ], - [ - 0.4584326, - 49.3449183 - ], - [ - 0.3259735, - 49.354559 - ], - [ - 0.3284645, - 49.3812758 - ], - [ - 0.280111, - 49.3843283 - ], - [ - 0.2768875, - 49.363339 - ], - [ - 0.210951, - 49.3665834 - ], - [ - 0.208167, - 49.3508366 - ], - [ - 0.1432562, - 49.3553225 - ], - [ - 0.1376883, - 49.3114953 - ], - [ - 0.0720449, - 49.3153162 - ], - [ - 0.0675026, - 49.2871299 - ], - [ - 0.0027383, - 49.2907616 - ], - [ - 0.0050827, - 49.2571106 - ], - [ - -0.0202662, - 49.260362 - ], - [ - -0.0349188, - 49.1973043 - ], - [ - -0.194485, - 49.2146316 - ], - [ - -0.389657, - 49.127263 - ], - [ - -0.4536886, - 49.1879201 - ], - [ - -0.3561026, - 49.2321443 - ], - [ - -0.8208815, - 49.2833068 - ], - [ - -0.9977772, - 49.3014908 - ], - [ - -1.1672818, - 49.2454506 - ], - [ - -1.1951526, - 49.2818265 - ], - [ - -1.2676791, - 49.2409863 - ], - [ - -1.341138, - 49.2975045 - ], - [ - -1.2476825, - 49.3502459 - ], - [ - -1.4458287, - 49.6068946 - ], - [ - -1.8110511, - 49.6175689 - ], - [ - -1.7747878, - 49.4433325 - ], - [ - -1.7277493, - 49.4650871 - ], - [ - -1.5338965, - 49.2909826 - ], - [ - -1.4790873, - 49.2923341 - ], - [ - -1.4760826, - 49.2402747 - ], - [ - -1.4355714, - 49.2032589 - ], - [ - -1.4722491, - 49.182201 - ], - [ - -1.4509056, - 48.7572466 - ], - [ - -1.3115513, - 48.7640766 - ], - [ - -1.3053347, - 48.7021631 - ], - [ - -1.2583998, - 48.7042144 - ], - [ - -1.2522868, - 48.6435279 - ], - [ - -1.2351913, - 48.6443494 - ], - [ - -1.2269026, - 48.5682354 - ], - [ - -1.8521839, - 48.5308559 - ], - [ - -1.8490756, - 48.4974996 - ], - [ - -1.9232598, - 48.4918694 - ], - [ - -1.9281294, - 48.4409635 - ], - [ - -2.0427212, - 48.4360144 - ], - [ - -2.0388876, - 48.4819121 - ], - [ - -2.2895011, - 48.4610214 - ], - [ - -2.3021023, - 48.5243337 - ], - [ - -2.4086263, - 48.5161813 - ], - [ - -2.4203484, - 48.5695361 - ], - [ - -2.4308411, - 48.5785185 - ], - [ - -2.4908308, - 48.5492405 - ], - [ - -2.4735281, - 48.5332572 - ], - [ - -2.5497844, - 48.4964697 - ], - [ - -2.5400451, - 48.4874747 - ], - [ - -2.7068057, - 48.4074551 - ], - [ - -3.0297895, - 48.6911498 - ], - [ - -4.0103381, - 48.5317872 - ], - [ - -4.0534166, - 48.6441199 - ], - [ - -4.3828059, - 48.5734929 - ], - [ - -4.3548195, - 48.5117951 - ], - [ - -4.3885293, - 48.5047279 - ], - [ - -4.1349543, - 48.4486809 - ], - [ - -4.1641129, - 48.389361 - ], - [ - -4.01832, - 48.3568516 - ], - [ - -4.0473321, - 48.2991791 - ], - [ - -3.9881358, - 48.2867008 - ], - [ - -4.0213971, - 48.216063 - ], - [ - -4.0363427, - 48.2195777 - ], - [ - -4.0662339, - 48.160284 - ], - [ - -4.1667504, - 48.1824662 - ], - [ - -4.1833077, - 48.149336 - ], - [ - -4.1723183, - 48.106499 - ], - [ - -4.2011062, - 48.1028546 - ], - [ - -4.1864321, - 48.0438867 - ], - [ - -4.1880639, - 48.0406137 - ], - [ - -4.3568595, - 48.0230513 - ], - [ - -4.2565705, - 47.9399726 - ], - [ - -4.2336349, - 47.9349658 - ], - [ - -4.2137074, - 47.9759839 - ], - [ - -4.2185428, - 47.977259 - ], - [ - -4.1805957, - 48.0556897 - ], - [ - -3.6172022, - 47.9312353 - ], - [ - -2.1799085, - 47.5864218 - ], - [ - -2.25449, - 47.4450059 - ], - [ - -2.3018177, - 47.4567969 - ], - [ - -2.3204265, - 47.4209203 - ], - [ - -2.3037225, - 47.4175495 - ], - [ - -2.3475337, - 47.3349949 - ], - [ - -2.3621862, - 47.3383711 - ], - [ - -2.380795, - 47.3039043 - ], - [ - -2.3585231, - 47.2985385 - ], - [ - -2.2996198, - 47.297843 - ], - [ - -2.297422, - 47.3617996 - ], - [ - -2.1319947, - 47.3585242 - ], - [ - -2.1347787, - 47.3910707 - ], - [ - -2.0156534, - 47.3962286 - ], - [ - -2.0140417, - 47.3809517 - ], - [ - -1.9286173, - 47.3825391 - ], - [ - -1.9289103, - 47.3795626 - ], - [ - -1.8322035, - 47.3818446 - ], - [ - -1.8298591, - 47.3416477 - ], - [ - -1.7360828, - 47.3430378 - ], - [ - -1.734178, - 47.3049972 - ], - [ - -1.6408412, - 47.3063882 - ], - [ - -1.6401086, - 47.2942654 - ], - [ - -1.5835498, - 47.2956567 - ], - [ - -1.5853081, - 47.3370802 - ], - [ - -1.461201, - 47.3396619 - ], - [ - -1.4600288, - 47.3292351 - ], - [ - -1.3721135, - 47.3322144 - ], - [ - -1.360538, - 47.1123893 - ], - [ - -1.4856707, - 47.1114918 - ], - [ - -1.4858173, - 47.1187709 - ], - [ - -1.6689741, - 47.1168765 - ], - [ - -1.6697068, - 47.1286411 - ], - [ - -1.725533, - 47.1276442 - ], - [ - -1.7261191, - 47.1376124 - ], - [ - -1.9397532, - 47.1326285 - ], - [ - -1.9401928, - 47.1421971 - ], - [ - -1.9925024, - 47.1430941 - ], - [ - -1.8106643, - 47.0058819 - ], - [ - -1.947226, - 46.9207831 - ], - [ - -1.9289103, - 46.9067703 - ], - [ - -1.9952864, - 46.8646098 - ], - [ - -1.7365224, - 46.6683945 - ], - [ - -1.7753516, - 46.643855 - ], - [ - -1.8267821, - 46.6417425 - ], - [ - -1.8247307, - 46.6207134 - ], - [ - -1.1819234, - 46.399869 - ], - [ - -0.9126096, - 46.3048021 - ], - [ - -0.9548089, - 46.2488984 - ], - [ - -0.9423542, - 46.2442372 - ], - [ - -0.9838474, - 46.1880746 - ] - ], - [ - [ - 3.1476937, - 42.4007197 - ], - [ - 3.1494906, - 42.4001543 - ], - [ - 3.1530531, - 42.4005236 - ], - [ - 3.1580376, - 42.4024274 - ], - [ - 3.1876974, - 42.4280509 - ], - [ - 3.142265, - 42.5247964 - ], - [ - 3.0683711, - 42.5463547 - ], - [ - 3.0488369, - 42.6941959 - ], - [ - 3.0798953, - 43.0307277 - ], - [ - 3.226405, - 43.1872688 - ], - [ - 3.4091582, - 43.2603206 - ], - [ - 3.5210352, - 43.258773 - ], - [ - 3.6642877, - 43.3762765 - ], - [ - 3.738414, - 43.3905396 - ], - [ - 4.0097937, - 43.536068 - ], - [ - 4.1769217, - 43.4563611 - ], - [ - 4.5435531, - 43.4334906 - ], - [ - 4.5494282, - 43.3540119 - ], - [ - 4.8350582, - 43.3089126 - ], - [ - 4.9750606, - 43.3830905 - ], - [ - 5.0321866, - 43.3192811 - ], - [ - 5.2591906, - 43.3192811 - ], - [ - 5.3108165, - 43.2050388 - ], - [ - 5.3568173, - 43.1864485 - ], - [ - 5.3688175, - 43.1678525 - ], - [ - 5.4023181, - 43.1621085 - ], - [ - 5.4138183, - 43.1712257 - ], - [ - 5.4091932, - 43.1992072 - ], - [ - 5.5423205, - 43.1882713 - ], - [ - 5.6058216, - 43.1479741 - ], - [ - 5.6196969, - 43.1528987 - ], - [ - 5.6383222, - 43.1715904 - ], - [ - 5.6715728, - 43.1673966 - ], - [ - 5.6909481, - 43.13411 - ], - [ - 5.7760746, - 43.1063726 - ], - [ - 5.7761996, - 43.0943247 - ], - [ - 5.7540742, - 43.0832788 - ], - [ - 5.7570743, - 43.0725048 - ], - [ - 5.7703245, - 43.0646514 - ], - [ - 5.8593261, - 43.0346897 - ], - [ - 5.8877016, - 43.0627336 - ], - [ - 5.9567028, - 43.0610897 - ], - [ - 5.9638279, - 43.092773 - ], - [ - 6.0003285, - 43.0918601 - ], - [ - 6.0174538, - 43.068487 - ], - [ - 6.1023303, - 43.0741485 - ], - [ - 6.1048304, - 43.0525954 - ], - [ - 6.0665981, - 43.0431845 - ], - [ - 6.0672168, - 43.0378549 - ], - [ - 6.1427018, - 43.0092284 - ], - [ - 6.1567558, - 42.9871518 - ], - [ - 6.1963544, - 42.9733134 - ], - [ - 6.2222085, - 42.9801037 - ], - [ - 6.2689052, - 42.996508 - ], - [ - 6.2551549, - 43.0362655 - ], - [ - 6.201904, - 43.0271281 - ], - [ - 6.1837787, - 43.0918826 - ], - [ - 6.3015307, - 43.0990937 - ], - [ - 6.3247811, - 43.0797407 - ], - [ - 6.3777821, - 43.0801059 - ], - [ - 6.3886572, - 43.1339501 - ], - [ - 6.5134094, - 43.1460813 - ], - [ - 6.5770355, - 43.1788145 - ], - [ - 6.6229113, - 43.1456253 - ], - [ - 6.6977876, - 43.1996853 - ], - [ - 6.6801623, - 43.2335736 - ], - [ - 6.7211631, - 43.26007 - ], - [ - 6.7224131, - 43.2747245 - ], - [ - 6.6705372, - 43.2919232 - ], - [ - 6.6874125, - 43.3311252 - ], - [ - 6.7241631, - 43.3426718 - ], - [ - 6.7529136, - 43.4089993 - ], - [ - 6.7910393, - 43.3967387 - ], - [ - 6.9062913, - 43.4167176 - ], - [ - 6.9676674, - 43.5027333 - ], - [ - 6.9661673, - 43.5281154 - ], - [ - 7.006168, - 43.5384464 - ], - [ - 7.0355435, - 43.4981997 - ], - [ - 7.0689191, - 43.5001038 - ], - [ - 7.0907945, - 43.5164228 - ], - [ - 7.062669, - 43.5367247 - ], - [ - 7.0825444, - 43.5456046 - ], - [ - 7.1237951, - 43.5307436 - ], - [ - 7.1557957, - 43.5437019 - ], - [ - 7.1432954, - 43.622841 - ], - [ - 7.1686709, - 43.6463635 - ], - [ - 7.2137967, - 43.6346939 - ], - [ - 7.2541724, - 43.6849746 - ], - [ - 7.3402989, - 43.6674354 - ], - [ - 7.3644243, - 43.6894038 - ], - [ - 7.3530491, - 43.7082017 - ], - [ - 7.4163002, - 43.7109124 - ], - [ - 7.4540509, - 43.7450573 - ], - [ - 7.4943016, - 43.7452379 - ], - [ - 7.5794281, - 43.7842366 - ], - [ - 7.6055156, - 43.7860269 - ], - [ - 7.6036815, - 43.7889781 - ], - [ - 7.5958811, - 43.7952788 - ], - [ - 7.5962789, - 43.7954862 - ], - [ - 7.5385252, - 43.8419488 - ], - [ - 7.4599632, - 43.7998784 - ], - [ - 7.4478096, - 43.8093355 - ], - [ - 7.3235339, - 43.7480609 - ], - [ - 7.3082211, - 43.7635679 - ], - [ - 6.6487795, - 43.3885012 - ], - [ - 6.6686548, - 43.3717842 - ], - [ - 6.510027, - 43.2780293 - ], - [ - 6.5658405, - 43.2250863 - ], - [ - 6.1268057, - 43.105272 - ], - [ - 5.4822945, - 43.2493904 - ], - [ - 5.4726693, - 43.2309046 - ], - [ - 5.4156683, - 43.2465678 - ], - [ - 5.4526689, - 43.3450985 - ], - [ - 4.8019076, - 43.4815759 - ], - [ - 4.7641569, - 43.3924419 - ], - [ - 4.657155, - 43.423681 - ], - [ - 4.6722803, - 43.4560836 - ], - [ - 4.4320261, - 43.5241904 - ], - [ - 4.4145258, - 43.4925498 - ], - [ - 4.1610214, - 43.5643292 - ], - [ - 4.1445211, - 43.5706693 - ], - [ - 4.141646, - 43.5739296 - ], - [ - 4.1867718, - 43.5994627 - ], - [ - 4.1056454, - 43.6819639 - ], - [ - 3.79689, - 43.5216525 - ], - [ - 3.7785147, - 43.5131316 - ], - [ - 3.7646394, - 43.5059696 - ], - [ - 3.7620144, - 43.5033403 - ], - [ - 3.7422641, - 43.4932752 - ], - [ - 3.7160136, - 43.5207461 - ], - [ - 3.2621307, - 43.2814311 - ], - [ - 3.2463804, - 43.2973542 - ], - [ - 3.1838793, - 43.2805211 - ], - [ - 3.1067529, - 43.2408312 - ], - [ - 3.1547538, - 43.1941898 - ], - [ - 2.9062494, - 43.1938252 - ], - [ - 2.9067495, - 42.761892 - ], - [ - 2.9461251, - 42.7620755 - ], - [ - 2.9465001, - 42.6151551 - ], - [ - 2.992376, - 42.6149711 - ], - [ - 2.992376, - 42.5125003 - ], - [ - 3.0410018, - 42.5125924 - ], - [ - 3.0412052, - 42.5009317 - ], - [ - 3.0908647, - 42.5008187 - ], - [ - 3.1476937, - 42.4007197 - ] - ], - [ - [ - 6.3594494, - 43.0232125 - ], - [ - 6.4247695, - 43.0244403 - ], - [ - 6.4524356, - 43.0350368 - ], - [ - 6.4698484, - 43.0546098 - ], - [ - 6.5112149, - 43.0576453 - ], - [ - 6.5215565, - 43.0431768 - ], - [ - 6.4836372, - 43.0244403 - ], - [ - 6.471793, - 43.0072494 - ], - [ - 6.4117762, - 42.9917993 - ], - [ - 6.3985177, - 42.980484 - ], - [ - 6.3517753, - 42.9990494 - ], - [ - 6.3594494, - 43.0232125 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral", - terms_text: "Ortho Littorale V2 - MEDDE" - }, - { - id: "lu.geoportail.opendata.ortho_10cm_proto_lidar", - name: "geoportail.lu LIDAR prototype Nordstad 2017", - type: "tms", - template: "http://{switch:wmts1,wmts2}.geoportail.lu/opendata/wmts/ortho_10cm_proto_lidar/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg", - endDate: "2017-04-09T00:00:00.000Z", - startDate: "2017-04-09T00:00:00.000Z", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 6.050007108761704, - 49.82175399016297 - ], - [ - 6.049789364226169, - 49.91165980309075 - ], - [ - 6.18901175543688, - 49.91171720394339 - ], - [ - 6.188971338193781, - 49.821811209128995 - ], - [ - 6.050007108761704, - 49.82175399016297 - ] - ] - ], - terms_url: "https://act.public.lu/fr/cartographie/lidar", - terms_text: "Administration du Cadastre et de la Topographie", - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "Geoportal-PL-aerial_image", - name: "Geoportal.gov.pl (Orthophotomap)", - type: "tms", - template: "https://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 - ], - [ - 15.9751041, - 54.3709213 - ] - ] - ], - terms_text: "Copyright © Główny Urząd Geodezji i Kartografii.", - best: true, - icon: "https://i.imgur.com/aFlvMpM.png" - }, - { - id: "girau_do_pnciano", - name: "Girau do Ponciano", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Girau%20do%20Ponciano&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.78012791818, - -9.92939325541 - ], - [ - -36.78086820787, - -9.83891760784 - ], - [ - -36.87233153527, - -9.83917131263 - ], - [ - -36.87173072046, - -9.90542386241 - ], - [ - -36.87036815828, - -9.92988995709 - ], - [ - -36.86155978387, - -9.92994279765 - ], - [ - -36.85565892404, - -9.92980541218 - ], - [ - -36.85146394914, - -9.92973143536 - ], - [ - -36.84574547952, - -9.92977370783 - ], - [ - -36.83213058656, - -9.92966802665 - ], - [ - -36.81455675309, - -9.92960461792 - ], - [ - -36.78012791818, - -9.92939325541 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "GRAFCAN-Canary_Islands", - name: "GRAFCAN - Canary Islands", - type: "wms", - template: "https://idecan1.grafcan.es/ServicioWMS/OrtoUrb?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OU&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - polygon: [ - [ - [ - -17.9291733, - 28.8910589 - ], - [ - -18.0333424, - 28.7998146 - ], - [ - -18.0374275, - 28.7317767 - ], - [ - -17.87811, - 28.4322434 - ], - [ - -17.8311317, - 28.4178731 - ], - [ - -17.7269626, - 28.5632821 - ], - [ - -17.7310476, - 28.6798232 - ], - [ - -17.6840694, - 28.7371497 - ], - [ - -17.7535155, - 28.8678081 - ], - [ - -17.8576846, - 28.860653 - ], - [ - -17.9291733, - 28.8910589 - ] - ], - [ - [ - -18.0781762, - 27.7721138 - ], - [ - -18.1370743, - 27.7875098 - ], - [ - -18.1705392, - 27.7644149 - ], - [ - -18.1779014, - 27.7069523 - ], - [ - -18.1578225, - 27.687989 - ], - [ - -18.0580973, - 27.6790988 - ], - [ - -18.0065614, - 27.6257423 - ], - [ - -17.9610492, - 27.6221843 - ], - [ - -17.9389624, - 27.7081374 - ], - [ - -17.9075054, - 27.7193953 - ], - [ - -17.8619932, - 27.8046798 - ], - [ - -17.872702, - 27.8407872 - ], - [ - -17.9255764, - 27.8680077 - ], - [ - -18.0052228, - 27.8360525 - ], - [ - -18.0139237, - 27.8034958 - ], - [ - -18.0781762, - 27.7721138 - ] - ], - [ - [ - -17.2687764, - 28.2399643 - ], - [ - -17.3340329, - 28.2193251 - ], - [ - -17.3633146, - 28.1536956 - ], - [ - -17.3666611, - 28.0880258 - ], - [ - -17.3306864, - 28.0474233 - ], - [ - -17.2729595, - 28.0068054 - ], - [ - -17.2001735, - 28.0053281 - ], - [ - -17.1441199, - 28.0289625 - ], - [ - -17.0780268, - 28.0835972 - ], - [ - -17.0872296, - 28.1536956 - ], - [ - -17.1826044, - 28.2149019 - ], - [ - -17.2687764, - 28.2399643 - ] - ], - [ - [ - -16.9358012, - 28.3762297 - ], - [ - -16.945004, - 28.3357366 - ], - [ - -16.7199529, - 27.9831662 - ], - [ - -16.6254147, - 27.9831662 - ], - [ - -16.52753, - 28.0164074 - ], - [ - -16.3995269, - 28.146319 - ], - [ - -16.3359437, - 28.3092236 - ], - [ - -16.3300873, - 28.3644515 - ], - [ - -16.1025263, - 28.524082 - ], - [ - -16.0983432, - 28.5814018 - ], - [ - -16.1426842, - 28.6254727 - ], - [ - -16.3392902, - 28.5960942 - ], - [ - -16.4380115, - 28.5314325 - ], - [ - -16.5392427, - 28.4402508 - ], - [ - -16.8395897, - 28.4122923 - ], - [ - -16.9358012, - 28.3762297 - ] - ], - [ - [ - -15.6883306, - 28.2058483 - ], - [ - -15.4739464, - 28.1643685 - ], - [ - -15.424272, - 28.2104562 - ], - [ - -15.3628326, - 28.1724353 - ], - [ - -15.3837481, - 28.0559841 - ], - [ - -15.3314593, - 27.9844367 - ], - [ - -15.3576037, - 27.8042042 - ], - [ - -15.5915962, - 27.6977727 - ], - [ - -15.7000956, - 27.7336471 - ], - [ - -15.7994443, - 27.8030479 - ], - [ - -15.8713415, - 27.9243925 - ], - [ - -15.8478115, - 28.036371 - ], - [ - -15.7471555, - 28.0894335 - ], - [ - -15.7314689, - 28.1839582 - ], - [ - -15.6883306, - 28.2058483 - ] - ], - [ - [ - -14.5088179, - 28.1344754 - ], - [ - -14.4107763, - 28.1344754 - ], - [ - -14.248681, - 28.2427804 - ], - [ - -14.2382232, - 28.3463737 - ], - [ - -14.0395256, - 28.7391056 - ], - [ - -13.8944241, - 28.7826519 - ], - [ - -13.7859248, - 28.7769232 - ], - [ - -13.8212198, - 28.3843326 - ], - [ - -13.9153397, - 28.190946 - ], - [ - -14.1859344, - 28.1356282 - ], - [ - -14.3088131, - 28.0052882 - ], - [ - -14.5401912, - 28.0514443 - ], - [ - -14.5088179, - 28.1344754 - ] - ], - [ - [ - -13.5524989, - 29.3772716 - ], - [ - -13.5086799, - 29.3682409 - ], - [ - -13.4795521, - 29.3872775 - ], - [ - -13.4754312, - 29.4096331 - ], - [ - -13.5003013, - 29.4280698 - ], - [ - -13.5504986, - 29.4071183 - ], - [ - -13.5524989, - 29.3772716 - ] - ], - [ - [ - -13.3976004, - 29.1610205 - ], - [ - -13.4281427, - 29.1215664 - ], - [ - -13.4417378, - 28.9908417 - ], - [ - -13.538995, - 28.9194675 - ], - [ - -13.7084109, - 28.8846777 - ], - [ - -13.7711575, - 28.8086488 - ], - [ - -13.9008338, - 28.8352194 - ], - [ - -13.9071084, - 28.8892559 - ], - [ - -13.8579569, - 28.936858 - ], - [ - -13.8569111, - 29.0365684 - ], - [ - -13.6759918, - 29.1498834 - ], - [ - -13.567231, - 29.1571898 - ], - [ - -13.5542776, - 29.3507259 - ], - [ - -13.399879, - 29.2180634 - ], - [ - -13.3976004, - 29.1610205 - ] - ], - [ - [ - -13.3379231, - 29.2866715 - ], - [ - -13.3503484, - 29.2743558 - ], - [ - -13.3385966, - 29.2653346 - ], - [ - -13.3261713, - 29.2776514 - ], - [ - -13.3379231, - 29.2866715 - ] - ] - ], - terms_text: "GRAFCAN OrtoExpress Urbana 2009" - }, - { - id: "GrandNancy_Orthophotographie_2012", - name: "GrandNancy - Orthophoto - 2012", - type: "tms", - template: "http://wms.openstreetmap.fr/tms/1.0.0/nancy_2012/{zoom}/{x}/{y}", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 22 - ], - polygon: [ - [ - [ - 6.06066031366, - 48.60554459242 - ], - [ - 6.29717112787, - 48.59922593248 - ], - [ - 6.30611158204, - 48.74076820528 - ], - [ - 6.06896018357, - 48.74710338225 - ], - [ - 6.06066031366, - 48.60554459242 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Nancy/Orthophotographie", - terms_text: "GrandNancy Orthophotographie 2012" - }, - { - id: "hamburg-40cm", - name: "Hamburg (40 cm)", - type: "wms", - template: "http://geodienste.hamburg.de/HH_WMS_DOP40?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 8.4825961, - 53.9356013 - ], - [ - 8.4827386, - 53.9092447 - ], - [ - 8.5274957, - 53.9094126 - ], - [ - 8.5279233, - 53.9357691 - ], - [ - 8.4825961, - 53.9356013 - ] - ], - [ - [ - 9.7723167, - 53.543523 - ], - [ - 9.7743354, - 53.5543296 - ], - [ - 9.7631359, - 53.5552115 - ], - [ - 9.7304736, - 53.5578689 - ], - [ - 9.7346453, - 53.5653605 - ], - [ - 9.7579266, - 53.6182757 - ], - [ - 9.7712877, - 53.6313071 - ], - [ - 9.770699, - 53.6160708 - ], - [ - 9.7963361, - 53.6102995 - ], - [ - 9.7899342, - 53.6038562 - ], - [ - 9.8181678, - 53.5859147 - ], - [ - 9.8377278, - 53.5919808 - ], - [ - 9.8449827, - 53.5949795 - ], - [ - 9.8541578, - 53.5980542 - ], - [ - 9.8681371, - 53.6092959 - ], - [ - 9.8693051, - 53.6132263 - ], - [ - 9.885052, - 53.6219916 - ], - [ - 9.8869663, - 53.6252015 - ], - [ - 9.8935594, - 53.6302636 - ], - [ - 9.8963672, - 53.6312186 - ], - [ - 9.8968811, - 53.6349162 - ], - [ - 9.9067823, - 53.6523063 - ], - [ - 9.9311454, - 53.6526154 - ], - [ - 9.9455232, - 53.6527604 - ], - [ - 9.9502445, - 53.6508457 - ], - [ - 9.9515493, - 53.6506547 - ], - [ - 9.9779541, - 53.6488699 - ], - [ - 9.9849181, - 53.6482971 - ], - [ - 9.9873906, - 53.6507159 - ], - [ - 9.9995963, - 53.6815314 - ], - [ - 10.0228185, - 53.6815708 - ], - [ - 10.0433756, - 53.6819823 - ], - [ - 10.0514778, - 53.6775926 - ], - [ - 10.0692494, - 53.679547 - ], - [ - 10.0604009, - 53.6883344 - ], - [ - 10.0709998, - 53.6958498 - ], - [ - 10.0707046, - 53.7099642 - ], - [ - 10.0819849, - 53.7204444 - ], - [ - 10.1190792, - 53.7132448 - ], - [ - 10.1693902, - 53.7389576 - ], - [ - 10.1936896, - 53.7310028 - ], - [ - 10.1779029, - 53.7099228 - ], - [ - 10.1569421, - 53.7045133 - ], - [ - 10.1582858, - 53.6894414 - ], - [ - 10.1434248, - 53.6805732 - ], - [ - 10.1417595, - 53.6774354 - ], - [ - 10.144728, - 53.6761294 - ], - [ - 10.1464311, - 53.6758841 - ], - [ - 10.1495537, - 53.6754497 - ], - [ - 10.1715323, - 53.6686937 - ], - [ - 10.1988496, - 53.6467523 - ], - [ - 10.1897268, - 53.6383796 - ], - [ - 10.2220152, - 53.6334888 - ], - [ - 10.1888726, - 53.6131597 - ], - [ - 10.1923583, - 53.5947431 - ], - [ - 10.2011737, - 53.5839226 - ], - [ - 10.1516942, - 53.5761904 - ], - [ - 10.1506692, - 53.5697309 - ], - [ - 10.1479994, - 53.5639032 - ], - [ - 10.1530759, - 53.5624246 - ], - [ - 10.1594205, - 53.5609125 - ], - [ - 10.1518903, - 53.5416987 - ], - [ - 10.154649, - 53.5365725 - ], - [ - 10.1687379, - 53.5374002 - ], - [ - 10.1632659, - 53.5218549 - ], - [ - 10.1661094, - 53.5201314 - ], - [ - 10.169185, - 53.5196505 - ], - [ - 10.1895059, - 53.5114835 - ], - [ - 10.2104308, - 53.5199588 - ], - [ - 10.218276, - 53.4992345 - ], - [ - 10.2366988, - 53.4962928 - ], - [ - 10.2500849, - 53.4789784 - ], - [ - 10.2659161, - 53.4707878 - ], - [ - 10.2904343, - 53.4551223 - ], - [ - 10.3096151, - 53.4430928 - ], - [ - 10.3122326, - 53.4522908 - ], - [ - 10.3251401, - 53.4497898 - ], - [ - 10.3079865, - 53.4333199 - ], - [ - 10.2559794, - 53.4162256 - ], - [ - 10.2508909, - 53.4102422 - ], - [ - 10.2457816, - 53.402611 - ], - [ - 10.2415493, - 53.3979725 - ], - [ - 10.1655462, - 53.399327 - ], - [ - 10.1450604, - 53.416136 - ], - [ - 10.1094899, - 53.4264876 - ], - [ - 10.1067973, - 53.4265817 - ], - [ - 10.075805, - 53.4543638 - ], - [ - 10.0515477, - 53.4639369 - ], - [ - 10.0351698, - 53.446896 - ], - [ - 10.0144851, - 53.4420285 - ], - [ - 10.0229369, - 53.4322826 - ], - [ - 9.9975402, - 53.4254609 - ], - [ - 9.9824345, - 53.4147804 - ], - [ - 9.9787266, - 53.4142015 - ], - [ - 9.958105, - 53.4270802 - ], - [ - 9.9295317, - 53.4200676 - ], - [ - 9.92552, - 53.4192417 - ], - [ - 9.9066683, - 53.4159559 - ], - [ - 9.9230535, - 53.4363147 - ], - [ - 9.9170421, - 53.4466391 - ], - [ - 9.9043636, - 53.4570665 - ], - [ - 9.8949316, - 53.4558313 - ], - [ - 9.8688468, - 53.4446225 - ], - [ - 9.8621101, - 53.4294212 - ], - [ - 9.8487204, - 53.4411135 - ], - [ - 9.806634, - 53.4664838 - ], - [ - 9.8002119, - 53.4737243 - ], - [ - 9.8028025, - 53.4938287 - ], - [ - 9.7820338, - 53.4923568 - ], - [ - 9.7688507, - 53.5053032 - ], - [ - 9.7710683, - 53.5218512 - ], - [ - 9.7810509, - 53.5183751 - ], - [ - 9.773523, - 53.527956 - ], - [ - 9.7723167, - 53.543523 - ] - ] - ] - }, - { - id: "Hamburg-DK5", - name: "Hamburg (DK5)", - type: "wms", - template: "http://geodienste.hamburg.de/HH_WMS_Geobasisdaten?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=13&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - polygon: [ - [ - [ - 8.4825961, - 53.9356013 - ], - [ - 8.4827386, - 53.9092447 - ], - [ - 8.5274957, - 53.9094126 - ], - [ - 8.5279233, - 53.9357691 - ], - [ - 8.4825961, - 53.9356013 - ] - ], - [ - [ - 9.7723167, - 53.543523 - ], - [ - 9.7743354, - 53.5543296 - ], - [ - 9.7631359, - 53.5552115 - ], - [ - 9.7304736, - 53.5578689 - ], - [ - 9.7346453, - 53.5653605 - ], - [ - 9.7579266, - 53.6182757 - ], - [ - 9.7712877, - 53.6313071 - ], - [ - 9.770699, - 53.6160708 - ], - [ - 9.7963361, - 53.6102995 - ], - [ - 9.7899342, - 53.6038562 - ], - [ - 9.8181678, - 53.5859147 - ], - [ - 9.8377278, - 53.5919808 - ], - [ - 9.8449827, - 53.5949795 - ], - [ - 9.8541578, - 53.5980542 - ], - [ - 9.8681371, - 53.6092959 - ], - [ - 9.8693051, - 53.6132263 - ], - [ - 9.885052, - 53.6219916 - ], - [ - 9.8869663, - 53.6252015 - ], - [ - 9.8935594, - 53.6302636 - ], - [ - 9.8963672, - 53.6312186 - ], - [ - 9.8968811, - 53.6349162 - ], - [ - 9.9067823, - 53.6523063 - ], - [ - 9.9311454, - 53.6526154 - ], - [ - 9.9455232, - 53.6527604 - ], - [ - 9.9502445, - 53.6508457 - ], - [ - 9.9515493, - 53.6506547 - ], - [ - 9.9779541, - 53.6488699 - ], - [ - 9.9849181, - 53.6482971 - ], - [ - 9.9873906, - 53.6507159 - ], - [ - 9.9995963, - 53.6815314 - ], - [ - 10.0228185, - 53.6815708 - ], - [ - 10.0433756, - 53.6819823 - ], - [ - 10.0514778, - 53.6775926 - ], - [ - 10.0692494, - 53.679547 - ], - [ - 10.0604009, - 53.6883344 - ], - [ - 10.0709998, - 53.6958498 - ], - [ - 10.0707046, - 53.7099642 - ], - [ - 10.0819849, - 53.7204444 - ], - [ - 10.1190792, - 53.7132448 - ], - [ - 10.1693902, - 53.7389576 - ], - [ - 10.1936896, - 53.7310028 - ], - [ - 10.1779029, - 53.7099228 - ], - [ - 10.1569421, - 53.7045133 - ], - [ - 10.1582858, - 53.6894414 - ], - [ - 10.1434248, - 53.6805732 - ], - [ - 10.1417595, - 53.6774354 - ], - [ - 10.144728, - 53.6761294 - ], - [ - 10.1464311, - 53.6758841 - ], - [ - 10.1495537, - 53.6754497 - ], - [ - 10.1715323, - 53.6686937 - ], - [ - 10.1988496, - 53.6467523 - ], - [ - 10.1897268, - 53.6383796 - ], - [ - 10.2220152, - 53.6334888 - ], - [ - 10.1888726, - 53.6131597 - ], - [ - 10.1923583, - 53.5947431 - ], - [ - 10.2011737, - 53.5839226 - ], - [ - 10.1516942, - 53.5761904 - ], - [ - 10.1506692, - 53.5697309 - ], - [ - 10.1479994, - 53.5639032 - ], - [ - 10.1530759, - 53.5624246 - ], - [ - 10.1594205, - 53.5609125 - ], - [ - 10.1518903, - 53.5416987 - ], - [ - 10.154649, - 53.5365725 - ], - [ - 10.1687379, - 53.5374002 - ], - [ - 10.1632659, - 53.5218549 - ], - [ - 10.1661094, - 53.5201314 - ], - [ - 10.169185, - 53.5196505 - ], - [ - 10.1895059, - 53.5114835 - ], - [ - 10.2104308, - 53.5199588 - ], - [ - 10.218276, - 53.4992345 - ], - [ - 10.2366988, - 53.4962928 - ], - [ - 10.2500849, - 53.4789784 - ], - [ - 10.2659161, - 53.4707878 - ], - [ - 10.2904343, - 53.4551223 - ], - [ - 10.3096151, - 53.4430928 - ], - [ - 10.3122326, - 53.4522908 - ], - [ - 10.3251401, - 53.4497898 - ], - [ - 10.3079865, - 53.4333199 - ], - [ - 10.2559794, - 53.4162256 - ], - [ - 10.2508909, - 53.4102422 - ], - [ - 10.2457816, - 53.402611 - ], - [ - 10.2415493, - 53.3979725 - ], - [ - 10.1655462, - 53.399327 - ], - [ - 10.1450604, - 53.416136 - ], - [ - 10.1094899, - 53.4264876 - ], - [ - 10.1067973, - 53.4265817 - ], - [ - 10.075805, - 53.4543638 - ], - [ - 10.0515477, - 53.4639369 - ], - [ - 10.0351698, - 53.446896 - ], - [ - 10.0144851, - 53.4420285 - ], - [ - 10.0229369, - 53.4322826 - ], - [ - 9.9975402, - 53.4254609 - ], - [ - 9.9824345, - 53.4147804 - ], - [ - 9.9787266, - 53.4142015 - ], - [ - 9.958105, - 53.4270802 - ], - [ - 9.9295317, - 53.4200676 - ], - [ - 9.92552, - 53.4192417 - ], - [ - 9.9066683, - 53.4159559 - ], - [ - 9.9230535, - 53.4363147 - ], - [ - 9.9170421, - 53.4466391 - ], - [ - 9.9043636, - 53.4570665 - ], - [ - 9.8949316, - 53.4558313 - ], - [ - 9.8688468, - 53.4446225 - ], - [ - 9.8621101, - 53.4294212 - ], - [ - 9.8487204, - 53.4411135 - ], - [ - 9.806634, - 53.4664838 - ], - [ - 9.8002119, - 53.4737243 - ], - [ - 9.8028025, - 53.4938287 - ], - [ - 9.7820338, - 53.4923568 - ], - [ - 9.7688507, - 53.5053032 - ], - [ - 9.7710683, - 53.5218512 - ], - [ - 9.7810509, - 53.5183751 - ], - [ - 9.773523, - 53.527956 - ], - [ - 9.7723167, - 53.543523 - ] - ] - ] - }, - { - id: "Hampshire-Aerial-FCIR", - name: "Hampshire Aerial FCIR", - type: "tms", - template: "https://{switch:a,b,c}.hampshire.aerial.openstreetmap.org.uk/layer/gb_hampshire_aerial_fcir/{zoom}/{x}/{y}.png", - endDate: "2014-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 20 - ], - polygon: [ - [ - [ - -1.315673, - 50.77809 - ], - [ - -1.491387, - 50.73027 - ], - [ - -1.57113, - 50.69041 - ], - [ - -1.680953, - 50.71748 - ], - [ - -1.693378, - 50.73484 - ], - [ - -1.695277, - 50.74065 - ], - [ - -1.686891, - 50.74999 - ], - [ - -1.710684, - 50.74812 - ], - [ - -1.719504, - 50.75261 - ], - [ - -1.746001, - 50.74452 - ], - [ - -1.748452, - 50.75675 - ], - [ - -1.742869, - 50.76397 - ], - [ - -1.751012, - 50.77577 - ], - [ - -1.78525, - 50.76177 - ], - [ - -1.799108, - 50.77236 - ], - [ - -1.822565, - 50.77225 - ], - [ - -1.826778, - 50.78077 - ], - [ - -1.822497, - 50.79933 - ], - [ - -1.807317, - 50.80074 - ], - [ - -1.81566, - 50.80752 - ], - [ - -1.808894, - 50.81358 - ], - [ - -1.805787, - 50.83249 - ], - [ - -1.798157, - 50.83535 - ], - [ - -1.806491, - 50.84414 - ], - [ - -1.809882, - 50.86189 - ], - [ - -1.813783, - 50.85591 - ], - [ - -1.830516, - 50.85261 - ], - [ - -1.852711, - 50.85651 - ], - [ - -1.85655, - 50.86684 - ], - [ - -1.849205, - 50.87802 - ], - [ - -1.85082, - 50.89178 - ], - [ - -1.84077, - 50.90051 - ], - [ - -1.826931, - 50.89939 - ], - [ - -1.820062, - 50.90492 - ], - [ - -1.821513, - 50.91691 - ], - [ - -1.816889, - 50.92412 - ], - [ - -1.841137, - 50.92886 - ], - [ - -1.874458, - 50.91441 - ], - [ - -1.911294, - 50.9439 - ], - [ - -1.923386, - 50.95917 - ], - [ - -1.95751, - 50.97575 - ], - [ - -1.959101, - 50.99152 - ], - [ - -1.949071, - 50.98649 - ], - [ - -1.928787, - 51.00055 - ], - [ - -1.887094, - 51.0026 - ], - [ - -1.87393, - 51.0097 - ], - [ - -1.871695, - 50.99083 - ], - [ - -1.854331, - 51.00786 - ], - [ - -1.835675, - 51.01238 - ], - [ - -1.815019, - 50.9899 - ], - [ - -1.800312, - 50.99457 - ], - [ - -1.751838, - 50.98133 - ], - [ - -1.719271, - 50.98047 - ], - [ - -1.691416, - 50.95943 - ], - [ - -1.66829, - 50.95041 - ], - [ - -1.652596, - 50.95029 - ], - [ - -1.635362, - 50.96269 - ], - [ - -1.623972, - 50.95903 - ], - [ - -1.608898, - 50.97686 - ], - [ - -1.621721, - 50.98099 - ], - [ - -1.631149, - 50.99984 - ], - [ - -1.609836, - 51.01225 - ], - [ - -1.601734, - 51.01042 - ], - [ - -1.607874, - 51.01582 - ], - [ - -1.605696, - 51.02271 - ], - [ - -1.635423, - 51.03176 - ], - [ - -1.638583, - 51.04126 - ], - [ - -1.631067, - 51.07819 - ], - [ - -1.640253, - 51.09201 - ], - [ - -1.630602, - 51.10359 - ], - [ - -1.634078, - 51.11099 - ], - [ - -1.630674, - 51.11652 - ], - [ - -1.641093, - 51.12237 - ], - [ - -1.665249, - 51.12546 - ], - [ - -1.657236, - 51.15539 - ], - [ - -1.674737, - 51.177 - ], - [ - -1.67213, - 51.18708 - ], - [ - -1.696792, - 51.20233 - ], - [ - -1.69247, - 51.21617 - ], - [ - -1.652877, - 51.22301 - ], - [ - -1.635643, - 51.22019 - ], - [ - -1.623947, - 51.24136 - ], - [ - -1.614024, - 51.24467 - ], - [ - -1.607408, - 51.25513 - ], - [ - -1.577168, - 51.25863 - ], - [ - -1.544434, - 51.24826 - ], - [ - -1.538396, - 51.25085 - ], - [ - -1.534359, - 51.25919 - ], - [ - -1.543446, - 51.25957 - ], - [ - -1.540068, - 51.27602 - ], - [ - -1.545961, - 51.28095 - ], - [ - -1.535908, - 51.28978 - ], - [ - -1.525949, - 51.28975 - ], - [ - -1.530933, - 51.29948 - ], - [ - -1.530081, - 51.3111 - ], - [ - -1.536275, - 51.31596 - ], - [ - -1.529857, - 51.34057 - ], - [ - -1.515522, - 51.34219 - ], - [ - -1.494983, - 51.33228 - ], - [ - -1.435991, - 51.33861 - ], - [ - -1.447589, - 51.3464 - ], - [ - -1.446305, - 51.35699 - ], - [ - -1.430556, - 51.35941 - ], - [ - -1.416077, - 51.37517 - ], - [ - -1.348989, - 51.37045 - ], - [ - -1.314724, - 51.37627 - ], - [ - -1.275549, - 51.3707 - ], - [ - -1.251156, - 51.37511 - ], - [ - -1.241179, - 51.36938 - ], - [ - -1.222093, - 51.37271 - ], - [ - -1.176023, - 51.36102 - ], - [ - -1.143212, - 51.36028 - ], - [ - -1.118753, - 51.36156 - ], - [ - -1.120961, - 51.36859 - ], - [ - -1.116785, - 51.3767 - ], - [ - -1.083632, - 51.38712 - ], - [ - -1.047537, - 51.36122 - ], - [ - -0.990405, - 51.36619 - ], - [ - -0.972636, - 51.36297 - ], - [ - -0.92376, - 51.36937 - ], - [ - -0.876809, - 51.3555 - ], - [ - -0.86549, - 51.35947 - ], - [ - -0.82728, - 51.35574 - ], - [ - -0.811219, - 51.34418 - ], - [ - -0.783225, - 51.34084 - ], - [ - -0.763252, - 51.32721 - ], - [ - -0.760048, - 51.32013 - ], - [ - -0.741834, - 51.31112 - ], - [ - -0.728423, - 51.28238 - ], - [ - -0.726306, - 51.25653 - ], - [ - -0.737128, - 51.23126 - ], - [ - -0.748978, - 51.2277 - ], - [ - -0.777122, - 51.23901 - ], - [ - -0.801926, - 51.23628 - ], - [ - -0.806106, - 51.24056 - ], - [ - -0.824914, - 51.23137 - ], - [ - -0.827009, - 51.22315 - ], - [ - -0.844932, - 51.20998 - ], - [ - -0.822682, - 51.18268 - ], - [ - -0.830416, - 51.15022 - ], - [ - -0.819518, - 51.15047 - ], - [ - -0.805037, - 51.15847 - ], - [ - -0.793819, - 51.15491 - ], - [ - -0.788794, - 51.14141 - ], - [ - -0.77846, - 51.13664 - ], - [ - -0.778131, - 51.13063 - ], - [ - -0.766544, - 51.11946 - ], - [ - -0.743652, - 51.11491 - ], - [ - -0.747146, - 51.10131 - ], - [ - -0.754112, - 51.10116 - ], - [ - -0.751217, - 51.09547 - ], - [ - -0.75506, - 51.08987 - ], - [ - -0.750757, - 51.0852 - ], - [ - -0.778501, - 51.07715 - ], - [ - -0.786448, - 51.06467 - ], - [ - -0.799544, - 51.06078 - ], - [ - -0.826446, - 51.05881 - ], - [ - -0.836458, - 51.0664 - ], - [ - -0.845193, - 51.06052 - ], - [ - -0.849904, - 51.0436 - ], - [ - -0.894853, - 51.01978 - ], - [ - -0.890651, - 51.00194 - ], - [ - -0.904614, - 50.99327 - ], - [ - -0.914614, - 50.97806 - ], - [ - -0.912784, - 50.9708 - ], - [ - -0.932457, - 50.94278 - ], - [ - -0.921188, - 50.9232 - ], - [ - -0.93793, - 50.91615 - ], - [ - -0.951325, - 50.89178 - ], - [ - -0.923681, - 50.86513 - ], - [ - -0.929757, - 50.85365 - ], - [ - -0.929033, - 50.84245 - ], - [ - -0.943419, - 50.82191 - ], - [ - -0.929902, - 50.78445 - ], - [ - -0.932748, - 50.77435 - ], - [ - -0.953469, - 50.73682 - ], - [ - -1.315673, - 50.77809 - ] - ] - ] - }, - { - id: "Hampshire-Aerial-RGB", - name: "Hampshire Aerial RGB", - type: "tms", - template: "https://{switch:a,b,c}.hampshire.aerial.openstreetmap.org.uk/layer/gb_hampshire_aerial_rgb/{zoom}/{x}/{y}.png", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 20 - ], - polygon: [ - [ - [ - -1.315673, - 50.77809 - ], - [ - -1.491387, - 50.73027 - ], - [ - -1.57113, - 50.69041 - ], - [ - -1.680953, - 50.71748 - ], - [ - -1.693378, - 50.73484 - ], - [ - -1.695277, - 50.74065 - ], - [ - -1.686891, - 50.74999 - ], - [ - -1.710684, - 50.74812 - ], - [ - -1.719504, - 50.75261 - ], - [ - -1.746001, - 50.74452 - ], - [ - -1.748452, - 50.75675 - ], - [ - -1.742869, - 50.76397 - ], - [ - -1.751012, - 50.77577 - ], - [ - -1.78525, - 50.76177 - ], - [ - -1.799108, - 50.77236 - ], - [ - -1.822565, - 50.77225 - ], - [ - -1.826778, - 50.78077 - ], - [ - -1.822497, - 50.79933 - ], - [ - -1.807317, - 50.80074 - ], - [ - -1.81566, - 50.80752 - ], - [ - -1.808894, - 50.81358 - ], - [ - -1.805787, - 50.83249 - ], - [ - -1.798157, - 50.83535 - ], - [ - -1.806491, - 50.84414 - ], - [ - -1.809882, - 50.86189 - ], - [ - -1.813783, - 50.85591 - ], - [ - -1.830516, - 50.85261 - ], - [ - -1.852711, - 50.85651 - ], - [ - -1.85655, - 50.86684 - ], - [ - -1.849205, - 50.87802 - ], - [ - -1.85082, - 50.89178 - ], - [ - -1.84077, - 50.90051 - ], - [ - -1.826931, - 50.89939 - ], - [ - -1.820062, - 50.90492 - ], - [ - -1.821513, - 50.91691 - ], - [ - -1.816889, - 50.92412 - ], - [ - -1.841137, - 50.92886 - ], - [ - -1.874458, - 50.91441 - ], - [ - -1.911294, - 50.9439 - ], - [ - -1.923386, - 50.95917 - ], - [ - -1.95751, - 50.97575 - ], - [ - -1.959101, - 50.99152 - ], - [ - -1.949071, - 50.98649 - ], - [ - -1.928787, - 51.00055 - ], - [ - -1.887094, - 51.0026 - ], - [ - -1.87393, - 51.0097 - ], - [ - -1.871695, - 50.99083 - ], - [ - -1.854331, - 51.00786 - ], - [ - -1.835675, - 51.01238 - ], - [ - -1.815019, - 50.9899 - ], - [ - -1.800312, - 50.99457 - ], - [ - -1.751838, - 50.98133 - ], - [ - -1.719271, - 50.98047 - ], - [ - -1.691416, - 50.95943 - ], - [ - -1.66829, - 50.95041 - ], - [ - -1.652596, - 50.95029 - ], - [ - -1.635362, - 50.96269 - ], - [ - -1.623972, - 50.95903 - ], - [ - -1.608898, - 50.97686 - ], - [ - -1.621721, - 50.98099 - ], - [ - -1.631149, - 50.99984 - ], - [ - -1.609836, - 51.01225 - ], - [ - -1.601734, - 51.01042 - ], - [ - -1.607874, - 51.01582 - ], - [ - -1.605696, - 51.02271 - ], - [ - -1.635423, - 51.03176 - ], - [ - -1.638583, - 51.04126 - ], - [ - -1.631067, - 51.07819 - ], - [ - -1.640253, - 51.09201 - ], - [ - -1.630602, - 51.10359 - ], - [ - -1.634078, - 51.11099 - ], - [ - -1.630674, - 51.11652 - ], - [ - -1.641093, - 51.12237 - ], - [ - -1.665249, - 51.12546 - ], - [ - -1.657236, - 51.15539 - ], - [ - -1.674737, - 51.177 - ], - [ - -1.67213, - 51.18708 - ], - [ - -1.696792, - 51.20233 - ], - [ - -1.69247, - 51.21617 - ], - [ - -1.652877, - 51.22301 - ], - [ - -1.635643, - 51.22019 - ], - [ - -1.623947, - 51.24136 - ], - [ - -1.614024, - 51.24467 - ], - [ - -1.607408, - 51.25513 - ], - [ - -1.577168, - 51.25863 - ], - [ - -1.544434, - 51.24826 - ], - [ - -1.538396, - 51.25085 - ], - [ - -1.534359, - 51.25919 - ], - [ - -1.543446, - 51.25957 - ], - [ - -1.540068, - 51.27602 - ], - [ - -1.545961, - 51.28095 - ], - [ - -1.535908, - 51.28978 - ], - [ - -1.525949, - 51.28975 - ], - [ - -1.530933, - 51.29948 - ], - [ - -1.530081, - 51.3111 - ], - [ - -1.536275, - 51.31596 - ], - [ - -1.529857, - 51.34057 - ], - [ - -1.515522, - 51.34219 - ], - [ - -1.494983, - 51.33228 - ], - [ - -1.435991, - 51.33861 - ], - [ - -1.447589, - 51.3464 - ], - [ - -1.446305, - 51.35699 - ], - [ - -1.430556, - 51.35941 - ], - [ - -1.416077, - 51.37517 - ], - [ - -1.348989, - 51.37045 - ], - [ - -1.314724, - 51.37627 - ], - [ - -1.275549, - 51.3707 - ], - [ - -1.251156, - 51.37511 - ], - [ - -1.241179, - 51.36938 - ], - [ - -1.222093, - 51.37271 - ], - [ - -1.176023, - 51.36102 - ], - [ - -1.143212, - 51.36028 - ], - [ - -1.118753, - 51.36156 - ], - [ - -1.120961, - 51.36859 - ], - [ - -1.116785, - 51.3767 - ], - [ - -1.083632, - 51.38712 - ], - [ - -1.047537, - 51.36122 - ], - [ - -0.990405, - 51.36619 - ], - [ - -0.972636, - 51.36297 - ], - [ - -0.92376, - 51.36937 - ], - [ - -0.876809, - 51.3555 - ], - [ - -0.86549, - 51.35947 - ], - [ - -0.82728, - 51.35574 - ], - [ - -0.811219, - 51.34418 - ], - [ - -0.783225, - 51.34084 - ], - [ - -0.763252, - 51.32721 - ], - [ - -0.760048, - 51.32013 - ], - [ - -0.741834, - 51.31112 - ], - [ - -0.728423, - 51.28238 - ], - [ - -0.726306, - 51.25653 - ], - [ - -0.737128, - 51.23126 - ], - [ - -0.748978, - 51.2277 - ], - [ - -0.777122, - 51.23901 - ], - [ - -0.801926, - 51.23628 - ], - [ - -0.806106, - 51.24056 - ], - [ - -0.824914, - 51.23137 - ], - [ - -0.827009, - 51.22315 - ], - [ - -0.844932, - 51.20998 - ], - [ - -0.822682, - 51.18268 - ], - [ - -0.830416, - 51.15022 - ], - [ - -0.819518, - 51.15047 - ], - [ - -0.805037, - 51.15847 - ], - [ - -0.793819, - 51.15491 - ], - [ - -0.788794, - 51.14141 - ], - [ - -0.77846, - 51.13664 - ], - [ - -0.778131, - 51.13063 - ], - [ - -0.766544, - 51.11946 - ], - [ - -0.743652, - 51.11491 - ], - [ - -0.747146, - 51.10131 - ], - [ - -0.754112, - 51.10116 - ], - [ - -0.751217, - 51.09547 - ], - [ - -0.75506, - 51.08987 - ], - [ - -0.750757, - 51.0852 - ], - [ - -0.778501, - 51.07715 - ], - [ - -0.786448, - 51.06467 - ], - [ - -0.799544, - 51.06078 - ], - [ - -0.826446, - 51.05881 - ], - [ - -0.836458, - 51.0664 - ], - [ - -0.845193, - 51.06052 - ], - [ - -0.849904, - 51.0436 - ], - [ - -0.894853, - 51.01978 - ], - [ - -0.890651, - 51.00194 - ], - [ - -0.904614, - 50.99327 - ], - [ - -0.914614, - 50.97806 - ], - [ - -0.912784, - 50.9708 - ], - [ - -0.932457, - 50.94278 - ], - [ - -0.921188, - 50.9232 - ], - [ - -0.93793, - 50.91615 - ], - [ - -0.951325, - 50.89178 - ], - [ - -0.923681, - 50.86513 - ], - [ - -0.929757, - 50.85365 - ], - [ - -0.929033, - 50.84245 - ], - [ - -0.943419, - 50.82191 - ], - [ - -0.929902, - 50.78445 - ], - [ - -0.932748, - 50.77435 - ], - [ - -0.953469, - 50.73682 - ], - [ - -1.315673, - 50.77809 - ] - ] - ] - }, - { - id: "IBGE_DF_Addresses", - name: "IBGE Distrito Federal", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/wille/cirnnxni1000jg8nfppc8g7pm/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g", - scaleExtent: [ - 0, - 20 - ], - polygon: [ - [ - [ - -48.2444, - -16.0508 - ], - [ - -48.2444, - -15.5005 - ], - [ - -47.5695, - -15.5005 - ], - [ - -47.5695, - -16.0508 - ], - [ - -48.2444, - -16.0508 - ] - ] - ], - terms_text: "IBGE", - description: "Addresses data from IBGE", - overlay: true - }, - { - id: "IBGE_Setores_Rurais", - name: "IBGE Mapa de Setores Rurais", - type: "tms", - template: "https://{switch:a,b,c,d}.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 - ] - ] - ], - terms_text: "IBGE", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAOsSURBVHja7JXbb1RVFIe/fTmn05lepp0OpTcuUgQEElGgGGJSNYhggpdoTEz8m3w1xsQHE00MJj5oDGKCRI2IqKEKlpZCaSmXXubWmc6Zc/bFhwGp3N540LiTX7KTvbLWyvp+WVt473mUR/KIz7+/gJ64uNisJAW1lcbGUz9f+MQ6l5dCGID7EWpEMYcO7GB6tsifE9cItGo+CEEYaLyXl/p620+O7Nn2rp67sQCAUpLFpeXRYsWOKCUBcZ/UgqgRs2tnP5l0K2Pnx/GEJLYZ7RHU6hYwjy+V5l+KomStbElpmlKUl6NXpRQ0xV0SJCZhaKCdwwd2cHmmQJI4lAQpQAiQwqOkQEmJVprr89UjOt+TQylJobA8Wig0Xpby/liiKGawv503jjyFFJJiuY6Q4sFwpcAYl9JJnECguDq39EpinAoCif97QALnHEli2Lq5hxdHt5JpDZoJBDj3YLjOQyqUVb1UKCGlYH6xuk+pW7A8GOexJiHdqtn39AbW9nbw2Re/sbLS4Jk9mxgayHL23HUS41FyNaWmMax1ZPPtZ8Xv49eZXygdPnXmypcCiRAQhpqOtpB1g53sH9lMpVLno09P47xCSIjjhNcO7ySKYn4du4oxDucFUkqkFAgB1lp271p/SOdzbUT12tvbhntIZwLyXW309+XIdWcIAg3A+OQNEguplmarRinmbpQ5+NwT7N61EZMYKrWYUjmiUlmhutKgNaXG1g92H9dz1wrpqculkSg21OqOhcWIPy40reu9ZdvmXrq6Mgg8znkQAmsM+e4MADOzi/wyNsNSsU6tmhAbSxwbtgznfspkWqwulupHLs0UhtVd7nG3WMxcneSFZx/j4PNbOPHdRZx17N+7jlx3mo+PnmZ2roTzAqUkUkqEkKRSOh7s73nfuwB9c6H4phASpf5ZQN2++ICp6SLvvLWXTRvW4L1nemaRz786R62WEIYaLe7Y1VhHbz79Q0tKnqnWq8hCKXpSqYf5GeoNgzGObGeaiambHDsxQSN2tLQEiFXJPeC9p7M99bWUEikkMtSi5B/mZ+fpzraiteLHM1N8c3ISrTVKins3lfekU6rSu6btaBwnWGuQA33ZD7x3WNuE6P1tNbsx1tK/toMrs0uc+H6KIAyA1XF3lCSWgb7ssaGB/MVcVwc93Z3o7duH3yuWl7Pl5fh1JYKs815a571A4Lynoz0k35Ph+LfnybSG97BavQnDQIZdXZkPy8sNrG2ORfz/Zf73C/w1AJZ/tYbRRy7/AAAAAElFTkSuQmCC" - }, - { - id: "IBGE_Setores_Urbanos", - name: "IBGE Mapa de Setores Urbanos", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/v4/tmpsantos.hgda0m6h/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw", - scaleExtent: [ - 0, - 19 - ], - polygon: [ - [ - [ - -69.947926, - -4.231683 - ], - [ - -69.456589, - -1.491186 - ], - [ - -69.397303, - -1.36508 - ], - [ - -69.429886, - -1.221726 - ], - [ - -69.395234, - -1.125548 - ], - [ - -69.442921, - -1.033507 - ], - [ - -69.418606, - -0.998273 - ], - [ - -69.527996, - -0.925137 - ], - [ - -69.525765, - -0.868067 - ], - [ - -69.624907, - -0.746671 - ], - [ - -69.561785, - -0.636925 - ], - [ - -69.607832, - -0.500798 - ], - [ - -69.844601, - -0.337321 - ], - [ - -69.920535, - -0.325734 - ], - [ - -70.043228, - -0.189979 - ], - [ - -70.043018, - 0.563585 - ], - [ - -69.802724, - 0.571624 - ], - [ - -69.671096, - 0.667593 - ], - [ - -69.605289, - 0.61328 - ], - [ - -69.597007, - 0.654202 - ], - [ - -69.480024, - 0.735768 - ], - [ - -69.352767, - 0.61416 - ], - [ - -69.289139, - 0.649971 - ], - [ - -69.294839, - 0.603894 - ], - [ - -69.199748, - 0.605905 - ], - [ - -69.194253, - 0.649818 - ], - [ - -69.115633, - 0.64484 - ], - [ - -69.190008, - 0.740563 - ], - [ - -69.148809, - 0.767511 - ], - [ - -69.135763, - 0.872042 - ], - [ - -69.188462, - 0.913236 - ], - [ - -69.164602, - 0.941556 - ], - [ - -69.216787, - 0.972451 - ], - [ - -69.197732, - 0.999741 - ], - [ - -69.244939, - 1.056552 - ], - [ - -69.37641, - 1.087938 - ], - [ - -69.423124, - 1.04265 - ], - [ - -69.609891, - 1.098258 - ], - [ - -69.677182, - 1.069939 - ], - [ - -69.709626, - 1.118167 - ], - [ - -69.842658, - 1.072719 - ], - [ - -69.839717, - 1.718929 - ], - [ - -69.782358, - 1.692438 - ], - [ - -69.534643, - 1.776907 - ], - [ - -69.391089, - 1.72935 - ], - [ - -68.164499, - 1.729447 - ], - [ - -68.192071, - 1.7797 - ], - [ - -68.239542, - 1.770444 - ], - [ - -68.226881, - 1.829184 - ], - [ - -68.285547, - 1.830839 - ], - [ - -68.19583, - 2.034791 - ], - [ - -68.180335, - 1.976705 - ], - [ - -68.144166, - 1.978541 - ], - [ - -68.090429, - 1.897741 - ], - [ - -67.901623, - 1.811652 - ], - [ - -67.769425, - 2.009237 - ], - [ - -67.550949, - 2.047692 - ], - [ - -67.495186, - 2.163124 - ], - [ - -67.394044, - 2.228938 - ], - [ - -67.326716, - 2.063872 - ], - [ - -67.33083, - 1.941575 - ], - [ - -67.228307, - 1.841269 - ], - [ - -67.153836, - 1.831497 - ], - [ - -67.159221, - 1.675037 - ], - [ - -67.08017, - 1.385457 - ], - [ - -67.139231, - 1.320017 - ], - [ - -67.086753, - 1.167036 - ], - [ - -66.851191, - 1.228959 - ], - [ - -66.31032, - 0.744944 - ], - [ - -66.197375, - 0.781614 - ], - [ - -66.077833, - 0.761742 - ], - [ - -66.07024, - 0.8123 - ], - [ - -65.967121, - 0.81511 - ], - [ - -65.883691, - 0.941589 - ], - [ - -65.772612, - 0.958591 - ], - [ - -65.742103, - 1.001253 - ], - [ - -65.588935, - 1.004706 - ], - [ - -65.49624, - 0.87415 - ], - [ - -65.606227, - 0.707483 - ], - [ - -65.541158, - 0.648807 - ], - [ - -65.444985, - 0.689212 - ], - [ - -65.392132, - 0.756917 - ], - [ - -65.411977, - 0.824145 - ], - [ - -65.327341, - 0.93596 - ], - [ - -65.213022, - 0.902817 - ], - [ - -65.1749, - 0.94131 - ], - [ - -65.158308, - 1.124604 - ], - [ - -65.072322, - 1.153032 - ], - [ - -65.063171, - 1.11205 - ], - [ - -65.013614, - 1.109051 - ], - [ - -64.974445, - 1.202878 - ], - [ - -64.904386, - 1.251532 - ], - [ - -64.869656, - 1.227132 - ], - [ - -64.800533, - 1.315271 - ], - [ - -64.744461, - 1.225695 - ], - [ - -64.578896, - 1.340406 - ], - [ - -64.526079, - 1.443222 - ], - [ - -64.435855, - 1.470064 - ], - [ - -64.393901, - 1.529006 - ], - [ - -64.351112, - 1.529209 - ], - [ - -64.347774, - 1.495083 - ], - [ - -64.410191, - 1.40301 - ], - [ - -64.337907, - 1.361341 - ], - [ - -64.313597, - 1.456166 - ], - [ - -64.197073, - 1.520713 - ], - [ - -64.073497, - 1.64902 - ], - [ - -64.057812, - 1.928986 - ], - [ - -63.972189, - 1.991942 - ], - [ - -63.835555, - 1.966443 - ], - [ - -63.711552, - 2.046453 - ], - [ - -63.665009, - 2.018614 - ], - [ - -63.626795, - 2.112221 - ], - [ - -63.564739, - 2.135707 - ], - [ - -63.440594, - 2.125998 - ], - [ - -63.367416, - 2.268644 - ], - [ - -63.370884, - 2.411207 - ], - [ - -63.421234, - 2.451019 - ], - [ - -63.460358, - 2.396839 - ], - [ - -63.563976, - 2.445727 - ], - [ - -63.768047, - 2.439943 - ], - [ - -63.843575, - 2.491598 - ], - [ - -64.019142, - 2.461352 - ], - [ - -64.057297, - 2.497522 - ], - [ - -63.980331, - 2.723703 - ], - [ - -64.077088, - 2.872615 - ], - [ - -64.071556, - 2.921416 - ], - [ - -64.123489, - 2.990477 - ], - [ - -64.15754, - 2.982431 - ], - [ - -64.145917, - 3.034593 - ], - [ - -64.226417, - 3.12356 - ], - [ - -64.197945, - 3.201207 - ], - [ - -64.2444, - 3.430363 - ], - [ - -64.17437, - 3.568408 - ], - [ - -64.280998, - 3.709279 - ], - [ - -64.543565, - 3.857134 - ], - [ - -64.722389, - 4.117745 - ], - [ - -64.802033, - 4.174225 - ], - [ - -64.811229, - 4.270475 - ], - [ - -64.69522, - 4.253229 - ], - [ - -64.623, - 4.135 - ], - [ - -64.556502, - 4.105295 - ], - [ - -64.164, - 4.127 - ], - [ - -63.964, - 3.868 - ], - [ - -63.928, - 3.925 - ], - [ - -63.85, - 3.95 - ], - [ - -63.682, - 3.908 - ], - [ - -63.676, - 4.019 - ], - [ - -63.591, - 3.886 - ], - [ - -63.497, - 3.84 - ], - [ - -63.489, - 3.874 - ], - [ - -63.434, - 3.865 - ], - [ - -63.428, - 3.977 - ], - [ - -63.204, - 3.952 - ], - [ - -63.226, - 3.836 - ], - [ - -63.103, - 3.794 - ], - [ - -63.059, - 3.748 - ], - [ - -63.081, - 3.694 - ], - [ - -62.96, - 3.608 - ], - [ - -62.835, - 3.739 - ], - [ - -62.743, - 3.674 - ], - [ - -62.729, - 3.805 - ], - [ - -62.788, - 3.894 - ], - [ - -62.753, - 4.032 - ], - [ - -62.555, - 4.019 - ], - [ - -62.552, - 4.109 - ], - [ - -62.437, - 4.183 - ], - [ - -62.143085, - 4.077683 - ], - [ - -62.071, - 4.126 - ], - [ - -62.076, - 4.154 - ], - [ - -61.982, - 4.181 - ], - [ - -61.931749, - 4.120087 - ], - [ - -61.922129, - 4.161264 - ], - [ - -61.824, - 4.164 - ], - [ - -61.802, - 4.229 - ], - [ - -61.724, - 4.27 - ], - [ - -61.56, - 4.252 - ], - [ - -61.508, - 4.322 - ], - [ - -61.513, - 4.406 - ], - [ - -61.288, - 4.458 - ], - [ - -61.323, - 4.535 - ], - [ - -61.217, - 4.536 - ], - [ - -61.145587, - 4.480164 - ], - [ - -61.095, - 4.522 - ], - [ - -60.994, - 4.519 - ], - [ - -60.932, - 4.587 - ], - [ - -60.949, - 4.653 - ], - [ - -60.899, - 4.717 - ], - [ - -60.751, - 4.756 - ], - [ - -60.591, - 4.927 - ], - [ - -60.661, - 5.164 - ], - [ - -60.731972, - 5.212034 - ], - [ - -60.434, - 5.182 - ], - [ - -60.208247, - 5.283457 - ], - [ - -60.172, - 5.227 - ], - [ - -60.135, - 5.249 - ], - [ - -60.094, - 5.14 - ], - [ - -59.969842, - 5.063345 - ], - [ - -60.025235, - 4.706496 - ], - [ - -60.0705, - 4.616881 - ], - [ - -60.157246, - 4.572475 - ], - [ - -60.161141, - 4.517726 - ], - [ - -59.795027, - 4.46554 - ], - [ - -59.669479, - 4.376295 - ], - [ - -59.731895, - 4.285869 - ], - [ - -59.730691, - 4.180764 - ], - [ - -59.618177, - 4.13166 - ], - [ - -59.654059, - 4.069432 - ], - [ - -59.584169, - 3.968513 - ], - [ - -59.515301, - 3.944925 - ], - [ - -59.592788, - 3.885385 - ], - [ - -59.596307, - 3.793864 - ], - [ - -59.665547, - 3.781259 - ], - [ - -59.668415, - 3.702775 - ], - [ - -59.867279, - 3.577762 - ], - [ - -59.80205, - 3.501565 - ], - [ - -59.840796, - 3.431736 - ], - [ - -59.804878, - 3.35695 - ], - [ - -59.907, - 3.212 - ], - [ - -59.989438, - 2.881854 - ], - [ - -59.99, - 2.686 - ], - [ - -59.895, - 2.482 - ], - [ - -59.898724, - 2.362451 - ], - [ - -59.723148, - 2.276137 - ], - [ - -59.751, - 1.859 - ], - [ - -59.677, - 1.839 - ], - [ - -59.663, - 1.871 - ], - [ - -59.69, - 1.757 - ], - [ - -59.539, - 1.723 - ], - [ - -59.381, - 1.507 - ], - [ - -59.329, - 1.514 - ], - [ - -59.327, - 1.464 - ], - [ - -59.284, - 1.45 - ], - [ - -59.253, - 1.389 - ], - [ - -58.978, - 1.302 - ], - [ - -58.918, - 1.317 - ], - [ - -58.886, - 1.261 - ], - [ - -58.912, - 1.239 - ], - [ - -58.825116, - 1.171272 - ], - [ - -58.739558, - 1.199901 - ], - [ - -58.694563, - 1.297323 - ], - [ - -58.496224, - 1.267963 - ], - [ - -58.457871, - 1.371452 - ], - [ - -58.505113, - 1.403166 - ], - [ - -58.508726, - 1.462946 - ], - [ - -58.385587, - 1.469988 - ], - [ - -58.394723, - 1.526512 - ], - [ - -58.322366, - 1.597015 - ], - [ - -58.236003, - 1.546687 - ], - [ - -58.160643, - 1.560114 - ], - [ - -58.129425, - 1.498895 - ], - [ - -58.004228, - 1.503026 - ], - [ - -57.990093, - 1.658439 - ], - [ - -57.852056, - 1.66782 - ], - [ - -57.774307, - 1.729727 - ], - [ - -57.70509, - 1.730931 - ], - [ - -57.650421, - 1.682369 - ], - [ - -57.537597, - 1.700495 - ], - [ - -57.501869, - 1.786088 - ], - [ - -57.43776, - 1.826814 - ], - [ - -57.433428, - 1.905976 - ], - [ - -57.367678, - 1.923722 - ], - [ - -57.369119, - 1.956381 - ], - [ - -57.307117, - 1.996652 - ], - [ - -57.229228, - 1.937587 - ], - [ - -57.086676, - 2.026442 - ], - [ - -57.014207, - 1.914893 - ], - [ - -56.919708, - 1.93036 - ], - [ - -56.79793, - 1.853358 - ], - [ - -56.720956, - 1.925815 - ], - [ - -56.621453, - 1.945878 - ], - [ - -56.57976, - 1.90588 - ], - [ - -56.451258, - 1.956144 - ], - [ - -56.244042, - 1.87808 - ], - [ - -56.170899, - 1.900481 - ], - [ - -56.117621, - 1.850973 - ], - [ - -55.956377, - 1.845094 - ], - [ - -55.903854, - 1.888028 - ], - [ - -55.93635, - 1.986466 - ], - [ - -55.903103, - 2.041078 - ], - [ - -56.003072, - 2.167602 - ], - [ - -56.055046, - 2.184641 - ], - [ - -56.04288, - 2.227783 - ], - [ - -56.138873, - 2.265745 - ], - [ - -56.090122, - 2.372277 - ], - [ - -56.021814, - 2.342469 - ], - [ - -55.970516, - 2.529313 - ], - [ - -55.766629, - 2.455237 - ], - [ - -55.710278, - 2.399167 - ], - [ - -55.499712, - 2.443237 - ], - [ - -55.385327, - 2.41836 - ], - [ - -55.320185, - 2.515368 - ], - [ - -55.234736, - 2.50338 - ], - [ - -55.123404, - 2.567624 - ], - [ - -55.103017, - 2.52564 - ], - [ - -54.954239, - 2.583595 - ], - [ - -54.868459, - 2.439886 - ], - [ - -54.689167, - 2.453889 - ], - [ - -54.688611, - 2.324722 - ], - [ - -54.546667, - 2.318333 - ], - [ - -54.537778, - 2.265556 - ], - [ - -54.468611, - 2.213056 - ], - [ - -54.249167, - 2.146667 - ], - [ - -54.180556, - 2.1725 - ], - [ - -54.110833, - 2.112222 - ], - [ - -54.061389, - 2.191667 - ], - [ - -53.940833, - 2.219167 - ], - [ - -53.931944, - 2.271944 - ], - [ - -53.886667, - 2.267778 - ], - [ - -53.745, - 2.373889 - ], - [ - -53.733889, - 2.312222 - ], - [ - -53.529722, - 2.249167 - ], - [ - -53.458611, - 2.2575 - ], - [ - -53.328333, - 2.353333 - ], - [ - -53.216667, - 2.253333 - ], - [ - -53.278992, - 2.186027 - ], - [ - -53.118611, - 2.2225 - ], - [ - -52.994722, - 2.175278 - ], - [ - -52.909722, - 2.195833 - ], - [ - -52.847222, - 2.285556 - ], - [ - -52.675278, - 2.373889 - ], - [ - -52.594444, - 2.473889 - ], - [ - -52.540278, - 2.570278 - ], - [ - -52.564167, - 2.639444 - ], - [ - -52.439444, - 2.877778 - ], - [ - -52.395833, - 2.902222 - ], - [ - -52.331869, - 3.169382 - ], - [ - -52.214722, - 3.268333 - ], - [ - -51.971035, - 3.706957 - ], - [ - -51.921484, - 3.724219 - ], - [ - -51.921996, - 3.779202 - ], - [ - -51.797307, - 3.888877 - ], - [ - -51.777827, - 3.974056 - ], - [ - -51.658667, - 4.052762 - ], - [ - -51.613251, - 4.174366 - ], - [ - -51.63716, - 4.508337 - ], - [ - -51.494269, - 4.674258 - ], - [ - -51.11466, - 4.422859 - ], - [ - -50.942317, - 4.201651 - ], - [ - -50.854746, - 3.924906 - ], - [ - -50.855072, - 3.455726 - ], - [ - -50.753311, - 2.940571 - ], - [ - -50.299077, - 2.330792 - ], - [ - -49.738958, - 1.79143 - ], - [ - -48.237464, - -0.074493 - ], - [ - -44.847277, - -1.072461 - ], - [ - -43.546018, - -2.047048 - ], - [ - -43.243891, - -2.12403 - ], - [ - -42.781893, - -2.330531 - ], - [ - -41.780839, - -2.518594 - ], - [ - -41.508497, - -2.684862 - ], - [ - -40.663653, - -2.638294 - ], - [ - -40.50396, - -2.575305 - ], - [ - -39.890697, - -2.653276 - ], - [ - -39.151869, - -3.044437 - ], - [ - -38.571513, - -3.480465 - ], - [ - -38.343063, - -3.54434 - ], - [ - -38.214209, - -3.741026 - ], - [ - -38.125548, - -3.805438 - ], - [ - -37.901824, - -4.072646 - ], - [ - -37.779343, - -4.180457 - ], - [ - -37.634014, - -4.244541 - ], - [ - -37.51218, - -4.415347 - ], - [ - -37.221221, - -4.510451 - ], - [ - -37.078742, - -4.713553 - ], - [ - -36.917155, - -4.713724 - ], - [ - -36.622994, - -4.858153 - ], - [ - -36.189692, - -4.885051 - ], - [ - -35.936272, - -4.833268 - ], - [ - -35.56471, - -4.907577 - ], - [ - -35.336767, - -4.99239 - ], - [ - -35.176587, - -5.124974 - ], - [ - -34.794686, - -6.335828 - ], - [ - -34.715871, - -6.746155 - ], - [ - -34.623062, - -6.903232 - ], - [ - -34.599531, - -7.111326 - ], - [ - -34.643743, - -7.987355 - ], - [ - -34.814973, - -8.624717 - ], - [ - -35.025304, - -9.137609 - ], - [ - -35.558478, - -9.812613 - ], - [ - -35.696634, - -9.900261 - ], - [ - -35.964008, - -10.312805 - ], - [ - -36.061552, - -10.37447 - ], - [ - -36.26639, - -10.645931 - ], - [ - -36.61764, - -10.810823 - ], - [ - -36.787254, - -10.95151 - ], - [ - -36.99511, - -11.296022 - ], - [ - -37.113685, - -11.412607 - ], - [ - -37.460024, - -12.10275 - ], - [ - -37.896682, - -12.758442 - ], - [ - -38.221464, - -13.097172 - ], - [ - -38.611462, - -13.265369 - ], - [ - -38.853373, - -14.655076 - ], - [ - -38.743882, - -15.600892 - ], - [ - -38.664562, - -15.747405 - ], - [ - -38.646967, - -15.883266 - ], - [ - -38.801305, - -16.248384 - ], - [ - -38.929333, - -16.807754 - ], - [ - -38.531928, - -17.800259 - ], - [ - -38.491713, - -18.004604 - ], - [ - -38.536609, - -18.09683 - ], - [ - -38.670528, - -18.168548 - ], - [ - -39.352877, - -18.108916 - ], - [ - -39.467501, - -18.303591 - ], - [ - -39.545286, - -18.785483 - ], - [ - -39.492274, - -19.401339 - ], - [ - -39.634771, - -19.744027 - ], - [ - -39.863532, - -19.886808 - ], - [ - -40.178273, - -20.754256 - ], - [ - -40.814417, - -21.676723 - ], - [ - -40.769483, - -21.877862 - ], - [ - -40.814417, - -22.097019 - ], - [ - -41.508604, - -22.526375 - ], - [ - -41.596664, - -22.836265 - ], - [ - -41.792922, - -23.088229 - ], - [ - -41.914838, - -23.185266 - ], - [ - -43.196028, - -23.267026 - ], - [ - -44.077347, - -23.405007 - ], - [ - -45.13508, - -24.120141 - ], - [ - -46.613678, - -24.675116 - ], - [ - -47.853759, - -25.470117 - ], - [ - -48.280105, - -26.230365 - ], - [ - -48.348968, - -26.750814 - ], - [ - -48.110759, - -27.282079 - ], - [ - -48.211478, - -27.855916 - ], - [ - -48.407125, - -28.432546 - ], - [ - -48.686152, - -28.760155 - ], - [ - -48.915601, - -28.863052 - ], - [ - -49.157895, - -29.028715 - ], - [ - -49.527482, - -29.42005 - ], - [ - -49.82565, - -29.865594 - ], - [ - -50.173442, - -30.642824 - ], - [ - -50.604413, - -31.241346 - ], - [ - -51.187855, - -31.776463 - ], - [ - -51.742115, - -32.105387 - ], - [ - -51.892358, - -32.295963 - ], - [ - -52.061165, - -32.385044 - ], - [ - -52.270865, - -32.92102 - ], - [ - -52.459864, - -33.253686 - ], - [ - -52.615046, - -33.422913 - ], - [ - -53.18109, - -33.868906 - ], - [ - -53.430525, - -33.739471 - ], - [ - -53.439511, - -33.693469 - ], - [ - -53.532282, - -33.688801 - ], - [ - -53.518189, - -33.153425 - ], - [ - -53.444381, - -33.052961 - ], - [ - -53.244678, - -32.934886 - ], - [ - -53.310078, - -32.918753 - ], - [ - -53.294539, - -32.899314 - ], - [ - -53.184956, - -32.850431 - ], - [ - -53.145689, - -32.792023 - ], - [ - -53.085802, - -32.78835 - ], - [ - -53.075583, - -32.740881 - ], - [ - -53.249925, - -32.604096 - ], - [ - -53.391374, - -32.585728 - ], - [ - -53.464232, - -32.484461 - ], - [ - -53.58321, - -32.451918 - ], - [ - -53.745987, - -32.07848 - ], - [ - -53.833752, - -32.05524 - ], - [ - -53.849776, - -32.000642 - ], - [ - -53.960733, - -31.955318 - ], - [ - -53.969722, - -31.917655 - ], - [ - -54.100193, - -31.928245 - ], - [ - -54.454896, - -31.652948 - ], - [ - -54.452798, - -31.599585 - ], - [ - -54.586765, - -31.456563 - ], - [ - -54.836702, - -31.442003 - ], - [ - -54.886225, - -31.377302 - ], - [ - -54.940871, - -31.380685 - ], - [ - -55.007233, - -31.266919 - ], - [ - -55.074459, - -31.332155 - ], - [ - -55.240034, - -31.260616 - ], - [ - -55.291184, - -31.142264 - ], - [ - -55.340373, - -31.131436 - ], - [ - -55.349811, - -31.039216 - ], - [ - -55.423057, - -31.018229 - ], - [ - -55.577415, - -30.833089 - ], - [ - -55.658342, - -30.863997 - ], - [ - -55.66621, - -30.953954 - ], - [ - -55.723, - -30.943 - ], - [ - -55.727, - -30.979 - ], - [ - -55.882, - -31.077 - ], - [ - -56.009887, - -31.082667 - ], - [ - -56.022407, - -30.785651 - ], - [ - -56.125077, - -30.73871 - ], - [ - -56.170739, - -30.615174 - ], - [ - -56.260953, - -30.585086 - ], - [ - -56.291926, - -30.519674 - ], - [ - -56.381765, - -30.499556 - ], - [ - -56.461264, - -30.384864 - ], - [ - -56.547059, - -30.359455 - ], - [ - -56.541147, - -30.312907 - ], - [ - -56.618695, - -30.300545 - ], - [ - -56.64628, - -30.203457 - ], - [ - -56.776617, - -30.163303 - ], - [ - -56.807771, - -30.103006 - ], - [ - -57.071128, - -30.086714 - ], - [ - -57.220813, - -30.289278 - ], - [ - -57.313034, - -30.257847 - ], - [ - -57.392294, - -30.304737 - ], - [ - -57.465741, - -30.265891 - ], - [ - -57.52431, - -30.285693 - ], - [ - -57.560874, - -30.211343 - ], - [ - -57.647439, - -30.194834 - ], - [ - -57.480465, - -30.123146 - ], - [ - -57.337128, - -29.992845 - ], - [ - -57.294, - -29.831 - ], - [ - -57.121, - -29.765 - ], - [ - -56.898876, - -29.531786 - ], - [ - -56.819054, - -29.488163 - ], - [ - -56.766182, - -29.377679 - ], - [ - -56.701637, - -29.359128 - ], - [ - -56.593147, - -29.125164 - ], - [ - -56.418, - -29.075 - ], - [ - -56.407753, - -28.974798 - ], - [ - -56.29995, - -28.896138 - ], - [ - -56.296517, - -28.802705 - ], - [ - -56.178585, - -28.759223 - ], - [ - -56.009843, - -28.607182 - ], - [ - -56.012491, - -28.508726 - ], - [ - -55.883574, - -28.479231 - ], - [ - -55.877394, - -28.361586 - ], - [ - -55.751566, - -28.370951 - ], - [ - -55.694329, - -28.422043 - ], - [ - -55.670468, - -28.332177 - ], - [ - -55.774151, - -28.27414 - ], - [ - -55.775696, - -28.244807 - ], - [ - -55.631672, - -28.177189 - ], - [ - -55.607468, - -28.116039 - ], - [ - -55.559574, - -28.165234 - ], - [ - -55.495201, - -28.076818 - ], - [ - -55.446106, - -28.097869 - ], - [ - -55.368, - -28.029 - ], - [ - -55.382994, - -27.979479 - ], - [ - -55.343, - -27.972 - ], - [ - -55.327065, - -27.926637 - ], - [ - -55.265742, - -27.929692 - ], - [ - -55.196, - -27.856 - ], - [ - -55.133, - -27.897 - ], - [ - -55.106, - -27.846 - ], - [ - -55.035, - -27.858 - ], - [ - -55.081, - -27.779 - ], - [ - -54.936, - -27.772 - ], - [ - -54.906169, - -27.638708 - ], - [ - -54.85, - -27.624 - ], - [ - -54.814, - -27.533 - ], - [ - -54.775, - -27.586 - ], - [ - -54.679261, - -27.573936 - ], - [ - -54.677088, - -27.508003 - ], - [ - -54.621, - -27.541 - ], - [ - -54.574, - -27.453 - ], - [ - -54.524598, - -27.505902 - ], - [ - -54.444, - -27.472 - ], - [ - -54.470814, - -27.426739 - ], - [ - -54.41, - -27.405 - ], - [ - -54.354662, - -27.465284 - ], - [ - -54.340674, - -27.403105 - ], - [ - -54.284845, - -27.448195 - ], - [ - -54.261, - -27.397 - ], - [ - -54.217363, - -27.386035 - ], - [ - -54.172, - -27.254 - ], - [ - -54.156185, - -27.29619 - ], - [ - -54.088718, - -27.301488 - ], - [ - -54.010264, - -27.19978 - ], - [ - -53.962194, - -27.196984 - ], - [ - -53.951948, - -27.151693 - ], - [ - -53.798789, - -27.146289 - ], - [ - -53.802327, - -27.040278 - ], - [ - -53.760874, - -27.065428 - ], - [ - -53.785853, - -27.026738 - ], - [ - -53.747302, - -27.032184 - ], - [ - -53.709196, - -26.934136 - ], - [ - -53.671251, - -26.942224 - ], - [ - -53.696837, - -26.860147 - ], - [ - -53.660588, - -26.858139 - ], - [ - -53.758143, - -26.72045 - ], - [ - -53.720498, - -26.650994 - ], - [ - -53.758643, - -26.641128 - ], - [ - -53.637393, - -26.249682 - ], - [ - -53.742, - -26.108 - ], - [ - -53.734086, - -26.043331 - ], - [ - -53.836191, - -25.971657 - ], - [ - -53.822137, - -25.793767 - ], - [ - -53.891125, - -25.622859 - ], - [ - -53.948952, - -25.611703 - ], - [ - -53.956385, - -25.646285 - ], - [ - -54.01, - -25.567 - ], - [ - -54.075917, - -25.557657 - ], - [ - -54.098, - -25.619 - ], - [ - -54.099, - -25.495 - ], - [ - -54.206, - -25.541 - ], - [ - -54.178, - -25.584 - ], - [ - -54.23, - -25.562 - ], - [ - -54.25, - -25.597 - ], - [ - -54.28, - -25.556 - ], - [ - -54.383946, - -25.597471 - ], - [ - -54.432884, - -25.69756 - ], - [ - -54.492703, - -25.618096 - ], - [ - -54.593535, - -25.592753 - ], - [ - -54.619413, - -25.453118 - ], - [ - -54.429502, - -25.159149 - ], - [ - -54.435485, - -24.947695 - ], - [ - -54.324373, - -24.660587 - ], - [ - -54.327141, - -24.470729 - ], - [ - -54.25877, - -24.363771 - ], - [ - -54.345365, - -24.147047 - ], - [ - -54.28223, - -24.073356 - ], - [ - -54.43984, - -23.904464 - ], - [ - -54.669779, - -23.812615 - ], - [ - -54.705325, - -23.86452 - ], - [ - -54.89, - -23.898 - ], - [ - -54.924, - -23.959 - ], - [ - -55.062233, - -23.993353 - ], - [ - -55.107, - -23.961 - ], - [ - -55.229072, - -24.013828 - ], - [ - -55.304152, - -23.965042 - ], - [ - -55.345417, - -23.994583 - ], - [ - -55.414227, - -23.964505 - ], - [ - -55.441667, - -23.700843 - ], - [ - -55.473056, - -23.648343 - ], - [ - -55.53989, - -23.624997 - ], - [ - -55.52356, - -23.197334 - ], - [ - -55.541986, - -23.1561 - ], - [ - -55.596348, - -23.149926 - ], - [ - -55.665778, - -22.852742 - ], - [ - -55.61432, - -22.655211 - ], - [ - -55.723635, - -22.551661 - ], - [ - -55.743017, - -22.392661 - ], - [ - -55.789394, - -22.384601 - ], - [ - -55.84304, - -22.287251 - ], - [ - -56.209831, - -22.278052 - ], - [ - -56.364855, - -22.169491 - ], - [ - -56.39404, - -22.074341 - ], - [ - -56.507114, - -22.095609 - ], - [ - -56.637053, - -22.263407 - ], - [ - -56.703442, - -22.216928 - ], - [ - -56.720261, - -22.264792 - ], - [ - -56.793443, - -22.242379 - ], - [ - -56.842854, - -22.301554 - ], - [ - -56.88343, - -22.247555 - ], - [ - -56.996705, - -22.222459 - ], - [ - -57.374403, - -22.232043 - ], - [ - -57.580396, - -22.175344 - ], - [ - -57.610596, - -22.09462 - ], - [ - -57.707512, - -22.091108 - ], - [ - -57.801829, - -22.150722 - ], - [ - -57.993842, - -22.090233 - ], - [ - -58.009461, - -22.040379 - ], - [ - -57.912806, - -21.88266 - ], - [ - -57.966028, - -21.850453 - ], - [ - -57.908658, - -21.773548 - ], - [ - -57.947143, - -21.744133 - ], - [ - -57.883287, - -21.689028 - ], - [ - -57.934365, - -21.650365 - ], - [ - -57.913865, - -21.590213 - ], - [ - -57.967953, - -21.524324 - ], - [ - -57.853501, - -21.331091 - ], - [ - -57.920188, - -21.276551 - ], - [ - -57.850665, - -21.224075 - ], - [ - -57.868337, - -21.044168 - ], - [ - -57.819191, - -20.940665 - ], - [ - -57.928365, - -20.900364 - ], - [ - -57.855199, - -20.834026 - ], - [ - -57.898631, - -20.78872 - ], - [ - -57.961828, - -20.7916 - ], - [ - -57.934779, - -20.745653 - ], - [ - -57.867316, - -20.732649 - ], - [ - -57.924136, - -20.66392 - ], - [ - -57.988482, - -20.698787 - ], - [ - -57.998465, - -20.435512 - ], - [ - -58.093394, - -20.355544 - ], - [ - -58.09596, - -20.254451 - ], - [ - -58.162164, - -20.259525 - ], - [ - -58.121521, - -20.19246 - ], - [ - -58.169322, - -20.1694 - ], - [ - -57.953465, - -20.020944 - ], - [ - -57.902481, - -20.042071 - ], - [ - -57.857957, - -19.970298 - ], - [ - -58.131, - -19.758 - ], - [ - -57.784, - -19.033 - ], - [ - -57.694, - -19.011 - ], - [ - -57.719, - -18.899 - ], - [ - -57.766, - -18.899 - ], - [ - -57.557, - -18.24 - ], - [ - -57.453, - -18.231 - ], - [ - -57.574, - -18.131 - ], - [ - -57.723019, - -17.83074 - ], - [ - -57.684723, - -17.830599 - ], - [ - -57.709906, - -17.727016 - ], - [ - -57.783, - -17.639 - ], - [ - -57.736963, - -17.558303 - ], - [ - -57.883, - -17.449 - ], - [ - -57.996, - -17.515 - ], - [ - -58.06, - -17.45 - ], - [ - -58.116, - -17.451 - ], - [ - -58.151, - -17.384 - ], - [ - -58.263, - -17.344 - ], - [ - -58.396, - -17.181 - ], - [ - -58.423, - -16.989 - ], - [ - -58.474, - -16.935 - ], - [ - -58.47, - -16.703 - ], - [ - -58.436, - -16.592 - ], - [ - -58.333, - -16.49 - ], - [ - -58.322265, - -16.265589 - ], - [ - -58.388, - -16.261 - ], - [ - -58.430595, - -16.322642 - ], - [ - -60.173354, - -16.266724 - ], - [ - -60.238, - -15.473 - ], - [ - -60.57543, - -15.096769 - ], - [ - -60.244, - -15.096 - ], - [ - -60.272, - -14.62 - ], - [ - -60.321, - -14.608 - ], - [ - -60.492, - -14.188 - ], - [ - -60.479, - -14.097 - ], - [ - -60.380664, - -13.988799 - ], - [ - -60.45062, - -13.936404 - ], - [ - -60.455989, - -13.854216 - ], - [ - -60.490682, - -13.857824 - ], - [ - -60.46776, - -13.794461 - ], - [ - -60.767546, - -13.683292 - ], - [ - -60.876785, - -13.621487 - ], - [ - -60.918574, - -13.543337 - ], - [ - -61.005601, - -13.551996 - ], - [ - -61.012902, - -13.489245 - ], - [ - -61.093796, - -13.490807 - ], - [ - -61.103141, - -13.530561 - ], - [ - -61.181554, - -13.505573 - ], - [ - -61.192359, - -13.536949 - ], - [ - -61.299537, - -13.477175 - ], - [ - -61.465268, - -13.554268 - ], - [ - -61.579274, - -13.487115 - ], - [ - -61.852, - -13.538 - ], - [ - -61.892, - -13.431 - ], - [ - -61.969683, - -13.407588 - ], - [ - -61.975924, - -13.366952 - ], - [ - -62.114977, - -13.259315 - ], - [ - -62.115, - -13.163 - ], - [ - -62.152539, - -13.159928 - ], - [ - -62.167025, - -13.113456 - ], - [ - -62.19, - -13.153 - ], - [ - -62.214, - -13.111 - ], - [ - -62.272687, - -13.156875 - ], - [ - -62.391781, - -13.134711 - ], - [ - -62.453, - -13.064 - ], - [ - -62.612, - -13.041 - ], - [ - -62.65, - -12.965 - ], - [ - -62.729, - -13.02 - ], - [ - -62.779, - -13.009 - ], - [ - -62.896724, - -12.853898 - ], - [ - -63.011336, - -12.836021 - ], - [ - -63.081863, - -12.723233 - ], - [ - -63.061627, - -12.685844 - ], - [ - -63.157261, - -12.613801 - ], - [ - -63.246214, - -12.662218 - ], - [ - -63.237129, - -12.690429 - ], - [ - -63.301251, - -12.681378 - ], - [ - -63.440517, - -12.608 - ], - [ - -63.436267, - -12.565261 - ], - [ - -63.506408, - -12.565622 - ], - [ - -63.552952, - -12.505978 - ], - [ - -63.784795, - -12.428713 - ], - [ - -63.889567, - -12.447451 - ], - [ - -63.899486, - -12.502039 - ], - [ - -63.951444, - -12.531792 - ], - [ - -64.134642, - -12.477322 - ], - [ - -64.167805, - -12.515028 - ], - [ - -64.175041, - -12.466751 - ], - [ - -64.229451, - -12.454185 - ], - [ - -64.290176, - -12.503129 - ], - [ - -64.294518, - -12.458196 - ], - [ - -64.410575, - -12.444359 - ], - [ - -64.512166, - -12.355099 - ], - [ - -64.512561, - -12.225624 - ], - [ - -64.704064, - -12.182697 - ], - [ - -64.707187, - -12.086838 - ], - [ - -64.754865, - -12.157621 - ], - [ - -64.768801, - -12.09356 - ], - [ - -64.837475, - -12.117855 - ], - [ - -64.809537, - -12.056328 - ], - [ - -64.840774, - -12.010268 - ], - [ - -65.035483, - -11.994084 - ], - [ - -65.013981, - -11.903028 - ], - [ - -65.072696, - -11.865867 - ], - [ - -65.086718, - -11.708204 - ], - [ - -65.189531, - -11.723525 - ], - [ - -65.182161, - -11.756092 - ], - [ - -65.259304, - -11.710531 - ], - [ - -65.211777, - -11.528565 - ], - [ - -65.3074, - -11.499572 - ], - [ - -65.332765, - -11.339862 - ], - [ - -65.29053, - -11.322751 - ], - [ - -65.343466, - -11.308197 - ], - [ - -65.358345, - -11.268339 - ], - [ - -65.35938, - -11.220675 - ], - [ - -65.312945, - -11.195782 - ], - [ - -65.353869, - -11.184194 - ], - [ - -65.361772, - -11.140313 - ], - [ - -65.282689, - -11.090091 - ], - [ - -65.300713, - -11.031416 - ], - [ - -65.250529, - -10.985063 - ], - [ - -65.274764, - -10.87302 - ], - [ - -65.353755, - -10.788812 - ], - [ - -65.34667, - -10.681551 - ], - [ - -65.405689, - -10.639345 - ], - [ - -65.430109, - -10.485047 - ], - [ - -65.288, - -10.219 - ], - [ - -65.333, - -9.965 - ], - [ - -65.285884, - -9.844131 - ], - [ - -65.39313, - -9.686832 - ], - [ - -65.443942, - -9.669572 - ], - [ - -65.488301, - -9.71015 - ], - [ - -65.556107, - -9.844976 - ], - [ - -65.627003, - -9.838042 - ], - [ - -65.66963, - -9.781288 - ], - [ - -65.710231, - -9.808573 - ], - [ - -65.683947, - -9.749925 - ], - [ - -65.743201, - -9.782964 - ], - [ - -65.770134, - -9.734417 - ], - [ - -65.794374, - -9.792952 - ], - [ - -65.799619, - -9.756631 - ], - [ - -65.865323, - -9.795327 - ], - [ - -65.871843, - -9.753068 - ], - [ - -65.919756, - -9.753138 - ], - [ - -65.982222, - -9.810112 - ], - [ - -66.151, - -9.785 - ], - [ - -66.426, - -9.899 - ], - [ - -66.435, - -9.866 - ], - [ - -66.619945, - -9.893535 - ], - [ - -66.637012, - -9.949831 - ], - [ - -66.875097, - -10.08268 - ], - [ - -66.952801, - -10.188858 - ], - [ - -66.996826, - -10.200173 - ], - [ - -67.015368, - -10.259191 - ], - [ - -67.17745, - -10.339232 - ], - [ - -67.315446, - -10.319324 - ], - [ - -67.311553, - -10.377158 - ], - [ - -67.407166, - -10.373864 - ], - [ - -67.443611, - -10.45492 - ], - [ - -67.579247, - -10.502796 - ], - [ - -67.640275, - -10.598069 - ], - [ - -67.676308, - -10.604839 - ], - [ - -67.708251, - -10.710828 - ], - [ - -67.863861, - -10.64067 - ], - [ - -68.032891, - -10.654856 - ], - [ - -68.104561, - -10.714264 - ], - [ - -68.103333, - -10.775413 - ], - [ - -68.278194, - -10.989261 - ], - [ - -68.715757, - -11.144833 - ], - [ - -68.757668, - -11.000789 - ], - [ - -68.911804, - -11.02192 - ], - [ - -69.414529, - -10.925752 - ], - [ - -69.736528, - -10.974451 - ], - [ - -69.769028, - -10.929722 - ], - [ - -69.934418, - -10.921903 - ], - [ - -70.158691, - -11.040958 - ], - [ - -70.306724, - -11.069832 - ], - [ - -70.436752, - -11.039233 - ], - [ - -70.530334, - -10.934652 - ], - [ - -70.621025, - -10.999821 - ], - [ - -70.623383, - -9.820545 - ], - [ - -70.536629, - -9.76584 - ], - [ - -70.599722, - -9.562644 - ], - [ - -70.55282, - -9.57093 - ], - [ - -70.56894, - -9.531274 - ], - [ - -70.505061, - -9.505566 - ], - [ - -70.496654, - -9.424887 - ], - [ - -70.595806, - -9.442496 - ], - [ - -70.663203, - -9.526011 - ], - [ - -70.750669, - -9.560426 - ], - [ - -70.793319, - -9.638463 - ], - [ - -70.963367, - -9.748913 - ], - [ - -70.993912, - -9.817209 - ], - [ - -71.13974, - -9.857016 - ], - [ - -71.22052, - -9.969678 - ], - [ - -72.180404, - -9.999672 - ], - [ - -72.151361, - -9.797416 - ], - [ - -72.262955, - -9.750855 - ], - [ - -72.252818, - -9.616334 - ], - [ - -72.288209, - -9.603158 - ], - [ - -72.282899, - -9.539953 - ], - [ - -72.356876, - -9.494598 - ], - [ - -72.519535, - -9.491281 - ], - [ - -72.716756, - -9.412195 - ], - [ - -73.203797, - -9.407154 - ], - [ - -73.073518, - -9.234608 - ], - [ - -73.009298, - -9.222365 - ], - [ - -73.026124, - -9.177857 - ], - [ - -72.958197, - -9.143024 - ], - [ - -72.940912, - -8.98494 - ], - [ - -72.999307, - -8.917781 - ], - [ - -73.059012, - -8.905612 - ], - [ - -73.149923, - -8.6839 - ], - [ - -73.209066, - -8.685696 - ], - [ - -73.287445, - -8.619481 - ], - [ - -73.305502, - -8.471966 - ], - [ - -73.389557, - -8.468783 - ], - [ - -73.412865, - -8.410991 - ], - [ - -73.537444, - -8.345869 - ], - [ - -73.627388, - -8.021875 - ], - [ - -73.73175, - -7.968395 - ], - [ - -73.7725, - -7.902372 - ], - [ - -73.761643, - -7.858028 - ], - [ - -73.697059, - -7.865275 - ], - [ - -73.684303, - -7.77644 - ], - [ - -73.822166, - -7.717883 - ], - [ - -73.990944, - -7.536347 - ], - [ - -73.948005, - -7.526614 - ], - [ - -73.919808, - -7.465678 - ], - [ - -73.963944, - -7.347639 - ], - [ - -73.87014, - -7.378823 - ], - [ - -73.700302, - -7.304295 - ], - [ - -73.79842, - -7.113061 - ], - [ - -73.71046, - -6.84019 - ], - [ - -73.536393, - -6.6834 - ], - [ - -73.39115, - -6.641929 - ], - [ - -73.352809, - -6.593267 - ], - [ - -73.227413, - -6.588843 - ], - [ - -73.187967, - -6.523016 - ], - [ - -73.135226, - -6.510461 - ], - [ - -73.104726, - -6.406664 - ], - [ - -73.246638, - -6.149625 - ], - [ - -73.238213, - -6.043992 - ], - [ - -73.186803, - -6.005125 - ], - [ - -73.152068, - -5.86796 - ], - [ - -73.053029, - -5.79517 - ], - [ - -72.959116, - -5.656891 - ], - [ - -72.958885, - -5.466129 - ], - [ - -72.860525, - -5.271167 - ], - [ - -72.887249, - -5.163067 - ], - [ - -72.73986, - -5.088593 - ], - [ - -72.727648, - -5.051993 - ], - [ - -72.621198, - -5.051804 - ], - [ - -72.597999, - -4.98386 - ], - [ - -72.382017, - -4.872956 - ], - [ - -72.368955, - -4.803869 - ], - [ - -72.126014, - -4.734541 - ], - [ - -72.043346, - -4.623844 - ], - [ - -72.00689, - -4.646223 - ], - [ - -71.994637, - -4.60996 - ], - [ - -71.947433, - -4.608773 - ], - [ - -71.919086, - -4.529796 - ], - [ - -71.88549, - -4.538029 - ], - [ - -71.907302, - -4.516441 - ], - [ - -71.766368, - -4.504462 - ], - [ - -71.75109, - -4.468866 - ], - [ - -71.708175, - -4.511649 - ], - [ - -71.654788, - -4.47246 - ], - [ - -71.650325, - -4.503949 - ], - [ - -71.615477, - -4.468695 - ], - [ - -71.633502, - -4.515243 - ], - [ - -71.596251, - -4.529276 - ], - [ - -71.537028, - -4.464416 - ], - [ - -71.494284, - -4.487006 - ], - [ - -71.507159, - -4.439087 - ], - [ - -71.434375, - -4.428818 - ], - [ - -71.42562, - -4.470577 - ], - [ - -71.350261, - -4.427278 - ], - [ - -71.307517, - -4.462876 - ], - [ - -71.320906, - -4.420089 - ], - [ - -71.277819, - -4.442168 - ], - [ - -71.269751, - -4.385003 - ], - [ - -71.202632, - -4.379868 - ], - [ - -71.19422, - -4.42471 - ], - [ - -71.144782, - -4.38158 - ], - [ - -71.114913, - -4.41119 - ], - [ - -71.106158, - -4.377643 - ], - [ - -70.993892, - -4.386543 - ], - [ - -70.995951, - -4.34632 - ], - [ - -70.935698, - -4.384318 - ], - [ - -70.844829, - -4.279054 - ], - [ - -70.864474, - -4.252452 - ], - [ - -70.816768, - -4.230047 - ], - [ - -70.845805, - -4.218722 - ], - [ - -70.759013, - -4.159443 - ], - [ - -70.681468, - -4.207908 - ], - [ - -70.642561, - -4.128052 - ], - [ - -70.62521, - -4.191505 - ], - [ - -70.561177, - -4.177496 - ], - [ - -70.57357, - -4.211693 - ], - [ - -70.547957, - -4.136705 - ], - [ - -70.510363, - -4.148242 - ], - [ - -70.504167, - -4.200981 - ], - [ - -70.485349, - -4.16132 - ], - [ - -70.43435, - -4.162663 - ], - [ - -70.431458, - -4.132173 - ], - [ - -70.33892, - -4.179968 - ], - [ - -70.322808, - -4.142062 - ], - [ - -70.287693, - -4.165548 - ], - [ - -70.291411, - -4.287086 - ], - [ - -70.214572, - -4.297487 - ], - [ - -70.19194, - -4.361791 - ], - [ - -70.155083, - -4.273079 - ], - [ - -70.117489, - -4.28585 - ], - [ - -70.108814, - -4.25454 - ], - [ - -70.041889, - -4.294089 - ], - [ - -70.079483, - -4.314275 - ], - [ - -70.028256, - -4.370297 - ], - [ - -69.991824, - -4.374822 - ], - [ - -69.947926, - -4.231683 - ] - ], - [ - [ - -34.000346, - -3.766545 - ], - [ - -34.017967, - -3.849854 - ], - [ - -34.006639, - -3.918085 - ], - [ - -33.986081, - -3.959524 - ], - [ - -33.959229, - -3.992171 - ], - [ - -33.892099, - -4.036535 - ], - [ - -33.816578, - -4.050765 - ], - [ - -33.729309, - -4.031513 - ], - [ - -33.666375, - -3.9838 - ], - [ - -33.627356, - -3.918504 - ], - [ - -33.615189, - -3.849854 - ], - [ - -33.632391, - -3.768639 - ], - [ - -33.686933, - -3.695371 - ], - [ - -33.749868, - -3.659782 - ], - [ - -33.816578, - -3.648896 - ], - [ - -33.893358, - -3.663969 - ], - [ - -33.960068, - -3.708769 - ], - [ - -34.000346, - -3.766545 - ] - ], - [ - [ - -32.553802, - -4.008842 - ], - [ - -32.599371, - -3.953096 - ], - [ - -32.640605, - -3.873093 - ], - [ - -32.617548, - -3.73712 - ], - [ - -32.583381, - -3.705275 - ], - [ - -32.542283, - -3.656062 - ], - [ - -32.459198, - -3.630287 - ], - [ - -32.351742, - -3.638874 - ], - [ - -32.300491, - -3.676843 - ], - [ - -32.247488, - -3.752659 - ], - [ - -32.23155, - -3.818895 - ], - [ - -32.235697, - -3.902469 - ], - [ - -32.301938, - -3.988305 - ], - [ - -32.428982, - -4.038401 - ], - [ - -32.553802, - -4.008842 - ] - ], - [ - [ - -29.503214, - 0.793907 - ], - [ - -29.540975, - 0.868896 - ], - [ - -29.547268, - 0.92553 - ], - [ - -29.523668, - 0.994224 - ], - [ - -29.489578, - 1.061343 - ], - [ - -29.431364, - 1.102242 - ], - [ - -29.35899, - 1.120595 - ], - [ - -29.292384, - 1.113778 - ], - [ - -29.221584, - 1.077598 - ], - [ - -29.162845, - 1.003138 - ], - [ - -29.145014, - 0.926054 - ], - [ - -29.147636, - 0.883579 - ], - [ - -29.171761, - 0.819603 - ], - [ - -29.248855, - 0.743565 - ], - [ - -29.294482, - 0.72521 - ], - [ - -29.36371, - 0.718918 - ], - [ - -29.43556, - 0.739369 - ], - [ - -29.503214, - 0.793907 - ] - ], - [ - [ - -29.095373, - -20.426486 - ], - [ - -29.197561, - -20.335094 - ], - [ - -29.334298, - -20.289323 - ], - [ - -29.467412, - -20.328798 - ], - [ - -29.546045, - -20.429577 - ], - [ - -29.553961, - -20.527057 - ], - [ - -29.516965, - -20.626133 - ], - [ - -29.409954, - -20.689546 - ], - [ - -29.275994, - -20.725777 - ], - [ - -29.159683, - -20.662087 - ], - [ - -29.071882, - -20.570881 - ], - [ - -28.971199, - -20.647689 - ], - [ - -28.832861, - -20.698136 - ], - [ - -28.679676, - -20.620991 - ], - [ - -28.635486, - -20.492836 - ], - [ - -28.634116, - -20.471458 - ], - [ - -28.743098, - -20.300936 - ], - [ - -28.868302, - -20.272879 - ], - [ - -29.003102, - -20.324158 - ], - [ - -29.095373, - -20.426486 - ] - ] - ], - terms_text: "IBGE", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAOsSURBVHja7JXbb1RVFIe/fTmn05lepp0OpTcuUgQEElGgGGJSNYhggpdoTEz8m3w1xsQHE00MJj5oDGKCRI2IqKEKlpZCaSmXXubWmc6Zc/bFhwGp3N540LiTX7KTvbLWyvp+WVt473mUR/KIz7+/gJ64uNisJAW1lcbGUz9f+MQ6l5dCGID7EWpEMYcO7GB6tsifE9cItGo+CEEYaLyXl/p620+O7Nn2rp67sQCAUpLFpeXRYsWOKCUBcZ/UgqgRs2tnP5l0K2Pnx/GEJLYZ7RHU6hYwjy+V5l+KomStbElpmlKUl6NXpRQ0xV0SJCZhaKCdwwd2cHmmQJI4lAQpQAiQwqOkQEmJVprr89UjOt+TQylJobA8Wig0Xpby/liiKGawv503jjyFFJJiuY6Q4sFwpcAYl9JJnECguDq39EpinAoCif97QALnHEli2Lq5hxdHt5JpDZoJBDj3YLjOQyqUVb1UKCGlYH6xuk+pW7A8GOexJiHdqtn39AbW9nbw2Re/sbLS4Jk9mxgayHL23HUS41FyNaWmMax1ZPPtZ8Xv49eZXygdPnXmypcCiRAQhpqOtpB1g53sH9lMpVLno09P47xCSIjjhNcO7ySKYn4du4oxDucFUkqkFAgB1lp271p/SOdzbUT12tvbhntIZwLyXW309+XIdWcIAg3A+OQNEguplmarRinmbpQ5+NwT7N61EZMYKrWYUjmiUlmhutKgNaXG1g92H9dz1wrpqculkSg21OqOhcWIPy40reu9ZdvmXrq6Mgg8znkQAmsM+e4MADOzi/wyNsNSsU6tmhAbSxwbtgznfspkWqwulupHLs0UhtVd7nG3WMxcneSFZx/j4PNbOPHdRZx17N+7jlx3mo+PnmZ2roTzAqUkUkqEkKRSOh7s73nfuwB9c6H4phASpf5ZQN2++ICp6SLvvLWXTRvW4L1nemaRz786R62WEIYaLe7Y1VhHbz79Q0tKnqnWq8hCKXpSqYf5GeoNgzGObGeaiambHDsxQSN2tLQEiFXJPeC9p7M99bWUEikkMtSi5B/mZ+fpzraiteLHM1N8c3ISrTVKins3lfekU6rSu6btaBwnWGuQA33ZD7x3WNuE6P1tNbsx1tK/toMrs0uc+H6KIAyA1XF3lCSWgb7ssaGB/MVcVwc93Z3o7duH3yuWl7Pl5fh1JYKs815a571A4Lynoz0k35Ph+LfnybSG97BavQnDQIZdXZkPy8sNrG2ORfz/Zf73C/w1AJZ/tYbRRy7/AAAAAElFTkSuQmCC" - }, - { - id: "IBGE_BC250_Aglomerado_Rural", - name: "IBGE-BC250-Aglomerado Rural Isolado", - type: "wms", - template: "http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Aglomerado_Rural_Isolado_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "IBGE_BC250_Pista_Pouso", - name: "IBGE-BC250-Pista de Pouso", - type: "wms", - template: "http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Pista_Ponto_Pouso_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "IBGE_BC250_Rios_Drenagem", - name: "IBGE-BC250-Rios Drenagem", - type: "wms", - template: "http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Trecho_Drenagem_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "IBGE_BC250_Terra_Indegina", - name: "IBGE-BC250-Terra Indigena", - type: "wms", - template: "http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Terra_Indigena_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "IBGE_BC250_Rodoviario", - name: "IBGE-BC250-Trecho Rodoviario", - type: "wms", - template: "http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Trecho_Rodoviario_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image/png&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "IBGE_BC250_Uso_Sustentavel", - name: "IBGE-BC250-Unidade de Uso Sistentável - APA", - type: "wms", - template: "http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Unidade_Uso_Sustentavel_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "IBGE_BC250_Villa", - name: "IBGE-BC250-Villa", - type: "wms", - template: "http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Vila_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "IBGE_BCIM_Gerador_Eletrica", - name: "IBGE-BCIM-Estações Geradora de Energia Elétrica", - type: "wms", - template: "http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BCIM_Est_Gerad_Energia_Eletrica_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "IBGE_BCIM_Municipio", - name: "IBGE-BCIM-Município", - type: "wms", - template: "http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BCIM_Municipio_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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 - ] - ] - ], - terms_text: "IBGE", - overlay: true - }, - { - id: "Haiti-Drone", - 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.1547401, - 19.6878969 - ] - ], - [ - [ - -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 - ], - [ - -72.1310601, - 19.6718929 - ] - ], - [ - [ - -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 - ], - [ - -71.845795, - 19.6709758 - ] - ], - [ - [ - -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.098878, - 18.54843 - ] - ], - [ - [ - -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.2542503, - 18.568262 - ] - ], - [ - [ - -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.303145, - 18.5332749 - ] - ], - [ - [ - -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.2981405, - 18.477502 - ] - ], - [ - [ - -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.3466657, - 18.5222375 - ] - ], - [ - [ - -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.3303078, - 18.5486462 - ] - ], - [ - [ - -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.3231383, - 18.5269828 - ] - ], - [ - [ - -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.2160832, - 18.6457752 - ] - ], - [ - [ - -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.2867654, - 18.6482017 - ] - ], - [ - [ - -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.5557247, - 18.5305893 - ] - ], - [ - [ - -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 - ], - [ - -72.6235278, - 18.5079877 - ] - ] - ] - }, - { - id: "osmim-imagicode-S2A_R119_N09_20160327T050917", - name: "imagico.de: Adams Bridge", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R119_N09_20160327T050917&z={zoom}&x={x}&y={-y}", - endDate: "2016-03-27T00:00:00.000Z", - startDate: "2016-03-27T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 79.01779174804685, - 8.827572266651268 - ], - [ - 79.01401519775389, - 9.64678471986339 - ], - [ - 80.17642021179198, - 9.650423231331946 - ], - [ - 80.17727851867674, - 8.831304063493132 - ], - [ - 79.01779174804685, - 8.827572266651268 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Supplementing incomplete coverage in other sources (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC80700162014211LGN00", - name: "imagico.de: Alaska Range", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC80700162014211LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2014-07-31T00:00:00.000Z", - startDate: "2014-07-31T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - -152.70872943147867, - 62.30357443926811 - ], - [ - -152.70838610872474, - 62.58153176976553 - ], - [ - -152.00835101350992, - 63.54645538851267 - ], - [ - -148.99432055696695, - 63.53329945446586 - ], - [ - -148.99432055696695, - 62.30357443926811 - ], - [ - -152.70872943147867, - 62.30357443926811 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Recent summer image of the Alaska Range for mapping natural features (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-aral2", - name: "imagico.de: Aral Sea (high water level)", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=aral2&z={zoom}&x={x}&y={-y}", - endDate: "2016-03-03T00:00:00.000Z", - startDate: "2016-03-03T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 58.049, - 43.2623 - ], - [ - 58.049, - 46.7189 - ], - [ - 58.1014, - 46.8645 - ], - [ - 61.5524, - 46.8629 - ], - [ - 61.5524, - 46.3896 - ], - [ - 61.4675, - 45.3416 - ], - [ - 60.6317, - 43.2623 - ], - [ - 58.049, - 43.2623 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Water and wetland extents, dams etc. - some remaining winter ice in the north (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-aral1", - name: "imagico.de: Aral Sea (low water level)", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=aral1&z={zoom}&x={x}&y={-y}", - endDate: "2016-09-09T00:00:00.000Z", - startDate: "2016-09-09T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 58.049, - 43.2623 - ], - [ - 58.049, - 46.7334 - ], - [ - 58.096, - 46.8645 - ], - [ - 61.5524, - 46.8629 - ], - [ - 61.5524, - 46.3896 - ], - [ - 61.4685, - 45.3544 - ], - [ - 60.6267, - 43.2623 - ], - [ - 58.049, - 43.2623 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Water and wetland extents, dams etc. (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R067_S40_20170417T140051", - name: "imagico.de: Bahía Blanca (high tide)", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R067_S40_20170417T140051&z={zoom}&x={x}&y={-y}", - endDate: "2017-04-17T00:00:00.000Z", - startDate: "2017-04-17T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -62.9988, - -40.7327 - ], - [ - -62.9988, - -37.9476 - ], - [ - -61.7505, - -37.9474 - ], - [ - -61.7501, - -40.7322 - ], - [ - -62.9988, - -40.7327 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Tidal flats and islands at the coast (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R067_S40_20170127T140051", - name: "imagico.de: Bahía Blanca (low tide)", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R067_S40_20170127T140051&z={zoom}&x={x}&y={-y}", - endDate: "2017-01-27T00:00:00.000Z", - startDate: "2017-01-27T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -62.9988, - -40.7327 - ], - [ - -62.9988, - -37.9476 - ], - [ - -61.7505, - -37.9474 - ], - [ - -61.7501, - -40.7322 - ], - [ - -62.9988, - -40.7327 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Tidal flats and islands at the coast (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81190582014075LGN00", - name: "imagico.de: Bakun Reservoir", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81190582014075LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2014-03-16T00:00:00.000Z", - startDate: "2014-03-16T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 114.35999506049737, - 2.028456548619032 - ], - [ - 113.5344754987298, - 2.030000532161949 - ], - [ - 113.53619211249934, - 3.070767124420059 - ], - [ - 114.76511591010677, - 3.067510236472651 - ], - [ - 114.76254098945248, - 2.088156161702156 - ], - [ - 114.35999506049737, - 2.028456548619032 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing in older pre-2011 images (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81250592016107LGN00", - name: "imagico.de: Batam", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81250592016107LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2014-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 104.00154570197358, - -0.000078769115171 - ], - [ - 104.00137404059662, - 1.45099139170518 - ], - [ - 104.91014937018647, - 1.451162998032411 - ], - [ - 104.91014937018647, - -0.000078769115171 - ], - [ - 104.00154570197358, - -0.000078769115171 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing Islands in OSM (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC80770232017156LGN00", - name: "imagico.de: Bogoslof Island", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC80770232017156LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2017-06-05T00:00:00.000Z", - startDate: "2017-06-05T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -168.2544, - 53.8749 - ], - [ - -168.2544, - 54.0213 - ], - [ - -167.8591, - 54.0213 - ], - [ - -167.8591, - 53.8749 - ], - [ - -168.2544, - 53.8749 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Recent image from after the eruption (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81800982013291LGN00", - name: "imagico.de: Bouvet Island", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81800982013291LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2013-10-18T00:00:00.000Z", - startDate: "2013-10-18T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 3.246529403113632, - -54.47046993167111 - ], - [ - 3.246529403113632, - -54.375391687979096 - ], - [ - 3.463852706336288, - -54.375391687979096 - ], - [ - 3.463852706336288, - -54.47046993167111 - ], - [ - 3.246529403113632, - -54.47046993167111 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - best: true, - description: "For more accurate coastline and glacier mapping (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R017_S67_20170223T022551", - name: "imagico.de: Bunger Hills", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R017_S67_20170223T022551&z={zoom}&x={x}&y={-y}", - endDate: "2017-02-23T00:00:00.000Z", - startDate: "2017-02-23T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 96.1197, - -67.6542 - ], - [ - 96.1201, - -67.1899 - ], - [ - 98.7331, - -65.044 - ], - [ - 105.1028, - -65.044 - ], - [ - 105.1028, - -65.7224 - ], - [ - 103.3017, - -67.6542 - ], - [ - 96.1197, - -67.6542 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Largest ice free area at the East Antarctic coast - shows considerable amounts of non-permanent ice. (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R065_N47_20160929T102022", - name: "imagico.de: Central Alps in late September 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R065_N47_20160929T102022&z={zoom}&x={x}&y={-y}", - endDate: "2016-09-29T00:00:00.000Z", - startDate: "2016-09-29T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 10.559062957763668, - 45.95484945195885 - ], - [ - 7.473964691162107, - 45.95532682303484 - ], - [ - 7.555847167968747, - 46.27080015119853 - ], - [ - 8.05469512939453, - 47.66469371011084 - ], - [ - 11.752452850341793, - 47.664809318453564 - ], - [ - 11.752452850341793, - 46.813336457338615 - ], - [ - 11.38423919677734, - 45.955088138010865 - ], - [ - 10.559062957763668, - 45.95484945195885 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date image for glacier mapping - beware of some fresh snow at higher altitudes (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC82050982015344LGN00", - name: "imagico.de: Clerke Rocks", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC82050982015344LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2015-12-10T00:00:00.000Z", - startDate: "2015-12-10T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -34.17701089820909, - -55.29692751183208 - ], - [ - -35.19599283180284, - -55.282851769908206 - ], - [ - -35.16663873634385, - -54.7209735214882 - ], - [ - -34.12516916236925, - -54.73465315976587 - ], - [ - -34.14010370216417, - -55.29692751183208 - ], - [ - -34.17701089820909, - -55.29692751183208 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing in other image sources (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R086_N60_20160831T213532", - name: "imagico.de: Cook Inlet", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R086_N60_20160831T213532&z={zoom}&x={x}&y={-y}", - endDate: "2016-08-31T00:00:00.000Z", - startDate: "2016-08-31T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -154.5102, - 59.4577 - ], - [ - -154.5097, - 60.6888 - ], - [ - -153.5403, - 62.1718 - ], - [ - -148.0423, - 62.1718 - ], - [ - -148.0445, - 61.5342 - ], - [ - -149.7291, - 59.4584 - ], - [ - -154.5102, - 59.4577 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Tidal flats and glaciers in surrounding mountains (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-EO1A0040712016264110KF", - name: "imagico.de: Coropuna", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=EO1A0040712016264110KF&z={zoom}&x={x}&y={-y}", - endDate: "2016-09-21T00:00:00.000Z", - startDate: "2016-09-21T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -72.7594470977783, - -15.68684010813036 - ], - [ - -72.7594470977783, - -15.49570157136026 - ], - [ - -72.74434089660643, - -15.426295586903299 - ], - [ - -72.41286277770995, - -15.426295586903299 - ], - [ - -72.41286277770995, - -15.652957427428944 - ], - [ - -72.42410659790038, - -15.686674840407827 - ], - [ - -72.7594470977783, - -15.68684010813036 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date image for glacier mapping (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R022_N06_20151221T103009", - name: "imagico.de: Cotonou", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R022_N06_20151221T103009&z={zoom}&x={x}&y={-y}", - endDate: "2015-12-21T00:00:00.000Z", - startDate: "2015-12-21T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 1.839749701876779, - 6.257803795151386 - ], - [ - 1.839749701876779, - 7.114271792431897 - ], - [ - 2.549397834200998, - 7.114271792431897 - ], - [ - 2.549397834200998, - 6.489052510574106 - ], - [ - 2.497813590426584, - 6.258059752887941 - ], - [ - 1.839749701876779, - 6.257803795151386 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Patchy and partly cloudy coverage in usual sources (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R040_N01_20160311T164128", - name: "imagico.de: Darwin and Wolf islands, Galapagos", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R040_N01_20160311T164128&z={zoom}&x={x}&y={-y}", - endDate: "2016-03-11T00:00:00.000Z", - startDate: "2016-03-11T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -92.05216379429558, - 1.321295617717369 - ], - [ - -92.05216379429558, - 1.72181118585353 - ], - [ - -91.74849481846549, - 1.72181118585353 - ], - [ - -91.74849481846549, - 1.321295617717369 - ], - [ - -92.05216379429558, - 1.321295617717369 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Recent image, only old and poor images in other sources currently (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC80360072014245LGN00", - name: "imagico.de: Eastern Devon Island coast", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC80360072014245LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2014-09-02T00:00:00.000Z", - startDate: "2014-09-02T00:00:00.000Z", - scaleExtent: [ - 0, - 11 - ], - polygon: [ - [ - [ - -84.34798733886554, - 74.38945823827667 - ], - [ - -84.34798733886554, - 75.89030323920836 - ], - [ - -79.14870755370929, - 75.89030323920836 - ], - [ - -79.14870755370929, - 74.38945823827667 - ], - [ - -84.34798733886554, - 74.38945823827667 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Coastline mostly mapped meanwhile (false color IR)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC82160152013239LGN00", - name: "imagico.de: Eastern Iceland", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC82160152013239LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2013-08-27T00:00:00.000Z", - startDate: "2013-08-27T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - -13.047005598725303, - 64.2110895294821 - ], - [ - -15.164963667572959, - 64.22408122727819 - ], - [ - -15.168053572358117, - 64.81572800422087 - ], - [ - -13.043572371186242, - 64.80359943673454 - ], - [ - -13.047005598725303, - 64.2110895294821 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing islets and inaccurate coast (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-AST_L1T_00302052007154424_20150518041444_91492", - name: "imagico.de: El Altar", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00302052007154424_20150518041444_91492&z={zoom}&x={x}&y={-y}", - endDate: "2012-02-05T00:00:00.000Z", - startDate: "2012-02-05T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -78.531997745432, - -1.805085317123331 - ], - [ - -78.531997745432, - -1.608105565001241 - ], - [ - -78.33561713019762, - -1.608105565001241 - ], - [ - -78.33561713019762, - -1.805085317123331 - ], - [ - -78.531997745432, - -1.805085317123331 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "2007 ASTER image offering better glacier coverage than common sources (true color with estimated blue)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R009_S61_20160109", - name: "imagico.de: Elephant Island/Clarence Island", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R009_S61_20160109&z={zoom}&x={x}&y={-y}", - endDate: "2016-01-09T00:00:00.000Z", - startDate: "2016-01-09T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -56.13476090727487, - -61.63471600102006 - ], - [ - -56.13476090727487, - -61.199363166283845 - ], - [ - -55.83263688383738, - -60.84015069906498 - ], - [ - -53.72343354521433, - -60.83981613078141 - ], - [ - -53.72343354521433, - -61.63471600102006 - ], - [ - -56.13476090727487, - -61.63471600102006 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Fairly clear up-to-date image for updating glacier edges (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-enderby", - name: "imagico.de: Enderby Land and Kemp Coast", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=enderby&z={zoom}&x={x}&y={-y}", - endDate: "2017-03-27T00:00:00.000Z", - startDate: "2017-01-25T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 45.4547, - -68.5091 - ], - [ - 45.4547, - -67.5724 - ], - [ - 49.7155, - -65.7176 - ], - [ - 59.2693, - -65.7176 - ], - [ - 67.3735, - -67.3449 - ], - [ - 67.3735, - -68.2581 - ], - [ - 67.088, - -68.5091 - ], - [ - 45.4547, - -68.5091 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Sentinel-2 images of Enderby Land and Kemp Coast (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC82100502015347LGN00", - name: "imagico.de: Fogo, Cape Verde", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC82100502015347LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2015-12-13T00:00:00.000Z", - startDate: "2015-12-13T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -24.758781955967567, - 14.748140156641956 - ], - [ - -24.758781955967567, - 15.092493544965103 - ], - [ - -24.267057941685337, - 15.092493544965103 - ], - [ - -24.267057941685337, - 14.748140156641956 - ], - [ - -24.758781955967567, - 14.748140156641956 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Image from after the 2014/2015 eruption (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-greenland", - name: "imagico.de: Greenland mosaic", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=greenland&z={zoom}&x={x}&y={-y}", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - -43.9774, - 59.7171 - ], - [ - -44.545, - 59.7302 - ], - [ - -44.9203, - 59.7672 - ], - [ - -45.3587, - 59.8218 - ], - [ - -45.763, - 59.8848 - ], - [ - -46.0859, - 59.9827 - ], - [ - -46.3381, - 60.119 - ], - [ - -46.577, - 60.2652 - ], - [ - -46.8114, - 60.4418 - ], - [ - -47.2635, - 60.5314 - ], - [ - -47.6937, - 60.5549 - ], - [ - -48.1457, - 60.6192 - ], - [ - -48.5771, - 60.7015 - ], - [ - -48.8689, - 60.8506 - ], - [ - -49.0578, - 61.0555 - ], - [ - -49.396, - 61.2957 - ], - [ - -49.7601, - 61.4934 - ], - [ - -50.2064, - 61.7324 - ], - [ - -50.4699, - 61.9539 - ], - [ - -50.8647, - 62.1596 - ], - [ - -51.0631, - 62.3869 - ], - [ - -51.2121, - 62.6001 - ], - [ - -51.3005, - 62.8389 - ], - [ - -51.4238, - 62.9979 - ], - [ - -51.6767, - 63.1944 - ], - [ - -51.9465, - 63.4079 - ], - [ - -52.0253, - 63.6377 - ], - [ - -52.2255, - 63.8378 - ], - [ - -52.3658, - 64.0705 - ], - [ - -52.4829, - 64.3792 - ], - [ - -52.4988, - 64.6788 - ], - [ - -52.789, - 64.9063 - ], - [ - -53.2046, - 65.1321 - ], - [ - -53.6649, - 65.4753 - ], - [ - -53.9977, - 65.8019 - ], - [ - -54.1348, - 66.1568 - ], - [ - -54.1441, - 66.5235 - ], - [ - -54.2285, - 66.8319 - ], - [ - -54.4519, - 67.303 - ], - [ - -54.5141, - 67.7648 - ], - [ - -54.604, - 68.2021 - ], - [ - -54.568, - 68.5698 - ], - [ - -54.598, - 68.8347 - ], - [ - -54.7606, - 69.1207 - ], - [ - -55.0028, - 69.4125 - ], - [ - -55.2735, - 69.6187 - ], - [ - -55.3808, - 69.8283 - ], - [ - -55.3945, - 70.0838 - ], - [ - -55.3094, - 70.2573 - ], - [ - -55.4307, - 70.479 - ], - [ - -55.5501, - 70.6707 - ], - [ - -55.7654, - 70.861 - ], - [ - -56.2489, - 71.2343 - ], - [ - -56.5018, - 71.5429 - ], - [ - -56.5867, - 71.9015 - ], - [ - -56.5189, - 72.2355 - ], - [ - -56.5085, - 72.5258 - ], - [ - -56.8923, - 72.8144 - ], - [ - -57.4027, - 73.1054 - ], - [ - -57.8066, - 73.4566 - ], - [ - -58.1461, - 73.7696 - ], - [ - -58.3554, - 74.0972 - ], - [ - -58.5125, - 74.3783 - ], - [ - -58.7336, - 74.6328 - ], - [ - -59.3551, - 74.8869 - ], - [ - -60.1412, - 75.102 - ], - [ - -61.0067, - 75.2763 - ], - [ - -61.911, - 75.3886 - ], - [ - -62.4706, - 75.5595 - ], - [ - -62.9776, - 75.7454 - ], - [ - -64.1463, - 75.779 - ], - [ - -65.4481, - 75.7235 - ], - [ - -66.7068, - 75.6792 - ], - [ - -67.8379, - 75.6525 - ], - [ - -69.0456, - 75.6195 - ], - [ - -70.055, - 75.5344 - ], - [ - -71.0898, - 75.4705 - ], - [ - -72.1119, - 75.4476 - ], - [ - -74.2311, - 76.4102 - ], - [ - -74.5601, - 76.5328 - ], - [ - -74.5601, - 82.6959 - ], - [ - -14.4462, - 82.6959 - ], - [ - -14.3994, - 82.5997 - ], - [ - -13.5339, - 82.4379 - ], - [ - -12.0312, - 82.3426 - ], - [ - -10.7796, - 82.3196 - ], - [ - -10.7796, - 80.1902 - ], - [ - -11.2123, - 80.069 - ], - [ - -11.136, - 79.8103 - ], - [ - -10.7796, - 79.5176 - ], - [ - -10.7796, - 79.0441 - ], - [ - -11.2626, - 78.7128 - ], - [ - -12.2579, - 78.3558 - ], - [ - -13.2398, - 78.1272 - ], - [ - -13.7649, - 77.9279 - ], - [ - -14.1169, - 77.6779 - ], - [ - -14.7129, - 77.5278 - ], - [ - -15.5507, - 77.3655 - ], - [ - -16.0936, - 77.0771 - ], - [ - -16.0586, - 76.5548 - ], - [ - -15.838, - 75.9611 - ], - [ - -15.6879, - 75.4726 - ], - [ - -16.253, - 75.058 - ], - [ - -17.0427, - 74.6425 - ], - [ - -18.3155, - 74.2702 - ], - [ - -19.4463, - 73.9378 - ], - [ - -19.8329, - 73.632 - ], - [ - -20.2938, - 73.3524 - ], - [ - -20.7831, - 73.0446 - ], - [ - -21.01, - 72.6766 - ], - [ - -20.8774, - 72.2926 - ], - [ - -20.7672, - 71.8726 - ], - [ - -20.7765, - 71.4304 - ], - [ - -20.9411, - 70.9802 - ], - [ - -21.219, - 70.6126 - ], - [ - -21.5326, - 70.3001 - ], - [ - -21.8039, - 70.0911 - ], - [ - -22.166, - 69.8947 - ], - [ - -22.4831, - 69.7539 - ], - [ - -22.9027, - 69.6585 - ], - [ - -23.3545, - 69.544 - ], - [ - -23.9177, - 69.4036 - ], - [ - -24.1794, - 69.3088 - ], - [ - -24.6745, - 69.1084 - ], - [ - -25.1222, - 68.9555 - ], - [ - -25.6659, - 68.7995 - ], - [ - -26.0994, - 68.583 - ], - [ - -26.6316, - 68.4043 - ], - [ - -27.7638, - 68.2813 - ], - [ - -28.4575, - 68.0023 - ], - [ - -29.353, - 67.8135 - ], - [ - -30.6456, - 67.4911 - ], - [ - -31.7673, - 67.0005 - ], - [ - -32.9783, - 66.2596 - ], - [ - -33.9313, - 66.0156 - ], - [ - -34.8956, - 65.7403 - ], - [ - -35.5914, - 65.5208 - ], - [ - -36.1483, - 65.372 - ], - [ - -36.7532, - 65.2559 - ], - [ - -37.1858, - 65.1349 - ], - [ - -37.6032, - 64.9727 - ], - [ - -38.0624, - 64.4901 - ], - [ - -38.5304, - 64.1244 - ], - [ - -39.0545, - 63.7213 - ], - [ - -39.3131, - 63.4405 - ], - [ - -39.5739, - 62.7506 - ], - [ - -39.9532, - 62.2739 - ], - [ - -40.2757, - 61.8547 - ], - [ - -40.714, - 61.3365 - ], - [ - -41.2091, - 60.8495 - ], - [ - -41.821, - 60.5526 - ], - [ - -42.4368, - 60.3264 - ], - [ - -42.8643, - 60.0299 - ], - [ - -43.1131, - 59.9147 - ], - [ - -43.3282, - 59.83 - ], - [ - -43.5459, - 59.7695 - ], - [ - -43.797, - 59.7284 - ], - [ - -43.9774, - 59.7171 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Landsat mosaic of Greenland (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R047_S54_20160411T044330", - name: "imagico.de: Heard Island coast", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R047_S54_20160411T044330&z={zoom}&x={x}&y={-y}", - endDate: "2016-04-12T00:00:00.000Z", - startDate: "2016-04-12T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 73.06896521028185, - -53.270590689700434 - ], - [ - 73.06896521028185, - -52.875489636268725 - ], - [ - 73.67338491853381, - -52.87673289134188 - ], - [ - 74.08863378938341, - -52.94950473139763 - ], - [ - 74.08863378938341, - -53.270590689700434 - ], - [ - 73.06896521028185, - -53.270590689700434 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Recent image of Heard island with interior mostly cloud covered but mostly well visible coast (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC82280982013259LGN00", - name: "imagico.de: Isla Londonderry", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC82280982013259LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2013-09-16T00:00:00.000Z", - startDate: "2013-09-16T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - -69.85679747431641, - -55.55949231551995 - ], - [ - -72.26520659296875, - -55.149427383391455 - ], - [ - -72.26520659296875, - -54.51089432315929 - ], - [ - -72.08530546992188, - -54.17909103768387 - ], - [ - -69.49115874140625, - -54.17889010631196 - ], - [ - -69.49150206416016, - -55.28378528847367 - ], - [ - -69.62230803339844, - -55.55910398108892 - ], - [ - -69.85679747431641, - -55.55949231551995 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "A lot of very coarse coastlines could be improved here, much snow cover though so no use for glacier mapping (false color IR)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-dms_kangerlussuaq_20151008", - name: "imagico.de: Kangerlussuaq Autumn", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=dms_kangerlussuaq_20151008&z={zoom}&x={x}&y={-y}", - endDate: "2015-10-08T00:00:00.000Z", - startDate: "2015-10-08T00:00:00.000Z", - scaleExtent: [ - 0, - 17 - ], - polygon: [ - [ - [ - -50.6992, - 66.9888 - ], - [ - -50.721, - 67.0017 - ], - [ - -50.7341, - 67.0125 - ], - [ - -50.7396, - 67.0193 - ], - [ - -50.7396, - 67.0212 - ], - [ - -50.7158, - 67.0265 - ], - [ - -50.7017, - 67.0265 - ], - [ - -50.6829, - 67.0176 - ], - [ - -50.6686, - 67.0077 - ], - [ - -50.6638, - 66.998 - ], - [ - -50.6642, - 66.9946 - ], - [ - -50.6891, - 66.9888 - ], - [ - -50.6992, - 66.9888 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Icebridge DMS image of the airport and settlement - alignment might be poor", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-dms_kangerlussuaq_20160518", - name: "imagico.de: Kangerlussuaq Spring", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=dms_kangerlussuaq_20160518&z={zoom}&x={x}&y={-y}", - endDate: "2016-05-18T00:00:00.000Z", - startDate: "2016-05-18T00:00:00.000Z", - scaleExtent: [ - 0, - 18 - ], - polygon: [ - [ - [ - -50.7519, - 66.9996 - ], - [ - -50.7555, - 67.0023 - ], - [ - -50.7555, - 67.0033 - ], - [ - -50.6395, - 67.0297 - ], - [ - -50.6162, - 67.0339 - ], - [ - -50.6097, - 67.0281 - ], - [ - -50.6331, - 67.022 - ], - [ - -50.7323, - 66.9996 - ], - [ - -50.7519, - 66.9996 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Icebridge DMS image of the airport and roads - alignment might be poor", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R021_N44_20160807T083013", - name: "imagico.de: Kerch Strait", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R021_N44_20160807T083013&z={zoom}&x={x}&y={-y}", - endDate: "2016-08-07T00:00:00.000Z", - startDate: "2016-08-07T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 35.932588577270494, - 44.96236872935039 - ], - [ - 35.932588577270494, - 45.559256426515695 - ], - [ - 37.369909286499016, - 45.559256426515695 - ], - [ - 37.369909286499016, - 44.96236872935039 - ], - [ - 35.932588577270494, - 44.96236872935039 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "State of bridge construction in August 2016 (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-ls_polar2", - name: "imagico.de: Landsat off-nadir July 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=ls_polar2&z={zoom}&x={x}&y={-y}", - endDate: "2016-07-17T00:00:00.000Z", - startDate: "2016-07-17T00:00:00.000Z", - scaleExtent: [ - 0, - 10 - ], - polygon: [ - [ - [ - -79.05174500251786, - 81.91484289044183 - ], - [ - -79.05174500251786, - 83.43338556749623 - ], - [ - -73.60389956385866, - 83.80224987787145 - ], - [ - -26.424486898081835, - 83.80224987787145 - ], - [ - -21.492998879371186, - 83.50352415480617 - ], - [ - -16.888354121159868, - 83.15094632775453 - ], - [ - -16.888354121159868, - 81.91484289044183 - ], - [ - -79.05174500251786, - 81.91484289044183 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Latest images north of the regular Landsat limit (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-larsen_2018", - name: "imagico.de: Larsen C ice shelf after calving", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=larsen_2018&z={zoom}&x={x}&y={-y}", - endDate: "2018-01-06T00:00:00.000Z", - startDate: "2018-01-06T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - -62.7282, - -68.9652 - ], - [ - -64.0489, - -68.7318 - ], - [ - -64.0486, - -68.5373 - ], - [ - -60.8845, - -65.9399 - ], - [ - -59.9187, - -65.9389 - ], - [ - -59.1088, - -66.0775 - ], - [ - -59.1088, - -68.8359 - ], - [ - -59.2544, - -68.9652 - ], - [ - -62.7282, - -68.9652 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "For updating the ice edge after the 2017 iceberg calving (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-AST_L1T_00311162013112731_20150618142416_109190", - name: "imagico.de: Leskov Island ASTER", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00311162013112731_20150618142416_109190&z={zoom}&x={x}&y={-y}", - endDate: "2013-11-16T00:00:00.000Z", - startDate: "2013-11-16T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -28.210747081406492, - -56.72108048139938 - ], - [ - -28.210747081406492, - -56.624975043089115 - ], - [ - -27.96956284678735, - -56.624975043089115 - ], - [ - -27.96956284678735, - -56.72108048139938 - ], - [ - -28.210747081406492, - -56.72108048139938 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing in other image sources (true color with estimated blue)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81991002015286LGN00", - name: "imagico.de: Leskov Island Landsat", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81991002015286LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2015-10-13T00:00:00.000Z", - startDate: "2015-10-13T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -27.992928409215843, - -56.73479060902333 - ], - [ - -28.227761172887714, - -56.732624892496354 - ], - [ - -28.2241562839717, - -56.600752537318456 - ], - [ - -27.969754123327167, - -56.60283135691063 - ], - [ - -27.97318735086623, - -56.73479060902333 - ], - [ - -27.992928409215843, - -56.73479060902333 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing in other image sources (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-ls_polar", - name: "imagico.de: May 2013 off-nadir Landsat", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=ls_polar&z={zoom}&x={x}&y={-y}", - endDate: "2013-05-17T00:00:00.000Z", - startDate: "2013-05-17T00:00:00.000Z", - scaleExtent: [ - 0, - 10 - ], - polygon: [ - [ - [ - -85.76109385682587, - 81.39333391115835 - ], - [ - -89.83015512094161, - 82.14951616258433 - ], - [ - -89.83152841195212, - 82.24404688557661 - ], - [ - -84.99342418195555, - 82.73098798225534 - ], - [ - -79.95207288240479, - 83.13107965605444 - ], - [ - -74.55641250214465, - 83.46266728201661 - ], - [ - -69.35850602739671, - 83.70450775086888 - ], - [ - -28.207840897721187, - 83.70450775086888 - ], - [ - -23.06623935440381, - 83.46532469372944 - ], - [ - -17.96583654140148, - 83.15518123848051 - ], - [ - -17.96720983241198, - 82.72386035102944 - ], - [ - -22.781968115230015, - 81.44190408358111 - ], - [ - -85.76109385682587, - 81.39333391115835 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "First available image north of the regular Landsat limit, mostly with seasonal snow cover so difficult to interpret (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R042_S78_20170214T202521", - name: "imagico.de: McMurdo Sound and Dry Valleys", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R042_S78_20170214T202521&z={zoom}&x={x}&y={-y}", - endDate: "2017-02-14T00:00:00.000Z", - startDate: "2017-02-14T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - 162.9125, - -78.4514 - ], - [ - 162.6595, - -78.4257 - ], - [ - 159.2712, - -77.6013 - ], - [ - 159.2712, - -77.4108 - ], - [ - 164.157, - -76.477 - ], - [ - 169.7813, - -76.4764 - ], - [ - 169.7813, - -78.4514 - ], - [ - 162.9125, - -78.4514 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date late season image - not ice minimum, be careful with distinguishing sea ice from ice shelves. (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R092_S02_20160613T075613", - name: "imagico.de: Mount Kenya 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R092_S02_20160613T075613&z={zoom}&x={x}&y={-y}", - endDate: "2016-06-13T00:00:00.000Z", - startDate: "2016-06-13T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 37.20665931701659, - -0.266846645776291 - ], - [ - 37.20665931701659, - -0.011930465612033 - ], - [ - 37.5655174255371, - -0.011930465612033 - ], - [ - 37.5655174255371, - -0.266846645776291 - ], - [ - 37.20665931701659, - -0.266846645776291 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date image for glacier mapping (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R092_S05_20160802T075556", - name: "imagico.de: Mount Kilimanjaro 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R092_S05_20160802T075556&z={zoom}&x={x}&y={-y}", - endDate: "2016-08-02T00:00:00.000Z", - startDate: "2016-08-02T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 37.24768638610839, - -3.229213650135676 - ], - [ - 37.24768638610839, - -2.968155849006605 - ], - [ - 37.61581420898436, - -2.968155849006605 - ], - [ - 37.61581420898436, - -3.229213650135676 - ], - [ - 37.24768638610839, - -3.229213650135676 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date image for glacier mapping (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC80940622015159LGN00", - name: "imagico.de: New Ireland", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC80940622015159LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2015-06-08T00:00:00.000Z", - startDate: "2015-06-08T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 150.38853376619625, - -2.800534349432724 - ], - [ - 150.38853376619625, - -2.383396178206425 - ], - [ - 150.83348005525875, - -2.383396178206425 - ], - [ - 150.83348005525875, - -2.800534349432724 - ], - [ - 150.38853376619625, - -2.800534349432724 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Many missing islands in OSM (mostly mapped meanwhile) (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-northsea_s2_2016", - name: "imagico.de: North Sea Coast 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=northsea_s2_2016&z={zoom}&x={x}&y={-y}", - endDate: "2016-09-25T00:00:00.000Z", - startDate: "2016-09-25T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 5.1562, - 52.8755 - ], - [ - 5.1615, - 53.0325 - ], - [ - 6.4155, - 55.7379 - ], - [ - 9.8813, - 55.7459 - ], - [ - 9.8813, - 53.2428 - ], - [ - 9.6846, - 52.8877 - ], - [ - 5.1562, - 52.8755 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-northsea_s2_2017", - name: "imagico.de: North Sea Coast 2017", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=northsea_s2_2017&z={zoom}&x={x}&y={-y}", - endDate: "2017-06-02T00:00:00.000Z", - startDate: "2017-06-02T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 5.1713, - 53.0918 - ], - [ - 6.477, - 55.8973 - ], - [ - 9.8813, - 55.8973 - ], - [ - 9.8813, - 53.2761 - ], - [ - 9.7789, - 53.0918 - ], - [ - 5.1713, - 53.0918 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-ural_s2_2016", - name: "imagico.de: Northern and Polar Ural mountains August 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=ural_s2_2016&z={zoom}&x={x}&y={-y}", - endDate: "2016-08-12T00:00:00.000Z", - startDate: "2016-08-12T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 59.198977223476454, - 64.8920468958533 - ], - [ - 59.198977223476454, - 66.91656046303187 - ], - [ - 60.733286610683486, - 68.44289182710118 - ], - [ - 67.7329509173241, - 68.44327026354412 - ], - [ - 67.7329509173241, - 67.748828729217 - ], - [ - 64.21646761043934, - 64.9195663902952 - ], - [ - 59.198977223476454, - 64.8920468958533 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date late summer imagery with few clouds - caution: not all visible snow is glaciers (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-ndvina", - name: "imagico.de: Northern Dvina delta at low tide", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=ndvina&z={zoom}&x={x}&y={-y}", - endDate: "2015-09-13T00:00:00.000Z", - startDate: "2015-09-13T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - 37.7291, - 64.1971 - ], - [ - 37.7291, - 65.1161 - ], - [ - 37.8592, - 65.2705 - ], - [ - 41.3223, - 65.2705 - ], - [ - 41.3223, - 64.3142 - ], - [ - 41.2114, - 64.1973 - ], - [ - 37.7291, - 64.1971 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Beaches, tidal flats and other costal forms (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-nellesmere_ast", - name: "imagico.de: Northern Ellesmere Island", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=nellesmere_ast&z={zoom}&x={x}&y={-y}", - endDate: "2012-07-09T00:00:00.000Z", - startDate: "2012-07-09T00:00:00.000Z", - scaleExtent: [ - 0, - 10 - ], - polygon: [ - [ - [ - -81.62923243782096, - 82.45969864814401 - ], - [ - -83.03136255954291, - 82.47985512217643 - ], - [ - -83.03136255954291, - 83.05876272004272 - ], - [ - -72.80309111332822, - 83.09567468670448 - ], - [ - -65.65785798568925, - 83.03232446260982 - ], - [ - -65.8116665788654, - 82.45969864814401 - ], - [ - -81.62923243782096, - 82.45969864814401 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Assembled from July 2012 ASTER imagery (true color with estimated blue)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-nellesmere_ast_2016", - name: "imagico.de: Northern Ellesmere Island July 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=nellesmere_ast_2016&z={zoom}&x={x}&y={-y}", - endDate: "2012-07-15T00:00:00.000Z", - startDate: "2012-07-08T00:00:00.000Z", - scaleExtent: [ - 0, - 10 - ], - polygon: [ - [ - [ - -78.89729497133754, - 82.17577067162792 - ], - [ - -82.64500613899595, - 82.19425721404356 - ], - [ - -82.64500613899595, - 83.08067098163464 - ], - [ - -66.58986093522367, - 83.08497116318647 - ], - [ - -63.78010752773773, - 82.98907949583335 - ], - [ - -63.78010752773773, - 82.72198178031782 - ], - [ - -65.0092029821365, - 82.17577067162792 - ], - [ - -78.89729497133754, - 82.17577067162792 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Assembled from July 2016 ASTER imagery (true color with estimated blue)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81960222015233LGN00vis", - name: "imagico.de: Northern German west coast tidalflats", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00vis&z={zoom}&x={x}&y={-y}", - endDate: "2015-08-21T00:00:00.000Z", - startDate: "2015-08-21T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - 7.63567991501593, - 53.28027339774928 - ], - [ - 7.63567991501593, - 53.66770140276793 - ], - [ - 8.49433012253546, - 55.502457780526 - ], - [ - 9.207754805152648, - 55.48106268908912 - ], - [ - 9.207754805152648, - 53.28027339774928 - ], - [ - 7.63567991501593, - 53.28027339774928 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81960222015233LGN00ir", - name: "imagico.de: Northern German west coast tidalflats (infrared)", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00ir&z={zoom}&x={x}&y={-y}", - endDate: "2015-08-21T00:00:00.000Z", - startDate: "2015-08-21T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - 7.63567991501593, - 53.28027339774928 - ], - [ - 7.63567991501593, - 53.66810821588294 - ], - [ - 8.49433012253546, - 55.502457780526 - ], - [ - 9.207754805152648, - 55.48106268908912 - ], - [ - 9.207754805152648, - 53.28027339774928 - ], - [ - 7.63567991501593, - 53.28027339774928 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (false color IR)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-ngreenland_ast", - name: "imagico.de: Northern Greenland ASTER", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=ngreenland_ast&z={zoom}&x={x}&y={-y}", - endDate: "2012-08-13T00:00:00.000Z", - startDate: "2005-06-21T00:00:00.000Z", - scaleExtent: [ - 0, - 10 - ], - polygon: [ - [ - [ - -52.49221819430999, - 82.48971755550389 - ], - [ - -52.49221819430999, - 82.94294978186194 - ], - [ - -49.28695697579964, - 83.47311821807558 - ], - [ - -44.52850362441216, - 83.7321400994933 - ], - [ - -29.525299334683975, - 83.7321400994933 - ], - [ - -25.263977329098022, - 83.58271128961059 - ], - [ - -21.183929736898254, - 83.39775984253468 - ], - [ - -21.183929736898254, - 82.74312310369845 - ], - [ - -23.404541300879075, - 82.48971755550389 - ], - [ - -52.49221819430999, - 82.48971755550389 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Assembled from mostly 2012 ASTER imagery, some 2005 images mainly in the northeast (true color with estimated blue)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-EO1A1350972013086110KF", - name: "imagico.de: Northwest Heard Island", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=EO1A1350972013086110KF&z={zoom}&x={x}&y={-y}", - endDate: "2013-03-13T00:00:00.000Z", - startDate: "2013-03-13T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 73.22790413350113, - -53.20333324999222 - ], - [ - 73.22790413350113, - -53.01072925838941 - ], - [ - 73.2594898268605, - -52.94943913810479 - ], - [ - 73.78992348164566, - -52.94943913810479 - ], - [ - 73.78992348164566, - -53.06048282358537 - ], - [ - 73.71782570332533, - -53.20333324999222 - ], - [ - 73.22790413350113, - -53.20333324999222 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Glaciers of Northwest Heard Island (mapped meanwhile) (false color IR)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R111_N09_20160604T154554", - name: "imagico.de: Panama Canal", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R111_N09_20160604T154554&z={zoom}&x={x}&y={-y}", - endDate: "2016-06-07T00:00:00.000Z", - startDate: "2016-06-07T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -80.01653561766223, - 8.848981570244637 - ], - [ - -80.01653561766223, - 9.41480707574399 - ], - [ - -79.46859250242785, - 9.41480707574399 - ], - [ - -79.46859250242785, - 8.848981570244637 - ], - [ - -80.01653561766223, - 8.848981570244637 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Images of the new locks (but partly cloudy) (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-EO1A0120532016364110KF", - name: "imagico.de: Panama Canal - Pacific side", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=EO1A0120532016364110KF&z={zoom}&x={x}&y={-y}", - endDate: "2016-12-30T00:00:00.000Z", - startDate: "2016-12-30T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -79.62538719177245, - 8.770827350748924 - ], - [ - -79.68684196472167, - 8.821974500616129 - ], - [ - -79.6866703033447, - 8.93705081902936 - ], - [ - -79.65362548828124, - 9.0929436313527 - ], - [ - -79.268159866333, - 9.0929436313527 - ], - [ - -79.32832717895505, - 8.770827350748924 - ], - [ - -79.62538719177245, - 8.770827350748924 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "New locks with less clouds than in the Sentinel-2 image - make sure to check image alignment (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R078_N68_20160930T081002", - name: "imagico.de: Pechora Sea Coast", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R078_N68_20160930T081002&z={zoom}&x={x}&y={-y}", - endDate: "2016-09-30T00:00:00.000Z", - startDate: "2016-09-30T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 53.1802, - 67.5344 - ], - [ - 53.1821, - 68.414 - ], - [ - 54.2107, - 69.3367 - ], - [ - 55.3584, - 70.2786 - ], - [ - 59.004, - 70.2786 - ], - [ - 60.6947, - 69.977 - ], - [ - 61.9837, - 69.7161 - ], - [ - 61.9823, - 68.9395 - ], - [ - 59.9153, - 67.5344 - ], - [ - 53.1802, - 67.5344 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Sentinel-2 image of the Pechora Sea coast in autumn 2016 (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81511242016033LGN00", - name: "imagico.de: Pensacola Mountains", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81511242016033LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2016-02-02T00:00:00.000Z", - startDate: "2016-02-02T00:00:00.000Z", - scaleExtent: [ - 0, - 10 - ], - polygon: [ - [ - [ - -53.20921946177197, - -84.12524693598144 - ], - [ - -60.615377881406225, - -83.78609327915953 - ], - [ - -60.615377881406225, - -82.29968785439104 - ], - [ - -48.72405102147429, - -82.29987186164387 - ], - [ - -44.52178052933989, - -82.43683433550413 - ], - [ - -44.51354078327688, - -84.12524693598144 - ], - [ - -53.20921946177197, - -84.12524693598144 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R136_N41_20150831T093006", - name: "imagico.de: Prokletije Mountains", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R136_N41_20150831T093006&z={zoom}&x={x}&y={-y}", - endDate: "2015-08-31T00:00:00.000Z", - startDate: "2015-08-31T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 19.112325688609005, - 42.1531576323006 - ], - [ - 19.08425905347717, - 43.08073531915633 - ], - [ - 20.63298799634826, - 43.09602978090892 - ], - [ - 20.637880345591427, - 42.167791043253985 - ], - [ - 19.112325688609005, - 42.1531576323006 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Late summer imagery where usual sources are severely limited by clouds and snow (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-DMS_1142622_03746_20110415_17533956", - name: "imagico.de: Qasigiannguit", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=DMS_1142622_03746_20110415_17533956&z={zoom}&x={x}&y={-y}", - endDate: "2011-04-15T00:00:00.000Z", - startDate: "2011-04-15T00:00:00.000Z", - scaleExtent: [ - 0, - 15 - ], - polygon: [ - [ - [ - -51.238571767352376, - 68.79971882076842 - ], - [ - -51.243335370562825, - 68.85302612951142 - ], - [ - -51.151668195269856, - 68.85302612951142 - ], - [ - -51.14038145973519, - 68.80116208175376 - ], - [ - -51.238571767352376, - 68.79971882076842 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Icebridge DMS image of the settlement - alignment might be poor", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81510432015030LGN00", - name: "imagico.de: Rann of Kutch", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81510432015030LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - 67.96839858817646, - 22.36264542957619 - ], - [ - 67.86231185721942, - 22.38391650007107 - ], - [ - 67.86231185721942, - 24.886930816927297 - ], - [ - 71.48986007499286, - 24.886930816927297 - ], - [ - 71.48986007499286, - 22.36264542957619 - ], - [ - 67.96839858817646, - 22.36264542957619 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Land/water distinction difficult to properly map based on Bing/Mapbox images (false color IR)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R093_N41_20150828T092005", - name: "imagico.de: Rila and Pirin Mountains", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R093_N41_20150828T092005&z={zoom}&x={x}&y={-y}", - endDate: "2015-08-28T00:00:00.000Z", - startDate: "2015-08-28T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 23.808114560320394, - 41.584878805945024 - ], - [ - 22.992379697039144, - 41.6019534981177 - ], - [ - 23.011863263323328, - 42.29983747360261 - ], - [ - 23.99402383156063, - 42.283393175568236 - ], - [ - 23.965613873674886, - 41.584878805945024 - ], - [ - 23.808114560320394, - 41.584878805945024 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Late summer imagery where usual sources are severely limited by clouds and snow (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81730602015040LGN00", - name: "imagico.de: Rwenzori Mountains", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81730602015040LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2015-02-09T00:00:00.000Z", - startDate: "2015-02-09T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 29.766296776846374, - 0.206886934953159 - ], - [ - 29.766296776846374, - 0.509176367154027 - ], - [ - 30.034603509024116, - 0.509176367154027 - ], - [ - 30.034603509024116, - 0.206886934953159 - ], - [ - 29.766296776846374, - 0.206886934953159 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Recent image of most of the remaining Rwenzori Mountains glaciers (false color IR)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R078_N01_20160702T082522", - name: "imagico.de: Rwenzori Mountains 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R078_N01_20160702T082522&z={zoom}&x={x}&y={-y}", - endDate: "2016-07-02T00:00:00.000Z", - startDate: "2016-07-02T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 29.8051357269287, - 0.235862065771959 - ], - [ - 29.8051357269287, - 0.467085433008179 - ], - [ - 30.02503395080565, - 0.467085433008179 - ], - [ - 30.02503395080565, - 0.235862065771959 - ], - [ - 29.8051357269287, - 0.235862065771959 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date image for glacier mapping (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC80611072014036LGN00", - name: "imagico.de: Scott Island", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC80611072014036LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2014-02-05T00:00:00.000Z", - startDate: "2014-02-05T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -180, - -67.4263452007858 - ], - [ - -180, - -67.32544337276457 - ], - [ - -179.8247337341308, - -67.3253771978419 - ], - [ - -179.8247337341308, - -67.4263452007858 - ], - [ - -180, - -67.4263452007858 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing in other image sources (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC82100972015347LGN00", - name: "imagico.de: Shag Rocks", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC82100972015347LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2015-12-13T00:00:00.000Z", - startDate: "2015-12-13T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -42.12874872458635, - -53.72050213468143 - ], - [ - -42.14625818503558, - -53.45782244664258 - ], - [ - -41.67573435080706, - -53.445862233424414 - ], - [ - -41.6558216310805, - -53.70871763480476 - ], - [ - -42.12874872458635, - -53.72050213468143 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing in other image sources (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81130622013270LGN00", - name: "imagico.de: Southeastern Sulawesi", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81130622013270LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2013-09-27T00:00:00.000Z", - startDate: "2013-09-27T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 120.84382442048364, - -3.595452324350203 - ], - [ - 120.84382442048364, - -3.159848173206955 - ], - [ - 120.98184016755395, - -2.514681686347053 - ], - [ - 122.62618449738794, - -2.514681686347053 - ], - [ - 122.62618449738794, - -3.002148034113534 - ], - [ - 122.5007000308352, - -3.595452324350203 - ], - [ - 120.84382442048364, - -3.595452324350203 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Missing islands and coarse coastline due to cloud cover in Bing, lakes could also use additional detail (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC80281222016035LGN00", - name: "imagico.de: Southern Transantarctic Mountains", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC80281222016035LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2016-02-04T00:00:00.000Z", - startDate: "2016-02-04T00:00:00.000Z", - scaleExtent: [ - 0, - 10 - ], - polygon: [ - [ - [ - 156.96951345925345, - -84.50097988272655 - ], - [ - 154.50857596843485, - -84.46255082580927 - ], - [ - 154.50857596843485, - -82.60681485793681 - ], - [ - 175.46774337070775, - -82.58504749645738 - ], - [ - 177.00582930246938, - -83.52806548607914 - ], - [ - 177.00582930246938, - -84.19262083779002 - ], - [ - 171.93838547371908, - -84.34632646581997 - ], - [ - 166.83798266071676, - -84.44370142483508 - ], - [ - 161.67028858819987, - -84.50045345467909 - ], - [ - 156.96951345925345, - -84.50097988272655 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81030632015286LGN00", - name: "imagico.de: Sudirman Range 2015", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81030632015286LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2015-10-13T00:00:00.000Z", - startDate: "2015-10-13T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 136.4226, - -4.2853 - ], - [ - 136.4226, - -3.6447 - ], - [ - 137.7971, - -3.6447 - ], - [ - 137.7971, - -4.2853 - ], - [ - 136.4226, - -4.2853 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Older image of the Sudirman Range with no fresh snow showing glacier extent (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R088_S05_20160812T011732", - name: "imagico.de: Sudirman Range 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R088_S05_20160812T011732&z={zoom}&x={x}&y={-y}", - endDate: "2016-08-12T00:00:00.000Z", - startDate: "2016-08-12T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - 136.8044, - -4.2585 - ], - [ - 136.8044, - -3.7836 - ], - [ - 137.7701, - -3.7836 - ], - [ - 137.7701, - -4.2585 - ], - [ - 136.8044, - -4.2585 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Cloud free image of the Sudirman Range but with fresh snow (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-s2sval", - name: "imagico.de: Svalbard mosaic", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=s2sval&z={zoom}&x={x}&y={-y}", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2016-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - 16.6108, - 76.4137 - ], - [ - 16.4731, - 76.4268 - ], - [ - 16.3788, - 76.4589 - ], - [ - 14.4124, - 77.1324 - ], - [ - 14.0784, - 77.2536 - ], - [ - 10.9875, - 78.4054 - ], - [ - 10.631, - 78.5605 - ], - [ - 10.2314, - 78.8392 - ], - [ - 10.3952, - 79.6074 - ], - [ - 10.516, - 79.7731 - ], - [ - 10.9632, - 79.8707 - ], - [ - 20.2294, - 80.849 - ], - [ - 20.4702, - 80.8493 - ], - [ - 25.1752, - 80.6817 - ], - [ - 33.4391, - 80.3438 - ], - [ - 33.7809, - 80.3016 - ], - [ - 34.0395, - 80.239 - ], - [ - 33.977, - 80.1527 - ], - [ - 25.5722, - 76.5917 - ], - [ - 25.2739, - 76.481 - ], - [ - 25.1416, - 76.4327 - ], - [ - 24.937, - 76.4176 - ], - [ - 16.6108, - 76.4137 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Sentinel-2 mosaic of Svalbard (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-DMS_1142636_160xx_20110507_1822xxxx", - name: "imagico.de: Thule Air Base", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=DMS_1142636_160xx_20110507_1822xxxx&z={zoom}&x={x}&y={-y}", - endDate: "2011-05-07T00:00:00.000Z", - startDate: "2011-05-07T00:00:00.000Z", - scaleExtent: [ - 0, - 15 - ], - polygon: [ - [ - [ - -68.93976917529807, - 76.51132557714853 - ], - [ - -68.93976917529807, - 76.54990046497333 - ], - [ - -68.76634826923117, - 76.55175699880375 - ], - [ - -68.50992908740743, - 76.55175699880375 - ], - [ - -68.50743999744161, - 76.51611959755911 - ], - [ - -68.67897262836203, - 76.51193618208278 - ], - [ - -68.93976917529807, - 76.51132557714853 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Icebridge DMS image - alignment might be poor", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-dms_thule2_2015.09.25", - name: "imagico.de: Thule Airbase DMS low altitude overflight September 2015", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=dms_thule2_2015.09.25&z={zoom}&x={x}&y={-y}", - endDate: "2015-09-25T00:00:00.000Z", - startDate: "2015-09-25T00:00:00.000Z", - scaleExtent: [ - 0, - 17 - ], - polygon: [ - [ - [ - -68.74291885235837, - 76.52635852412212 - ], - [ - -68.74446380475094, - 76.52840070669755 - ], - [ - -68.74806869366695, - 76.54938731810256 - ], - [ - -68.7461482320123, - 76.56016657973251 - ], - [ - -68.72275936940244, - 76.56022393334496 - ], - [ - -68.72017371991207, - 76.5577475347327 - ], - [ - -68.71853220799495, - 76.5292079974043 - ], - [ - -68.71977675297786, - 76.52636602351234 - ], - [ - -68.74291885235837, - 76.52635852412212 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Icebridge DMS aerial images from Thule Airbase - alignment might be poor", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-dms_thule_2015.10.06", - name: "imagico.de: Thule Airbase DMS overflight October 2015", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=dms_thule_2015.10.06&z={zoom}&x={x}&y={-y}", - endDate: "2015-10-06T00:00:00.000Z", - startDate: "2015-10-06T00:00:00.000Z", - scaleExtent: [ - 0, - 16 - ], - polygon: [ - [ - [ - -68.81923965911197, - 76.52510098413808 - ], - [ - -68.82651380996036, - 76.54176603738404 - ], - [ - -68.77344898680974, - 76.5439032956252 - ], - [ - -68.7021022270136, - 76.54544610909097 - ], - [ - -68.59176687697696, - 76.54560088014632 - ], - [ - -68.59183124999333, - 76.52793072237704 - ], - [ - -68.65970186690618, - 76.52510098413808 - ], - [ - -68.81923965911197, - 76.52510098413808 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Icebridge DMS aerial images from Thule Airbase - alignment might be poor", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-dms_thule_2015.09.25", - name: "imagico.de: Thule Airbase DMS overflight September 2015", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=dms_thule_2015.09.25&z={zoom}&x={x}&y={-y}", - endDate: "2015-09-25T00:00:00.000Z", - startDate: "2015-09-25T00:00:00.000Z", - scaleExtent: [ - 0, - 16 - ], - polygon: [ - [ - [ - -68.7777130980429, - 76.50687742381471 - ], - [ - -68.77661875676482, - 76.57064446843503 - ], - [ - -68.68115357350676, - 76.57065443536027 - ], - [ - -68.67630413960784, - 76.55384487076157 - ], - [ - -68.67619685124725, - 76.5307435998188 - ], - [ - -68.6852305312094, - 76.50688243050337 - ], - [ - -68.7777130980429, - 76.50687742381471 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Icebridge DMS aerial images from Thule Airbase - alignment might be poor", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R094_N79_20160812T105622", - name: "imagico.de: Ushakov Island August 2016", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R094_N79_20160812T105622&z={zoom}&x={x}&y={-y}", - endDate: "2016-08-12T00:00:00.000Z", - startDate: "2016-08-12T00:00:00.000Z", - scaleExtent: [ - 0, - 12 - ], - polygon: [ - [ - [ - 78.45885691499899, - 80.72643412860921 - ], - [ - 78.45885691499899, - 80.9098976404357 - ], - [ - 80.48892435884663, - 80.9098976404357 - ], - [ - 80.48892435884663, - 80.72643412860921 - ], - [ - 78.45885691499899, - 80.72643412860921 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Up-to-date late summer imagery with few clouds (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC80910682014358LGN00", - name: "imagico.de: Vanatinai", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC80910682014358LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2014-12-24T00:00:00.000Z", - startDate: "2014-12-24T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 153.0613810625655, - -11.789228234021259 - ], - [ - 153.0613810625655, - -11.288690822294749 - ], - [ - 153.10927458673538, - -11.072292520575749 - ], - [ - 154.41201277643268, - -11.072292520575749 - ], - [ - 154.41201277643268, - -11.789228234021259 - ], - [ - 153.0613810625655, - -11.789228234021259 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Coarse coastline due to cloud cover in Bing/Mapbox (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC82330892016031LGN00", - name: "imagico.de: Volcán Calbuco", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC82330892016031LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2016-01-31T00:00:00.000Z", - startDate: "2016-01-31T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -72.8669610523419, - -41.51741123877955 - ], - [ - -72.8669610523419, - -41.045274923011036 - ], - [ - -72.23181395761533, - -41.045274923011036 - ], - [ - -71.87510161630674, - -41.10829439141359 - ], - [ - -72.00007109872861, - -41.51741123877955 - ], - [ - -72.8669610523419, - -41.51741123877955 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Image from after the 2015 eruption (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R089_N52_20160623T024048", - name: "imagico.de: Vostochny Cosmodrome", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R089_N52_20160623T024048&z={zoom}&x={x}&y={-y}", - endDate: "2016-06-23T00:00:00.000Z", - startDate: "2016-06-23T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 126.36143429881301, - 51.375528375017275 - ], - [ - 126.34804471141064, - 52.33932231282816 - ], - [ - 128.60762341624462, - 52.340895519845674 - ], - [ - 128.6117432892915, - 51.375528375017275 - ], - [ - 126.36143429881301, - 51.375528375017275 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Recent image showing newest features (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-walps_autumn_2017", - name: "imagico.de: Western Alps autumn colors 2017", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=walps_autumn_2017&z={zoom}&x={x}&y={-y}", - endDate: "2017-10-17T00:00:00.000Z", - startDate: "2017-10-17T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 4.6412, - 43.2493 - ], - [ - 4.3118, - 43.2653 - ], - [ - 4.3118, - 44.2167 - ], - [ - 5.2562, - 46.965 - ], - [ - 5.9151, - 48.7177 - ], - [ - 7.3866, - 48.7467 - ], - [ - 10.088, - 48.7467 - ], - [ - 10.088, - 48.7032 - ], - [ - 7.7819, - 43.2813 - ], - [ - 7.76, - 43.2653 - ], - [ - 7.3646, - 43.2493 - ], - [ - 4.6412, - 43.2493 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Autumn colors in the Alps, Jura and southwestern Germany (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-LC81490352013282LGN00", - name: "imagico.de: Western Karakoram", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=LC81490352013282LGN00&z={zoom}&x={x}&y={-y}", - endDate: "2013-10-09T00:00:00.000Z", - startDate: "2013-10-09T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - 75.98364343730569, - 34.97850982318471 - ], - [ - 73.96164407817483, - 35.36957188964085 - ], - [ - 74.44281091777444, - 37.09391400468158 - ], - [ - 76.50600900737405, - 36.7026732100855 - ], - [ - 75.98364343730569, - 34.97850982318471 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Represents approximately minimum snow cover so can be well used for glacier mapping (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "osmim-imagicode-S2A_R039_S15_20160510T145731", - name: "imagico.de: Willkanuta Mountains and Quelccaya Ice Cap", - type: "tms", - template: "http://imagico.de/map/osmim_tiles.php?layer=S2A_R039_S15_20160510T145731&z={zoom}&x={x}&y={-y}", - endDate: "2016-05-10T00:00:00.000Z", - startDate: "2016-05-10T00:00:00.000Z", - scaleExtent: [ - 0, - 14 - ], - polygon: [ - [ - [ - -71.18070648306262, - -14.4978507264954 - ], - [ - -71.17976234548938, - -13.710292880050797 - ], - [ - -70.5563740550841, - -13.71262765059222 - ], - [ - -70.5563740550841, - -14.4978507264954 - ], - [ - -71.18070648306262, - -14.4978507264954 - ] - ] - ], - terms_url: "http://maps.imagico.de/#osmim", - terms_text: "imagico.de OSM images for mapping", - description: "Poor and outdated imagery in other sources (true color)", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg==" - }, - { - id: "IPR-orotofoto-last-tms", - name: "IPR ortofoto LAST (tmsproxy)", - type: "tms", - template: "https://osm-{switch:a,b,c}.zby.cz/tiles_ipr_last.php/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 1, - 18 - ], - polygon: [ - [ - [ - 14.81231552124, - 49.93089301941 - ], - [ - 14.18754582291, - 49.87687266984 - ], - [ - 14.12025456314, - 50.19881542327 - ], - [ - 14.74502426147, - 50.25247461226 - ], - [ - 14.81231552124, - 49.93089301941 - ] - ] - ] - }, - { - id: "IPR-orotofoto-vege-tms", - name: "IPR ortofoto Low-Vegetation (tmsproxy)", - type: "tms", - template: "https://osm-{switch:a,b,c}.zby.cz/tiles_ipr_vege.php/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 1, - 20 - ], - polygon: [ - [ - [ - 14.30454236984, - 49.99538124382 - ], - [ - 14.3160436821, - 49.94205148763 - ], - [ - 14.3499983888, - 49.94508261663 - ], - [ - 14.35383872175, - 49.92726356386 - ], - [ - 14.42385321818, - 49.93351545169 - ], - [ - 14.4200902288, - 49.95097343212 - ], - [ - 14.48865449494, - 49.95709281879 - ], - [ - 14.48479036398, - 49.9750111737 - ], - [ - 14.55385989188, - 49.98117257481 - ], - [ - 14.55011770159, - 49.99851689993 - ], - [ - 14.58455395868, - 50.0015874108 - ], - [ - 14.58829614897, - 49.98424419323 - ], - [ - 14.69168128485, - 49.99346468175 - ], - [ - 14.67633637226, - 50.06452744171 - ], - [ - 14.71278864961, - 50.06777324036 - ], - [ - 14.70115373952, - 50.12158114828 - ], - [ - 14.66470146217, - 50.11833899243 - ], - [ - 14.6610031918, - 50.13543086714 - ], - [ - 14.62755290441, - 50.13245658485 - ], - [ - 14.61965341283, - 50.16894659259 - ], - [ - 14.58542741996, - 50.16590546732 - ], - [ - 14.58162921725, - 50.18344165464 - ], - [ - 14.40776267983, - 50.167995553 - ], - [ - 14.41156088254, - 50.15045369625 - ], - [ - 14.37764851321, - 50.14743927281 - ], - [ - 14.37379555571, - 50.16523508727 - ], - [ - 14.33892816423, - 50.16213672855 - ], - [ - 14.34278112173, - 50.14433976066 - ], - [ - 14.27367931007, - 50.13819641038 - ], - [ - 14.27749028245, - 50.12058459573 - ], - [ - 14.20879964298, - 50.11447476994 - ], - [ - 14.21288816219, - 50.09557069695 - ], - [ - 14.24656290855, - 50.09856724424 - ], - [ - 14.25417384067, - 50.06335893014 - ], - [ - 14.21987061144, - 50.0603042129 - ], - [ - 14.22369648177, - 50.04259477081 - ], - [ - 14.257999711, - 50.04565061557 - ], - [ - 14.26952647673, - 49.99225864496 - ], - [ - 14.30454236984, - 49.99538124382 - ] - ] - ] - }, - { - id: "GSGS3906", - name: "Ireland British War Office 1:25k GSGS 3906", - type: "tms", - template: "https://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: "https://wiki.openstreetmap.org/wiki/WikiProject_Ireland#Trinity_College_Dublin", - terms_text: "Glucksman Map Library, Trinity College Dublin", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAB3RJTUUH3gQOFR0YB1KT3QAAAAlwSFlzAAAewQAAHsEBw2lUUwAAAARnQU1BAACxjwv8YQUAAAS/SURBVHjandN7TFNXHAfwzrn/lm3ZHy7LYrJkybK5zMw9fCEoPjbeChoHTtBVRF7l1ZZSaG8flCtvsFVpoZZHC5Y6jDM+UScDaxF5lIfSAaMIlVKBS8EZN4d+d9voZpbMFX/JN7nnnvM7n5xzcxmM5wrPlX1yFmP2adgmXKHc78bsU+j9ZRT3HzzE+D0n7tjuYdo5h38X47/q+UWD1nE0tw/gktEC66gdN/tG0Dc4hnEHhdG7DujOdqGHxi4ae2AZti8ccJXZYoOxawRPnjzGwcpmzM8//ntOe86MickZTEw7ka+99nJAZ/8YWjqs7ufc6ibM/fbQ/fzHo0eoOduJ8UkKljt2nLhk9hj4/Wlm6VA9A2NUa/ew6wNQE1OzVGvPEGUZvkvZHVNUo2mA6ugfpvoGrNT8/Dz1tMfd/yJgKZ13h6zjzFbzvbwO8wDZaR4kzeZbZG/fIHnTbCOvdzrI9h472dnVT97oociO23NkW+9M3pDVsc/V69rjRYA7Su11/dvbfkRJvDeOcMORuj8CpelLkJO6BVs4vQhj3QD5fTQS2PXYndQAblw2yrUt9c/6/xeoqzulK+VEoCTtawgSM5HCr0Nsmg48ngJhYiukonNIybeg8MQEFIZBFBWIoa4z1XoMaOrbtbHci2BtW4RachnOlO/GZW0SjuZEY2eWGYVEFfYJ+kDo/4ThdDPExadQcbxb5zmgb6/xYZlAxPtDmByFS2U+EHM5yBOyEZZ8HkzeZaQmyxFZROGkgUQIMQSNvkPrMXBM31YdFqNDJK8ZHE4FYgSt2Jl0GpKUGAhFjTiQ2QJDgRBGdSTIvEJ8IXDSQJvngEbfWrWacGJDzn1sJ34FkSqFQbgWTcUrcLWIATlnBzYSE8hOOIBQzk9YK56jgRs1CzlBVXD6bcijCYSwTYjhXUFD7nrUlHyFc6pPUCL4BpskUwhn6iGPSMYG3igN3KxeCKDZyulGddReBKV3YbNkGidkIWhQLMeFiuUoE3ths8iOfXFnoQ5nwTt9xHVFVZ5f0XGjxks0A++sIWyNqYM0TYp6qS9+UHxOn+BjqMQfwF8wgg2x5+ErccCboKA5bloAUGc8tk40i2CmGuGhgQhjX0MZwUY5uRJVuX6QcpPhm2TErlBfBLAa4S2epYHrlZ5fke4K6SVyIjRejz1REfhO2Ab2wavgZJ8EU9gEUek1MDMvIIa5DUFpzVhHzECtbRR4DJRrDP5f8h04ILwAmTQLAkEWCgsLIJVIIcwS4uhRBSQSCfi8FGzP6sbKjLsoV+tWewwolUfe+pR1y7GD1YDd4cGIi4uFgM/HulWr4LdpI5ITE5EQH49dOwMRmtmND/ebLMoy+WueA2VyBmO9opSTcx6HimWQHypGBicF+6MjwdzzLSQEH6UlBSjKFyNS1AnGMm6Csuwww2NApVK6hkv2JMptmTkGiPNqEcc+jFiuGsy0SrD4lciQ1kJW3ICAqJIWeu1ilUq1EEDlHr/6vr/XxozBuQD6jw6UUXRm6DgRQCeQfIA1iaZ+BuP191xrXwpw1RtL16zwSfi5PVg2hZAcyp0gqQOr9548TU+/82zdywGvLH429eZnO8rPBNMbB4ps+MhPpvyna9ELgb8ASvKZeuq+E9sAAAAASUVORK5CYII=" - }, - { - id: "ITACyL-Castile-and-Leon", - name: "ITACyL - Castile and León", - type: "wms", - template: "http://orto.wms.itacyl.es/WMS?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=Ortofoto_CyL&SRS={proj}&FORMAT=image/jpeg&STYLES=Default&TRANSPARENT=TRUE&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - polygon: [ - [ - [ - -1.9357991, - 41.4383441 - ], - [ - -1.8960064, - 41.438692 - ], - [ - -1.895356, - 41.3968709 - ], - [ - -1.9767014, - 41.3961593 - ], - [ - -1.9763916, - 41.376229 - ], - [ - -2.0620081, - 41.3754798 - ], - [ - -2.0626179, - 41.4147091 - ], - [ - -2.104577, - 41.4143421 - ], - [ - -2.103634, - 41.3536716 - ], - [ - -2.1444816, - 41.353314 - ], - [ - -2.1418984, - 41.1868282 - ], - [ - -2.0620415, - 41.1875291 - ], - [ - -2.0617117, - 41.1662438 - ], - [ - -2.0204638, - 41.1666059 - ], - [ - -2.0188653, - 41.0633378 - ], - [ - -2.100826, - 41.0626171 - ], - [ - -2.1011407, - 41.0829596 - ], - [ - -2.2273263, - 41.0818503 - ], - [ - -2.2270424, - 41.0634991 - ], - [ - -2.2691206, - 41.0631291 - ], - [ - -2.2688026, - 41.0425666 - ], - [ - -2.3532519, - 41.0418238 - ], - [ - -2.3535559, - 41.0614821 - ], - [ - -2.3948686, - 41.0611188 - ], - [ - -2.3945738, - 41.0420594 - ], - [ - -2.4372246, - 41.0416842 - ], - [ - -2.4375565, - 41.0631457 - ], - [ - -2.4792811, - 41.0627788 - ], - [ - -2.4799141, - 41.1036906 - ], - [ - -2.5207759, - 41.1033316 - ], - [ - -2.5211004, - 41.1242948 - ], - [ - -2.6041532, - 41.1235652 - ], - [ - -2.6048148, - 41.1662833 - ], - [ - -2.6470964, - 41.1659121 - ], - [ - -2.6480789, - 41.2293052 - ], - [ - -2.728739, - 41.2285978 - ], - [ - -2.7290669, - 41.2497401 - ], - [ - -2.8955197, - 41.2482806 - ], - [ - -2.8964873, - 41.3106325 - ], - [ - -2.9363011, - 41.3102838 - ], - [ - -2.9357117, - 41.2723089 - ], - [ - -3.1469203, - 41.2704576 - ], - [ - -3.1472307, - 41.2904534 - ], - [ - -3.2282807, - 41.2897432 - ], - [ - -3.2276653, - 41.2500782 - ], - [ - -3.3958112, - 41.2486039 - ], - [ - -3.3951828, - 41.2080777 - ], - [ - -3.4349215, - 41.207729 - ], - [ - -3.4342897, - 41.166962 - ], - [ - -3.4787658, - 41.1665716 - ], - [ - -3.4784403, - 41.1455556 - ], - [ - -3.6033615, - 41.1444585 - ], - [ - -3.6026994, - 41.1016871 - ], - [ - -3.6453878, - 41.101312 - ], - [ - -3.6450826, - 41.0815903 - ], - [ - -3.6873474, - 41.0812188 - ], - [ - -3.6867259, - 41.0410356 - ], - [ - -3.7286604, - 41.0406667 - ], - [ - -3.7280287, - 40.9997997 - ], - [ - -3.7689605, - 40.9994394 - ], - [ - -3.7686426, - 40.9788648 - ], - [ - -3.8547306, - 40.9781068 - ], - [ - -3.8543974, - 40.9565345 - ], - [ - -3.8985743, - 40.9561454 - ], - [ - -3.8976421, - 40.8957522 - ], - [ - -3.9390572, - 40.8953871 - ], - [ - -3.9371558, - 40.7720359 - ], - [ - -4.061976, - 40.7709334 - ], - [ - -4.0613345, - 40.7292585 - ], - [ - -4.1037236, - 40.7288838 - ], - [ - -4.1031129, - 40.6891834 - ], - [ - -4.146278, - 40.6888017 - ], - [ - -4.1449778, - 40.6042134 - ], - [ - -4.1902455, - 40.6038125 - ], - [ - -4.1899353, - 40.5836167 - ], - [ - -4.2294603, - 40.5832666 - ], - [ - -4.2297921, - 40.604873 - ], - [ - -4.2705425, - 40.6045122 - ], - [ - -4.2695844, - 40.5421064 - ], - [ - -4.3138364, - 40.5417142 - ], - [ - -4.3116268, - 40.397575 - ], - [ - -4.3937599, - 40.3968455 - ], - [ - -4.3934525, - 40.3767688 - ], - [ - -4.4372265, - 40.3763799 - ], - [ - -4.4362295, - 40.3112251 - ], - [ - -4.5219173, - 40.3104631 - ], - [ - -4.5203662, - 40.2089652 - ], - [ - -4.5613148, - 40.2086005 - ], - [ - -4.5609947, - 40.1876316 - ], - [ - -4.6889523, - 40.1864916 - ], - [ - -4.6893267, - 40.2110086 - ], - [ - -4.7319244, - 40.2106292 - ], - [ - -4.7325206, - 40.2496574 - ], - [ - -4.7683768, - 40.2493382 - ], - [ - -4.7680867, - 40.2303451 - ], - [ - -4.8110432, - 40.2299626 - ], - [ - -4.8114661, - 40.2072641 - ], - [ - -4.8542024, - 40.1841364 - ], - [ - -4.8526373, - 40.1256293 - ], - [ - -4.9369855, - 40.1248771 - ], - [ - -4.9363819, - 40.0852905 - ], - [ - -5.3553832, - 40.0815518 - ], - [ - -5.3560552, - 40.1256221 - ], - [ - -5.4402699, - 40.1248711 - ], - [ - -5.4409085, - 40.1667265 - ], - [ - -5.6038169, - 40.1652746 - ], - [ - -5.6044816, - 40.2088137 - ], - [ - -5.6864643, - 40.2080835 - ], - [ - -5.6871247, - 40.2513133 - ], - [ - -6.0216585, - 40.2483356 - ], - [ - -6.0229464, - 40.3325684 - ], - [ - -6.1043332, - 40.3318449 - ], - [ - -6.1055986, - 40.4145069 - ], - [ - -6.1895128, - 40.4137618 - ], - [ - -6.1901823, - 40.4574544 - ], - [ - -6.2697076, - 40.4567487 - ], - [ - -6.2690913, - 40.4165255 - ], - [ - -6.35192, - 40.41579 - ], - [ - -6.3512834, - 40.374216 - ], - [ - -6.4332493, - 40.3734877 - ], - [ - -6.4326391, - 40.3336127 - ], - [ - -6.5224541, - 40.3328142 - ], - [ - -6.5211648, - 40.2484909 - ], - [ - -6.599422, - 40.2477943 - ], - [ - -6.5988642, - 40.2112799 - ], - [ - -6.8556786, - 40.2089926 - ], - [ - -6.8563443, - 40.2525719 - ], - [ - -6.9362181, - 40.2518609 - ], - [ - -6.9375132, - 40.3365682 - ], - [ - -6.8511064, - 40.3373363 - ], - [ - -6.8600092, - 40.9167165 - ], - [ - -6.9354421, - 40.9160518 - ], - [ - -6.9374109, - 41.0435015 - ], - [ - -6.8548179, - 41.0442279 - ], - [ - -6.8554804, - 41.0870562 - ], - [ - -6.7701541, - 41.0878063 - ], - [ - -6.7724533, - 41.2362299 - ], - [ - -6.6837886, - 41.2370075 - ], - [ - -6.6043553, - 41.2377041 - ], - [ - -6.6052401, - 41.2947359 - ], - [ - -6.5193011, - 41.295489 - ], - [ - -6.5199114, - 41.3347937 - ], - [ - -6.4367251, - 41.3355221 - ], - [ - -6.4380091, - 41.4181379 - ], - [ - -6.3531841, - 41.4188797 - ], - [ - -6.3544684, - 41.501409 - ], - [ - -6.2688882, - 41.5021564 - ], - [ - -6.2707951, - 41.6245018 - ], - [ - -6.3566149, - 41.6237537 - ], - [ - -6.3572432, - 41.6640106 - ], - [ - -6.435477, - 41.663329 - ], - [ - -6.4349024, - 41.6265132 - ], - [ - -6.5227923, - 41.625747 - ], - [ - -6.523426, - 41.6663463 - ], - [ - -6.6034046, - 41.6656495 - ], - [ - -6.60733, - 41.9166043 - ], - [ - -7.0220912, - 41.9130049 - ], - [ - -7.0240633, - 42.0387169 - ], - [ - -7.1054035, - 42.0380124 - ], - [ - -7.1061291, - 42.0842081 - ], - [ - -7.0207976, - 42.0849466 - ], - [ - -7.0227551, - 42.2093958 - ], - [ - -6.9369897, - 42.2101367 - ], - [ - -6.9376312, - 42.25087 - ], - [ - -6.8547973, - 42.2515851 - ], - [ - -6.8554546, - 42.2932892 - ], - [ - -6.7734213, - 42.2939969 - ], - [ - -6.7740277, - 42.3324438 - ], - [ - -6.853255, - 42.3317608 - ], - [ - -6.8552311, - 42.4569007 - ], - [ - -7.1034126, - 42.4547653 - ], - [ - -7.1081086, - 42.7511487 - ], - [ - -7.0219933, - 42.7518861 - ], - [ - -7.0224121, - 42.7782497 - ], - [ - -6.9397569, - 42.7789573 - ], - [ - -6.9419944, - 42.9196184 - ], - [ - -6.7730194, - 42.9210615 - ], - [ - -6.7736331, - 42.959583 - ], - [ - -6.5232855, - 42.9617196 - ], - [ - -6.5239109, - 43.0009499 - ], - [ - -6.4389317, - 43.0016747 - ], - [ - -6.4402391, - 43.0836074 - ], - [ - -5.9378159, - 43.0878866 - ], - [ - -5.9370816, - 43.0418887 - ], - [ - -5.854205, - 43.0425951 - ], - [ - -5.8535667, - 43.0025804 - ], - [ - -5.7723612, - 43.003273 - ], - [ - -5.7736346, - 43.0830757 - ], - [ - -5.6026996, - 43.0845317 - ], - [ - -5.6020243, - 43.0422247 - ], - [ - -5.5216051, - 43.0429102 - ], - [ - -5.5222624, - 43.0840869 - ], - [ - -5.4375994, - 43.084808 - ], - [ - -5.4382655, - 43.1265078 - ], - [ - -5.1044441, - 43.1293491 - ], - [ - -5.1057321, - 43.2099008 - ], - [ - -5.0238581, - 43.2105967 - ], - [ - -5.0245075, - 43.2511672 - ], - [ - -4.9001667, - 43.2522234 - ], - [ - -4.899411, - 43.2050092 - ], - [ - -4.8112607, - 43.2057585 - ], - [ - -4.8096559, - 43.105375 - ], - [ - -4.7697514, - 43.1057148 - ], - [ - -4.7693676, - 43.0816804 - ], - [ - -4.7294463, - 43.0820204 - ], - [ - -4.7288105, - 43.0421933 - ], - [ - -4.5632192, - 43.0436047 - ], - [ - -4.5635281, - 43.0629569 - ], - [ - -4.3959936, - 43.0643843 - ], - [ - -4.395658, - 43.0433568 - ], - [ - -4.3537016, - 43.0437144 - ], - [ - -4.3526592, - 42.978357 - ], - [ - -4.2301346, - 42.9794024 - ], - [ - -4.2291284, - 42.9162469 - ], - [ - -4.1877354, - 42.9166004 - ], - [ - -4.1870583, - 42.8740657 - ], - [ - -4.1055199, - 42.8747626 - ], - [ - -4.1048632, - 42.8334825 - ], - [ - -3.978008, - 42.8345674 - ], - [ - -3.9773335, - 42.7921387 - ], - [ - -3.9374989, - 42.7924796 - ], - [ - -3.9378064, - 42.8118263 - ], - [ - -3.853966, - 42.8125436 - ], - [ - -3.8542743, - 42.8319306 - ], - [ - -3.8957255, - 42.831576 - ], - [ - -3.8960731, - 42.8534282 - ], - [ - -3.9382057, - 42.853068 - ], - [ - -3.9388853, - 42.8957718 - ], - [ - -3.9805995, - 42.8954154 - ], - [ - -3.9809315, - 42.916265 - ], - [ - -4.0221962, - 42.9159125 - ], - [ - -4.0229008, - 42.9601447 - ], - [ - -3.9785114, - 42.9605236 - ], - [ - -3.9794595, - 43.0199892 - ], - [ - -3.938827, - 43.0203357 - ], - [ - -3.9391788, - 43.042387 - ], - [ - -3.8970383, - 43.0427461 - ], - [ - -3.8973798, - 43.0641401 - ], - [ - -3.8542367, - 43.0645077 - ], - [ - -3.8548965, - 43.1058288 - ], - [ - -3.7708592, - 43.1065444 - ], - [ - -3.7711564, - 43.1251478 - ], - [ - -3.7281894, - 43.1255135 - ], - [ - -3.7285258, - 43.1465582 - ], - [ - -3.6871289, - 43.1469104 - ], - [ - -3.6877837, - 43.1878633 - ], - [ - -3.6036492, - 43.1885787 - ], - [ - -3.6033117, - 43.16747 - ], - [ - -3.5227798, - 43.168155 - ], - [ - -3.5224286, - 43.1461867 - ], - [ - -3.3966874, - 43.1472567 - ], - [ - -3.3969871, - 43.1660054 - ], - [ - -3.3544386, - 43.1663674 - ], - [ - -3.3547905, - 43.1883699 - ], - [ - -3.312676, - 43.188728 - ], - [ - -3.3129888, - 43.2082817 - ], - [ - -3.2299295, - 43.2089878 - ], - [ - -3.2295886, - 43.1876784 - ], - [ - -3.1034303, - 43.1887511 - ], - [ - -3.1027407, - 43.1456249 - ], - [ - -3.145455, - 43.1452614 - ], - [ - -3.1451648, - 43.1271 - ], - [ - -3.1061749, - 43.1274319 - ], - [ - -3.1044462, - 43.0191538 - ], - [ - -3.0207548, - 43.0198674 - ], - [ - -3.0201036, - 42.9790294 - ], - [ - -2.9811034, - 42.9793622 - ], - [ - -2.9797722, - 42.8957965 - ], - [ - -3.1047595, - 42.8947286 - ], - [ - -3.1027646, - 42.7692834 - ], - [ - -3.0219949, - 42.7699749 - ], - [ - -3.021675, - 42.7498344 - ], - [ - -2.9802357, - 42.7501893 - ], - [ - -2.9798754, - 42.7275008 - ], - [ - -2.8961284, - 42.7282183 - ], - [ - -2.8967866, - 42.7696661 - ], - [ - -2.853397, - 42.7700376 - ], - [ - -2.854046, - 42.8108748 - ], - [ - -2.6857742, - 42.8123144 - ], - [ - -2.6854448, - 42.7915941 - ], - [ - -2.645233, - 42.7919382 - ], - [ - -2.6448881, - 42.7702354 - ], - [ - -2.5200461, - 42.7713042 - ], - [ - -2.5193626, - 42.7282661 - ], - [ - -2.5607021, - 42.7279119 - ], - [ - -2.5603797, - 42.7075982 - ], - [ - -2.5194387, - 42.7079491 - ], - [ - -2.5181004, - 42.6235669 - ], - [ - -2.6040367, - 42.6228294 - ], - [ - -2.6043876, - 42.6449665 - ], - [ - -2.7715364, - 42.6435327 - ], - [ - -2.7718838, - 42.6654388 - ], - [ - -2.8117632, - 42.6650968 - ], - [ - -2.8120986, - 42.6862446 - ], - [ - -2.8546876, - 42.6858795 - ], - [ - -2.853374, - 42.6030248 - ], - [ - -2.8941263, - 42.602675 - ], - [ - -2.8937924, - 42.581594 - ], - [ - -3.0618985, - 42.5801504 - ], - [ - -3.0603059, - 42.4795203 - ], - [ - -3.0219106, - 42.4798505 - ], - [ - -3.0198987, - 42.3524957 - ], - [ - -3.0625473, - 42.3521282 - ], - [ - -3.0602922, - 42.20906 - ], - [ - -3.101203, - 42.2087066 - ], - [ - -3.1008585, - 42.1868215 - ], - [ - -3.0617541, - 42.1871594 - ], - [ - -3.0611, - 42.1455897 - ], - [ - -3.02029, - 42.1459425 - ], - [ - -3.0196265, - 42.1037456 - ], - [ - -2.8960202, - 42.1048151 - ], - [ - -2.8950131, - 42.0407115 - ], - [ - -2.8122232, - 42.0414286 - ], - [ - -2.8135302, - 42.1246034 - ], - [ - -2.7687117, - 42.1249911 - ], - [ - -2.7690537, - 42.1467421 - ], - [ - -2.7269484, - 42.1471061 - ], - [ - -2.7265985, - 42.1248518 - ], - [ - -2.6870598, - 42.1251938 - ], - [ - -2.6860524, - 42.0610919 - ], - [ - -2.7280396, - 42.0607283 - ], - [ - -2.7273889, - 42.0192954 - ], - [ - -2.6034263, - 42.0203694 - ], - [ - -2.6037558, - 42.0413549 - ], - [ - -2.561002, - 42.0417251 - ], - [ - -2.561982, - 42.1041055 - ], - [ - -2.5226586, - 42.1044458 - ], - [ - -2.5229938, - 42.1257676 - ], - [ - -2.4793313, - 42.1261453 - ], - [ - -2.4796279, - 42.1450019 - ], - [ - -2.3551669, - 42.1460781 - ], - [ - -2.3555034, - 42.1674688 - ], - [ - -2.3118382, - 42.1678462 - ], - [ - -2.3114953, - 42.1460516 - ], - [ - -2.2698957, - 42.1464113 - ], - [ - -2.2692414, - 42.1048011 - ], - [ - -2.2295004, - 42.105145 - ], - [ - -2.2298147, - 42.1251384 - ], - [ - -2.1446652, - 42.1258749 - ], - [ - -2.1443191, - 42.1038592 - ], - [ - -2.1038544, - 42.1042093 - ], - [ - -2.1015605, - 41.958109 - ], - [ - -1.9768889, - 41.9591902 - ], - [ - -1.9765512, - 41.9376488 - ], - [ - -1.9347344, - 41.9380116 - ], - [ - -1.9350441, - 41.9577593 - ], - [ - -1.8945308, - 41.9581106 - ], - [ - -1.8948295, - 41.9771541 - ], - [ - -1.8540002, - 41.9775081 - ], - [ - -1.8530417, - 41.9163796 - ], - [ - -1.8138054, - 41.9167201 - ], - [ - -1.8115061, - 41.7698387 - ], - [ - -1.7705981, - 41.7701945 - ], - [ - -1.7686552, - 41.6458221 - ], - [ - -1.8533513, - 41.645084 - ], - [ - -1.8530483, - 41.6256663 - ], - [ - -1.8947057, - 41.6253032 - ], - [ - -1.8940326, - 41.5821499 - ], - [ - -1.9771633, - 41.5814247 - ], - [ - -1.9768326, - 41.5602127 - ], - [ - -1.9377021, - 41.5605541 - ], - [ - -1.9357991, - 41.4383441 - ] - ] - ], - terms_text: "ITACyL" - }, - { - id: "gsi.go.jp", - name: "Japan GSI ortho Imagery", - type: "tms", - template: "https://cyberjapandata.gsi.go.jp/xyz/ort/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 5, - 19 - ], - polygon: [ - [ - [ - 130.35020577038, - 31.45741016686 - ], - [ - 130.26851246373, - 31.45817385365 - ], - [ - 130.20875325037, - 31.44939107956 - ], - [ - 130.1002018703, - 31.44996389428 - ], - [ - 130.09236826555, - 31.39190087104 - ], - [ - 130.13355064479, - 31.37527753679 - ], - [ - 130.35042958766, - 31.37527753679 - ], - [ - 130.35020577038, - 31.45741016686 - ] - ], - [ - [ - 130.41929509606, - 31.41715162138 - ], - [ - 130.41699602753, - 31.41672525385 - ], - [ - 130.41677221025, - 31.47525012446 - ], - [ - 130.34179342195, - 31.47505923817 - ], - [ - 130.34179342195, - 31.48374417037 - ], - [ - 130.33362409129, - 31.48374417037 - ], - [ - 130.33328836537, - 31.50044369718 - ], - [ - 130.36674904851, - 31.49996660922 - ], - [ - 130.36663713987, - 31.52458116919 - ], - [ - 130.3501865699, - 31.5254396996 - ], - [ - 130.35041038717, - 31.54985681512 - ], - [ - 130.32523094334, - 31.55023828188 - ], - [ - 130.32500712606, - 31.60029225564 - ], - [ - 130.31661397812, - 31.63336079174 - ], - [ - 130.31633914795, - 31.65083990804 - ], - [ - 130.37520309219, - 31.65083990804 - ], - [ - 130.3116389851, - 31.67598607789 - ], - [ - 130.29194306459, - 31.69179419869 - ], - [ - 130.29104779548, - 31.73234970456 - ], - [ - 130.25210358902, - 31.73387257039 - ], - [ - 130.24986541623, - 31.7169292784 - ], - [ - 130.24426998427, - 31.71711966967 - ], - [ - 130.21629282446, - 31.75804471218 - ], - [ - 130.17533426249, - 31.75918654703 - ], - [ - 130.1742151761, - 31.7825910568 - ], - [ - 130.18383931907, - 31.79096196372 - ], - [ - 130.23643637952, - 31.79096196372 - ], - [ - 130.26911370218, - 31.77003327552 - ], - [ - 130.36334077643, - 31.757854405 - ], - [ - 130.42668106625, - 31.70893249188 - ], - [ - 130.62408790589, - 31.70759962708 - ], - [ - 130.62587844412, - 31.68627118535 - ], - [ - 130.61088268646, - 31.62244704056 - ], - [ - 130.55582363594, - 31.50249175717 - ], - [ - 130.54239459923, - 31.41715162138 - ], - [ - 130.42158428174, - 31.41715162138 - ], - [ - 130.41929509606, - 31.41715162138 - ] - ], - [ - [ - 130.52516066879, - 31.24183714215 - ], - [ - 130.54440895474, - 31.24107169669 - ], - [ - 130.56858122082, - 31.21714840084 - ], - [ - 130.59924418797, - 31.21657416733 - ], - [ - 130.59924418797, - 31.26632812093 - ], - [ - 130.57641482557, - 31.26632812093 - ], - [ - 130.57350520095, - 31.31624706403 - ], - [ - 130.63080242424, - 31.2839270868 - ], - [ - 130.68989018577, - 31.27665834675 - ], - [ - 130.66706082336, - 31.26058861785 - ], - [ - 130.66594173697, - 31.2192538939 - ], - [ - 130.64400764367, - 31.18134784608 - ], - [ - 130.59006767955, - 31.14687462722 - ], - [ - 130.54239459923, - 31.17502869506 - ], - [ - 130.54239459923, - 31.19130444028 - ], - [ - 130.5000931336, - 31.19207028876 - ], - [ - 130.5000931336, - 31.21580851721 - ], - [ - 130.52493685151, - 31.21714840084 - ], - [ - 130.52516066879, - 31.24183714215 - ] - ], - [ - [ - 130.74987321641, - 31.16621947793 - ], - [ - 130.74964939913, - 31.24107169669 - ], - [ - 130.77449311704, - 31.25886669886 - ], - [ - 130.77717892438, - 31.33307201163 - ], - [ - 130.75121612008, - 31.3745479497 - ], - [ - 130.74897794729, - 31.41657860612 - ], - [ - 130.67556587994, - 31.46851775588 - ], - [ - 130.67489442811, - 31.50077426676 - ], - [ - 131.40006241045, - 31.50020176294 - ], - [ - 131.40834364976, - 31.45916319691 - ], - [ - 131.36693745323, - 31.40932010999 - ], - [ - 131.36559454956, - 31.35142307004 - ], - [ - 131.31702620013, - 31.34205683123 - ], - [ - 131.29956845241, - 31.36594845228 - ], - [ - 131.24316649822, - 31.36633066888 - ], - [ - 131.19952212892, - 31.43357656998 - ], - [ - 131.14782033758, - 31.45018957859 - ], - [ - 131.13394366631, - 31.44999864121 - ], - [ - 131.13260076264, - 31.42899315281 - ], - [ - 131.10059489182, - 31.4253644553 - ], - [ - 131.05090745599, - 31.41638760026 - ], - [ - 131.04911691776, - 31.39155352706 - ], - [ - 131.08403241321, - 31.35084965365 - ], - [ - 131.11626210131, - 31.35084965365 - ], - [ - 131.11782882226, - 31.33421905765 - ], - [ - 130.99942948193, - 31.33364553639 - ], - [ - 130.99965329921, - 31.25102200373 - ], - [ - 130.87521089237, - 31.250639319 - ], - [ - 130.87453944053, - 31.16679401706 - ], - [ - 130.74987321641, - 31.16621947793 - ] - ], - [ - [ - 130.86624800392, - 30.47467824549 - ], - [ - 130.86602418665, - 30.4993660172 - ], - [ - 130.93361700475, - 30.57493333731 - ], - [ - 130.93227410108, - 30.61596948602 - ], - [ - 131.00635762027, - 30.61654733583 - ], - [ - 131.04933053774, - 30.59111868252 - ], - [ - 131.04933053774, - 30.54274730545 - ], - [ - 130.99203331444, - 30.50842948616 - ], - [ - 130.99113804533, - 30.4752569368 - ], - [ - 130.86624800392, - 30.47467824549 - ] - ], - [ - [ - 137.8748637557, - 36.37519421155 - ], - [ - 138.00004956356, - 36.37493936048 - ], - [ - 138.00004956356, - 36.30839468919 - ], - [ - 138.04159352635, - 36.30826715442 - ], - [ - 138.04191005178, - 36.29174963873 - ], - [ - 138.08305835778, - 36.29162207674 - ], - [ - 138.08353314592, - 36.24989812235 - ], - [ - 138.13306937584, - 36.24996193747 - ], - [ - 138.13354416398, - 36.16676665118 - ], - [ - 138.16654194014, - 36.16670276819 - ], - [ - 138.16693759693, - 36.12484822641 - ], - [ - 138.04167265771, - 36.1249121435 - ], - [ - 138.04143526363, - 36.04158405062 - ], - [ - 137.87478462434, - 36.04152006575 - ], - [ - 137.8748637557, - 36.37519421155 - ] - ], - [ - [ - 138.37446443279, - 35.8339347068 - ], - [ - 138.49980210875, - 35.83284598419 - ], - [ - 138.49980210875, - 35.75042265703 - ], - [ - 138.74935837428, - 35.75060430014 - ], - [ - 138.75070127796, - 35.58331750158 - ], - [ - 138.62446833288, - 35.5838635715 - ], - [ - 138.62536360199, - 35.49990716236 - ], - [ - 138.37491206735, - 35.49972494883 - ], - [ - 138.37446443279, - 35.8339347068 - ] - ], - [ - [ - 135.791788714, - 35.6416524565 - ], - [ - 135.80060419232, - 35.6492299306 - ], - [ - 135.83399762526, - 35.65051596353 - ], - [ - 135.89160525366, - 35.62003141459 - ], - [ - 135.89271309267, - 35.60909530501 - ], - [ - 135.95775906869, - 35.60858062772 - ], - [ - 135.98339762858, - 35.61720103553 - ], - [ - 135.98434720487, - 35.64099882962 - ], - [ - 135.95095377193, - 35.64189914759 - ], - [ - 135.95047898378, - 35.68304570763 - ], - [ - 135.94224932258, - 35.69204369082 - ], - [ - 135.94177453443, - 35.73239358289 - ], - [ - 136.00808661218, - 35.7751627038 - ], - [ - 136.03166775677, - 35.77503430242 - ], - [ - 136.05018449447, - 35.75012051215 - ], - [ - 136.05002623175, - 35.66646105164 - ], - [ - 136.00840313761, - 35.65836031603 - ], - [ - 136.00856140032, - 35.61694372337 - ], - [ - 136.0340416975, - 35.60021665776 - ], - [ - 136.06664381687, - 35.59995929098 - ], - [ - 136.06616902872, - 35.61655775359 - ], - [ - 136.10019551253, - 35.62492001521 - ], - [ - 136.10019551253, - 35.69127247488 - ], - [ - 136.07598131707, - 35.69165808378 - ], - [ - 136.07503174078, - 35.74922141512 - ], - [ - 136.0834196647, - 35.76694459715 - ], - [ - 136.12440970798, - 35.76604569021 - ], - [ - 136.15020653058, - 35.70039805209 - ], - [ - 136.15875271721, - 35.64215637943 - ], - [ - 136.17442072604, - 35.62492001521 - ], - [ - 136.17552856504, - 35.58342174019 - ], - [ - 136.17489551418, - 35.55812619512 - ], - [ - 136.1585944545, - 35.55831932114 - ], - [ - 136.15875271721, - 35.5670095101 - ], - [ - 136.11649657221, - 35.56675203657 - ], - [ - 136.11625917814, - 35.52554561689 - ], - [ - 136.04044971041, - 35.52470191934 - ], - [ - 136.01683698753, - 35.50311340405 - ], - [ - 136.01661317025, - 35.48334161402 - ], - [ - 135.97543079101, - 35.48334161402 - ], - [ - 135.94141056468, - 35.50885268976 - ], - [ - 135.94185819923, - 35.56640504504 - ], - [ - 135.93357695993, - 35.57487049764 - ], - [ - 135.90873324202, - 35.57514356187 - ], - [ - 135.90850942474, - 35.59953354293 - ], - [ - 135.83185200685, - 35.59971552979 - ], - [ - 135.79279589175, - 35.62518960433 - ], - [ - 135.791788714, - 35.6416524565 - ] - ], - [ - [ - 135.80915921172, - 35.4750487703 - ], - [ - 135.77043882253, - 35.53344498229 - ], - [ - 135.75790505494, - 35.53326284486 - ], - [ - 135.74167830225, - 35.51641334477 - ], - [ - 135.70071974028, - 35.51705095781 - ], - [ - 135.67464502734, - 35.53362711931 - ], - [ - 135.67542838781, - 35.56658710719 - ], - [ - 135.69960065389, - 35.58333505571 - ], - [ - 135.81654518191, - 35.5834260676 - ], - [ - 135.81654518191, - 35.56804358954 - ], - [ - 135.85817519571, - 35.54956250693 - ], - [ - 135.85851092163, - 35.5254305443 - ], - [ - 135.85090113416, - 35.52470191934 - ], - [ - 135.85011777368, - 35.4751399051 - ], - [ - 135.80915921172, - 35.4750487703 - ] - ], - [ - [ - 135.58332757771, - 35.44132180519 - ], - [ - 135.61656444356, - 35.44989161714 - ], - [ - 135.64163197876, - 35.4749576354 - ], - [ - 135.71638694978, - 35.47477536528 - ], - [ - 135.71728221889, - 35.46702850341 - ], - [ - 135.81441891776, - 35.46538789573 - ], - [ - 135.86668025229, - 35.44186884172 - ], - [ - 135.86679216093, - 35.40867523135 - ], - [ - 135.81721663374, - 35.40821917993 - ], - [ - 135.81676899918, - 35.3849571361 - ], - [ - 135.7754747113, - 35.38349733314 - ], - [ - 135.7583526895, - 35.40803675864 - ], - [ - 135.59183263429, - 35.40840160081 - ], - [ - 135.58321566907, - 35.4253649376 - ], - [ - 135.58332757771, - 35.44132180519 - ] - ], - [ - [ - 135.40011097158, - 35.43312261685 - ], - [ - 135.42495821789, - 35.44189082899 - ], - [ - 135.4580351254, - 35.45007792954 - ], - [ - 135.4589847017, - 35.49164522829 - ], - [ - 135.46642304932, - 35.49183851435 - ], - [ - 135.46618565524, - 35.5080728839 - ], - [ - 135.44181319708, - 35.51709056025 - ], - [ - 135.43967665042, - 35.53293345221 - ], - [ - 135.45843078219, - 35.55804382162 - ], - [ - 135.52323936414, - 35.55810819707 - ], - [ - 135.52498025401, - 35.50910352674 - ], - [ - 135.54151870776, - 35.50008495336 - ], - [ - 135.54151870776, - 35.48339792301 - ], - [ - 135.57514953478, - 35.48365566411 - ], - [ - 135.57491214071, - 35.49164522829 - ], - [ - 135.6087803618, - 35.49170965703 - ], - [ - 135.60893862451, - 35.46683632488 - ], - [ - 135.59208364533, - 35.45826419724 - ], - [ - 135.53305165249, - 35.45826419724 - ], - [ - 135.50029127041, - 35.45007792954 - ], - [ - 135.50044953312, - 35.44150401624 - ], - [ - 135.50788788075, - 35.4250627562 - ], - [ - 135.53336817792, - 35.42512723828 - ], - [ - 135.53297252113, - 35.38346105831 - ], - [ - 135.54159783912, - 35.38333202741 - ], - [ - 135.54175610184, - 35.36687889716 - ], - [ - 135.50860006297, - 35.35836066507 - ], - [ - 135.5089165884, - 35.34216063858 - ], - [ - 135.50013300769, - 35.34164424964 - ], - [ - 135.50013300769, - 35.41661515666 - ], - [ - 135.3998735775, - 35.41655066776 - ], - [ - 135.40011097158, - 35.43312261685 - ] - ], - [ - [ - 133.70822156225, - 35.45816409093 - ], - [ - 133.70822156225, - 35.33318625316 - ], - [ - 133.12484182584, - 35.33327754848 - ], - [ - 133.12495373448, - 35.37489746931 - ], - [ - 132.95876940519, - 35.37507996558 - ], - [ - 132.95820986199, - 35.45779947415 - ], - [ - 132.87506174303, - 35.45852870604 - ], - [ - 132.87461410847, - 35.52504328752 - ], - [ - 132.95015243997, - 35.52522544361 - ], - [ - 132.94970480541, - 35.55818888426 - ], - [ - 133.01673808032, - 35.55855304549 - ], - [ - 133.01684998896, - 35.56674623573 - ], - [ - 133.03352437621, - 35.56692829711 - ], - [ - 133.03307674165, - 35.5920487997 - ], - [ - 133.0668731507, - 35.59186679541 - ], - [ - 133.06653742479, - 35.61679752725 - ], - [ - 133.14135176147, - 35.61671112498 - ], - [ - 133.14151002418, - 35.59181218751 - ], - [ - 133.36666664955, - 35.59185602422 - ], - [ - 133.36689046683, - 35.57483679329 - ], - [ - 133.34215865756, - 35.57447270605 - ], - [ - 133.34193484028, - 35.55799602729 - ], - [ - 133.33320596642, - 35.55025719141 - ], - [ - 133.28363043923, - 35.55016614184 - ], - [ - 133.28340662195, - 35.49178209483 - ], - [ - 133.33354169233, - 35.49159986286 - ], - [ - 133.33354169233, - 35.4752884282 - ], - [ - 133.41713744585, - 35.47492388905 - ], - [ - 133.41713744585, - 35.37516041329 - ], - [ - 133.4999498389, - 35.37534290896 - ], - [ - 133.49972602162, - 35.45806214773 - ], - [ - 133.45854364238, - 35.45806214773 - ], - [ - 133.45854364238, - 35.5162885278 - ], - [ - 133.49211623415, - 35.53350232911 - ], - [ - 133.54135603542, - 35.54160702023 - ], - [ - 133.58343368378, - 35.54197125678 - ], - [ - 133.58354559242, - 35.45842676331 - ], - [ - 133.70822156225, - 35.45816409093 - ] - ], - [ - [ - 133.84174199676, - 35.46646185214 - ], - [ - 133.84158373405, - 35.58367337011 - ], - [ - 133.97499920311, - 35.58328723983 - ], - [ - 133.97531572854, - 35.50860042068 - ], - [ - 134.00823437334, - 35.50834275959 - ], - [ - 134.03339814508, - 35.49971063549 - ], - [ - 134.04210259443, - 35.474968664 - ], - [ - 134.04431827244, - 35.45834087408 - ], - [ - 134.08356742586, - 35.45859869551 - ], - [ - 134.08309263771, - 35.53358961595 - ], - [ - 134.13326191849, - 35.54968677959 - ], - [ - 134.2332839546, - 35.55998726867 - ], - [ - 134.27490704875, - 35.58341595013 - ], - [ - 134.33298946529, - 35.58367337011 - ], - [ - 134.3352051433, - 35.49172187329 - ], - [ - 134.36654116095, - 35.49223730128 - ], - [ - 134.36654116095, - 35.49996832427 - ], - [ - 134.41718522987, - 35.49971063549 - ], - [ - 134.41591912815, - 35.54170299025 - ], - [ - 134.62530070059, - 35.54157421294 - ], - [ - 134.62514243787, - 35.37553750794 - ], - [ - 134.70838862616, - 35.3746341986 - ], - [ - 134.70823036344, - 35.33397481479 - ], - [ - 134.41655217901, - 35.33358748416 - ], - [ - 134.41591912815, - 35.37527942059 - ], - [ - 134.39217972084, - 35.37540846437 - ], - [ - 134.39154666998, - 35.35011194072 - ], - [ - 134.37477082215, - 35.33345837354 - ], - [ - 134.20004878437, - 35.33358748416 - ], - [ - 134.19938857992, - 35.35874491549 - ], - [ - 134.24997128486, - 35.39971317226 - ], - [ - 134.2751507287, - 35.39962195204 - ], - [ - 134.27503882006, - 35.39205031412 - ], - [ - 134.35818693902, - 35.39314505273 - ], - [ - 134.35852266494, - 35.39989561238 - ], - [ - 134.37519705219, - 35.39998683229 - ], - [ - 134.37441369171, - 35.42488600691 - ], - [ - 134.33255986063, - 35.42506839006 - ], - [ - 134.33278367791, - 35.41658713686 - ], - [ - 134.04954291197, - 35.41658713686 - ], - [ - 134.050773907, - 35.39177662715 - ], - [ - 134.06610539058, - 35.39186785624 - ], - [ - 134.06711256833, - 35.39998683229 - ], - [ - 134.14186753935, - 35.4001692718 - ], - [ - 134.14164372207, - 35.36677596772 - ], - [ - 134.18338564451, - 35.35847111553 - ], - [ - 134.18372137043, - 35.3333688437 - ], - [ - 133.78308844191, - 35.33364272875 - ], - [ - 133.78331225919, - 35.3415849913 - ], - [ - 133.82471845571, - 35.35920124668 - ], - [ - 133.82505418163, - 35.38310939264 - ], - [ - 133.84172856888, - 35.40837862237 - ], - [ - 133.89980915265, - 35.40892588268 - ], - [ - 133.89980915265, - 35.41676953879 - ], - [ - 133.85829104749, - 35.41658713686 - ], - [ - 133.85739577837, - 35.46645867604 - ], - [ - 133.84174199676, - 35.46646185214 - ] - ], - [ - [ - 133.24986715088, - 33.66667502084 - ], - [ - 133.41786302325, - 33.66674088 - ], - [ - 133.52484861884, - 33.66674088 - ], - [ - 133.5249277502, - 33.79178216553 - ], - [ - 133.64156737143, - 33.79184792875 - ], - [ - 133.64188389686, - 33.66680673911 - ], - [ - 133.75005646282, - 33.66687259817 - ], - [ - 133.7502938569, - 33.62517372978 - ], - [ - 133.79152129425, - 33.62497605673 - ], - [ - 133.79167955697, - 33.5084018887 - ], - [ - 133.73335974635, - 33.5084018887 - ], - [ - 133.73328061499, - 33.51658303581 - ], - [ - 133.64196302822, - 33.51671498346 - ], - [ - 133.6083322012, - 33.48345781283 - ], - [ - 133.5249277502, - 33.46682443689 - ], - [ - 133.47491673214, - 33.41934896387 - ], - [ - 133.43313537528, - 33.38321323101 - ], - [ - 133.37497382738, - 33.38334538172 - ], - [ - 133.37497382738, - 33.4915753247 - ], - [ - 133.20816492538, - 33.49190528877 - ], - [ - 133.20824405673, - 33.55826847379 - ], - [ - 133.24947149409, - 33.55833441583 - ], - [ - 133.24986715088, - 33.66667502084 - ] - ], - [ - [ - 134.35010199023, - 33.73355124395 - ], - [ - 134.48320093386, - 33.73368285973 - ], - [ - 134.48335919658, - 33.66732292669 - ], - [ - 134.43366470395, - 33.65032970689 - ], - [ - 134.43287339037, - 33.63412374427 - ], - [ - 134.35279245639, - 33.63346490079 - ], - [ - 134.35010199023, - 33.73355124395 - ] - ], - [ - [ - 140.31655633412, - 36.21655924286 - ], - [ - 140.31670857142, - 36.44984371664 - ], - [ - 140.34972550975, - 36.44993784711 - ], - [ - 140.35012116654, - 36.51667940915 - ], - [ - 140.47467392354, - 36.51671120743 - ], - [ - 140.47483218626, - 36.59159167371 - ], - [ - 140.62489198016, - 36.59204412991 - ], - [ - 140.62466816288, - 36.63354434507 - ], - [ - 140.64973569807, - 36.63480157867 - ], - [ - 140.6504071499, - 36.71683657266 - ], - [ - 140.69912259173, - 36.81553707084 - ], - [ - 140.71006153063, - 36.91305702097 - ], - [ - 140.70837582504, - 36.95687206208 - ], - [ - 140.74955820428, - 36.95866053873 - ], - [ - 140.75322567003, - 37.06176178104 - ], - [ - 140.75001124397, - 37.16670649618 - ], - [ - 141.00831455851, - 37.16665576788 - ], - [ - 141.00836843323, - 37.09170040353 - ], - [ - 140.98331342638, - 37.05827740145 - ], - [ - 140.98333134606, - 36.95834221234 - ], - [ - 140.90833717097, - 36.90001505806 - ], - [ - 140.81672362984, - 36.89998820089 - ], - [ - 140.80827903855, - 36.87497854873 - ], - [ - 140.80832751008, - 36.84999814762 - ], - [ - 140.81655279507, - 36.85004292272 - ], - [ - 140.81669039224, - 36.84150363067 - ], - [ - 140.81669268087, - 36.81815641451 - ], - [ - 140.79987840782, - 36.8083235537 - ], - [ - 140.78339986069, - 36.79992318494 - ], - [ - 140.77500355026, - 36.7952284511 - ], - [ - 140.77498205056, - 36.78338477344 - ], - [ - 140.75836081806, - 36.77499922674 - ], - [ - 140.75825340609, - 36.75837229112 - ], - [ - 140.7500237449, - 36.75830889371 - ], - [ - 140.74688638087, - 36.71939040314 - ], - [ - 140.73335857243, - 36.65047700125 - ], - [ - 140.69167208421, - 36.58337353738 - ], - [ - 140.65003069722, - 36.51336154863 - ], - [ - 140.64998216361, - 36.38351382821 - ], - [ - 140.59986271995, - 36.27483428417 - ], - [ - 140.57499364049, - 36.247961428 - ], - [ - 140.57462747735, - 36.21728656365 - ], - [ - 140.31655633412, - 36.21655924286 - ] - ], - [ - [ - 141.21659460884, - 41.24992504972 - ], - [ - 141.41662092018, - 41.24971143017 - ], - [ - 141.3985787742, - 41.17051732489 - ], - [ - 141.40426133986, - 41.09679470963 - ], - [ - 141.39502717066, - 41.04045724412 - ], - [ - 141.3985787742, - 40.97184467053 - ], - [ - 141.40625023785, - 40.91003228264 - ], - [ - 141.41136454694, - 40.83010568063 - ], - [ - 141.41306931664, - 40.80204405626 - ], - [ - 141.42244554999, - 40.74986737343 - ], - [ - 141.34161105343, - 40.75083597368 - ], - [ - 141.31490299481, - 40.74556231273 - ], - [ - 141.29203066802, - 40.74168751981 - ], - [ - 141.2332161134, - 40.741902792 - ], - [ - 141.23307404926, - 40.858370329 - ], - [ - 141.25026381039, - 40.85858522311 - ], - [ - 141.24941142554, - 40.916473772 - ], - [ - 141.17411743051, - 40.91690318231 - ], - [ - 141.22497639319, - 40.99479494983 - ], - [ - 141.23818835836, - 41.06959595271 - ], - [ - 141.24969555383, - 41.12580144291 - ], - [ - 141.27143136749, - 41.15875294418 - ], - [ - 141.23335817754, - 41.22994860165 - ], - [ - 141.21659460884, - 41.24992504972 - ] - ], - [ - [ - 141.25853811897, - 41.31660436526 - ], - [ - 141.15014769418, - 41.31671753815 - ], - [ - 141.14989655789, - 41.39163254467 - ], - [ - 141.18877245631, - 41.39204703296 - ], - [ - 141.21624676695, - 41.37915897915 - ], - [ - 141.25848789171, - 41.36012370261 - ], - [ - 141.25853811897, - 41.31660436526 - ] - ], - [ - [ - 141.05840812211, - 45.25840298159 - ], - [ - 141.03452758266, - 45.25832991558 - ], - [ - 141.0087358852, - 45.25815313759 - ], - [ - 141.00829855109, - 45.2749503937 - ], - [ - 140.99993571248, - 45.2749503937 - ], - [ - 141.00002145578, - 45.30370739875 - ], - [ - 140.99998630938, - 45.30828451785 - ], - [ - 140.99195968538, - 45.30845936456 - ], - [ - 140.99171107313, - 45.3416205272 - ], - [ - 140.98350686895, - 45.3417203809 - ], - [ - 140.98336480481, - 45.34998266412 - ], - [ - 140.97476992425, - 45.35008250306 - ], - [ - 140.9750185365, - 45.36670323221 - ], - [ - 140.96663675214, - 45.36675313695 - ], - [ - 140.96684984835, - 45.39818437653 - ], - [ - 140.966494688, - 45.42498689786 - ], - [ - 140.95839703193, - 45.42483733769 - ], - [ - 140.95815451327, - 45.43314299759 - ], - [ - 140.95011815184, - 45.43349546179 - ], - [ - 140.94966610651, - 45.51650986935 - ], - [ - 140.97442814517, - 45.51672103552 - ], - [ - 140.97447837243, - 45.50014208116 - ], - [ - 140.9830672337, - 45.50042371776 - ], - [ - 140.98331837, - 45.4669695229 - ], - [ - 140.99045064077, - 45.46703997365 - ], - [ - 140.99135473143, - 45.45876140769 - ], - [ - 141.000194729, - 45.45812725464 - ], - [ - 141.00034541078, - 45.45002356013 - ], - [ - 141.01626745186, - 45.45019973978 - ], - [ - 141.01636790638, - 45.47496512106 - ], - [ - 141.04991971535, - 45.47531732397 - ], - [ - 141.04991971535, - 45.46675817011 - ], - [ - 141.06614311999, - 45.46679339563 - ], - [ - 141.0664947108, - 45.45019973978 - ], - [ - 141.07463152675, - 45.44998832413 - ], - [ - 141.07498311756, - 45.34178065157 - ], - [ - 141.06659516532, - 45.34167474083 - ], - [ - 141.06418425689, - 45.30611284333 - ], - [ - 141.06644448354, - 45.30565360635 - ], - [ - 141.06629380176, - 45.28484273553 - ], - [ - 141.05906107648, - 45.28357051614 - ], - [ - 141.05840812211, - 45.25840298159 - ] - ], - [ - [ - 144.27488180314, - 42.96671405694 - ], - [ - 144.27502386729, - 42.99155438113 - ], - [ - 144.25861545893, - 42.99145046763 - ], - [ - 144.25804720237, - 42.98313681807 - ], - [ - 144.20818268867, - 42.98318878187 - ], - [ - 144.20853784903, - 42.97471810232 - ], - [ - 144.16684202347, - 42.97502992716 - ], - [ - 144.16684202347, - 43.00495774998 - ], - [ - 144.16641583105, - 43.04177598129 - ], - [ - 144.0748554918, - 43.04187980967 - ], - [ - 144.07492652387, - 43.10025542281 - ], - [ - 144.24987851423, - 43.09999609865 - ], - [ - 144.24987851423, - 43.11679803377 - ], - [ - 144.29178743599, - 43.11674618304 - ], - [ - 144.2920005322, - 43.09190463314 - ], - [ - 144.41680388058, - 43.09185276132 - ], - [ - 144.41680388058, - 43.11679803377 - ], - [ - 144.56653948581, - 43.11679803377 - ], - [ - 144.56675258202, - 42.99171025106 - ], - [ - 144.50005346755, - 42.9915024244 - ], - [ - 144.50019553169, - 42.92480576324 - ], - [ - 144.46652633013, - 42.92501381529 - ], - [ - 144.31738592868, - 42.96675438272 - ], - [ - 144.27488180314, - 42.96671405694 - ] - ], - [ - [ - 140.69972478088, - 42.5751298131 - ], - [ - 140.70015284963, - 42.61646613432 - ], - [ - 140.84450599182, - 42.61672487035 - ], - [ - 140.99960776742, - 42.61668790813 - ], - [ - 141.00006375193, - 42.54167666875 - ], - [ - 141.24984166465, - 42.54168238797 - ], - [ - 141.24994211917, - 42.58335654436 - ], - [ - 141.29163074409, - 42.58331956233 - ], - [ - 141.29158051683, - 42.62509525569 - ], - [ - 141.37500799393, - 42.62498438386 - ], - [ - 141.37500799393, - 42.66662133905 - ], - [ - 141.4999231869, - 42.66665827162 - ], - [ - 141.4999231869, - 42.81649728565 - ], - [ - 141.47496023921, - 42.81650491617 - ], - [ - 141.47511092099, - 42.8334137279 - ], - [ - 141.81235902085, - 42.83357414934 - ], - [ - 141.95751579918, - 42.83327948275 - ], - [ - 141.9435526212, - 42.77977422873 - ], - [ - 141.9576162537, - 42.77896318716 - ], - [ - 141.95831943532, - 42.75020121185 - ], - [ - 141.99990760572, - 42.75086510026 - ], - [ - 141.9992044241, - 42.71493114279 - ], - [ - 142.0003094238, - 42.67631769199 - ], - [ - 142.01798941894, - 42.65075907775 - ], - [ - 142.0908189444, - 42.65002023325 - ], - [ - 142.09122076247, - 42.52510348612 - ], - [ - 142.02471987164, - 42.52510348612 - ], - [ - 141.96032852568, - 42.52495541975 - ], - [ - 141.86650400599, - 42.52517751918 - ], - [ - 141.86559991533, - 42.57712707332 - ], - [ - 141.83576492352, - 42.58518943644 - ], - [ - 141.80482493201, - 42.57416814647 - ], - [ - 141.74646085713, - 42.57705310186 - ], - [ - 141.73068949782, - 42.61476715705 - ], - [ - 141.61707543811, - 42.6105531897 - ], - [ - 141.52134228257, - 42.60330745653 - ], - [ - 141.45614730047, - 42.57586954656 - ], - [ - 141.35619505519, - 42.52865697374 - ], - [ - 141.27522871378, - 42.48822412486 - ], - [ - 141.19506600852, - 42.43790576605 - ], - [ - 141.10475739695, - 42.39140503755 - ], - [ - 141.05392741091, - 42.33165259938 - ], - [ - 141.02539832783, - 42.29161268611 - ], - [ - 140.95186562075, - 42.29146406758 - ], - [ - 140.91469744913, - 42.32682538905 - ], - [ - 140.89450609104, - 42.37174125443 - ], - [ - 140.88425973022, - 42.42722922291 - ], - [ - 140.85040655769, - 42.46095792778 - ], - [ - 140.76642658075, - 42.49977903608 - ], - [ - 140.76662748979, - 42.52821279884 - ], - [ - 140.69972478088, - 42.5751298131 - ] - ], - [ - [ - 140.75005175023, - 43.23374469699 - ], - [ - 140.82761698213, - 43.21350425464 - ], - [ - 140.88245374078, - 43.22530637354 - ], - [ - 140.97337479139, - 43.24600632559 - ], - [ - 141.02139247124, - 43.2431087556 - ], - [ - 141.04213383591, - 43.20211407957 - ], - [ - 141.08345726584, - 43.18205479137 - ], - [ - 141.17267354675, - 43.16382009604 - ], - [ - 141.25677551857, - 43.19365585362 - ], - [ - 141.37528066948, - 43.33327171855 - ], - [ - 141.6249101464, - 43.33334478655 - ], - [ - 141.62450832833, - 43.41680402892 - ], - [ - 141.79146373703, - 43.41680402892 - ], - [ - 141.79196600962, - 43.83339131087 - ], - [ - 142.12487228186, - 43.83331884728 - ], - [ - 142.12487228186, - 43.75021775035 - ], - [ - 142.16656090677, - 43.74992749181 - ], - [ - 142.16656090677, - 43.83317391984 - ], - [ - 142.24953633854, - 43.83324638361 - ], - [ - 142.24983770209, - 43.8580962632 - ], - [ - 142.27464996801, - 43.8580962632 - ], - [ - 142.27464996801, - 43.87424675433 - ], - [ - 142.26671406109, - 43.87489847601 - ], - [ - 142.26651315206, - 43.91688328705 - ], - [ - 142.24993815661, - 43.91710037291 - ], - [ - 142.25000627225, - 44.49999904167 - ], - [ - 142.4999694516, - 44.50012874722 - ], - [ - 142.49976854256, - 43.88365981984 - ], - [ - 142.51674535608, - 43.88344261201 - ], - [ - 142.51644399253, - 43.83346377437 - ], - [ - 142.6247339628, - 43.83346377437 - ], - [ - 142.6247339628, - 43.58330511259 - ], - [ - 142.54175853103, - 43.58403277336 - ], - [ - 142.54195944007, - 43.50007553209 - ], - [ - 142.5005721787, - 43.500221266 - ], - [ - 142.50037126967, - 43.250063364 - ], - [ - 142.25054088372, - 43.25013653203 - ], - [ - 142.25003861113, - 43.45838119826 - ], - [ - 142.00030867969, - 43.45816244584 - ], - [ - 142.00000731614, - 43.41724183211 - ], - [ - 141.91703188437, - 43.41687699634 - ], - [ - 141.91703188437, - 43.33341785446 - ], - [ - 141.87494144139, - 43.33327171855 - ], - [ - 141.87453962331, - 43.17487339597 - ], - [ - 141.93350642531, - 43.17472687911 - ], - [ - 141.93390824338, - 43.15868115634 - ], - [ - 141.9913682276, - 43.15802165291 - ], - [ - 141.99207140923, - 43.13339509811 - ], - [ - 141.87524280494, - 43.13332178998 - ], - [ - 141.87484098687, - 43.00012273874 - ], - [ - 141.49984427164, - 43.00026967384 - ], - [ - 141.5001456352, - 42.91682752603 - ], - [ - 141.25021479473, - 42.91631255378 - ], - [ - 141.25001388569, - 42.99990233543 - ], - [ - 141.12504846546, - 43.00004927106 - ], - [ - 141.12524937449, - 43.08323181508 - ], - [ - 140.99988213619, - 43.0835986549 - ], - [ - 141.00008304522, - 43.16637483706 - ], - [ - 140.75085538638, - 43.16659464227 - ], - [ - 140.75005175023, - 43.23374469699 - ] - ], - [ - [ - 140.59120711887, - 41.7835290469 - ], - [ - 140.58381978351, - 41.83340389909 - ], - [ - 140.58453010422, - 41.87731665106 - ], - [ - 140.59092299059, - 41.91612521476 - ], - [ - 140.60797068758, - 41.9440274172 - ], - [ - 140.57543799916, - 41.95913601413 - ], - [ - 140.58438804008, - 41.99979520491 - ], - [ - 140.71039893366, - 42.00011192783 - ], - [ - 140.86894251566, - 42.00011192783 - ], - [ - 140.9172443238, - 42.00053422262 - ], - [ - 140.99040735671, - 41.91908511782 - ], - [ - 141.04737507748, - 41.90692749714 - ], - [ - 141.12721512505, - 41.88398028822 - ], - [ - 141.17551693319, - 41.8373202361 - ], - [ - 141.20194086352, - 41.8148774364 - ], - [ - 141.18418284582, - 41.78321124824 - ], - [ - 141.11300871089, - 41.7671073878 - ], - [ - 141.05689337497, - 41.71559028285 - ], - [ - 140.99381689611, - 41.6996815955 - ], - [ - 140.94267380514, - 41.70413642477 - ], - [ - 140.89238309902, - 41.73562962373 - ], - [ - 140.84805908685, - 41.74326201425 - ], - [ - 140.80018347113, - 41.75672249187 - ], - [ - 140.73298713217, - 41.74633591528 - ], - [ - 140.69704490435, - 41.73234317623 - ], - [ - 140.68809486343, - 41.76986228217 - ], - [ - 140.59120711887, - 41.7835290469 - ] - ], - [ - [ - 140.24179585193, - 42.23380417915 - ], - [ - 140.24159494289, - 42.25826958158 - ], - [ - 140.21005222428, - 42.25797218685 - ], - [ - 140.20804313392, - 42.27484711876 - ], - [ - 140.26610584525, - 42.27514443389 - ], - [ - 140.26510130007, - 42.29179184247 - ], - [ - 140.29001402051, - 42.29119736791 - ], - [ - 140.29182220183, - 42.26778547222 - ], - [ - 140.33913627975, - 42.24139021231 - ], - [ - 140.34144673366, - 42.21662067407 - ], - [ - 140.29322856508, - 42.21662067407 - ], - [ - 140.24179585193, - 42.23380417915 - ] - ], - [ - [ - 140.5500698319, - 42.08446643616 - ], - [ - 140.54976846834, - 42.11387080944 - ], - [ - 140.58065823259, - 42.11193329833 - ], - [ - 140.62636503822, - 42.12068888716 - ], - [ - 140.63364799077, - 42.12135947813 - ], - [ - 140.63359776351, - 42.10060512509 - ], - [ - 140.6085343613, - 42.0996361742 - ], - [ - 140.60848413404, - 42.08327357565 - ], - [ - 140.54971824108, - 42.08312446651 - ], - [ - 140.5500698319, - 42.08446643616 - ] - ], - [ - [ - 140.65829476124, - 41.06668390404 - ], - [ - 140.67117312553, - 40.91973845213 - ], - [ - 140.84491757068, - 40.91651794496 - ], - [ - 140.91726268929, - 40.91688446951 - ], - [ - 140.91712062514, - 40.87597060622 - ], - [ - 140.98460109239, - 40.87532609104 - ], - [ - 140.98502728482, - 40.79277634954 - ], - [ - 141.13391050519, - 40.79191591552 - ], - [ - 141.13972013932, - 40.68033688317 - ], - [ - 141.17424172572, - 40.68173742982 - ], - [ - 141.18503860048, - 40.60056495195 - ], - [ - 141.4335087841, - 40.60078068023 - ], - [ - 141.43308259168, - 40.51756583822 - ], - [ - 141.1830497025, - 40.51648584823 - ], - [ - 141.18361795907, - 40.58222550347 - ], - [ - 141.16713851864, - 40.59171949298 - ], - [ - 141.0439689079, - 40.59236676137 - ], - [ - 141.04283239476, - 40.65824744906 - ], - [ - 140.98401784015, - 40.65835522015 - ], - [ - 140.72645555147, - 40.65857076182 - ], - [ - 140.7258872949, - 40.5752120322 - ], - [ - 140.6684933817, - 40.57467250396 - ], - [ - 140.60882644224, - 40.57488831578 - ], - [ - 140.60925263466, - 40.48310558373 - ], - [ - 140.55058014419, - 40.48299753002 - ], - [ - 140.54887537449, - 40.51756583822 - ], - [ - 140.4002762824, - 40.51691784631 - ], - [ - 140.40013421826, - 40.58319654154 - ], - [ - 140.25664943526, - 40.58233339729 - ], - [ - 140.24897797162, - 40.6329164137 - ], - [ - 140.33251168687, - 40.6329164137 - ], - [ - 140.33251168687, - 40.6668685866 - ], - [ - 140.41675572282, - 40.66697634376 - ], - [ - 140.41703985111, - 40.73310636766 - ], - [ - 140.3319434303, - 40.73375226547 - ], - [ - 140.33350613586, - 40.75850695413 - ], - [ - 140.28420987873, - 40.7581841262 - ], - [ - 140.28037414691, - 40.85678885153 - ], - [ - 140.30253615299, - 40.98506688683 - ], - [ - 140.31844733685, - 41.00018619857 - ], - [ - 140.42442718647, - 41.00040063195 - ], - [ - 140.42442718647, - 40.9002917234 - ], - [ - 140.55043808005, - 40.89975482521 - ], - [ - 140.54993594969, - 41.06668469228 - ], - [ - 140.65829476124, - 41.06668390404 - ] - ], - [ - [ - 140.01669286591, - 40.33380933454 - ], - [ - 140.25251934093, - 40.33380933454 - ], - [ - 140.25006213354, - 39.33298346786 - ], - [ - 139.9834077398, - 39.33320323377 - ], - [ - 140.05621967123, - 39.72433162037 - ], - [ - 140.00614206132, - 39.7704262598 - ], - [ - 139.9407337113, - 39.88023137264 - ], - [ - 139.94158325159, - 40.01081102788 - ], - [ - 139.94055447894, - 40.08508825139 - ], - [ - 139.94115720605, - 40.10875598318 - ], - [ - 140.01669286591, - 40.33380933454 - ] - ], - [ - [ - 139.85814158604, - 39.04176309557 - ], - [ - 139.87552021763, - 39.04137298588 - ], - [ - 139.8770270354, - 39.00008721208 - ], - [ - 139.91670656996, - 39.00000914431 - ], - [ - 139.91670128995, - 38.7917265095 - ], - [ - 139.75492583732, - 38.79164845102 - ], - [ - 139.75020447498, - 38.79386031243 - ], - [ - 139.79375938684, - 38.89687193302 - ], - [ - 139.79014302419, - 38.92540244092 - ], - [ - 139.83615119338, - 38.99101811819 - ], - [ - 139.85814158604, - 39.04176309557 - ] - ], - [ - [ - 139.37551097227, - 38.1173978813 - ], - [ - 139.38053369817, - 37.95892457768 - ], - [ - 139.41699868815, - 37.9584493548 - ], - [ - 139.41699868815, - 37.87412788746 - ], - [ - 139.37571188131, - 37.87460365543 - ], - [ - 139.37611369938, - 37.83296233149 - ], - [ - 139.29233463147, - 37.83145487116 - ], - [ - 139.30006962935, - 37.78073866603 - ], - [ - 139.29173190436, - 37.68357441277 - ], - [ - 139.2919328134, - 37.66473061802 - ], - [ - 139.22934964877, - 37.65940260168 - ], - [ - 139.18113148019, - 37.61023958654 - ], - [ - 139.14536967182, - 37.60769304313 - ], - [ - 139.12367149596, - 37.62671043285 - ], - [ - 139.09815604842, - 37.65017707221 - ], - [ - 139.08831150567, - 37.66640051458 - ], - [ - 138.99950971187, - 37.66655955038 - ], - [ - 138.9994226694, - 37.79170868021 - ], - [ - 138.81260832323, - 37.79198934291 - ], - [ - 138.86834406289, - 37.84689141822 - ], - [ - 138.9915013018, - 37.91333515169 - ], - [ - 139.08231218596, - 37.97750182191 - ], - [ - 139.27679213256, - 38.03417532016 - ], - [ - 139.37551097227, - 38.1173978813 - ] - ], - [ - [ - 139.96008286406, - 38.49993004113 - ], - [ - 140.50032726119, - 38.50008727416 - ], - [ - 140.50022680667, - 38.16653588757 - ], - [ - 140.37496002288, - 38.16653588757 - ], - [ - 140.37536184095, - 38.08348155828 - ], - [ - 140.25039642072, - 38.08292807287 - ], - [ - 140.21704552078, - 38.07407173651 - ], - [ - 140.22136506505, - 38.04219586845 - ], - [ - 140.25120005686, - 38.04195852705 - ], - [ - 140.25039642072, - 38.0001744595 - ], - [ - 140.23372097075, - 37.99962034404 - ], - [ - 140.23352006172, - 37.94196948017 - ], - [ - 140.20860734128, - 37.94109803478 - ], - [ - 140.20840643225, - 37.90012844634 - ], - [ - 140.19253461842, - 37.89965284327 - ], - [ - 140.19122870969, - 37.88371836434 - ], - [ - 140.15838008235, - 37.88300479955 - ], - [ - 140.15827962783, - 37.8581049883 - ], - [ - 140.07530419606, - 37.85945328271 - ], - [ - 140.07409874185, - 37.87475866032 - ], - [ - 140.0501905666, - 37.87571018504 - ], - [ - 140.0501905666, - 37.89251842835 - ], - [ - 140.05762420092, - 37.89354899768 - ], - [ - 140.05812647351, - 37.92541025073 - ], - [ - 140.07409874185, - 37.92572720879 - ], - [ - 140.07419919637, - 37.94196948017 - ], - [ - 140.09871009873, - 37.95369337696 - ], - [ - 140.09820782614, - 37.99233729463 - ], - [ - 140.10182418878, - 38.00041193627 - ], - [ - 140.12281918302, - 38.00080772918 - ], - [ - 140.11548600321, - 38.01806222303 - ], - [ - 140.08976964664, - 38.02795402283 - ], - [ - 140.07470146896, - 38.04132561289 - ], - [ - 140.06726783463, - 38.0349170489 - ], - [ - 140.0670669256, - 37.99186228803 - ], - [ - 140.01633739407, - 37.99170395181 - ], - [ - 140.01583512148, - 38.0660052113 - ], - [ - 139.99805467182, - 38.06655882479 - ], - [ - 139.99966194411, - 38.13738675813 - ], - [ - 139.99956148959, - 38.17514410602 - ], - [ - 139.9979542173, - 38.33370049749 - ], - [ - 139.95787286467, - 38.33377929514 - ], - [ - 139.95837513726, - 38.50028381497 - ], - [ - 139.96008286406, - 38.49993004113 - ] - ], - [ - [ - 140.70821747827, - 38.78330258189 - ], - [ - 140.70837353831, - 39.15023077225 - ], - [ - 141.04194014274, - 39.14956975049 - ], - [ - 141.04167202485, - 39.50007808975 - ], - [ - 141.00146787279, - 39.49985884928 - ], - [ - 140.998932853, - 39.91638279149 - ], - [ - 141.25077232931, - 39.91692211681 - ], - [ - 141.25037051124, - 39.50069531694 - ], - [ - 141.16709371592, - 39.50007521498 - ], - [ - 141.1669932614, - 39.45626652209 - ], - [ - 141.16669189785, - 39.40272822458 - ], - [ - 141.16689280689, - 39.25073529211 - ], - [ - 141.2079787047, - 39.24995738356 - ], - [ - 141.20898324987, - 38.8747057376 - ], - [ - 141.03399147974, - 38.87509676593 - ], - [ - 141.03338875263, - 38.78353750059 - ], - [ - 140.86794016169, - 38.783145969 - ], - [ - 140.70821747827, - 38.78330258189 - ] - ], - [ - [ - 141.37590200536, - 38.36972154065 - ], - [ - 141.37476549223, - 38.4999203515 - ], - [ - 141.24903872693, - 38.50025389276 - ], - [ - 141.25133490268, - 38.668858542 - ], - [ - 141.52523456764, - 38.66652919592 - ], - [ - 141.54981166414, - 38.63368844711 - ], - [ - 141.55052198484, - 38.55563135133 - ], - [ - 141.5554942298, - 38.47938004219 - ], - [ - 141.56558078385, - 38.39558849019 - ], - [ - 141.5462600606, - 38.37398500653 - ], - [ - 141.55918789748, - 38.32429480069 - ], - [ - 141.5985396647, - 38.31225706776 - ], - [ - 141.59527218944, - 38.26062821377 - ], - [ - 141.50761861409, - 38.23664120781 - ], - [ - 141.46982955243, - 38.2447865207 - ], - [ - 141.39226253112, - 38.27724712227 - ], - [ - 141.41158325438, - 38.34780719677 - ], - [ - 141.37590200536, - 38.36972154065 - ] - ], - [ - [ - 131.04175307036, - 33.73809881635 - ], - [ - 131.04130543581, - 33.70887251514 - ], - [ - 130.99955681677, - 33.70857592787 - ], - [ - 131.00034687384, - 33.6839199041 - ], - [ - 131.04958667511, - 33.6839199041 - ], - [ - 131.05013952171, - 33.64170875055 - ], - [ - 131.07510184486, - 33.64200556853 - ], - [ - 131.07587850874, - 33.616829842 - ], - [ - 131.10039319733, - 33.61666078162 - ], - [ - 131.10084083189, - 33.60081650355 - ], - [ - 131.17447671651, - 33.60007081873 - ], - [ - 131.19999188626, - 33.58422349198 - ], - [ - 131.2006633381, - 33.55867520339 - ], - [ - 131.24050281367, - 33.55867520339 - ], - [ - 131.28258046203, - 33.54207408934 - ], - [ - 131.33137262874, - 33.52528320256 - ], - [ - 131.4182137328, - 33.55065483869 - ], - [ - 131.51624570079, - 33.55084136726 - ], - [ - 131.51691715262, - 33.56669482339 - ], - [ - 131.63352595472, - 33.56688131732 - ], - [ - 131.63307832016, - 33.4754510561 - ], - [ - 131.74230115207, - 33.47451759623 - ], - [ - 131.74946330499, - 33.4593941455 - ], - [ - 131.75013475682, - 33.33288884057 - ], - [ - 131.60756315041, - 33.33401081872 - ], - [ - 131.60801078497, - 33.37420549744 - ], - [ - 131.52564602648, - 33.37457931428 - ], - [ - 131.52467218605, - 33.2669137917 - ], - [ - 131.57690018326, - 33.25843203104 - ], - [ - 131.64941698149, - 33.28332039594 - ], - [ - 131.71633834777, - 33.28388170581 - ], - [ - 131.77496545798, - 33.26686700692 - ], - [ - 131.78385146414, - 33.25028494772 - ], - [ - 131.8329129059, - 33.25015259514 - ], - [ - 131.88403176297, - 33.27450209588 - ], - [ - 131.90824595842, - 33.27489904237 - ], - [ - 131.90808769571, - 33.25849041659 - ], - [ - 131.87516905091, - 33.20606803915 - ], - [ - 131.84984701645, - 33.18275912021 - ], - [ - 131.8503218046, - 33.14963919794 - ], - [ - 131.8752486155, - 33.15037560256 - ], - [ - 131.90777117028, - 33.14129100398 - ], - [ - 131.91710244658, - 33.13332160215 - ], - [ - 131.91732626386, - 33.10857804157 - ], - [ - 131.95050210343, - 33.09967070254 - ], - [ - 131.950185578, - 33.08349443782 - ], - [ - 131.98278769736, - 33.08336183319 - ], - [ - 131.98278769736, - 33.10006844205 - ], - [ - 132.00035485877, - 33.11690443011 - ], - [ - 132.02520210509, - 33.11690443011 - ], - [ - 132.02472731694, - 33.09980328258 - ], - [ - 132.00842625726, - 33.09171553445 - ], - [ - 132.00842625726, - 33.06718256819 - ], - [ - 132.01744723203, - 33.06704993897 - ], - [ - 132.01714877007, - 33.04987795647 - ], - [ - 131.99180867214, - 33.0421120948 - ], - [ - 131.92518006897, - 33.04091808468 - ], - [ - 131.9254965944, - 33.02499640337 - ], - [ - 131.95002731528, - 33.02499640337 - ], - [ - 131.95045122108, - 33.01347549853 - ], - [ - 131.95034384071, - 32.97482430898 - ], - [ - 131.98326248551, - 32.97535537996 - ], - [ - 131.98491908197, - 32.95940701418 - ], - [ - 132.02610146121, - 32.9592192187 - ], - [ - 132.0582790126, - 32.95862511022 - ], - [ - 132.05843727531, - 32.99141876734 - ], - [ - 132.07198400331, - 32.99170189784 - ], - [ - 132.0829679962, - 32.98332106133 - ], - [ - 132.09167992381, - 32.92634886448 - ], - [ - 132.02472731694, - 32.92542075248 - ], - [ - 132.02472731694, - 32.90057574318 - ], - [ - 132.0334874314, - 32.88294129224 - ], - [ - 132.00795146911, - 32.88356551414 - ], - [ - 131.98326248551, - 32.85870876251 - ], - [ - 131.99988007063, - 32.84980117207 - ], - [ - 132.01714877007, - 32.84289727827 - ], - [ - 132.01602968368, - 32.82653607307 - ], - [ - 131.97550761246, - 32.78396366112 - ], - [ - 131.93411255975, - 32.76746021785 - ], - [ - 131.8991970643, - 32.766142793 - ], - [ - 131.89178663602, - 32.71661269643 - ], - [ - 131.83317096714, - 32.65069845095 - ], - [ - 131.78369320142, - 32.6489443227 - ], - [ - 131.78415498315, - 32.58396276024 - ], - [ - 131.74185351752, - 32.58283121821 - ], - [ - 131.70820188619, - 32.56668764106 - ], - [ - 131.70772709804, - 32.5429431523 - ], - [ - 131.74159531913, - 32.50851583424 - ], - [ - 131.74140588296, - 32.45128662429 - ], - [ - 131.70804362347, - 32.44215937788 - ], - [ - 131.70111877283, - 32.40878136136 - ], - [ - 131.6578743427, - 32.39219290505 - ], - [ - 131.64225482858, - 32.33354523679 - ], - [ - 131.59947540073, - 32.27571995554 - ], - [ - 131.57492216184, - 32.18337883254 - ], - [ - 131.54184525433, - 32.0847417557 - ], - [ - 131.54200351704, - 32.00009168682 - ], - [ - 131.49974737204, - 32.00022590098 - ], - [ - 131.5003804229, - 31.74971007939 - ], - [ - 131.45859906604, - 31.75011381693 - ], - [ - 131.45875732875, - 31.79182387036 - ], - [ - 131.24969228174, - 31.79168935204 - ], - [ - 131.24969228174, - 32.16703604105 - ], - [ - 131.3748780896, - 32.16717001027 - ], - [ - 131.37503635232, - 32.25046068056 - ], - [ - 131.49990563475, - 32.25019298716 - ], - [ - 131.49990563475, - 32.33340757632 - ], - [ - 131.54137046618, - 32.33340757632 - ], - [ - 131.54166750852, - 32.62506038939 - ], - [ - 131.66644564128, - 32.62515464066 - ], - [ - 131.66633373264, - 32.6666155687 - ], - [ - 131.74992948616, - 32.66652136111 - ], - [ - 131.75005894815, - 32.91663566767 - ], - [ - 131.59769929528, - 32.91688239565 - ], - [ - 131.25044431813, - 32.91663037405 - ], - [ - 131.24901995369, - 33.00042251591 - ], - [ - 131.49970809484, - 33.00002432608 - ], - [ - 131.49986635756, - 33.06344656374 - ], - [ - 131.50018288299, - 33.13914840974 - ], - [ - 131.48040004357, - 33.16631091805 - ], - [ - 131.28399601379, - 33.16617843843 - ], - [ - 131.26706190324, - 33.20035154321 - ], - [ - 131.26627058967, - 33.25039503689 - ], - [ - 131.29966402261, - 33.2698486619 - ], - [ - 131.29950575989, - 33.31998461745 - ], - [ - 131.24427207223, - 33.34114154113 - ], - [ - 131.17511126561, - 33.34153818437 - ], - [ - 131.17526952832, - 33.35806338039 - ], - [ - 131.07524749221, - 33.35806338039 - ], - [ - 131.07572228035, - 33.33347274995 - ], - [ - 131.00054749055, - 33.33320829683 - ], - [ - 131.0000727024, - 33.24960091936 - ], - [ - 130.91445257339, - 33.24960091936 - ], - [ - 130.74970108668, - 33.25013033185 - ], - [ - 130.74970108668, - 33.0837373409 - ], - [ - 130.62546485511, - 33.08320692264 - ], - [ - 130.62546485511, - 33.00002432608 - ], - [ - 130.72795985531, - 33.0017112414 - ], - [ - 130.87491804477, - 33.00017600322 - ], - [ - 130.87529612813, - 32.79131407789 - ], - [ - 130.96677197761, - 32.7918462497 - ], - [ - 130.96708850304, - 32.85807675215 - ], - [ - 130.92530714618, - 32.85781086498 - ], - [ - 130.92530714618, - 32.95029145755 - ], - [ - 130.96679503759, - 32.95830705997 - ], - [ - 131.00012227803, - 32.91682799652 - ], - [ - 131.00016863211, - 32.50006684553 - ], - [ - 130.66646598784, - 32.50045582611 - ], - [ - 130.66668980512, - 32.33305500581 - ], - [ - 130.62505979131, - 32.33305500581 - ], - [ - 130.62461215676, - 32.24942752141 - ], - [ - 130.49972211535, - 32.25037396494 - ], - [ - 130.50039356719, - 32.12516864385 - ], - [ - 130.33275442559, - 32.1249790954 - ], - [ - 130.343705176, - 32.16132753197 - ], - [ - 130.34954072148, - 32.20815299489 - ], - [ - 130.42748424391, - 32.2942330114 - ], - [ - 130.46637334086, - 32.40054393512 - ], - [ - 130.49390286611, - 32.40073290896 - ], - [ - 130.52299911232, - 32.43304161793 - ], - [ - 130.54940955118, - 32.44456414676 - ], - [ - 130.54985718574, - 32.46590526749 - ], - [ - 130.48383108858, - 32.46647177702 - ], - [ - 130.4742069456, - 32.47534662776 - ], - [ - 130.47510221472, - 32.50064459054 - ], - [ - 130.50889862377, - 32.54197445264 - ], - [ - 130.62438833948, - 32.62570813417 - ], - [ - 130.62483597404, - 32.66660356216 - ], - [ - 130.52568491966, - 32.66679197706 - ], - [ - 130.5252372851, - 32.68337093253 - ], - [ - 130.5585860596, - 32.71670792054 - ], - [ - 130.55903369416, - 32.77450016017 - ], - [ - 130.57492472093, - 32.78372085869 - ], - [ - 130.57492472093, - 32.82172262654 - ], - [ - 130.50934625833, - 32.84184569286 - ], - [ - 130.50777953738, - 32.8698599348 - ], - [ - 130.44154787641, - 32.89158085761 - ], - [ - 130.41623827047, - 32.94258041232 - ], - [ - 130.41579063591, - 32.97488144692 - ], - [ - 130.37438443939, - 33.00097656168 - ], - [ - 130.37527970851, - 33.08315385362 - ], - [ - 130.24927058071, - 33.08371644737 - ], - [ - 130.24904676343, - 33.16075775844 - ], - [ - 130.15862458292, - 33.09740511948 - ], - [ - 130.17775431247, - 33.07174090544 - ], - [ - 130.18369211811, - 33.06683706925 - ], - [ - 130.18369211811, - 33.03400678724 - ], - [ - 130.19958314488, - 33.02499977112 - ], - [ - 130.19976856119, - 33.00001402362 - ], - [ - 130.12478977289, - 33.00001402362 - ], - [ - 130.12456595561, - 32.96678328756 - ], - [ - 130.04089669442, - 32.94070208204 - ], - [ - 130.02500566765, - 32.94164125217 - ], - [ - 130.02455803309, - 32.91646804471 - ], - [ - 130.12456595561, - 32.91719556631 - ], - [ - 130.12456595561, - 32.86739205681 - ], - [ - 130.15030494264, - 32.86682808325 - ], - [ - 130.19577825115, - 32.86610014791 - ], - [ - 130.23334115296, - 32.89182746562 - ], - [ - 130.29198127993, - 32.89182746562 - ], - [ - 130.29242891449, - 32.84990720854 - ], - [ - 130.29153364537, - 32.79159949882 - ], - [ - 130.29220509721, - 32.71724877165 - ], - [ - 130.18342989986, - 32.65791195602 - ], - [ - 130.15034334361, - 32.65002149531 - ], - [ - 130.11538944719, - 32.64962050091 - ], - [ - 130.11744220367, - 32.70013515534 - ], - [ - 130.1590338165, - 32.7170604632 - ], - [ - 130.2485607279, - 32.75866696147 - ], - [ - 130.24967981429, - 32.79084689122 - ], - [ - 130.13329482947, - 32.79235210006 - ], - [ - 130.125685042, - 32.76751289707 - ], - [ - 130.00146645243, - 32.74963190739 - ], - [ - 129.92939728876, - 32.67317376017 - ], - [ - 129.80047853634, - 32.57458560005 - ], - [ - 129.80003090178, - 32.54704447759 - ], - [ - 129.77424681515, - 32.54749343613 - ], - [ - 129.71766614329, - 32.54987443459 - ], - [ - 129.71632323962, - 32.59042734571 - ], - [ - 129.7498958314, - 32.67486935529 - ], - [ - 129.75011964868, - 32.72459249076 - ], - [ - 129.80025471906, - 32.72553394947 - ], - [ - 129.74161459209, - 32.77522884647 - ], - [ - 129.62411052088, - 32.85009523599 - ], - [ - 129.62646465079, - 32.9178725958 - ], - [ - 129.83158913805, - 32.91738345105 - ], - [ - 129.87120479635, - 32.91644402337 - ], - [ - 129.89269125508, - 32.94105373663 - ], - [ - 129.93342599977, - 33.00827283013 - ], - [ - 129.96699859154, - 33.0746905371 - ], - [ - 130.0580922239, - 33.12025335469 - ], - [ - 130.05876367573, - 33.21692565966 - ], - [ - 130.24945599701, - 33.21673841336 - ], - [ - 130.24990363157, - 33.33331517671 - ], - [ - 130.21565958796, - 33.33350217315 - ], - [ - 130.04220119712, - 33.33331517671 - ], - [ - 129.92559239502, - 33.33294118261 - ], - [ - 129.90835846458, - 33.35836912319 - ], - [ - 129.90791083002, - 33.38304208051 - ], - [ - 129.86695226805, - 33.38285519048 - ], - [ - 129.86697302051, - 33.36012438878 - ], - [ - 129.83337967628, - 33.34079472146 - ], - [ - 129.8009261709, - 33.34098170185 - ], - [ - 129.80003090178, - 33.31592275281 - ], - [ - 129.75056728323, - 33.31685791766 - ], - [ - 129.75034346596, - 33.27532693435 - ], - [ - 129.72572356532, - 33.27476556947 - ], - [ - 129.69170333899, - 33.30806697203 - ], - [ - 129.69237479082, - 33.25024911652 - ], - [ - 129.8747858728, - 33.25024911652 - ], - [ - 129.87590495919, - 33.21299340321 - ], - [ - 129.87521274072, - 33.1185621153 - ], - [ - 129.87523350736, - 33.03323224813 - ], - [ - 129.80831214109, - 33.0330446097 - ], - [ - 129.7498958314, - 33.05030567244 - ], - [ - 129.73400480462, - 33.05799701292 - ], - [ - 129.72657821909, - 33.08172509009 - ], - [ - 129.69841785734, - 33.0998186332 - ], - [ - 129.62412979867, - 33.09927670165 - ], - [ - 129.62373755404, - 33.12376865485 - ], - [ - 129.62500578999, - 33.24201303912 - ], - [ - 129.59255228461, - 33.24107707212 - ], - [ - 129.59255228461, - 33.29927514005 - ], - [ - 129.54196957967, - 33.30039755093 - ], - [ - 129.50011574859, - 33.31760604231 - ], - [ - 129.49989193131, - 33.41686255934 - ], - [ - 129.59949062024, - 33.41592846878 - ], - [ - 129.66753107291, - 33.40864221756 - ], - [ - 129.66775489019, - 33.43274056151 - ], - [ - 129.83360349356, - 33.5665605303 - ], - [ - 129.9320830961, - 33.56786598137 - ], - [ - 129.935216538, - 33.40826854718 - ], - [ - 130.04130592801, - 33.38360274821 - ], - [ - 130.04108211073, - 33.48427733817 - ], - [ - 130.24900836246, - 33.48465068126 - ], - [ - 130.25057508341, - 33.61680614548 - ], - [ - 130.2850429443, - 33.63404510982 - ], - [ - 130.28302858879, - 33.69151444112 - ], - [ - 130.30887948446, - 33.69151444112 - ], - [ - 130.32365142484, - 33.66711562227 - ], - [ - 130.3922514207, - 33.69179377681 - ], - [ - 130.41776659045, - 33.72484208862 - ], - [ - 130.4338814345, - 33.7754604525 - ], - [ - 130.39023706519, - 33.87047513641 - ], - [ - 130.39113233431, - 33.92509325246 - ], - [ - 130.50774113641, - 33.92620754358 - ], - [ - 130.60554928711, - 33.89165774203 - ], - [ - 130.66665140414, - 33.94960428957 - ], - [ - 130.74991143174, - 34.00843908709 - ], - [ - 130.84973393796, - 34.00825355239 - ], - [ - 130.85040538979, - 34.14154830158 - ], - [ - 130.88308271245, - 34.19191941659 - ], - [ - 130.85801517726, - 34.27518795053 - ], - [ - 130.83227619023, - 34.36705766644 - ], - [ - 130.97126672018, - 34.45052182824 - ], - [ - 131.08608498405, - 34.43335569762 - ], - [ - 131.19306964318, - 34.44166233028 - ], - [ - 131.29356360122, - 34.44092399637 - ], - [ - 131.36518513035, - 34.44590762363 - ], - [ - 131.37548072516, - 34.53279638609 - ], - [ - 131.44934042706, - 34.55012640416 - ], - [ - 131.57445428574, - 34.69176511221 - ], - [ - 131.62526080796, - 34.69158108366 - ], - [ - 131.78596161393, - 34.70078201028 - ], - [ - 131.86989309337, - 34.77435258434 - ], - [ - 131.99545458661, - 34.88146431036 - ], - [ - 132.37594396006, - 35.16738931144 - ], - [ - 132.74971881516, - 35.16684041595 - ], - [ - 132.75083790155, - 35.08318208103 - ], - [ - 132.62550022559, - 35.08336523463 - ], - [ - 132.62505259103, - 34.91670902007 - ], - [ - 132.3754963255, - 34.91689254667 - ], - [ - 132.37527250822, - 34.83426413383 - ], - [ - 132.12482097358, - 34.83297814707 - ], - [ - 132.12482097358, - 34.75008153683 - ], - [ - 132.00037856673, - 34.74989763802 - ], - [ - 132.00037856673, - 34.58330147349 - ], - [ - 131.74988882507, - 34.58325955431 - ], - [ - 131.75139258551, - 34.37954004577 - ], - [ - 131.75147145222, - 34.16709508493 - ], - [ - 132.1249714605, - 34.16683319036 - ], - [ - 132.12481319779, - 34.29140309717 - ], - [ - 132.25015726837, - 34.2919261113 - ], - [ - 132.24929244561, - 34.40917062589 - ], - [ - 132.25015726837, - 34.49982698087 - ], - [ - 132.37249434735, - 34.49995740949 - ], - [ - 132.3750265508, - 34.58338985226 - ], - [ - 132.49166617203, - 34.58338985226 - ], - [ - 132.49182443475, - 34.70831000696 - ], - [ - 132.5917673395, - 34.70824495609 - ], - [ - 132.583645893, - 34.54169650488 - ], - [ - 132.84148339783, - 34.54132778131 - ], - [ - 132.84193103239, - 34.66623144063 - ], - [ - 133.08342987589, - 34.6667836941 - ], - [ - 133.08365369317, - 34.76631318897 - ], - [ - 133.20742464818, - 34.76686477448 - ], - [ - 133.20787228274, - 34.6667836941 - ], - [ - 133.49973001391, - 34.66641552553 - ], - [ - 133.50025571797, - 34.8331395492 - ], - [ - 133.70119922927, - 34.83356799396 - ], - [ - 133.69940869105, - 34.87526017127 - ], - [ - 133.74983602012, - 34.87534786088 - ], - [ - 133.74983602012, - 34.99989818945 - ], - [ - 133.87510525467, - 35.00002651459 - ], - [ - 133.8751800907, - 35.12503588695 - ], - [ - 133.97425255052, - 35.12516532967 - ], - [ - 133.9754594883, - 35.00097401217 - ], - [ - 134.05849569863, - 34.99996564586 - ], - [ - 134.05815997271, - 35.07464276466 - ], - [ - 134.1665417497, - 35.07479659134 - ], - [ - 134.16670001242, - 35.00015747182 - ], - [ - 134.75337989831, - 35.00015747182 - ], - [ - 134.83323920816, - 34.99996564586 - ], - [ - 134.83330256958, - 35.0417616416 - ], - [ - 135.24494389227, - 35.0417616416 - ], - [ - 135.37471917085, - 35.04153400419 - ], - [ - 135.37535236974, - 35.08360365372 - ], - [ - 135.74948542889, - 35.08334463604 - ], - [ - 135.75065867443, - 35.25004440859 - ], - [ - 135.87473664328, - 35.25030289585 - ], - [ - 135.87529529182, - 35.33387895394 - ], - [ - 136.00001530733, - 35.33355930519 - ], - [ - 136.00023897658, - 35.25870328334 - ], - [ - 135.98330486603, - 35.24254791937 - ], - [ - 135.9336103734, - 35.20027026349 - ], - [ - 135.9330564539, - 35.16670397648 - ], - [ - 135.97539173026, - 35.16663928817 - ], - [ - 135.97523346755, - 35.15596501278 - ], - [ - 136.0499334692, - 35.15829406507 - ], - [ - 136.0499334692, - 35.21662799307 - ], - [ - 136.05895444398, - 35.22483794301 - ], - [ - 136.1245543395, - 35.23343487427 - ], - [ - 136.1253593779, - 35.25011086017 - ], - [ - 136.16666646077, - 35.24997008399 - ], - [ - 136.1665076839, - 35.36441083833 - ], - [ - 136.16664223225, - 35.45872455467 - ], - [ - 136.33347484862, - 35.45857056019 - ], - [ - 136.37478141734, - 35.33381752591 - ], - [ - 136.49980896248, - 35.33355930519 - ], - [ - 136.49965069977, - 35.4998113591 - ], - [ - 136.74991342685, - 35.58365155619 - ], - [ - 137.00002635272, - 35.5834383487 - ], - [ - 136.99984479591, - 35.41254039886 - ], - [ - 136.99998795175, - 35.33351312428 - ], - [ - 137.24995039069, - 35.33357309177 - ], - [ - 137.24997782689, - 34.91665530206 - ], - [ - 137.62489494541, - 34.91657467133 - ], - [ - 137.62516041866, - 35.00034095028 - ], - [ - 137.69185796765, - 35.00052428969 - ], - [ - 137.69181631169, - 35.06711204141 - ], - [ - 137.74199303804, - 35.06668296826 - ], - [ - 137.74221685532, - 35.10789050033 - ], - [ - 137.77489417798, - 35.10843979343 - ], - [ - 137.77474061337, - 35.15014636155 - ], - [ - 138.16670692831, - 35.15020646479 - ], - [ - 138.16666358591, - 35.29179470828 - ], - [ - 138.38224433204, - 35.29138366775 - ], - [ - 138.50029334835, - 35.29186849141 - ], - [ - 138.50118861747, - 35.33332714595 - ], - [ - 138.38256545986, - 35.33369232599 - ], - [ - 138.38318595523, - 35.44169203388 - ], - [ - 138.4998457138, - 35.44207774821 - ], - [ - 138.49987755423, - 35.45840012079 - ], - [ - 138.66643551377, - 35.45854467099 - ], - [ - 138.66703722084, - 35.37476454466 - ], - [ - 138.70817743621, - 35.37518719503 - ], - [ - 138.70817743621, - 35.33347612855 - ], - [ - 138.83340320354, - 35.33356742355 - ], - [ - 138.8332912949, - 35.40832417574 - ], - [ - 139.00819983923, - 35.40835556961 - ], - [ - 139.00858238783, - 35.39191741773 - ], - [ - 139.12429592082, - 35.39228233285 - ], - [ - 139.12498392646, - 35.41668118537 - ], - [ - 139.25000882531, - 35.41666699526 - ], - [ - 139.24995278822, - 35.499962055 - ], - [ - 139.12486987404, - 35.5000453935 - ], - [ - 139.12491651073, - 35.5833023905 - ], - [ - 138.99999141008, - 35.58333303234 - ], - [ - 138.99998633341, - 35.66670418293 - ], - [ - 139.12490105769, - 35.66678039976 - ], - [ - 139.12504409647, - 35.80919511674 - ], - [ - 139.12474355537, - 35.91713094137 - ], - [ - 139.0005249658, - 35.91713094137 - ], - [ - 139.00006382179, - 36.00001114722 - ], - [ - 139.12491952742, - 36.00011588408 - ], - [ - 139.12546551965, - 36.11894450158 - ], - [ - 139.12494599875, - 36.16663614917 - ], - [ - 139.0000003755, - 36.16668304052 - ], - [ - 138.99940587941, - 36.25031012004 - ], - [ - 138.95831284301, - 36.25001879847 - ], - [ - 138.95822350017, - 36.29127185972 - ], - [ - 138.91662765915, - 36.29166053471 - ], - [ - 138.91677782747, - 36.37496285354 - ], - [ - 138.95844731745, - 36.3756537684 - ], - [ - 138.95836333416, - 36.45831554129 - ], - [ - 139.08378499341, - 36.45868415516 - ], - [ - 139.0833357061, - 36.50000376413 - ], - [ - 139.25009029129, - 36.50011694838 - ], - [ - 139.24960263537, - 36.5413608278 - ], - [ - 139.37464470438, - 36.54189275708 - ], - [ - 139.37505257232, - 36.62499503085 - ], - [ - 139.45021835267, - 36.62527716826 - ], - [ - 139.44999392176, - 36.66666708159 - ], - [ - 139.66374110632, - 36.66671170008 - ], - [ - 139.75001859084, - 36.66664589731 - ], - [ - 139.75004599077, - 36.75002620205 - ], - [ - 139.99999620829, - 36.75001150284 - ], - [ - 139.99998367293, - 36.62208934319 - ], - [ - 140.00001444624, - 36.41668110102 - ], - [ - 140.2500103038, - 36.41666403038 - ], - [ - 140.24998851514, - 36.04158216628 - ], - [ - 140.50004360543, - 36.04158216628 - ], - [ - 140.49988534272, - 35.83348536422 - ], - [ - 140.416322629, - 35.83374197787 - ], - [ - 140.41679741714, - 35.79190299604 - ], - [ - 140.45873703672, - 35.79113274684 - ], - [ - 140.45873703672, - 35.72460642843 - ], - [ - 140.51666119055, - 35.72486339376 - ], - [ - 140.51690846747, - 35.74169858434 - ], - [ - 140.59143962121, - 35.74174400013 - ], - [ - 140.59149557553, - 35.94177546708 - ], - [ - 140.65002379386, - 35.94163956278 - ], - [ - 140.64994381468, - 36.00836984944 - ], - [ - 140.67502845507, - 36.00833784352 - ], - [ - 140.71403082982, - 35.92325558937 - ], - [ - 140.77327157686, - 35.83876818944 - ], - [ - 140.81532256277, - 35.78508229698 - ], - [ - 140.89133133484, - 35.75009670348 - ], - [ - 140.89211469532, - 35.71716690908 - ], - [ - 140.8663235896, - 35.6785248785 - ], - [ - 140.80694077842, - 35.7062158349 - ], - [ - 140.72766898741, - 35.67610146243 - ], - [ - 140.68235052625, - 35.68891011377 - ], - [ - 140.60194222212, - 35.63073538836 - ], - [ - 140.48544962602, - 35.54408743348 - ], - [ - 140.40950523435, - 35.42896763831 - ], - [ - 140.40816233068, - 35.3335295184 - ], - [ - 140.30722073807, - 35.33371210817 - ], - [ - 140.30766837263, - 35.41747724976 - ], - [ - 140.30945891086, - 35.45850682455 - ], - [ - 140.20762204914, - 35.45905374428 - ], - [ - 140.20829350098, - 35.37478431679 - ], - [ - 140.12503347337, - 35.37478431679 - ], - [ - 140.12436202154, - 35.33407728648 - ], - [ - 140.29155352858, - 35.33316433763 - ], - [ - 140.29244879769, - 35.20909014172 - ], - [ - 140.31706869833, - 35.20835865572 - ], - [ - 140.31662106377, - 35.18421592115 - ], - [ - 140.35041747282, - 35.18256956434 - ], - [ - 140.34310135616, - 35.13152190767 - ], - [ - 140.23200719745, - 35.10095957841 - ], - [ - 140.13696628673, - 35.09270694653 - ], - [ - 140.05542146946, - 35.03642731857 - ], - [ - 139.98865132292, - 34.98848930387 - ], - [ - 139.96379009814, - 34.91687909212 - ], - [ - 139.91222081475, - 34.88262382284 - ], - [ - 139.82272040556, - 34.89217945025 - ], - [ - 139.78336863834, - 34.93633065362 - ], - [ - 139.73961288273, - 34.95321599339 - ], - [ - 139.74430099941, - 34.99302832951 - ], - [ - 139.81476481363, - 35.00932019408 - ], - [ - 139.79629647522, - 35.05282683517 - ], - [ - 139.8016949126, - 35.09107956841 - ], - [ - 139.80766160655, - 35.15289710038 - ], - [ - 139.80865605554, - 35.19667547459 - ], - [ - 139.85152875904, - 35.24126900084 - ], - [ - 139.83250429037, - 35.29188828382 - ], - [ - 139.74927324436, - 35.29610514399 - ], - [ - 139.76149076054, - 35.33517067988 - ], - [ - 139.79231867926, - 35.35266869932 - ], - [ - 139.8103463798, - 35.49933327017 - ], - [ - 140.00350069115, - 35.49987991221 - ], - [ - 140.03349220647, - 35.53667858328 - ], - [ - 140.06639334641, - 35.58383634986 - ], - [ - 139.79714116037, - 35.58310825556 - ], - [ - 139.80005078499, - 35.500790974 - ], - [ - 139.77086699388, - 35.47342895212 - ], - [ - 139.70992147714, - 35.44206953063 - ], - [ - 139.69869840996, - 35.40282411886 - ], - [ - 139.66886494023, - 35.36715094731 - ], - [ - 139.68477612408, - 35.30781519278 - ], - [ - 139.73549302263, - 35.27279594595 - ], - [ - 139.75069388578, - 35.25934081802 - ], - [ - 139.73733985647, - 35.23091531763 - ], - [ - 139.74387480698, - 35.20851596895 - ], - [ - 139.6971357044, - 35.18970967156 - ], - [ - 139.67426337761, - 35.17020224599 - ], - [ - 139.68932217661, - 35.1539424821 - ], - [ - 139.68150864883, - 35.13477501648 - ], - [ - 139.62354647906, - 35.12199419853 - ], - [ - 139.59783286944, - 35.1285010474 - ], - [ - 139.60223685783, - 35.17252480405 - ], - [ - 139.58362645528, - 35.18959356978 - ], - [ - 139.59033399503, - 35.24163459636 - ], - [ - 139.54959925035, - 35.28403249053 - ], - [ - 139.49879272813, - 35.300839305 - ], - [ - 139.42314248799, - 35.30942404814 - ], - [ - 139.29131411095, - 35.300656641 - ], - [ - 139.2307391276, - 35.277783055 - ], - [ - 139.1554570229, - 35.23541924836 - ], - [ - 139.1503092255, - 35.17506907239 - ], - [ - 139.16664788683, - 35.13316335499 - ], - [ - 139.12501787303, - 35.13298031326 - ], - [ - 139.09435490587, - 35.13334639631 - ], - [ - 139.05832032403, - 35.13316335499 - ], - [ - 139.05671055416, - 35.00443297532 - ], - [ - 139.03347660612, - 34.98384794205 - ], - [ - 138.99968019707, - 34.98366456528 - ], - [ - 139.00057546618, - 34.88274513664 - ], - [ - 139.14135653436, - 34.88347954423 - ], - [ - 139.11002211537, - 34.84601639101 - ], - [ - 139.08128765066, - 34.79528991251 - ], - [ - 139.01691412751, - 34.74106560358 - ], - [ - 138.99990401434, - 34.64150571261 - ], - [ - 138.90043999843, - 34.60970494227 - ], - [ - 138.87367106927, - 34.59158875439 - ], - [ - 138.80025900192, - 34.59987962655 - ], - [ - 138.75773371901, - 34.65881306843 - ], - [ - 138.72528021362, - 34.6757486834 - ], - [ - 138.72528021362, - 34.7250631297 - ], - [ - 138.83316014186, - 34.72598289603 - ], - [ - 138.8338315937, - 34.74952542934 - ], - [ - 138.74189641642, - 34.75106296366 - ], - [ - 138.73379876035, - 34.81360389397 - ], - [ - 138.74985200835, - 34.90056884096 - ], - [ - 138.76064888311, - 34.93772819302 - ], - [ - 138.75027820078, - 34.9831352578 - ], - [ - 138.77854896495, - 35.04352254895 - ], - [ - 138.8754616075, - 35.03316137513 - ], - [ - 138.87702832845, - 35.04928719612 - ], - [ - 138.85845149433, - 35.04983688392 - ], - [ - 138.76803621848, - 35.12106460626 - ], - [ - 138.68293979767, - 35.12222659494 - ], - [ - 138.61872680568, - 35.09014962348 - ], - [ - 138.55408762126, - 35.05201275244 - ], - [ - 138.54925744044, - 34.99442490215 - ], - [ - 138.49996118332, - 34.95391462218 - ], - [ - 138.39142417915, - 34.91128737102 - ], - [ - 138.35562401547, - 34.86758894052 - ], - [ - 138.33928663919, - 34.8004229037 - ], - [ - 138.27635222447, - 34.72246037223 - ], - [ - 138.2446719209, - 34.6661602616 - ], - [ - 138.24396160019, - 34.58503020853 - ], - [ - 138.12661661925, - 34.58573196098 - ], - [ - 138.01467007568, - 34.62560515076 - ], - [ - 137.88184010331, - 34.65540983045 - ], - [ - 137.79532304108, - 34.63717765139 - ], - [ - 137.68991144803, - 34.65307259566 - ], - [ - 137.57654426305, - 34.66440756907 - ], - [ - 137.38134813252, - 34.64617736905 - ], - [ - 137.18402103987, - 34.58409452939 - ], - [ - 137.03187034424, - 34.56619763851 - ], - [ - 137.0079402155, - 34.57572764727 - ], - [ - 137.02539796322, - 34.61791841962 - ], - [ - 137.05989989736, - 34.66612578938 - ], - [ - 137.17516579579, - 34.66686212746 - ], - [ - 137.30766562466, - 34.75995609746 - ], - [ - 137.2989367508, - 34.77595181262 - ], - [ - 137.29087932877, - 34.79231203731 - ], - [ - 137.25036840137, - 34.79212823259 - ], - [ - 137.21634817503, - 34.76767855388 - ], - [ - 137.15815568262, - 34.7491066647 - ], - [ - 137.08317689433, - 34.75076175505 - ], - [ - 137.03214655483, - 34.76344967914 - ], - [ - 136.94060528792, - 34.80848524854 - ], - [ - 136.9345622214, - 34.77521644543 - ], - [ - 136.98335438811, - 34.72574796503 - ], - [ - 137.06750968483, - 34.74211813979 - ], - [ - 137.06773350211, - 34.70183064704 - ], - [ - 137.02453676736, - 34.70808661352 - ], - [ - 137.0158078935, - 34.64937233008 - ], - [ - 136.98178766716, - 34.65029293775 - ], - [ - 136.82601084133, - 34.7491066647 - ], - [ - 136.84884020373, - 34.82318541413 - ], - [ - 136.79266206683, - 34.82520648177 - ], - [ - 136.79131916316, - 35.00048270019 - ], - [ - 136.75080823575, - 35.00011602077 - ], - [ - 136.74991296664, - 34.95848723128 - ], - [ - 136.68276778309, - 34.96068840187 - ], - [ - 136.66240041074, - 34.89701402804 - ], - [ - 136.59077888162, - 34.80003146575 - ], - [ - 136.53862945573, - 34.72703562436 - ], - [ - 136.58294527687, - 34.62506459048 - ], - [ - 136.75681722902, - 34.54181211493 - ], - [ - 136.85798263891, - 34.54125902973 - ], - [ - 136.93945212828, - 34.54347134846 - ], - [ - 136.91675500542, - 34.49230962828 - ], - [ - 136.94081093816, - 34.46686985603 - ], - [ - 136.94112746359, - 34.40865537918 - ], - [ - 136.92404366078, - 34.35875805984 - ], - [ - 136.90742215622, - 34.30209423566 - ], - [ - 136.90045394573, - 34.2666041617 - ], - [ - 136.84980987681, - 34.23416136223 - ], - [ - 136.81692729803, - 34.19229471408 - ], - [ - 136.79948233333, - 34.19254302385 - ], - [ - 136.79995712147, - 34.22905833234 - ], - [ - 136.74203296764, - 34.25862543953 - ], - [ - 136.73325151864, - 34.28284564349 - ], - [ - 136.70895606013, - 34.28334393778 - ], - [ - 136.64264398239, - 34.2590178534 - ], - [ - 136.5593977941, - 34.22604870821 - ], - [ - 136.5356402977, - 34.22166690394 - ], - [ - 136.5006823267, - 34.20864312064 - ], - [ - 136.44006770671, - 34.200528009 - ], - [ - 136.38325139189, - 34.16675028516 - ], - [ - 136.33339863654, - 34.14802269893 - ], - [ - 136.31583147514, - 34.08486836388 - ], - [ - 136.26740308423, - 34.08316437817 - ], - [ - 136.1249666404, - 34.08342653205 - ], - [ - 136.12449185225, - 34.16688123268 - ], - [ - 136.24967766011, - 34.16688123268 - ], - [ - 136.24983592283, - 34.25012268958 - ], - [ - 136.37486346797, - 34.25025350763 - ], - [ - 136.37468162529, - 34.33330513437 - ], - [ - 136.50020753855, - 34.33302050702 - ], - [ - 136.4997327504, - 34.49191830593 - ], - [ - 136.45842618169, - 34.49126609792 - ], - [ - 136.45810965626, - 34.54160154926 - ], - [ - 136.41680308755, - 34.54186227551 - ], - [ - 136.41664482483, - 34.62516333605 - ], - [ - 136.37494259933, - 34.62464240515 - ], - [ - 136.37469162846, - 34.68105692884 - ], - [ - 136.37484989118, - 34.7497447187 - ], - [ - 136.33401811061, - 34.75026486297 - ], - [ - 136.33354332247, - 34.79108596488 - ], - [ - 136.37484989118, - 34.79212572916 - ], - [ - 136.37532467932, - 34.95857844776 - ], - [ - 136.33322679703, - 34.95857844776 - ], - [ - 136.33322679703, - 34.83344573936 - ], - [ - 136.29239501647, - 34.83370554806 - ], - [ - 136.29207849104, - 34.79199575934 - ], - [ - 136.24966408332, - 34.79212572916 - ], - [ - 136.24998060875, - 34.70838276897 - ], - [ - 136.29192022832, - 34.70851287043 - ], - [ - 136.29160370289, - 34.62475029374 - ], - [ - 136.12486701259, - 34.62512439789 - ], - [ - 136.12497892122, - 34.66673782096 - ], - [ - 136.04160698498, - 34.66655373678 - ], - [ - 136.04093553315, - 34.74990198184 - ], - [ - 136.00022657751, - 34.75008885941 - ], - [ - 135.99991005208, - 34.65992481342 - ], - [ - 135.99975178937, - 34.58386615691 - ], - [ - 136.04153314623, - 34.58373585971 - ], - [ - 136.04184967166, - 34.50017333586 - ], - [ - 136.04989090487, - 34.49997451266 - ], - [ - 136.05004683818, - 34.42503184751 - ], - [ - 135.91674069587, - 34.42499960904 - ], - [ - 135.91667174711, - 34.3583549028 - ], - [ - 135.81664583435, - 34.35836843202 - ], - [ - 135.81660626868, - 34.31668083709 - ], - [ - 135.74990639027, - 34.31672404905 - ], - [ - 135.75007425323, - 34.29167201943 - ], - [ - 135.64152287316, - 34.29176447608 - ], - [ - 135.64185859908, - 34.27512064005 - ], - [ - 135.53325126468, - 34.27488945246 - ], - [ - 135.53347508196, - 34.25833476838 - ], - [ - 135.47500281795, - 34.25833476838 - ], - [ - 135.47511472659, - 34.22498430095 - ], - [ - 135.3750684031, - 34.22512309587 - ], - [ - 135.37490054014, - 34.20814215322 - ], - [ - 135.50001439883, - 34.20837352421 - ], - [ - 135.50001496403, - 33.66651585925 - ], - [ - 135.87502081416, - 33.66660899832 - ], - [ - 135.87558035736, - 33.74983496912 - ], - [ - 136.03370726462, - 33.75020716356 - ], - [ - 136.01271963798, - 33.7106163609 - ], - [ - 135.99680845412, - 33.67326455076 - ], - [ - 135.97947662885, - 33.63388574463 - ], - [ - 135.97194722934, - 33.61271071376 - ], - [ - 135.95830907175, - 33.56797763328 - ], - [ - 135.85332367113, - 33.50521760186 - ], - [ - 135.85353435543, - 33.48302294456 - ], - [ - 135.87591186964, - 33.4814042424 - ], - [ - 135.86056894235, - 33.44051530172 - ], - [ - 135.77717729124, - 33.42557714245 - ], - [ - 135.74180331999, - 33.42534000808 - ], - [ - 135.74162571618, - 33.46650066265 - ], - [ - 135.68497766335, - 33.47915288954 - ], - [ - 135.59007881678, - 33.49633278594 - ], - [ - 135.47372828483, - 33.52819542819 - ], - [ - 135.39019456958, - 33.57519803318 - ], - [ - 135.37485307229, - 33.61633320131 - ], - [ - 135.37532786043, - 33.6496709874 - ], - [ - 135.33370476629, - 33.6498027317 - ], - [ - 135.32468379151, - 33.6665326188 - ], - [ - 135.45794099786, - 33.66666433728 - ], - [ - 135.458415786, - 33.74987006025 - ], - [ - 135.41726748001, - 33.75000165098 - ], - [ - 135.41663442914, - 33.78802291019 - ], - [ - 135.41742574272, - 33.83273219751 - ], - [ - 135.37516959772, - 33.83325805005 - ], - [ - 135.37516959772, - 33.79170573426 - ], - [ - 135.32839666799, - 33.78999406158 - ], - [ - 135.2877663235, - 33.75622027208 - ], - [ - 135.21502948301, - 33.7698022424 - ], - [ - 135.14371328394, - 33.85113086379 - ], - [ - 135.12013063644, - 33.87826253319 - ], - [ - 135.05776447828, - 33.87991374771 - ], - [ - 135.05946924798, - 33.9647902581 - ], - [ - 135.07708520154, - 34.00837444738 - ], - [ - 135.11345362178, - 34.05028840011 - ], - [ - 135.06515181365, - 34.06758952518 - ], - [ - 135.07040818688, - 34.12100062861 - ], - [ - 135.15522047941, - 34.16285887994 - ], - [ - 135.11629490461, - 34.18742330292 - ], - [ - 135.06316291566, - 34.25849051928 - ], - [ - 135.04914840404, - 34.27082115018 - ], - [ - 134.99554038427, - 34.27152278701 - ], - [ - 134.99549734353, - 34.29122128464 - ], - [ - 134.99945391142, - 34.29893542959 - ], - [ - 135.00903647772, - 34.30356652855 - ], - [ - 135.14570218192, - 34.34721085328 - ], - [ - 135.20804417028, - 34.35108537099 - ], - [ - 135.24173754163, - 34.39165309027 - ], - [ - 135.19144683551, - 34.42482281178 - ], - [ - 135.25011932598, - 34.46055636895 - ], - [ - 135.29486953058, - 34.42658055716 - ], - [ - 135.30901578269, - 34.44119295496 - ], - [ - 135.36646514837, - 34.53276800379 - ], - [ - 135.3914706574, - 34.53394138996 - ], - [ - 135.38308273349, - 34.63127477246 - ], - [ - 135.36409120764, - 34.66668779015 - ], - [ - 135.291606884, - 34.66694812396 - ], - [ - 135.29060760633, - 34.6244999083 - ], - [ - 135.08349141328, - 34.62463314776 - ], - [ - 135.04724925146, - 34.61642805384 - ], - [ - 134.92905436601, - 34.64799421584 - ], - [ - 134.82599797536, - 34.69662081511 - ], - [ - 134.75873632133, - 34.74267049508 - ], - [ - 134.71632191361, - 34.74982280423 - ], - [ - 134.52561534158, - 34.74969276777 - ], - [ - 134.41657233069, - 34.70885119699 - ], - [ - 134.31670855729, - 34.66668779015 - ], - [ - 134.25055474226, - 34.66655762294 - ], - [ - 134.2499216914, - 34.68308722232 - ], - [ - 134.15797105376, - 34.68347764541 - ], - [ - 134.15781279105, - 34.70013398221 - ], - [ - 134.12505240897, - 34.70000386757 - ], - [ - 134.12473588354, - 34.58386016201 - ], - [ - 134.11666448505, - 34.55844834256 - ], - [ - 134.02518863556, - 34.55023671031 - ], - [ - 134.02534689828, - 34.44784922942 - ], - [ - 134.02787910173, - 34.41639040184 - ], - [ - 134.19168101214, - 34.41678207828 - ], - [ - 134.19152274942, - 34.384005473 - ], - [ - 134.28347338706, - 34.38296058922 - ], - [ - 134.28347338706, - 34.3337056584 - ], - [ - 134.38082361091, - 34.29414536452 - ], - [ - 134.40952056751, - 34.2653854985 - ], - [ - 134.43267702258, - 34.2464808009 - ], - [ - 134.56264881698, - 34.25054688274 - ], - [ - 134.66662742098, - 34.24963115535 - ], - [ - 134.64146364924, - 34.04963379725 - ], - [ - 134.70809225241, - 33.96553844571 - ], - [ - 134.74006132092, - 33.92825273835 - ], - [ - 134.71220589784, - 33.86773427325 - ], - [ - 134.76918166054, - 33.86690588331 - ], - [ - 134.76712424524, - 33.82523844726 - ], - [ - 134.66741873456, - 33.77539488227 - ], - [ - 134.63101831002, - 33.77486867404 - ], - [ - 134.50018139848, - 33.77493445024 - ], - [ - 134.49977915313, - 33.95855429751 - ], - [ - 134.45819679633, - 33.95873690431 - ], - [ - 134.45816038671, - 34.00005912476 - ], - [ - 134.34679273601, - 33.99888814689 - ], - [ - 134.06046787607, - 33.99987486057 - ], - [ - 133.7495472142, - 34.00047441762 - ], - [ - 133.74998010726, - 34.33336494732 - ], - [ - 133.87500134644, - 34.33342236401 - ], - [ - 133.87493968566, - 34.41668102516 - ], - [ - 133.95888054127, - 34.41683206237 - ], - [ - 133.95843290671, - 34.44156982725 - ], - [ - 133.85055297847, - 34.44156982725 - ], - [ - 133.84965770936, - 34.46620800554 - ], - [ - 133.82537353464, - 34.46703837928 - ], - [ - 133.8164208435, - 34.44221586478 - ], - [ - 133.84204792189, - 34.43326318539 - ], - [ - 133.84193601325, - 34.41655510566 - ], - [ - 133.75822337954, - 34.41714986703 - ], - [ - 133.74121823792, - 34.44175440991 - ], - [ - 133.69130201327, - 34.44151837272 - ], - [ - 133.69085437871, - 34.45739100084 - ], - [ - 133.6909712589, - 34.46639253375 - ], - [ - 133.70003585868, - 34.48345962918 - ], - [ - 133.6165520138, - 34.48355187426 - ], - [ - 133.61688773972, - 34.45827290653 - ], - [ - 133.53351083192, - 34.45886737103 - ], - [ - 133.53328701464, - 34.41751913981 - ], - [ - 133.48969726525, - 34.4174334909 - ], - [ - 133.46642026828, - 34.4331260929 - ], - [ - 133.46630835964, - 34.4499231427 - ], - [ - 133.45030542423, - 34.45001542485 - ], - [ - 133.45008160695, - 34.41660262399 - ], - [ - 133.4171258471, - 34.41696523002 - ], - [ - 133.41667821254, - 34.3578604567 - ], - [ - 133.34174039879, - 34.3582984738 - ], - [ - 133.30304516488, - 34.37515059623 - ], - [ - 133.27479527019, - 34.35875574666 - ], - [ - 133.21655459093, - 34.35000180434 - ], - [ - 133.16693922966, - 34.35006713566 - ], - [ - 133.16662270423, - 34.36659432201 - ], - [ - 133.09184357121, - 34.36659432201 - ], - [ - 133.09176443985, - 34.34170431373 - ], - [ - 133.05837100691, - 34.3416389759 - ], - [ - 133.05829187555, - 34.324910817 - ], - [ - 132.90002916018, - 34.32517222013 - ], - [ - 132.89148297355, - 34.29164062433 - ], - [ - 132.7916983315, - 34.29164062433 - ], - [ - 132.79133273641, - 34.2828112475 - ], - [ - 132.79200418825, - 34.24211616348 - ], - [ - 132.77492248367, - 34.22512613438 - ], - [ - 132.71628614763, - 34.22499527728 - ], - [ - 132.7165235417, - 34.21655456516 - ], - [ - 132.75854229263, - 34.21635825947 - ], - [ - 132.77500161503, - 34.20876742193 - ], - [ - 132.79218102205, - 34.20095164949 - ], - [ - 132.79222800552, - 34.14177431504 - ], - [ - 132.74137601204, - 34.14173084641 - ], - [ - 132.70837823589, - 34.16654912614 - ], - [ - 132.63353752486, - 34.16665159095 - ], - [ - 132.61663932033, - 34.1916945672 - ], - [ - 132.59185155674, - 34.19160200057 - ], - [ - 132.57489739789, - 34.16660529391 - ], - [ - 132.5415486234, - 34.16674418496 - ], - [ - 132.54177647088, - 34.14195955751 - ], - [ - 132.42514951077, - 34.14165344298 - ], - [ - 132.42503081374, - 34.16656995645 - ], - [ - 132.37490109864, - 34.16663543037 - ], - [ - 132.37514741069, - 34.18347600104 - ], - [ - 132.40832832223, - 34.18342971323 - ], - [ - 132.37520336501, - 34.21679663244 - ], - [ - 132.34991201254, - 34.23331322775 - ], - [ - 132.35013582982, - 34.25833640424 - ], - [ - 132.35813729752, - 34.25842889756 - ], - [ - 132.35819325184, - 34.27502980063 - ], - [ - 132.33922473749, - 34.25833640424 - ], - [ - 132.29166356581, - 34.22493967243 - ], - [ - 132.24992164337, - 34.22493967243 - ], - [ - 132.25003355201, - 34.20430293896 - ], - [ - 132.25809097403, - 34.18324456173 - ], - [ - 132.28327041786, - 34.18352228883 - ], - [ - 132.28321446354, - 34.19995284807 - ], - [ - 132.29183142877, - 34.20837516104 - ], - [ - 132.3250123403, - 34.20846770925 - ], - [ - 132.31684010599, - 34.17529658532 - ], - [ - 132.25842669995, - 34.17532895502 - ], - [ - 132.25842669995, - 34.14171407625 - ], - [ - 132.25020141497, - 34.1167489215 - ], - [ - 132.21668477751, - 34.11684157021 - ], - [ - 132.21685264047, - 34.05849913457 - ], - [ - 132.22491006249, - 34.05826735294 - ], - [ - 132.22502197113, - 33.99162705239 - ], - [ - 132.21668477751, - 33.99176623069 - ], - [ - 132.21651691455, - 33.97515601055 - ], - [ - 132.25036637427, - 33.97526276959 - ], - [ - 132.25014255699, - 33.9162192778 - ], - [ - 131.95761337399, - 33.91733368499 - ], - [ - 131.95783049468, - 33.92511686386 - ], - [ - 131.91755008114, - 33.92494841068 - ], - [ - 131.91586475496, - 33.95863206817 - ], - [ - 131.88699232603, - 33.96670716623 - ], - [ - 131.87568955347, - 33.95891053259 - ], - [ - 131.84972674916, - 33.92502400564 - ], - [ - 131.80049364448, - 33.92439125871 - ], - [ - 131.79947977014, - 33.9504633731 - ], - [ - 131.77520229201, - 33.95057346177 - ], - [ - 131.75057569479, - 33.96679997899 - ], - [ - 131.70828092574, - 33.97507716244 - ], - [ - 131.70917619485, - 33.92550555901 - ], - [ - 131.68366102511, - 33.9251341272 - ], - [ - 131.68320669396, - 33.95055620359 - ], - [ - 131.6915998419, - 33.96717122903 - ], - [ - 131.69988108121, - 33.98322624237 - ], - [ - 131.6833186026, - 33.99937100092 - ], - [ - 131.68354241987, - 34.01681131495 - ], - [ - 131.69999298984, - 34.01699683095 - ], - [ - 131.70010489848, - 34.03313517088 - ], - [ - 131.68209430416, - 34.03352337245 - ], - [ - 131.67514927193, - 34.02580837394 - ], - [ - 131.62512611019, - 34.02488088618 - ], - [ - 131.59121779249, - 33.97515271288 - ], - [ - 131.38720834314, - 33.97496710548 - ], - [ - 131.29980769588, - 33.91685208542 - ], - [ - 131.16674832381, - 33.91666635086 - ], - [ - 131.11720281055, - 33.97472960748 - ], - [ - 131.06077753904, - 34.02461988102 - ], - [ - 131.03349514839, - 34.02557101805 - ], - [ - 131.04197688764, - 34.00847992179 - ], - [ - 131.04175307036, - 33.73809881635 - ] - ], - [ - [ - 135.98582632111, - 35.86595341956 - ], - [ - 135.93904778695, - 35.95516536708 - ], - [ - 135.95723199707, - 36.13160407318 - ], - [ - 136.15271225588, - 36.29665593207 - ], - [ - 136.65959711303, - 36.75694522796 - ], - [ - 136.6584605999, - 37.00603068828 - ], - [ - 136.66641619183, - 37.33477034922 - ], - [ - 136.85166783245, - 37.42327563113 - ], - [ - 137.11306585295, - 37.5288032506 - ], - [ - 137.31877472996, - 37.54953046686 - ], - [ - 137.39151157045, - 37.50356234188 - ], - [ - 137.34765373317, - 37.35791049463 - ], - [ - 137.20218005219, - 37.24761852662 - ], - [ - 137.09307479146, - 37.06827606619 - ], - [ - 137.02229600951, - 36.83794593283 - ], - [ - 137.09531697828, - 36.8013261482 - ], - [ - 137.22970965621, - 36.77367912166 - ], - [ - 137.35387371595, - 36.80451117283 - ], - [ - 137.39706121499, - 36.90965623709 - ], - [ - 137.50588234744, - 36.95882577339 - ], - [ - 137.72267222749, - 37.01579092308 - ], - [ - 137.95199404056, - 37.10655492798 - ], - [ - 138.05300164523, - 37.1697489731 - ], - [ - 138.18625781003, - 37.18253990533 - ], - [ - 138.28854399196, - 37.24861072926 - ], - [ - 138.43501212193, - 37.34512377596 - ], - [ - 138.54908962762, - 37.41229325092 - ], - [ - 138.61841692871, - 37.49225359136 - ], - [ - 138.73902938491, - 37.515357361 - ], - [ - 138.78377958951, - 37.56739915068 - ], - [ - 138.82185277945, - 37.62795613472 - ], - [ - 138.91490479219, - 37.63009386317 - ], - [ - 138.92399689725, - 37.60319901211 - ], - [ - 139.01321317816, - 37.59757124385 - ], - [ - 139.01420762715, - 37.53507443387 - ], - [ - 139.0345227994, - 37.52324481549 - ], - [ - 139.03793233879, - 37.45797923094 - ], - [ - 139.04887127769, - 37.4235763325 - ], - [ - 139.13027403082, - 37.42312504187 - ], - [ - 139.23881103499, - 37.43260157377 - ], - [ - 139.26281987491, - 37.33326409528 - ], - [ - 139.12288669546, - 37.32784190325 - ], - [ - 139.11407871868, - 37.26353652688 - ], - [ - 139.11422078282, - 37.16748486574 - ], - [ - 139.05554829235, - 37.1665792038 - ], - [ - 138.82824566582, - 37.1713338079 - ], - [ - 138.87072284415, - 37.23379508225 - ], - [ - 138.8910380164, - 37.31315483479 - ], - [ - 138.72965315157, - 37.33258634267 - ], - [ - 138.71402609599, - 37.2947354553 - ], - [ - 138.71715150711, - 37.16420178957 - ], - [ - 138.53516734175, - 37.16533390091 - ], - [ - 138.39906989411, - 37.1669188283 - ], - [ - 138.3747769259, - 37.13260904733 - ], - [ - 138.37250389964, - 36.99907203744 - ], - [ - 138.08823355234, - 36.99839128128 - ], - [ - 138.08596052607, - 36.91586122976 - ], - [ - 137.8923271011, - 36.91767853447 - ], - [ - 137.8779786228, - 36.83517474846 - ], - [ - 137.66516653872, - 36.83210470722 - ], - [ - 137.52111349915, - 36.8314224591 - ], - [ - 137.51216345824, - 36.74222304782 - ], - [ - 137.39481847729, - 36.74427215795 - ], - [ - 137.37137789393, - 36.58325068345 - ], - [ - 137.29366880849, - 36.58370698743 - ], - [ - 137.18015955937, - 36.55027558459 - ], - [ - 137.21382876092, - 36.531328506 - ], - [ - 137.26383533876, - 36.3317607158 - ], - [ - 136.63321261429, - 36.33496516228 - ], - [ - 136.50436043787, - 36.29226654145 - ], - [ - 136.39411866401, - 36.29444210346 - ], - [ - 136.38033844228, - 36.25492902836 - ], - [ - 136.37778128773, - 36.17664562948 - ], - [ - 136.38218527612, - 36.09506978245 - ], - [ - 136.3875837135, - 36.00065282008 - ], - [ - 136.25929979365, - 35.99398651985 - ], - [ - 136.25532199769, - 35.90922947902 - ], - [ - 136.24992356031, - 35.83336568294 - ], - [ - 136.12206583289, - 35.8287585623 - ], - [ - 136.11183721469, - 35.88724911714 - ], - [ - 136.05984173887, - 35.91164579558 - ], - [ - 136.01793281711, - 35.86675930692 - ], - [ - 135.98582632111, - 35.86595341956 - ] - ], - [ - [ - 140.03280760425, - 37.29985864131 - ], - [ - 140.03344065511, - 37.34642500576 - ], - [ - 140.03344065511, - 37.47427085093 - ], - [ - 140.03407370597, - 37.48281126528 - ], - [ - 139.99973069674, - 37.48356478439 - ], - [ - 140.0003637476, - 37.44198429399 - ], - [ - 139.94212306834, - 37.44173298208 - ], - [ - 139.94196480562, - 37.35007358234 - ], - [ - 139.89116247399, - 37.35007358234 - ], - [ - 139.89116247399, - 37.41697462302 - ], - [ - 139.81725378591, - 37.4164718304 - ], - [ - 139.81266416716, - 37.57468448903 - ], - [ - 139.74192073339, - 37.5755625118 - ], - [ - 139.74223725882, - 37.79174164901 - ], - [ - 139.81788683677, - 37.79161658285 - ], - [ - 139.98295484891, - 37.79111631608 - ], - [ - 139.98358789977, - 37.58333883296 - ], - [ - 140.04119552816, - 37.58333883296 - ], - [ - 140.04151205359, - 37.47502445617 - ], - [ - 140.15910125112, - 37.47527565622 - ], - [ - 140.15815167483, - 37.63311311956 - ], - [ - 140.37449680674, - 37.63399045296 - ], - [ - 140.37481333217, - 37.83337690748 - ], - [ - 140.49999914004, - 37.83525181691 - ], - [ - 140.49988467877, - 37.91662259569 - ], - [ - 140.53144291504, - 37.91679916623 - ], - [ - 140.62489389965, - 37.91669692162 - ], - [ - 140.62489324665, - 37.84641146353 - ], - [ - 140.62534321061, - 37.33359067275 - ], - [ - 140.57501566712, - 37.33283564369 - ], - [ - 140.57485740441, - 37.25880599139 - ], - [ - 140.45790125775, - 37.25855406554 - ], - [ - 140.45774299503, - 37.208404057 - ], - [ - 140.25010231246, - 37.20865615048 - ], - [ - 140.24994404974, - 37.29998453523 - ], - [ - 140.03280760425, - 37.29985864131 - ] - ], - [ - [ - 141.00075354845, - 38.16707524992 - ], - [ - 140.84263615887, - 38.16752201876 - ], - [ - 140.68778995522, - 38.16405244519 - ], - [ - 140.7078808588, - 38.09498964653 - ], - [ - 140.70868449494, - 38.03345773695 - ], - [ - 140.6162663385, - 38.033615983 - ], - [ - 140.53369272481, - 38.11364462215 - ], - [ - 140.5359027242, - 38.14477833039 - ], - [ - 140.61948088307, - 38.14477833039 - ], - [ - 140.624704518, - 38.20479567961 - ], - [ - 140.62309724571, - 38.27375450928 - ], - [ - 140.63073178907, - 38.33902357935 - ], - [ - 140.81255446642, - 38.33697496075 - ], - [ - 141.00361895942, - 38.33398072166 - ], - [ - 141.00075354845, - 38.16707524992 - ] - ], - [ - [ - 129.44454248239, - 34.73674858595 - ], - [ - 129.5252349148, - 34.65451904132 - ], - [ - 129.35703097117, - 34.19045888777 - ], - [ - 129.23087801345, - 34.06062615384 - ], - [ - 129.15132209417, - 34.11615874979 - ], - [ - 129.27179248623, - 34.63488400992 - ], - [ - 129.44454248239, - 34.73674858595 - ] - ] - ], - terms_url: "http://www.gsi.go.jp/kikakuchousei/kikakuchousei40182.html", - terms_text: "GSI Japan" - }, - { - id: "Aargau-AGIS-2014", - name: "Kanton Aargau 25cm (AGIS 2014)", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/AGIS2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2014-01-01T00:00:00.000Z", - startDate: "2014-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 19 - ], - polygon: [ - [ - [ - 8.0960155, - 47.5788226 - ], - [ - 8.1032285, - 47.5787939 - ], - [ - 8.1032285, - 47.5858264 - ], - [ - 8.1059094, - 47.5873189 - ], - [ - 8.1101861, - 47.5887827 - ], - [ - 8.1158884, - 47.5892993 - ], - [ - 8.1216758, - 47.5891558 - ], - [ - 8.1254631, - 47.5887253 - ], - [ - 8.1295909, - 47.5888831 - ], - [ - 8.1302292, - 47.5912222 - ], - [ - 8.1319952, - 47.5935755 - ], - [ - 8.1350591, - 47.5954552 - ], - [ - 8.1383145, - 47.5969761 - ], - [ - 8.1416125, - 47.5993865 - ], - [ - 8.145336, - 47.6007638 - ], - [ - 8.1496127, - 47.6014381 - ], - [ - 8.1543788, - 47.601266 - ], - [ - 8.1575065, - 47.6006347 - ], - [ - 8.1611874, - 47.5991426 - ], - [ - 8.1625492, - 47.5997595 - ], - [ - 8.164379, - 47.6014812 - ], - [ - 8.166528, - 47.6039918 - ], - [ - 8.1708685, - 47.6067319 - ], - [ - 8.1760814, - 47.6083815 - ], - [ - 8.1791241, - 47.6086828 - ], - [ - 8.1815284, - 47.6117955 - ], - [ - 8.1830391, - 47.6148937 - ], - [ - 8.1849753, - 47.6176045 - ], - [ - 8.1895286, - 47.6215055 - ], - [ - 8.1921244, - 47.6232121 - ], - [ - 8.2226146, - 47.622997 - ], - [ - 8.2256146, - 47.6212043 - ], - [ - 8.2284871, - 47.618422 - ], - [ - 8.2295935, - 47.6162133 - ], - [ - 8.2300828, - 47.6150085 - ], - [ - 8.2326148, - 47.6168587 - ], - [ - 8.2365724, - 47.6180348 - ], - [ - 8.239998, - 47.6183503 - ], - [ - 8.2435087, - 47.617834 - ], - [ - 8.2474876, - 47.6187662 - ], - [ - 8.2506578, - 47.6198849 - ], - [ - 8.2570835, - 47.6208028 - ], - [ - 8.2610411, - 47.620688 - ], - [ - 8.2649135, - 47.6193543 - ], - [ - 8.2673179, - 47.6176906 - ], - [ - 8.26902, - 47.6153097 - ], - [ - 8.2757862, - 47.6170165 - ], - [ - 8.2810629, - 47.6170739 - ], - [ - 8.2877226, - 47.6162563 - ], - [ - 8.2942122, - 47.6144204 - ], - [ - 8.2994676, - 47.6122115 - ], - [ - 8.303106, - 47.609773 - ], - [ - 8.302872, - 47.5944651 - ], - [ - 8.3043826, - 47.5922697 - ], - [ - 8.3059146, - 47.591093 - ], - [ - 8.3079147, - 47.590189 - ], - [ - 8.3123616, - 47.5891702 - ], - [ - 8.3165532, - 47.5871324 - ], - [ - 8.3204894, - 47.5843626 - ], - [ - 8.325979, - 47.57888 - ], - [ - 8.3286386, - 47.5771577 - ], - [ - 8.3321919, - 47.5760381 - ], - [ - 8.3390218, - 47.5757653 - ], - [ - 8.3470221, - 47.5762821 - ], - [ - 8.3596181, - 47.5755213 - ], - [ - 8.3647459, - 47.5743586 - ], - [ - 8.3720653, - 47.5737701 - ], - [ - 8.3800229, - 47.5723347 - ], - [ - 8.3819379, - 47.5749615 - ], - [ - 8.3838741, - 47.5768562 - ], - [ - 8.3887891, - 47.5802723 - ], - [ - 8.3923211, - 47.5817362 - ], - [ - 8.3961084, - 47.5824682 - ], - [ - 8.4001298, - 47.5825543 - ], - [ - 8.4043214, - 47.5815783 - ], - [ - 8.4115769, - 47.5792819 - ], - [ - 8.4180026, - 47.5760237 - ], - [ - 8.4238113, - 47.5745165 - ], - [ - 8.4303859, - 47.5722772 - ], - [ - 8.4327477, - 47.5703537 - ], - [ - 8.4335988, - 47.5684874 - ], - [ - 8.4335349, - 47.5666929 - ], - [ - 8.4318966, - 47.5644389 - ], - [ - 8.4285986, - 47.5621705 - ], - [ - 8.4257475, - 47.5612085 - ], - [ - 8.4258964, - 47.5585379 - ], - [ - 8.4249815, - 47.5562404 - ], - [ - 8.4235347, - 47.5546896 - ], - [ - 8.4229602, - 47.5536988 - ], - [ - 8.4245985, - 47.5517027 - ], - [ - 8.4249177, - 47.5498071 - ], - [ - 8.4243432, - 47.5483566 - ], - [ - 8.4253858, - 47.5467912 - ], - [ - 8.4250028, - 47.5441773 - ], - [ - 8.4233006, - 47.5421952 - ], - [ - 8.4210027, - 47.5410605 - ], - [ - 8.4183218, - 47.540486 - ], - [ - 8.4155132, - 47.5406153 - ], - [ - 8.4138961, - 47.5392364 - ], - [ - 8.4128323, - 47.5371966 - ], - [ - 8.4119386, - 47.5362629 - ], - [ - 8.4124067, - 47.5341513 - ], - [ - 8.4118535, - 47.53237 - ], - [ - 8.4111727, - 47.5315798 - ], - [ - 8.4014277, - 47.5316948 - ], - [ - 8.4012362, - 47.5244251 - ], - [ - 8.3993638, - 47.522198 - ], - [ - 8.3966616, - 47.5208186 - ], - [ - 8.3938531, - 47.5198846 - ], - [ - 8.390853, - 47.5197266 - ], - [ - 8.3887678, - 47.5201433 - ], - [ - 8.3880869, - 47.5145965 - ], - [ - 8.3855124, - 47.510745 - ], - [ - 8.3836613, - 47.5094372 - ], - [ - 8.3677559, - 47.5095329 - ], - [ - 8.3673948, - 47.4870891 - ], - [ - 8.375098, - 47.4868858 - ], - [ - 8.3788894, - 47.4852997 - ], - [ - 8.3819586, - 47.4818834 - ], - [ - 8.3818382, - 47.4752129 - ], - [ - 8.3832826, - 47.4719179 - ], - [ - 8.3824401, - 47.4687855 - ], - [ - 8.379431, - 47.4664259 - ], - [ - 8.3775052, - 47.4658971 - ], - [ - 8.3778663, - 47.4649613 - ], - [ - 8.3823799, - 47.464229 - ], - [ - 8.3867129, - 47.4609741 - ], - [ - 8.3917079, - 47.4574341 - ], - [ - 8.3931522, - 47.453487 - ], - [ - 8.3951382, - 47.4503128 - ], - [ - 8.3941753, - 47.4472198 - ], - [ - 8.3917079, - 47.4453476 - ], - [ - 8.3896016, - 47.4444929 - ], - [ - 8.3899627, - 47.443394 - ], - [ - 8.3911061, - 47.4416031 - ], - [ - 8.3921292, - 47.4392423 - ], - [ - 8.393393, - 47.4359044 - ], - [ - 8.3924903, - 47.4341132 - ], - [ - 8.3936939, - 47.4314264 - ], - [ - 8.3956798, - 47.4285359 - ], - [ - 8.3995916, - 47.4246273 - ], - [ - 8.3995314, - 47.4195375 - ], - [ - 8.4490001, - 47.4189675 - ], - [ - 8.4536942, - 47.4123296 - ], - [ - 8.4536942, - 47.4045098 - ], - [ - 8.4485788, - 47.3964851 - ], - [ - 8.4036237, - 47.3968517 - ], - [ - 8.4048273, - 47.3939185 - ], - [ - 8.4029015, - 47.3890295 - ], - [ - 8.4035034, - 47.3855255 - ], - [ - 8.4031423, - 47.3830399 - ], - [ - 8.4048273, - 47.3790464 - ], - [ - 8.4084382, - 47.3757455 - ], - [ - 8.4137943, - 47.3733817 - ], - [ - 8.4159006, - 47.3701619 - ], - [ - 8.4158404, - 47.365393 - ], - [ - 8.4143961, - 47.3632734 - ], - [ - 8.4149377, - 47.3591153 - ], - [ - 8.4172246, - 47.3557316 - ], - [ - 8.4163219, - 47.3523069 - ], - [ - 8.4135536, - 47.3491266 - ], - [ - 8.4136739, - 47.346884 - ], - [ - 8.4147572, - 47.3448043 - ], - [ - 8.4188495, - 47.3424392 - ], - [ - 8.4226409, - 47.3405225 - ], - [ - 8.424687, - 47.3371784 - ], - [ - 8.4242056, - 47.3316315 - ], - [ - 8.4291404, - 47.3328551 - ], - [ - 8.4350983, - 47.331917 - ], - [ - 8.4376259, - 47.3328143 - ], - [ - 8.4432829, - 47.3350576 - ], - [ - 8.4452689, - 47.3374638 - ], - [ - 8.4521295, - 47.3401963 - ], - [ - 8.457606, - 47.3397477 - ], - [ - 8.4621195, - 47.336485 - ], - [ - 8.4627815, - 47.3332222 - ], - [ - 8.4604345, - 47.3282868 - ], - [ - 8.457967, - 47.3245748 - ], - [ - 8.4555598, - 47.3200465 - ], - [ - 8.4491806, - 47.3149467 - ], - [ - 8.4471345, - 47.3121721 - ], - [ - 8.4402137, - 47.3094791 - ], - [ - 8.4362417, - 47.2981749 - ], - [ - 8.4331123, - 47.2959301 - ], - [ - 8.4280571, - 47.2939709 - ], - [ - 8.4231825, - 47.2900116 - ], - [ - 8.4165626, - 47.2878889 - ], - [ - 8.4102436, - 47.2872766 - ], - [ - 8.4035034, - 47.2840923 - ], - [ - 8.4018785, - 47.2804997 - ], - [ - 8.4086187, - 47.2759268 - ], - [ - 8.4106649, - 47.2715986 - ], - [ - 8.4089196, - 47.2661265 - ], - [ - 8.4123499, - 47.2617975 - ], - [ - 8.4123499, - 47.2587342 - ], - [ - 8.4110861, - 47.2560793 - ], - [ - 8.4169839, - 47.2514226 - ], - [ - 8.4188495, - 47.2475009 - ], - [ - 8.4180069, - 47.2430478 - ], - [ - 8.4143961, - 47.2390437 - ], - [ - 8.4137341, - 47.2356523 - ], - [ - 8.4106047, - 47.2322607 - ], - [ - 8.4043459, - 47.2279697 - ], - [ - 8.4029617, - 47.2255993 - ], - [ - 8.4039848, - 47.221267 - ], - [ - 8.4085586, - 47.2171795 - ], - [ - 8.4092807, - 47.2132553 - ], - [ - 8.4084382, - 47.2094534 - ], - [ - 8.4101233, - 47.2025847 - ], - [ - 8.4131925, - 47.1967784 - ], - [ - 8.412711, - 47.1924028 - ], - [ - 8.4087993, - 47.1879859 - ], - [ - 8.4081373, - 47.1847548 - ], - [ - 8.4091002, - 47.1811963 - ], - [ - 8.4151784, - 47.1791511 - ], - [ - 8.4191504, - 47.1756331 - ], - [ - 8.4229418, - 47.1655278 - ], - [ - 8.4229418, - 47.1574668 - ], - [ - 8.4201133, - 47.1532516 - ], - [ - 8.4224603, - 47.1483813 - ], - [ - 8.4227612, - 47.1439198 - ], - [ - 8.4205345, - 47.1395399 - ], - [ - 8.4158404, - 47.1352414 - ], - [ - 8.4089798, - 47.1327441 - ], - [ - 8.4038644, - 47.1320071 - ], - [ - 8.4011563, - 47.1325803 - ], - [ - 8.3953188, - 47.1327031 - ], - [ - 8.3843658, - 47.1345045 - ], - [ - 8.3789496, - 47.1338495 - ], - [ - 8.37245, - 47.1344226 - ], - [ - 8.3690799, - 47.1365924 - ], - [ - 8.3679966, - 47.1387621 - ], - [ - 8.3565623, - 47.1422825 - ], - [ - 8.3540949, - 47.145639 - ], - [ - 8.3533125, - 47.149159 - ], - [ - 8.3506044, - 47.1516146 - ], - [ - 8.3503035, - 47.1541929 - ], - [ - 8.3477157, - 47.1566893 - ], - [ - 8.3456094, - 47.1592264 - ], - [ - 8.3408551, - 47.1616407 - ], - [ - 8.3393506, - 47.1651187 - ], - [ - 8.3373044, - 47.1689647 - ], - [ - 8.3331519, - 47.1715421 - ], - [ - 8.3326103, - 47.1735058 - ], - [ - 8.3306243, - 47.1779239 - ], - [ - 8.3300225, - 47.187168 - ], - [ - 8.3292402, - 47.1878632 - ], - [ - 8.3293605, - 47.1949382 - ], - [ - 8.3229212, - 47.1951427 - ], - [ - 8.3214768, - 47.1985367 - ], - [ - 8.3219583, - 47.2011537 - ], - [ - 8.3183474, - 47.2104345 - ], - [ - 8.3141348, - 47.2117836 - ], - [ - 8.310885, - 47.2152992 - ], - [ - 8.3110656, - 47.2185693 - ], - [ - 8.312209, - 47.2197955 - ], - [ - 8.3088389, - 47.2243324 - ], - [ - 8.3093203, - 47.2264576 - ], - [ - 8.3071538, - 47.2304217 - ], - [ - 8.3072742, - 47.2320972 - ], - [ - 8.3059502, - 47.2358158 - ], - [ - 8.3060705, - 47.2394932 - ], - [ - 8.3037837, - 47.2436606 - ], - [ - 8.3014366, - 47.2467656 - ], - [ - 8.2955389, - 47.2483588 - ], - [ - 8.2918679, - 47.2529341 - ], - [ - 8.2881366, - 47.2586934 - ], - [ - 8.2876552, - 47.2614299 - ], - [ - 8.286271, - 47.2651872 - ], - [ - 8.2872339, - 47.2680459 - ], - [ - 8.2883774, - 47.2696385 - ], - [ - 8.2822991, - 47.2747835 - ], - [ - 8.2771837, - 47.2757635 - ], - [ - 8.2727303, - 47.2753143 - ], - [ - 8.2674946, - 47.2759268 - ], - [ - 8.2653281, - 47.2771925 - ], - [ - 8.2615969, - 47.2769476 - ], - [ - 8.2579259, - 47.277805 - ], - [ - 8.2557593, - 47.2788665 - ], - [ - 8.2531716, - 47.2767842 - ], - [ - 8.2503431, - 47.2754777 - ], - [ - 8.2501023, - 47.2734769 - ], - [ - 8.2495607, - 47.2701693 - ], - [ - 8.2455888, - 47.2671475 - ], - [ - 8.2409548, - 47.2667799 - ], - [ - 8.2345155, - 47.26727 - ], - [ - 8.2314463, - 47.2627776 - ], - [ - 8.2309046, - 47.2593061 - ], - [ - 8.2266318, - 47.249421 - ], - [ - 8.2219979, - 47.2471333 - ], - [ - 8.2152576, - 47.2443143 - ], - [ - 8.2136327, - 47.2420264 - ], - [ - 8.2130911, - 47.2360201 - ], - [ - 8.2112255, - 47.232465 - ], - [ - 8.2128504, - 47.2254767 - ], - [ - 8.2111653, - 47.2226566 - ], - [ - 8.2068925, - 47.2205313 - ], - [ - 8.1976246, - 47.2206539 - ], - [ - 8.1914862, - 47.2186102 - ], - [ - 8.1697609, - 47.218651 - ], - [ - 8.1654279, - 47.2231471 - ], - [ - 8.1608541, - 47.2240463 - ], - [ - 8.1535121, - 47.2294001 - ], - [ - 8.1517066, - 47.2332005 - ], - [ - 8.1482161, - 47.2364695 - ], - [ - 8.1479754, - 47.2410049 - ], - [ - 8.1463505, - 47.2420264 - ], - [ - 8.1382261, - 47.2416587 - ], - [ - 8.1355782, - 47.2394115 - ], - [ - 8.1267316, - 47.2360609 - ], - [ - 8.1217967, - 47.2363061 - ], - [ - 8.1161397, - 47.2387169 - ], - [ - 8.1067515, - 47.2394523 - ], - [ - 8.1026592, - 47.2411275 - ], - [ - 8.0998307, - 47.2443552 - ], - [ - 8.0976642, - 47.2492984 - ], - [ - 8.0979651, - 47.2506873 - ], - [ - 8.0933914, - 47.2556708 - ], - [ - 8.0885167, - 47.2568962 - ], - [ - 8.0848457, - 47.2558342 - ], - [ - 8.0832323, - 47.254053 - ], - [ - 8.0799525, - 47.2524599 - ], - [ - 8.0769018, - 47.2505444 - ], - [ - 8.0685367, - 47.2428435 - ], - [ - 8.0632523, - 47.2409801 - ], - [ - 8.0513365, - 47.2386512 - ], - [ - 8.0485681, - 47.2388555 - ], - [ - 8.0357496, - 47.2374663 - ], - [ - 8.0321989, - 47.2355458 - ], - [ - 8.0271437, - 47.2353415 - ], - [ - 8.0113892, - 47.2396732 - ], - [ - 8.0092725, - 47.2411594 - ], - [ - 8.0079059, - 47.2431192 - ], - [ - 8.0078257, - 47.2482115 - ], - [ - 8.0085667, - 47.2504155 - ], - [ - 8.0083965, - 47.2576942 - ], - [ - 8.0071199, - 47.2592249 - ], - [ - 8.0029921, - 47.261622 - ], - [ - 8.000524, - 47.2648564 - ], - [ - 7.9975877, - 47.2678885 - ], - [ - 7.9962685, - 47.2727106 - ], - [ - 7.9947366, - 47.2736923 - ], - [ - 7.9899279, - 47.2712091 - ], - [ - 7.9727786, - 47.2690724 - ], - [ - 7.9685657, - 47.270083 - ], - [ - 7.9673742, - 47.2709781 - ], - [ - 7.958608, - 47.2711225 - ], - [ - 7.9600974, - 47.2674842 - ], - [ - 7.9627357, - 47.2639612 - ], - [ - 7.9657571, - 47.2617086 - ], - [ - 7.9669912, - 47.2587917 - ], - [ - 7.9669486, - 47.2500111 - ], - [ - 7.9596293, - 47.2458225 - ], - [ - 7.9511184, - 47.2391778 - ], - [ - 7.9446927, - 47.2359996 - ], - [ - 7.9373308, - 47.2310586 - ], - [ - 7.9340542, - 47.2305096 - ], - [ - 7.9297987, - 47.2307697 - ], - [ - 7.9177984, - 47.2330524 - ], - [ - 7.9078407, - 47.2383689 - ], - [ - 7.8979256, - 47.2377043 - ], - [ - 7.8694993, - 47.23207 - ], - [ - 7.8547755, - 47.2271864 - ], - [ - 7.8513712, - 47.2271286 - ], - [ - 7.8395836, - 47.2294693 - ], - [ - 7.8358388, - 47.2297583 - ], - [ - 7.8308174, - 47.2325901 - ], - [ - 7.8270727, - 47.2350461 - ], - [ - 7.8243066, - 47.2383111 - ], - [ - 7.8212853, - 47.2404202 - ], - [ - 7.8201363, - 47.2426447 - ], - [ - 7.8182214, - 47.2456203 - ], - [ - 7.8177107, - 47.2491734 - ], - [ - 7.8182214, - 47.2508199 - ], - [ - 7.818349, - 47.2537084 - ], - [ - 7.819881, - 47.2558747 - ], - [ - 7.8211576, - 47.2567989 - ], - [ - 7.8211151, - 47.2577809 - ], - [ - 7.8192001, - 47.2605823 - ], - [ - 7.819115, - 47.2615354 - ], - [ - 7.8168596, - 47.2648564 - ], - [ - 7.8174979, - 47.267311 - ], - [ - 7.8195831, - 47.2698232 - ], - [ - 7.8243917, - 47.2715845 - ], - [ - 7.8280514, - 47.2721042 - ], - [ - 7.8359239, - 47.2783695 - ], - [ - 7.8370729, - 47.2834216 - ], - [ - 7.8400517, - 47.2872031 - ], - [ - 7.8420092, - 47.2906669 - ], - [ - 7.8458817, - 47.2942747 - ], - [ - 7.8476264, - 47.2981997 - ], - [ - 7.8513712, - 47.3029902 - ], - [ - 7.8529031, - 47.3074052 - ], - [ - 7.8557117, - 47.3103194 - ], - [ - 7.860648, - 47.312541 - ], - [ - 7.8642226, - 47.3134931 - ], - [ - 7.8701802, - 47.3167244 - ], - [ - 7.876308, - 47.317359 - ], - [ - 7.8808187, - 47.3171571 - ], - [ - 7.883372, - 47.3166667 - ], - [ - 7.8858827, - 47.3194073 - ], - [ - 7.8888615, - 47.3213112 - ], - [ - 7.888053, - 47.3244266 - ], - [ - 7.8890743, - 47.3286955 - ], - [ - 7.8914999, - 47.332618 - ], - [ - 7.8977979, - 47.3401449 - ], - [ - 7.9000958, - 47.3415579 - ], - [ - 7.9000533, - 47.3432015 - ], - [ - 7.9022235, - 47.345566 - ], - [ - 7.9063513, - 47.3470365 - ], - [ - 7.909628, - 47.3473536 - ], - [ - 7.9135855, - 47.346258 - ], - [ - 7.9161813, - 47.3445568 - ], - [ - 7.9169899, - 47.3430285 - ], - [ - 7.9240113, - 47.3389915 - ], - [ - 7.9383947, - 47.3379245 - ], - [ - 7.9492886, - 47.337838 - ], - [ - 7.95431, - 47.3359635 - ], - [ - 7.9559271, - 47.333166 - ], - [ - 7.9569058, - 47.3296762 - ], - [ - 7.9557143, - 47.3253496 - ], - [ - 7.9699274, - 47.3279745 - ], - [ - 7.9730764, - 47.3301665 - ], - [ - 7.983332, - 47.3343196 - ], - [ - 7.98563, - 47.3369151 - ], - [ - 7.989545, - 47.338184 - ], - [ - 7.9924812, - 47.3382705 - ], - [ - 7.997843, - 47.3401738 - ], - [ - 7.9963536, - 47.3425672 - ], - [ - 7.9960132, - 47.3458831 - ], - [ - 7.9973324, - 47.3485934 - ], - [ - 8.0011623, - 47.3508134 - ], - [ - 8.001375, - 47.3568964 - ], - [ - 8.0026091, - 47.3577036 - ], - [ - 8.0041836, - 47.3604421 - ], - [ - 8.0097582, - 47.3641893 - ], - [ - 8.0112476, - 47.3659763 - ], - [ - 8.0174606, - 47.369262 - ], - [ - 8.0191202, - 47.3715676 - ], - [ - 8.0198011, - 47.3737578 - ], - [ - 8.0202266, - 47.3759768 - ], - [ - 8.021716, - 47.3783685 - ], - [ - 8.0219288, - 47.3809331 - ], - [ - 8.0228224, - 47.3828636 - ], - [ - 8.0207798, - 47.3885683 - ], - [ - 8.0160563, - 47.3892886 - ], - [ - 8.0126519, - 47.3889717 - ], - [ - 8.0077156, - 47.3901241 - ], - [ - 8.003673, - 47.3920543 - ], - [ - 8.0016304, - 47.394791 - ], - [ - 8.0015453, - 47.399976 - ], - [ - 8.0002261, - 47.4030579 - ], - [ - 7.9980133, - 47.4045268 - ], - [ - 7.9926089, - 47.405506 - ], - [ - 7.9877577, - 47.4063701 - ], - [ - 7.9841831, - 47.4083861 - ], - [ - 7.9802681, - 47.4080981 - ], - [ - 7.9732041, - 47.4112659 - ], - [ - 7.9696295, - 47.4138289 - ], - [ - 7.9569484, - 47.4189256 - ], - [ - 7.9552887, - 47.4218049 - ], - [ - 7.9559271, - 47.4240218 - ], - [ - 7.957459, - 47.4262099 - ], - [ - 7.9627357, - 47.4282827 - ], - [ - 7.9774595, - 47.4325432 - ], - [ - 7.9756723, - 47.4373215 - ], - [ - 7.9761403, - 47.4413798 - ], - [ - 7.9743105, - 47.4436823 - ], - [ - 7.9512886, - 47.451107 - ], - [ - 7.9486077, - 47.4538982 - ], - [ - 7.9481822, - 47.456603 - ], - [ - 7.9467779, - 47.4575525 - ], - [ - 7.9403947, - 47.4566893 - ], - [ - 7.935884, - 47.4573798 - ], - [ - 7.9363095, - 47.4762513 - ], - [ - 7.9317988, - 47.4760499 - ], - [ - 7.9246922, - 47.4771716 - ], - [ - 7.9157132, - 47.4774305 - ], - [ - 7.9090322, - 47.4794725 - ], - [ - 7.9031597, - 47.4796739 - ], - [ - 7.902947, - 47.4896528 - ], - [ - 7.8969043, - 47.4897965 - ], - [ - 7.8917977, - 47.4940521 - ], - [ - 7.8908615, - 47.497646 - ], - [ - 7.8877976, - 47.4993135 - ], - [ - 7.8863082, - 47.5023034 - ], - [ - 7.8799925, - 47.5039706 - ], - [ - 7.8740346, - 47.5078733 - ], - [ - 7.8699423, - 47.5094384 - ], - [ - 7.8700627, - 47.5123855 - ], - [ - 7.8643455, - 47.5124464 - ], - [ - 7.8585079, - 47.515434 - ], - [ - 7.8557998, - 47.5185433 - ], - [ - 7.8562512, - 47.5214695 - ], - [ - 7.8548971, - 47.524741 - ], - [ - 7.8518279, - 47.5284999 - ], - [ - 7.8464718, - 47.5271386 - ], - [ - 7.8414768, - 47.5277685 - ], - [ - 7.8413037, - 47.5240579 - ], - [ - 7.8401548, - 47.5158674 - ], - [ - 7.8394313, - 47.5125909 - ], - [ - 7.8368781, - 47.5125622 - ], - [ - 7.836793, - 47.5104927 - ], - [ - 7.8335163, - 47.5094866 - ], - [ - 7.8315588, - 47.507647 - ], - [ - 7.8298141, - 47.5055198 - ], - [ - 7.8252182, - 47.5035363 - ], - [ - 7.8204947, - 47.5004027 - ], - [ - 7.8147498, - 47.4949114 - ], - [ - 7.8118136, - 47.4926112 - ], - [ - 7.8064518, - 47.4914035 - ], - [ - 7.8040262, - 47.491461 - ], - [ - 7.8004942, - 47.4901383 - ], - [ - 7.7797702, - 47.4902821 - ], - [ - 7.7787064, - 47.4930425 - ], - [ - 7.7796, - 47.4960039 - ], - [ - 7.7838554, - 47.5004027 - ], - [ - 7.7820256, - 47.50368 - ], - [ - 7.7808766, - 47.507302 - ], - [ - 7.7810894, - 47.5101765 - ], - [ - 7.7797702, - 47.5126484 - ], - [ - 7.7796851, - 47.5152926 - ], - [ - 7.7704508, - 47.5180229 - ], - [ - 7.7590463, - 47.5200346 - ], - [ - 7.7526631, - 47.5200921 - ], - [ - 7.7478119, - 47.5195748 - ], - [ - 7.7336839, - 47.5229084 - ], - [ - 7.7278114, - 47.52719 - ], - [ - 7.7198538, - 47.529776 - ], - [ - 7.7126195, - 47.5309541 - ], - [ - 7.7076407, - 47.5344018 - ], - [ - 7.705513, - 47.5391709 - ], - [ - 7.7069598, - 47.5427904 - ], - [ - 7.7141515, - 47.5462661 - ], - [ - 7.7224496, - 47.5475587 - ], - [ - 7.7490035, - 47.5497704 - ], - [ - 7.7542802, - 47.5533892 - ], - [ - 7.7665358, - 47.5561462 - ], - [ - 7.7716849, - 47.5576109 - ], - [ - 7.7800681, - 47.5583575 - ], - [ - 7.7857704, - 47.5598221 - ], - [ - 7.790196, - 47.5616025 - ], - [ - 7.7939834, - 47.5663403 - ], - [ - 7.8049198, - 47.5723697 - ], - [ - 7.8061113, - 47.5798911 - ], - [ - 7.8117285, - 47.5895352 - ], - [ - 7.8157712, - 47.5921756 - ], - [ - 7.8221117, - 47.5935244 - ], - [ - 7.8364525, - 47.5916303 - ], - [ - 7.8395164, - 47.5904536 - ], - [ - 7.8430485, - 47.5877845 - ], - [ - 7.8487507, - 47.5889899 - ], - [ - 7.8562403, - 47.5918886 - ], - [ - 7.8648788, - 47.5939262 - ], - [ - 7.871262, - 47.5942992 - ], - [ - 7.8772621, - 47.5936679 - ], - [ - 7.8853474, - 47.5942418 - ], - [ - 7.8934327, - 47.5930078 - ], - [ - 7.9010925, - 47.5897648 - ], - [ - 7.9083267, - 47.5851439 - ], - [ - 7.9138588, - 47.5792308 - ], - [ - 7.9186674, - 47.571939 - ], - [ - 7.9195611, - 47.5677185 - ], - [ - 7.9187525, - 47.5643304 - ], - [ - 7.9156035, - 47.5600805 - ], - [ - 7.9157737, - 47.5571514 - ], - [ - 7.9184121, - 47.5540498 - ], - [ - 7.9212632, - 47.5526138 - ], - [ - 7.9255187, - 47.5522691 - ], - [ - 7.9347104, - 47.5522117 - ], - [ - 7.9404978, - 47.5507756 - ], - [ - 7.9432638, - 47.5496842 - ], - [ - 7.9435617, - 47.5505171 - ], - [ - 7.944583, - 47.5558878 - ], - [ - 7.9484129, - 47.5597934 - ], - [ - 7.9539449, - 47.5622916 - ], - [ - 7.9600302, - 47.5633254 - ], - [ - 7.965775, - 47.5627224 - ], - [ - 7.9720305, - 47.5612005 - ], - [ - 7.9783286, - 47.5605687 - ], - [ - 7.9862437, - 47.560942 - ], - [ - 7.9971801, - 47.5621194 - ], - [ - 8.0044995, - 47.5613728 - ], - [ - 8.0111379, - 47.5597359 - ], - [ - 8.0164147, - 47.5570078 - ], - [ - 8.0204573, - 47.5557442 - ], - [ - 8.0262021, - 47.5574098 - ], - [ - 8.0379897, - 47.5587596 - ], - [ - 8.042543, - 47.5602815 - ], - [ - 8.0485006, - 47.5633254 - ], - [ - 8.0545433, - 47.5679769 - ], - [ - 8.0593094, - 47.5692115 - ], - [ - 8.0622031, - 47.5689531 - ], - [ - 8.0669266, - 47.5700155 - ], - [ - 8.0724161, - 47.5697283 - ], - [ - 8.077395, - 47.5679482 - ], - [ - 8.0818206, - 47.5643591 - ], - [ - 8.085225, - 47.5628085 - ], - [ - 8.0879059, - 47.5629808 - ], - [ - 8.0925868, - 47.5655938 - ], - [ - 8.0939486, - 47.5680918 - ], - [ - 8.0948422, - 47.5758721 - ], - [ - 8.0960155, - 47.5788226 - ] - ] - ], - terms_text: "AGIS OF2014" - }, - { - id: "Aargau-AGIS-2016", - name: "Kanton Aargau 25cm (AGIS 2016)", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/AGIS2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2016-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 19 - ], - polygon: [ - [ - [ - 7.7043837, - 47.5579369 - ], - [ - 7.7707561, - 47.5577157 - ], - [ - 7.7710309, - 47.5802484 - ], - [ - 7.8040761, - 47.5801681 - ], - [ - 7.8043315, - 47.6024837 - ], - [ - 7.9371294, - 47.6021651 - ], - [ - 7.9370265, - 47.5796189 - ], - [ - 8.0037358, - 47.57917 - ], - [ - 8.0033818, - 47.5568746 - ], - [ - 8.0363991, - 47.5566467 - ], - [ - 8.0368072, - 47.5792819 - ], - [ - 8.103127, - 47.5788098 - ], - [ - 8.1038729, - 47.6011151 - ], - [ - 8.1701128, - 47.6008572 - ], - [ - 8.1703583, - 47.6234954 - ], - [ - 8.303108, - 47.6223517 - ], - [ - 8.3030479, - 47.5998751 - ], - [ - 8.3361987, - 47.5992663 - ], - [ - 8.3358464, - 47.5771047 - ], - [ - 8.3691264, - 47.5769423 - ], - [ - 8.3694274, - 47.5993115 - ], - [ - 8.4356351, - 47.5987721 - ], - [ - 8.434543, - 47.5313309 - ], - [ - 8.4014436, - 47.5316154 - ], - [ - 8.4009621, - 47.5092624 - ], - [ - 8.3678025, - 47.5095876 - ], - [ - 8.3675016, - 47.4869812 - ], - [ - 8.4004205, - 47.4866559 - ], - [ - 8.3993887, - 47.4192943 - ], - [ - 8.4655766, - 47.4187047 - ], - [ - 8.4651501, - 47.3964683 - ], - [ - 8.4320649, - 47.3965377 - ], - [ - 8.4312466, - 47.3515984 - ], - [ - 8.4643446, - 47.3512791 - ], - [ - 8.4632704, - 47.2838729 - ], - [ - 8.4299736, - 47.2842069 - ], - [ - 8.4271368, - 47.1267624 - ], - [ - 8.3293044, - 47.1275336 - ], - [ - 8.3293709, - 47.1300747 - ], - [ - 8.328335, - 47.1300747 - ], - [ - 8.328496, - 47.1452909 - ], - [ - 8.3293986, - 47.1950243 - ], - [ - 8.2963975, - 47.19526 - ], - [ - 8.2971382, - 47.2402162 - ], - [ - 8.2640997, - 47.2404639 - ], - [ - 8.2644614, - 47.2629694 - ], - [ - 8.2314132, - 47.2631644 - ], - [ - 8.2307496, - 47.2182208 - ], - [ - 8.0988604, - 47.2191231 - ], - [ - 8.09874, - 47.2413542 - ], - [ - 8.0660016, - 47.2417628 - ], - [ - 8.0655202, - 47.2192048 - ], - [ - 7.9999301, - 47.2195248 - ], - [ - 8.0000316, - 47.2643299 - ], - [ - 7.9673499, - 47.2646187 - ], - [ - 7.9667542, - 47.2196077 - ], - [ - 7.8015274, - 47.2202899 - ], - [ - 7.8024434, - 47.2879109 - ], - [ - 7.8351763, - 47.2877159 - ], - [ - 7.8354316, - 47.3101684 - ], - [ - 7.8683686, - 47.3101684 - ], - [ - 7.8688544, - 47.3554249 - ], - [ - 8.0009678, - 47.3542951 - ], - [ - 8.0015636, - 47.3992779 - ], - [ - 7.9353032, - 47.3997634 - ], - [ - 7.9360677, - 47.467157 - ], - [ - 7.9027785, - 47.4672894 - ], - [ - 7.9030284, - 47.4898126 - ], - [ - 7.8698688, - 47.4899752 - ], - [ - 7.869929, - 47.512499 - ], - [ - 7.8368897, - 47.5125803 - ], - [ - 7.8366489, - 47.4900972 - ], - [ - 7.7702695, - 47.4902599 - ], - [ - 7.77045, - 47.5127429 - ], - [ - 7.7045169, - 47.5130695 - ], - [ - 7.7043837, - 47.5579369 - ] - ] - ], - terms_text: "AGIS OF2016", - best: true - }, - { - id: "Basel-Landschaft-2015", - name: "Kanton Basel-Landschaft 10cm (2015)", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/KTBASELLANDSCHAFT2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - scaleExtent: [ - 18, - 21 - ], - polygon: [ - [ - [ - 7.370281219482422, - 47.413684985326796 - ], - [ - 7.357578277587891, - 47.41507892620101 - ], - [ - 7.357921600341797, - 47.41827323486739 - ], - [ - 7.353544235229492, - 47.4196089792119 - ], - [ - 7.344875335693359, - 47.42402250214274 - ], - [ - 7.339725494384765, - 47.42971307765559 - ], - [ - 7.332687377929687, - 47.430235650685475 - ], - [ - 7.32685089111328, - 47.4319194618196 - ], - [ - 7.325280543317693, - 47.43489176778178 - ], - [ - 7.33050406703179, - 47.44175856152086 - ], - [ - 7.338990092194756, - 47.44109169292469 - ], - [ - 7.344964876980962, - 47.43607806019703 - ], - [ - 7.352656881264292, - 47.43435807026775 - ], - [ - 7.38119797480828, - 47.432081698142134 - ], - [ - 7.375988960266113, - 47.414309359238985 - ], - [ - 7.378145456314087, - 47.41399717320828 - ], - [ - 7.382040023803711, - 47.41330745332341 - ], - [ - 7.388391494750976, - 47.41397539271845 - ], - [ - 7.413708184603623, - 47.410929293287566 - ], - [ - 7.420743520414262, - 47.411098781635985 - ], - [ - 7.427483310496426, - 47.41448047082256 - ], - [ - 7.438105529405026, - 47.412739349590474 - ], - [ - 7.448396898794484, - 47.41507114537187 - ], - [ - 7.455576414208223, - 47.42792319548619 - ], - [ - 7.45061852232364, - 47.43534476535272 - ], - [ - 7.437842682352891, - 47.446323188615104 - ], - [ - 7.425422575234655, - 47.443283894442736 - ], - [ - 7.420904049355535, - 47.44594415975335 - ], - [ - 7.422417620777747, - 47.45071647996838 - ], - [ - 7.428795928789581, - 47.45387944195848 - ], - [ - 7.430028776685507, - 47.459491697398036 - ], - [ - 7.445765194338128, - 47.46197276972992 - ], - [ - 7.44717015944249, - 47.456958090215814 - ], - [ - 7.456512189239691, - 47.44925575541638 - ], - [ - 7.492356675875099, - 47.458972279610066 - ], - [ - 7.530679075390223, - 47.46118857622267 - ], - [ - 7.527445320030451, - 47.473906165741866 - ], - [ - 7.536326693749955, - 47.48383279861684 - ], - [ - 7.536231113003725, - 47.49105266753894 - ], - [ - 7.532603895549507, - 47.490968962664795 - ], - [ - 7.531789123586811, - 47.49739885661967 - ], - [ - 7.520038351186771, - 47.49678264400428 - ], - [ - 7.512226152318425, - 47.49891674929323 - ], - [ - 7.509348758631863, - 47.508884893812876 - ], - [ - 7.499082452238831, - 47.51627805213703 - ], - [ - 7.497870355425969, - 47.52124757864722 - ], - [ - 7.502278119030558, - 47.514906577969604 - ], - [ - 7.517459288006065, - 47.51728104695845 - ], - [ - 7.522200236749534, - 47.514091442409054 - ], - [ - 7.530955756497733, - 47.52904526885427 - ], - [ - 7.519353655277215, - 47.53471778813415 - ], - [ - 7.510751927105658, - 47.528989768842564 - ], - [ - 7.50229842095598, - 47.52840455858729 - ], - [ - 7.4980383403841, - 47.536152181750076 - ], - [ - 7.505454651706732, - 47.54438188661593 - ], - [ - 7.516758242758337, - 47.545408295649786 - ], - [ - 7.527317399933993, - 47.552778846515565 - ], - [ - 7.554658254426867, - 47.564368052237306 - ], - [ - 7.5645783501094, - 47.55703599040843 - ], - [ - 7.561243624111692, - 47.55172275211291 - ], - [ - 7.558752685660356, - 47.55235329499035 - ], - [ - 7.555882119169953, - 47.54433555917895 - ], - [ - 7.564785321950861, - 47.54568625396918 - ], - [ - 7.587263056821628, - 47.54190064304111 - ], - [ - 7.582688476068778, - 47.53246814131337 - ], - [ - 7.589482524394103, - 47.5279230654027 - ], - [ - 7.590248428005343, - 47.51978966346127 - ], - [ - 7.594781326929009, - 47.51929395578897 - ], - [ - 7.613780785019665, - 47.53925099543145 - ], - [ - 7.622303281783164, - 47.53977428916004 - ], - [ - 7.622854488041502, - 47.550040256825795 - ], - [ - 7.617740918118178, - 47.554366555487356 - ], - [ - 7.617617220103555, - 47.558648485827725 - ], - [ - 7.632727781497729, - 47.5614887674157 - ], - [ - 7.639973682410965, - 47.55816478484801 - ], - [ - 7.648995462809379, - 47.548295861439875 - ], - [ - 7.661308760240334, - 47.544832242956765 - ], - [ - 7.665860164458853, - 47.53745814872834 - ], - [ - 7.674674254363578, - 47.5337535789565 - ], - [ - 7.694938989531916, - 47.532496041115465 - ], - [ - 7.71346844906592, - 47.53978344629896 - ], - [ - 7.715956243413761, - 47.53582195507857 - ], - [ - 7.723622825374551, - 47.536754165368905 - ], - [ - 7.727157067196862, - 47.53293048764033 - ], - [ - 7.733221863174538, - 47.53275465944404 - ], - [ - 7.737974130690588, - 47.52732498381306 - ], - [ - 7.749022330706917, - 47.5249849998809 - ], - [ - 7.757861753102653, - 47.52605097450287 - ], - [ - 7.787633628417415, - 47.52011695778467 - ], - [ - 7.790143521321244, - 47.51864117486466 - ], - [ - 7.788870069574476, - 47.50682929074843 - ], - [ - 7.792799480290271, - 47.500684271209245 - ], - [ - 7.786625359342518, - 47.49312139201968 - ], - [ - 7.798890147748131, - 47.49565149600841 - ], - [ - 7.798162871694108, - 47.49939947973339 - ], - [ - 7.799400121334925, - 47.497477088945935 - ], - [ - 7.807418124234862, - 47.4971384859743 - ], - [ - 7.814709929059118, - 47.504801278976316 - ], - [ - 7.831976267472122, - 47.51473657456054 - ], - [ - 7.833207588232065, - 47.53382387257594 - ], - [ - 7.846527268275818, - 47.53266095290337 - ], - [ - 7.852330295179702, - 47.53523506225097 - ], - [ - 7.862569292788096, - 47.52692027402488 - ], - [ - 7.86395674074442, - 47.519309183202445 - ], - [ - 7.876658649367283, - 47.52269034821798 - ], - [ - 7.87567113137545, - 47.51319304945735 - ], - [ - 7.893993798731052, - 47.50605656803392 - ], - [ - 7.904769180395594, - 47.49217505264052 - ], - [ - 7.904821911502771, - 47.48490926161113 - ], - [ - 7.93328835504665, - 47.48140776210853 - ], - [ - 7.947015241408695, - 47.48488995686335 - ], - [ - 7.940027875634228, - 47.462021295570224 - ], - [ - 7.948854362289874, - 47.46377967418039 - ], - [ - 7.957614193951437, - 47.45880646812721 - ], - [ - 7.957849013566705, - 47.451279351685564 - ], - [ - 7.946784554043733, - 47.44319336966537 - ], - [ - 7.950032053627354, - 47.431716361052416 - ], - [ - 7.96183169437885, - 47.421834282667845 - ], - [ - 7.956570351591289, - 47.41968057428149 - ], - [ - 7.955037646053525, - 47.415605646331336 - ], - [ - 7.948388855309641, - 47.4162657867356 - ], - [ - 7.934927870271696, - 47.41176694218953 - ], - [ - 7.936722434714782, - 47.408057452805856 - ], - [ - 7.932661510641391, - 47.40527495151619 - ], - [ - 7.909737672400531, - 47.398520997340924 - ], - [ - 7.890221593189976, - 47.407141074214024 - ], - [ - 7.883331964118422, - 47.40609724771633 - ], - [ - 7.883443085719068, - 47.4012049891245 - ], - [ - 7.877702761222016, - 47.401257097623 - ], - [ - 7.869136696167237, - 47.3955142728722 - ], - [ - 7.879434713089799, - 47.38799354849815 - ], - [ - 7.878812180597903, - 47.38351047538804 - ], - [ - 7.862650230995195, - 47.38198499163919 - ], - [ - 7.840119046365023, - 47.374763282921705 - ], - [ - 7.830547227518145, - 47.36512144155488 - ], - [ - 7.80216648325237, - 47.36109584064414 - ], - [ - 7.796366151294341, - 47.3534705803715 - ], - [ - 7.793560892325092, - 47.33905227137494 - ], - [ - 7.78528803737905, - 47.3378822997136 - ], - [ - 7.768963133383802, - 47.33891408469915 - ], - [ - 7.766419194330703, - 47.342734660857005 - ], - [ - 7.751518928544542, - 47.3443274446774 - ], - [ - 7.734153146629586, - 47.35776074638933 - ], - [ - 7.727913718160677, - 47.36885889855421 - ], - [ - 7.701953574259492, - 47.37244716296033 - ], - [ - 7.644203220263186, - 47.36720838530677 - ], - [ - 7.641761060331779, - 47.38046937860509 - ], - [ - 7.635580022356337, - 47.38059279713257 - ], - [ - 7.633316986492583, - 47.38291397270416 - ], - [ - 7.633305398225418, - 47.38533959871929 - ], - [ - 7.637251158279386, - 47.38606854199808 - ], - [ - 7.63272275093214, - 47.41003108104519 - ], - [ - 7.664054730400831, - 47.41001995588381 - ], - [ - 7.679802017668389, - 47.41751395224505 - ], - [ - 7.686578998003315, - 47.43366406703297 - ], - [ - 7.682972441800632, - 47.43872228466388 - ], - [ - 7.684853783500164, - 47.447843589969715 - ], - [ - 7.692273418589347, - 47.45421309996921 - ], - [ - 7.698831030331891, - 47.45585888435835 - ], - [ - 7.699930658071183, - 47.46190517358485 - ], - [ - 7.709877972706822, - 47.469384739707586 - ], - [ - 7.699760966314013, - 47.48063247960835 - ], - [ - 7.668326578902932, - 47.48634665620256 - ], - [ - 7.666120855554305, - 47.49686816039971 - ], - [ - 7.65217109717027, - 47.49581439933043 - ], - [ - 7.648646287658441, - 47.49183004211102 - ], - [ - 7.655389581170213, - 47.49020559719241 - ], - [ - 7.650513795302598, - 47.48826095607083 - ], - [ - 7.655925875394832, - 47.48739459757455 - ], - [ - 7.644422678687097, - 47.485637798180356 - ], - [ - 7.640965961473804, - 47.482734093980326 - ], - [ - 7.607299799570857, - 47.48939839412024 - ], - [ - 7.608850381582776, - 47.48352506892989 - ], - [ - 7.605631268762133, - 47.47935909729055 - ], - [ - 7.608148977008936, - 47.475213682276376 - ], - [ - 7.604494899927722, - 47.47044546774548 - ], - [ - 7.618872436050056, - 47.4674530520825 - ], - [ - 7.626072253389216, - 47.462913883669614 - ], - [ - 7.62217338539308, - 47.46195224188912 - ], - [ - 7.616464591762502, - 47.445234574416695 - ], - [ - 7.615798850305441, - 47.432747890966844 - ], - [ - 7.592069133423196, - 47.43271179535717 - ], - [ - 7.581206884670679, - 47.42878068945942 - ], - [ - 7.578423275099778, - 47.434906655087865 - ], - [ - 7.568904367023134, - 47.43689695884281 - ], - [ - 7.56829539909203, - 47.42233486107083 - ], - [ - 7.58074128785892, - 47.414703988151935 - ], - [ - 7.525235194936931, - 47.41163289737562 - ], - [ - 7.531172340312734, - 47.40352507464003 - ], - [ - 7.518616677418122, - 47.38822295597742 - ], - [ - 7.511295677347134, - 47.38974369796625 - ], - [ - 7.502255661148456, - 47.384806980223004 - ], - [ - 7.492327480628366, - 47.385231761698726 - ], - [ - 7.478410241257615, - 47.39055778320416 - ], - [ - 7.47746817801916, - 47.401277162725364 - ], - [ - 7.464484018734026, - 47.40251498235377 - ], - [ - 7.460919593518167, - 47.40068414452088 - ], - [ - 7.450020783333588, - 47.40392739156406 - ], - [ - 7.44951323519806, - 47.39975827367453 - ], - [ - 7.443401098004909, - 47.40231427489849 - ], - [ - 7.441311347159463, - 47.40017886074712 - ], - [ - 7.443566657511773, - 47.38890284041263 - ], - [ - 7.437324174770898, - 47.3808884773088 - ], - [ - 7.411692544769116, - 47.38057235919037 - ], - [ - 7.416276198506335, - 47.384788794341716 - ], - [ - 7.414494030814171, - 47.39429988358522 - ], - [ - 7.398935569419335, - 47.39683906243558 - ], - [ - 7.395920463999715, - 47.40338304393273 - ], - [ - 7.388693876865087, - 47.403019088497395 - ], - [ - 7.384054886906365, - 47.4123601395877 - ], - [ - 7.379679679870605, - 47.4128137535428 - ], - [ - 7.375844120979309, - 47.41401169352981 - ], - [ - 7.370281219482422, - 47.413684985326796 - ] - ] - ], - terms_url: "https://www.geo.bl.ch/fileadmin/user_upload/Geodaten/Nutzungsbedingungen_GBD_BL_V3p2.pdf", - terms_text: "Geodaten des Kantons Basel-Landschaft 2015", - best: true - }, - { - id: "KTBASELSTADT2015", - name: "Kanton Basel-Stadt 2015", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/KTBASELSTADT2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 21 - ], - polygon: [ - [ - [ - 7.492, - 47.4817 - ], - [ - 7.492, - 47.6342 - ], - [ - 7.784, - 47.6342 - ], - [ - 7.784, - 47.4817 - ], - [ - 7.492, - 47.4817 - ] - ] - ], - terms_text: "Kanton Basel-Stadt OF 2015" - }, - { - id: "KTBASELSTADT2017", - name: "Kanton Basel-Stadt 2017", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/KTBASELSTADT2017/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2017-01-01T00:00:00.000Z", - startDate: "2017-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 21 - ], - polygon: [ - [ - [ - 7.6713752, - 47.5952248 - ], - [ - 7.6799583, - 47.6007811 - ], - [ - 7.6845073, - 47.6018228 - ], - [ - 7.6943779, - 47.601707 - ], - [ - 7.6939487, - 47.5966718 - ], - [ - 7.6870823, - 47.5935462 - ], - [ - 7.6788425, - 47.5871208 - ], - [ - 7.685709, - 47.585384 - ], - [ - 7.6890564, - 47.5761205 - ], - [ - 7.6941204, - 47.573399 - ], - [ - 7.6924038, - 47.5669132 - ], - [ - 7.6847005, - 47.5617009 - ], - [ - 7.6642513, - 47.5616429 - ], - [ - 7.6487159, - 47.5568934 - ], - [ - 7.6303482, - 47.558689 - ], - [ - 7.6235675, - 47.5566617 - ], - [ - 7.6278591, - 47.5514483 - ], - [ - 7.6273763, - 47.5365801 - ], - [ - 7.6183319, - 47.5366163 - ], - [ - 7.6133537, - 47.5326179 - ], - [ - 7.5996208, - 47.5191137 - ], - [ - 7.5850296, - 47.5191717 - ], - [ - 7.5840854, - 47.5263589 - ], - [ - 7.5771331, - 47.5316327 - ], - [ - 7.581253, - 47.5398612 - ], - [ - 7.5718975, - 47.5414835 - ], - [ - 7.553873, - 47.5414835 - ], - [ - 7.5537872, - 47.5512166 - ], - [ - 7.5565338, - 47.5582836 - ], - [ - 7.5537014, - 47.5603108 - ], - [ - 7.5537872, - 47.5747308 - ], - [ - 7.5643444, - 47.5812157 - ], - [ - 7.5793647, - 47.579884 - ], - [ - 7.583313, - 47.5901889 - ], - [ - 7.5856304, - 47.5923306 - ], - [ - 7.5920677, - 47.5923885 - ], - [ - 7.598505, - 47.5907098 - ], - [ - 7.609148, - 47.5864261 - ], - [ - 7.6092338, - 47.5810999 - ], - [ - 7.6191043, - 47.580463 - ], - [ - 7.6368713, - 47.593141 - ], - [ - 7.6378154, - 47.595572 - ], - [ - 7.6416778, - 47.5988711 - ], - [ - 7.6452827, - 47.6002602 - ], - [ - 7.664938, - 47.5961798 - ], - [ - 7.6713752, - 47.5952248 - ] - ] - ], - terms_text: "Kanton Basel-Stadt OF 2017", - best: true - }, - { - id: "Solothurn-sogis2014-tms", - name: "Kanton Solothurn (SOGIS)", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/sogis2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2017-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - scaleExtent: [ - 15, - 19 - ], - polygon: [ - [ - [ - 7.9559502, - 47.4716195 - ], - [ - 7.9823893, - 47.4715536 - ], - [ - 7.9823893, - 47.453533 - ], - [ - 7.9955263, - 47.453533 - ], - [ - 7.995209, - 47.4174733 - ], - [ - 8.0218003, - 47.4174304 - ], - [ - 8.0215465, - 47.3993483 - ], - [ - 8.0345565, - 47.3992624 - ], - [ - 8.0346835, - 47.3902835 - ], - [ - 8.0478839, - 47.3902236 - ], - [ - 8.0476936, - 47.3722351 - ], - [ - 8.0345565, - 47.372321 - ], - [ - 8.0343661, - 47.3543954 - ], - [ - 8.0211657, - 47.3542664 - ], - [ - 8.0207214, - 47.3273881 - ], - [ - 7.9944474, - 47.3274741 - ], - [ - 7.994257, - 47.318569 - ], - [ - 7.9677291, - 47.3186551 - ], - [ - 7.9676656, - 47.3096624 - ], - [ - 7.9412227, - 47.3097751 - ], - [ - 7.9413282, - 47.3277752 - ], - [ - 7.9148637, - 47.3278613 - ], - [ - 7.9146733, - 47.3098775 - ], - [ - 7.9015998, - 47.3100497 - ], - [ - 7.9014015, - 47.3009748 - ], - [ - 7.8750084, - 47.3010986 - ], - [ - 7.8750084, - 47.2922321 - ], - [ - 7.861655, - 47.292122 - ], - [ - 7.8615371, - 47.2740879 - ], - [ - 7.8483207, - 47.2741634 - ], - [ - 7.8482988, - 47.2652268 - ], - [ - 7.8350156, - 47.2651964 - ], - [ - 7.8350156, - 47.2562425 - ], - [ - 7.7953454, - 47.2563643 - ], - [ - 7.7953005, - 47.2474089 - ], - [ - 7.7292435, - 47.2475612 - ], - [ - 7.7292884, - 47.2565166 - ], - [ - 7.7162295, - 47.2566689 - ], - [ - 7.7161847, - 47.2655923 - ], - [ - 7.7030361, - 47.2655923 - ], - [ - 7.7030361, - 47.2746055 - ], - [ - 7.6897529, - 47.2746664 - ], - [ - 7.6898875, - 47.2836781 - ], - [ - 7.6634108, - 47.2837085 - ], - [ - 7.6633211, - 47.2746968 - ], - [ - 7.6105472, - 47.2747577 - ], - [ - 7.6104126, - 47.2478658 - ], - [ - 7.6235163, - 47.2477691 - ], - [ - 7.6235612, - 47.2387871 - ], - [ - 7.6498584, - 47.2387566 - ], - [ - 7.649993, - 47.2297678 - ], - [ - 7.6499025, - 47.2208313 - ], - [ - 7.6630766, - 47.220732 - ], - [ - 7.6631044, - 47.2117803 - ], - [ - 7.6629675, - 47.2027317 - ], - [ - 7.6761677, - 47.2026985 - ], - [ - 7.6762267, - 47.1937182 - ], - [ - 7.6893753, - 47.1936878 - ], - [ - 7.6892406, - 47.1757237 - ], - [ - 7.7024341, - 47.1756017 - ], - [ - 7.7023444, - 47.14869 - ], - [ - 7.6626742, - 47.1488121 - ], - [ - 7.6628088, - 47.1397774 - ], - [ - 7.6363322, - 47.1398995 - ], - [ - 7.6364668, - 47.14869 - ], - [ - 7.5967967, - 47.1489341 - ], - [ - 7.5968415, - 47.1399606 - ], - [ - 7.5704098, - 47.1399911 - ], - [ - 7.5704216, - 47.1579174 - ], - [ - 7.5573628, - 47.1579479 - ], - [ - 7.5573179, - 47.1488843 - ], - [ - 7.5442142, - 47.1489453 - ], - [ - 7.5441693, - 47.1399107 - ], - [ - 7.5309759, - 47.1399107 - ], - [ - 7.5309535, - 47.1309652 - ], - [ - 7.5176703, - 47.1309652 - ], - [ - 7.5176478, - 47.121959 - ], - [ - 7.5176927, - 47.1129198 - ], - [ - 7.4913057, - 47.1130114 - ], - [ - 7.4913506, - 47.1040318 - ], - [ - 7.478202, - 47.1040013 - ], - [ - 7.4781282, - 47.0770534 - ], - [ - 7.4649349, - 47.0770839 - ], - [ - 7.4649797, - 47.0680676 - ], - [ - 7.4255179, - 47.0680065 - ], - [ - 7.4254282, - 47.0860069 - ], - [ - 7.372789, - 47.0859763 - ], - [ - 7.3728787, - 47.1040318 - ], - [ - 7.3595955, - 47.1040318 - ], - [ - 7.3595506, - 47.1309967 - ], - [ - 7.4122796, - 47.1309967 - ], - [ - 7.4122347, - 47.1490064 - ], - [ - 7.4253833, - 47.1490064 - ], - [ - 7.4255179, - 47.1580089 - ], - [ - 7.3726992, - 47.157965 - ], - [ - 7.3726992, - 47.1849769 - ], - [ - 7.3462674, - 47.1849159 - ], - [ - 7.3463572, - 47.2028721 - ], - [ - 7.333074, - 47.2029026 - ], - [ - 7.333074, - 47.2209598 - ], - [ - 7.346142, - 47.2209598 - ], - [ - 7.346142, - 47.2299135 - ], - [ - 7.3725646, - 47.2299135 - ], - [ - 7.3726992, - 47.2389023 - ], - [ - 7.3989964, - 47.2389632 - ], - [ - 7.399131, - 47.2479201 - ], - [ - 7.4122796, - 47.2479201 - ], - [ - 7.4122796, - 47.2659206 - ], - [ - 7.45186, - 47.2658901 - ], - [ - 7.4519497, - 47.2749033 - ], - [ - 7.4650534, - 47.2749337 - ], - [ - 7.4650983, - 47.2838541 - ], - [ - 7.4782918, - 47.2838541 - ], - [ - 7.4783367, - 47.2929251 - ], - [ - 7.504596, - 47.2928845 - ], - [ - 7.5047307, - 47.3018322 - ], - [ - 7.5312002, - 47.3018119 - ], - [ - 7.53129, - 47.3197941 - ], - [ - 7.5444835, - 47.3198549 - ], - [ - 7.5445283, - 47.3287981 - ], - [ - 7.5576769, - 47.3288285 - ], - [ - 7.5576769, - 47.3378614 - ], - [ - 7.5312451, - 47.3378614 - ], - [ - 7.5313349, - 47.3558617 - ], - [ - 7.5180068, - 47.3558313 - ], - [ - 7.5180965, - 47.3648291 - ], - [ - 7.3987991, - 47.3648373 - ], - [ - 7.3988853, - 47.3918171 - ], - [ - 7.3856422, - 47.391813 - ], - [ - 7.3856361, - 47.4008028 - ], - [ - 7.3723427, - 47.4007987 - ], - [ - 7.3723427, - 47.4097769 - ], - [ - 7.3458375, - 47.4097769 - ], - [ - 7.3458375, - 47.4187804 - ], - [ - 7.3192515, - 47.4187804 - ], - [ - 7.3192515, - 47.4457788 - ], - [ - 7.4121035, - 47.4457788 - ], - [ - 7.4121035, - 47.4907816 - ], - [ - 7.4253513, - 47.4907816 - ], - [ - 7.4253513, - 47.4998066 - ], - [ - 7.4385572, - 47.4998066 - ], - [ - 7.4385572, - 47.5087647 - ], - [ - 7.4917722, - 47.5087647 - ], - [ - 7.4917832, - 47.6346827 - ], - [ - 7.7844981, - 47.6342779 - ], - [ - 7.7841548, - 47.5712255 - ], - [ - 7.8107408, - 47.5711386 - ], - [ - 7.8107408, - 47.5621621 - ], - [ - 7.8239482, - 47.5620566 - ], - [ - 7.8238715, - 47.5441362 - ], - [ - 7.8636799, - 47.5439699 - ], - [ - 7.8636317, - 47.5349751 - ], - [ - 7.8767918, - 47.5349474 - ], - [ - 7.8767504, - 47.5259917 - ], - [ - 7.8900971, - 47.5259637 - ], - [ - 7.8900555, - 47.5169501 - ], - [ - 7.9031858, - 47.5169225 - ], - [ - 7.9031025, - 47.4988609 - ], - [ - 7.9164877, - 47.4988327 - ], - [ - 7.9164458, - 47.4897557 - ], - [ - 7.9561223, - 47.4896722 - ], - [ - 7.9559502, - 47.4716195 - ] - ] - ], - terms_text: "Orthofoto WMS Solothurn", - best: true, - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAIVBMVEX///+LKCbMAABycnL+/v7v7+9sbGz39/fz8/Pw8PD8/Pz60siYAAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AIGAsXN84mS+sAAAA4SURBVAjXY2AUBAMBBkYlMCCXwcwABgZYGCwGIJo5AMQGAjYgLgYxLICY05iBwRisjsvY2IGBAQAGpQmjMKkg/wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0wOC0yNFQxMToyMzo1NS0wNDowMLEFqzIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMDgtMjRUMTE6MjM6NTUtMDQ6MDDAWBOOAAAAAElFTkSuQmCC" - }, - { - id: "Solothurn-infrared-SOGIS", - name: "Kanton Solothurn Infrarot (SOGIS)", - type: "wms", - template: "https://geoweb.so.ch/wms/sogis_orthofoto.wms?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Orthofoto_CIR_SO&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:4326", - endDate: "2017-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - scaleExtent: [ - 15, - 19 - ], - polygon: [ - [ - [ - 7.5704216, - 47.1579174 - ], - [ - 7.5573628, - 47.1579479 - ], - [ - 7.5573179, - 47.1488843 - ], - [ - 7.5442142, - 47.1489453 - ], - [ - 7.5441693, - 47.1399107 - ], - [ - 7.5309759, - 47.1399107 - ], - [ - 7.530931, - 47.121959 - ], - [ - 7.5176478, - 47.121959 - ], - [ - 7.5176927, - 47.1129198 - ], - [ - 7.4913057, - 47.1130114 - ], - [ - 7.4913506, - 47.1040318 - ], - [ - 7.478202, - 47.1040013 - ], - [ - 7.4781572, - 47.094959 - ], - [ - 7.4914404, - 47.0949896 - ], - [ - 7.4913955, - 47.0770227 - ], - [ - 7.4781572, - 47.0770533 - ], - [ - 7.478202, - 47.068037 - ], - [ - 7.4255179, - 47.0680065 - ], - [ - 7.4254282, - 47.0860069 - ], - [ - 7.372789, - 47.0859763 - ], - [ - 7.3728787, - 47.1040318 - ], - [ - 7.3595955, - 47.1040318 - ], - [ - 7.3595506, - 47.1309967 - ], - [ - 7.4122796, - 47.1309967 - ], - [ - 7.4122347, - 47.1490064 - ], - [ - 7.4253833, - 47.1490064 - ], - [ - 7.4255179, - 47.1580089 - ], - [ - 7.399131, - 47.1580394 - ], - [ - 7.399131, - 47.1490064 - ], - [ - 7.3726992, - 47.1489758 - ], - [ - 7.3726992, - 47.1849769 - ], - [ - 7.3462674, - 47.1849159 - ], - [ - 7.3463572, - 47.1939124 - ], - [ - 7.333074, - 47.1939429 - ], - [ - 7.333074, - 47.2299135 - ], - [ - 7.3725646, - 47.2299135 - ], - [ - 7.3726992, - 47.2389023 - ], - [ - 7.3989964, - 47.2389632 - ], - [ - 7.399131, - 47.2479201 - ], - [ - 7.4122796, - 47.2479201 - ], - [ - 7.4122796, - 47.2659206 - ], - [ - 7.45186, - 47.2658901 - ], - [ - 7.4519497, - 47.2749033 - ], - [ - 7.4650534, - 47.2749337 - ], - [ - 7.4650983, - 47.2838541 - ], - [ - 7.4782918, - 47.2838541 - ], - [ - 7.4783367, - 47.2929251 - ], - [ - 7.4914852, - 47.2928946 - ], - [ - 7.4916199, - 47.3018423 - ], - [ - 7.5312002, - 47.3018119 - ], - [ - 7.53129, - 47.3197941 - ], - [ - 7.5444835, - 47.3198549 - ], - [ - 7.5445283, - 47.3287981 - ], - [ - 7.5576769, - 47.3288285 - ], - [ - 7.5576769, - 47.3378614 - ], - [ - 7.5312451, - 47.3378614 - ], - [ - 7.5313349, - 47.3558617 - ], - [ - 7.5180068, - 47.3558313 - ], - [ - 7.5180965, - 47.3648291 - ], - [ - 7.4386216, - 47.3649203 - ], - [ - 7.4386665, - 47.3738862 - ], - [ - 7.4253833, - 47.373947 - ], - [ - 7.4254282, - 47.4008052 - ], - [ - 7.3855786, - 47.4008963 - ], - [ - 7.3856683, - 47.4097954 - ], - [ - 7.3591468, - 47.4097954 - ], - [ - 7.3591468, - 47.418784 - ], - [ - 7.3723851, - 47.4188447 - ], - [ - 7.3724748, - 47.4368174 - ], - [ - 7.3857132, - 47.4368174 - ], - [ - 7.3857132, - 47.4410365 - ], - [ - 7.3956307, - 47.4401563 - ], - [ - 7.3963039, - 47.4425844 - ], - [ - 7.4076125, - 47.4410972 - ], - [ - 7.4079267, - 47.4422505 - ], - [ - 7.403125, - 47.442463 - ], - [ - 7.3973809, - 47.4433128 - ], - [ - 7.3983233, - 47.4458318 - ], - [ - 7.412145, - 47.4458318 - ], - [ - 7.4122796, - 47.4547839 - ], - [ - 7.4386665, - 47.454875 - ], - [ - 7.4388012, - 47.47053 - ], - [ - 7.450065, - 47.4694076 - ], - [ - 7.450065, - 47.4722287 - ], - [ - 7.4464749, - 47.4722287 - ], - [ - 7.4464749, - 47.473806 - ], - [ - 7.4429297, - 47.473897 - ], - [ - 7.4428848, - 47.4755349 - ], - [ - 7.439205, - 47.4755956 - ], - [ - 7.439205, - 47.4772032 - ], - [ - 7.4355701, - 47.4772941 - ], - [ - 7.4354803, - 47.4789926 - ], - [ - 7.4173954, - 47.4789623 - ], - [ - 7.4174403, - 47.4857254 - ], - [ - 7.4209855, - 47.4857254 - ], - [ - 7.4210752, - 47.4908199 - ], - [ - 7.4276271, - 47.4907289 - ], - [ - 7.4285246, - 47.4934882 - ], - [ - 7.4309928, - 47.4964293 - ], - [ - 7.4348521, - 47.4988852 - ], - [ - 7.4418976, - 47.4955197 - ], - [ - 7.4466544, - 47.4945495 - ], - [ - 7.4501098, - 47.4917599 - ], - [ - 7.4508727, - 47.4906986 - ], - [ - 7.4645149, - 47.4907289 - ], - [ - 7.4645598, - 47.4890308 - ], - [ - 7.4681947, - 47.4890005 - ], - [ - 7.4681947, - 47.4856648 - ], - [ - 7.4718746, - 47.4857254 - ], - [ - 7.4719194, - 47.4823288 - ], - [ - 7.4826896, - 47.4823895 - ], - [ - 7.4826447, - 47.4838755 - ], - [ - 7.4862348, - 47.4839665 - ], - [ - 7.4863694, - 47.4856648 - ], - [ - 7.4899146, - 47.4856648 - ], - [ - 7.4900043, - 47.4906986 - ], - [ - 7.4996975, - 47.4907289 - ], - [ - 7.4996526, - 47.491396 - ], - [ - 7.4917545, - 47.4919418 - ], - [ - 7.4917545, - 47.4951256 - ], - [ - 7.4982166, - 47.494792 - ], - [ - 7.4988897, - 47.4958533 - ], - [ - 7.4956587, - 47.4962777 - ], - [ - 7.4917096, - 47.4962474 - ], - [ - 7.4917994, - 47.4997341 - ], - [ - 7.5050377, - 47.4997038 - ], - [ - 7.5050377, - 47.5087377 - ], - [ - 7.5447976, - 47.5087074 - ], - [ - 7.5447426, - 47.4548204 - ], - [ - 7.4916868, - 47.4546917 - ], - [ - 7.4917503, - 47.445808 - ], - [ - 7.4652859, - 47.4457651 - ], - [ - 7.4652224, - 47.409829 - ], - [ - 7.4915599, - 47.409786 - ], - [ - 7.4917503, - 47.3919161 - ], - [ - 7.5048873, - 47.3918302 - ], - [ - 7.5048873, - 47.40068 - ], - [ - 7.5182147, - 47.4007659 - ], - [ - 7.5183416, - 47.4187616 - ], - [ - 7.5579431, - 47.4187187 - ], - [ - 7.5581335, - 47.445808 - ], - [ - 7.5845344, - 47.4457222 - ], - [ - 7.5844075, - 47.4366653 - ], - [ - 7.6109354, - 47.4366224 - ], - [ - 7.6109988, - 47.4637025 - ], - [ - 7.5976714, - 47.4637025 - ], - [ - 7.5979253, - 47.4996448 - ], - [ - 7.6243263, - 47.4996877 - ], - [ - 7.6244532, - 47.4905972 - ], - [ - 7.6377806, - 47.4905543 - ], - [ - 7.6378441, - 47.4996019 - ], - [ - 7.6775724, - 47.4994733 - ], - [ - 7.6774455, - 47.4904686 - ], - [ - 7.7038465, - 47.4904257 - ], - [ - 7.7039099, - 47.4814623 - ], - [ - 7.7171104, - 47.4812907 - ], - [ - 7.7171104, - 47.45452 - ], - [ - 7.7039734, - 47.45452 - ], - [ - 7.7038465, - 47.4455934 - ], - [ - 7.6904556, - 47.4455076 - ], - [ - 7.6903287, - 47.4095713 - ], - [ - 7.6771282, - 47.4094854 - ], - [ - 7.6771282, - 47.40068 - ], - [ - 7.6506638, - 47.40068 - ], - [ - 7.6504734, - 47.3736534 - ], - [ - 7.6770647, - 47.3735674 - ], - [ - 7.6770647, - 47.3825062 - ], - [ - 7.7166661, - 47.3825062 - ], - [ - 7.7167931, - 47.3734385 - ], - [ - 7.7430671, - 47.3733955 - ], - [ - 7.7430671, - 47.3553843 - ], - [ - 7.7562041, - 47.3553413 - ], - [ - 7.7563311, - 47.3463979 - ], - [ - 7.7826051, - 47.3462689 - ], - [ - 7.7829224, - 47.3643262 - ], - [ - 7.7961229, - 47.3642832 - ], - [ - 7.7961863, - 47.3732666 - ], - [ - 7.8226508, - 47.3731376 - ], - [ - 7.8227142, - 47.3822914 - ], - [ - 7.8491152, - 47.3821195 - ], - [ - 7.8492421, - 47.3910568 - ], - [ - 7.8625061, - 47.3909709 - ], - [ - 7.862633, - 47.4090559 - ], - [ - 7.8758969, - 47.40897 - ], - [ - 7.8760239, - 47.4180316 - ], - [ - 7.9024248, - 47.4179457 - ], - [ - 7.9024248, - 47.40897 - ], - [ - 7.9288892, - 47.4087982 - ], - [ - 7.9291431, - 47.4178169 - ], - [ - 7.9421532, - 47.4176881 - ], - [ - 7.9426609, - 47.4627586 - ], - [ - 7.9559248, - 47.462587 - ], - [ - 7.9561152, - 47.4716394 - ], - [ - 7.9823893, - 47.4715536 - ], - [ - 7.9823893, - 47.453533 - ], - [ - 7.9955263, - 47.453533 - ], - [ - 7.995209, - 47.4174733 - ], - [ - 8.0218003, - 47.4174304 - ], - [ - 8.0215465, - 47.3993483 - ], - [ - 8.0345565, - 47.3992624 - ], - [ - 8.0346835, - 47.3902835 - ], - [ - 8.0478839, - 47.3901546 - ], - [ - 8.0476936, - 47.3722351 - ], - [ - 8.0345565, - 47.372321 - ], - [ - 8.0343661, - 47.3543954 - ], - [ - 8.0211657, - 47.3542664 - ], - [ - 8.0207214, - 47.3273881 - ], - [ - 7.9944474, - 47.3274741 - ], - [ - 7.994257, - 47.318569 - ], - [ - 7.9677291, - 47.3186551 - ], - [ - 7.9676656, - 47.3096624 - ], - [ - 7.9412012, - 47.3099206 - ], - [ - 7.9413282, - 47.3277752 - ], - [ - 7.9148637, - 47.3278613 - ], - [ - 7.9146733, - 47.3098775 - ], - [ - 7.9015998, - 47.3100497 - ], - [ - 7.9014015, - 47.3009748 - ], - [ - 7.8750084, - 47.3010986 - ], - [ - 7.8750084, - 47.2922321 - ], - [ - 7.861655, - 47.292122 - ], - [ - 7.8615371, - 47.2740879 - ], - [ - 7.8484334, - 47.2741488 - ], - [ - 7.8482988, - 47.2652268 - ], - [ - 7.8350156, - 47.2651964 - ], - [ - 7.8350156, - 47.2562425 - ], - [ - 7.7953454, - 47.2563643 - ], - [ - 7.7953005, - 47.2474089 - ], - [ - 7.7292435, - 47.2475612 - ], - [ - 7.7292884, - 47.2565166 - ], - [ - 7.7162295, - 47.2566689 - ], - [ - 7.7161847, - 47.2655923 - ], - [ - 7.7030361, - 47.2655923 - ], - [ - 7.7030361, - 47.2746055 - ], - [ - 7.6897529, - 47.2746664 - ], - [ - 7.6898875, - 47.2836781 - ], - [ - 7.6634108, - 47.2837085 - ], - [ - 7.6633211, - 47.2746968 - ], - [ - 7.6105472, - 47.2747577 - ], - [ - 7.6104126, - 47.2478658 - ], - [ - 7.6235163, - 47.2476526 - ], - [ - 7.6235612, - 47.2387871 - ], - [ - 7.6498584, - 47.2387566 - ], - [ - 7.649993, - 47.2297678 - ], - [ - 7.6630518, - 47.2297068 - ], - [ - 7.6631044, - 47.2117803 - ], - [ - 7.6762081, - 47.2116888 - ], - [ - 7.6762267, - 47.1937182 - ], - [ - 7.6893753, - 47.1936878 - ], - [ - 7.6892406, - 47.1757237 - ], - [ - 7.7024341, - 47.1756017 - ], - [ - 7.702479, - 47.1666326 - ], - [ - 7.7156724, - 47.1666326 - ], - [ - 7.7155827, - 47.1576926 - ], - [ - 7.7023892, - 47.1576621 - ], - [ - 7.7023444, - 47.14869 - ], - [ - 7.6626742, - 47.1488121 - ], - [ - 7.6628088, - 47.1397774 - ], - [ - 7.6363322, - 47.1398995 - ], - [ - 7.6364668, - 47.14869 - ], - [ - 7.5967967, - 47.1489341 - ], - [ - 7.5968415, - 47.1399606 - ], - [ - 7.5704098, - 47.1399911 - ], - [ - 7.5704216, - 47.1579174 - ] - ] - ], - terms_text: "Orthofoto WMS Solothurn", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAIVBMVEX///+LKCbMAABycnL+/v7v7+9sbGz39/fz8/Pw8PD8/Pz60siYAAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AIGAsXN84mS+sAAAA4SURBVAjXY2AUBAMBBkYlMCCXwcwABgZYGCwGIJo5AMQGAjYgLgYxLICY05iBwRisjsvY2IGBAQAGpQmjMKkg/wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0wOC0yNFQxMToyMzo1NS0wNDowMLEFqzIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMDgtMjRUMTE6MjM6NTUtMDQ6MDDAWBOOAAAAAElFTkSuQmCC" - }, - { - id: "KTTHURGAU2017", - name: "Kanton Thurgau OF 2017", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/KTTHURGAU2017/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - scaleExtent: [ - 8, - 21 - ], - polygon: [ - [ - [ - 8.63768410076, - 47.7004145356 - ], - [ - 8.78327839646, - 47.69879895418 - ], - [ - 8.78303977274, - 47.68533252804 - ], - [ - 8.87027412213, - 47.68426691888 - ], - [ - 8.8699714813, - 47.67089514045 - ], - [ - 8.89900814897, - 47.67047199109 - ], - [ - 8.89866777324, - 47.65698230742 - ], - [ - 8.92770444091, - 47.65661195321 - ], - [ - 8.92828046137, - 47.67015462681 - ], - [ - 8.95726476355, - 47.66973147144 - ], - [ - 8.95773605301, - 47.68327074156 - ], - [ - 9.19060541482, - 47.6799391377 - ], - [ - 9.1902650391, - 47.66645190099 - ], - [ - 9.21922315852, - 47.6660287156 - ], - [ - 9.21898751379, - 47.65255552096 - ], - [ - 9.24784090222, - 47.65209694793 - ], - [ - 9.24747434375, - 47.63863780005 - ], - [ - 9.30570477557, - 47.63764983607 - ], - [ - 9.30525966885, - 47.62420461255 - ], - [ - 9.33416542278, - 47.62371049645 - ], - [ - 9.33348467133, - 47.59673879302 - ], - [ - 9.39150564117, - 47.59576769355 - ], - [ - 9.3911390827, - 47.58234701941 - ], - [ - 9.42007101938, - 47.58176420165 - ], - [ - 9.41860478548, - 47.54139270755 - ], - [ - 9.44753672216, - 47.5408447841 - ], - [ - 9.44717016368, - 47.52730395336 - ], - [ - 9.47604973486, - 47.52680892203 - ], - [ - 9.47518570418, - 47.49985802607 - ], - [ - 9.5041438236, - 47.49934504674 - ], - [ - 9.50309651368, - 47.47241544181 - ], - [ - 9.41596032792, - 47.47391975877 - ], - [ - 9.41554140395, - 47.46045016443 - ], - [ - 9.35759898235, - 47.4614060707 - ], - [ - 9.35817500281, - 47.47498160364 - ], - [ - 9.32895505591, - 47.47533554716 - ], - [ - 9.32864086293, - 47.46188401733 - ], - [ - 9.18361462107, - 47.46420288184 - ], - [ - 9.18411209329, - 47.47768921094 - ], - [ - 9.15491832913, - 47.47809622481 - ], - [ - 9.15465650165, - 47.4646277009 - ], - [ - 9.0673632194, - 47.46583133624 - ], - [ - 9.06717994017, - 47.45234196418 - ], - [ - 9.0960856941, - 47.45193475084 - ], - [ - 9.09582386661, - 47.43853036098 - ], - [ - 9.06663010246, - 47.43883142176 - ], - [ - 9.06642064047, - 47.42537055101 - ], - [ - 9.00829493964, - 47.42620309948 - ], - [ - 9.00714289872, - 47.385729558 - ], - [ - 8.97810623105, - 47.38615501083 - ], - [ - 8.97739929685, - 47.3591319418 - ], - [ - 8.91940450976, - 47.35989459356 - ], - [ - 8.92032090594, - 47.38697045248 - ], - [ - 8.89136278652, - 47.38725408141 - ], - [ - 8.89285520316, - 47.44116901155 - ], - [ - 8.86397563198, - 47.44148776574 - ], - [ - 8.86604406908, - 47.52251256102 - ], - [ - 8.80783982, - 47.52316676216 - ], - [ - 8.80893949543, - 47.56372896753 - ], - [ - 8.77985046226, - 47.56402931121 - ], - [ - 8.78024320348, - 47.57750766919 - ], - [ - 8.7220913199, - 47.57814352175 - ], - [ - 8.72337427456, - 47.63212747913 - ], - [ - 8.66519620823, - 47.63272738003 - ], - [ - 8.66579841143, - 47.65980396746 - ], - [ - 8.63673556102, - 47.65999795099 - ], - [ - 8.63768410076, - 47.7004145356 - ] - ] - ], - terms_text: "Kanton Thurgau OF 2017", - best: true - }, - { - id: "KTZUERICH2015", - name: "Kanton Zürich 2015 10cm", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/KTZUERICH2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2014-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 21 - ], - polygon: [ - [ - [ - 8.7133786, - 47.2138825 - ], - [ - 8.7137004, - 47.2273679 - ], - [ - 8.8116987, - 47.2262565 - ], - [ - 8.8033693, - 47.238578 - ], - [ - 8.8086564, - 47.2431015 - ], - [ - 8.8244837, - 47.2465632 - ], - [ - 8.8297079, - 47.2453884 - ], - [ - 8.8365225, - 47.2425717 - ], - [ - 8.845681, - 47.2425282 - ], - [ - 8.8483688, - 47.2432185 - ], - [ - 8.8523223, - 47.2403414 - ], - [ - 8.8620639, - 47.2388207 - ], - [ - 8.8647161, - 47.2396607 - ], - [ - 8.868627, - 47.2396752 - ], - [ - 8.8733911, - 47.2412538 - ], - [ - 8.8788236, - 47.2447632 - ], - [ - 8.8805373, - 47.2479105 - ], - [ - 8.8987831, - 47.2497591 - ], - [ - 8.9028149, - 47.2509368 - ], - [ - 8.9102526, - 47.2500343 - ], - [ - 8.9273465, - 47.2540596 - ], - [ - 8.936441, - 47.254991 - ], - [ - 8.9423286, - 47.2584948 - ], - [ - 8.9442343, - 47.2617281 - ], - [ - 8.9488206, - 47.2653616 - ], - [ - 8.9509396, - 47.2686041 - ], - [ - 8.9506765, - 47.2710841 - ], - [ - 8.9530017, - 47.2728451 - ], - [ - 8.9541109, - 47.2750548 - ], - [ - 8.9550424, - 47.2825128 - ], - [ - 8.9517147, - 47.2852719 - ], - [ - 8.9466448, - 47.2864681 - ], - [ - 8.9525821, - 47.288436 - ], - [ - 8.9545376, - 47.2898202 - ], - [ - 8.9614064, - 47.3009796 - ], - [ - 8.975521, - 47.3024455 - ], - [ - 8.9800647, - 47.3041573 - ], - [ - 8.9915271, - 47.3189339 - ], - [ - 8.990688, - 47.3218309 - ], - [ - 8.9863719, - 47.325417 - ], - [ - 8.985483, - 47.3277835 - ], - [ - 8.9836414, - 47.3293064 - ], - [ - 8.9859168, - 47.3381494 - ], - [ - 8.9846369, - 47.3406117 - ], - [ - 8.98079, - 47.3423656 - ], - [ - 8.9808753, - 47.3483543 - ], - [ - 8.9778462, - 47.3543713 - ], - [ - 8.975905, - 47.3560573 - ], - [ - 8.9700245, - 47.3584321 - ], - [ - 8.9657226, - 47.3588993 - ], - [ - 8.9623806, - 47.3625214 - ], - [ - 8.9566494, - 47.3743155 - ], - [ - 8.9520986, - 47.3783555 - ], - [ - 8.9477771, - 47.3797089 - ], - [ - 8.9502307, - 47.3834606 - ], - [ - 8.9501804, - 47.3859594 - ], - [ - 8.9488028, - 47.3883559 - ], - [ - 8.9397021, - 47.3940336 - ], - [ - 8.9363736, - 47.3949594 - ], - [ - 8.9325121, - 47.3987101 - ], - [ - 8.9280071, - 47.4014804 - ], - [ - 8.922778, - 47.4038013 - ], - [ - 8.9138785, - 47.4056866 - ], - [ - 8.9192383, - 47.4121313 - ], - [ - 8.9204852, - 47.4191469 - ], - [ - 8.918293, - 47.4232292 - ], - [ - 8.9209378, - 47.4254404 - ], - [ - 8.9210685, - 47.4282841 - ], - [ - 8.9257143, - 47.4269507 - ], - [ - 8.9343725, - 47.4279643 - ], - [ - 8.9387669, - 47.4317263 - ], - [ - 8.9397424, - 47.4341139 - ], - [ - 8.9388876, - 47.4372496 - ], - [ - 8.9351066, - 47.4397254 - ], - [ - 8.923492, - 47.439535 - ], - [ - 8.919731, - 47.4408069 - ], - [ - 8.9132248, - 47.4411945 - ], - [ - 8.9116159, - 47.4434661 - ], - [ - 8.9152662, - 47.4462817 - ], - [ - 8.9149947, - 47.4500355 - ], - [ - 8.9119578, - 47.4537755 - ], - [ - 8.90517, - 47.4579095 - ], - [ - 8.9018315, - 47.4643479 - ], - [ - 8.8973465, - 47.4689773 - ], - [ - 8.8958079, - 47.4721858 - ], - [ - 8.8913532, - 47.4737967 - ], - [ - 8.8914336, - 47.4782146 - ], - [ - 8.9014192, - 47.4813273 - ], - [ - 8.904275, - 47.4844942 - ], - [ - 8.9031387, - 47.4892782 - ], - [ - 8.9000113, - 47.4918738 - ], - [ - 8.8996694, - 47.4988516 - ], - [ - 8.9035711, - 47.504035 - ], - [ - 8.9041343, - 47.5074519 - ], - [ - 8.9032192, - 47.5194804 - ], - [ - 8.9049689, - 47.5244717 - ], - [ - 8.9036516, - 47.5269095 - ], - [ - 8.8998203, - 47.5296458 - ], - [ - 8.8842335, - 47.5339233 - ], - [ - 8.8788335, - 47.5327691 - ], - [ - 8.8706077, - 47.5347652 - ], - [ - 8.8601998, - 47.5348806 - ], - [ - 8.8567406, - 47.5359397 - ], - [ - 8.847821, - 47.5358039 - ], - [ - 8.8461416, - 47.5408683 - ], - [ - 8.8402991, - 47.5465363 - ], - [ - 8.8372823, - 47.5527806 - ], - [ - 8.8427528, - 47.5536968 - ], - [ - 8.8464835, - 47.5562011 - ], - [ - 8.852688, - 47.5564454 - ], - [ - 8.8561976, - 47.557918 - ], - [ - 8.8577462, - 47.5614128 - ], - [ - 8.8572836, - 47.5648937 - ], - [ - 8.8551115, - 47.5672075 - ], - [ - 8.8507875, - 47.5681777 - ], - [ - 8.8476299, - 47.5702335 - ], - [ - 8.8453774, - 47.5706134 - ], - [ - 8.8448042, - 47.5730897 - ], - [ - 8.8421092, - 47.5751318 - ], - [ - 8.83326, - 47.5776893 - ], - [ - 8.8296197, - 47.5777842 - ], - [ - 8.826613, - 47.5766242 - ], - [ - 8.8213745, - 47.5775574 - ], - [ - 8.8143152, - 47.5759835 - ], - [ - 8.8123442, - 47.5778016 - ], - [ - 8.8122235, - 47.584734 - ], - [ - 8.8106749, - 47.5863889 - ], - [ - 8.8081207, - 47.5873792 - ], - [ - 8.7681785, - 47.596738 - ], - [ - 8.7543013, - 47.5972941 - ], - [ - 8.7552868, - 47.6010778 - ], - [ - 8.7541605, - 47.6027322 - ], - [ - 8.7488309, - 47.6058782 - ], - [ - 8.7482878, - 47.6087393 - ], - [ - 8.7507013, - 47.6098105 - ], - [ - 8.7525516, - 47.6129154 - ], - [ - 8.7557493, - 47.6121697 - ], - [ - 8.7610187, - 47.6133493 - ], - [ - 8.7816937, - 47.6063393 - ], - [ - 8.7816535, - 47.6034509 - ], - [ - 8.7846703, - 47.5999251 - ], - [ - 8.8016849, - 47.5966024 - ], - [ - 8.805124, - 47.5968601 - ], - [ - 8.8089453, - 47.5993826 - ], - [ - 8.8107353, - 47.6098105 - ], - [ - 8.8186593, - 47.6137153 - ], - [ - 8.8200068, - 47.6152609 - ], - [ - 8.8208918, - 47.6205752 - ], - [ - 8.8201476, - 47.6241539 - ], - [ - 8.8241509, - 47.6255988 - ], - [ - 8.8307922, - 47.6320585 - ], - [ - 8.8344755, - 47.6409896 - ], - [ - 8.8318161, - 47.6494497 - ], - [ - 8.8269525, - 47.6520555 - ], - [ - 8.8116788, - 47.6559927 - ], - [ - 8.8111242, - 47.6621038 - ], - [ - 8.8119206, - 47.6645366 - ], - [ - 8.8104131, - 47.6675247 - ], - [ - 8.8088061, - 47.6685686 - ], - [ - 8.8029328, - 47.6697849 - ], - [ - 8.7929921, - 47.6691911 - ], - [ - 8.7868485, - 47.6697849 - ], - [ - 8.7845305, - 47.66899 - ], - [ - 8.7821555, - 47.6665862 - ], - [ - 8.7792117, - 47.6569506 - ], - [ - 8.7776331, - 47.6556287 - ], - [ - 8.7739783, - 47.6543451 - ], - [ - 8.7662277, - 47.6543834 - ], - [ - 8.7610796, - 47.6525728 - ], - [ - 8.7585198, - 47.6503311 - ], - [ - 8.7546374, - 47.648827 - ], - [ - 8.7534001, - 47.6473324 - ], - [ - 8.7483942, - 47.6461252 - ], - [ - 8.7432888, - 47.6474857 - ], - [ - 8.7388233, - 47.6465085 - ], - [ - 8.723763, - 47.6475336 - ], - [ - 8.7206344, - 47.6466426 - ], - [ - 8.7149174, - 47.6488462 - ], - [ - 8.7082619, - 47.647639 - ], - [ - 8.7048061, - 47.6503886 - ], - [ - 8.7005255, - 47.6519885 - ], - [ - 8.6942682, - 47.653071 - ], - [ - 8.6924194, - 47.6558107 - ], - [ - 8.6863185, - 47.6609449 - ], - [ - 8.6848537, - 47.6641343 - ], - [ - 8.6857354, - 47.667994 - ], - [ - 8.6832609, - 47.6731461 - ], - [ - 8.6805589, - 47.6756071 - ], - [ - 8.6752117, - 47.6775988 - ], - [ - 8.6764205, - 47.6817734 - ], - [ - 8.6756099, - 47.6866083 - ], - [ - 8.6742731, - 47.6879869 - ], - [ - 8.6722679, - 47.6889059 - ], - [ - 8.6627254, - 47.690294 - ], - [ - 8.6464379, - 47.6984747 - ], - [ - 8.6396803, - 47.6987725 - ], - [ - 8.6354971, - 47.6974324 - ], - [ - 8.6216198, - 47.6955373 - ], - [ - 8.6181807, - 47.6927893 - ], - [ - 8.6174366, - 47.6908669 - ], - [ - 8.6200712, - 47.6813354 - ], - [ - 8.6147818, - 47.683082 - ], - [ - 8.6091706, - 47.681877 - ], - [ - 8.6019906, - 47.6745105 - ], - [ - 8.599537, - 47.6692288 - ], - [ - 8.6027549, - 47.6613188 - ], - [ - 8.6097913, - 47.6567985 - ], - [ - 8.6140953, - 47.6563989 - ], - [ - 8.6157444, - 47.6555726 - ], - [ - 8.622311, - 47.6510364 - ], - [ - 8.6222707, - 47.6502371 - ], - [ - 8.6204808, - 47.6475815 - ], - [ - 8.6193947, - 47.6504267 - ], - [ - 8.6152115, - 47.6545182 - ], - [ - 8.6092986, - 47.656767 - ], - [ - 8.6032449, - 47.6565367 - ], - [ - 8.6006907, - 47.6554123 - ], - [ - 8.597875, - 47.652757 - ], - [ - 8.5964471, - 47.6487602 - ], - [ - 8.5909163, - 47.6462266 - ], - [ - 8.5893677, - 47.6443973 - ], - [ - 8.5887442, - 47.6393565 - ], - [ - 8.5911576, - 47.627552 - ], - [ - 8.5932493, - 47.6223333 - ], - [ - 8.5983778, - 47.6158668 - ], - [ - 8.5985387, - 47.6144975 - ], - [ - 8.5911375, - 47.6091691 - ], - [ - 8.5893677, - 47.6068233 - ], - [ - 8.5879599, - 47.6031891 - ], - [ - 8.5878794, - 47.5990937 - ], - [ - 8.5820269, - 47.5979273 - ], - [ - 8.5739821, - 47.5932889 - ], - [ - 8.5714624, - 47.5898796 - ], - [ - 8.5703531, - 47.5863307 - ], - [ - 8.5720312, - 47.5798462 - ], - [ - 8.567708, - 47.5779851 - ], - [ - 8.5650628, - 47.5752413 - ], - [ - 8.5611662, - 47.5640727 - ], - [ - 8.5570705, - 47.5594664 - ], - [ - 8.5561603, - 47.5633626 - ], - [ - 8.5520646, - 47.5690432 - ], - [ - 8.5533445, - 47.5714611 - ], - [ - 8.552605, - 47.5759896 - ], - [ - 8.5500736, - 47.5780618 - ], - [ - 8.5466605, - 47.5792322 - ], - [ - 8.5435034, - 47.5822828 - ], - [ - 8.5431905, - 47.5851029 - ], - [ - 8.548879, - 47.5879038 - ], - [ - 8.5517517, - 47.5877695 - ], - [ - 8.5576393, - 47.5896302 - ], - [ - 8.5611378, - 47.5915101 - ], - [ - 8.5626452, - 47.5945983 - ], - [ - 8.566684, - 47.5956532 - ], - [ - 8.5690163, - 47.5974754 - ], - [ - 8.5695283, - 47.6004865 - ], - [ - 8.5723726, - 47.6038618 - ], - [ - 8.5730836, - 47.6064124 - ], - [ - 8.575615, - 47.6067575 - ], - [ - 8.5789997, - 47.608445 - ], - [ - 8.5807631, - 47.6103051 - ], - [ - 8.5812466, - 47.6120308 - ], - [ - 8.5802511, - 47.6145617 - ], - [ - 8.5771224, - 47.616364 - ], - [ - 8.5752452, - 47.6195658 - ], - [ - 8.5727707, - 47.6210995 - ], - [ - 8.5678502, - 47.6216363 - ], - [ - 8.5634132, - 47.6269655 - ], - [ - 8.5610524, - 47.628384 - ], - [ - 8.5480258, - 47.629975 - ], - [ - 8.5455797, - 47.6312209 - ], - [ - 8.5449824, - 47.6329651 - ], - [ - 8.5428777, - 47.6345751 - ], - [ - 8.5399481, - 47.6356484 - ], - [ - 8.5276894, - 47.6363383 - ], - [ - 8.5211191, - 47.6388681 - ], - [ - 8.5147765, - 47.638504 - ], - [ - 8.5093155, - 47.6355909 - ], - [ - 8.5082916, - 47.6294191 - ], - [ - 8.5016076, - 47.6259687 - ], - [ - 8.5006974, - 47.6242051 - ], - [ - 8.5014938, - 47.6215404 - ], - [ - 8.4925344, - 47.6189331 - ], - [ - 8.4888369, - 47.6195275 - ], - [ - 8.4766919, - 47.6193741 - ], - [ - 8.4743881, - 47.6183771 - ], - [ - 8.4715439, - 47.6149452 - ], - [ - 8.4712879, - 47.6130662 - ], - [ - 8.4678463, - 47.6127211 - ], - [ - 8.4644617, - 47.6110912 - ], - [ - 8.4617312, - 47.606585 - ], - [ - 8.4551894, - 47.6067575 - ], - [ - 8.4506102, - 47.6041111 - ], - [ - 8.4498991, - 47.6016372 - ], - [ - 8.4506955, - 47.595845 - ], - [ - 8.4538242, - 47.5934283 - ], - [ - 8.4542792, - 47.5865993 - ], - [ - 8.4562987, - 47.584796 - ], - [ - 8.4601384, - 47.5838176 - ], - [ - 8.463324, - 47.5804409 - ], - [ - 8.4688134, - 47.5795008 - ], - [ - 8.4621863, - 47.5765268 - ], - [ - 8.4541939, - 47.5766803 - ], - [ - 8.4364174, - 47.5715379 - ], - [ - 8.4316106, - 47.5710198 - ], - [ - 8.4247559, - 47.5723054 - ], - [ - 8.4147726, - 47.5687937 - ], - [ - 8.4130376, - 47.5674504 - ], - [ - 8.4103356, - 47.5619423 - ], - [ - 8.4103925, - 47.5597159 - ], - [ - 8.4078895, - 47.5546486 - ], - [ - 8.4084584, - 47.5501758 - ], - [ - 8.3996412, - 47.5444356 - ], - [ - 8.3960859, - 47.5429956 - ], - [ - 8.3946922, - 47.5409412 - ], - [ - 8.3949482, - 47.5367361 - ], - [ - 8.3913644, - 47.53568 - ], - [ - 8.3883495, - 47.5330492 - ], - [ - 8.3852493, - 47.5331644 - ], - [ - 8.3811251, - 47.5321851 - ], - [ - 8.3773991, - 47.5296885 - ], - [ - 8.3751806, - 47.5267885 - ], - [ - 8.3727915, - 47.5165125 - ], - [ - 8.3657946, - 47.5166278 - ], - [ - 8.3566646, - 47.5134773 - ], - [ - 8.3543892, - 47.5110375 - ], - [ - 8.3510329, - 47.503141 - ], - [ - 8.3523982, - 47.499567 - ], - [ - 8.3516302, - 47.4972995 - ], - [ - 8.3527395, - 47.4948398 - ], - [ - 8.3545029, - 47.4935522 - ], - [ - 8.3556975, - 47.4897854 - ], - [ - 8.3553278, - 47.4852494 - ], - [ - 8.3569774, - 47.4793099 - ], - [ - 8.3589115, - 47.477426 - ], - [ - 8.3618695, - 47.4764455 - ], - [ - 8.3672167, - 47.4765417 - ], - [ - 8.3670176, - 47.4748691 - ], - [ - 8.3607318, - 47.4722161 - ], - [ - 8.3590253, - 47.4660443 - ], - [ - 8.3599639, - 47.4638138 - ], - [ - 8.3632632, - 47.4620447 - ], - [ - 8.367302, - 47.4565256 - ], - [ - 8.3697481, - 47.4550448 - ], - [ - 8.3739292, - 47.4547178 - ], - [ - 8.3775414, - 47.452006 - ], - [ - 8.3758348, - 47.4506789 - ], - [ - 8.3744127, - 47.4461396 - ], - [ - 8.376233, - 47.4381757 - ], - [ - 8.3716822, - 47.436752 - ], - [ - 8.3685535, - 47.4340585 - ], - [ - 8.3680984, - 47.4315766 - ], - [ - 8.369037, - 47.4286327 - ], - [ - 8.3722226, - 47.426035 - ], - [ - 8.3828317, - 47.4234564 - ], - [ - 8.3837134, - 47.4225135 - ], - [ - 8.3807269, - 47.4220709 - ], - [ - 8.3755504, - 47.4177986 - ], - [ - 8.375977, - 47.4137761 - ], - [ - 8.3744127, - 47.4090604 - ], - [ - 8.3606749, - 47.406635 - ], - [ - 8.3578876, - 47.4054222 - ], - [ - 8.3562948, - 47.4037667 - ], - [ - 8.3566077, - 47.3996084 - ], - [ - 8.3619549, - 47.3951609 - ], - [ - 8.3657662, - 47.3942945 - ], - [ - 8.3760055, - 47.3946988 - ], - [ - 8.3774276, - 47.3921765 - ], - [ - 8.3803572, - 47.390482 - ], - [ - 8.38761, - 47.3903473 - ], - [ - 8.3883211, - 47.3801216 - ], - [ - 8.3903405, - 47.375268 - ], - [ - 8.3935545, - 47.3718972 - ], - [ - 8.3938674, - 47.3694508 - ], - [ - 8.3957446, - 47.3671007 - ], - [ - 8.3990154, - 47.3660796 - ], - [ - 8.3983613, - 47.3640761 - ], - [ - 8.4001247, - 47.3609358 - ], - [ - 8.4010349, - 47.354327 - ], - [ - 8.3972805, - 47.3467731 - ], - [ - 8.3977924, - 47.3447496 - ], - [ - 8.4018597, - 47.3391025 - ], - [ - 8.4093116, - 47.334091 - ], - [ - 8.4060976, - 47.3297537 - ], - [ - 8.4057848, - 47.3266691 - ], - [ - 8.406894, - 47.3244713 - ], - [ - 8.4129523, - 47.3204996 - ], - [ - 8.4161094, - 47.3199597 - ], - [ - 8.4294774, - 47.3222734 - ], - [ - 8.4355641, - 47.3208273 - ], - [ - 8.4343695, - 47.3195355 - ], - [ - 8.4315537, - 47.3185136 - ], - [ - 8.4260927, - 47.3137508 - ], - [ - 8.4227649, - 47.3070589 - ], - [ - 8.4231063, - 47.3036838 - ], - [ - 8.4174462, - 47.3015043 - ], - [ - 8.4137202, - 47.2982445 - ], - [ - 8.4001247, - 47.2956404 - ], - [ - 8.3976787, - 47.2939235 - ], - [ - 8.3951757, - 47.2951581 - ], - [ - 8.39108, - 47.2955247 - ], - [ - 8.3860172, - 47.2943672 - ], - [ - 8.3827179, - 47.2922452 - ], - [ - 8.3819784, - 47.2903353 - ], - [ - 8.3825472, - 47.2880974 - ], - [ - 8.3850786, - 47.2856472 - ], - [ - 8.3897716, - 47.2750731 - ], - [ - 8.3956308, - 47.2710011 - ], - [ - 8.3940665, - 47.2667166 - ], - [ - 8.3941518, - 47.263609 - ], - [ - 8.3975649, - 47.2598644 - ], - [ - 8.3961428, - 47.2548067 - ], - [ - 8.3974227, - 47.2518915 - ], - [ - 8.4064674, - 47.2445161 - ], - [ - 8.4082593, - 47.2411756 - ], - [ - 8.4076051, - 47.2395728 - ], - [ - 8.4095961, - 47.2358457 - ], - [ - 8.4107338, - 47.2279852 - ], - [ - 8.4124806, - 47.2243309 - ], - [ - 8.4169461, - 47.2201391 - ], - [ - 8.4195912, - 47.2190187 - ], - [ - 8.4226915, - 47.2188641 - ], - [ - 8.4297736, - 47.2200039 - ], - [ - 8.4393588, - 47.2193664 - ], - [ - 8.4499963, - 47.2136286 - ], - [ - 8.454604, - 47.2133388 - ], - [ - 8.4562536, - 47.2108078 - ], - [ - 8.4590979, - 47.2093394 - ], - [ - 8.4644735, - 47.2092814 - ], - [ - 8.4660947, - 47.2086245 - ], - [ - 8.468682, - 47.2053299 - ], - [ - 8.4732876, - 47.2039772 - ], - [ - 8.4769279, - 47.2045784 - ], - [ - 8.4839872, - 47.2039225 - ], - [ - 8.4948878, - 47.2073794 - ], - [ - 8.5039985, - 47.2076799 - ], - [ - 8.5153818, - 47.2115191 - ], - [ - 8.5175338, - 47.2127076 - ], - [ - 8.5190623, - 47.2149481 - ], - [ - 8.5306003, - 47.213063 - ], - [ - 8.533074, - 47.2132543 - ], - [ - 8.5415009, - 47.217776 - ], - [ - 8.5445579, - 47.2170657 - ], - [ - 8.5540708, - 47.2172569 - ], - [ - 8.5585759, - 47.2151668 - ], - [ - 8.5698386, - 47.2138964 - ], - [ - 8.5749129, - 47.2125501 - ], - [ - 8.5774872, - 47.2077137 - ], - [ - 8.5804437, - 47.206402 - ], - [ - 8.5840839, - 47.2060331 - ], - [ - 8.5901175, - 47.2071398 - ], - [ - 8.5896549, - 47.2045985 - ], - [ - 8.5907409, - 47.2019476 - ], - [ - 8.5935767, - 47.1985998 - ], - [ - 8.5958091, - 47.1975339 - ], - [ - 8.6016818, - 47.1972196 - ], - [ - 8.6065288, - 47.199201 - ], - [ - 8.6072528, - 47.1988457 - ], - [ - 8.6109735, - 47.1938714 - ], - [ - 8.6112752, - 47.1905913 - ], - [ - 8.6139098, - 47.1883772 - ], - [ - 8.6152171, - 47.1851515 - ], - [ - 8.6193803, - 47.1804493 - ], - [ - 8.6197624, - 47.1791779 - ], - [ - 8.6172082, - 47.1735865 - ], - [ - 8.6196015, - 47.1697994 - ], - [ - 8.62292, - 47.1682133 - ], - [ - 8.6339011, - 47.1671468 - ], - [ - 8.6356106, - 47.1657794 - ], - [ - 8.6396531, - 47.1645898 - ], - [ - 8.642871, - 47.1644257 - ], - [ - 8.6521627, - 47.1659846 - ], - [ - 8.6542543, - 47.1655196 - ], - [ - 8.6548979, - 47.159667 - ], - [ - 8.6564867, - 47.1578345 - ], - [ - 8.6588197, - 47.1565763 - ], - [ - 8.6685337, - 47.1549215 - ], - [ - 8.678469, - 47.1555779 - ], - [ - 8.6824109, - 47.1575883 - ], - [ - 8.6936133, - 47.1589832 - ], - [ - 8.6980379, - 47.1613353 - ], - [ - 8.6988625, - 47.163031 - ], - [ - 8.697696, - 47.1703326 - ], - [ - 8.6959865, - 47.1723151 - ], - [ - 8.6891887, - 47.1756646 - ], - [ - 8.6871976, - 47.1795881 - ], - [ - 8.6879015, - 47.1822947 - ], - [ - 8.6918635, - 47.1848508 - ], - [ - 8.698239, - 47.1920537 - ], - [ - 8.7032268, - 47.1932564 - ], - [ - 8.7085162, - 47.196017 - ], - [ - 8.714228, - 47.1969326 - ], - [ - 8.716923, - 47.1989277 - ], - [ - 8.7421232, - 47.2070988 - ], - [ - 8.74218, - 47.2135521 - ], - [ - 8.7133786, - 47.2138825 - ] - ] - ], - terms_text: "Kanton Zürich Orthophotos 2014/2015", - best: true - }, - { - id: "kartverket-friluft", - name: "Kartverket Hiking Trails", - type: "wms", - template: "https://wms.geonorge.no/skwms1/wms.friluftsruter2?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Fotrute&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 6, - 24 - ], - polygon: [ - [ - [ - 31.904253, - 70.4368136 - ], - [ - 28.4765186, - 71.3289643 - ], - [ - 23.6865015, - 71.2514263 - ], - [ - 16.8090601, - 70.0730823 - ], - [ - 11.1620655, - 67.5253903 - ], - [ - 9.975542, - 64.811576 - ], - [ - 4.2187061, - 62.1449966 - ], - [ - 4.3725367, - 59.1871966 - ], - [ - 6.1743055, - 57.8915032 - ], - [ - 7.932118, - 57.7393554 - ], - [ - 10.777577, - 58.8649103 - ], - [ - 11.7224012, - 58.762509 - ], - [ - 12.722157, - 60.1141506 - ], - [ - 13.0517469, - 61.3493518 - ], - [ - 12.5243921, - 63.6169922 - ], - [ - 14.2382593, - 63.9856094 - ], - [ - 15.1171656, - 65.9016624 - ], - [ - 18.6987085, - 68.3749083 - ], - [ - 20.0610132, - 68.2612583 - ], - [ - 21.0058375, - 68.7841518 - ], - [ - 25.2465601, - 68.3506025 - ], - [ - 26.9384546, - 69.8472011 - ], - [ - 28.7621851, - 69.6112133 - ], - [ - 28.5864039, - 68.8556004 - ], - [ - 31.069314, - 69.5191547 - ], - [ - 31.904253, - 70.4368136 - ] - ] - ], - terms_url: "https://kartverket.no/geodataarbeid/temadata/nasjonal-database-for-tur--og-friluftsruter/", - terms_text: "© Kartverket", - description: "Hiking trails from the Norwegian database `Tur- og Friluftsruter´, including DNT routes.", - icon: "https://www.kartverket.no/Content/Images/logo-graphic-512.png", - overlay: true - }, - { - id: "kartverket-topo4", - name: "Kartverket N50 topo", - type: "tms", - template: "https://opencache{switch:,2,3}.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo4&zoom={zoom}&x={x}&y={y}", - scaleExtent: [ - 3, - 15 - ], - polygon: [ - [ - [ - 31.904253, - 70.4368136 - ], - [ - 28.4765186, - 71.3289643 - ], - [ - 23.6865015, - 71.2514263 - ], - [ - 16.8090601, - 70.0730823 - ], - [ - 11.1620655, - 67.5253903 - ], - [ - 9.975542, - 64.811576 - ], - [ - 4.2187061, - 62.1449966 - ], - [ - 4.3725367, - 59.1871966 - ], - [ - 6.1743055, - 57.8915032 - ], - [ - 7.932118, - 57.7393554 - ], - [ - 10.777577, - 58.8649103 - ], - [ - 11.7224012, - 58.762509 - ], - [ - 12.722157, - 60.1141506 - ], - [ - 13.0517469, - 61.3493518 - ], - [ - 12.5243921, - 63.6169922 - ], - [ - 14.2382593, - 63.9856094 - ], - [ - 15.1171656, - 65.9016624 - ], - [ - 18.6987085, - 68.3749083 - ], - [ - 20.0610132, - 68.2612583 - ], - [ - 21.0058375, - 68.7841518 - ], - [ - 25.2465601, - 68.3506025 - ], - [ - 26.9384546, - 69.8472011 - ], - [ - 28.7621851, - 69.6112133 - ], - [ - 28.5864039, - 68.8556004 - ], - [ - 31.069314, - 69.5191547 - ], - [ - 31.904253, - 70.4368136 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/No:Kartverket_import", - terms_text: "© Kartverket", - description: "Topographic map N50, equivalent to Norway 1:50.000 paper map series.", - icon: "https://www.kartverket.no/Content/Images/logo-graphic-512.png" - }, - { - id: "kartverket-vegnett", - name: "Kartverket Road Network", - type: "wms", - template: "https://openwms.statkart.no/skwms1/wms.vegnett?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=all&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 3, - 24 - ], - polygon: [ - [ - [ - 31.904253, - 70.4368136 - ], - [ - 28.4765186, - 71.3289643 - ], - [ - 23.6865015, - 71.2514263 - ], - [ - 16.8090601, - 70.0730823 - ], - [ - 11.1620655, - 67.5253903 - ], - [ - 9.975542, - 64.811576 - ], - [ - 4.2187061, - 62.1449966 - ], - [ - 4.3725367, - 59.1871966 - ], - [ - 6.1743055, - 57.8915032 - ], - [ - 7.932118, - 57.7393554 - ], - [ - 10.777577, - 58.8649103 - ], - [ - 11.7224012, - 58.762509 - ], - [ - 12.722157, - 60.1141506 - ], - [ - 13.0517469, - 61.3493518 - ], - [ - 12.5243921, - 63.6169922 - ], - [ - 14.2382593, - 63.9856094 - ], - [ - 15.1171656, - 65.9016624 - ], - [ - 18.6987085, - 68.3749083 - ], - [ - 20.0610132, - 68.2612583 - ], - [ - 21.0058375, - 68.7841518 - ], - [ - 25.2465601, - 68.3506025 - ], - [ - 26.9384546, - 69.8472011 - ], - [ - 28.7621851, - 69.6112133 - ], - [ - 28.5864039, - 68.8556004 - ], - [ - 31.069314, - 69.5191547 - ], - [ - 31.904253, - 70.4368136 - ] - ] - ], - terms_url: "https://www.kartverket.no/data/kartdata/vegdata/", - terms_text: "© Kartverket", - description: "Norwegian road network from the National Road database (NVDB). Colours represent national, county, municipal, private and forest roads + footways/cycleways.", - icon: "https://www.kartverket.no/Content/Images/logo-graphic-512.png", - overlay: true - }, - { - id: "kelowna_2012", - name: "Kelowna 2012", - type: "tms", - template: "http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna2012/{zoom}/{x}/{y}.png", - endDate: "2012-05-14T00:00:00.000Z", - startDate: "2012-05-13T00:00:00.000Z", - 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 - ], - [ - -119.5867318, - 49.7928087 - ] - ] - ], - description: "High quality aerial imagery taken for the City of Kelowna" - }, - { - id: "kelowna_roads", - 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 - ], - [ - -119.5867318, - 49.7928087 - ] - ] - ], - overlay: true - }, - { - id: "landsat_233055", - name: "Landsat 233055", - type: "tms", - template: "http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_233055/{zoom}/{x}/{y}.png", - endDate: "2013-09-03T00:00:00.000Z", - startDate: "2013-09-03T00:00:00.000Z", - scaleExtent: [ - 5, - 14 - ], - polygon: [ - [ - [ - -60.8550011, - 6.1765004 - ], - [ - -60.4762612, - 7.9188291 - ], - [ - -62.161689, - 8.2778675 - ], - [ - -62.5322549, - 6.5375488 - ], - [ - -60.8550011, - 6.1765004 - ] - ] - ], - description: "Recent Landsat imagery" - }, - { - id: "osmse-ekonomiska", - name: "Lantmäteriet Economic Map (historic)", - type: "tms", - template: "https://mapproxy.openstreetmap.se/tms/1.0.0/ek_EPSG3857/{zoom}/{x}/{-y}.jpeg", - scaleExtent: [ - 3, - 17 - ], - polygon: [ - [ - [ - 12.7111707, - 55.2666045 - ], - [ - 14.3810926, - 55.2916348 - ], - [ - 19.6545301, - 57.2493436 - ], - [ - 19.852284, - 59.7508666 - ], - [ - 17.775868, - 61.1379379 - ], - [ - 18.0615125, - 62.2781508 - ], - [ - 20.9728895, - 63.5779045 - ], - [ - 24.3566785, - 65.6084197 - ], - [ - 23.9611707, - 66.7919139 - ], - [ - 20.6103406, - 66.451891 - ], - [ - 17.1386609, - 63.9663237 - ], - [ - 11.9970594, - 61.0370176 - ], - [ - 12.2936902, - 60.3160739 - ], - [ - 10.7006727, - 58.8137475 - ], - [ - 12.7111707, - 55.2666045 - ] - ] - ], - terms_url: "https://www.lantmateriet.se", - terms_text: "© Lantmäteriet", - description: "Scan of ´Economic maps´ ca 1950-1980", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA0CAMAAADPNIq/AAAA7VBMVEVHcEz1NzT1NjT4NzTwNTLzNjP4ODX3NzTyNTPyNS/zNjPyNjPxNTP2NzTvMi70NjPzNjP0NjL1NjP3NzP1NzT1NjP0NjP3NzT/Njb0NjP3NzT4ODP0NjPzNjP2NzX2NzTvLCzzNjTtNC/zNTPyNDP5NzT0NjTzNjP1NjPtMy72NzT5ODX3ODT1NjT1NzTyNjP1NzTyODD0NzT/Ozj/OjfzNzT9OTb3NzT0NDH/ODX6ODX1NzT/PDn5NTL4ODX0NjP2PTr8YmL1OTb9Y2P2QT/4TUz3R0X+Zmb7ODX8X1/4Skj6UlH7W1r+NjP5T03RuQwnAAAAMnRSTlMA8SH8F63p7FkZsHRcsw/ErCddmTKo2/QD+34roLpExwfMG25W1djATRKRk9CG+VOkPjR6UnQAAAIzSURBVEjHnZXpVuowEIDZC3gBBRQEBNerqN4lk9bS1FIqUAH0/R/HbkmT0haOc/jDnK/zTZihyWR+GP3my6BaHbw0+2lUrvecn3gBYD33cglY5akz+TTMuROmOjWw3nmqxHHNEn4zv7armROrDZoiZOilX7vcI3yam5ltv7thrywHRLICj1HuVFeXM3u23SyWy+V6bboccoueitxAVxf2ajFHahAoCKIPeO7I4d4XlqpOUTSIfhRy7fzbemvGUJ4932ZgYzLfIBXFhwwNyj0AWVpJnCOHhwC8x6bFaQkxiEDCfTBey0CMkzXAhoFBk/kuT/wjA/90tnXbbv9tSULSP3gNuHZqwSbkahD6oeamumdKmOHm8C98XjnrOolCVgsTlyF4+ZsV0LIFJ3FybrCCTX5cZVbSOHdP00cU1KQ6D9alDwoid99zfyiIR+KmNLBQccx6xBcieIGFHrusaXwlgldYOHWmSJs2OsJ/pJKlPUHVS9xAZAJ0ScP8jT8EdhqtdM0VLGmRWYczlPFoTLnxCNO9AHrI//iVSe6Gfm54x8QED+nTRZBZTaXRK5d7DYXVk4OjeO1I4V4QDNj5hKvzIV3zY+V3mghfxAU4Bjnpr1UVhlDg5EIoUuRFJco58c5rqqjL+8WJ8h1xgjxGLP7sKeJYeaw4Rp4g3vnZZSgmXh+FknKAOCJPEQvyNLEgTxVzcgLlfbemJ98nZnJFKuy/iG+BHCD2bzv9+KC7vd5q1TM/j284bszID7oc+QAAAABJRU5ErkJggg==" - }, - { - id: "lu.geoportail.opendata.ortholatest", - name: "Latest available ortho geoportail.lu", - type: "tms", - template: "http://{switch:wmts1,wmts2}.geoportail.lu/opendata/wmts/ortho_latest/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg", - endDate: "2017-06-22T00:00:00.000Z", - startDate: "2017-06-14T00:00:00.000Z", - 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", - best: true, - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "landsat_047026", - name: "Latest southwest British Columbia Landsat", - type: "tms", - template: "http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_047026/{zoom}/{x}/{y}.png", - endDate: "2013-09-12T00:00:00.000Z", - startDate: "2013-09-12T00:00:00.000Z", - 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 - ], - [ - -121.9355512, - 47.7820648 - ] - ] - ], - description: "Recent lower-resolution landsat imagery for southwest British Columbia" - }, - { - id: "Lausanne-2012", - name: "Lausanne - Orthophoto technique 2012", - type: "tms", - template: "http://osmdata.asitvd.ch/tiles/lausanne2012/{zoom}/{x}/{y}.png", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - scaleExtent: [ - 14, - 20 - ], - polygon: [ - [ - [ - 6.6666848, - 46.4944086 - ], - [ - 6.6163719, - 46.4940643 - ], - [ - 6.6163553, - 46.4983636 - ], - [ - 6.6013468, - 46.4982495 - ], - [ - 6.6013136, - 46.5022748 - ], - [ - 6.5592343, - 46.5019436 - ], - [ - 6.5577253, - 46.5968689 - ], - [ - 6.7289549, - 46.5980474 - ], - [ - 6.7304012, - 46.490042 - ], - [ - 6.677024, - 46.4897774 - ], - [ - 6.6770269, - 46.4901091 - ], - [ - 6.6734462, - 46.490056 - ], - [ - 6.6734711, - 46.4904096 - ], - [ - 6.6667206, - 46.4903583 - ], - [ - 6.6666848, - 46.4944086 - ] - ] - ], - terms_url: "http://carto.lausanne.ch/lausanne-gc/", - terms_text: "Ville de Lausanne - Orthophoto technique 2012" - }, - { - id: "LINZ_NZ_Aerial_Imagery", - name: "LINZ NZ Aerial Imagery", - type: "tms", - template: "https://tiles-a.data-cdn.linz.govt.nz/services;key=3197c6d0e5cb494a95d58dc2de3216c2/tiles/v4/set=2/EPSG:3857/{zoom}/{x}/{y}.png", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 167.2503662109375, - -47.21956811231548 - ], - [ - 167.244873046875, - -47.28016067076474 - ], - [ - 167.5030517578125, - -47.37975438400816 - ], - [ - 168.2501220703125, - -47.15610477504402 - ], - [ - 168.7445068359375, - -46.79629898997744 - ], - [ - 169.3267822265625, - -46.75491661928188 - ], - [ - 169.78271484375, - -46.604167162931844 - ], - [ - 170.4254150390625, - -46.11132565729794 - ], - [ - 170.804443359375, - -45.95114968669139 - ], - [ - 170.9527587890625, - -45.440862671781744 - ], - [ - 171.309814453125, - -44.91035917458493 - ], - [ - 171.40869140625, - -44.39061697878681 - ], - [ - 172.562255859375, - -43.92954993561458 - ], - [ - 172.90283203125, - -43.96909818325171 - ], - [ - 173.1610107421875, - -43.90976594390799 - ], - [ - 173.2598876953125, - -43.69567969789881 - ], - [ - 172.9742431640625, - -43.53660274231031 - ], - [ - 172.760009765625, - -43.37710501700071 - ], - [ - 173.1500244140625, - -43.17714134663171 - ], - [ - 173.704833984375, - -42.63395872267314 - ], - [ - 174.36401367187497, - -41.78360106648077 - ], - [ - 174.320068359375, - -41.409775832009544 - ], - [ - 174.84741210937497, - -41.52914198872309 - ], - [ - 175.0726318359375, - -41.70572851523751 - ], - [ - 175.506591796875, - -41.672911819602085 - ], - [ - 176.2261962890625, - -41.10832999732831 - ], - [ - 176.8304443359375, - -40.42604212826493 - ], - [ - 177.17102050781247, - -39.67337039176559 - ], - [ - 177.0391845703125, - -39.39375459224347 - ], - [ - 177.4456787109375, - -39.18117526158747 - ], - [ - 177.60498046875, - -39.3300485529424 - ], - [ - 177.978515625, - -39.368279149160124 - ], - [ - 178.3355712890625, - -38.65977773071253 - ], - [ - 178.7091064453125, - -37.74465712069938 - ], - [ - 178.626708984375, - -37.54457732085582 - ], - [ - 178.3135986328125, - -37.43125050179357 - ], - [ - 177.6214599609375, - -37.37888785004525 - ], - [ - 177.0391845703125, - -37.39634613318924 - ], - [ - 176.561279296875, - -37.37015718405751 - ], - [ - 176.3360595703125, - -37.05956083025124 - ], - [ - 176.0064697265625, - -36.29741818650809 - ], - [ - 175.6768798828125, - -36.05354012833974 - ], - [ - 174.671630859375, - -35.1782983520012 - ], - [ - 173.1939697265625, - -34.28445325435288 - ], - [ - 172.6776123046875, - -34.234512362369856 - ], - [ - 172.386474609375, - -34.40237742424137 - ], - [ - 172.4798583984375, - -34.71903991764788 - ], - [ - 172.9852294921875, - -35.32184842037683 - ], - [ - 173.56201171875, - -36.142310873529986 - ], - [ - 174.30908203125, - -37.077093191754415 - ], - [ - 174.5562744140625, - -38.052416771864834 - ], - [ - 174.4793701171875, - -38.655488159952995 - ], - [ - 174.3255615234375, - -38.865374851611634 - ], - [ - 173.7982177734375, - -38.95940879245421 - ], - [ - 173.60595703125, - -39.232253141714885 - ], - [ - 173.6993408203125, - -39.56335316582929 - ], - [ - 174.5892333984375, - -39.95606977009003 - ], - [ - 174.9847412109375, - -40.216635475391215 - ], - [ - 174.9847412109375, - -40.49291502689579 - ], - [ - 174.7210693359375, - -40.805493843894155 - ], - [ - 174.1497802734375, - -40.65147128144056 - ], - [ - 173.2818603515625, - -40.43440488077009 - ], - [ - 172.5897216796875, - -40.350730565917885 - ], - [ - 172.0843505859375, - -40.534676780615406 - ], - [ - 171.7657470703125, - -40.826280356677124 - ], - [ - 171.57348632812497, - -41.3974150664646 - ], - [ - 171.2823486328125, - -41.652392884268124 - ], - [ - 170.8758544921875, - -42.53284428171312 - ], - [ - 170.35400390625, - -42.87193842444846 - ], - [ - 168.277587890625, - -43.92954993561458 - ], - [ - 167.6239013671875, - -44.47691085722324 - ], - [ - 166.55273437499997, - -45.38687734827038 - ], - [ - 166.27258300781247, - -45.916765867649 - ], - [ - 166.4813232421875, - -46.22545288226937 - ], - [ - 167.6788330078125, - -46.471916320870406 - ], - [ - 167.2503662109375, - -47.21956811231548 - ] - ] - ], - terms_url: "https://www.linz.govt.nz/data/licensing-and-using-data/attributing-elevation-or-aerial-imagery-data", - terms_text: "Sourced from LINZ CC-BY 3.0", - best: true - }, - { - id: "LINZ_NZ_Topo50_Gridless_Maps", - name: "LINZ NZ Topo50 Gridless Maps", - type: "tms", - template: "https://tiles-a.data-cdn.linz.govt.nz/services;key=3197c6d0e5cb494a95d58dc2de3216c2/tiles/v4/layer=2343/EPSG:3857/{zoom}/{x}/{y}.png", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 167.2503662109375, - -47.21956811231548 - ], - [ - 167.244873046875, - -47.28016067076474 - ], - [ - 167.5030517578125, - -47.37975438400816 - ], - [ - 168.2501220703125, - -47.15610477504402 - ], - [ - 168.7445068359375, - -46.79629898997744 - ], - [ - 169.3267822265625, - -46.75491661928188 - ], - [ - 169.78271484375, - -46.604167162931844 - ], - [ - 170.4254150390625, - -46.11132565729794 - ], - [ - 170.804443359375, - -45.95114968669139 - ], - [ - 170.9527587890625, - -45.440862671781744 - ], - [ - 171.309814453125, - -44.91035917458493 - ], - [ - 171.40869140625, - -44.39061697878681 - ], - [ - 172.562255859375, - -43.92954993561458 - ], - [ - 172.90283203125, - -43.96909818325171 - ], - [ - 173.1610107421875, - -43.90976594390799 - ], - [ - 173.2598876953125, - -43.69567969789881 - ], - [ - 172.9742431640625, - -43.53660274231031 - ], - [ - 172.760009765625, - -43.37710501700071 - ], - [ - 173.1500244140625, - -43.17714134663171 - ], - [ - 173.704833984375, - -42.63395872267314 - ], - [ - 174.36401367187497, - -41.78360106648077 - ], - [ - 174.320068359375, - -41.409775832009544 - ], - [ - 174.84741210937497, - -41.52914198872309 - ], - [ - 175.0726318359375, - -41.70572851523751 - ], - [ - 175.506591796875, - -41.672911819602085 - ], - [ - 176.2261962890625, - -41.10832999732831 - ], - [ - 176.8304443359375, - -40.42604212826493 - ], - [ - 177.17102050781247, - -39.67337039176559 - ], - [ - 177.0391845703125, - -39.39375459224347 - ], - [ - 177.4456787109375, - -39.18117526158747 - ], - [ - 177.60498046875, - -39.3300485529424 - ], - [ - 177.978515625, - -39.368279149160124 - ], - [ - 178.3355712890625, - -38.65977773071253 - ], - [ - 178.7091064453125, - -37.74465712069938 - ], - [ - 178.626708984375, - -37.54457732085582 - ], - [ - 178.3135986328125, - -37.43125050179357 - ], - [ - 177.6214599609375, - -37.37888785004525 - ], - [ - 177.0391845703125, - -37.39634613318924 - ], - [ - 176.561279296875, - -37.37015718405751 - ], - [ - 176.3360595703125, - -37.05956083025124 - ], - [ - 176.0064697265625, - -36.29741818650809 - ], - [ - 175.6768798828125, - -36.05354012833974 - ], - [ - 174.671630859375, - -35.1782983520012 - ], - [ - 173.1939697265625, - -34.28445325435288 - ], - [ - 172.6776123046875, - -34.234512362369856 - ], - [ - 172.386474609375, - -34.40237742424137 - ], - [ - 172.4798583984375, - -34.71903991764788 - ], - [ - 172.9852294921875, - -35.32184842037683 - ], - [ - 173.56201171875, - -36.142310873529986 - ], - [ - 174.30908203125, - -37.077093191754415 - ], - [ - 174.5562744140625, - -38.052416771864834 - ], - [ - 174.4793701171875, - -38.655488159952995 - ], - [ - 174.3255615234375, - -38.865374851611634 - ], - [ - 173.7982177734375, - -38.95940879245421 - ], - [ - 173.60595703125, - -39.232253141714885 - ], - [ - 173.6993408203125, - -39.56335316582929 - ], - [ - 174.5892333984375, - -39.95606977009003 - ], - [ - 174.9847412109375, - -40.216635475391215 - ], - [ - 174.9847412109375, - -40.49291502689579 - ], - [ - 174.7210693359375, - -40.805493843894155 - ], - [ - 174.1497802734375, - -40.65147128144056 - ], - [ - 173.2818603515625, - -40.43440488077009 - ], - [ - 172.5897216796875, - -40.350730565917885 - ], - [ - 172.0843505859375, - -40.534676780615406 - ], - [ - 171.7657470703125, - -40.826280356677124 - ], - [ - 171.57348632812497, - -41.3974150664646 - ], - [ - 171.2823486328125, - -41.652392884268124 - ], - [ - 170.8758544921875, - -42.53284428171312 - ], - [ - 170.35400390625, - -42.87193842444846 - ], - [ - 168.277587890625, - -43.92954993561458 - ], - [ - 167.6239013671875, - -44.47691085722324 - ], - [ - 166.55273437499997, - -45.38687734827038 - ], - [ - 166.27258300781247, - -45.916765867649 - ], - [ - 166.4813232421875, - -46.22545288226937 - ], - [ - 167.6788330078125, - -46.471916320870406 - ], - [ - 167.2503662109375, - -47.21956811231548 - ] - ] - ], - terms_url: "https://data.linz.govt.nz/layer/2343-nz-mainland-topo50-gridless-maps", - terms_text: "Sourced from the LINZ Data Service and licensed by LINZ for re-use under the Creative Commons Attribution 3.0 New Zealand licence." - }, - { - id: "ORT10LT", - name: "Lithuania - NŽT ORT10LT", - type: "tms", - template: "https://ort10lt.openmap.lt/g16/{zoom}/{x}/{y}.jpeg", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2010-01-01T00:00:00.000Z", - scaleExtent: [ - 4, - 18 - ], - polygon: [ - [ - [ - 26.2138385, - 55.850748 - ], - [ - 26.3858298, - 55.7045315 - ], - [ - 26.6303618, - 55.6806692 - ], - [ - 26.6205349, - 55.5689227 - ], - [ - 26.5242191, - 55.5099228 - ], - [ - 26.5541476, - 55.388833 - ], - [ - 26.4399286, - 55.3479351 - ], - [ - 26.7919694, - 55.3212027 - ], - [ - 26.8291304, - 55.2763488 - ], - [ - 26.7434625, - 55.2539863 - ], - [ - 26.6764846, - 55.158828 - ], - [ - 26.4611191, - 55.1285624 - ], - [ - 26.3577434, - 55.1505399 - ], - [ - 26.2296342, - 55.1073177 - ], - [ - 26.2713814, - 55.0775905 - ], - [ - 26.2085126, - 54.997414 - ], - [ - 26.0619117, - 54.9416094 - ], - [ - 25.8578176, - 54.9276001 - ], - [ - 25.7429827, - 54.8150641 - ], - [ - 25.7626083, - 54.5769013 - ], - [ - 25.5319352, - 54.3418175 - ], - [ - 25.6771618, - 54.3238109 - ], - [ - 25.7857293, - 54.2336242 - ], - [ - 25.7858844, - 54.1550594 - ], - [ - 25.5550843, - 54.1461918 - ], - [ - 25.5109462, - 54.1750267 - ], - [ - 25.5896725, - 54.2285838 - ], - [ - 25.5136246, - 54.3078472 - ], - [ - 25.2689287, - 54.2744706 - ], - [ - 25.0705963, - 54.1336282 - ], - [ - 24.9573726, - 54.1720575 - ], - [ - 24.8133801, - 54.144862 - ], - [ - 24.7790172, - 54.0999054 - ], - [ - 24.8712786, - 54.034904 - ], - [ - 24.819568, - 53.9977218 - ], - [ - 24.6845912, - 53.9621091 - ], - [ - 24.697865, - 54.0171421 - ], - [ - 24.6259068, - 54.0105048 - ], - [ - 24.4342619, - 53.9014424 - ], - [ - 24.3520594, - 53.8967893 - ], - [ - 24.2016059, - 53.9700069 - ], - [ - 23.9683341, - 53.9266977 - ], - [ - 23.9130177, - 53.9696842 - ], - [ - 23.7781192, - 53.8989169 - ], - [ - 23.7097655, - 53.9394502 - ], - [ - 23.5370435, - 53.9430702 - ], - [ - 23.4822428, - 53.9893848 - ], - [ - 23.5273356, - 54.0473482 - ], - [ - 23.4858579, - 54.1532339 - ], - [ - 23.3867851, - 54.224838 - ], - [ - 23.0421216, - 54.3159745 - ], - [ - 23.0102115, - 54.3827959 - ], - [ - 22.8546899, - 54.4104029 - ], - [ - 22.7919963, - 54.3633227 - ], - [ - 22.7023421, - 54.4528985 - ], - [ - 22.6838586, - 54.585972 - ], - [ - 22.7489713, - 54.6319792 - ], - [ - 22.7429727, - 54.7268221 - ], - [ - 22.8866837, - 54.8135001 - ], - [ - 22.8204005, - 54.9119829 - ], - [ - 22.6424041, - 54.9713362 - ], - [ - 22.5892361, - 55.070243 - ], - [ - 22.080597, - 55.0244812 - ], - [ - 22.0324081, - 55.084098 - ], - [ - 21.9130671, - 55.0816838 - ], - [ - 21.6491949, - 55.1808113 - ], - [ - 21.5015124, - 55.1868198 - ], - [ - 21.3843708, - 55.2936996 - ], - [ - 21.2709829, - 55.2450059 - ], - [ - 21.0983616, - 55.2563884 - ], - [ - 20.9421741, - 55.282453 - ], - [ - 21.0863466, - 55.5618266 - ], - [ - 21.0399547, - 55.8363584 - ], - [ - 21.0640261, - 56.0699542 - ], - [ - 21.2047804, - 56.0811668 - ], - [ - 21.2307958, - 56.1623302 - ], - [ - 21.5021038, - 56.2954952 - ], - [ - 21.7235874, - 56.3138211 - ], - [ - 21.8356623, - 56.37162 - ], - [ - 21.9695397, - 56.3766515 - ], - [ - 22.0153001, - 56.4242811 - ], - [ - 22.4372717, - 56.406405 - ], - [ - 22.6800028, - 56.3515884 - ], - [ - 22.9191739, - 56.3790184 - ], - [ - 22.9466759, - 56.4146477 - ], - [ - 23.0932498, - 56.3046383 - ], - [ - 23.1703443, - 56.3667721 - ], - [ - 23.3064522, - 56.3830535 - ], - [ - 23.5571715, - 56.3338187 - ], - [ - 23.7647953, - 56.3733238 - ], - [ - 23.7666897, - 56.3238079 - ], - [ - 24.0189971, - 56.3297615 - ], - [ - 24.1214631, - 56.2488984 - ], - [ - 24.2857421, - 56.3006367 - ], - [ - 24.4541496, - 56.2581579 - ], - [ - 24.5794651, - 56.2882389 - ], - [ - 24.6284061, - 56.3753322 - ], - [ - 24.9023767, - 56.4805317 - ], - [ - 25.1277405, - 56.2059091 - ], - [ - 25.5771398, - 56.182414 - ], - [ - 25.6731232, - 56.1493667 - ], - [ - 26.2138385, - 55.850748 - ] - ] - ], - terms_url: "https://www.geoportal.lt", - terms_text: "NŽT ORT10LT", - best: true - }, - { - id: "mapbox_locator_overlay", - name: "Locator Overlay", - type: "tms", - template: "https://{switch:a,b,c,d}.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: "https://www.mapbox.com/about/maps", - terms_text: "Terms & Feedback", - "default": true, - description: "Shows major features to help orient you.", - overlay: true - }, - { - id: "Loire_Atlantique-Orthophotos-2012", - name: "Loire-Atlantique - Orthophotos 2012 - 20 cm", - type: "tms", - template: "http://{switch:a,b,c,d,e,f,g,h}.tiles.cg44.makina-corpus.net/ortho-2012/{zoom}/{x}/{-y}.jpg", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 19 - ], - polygon: [ - [ - [ - -1.4863838, - 46.8769078 - ], - [ - -1.5443674, - 46.8487272 - ], - [ - -1.7346797, - 46.8724645 - ], - [ - -1.8927568, - 46.9423436 - ], - [ - -1.9547478, - 46.980844 - ], - [ - -2.070671, - 47.0852054 - ], - [ - -2.2678023, - 47.1265555 - ], - [ - -2.2262684, - 47.1712448 - ], - [ - -2.1921733, - 47.1691377 - ], - [ - -2.1934131, - 47.2554621 - ], - [ - -2.2969381, - 47.2276852 - ], - [ - -2.4165807, - 47.2533583 - ], - [ - -2.5486216, - 47.2857476 - ], - [ - -2.6391284, - 47.4167844 - ], - [ - -2.5057256, - 47.5081195 - ], - [ - -2.3106273, - 47.5302088 - ], - [ - -2.2483636, - 47.5238409 - ], - [ - -2.2322311, - 47.5149928 - ], - [ - -2.1210893, - 47.5467415 - ], - [ - -2.117832, - 47.6012606 - ], - [ - -2.1001019, - 47.6112276 - ], - [ - -2.099813, - 47.6200473 - ], - [ - -2.1114061, - 47.6287298 - ], - [ - -2.1005485, - 47.6514139 - ], - [ - -2.0812094, - 47.6657768 - ], - [ - -1.9801641, - 47.7075082 - ], - [ - -1.8307658, - 47.7241914 - ], - [ - -1.6745485, - 47.7254424 - ], - [ - -1.6373539, - 47.7746256 - ], - [ - -1.4960144, - 47.8175187 - ], - [ - -1.499114, - 47.8416565 - ], - [ - -1.3813311, - 47.8441529 - ], - [ - -1.3459962, - 47.810858 - ], - [ - -1.230073, - 47.7858729 - ], - [ - -1.216435, - 47.7583753 - ], - [ - -1.2263536, - 47.7362834 - ], - [ - -1.2108558, - 47.7316971 - ], - [ - -1.1866793, - 47.7346157 - ], - [ - -1.1519644, - 47.6933233 - ], - [ - -1.1315073, - 47.6365449 - ], - [ - -1.0912132, - 47.6332031 - ], - [ - -0.9926475, - 47.6026991 - ], - [ - -0.9845887, - 47.585977 - ], - [ - -1.0317018, - 47.5500064 - ], - [ - -1.1358467, - 47.5562822 - ], - [ - -1.1327472, - 47.5161046 - ], - [ - -1.0317018, - 47.5177793 - ], - [ - -0.9486339, - 47.5010301 - ], - [ - -0.9368556, - 47.4771532 - ], - [ - -0.9337561, - 47.4385923 - ], - [ - -0.9009008, - 47.3987442 - ], - [ - -0.926937, - 47.3748209 - ], - [ - -0.9715706, - 47.358446 - ], - [ - -1.2833853, - 47.3273618 - ], - [ - -1.2337925, - 47.2609316 - ], - [ - -1.2003173, - 47.2693451 - ], - [ - -1.1649825, - 47.2495712 - ], - [ - -1.1414259, - 47.1763017 - ], - [ - -1.1563037, - 47.1581792 - ], - [ - -1.2065164, - 47.1240248 - ], - [ - -1.2083762, - 47.1096818 - ], - [ - -1.1556838, - 47.1050406 - ], - [ - -1.140806, - 47.0805621 - ], - [ - -1.0943127, - 47.0716964 - ], - [ - -1.0998919, - 47.0319939 - ], - [ - -1.1445254, - 47.0163582 - ], - [ - -1.2158151, - 47.0290362 - ], - [ - -1.2672676, - 47.0632516 - ], - [ - -1.285245, - 47.0218524 - ], - [ - -1.3497157, - 47.0239654 - ], - [ - -1.3391772, - 46.9690007 - ], - [ - -1.3490957, - 46.9444597 - ], - [ - -1.4501411, - 46.9118621 - ], - [ - -1.4750393, - 46.9176026 - ], - [ - -1.4877512, - 46.9306253 - ], - [ - -1.4923538, - 46.9843293 - ], - [ - -1.4864362, - 46.9994285 - ], - [ - -1.4921346, - 47.0272238 - ], - [ - -1.5276404, - 47.0054072 - ], - [ - -1.5296129, - 46.9725161 - ], - [ - -1.5050657, - 46.944393 - ], - [ - -1.5022165, - 46.9297273 - ], - [ - -1.5114217, - 46.9137101 - ], - [ - -1.486217, - 46.8972388 - ], - [ - -1.4863838, - 46.8769078 - ] - ] - ], - terms_url: "http://data.loire-atlantique.fr/licence", - terms_text: "Département de Loire-Atlantique" - }, - { - id: "Lombardia-Italy-CTR-DBT", - name: "Lombardia - Italy (CTR DBT)", - type: "wms", - template: "https://www.cartografia.servizirl.it/arcgis/services/wms/ctr_wms/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Sfondo%20C.T.R.%2010000&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 8.4815995, - 45.2893842 - ], - [ - 8.6308463, - 45.0137199 - ], - [ - 8.7800932, - 44.9818911 - ], - [ - 8.8677461, - 45.0271162 - ], - [ - 9.0714799, - 44.8006338 - ], - [ - 9.1496568, - 44.7905472 - ], - [ - 9.1946678, - 44.6710553 - ], - [ - 9.3154866, - 44.6575759 - ], - [ - 9.3699736, - 44.6980046 - ], - [ - 9.3794496, - 44.8275228 - ], - [ - 9.3320696, - 44.9148254 - ], - [ - 9.4102465, - 45.0371613 - ], - [ - 9.7869171, - 45.0438571 - ], - [ - 9.7869171, - 45.0003204 - ], - [ - 9.938533, - 45.0019955 - ], - [ - 9.933795, - 45.0890333 - ], - [ - 10.0001269, - 45.0907058 - ], - [ - 10.0001269, - 44.9969701 - ], - [ - 10.2014917, - 45.0019955 - ], - [ - 10.2014917, - 44.9500447 - ], - [ - 10.4052255, - 44.9533977 - ], - [ - 10.4052255, - 44.9047588 - ], - [ - 10.4928784, - 44.9030808 - ], - [ - 10.4928784, - 44.8627956 - ], - [ - 10.6516012, - 44.8577579 - ], - [ - 10.6468633, - 44.9030808 - ], - [ - 11.3528245, - 44.8946904 - ], - [ - 11.3551935, - 44.9366303 - ], - [ - 11.4570604, - 44.9332763 - ], - [ - 11.4475844, - 44.9735122 - ], - [ - 11.3623005, - 45.0003204 - ], - [ - 11.3528245, - 45.0923782 - ], - [ - 11.2580646, - 45.095723 - ], - [ - 11.2580646, - 45.137516 - ], - [ - 11.1609357, - 45.1425291 - ], - [ - 11.1609357, - 45.1826181 - ], - [ - 11.0519618, - 45.1909664 - ], - [ - 11.0519618, - 45.234358 - ], - [ - 10.9572019, - 45.2326897 - ], - [ - 10.9572019, - 45.2860508 - ], - [ - 10.857704, - 45.284384 - ], - [ - 10.855335, - 45.3227074 - ], - [ - 10.7463612, - 45.3293697 - ], - [ - 10.7534681, - 45.4740809 - ], - [ - 10.6468633, - 45.4807254 - ], - [ - 10.6030084, - 45.5107366 - ], - [ - 10.5763572, - 45.4737864 - ], - [ - 10.535492, - 45.5003598 - ], - [ - 10.5911634, - 45.5314845 - ], - [ - 10.6166585, - 45.613036 - ], - [ - 10.874287, - 45.840014 - ], - [ - 10.8221691, - 45.8598152 - ], - [ - 10.6752912, - 45.8581654 - ], - [ - 10.5734243, - 45.8102989 - ], - [ - 10.5862444, - 46.0077329 - ], - [ - 10.5016004, - 46.015957 - ], - [ - 10.593248, - 46.1152934 - ], - [ - 10.6089593, - 46.3558255 - ], - [ - 10.6563392, - 46.3868822 - ], - [ - 10.6468633, - 46.4603672 - ], - [ - 10.4147015, - 46.5728517 - ], - [ - 10.3270486, - 46.5679659 - ], - [ - 10.2512407, - 46.6542168 - ], - [ - 10.0735658, - 46.6249395 - ], - [ - 10.0238169, - 46.5321233 - ], - [ - 10.0285549, - 46.4358832 - ], - [ - 10.0735658, - 46.3983197 - ], - [ - 10.1209458, - 46.3966859 - ], - [ - 10.0783038, - 46.3280229 - ], - [ - 10.1446358, - 46.2658249 - ], - [ - 10.1043628, - 46.247807 - ], - [ - 9.9740679, - 46.4081214 - ], - [ - 9.7111092, - 46.3689041 - ], - [ - 9.6874192, - 46.3231151 - ], - [ - 9.6187183, - 46.3067526 - ], - [ - 9.5571244, - 46.3247511 - ], - [ - 9.5026374, - 46.3901503 - ], - [ - 9.4789475, - 46.525604 - ], - [ - 9.2562617, - 46.5158234 - ], - [ - 9.2254647, - 46.4407808 - ], - [ - 9.2728447, - 46.3443791 - ], - [ - 9.1709778, - 46.190438 - ], - [ - 9.0430519, - 46.1280838 - ], - [ - 9.0620039, - 46.0919516 - ], - [ - 8.974351, - 46.0459311 - ], - [ - 8.988565, - 46.0015177 - ], - [ - 8.938816, - 45.9735355 - ], - [ - 9.0406829, - 45.8960992 - ], - [ - 9.0193619, - 45.8482654 - ], - [ - 8.8487941, - 46.0080997 - ], - [ - 8.8985431, - 46.0705897 - ], - [ - 8.8251041, - 46.1182319 - ], - [ - 8.7090233, - 46.1165897 - ], - [ - 8.6782263, - 46.0755201 - ], - [ - 8.7184992, - 46.014681 - ], - [ - 8.5550384, - 45.9043422 - ], - [ - 8.5976804, - 45.8383636 - ], - [ - 8.5337174, - 45.7937837 - ], - [ - 8.6877023, - 45.4923513 - ], - [ - 8.7800932, - 45.4159083 - ], - [ - 8.6853333, - 45.379312 - ], - [ - 8.7113923, - 45.3410269 - ], - [ - 8.6948093, - 45.3210417 - ], - [ - 8.6284773, - 45.377648 - ], - [ - 8.5123965, - 45.3576757 - ], - [ - 8.4815995, - 45.2893842 - ] - ] - ], - terms_url: "https://www.dati.gov.it/content/italian-open-data-license-v20", - terms_text: "CTR DBT 10000 Regione Lombardia" - }, - { - id: "Lombardia-Italy-CTR", - name: "Lombardia - Italy (CTR)", - type: "wms", - template: "https://www.cartografia.regione.lombardia.it/ArcGIS10/services/wms/ctr_wms/MapServer/WMSServer?STYLES=&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 8.4815995, - 45.2893842 - ], - [ - 8.6308463, - 45.0137199 - ], - [ - 8.7800932, - 44.9818911 - ], - [ - 8.8677461, - 45.0271162 - ], - [ - 9.0714799, - 44.8006338 - ], - [ - 9.1496568, - 44.7905472 - ], - [ - 9.1946678, - 44.6710553 - ], - [ - 9.3154866, - 44.6575759 - ], - [ - 9.3699736, - 44.6980046 - ], - [ - 9.3794496, - 44.8275228 - ], - [ - 9.3320696, - 44.9148254 - ], - [ - 9.4102465, - 45.0371613 - ], - [ - 9.7869171, - 45.0438571 - ], - [ - 9.7869171, - 45.0003204 - ], - [ - 9.938533, - 45.0019955 - ], - [ - 9.933795, - 45.0890333 - ], - [ - 10.0001269, - 45.0907058 - ], - [ - 10.0001269, - 44.9969701 - ], - [ - 10.2014917, - 45.0019955 - ], - [ - 10.2014917, - 44.9500447 - ], - [ - 10.4052255, - 44.9533977 - ], - [ - 10.4052255, - 44.9047588 - ], - [ - 10.4928784, - 44.9030808 - ], - [ - 10.4928784, - 44.8627956 - ], - [ - 10.6516012, - 44.8577579 - ], - [ - 10.6468633, - 44.9030808 - ], - [ - 11.3528245, - 44.8946904 - ], - [ - 11.3551935, - 44.9366303 - ], - [ - 11.4570604, - 44.9332763 - ], - [ - 11.4475844, - 44.9735122 - ], - [ - 11.3623005, - 45.0003204 - ], - [ - 11.3528245, - 45.0923782 - ], - [ - 11.2580646, - 45.095723 - ], - [ - 11.2580646, - 45.137516 - ], - [ - 11.1609357, - 45.1425291 - ], - [ - 11.1609357, - 45.1826181 - ], - [ - 11.0519618, - 45.1909664 - ], - [ - 11.0519618, - 45.234358 - ], - [ - 10.9572019, - 45.2326897 - ], - [ - 10.9572019, - 45.2860508 - ], - [ - 10.857704, - 45.284384 - ], - [ - 10.855335, - 45.3227074 - ], - [ - 10.7463612, - 45.3293697 - ], - [ - 10.7534681, - 45.4740809 - ], - [ - 10.6468633, - 45.4807254 - ], - [ - 10.6030084, - 45.5107366 - ], - [ - 10.5763572, - 45.4737864 - ], - [ - 10.535492, - 45.5003598 - ], - [ - 10.5911634, - 45.5314845 - ], - [ - 10.6166585, - 45.613036 - ], - [ - 10.874287, - 45.840014 - ], - [ - 10.8221691, - 45.8598152 - ], - [ - 10.6752912, - 45.8581654 - ], - [ - 10.5734243, - 45.8102989 - ], - [ - 10.5862444, - 46.0077329 - ], - [ - 10.5016004, - 46.015957 - ], - [ - 10.593248, - 46.1152934 - ], - [ - 10.6089593, - 46.3558255 - ], - [ - 10.6563392, - 46.3868822 - ], - [ - 10.6468633, - 46.4603672 - ], - [ - 10.4147015, - 46.5728517 - ], - [ - 10.3270486, - 46.5679659 - ], - [ - 10.2512407, - 46.6542168 - ], - [ - 10.0735658, - 46.6249395 - ], - [ - 10.0238169, - 46.5321233 - ], - [ - 10.0285549, - 46.4358832 - ], - [ - 10.0735658, - 46.3983197 - ], - [ - 10.1209458, - 46.3966859 - ], - [ - 10.0783038, - 46.3280229 - ], - [ - 10.1446358, - 46.2658249 - ], - [ - 10.1043628, - 46.247807 - ], - [ - 9.9740679, - 46.4081214 - ], - [ - 9.7111092, - 46.3689041 - ], - [ - 9.6874192, - 46.3231151 - ], - [ - 9.6187183, - 46.3067526 - ], - [ - 9.5571244, - 46.3247511 - ], - [ - 9.5026374, - 46.3901503 - ], - [ - 9.4789475, - 46.525604 - ], - [ - 9.2562617, - 46.5158234 - ], - [ - 9.2254647, - 46.4407808 - ], - [ - 9.2728447, - 46.3443791 - ], - [ - 9.1709778, - 46.190438 - ], - [ - 9.0430519, - 46.1280838 - ], - [ - 9.0620039, - 46.0919516 - ], - [ - 8.974351, - 46.0459311 - ], - [ - 8.988565, - 46.0015177 - ], - [ - 8.938816, - 45.9735355 - ], - [ - 9.0406829, - 45.8960992 - ], - [ - 9.0193619, - 45.8482654 - ], - [ - 8.8487941, - 46.0080997 - ], - [ - 8.8985431, - 46.0705897 - ], - [ - 8.8251041, - 46.1182319 - ], - [ - 8.7090233, - 46.1165897 - ], - [ - 8.6782263, - 46.0755201 - ], - [ - 8.7184992, - 46.014681 - ], - [ - 8.5550384, - 45.9043422 - ], - [ - 8.5976804, - 45.8383636 - ], - [ - 8.5337174, - 45.7937837 - ], - [ - 8.6877023, - 45.4923513 - ], - [ - 8.7800932, - 45.4159083 - ], - [ - 8.6853333, - 45.379312 - ], - [ - 8.7113923, - 45.3410269 - ], - [ - 8.6948093, - 45.3210417 - ], - [ - 8.6284773, - 45.377648 - ], - [ - 8.5123965, - 45.3576757 - ], - [ - 8.4815995, - 45.2893842 - ] - ] - ], - terms_url: "https://www.dati.gov.it/content/italian-open-data-license-v20", - terms_text: "Regione Lombardia - Infrastruttura per l'informazione territoriale" - }, - { - id: "londrina2011", - name: "Londrina Ortofoto 2011", - type: "tms", - template: "https://siglon.londrina.pr.gov.br/arcgis/rest/services/Imagens/Ortofotos_2011_Paranacidade/MapServer/WMTS/tile/1.0.0/Imagens_Ortofotos_2011_Paranacidade/default/GoogleMapsCompatible/{zoom}/{y}/{x}", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - polygon: [ - [ - [ - -51.10903142008701, - -23.392750890870328 - ], - [ - -51.110147219037096, - -23.39111628244602 - ], - [ - -51.111981850003126, - -23.389599820448623 - ], - [ - -51.11358044657587, - -23.38976722295012 - ], - [ - -51.120999436701226, - -23.38592675938185 - ], - [ - -51.12224934611127, - -23.385109415587607 - ], - [ - -51.12483499560139, - -23.383504255873166 - ], - [ - -51.12538216624037, - -23.38186953335707 - ], - [ - -51.12482426676533, - -23.37770385409619 - ], - [ - -51.12445948633935, - -23.375054689723584 - ], - [ - -51.124373655650885, - -23.372297138974446 - ], - [ - -51.12244246516032, - -23.37032742475139 - ], - [ - -51.12302182230749, - -23.366427304263887 - ], - [ - -51.128557901713755, - -23.36548180323493 - ], - [ - -51.12832186732048, - -23.358843408308623 - ], - [ - -51.12477062258506, - -23.35475580404945 - ], - [ - -51.12703440699343, - -23.35091432623551 - ], - [ - -51.12411616358548, - -23.34679692655685 - ], - [ - -51.12025378260435, - -23.347811512977742 - ], - [ - -51.1176466754421, - -23.33969460448754 - ], - [ - -51.11264703783877, - -23.341290443649072 - ], - [ - -51.109396200513004, - -23.33488726938344 - ], - [ - -51.10756156954697, - -23.334089313725826 - ], - [ - -51.10485790286019, - -23.333980949007543 - ], - [ - -51.10252974543546, - -23.334187827029368 - ], - [ - -51.09986899409291, - -23.331015661953632 - ], - [ - -51.09801290545476, - -23.329360589233605 - ], - [ - -51.09998701128955, - -23.32830645478855 - ], - [ - -51.10322711977927, - -23.325321337105603 - ], - [ - -51.10472915682748, - -23.323193291476684 - ], - [ - -51.104664783811145, - -23.321291814470847 - ], - [ - -51.10514758143378, - -23.318444474199904 - ], - [ - -51.1063599399084, - -23.3157547161216 - ], - [ - -51.10660670313775, - -23.31467091543279 - ], - [ - -51.11050127062705, - -23.311665785493048 - ], - [ - -51.111584883068964, - -23.30842411016493 - ], - [ - -51.099504213666904, - -23.309468549142686 - ], - [ - -51.09740136179941, - -23.308631027972474 - ], - [ - -51.09511611971892, - -23.307448636164267 - ], - [ - -51.09201548609798, - -23.3049360186679 - ], - [ - -51.09036324534495, - -23.3037141796735 - ], - [ - -51.09204767260616, - -23.29874787986134 - ], - [ - -51.09269140276969, - -23.297496421894902 - ], - [ - -51.09407542262125, - -23.292953629109174 - ], - [ - -51.10073802981369, - -23.293318240761657 - ], - [ - -51.10101697955121, - -23.28870632248831 - ], - [ - -51.10068438563339, - -23.28837126237015 - ], - [ - -51.10084531817427, - -23.28777997775132 - ], - [ - -51.09937546763423, - -23.28663682004102 - ], - [ - -51.09631774935752, - -23.277914991984613 - ], - [ - -51.10285161051725, - -23.273016720553397 - ], - [ - -51.10835550341534, - -23.27033590016574 - ], - [ - -51.11309764895328, - -23.268404099092194 - ], - [ - -51.13160489115448, - -23.265338785827712 - ], - [ - -51.13188384089201, - -23.262007272160396 - ], - [ - -51.1317336371872, - -23.255058136908826 - ], - [ - -51.13290308031759, - -23.254683563301587 - ], - [ - -51.132956724497895, - -23.250750476893938 - ], - [ - -51.13473771128364, - -23.2512729236245 - ], - [ - -51.13533852610292, - -23.25133206840842 - ], - [ - -51.13516686472599, - -23.24359373640034 - ], - [ - -51.13534925493897, - -23.24117849627157 - ], - [ - -51.137516479822814, - -23.24219388826517 - ], - [ - -51.13884685549409, - -23.243495156026544 - ], - [ - -51.14108918223035, - -23.24521044413634 - ], - [ - -51.1471724322756, - -23.243179698340864 - ], - [ - -51.14761231455401, - -23.23828015040167 - ], - [ - -51.149082165094036, - -23.235884531292832 - ], - [ - -51.14976881060179, - -23.236811236789336 - ], - [ - -51.15138886484666, - -23.23853646924079 - ], - [ - -51.15289090189487, - -23.238842079520833 - ], - [ - -51.15383503946804, - -23.238950521710013 - ], - [ - -51.15820167574391, - -23.238142132361276 - ], - [ - -51.16045473131624, - -23.238161849232945 - ], - [ - -51.160347442955654, - -23.24658068718069 - ], - [ - -51.15912435564498, - -23.2478326235554 - ], - [ - -51.16131303820094, - -23.247773477219496 - ], - [ - -51.166591625541805, - -23.245939927797 - ], - [ - -51.17193458589902, - -23.245821633420345 - ], - [ - -51.17205260309565, - -23.249557713480034 - ], - [ - -51.174241285651625, - -23.248404370116877 - ], - [ - -51.17514250788055, - -23.2493211310392 - ], - [ - -51.176859121649926, - -23.248157927934038 - ], - [ - -51.179466228812196, - -23.251686936561047 - ], - [ - -51.18135450395853, - -23.253806268366073 - ], - [ - -51.18273852381009, - -23.253628837227893 - ], - [ - -51.18378994974384, - -23.253264116924615 - ], - [ - -51.18495939287424, - -23.253303546194683 - ], - [ - -51.18626831087339, - -23.252150235227905 - ], - [ - -51.18665454897149, - -23.247477745146526 - ], - [ - -51.191182117788244, - -23.249143693933142 - ], - [ - -51.19141815218154, - -23.252859966234126 - ], - [ - -51.19369266542598, - -23.252781107419985 - ], - [ - -51.1938428691308, - -23.26073575534214 - ], - [ - -51.20096681627374, - -23.26054847664639 - ], - [ - -51.20126722368338, - -23.24259807127726 - ], - [ - -51.209936123218775, - -23.242775517090898 - ], - [ - -51.21090171846407, - -23.26988252079656 - ], - [ - -51.21968863519614, - -23.27221839365197 - ], - [ - -51.225965004290465, - -23.2745345140599 - ], - [ - -51.22934458764894, - -23.27860487489667 - ], - [ - -51.234515886629225, - -23.28160089636689 - ], - [ - -51.23497722657975, - -23.283246708422755 - ], - [ - -51.235073786104266, - -23.285444377831148 - ], - [ - -51.23371122392482, - -23.285897704227196 - ], - [ - -51.232155542696304, - -23.28801649191402 - ], - [ - -51.22870085748543, - -23.292293383844925 - ], - [ - -51.227402668322334, - -23.294599300809004 - ], - [ - -51.22679112466699, - -23.295476327114592 - ], - [ - -51.225600223864475, - -23.29657013833941 - ], - [ - -51.22392652543933, - -23.297210654251764 - ], - [ - -51.220482569064515, - -23.30072850975029 - ], - [ - -51.21863720926242, - -23.301300029310937 - ], - [ - -51.21668456109974, - -23.30211788923888 - ], - [ - -51.21423838647836, - -23.30441378240661 - ], - [ - -51.210966091480465, - -23.306965823153238 - ], - [ - -51.22328279527583, - -23.318296686707587 - ], - [ - -51.224387865389886, - -23.31459209321986 - ], - [ - -51.22521398576639, - -23.312887551432937 - ], - [ - -51.22511742624187, - -23.312582111000477 - ], - [ - -51.22521398576639, - -23.312513140483127 - ], - [ - -51.2255251220121, - -23.312532846348883 - ], - [ - -51.22595427545445, - -23.312385052284572 - ], - [ - -51.22616885217561, - -23.31183328632629 - ], - [ - -51.22935531648505, - -23.314887676277397 - ], - [ - -51.22802494081377, - -23.31661189768144 - ], - [ - -51.227885465945, - -23.31901591762422 - ], - [ - -51.22767088922384, - -23.320227763653186 - ], - [ - -51.22723100694544, - -23.321508564518947 - ], - [ - -51.2273919394863, - -23.322227778055023 - ], - [ - -51.22725246461755, - -23.322848466059934 - ], - [ - -51.230331640566384, - -23.325577488448165 - ], - [ - -51.23046038659909, - -23.326710459617892 - ], - [ - -51.229537706698046, - -23.32789268010374 - ], - [ - -51.229162197436, - -23.330503379743732 - ], - [ - -51.229290943468705, - -23.33178408156439 - ], - [ - -51.22681258233914, - -23.334473515196468 - ], - [ - -51.2260186484708, - -23.336571826694826 - ], - [ - -51.22473118814376, - -23.33839427691611 - ], - [ - -51.22210262330938, - -23.340226553005806 - ], - [ - -51.22257469209598, - -23.34196029634743 - ], - [ - -51.22380850824271, - -23.343388647432523 - ], - [ - -51.22384069475089, - -23.345309509145306 - ], - [ - -51.22440932306201, - -23.347003784611864 - ], - [ - -51.2245380690947, - -23.348294177581966 - ], - [ - -51.22404454263601, - -23.34968305981433 - ], - [ - -51.22350810083308, - -23.35010661675208 - ], - [ - -51.22381923707877, - -23.35076657486812 - ], - [ - -51.22304676088255, - -23.35174173085325 - ], - [ - -51.22259614976809, - -23.35296312824164 - ], - [ - -51.22586844476598, - -23.35480505304304 - ], - [ - -51.22650144609346, - -23.36705763453823 - ], - [ - -51.22354028734128, - -23.369145582171885 - ], - [ - -51.22366903337377, - -23.37968330666716 - ], - [ - -51.220375280703756, - -23.381633186264455 - ], - [ - -51.216469984378406, - -23.38170212087667 - ], - [ - -51.21416328462579, - -23.379949201028825 - ], - [ - -51.2092816642191, - -23.37395167630701 - ], - [ - -51.20738266023672, - -23.368141007697016 - ], - [ - -51.20628831895872, - -23.36723491438801 - ], - [ - -51.20472190889416, - -23.366269721227162 - ], - [ - -51.198230963078665, - -23.366683376299132 - ], - [ - -51.19297383340994, - -23.366506095711998 - ], - [ - -51.18986247095292, - -23.3654424072124 - ], - [ - -51.18806002649507, - -23.36464463523902 - ], - [ - -51.18718026193825, - -23.3645264463904 - ], - [ - -51.18579624208668, - -23.363738518041337 - ], - [ - -51.183038931219606, - -23.36359078095478 - ], - [ - -51.18071077379488, - -23.3637582163071 - ], - [ - -51.179069261877906, - -23.361581540240305 - ], - [ - -51.177642326682125, - -23.35836078207346 - ], - [ - -51.16683838877106, - -23.356262814974126 - ], - [ - -51.166141014427254, - -23.358538073547532 - ], - [ - -51.16475699457568, - -23.360389770338585 - ], - [ - -51.16076586756186, - -23.359217688669915 - ], - [ - -51.15983245882475, - -23.36660458495632 - ], - [ - -51.162042599052846, - -23.36861374957437 - ], - [ - -51.16276143106877, - -23.374158492021696 - ], - [ - -51.158448438973174, - -23.37580315788644 - ], - [ - -51.155047397942575, - -23.376305417047273 - ], - [ - -51.15396378550066, - -23.37903334042617 - ], - [ - -51.15298746141932, - -23.381052164536694 - ], - [ - -51.15118501696147, - -23.382076336717283 - ], - [ - -51.149167995782435, - -23.382509637949354 - ], - [ - -51.14721534761976, - -23.382155118864866 - ], - [ - -51.14517686876862, - -23.382588419839323 - ], - [ - -51.14410398516276, - -23.38376029492248 - ], - [ - -51.14512322458833, - -23.388083341091015 - ], - [ - -51.141797285410156, - -23.389402876058366 - ], - [ - -51.14030597719799, - -23.38880219385971 - ], - [ - -51.14068148646006, - -23.391608636504017 - ], - [ - -51.14127157244328, - -23.393538646762796 - ], - [ - -51.14093897852546, - -23.394434713394368 - ], - [ - -51.140456180902824, - -23.39536031431835 - ], - [ - -51.13939402613302, - -23.395104297688697 - ], - [ - -51.13738773379004, - -23.393154616350518 - ], - [ - -51.13608954462695, - -23.389796764546077 - ], - [ - -51.13428710016909, - -23.389757375749994 - ], - [ - -51.132162790629465, - -23.390072485790583 - ], - [ - -51.13172290835106, - -23.39285920758337 - ], - [ - -51.12259266886514, - -23.38864463742227 - ], - [ - -51.12228153261944, - -23.391657871809155 - ], - [ - -51.11882684740854, - -23.393174310244916 - ], - [ - -51.115683298443365, - -23.393351555162592 - ], - [ - -51.10903142008701, - -23.392750890870328 - ] - ], - [ - [ - -51.13829432042955, - -23.41600741009485 - ], - [ - -51.133310776080314, - -23.418665600378624 - ], - [ - -51.132087688769644, - -23.416440600302334 - ], - [ - -51.13002238782791, - -23.418291487939495 - ], - [ - -51.12868664773901, - -23.419010176689888 - ], - [ - -51.12824140104259, - -23.42102839134528 - ], - [ - -51.12696466955051, - -23.421860280620358 - ], - [ - -51.12532852205271, - -23.422692164660027 - ], - [ - -51.1244541219139, - -23.420969322085504 - ], - [ - -51.1215144208339, - -23.424109801147612 - ], - [ - -51.12063465627703, - -23.423268081315832 - ], - [ - -51.11970661195797, - -23.423120410617486 - ], - [ - -51.11977098497433, - -23.42156985833077 - ], - [ - -51.1188000253111, - -23.421545246243184 - ], - [ - -51.11643431696008, - -23.420836416154565 - ], - [ - -51.11942766222045, - -23.419167696990424 - ], - [ - -51.11787198099193, - -23.416775337218567 - ], - [ - -51.116546969738685, - -23.41730697646229 - ], - [ - -51.115699391690086, - -23.415702207051474 - ], - [ - -51.115120034542905, - -23.413088261827834 - ], - [ - -51.119078975048524, - -23.411114231305813 - ], - [ - -51.119599323597356, - -23.41169512115064 - ], - [ - -51.12052200349841, - -23.41489489238112 - ], - [ - -51.12147686990764, - -23.417139608782644 - ], - [ - -51.12308619531643, - -23.418626220171642 - ], - [ - -51.12754939111684, - -23.41653905242448 - ], - [ - -51.12803218873949, - -23.417395582795194 - ], - [ - -51.13119719537679, - -23.415574218468866 - ], - [ - -51.13080022844262, - -23.414766903017576 - ], - [ - -51.13278506311348, - -23.41264029239725 - ], - [ - -51.13521514448077, - -23.411055157619415 - ], - [ - -51.13585887464424, - -23.410956701416854 - ], - [ - -51.13682446988958, - -23.411188073376714 - ], - [ - -51.137205343569626, - -23.411576974270133 - ], - [ - -51.13730190309418, - -23.41324086645236 - ], - [ - -51.137430649126884, - -23.414707830961888 - ], - [ - -51.13829432042955, - -23.41600741009485 - ] - ], - [ - [ - -51.18929065852, - -23.61469318354 - ], - [ - -51.18868716149, - -23.61385268133 - ], - [ - -51.18817754178, - -23.61338573333 - ], - [ - -51.18731118826, - -23.61301708899 - ], - [ - -51.18628926663, - -23.61314488581 - ], - [ - -51.18401743559, - -23.61395590119 - ], - [ - -51.18348904042, - -23.61396573165 - ], - [ - -51.18183143525, - -23.61283522407 - ], - [ - -51.18140496401, - -23.61344471632 - ], - [ - -51.18062980561, - -23.61313505529 - ], - [ - -51.18001021533, - -23.61409352754 - ], - [ - -51.17865838198, - -23.61328742827 - ], - [ - -51.18064589886, - -23.61060367181 - ], - [ - -51.17972321896, - -23.61018095058 - ], - [ - -51.18061639456, - -23.60849005203 - ], - [ - -51.1821157494, - -23.60850479833 - ], - [ - -51.18260927586, - -23.60775273479 - ], - [ - -51.18319936184, - -23.60804274673 - ], - [ - -51.18415154605, - -23.60627808786 - ], - [ - -51.18511177687, - -23.60666149766 - ], - [ - -51.18649043231, - -23.60469528171 - ], - [ - -51.18902243762, - -23.60610112912 - ], - [ - -51.18821241049, - -23.60741848294 - ], - [ - -51.18918873458, - -23.60801816947 - ], - [ - -51.188899056, - -23.60953211999 - ], - [ - -51.18962325244, - -23.60992535103 - ], - [ - -51.1911896625, - -23.6111935131 - ], - [ - -51.1901489654, - -23.61244691705 - ], - [ - -51.19054056792, - -23.6127565797 - ], - [ - -51.19029380469, - -23.61377895281 - ], - [ - -51.18929065852, - -23.61469318354 - ] - ], - [ - [ - -51.08005769639, - -23.52984412096 - ], - [ - -51.07962317853, - -23.52205317842 - ], - [ - -51.08468182473, - -23.52194496764 - ], - [ - -51.08581908135, - -23.52404030606 - ], - [ - -51.0858941832, - -23.52703569673 - ], - [ - -51.08579494147, - -23.52777346722 - ], - [ - -51.08530141501, - -23.52806365581 - ], - [ - -51.08513511805, - -23.52856533627 - ], - [ - -51.08512438922, - -23.52981952906 - ], - [ - -51.08470864682, - -23.53023759067 - ], - [ - -51.08343459754, - -23.53023759067 - ], - [ - -51.08329512267, - -23.52978018202 - ], - [ - -51.08005769639, - -23.52984412096 - ] - ] - ], - terms_url: "http://siglon.londrina.pr.gov.br", - terms_text: "Prefeitura do Londrinas, PR" - }, - { - id: "LPI_NSW_Administrative_Boundaries_County", - name: "LPI NSW Administrative Boundaries County", - type: "wms", - template: "https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=4&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE", - projection: "EPSG:3857", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 159.0033934, - -31.4876656 - ], - [ - 159.0378887, - -31.7055793 - ], - [ - 159.3109766, - -31.8595241 - ], - [ - 159.3727807, - -31.7789183 - ], - [ - 159.1744327, - -31.4373999 - ], - [ - 159.0033934, - -31.4876656 - ] - ], - [ - [ - 140.998648, - -28.9989332 - ], - [ - 148.9451961, - -28.9948656 - ], - [ - 149.4856226, - -28.5615019 - ], - [ - 150.2991369, - -28.5337256 - ], - [ - 151.0954036, - -28.7179218 - ], - [ - 151.3943629, - -28.9797786 - ], - [ - 151.9894069, - -28.7355674 - ], - [ - 151.9290401, - -28.4983634 - ], - [ - 152.4924635, - -28.2353023 - ], - [ - 153.5790657, - -28.1415563 - ], - [ - 153.6969246, - -28.6498321 - ], - [ - 153.2584694, - -30.9735401 - ], - [ - 152.7543708, - -32.508492 - ], - [ - 151.9087862, - -33.0553457 - ], - [ - 151.2583364, - -34.3808144 - ], - [ - 151.0144178, - -35.1156752 - ], - [ - 150.4615355, - -36.1202975 - ], - [ - 150.4127518, - -36.6178579 - ], - [ - 149.9784687, - -37.5069984 - ], - [ - 148.2013511, - -36.805656 - ], - [ - 148.0791803, - -36.8171632 - ], - [ - 147.8854228, - -36.0901856 - ], - [ - 147.6902879, - -36.0441802 - ], - [ - 146.828442, - -36.188678 - ], - [ - 145.2348401, - -35.9849909 - ], - [ - 144.8445703, - -36.2149218 - ], - [ - 144.5193454, - -36.1295974 - ], - [ - 143.2021846, - -35.1317425 - ], - [ - 142.4785593, - -34.811943 - ], - [ - 140.9937045, - -34.070169 - ], - [ - 141.0025961, - -34.0197399 - ], - [ - 140.998648, - -28.9989332 - ] - ] - ], - terms_url: "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017", - overlay: true - }, - { - id: "LPI_NSW_Administrative_Boundaries_LGA", - name: "LPI NSW Administrative Boundaries LGA", - type: "wms", - template: "https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=6&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE", - projection: "EPSG:3857", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 159.0033934, - -31.4876656 - ], - [ - 159.0378887, - -31.7055793 - ], - [ - 159.3109766, - -31.8595241 - ], - [ - 159.3727807, - -31.7789183 - ], - [ - 159.1744327, - -31.4373999 - ], - [ - 159.0033934, - -31.4876656 - ] - ], - [ - [ - 140.998648, - -28.9989332 - ], - [ - 148.9451961, - -28.9948656 - ], - [ - 149.4856226, - -28.5615019 - ], - [ - 150.2991369, - -28.5337256 - ], - [ - 151.0954036, - -28.7179218 - ], - [ - 151.3943629, - -28.9797786 - ], - [ - 151.9894069, - -28.7355674 - ], - [ - 151.9290401, - -28.4983634 - ], - [ - 152.4924635, - -28.2353023 - ], - [ - 153.5790657, - -28.1415563 - ], - [ - 153.6969246, - -28.6498321 - ], - [ - 153.2584694, - -30.9735401 - ], - [ - 152.7543708, - -32.508492 - ], - [ - 151.9087862, - -33.0553457 - ], - [ - 151.2583364, - -34.3808144 - ], - [ - 151.0144178, - -35.1156752 - ], - [ - 150.4615355, - -36.1202975 - ], - [ - 150.4127518, - -36.6178579 - ], - [ - 149.9784687, - -37.5069984 - ], - [ - 148.2013511, - -36.805656 - ], - [ - 148.0791803, - -36.8171632 - ], - [ - 147.8854228, - -36.0901856 - ], - [ - 147.6902879, - -36.0441802 - ], - [ - 146.828442, - -36.188678 - ], - [ - 145.2348401, - -35.9849909 - ], - [ - 144.8445703, - -36.2149218 - ], - [ - 144.5193454, - -36.1295974 - ], - [ - 143.2021846, - -35.1317425 - ], - [ - 142.4785593, - -34.811943 - ], - [ - 140.9937045, - -34.070169 - ], - [ - 141.0025961, - -34.0197399 - ], - [ - 140.998648, - -28.9989332 - ] - ] - ], - terms_url: "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017", - overlay: true - }, - { - id: "LPI_NSW_Administrative_Boundaries_NPWS_Reserve", - name: "LPI NSW Administrative Boundaries NPWS Reserve", - type: "wms", - template: "https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=1&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE", - projection: "EPSG:3857", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 159.0033934, - -31.4876656 - ], - [ - 159.0378887, - -31.7055793 - ], - [ - 159.3109766, - -31.8595241 - ], - [ - 159.3727807, - -31.7789183 - ], - [ - 159.1744327, - -31.4373999 - ], - [ - 159.0033934, - -31.4876656 - ] - ], - [ - [ - 140.998648, - -28.9989332 - ], - [ - 148.9451961, - -28.9948656 - ], - [ - 149.4856226, - -28.5615019 - ], - [ - 150.2991369, - -28.5337256 - ], - [ - 151.0954036, - -28.7179218 - ], - [ - 151.3943629, - -28.9797786 - ], - [ - 151.9894069, - -28.7355674 - ], - [ - 151.9290401, - -28.4983634 - ], - [ - 152.4924635, - -28.2353023 - ], - [ - 153.5790657, - -28.1415563 - ], - [ - 153.6969246, - -28.6498321 - ], - [ - 153.2584694, - -30.9735401 - ], - [ - 152.7543708, - -32.508492 - ], - [ - 151.9087862, - -33.0553457 - ], - [ - 151.2583364, - -34.3808144 - ], - [ - 151.0144178, - -35.1156752 - ], - [ - 150.4615355, - -36.1202975 - ], - [ - 150.4127518, - -36.6178579 - ], - [ - 149.9784687, - -37.5069984 - ], - [ - 148.2013511, - -36.805656 - ], - [ - 148.0791803, - -36.8171632 - ], - [ - 147.8854228, - -36.0901856 - ], - [ - 147.6902879, - -36.0441802 - ], - [ - 146.828442, - -36.188678 - ], - [ - 145.2348401, - -35.9849909 - ], - [ - 144.8445703, - -36.2149218 - ], - [ - 144.5193454, - -36.1295974 - ], - [ - 143.2021846, - -35.1317425 - ], - [ - 142.4785593, - -34.811943 - ], - [ - 140.9937045, - -34.070169 - ], - [ - 141.0025961, - -34.0197399 - ], - [ - 140.998648, - -28.9989332 - ] - ] - ], - terms_url: "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017", - overlay: true - }, - { - id: "LPI_NSW_Administrative_Boundaries_Parish", - name: "LPI NSW Administrative Boundaries Parish", - type: "wms", - template: "https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=3&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE", - projection: "EPSG:3857", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 159.0033934, - -31.4876656 - ], - [ - 159.0378887, - -31.7055793 - ], - [ - 159.3109766, - -31.8595241 - ], - [ - 159.3727807, - -31.7789183 - ], - [ - 159.1744327, - -31.4373999 - ], - [ - 159.0033934, - -31.4876656 - ] - ], - [ - [ - 140.998648, - -28.9989332 - ], - [ - 148.9451961, - -28.9948656 - ], - [ - 149.4856226, - -28.5615019 - ], - [ - 150.2991369, - -28.5337256 - ], - [ - 151.0954036, - -28.7179218 - ], - [ - 151.3943629, - -28.9797786 - ], - [ - 151.9894069, - -28.7355674 - ], - [ - 151.9290401, - -28.4983634 - ], - [ - 152.4924635, - -28.2353023 - ], - [ - 153.5790657, - -28.1415563 - ], - [ - 153.6969246, - -28.6498321 - ], - [ - 153.2584694, - -30.9735401 - ], - [ - 152.7543708, - -32.508492 - ], - [ - 151.9087862, - -33.0553457 - ], - [ - 151.2583364, - -34.3808144 - ], - [ - 151.0144178, - -35.1156752 - ], - [ - 150.4615355, - -36.1202975 - ], - [ - 150.4127518, - -36.6178579 - ], - [ - 149.9784687, - -37.5069984 - ], - [ - 148.2013511, - -36.805656 - ], - [ - 148.0791803, - -36.8171632 - ], - [ - 147.8854228, - -36.0901856 - ], - [ - 147.6902879, - -36.0441802 - ], - [ - 146.828442, - -36.188678 - ], - [ - 145.2348401, - -35.9849909 - ], - [ - 144.8445703, - -36.2149218 - ], - [ - 144.5193454, - -36.1295974 - ], - [ - 143.2021846, - -35.1317425 - ], - [ - 142.4785593, - -34.811943 - ], - [ - 140.9937045, - -34.070169 - ], - [ - 141.0025961, - -34.0197399 - ], - [ - 140.998648, - -28.9989332 - ] - ] - ], - terms_url: "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017", - overlay: true - }, - { - id: "LPI_NSW_Administrative_Boundaries_StateForest", - name: "LPI NSW Administrative Boundaries State Forest", - type: "wms", - template: "https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=2&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE", - projection: "EPSG:3857", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 159.0033934, - -31.4876656 - ], - [ - 159.0378887, - -31.7055793 - ], - [ - 159.3109766, - -31.8595241 - ], - [ - 159.3727807, - -31.7789183 - ], - [ - 159.1744327, - -31.4373999 - ], - [ - 159.0033934, - -31.4876656 - ] - ], - [ - [ - 140.998648, - -28.9989332 - ], - [ - 148.9451961, - -28.9948656 - ], - [ - 149.4856226, - -28.5615019 - ], - [ - 150.2991369, - -28.5337256 - ], - [ - 151.0954036, - -28.7179218 - ], - [ - 151.3943629, - -28.9797786 - ], - [ - 151.9894069, - -28.7355674 - ], - [ - 151.9290401, - -28.4983634 - ], - [ - 152.4924635, - -28.2353023 - ], - [ - 153.5790657, - -28.1415563 - ], - [ - 153.6969246, - -28.6498321 - ], - [ - 153.2584694, - -30.9735401 - ], - [ - 152.7543708, - -32.508492 - ], - [ - 151.9087862, - -33.0553457 - ], - [ - 151.2583364, - -34.3808144 - ], - [ - 151.0144178, - -35.1156752 - ], - [ - 150.4615355, - -36.1202975 - ], - [ - 150.4127518, - -36.6178579 - ], - [ - 149.9784687, - -37.5069984 - ], - [ - 148.2013511, - -36.805656 - ], - [ - 148.0791803, - -36.8171632 - ], - [ - 147.8854228, - -36.0901856 - ], - [ - 147.6902879, - -36.0441802 - ], - [ - 146.828442, - -36.188678 - ], - [ - 145.2348401, - -35.9849909 - ], - [ - 144.8445703, - -36.2149218 - ], - [ - 144.5193454, - -36.1295974 - ], - [ - 143.2021846, - -35.1317425 - ], - [ - 142.4785593, - -34.811943 - ], - [ - 140.9937045, - -34.070169 - ], - [ - 141.0025961, - -34.0197399 - ], - [ - 140.998648, - -28.9989332 - ] - ] - ], - terms_url: "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017", - overlay: true - }, - { - id: "LPI_NSW_Administrative_Boundaries_Suburb", - name: "LPI NSW Administrative Boundaries Suburb", - type: "wms", - template: "https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=7&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE", - projection: "EPSG:3857", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 159.0033934, - -31.4876656 - ], - [ - 159.0378887, - -31.7055793 - ], - [ - 159.3109766, - -31.8595241 - ], - [ - 159.3727807, - -31.7789183 - ], - [ - 159.1744327, - -31.4373999 - ], - [ - 159.0033934, - -31.4876656 - ] - ], - [ - [ - 140.998648, - -28.9989332 - ], - [ - 148.9451961, - -28.9948656 - ], - [ - 149.4856226, - -28.5615019 - ], - [ - 150.2991369, - -28.5337256 - ], - [ - 151.0954036, - -28.7179218 - ], - [ - 151.3943629, - -28.9797786 - ], - [ - 151.9894069, - -28.7355674 - ], - [ - 151.9290401, - -28.4983634 - ], - [ - 152.4924635, - -28.2353023 - ], - [ - 153.5790657, - -28.1415563 - ], - [ - 153.6969246, - -28.6498321 - ], - [ - 153.2584694, - -30.9735401 - ], - [ - 152.7543708, - -32.508492 - ], - [ - 151.9087862, - -33.0553457 - ], - [ - 151.2583364, - -34.3808144 - ], - [ - 151.0144178, - -35.1156752 - ], - [ - 150.4615355, - -36.1202975 - ], - [ - 150.4127518, - -36.6178579 - ], - [ - 149.9784687, - -37.5069984 - ], - [ - 148.2013511, - -36.805656 - ], - [ - 148.0791803, - -36.8171632 - ], - [ - 147.8854228, - -36.0901856 - ], - [ - 147.6902879, - -36.0441802 - ], - [ - 146.828442, - -36.188678 - ], - [ - 145.2348401, - -35.9849909 - ], - [ - 144.8445703, - -36.2149218 - ], - [ - 144.5193454, - -36.1295974 - ], - [ - 143.2021846, - -35.1317425 - ], - [ - 142.4785593, - -34.811943 - ], - [ - 140.9937045, - -34.070169 - ], - [ - 141.0025961, - -34.0197399 - ], - [ - 140.998648, - -28.9989332 - ] - ] - ], - terms_url: "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017", - overlay: true - }, - { - id: "NSW_LPI_BaseMap", - name: "LPI NSW Base Map", - type: "tms", - template: "https://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://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017" - }, - { - id: "NSW_LPI_Imagery", - name: "LPI NSW Imagery", - type: "tms", - template: "https://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://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017", - best: true - }, - { - id: "NSW_LPI_Imagery_Dates", - name: "LPI NSW Imagery Dates", - type: "wms", - template: "https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Imagery_Dates/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=0&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE", - projection: "EPSG:3857", - 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://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017", - overlay: true - }, - { - id: "NSW_LPI_TopographicMap", - name: "LPI NSW Topographic Map", - type: "tms", - template: "https://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://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - terms_text: "© Land and Property Information 2017" - }, - { - id: "orthophoto_lyon_2012", - name: "Lyon Orthophoto 2012-03 10cm", - type: "wms", - template: "https://download.data.grandlyon.com/wms/grandlyon?language=fre&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1830_5150_10cm_CC46,1830_5155_10cm_CC46,1830_5160_10cm_CC46,1830_5165_10cm_CC46,1830_5170_10cm_CC46,1830_5175_10cm_CC46,1830_5180_10cm_CC46,1830_5185_10cm_CC46,1830_5190_10cm_CC46,1835_5150_10cm_CC46,1835_5155_10cm_CC46,1835_5160_10cm_CC46,1835_5165_10cm_CC46,1835_5170_10cm_CC46,1835_5175_10cm_CC46,1835_5180_10cm_CC46,1835_5185_10cm_CC46,1835_5190_10cm_CC46,1840_5150_10cm_CC46,1840_5155_10cm_CC46,1840_5160_10cm_CC46,1840_5165_10cm_CC46,1840_5170_10cm_CC46,1840_5175_10cm_CC46,1840_5180_10cm_CC46,1840_5185_10cm_CC46,1840_5190_10cm_CC46,1845_5150_10cm_CC46,1845_5155_10cm_CC46,1845_5160_10cm_CC46,1845_5165_10cm_CC46,1845_5170_10cm_CC46,1845_5175_10cm_CC46,1845_5180_10cm_CC46,1845_5185_10cm_CC46,1845_5190_10cm_CC46,1850_5155_10cm_CC46,1850_5160_10cm_CC46,1850_5165_10cm_CC46,1850_5170_10cm_CC46,1850_5175_10cm_CC46,1850_5180_10cm_CC46,1850_5185_10cm_CC46,1855_5155_10cm_CC46,1855_5165_10cm_CC46,1855_5170_10cm_CC46,1855_5175_10cm_CC46,1855_5180_10cm_CC46,1855_5185_10cm_CC46,1860_5155_10cm_CC46,1860_5160_10cm_CC46,1860_5165_10cm_CC46,1860_5170_10cm_CC46,1860_5175_10cm_CC46,1860_5180_10cm_CC46,1860_5185_10cm_CC46,1865_5155_10cm_CC46,1865_5160_10cm_CC46,1865_5165_10cm_CC46,1865_5170_10cm_CC46&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2012-03-01T00:00:00.000Z", - startDate: "2012-03-01T00:00:00.000Z", - polygon: [ - [ - [ - 4.690486, - 45.546522 - ], - [ - 4.831309, - 45.546522 - ], - [ - 4.831309, - 45.571307 - ], - [ - 4.883437, - 45.571307 - ], - [ - 4.883437, - 45.59745 - ], - [ - 5.166222, - 45.59745 - ], - [ - 5.166222, - 45.745327 - ], - [ - 5.107934, - 45.745327 - ], - [ - 5.107934, - 45.881452 - ], - [ - 4.906982, - 45.881452 - ], - [ - 4.906982, - 45.92107 - ], - [ - 4.84377, - 45.92107 - ], - [ - 4.84377, - 45.940115 - ], - [ - 4.715432, - 45.940115 - ], - [ - 4.715432, - 45.870179 - ], - [ - 4.674581, - 45.870179 - ], - [ - 4.674581, - 45.717805 - ], - [ - 4.695675, - 45.717805 - ], - [ - 4.690486, - 45.546522 - ] - ] - ], - terms_url: "https://data.grandlyon.com/imagerie/orthophotographie-2012-du-grand-lyon", - terms_text: "Grand Lyon Smart Data DSIT" - }, - { - id: "orthophoto_lyon_2015_8cm", - name: "Lyon Orthophoto 2015-05 8cm", - type: "wms", - template: "https://download.data.grandlyon.com/wms/grandlyon?language=fre&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1835_5155_8cm_CC46,1835_5160_8cm_CC46,1835_5165_8cm_CC46,1835_5170_8cm_CC46,1835_5180_8cm_CC46,1835_5175_8cm_CC46,1845_5175_8cm_CC46,1845_5180_8cm_CC46,1845_5185_8cm_CC46,1845_5190_8cm_CC46,1850_5165_8cm_CC46,1850_5160_8cm_CC46,1850_5155_8cm_CC46,1850_5170_8cm_CC46,1850_5175_8cm_CC46,1850_5180_8cm_CC46,1850_5185_8cm_CC46,1855_5155_8cm_CC46,1855_5160_8cm_CC46,1855_5185_8cm_CC46,1855_5180_8cm_CC46,1855_5175_8cm_CC46,1855_5170_8cm_CC46,1855_5165_8cm_CC46,1860_5160_8cm_CC46,1860_5155_8cm_CC46,1860_5165_8cm_CC46,1835_5185_8cm_CC46,1835_5190_8cm_CC46,1835_5195_8cm_CC46,1840_5160_8cm_CC46,1840_5155_8cm_CC46,1840_5150_8cm_CC46,1830_5195_8cm_CC46,1830_5190_8cm_CC46,1830_5175_8cm_CC46,1830_5170_8cm_CC46,1830_5165_8cm_CC46,1830_5160_8cm_CC46,1830_5155_8cm_CC46,1830_5180_8cm_CC46,1830_5185_8cm_CC46,1835_5150_8cm_CC46,1860_5170_8cm_CC46,1860_5175_8cm_CC46,1840_5180_8cm_CC46,1840_5175_8cm_CC46,1840_5185_8cm_CC46,1840_5190_8cm_CC46,1840_5195_8cm_CC46,1845_5150_8cm_CC46,1845_5155_8cm_CC46,1845_5160_8cm_CC46,1845_5170_8cm_CC46,1845_5165_8cm_CC46,1840_5170_8cm_CC46,1840_5165_8cm_CC46,1860_5180_8cm_CC46,1860_5185_8cm_CC46,1865_5155_8cm_CC46,1865_5160_8cm_CC46,1865_5165_8cm_CC46,1865_5170_8cm_CC46,1830_5150_8cm_CC46&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2015-05-01T00:00:00.000Z", - startDate: "2015-05-01T00:00:00.000Z", - polygon: [ - [ - [ - 4.664889, - 45.546882 - ], - [ - 4.882528, - 45.543476 - ], - [ - 4.884346, - 45.597449 - ], - [ - 5.166229, - 45.592416 - ], - [ - 5.17217, - 45.745324 - ], - [ - 5.107932, - 45.746531 - ], - [ - 5.113048, - 45.88145 - ], - [ - 4.906978, - 45.885083 - ], - [ - 4.908215, - 45.921064 - ], - [ - 4.84377, - 45.922124 - ], - [ - 4.844965, - 45.958104 - ], - [ - 4.677293, - 45.96069 - ], - [ - 4.664889, - 45.546882 - ] - ] - ], - terms_url: "https://data.grandlyon.com/imagerie/orthophotographie-2015-du-grand-lyon", - terms_text: "Métropole de Lyon DINSI", - best: true - }, - { - id: "MainRoadsWA_Road_Hierarchy", - name: "Main Roads WA Road Hierarchy", - type: "wms", - template: "https://services.slip.wa.gov.au/public/services/SLIP_Public_Services/Transport/MapServer/WMSServer?LAYERS=8&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}", - projection: "EPSG:3857", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 129.00009155273438, - -31.68764133578121 - ], - [ - 128.99871826171875, - -14.582254405707156 - ], - [ - 127.08984375000001, - -12.297068292853805 - ], - [ - 124.76074218749999, - -12.983147716796566 - ], - [ - 121.2451171875, - -15.707662769583505 - ], - [ - 119.091796875, - -17.602139123350838 - ], - [ - 115.53222656249999, - -18.854310361889812 - ], - [ - 112.412109375, - -20.46818922264095 - ], - [ - 111.24755859375, - -22.836945920943844 - ], - [ - 111.005859375, - -25.621715959845726 - ], - [ - 111.64306640625, - -29.668962525992505 - ], - [ - 111.68701171875, - -32.36140331527542 - ], - [ - 112.1484375, - -34.47033512121748 - ], - [ - 113.35693359375, - -36.10237644873643 - ], - [ - 116.98242187499999, - -36.703659597194545 - ], - [ - 119.44335937499999, - -36.949891786813275 - ], - [ - 122.27783203125, - -36.61552763134924 - ], - [ - 125.9912109375, - -35.406960932702 - ], - [ - 127.59521484375, - -34.57895241036947 - ], - [ - 128.86962890625, - -33.59631896113268 - ], - [ - 129.00009155273438, - -31.68764133578121 - ] - ] - ], - terms_url: "https://catalogue.data.wa.gov.au/dataset/clss-road-hierarchy", - terms_text: "Main Roads Western Australia", - overlay: true - }, - { - id: "major_isidoro", - name: "Major Isidoro AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Major%20Isidoro&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.94048110193, - -9.57587518044 - ], - [ - -36.94106045907, - -9.48535688436 - ], - [ - -37.03214827722, - -9.48605530547 - ], - [ - -37.03164402192, - -9.57639356782 - ], - [ - -36.94048110193, - -9.57587518044 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "Mapbox", - name: "Mapbox Satellite", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/openstreetmap/cj8gojt0i1eau2rnn7q4mdgu7/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q", - scaleExtent: [ - 0, - 22 - ], - terms_url: "https://www.mapbox.com/about/maps", - terms_text: "Terms & Feedback", - "default": true, - description: "Satellite and aerial imagery.", - icon: "data:image/png;base64,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" - }, - { - id: "mar_vermelho_al", - name: "Mar Vermelho AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Mar%20Vermelho&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.34201321548, - -9.49288996873 - ], - [ - -36.34219560569, - -9.47533412032 - ], - [ - -36.34275350517, - -9.4029001574 - ], - [ - -36.344727611, - -9.4029001574 - ], - [ - -36.34537134116, - -9.40279431056 - ], - [ - -36.34702358192, - -9.40293191144 - ], - [ - -36.35080013221, - -9.40291074208 - ], - [ - -36.35899696296, - -9.40306951227 - ], - [ - -36.36108908599, - -9.40299541952 - ], - [ - -36.36289153045, - -9.40306951227 - ], - [ - -36.36589560455, - -9.40304834292 - ], - [ - -36.36712942069, - -9.4030060042 - ], - [ - -36.37571248954, - -9.40306951227 - ], - [ - -36.38048682159, - -9.40308009695 - ], - [ - -36.38663444465, - -9.40319652837 - ], - [ - -36.3885227198, - -9.40312243565 - ], - [ - -36.39285716956, - -9.40324945173 - ], - [ - -36.396558618, - -9.40321769772 - ], - [ - -36.40309247916, - -9.40327062108 - ], - [ - -36.41973290389, - -9.40337646777 - ], - [ - -36.43368039077, - -9.4033976371 - ], - [ - -36.43355164474, - -9.41685048724 - ], - [ - -36.43344435638, - -9.4238571931 - ], - [ - -36.43337998336, - -9.43753150237 - ], - [ - -36.43329415267, - -9.45011519778 - ], - [ - -36.4330044741, - -9.49358837449 - ], - [ - -36.40839252418, - -9.49350371932 - ], - [ - -36.40442285484, - -9.49353546501 - ], - [ - -36.40007767623, - -9.49351430122 - ], - [ - -36.397867536, - -9.49341906413 - ], - [ - -36.3916769976, - -9.49328149941 - ], - [ - -36.38756785339, - -9.49331324512 - ], - [ - -36.38535771316, - -9.49340848223 - ], - [ - -36.37673172897, - -9.49331324512 - ], - [ - -36.37427482551, - -9.49318626226 - ], - [ - -36.36706504768, - -9.49298520596 - ], - [ - -36.36501583999, - -9.49299578788 - ], - [ - -36.36043462699, - -9.49298520596 - ], - [ - -36.35955486243, - -9.49295346022 - ], - [ - -36.35895404762, - -9.49303811553 - ], - [ - -36.35703358596, - -9.49294287831 - ], - [ - -36.35664734786, - -9.49299578788 - ], - [ - -36.35260257667, - -9.49299578788 - ], - [ - -36.34766731208, - -9.49297462405 - ], - [ - -36.34201321548, - -9.49288996873 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "geodata.md.gov-MD_SixInchImagery", - name: "MD Latest 6 Inch Aerial Imagery", - type: "wms", - template: "https://geodata.md.gov/imap/services/Imagery/MD_SixInchImagery/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=MD_SixInchImagery&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - 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", - description: "Six Inch resolution aerial imagery for the State of Maryland" - }, - { - id: "geodata.md.gov-MD_ThreeInchImagery", - name: "MD Three Inch Aerial Imagery", - type: "wms", - template: "https://geodata.md.gov/imap/services/Imagery/MD_ThreeInchImagery/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=MD_ThreeInchImagery&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 0, - 20 - ], - polygon: [ - [ - [ - -76.46298868788, - 38.98080463627 - ], - [ - -76.46325795583, - 38.94779459044 - ], - [ - -76.49498669632, - 38.93690418359 - ], - [ - -76.51616910865, - 38.93697399921 - ], - [ - -76.54762858119, - 38.95910208849 - ], - [ - -76.54744906922, - 38.98666527704 - ], - [ - -76.51558569475, - 39.0030585399 - ], - [ - -76.48390183225, - 39.00291903879 - ], - [ - -76.46298868788, - 38.98080463627 - ] - ], - [ - [ - -76.09548280964, - 38.8413320581 - ], - [ - -76.04279604678, - 38.84089512141 - ], - [ - -76.04288580276, - 38.82980476995 - ], - [ - -76.0322945966, - 38.8296998884 - ], - [ - -76.03276581552, - 38.79667199901 - ], - [ - -76.02545070279, - 38.79663702224 - ], - [ - -76.0254058248, - 38.7746157424 - ], - [ - -76.03307996147, - 38.77472070505 - ], - [ - -76.03366337536, - 38.7307278267 - ], - [ - -76.05462139773, - 38.73093788097 - ], - [ - -76.0548009097, - 38.72004925436 - ], - [ - -76.10753255055, - 38.72043441094 - ], - [ - -76.10713709241, - 38.75338442343 - ], - [ - -76.11753984459, - 38.75346037077 - ], - [ - -76.11701334711, - 38.79730508527 - ], - [ - -76.09601366219, - 38.79715186708 - ], - [ - -76.09548280964, - 38.8413320581 - ] - ], - [ - [ - -77.23397015511, - 39.16838491616 - ], - [ - -77.25516378693, - 39.14647458509 - ], - [ - -77.25496183597, - 39.11342872174 - ], - [ - -77.18093418537, - 39.05337051467 - ], - [ - -77.14907221334, - 39.04769565692 - ], - [ - -77.12797815456, - 39.04779422613 - ], - [ - -77.10683080317, - 39.05325234984 - ], - [ - -77.1068770836, - 39.09169503464 - ], - [ - -77.11774597234, - 39.10827342699 - ], - [ - -77.16011079699, - 39.12484737677 - ], - [ - -77.15975177305, - 39.15213714767 - ], - [ - -77.17047901562, - 39.16302432313 - ], - [ - -77.21284384027, - 39.17271658577 - ], - [ - -77.23397015511, - 39.16838491616 - ] - ] - ], - terms_url: "http://imap.maryland.gov/Pages/imagery-products.aspx", - terms_text: "DoIT, MD iMap, MDP", - description: "Three Inch Resolution Imagery for the cities of Rockville, Gaithersburg and Annapolis" - }, - { - id: "geodata.md.gov-MD_ColorBasemap", - name: "MD Transportation Basemap", - type: "wms", - template: "https://geodata.md.gov/imap/services/Transportation/MD_ColorBasemap/MapServer/WmsServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=MD_ColorBasemap&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}", - projection: "EPSG:3857", - 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", - description: "Maryland State Highway Administration road features and additional Maryland focused landmarks" - }, - { - id: "minador_do_negrao", - name: "Minador do Negrão", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Minador%20do%20Negrao&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.81960228856, - -9.35174057847 - ], - [ - -36.82016893109, - -9.26141767312 - ], - [ - -36.82465236584, - -9.26132936954 - ], - [ - -36.83063690623, - -9.26146673066 - ], - [ - -36.83673079868, - -9.26149616517 - ], - [ - -36.84227793081, - -9.26147654216 - ], - [ - -36.8456181394, - -9.26160409172 - ], - [ - -36.85563876517, - -9.26160409172 - ], - [ - -36.8621402426, - -9.26159428022 - ], - [ - -36.86589797726, - -9.26146673066 - ], - [ - -36.86724002536, - -9.26149616517 - ], - [ - -36.86951653657, - -9.26148635367 - ], - [ - -36.87126616964, - -9.26157465721 - ], - [ - -36.87475549468, - -9.26152559969 - ], - [ - -36.87815534986, - -9.26163352623 - ], - [ - -36.88320542713, - -9.26170220674 - ], - [ - -36.88565093699, - -9.26167277223 - ], - [ - -36.88857361951, - -9.26147654216 - ], - [ - -36.89217229662, - -9.26150597668 - ], - [ - -36.89383245981, - -9.26163352623 - ], - [ - -36.89740131364, - -9.26175126423 - ], - [ - -36.91121943846, - -9.26182975621 - ], - [ - -36.91110014529, - -9.26650980886 - ], - [ - -36.91112002749, - -9.28541580138 - ], - [ - -36.91120949736, - -9.29066455986 - ], - [ - -36.91117967407, - -9.29367642875 - ], - [ - -36.91099079323, - -9.2992880502 - ], - [ - -36.91091126445, - -9.30729328446 - ], - [ - -36.91090132335, - -9.3122964628 - ], - [ - -36.91083173567, - -9.31596541472 - ], - [ - -36.91084167677, - -9.32013463149 - ], - [ - -36.91098085213, - -9.32395064743 - ], - [ - -36.91099079323, - -9.3258733543 - ], - [ - -36.91079197129, - -9.32964025951 - ], - [ - -36.91079197129, - -9.33523168439 - ], - [ - -36.9107422658, - -9.33943990818 - ], - [ - -36.91092120555, - -9.34310857462 - ], - [ - -36.91084167677, - -9.3447074733 - ], - [ - -36.91066273702, - -9.35228988056 - ], - [ - -36.89276876244, - -9.35225064472 - ], - [ - -36.877350121, - -9.35212312823 - ], - [ - -36.86462551685, - -9.35203484755 - ], - [ - -36.85760710237, - -9.35193675789 - ], - [ - -36.84344103915, - -9.35190733098 - ], - [ - -36.83115384327, - -9.3517994323 - ], - [ - -36.81960228856, - -9.35174057847 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "mml-tausta", - name: "MML Background Map", - type: "tms", - template: "http://tiles.kartat.kapsi.fi/taustakartta/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 2, - 19 - ], - polygon: [ - [ - [ - 27.96569, - 70.0988 - ], - [ - 27.57431, - 70.07728 - ], - [ - 27.10876, - 69.93548 - ], - [ - 26.70913, - 69.97549 - ], - [ - 26.45507, - 69.94207 - ], - [ - 25.87142, - 69.6671 - ], - [ - 25.94833, - 69.61024 - ], - [ - 25.83023, - 69.55323 - ], - [ - 25.66955, - 69.20794 - ], - [ - 25.73822, - 69.01797 - ], - [ - 25.60089, - 68.90309 - ], - [ - 25.45806, - 68.91199 - ], - [ - 25.11749, - 68.80699 - ], - [ - 25.07354, - 68.64355 - ], - [ - 24.88128, - 68.62003 - ], - [ - 23.97491, - 68.84568 - ], - [ - 23.74969, - 68.8308 - ], - [ - 23.63433, - 68.71645 - ], - [ - 23.18939, - 68.68053 - ], - [ - 22.52197, - 68.7553 - ], - [ - 21.63894, - 69.28191 - ], - [ - 21.26953, - 69.31783 - ], - [ - 20.94131, - 69.21622 - ], - [ - 21.08963, - 69.09307 - ], - [ - 21.05941, - 69.04352 - ], - [ - 20.72296, - 69.12491 - ], - [ - 20.54443, - 69.0558 - ], - [ - 20.84655, - 68.97416 - ], - [ - 20.81634, - 68.91742 - ], - [ - 21.38754, - 68.68461 - ], - [ - 22.04734, - 68.47066 - ], - [ - 22.80212, - 68.35464 - ], - [ - 23.12072, - 68.13169 - ], - [ - 23.5437, - 67.9633 - ], - [ - 23.44757, - 67.8393 - ], - [ - 23.48602, - 67.59352 - ], - [ - 23.36517, - 67.46545 - ], - [ - 23.71124, - 67.41592 - ], - [ - 23.72772, - 67.32186 - ], - [ - 23.54644, - 67.26885 - ], - [ - 23.53128, - 67.16724 - ], - [ - 23.89251, - 66.86863 - ], - [ - 23.84582, - 66.57775 - ], - [ - 23.61843, - 66.44562 - ], - [ - 23.67171, - 66.20303 - ], - [ - 23.87191, - 66.14551 - ], - [ - 24.09988, - 65.87247 - ], - [ - 24.1658, - 65.66959 - ], - [ - 24.11636, - 65.39143 - ], - [ - 21.37939, - 63.68037 - ], - [ - 20.17639, - 63.29787 - ], - [ - 19.08325, - 60.16064 - ], - [ - 20.22033, - 59.44786 - ], - [ - 22.29125, - 59.44507 - ], - [ - 25.82336, - 59.933 - ], - [ - 27.52075, - 60.23435 - ], - [ - 27.83386, - 60.53229 - ], - [ - 29.29641, - 61.26165 - ], - [ - 31.20803, - 62.44759 - ], - [ - 31.62826, - 62.90585 - ], - [ - 31.2635, - 63.22106 - ], - [ - 29.99605, - 63.75387 - ], - [ - 30.28656, - 63.81704 - ], - [ - 30.58319, - 64.0782 - ], - [ - 30.5104, - 64.26428 - ], - [ - 30.09979, - 64.39218 - ], - [ - 30.02563, - 64.58736 - ], - [ - 30.16845, - 64.63329 - ], - [ - 30.09429, - 64.79518 - ], - [ - 29.78393, - 64.79811 - ], - [ - 29.65347, - 64.89733 - ], - [ - 29.65759, - 65.05939 - ], - [ - 29.91027, - 65.09527 - ], - [ - 29.93225, - 65.20895 - ], - [ - 29.72076, - 65.27853 - ], - [ - 29.91577, - 65.63788 - ], - [ - 30.1863, - 65.66223 - ], - [ - 29.9913, - 66.09771 - ], - [ - 29.07119, - 66.91983 - ], - [ - 30.11077, - 67.63431 - ], - [ - 29.3486, - 68.08099 - ], - [ - 28.67568, - 68.20166 - ], - [ - 28.46547, - 68.54039 - ], - [ - 28.72375, - 68.72642 - ], - [ - 28.82675, - 68.87341 - ], - [ - 28.44985, - 68.90792 - ], - [ - 28.95996, - 69.05089 - ], - [ - 28.83324, - 69.10563 - ], - [ - 28.87207, - 69.22132 - ], - [ - 29.36096, - 69.46526 - ], - [ - 29.15634, - 69.69667 - ], - [ - 28.38455, - 69.83488 - ], - [ - 28.35845, - 69.88312 - ], - [ - 28.17169, - 69.92511 - ], - [ - 28.00415, - 70.01495 - ], - [ - 27.96569, - 70.0988 - ] - ] - ], - terms_url: "https://www.maanmittauslaitos.fi/en/", - terms_text: "© Maanmittauslaitos", - description: "Background map from the National Land Survey of Finland", - icon: "https://www.maanmittauslaitos.fi/apple-touch-icon.png" - }, - { - id: "mml-orto", - name: "MML Orthophoto", - type: "tms", - template: "http://tiles.kartat.kapsi.fi/ortokuva/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 2, - 19 - ], - polygon: [ - [ - [ - 27.96569, - 70.0988 - ], - [ - 27.57431, - 70.07728 - ], - [ - 27.10876, - 69.93548 - ], - [ - 26.70913, - 69.97549 - ], - [ - 26.45507, - 69.94207 - ], - [ - 25.87142, - 69.6671 - ], - [ - 25.94833, - 69.61024 - ], - [ - 25.83023, - 69.55323 - ], - [ - 25.66955, - 69.20794 - ], - [ - 25.73822, - 69.01797 - ], - [ - 25.60089, - 68.90309 - ], - [ - 25.45806, - 68.91199 - ], - [ - 25.11749, - 68.80699 - ], - [ - 25.07354, - 68.64355 - ], - [ - 24.88128, - 68.62003 - ], - [ - 23.97491, - 68.84568 - ], - [ - 23.74969, - 68.8308 - ], - [ - 23.63433, - 68.71645 - ], - [ - 23.18939, - 68.68053 - ], - [ - 22.52197, - 68.7553 - ], - [ - 21.63894, - 69.28191 - ], - [ - 21.26953, - 69.31783 - ], - [ - 20.94131, - 69.21622 - ], - [ - 21.08963, - 69.09307 - ], - [ - 21.05941, - 69.04352 - ], - [ - 20.72296, - 69.12491 - ], - [ - 20.54443, - 69.0558 - ], - [ - 20.84655, - 68.97416 - ], - [ - 20.81634, - 68.91742 - ], - [ - 21.38754, - 68.68461 - ], - [ - 22.04734, - 68.47066 - ], - [ - 22.80212, - 68.35464 - ], - [ - 23.12072, - 68.13169 - ], - [ - 23.5437, - 67.9633 - ], - [ - 23.44757, - 67.8393 - ], - [ - 23.48602, - 67.59352 - ], - [ - 23.36517, - 67.46545 - ], - [ - 23.71124, - 67.41592 - ], - [ - 23.72772, - 67.32186 - ], - [ - 23.54644, - 67.26885 - ], - [ - 23.53128, - 67.16724 - ], - [ - 23.89251, - 66.86863 - ], - [ - 23.84582, - 66.57775 - ], - [ - 23.61843, - 66.44562 - ], - [ - 23.67171, - 66.20303 - ], - [ - 23.87191, - 66.14551 - ], - [ - 24.09988, - 65.87247 - ], - [ - 24.1658, - 65.66959 - ], - [ - 24.11636, - 65.39143 - ], - [ - 21.37939, - 63.68037 - ], - [ - 20.17639, - 63.29787 - ], - [ - 19.08325, - 60.16064 - ], - [ - 20.22033, - 59.44786 - ], - [ - 22.29125, - 59.44507 - ], - [ - 25.82336, - 59.933 - ], - [ - 27.52075, - 60.23435 - ], - [ - 27.83386, - 60.53229 - ], - [ - 29.29641, - 61.26165 - ], - [ - 31.20803, - 62.44759 - ], - [ - 31.62826, - 62.90585 - ], - [ - 31.2635, - 63.22106 - ], - [ - 29.99605, - 63.75387 - ], - [ - 30.28656, - 63.81704 - ], - [ - 30.58319, - 64.0782 - ], - [ - 30.5104, - 64.26428 - ], - [ - 30.09979, - 64.39218 - ], - [ - 30.02563, - 64.58736 - ], - [ - 30.16845, - 64.63329 - ], - [ - 30.09429, - 64.79518 - ], - [ - 29.78393, - 64.79811 - ], - [ - 29.65347, - 64.89733 - ], - [ - 29.65759, - 65.05939 - ], - [ - 29.91027, - 65.09527 - ], - [ - 29.93225, - 65.20895 - ], - [ - 29.72076, - 65.27853 - ], - [ - 29.91577, - 65.63788 - ], - [ - 30.1863, - 65.66223 - ], - [ - 29.9913, - 66.09771 - ], - [ - 29.07119, - 66.91983 - ], - [ - 30.11077, - 67.63431 - ], - [ - 29.3486, - 68.08099 - ], - [ - 28.67568, - 68.20166 - ], - [ - 28.46547, - 68.54039 - ], - [ - 28.72375, - 68.72642 - ], - [ - 28.82675, - 68.87341 - ], - [ - 28.44985, - 68.90792 - ], - [ - 28.95996, - 69.05089 - ], - [ - 28.83324, - 69.10563 - ], - [ - 28.87207, - 69.22132 - ], - [ - 29.36096, - 69.46526 - ], - [ - 29.15634, - 69.69667 - ], - [ - 28.38455, - 69.83488 - ], - [ - 28.35845, - 69.88312 - ], - [ - 28.17169, - 69.92511 - ], - [ - 28.00415, - 70.01495 - ], - [ - 27.96569, - 70.0988 - ] - ] - ], - terms_url: "https://www.maanmittauslaitos.fi/en/", - terms_text: "© Maanmittauslaitos", - best: true, - description: "Ortophotos from the National Land Survey of Finland", - icon: "https://www.maanmittauslaitos.fi/apple-touch-icon.png" - }, - { - id: "mml-topo", - name: "MML Topographic Map", - type: "tms", - template: "http://tiles.kartat.kapsi.fi/peruskartta/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 2, - 19 - ], - polygon: [ - [ - [ - 27.96569, - 70.0988 - ], - [ - 27.57431, - 70.07728 - ], - [ - 27.10876, - 69.93548 - ], - [ - 26.70913, - 69.97549 - ], - [ - 26.45507, - 69.94207 - ], - [ - 25.87142, - 69.6671 - ], - [ - 25.94833, - 69.61024 - ], - [ - 25.83023, - 69.55323 - ], - [ - 25.66955, - 69.20794 - ], - [ - 25.73822, - 69.01797 - ], - [ - 25.60089, - 68.90309 - ], - [ - 25.45806, - 68.91199 - ], - [ - 25.11749, - 68.80699 - ], - [ - 25.07354, - 68.64355 - ], - [ - 24.88128, - 68.62003 - ], - [ - 23.97491, - 68.84568 - ], - [ - 23.74969, - 68.8308 - ], - [ - 23.63433, - 68.71645 - ], - [ - 23.18939, - 68.68053 - ], - [ - 22.52197, - 68.7553 - ], - [ - 21.63894, - 69.28191 - ], - [ - 21.26953, - 69.31783 - ], - [ - 20.94131, - 69.21622 - ], - [ - 21.08963, - 69.09307 - ], - [ - 21.05941, - 69.04352 - ], - [ - 20.72296, - 69.12491 - ], - [ - 20.54443, - 69.0558 - ], - [ - 20.84655, - 68.97416 - ], - [ - 20.81634, - 68.91742 - ], - [ - 21.38754, - 68.68461 - ], - [ - 22.04734, - 68.47066 - ], - [ - 22.80212, - 68.35464 - ], - [ - 23.12072, - 68.13169 - ], - [ - 23.5437, - 67.9633 - ], - [ - 23.44757, - 67.8393 - ], - [ - 23.48602, - 67.59352 - ], - [ - 23.36517, - 67.46545 - ], - [ - 23.71124, - 67.41592 - ], - [ - 23.72772, - 67.32186 - ], - [ - 23.54644, - 67.26885 - ], - [ - 23.53128, - 67.16724 - ], - [ - 23.89251, - 66.86863 - ], - [ - 23.84582, - 66.57775 - ], - [ - 23.61843, - 66.44562 - ], - [ - 23.67171, - 66.20303 - ], - [ - 23.87191, - 66.14551 - ], - [ - 24.09988, - 65.87247 - ], - [ - 24.1658, - 65.66959 - ], - [ - 24.11636, - 65.39143 - ], - [ - 21.37939, - 63.68037 - ], - [ - 20.17639, - 63.29787 - ], - [ - 19.08325, - 60.16064 - ], - [ - 20.22033, - 59.44786 - ], - [ - 22.29125, - 59.44507 - ], - [ - 25.82336, - 59.933 - ], - [ - 27.52075, - 60.23435 - ], - [ - 27.83386, - 60.53229 - ], - [ - 29.29641, - 61.26165 - ], - [ - 31.20803, - 62.44759 - ], - [ - 31.62826, - 62.90585 - ], - [ - 31.2635, - 63.22106 - ], - [ - 29.99605, - 63.75387 - ], - [ - 30.28656, - 63.81704 - ], - [ - 30.58319, - 64.0782 - ], - [ - 30.5104, - 64.26428 - ], - [ - 30.09979, - 64.39218 - ], - [ - 30.02563, - 64.58736 - ], - [ - 30.16845, - 64.63329 - ], - [ - 30.09429, - 64.79518 - ], - [ - 29.78393, - 64.79811 - ], - [ - 29.65347, - 64.89733 - ], - [ - 29.65759, - 65.05939 - ], - [ - 29.91027, - 65.09527 - ], - [ - 29.93225, - 65.20895 - ], - [ - 29.72076, - 65.27853 - ], - [ - 29.91577, - 65.63788 - ], - [ - 30.1863, - 65.66223 - ], - [ - 29.9913, - 66.09771 - ], - [ - 29.07119, - 66.91983 - ], - [ - 30.11077, - 67.63431 - ], - [ - 29.3486, - 68.08099 - ], - [ - 28.67568, - 68.20166 - ], - [ - 28.46547, - 68.54039 - ], - [ - 28.72375, - 68.72642 - ], - [ - 28.82675, - 68.87341 - ], - [ - 28.44985, - 68.90792 - ], - [ - 28.95996, - 69.05089 - ], - [ - 28.83324, - 69.10563 - ], - [ - 28.87207, - 69.22132 - ], - [ - 29.36096, - 69.46526 - ], - [ - 29.15634, - 69.69667 - ], - [ - 28.38455, - 69.83488 - ], - [ - 28.35845, - 69.88312 - ], - [ - 28.17169, - 69.92511 - ], - [ - 28.00415, - 70.01495 - ], - [ - 27.96569, - 70.0988 - ] - ] - ], - terms_url: "https://www.maanmittauslaitos.fi/en/", - terms_text: "© Maanmittauslaitos", - description: "Topographic map from the National Land Survey of Finland", - icon: "https://www.maanmittauslaitos.fi/apple-touch-icon.png" - }, - { - id: "openlabs-geoportal-public-transport", - name: "Municipality of Tirana - Public Transport (Open Labs GeoPortal) (overlay)", - type: "tms", - template: "https://geoportal.openlabs.cc/mapcache/tms/1.0.0/public-transport@GoogleMapsCompatibleExtended/{zoom}/{x}/{-y}.png", - endDate: "2017-01-01T00:00:00.000Z", - startDate: "2017-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 19.7376248, - 41.3015397 - ], - [ - 19.8862836, - 41.2721302 - ], - [ - 19.8687741, - 41.385825 - ], - [ - 19.6833798, - 41.3732021 - ], - [ - 19.7376248, - 41.3015397 - ] - ] - ], - terms_url: "https://geoportal.openlabs.cc/", - terms_text: "Data provided by the Muncipality of Tirana hosted by Open Labs", - description: "Bus stops & lines provided by the Muncipality of Tirana hosted by Open Labs", - overlay: true - }, - { - id: "openlabs-geoportal-tirana", - name: "Municipality of Tirana (Open Labs GeoPortal)", - type: "tms", - template: "https://geoportal.openlabs.cc/mapcache/tms/1.0.0/tirana@GoogleMapsCompatibleExtended/{zoom}/{x}/{-y}.png", - endDate: "2017-01-01T00:00:00.000Z", - startDate: "2017-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 19.7022626, - 41.1403991 - ], - [ - 19.7757337, - 41.1186768 - ], - [ - 19.8643109, - 41.1212632 - ], - [ - 20.249862, - 41.3494955 - ], - [ - 20.0308221, - 41.4118363 - ], - [ - 19.9257654, - 41.5204034 - ], - [ - 19.8886865, - 41.5075495 - ], - [ - 19.8893731, - 41.4226497 - ], - [ - 19.8165887, - 41.4617688 - ], - [ - 19.7335046, - 41.4303724 - ], - [ - 19.7417444, - 41.3788701 - ], - [ - 19.6579736, - 41.3747481 - ], - [ - 19.5721429, - 41.243224 - ], - [ - 19.6181482, - 41.2256674 - ], - [ - 19.6717065, - 41.2272167 - ], - [ - 19.7022626, - 41.1403991 - ] - ] - ], - terms_url: "https://geoportal.openlabs.cc", - terms_text: "Data provided by the Muncipality of Tirana hosted by Open Labs", - description: "Streets & Builings provided by the Muncipality of Tirana hosted by Open Labs" - }, - { - id: "NC-US", - name: "NC Latest Orthoimagery", - type: "wms", - template: "https://services.nconemap.gov/secure/services/Imagery/Orthoimagery_All/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "1995-01-01T00:00:00.000Z", - polygon: [ - [ - [ - -81.6792, - 36.5974 - ], - [ - -80.2535886, - 36.5479298 - ], - [ - -75.8409, - 36.5671 - ], - [ - -75.4323, - 35.6441 - ], - [ - -75.5047482, - 35.1880648 - ], - [ - -75.7052487, - 35.1768406 - ], - [ - -76.1474484, - 34.9407747 - ], - [ - -76.5347165, - 34.5548667 - ], - [ - -76.6967648, - 34.6678918 - ], - [ - -77.2790402, - 34.5322432 - ], - [ - -77.688281, - 34.2648225 - ], - [ - -77.9435, - 33.8269 - ], - [ - -78.2128781, - 33.8940169 - ], - [ - -78.5301, - 33.8304 - ], - [ - -79.6693, - 34.7916 - ], - [ - -80.8122, - 34.8085 - ], - [ - -80.8468503, - 34.9632866 - ], - [ - -80.9512204, - 35.0555205 - ], - [ - -81.0638303, - 35.0172898 - ], - [ - -81.0748166, - 35.1341745 - ], - [ - -82.3632, - 35.1805 - ], - [ - -82.9989, - 34.9919 - ], - [ - -84.3333, - 34.9767 - ], - [ - -84.2718381, - 35.2822869 - ], - [ - -84.0905637, - 35.2733181 - ], - [ - -83.9147824, - 35.53301 - ], - [ - -83.5549802, - 35.591102 - ], - [ - -83.2556027, - 35.7339181 - ], - [ - -82.9864377, - 35.8141398 - ], - [ - -82.9232663, - 35.9676717 - ], - [ - -82.6788205, - 36.0853997 - ], - [ - -82.6019162, - 36.0898388 - ], - [ - -82.5359982, - 35.9698946 - ], - [ - -82.3547238, - 36.1475245 - ], - [ - -82.0443601, - 36.1430887 - ], - [ - -81.9042844, - 36.3380291 - ], - [ - -81.742236, - 36.3734205 - ], - [ - -81.6792, - 36.5974 - ] - ] - ], - description: "Most recent true color imagery for the state of North Carolina. The imagery has a pixel resolution of 6 inches and is comprised of imagery flown in 2010, 2012, 2013, and 2014" - }, - { - id: "geodata.state.nj.us-Infrared2015", - name: "NJ 2015 Aerial Imagery (Infrared)", - type: "wms", - template: "https://geodata.state.nj.us/imagerywms/Infrared2015?FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&WIDTH={width}&HEIGHT={height}&LAYERS=Infrared2015&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2015-05-03T00:00:00.000Z", - startDate: "2015-03-29T00:00:00.000Z", - 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 - ], - [ - -73.890266, - 40.998039 - ], - [ - -73.933406, - 40.882078 - ], - [ - -73.933407, - 40.882077 - ], - [ - -73.933408, - 40.882076 - ], - [ - -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.466251, - 39.750764 - ], - [ - -75.466251, - 39.750765 - ], - [ - -75.46625, - 39.750767 - ], - [ - -75.466249, - 39.750768 - ], - [ - -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)", - description: "Digital orthophotography of New Jersey, Near Infrared, 1 foot resolution" - }, - { - id: "geodata.state.nj.us-Natural2015", - name: "NJ 2015 Aerial Imagery (Natural Color)", - type: "wms", - template: "https://geodata.state.nj.us/imagerywms/Natural2015?FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&WIDTH={width}&HEIGHT={height}&LAYERS=Natural2015&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2015-05-03T00:00:00.000Z", - startDate: "2015-03-29T00:00:00.000Z", - 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 - ], - [ - -73.890266, - 40.998039 - ], - [ - -73.933406, - 40.882078 - ], - [ - -73.933407, - 40.882077 - ], - [ - -73.933408, - 40.882076 - ], - [ - -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.466251, - 39.750764 - ], - [ - -75.466251, - 39.750765 - ], - [ - -75.46625, - 39.750767 - ], - [ - -75.466249, - 39.750768 - ], - [ - -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)", - description: "Digital orthophotography of New Jersey, Natural Color, 1 foot resolution" - }, - { - id: "NLSC-EMAP5", - name: "NLSC General Map with Contour line", - type: "tms", - template: "https://wmts.nlsc.gov.tw/wmts/EMAP5_OPENDATA/default/EPSG:3857/{zoom}/{y}/{x}", - startDate: "2015-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 15 - ], - polygon: [ - [ - [ - 120.4570579, - 26.3970586 - ], - [ - 120.44256, - 26.3708009 - ], - [ - 120.44713, - 26.3531513 - ], - [ - 120.4673009, - 26.3405831 - ], - [ - 120.4978723, - 26.3340866 - ], - [ - 120.5141036, - 26.3401594 - ], - [ - 120.5341168, - 26.3641649 - ], - [ - 120.5297045, - 26.3842128 - ], - [ - 120.4956661, - 26.4015754 - ], - [ - 120.4570579, - 26.3970586 - ] - ], - [ - [ - 119.9007221, - 25.9858609 - ], - [ - 119.8960071, - 25.9648902 - ], - [ - 119.9131301, - 25.9470399 - ], - [ - 119.9503542, - 25.9278478 - ], - [ - 119.9905563, - 25.9260623 - ], - [ - 120.0198392, - 25.9363284 - ], - [ - 120.0277804, - 25.9557423 - ], - [ - 120.0275322, - 25.9845224 - ], - [ - 119.9989937, - 26.0010288 - ], - [ - 119.9404278, - 26.0028131 - ], - [ - 119.9007221, - 25.9858609 - ] - ], - [ - [ - 122.089, - 24.5485 - ], - [ - 121.709, - 23.4541 - ], - [ - 121.717, - 22.698 - ], - [ - 121.818, - 21.95 - ], - [ - 121.803, - 21.8735 - ], - [ - 121.759, - 21.8087 - ], - [ - 121.694, - 21.7653 - ], - [ - 120.861, - 21.5631 - ], - [ - 120.815, - 21.5576 - ], - [ - 120.739, - 21.5728 - ], - [ - 120.661, - 21.6296 - ], - [ - 120.202, - 22.1809 - ], - [ - 119.27, - 23.0542 - ], - [ - 119.153, - 23.2049 - ], - [ - 119.128, - 23.2485 - ], - [ - 119.103, - 23.4 - ], - [ - 119.118, - 23.4765 - ], - [ - 119.137, - 23.512 - ], - [ - 119.361, - 23.8885 - ], - [ - 119.406, - 23.9407 - ], - [ - 120.968, - 25.2284 - ], - [ - 121.408, - 25.4687 - ], - [ - 121.989, - 25.8147 - ], - [ - 122.065, - 25.8299 - ], - [ - 122.141, - 25.8147 - ], - [ - 122.216, - 25.7663 - ], - [ - 122.26, - 25.7015 - ], - [ - 122.297, - 25.48 - ], - [ - 122.196, - 24.9696 - ], - [ - 122.089, - 24.5485 - ] - ], - [ - [ - 116.6855033, - 20.8547596 - ], - [ - 116.6309071, - 20.8149565 - ], - [ - 116.5941695, - 20.7600846 - ], - [ - 116.5797214, - 20.6967501 - ], - [ - 116.5893056, - 20.6325865 - ], - [ - 116.621766, - 20.5753367 - ], - [ - 116.6731874, - 20.5319171 - ], - [ - 116.7373678, - 20.5075783 - ], - [ - 116.8065659, - 20.5052653 - ], - [ - 116.8724354, - 20.5252581 - ], - [ - 116.9270316, - 20.5651373 - ], - [ - 116.9637692, - 20.6200797 - ], - [ - 116.9782173, - 20.6834462 - ], - [ - 116.9686331, - 20.7475883 - ], - [ - 116.9361727, - 20.8047732 - ], - [ - 116.8847512, - 20.8481147 - ], - [ - 116.8205709, - 20.872399 - ], - [ - 116.7513728, - 20.8747063 - ], - [ - 116.6855033, - 20.8547596 - ] - ], - [ - [ - 118.2261504, - 24.4563345 - ], - [ - 118.2936439, - 24.4538527 - ], - [ - 118.2851467, - 24.4751026 - ], - [ - 118.3097372, - 24.4916821 - ], - [ - 118.3767709, - 24.4729348 - ], - [ - 118.4100947, - 24.5332285 - ], - [ - 118.4479031, - 24.5284069 - ], - [ - 118.4746394, - 24.4599272 - ], - [ - 118.512992, - 24.4315479 - ], - [ - 118.5065839, - 24.4202318 - ], - [ - 118.4811625, - 24.4332439 - ], - [ - 118.4610567, - 24.4089192 - ], - [ - 118.426145, - 24.3970385 - ], - [ - 118.3970055, - 24.4284184 - ], - [ - 118.3765564, - 24.4258395 - ], - [ - 118.3397565, - 24.3814628 - ], - [ - 118.3031926, - 24.3705764 - ], - [ - 118.2574234, - 24.4139213 - ], - [ - 118.1381276, - 24.3724838 - ], - [ - 118.1617342, - 24.4022433 - ], - [ - 118.2094226, - 24.4139604 - ], - [ - 118.1895784, - 24.4352201 - ], - [ - 118.2176338, - 24.430205 - ], - [ - 118.2261504, - 24.4563345 - ] - ], - [ - [ - 120.2234496, - 26.30045 - ], - [ - 120.2550843, - 26.3100412 - ], - [ - 120.269888, - 26.3368716 - ], - [ - 120.2591889, - 26.3652192 - ], - [ - 120.2292544, - 26.3784823 - ], - [ - 120.1976197, - 26.3688968 - ], - [ - 120.182816, - 26.3420738 - ], - [ - 120.1935151, - 26.3137205 - ], - [ - 120.2234496, - 26.30045 - ] - ], - [ - [ - 119.4374461, - 25.0047541 - ], - [ - 119.4342024, - 24.9886249 - ], - [ - 119.4541901, - 24.9722553 - ], - [ - 119.4827444, - 24.9718376 - ], - [ - 119.4898402, - 24.9937882 - ], - [ - 119.4715877, - 25.0069239 - ], - [ - 119.4374461, - 25.0047541 - ] - ], - [ - [ - 119.8869914, - 26.180381 - ], - [ - 119.893227, - 26.1203128 - ], - [ - 119.9285109, - 26.1080224 - ], - [ - 119.9779388, - 26.1223611 - ], - [ - 120.0366775, - 26.151728 - ], - [ - 120.1098054, - 26.2134921 - ], - [ - 120.119269, - 26.2713663 - ], - [ - 120.0629175, - 26.3172592 - ], - [ - 119.9923706, - 26.3164881 - ], - [ - 119.9467732, - 26.2898799 - ], - [ - 119.9020362, - 26.2439761 - ], - [ - 119.8869914, - 26.180381 - ] - ] - ], - terms_url: "https://maps.nlsc.gov.tw", - terms_text: "© National Land Surveying and Mapping Center, Taiwan OGDL 1.0", - description: "The emap from Taiwan National Land Surveying and Mapping Center", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAxJJREFUOI3tlF9oW2UYxn9f4nKW2ixfjJGYMnuctRUZ5mhEpjdJEEaHtmsZaKHq0qt6ZdtZL3Zhk3ilIKS9Ui806UStE7Edjln8kwzEwaB6IshsmJIqK1ttZ7Qlzel2eryQhqZrsDC8EHyuvu993+/53j+8D/yPfxtip4GqH1X1owLkdHI3RSwbkbFu1yAPdx4t3hpSS6YLAM05i/vCqcmzZwpj9T6pIZYOZNArNADhsQj3RVNjtyS1DcKtiHlPIb96PTn67nJiq8++cRgJicTpQ7Yz0oHc7cQZeakzPbTyqr9iKXUr0lfbqOx7LHJgbXrux5/X9M0+G0C8SySeeWTPQPSLxu4jn1vd4tE7m4euDNclrCEvt6E+25/e6H+VuKen57vEe1b8I29b8cKyo6j6Uece6I/VK387jC70crgjMFBDPDEx8aA5aOPkG+f7FhcX9YhGZLIUBSD7VAtSsZOKNpGKNgFU710tbiJ7G0lFm9DucCL2R7uCXjTpQFZbMV6wMu+EbWnpQOIJVKcvFTuDIR+az4nmc1Zt6h4HuV9XGHjIx1D2EvrCKtLnUgE+Pig+kQ6kDeDFc9YQwJdP2rLuBlfzRjklw7yh7JJh0vfZL6Tb70IqdqRSnT/5JfQTBcZfDom4HaBiUjn5k/Xh0VYRe85ztZ11QX53K4ZQyPxwFcO0yP+2Ste9bi6XrxPbfxuvnV9g6uIfPK/dTskwURbOFfPTM2PSIeTT99Bzw4KMhERi5ICIl667OOHuYNzdQV5p/ccBxi89kUmm5vveDou06kLddvNSibasbvZGXvj9fYJGgbldAaYaI+SVVoq7ApxtCNXEH7ZyhL8+Nho00YJeoT3+6Xp0W2KtBU07NpzNlHulem2ecHmGzpUcmlGg+dp83aynitbkK99ayfwSel2tiLUTo3M4lSn3ys12ub5MsFL4O4GGWZq/fyszfvrPsfwSNZtnpw70i+jMfjPdf//MfXf7UYtrASqWQkUoeNzLtHumS0buzePJD4zjV1a5vPX9jmRT9aNGNCKbZXMn0vnfwl+e9BTflqrxKAAAAABJRU5ErkJggg==" - }, - { - id: "IBGE_Salvador_Streets", - name: "Nomes de Ruas IBGE Salvador-BA", - type: "tms", - template: "https://api.mapbox.com/styles/v1/wille/cj8lp78dn62wl2rquim47qo0g/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g", - scaleExtent: [ - 0, - 20 - ], - polygon: [ - [ - [ - -38.489742279052734, - -12.811131765117107 - ], - [ - -38.54484558105469, - -13.013924052026558 - ], - [ - -38.47755432128906, - -13.034662471471638 - ], - [ - -38.33473205566406, - -12.946846814654444 - ], - [ - -38.30005645751953, - -12.906692193510644 - ], - [ - -38.33953857421875, - -12.904349641337422 - ], - [ - -38.35481643676758, - -12.830213284310222 - ], - [ - -38.38090896606445, - -12.821844374997415 - ], - [ - -38.40717315673828, - -12.867535227819912 - ], - [ - -38.46536636352539, - -12.815985972925704 - ], - [ - -38.489742279052734, - -12.811131765117107 - ] - ] - ], - description: "Streets geometry and names of Salvador, Bahia. Source: Faces de Logradouro - IBGE.", - overlay: true - }, - { - id: "orthos.dhses.ny.gov_latest", - name: "NYS Orthos Online", - type: "wms", - template: "http://www.orthos.dhses.ny.gov/arcgis/services/Latest/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0,1,2,3,4&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2018-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 19 - ], - polygon: [ - [ - [ - -74.91231104790405, - 45.036060871422514 - ], - [ - -73.47787904626531, - 45.02996489601911 - ], - [ - -73.33846123282218, - 45.03098119095642 - ], - [ - -73.31977627491248, - 45.005581106608915 - ], - [ - -73.32265088382167, - 44.98525292658083 - ], - [ - -73.34852236400432, - 44.92829565917409 - ], - [ - -73.36720732191401, - 44.83969633391092 - ], - [ - -73.34277314618596, - 44.81727029165119 - ], - [ - -73.34564775509514, - 44.7764733152644 - ], - [ - -73.37295653973237, - 44.73462648007473 - ], - [ - -73.37008193082319, - 44.6794648966887 - ], - [ - -73.39739071546042, - 44.64470656126996 - ], - [ - -73.39307880209665, - 44.60276438225357 - ], - [ - -73.39739071546042, - 44.54542854468756 - ], - [ - -73.34995966845892, - 44.512639828752185 - ], - [ - -73.34564775509514, - 44.49521331585934 - ], - [ - -73.37870575755073, - 44.47060231167881 - ], - [ - -73.30827783927576, - 44.43571894999882 - ], - [ - -73.30396592591198, - 44.4182694555537 - ], - [ - -73.3327120150038, - 44.3391682816244 - ], - [ - -73.30827783927576, - 44.27128222420617 - ], - [ - -73.30827783927576, - 44.25172471526754 - ], - [ - -73.38014306200533, - 44.14868323115224 - ], - [ - -73.40457723773338, - 44.0413289327325 - ], - [ - -73.33989853727677, - 43.79595697288363 - ], - [ - -73.28096905463853, - 43.642215731803084 - ], - [ - -73.20910383190896, - 43.549573305004984 - ], - [ - -73.21341574527274, - 43.51205945175996 - ], - [ - -73.24647374772834, - 42.6755714070924 - ], - [ - -73.45919480700785, - 42.142839357113225 - ], - [ - -73.47069324264457, - 42.03937970922349 - ], - [ - -73.48794089609967, - 41.737642097452465 - ], - [ - -73.4994393317364, - 41.643191171126794 - ], - [ - -73.47787976491753, - 41.62707774888845 - ], - [ - -73.4318860223706, - 41.57978847312145 - ], - [ - -73.42613680455224, - 41.56365920821005 - ], - [ - -73.42685473812732, - 41.45925887814987 - ], - [ - -73.43979047821864, - 41.403222667065656 - ], - [ - -73.44985160940078, - 41.383275042836544 - ], - [ - -73.43835317376404, - 41.37033277045519 - ], - [ - -73.42757339035461, - 41.35900616964153 - ], - [ - -73.41751225917248, - 41.34390096839462 - ], - [ - -73.41894956362707, - 41.27642429018757 - ], - [ - -73.43044799926379, - 41.24455103927662 - ], - [ - -73.46566195840128, - 41.19752312226992 - ], - [ - -73.52962200663059, - 41.145049831455864 - ], - [ - -73.55477483458594, - 41.133684100459654 - ], - [ - -73.61586027390607, - 41.13530789690045 - ], - [ - -73.6266400573155, - 41.1087808553827 - ], - [ - -73.62735870954279, - 41.054068843422385 - ], - [ - -73.63957579740682, - 40.99117509837295 - ], - [ - -73.61873488281525, - 40.98195286582785 - ], - [ - -73.59933127267827, - 40.96567519162947 - ], - [ - -73.59933127267827, - 40.93473654650821 - ], - [ - -73.63454523181575, - 40.91681807360894 - ], - [ - -73.68053897436268, - 40.89183270232195 - ], - [ - -73.69850528004507, - 40.8798798402391 - ], - [ - -73.68628819218104, - 40.87064205907731 - ], - [ - -73.66257266868028, - 40.87933647703018 - ], - [ - -73.63813849295222, - 40.90541287946855 - ], - [ - -73.59789396822369, - 40.91193037416514 - ], - [ - -73.57561574917752, - 40.91790417996723 - ], - [ - -73.52674739772141, - 40.92387744595259 - ], - [ - -73.50159456976607, - 40.9428797007417 - ], - [ - -73.49009613412935, - 40.953735678064604 - ], - [ - -73.41751225917248, - 40.960791106211715 - ], - [ - -73.38373560448959, - 40.9613338002184 - ], - [ - -73.33702320971537, - 40.95590665935183 - ], - [ - -73.30827712062354, - 40.93636525766628 - ], - [ - -73.27090720480417, - 40.92659238839886 - ], - [ - -73.20910311325675, - 40.91953330604491 - ], - [ - -73.18682489421059, - 40.92713536350369 - ], - [ - -73.16813993630089, - 40.93147900372728 - ], - [ - -73.165983979619, - 40.95970570481162 - ], - [ - -73.1688585885282, - 40.970016297449746 - ], - [ - -73.12933271602694, - 40.98195286582785 - ], - [ - -73.10777314920807, - 40.98195286582785 - ], - [ - -73.06680997225222, - 40.97489970011966 - ], - [ - -72.85840082633648, - 40.97435711767307 - ], - [ - -72.71826364201384, - 40.98195286582785 - ], - [ - -72.65574089823912, - 41.00527719453338 - ], - [ - -72.64424246260239, - 41.004734862008505 - ], - [ - -72.62627615692, - 40.99225998211336 - ], - [ - -72.54147519409912, - 41.03889309392365 - ], - [ - -72.47679649364251, - 41.063280983759014 - ], - [ - -72.45811153573283, - 41.08928476815911 - ], - [ - -72.41858566323157, - 41.093076127227 - ], - [ - -72.36612405063899, - 41.138555369199075 - ], - [ - -72.36037483282063, - 41.14180268071838 - ], - [ - -72.32228626477396, - 41.15479031895286 - ], - [ - -72.29066556677296, - 41.16398833949227 - ], - [ - -72.21448843067962, - 41.182380507948444 - ], - [ - -72.20083403836101, - 41.19157465575383 - ], - [ - -72.04847976617432, - 41.25913903369694 - ], - [ - -72.02548289490088, - 41.29370497046782 - ], - [ - -71.9392446276254, - 41.30774215335454 - ], - [ - -71.9234342786249, - 41.30666247732331 - ], - [ - -71.90259336403332, - 41.299104244517785 - ], - [ - -71.90187471180603, - 41.2893852294372 - ], - [ - -71.99458084912716, - 41.24509139345555 - ], - [ - -72.10453463990339, - 41.19806386514946 - ], - [ - -72.1828677326786, - 41.16723439148816 - ], - [ - -72.18933560272427, - 41.16236525319468 - ], - [ - -72.25185834649899, - 41.12231639996208 - ], - [ - -72.30431995909157, - 41.10444889166786 - ], - [ - -72.3158183947283, - 41.09524251989042 - ], - [ - -72.27916713113622, - 41.08440984216064 - ], - [ - -72.27269926109055, - 41.080617983013646 - ], - [ - -72.26838734772679, - 41.04973327212589 - ], - [ - -72.2173630395888, - 41.04810735923019 - ], - [ - -72.19652212499723, - 41.04214533487485 - ], - [ - -72.18646099381509, - 41.05298497738375 - ], - [ - -72.17136929704188, - 41.05840412900452 - ], - [ - -72.14980973022301, - 41.058946019612705 - ], - [ - -72.15627760026867, - 41.09632568943114 - ], - [ - -72.1526843391322, - 41.10769789124652 - ], - [ - -72.1490910779957, - 41.146673346530676 - ], - [ - -72.13399938122251, - 41.145049831455864 - ], - [ - -72.07075798522048, - 41.10553190938901 - ], - [ - -72.07435124635697, - 41.05677843039375 - ], - [ - -72.086568334221, - 41.0318460205672 - ], - [ - -72.10956520549446, - 41.006904165328564 - ], - [ - -72.08728698644829, - 41.01286938123731 - ], - [ - -72.06213415849294, - 41.02534036020521 - ], - [ - -72.04560515726514, - 41.03238812991624 - ], - [ - -72.01901502485521, - 41.03293023480147 - ], - [ - -72.00895389367307, - 41.04214533487485 - ], - [ - -72.00176737140012, - 41.05135914484385 - ], - [ - -71.96367880335345, - 41.07736764390088 - ], - [ - -71.9219969741703, - 41.088743127574865 - ], - [ - -71.889657623942, - 41.08765983301127 - ], - [ - -71.8558809692591, - 41.080617983013646 - ], - [ - -71.84581983807696, - 41.07465890519177 - ], - [ - -71.8558809692591, - 41.05298497738375 - ], - [ - -71.89037627616929, - 41.03726691318444 - ], - [ - -71.91624775635194, - 41.03021966573728 - ], - [ - -71.99098758799067, - 41.00365018356915 - ], - [ - -72.07938181194804, - 40.97272934355811 - ], - [ - -72.31941165586478, - 40.88205324847025 - ], - [ - -72.44230118673232, - 40.84020260474275 - ], - [ - -72.6277134613746, - 40.78689990926171 - ], - [ - -72.76569468901535, - 40.75043362643005 - ], - [ - -72.88499095874643, - 40.71285788340029 - ], - [ - -72.95973079038517, - 40.68670572169275 - ], - [ - -73.0373452309331, - 40.65999813364621 - ], - [ - -73.08118301679814, - 40.64854874971067 - ], - [ - -73.22994402784832, - 40.616370919338586 - ], - [ - -73.32193151294216, - 40.61309772897009 - ], - [ - -73.35211490648857, - 40.61855295716485 - ], - [ - -73.55477483458594, - 40.56943986927557 - ], - [ - -73.75959071936519, - 40.57708205228237 - ], - [ - -73.88248025023275, - 40.548146328651804 - ], - [ - -73.93350455837073, - 40.53449306094386 - ], - [ - -73.94500299400745, - 40.533946872353866 - ], - [ - -73.94572164623476, - 40.56288873200082 - ], - [ - -74.08226556942093, - 40.562342774949634 - ], - [ - -74.08010961273904, - 40.5492384698493 - ], - [ - -74.12251009414948, - 40.52083701052971 - ], - [ - -74.15772405328697, - 40.51373476465814 - ], - [ - -74.18718879460609, - 40.50116740969577 - ], - [ - -74.22887062378922, - 40.48695799891573 - ], - [ - -74.26120997401753, - 40.48531825788795 - ], - [ - -74.27630167079074, - 40.49570260781157 - ], - [ - -74.27917627969993, - 40.54377758575639 - ], - [ - -74.26983380074509, - 40.56671030667376 - ], - [ - -74.25833536510835, - 40.57216932054787 - ], - [ - -74.22527736265275, - 40.57216932054787 - ], - [ - -74.22599601488004, - 40.58308601230896 - ], - [ - -74.25114884283539, - 40.59563800556682 - ], - [ - -74.25258614728999, - 40.622371351867315 - ], - [ - -74.24324366833514, - 40.64091473558487 - ], - [ - -74.23390118938029, - 40.64909400302126 - ], - [ - -74.2022804913793, - 40.65400108233582 - ], - [ - -74.12538470305866, - 40.65672708157882 - ], - [ - -74.11532357187652, - 40.691065128306576 - ], - [ - -74.09951322287603, - 40.68997530338939 - ], - [ - -74.07795365605716, - 40.71067892875261 - ], - [ - -74.06286195928395, - 40.71830495805569 - ], - [ - -74.0520821758745, - 40.743900238938934 - ], - [ - -74.02549204346457, - 40.79288499840126 - ], - [ - -73.98093560537225, - 40.869011728592994 - ], - [ - -73.96225064746255, - 40.92550642480473 - ], - [ - -73.94931490737123, - 40.964589870550604 - ], - [ - -73.94644029846205, - 40.99876890966543 - ], - [ - -73.98165425759954, - 41.01612290773734 - ], - [ - -74.04561430582885, - 41.04322937947981 - ], - [ - -74.18072092456043, - 41.09524251989042 - ], - [ - -74.30792236879175, - 41.14937911566324 - ], - [ - -74.44087303084143, - 41.215365278476916 - ], - [ - -74.5278299503442, - 41.25913903369694 - ], - [ - -74.61334956539238, - 41.30234359441648 - ], - [ - -74.65790600348473, - 41.310981074177676 - ], - [ - -74.70246244157704, - 41.33580745460507 - ], - [ - -74.76714114203365, - 41.38974521327815 - ], - [ - -74.79660588335277, - 41.41022983858581 - ], - [ - -74.85337940930913, - 41.42262529077297 - ], - [ - -74.90727832635629, - 41.431785626305874 - ], - [ - -74.99782850699555, - 41.471106493417004 - ], - [ - -75.04166629286057, - 41.527084094166106 - ], - [ - -75.08478542649831, - 41.593225913275326 - ], - [ - -75.08406677427102, - 41.61848173934118 - ], - [ - -75.07328699086159, - 41.664668930702504 - ], - [ - -75.0876600354075, - 41.70277526731324 - ], - [ - -75.0876600354075, - 41.71350537258048 - ], - [ - -75.12143669009038, - 41.76176868230114 - ], - [ - -75.1192807334085, - 41.792316684103675 - ], - [ - -75.13077916904523, - 41.816958847412266 - ], - [ - -75.18755269500159, - 41.838379111347166 - ], - [ - -75.25295004768549, - 41.84962188079648 - ], - [ - -75.28744535459568, - 41.85497488617851 - ], - [ - -75.29822513800511, - 41.88226824503906 - ], - [ - -75.30613031250536, - 41.93040456765947 - ], - [ - -75.34062561941555, - 41.940027476740525 - ], - [ - -75.36649709959819, - 41.95659686103546 - ], - [ - -75.37224631741655, - 41.97743609810382 - ], - [ - -75.58065546333229, - 41.97957307031645 - ], - [ - -75.58137411555958, - 41.923988488332995 - ], - [ - -75.78906460924802, - 41.92666193313772 - ], - [ - -75.78690865256613, - 41.98277839417683 - ], - [ - -79.7768658185114, - 41.98117575241552 - ], - [ - -79.7818971027547, - 42.20994439336295 - ], - [ - -79.77183597157256, - 42.28016852623668 - ], - [ - -79.72153031566185, - 42.29824389979878 - ], - [ - -79.57348795683896, - 42.367307788746416 - ], - [ - -79.42975751137983, - 42.46599037989962 - ], - [ - -79.37370263765078, - 42.499909767684656 - ], - [ - -79.2572809768289, - 42.54545998533663 - ], - [ - -79.1897276674631, - 42.56240042582576 - ], - [ - -79.16529349173506, - 42.56981042255861 - ], - [ - -79.12073705364273, - 42.62482855594211 - ], - [ - -79.09630287791468, - 42.64597644140587 - ], - [ - -79.06899409327744, - 42.696702043447694 - ], - [ - -79.03162417745807, - 42.7104331026147 - ], - [ - -78.98850504382034, - 42.723105230911976 - ], - [ - -78.88358181863518, - 42.776932904700104 - ], - [ - -78.88645642754436, - 42.814900763418876 - ], - [ - -78.93963669236422, - 42.88655426672713 - ], - [ - -78.93963669236422, - 42.93603089533893 - ], - [ - -79.04887183091316, - 42.96969438273069 - ], - [ - -79.04743452645856, - 43.05167198470151 - ], - [ - -79.09342826900549, - 43.05272226918912 - ], - [ - -79.0919909645509, - 43.09261975149211 - ], - [ - -79.08624174673254, - 43.265557535860246 - ], - [ - -79.06468217991367, - 43.27602287004617 - ], - [ - -78.84908651172498, - 43.33041359857192 - ], - [ - -78.72979024199391, - 43.35236529048099 - ], - [ - -78.63924006135466, - 43.370129894376525 - ], - [ - -78.54868988071541, - 43.379532578835416 - ], - [ - -78.47826196244044, - 43.38788929664161 - ], - [ - -77.95508314096922, - 43.38475566245842 - ], - [ - -77.73158157962807, - 43.34713889446963 - ], - [ - -77.7114593172638, - 43.340344586318594 - ], - [ - -77.66259096580768, - 43.311591022674435 - ], - [ - -77.61515991880619, - 43.28387016659478 - ], - [ - -77.55335582725876, - 43.25299623609951 - ], - [ - -77.52820299930342, - 43.25508987878669 - ], - [ - -77.45633777657385, - 43.27863839921907 - ], - [ - -77.42256112189095, - 43.28491646608342 - ], - [ - -77.16384632006454, - 43.29433235167476 - ], - [ - -77.05029926815182, - 43.29380928516081 - ], - [ - -76.94178278183018, - 43.29328621414787 - ], - [ - -76.91447399719296, - 43.3079305018789 - ], - [ - -76.85051394896364, - 43.31629708261557 - ], - [ - -76.80236424973484, - 43.328322024532355 - ], - [ - -76.7599637683244, - 43.35184220081927 - ], - [ - -76.64785402086628, - 43.42808936716575 - ], - [ - -76.545086752363, - 43.4802581022461 - ], - [ - -76.51993392440767, - 43.49485728312425 - ], - [ - -76.44303813608703, - 43.52717148354531 - ], - [ - -76.42219722149545, - 43.538112693359565 - ], - [ - -76.28206003717281, - 43.538633653838865 - ], - [ - -76.23822225130777, - 43.55686443488524 - ], - [ - -76.24037820798966, - 43.74146501378322 - ], - [ - -76.30649421290086, - 43.82914593255031 - ], - [ - -76.31152477849193, - 43.86749827350751 - ], - [ - -76.34602008540212, - 43.861798810265746 - ], - [ - -76.40063765467659, - 43.8612806502232 - ], - [ - -76.47178422517885, - 43.8840754318208 - ], - [ - -76.46675365958778, - 43.90893252243542 - ], - [ - -76.41860396035898, - 43.93119152129071 - ], - [ - -76.37189156558476, - 43.93222662089228 - ], - [ - -76.36973560890287, - 43.90271922256843 - ], - [ - -76.33308434531081, - 43.92963883810956 - ], - [ - -76.27846677603632, - 43.92963883810956 - ], - [ - -76.27846677603632, - 43.90427260833489 - ], - [ - -76.2669683403996, - 43.8959874158668 - ], - [ - -76.2360662946259, - 43.91203892916922 - ], - [ - -76.19294716098815, - 43.93326170247849 - ], - [ - -76.19007255207897, - 43.95085533306909 - ], - [ - -76.21522538003431, - 43.96016750024623 - ], - [ - -76.2504393391718, - 43.94982055774786 - ], - [ - -76.31224343071922, - 43.94775095305809 - ], - [ - -76.30577556067355, - 43.97620170069497 - ], - [ - -76.33092838862892, - 44.004638823445866 - ], - [ - -76.39560708908552, - 44.024795072402476 - ], - [ - -76.3984816979947, - 44.06250502187776 - ], - [ - -76.37548482672123, - 44.064570626786484 - ], - [ - -76.37620347894854, - 44.090900771655065 - ], - [ - -76.47106557295156, - 44.0929653855436 - ], - [ - -76.46603500736049, - 44.109479701923 - ], - [ - -76.44231948385973, - 44.129600288113295 - ], - [ - -76.3984816979947, - 44.13217935491029 - ], - [ - -76.3977630457674, - 44.2043474993423 - ], - [ - -76.37620347894854, - 44.21671031511876 - ], - [ - -76.23965955576237, - 44.2192855751065 - ], - [ - -76.23965955576237, - 44.2280406165722 - ], - [ - -76.2173813367162, - 44.228555578463435 - ], - [ - -76.21522538003431, - 44.34790496257489 - ], - [ - -76.1189259815767, - 44.37102654591561 - ], - [ - -76.04634210661985, - 44.39157140443917 - ], - [ - -75.93423235916174, - 44.43417898509957 - ], - [ - -75.83721430847683, - 44.50341416416661 - ], - [ - -75.76822369465644, - 44.558231111426025 - ], - [ - -75.69923308083607, - 44.60378721108942 - ], - [ - -75.63167977147027, - 44.64828507610631 - ], - [ - -75.56772044189319, - 44.70500920154141 - ], - [ - -75.50447904589117, - 44.7458566542504 - ], - [ - -75.4527360855259, - 44.78157451471142 - ], - [ - -75.31762946679432, - 44.872300455880584 - ], - [ - -75.15377675897092, - 44.937453318614374 - ], - [ - -75.0905353629689, - 44.973052557209364 - ], - [ - -74.97411370214701, - 45.027933775754924 - ], - [ - -74.91985438100785, - 45.03682085482298 - ], - [ - -74.91231104790405, - 45.036060871422514 - ] - ] - ], - terms_url: "https://gis.ny.gov/gateway/orthoprogram/index.cfm", - terms_text: "New York State Statewide Digital Orthoimagery Program", - description: "New York State High Resolution Digital Orthoimagery, 1 foot resolution", - icon: "data:image/png:base64,iVBORw0KGgoAAAANSUhEUgAAAG0AAABCCAYAAABdAli1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTA1Nzc1NjVGNjM2MTFFMzk5NkFGRERGMEYyODU3RTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTA1Nzc1NjZGNjM2MTFFMzk5NkFGRERGMEYyODU3RTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMDU3NzU2M0Y2MzYxMUUzOTk2QUZEREYwRjI4NTdFNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMDU3NzU2NEY2MzYxMUUzOTk2QUZEREYwRjI4NTdFNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhMlZyIAAA02SURBVHja7F1djNxWFb7XyRMvYyQUUbHJeBuoeJtpkUAg0Dj9gYS22dmgIkVUXW+aFvoD8Sr8CRDrVAVFRTSzgBRImuysCEUqauNt0lDSVplFQgiBqPcNNSTrSaMk5CXeF56oL+fYx7t3bzy/2Z3Mz17Ja8/19b32+XzOPX/Xy1mflI//wjMF547QeIExzpjGmODwR+PReY57zqM9j85zFuJvHrfldIx1msbnzn81a3brs/JeB+sTh/6ZB7BK8CQFBAVAW4TfXhpwuOfpwPlwnQ4/dTjOQ10GgLsbgPO68Zk39jJgd/38H0UWijKAkxGMLwJEzoVn86Vb4tiXLwYAMwtD5nfrc/csaHe98HcLAJuORFvIZmBvn7fvCW6131Aggwp2Yfdw0K3PrvUiYJ88+LcyD8NpoC1SeeK9/Z+yzk/cszpEFsJD4IDj8uuctgpl6/N/1TWNuaEQBQ3nIiHG//XdT5dXdZBQFPBV/vfXtnrroK0OG7igWRQEE4shY+Z73//MqhNWE2IWONjvZir0jPaYfe4vFjDANGh1oPSBZvfDz3psQEvvcJoQqIpHc9iFH39uVQD77+832rArwobzofOh3f/zpHOoheK85tM5H+oqdbqzYLPVa6gvi8bxoM6hOh3bpLXvC9CGJv/swDy2DzhtEYBbzTkMCVmg4zwQMg+ESxSafbTH82UibKFOX0h8NMhz1M4nULDgC5CBbQTGKBM4pjQGjmv1Bafd8aOKrjFeBm1uBNVwmMfs9yc/v1aqeJY4xWmy/TxxaFKQSysEWvJCOPgiEGBJMeklKEp1lb5Q+Tf94JwtQuGHTIzwEBQPwUbfd75QXuNhJ4nIzRQbuMOUNuQeVzqfIxFoKteZyp4p1/Ump2363jtgh4mxEJUO0OZCzqyrzxU6ZeyWUgidOocBKEm7SOTBVoG6RYmzzJS+8vRiZNvltK4D7SPfecsCMTgGYFV5yKxrB++tdPgWCqSgNCpj0rFPIi8BYEQSkSpoOUU0zjergHSteNTwocMQ56+sEMLq4NBz0rHT4rV+DVFXlLhuURbD7XJZV4J2/WcP+HBTs8BpCNwYiEq7Q0Mj8aboONNE+23AIZy2Sg0QMorYTStuz4NGwBXBLjtAwOkdHNpROKLlQqJuvsZcqfa9qADew4rI/rM6gGbTW1Xq1Lhoo5EhfLJFRSTiMAkAWfVP5q2AjPORWxGNXQsaF6IoGAfRImaA6zoaIgHiukDcWYW4jRQRLIYEgisZzjI4KmhuO/eodSdozADgWAcct56kJMhj2ZKIqypGdENlhDhOvt6VQKtKik9bnNaVDuOP2m+ajPNzgrO5/7z4JZOtl+4Wj3d8648GqPp5Eb1RfB2hbgZt6Jk3dOCuKMAZCwCBgek1E48wb6ENlZc9GtI52ZPhJt5/UlLytAUkXl0lOqCTfWZIffhSW3kcFMOJdlxKnNVQj9cmNip6WspdJx6Hnj5two24goPywXk15KwMxwHTePlqaXuwRqCVJGWhCoQxJIItyPYYAeQqrie5zCReegL8XJ2hxxMQoK1Q7L4Kge5JY82hb7MtTht65OU8QGxhihmMVEjyBAWPcwYxfS16CzQ+D+c9qKtUZ75Srtfn8Ndfx1xFE8Th5Adx+kDkZ7zyywc7oTE69DajAZzFtx6IU5LcUVhmiYCeAtg8cVJiPI/B9X4SK0vxtMie/mlU/eu4rkrSWIsSxzXPaZt3/c4BYCxomY2AIZAAmHnYB7DpBFwAf6Kbw7zCaE7iHNpEHGTADyNKP+TxTIXgw0EmpARROJ6qHn7Y7iSHk7iblrQ8S+GSYRJx0yqnEEeUJRUeDWVd5TT0mFDbG1Ifo2RaCIWjDWWsqF1Lc9rm0RM2GLmTSGYRPZQog/3kXn5ld83I8ZZH/2CIUFgAHBBA5ITgOR7PTyyEfjAuJng8Z3HB5+A3qr2VhV/vrHRaLBPxbTKEswqXHaBotezcnUtEGxnLtgRaRjG21bLYwD1mKK6uqTTAGotHIfQoa5eJ8cuvPlpuhhCXTjyCbO8AeKUIOC5A/PEKj8HRE+AuvjTacZBqFFviDFksJQTUa3kwCFQZDEOx95CbZTGs2oeqWMxI4tdpT3sU8R/gtNLQrhPs8mvNAUfgBXQjJdbFhSZ/1QNiS2kHzRjVuVqgsZUe/YSD0uazjMJ17XlEQDEoA2ZV4LgM7K0+Nn1Kqtis0S7NeZ1rwZeIPsha8/aMAmC5LdAuvf6YD8DlkeMit9JgFlmUFUmpkBWZVFeWomAsAazMkXIpK8CN1ArGNvQ9AnAB+QGNAQVNfuNxzkNxWiSClhQlxU8Tv2Q6LHG1DHzK/CqHdZy0nJWmHMaRei9EdvPIb/ODhhh5O6YUcYihm0NsZVTabqDsyMDbNcYKFLssVUw2BG3LQzMmFywn4jlO71NsAkU1V4mJRB5nyx56phjgpuTKuqkv4sAJWcymjBVIL8l4PZFa17jOPli2waY6FLfk85dOPTZwnJZikOuJ71H2OXay1ATN2DGNadjvoh0MwB24dHrMYeulK0oqaMb2aUvgJMtZBgCbunTGsvucc4qKbeQl3gjF41+rLKUaUH8WmQdyCkJiaDdjfuTrjFlZAZrxwDGdadxNHMKwn6u+OW72MWB5sq3S3EuJLxHPFxp0teSJV6IHWIbJc4JjvdvEbY3TCzRZa6wlRcS4/5jBo5xDUYB9VQgx2s+AUXFZbX9gpo7txerYZ1YNzdFv8p4atfMjN5Zx30s2LjIXgmeAweZDwczq2T1BP6NFYk8Ot9yNigVpamZiVFOczKJrZK47oIZiyNhWXwKsS9xiXGp7UyxNubebuDgpG4fvPVqJxCHaz1zMAnBW9a3+BqzWXILLkFgcXXbb7MNK41gEs45rrFHRJRAxZudjPigAJqqA2Tb/7b1F/+3HBwUwT7GTkIMwlnUDiOQ2CLPUmh8Liv1WD8xmCxrz52grLxnXAJzvv7O3MmCejqCOFwM9/ufq+AkbeT0wWi2LzgKlMaxK0QbYEZx484fJTZWWyu00yWU6W7kSJvF6LNYAtZWC97WNtohjN5J7Km9sOypix0dkTMf5UMupBXFdnG2QpAcs1VFqQdQeTwhKK2DJnjqO65fPJX3XyTeRzsfj4QFUz1Hagg/nSheOjrTlmaC3P0jCJfTbZcvhllyTXRUVBaSQYiZYbQIXqPn+qD1OAWH2IcchUZDxOKUERMoJBkEjikVH8SenooURcRJCFCKNTou4hkdpBJRgEKcVUAO6IhLIcV/UtyBuX+6RQAY1NvoQGdaK5GyUtlCgtAUgjBjb+sTsBADXTrA1MmRxDiOwDMXInm9DNNYq7SokujK/Bhv9ypP2LbDubSvZPSfzAJwJsB6Ct+QQAIfJR8ULR0b8FrgsiVbvUwxi2Y5rRgHJqca0dB5BGpPAbRW0RBFZntN6dT6qHh/1Fo6NloAFRzG6DnyXg33TigMR9gBLX9q0mGaHsfScfkuxqfw682KuhTXdrfkee60MP37SADG7AE8ze/Fosdjq9URIXQK00qAtU7KKE6+/X0dRySd2Vq06RQrU0jb7xyQD4MSde922VeFNE3/SN+0/6/TCs2r9AhroLIuo0ABwbRmyG5hwoJNJAM5cB61DBbRfFz/5B8A5AFzLEXbAO78BddNQrHNapwqQ2gbg5uEAv4pwA4Dz7nyiefB4KCJzB4Dz10HrlDY5vSsAmuNijikWi0rUJp0WQI/Y7eqh7V0PWl+u2jP2vGaAKb5AXhdcKGKD8V2pd83Hvnmm8gEa65x9+NrUjmCd0zpc/OO7fBB2sf0mcBGIOAfGd3nrk7N6nTkt2IBemx7IpO5L0Ag4d+H4qAHAHQDQUFyO4cJ7AG6F92fLU6f1zU+fdjQhRnBO03ogTXAgFjUP7zlpwJOWQEyOxA5pNh9ybi38Zqe35alTMO/xSRE7pKeg3rnyqy/XFI+bvn22CDIXNzOMndcV6NPTYIsd3pp39fm1/fjaQK1EH97rFuGBEbwsPjkQfVxEixox+MlnLh1+yBp65g0jjBc85kUcedCjxZLxMdZlkugGS/5jBkUntDhaMXHlJ2ZpHbTVBU7naB5wPglPX8UvtQIIkwAcfrU14PghteXVqYyAozBUdDwLxxXYXPiJn86YlkNNANzo1Z9uc9dBW4OCdhwQOUccx4jj8LiKWWnw2wcUPKgLJODwGjNezsxHQonjMAMb+nKuH7zPXet73ziooAkMeVCMjz61O6MxXgIRuSKgOvTsGSNkIg+o5AGbcihENonsgRY3FzLgOCbc6y/c3zH7biBBAzvOZHHQFxdMlgGE8sKRnRHRjW+cKgInmWCz5YF/ELCsBhUhwgTIahqvAnAOXONee/GLt8WeG0jQ0M8oIntHBNF/gBLCAjsOlQ8TAMF/NoTuLIafydBCUQ015gNwFQDOu1La4d7u+x/IOc2wXg3oQzNs6TMZnD7rFJsDLmwVOPaqhx/uOu/IoHIaaIkCE3GqMCd5wHEecBeAJLyLR4pdH2T8vwADANA824ekci98AAAAAElFTkSuQmCC" - }, - { - id: "olho_dagua_do_casado", - name: "Olho d'Agua do Casado AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Olho%20Dagua%20do%20Casado&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -37.78219871045, - -9.54444051839 - ], - [ - -37.78259635433, - -9.45388353571 - ], - [ - -37.8114653, - -9.45411888151 - ], - [ - -37.81735042942, - -9.45451112414 - ], - [ - -37.82057134484, - -9.45415810579 - ], - [ - -37.8739351535, - -9.45427577861 - ], - [ - -37.87357727401, - -9.54475422977 - ], - [ - -37.78219871045, - -9.54444051839 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "MAPNIK", - name: "OpenStreetMap (Standard)", - type: "tms", - template: "https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png", - scaleExtent: [ - 0, - 19 - ], - terms_url: "https://www.openstreetmap.org", - terms_text: "© OpenStreetMap contributors, CC-BY-SA", - "default": true, - description: "The default OpenStreetMap layer.", - icon: "data:image/png;base64,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" - }, - { - id: "OpenStreetMap-turistautak", - name: "OpenStreetMap (turistautak)", - type: "tms", - template: "http://{switch:h,i,j}.tile.openstreetmap.hu/turistautak/{zoom}/{x}/{y}.png", - scaleExtent: [ - 0, - 18 - ], - 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: "https://www.openstreetmap.org", - terms_text: "© OpenStreetMap contributors" - }, - { - id: "osm-gps", - name: "OpenStreetMap GPS traces", - type: "tms", - template: "https://{switch:a,b,c}.gps-tile.openstreetmap.org/lines/{zoom}/{x}/{y}.png", - scaleExtent: [ - 0, - 20 - ], - terms_url: "https://www.openstreetmap.org/copyright", - terms_text: "© OpenStreetMap contributors", - terms_html: "GPS Direction: © OpenStreetMap contributors.", - description: "Public GPS traces uploaded to OpenStreetMap.", - icon: "data:image/png;base64,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", - overlay: true - }, - { - id: "lu.geoportail.opendata.ortho2010", - name: "Ortho 2010 geoportail.lu", - type: "tms", - template: "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2010/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg", - endDate: "2010-07-02T00:00:00.000Z", - startDate: "2010-06-24T00:00:00.000Z", - 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", - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "lu.geoportail.opendata.ortho2013", - name: "Ortho 2013 geoportail.lu", - type: "tms", - template: "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2013/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg", - endDate: "2013-07-20T00:00:00.000Z", - startDate: "2013-07-19T00:00:00.000Z", - 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", - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "lu.geoportail.opendata.ortho2016", - name: "Ortho 2016 geoportail.lu", - type: "tms", - template: "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2016/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg", - endDate: "2016-08-16T00:00:00.000Z", - startDate: "2013-08-30T00:00:00.000Z", - 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", - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "lu.geoportail.opendata.ortho2017", - name: "Ortho 2017 geoportail.lu", - type: "tms", - template: "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2017/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg", - endDate: "2017-06-22T00:00:00.000Z", - startDate: "2017-06-14T00:00:00.000Z", - 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", - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "OS-historic-25k-OSM_Limited", - name: "OS 1:25k historic (OSM)", - type: "tms", - template: "https://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 6, - 17 - ], - polygon: [ - [ - [ - -6.4585407, - 49.9044128 - ], - [ - -6.3872009, - 49.9841116 - ], - [ - -6.2296827, - 49.9896159 - ], - [ - -6.2171269, - 49.8680087 - ], - [ - -6.4551164, - 49.8591793 - ], - [ - -6.4585407, - 49.9044128 - ] - ], - [ - [ - -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 - ], - [ - -1.4495137, - 60.8634056 - ] - ], - [ - [ - -4.9089213, - 54.4242078 - ], - [ - -4.282598, - 54.4429861 - ], - [ - -4.2535417, - 54.029769 - ], - [ - -4.8766366, - 54.0221831 - ], - [ - -4.9089213, - 54.4242078 - ] - ], - [ - [ - -5.8667408, - 59.1444603 - ], - [ - -5.7759966, - 59.1470945 - ], - [ - -5.7720016, - 59.1014052 - ], - [ - -5.8621751, - 59.0990605 - ], - [ - -5.8667408, - 59.1444603 - ] - ], - [ - [ - -1.7065887, - 59.5703599 - ], - [ - -1.5579165, - 59.5693481 - ], - [ - -1.5564897, - 59.4965695 - ], - [ - -1.7054472, - 59.4975834 - ], - [ - -1.7065887, - 59.5703599 - ] - ], - [ - [ - -7.6865827, - 58.2940975 - ], - [ - -7.5330594, - 58.3006957 - ], - [ - -7.5256401, - 58.2646905 - ], - [ - -7.6797341, - 58.2577853 - ], - [ - -7.6865827, - 58.2940975 - ] - ], - [ - [ - -4.5338281, - 59.0359871 - ], - [ - -4.481322, - 59.0371616 - ], - [ - -4.4796099, - 59.0186583 - ], - [ - -4.5332574, - 59.0180707 - ], - [ - -4.5338281, - 59.0359871 - ] - ], - [ - [ - -8.6710698, - 57.8769896 - ], - [ - -8.4673234, - 57.8897332 - ], - [ - -8.4467775, - 57.7907 - ], - [ - -8.6510947, - 57.7779213 - ], - [ - -8.6710698, - 57.8769896 - ] - ], - [ - [ - -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 - ], - [ - -5.2395519, - 50.3530581 - ] - ], - [ - [ - -2.1502671, - 60.171318 - ], - [ - -2.0030218, - 60.1696146 - ], - [ - -2.0013096, - 60.0997023 - ], - [ - -2.148555, - 60.1011247 - ], - [ - -2.1502671, - 60.171318 - ] - ], - [ - [ - -6.2086011, - 59.1163488 - ], - [ - -6.1229934, - 59.1166418 - ], - [ - -6.121852, - 59.0714985 - ], - [ - -6.2097426, - 59.0714985 - ], - [ - -6.2086011, - 59.1163488 - ] - ], - [ - [ - -4.4159559, - 59.0889036 - ], - [ - -4.4212022, - 59.0770848 - ], - [ - -4.3971904, - 59.0779143 - ], - [ - -4.3913388, - 59.0897328 - ], - [ - -4.4159559, - 59.0889036 - ] - ] - ] - }, - { - id: "OS-New_Popular_Edition-historic", - name: "OS New Popular Edition historic", - type: "tms", - template: "https://ooc.openstreetmap.org/npe/{zoom}/{x}/{y}.png", - scaleExtent: [ - 6, - 22 - ], - polygon: [ - [ - [ - -5.8, - 49.8 - ], - [ - -5.8, - 55.8 - ], - [ - 1.9, - 55.8 - ], - [ - 1.9, - 49.8 - ], - [ - -5.8, - 49.8 - ] - ] - ] - }, - { - id: "OS-OpenData_Locator", - 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 - }, - { - id: "OS-OpenData_StreetView", - name: "OS OpenData StreetView", - type: "tms", - template: "https://{switch:a,b,c}.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 - ], - [ - -5.8292886, - 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 - ], - [ - -6.4580707, - 49.8673563 - ] - ], - [ - [ - -5.8343165, - 49.932156 - ], - [ - -5.8343165, - 49.9754641 - ], - [ - -5.7683254, - 49.9754641 - ], - [ - -5.7683254, - 49.932156 - ], - [ - -5.8343165, - 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 - ], - [ - -1.9483797, - 60.6885737 - ] - ], - [ - [ - -2.203381, - 60.1968568 - ], - [ - -2.203381, - 60.0929443 - ], - [ - -1.9864011, - 60.0929443 - ], - [ - -1.9864011, - 60.1968568 - ], - [ - -2.203381, - 60.1968568 - ] - ], - [ - [ - -1.7543149, - 59.5698289 - ], - [ - -1.7543149, - 59.4639383 - ], - [ - -1.5373349, - 59.4639383 - ], - [ - -1.5373349, - 59.5698289 - ], - [ - -1.7543149, - 59.5698289 - ] - ], - [ - [ - -4.5585981, - 59.1370518 - ], - [ - -4.5585981, - 58.9569099 - ], - [ - -4.2867004, - 58.9569099 - ], - [ - -4.2867004, - 59.1370518 - ], - [ - -4.5585981, - 59.1370518 - ] - ], - [ - [ - -6.2787732, - 59.2025744 - ], - [ - -6.2787732, - 59.0227769 - ], - [ - -5.6650612, - 59.0227769 - ], - [ - -5.6650612, - 59.2025744 - ], - [ - -6.2787732, - 59.2025744 - ] - ], - [ - [ - -8.7163482, - 57.9440556 - ], - [ - -8.7163482, - 57.7305936 - ], - [ - -8.3592926, - 57.7305936 - ], - [ - -8.3592926, - 57.9440556 - ], - [ - -8.7163482, - 57.9440556 - ] - ], - [ - [ - -7.6077005, - 50.4021026 - ], - [ - -7.6077005, - 50.2688657 - ], - [ - -7.3907205, - 50.2688657 - ], - [ - -7.3907205, - 50.4021026 - ], - [ - -7.6077005, - 50.4021026 - ] - ], - [ - [ - -7.7304303, - 58.3579902 - ], - [ - -7.7304303, - 58.248313 - ], - [ - -7.5134503, - 58.248313 - ], - [ - -7.5134503, - 58.3579902 - ], - [ - -7.7304303, - 58.3579902 - ] - ] - ] - }, - { - id: "OS-Scottish_Popular-historic", - name: "OS Scottish Popular historic", - type: "tms", - template: "https://ooc.openstreetmap.org/npescotland/{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 - ] - ] - ] - }, - { - id: "al_palestina", - name: "Palestina AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Palestina&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -37.28906746617, - -9.71915617946 - ], - [ - -37.28903527966, - -9.71114035022 - ], - [ - -37.28911038151, - -9.70220427214 - ], - [ - -37.28915329685, - -9.69174505681 - ], - [ - -37.28918548336, - -9.68885787521 - ], - [ - -37.28927131405, - -9.68069325658 - ], - [ - -37.28926058521, - -9.67731947667 - ], - [ - -37.28935714474, - -9.66999011394 - ], - [ - -37.28935714474, - -9.66599221238 - ], - [ - -37.28931422939, - -9.66132793384 - ], - [ - -37.28941078892, - -9.6552568713 - ], - [ - -37.2894644331, - -9.64555775166 - ], - [ - -37.28949661961, - -9.6348852245 - ], - [ - -37.28953953495, - -9.62925794841 - ], - [ - -37.29639526119, - -9.62884541884 - ], - [ - -37.31187697163, - -9.62897235107 - ], - [ - -37.32761617413, - -9.62914159397 - ], - [ - -37.33181114903, - -9.62919448235 - ], - [ - -37.3433768343, - -9.629173327 - ], - [ - -37.35876198521, - -9.62922621538 - ], - [ - -37.37175460568, - -9.6293002591 - ], - [ - -37.37838502636, - -9.62913101629 - ], - [ - -37.3805093359, - -9.62921563771 - ], - [ - -37.38060589543, - -9.63142636478 - ], - [ - -37.38054152241, - -9.63784691108 - ], - [ - -37.38043423405, - -9.63894695947 - ], - [ - -37.38053079357, - -9.64147494171 - ], - [ - -37.3805093359, - -9.64876261706 - ], - [ - -37.38049860706, - -9.65430495262 - ], - [ - -37.38043423405, - -9.65599725065 - ], - [ - -37.380241115, - -9.66028084202 - ], - [ - -37.38021965733, - -9.66550569201 - ], - [ - -37.38018747082, - -9.6705400861 - ], - [ - -37.38015528431, - -9.67895877835 - ], - [ - -37.38013382664, - -9.68781086916 - ], - [ - -37.38009091129, - -9.70115730775 - ], - [ - -37.38002653828, - -9.7105269939 - ], - [ - -37.38010164013, - -9.71743247513 - ], - [ - -37.38004799595, - -9.71958974786 - ], - [ - -37.3793184351, - -9.7195368737 - ], - [ - -37.37392183056, - -9.71955802336 - ], - [ - -37.36582155934, - -9.71945227502 - ], - [ - -37.35849376431, - -9.71946284985 - ], - [ - -37.353343923, - -9.71937825115 - ], - [ - -37.34413858166, - -9.71936767631 - ], - [ - -37.33422513714, - -9.71923020337 - ], - [ - -37.3293327879, - -9.71927250275 - ], - [ - -37.32180114498, - -9.71924077822 - ], - [ - -37.31982703915, - -9.71927250275 - ], - [ - -37.31094356289, - -9.71919847884 - ], - [ - -37.2958910059, - -9.71920905369 - ], - [ - -37.28906746617, - -9.71915617946 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "palmeira_dos_indios", - name: "Palmeira dos Indios AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Palmeira%20dos%20Indios&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.58663984051, - -9.46124293173 - ], - [ - -36.58665056935, - -9.45851253477 - ], - [ - -36.58618922939, - -9.41968140694 - ], - [ - -36.58603902569, - -9.41451629413 - ], - [ - -36.58596392384, - -9.4059322986 - ], - [ - -36.58584590664, - -9.3950935092 - ], - [ - -36.58579226246, - -9.39163222273 - ], - [ - -36.58565278759, - -9.38983276351 - ], - [ - -36.58549185505, - -9.3824866389 - ], - [ - -36.58528800717, - -9.37964976527 - ], - [ - -36.58510561695, - -9.37743741114 - ], - [ - -36.5850305151, - -9.3705885508 - ], - [ - -36.58890362492, - -9.37057796513 - ], - [ - -36.59064169636, - -9.37065206481 - ], - [ - -36.59389253369, - -9.37059913647 - ], - [ - -36.60037275067, - -9.37072616447 - ], - [ - -36.61045785656, - -9.37049327977 - ], - [ - -36.62288184872, - -9.37020746651 - ], - [ - -36.63377161732, - -9.3700169242 - ], - [ - -36.63835283032, - -9.36985813887 - ], - [ - -36.64742942562, - -9.36997458145 - ], - [ - -36.6514098238, - -9.36994282439 - ], - [ - -36.6553365778, - -9.36972052485 - ], - [ - -36.65647383442, - -9.36974169624 - ], - [ - -36.6611086916, - -9.37023922355 - ], - [ - -36.66276093235, - -9.37026039491 - ], - [ - -36.66704173794, - -9.36973111055 - ], - [ - -36.67051788082, - -9.36965701067 - ], - [ - -36.67325373402, - -9.36965701067 - ], - [ - -36.67602177372, - -9.36986872456 - ], - [ - -36.6759252142, - -9.3725998221 - ], - [ - -36.67596812954, - -9.37679169746 - ], - [ - -36.67638655415, - -9.38137517998 - ], - [ - -36.67653675785, - -9.38463544939 - ], - [ - -36.67663331738, - -9.39264838381 - ], - [ - -36.67675133457, - -9.39829014058 - ], - [ - -36.67689080944, - -9.40874778795 - ], - [ - -36.67707319966, - -9.41886642501 - ], - [ - -36.67716975918, - -9.43178948329 - ], - [ - -36.67724486103, - -9.43394857114 - ], - [ - -36.67718048802, - -9.43752585362 - ], - [ - -36.67727704754, - -9.44311396022 - ], - [ - -36.67729850521, - -9.449326389 - ], - [ - -36.67740579357, - -9.45528471196 - ], - [ - -36.67739506474, - -9.4593803377 - ], - [ - -36.67735214939, - -9.46017405798 - ], - [ - -36.67567845097, - -9.46020580675 - ], - [ - -36.66624780407, - -9.46030105305 - ], - [ - -36.66223521938, - -9.46030105305 - ], - [ - -36.65736432781, - -9.46041746516 - ], - [ - -36.65040131321, - -9.46047037975 - ], - [ - -36.63543458691, - -9.46065028927 - ], - [ - -36.61979194393, - -9.46083019869 - ], - [ - -36.61433096638, - -9.46083019869 - ], - [ - -36.61028619518, - -9.46096777643 - ], - [ - -36.60646672955, - -9.46096777643 - ], - [ - -36.60186405888, - -9.46098894223 - ], - [ - -36.59425731411, - -9.461115937 - ], - [ - -36.58663984051, - -9.46124293173 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "Pangasinan_Bulacan_HiRes", - name: "Pangasinán/Bulacan (Philippines HiRes)", - type: "tms", - template: "https://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 - ], - [ - 120.8268, - 15.3658 - ] - ] - ] - }, - { - id: "pao_de_acucar", - name: "Pão de Açucar AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Pao%20de%20Acucar&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -37.39002812509, - -9.78589413544 - ], - [ - -37.39018686777, - -9.77619515195 - ], - [ - -37.38992540924, - -9.76575048432 - ], - [ - -37.38990673363, - -9.75256304825 - ], - [ - -37.39014951655, - -9.7410224633 - ], - [ - -37.39002812509, - -9.73201243097 - ], - [ - -37.39012150314, - -9.72254197161 - ], - [ - -37.39014951655, - -9.71288716505 - ], - [ - -37.39018686777, - -9.7034069601 - ], - [ - -37.39019620557, - -9.69548203924 - ], - [ - -37.40377337333, - -9.6955004481 - ], - [ - -37.41727583865, - -9.69560169682 - ], - [ - -37.43223500148, - -9.69569374108 - ], - [ - -37.44318824617, - -9.69573055877 - ], - [ - -37.44723151552, - -9.69582260299 - ], - [ - -37.45682144076, - -9.69585021626 - ], - [ - -37.47062271582, - -9.69591464719 - ], - [ - -37.47373220472, - -9.69590544277 - ], - [ - -37.47586122415, - -9.69604350903 - ], - [ - -37.48127715077, - -9.69605271344 - ], - [ - -37.48131450199, - -9.69889686551 - ], - [ - -37.48122112394, - -9.70086658775 - ], - [ - -37.48121178614, - -9.70238529092 - ], - [ - -37.48135185321, - -9.70545028909 - ], - [ - -37.48137986662, - -9.71045731285 - ], - [ - -37.4813425154, - -9.71617295985 - ], - [ - -37.48120244833, - -9.71875003124 - ], - [ - -37.48124913736, - -9.72035148703 - ], - [ - -37.48136119101, - -9.7213362865 - ], - [ - -37.4813425154, - -9.72409739103 - ], - [ - -37.48129582638, - -9.72506377223 - ], - [ - -37.48103436785, - -9.72731865083 - ], - [ - -37.48101569224, - -9.73088040767 - ], - [ - -37.48126781296, - -9.73461699032 - ], - [ - -37.48130516418, - -9.73638402962 - ], - [ - -37.48131450199, - -9.73893333547 - ], - [ - -37.48131450199, - -9.74387543612 - ], - [ - -37.48129582638, - -9.7498850055 - ], - [ - -37.48122112394, - -9.75315203071 - ], - [ - -37.48101569224, - -9.75855405565 - ], - [ - -37.48083827396, - -9.76419525907 - ], - [ - -37.48084761176, - -9.76526275174 - ], - [ - -37.48094098981, - -9.76675355473 - ], - [ - -37.480931652, - -9.76881490096 - ], - [ - -37.48083827396, - -9.77210014513 - ], - [ - -37.48086628737, - -9.77486082942 - ], - [ - -37.48076357152, - -9.77993122654 - ], - [ - -37.48081026054, - -9.78629902044 - ], - [ - -37.46381545633, - -9.78622540502 - ], - [ - -37.45353453357, - -9.78619779924 - ], - [ - -37.43978928533, - -9.78610577993 - ], - [ - -37.42997525279, - -9.78606897221 - ], - [ - -37.42079619096, - -9.78600455867 - ], - [ - -37.40852631583, - -9.785958549 - ], - [ - -37.39545338951, - -9.78593094319 - ], - [ - -37.39002812509, - -9.78589413544 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "PCN-Italy-2006", - name: "PCN 2006 - Italy", - type: "wms", - template: "http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/ortofoto_colore_06.map&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OI.ORTOIMMAGINI.2006.33,OI.ORTOIMMAGINI.2006.32&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2006-01-01T00:00:00.000Z", - startDate: "2006-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 7.5479525, - 43.731183 - ], - [ - 8.106966, - 43.86700730000001 - ], - [ - 8.7359333, - 44.389436700000005 - ], - [ - 10.183382, - 43.85116399999999 - ], - [ - 9.5501637, - 43.13604889999999 - ], - [ - 10.2772473, - 42.27514580000001 - ], - [ - 11.6974829, - 42.08117770000001 - ], - [ - 12.900592000000001, - 40.84896839999998 - ], - [ - 14.9746632, - 40.208691200000004 - ], - [ - 16.0477306, - 38.895298899999986 - ], - [ - 13.1085959, - 38.74113290000001 - ], - [ - 11.7771711, - 37.9360538 - ], - [ - 14.406238300000002, - 36.74298800000001 - ], - [ - 15.134669000000002, - 36.59363599999999 - ], - [ - 15.428667100000002, - 37.0270026 - ], - [ - 15.2199268, - 37.43375560000001 - ], - [ - 15.483598700000002, - 37.929356000000006 - ], - [ - 16.0164356, - 37.8035964 - ], - [ - 17.216692, - 38.87424630000002 - ], - [ - 17.216692, - 39.40468200000001 - ], - [ - 16.5547657, - 39.7877476 - ], - [ - 17.0546436, - 40.451437900000016 - ], - [ - 18.3290577, - 39.70538770000001 - ], - [ - 18.687732, - 40.05870289999999 - ], - [ - 18.0496375, - 40.67064450000001 - ], - [ - 16.005449300000002, - 41.5212225 - ], - [ - 16.3844776, - 41.85963759999999 - ], - [ - 15.5183696, - 42.15369720000001 - ], - [ - 14.5799732, - 42.246104100000004 - ], - [ - 13.5609913, - 43.65127720000002 - ], - [ - 12.5788936, - 44.08670100000001 - ], - [ - 12.2879505, - 44.6220446 - ], - [ - 12.563982, - 44.9709164 - ], - [ - 12.3415089, - 45.1745803 - ], - [ - 12.4169596, - 45.4055695 - ], - [ - 13.092517900000002, - 45.6282626 - ], - [ - 13.6954906, - 45.70805899999999 - ], - [ - 13.78445, - 45.5825 - ], - [ - 13.919100000000002, - 45.63220000000001 - ], - [ - 13.8235, - 45.717600000000004 - ], - [ - 13.59784, - 45.807199999999995 - ], - [ - 13.64307, - 45.98326 - ], - [ - 13.52963, - 45.965879999999984 - ], - [ - 13.47474, - 46.00546 - ], - [ - 13.66472, - 46.17392000000001 - ], - [ - 13.47587, - 46.22724999999999 - ], - [ - 13.42218, - 46.20758 - ], - [ - 13.37671, - 46.296679999999995 - ], - [ - 13.59777, - 46.441370000000006 - ], - [ - 13.68684, - 46.43880999999999 - ], - [ - 13.7148, - 46.522200000000005 - ], - [ - 12.9151, - 46.60953 - ], - [ - 12.38708, - 46.715289999999996 - ], - [ - 12.27591, - 46.88651 - ], - [ - 12.17486, - 46.908950000000004 - ], - [ - 12.11675, - 47.01240999999999 - ], - [ - 12.21781, - 47.039959999999994 - ], - [ - 12.19254, - 47.09331000000001 - ], - [ - 11.74789, - 46.984840000000005 - ], - [ - 11.33355, - 46.99862000000002 - ], - [ - 11.10618, - 46.92966000000001 - ], - [ - 11.00764, - 46.76896 - ], - [ - 10.72974, - 46.78972 - ], - [ - 10.75753, - 46.82258000000001 - ], - [ - 10.66405, - 46.87613999999999 - ], - [ - 10.47197, - 46.85698000000001 - ], - [ - 10.38659, - 46.678470000000004 - ], - [ - 10.49375, - 46.620490000000004 - ], - [ - 10.46136, - 46.53164 - ], - [ - 10.25309, - 46.574319999999986 - ], - [ - 10.23674, - 46.634840000000004 - ], - [ - 10.10307, - 46.610030000000016 - ], - [ - 10.03715, - 46.44479 - ], - [ - 10.165, - 46.410509999999995 - ], - [ - 10.10506, - 46.33719999999999 - ], - [ - 10.17862, - 46.25625999999999 - ], - [ - 10.07055, - 46.216680000000004 - ], - [ - 9.95249, - 46.38045000000001 - ], - [ - 9.73086, - 46.35071 - ], - [ - 9.71273, - 46.292660000000005 - ], - [ - 9.57015, - 46.29580000000001 - ], - [ - 9.46117, - 46.374810000000004 - ], - [ - 9.459360000000002, - 46.50873 - ], - [ - 9.40487, - 46.46620999999998 - ], - [ - 9.36128, - 46.5081 - ], - [ - 9.28136, - 46.496849999999995 - ], - [ - 9.24503, - 46.236160000000005 - ], - [ - 8.9560061, - 45.96502739999999 - ], - [ - 9.09065, - 45.89905999999999 - ], - [ - 9.0298, - 45.821270000000005 - ], - [ - 8.90992, - 45.833299999999994 - ], - [ - 8.9408, - 45.86681999999999 - ], - [ - 8.88904, - 45.95465000000001 - ], - [ - 8.78551, - 45.99063000000001 - ], - [ - 8.85617, - 46.07480000000001 - ], - [ - 8.62242, - 46.121120000000005 - ], - [ - 8.45032, - 46.26869000000001 - ], - [ - 8.42464, - 46.46366999999999 - ], - [ - 8.08814, - 46.266920000000006 - ], - [ - 8.15493, - 46.183399999999985 - ], - [ - 8.11383, - 46.11577 - ], - [ - 8.02906, - 46.10330999999999 - ], - [ - 7.98881, - 45.99867 - ], - [ - 7.9049000000000005, - 45.99945 - ], - [ - 7.859490000000001, - 45.91485000000001 - ], - [ - 7.563430000000001, - 45.97421 - ], - [ - 7.10685, - 45.85652999999999 - ], - [ - 7.04151, - 45.92434999999999 - ], - [ - 6.95315, - 45.85163000000001 - ], - [ - 6.80785, - 45.832649999999994 - ], - [ - 6.80785, - 45.71864 - ], - [ - 6.98948, - 45.63869 - ], - [ - 7.00037, - 45.50900000000001 - ], - [ - 7.18019, - 45.40070999999998 - ], - [ - 7.10572, - 45.32924 - ], - [ - 7.13115, - 45.25386 - ], - [ - 6.851440000000001, - 45.132259999999995 - ], - [ - 6.7697, - 45.16044 - ], - [ - 6.62803, - 45.111749999999994 - ], - [ - 6.66981, - 45.02324000000001 - ], - [ - 6.74791, - 45.01939 - ], - [ - 6.75518, - 44.899150000000006 - ], - [ - 7.022170000000001, - 44.82519 - ], - [ - 7.07484, - 44.680730000000004 - ], - [ - 6.9513300000000005, - 44.66264 - ], - [ - 6.85507, - 44.53072 - ], - [ - 6.94504, - 44.431119999999986 - ], - [ - 6.88784, - 44.42043 - ], - [ - 6.891710000000001, - 44.36637000000001 - ], - [ - 7.007640000000001, - 44.23735999999999 - ], - [ - 7.363640000000001, - 44.11881999999999 - ], - [ - 7.68694, - 44.17487 - ], - [ - 7.725079999999999, - 44.07578000000001 - ], - [ - 7.493549999999999, - 43.86551 - ], - [ - 7.5479525, - 43.731183 - ] - ], - [ - [ - 8.171339, - 39.148484300000014 - ], - [ - 8.6245251, - 38.75118870000001 - ], - [ - 9.0983105, - 39.037636700000014 - ], - [ - 9.0310192, - 39.13144220000001 - ], - [ - 9.265852000000002, - 39.1857496 - ], - [ - 9.6407604, - 39.0227016 - ], - [ - 9.8989391, - 40.6799061 - ], - [ - 9.5006847, - 41.392570299999996 - ], - [ - 8.303175, - 40.91070760000001 - ], - [ - 8.4130383, - 41.16138739999999 - ], - [ - 8.2125378, - 41.1386378 - ], - [ - 8.0752087, - 40.598623299999986 - ], - [ - 8.3615398, - 40.34999509999999 - ], - [ - 8.2791424, - 39.985851200000006 - ], - [ - 8.3828259, - 39.65359839999999 - ], - [ - 8.171339, - 39.148484300000014 - ] - ], - [ - [ - 12.514886900000002, - 35.53423470000001 - ], - [ - 12.640543, - 35.5306027 - ], - [ - 12.6386149, - 35.486413600000006 - ], - [ - 12.512958700000002, - 35.4900477 - ], - [ - 12.514886900000002, - 35.53423470000001 - ] - ], - [ - [ - 11.9121838, - 36.8568754 - ], - [ - 12.081785200000002, - 36.8552271 - ], - [ - 12.0795789, - 36.7097361 - ], - [ - 11.9099774, - 36.71138750000001 - ], - [ - 11.9121838, - 36.8568754 - ] - ], - [ - [ - 12.8401852, - 35.881314200000006 - ], - [ - 12.8918552, - 35.8814533 - ], - [ - 12.891984, - 35.850033999999994 - ], - [ - 12.840314, - 35.8498949 - ], - [ - 12.8401852, - 35.881314200000006 - ] - ] - ] - }, - { - id: "PCN-Lazio_Umbria-2008", - name: "PCN 2008 - IT Lazio+Umbria", - type: "wms", - template: "http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/ortofoto_colore_08.map&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OI.ORTOIMMAGINI.2008.33&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2008-01-01T00:00:00.000Z", - startDate: "2008-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 12.3314895, - 41.6463669 - ], - [ - 12.4117815, - 41.6479098 - ], - [ - 12.4149931, - 41.5463482 - ], - [ - 12.4957439, - 41.5478934 - ], - [ - 12.4984968, - 41.4961949 - ], - [ - 12.5794769, - 41.4984285 - ], - [ - 12.580624, - 41.4293206 - ], - [ - 12.6063174, - 41.4288046 - ], - [ - 12.6074644, - 41.396632 - ], - [ - 12.8292996, - 41.3981807 - ], - [ - 12.8315936, - 41.3468793 - ], - [ - 12.9128032, - 41.3484293 - ], - [ - 12.9150973, - 41.297261 - ], - [ - 12.995848, - 41.2982951 - ], - [ - 12.9979127, - 41.1963575 - ], - [ - 13.1679022, - 41.1980837 - ], - [ - 13.167214, - 41.246915 - ], - [ - 13.4133661, - 41.2482949 - ], - [ - 13.4152014, - 41.197048 - ], - [ - 13.8340959, - 41.1980837 - ], - [ - 13.8334077, - 41.2476049 - ], - [ - 13.9173702, - 41.2484673 - ], - [ - 13.916682, - 41.3974924 - ], - [ - 14.0011032, - 41.3978366 - ], - [ - 13.9999562, - 41.4977413 - ], - [ - 14.084148, - 41.4982567 - ], - [ - 14.0834598, - 41.6501382 - ], - [ - 14.0008738, - 41.6497954 - ], - [ - 13.9997268, - 41.7505095 - ], - [ - 13.8343254, - 41.7496537 - ], - [ - 13.8336371, - 41.8004653 - ], - [ - 13.7515099, - 41.7997813 - ], - [ - 13.7499041, - 41.8498696 - ], - [ - 13.4184131, - 41.8496988 - ], - [ - 13.4168072, - 41.95027 - ], - [ - 13.3344506, - 41.9495876 - ], - [ - 13.3333036, - 42.000411 - ], - [ - 13.2514058, - 41.9997291 - ], - [ - 13.2500294, - 42.0505125 - ], - [ - 13.0850868, - 42.0496608 - ], - [ - 13.0839398, - 42.097 - ], - [ - 13.3339918, - 42.0981915 - ], - [ - 13.3337624, - 42.1471955 - ], - [ - 13.4177249, - 42.148216 - ], - [ - 13.4163484, - 42.2505237 - ], - [ - 13.3339918, - 42.2498444 - ], - [ - 13.333533, - 42.3009367 - ], - [ - 13.2514058, - 42.2999186 - ], - [ - 13.2500294, - 42.5469887 - ], - [ - 13.4179543, - 42.5481718 - ], - [ - 13.4158896, - 42.7506484 - ], - [ - 13.33468, - 42.7494692 - ], - [ - 13.3330742, - 42.9005609 - ], - [ - 13.168361, - 42.8993846 - ], - [ - 13.167214, - 42.9507867 - ], - [ - 12.9641901, - 42.9501151 - ], - [ - 12.9625842, - 43.0003005 - ], - [ - 12.9187678, - 42.9997972 - ], - [ - 12.9160149, - 43.2507803 - ], - [ - 12.8352641, - 43.2499449 - ], - [ - 12.8322819, - 43.5010663 - ], - [ - 12.66321, - 43.4994022 - ], - [ - 12.6648158, - 43.451125 - ], - [ - 12.5856709, - 43.4499593 - ], - [ - 12.5824592, - 43.5508 - ], - [ - 12.5017084, - 43.5498024 - ], - [ - 12.4998732, - 43.6513062 - ], - [ - 12.1624176, - 43.6491484 - ], - [ - 12.1649411, - 43.6013233 - ], - [ - 12.078914, - 43.5994959 - ], - [ - 12.0818963, - 43.4519577 - ], - [ - 11.9954104, - 43.4491265 - ], - [ - 11.9986221, - 43.3466146 - ], - [ - 12.078914, - 43.3479492 - ], - [ - 12.0807492, - 43.3018885 - ], - [ - 11.9960986, - 43.2995511 - ], - [ - 11.9986221, - 43.2021377 - ], - [ - 11.9123656, - 43.1992948 - ], - [ - 11.9146596, - 43.1521173 - ], - [ - 11.8320736, - 43.1494395 - ], - [ - 11.832303, - 43.0965284 - ], - [ - 11.9109891, - 43.098371 - ], - [ - 11.9146596, - 42.9019053 - ], - [ - 11.8290913, - 42.8992165 - ], - [ - 11.8313854, - 42.8523123 - ], - [ - 11.7458171, - 42.8494532 - ], - [ - 11.7481112, - 42.6523609 - ], - [ - 11.6730956, - 42.6496612 - ], - [ - 11.6749308, - 42.6105035 - ], - [ - 11.4948474, - 42.5993593 - ], - [ - 11.4985179, - 42.4959273 - ], - [ - 11.5781217, - 42.4979571 - ], - [ - 11.5815627, - 42.4524416 - ], - [ - 11.4122614, - 42.4487177 - ], - [ - 11.4152437, - 42.3465622 - ], - [ - 11.4959945, - 42.3479186 - ], - [ - 11.4992061, - 42.2963554 - ], - [ - 11.5783511, - 42.2982219 - ], - [ - 11.582251, - 42.2462783 - ], - [ - 11.6618547, - 42.2483161 - ], - [ - 11.6662134, - 42.0964893 - ], - [ - 11.7453583, - 42.0981915 - ], - [ - 11.7490288, - 41.9966603 - ], - [ - 11.9144302, - 41.9992176 - ], - [ - 11.9153478, - 41.9862596 - ], - [ - 11.9940339, - 41.9874532 - ], - [ - 11.9986221, - 41.8968453 - ], - [ - 12.0786846, - 41.8990651 - ], - [ - 12.0814375, - 41.8459392 - ], - [ - 12.1631058, - 41.8479899 - ], - [ - 12.1656293, - 41.6964038 - ], - [ - 12.3291955, - 41.6986306 - ], - [ - 12.3314895, - 41.6463669 - ] - ] - ] - }, - { - id: "Actueel_ortho25_WMTS", - name: "PDOK Luchtfoto Beeldmateriaal 25cm", - type: "tms", - template: "https://geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts?FORMAT=image/jpeg&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Actueel_ortho25&STYLE=&FORMAT=image/jpeg&tileMatrixSet=OGC:1.0:GoogleMapsCompatible&tileMatrix={zoom}&tileRow={y}&tileCol={x}", - scaleExtent: [ - 0, - 19 - ], - polygon: [ - [ - [ - 3.1437689, - 51.3598403 - ], - [ - 3.1575018, - 51.2411346 - ], - [ - 3.3387762, - 51.1154412 - ], - [ - 3.9128119, - 51.0585083 - ], - [ - 4.6571356, - 51.2806657 - ], - [ - 4.8933416, - 51.2634825 - ], - [ - 5.1789862, - 51.1257851 - ], - [ - 5.3849798, - 51.1309561 - ], - [ - 5.5442816, - 51.056782 - ], - [ - 5.4206854, - 50.8595581 - ], - [ - 5.4673773, - 50.7032633 - ], - [ - 5.6568914, - 50.6192567 - ], - [ - 6.1485296, - 50.6214349 - ], - [ - 6.3023382, - 50.8578243 - ], - [ - 6.2995916, - 50.9543819 - ], - [ - 6.2638861, - 51.0183545 - ], - [ - 6.3723761, - 51.0925902 - ], - [ - 6.4012152, - 51.2011393 - ], - [ - 6.3737494, - 51.2510206 - ], - [ - 6.4451605, - 51.3158713 - ], - [ - 6.4204413, - 51.5496009 - ], - [ - 6.343537, - 51.6792182 - ], - [ - 6.796723, - 51.7642909 - ], - [ - 7.046662, - 51.9102418 - ], - [ - 7.0713812, - 52.0455856 - ], - [ - 7.2718817, - 52.1704147 - ], - [ - 7.3075872, - 52.3855111 - ], - [ - 7.2059637, - 52.5319494 - ], - [ - 7.282868, - 52.614576 - ], - [ - 7.2993475, - 52.7785318 - ], - [ - 7.4421698, - 52.9782705 - ], - [ - 7.43393, - 53.2831352 - ], - [ - 7.0439154, - 53.5515877 - ], - [ - 6.7829901, - 53.6363531 - ], - [ - 6.2391668, - 53.5401639 - ], - [ - 5.6871039, - 53.5124077 - ], - [ - 5.173493, - 53.4388477 - ], - [ - 4.8164373, - 53.2338445 - ], - [ - 4.6516424, - 53.0658312 - ], - [ - 4.5417791, - 52.4859784 - ], - [ - 4.3220526, - 52.1956753 - ], - [ - 4.08104, - 52.0136897 - ], - [ - 4.0219885, - 52.0162253 - ], - [ - 3.9368445, - 51.9637937 - ], - [ - 3.9519507, - 51.8807927 - ], - [ - 3.844834, - 51.8494157 - ], - [ - 3.6237341, - 51.7075226 - ], - [ - 3.6553198, - 51.6606936 - ], - [ - 3.6333471, - 51.6274583 - ], - [ - 3.5468298, - 51.622343 - ], - [ - 3.3957678, - 51.5609145 - ], - [ - 3.3820349, - 51.5173524 - ], - [ - 3.4987646, - 51.4326715 - ], - [ - 3.3298498, - 51.3855587 - ], - [ - 3.1437689, - 51.3598403 - ] - ] - ], - terms_url: "https://www.nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/search?facet.q=license%2FCC-BY&isChild=%27false%27&resultType=details&any_OR_title_OR_keyword=luchtfoto&fast=index&_content_type=json&from=1&to=20&sortBy=relevance", - terms_text: "Kadaster / Beeldmateriaal.nl, CC BY 4.0", - best: true, - description: "Landsdekkende dataset 25cm resolutie kleuren luchtfotos van de meest recente jaargang.", - icon: "data:image/png;base64,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" - }, - { - id: "al_piranhas", - name: "Piranhas AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Piranhas&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -37.71917577496, - -9.65235879937 - ], - [ - -37.71917577496, - -9.63873541198 - ], - [ - -37.71914358845, - -9.63210333094 - ], - [ - -37.71924014797, - -9.62114477442 - ], - [ - -37.71929379215, - -9.61022817566 - ], - [ - -37.7193367075, - -9.59988246925 - ], - [ - -37.71940108051, - -9.58891229023 - ], - [ - -37.71945472469, - -9.57801581129 - ], - [ - -37.71944399586, - -9.57173166346 - ], - [ - -37.71951909771, - -9.56684391256 - ], - [ - -37.71956201306, - -9.56225232497 - ], - [ - -37.71998043766, - -9.5621782666 - ], - [ - -37.72257681599, - -9.56194551161 - ], - [ - -37.72817726841, - -9.56203014981 - ], - [ - -37.73254390469, - -9.56199841049 - ], - [ - -37.74107332935, - -9.56206188913 - ], - [ - -37.74845476856, - -9.56201957003 - ], - [ - -37.75925870648, - -9.56215710706 - ], - [ - -37.76971932163, - -9.56227348451 - ], - [ - -37.78036232701, - -9.56244276071 - ], - [ - -37.78537269344, - -9.56235812262 - ], - [ - -37.78907414189, - -9.56232638333 - ], - [ - -37.79561873188, - -9.56245334047 - ], - [ - -37.79771085491, - -9.56236870238 - ], - [ - -37.81005974522, - -9.56243218095 - ], - [ - -37.81060691586, - -9.56241102143 - ], - [ - -37.810531814, - -9.5653098637 - ], - [ - -37.81048889866, - -9.57629138499 - ], - [ - -37.81045671215, - -9.58742065699 - ], - [ - -37.8103816103, - -9.59756574935 - ], - [ - -37.81030650845, - -9.61798195891 - ], - [ - -37.81017776241, - -9.65196745198 - ], - [ - -37.81017776241, - -9.65229533767 - ], - [ - -37.81024213543, - -9.6525914922 - ], - [ - -37.80663724651, - -9.65245399191 - ], - [ - -37.80205603352, - -9.65252803054 - ], - [ - -37.79597278347, - -9.65236937632 - ], - [ - -37.79178853741, - -9.65251745359 - ], - [ - -37.78815146198, - -9.65246456886 - ], - [ - -37.78722878208, - -9.65242226107 - ], - [ - -37.78035159817, - -9.65241168412 - ], - [ - -37.77864571324, - -9.65223187594 - ], - [ - -37.77625318279, - -9.65229533767 - ], - [ - -37.77475114575, - -9.65218956812 - ], - [ - -37.77233715763, - -9.65223187594 - ], - [ - -37.76960130444, - -9.65245399191 - ], - [ - -37.76623244991, - -9.65250687665 - ], - [ - -37.76345368138, - -9.65246456886 - ], - [ - -37.7603959631, - -9.6524962997 - ], - [ - -37.75101896038, - -9.65236937632 - ], - [ - -37.75011773815, - -9.65248572275 - ], - [ - -37.74154539814, - -9.65247514581 - ], - [ - -37.74030085316, - -9.65239053022 - ], - [ - -37.73785467854, - -9.65246456886 - ], - [ - -37.73443217983, - -9.65237995327 - ], - [ - -37.73106332531, - -9.65243283802 - ], - [ - -37.72651429882, - -9.65236937632 - ], - [ - -37.7219545435, - -9.65225302985 - ], - [ - -37.71991606465, - -9.65228476071 - ], - [ - -37.71917577496, - -9.65235879937 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "PNOA-Spain-TMS", - name: "PNOA Spain", - type: "tms", - template: "https://www.ign.es/wmts/pnoa-ma?request=GetTile&service=WMTS&VERSION=1.0.0&Layer=OI.OrthoimageCoverage&Style=default&Format=image/png&TileMatrixSet=GoogleMapsCompatible&TileMatrix={zoom}&TileRow={y}&TileCol={x}", - polygon: [ - [ - [ - -17.8846298, - 28.4460601 - ], - [ - -17.8939535, - 28.5225529 - ], - [ - -18.0212548, - 28.7481927 - ], - [ - -18.0224091, - 28.8038375 - ], - [ - -17.9424017, - 28.8726124 - ], - [ - -17.8911792, - 28.8737099 - ], - [ - -17.8903302, - 28.8515102 - ], - [ - -17.7675902, - 28.8537764 - ], - [ - -17.7669837, - 28.8312183 - ], - [ - -17.7412714, - 28.8319975 - ], - [ - -17.7394926, - 28.7642235 - ], - [ - -17.7139824, - 28.7649677 - ], - [ - -17.7129312, - 28.7303731 - ], - [ - -17.7574427, - 28.6931782 - ], - [ - -17.7570788, - 28.6741254 - ], - [ - -17.7457913, - 28.6743524 - ], - [ - -17.7457266, - 28.6165627 - ], - [ - -17.7519687, - 28.5833675 - ], - [ - -17.7622536, - 28.5591958 - ], - [ - -17.7833086, - 28.541667 - ], - [ - -17.7831575, - 28.4936643 - ], - [ - -17.808611, - 28.4925024 - ], - [ - -17.8060072, - 28.4468974 - ], - [ - -17.8846298, - 28.4460601 - ] - ], - [ - [ - -18.1661033, - 27.7851643 - ], - [ - -18.163494, - 27.6949247 - ], - [ - -18.0889827, - 27.6963366 - ], - [ - -18.0873398, - 27.6738724 - ], - [ - -18.0364092, - 27.6753701 - ], - [ - -18.0350079, - 27.6302571 - ], - [ - -17.9589987, - 27.6323976 - ], - [ - -17.8603269, - 27.7926025 - ], - [ - -17.8630328, - 27.8368793 - ], - [ - -17.8884015, - 27.8364947 - ], - [ - -17.8891263, - 27.8590536 - ], - [ - -17.9906491, - 27.8567467 - ], - [ - -18.0386803, - 27.7655831 - ], - [ - -18.1146412, - 27.7637873 - ], - [ - -18.1154627, - 27.7863613 - ], - [ - -18.1661033, - 27.7851643 - ] - ], - [ - [ - -17.36038, - 28.0639801 - ], - [ - -17.3629657, - 28.1757247 - ], - [ - -17.3375583, - 28.1763688 - ], - [ - -17.3384577, - 28.2213012 - ], - [ - -17.1857883, - 28.2238767 - ], - [ - -17.0820788, - 28.1351849 - ], - [ - -17.0808422, - 28.0679977 - ], - [ - -17.1315446, - 28.0668073 - ], - [ - -17.1563337, - 28.0214628 - ], - [ - -17.2321063, - 28.0203711 - ], - [ - -17.2319938, - 27.9980388 - ], - [ - -17.2576823, - 27.9978403 - ], - [ - -17.257851, - 28.0199741 - ], - [ - -17.3086658, - 28.0192298 - ], - [ - -17.36038, - 28.0639801 - ] - ], - [ - [ - -16.9278171, - 28.3275779 - ], - [ - -16.9286591, - 28.3721879 - ], - [ - -16.8776666, - 28.3729288 - ], - [ - -16.8780707, - 28.3954191 - ], - [ - -16.5214259, - 28.4226146 - ], - [ - -16.4457117, - 28.491135 - ], - [ - -16.4462506, - 28.535972 - ], - [ - -16.4205859, - 28.5362679 - ], - [ - -16.4209227, - 28.5588419 - ], - [ - -16.3443329, - 28.5597589 - ], - [ - -16.3446023, - 28.5822095 - ], - [ - -16.1912541, - 28.5837179 - ], - [ - -16.1916246, - 28.6068435 - ], - [ - -16.1279344, - 28.6078193 - ], - [ - -16.1277997, - 28.5921762 - ], - [ - -16.0995079, - 28.5925015 - ], - [ - -16.0993395, - 28.5163822 - ], - [ - -16.1648148, - 28.5161158 - ], - [ - -16.1647474, - 28.4938583 - ], - [ - -16.2385755, - 28.4484704 - ], - [ - -16.2653516, - 28.4476116 - ], - [ - -16.2658569, - 28.4030038 - ], - [ - -16.3167484, - 28.4017594 - ], - [ - -16.3163105, - 28.380189 - ], - [ - -16.3420763, - 28.3795075 - ], - [ - -16.3408301, - 28.2892963 - ], - [ - -16.415837, - 28.1976134 - ], - [ - -16.415096, - 28.1311312 - ], - [ - -16.5153297, - 28.0164796 - ], - [ - -16.6168433, - 28.01532 - ], - [ - -16.6168096, - 27.9930469 - ], - [ - -16.7184243, - 27.9919168 - ], - [ - -16.7190979, - 28.0371426 - ], - [ - -16.7446952, - 28.0367859 - ], - [ - -16.7453351, - 28.0818146 - ], - [ - -16.7706967, - 28.0816065 - ], - [ - -16.8223966, - 28.1259036 - ], - [ - -16.8231712, - 28.1708652 - ], - [ - -16.8487012, - 28.1707464 - ], - [ - -16.8502842, - 28.260791 - ], - [ - -16.8756457, - 28.2605537 - ], - [ - -16.8760836, - 28.2832162 - ], - [ - -16.9015125, - 28.2827713 - ], - [ - -16.9023882, - 28.3279337 - ], - [ - -16.9278171, - 28.3275779 - ] - ], - [ - [ - -15.8537427, - 27.9008901 - ], - [ - -15.8542032, - 27.9901812 - ], - [ - -15.828953, - 27.9906555 - ], - [ - -15.8291065, - 28.035578 - ], - [ - -15.7782992, - 28.0363232 - ], - [ - -15.7532793, - 28.0814298 - ], - [ - -15.7278756, - 28.0815652 - ], - [ - -15.7282593, - 28.1718567 - ], - [ - -15.4989741, - 28.1728039 - ], - [ - -15.4987438, - 28.1504075 - ], - [ - -15.4497785, - 28.1507459 - ], - [ - -15.4501622, - 28.1961425 - ], - [ - -15.3972827, - 28.1961425 - ], - [ - -15.3964385, - 28.0383554 - ], - [ - -15.3710348, - 28.0380167 - ], - [ - -15.3706511, - 28.0153212 - ], - [ - -15.3457847, - 28.0153212 - ], - [ - -15.3454777, - 27.9254406 - ], - [ - -15.3708046, - 27.9252372 - ], - [ - -15.3705743, - 27.8352137 - ], - [ - -15.395978, - 27.8347387 - ], - [ - -15.4209979, - 27.7879673 - ], - [ - -15.4718052, - 27.7893932 - ], - [ - -15.471882, - 27.7666454 - ], - [ - -15.522766, - 27.7667813 - ], - [ - -15.5477092, - 27.7216112 - ], - [ - -15.6236132, - 27.7213395 - ], - [ - -15.6241504, - 27.741991 - ], - [ - -15.7007451, - 27.7433495 - ], - [ - -15.801669, - 27.8110501 - ], - [ - -15.8537427, - 27.9008901 - ] - ], - [ - [ - -14.5215621, - 28.0467778 - ], - [ - -14.5224358, - 28.1184131 - ], - [ - -14.4157526, - 28.1156076 - ], - [ - -14.2168794, - 28.2278805 - ], - [ - -14.2153651, - 28.33903 - ], - [ - -14.1641672, - 28.4528287 - ], - [ - -14.1115132, - 28.4747955 - ], - [ - -14.0335806, - 28.7226671 - ], - [ - -13.9565217, - 28.7449351 - ], - [ - -13.9561722, - 28.7665857 - ], - [ - -13.8290221, - 28.7664325 - ], - [ - -13.8289639, - 28.7879765 - ], - [ - -13.8000741, - 28.7879255 - ], - [ - -13.8012972, - 28.7189894 - ], - [ - -13.827566, - 28.719347 - ], - [ - -13.8278572, - 28.6517968 - ], - [ - -13.8025786, - 28.651899 - ], - [ - -13.8033941, - 28.5384172 - ], - [ - -13.8288474, - 28.5384684 - ], - [ - -13.8315061, - 28.3970177 - ], - [ - -13.9158189, - 28.2241438 - ], - [ - -13.9856445, - 28.2235696 - ], - [ - -14.0369588, - 28.1795787 - ], - [ - -14.1387139, - 28.1799894 - ], - [ - -14.1386556, - 28.1579103 - ], - [ - -14.2153651, - 28.1578076 - ], - [ - -14.2147244, - 28.1118888 - ], - [ - -14.2913173, - 28.0452356 - ], - [ - -14.3319673, - 28.0368713 - ], - [ - -14.4457846, - 28.0469834 - ], - [ - -14.4466583, - 28.0657961 - ], - [ - -14.4962835, - 28.0682631 - ], - [ - -14.495934, - 28.0458525 - ], - [ - -14.5215621, - 28.0467778 - ] - ], - [ - [ - -13.800662, - 28.8456579 - ], - [ - -13.8009273, - 28.8231121 - ], - [ - -13.775688, - 28.8230539 - ], - [ - -13.69729, - 28.8898184 - ], - [ - -13.69729, - 28.9127744 - ], - [ - -13.6072498, - 28.9117991 - ], - [ - -13.4388551, - 29.0002417 - ], - [ - -13.4374559, - 29.1351289 - ], - [ - -13.4117005, - 29.1349931 - ], - [ - -13.4105556, - 29.2229789 - ], - [ - -13.4592801, - 29.255586 - ], - [ - -13.4597392, - 29.2942023 - ], - [ - -13.5091254, - 29.2945638 - ], - [ - -13.5100581, - 29.3163453 - ], - [ - -13.5635382, - 29.3172941 - ], - [ - -13.5640564, - 29.2713764 - ], - [ - -13.5389228, - 29.2711956 - ], - [ - -13.5389747, - 29.2500375 - ], - [ - -13.5661293, - 29.2501279 - ], - [ - -13.5665956, - 29.2030039 - ], - [ - -13.5156549, - 29.2022349 - ], - [ - -13.5156549, - 29.1820579 - ], - [ - -13.5398038, - 29.1827819 - ], - [ - -13.5408921, - 29.137528 - ], - [ - -13.65782, - 29.1368528 - ], - [ - -13.713222, - 29.0935079 - ], - [ - -13.7663353, - 29.0934533 - ], - [ - -13.8502463, - 29.0165937 - ], - [ - -13.8518224, - 28.983425 - ], - [ - -13.8524443, - 28.914861 - ], - [ - -13.9013122, - 28.89245 - ], - [ - -13.9024005, - 28.8469779 - ], - [ - -13.800662, - 28.8456579 - ] - ], - [ - [ - 1.6479916, - 38.9990693 - ], - [ - 1.7321668, - 38.9993635 - ], - [ - 1.7314703, - 39.0441733 - ], - [ - 1.6489512, - 39.0431944 - ], - [ - 1.6481552, - 39.1276358 - ], - [ - 1.3948608, - 39.1265691 - ], - [ - 1.3954412, - 39.0864199 - ], - [ - 1.2281145, - 39.0852615 - ], - [ - 1.2291095, - 39.0028958 - ], - [ - 1.1448657, - 39.0018003 - ], - [ - 1.1452803, - 38.8319988 - ], - [ - 1.3113632, - 38.8331615 - ], - [ - 1.3121924, - 38.7906483 - ], - [ - 1.3946949, - 38.7916178 - ], - [ - 1.3951924, - 38.7529597 - ], - [ - 1.3112803, - 38.7519251 - ], - [ - 1.3125919, - 38.6238804 - ], - [ - 1.6489036, - 38.6251112 - ], - [ - 1.6480745, - 38.7111504 - ], - [ - 1.58456, - 38.7101152 - ], - [ - 1.5811604, - 38.7005387 - ], - [ - 1.5491544, - 38.7002798 - ], - [ - 1.5197188, - 38.7092094 - ], - [ - 1.50355, - 38.7253185 - ], - [ - 1.4813282, - 38.9155064 - ], - [ - 1.5518906, - 38.9254411 - ], - [ - 1.5667328, - 38.9566554 - ], - [ - 1.6487378, - 38.9583318 - ], - [ - 1.6479916, - 38.9990693 - ] - ], - [ - [ - 2.5450749, - 39.4166673 - ], - [ - 2.43933, - 39.4161122 - ], - [ - 2.438714, - 39.4846853 - ], - [ - 2.439022, - 39.4993424 - ], - [ - 2.3122308, - 39.4993424 - ], - [ - 2.3119228, - 39.5417911 - ], - [ - 2.2290722, - 39.5409994 - ], - [ - 2.2283536, - 39.6260571 - ], - [ - 2.3460076, - 39.6270851 - ], - [ - 2.9270445, - 39.9601558 - ], - [ - 3.1456647, - 39.9600498 - ], - [ - 3.1460753, - 40.0019797 - ], - [ - 3.2313899, - 40.0019797 - ], - [ - 3.2312872, - 39.8329231 - ], - [ - 3.1482313, - 39.8331596 - ], - [ - 3.1484366, - 39.7935717 - ], - [ - 3.4814817, - 39.7931773 - ], - [ - 3.4803472, - 39.5959027 - ], - [ - 3.3150618, - 39.4784606 - ], - [ - 3.3146179, - 39.3785504 - ], - [ - 3.0830178, - 39.2499355 - ], - [ - 2.9798608, - 39.2501482 - ], - [ - 2.9790395, - 39.3334971 - ], - [ - 2.7287424, - 39.3334177 - ], - [ - 2.7288451, - 39.4581361 - ], - [ - 2.6456865, - 39.4577397 - ], - [ - 2.6453785, - 39.4996593 - ], - [ - 2.5452802, - 39.4994216 - ], - [ - 2.5450749, - 39.4166673 - ] - ], - [ - [ - 3.8120402, - 40.0434431 - ], - [ - 3.729082, - 40.0437979 - ], - [ - 3.7286185, - 39.9584155 - ], - [ - 3.8126633, - 39.9576011 - ], - [ - 3.8122771, - 39.9164393 - ], - [ - 3.9608975, - 39.9159813 - ], - [ - 4.1938142, - 39.791308 - ], - [ - 4.3150279, - 39.7905799 - ], - [ - 4.3159934, - 39.8329294 - ], - [ - 4.3987393, - 39.8320396 - ], - [ - 4.3973664, - 39.9185834 - ], - [ - 4.3158003, - 39.9193274 - ], - [ - 4.3161865, - 40.0433985 - ], - [ - 4.2318959, - 40.0443594 - ], - [ - 4.2324752, - 40.0847793 - ], - [ - 4.1491501, - 40.086109 - ], - [ - 4.1490623, - 40.1255157 - ], - [ - 4.0627981, - 40.1272166 - ], - [ - 4.0624217, - 40.0849941 - ], - [ - 3.8128687, - 40.085294 - ], - [ - 3.8120402, - 40.0434431 - ] - ], - [ - [ - -8.8910646, - 41.8228891 - ], - [ - -9.1092038, - 42.5751065 - ], - [ - -9.0365469, - 42.730656 - ], - [ - -9.0883419, - 42.7269569 - ], - [ - -9.1466113, - 42.7750272 - ], - [ - -9.2185488, - 42.9016271 - ], - [ - -9.2760988, - 42.8605106 - ], - [ - -9.3099094, - 42.9311297 - ], - [ - -9.2789763, - 42.9821991 - ], - [ - -9.3099094, - 43.0600377 - ], - [ - -9.2523594, - 43.1041725 - ], - [ - -9.2314975, - 43.1703151 - ], - [ - -9.1473307, - 43.210176 - ], - [ - -9.06748, - 43.1991644 - ], - [ - -9.0336694, - 43.2426748 - ], - [ - -8.99842, - 43.2447709 - ], - [ - -8.9998588, - 43.2955793 - ], - [ - -8.9372732, - 43.3055265 - ], - [ - -8.92936, - 43.326986 - ], - [ - -8.8638969, - 43.3290792 - ], - [ - -8.8761263, - 43.3740655 - ], - [ - -8.8221732, - 43.3735426 - ], - [ - -8.785485, - 43.3191358 - ], - [ - -8.7063538, - 43.305003 - ], - [ - -8.6099575, - 43.3296025 - ], - [ - -8.5509688, - 43.3233227 - ], - [ - -8.5243519, - 43.3364048 - ], - [ - -8.5250713, - 43.3646525 - ], - [ - -8.45745, - 43.3918416 - ], - [ - -8.3610538, - 43.4111803 - ], - [ - -8.3603344, - 43.4634161 - ], - [ - -8.3344369, - 43.5797394 - ], - [ - -8.2776063, - 43.5708796 - ], - [ - -8.0646713, - 43.7239184 - ], - [ - -7.9992081, - 43.7233986 - ], - [ - -7.9171994, - 43.7826357 - ], - [ - -7.8560525, - 43.7914643 - ], - [ - -7.83591, - 43.7374337 - ], - [ - -7.6628443, - 43.809819 - ], - [ - -7.3188932, - 43.6782695 - ], - [ - -7.1997467, - 43.5830817 - ], - [ - -6.2488228, - 43.6075032 - ], - [ - -6.1229322, - 43.5790105 - ], - [ - -5.8520425, - 43.6798953 - ], - [ - -5.6036334, - 43.5708672 - ], - [ - -5.2855347, - 43.5619084 - ], - [ - -5.1787525, - 43.4991591 - ], - [ - -4.9089869, - 43.4836655 - ], - [ - -4.6156167, - 43.4192021 - ], - [ - -4.1839917, - 43.4249168 - ], - [ - -3.8029478, - 43.5195394 - ], - [ - -3.7400025, - 43.4869277 - ], - [ - -3.5612827, - 43.5423572 - ], - [ - -3.1083013, - 43.3816347 - ], - [ - -2.9385737, - 43.4624573 - ], - [ - -2.7452417, - 43.4755094 - ], - [ - -2.3046245, - 43.3170625 - ], - [ - -1.9854018, - 43.3563045 - ], - [ - -1.8552841, - 43.3972545 - ], - [ - -1.769802, - 43.3964383 - ], - [ - -1.7700492, - 43.3760501 - ], - [ - -1.7100474, - 43.3756908 - ], - [ - -1.7113451, - 43.3312527 - ], - [ - -1.7225915, - 43.3131806 - ], - [ - -1.6890375, - 43.3129108 - ], - [ - -1.6881106, - 43.3341294 - ], - [ - -1.6446695, - 43.3337248 - ], - [ - -1.6449785, - 43.3133155 - ], - [ - -1.6029903, - 43.3129528 - ], - [ - -1.6034352, - 43.2926624 - ], - [ - -1.5635905, - 43.2921227 - ], - [ - -1.5630468, - 43.3133844 - ], - [ - -1.4779905, - 43.3128355 - ], - [ - -1.3667723, - 43.2761368 - ], - [ - -1.3568809, - 43.2381533 - ], - [ - -1.3703692, - 43.1712972 - ], - [ - -1.4423067, - 43.0833554 - ], - [ - -1.4198262, - 43.0603647 - ], - [ - -1.3730668, - 43.051166 - ], - [ - -1.3640746, - 43.1115893 - ], - [ - -1.3020285, - 43.135217 - ], - [ - -1.2354864, - 43.1332484 - ], - [ - -1.2795481, - 43.0774443 - ], - [ - -1.1923239, - 43.0649635 - ], - [ - -1.0061856, - 43.0077821 - ], - [ - -0.942341, - 42.9748951 - ], - [ - -0.7562028, - 42.9821318 - ], - [ - -0.7148387, - 42.9610774 - ], - [ - -0.6968543, - 42.9031405 - ], - [ - -0.5511809, - 42.8220693 - ], - [ - -0.5044215, - 42.8484456 - ], - [ - -0.4288871, - 42.8200906 - ], - [ - -0.3164848, - 42.8655842 - ], - [ - -0.1456332, - 42.810856 - ], - [ - -0.0314324, - 42.7124874 - ], - [ - 0.1861785, - 42.7540985 - ], - [ - 0.3021777, - 42.7177729 - ], - [ - 0.3642238, - 42.7428729 - ], - [ - 0.4487504, - 42.7144695 - ], - [ - 0.6276949, - 42.7223973 - ], - [ - 0.6411832, - 42.8576747 - ], - [ - 0.7149192, - 42.882718 - ], - [ - 0.9675996, - 42.8181119 - ], - [ - 1.108777, - 42.7989808 - ], - [ - 1.1753192, - 42.7342872 - ], - [ - 1.3632559, - 42.7415521 - ], - [ - 1.4113736, - 42.7093914 - ], - [ - 1.4806054, - 42.7103407 - ], - [ - 1.4813006, - 42.5010664 - ], - [ - 1.6443591, - 42.5020345 - ], - [ - 1.6432777, - 42.5424539 - ], - [ - 1.730407, - 42.5434214 - ], - [ - 1.7316429, - 42.5011803 - ], - [ - 2.0638621, - 42.5016359 - ], - [ - 2.0645572, - 42.4590247 - ], - [ - 2.3969309, - 42.4599364 - ], - [ - 2.3976786, - 42.4178363 - ], - [ - 2.4804823, - 42.4179732 - ], - [ - 2.4809767, - 42.3759441 - ], - [ - 2.6447922, - 42.3762636 - ], - [ - 2.6444832, - 42.4592447 - ], - [ - 2.8113266, - 42.4596094 - ], - [ - 2.8112648, - 42.5010358 - ], - [ - 3.063878, - 42.5008535 - ], - [ - 3.063878, - 42.4591535 - ], - [ - 3.2307832, - 42.4593359 - ], - [ - 3.2304935, - 42.3764363 - ], - [ - 3.3141469, - 42.3760369 - ], - [ - 3.3141243, - 42.3339864 - ], - [ - 3.397855, - 42.3340435 - ], - [ - 3.3973912, - 42.290094 - ], - [ - 3.3138923, - 42.2908368 - ], - [ - 3.3139695, - 42.2070151 - ], - [ - 3.1475896, - 42.2073012 - ], - [ - 3.1475896, - 42.1260612 - ], - [ - 3.2305478, - 42.1260039 - ], - [ - 3.2466753, - 41.9529359 - ], - [ - 3.1945206, - 41.8558943 - ], - [ - 3.060537, - 41.7647419 - ], - [ - 2.7835777, - 41.6371796 - ], - [ - 2.26293, - 41.4271601 - ], - [ - 2.1649151, - 41.2989297 - ], - [ - 1.86008, - 41.2232228 - ], - [ - 1.3763003, - 41.116273 - ], - [ - 1.1793714, - 41.0464585 - ], - [ - 1.0858526, - 41.048493 - ], - [ - 0.758537, - 40.8195599 - ], - [ - 0.9114042, - 40.733761 - ], - [ - 0.8781331, - 40.6751363 - ], - [ - 0.6650182, - 40.5358666 - ], - [ - 0.5580112, - 40.5502166 - ], - [ - 0.433919, - 40.3757589 - ], - [ - 0.2675635, - 40.1919192 - ], - [ - 0.1641534, - 40.0647234 - ], - [ - 0.0751307, - 40.0144671 - ], - [ - 0.010387, - 39.8952188 - ], - [ - -0.0939224, - 39.8116904 - ], - [ - -0.1847435, - 39.6311716 - ], - [ - -0.2908513, - 39.5036254 - ], - [ - -0.2863552, - 39.333431 - ], - [ - -0.1856427, - 39.1774612 - ], - [ - -0.2135185, - 39.1558487 - ], - [ - -0.1110076, - 38.9722246 - ], - [ - 0.0094878, - 38.8826835 - ], - [ - 0.1218901, - 38.872183 - ], - [ - 0.2342925, - 38.798636 - ], - [ - 0.2558737, - 38.7264162 - ], - [ - 0.0958128, - 38.6133825 - ], - [ - -0.0022021, - 38.6070586 - ], - [ - -0.0570544, - 38.5269073 - ], - [ - -0.2719677, - 38.4762395 - ], - [ - -0.379874, - 38.3931234 - ], - [ - -0.3834708, - 38.3381297 - ], - [ - -0.4509122, - 38.3310763 - ], - [ - -0.5048654, - 38.2830943 - ], - [ - -0.4823849, - 38.1948095 - ], - [ - -0.429331, - 38.1658287 - ], - [ - -0.4545091, - 38.148859 - ], - [ - -0.5839966, - 38.1721913 - ], - [ - -0.6136708, - 38.1198599 - ], - [ - -0.6370505, - 37.9612228 - ], - [ - -0.6811123, - 37.9456238 - ], - [ - -0.7323677, - 37.8810656 - ], - [ - -0.7215771, - 37.7830562 - ], - [ - -0.688306, - 37.7340026 - ], - [ - -0.6641461, - 37.6231485 - ], - [ - -0.7193941, - 37.5878413 - ], - [ - -0.9196258, - 37.5375806 - ], - [ - -1.1107098, - 37.5164093 - ], - [ - -1.3383246, - 37.5286671 - ], - [ - -1.4408917, - 37.3903714 - ], - [ - -1.6766966, - 37.2765189 - ], - [ - -1.8540816, - 36.9122889 - ], - [ - -2.0683486, - 36.6929117 - ], - [ - -2.2158766, - 36.6619233 - ], - [ - -2.3721861, - 36.7801753 - ], - [ - -2.6812926, - 36.6591056 - ], - [ - -2.9201476, - 36.6675585 - ], - [ - -3.09402, - 36.712625 - ], - [ - -3.4610839, - 36.6548788 - ], - [ - -3.7280395, - 36.6929117 - ], - [ - -4.3743529, - 36.6633322 - ], - [ - -4.6571151, - 36.4404171 - ], - [ - -4.9188018, - 36.4531321 - ], - [ - -5.1699508, - 36.3513541 - ], - [ - -5.2841094, - 36.1970201 - ], - [ - -5.2680911, - 36.1241812 - ], - [ - -5.3524784, - 36.1224654 - ], - [ - -5.3516094, - 36.0401413 - ], - [ - -5.4365759, - 36.0388921 - ], - [ - -5.4353207, - 36.0034384 - ], - [ - -5.6888562, - 36.0036518 - ], - [ - -5.6899635, - 36.0405317 - ], - [ - -5.85506, - 36.0385595 - ], - [ - -5.8566821, - 36.1242077 - ], - [ - -5.9384817, - 36.1221487 - ], - [ - -5.9400265, - 36.1655625 - ], - [ - -5.9983445, - 36.1645024 - ], - [ - -6.0357297, - 36.1780957 - ], - [ - -6.0775178, - 36.2224132 - ], - [ - -6.1506113, - 36.2864561 - ], - [ - -6.231541, - 36.3770075 - ], - [ - -6.3358504, - 36.5310643 - ], - [ - -6.3214629, - 36.5816265 - ], - [ - -6.404191, - 36.6234958 - ], - [ - -6.4743301, - 36.7489673 - ], - [ - -6.4158808, - 36.7993866 - ], - [ - -6.490516, - 36.9173818 - ], - [ - -6.6298949, - 37.0194012 - ], - [ - -6.8744824, - 37.1083766 - ], - [ - -7.0426363, - 37.1850699 - ], - [ - -7.2647434, - 37.1843535 - ], - [ - -7.3753473, - 37.1535419 - ], - [ - -7.408316, - 37.1682196 - ], - [ - -7.4202886, - 37.2118318 - ], - [ - -7.4249231, - 37.2350505 - ], - [ - -7.4380543, - 37.2451969 - ], - [ - -7.4459717, - 37.3326142 - ], - [ - -7.4480958, - 37.3909382 - ], - [ - -7.4696271, - 37.4075829 - ], - [ - -7.4647029, - 37.4530494 - ], - [ - -7.5019723, - 37.516411 - ], - [ - -7.5191587, - 37.5229203 - ], - [ - -7.5219588, - 37.5723727 - ], - [ - -7.4501271, - 37.6695835 - ], - [ - -7.4249019, - 37.7599222 - ], - [ - -7.316662, - 37.839974 - ], - [ - -7.268329, - 37.988952 - ], - [ - -7.1536786, - 38.0155235 - ], - [ - -7.1177098, - 38.0553626 - ], - [ - -7.0142997, - 38.0243785 - ], - [ - -6.9963153, - 38.1075633 - ], - [ - -6.9614706, - 38.201254 - ], - [ - -7.080617, - 38.1570753 - ], - [ - -7.3402665, - 38.4402363 - ], - [ - -7.2638329, - 38.7380741 - ], - [ - -7.0435243, - 38.8729667 - ], - [ - -7.0615086, - 38.907962 - ], - [ - -6.9693387, - 39.0198308 - ], - [ - -7.0008114, - 39.0887867 - ], - [ - -7.1536786, - 39.0957658 - ], - [ - -7.1525545, - 39.1602899 - ], - [ - -7.2447245, - 39.1968854 - ], - [ - -7.2559647, - 39.2813308 - ], - [ - -7.3368944, - 39.3535074 - ], - [ - -7.3279022, - 39.4559917 - ], - [ - -7.5144901, - 39.5886496 - ], - [ - -7.5527069, - 39.6795427 - ], - [ - -7.0502684, - 39.6752171 - ], - [ - -6.9951913, - 39.8195433 - ], - [ - -6.9221297, - 39.8790868 - ], - [ - -6.886161, - 40.0229854 - ], - [ - -7.0412762, - 40.1347927 - ], - [ - -7.0176717, - 40.266146 - ], - [ - -6.8086034, - 40.3450071 - ], - [ - -6.8681766, - 40.4451649 - ], - [ - -6.8535643, - 40.6066433 - ], - [ - -6.837828, - 40.8757589 - ], - [ - -6.9536024, - 41.0370445 - ], - [ - -6.8018592, - 41.0395879 - ], - [ - -6.7681385, - 41.138706 - ], - [ - -6.6411239, - 41.2655616 - ], - [ - -6.5624422, - 41.2630269 - ], - [ - -6.217367, - 41.5791017 - ], - [ - -6.3162811, - 41.644652 - ], - [ - -6.5152332, - 41.6412921 - ], - [ - -6.5871707, - 41.6883151 - ], - [ - -6.5478299, - 41.8559743 - ], - [ - -6.6298836, - 41.9112057 - ], - [ - -7.1334461, - 41.9404756 - ], - [ - -7.1682909, - 41.8718791 - ], - [ - -7.4256922, - 41.7847727 - ], - [ - -7.9539833, - 41.8459271 - ], - [ - -8.130455, - 41.7805819 - ], - [ - -8.2518495, - 41.9078597 - ], - [ - -8.1293309, - 42.0348842 - ], - [ - -8.2484774, - 42.1008034 - ], - [ - -8.3676239, - 42.0557521 - ], - [ - -8.6070409, - 42.0340493 - ], - [ - -8.8910646, - 41.8228891 - ] - ] - ], - terms_text: "PNOA", - best: true - }, - { - id: "poco_das_trincheiras", - name: "Poço das Trincheiras AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Poco%20das%20Trincheiras&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -37.23941602841, - -9.35156513689 - ], - [ - -37.23946967259, - -9.34386884913 - ], - [ - -37.23941602841, - -9.3379191951 - ], - [ - -37.23954477444, - -9.33022260582 - ], - [ - -37.23972716465, - -9.32791465461 - ], - [ - -37.23973789349, - -9.32280111197 - ], - [ - -37.23964133396, - -9.32085307601 - ], - [ - -37.23970570698, - -9.31864034808 - ], - [ - -37.2398022665, - -9.31706284448 - ], - [ - -37.23982372418, - -9.31561238186 - ], - [ - -37.24053182736, - -9.30933403261 - ], - [ - -37.24051036968, - -9.30003805717 - ], - [ - -37.24008121624, - -9.29687228705 - ], - [ - -37.23998465672, - -9.29546409248 - ], - [ - -37.2399202837, - -9.29318767574 - ], - [ - -37.23988809719, - -9.28977831694 - ], - [ - -37.23995247021, - -9.28817950681 - ], - [ - -37.24008121624, - -9.28641127785 - ], - [ - -37.24036016598, - -9.28212302085 - ], - [ - -37.24038162365, - -9.27896767726 - ], - [ - -37.24051036968, - -9.27556876869 - ], - [ - -37.2400383009, - -9.26978737192 - ], - [ - -37.24017777577, - -9.26721430207 - ], - [ - -37.24017777577, - -9.26612365361 - ], - [ - -37.23995247021, - -9.26454591343 - ], - [ - -37.23983445301, - -9.26150689057 - ], - [ - -37.24333205357, - -9.26135864488 - ], - [ - -37.24936165943, - -9.26146453466 - ], - [ - -37.26444640293, - -9.26161278031 - ], - [ - -37.28016414776, - -9.26171867001 - ], - [ - -37.2829429163, - -9.26170808105 - ], - [ - -37.29580679074, - -9.26178220382 - ], - [ - -37.30684676304, - -9.26178220382 - ], - [ - -37.31418528691, - -9.26188809348 - ], - [ - -37.32436695233, - -9.26191986037 - ], - [ - -37.33078279629, - -9.26175043692 - ], - [ - -37.33056821957, - -9.27275220267 - ], - [ - -37.33048238888, - -9.28006887422 - ], - [ - -37.33053603306, - -9.28117006773 - ], - [ - -37.33068623677, - -9.28427245005 - ], - [ - -37.3306969656, - -9.28535245384 - ], - [ - -37.33064332142, - -9.28616774861 - ], - [ - -37.33070769444, - -9.28717362916 - ], - [ - -37.33064332142, - -9.28769245062 - ], - [ - -37.33062186375, - -9.29026537022 - ], - [ - -37.3304287447, - -9.29308179553 - ], - [ - -37.33037510052, - -9.29655464967 - ], - [ - -37.33034291401, - -9.3059142435 - ], - [ - -37.33039655819, - -9.31203384249 - ], - [ - -37.33037510052, - -9.321943554 - ], - [ - -37.33040728703, - -9.33420325643 - ], - [ - -37.33035364285, - -9.34184682509 - ], - [ - -37.33029999867, - -9.3478281711 - ], - [ - -37.33035364285, - -9.35202034528 - ], - [ - -37.31508650913, - -9.35193565539 - ], - [ - -37.300109054, - -9.35190389668 - ], - [ - -37.29531326428, - -9.351829793 - ], - [ - -37.28899397984, - -9.35171334434 - ], - [ - -37.28497066632, - -9.35181920676 - ], - [ - -37.27851190701, - -9.35173451683 - ], - [ - -37.27430620327, - -9.35180862052 - ], - [ - -37.27115192547, - -9.35170275809 - ], - [ - -37.2635129942, - -9.3516815856 - ], - [ - -37.26045527592, - -9.35163924062 - ], - [ - -37.25401797428, - -9.35176627555 - ], - [ - -37.24705495968, - -9.35162865438 - ], - [ - -37.23941602841, - -9.35156513689 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "rio2013", - name: "Rio Mosaic 2013", - type: "wms", - template: "http://geo.rio.rj.gov.br/ArcGIS/services/Imagens/Mosaico_2013/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - polygon: [ - [ - [ - -43.17709320917647, - -22.969707888781738 - ], - [ - -43.14585740870588, - -22.969588308044617 - ], - [ - -43.14605222658823, - -22.927190274347275 - ], - [ - -43.156247695764705, - -22.92730989255725 - ], - [ - -43.15647498329411, - -22.87556516592966 - ], - [ - -43.177385435999994, - -22.8749369295143 - ], - [ - -43.177417905647054, - -22.88552681203441 - ], - [ - -43.1980361315294, - -22.885706294449527 - ], - [ - -43.198036131529406, - -22.854293259693964 - ], - [ - -43.21875176635292, - -22.85444286278469 - ], - [ - -43.2190115235294, - -22.833646454489337 - ], - [ - -43.22936934094117, - -22.833646454489337 - ], - [ - -43.2293368712941, - -22.82371093306296 - ], - [ - -43.19868552447057, - -22.823531368775274 - ], - [ - -43.19855564588234, - -22.834125256479705 - ], - [ - -43.18826276776469, - -22.8339756310387 - ], - [ - -43.18803548023528, - -22.844478937331477 - ], - [ - -43.16667045247057, - -22.844419091729687 - ], - [ - -43.166832800705855, - -22.83403548123485 - ], - [ - -43.156377574352916, - -22.83406540632306 - ], - [ - -43.1565399225882, - -22.813355672227665 - ], - [ - -43.104361199764675, - -22.813056375525143 - ], - [ - -43.10445860870584, - -22.802879896393364 - ], - [ - -43.09387350376466, - -22.80276016858602 - ], - [ - -43.094100791294075, - -22.73997839409261 - ], - [ - -43.13598663599996, - -22.739918502607807 - ], - [ - -43.13569440917644, - -22.750668603713393 - ], - [ - -43.12572622752938, - -22.750548830086732 - ], - [ - -43.12556387929409, - -22.771178288335854 - ], - [ - -43.14595481764702, - -22.7710884716159 - ], - [ - -43.14611716588231, - -22.760549566225578 - ], - [ - -43.17771013247056, - -22.760878919332278 - ], - [ - -43.17758025388233, - -22.77114834943578 - ], - [ - -43.188067949882324, - -22.771298043870523 - ], - [ - -43.188067949882324, - -22.781656499945914 - ], - [ - -43.25066942941175, - -22.78162656334464 - ], - [ - -43.25057202047057, - -22.791984235249323 - ], - [ - -43.28054150470587, - -22.792822393946437 - ], - [ - -43.30343260588235, - -22.793121735089624 - ], - [ - -43.33353196870588, - -22.792972064600175 - ], - [ - -43.33346702941175, - -22.802580576677798 - ], - [ - -43.38574316117646, - -22.8024009845329 - ], - [ - -43.38541846470588, - -22.812547569621618 - ], - [ - -43.41691402235293, - -22.81284686744212 - ], - [ - -43.41675167411763, - -22.823411659118616 - ], - [ - -43.42717443082351, - -22.82335180425081 - ], - [ - -43.42740171835291, - -22.833736229990887 - ], - [ - -43.45844270094114, - -22.833616529309033 - ], - [ - -43.45863751882349, - -22.81275707816501 - ], - [ - -43.48984084964701, - -22.812996516105756 - ], - [ - -43.48993825858821, - -22.796504244335274 - ], - [ - -43.5020819065882, - -22.797462107811715 - ], - [ - -43.515426931529376, - -22.797372308396717 - ], - [ - -43.52078442329409, - -22.795905576244728 - ], - [ - -43.54169487599998, - -22.796025310073155 - ], - [ - -43.54179228494115, - -22.802341120431993 - ], - [ - -43.54653285341174, - -22.802460848607485 - ], - [ - -43.54666273199997, - -22.811889112101724 - ], - [ - -43.55250726847058, - -22.81278700793061 - ], - [ - -43.5699109992941, - -22.812936656660003 - ], - [ - -43.56997593858822, - -22.819700607555284 - ], - [ - -43.57361253905883, - -22.823262021899716 - ], - [ - -43.583483311764695, - -22.823291949356644 - ], - [ - -43.583515781411776, - -22.833466903308615 - ], - [ - -43.59390606847059, - -22.83373622999088 - ], - [ - -43.59393853811765, - -22.854682227387414 - ], - [ - -43.66098835929414, - -22.854592465710777 - ], - [ - -43.66098835929414, - -22.859828464394095 - ], - [ - -43.708523922588235, - -22.860187496913827 - ], - [ - -43.70836157435295, - -22.865034343090006 - ], - [ - -43.72206376541177, - -22.864884751657844 - ], - [ - -43.72212870470588, - -22.86847490057084 - ], - [ - -43.75015001011764, - -22.86859457056733 - ], - [ - -43.75008507082353, - -22.87529592210752 - ], - [ - -43.76037794894117, - -22.87526600609435 - ], - [ - -43.759923373882344, - -22.87849689743878 - ], - [ - -43.759761025647045, - -22.884569568478902 - ], - [ - -43.76131956870587, - -22.885855862947494 - ], - [ - -43.78128840164704, - -22.8857960355681 - ], - [ - -43.781255932, - -22.895906488289704 - ], - [ - -43.802133915058825, - -22.896205602636037 - ], - [ - -43.8013546435294, - -22.911369835519228 - ], - [ - -43.80119229529411, - -22.927579033143484 - ], - [ - -43.7921332637647, - -22.927758459903885 - ], - [ - -43.7921982030588, - -22.93822460957403 - ], - [ - -43.78190532494115, - -22.93798539232952 - ], - [ - -43.78184038564702, - -22.94868995021093 - ], - [ - -43.75066952447056, - -22.94845075146181 - ], - [ - -43.75060458517645, - -22.95909468650586 - ], - [ - -43.72985648070586, - -22.958855506152936 - ], - [ - -43.72966166282351, - -22.979841971833356 - ], - [ - -43.709043436941144, - -22.97966261413784 - ], - [ - -43.70891355835292, - -22.99033398260527 - ], - [ - -43.69845833199996, - -22.990064966868836 - ], - [ - -43.698360923058786, - -23.000645848451164 - ], - [ - -43.667352410117616, - -23.000436630016143 - ], - [ - -43.66725500117644, - -23.011166128679353 - ], - [ - -43.631246162588184, - -23.00937295708379 - ], - [ - -43.631311101882304, - -23.02078907569042 - ], - [ - -43.63585685247054, - -23.020908611087243 - ], - [ - -43.636019200705846, - -23.031636481368604 - ], - [ - -43.67771022752937, - -23.031636481368604 - ], - [ - -43.67764528823524, - -23.04233361870472 - ], - [ - -43.67085913199995, - -23.04230373961572 - ], - [ - -43.67108641952936, - -23.063097982243804 - ], - [ - -43.64598738235289, - -23.06303823327472 - ], - [ - -43.646052321647005, - -23.052761015940998 - ], - [ - -43.60475093058818, - -23.052551878372743 - ], - [ - -43.60452364305876, - -23.063068107762582 - ], - [ - -43.58380800823524, - -23.06288886073593 - ], - [ - -43.583678129647005, - -23.08403836134171 - ], - [ - -43.54185722423525, - -23.083829272389394 - ], - [ - -43.54195463317643, - -23.06318760564771 - ], - [ - -43.521466285882305, - -23.06300835878022 - ], - [ - -43.52130393764702, - -23.0735237710834 - ], - [ - -43.500425954588195, - -23.073374410186133 - ], - [ - -43.500425954588195, - -23.042184223193427 - ], - [ - -43.45876739741171, - -23.042214102308932 - ], - [ - -43.45870245811759, - -23.03193529561677 - ], - [ - -43.43782447505876, - -23.031815769997003 - ], - [ - -43.43775953576465, - -23.021536170182088 - ], - [ - -43.32349884776465, - -23.021207449115728 - ], - [ - -43.32330402988229, - -23.04212446494251 - ], - [ - -43.31291374282347, - -23.041945190030685 - ], - [ - -43.31275139458817, - -23.052671385594376 - ], - [ - -43.30239357717642, - -23.052581755188086 - ], - [ - -43.30236110752935, - -23.042273860520083 - ], - [ - -43.291938350823465, - -23.042154344071257 - ], - [ - -43.291970820470524, - -23.031935295616755 - ], - [ - -43.27109283741169, - -23.031815769997003 - ], - [ - -43.27119024635288, - -23.010927040510325 - ], - [ - -43.260605141411716, - -23.01086726840187 - ], - [ - -43.26067008070583, - -23.000586071788522 - ], - [ - -43.25057202047053, - -23.000466518383856 - ], - [ - -43.25053955082347, - -23.01125578663348 - ], - [ - -43.23988950658817, - -23.01101669862337 - ], - [ - -43.23985703694111, - -23.00061596012315 - ], - [ - -43.21907646282347, - -23.000496406744954 - ], - [ - -43.21904399317641, - -22.990214420121887 - ], - [ - -43.20901087223524, - -22.99009485753265 - ], - [ - -43.20862123647049, - -23.083889012123244 - ], - [ - -43.187678314117555, - -23.083769532629013 - ], - [ - -43.18761337482344, - -23.07334453798677 - ], - [ - -43.135824287764606, - -23.073374410186123 - ], - [ - -43.135889227058726, - -23.052492124722143 - ], - [ - -43.17732049670579, - -23.052551878372732 - ], - [ - -43.17709320917647, - -22.969707888781738 - ] - ] - ], - terms_url: "https://pgeo3.rio.rj.gov.br/arcgis/rest/services/Imagens/Mosaico_2013_UTM/MapServer", - terms_text: "Instituto Pereira Passos - Prefeitura da Cidade do Rio de Janeiro." - }, - { - id: "rio2015", - name: "Rio Mosaic 2015", - type: "wms", - template: "https://pgeo3.rio.rj.gov.br/arcgis/services/Imagens/Mosaico_2015_UTM/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 13 - ], - polygon: [ - [ - [ - -42.30362723364694, - -22.436982955891427 - ], - [ - -44.10842009576469, - -22.06578551470817 - ], - [ - -44.53130477905882, - -23.786301394919743 - ], - [ - -42.70469231411757, - -24.161784722114145 - ], - [ - -42.30362723364694, - -22.436982955891427 - ] - ] - ], - terms_url: "https://pgeo3.rio.rj.gov.br/arcgis/rest/services/Imagens/Mosaico_2015_UTM/MapServer", - terms_text: "Instituto Pereira Passos - Prefeitura da Cidade do Rio de Janeiro." - }, - { - id: "route500", - name: "Route 500", - type: "tms", - template: "https://{switch:a,b,c}.tile.openstreetmap.fr/route500/{zoom}/{x}/{y}.png", - scaleExtent: [ - 12, - 20 - ], - polygon: [ - [ - [ - -2.7, - 43.9 - ], - [ - -6.3, - 48.98 - ], - [ - -2.25, - 50.09 - ], - [ - 1.31, - 50.88 - ], - [ - 2.358164, - 51.32937 - ], - [ - 2.548804, - 51.09759 - ], - [ - 2.570482, - 51.07409 - ], - [ - 2.587412, - 51.01763 - ], - [ - 2.598448, - 51.0051 - ], - [ - 2.615575, - 50.99749 - ], - [ - 2.639859, - 50.95766 - ], - [ - 2.642247, - 50.94578 - ], - [ - 2.624519, - 50.9256 - ], - [ - 2.61962, - 50.91067 - ], - [ - 2.623964, - 50.86071 - ], - [ - 2.627811, - 50.85054 - ], - [ - 2.637859, - 50.83696 - ], - [ - 2.651102, - 50.82906 - ], - [ - 2.732666, - 50.81738 - ], - [ - 2.79995, - 50.73795 - ], - [ - 2.816552, - 50.73092 - ], - [ - 2.852648, - 50.73335 - ], - [ - 2.890719, - 50.7162 - ], - [ - 2.904925, - 50.71536 - ], - [ - 2.916096, - 50.72418 - ], - [ - 2.935084, - 50.75592 - ], - [ - 3.007184, - 50.78377 - ], - [ - 3.082183, - 50.78749 - ], - [ - 3.092439, - 50.79092 - ], - [ - 3.114119, - 50.80566 - ], - [ - 3.148768, - 50.80195 - ], - [ - 3.215401, - 50.73111 - ], - [ - 3.221487, - 50.7267 - ], - [ - 3.270507, - 50.70375 - ], - [ - 3.275448, - 50.67757 - ], - [ - 3.265761, - 50.6604 - ], - [ - 3.265877, - 50.64054 - ], - [ - 3.289219, - 50.60028 - ], - [ - 3.292195, - 50.55037 - ], - [ - 3.305598, - 50.53267 - ], - [ - 3.375514, - 50.50839 - ], - [ - 3.389804, - 50.50884 - ], - [ - 3.474798, - 50.54445 - ], - [ - 3.52173, - 50.53459 - ], - [ - 3.532662, - 50.51873 - ], - [ - 3.547788, - 50.51012 - ], - [ - 3.615234, - 50.50558 - ], - [ - 3.673778, - 50.45642 - ], - [ - 3.684152, - 50.35277 - ], - [ - 3.690097, - 50.34044 - ], - [ - 3.702583, - 50.33482 - ], - [ - 3.715758, - 50.33854 - ], - [ - 3.749349, - 50.36279 - ], - [ - 3.841089, - 50.36558 - ], - [ - 3.901887, - 50.3436 - ], - [ - 3.913173, - 50.34291 - ], - [ - 4.026717, - 50.36904 - ], - [ - 4.13761, - 50.29984 - ], - [ - 4.143881, - 50.29727 - ], - [ - 4.214438, - 50.28167 - ], - [ - 4.229037, - 50.26664 - ], - [ - 4.230782, - 50.25233 - ], - [ - 4.170843, - 50.18579 - ], - [ - 4.166015, - 50.16888 - ], - [ - 4.176401, - 50.1547 - ], - [ - 4.211948, - 50.13602 - ], - [ - 4.240742, - 50.07102 - ], - [ - 4.231934, - 50.05551 - ], - [ - 4.181645, - 50.03436 - ], - [ - 4.17177, - 50.02537 - ], - [ - 4.169755, - 50.01217 - ], - [ - 4.176498, - 50.00065 - ], - [ - 4.206331, - 49.97546 - ], - [ - 4.221639, - 49.97089 - ], - [ - 4.308774, - 49.98145 - ], - [ - 4.445423, - 49.9523 - ], - [ - 4.454691, - 49.95251 - ], - [ - 4.658098, - 50.00609 - ], - [ - 4.669358, - 50.01392 - ], - [ - 4.672929, - 50.02716 - ], - [ - 4.66924, - 50.06972 - ], - [ - 4.695168, - 50.10472 - ], - [ - 4.831227, - 50.17941 - ], - [ - 4.881497, - 50.16436 - ], - [ - 4.904786, - 50.14451 - ], - [ - 4.904264, - 50.12639 - ], - [ - 4.880762, - 50.0815 - ], - [ - 4.862772, - 50.0745 - ], - [ - 4.851037, - 50.06216 - ], - [ - 4.843307, - 50.03884 - ], - [ - 4.843307, - 50.03883 - ], - [ - 4.843295, - 50.03881 - ], - [ - 4.826781, - 49.989 - ], - [ - 4.826618, - 49.97692 - ], - [ - 4.833433, - 49.96696 - ], - [ - 4.896542, - 49.91753 - ], - [ - 4.897546, - 49.89424 - ], - [ - 4.879134, - 49.86942 - ], - [ - 4.876249, - 49.85111 - ], - [ - 4.889238, - 49.81266 - ], - [ - 4.897691, - 49.80204 - ], - [ - 4.910979, - 49.79926 - ], - [ - 4.995343, - 49.81116 - ], - [ - 5.01867, - 49.79272 - ], - [ - 5.026862, - 49.78886 - ], - [ - 5.099438, - 49.77323 - ], - [ - 5.134584, - 49.73462 - ], - [ - 5.141201, - 49.72984 - ], - [ - 5.187609, - 49.70906 - ], - [ - 5.196025, - 49.70732 - ], - [ - 5.281572, - 49.70836 - ], - [ - 5.333628, - 49.67308 - ], - [ - 5.343996, - 49.65049 - ], - [ - 5.354398, - 49.64041 - ], - [ - 5.431412, - 49.60791 - ], - [ - 5.482051, - 49.52815 - ], - [ - 5.492943, - 49.51979 - ], - [ - 5.50666, - 49.52042 - ], - [ - 5.55401, - 49.54025 - ], - [ - 5.59311, - 49.53424 - ], - [ - 5.607602, - 49.53761 - ], - [ - 5.640997, - 49.56095 - ], - [ - 5.706759, - 49.55267 - ], - [ - 5.715782, - 49.55361 - ], - [ - 5.775261, - 49.57414 - ], - [ - 5.839902, - 49.55321 - ], - [ - 5.861263, - 49.52038 - ], - [ - 5.875997, - 49.5114 - ], - [ - 5.975162, - 49.50129 - ], - [ - 5.998015, - 49.47317 - ], - [ - 6.016266, - 49.46597 - ], - [ - 6.08635, - 49.47562 - ], - [ - 6.093186, - 49.47787 - ], - [ - 6.173966, - 49.52187 - ], - [ - 6.246435, - 49.52511 - ], - [ - 6.333999, - 49.48235 - ], - [ - 6.344229, - 49.48037 - ], - [ - 6.435145, - 49.487 - ], - [ - 6.5451, - 49.44384 - ], - [ - 6.606389, - 49.37868 - ], - [ - 6.604972, - 49.33739 - ], - [ - 6.616267, - 49.31869 - ], - [ - 6.670133, - 49.29269 - ], - [ - 6.729955, - 49.22917 - ], - [ - 6.743276, - 49.19086 - ], - [ - 6.760259, - 49.17752 - ], - [ - 6.809042, - 49.17284 - ], - [ - 6.824733, - 49.17826 - ], - [ - 6.830928, - 49.19366 - ], - [ - 6.829819, - 49.21802 - ], - [ - 6.851186, - 49.23136 - ], - [ - 6.884528, - 49.2239 - ], - [ - 6.893221, - 49.22389 - ], - [ - 6.937527, - 49.23369 - ], - [ - 7.040549, - 49.19794 - ], - [ - 7.046296, - 49.17503 - ], - [ - 7.054777, - 49.16313 - ], - [ - 7.069081, - 49.16018 - ], - [ - 7.104945, - 49.16634 - ], - [ - 7.143153, - 49.14159 - ], - [ - 7.153499, - 49.13839 - ], - [ - 7.286827, - 49.13488 - ], - [ - 7.29893, - 49.13856 - ], - [ - 7.360948, - 49.18259 - ], - [ - 7.450116, - 49.19517 - ], - [ - 7.50113, - 49.17672 - ], - [ - 7.543788, - 49.10572 - ], - [ - 7.557903, - 49.09626 - ], - [ - 7.629604, - 49.08527 - ], - [ - 7.647217, - 49.06722 - ], - [ - 7.661197, - 49.06119 - ], - [ - 7.754008, - 49.05963 - ], - [ - 7.760731, - 49.06067 - ], - [ - 7.802913, - 49.07489 - ], - [ - 7.855253, - 49.05329 - ], - [ - 7.867297, - 49.05227 - ], - [ - 7.93826, - 49.06832 - ], - [ - 8.080685, - 49.00688 - ], - [ - 8.222498, - 48.98787 - ], - [ - 8.23704, - 48.97683 - ], - [ - 8.235894, - 48.95817 - ], - [ - 8.208878, - 48.94863 - ], - [ - 8.200888, - 48.94339 - ], - [ - 8.158243, - 48.89753 - ], - [ - 8.100873, - 48.7993 - ], - [ - 7.990709, - 48.74478 - ], - [ - 7.985341, - 48.7409 - ], - [ - 7.904217, - 48.65865 - ], - [ - 7.856051, - 48.63606 - ], - [ - 7.848405, - 48.62977 - ], - [ - 7.818424, - 48.58883 - ], - [ - 7.81456, - 48.57704 - ], - [ - 7.814491, - 48.50968 - ], - [ - 7.785465, - 48.48337 - ], - [ - 7.780554, - 48.47652 - ], - [ - 7.745059, - 48.39484 - ], - [ - 7.743573, - 48.38427 - ], - [ - 7.751593, - 48.32322 - ], - [ - 7.71085, - 48.29841 - ], - [ - 7.702411, - 48.28803 - ], - [ - 7.676613, - 48.21555 - ], - [ - 7.596051, - 48.11698 - ], - [ - 7.591652, - 48.10648 - ], - [ - 7.585216, - 48.04694 - ], - [ - 7.591268, - 48.03035 - ], - [ - 7.624373, - 47.99865 - ], - [ - 7.632049, - 47.97081 - ], - [ - 7.575545, - 47.87436 - ], - [ - 7.572802, - 47.86435 - ], - [ - 7.572673, - 47.83631 - ], - [ - 7.545808, - 47.78793 - ], - [ - 7.544185, - 47.77232 - ], - [ - 7.557581, - 47.72899 - ], - [ - 7.535257, - 47.6989 - ], - [ - 7.531364, - 47.68564 - ], - [ - 7.536998, - 47.67302 - ], - [ - 7.600164, - 47.60822 - ], - [ - 7.589675, - 47.56755 - ], - [ - 7.554237, - 47.55128 - ], - [ - 7.54511, - 47.54283 - ], - [ - 7.512557, - 47.48439 - ], - [ - 7.387471, - 47.42111 - ], - [ - 7.326527, - 47.4273 - ], - [ - 7.244354, - 47.40939 - ], - [ - 7.167083, - 47.4335 - ], - [ - 7.152115, - 47.47612 - ], - [ - 7.14279, - 47.48707 - ], - [ - 7.128529, - 47.48893 - ], - [ - 7.080105, - 47.47718 - ], - [ - 7.035575, - 47.48695 - ], - [ - 7.021019, - 47.48458 - ], - [ - 7.012048, - 47.47287 - ], - [ - 7.002995, - 47.44095 - ], - [ - 6.955099, - 47.40808 - ], - [ - 6.947157, - 47.39698 - ], - [ - 6.94818, - 47.38337 - ], - [ - 6.957691, - 47.37359 - ], - [ - 6.971263, - 47.37218 - ], - [ - 7.018004, - 47.38386 - ], - [ - 7.05623, - 47.37035 - ], - [ - 7.070073, - 47.35005 - ], - [ - 7.05958, - 47.32257 - ], - [ - 6.974243, - 47.27856 - ], - [ - 6.963469, - 47.26233 - ], - [ - 6.961339, - 47.23479 - ], - [ - 6.89443, - 47.19393 - ], - [ - 6.889128, - 47.18922 - ], - [ - 6.855453, - 47.14636 - ], - [ - 6.769073, - 47.10751 - ], - [ - 6.760108, - 47.09953 - ], - [ - 6.725613, - 47.0418 - ], - [ - 6.623551, - 46.9811 - ], - [ - 6.481204, - 46.9445 - ], - [ - 6.46892, - 46.93522 - ], - [ - 6.466862, - 46.91997 - ], - [ - 6.475476, - 46.88771 - ], - [ - 6.453496, - 46.8239 - ], - [ - 6.45644, - 46.80534 - ], - [ - 6.467224, - 46.79104 - ], - [ - 6.460984, - 46.76887 - ], - [ - 6.15817, - 46.59343 - ], - [ - 6.148724, - 46.58069 - ], - [ - 6.15152, - 46.56508 - ], - [ - 6.165489, - 46.54399 - ], - [ - 6.158111, - 46.52456 - ], - [ - 6.101739, - 46.46979 - ], - [ - 6.095717, - 46.45418 - ], - [ - 6.097044, - 46.43317 - ], - [ - 6.108289, - 46.41643 - ], - [ - 6.166216, - 46.38839 - ], - [ - 6.178173, - 46.36922 - ], - [ - 6.137482, - 46.31297 - ], - [ - 6.133713, - 46.30227 - ], - [ - 6.130383, - 46.23737 - ], - [ - 6.110298, - 46.22344 - ], - [ - 6.088648, - 46.23081 - ], - [ - 6.077173, - 46.23123 - ], - [ - 6.018573, - 46.21601 - ], - [ - 6.006813, - 46.20752 - ], - [ - 6.003882, - 46.19332 - ], - [ - 6.007866, - 46.16977 - ], - [ - 6.017834, - 46.15564 - ], - [ - 6.03509, - 46.15456 - ], - [ - 6.055639, - 46.16288 - ], - [ - 6.124683, - 46.15415 - ], - [ - 6.137776, - 46.15702 - ], - [ - 6.240258, - 46.22094 - ], - [ - 6.249058, - 46.23299 - ], - [ - 6.247073, - 46.24777 - ], - [ - 6.21148, - 46.31057 - ], - [ - 6.212186, - 46.32485 - ], - [ - 6.239462, - 46.36705 - ], - [ - 6.316478, - 46.41557 - ], - [ - 6.410826, - 46.42495 - ], - [ - 6.417483, - 46.42682 - ], - [ - 6.504978, - 46.46871 - ], - [ - 6.630473, - 46.47435 - ], - [ - 6.746646, - 46.45695 - ], - [ - 6.822442, - 46.42925 - ], - [ - 6.818324, - 46.38181 - ], - [ - 6.804843, - 46.36179 - ], - [ - 6.801885, - 46.34639 - ], - [ - 6.810949, - 46.33359 - ], - [ - 6.864911, - 46.30038 - ], - [ - 6.875036, - 46.28007 - ], - [ - 6.860917, - 46.2439 - ], - [ - 6.826978, - 46.21188 - ], - [ - 6.820746, - 46.19862 - ], - [ - 6.818627, - 46.16592 - ], - [ - 6.822593, - 46.15261 - ], - [ - 6.834266, - 46.14509 - ], - [ - 6.903819, - 46.12971 - ], - [ - 6.904911, - 46.09595 - ], - [ - 6.909323, - 46.08406 - ], - [ - 6.920006, - 46.07721 - ], - [ - 6.948976, - 46.0699 - ], - [ - 7.015561, - 46.00883 - ], - [ - 7.051911, - 45.93066 - ], - [ - 7.045335, - 45.92217 - ], - [ - 7.044967, - 45.92064 - ], - [ - 7.043936, - 45.92036 - ], - [ - 6.995822, - 45.85822 - ], - [ - 6.940965, - 45.83551 - ], - [ - 6.843757, - 45.82387 - ], - [ - 6.831016, - 45.81711 - ], - [ - 6.826141, - 45.80353 - ], - [ - 6.82787, - 45.73217 - ], - [ - 6.83174, - 45.72082 - ], - [ - 6.841405, - 45.71373 - ], - [ - 6.907294, - 45.69124 - ], - [ - 6.92419, - 45.66935 - ], - [ - 6.942468, - 45.66172 - ], - [ - 6.971313, - 45.66528 - ], - [ - 7.00597, - 45.64945 - ], - [ - 7.011511, - 45.63652 - ], - [ - 6.997797, - 45.60877 - ], - [ - 6.996431, - 45.59465 - ], - [ - 7.015803, - 45.52354 - ], - [ - 7.027743, - 45.5102 - ], - [ - 7.107198, - 45.47877 - ], - [ - 7.122797, - 45.44924 - ], - [ - 7.13304, - 45.44001 - ], - [ - 7.185604, - 45.41894 - ], - [ - 7.19515, - 45.40409 - ], - [ - 7.170749, - 45.35069 - ], - [ - 7.142319, - 45.32298 - ], - [ - 7.136488, - 45.30576 - ], - [ - 7.14458, - 45.25048 - ], - [ - 7.084166, - 45.20279 - ], - [ - 6.992792, - 45.19823 - ], - [ - 6.981064, - 45.19368 - ], - [ - 6.900091, - 45.12689 - ], - [ - 6.85843, - 45.11699 - ], - [ - 6.782826, - 45.14228 - ], - [ - 6.770557, - 45.14242 - ], - [ - 6.677507, - 45.11356 - ], - [ - 6.665295, - 45.10289 - ], - [ - 6.665008, - 45.08667 - ], - [ - 6.68237, - 45.04558 - ], - [ - 6.696016, - 45.03395 - ], - [ - 6.757442, - 45.01884 - ], - [ - 6.783751, - 44.9146 - ], - [ - 6.794195, - 44.90161 - ], - [ - 6.866981, - 44.86519 - ], - [ - 6.879801, - 44.86346 - ], - [ - 6.936325, - 44.87461 - ], - [ - 7.017954, - 44.84402 - ], - [ - 7.034535, - 44.82282 - ], - [ - 7.037114, - 44.75009 - ], - [ - 7.049604, - 44.73226 - ], - [ - 7.072236, - 44.72311 - ], - [ - 7.086508, - 44.6968 - ], - [ - 7.086656, - 44.68085 - ], - [ - 7.07671, - 44.67134 - ], - [ - 6.990071, - 44.67203 - ], - [ - 6.974128, - 44.66431 - ], - [ - 6.970564, - 44.64696 - ], - [ - 6.978189, - 44.61784 - ], - [ - 6.94659, - 44.57124 - ], - [ - 6.882347, - 44.53479 - ], - [ - 6.872327, - 44.5195 - ], - [ - 6.878925, - 44.50245 - ], - [ - 6.958945, - 44.43129 - ], - [ - 6.958723, - 44.42908 - ], - [ - 6.921668, - 44.41436 - ], - [ - 6.912225, - 44.40659 - ], - [ - 6.909075, - 44.39477 - ], - [ - 6.90972, - 44.38195 - ], - [ - 6.91637, - 44.36804 - ], - [ - 6.999091, - 44.29414 - ], - [ - 7.011806, - 44.256 - ], - [ - 7.019835, - 44.24558 - ], - [ - 7.032595, - 44.2424 - ], - [ - 7.073117, - 44.2461 - ], - [ - 7.165097, - 44.22112 - ], - [ - 7.245331, - 44.18544 - ], - [ - 7.260526, - 44.16682 - ], - [ - 7.275371, - 44.15947 - ], - [ - 7.338779, - 44.1574 - ], - [ - 7.362775, - 44.13834 - ], - [ - 7.377763, - 44.13416 - ], - [ - 7.56283, - 44.15792 - ], - [ - 7.5642, - 44.15836 - ], - [ - 7.564785, - 44.15817 - ], - [ - 7.605476, - 44.1634 - ], - [ - 7.616198, - 44.16827 - ], - [ - 7.639891, - 44.18928 - ], - [ - 7.686079, - 44.1861 - ], - [ - 7.69422, - 44.17795 - ], - [ - 7.68937, - 44.13869 - ], - [ - 7.694448, - 44.12276 - ], - [ - 7.727862, - 44.08615 - ], - [ - 7.724032, - 44.05704 - ], - [ - 7.686028, - 44.02371 - ], - [ - 7.680769, - 44.0164 - ], - [ - 7.660161, - 43.9672 - ], - [ - 7.596244, - 43.94466 - ], - [ - 7.584187, - 43.93287 - ], - [ - 7.568576, - 43.89159 - ], - [ - 7.527096, - 43.87434 - ], - [ - 7.516489, - 43.86397 - ], - [ - 7.51594, - 43.84915 - ], - [ - 7.53622, - 43.79234 - ], - [ - 9.8, - 43.1 - ], - [ - 9.63227, - 41.43244 - ], - [ - 9.369681, - 41.35052 - ], - [ - 9.273114, - 41.29196 - ], - [ - 8.941857, - 41.27688 - ], - [ - 5.8, - 41.64 - ], - [ - 3.173576, - 42.41768 - ], - [ - 3.160814, - 42.42757 - ], - [ - 3.094399, - 42.41457 - ], - [ - 3.034016, - 42.45331 - ], - [ - 3.022142, - 42.45645 - ], - [ - 2.878221, - 42.4487 - ], - [ - 2.870188, - 42.44653 - ], - [ - 2.784238, - 42.40256 - ], - [ - 2.741304, - 42.41128 - ], - [ - 2.729276, - 42.40998 - ], - [ - 2.693308, - 42.39417 - ], - [ - 2.683779, - 42.3854 - ], - [ - 2.681621, - 42.37263 - ], - [ - 2.685852, - 42.34679 - ], - [ - 2.66719, - 42.33008 - ], - [ - 2.581057, - 42.34418 - ], - [ - 2.567769, - 42.34173 - ], - [ - 2.533803, - 42.32197 - ], - [ - 2.477948, - 42.32986 - ], - [ - 2.419327, - 42.37658 - ], - [ - 2.41222, - 42.38021 - ], - [ - 2.267193, - 42.42055 - ], - [ - 2.259731, - 42.42117 - ], - [ - 2.206944, - 42.41558 - ], - [ - 2.206525, - 42.41526 - ], - [ - 2.205257, - 42.41541 - ], - [ - 2.160278, - 42.41065 - ], - [ - 2.148808, - 42.40545 - ], - [ - 2.093931, - 42.35474 - ], - [ - 2.008614, - 42.33818 - ], - [ - 1.964998, - 42.36473 - ], - [ - 1.930762, - 42.42442 - ], - [ - 1.920889, - 42.43302 - ], - [ - 1.884665, - 42.44761 - ], - [ - 1.884588, - 42.44762 - ], - [ - 1.884444, - 42.4477 - ], - [ - 1.827736, - 42.47056 - ], - [ - 1.725668, - 42.48452 - ], - [ - 1.715606, - 42.50125 - ], - [ - 1.727195, - 42.56103 - ], - [ - 1.724794, - 42.57499 - ], - [ - 1.710109, - 42.59992 - ], - [ - 1.69377, - 42.60975 - ], - [ - 1.602827, - 42.61382 - ], - [ - 1.560687, - 42.6392 - ], - [ - 1.546365, - 42.64166 - ], - [ - 1.504443, - 42.6331 - ], - [ - 1.492096, - 42.62502 - ], - [ - 1.472384, - 42.59703 - ], - [ - 1.437922, - 42.59264 - ], - [ - 1.419356, - 42.60643 - ], - [ - 1.38032, - 42.67415 - ], - [ - 1.373353, - 42.68127 - ], - [ - 1.333134, - 42.70563 - ], - [ - 1.323642, - 42.7085 - ], - [ - 1.232212, - 42.71248 - ], - [ - 1.165543, - 42.69928 - ], - [ - 1.085465, - 42.76635 - ], - [ - 1.075637, - 42.77079 - ], - [ - 0.9593748, - 42.78852 - ], - [ - 0.9507323, - 42.78794 - ], - [ - 0.9226515, - 42.7797 - ], - [ - 0.8460624, - 42.8157 - ], - [ - 0.7151135, - 42.8464 - ], - [ - 0.7001699, - 42.84402 - ], - [ - 0.6911674, - 42.83186 - ], - [ - 0.6740937, - 42.76479 - ], - [ - 0.6747382, - 42.75286 - ], - [ - 0.6919171, - 42.70684 - ], - [ - 0.6689955, - 42.67901 - ], - [ - 0.4302428, - 42.67863 - ], - [ - 0.3715037, - 42.70308 - ], - [ - 0.3595376, - 42.70415 - ], - [ - 0.3491168, - 42.69817 - ], - [ - 0.3256688, - 42.67274 - ], - [ - 0.2957095, - 42.66388 - ], - [ - 0.2459353, - 42.70175 - ], - [ - 0.2397249, - 42.70494 - ], - [ - 0.189669, - 42.72039 - ], - [ - 0.1791886, - 42.72075 - ], - [ - -0.01993262, - 42.67389 - ], - [ - -0.06725834, - 42.6848 - ], - [ - -0.1694885, - 42.77157 - ], - [ - -0.2998662, - 42.82697 - ], - [ - -0.3168349, - 42.82635 - ], - [ - -0.3920752, - 42.78766 - ], - [ - -0.4435404, - 42.78453 - ], - [ - -0.488418, - 42.80255 - ], - [ - -0.508683, - 42.79935 - ], - [ - -0.5449894, - 42.76906 - ], - [ - -0.5672068, - 42.76937 - ], - [ - -0.6744552, - 42.86392 - ], - [ - -0.6809365, - 42.86775 - ], - [ - -0.7337233, - 42.88666 - ], - [ - -0.747598, - 42.93879 - ], - [ - -0.757105, - 42.95107 - ], - [ - -0.7725328, - 42.95284 - ], - [ - -0.8211401, - 42.93865 - ], - [ - -0.9450847, - 42.94192 - ], - [ - -1.023131, - 42.98206 - ], - [ - -1.108517, - 43.00409 - ], - [ - -1.115597, - 43.00461 - ], - [ - -1.147753, - 43.00124 - ], - [ - -1.158452, - 43.01452 - ], - [ - -1.167362, - 43.02083 - ], - [ - -1.216216, - 43.0381 - ], - [ - -1.226121, - 43.03898 - ], - [ - -1.262362, - 43.03303 - ], - [ - -1.306428, - 43.05531 - ], - [ - -1.319918, - 43.05696 - ], - [ - -1.331346, - 43.0496 - ], - [ - -1.354196, - 43.0197 - ], - [ - -1.438684, - 43.03371 - ], - [ - -1.4775, - 43.06889 - ], - [ - -1.48311, - 43.08561 - ], - [ - -1.476407, - 43.10248 - ], - [ - -1.434786, - 43.13087 - ], - [ - -1.427318, - 43.1404 - ], - [ - -1.394112, - 43.22935 - ], - [ - -1.395313, - 43.24596 - ], - [ - -1.408677, - 43.25591 - ], - [ - -1.526287, - 43.28099 - ], - [ - -1.546257, - 43.2737 - ], - [ - -1.571485, - 43.2412 - ], - [ - -1.610526, - 43.24223 - ], - [ - -1.650003, - 43.29323 - ], - [ - -1.669527, - 43.30065 - ], - [ - -1.733594, - 43.28856 - ], - [ - -1.756061, - 43.31966 - ], - [ - -1.762973, - 43.32565 - ], - [ - -1.791557, - 43.34067 - ], - [ - -1.800991, - 43.37017 - ], - [ - -1.785091, - 43.39037 - ], - [ - -1.783502, - 43.39686 - ], - [ - -2.7, - 43.9 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/FR:Servers/tile.openstreetmap.fr#Route500.E2.84.A2.C2.A9.C2.AE", - terms_text: "Tiles © cquest@Openstreetmap France, data © IGN, LO/OL", - description: "Routes du réseau classé (autoroutes, nationales, départementales)", - overlay: true - }, - { - id: "santana_do_ipanema", - name: "Santana do Ipanema AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Santana%20do%20Ipanema&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -37.20224124741, - -9.41355941666 - ], - [ - -37.20188336806, - -9.37768274195 - ], - [ - -37.20208218992, - -9.37455390013 - ], - [ - -37.20192313243, - -9.36732508877 - ], - [ - -37.20169448729, - -9.36044924119 - ], - [ - -37.20172431057, - -9.35500535669 - ], - [ - -37.20195295571, - -9.35101312056 - ], - [ - -37.20191319134, - -9.34772709331 - ], - [ - -37.20175413385, - -9.3383494838 - ], - [ - -37.20170442839, - -9.33505352761 - ], - [ - -37.20171436948, - -9.33301315816 - ], - [ - -37.20141613669, - -9.32833399659 - ], - [ - -37.20120737373, - -9.3246946053 - ], - [ - -37.20116760936, - -9.32350762581 - ], - [ - -37.21425008782, - -9.32345857698 - ], - [ - -37.21537343133, - -9.32339971838 - ], - [ - -37.22078138595, - -9.32328200115 - ], - [ - -37.23727365933, - -9.32313485456 - ], - [ - -37.25180753737, - -9.32292884922 - ], - [ - -37.26559583344, - -9.32276208291 - ], - [ - -37.28029871006, - -9.32258550672 - ], - [ - -37.29190990675, - -9.32244816963 - ], - [ - -37.29204908205, - -9.33522028804 - ], - [ - -37.29304319135, - -9.41219621023 - ], - [ - -37.28356932967, - -9.41235312635 - ], - [ - -37.27789296554, - -9.41250023515 - ], - [ - -37.27160025364, - -9.4124904279 - ], - [ - -37.26505901441, - -9.41261792215 - ], - [ - -37.26164921949, - -9.4127356091 - ], - [ - -37.25498868715, - -9.41275522359 - ], - [ - -37.2499087886, - -9.41296117565 - ], - [ - -37.24616099652, - -9.41297098289 - ], - [ - -37.24108109797, - -9.41302982631 - ], - [ - -37.23460944639, - -9.41320635652 - ], - [ - -37.22839626323, - -9.41324558544 - ], - [ - -37.22164626105, - -9.41335346495 - ], - [ - -37.21686459529, - -9.41346134443 - ], - [ - -37.21291798135, - -9.41343192276 - ], - [ - -37.20224124741, - -9.41355941666 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "Sao_miguel_dos_campos", - name: "São Miguel dos Campos AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Sao_miguel_dos_campos&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.14150176596, - -9.83171289603 - ], - [ - -36.05047117688, - -9.8324573223 - ], - [ - -36.04958641959, - -9.74245778891 - ], - [ - -36.1405871854, - -9.74166417216 - ], - [ - -36.14150176596, - -9.83171289603 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "GEOSN-DOP-RGB", - name: "Saxony latest aerial imagery", - type: "wms", - template: "https://geodienste.sachsen.de/wms_geosn_dop-rgb/guest?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=sn_dop_020&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 13.549014, - 50.697922 - ], - [ - 13.842514, - 50.711263 - ], - [ - 13.93239, - 50.745042 - ], - [ - 14.046138, - 50.79389 - ], - [ - 14.252571, - 50.859532 - ], - [ - 14.400023, - 50.889661 - ], - [ - 14.426705, - 50.935703 - ], - [ - 14.35649, - 50.971973 - ], - [ - 14.325595, - 50.993191 - ], - [ - 14.27504, - 50.990539 - ], - [ - 14.315765, - 51.042662 - ], - [ - 14.415471, - 51.012633 - ], - [ - 14.519389, - 51.003797 - ], - [ - 14.5882, - 50.981699 - ], - [ - 14.544667, - 50.91977 - ], - [ - 14.579775, - 50.906489 - ], - [ - 14.647181, - 50.922426 - ], - [ - 14.644373, - 50.909146 - ], - [ - 14.605052, - 50.856873 - ], - [ - 14.720205, - 50.817851 - ], - [ - 14.810081, - 50.813415 - ], - [ - 14.856423, - 50.890547 - ], - [ - 14.912595, - 50.947206 - ], - [ - 14.996853, - 51.086789 - ], - [ - 15.053026, - 51.247932 - ], - [ - 15.055834, - 51.292741 - ], - [ - 14.99264, - 51.344524 - ], - [ - 14.988427, - 51.398 - ], - [ - 14.977193, - 51.45754 - ], - [ - 14.909786, - 51.496025 - ], - [ - 14.739865, - 51.537097 - ], - [ - 14.739865, - 51.591221 - ], - [ - 14.700545, - 51.60605 - ], - [ - 14.67948, - 51.5982 - ], - [ - 14.683693, - 51.578133 - ], - [ - 14.673863, - 51.558056 - ], - [ - 14.617691, - 51.557183 - ], - [ - 14.583987, - 51.590349 - ], - [ - 14.519389, - 51.569405 - ], - [ - 14.435131, - 51.559802 - ], - [ - 14.326999, - 51.52574 - ], - [ - 14.13461, - 51.555437 - ], - [ - 14.067203, - 51.499522 - ], - [ - 14.027882, - 51.478536 - ], - [ - 14.04333, - 51.45229 - ], - [ - 13.995583, - 51.392743 - ], - [ - 13.957667, - 51.405885 - ], - [ - 13.888856, - 51.388362 - ], - [ - 13.724552, - 51.374338 - ], - [ - 13.554631, - 51.392743 - ], - [ - 13.404371, - 51.45929 - ], - [ - 13.352411, - 51.439161 - ], - [ - 13.315899, - 51.443538 - ], - [ - 13.286409, - 51.418147 - ], - [ - 13.226024, - 51.400629 - ], - [ - 13.213385, - 51.46104 - ], - [ - 13.219002, - 51.526614 - ], - [ - 13.174064, - 51.5982 - ], - [ - 13.002739, - 51.677512 - ], - [ - 12.905842, - 51.653123 - ], - [ - 12.903033, - 51.66619 - ], - [ - 12.853883, - 51.693183 - ], - [ - 12.764007, - 51.659221 - ], - [ - 12.688175, - 51.670545 - ], - [ - 12.643237, - 51.629593 - ], - [ - 12.577235, - 51.630464 - ], - [ - 12.425569, - 51.610411 - ], - [ - 12.230371, - 51.570278 - ], - [ - 12.177007, - 51.530109 - ], - [ - 12.139091, - 51.460165 - ], - [ - 12.167177, - 51.417272 - ], - [ - 12.174199, - 51.334874 - ], - [ - 12.13207, - 51.318201 - ], - [ - 12.186838, - 51.213637 - ], - [ - 12.158751, - 51.188119 - ], - [ - 12.220541, - 51.092963 - ], - [ - 12.490168, - 51.054139 - ], - [ - 12.521062, - 50.993191 - ], - [ - 12.605321, - 50.972857 - ], - [ - 12.626385, - 50.918885 - ], - [ - 12.502806, - 50.910917 - ], - [ - 12.237393, - 50.818738 - ], - [ - 12.213519, - 50.729933 - ], - [ - 12.286543, - 50.664999 - ], - [ - 12.217732, - 50.646303 - ], - [ - 12.133474, - 50.627599 - ], - [ - 12.053428, - 50.563416 - ], - [ - 12.019725, - 50.647193 - ], - [ - 11.859634, - 50.548248 - ], - [ - 11.876486, - 50.508076 - ], - [ - 11.927041, - 50.505397 - ], - [ - 11.936871, - 50.486637 - ], - [ - 11.870869, - 50.441941 - ], - [ - 11.934062, - 50.399888 - ], - [ - 11.96917, - 50.339875 - ], - [ - 12.120835, - 50.297732 - ], - [ - 12.172794, - 50.306702 - ], - [ - 12.185433, - 50.260938 - ], - [ - 12.212115, - 50.253755 - ], - [ - 12.257053, - 50.216029 - ], - [ - 12.28233, - 50.156684 - ], - [ - 12.355354, - 50.158483 - ], - [ - 12.355354, - 50.22142 - ], - [ - 12.414335, - 50.281582 - ], - [ - 12.511232, - 50.347045 - ], - [ - 12.537914, - 50.387354 - ], - [ - 12.678345, - 50.402573 - ], - [ - 12.712048, - 50.386459 - ], - [ - 12.7289, - 50.396307 - ], - [ - 12.756986, - 50.42584 - ], - [ - 12.786476, - 50.433891 - ], - [ - 12.817371, - 50.417787 - ], - [ - 12.846861, - 50.436574 - ], - [ - 12.947971, - 50.387354 - ], - [ - 13.009761, - 50.414208 - ], - [ - 13.046273, - 50.449989 - ], - [ - 13.056103, - 50.48753 - ], - [ - 13.214789, - 50.492891 - ], - [ - 13.275174, - 50.566092 - ], - [ - 13.341177, - 50.568768 - ], - [ - 13.391732, - 50.613344 - ], - [ - 13.477394, - 50.585711 - ], - [ - 13.54761, - 50.634725 - ], - [ - 13.568674, - 50.67212 - ], - [ - 13.549014, - 50.697922 - ] - ] - ], - terms_url: "https://geoportal.sachsen.de/cps/metadaten_portal.html?id=cd01c334-7e32-482f-bd43-af286707178a", - terms_text: "Staatsbetrieb Geobasisinformation und Vermessung Sachsen", - best: true, - icon: "data:image/png;base64,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" - }, - { - id: "Geodatastyrelsen_Denmark", - name: "SDFE aerial imagery", - type: "tms", - template: "https://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 - ], - [ - 8.3743941, - 54.9551655 - ] - ], - [ - [ - 11.4577738, - 56.819554 - ], - [ - 11.7849181, - 56.8127385 - ], - [ - 11.7716715, - 56.6332796 - ], - [ - 11.4459621, - 56.6401087 - ], - [ - 11.4577738, - 56.819554 - ] - ], - [ - [ - 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.3274736, - 57.3612962 - ] - ], - [ - [ - 11.5843266, - 56.2777928 - ], - [ - 11.5782882, - 56.1880397 - ], - [ - 11.7392309, - 56.1845765 - ], - [ - 11.7456428, - 56.2743186 - ], - [ - 11.5843266, - 56.2777928 - ] - ], - [ - [ - 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 - ], - [ - 14.6825922, - 55.3639405 - ] - ] - ], - terms_url: "https://download.kortforsyningen.dk/content/vilkaar-og-betingelser", - terms_text: "Geodatastyrelsen og Danske Kommuner", - best: true, - icon: "data:image/png;base64,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" - }, - { - id: "Sicily-ATA2007", - name: "Sicily - Italy", - type: "wms", - template: "http://map.sitr.regione.sicilia.it/ArcGIS/services/WGS84_F33/Ortofoto_ATA20072008_f33/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&STYLES=default&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 15.711650848388677, - 38.25894105289697 - ], - [ - 15.237178802490236, - 38.81938114846882 - ], - [ - 14.271240234375, - 38.55246141354153 - ], - [ - 13.150634765625, - 38.75408327579141 - ], - [ - 11.964111328125, - 37.97451499202459 - ], - [ - 12.5244140625, - 37.54022177661216 - ], - [ - 11.87896728515625, - 36.796089518731506 - ], - [ - 12.496948242187498, - 35.47409160773029 - ], - [ - 12.689208984375, - 35.46961797120201 - ], - [ - 14.5733642578125, - 36.6640126988417 - ], - [ - 15.297088623046873, - 36.62875385775956 - ], - [ - 15.398540496826199, - 37.42170795425973 - ], - [ - 15.711650848388677, - 38.25894105289697 - ] - ] - ] - }, - { - id: "sc2012", - name: "SIG Santa Catarina OrtoRGB 2012", - type: "wms", - template: "http://sigsc.sc.gov.br:80/sigserver/SIGSC/wms?SERVICE=WMS&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OrtoRGB-Landsat-2012&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - polygon: [ - [ - [ - -48.62488448156965, - -26.916236931410996 - ], - [ - -48.624164193144196, - -26.83408805760915 - ], - [ - -48.5616254665196, - -26.83412188528322 - ], - [ - -48.5616507397977, - -26.749193916956184 - ], - [ - -48.626754704148055, - -26.74918263262303 - ], - [ - -48.627146439958395, - -26.73276274152515 - ], - [ - -48.6412615657696, - -26.732999746505616 - ], - [ - -48.641741758053236, - -26.709116191945647 - ], - [ - -48.624138919866105, - -26.709127480253297 - ], - [ - -48.624176829783245, - -26.500792500209887 - ], - [ - -48.570989216050585, - -26.500769882438657 - ], - [ - -48.57154522816848, - -26.474145680246586 - ], - [ - -48.55418248612319, - -26.47380633457661 - ], - [ - -48.55449840209926, - -26.45735818142214 - ], - [ - -48.56154964668535, - -26.457471312923715 - ], - [ - -48.56161282988055, - -26.41746108634898 - ], - [ - -48.49909937653404, - -26.417472403421797 - ], - [ - -48.49908673989502, - -26.250810301340856 - ], - [ - -48.43663646974372, - -26.250787634582515 - ], - [ - -48.43661119646563, - -26.207520071408148 - ], - [ - -48.460102708446854, - -26.20750873380981 - ], - [ - -48.46194765774716, - -26.124204304592393 - ], - [ - -48.56161282988057, - -26.12419295889107 - ], - [ - -48.56162546651964, - -25.95753087401021 - ], - [ - -48.624113646588064, - -25.95753087401021 - ], - [ - -48.624113646588064, - -25.945066276881477 - ], - [ - -48.688383592761575, - -25.94606622032166 - ], - [ - -48.68839622940061, - -25.9575195121708 - ], - [ - -49.25089094312879, - -25.9575195121708 - ], - [ - -49.25090357976782, - -25.999198717680073 - ], - [ - -49.31339175983624, - -25.999198717680073 - ], - [ - -49.31337912319721, - -26.0825014166478 - ], - [ - -49.37590521318276, - -26.082501416647776 - ], - [ - -49.37590521318275, - -26.124192958891047 - ], - [ - -49.50093211987576, - -26.124181613188597 - ], - [ - -49.50091948323672, - -26.16585828693744 - ], - [ - -49.68661489397596, - -26.165846945284223 - ], - [ - -49.68661489397595, - -26.12417026748506 - ], - [ - -49.74906516412725, - -26.082456017648312 - ], - [ - -49.74907780076631, - -26.04084043378188 - ], - [ - -49.81160389075186, - -26.040851787565785 - ], - [ - -49.811591254112805, - -25.999176002051062 - ], - [ - -49.93656761424967, - -25.99915328641767 - ], - [ - -49.9366055241668, - -25.98244474858429 - ], - [ - -50.000913380257444, - -25.982876406234503 - ], - [ - -50.00093865353552, - -25.99915328641767 - ], - [ - -50.313379553877645, - -25.999164644234927 - ], - [ - -50.313417463794764, - -26.040829079996882 - ], - [ - -50.37411124111907, - -26.04084043378188 - ], - [ - -50.374098604480025, - -25.999198717680073 - ], - [ - -50.49913814781211, - -25.999176002051062 - ], - [ - -50.49911287453402, - -25.984137291872997 - ], - [ - -50.62593418397117, - -25.984523506389962 - ], - [ - -50.62594682061022, - -26.04084043378188 - ], - [ - -50.6883970907615, - -26.041612488584164 - ], - [ - -50.68844763731769, - -26.124158921780424 - ], - [ - -50.75093581738611, - -26.124136230367803 - ], - [ - -50.750948454025156, - -26.207520071408148 - ], - [ - -51.12595335426997, - -26.207474721008193 - ], - [ - -51.12595335426997, - -26.249132949280156 - ], - [ - -51.18847944425552, - -26.249178283438034 - ], - [ - -51.31344316775333, - -26.33244989854678 - ], - [ - -51.31346844103143, - -26.624140013763412 - ], - [ - -51.436599851867975, - -26.62415131048226 - ], - [ - -51.43658721522893, - -26.56476034464233 - ], - [ - -51.62408966535135, - -26.564104792996805 - ], - [ - -51.62411493862942, - -26.540796365619084 - ], - [ - -51.99906929231806, - -26.540796365619084 - ], - [ - -52.06158274566456, - -26.49910746406482 - ], - [ - -52.06158274566456, - -26.457471312923687 - ], - [ - -52.12408356237202, - -26.457493939210668 - ], - [ - -52.12405828909395, - -26.41578614733 - ], - [ - -52.374074192562865, - -26.41579746456714 - ], - [ - -52.37408682920191, - -26.391327004376254 - ], - [ - -52.56156400604623, - -26.389402650121472 - ], - [ - -52.561576642685274, - -26.374153838977676 - ], - [ - -52.624077459392744, - -26.37416516029677 - ], - [ - -52.62409009603178, - -26.332472549349774 - ], - [ - -53.124083993052494, - -26.332472549349752 - ], - [ - -53.12409662969154, - -26.317068980284002 - ], - [ - -53.16180436059632, - -26.31650263355217 - ], - [ - -53.161362078229814, - -26.290821564697215 - ], - [ - -53.18655953648188, - -26.29083289416888 - ], - [ - -53.24907298982837, - -26.24911028219455 - ], - [ - -53.24906035318934, - -26.23919300812073 - ], - [ - -53.31158644317491, - -26.23824090528976 - ], - [ - -53.374099896521415, - -26.22882146785218 - ], - [ - -53.43844566252919, - -26.227767259506184 - ], - [ - -53.43843302589015, - -26.249144282821256 - ], - [ - -53.5616023466438, - -26.249155616361257 - ], - [ - -53.56158971000477, - -26.239827739008902 - ], - [ - -53.655012382450856, - -26.238138893809616 - ], - [ - -53.656225499799, - -26.292634266082075 - ], - [ - -53.67011316610744, - -26.316842441923516 - ], - [ - -53.68846156599812, - -26.33241592233391 - ], - [ - -53.70322116040052, - -26.374097232365553 - ], - [ - -53.70928674714123, - -26.384489741468975 - ], - [ - -53.70980484934199, - -26.395684982214643 - ], - [ - -53.70619077057565, - -26.407218680242053 - ], - [ - -53.70721433833813, - -26.459270088862837 - ], - [ - -53.714379312675604, - -26.461679725793857 - ], - [ - -53.714758411846894, - -26.48118122161117 - ], - [ - -53.73046575417756, - -26.49913008216322 - ], - [ - -53.73146404866198, - -26.54080767056338 - ], - [ - -53.750962382705566, - -26.540796365619055 - ], - [ - -53.75094974606652, - -26.624173903916578 - ], - [ - -53.76019976584611, - -26.624140013763338 - ], - [ - -53.761248606886696, - -26.667499888848678 - ], - [ - -53.75097501934461, - -26.66751118127877 - ], - [ - -53.75096238270559, - -26.742976079662007 - ], - [ - -53.727369777612, - -26.743404906944193 - ], - [ - -53.72132946414936, - -26.749047220537665 - ], - [ - -53.72140528398363, - -26.750931690893374 - ], - [ - -53.745705540863625, - -26.759428345833868 - ], - [ - -53.746122549952055, - -26.777040237532006 - ], - [ - -53.71948451484907, - -26.77754790691426 - ], - [ - -53.720836635226696, - -26.834155712947112 - ], - [ - -53.700466373089114, - -26.834144437060257 - ], - [ - -53.70276624139493, - -26.931075520284146 - ], - [ - -53.71167507192037, - -26.930906526843206 - ], - [ - -53.712243720677314, - -26.955565624612287 - ], - [ - -53.751000292622685, - -26.954788421555175 - ], - [ - -53.75092447278844, - -26.999147992456276 - ], - [ - -53.764673136067394, - -26.999147992456276 - ], - [ - -53.80369507743266, - -27.037513523530937 - ], - [ - -53.80454173224855, - -27.0725803974359 - ], - [ - -53.80809262781969, - -27.07249038098803 - ], - [ - -53.8086233666595, - -27.09612846681215 - ], - [ - -53.82689594671591, - -27.095768476254833 - ], - [ - -53.82761623514137, - -27.124136682787803 - ], - [ - -53.846444827315686, - -27.124125435915396 - ], - [ - -53.84764530802479, - -27.170138168249487 - ], - [ - -53.8350592155378, - -27.18931578625989 - ], - [ - -53.83536249487484, - -27.200544291231996 - ], - [ - -53.688474202637146, - -27.202837060128804 - ], - [ - -53.688486839276194, - -27.227885858850012 - ], - [ - -53.43653753003366, - -27.23245898831079 - ], - [ - -53.43655016667271, - -27.167507452480596 - ], - [ - -53.37598275573884, - -27.167507452480574 - ], - [ - -53.376008029016916, - -27.233515163499888 - ], - [ - -53.24904771655028, - -27.235638719456546 - ], - [ - -53.24904771655028, - -27.209220599589166 - ], - [ - -53.06344076228435, - -27.209175646364237 - ], - [ - -53.06345339892339, - -27.233402804913485 - ], - [ - -52.8134754053716, - -27.23685216181505 - ], - [ - -52.81346276873256, - -27.276528928524463 - ], - [ - -52.750961952025094, - -27.277315131338465 - ], - [ - -52.750961952025094, - -27.292487755808434 - ], - [ - -52.438495778404864, - -27.292521445488386 - ], - [ - -52.438483141765836, - -27.326890821722227 - ], - [ - -52.37603287161454, - -27.327530725463642 - ], - [ - -52.3759949616974, - -27.33419897625023 - ], - [ - -52.25098069164342, - -27.33417652490038 - ], - [ - -52.25099332828246, - -27.346692446966557 - ], - [ - -52.18654646916235, - -27.34727611465991 - ], - [ - -52.18657174244043, - -27.334187750575865 - ], - [ - -52.12597905822849, - -27.33419897625023 - ], - [ - -52.12599169486754, - -27.364133804119422 - ], - [ - -52.02978896183197, - -27.364885718492065 - ], - [ - -52.03035761058891, - -27.424416622283772 - ], - [ - -51.97533768419499, - -27.42478676693274 - ], - [ - -51.97603269934236, - -27.50087558818674 - ], - [ - -51.93845133482801, - -27.500853170691318 - ], - [ - -51.93845133482801, - -27.54251940627202 - ], - [ - -51.688460704637194, - -27.542474588252876 - ], - [ - -51.68847334127622, - -27.55742038383185 - ], - [ - -51.599031210128736, - -27.557902111020763 - ], - [ - -51.599233396353426, - -27.59480956901105 - ], - [ - -51.563509617778415, - -27.594977556358298 - ], - [ - -51.563484344500324, - -27.625860453692134 - ], - [ - -51.500882434680506, - -27.62586045369211 - ], - [ - -51.50094561787572, - -27.667535190923896 - ], - [ - -51.43936727581839, - -27.667501615740118 - ], - [ - -51.439544188765, - -27.709317103607006 - ], - [ - -51.37596925773886, - -27.70949610256912 - ], - [ - -51.376007167655985, - -27.750892905814947 - ], - [ - -51.31349371430947, - -27.750904088992016 - ], - [ - -51.313455804392355, - -27.792531093204254 - ], - [ - -51.18846680761643, - -27.792508735404642 - ], - [ - -51.1884794442555, - -27.875860156488773 - ], - [ - -51.12597862754804, - -27.875860156488773 - ], - [ - -51.12596599090898, - -27.91751742532308 - ], - [ - -51.06347781084055, - -27.91749509328296 - ], - [ - -51.06346517420149, - -27.959192137382583 - ], - [ - -51.000951720854985, - -28.00086192326361 - ], - [ - -50.93850145070369, - -28.00086192326361 - ], - [ - -50.93848881406464, - -28.16754693055966 - ], - [ - -50.813461907371625, - -28.167524650369067 - ], - [ - -50.813449270732576, - -28.292532475134653 - ], - [ - -50.750961090664134, - -28.29251022102188 - ], - [ - -50.68844763731762, - -28.334184014870516 - ], - [ - -50.68848554723476, - -28.417538143267095 - ], - [ - -50.625997367166335, - -28.4175159153423 - ], - [ - -50.56352182373695, - -28.44094155830843 - ], - [ - -50.43848228040489, - -28.44050820876798 - ], - [ - -50.438469643765856, - -28.459173964550686 - ], - [ - -50.37596882705837, - -28.459207293310225 - ], - [ - -50.37598146369743, - -28.475537121198975 - ], - [ - -50.188441103657894, - -28.474537408344325 - ], - [ - -50.188491650214054, - -28.51143164845026 - ], - [ - -50.12398160789872, - -28.51104300453612 - ], - [ - -50.124019517815846, - -28.5008600237691 - ], - [ - -49.87597493003768, - -28.500848918564397 - ], - [ - -49.876012839954804, - -28.514196530962266 - ], - [ - -49.813474113330216, - -28.513685754912284 - ], - [ - -49.813474113330194, - -28.58255155550104 - ], - [ - -49.830028110476746, - -28.582507169109398 - ], - [ - -49.829510008275975, - -28.625974659050915 - ], - [ - -49.87589911020343, - -28.66572089511971 - ], - [ - -50.0010018367307, - -28.749145575544063 - ], - [ - -50.00100183673066, - -29.04083327722487 - ], - [ - -50.03318735637359, - -29.04081118145324 - ], - [ - -50.0321890618892, - -29.147114336184 - ], - [ - -50.12601610678465, - -29.14774341401082 - ], - [ - -50.12597819686752, - -29.165786374753505 - ], - [ - -50.13612541801917, - -29.16580844371222 - ], - [ - -50.18850428685308, - -29.19622599157441 - ], - [ - -50.18850428685309, - -29.31905095330294 - ], - [ - -50.14220364139895, - -29.31873143173735 - ], - [ - -50.14207727500852, - -29.334221566678927 - ], - [ - -50.126003470145626, - -29.334177501353437 - ], - [ - -50.125990833506584, - -29.362375414604447 - ], - [ - -49.99905579431803, - -29.361527388076844 - ], - [ - -49.99904315767897, - -29.24030824385708 - ], - [ - -49.9384757467451, - -29.239856157941617 - ], - [ - -49.93851365666223, - -29.25087104871457 - ], - [ - -49.87601283995477, - -29.25087104871457 - ], - [ - -49.876000203315726, - -29.300979886173586 - ], - [ - -49.82262303999743, - -29.30051704853271 - ], - [ - -49.82226921410422, - -29.3341885176866 - ], - [ - -49.81347411333018, - -29.334221566678927 - ], - [ - -49.81353729652554, - -29.34109552421944 - ], - [ - -49.6865390741418, - -29.339905833968423 - ], - [ - -49.6865138008637, - -29.29254930022262 - ], - [ - -49.62398771087813, - -29.292516237731153 - ], - [ - -49.6239750742391, - -29.2508489980658 - ], - [ - -49.56148689417066, - -29.2508269474122 - ], - [ - -49.561448984253516, - -29.167485670694504 - ], - [ - -49.49901135074126, - -29.167463602096316 - ], - [ - -49.49902398738031, - -29.0841871105079 - ], - [ - -49.43649789739473, - -29.084176067267432 - ], - [ - -49.43651053403379, - -29.04251254202398 - ], - [ - -49.374047627243456, - -29.04247939890416 - ], - [ - -49.37402235396536, - -28.959201357408347 - ], - [ - -49.31153417389693, - -28.959168187563616 - ], - [ - -49.311521537257896, - -28.9174874156231 - ], - [ - -49.248982810633294, - -28.917498476687246 - ], - [ - -49.24897017399424, - -28.875823083095714 - ], - [ - -49.18654517712104, - -28.875845214103762 - ], - [ - -49.18653254048198, - -28.83414203544581 - ], - [ - -49.12401908713548, - -28.834175245265325 - ], - [ - -49.12400645049644, - -28.79249965988945 - ], - [ - -49.06149299714994, - -28.79246643678005 - ], - [ - -49.06145508723281, - -28.750840644227264 - ], - [ - -48.99903009035959, - -28.75085172301705 - ], - [ - -48.999030090359604, - -28.709187170256886 - ], - [ - -48.936579820208316, - -28.709176087050047 - ], - [ - -48.936579820208316, - -28.667517104639387 - ], - [ - -48.87405373022276, - -28.667506017020735 - ], - [ - -48.874041093583735, - -28.625852646864526 - ], - [ - -48.74911528000304, - -28.625852646864555 - ], - [ - -48.749115280003025, - -28.54254072237745 - ], - [ - -48.68656391673939, - -28.54252962156217 - ], - [ - -48.68657655337841, - -28.33417289217185 - ], - [ - -48.62407573667094, - -28.334161769471883 - ], - [ - -48.62406310003189, - -28.08417545272023 - ], - [ - -48.561600193241524, - -28.08417545272023 - ], - [ - -48.56158755660246, - -27.959192137382715 - ], - [ - -48.49904882997788, - -27.959158652239882 - ], - [ - -48.49903619333884, - -27.915809010935423 - ], - [ - -48.56157491996342, - -27.915797844739515 - ], - [ - -48.561600193241524, - -27.875837815851458 - ], - [ - -48.4990235566998, - -27.875860156488873 - ], - [ - -48.49902355669978, - -27.834220385416636 - ], - [ - -48.4365732865485, - -27.83417568697334 - ], - [ - -48.43661119646565, - -27.62582686571355 - ], - [ - -48.374059833202004, - -27.625849257700484 - ], - [ - -48.374047196562984, - -27.50086437943969 - ], - [ - -48.3115716531336, - -27.50086437943969 - ], - [ - -48.311533743216444, - -27.24913190347051 - ], - [ - -48.43657328654852, - -27.24913190347051 - ], - [ - -48.4365353766314, - -27.209164408055255 - ], - [ - -48.374021923284864, - -27.20919812297907 - ], - [ - -48.37404719656297, - -27.16579857825554 - ], - [ - -48.43656064990947, - -27.16579857825554 - ], - [ - -48.43656064990947, - -27.12414792965919 - ], - [ - -48.49906146661692, - -27.124125435915495 - ], - [ - -48.49907031973662, - -27.086668577138795 - ], - [ - -48.500216139509774, - -27.08666004891293 - ], - [ - -48.5003124938822, - -27.082470514310543 - ], - [ - -48.561600193241524, - -27.082481765368538 - ], - [ - -48.56158755660248, - -27.04252214011793 - ], - [ - -48.49906146661693, - -27.04252214011793 - ], - [ - -48.49906146661693, - -26.999125473627824 - ], - [ - -48.56156228332439, - -26.999125473627824 - ], - [ - -48.56157491996343, - -26.915786222397905 - ], - [ - -48.62488448156965, - -26.916236931410996 - ] - ] - ], - terms_url: "http://sigsc.sds.sc.gov.br/download/termo_sigsc.pdf", - terms_text: "Sistema de Informações Geográficas - Governo de Santa Catarina" - }, - { - id: "SIGIP-2012", - name: "SIGIP - Orthophoto 2012", - type: "tms", - template: "http://osmdata.asitvd.ch/tiles/sigip2012/{zoom}/{x}/{y}.png", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - scaleExtent: [ - 14, - 20 - ], - polygon: [ - [ - [ - 6.7105672, - 46.5439641 - ], - [ - 6.729684, - 46.5440781 - ], - [ - 6.7299491, - 46.52605 - ], - [ - 6.7108488, - 46.5259588 - ], - [ - 6.7111304, - 46.507959 - ], - [ - 6.6921958, - 46.5078792 - ], - [ - 6.6922952, - 46.4988257 - ], - [ - 6.6353092, - 46.4984722 - ], - [ - 6.6348785, - 46.5254687 - ], - [ - 6.6538131, - 46.5255827 - ], - [ - 6.6536143, - 46.5435767 - ], - [ - 6.6916326, - 46.5438388 - ], - [ - 6.6915498, - 46.5528392 - ], - [ - 6.7104678, - 46.5529304 - ], - [ - 6.7105672, - 46.5439641 - ] - ] - ], - terms_url: "https://www.sigip.ch/", - terms_text: "SIGIP" - }, - { - id: "Slovakia-Historic-Maps", - 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 - ] - ] - ], - icon: "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png" - }, - { - id: "Soskut_Pusztazamor_Tarnok_Diosd_orto_2017", - name: "Sóskút, Pusztazámor, Tárnok, Diósd ortophoto 2017", - type: "tms", - template: "http://adam.openstreetmap.hu/mapproxy/tiles/1.0.0/Soskut-Tarnok-Pusztazamor-Diosd/mercator/{zoom}/{x}/{y}.png", - endDate: "2017-03-01T00:00:00.000Z", - startDate: "2017-03-01T00:00:00.000Z", - scaleExtent: [ - 11, - 20 - ], - polygon: [ - [ - [ - 18.79273330201, - 47.37078533804 - ], - [ - 18.791936169, - 47.37048036201 - ], - [ - 18.79139114593, - 47.37063268281 - ], - [ - 18.7901097, - 47.3717614 - ], - [ - 18.7891647, - 47.3734529 - ], - [ - 18.78721506824, - 47.37566027041 - ], - [ - 18.7860339, - 47.37764910001 - ], - [ - 18.7849824, - 47.3790513 - ], - [ - 18.783695, - 47.3803226 - ], - [ - 18.782665, - 47.3819499 - ], - [ - 18.781399, - 47.3836789 - ], - [ - 18.7793426, - 47.3871257 - ], - [ - 18.776657, - 47.3893959 - ], - [ - 18.764716, - 47.396699 - ], - [ - 18.7616966, - 47.3996569 - ], - [ - 18.7563102, - 47.4032821 - ], - [ - 18.7583737, - 47.4065272 - ], - [ - 18.75879657883, - 47.40776342073 - ], - [ - 18.76199554897, - 47.41217224817 - ], - [ - 18.7630394973, - 47.41315137445 - ], - [ - 18.7659298, - 47.4147108 - ], - [ - 18.7704058, - 47.4176575 - ], - [ - 18.77247285488, - 47.41808545272 - ], - [ - 18.7724806, - 47.4202978 - ], - [ - 18.8086021, - 47.4404108 - ], - [ - 18.8174212, - 47.435389 - ], - [ - 18.8209188, - 47.4357228 - ], - [ - 18.8280427, - 47.4375516 - ], - [ - 18.8302099, - 47.4352584 - ], - [ - 18.8358533, - 47.4375371 - ], - [ - 18.8404882, - 47.4334586 - ], - [ - 18.847655, - 47.4357228 - ], - [ - 18.8510024, - 47.4328054 - ], - [ - 18.8689996, - 47.4396086 - ], - [ - 18.87361350924, - 47.43597176329 - ], - [ - 18.87499181607, - 47.43342149293 - ], - [ - 18.87386045593, - 47.43248349864 - ], - [ - 18.8760377, - 47.4279677 - ], - [ - 18.8605023, - 47.4230028 - ], - [ - 18.8662101, - 47.4179794 - ], - [ - 18.8724328, - 47.4108645 - ], - [ - 18.8662959, - 47.4077278 - ], - [ - 18.8696433, - 47.4047072 - ], - [ - 18.86776892261, - 47.40207457802 - ], - [ - 18.86509430105, - 47.40052438512 - ], - [ - 18.87081279074, - 47.3983820654 - ], - [ - 18.86772375423, - 47.39699336542 - ], - [ - 18.86992005424, - 47.39655168559 - ], - [ - 18.87648610191, - 47.39477958954 - ], - [ - 18.87748924808, - 47.39494663392 - ], - [ - 18.87866942005, - 47.39462343887 - ], - [ - 18.88358322696, - 47.3899604942 - ], - [ - 18.88290731029, - 47.3896699544 - ], - [ - 18.88538567142, - 47.38530440107 - ], - [ - 18.87747851924, - 47.38339390377 - ], - [ - 18.88181296901, - 47.37604910406 - ], - [ - 18.87914148883, - 47.37392756692 - ], - [ - 18.88638345317, - 47.36922645965 - ], - [ - 18.88205973224, - 47.36772957402 - ], - [ - 18.87973157482, - 47.36640704749 - ], - [ - 18.8746997507, - 47.36252284243 - ], - [ - 18.87282220439, - 47.36136733615 - ], - [ - 18.87027947025, - 47.36062605465 - ], - [ - 18.86687842922, - 47.3585329683 - ], - [ - 18.86234013156, - 47.35637438604 - ], - [ - 18.85566679554, - 47.35199153827 - ], - [ - 18.84873596744, - 47.34728120653 - ], - [ - 18.83192388134, - 47.3384118486 - ], - [ - 18.82497159557, - 47.34257772442 - ], - [ - 18.81619540767, - 47.34925116493 - ], - [ - 18.8107880743, - 47.35356882392 - ], - [ - 18.80823461132, - 47.35599644336 - ], - [ - 18.80645362453, - 47.35854023611 - ], - [ - 18.80707589702, - 47.359019909 - ], - [ - 18.80634633617, - 47.36021180457 - ], - [ - 18.80465118007, - 47.36175250772 - ], - [ - 18.80381433086, - 47.36335130305 - ], - [ - 18.80054616504, - 47.36544732015 - ], - [ - 18.79988097721, - 47.36617355102 - ], - [ - 18.79416204336, - 47.36974865444 - ], - [ - 18.79273330201, - 47.37078533804 - ] - ], - [ - [ - 18.91871480064, - 47.4093812629 - ], - [ - 18.91826418952, - 47.40997664498 - ], - [ - 18.9206674488, - 47.41155945729 - ], - [ - 18.92509845809, - 47.41372304121 - ], - [ - 18.93473295288, - 47.41916790937 - ], - [ - 18.94063381271, - 47.42241278301 - ], - [ - 18.94981769638, - 47.41937843296 - ], - [ - 18.95154503898, - 47.41749820965 - ], - [ - 18.95689872818, - 47.41922598493 - ], - [ - 18.95770339088, - 47.41877589767 - ], - [ - 18.95755318717, - 47.41435467478 - ], - [ - 18.9621129425, - 47.40506817222 - ], - [ - 18.96266011314, - 47.40117592194 - ], - [ - 18.96316436843, - 47.39903360927 - ], - [ - 18.95446328239, - 47.3967314338 - ], - [ - 18.95275739746, - 47.39526437993 - ], - [ - 18.95201710777, - 47.39362297422 - ], - [ - 18.95119098739, - 47.39356487042 - ], - [ - 18.94692091064, - 47.39798783856 - ], - [ - 18.94410995559, - 47.3984526281 - ], - [ - 18.94161013679, - 47.39868502134 - ], - [ - 18.93735078887, - 47.39633199249 - ], - [ - 18.93617061691, - 47.39682584676 - ], - [ - 18.93122462348, - 47.39999947627 - ], - [ - 18.93120316581, - 47.40023186269 - ], - [ - 18.92923978881, - 47.40204734624 - ], - [ - 18.92561344223, - 47.40604845111 - ], - [ - 18.92465857582, - 47.40635342305 - ], - [ - 18.92293123321, - 47.40925782918 - ], - [ - 18.91871480064, - 47.4093812629 - ] - ] - ], - terms_url: "http://fototerkep.hu", - terms_text: "Fototerkep.hu", - best: true, - description: "5 cm resolution bald image of 4 settlement" - }, - { - id: "South_Africa-CD_NGI-Aerial", - 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 - ], - [ - 17.8396817, - -32.7983384 - ] - ] - ], - best: true - }, - { - id: "South-Tyrol-Orthofoto2011", - name: "South Tyrol Orthofoto 2011", - type: "tms", - template: "https://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", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - 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: "https://geoservices.buergernetz.bz.it/geokatalog", - terms_text: "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0" - }, - { - id: "South-Tyrol-Orthofoto2011-20cm", - name: "South Tyrol Orthofoto 2011 (highres)", - type: "wms", - template: "https://geoservices.buergernetz.bz.it/geoserver/ows?SERVICE=WMS&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=P_BZ_OF_2011_EPSG3857,P_BZ_OF_2011_20cm_EPSG3857&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - 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: "https://geoservices.buergernetz.bz.it/geokatalog", - terms_text: "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0", - description: "Orthophoto of South Tyrol from 2011 with up to 20cm resolution (larger valleys)" - }, - { - id: "South-Tyrol-Orthofoto-2014-2015", - name: "South Tyrol Orthofoto 2014/2015", - type: "tms", - template: "https://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2014_2015_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg", - endDate: "2015-11-01T00:00:00.000Z", - startDate: "2014-07-01T00:00:00.000Z", - 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: "https://geoservices.buergernetz.bz.it/geokatalog", - terms_text: "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 4.0", - best: true - }, - { - id: "South-Tyrol-Topomap", - name: "South Tyrol Topomap", - type: "tms", - template: "https://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{zoom}&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: "https://geoservices.buergernetz.bz.it/geokatalog", - terms_text: "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano", - description: "Topographical basemap of South Tyrol" - }, - { - id: "SPW_ORTHO_LAST", - name: "SPW(allonie) most recent aerial imagery", - type: "wms", - template: "https://geoservices.wallonie.be/arcgis/services/IMAGERIE/ORTHO_LAST/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 5.782568, - 49.8757267 - ], - [ - 5.7391911, - 49.8336163 - ], - [ - 5.7551556, - 49.7914562 - ], - [ - 5.7883892, - 49.7966518 - ], - [ - 5.9106426, - 49.662495 - ], - [ - 5.8485737, - 49.597233 - ], - [ - 5.871023, - 49.575993 - ], - [ - 5.8185749, - 49.546381 - ], - [ - 5.6607946, - 49.5536224 - ], - [ - 5.6110847, - 49.5060265 - ], - [ - 5.5560285, - 49.5292773 - ], - [ - 5.4705116, - 49.4973681 - ], - [ - 5.4570817, - 49.5670264 - ], - [ - 5.3752213, - 49.623328 - ], - [ - 5.3148607, - 49.6113701 - ], - [ - 5.3324268, - 49.652632 - ], - [ - 5.2685113, - 49.6965705 - ], - [ - 5.1662837, - 49.6930304 - ], - [ - 4.9975274, - 49.8000556 - ], - [ - 4.8516407, - 49.7934458 - ], - [ - 4.8475425, - 49.8680607 - ], - [ - 4.8901307, - 49.9089349 - ], - [ - 4.7911711, - 49.9580026 - ], - [ - 4.877619, - 50.1537353 - ], - [ - 4.8241825, - 50.1693225 - ], - [ - 4.702074, - 50.095559 - ], - [ - 4.69441, - 49.99625 - ], - [ - 4.4455089, - 49.9372154 - ], - [ - 4.3058943, - 49.968291 - ], - [ - 4.1974552, - 49.9545998 - ], - [ - 4.1351961, - 50.0150789 - ], - [ - 4.2282482, - 50.0784208 - ], - [ - 4.1968236, - 50.1351948 - ], - [ - 4.1271392, - 50.1354991 - ], - [ - 4.2052006, - 50.2734708 - ], - [ - 4.162616, - 50.288955 - ], - [ - 4.1353769, - 50.2578391 - ], - [ - 4.0279494, - 50.3584006 - ], - [ - 3.8857376, - 50.3270105 - ], - [ - 3.8457828, - 50.3532303 - ], - [ - 3.7454573, - 50.3500535 - ], - [ - 3.709936, - 50.3031647 - ], - [ - 3.6575582, - 50.3707552 - ], - [ - 3.6555197, - 50.4616979 - ], - [ - 3.6058552, - 50.4963203 - ], - [ - 3.4993012, - 50.4892129 - ], - [ - 3.5199234, - 50.523617 - ], - [ - 3.4743888, - 50.5336789 - ], - [ - 3.3769762, - 50.4910892 - ], - [ - 3.286341, - 50.527929 - ], - [ - 3.2610378, - 50.701309 - ], - [ - 3.2060223, - 50.7113874 - ], - [ - 3.1783878, - 50.7560872 - ], - [ - 3.3056195, - 50.7546601 - ], - [ - 3.3607746, - 50.7096189 - ], - [ - 3.4543934, - 50.7707186 - ], - [ - 3.6404725, - 50.7224166 - ], - [ - 3.6775202, - 50.7706219 - ], - [ - 3.7585743, - 50.7804497 - ], - [ - 3.775681, - 50.7478928 - ], - [ - 3.8797992, - 50.7514597 - ], - [ - 3.9097026, - 50.6924497 - ], - [ - 4.0586751, - 50.6943943 - ], - [ - 4.1485268, - 50.7283384 - ], - [ - 4.2466962, - 50.6893987 - ], - [ - 4.4635478, - 50.7551115 - ], - [ - 4.5239937, - 50.727241 - ], - [ - 4.5972705, - 50.7635892 - ], - [ - 4.6344534, - 50.7427181 - ], - [ - 4.6430927, - 50.7975547 - ], - [ - 4.760139, - 50.805435 - ], - [ - 4.9254489, - 50.7427456 - ], - [ - 5.0033909, - 50.7659375 - ], - [ - 5.0703857, - 50.7064861 - ], - [ - 5.1650784, - 50.6956986 - ], - [ - 5.1698412, - 50.7225686 - ], - [ - 5.309122, - 50.718017 - ], - [ - 5.3502927, - 50.7462892 - ], - [ - 5.478628, - 50.7235185 - ], - [ - 5.6878623, - 50.811926 - ], - [ - 5.6822533, - 50.7565056 - ], - [ - 5.7707041, - 50.7513196 - ], - [ - 5.8196276, - 50.7139556 - ], - [ - 5.8833347, - 50.7099174 - ], - [ - 5.8921739, - 50.7551846 - ], - [ - 5.9656121, - 50.7610724 - ], - [ - 6.0404534, - 50.7454613 - ], - [ - 6.0395852, - 50.7183326 - ], - [ - 6.1106615, - 50.7229851 - ], - [ - 6.181693, - 50.6238292 - ], - [ - 6.2695342, - 50.625191 - ], - [ - 6.1781215, - 50.5415344 - ], - [ - 6.2265784, - 50.4943237 - ], - [ - 6.3503613, - 50.4885444 - ], - [ - 6.3429763, - 50.3803321 - ], - [ - 6.4054213, - 50.3233149 - ], - [ - 6.3064697, - 50.3201903 - ], - [ - 6.278891, - 50.2673359 - ], - [ - 6.1737675, - 50.2316471 - ], - [ - 6.1923212, - 50.1820338 - ], - [ - 6.1469988, - 50.1777493 - ], - [ - 6.1377905, - 50.1298537 - ], - [ - 6.1024494, - 50.17055 - ], - [ - 5.9636784, - 50.172634 - ], - [ - 5.9613323, - 50.131363 - ], - [ - 5.8953156, - 50.1121618 - ], - [ - 5.819685, - 50.013287 - ], - [ - 5.835779, - 49.97892 - ], - [ - 5.7750225, - 49.9608 - ], - [ - 5.7357693, - 49.89684 - ], - [ - 5.782568, - 49.8757267 - ] - ] - ], - best: true, - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAACX0lEQVQ4y32TS09TURSFv3Pu7e2Dl7wqISCiAUNIlBjUhIkzhvqnTJw4cuZPcGSiDERRQkTEhIgSwISqaNNQW8pT6H2f7aAKLYmu4c7Od9beZ20lIvc5KyMgAkqBVvxLxWLxuxIRqS9KEBLmNol+FHBGh7EH+urABuP66HQStGZlZWVen6VGm3kO7j2k+vgZcalyCvZ9gvUc/rslzHH1pN4AkCjG7B+CViRGh0mMDEFsiLd38F4vcPjgEdGXPNR5tuvtxVslvMUP4AXEhZ+I5xMWilSfvsB/u4Rua0XCgHh7B92UaXQgro87NYP7ZBqJY6y+HsR1qU7N4E7PIcaQuD6Kle0i/JxDgqARYKou7qt5CAJUOgXG4C8uE2+V0C3NqEwas72L7u7AynaB1o0jKK3Qba2Y8g7RZh5TrqCz66fDhhHheo54q0T6ziTO1ZFGB6q5iczdSVRTGjl2kTDCHBwRb5UQz8fs7mF294m+5XGfzyJVt86BCOIHODeukfp6G292Ad3Zjk4liQtF7CuXwAjh+gbYNqZcQaLoFODNLWJ+HWEOj7CynSjA7O1DOg2OQ2JoEN3Zjqm6qKQDYYiyrFOAfbEflMIcH6MzaXRrC3G5QrD0CX2uDd3bQ/B+GeUkIIpr+Ug6dYALvbXcGwEFVk+WuLyD1XseqyeLPdiPti3MUZXg4xrJiXFUKlW3gz9fglU7HJVKYlwP3ZTBGR1GOQ7OzbFaS3cHicsDKNs6k8S/edg/xH35hnBtA+fW2J+rBKuzvfbWxDgqkTjpVyKydxYivo94Abqthf9pdXV18TfYtyESB1ygiAAAAABJRU5ErkJggg==" - }, - { - id: "SPW_PICC", - name: "SPW(allonie) PICC numerical imagery", - type: "wms", - template: "https://geoservices.wallonie.be/arcgis/services/TOPOGRAPHIE/PICC_VDIFF/MapServer/WmsServer?SERVICE=WMS&VERSION=1.1.1&FORMAT=image/png8&TRANSPARENT=TRUE&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&LAYERS=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,26,27,28,29", - projection: "EPSG:3857", - polygon: [ - [ - [ - 5.782568, - 49.8757267 - ], - [ - 5.7391911, - 49.8336163 - ], - [ - 5.7551556, - 49.7914562 - ], - [ - 5.7883892, - 49.7966518 - ], - [ - 5.9106426, - 49.662495 - ], - [ - 5.8485737, - 49.597233 - ], - [ - 5.871023, - 49.575993 - ], - [ - 5.8185749, - 49.546381 - ], - [ - 5.6607946, - 49.5536224 - ], - [ - 5.6110847, - 49.5060265 - ], - [ - 5.5560285, - 49.5292773 - ], - [ - 5.4705116, - 49.4973681 - ], - [ - 5.4570817, - 49.5670264 - ], - [ - 5.3752213, - 49.623328 - ], - [ - 5.3148607, - 49.6113701 - ], - [ - 5.3324268, - 49.652632 - ], - [ - 5.2685113, - 49.6965705 - ], - [ - 5.1662837, - 49.6930304 - ], - [ - 4.9975274, - 49.8000556 - ], - [ - 4.8516407, - 49.7934458 - ], - [ - 4.8475425, - 49.8680607 - ], - [ - 4.8901307, - 49.9089349 - ], - [ - 4.7911711, - 49.9580026 - ], - [ - 4.877619, - 50.1537353 - ], - [ - 4.8241825, - 50.1693225 - ], - [ - 4.702074, - 50.095559 - ], - [ - 4.69441, - 49.99625 - ], - [ - 4.4455089, - 49.9372154 - ], - [ - 4.3058943, - 49.968291 - ], - [ - 4.1974552, - 49.9545998 - ], - [ - 4.1351961, - 50.0150789 - ], - [ - 4.2282482, - 50.0784208 - ], - [ - 4.1968236, - 50.1351948 - ], - [ - 4.1271392, - 50.1354991 - ], - [ - 4.2052006, - 50.2734708 - ], - [ - 4.162616, - 50.288955 - ], - [ - 4.1353769, - 50.2578391 - ], - [ - 4.0279494, - 50.3584006 - ], - [ - 3.8857376, - 50.3270105 - ], - [ - 3.8457828, - 50.3532303 - ], - [ - 3.7454573, - 50.3500535 - ], - [ - 3.709936, - 50.3031647 - ], - [ - 3.6575582, - 50.3707552 - ], - [ - 3.6555197, - 50.4616979 - ], - [ - 3.6058552, - 50.4963203 - ], - [ - 3.4993012, - 50.4892129 - ], - [ - 3.5199234, - 50.523617 - ], - [ - 3.4743888, - 50.5336789 - ], - [ - 3.3769762, - 50.4910892 - ], - [ - 3.286341, - 50.527929 - ], - [ - 3.2610378, - 50.701309 - ], - [ - 3.2060223, - 50.7113874 - ], - [ - 3.1783878, - 50.7560872 - ], - [ - 3.3056195, - 50.7546601 - ], - [ - 3.3607746, - 50.7096189 - ], - [ - 3.4543934, - 50.7707186 - ], - [ - 3.6404725, - 50.7224166 - ], - [ - 3.6775202, - 50.7706219 - ], - [ - 3.7585743, - 50.7804497 - ], - [ - 3.775681, - 50.7478928 - ], - [ - 3.8797992, - 50.7514597 - ], - [ - 3.9097026, - 50.6924497 - ], - [ - 4.0586751, - 50.6943943 - ], - [ - 4.1485268, - 50.7283384 - ], - [ - 4.2466962, - 50.6893987 - ], - [ - 4.4635478, - 50.7551115 - ], - [ - 4.5239937, - 50.727241 - ], - [ - 4.5972705, - 50.7635892 - ], - [ - 4.6344534, - 50.7427181 - ], - [ - 4.6430927, - 50.7975547 - ], - [ - 4.760139, - 50.805435 - ], - [ - 4.9254489, - 50.7427456 - ], - [ - 5.0033909, - 50.7659375 - ], - [ - 5.0703857, - 50.7064861 - ], - [ - 5.1650784, - 50.6956986 - ], - [ - 5.1698412, - 50.7225686 - ], - [ - 5.309122, - 50.718017 - ], - [ - 5.3502927, - 50.7462892 - ], - [ - 5.478628, - 50.7235185 - ], - [ - 5.6878623, - 50.811926 - ], - [ - 5.6822533, - 50.7565056 - ], - [ - 5.7707041, - 50.7513196 - ], - [ - 5.8196276, - 50.7139556 - ], - [ - 5.8833347, - 50.7099174 - ], - [ - 5.8921739, - 50.7551846 - ], - [ - 5.9656121, - 50.7610724 - ], - [ - 6.0404534, - 50.7454613 - ], - [ - 6.0395852, - 50.7183326 - ], - [ - 6.1106615, - 50.7229851 - ], - [ - 6.181693, - 50.6238292 - ], - [ - 6.2695342, - 50.625191 - ], - [ - 6.1781215, - 50.5415344 - ], - [ - 6.2265784, - 50.4943237 - ], - [ - 6.3503613, - 50.4885444 - ], - [ - 6.3429763, - 50.3803321 - ], - [ - 6.4054213, - 50.3233149 - ], - [ - 6.3064697, - 50.3201903 - ], - [ - 6.278891, - 50.2673359 - ], - [ - 6.1737675, - 50.2316471 - ], - [ - 6.1923212, - 50.1820338 - ], - [ - 6.1469988, - 50.1777493 - ], - [ - 6.1377905, - 50.1298537 - ], - [ - 6.1024494, - 50.17055 - ], - [ - 5.9636784, - 50.172634 - ], - [ - 5.9613323, - 50.131363 - ], - [ - 5.8953156, - 50.1121618 - ], - [ - 5.819685, - 50.013287 - ], - [ - 5.835779, - 49.97892 - ], - [ - 5.7750225, - 49.9608 - ], - [ - 5.7357693, - 49.89684 - ], - [ - 5.782568, - 49.8757267 - ] - ] - ], - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAACX0lEQVQ4y32TS09TURSFv3Pu7e2Dl7wqISCiAUNIlBjUhIkzhvqnTJw4cuZPcGSiDERRQkTEhIgSwISqaNNQW8pT6H2f7aAKLYmu4c7Od9beZ20lIvc5KyMgAkqBVvxLxWLxuxIRqS9KEBLmNol+FHBGh7EH+urABuP66HQStGZlZWVen6VGm3kO7j2k+vgZcalyCvZ9gvUc/rslzHH1pN4AkCjG7B+CViRGh0mMDEFsiLd38F4vcPjgEdGXPNR5tuvtxVslvMUP4AXEhZ+I5xMWilSfvsB/u4Rua0XCgHh7B92UaXQgro87NYP7ZBqJY6y+HsR1qU7N4E7PIcaQuD6Kle0i/JxDgqARYKou7qt5CAJUOgXG4C8uE2+V0C3NqEwas72L7u7AynaB1o0jKK3Qba2Y8g7RZh5TrqCz66fDhhHheo54q0T6ziTO1ZFGB6q5iczdSVRTGjl2kTDCHBwRb5UQz8fs7mF294m+5XGfzyJVt86BCOIHODeukfp6G292Ad3Zjk4liQtF7CuXwAjh+gbYNqZcQaLoFODNLWJ+HWEOj7CynSjA7O1DOg2OQ2JoEN3Zjqm6qKQDYYiyrFOAfbEflMIcH6MzaXRrC3G5QrD0CX2uDd3bQ/B+GeUkIIpr+Ug6dYALvbXcGwEFVk+WuLyD1XseqyeLPdiPti3MUZXg4xrJiXFUKlW3gz9fglU7HJVKYlwP3ZTBGR1GOQ7OzbFaS3cHicsDKNs6k8S/edg/xH35hnBtA+fW2J+rBKuzvfbWxDgqkTjpVyKydxYivo94Abqthf9pdXV18TfYtyESB1ygiAAAAABJRU5ErkJggg==" - }, - { - id: "Bern-bern2016-tms", - name: "Stadt Bern 10cm (2016)", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/bern2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2016-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 21 - ], - polygon: [ - [ - [ - 7.2943145, - 46.9237564 - ], - [ - 7.2982665, - 46.9274715 - ], - [ - 7.3061586, - 46.9309487 - ], - [ - 7.3043338, - 46.9362344 - ], - [ - 7.3068603, - 46.9403709 - ], - [ - 7.3246431, - 46.9432765 - ], - [ - 7.3284525, - 46.946409 - ], - [ - 7.3414051, - 46.9460797 - ], - [ - 7.3438454, - 46.9473713 - ], - [ - 7.3434554, - 46.9487937 - ], - [ - 7.3513567, - 46.9485481 - ], - [ - 7.3505628, - 46.950213 - ], - [ - 7.3530901, - 46.9519266 - ], - [ - 7.3582028, - 46.9511773 - ], - [ - 7.3685031, - 46.9566244 - ], - [ - 7.3715097, - 46.9607339 - ], - [ - 7.37503, - 46.959835 - ], - [ - 7.3785111, - 46.9614686 - ], - [ - 7.3806232, - 46.9654741 - ], - [ - 7.3832097, - 46.9663014 - ], - [ - 7.3937998, - 46.9669268 - ], - [ - 7.4000528, - 46.9691779 - ], - [ - 7.4082922, - 46.9686857 - ], - [ - 7.4281713, - 46.9738041 - ], - [ - 7.4327053, - 46.972689 - ], - [ - 7.4353602, - 46.9684345 - ], - [ - 7.4378522, - 46.9684302 - ], - [ - 7.4412474, - 46.9767865 - ], - [ - 7.4456893, - 46.9747939 - ], - [ - 7.4483835, - 46.9756393 - ], - [ - 7.4477006, - 46.9790125 - ], - [ - 7.4440468, - 46.9780682 - ], - [ - 7.4412738, - 46.9798224 - ], - [ - 7.4506732, - 46.9901527 - ], - [ - 7.4522112, - 46.9896803 - ], - [ - 7.454649, - 46.9778182 - ], - [ - 7.4680382, - 46.9758258 - ], - [ - 7.4707923, - 46.969998 - ], - [ - 7.4701907, - 46.9674116 - ], - [ - 7.4781618, - 46.9711823 - ], - [ - 7.4845237, - 46.9701571 - ], - [ - 7.4861275, - 46.9679018 - ], - [ - 7.4857945, - 46.9646828 - ], - [ - 7.4784708, - 46.9629043 - ], - [ - 7.4802865, - 46.9606768 - ], - [ - 7.4789304, - 46.9587841 - ], - [ - 7.4797786, - 46.9566019 - ], - [ - 7.4770135, - 46.9544586 - ], - [ - 7.4840504, - 46.9499938 - ], - [ - 7.4833925, - 46.9451977 - ], - [ - 7.4955563, - 46.9396169 - ], - [ - 7.4935119, - 46.9376594 - ], - [ - 7.4908036, - 46.9387617 - ], - [ - 7.4894997, - 46.9368667 - ], - [ - 7.4766667, - 46.9369496 - ], - [ - 7.4781093, - 46.9362489 - ], - [ - 7.4746986, - 46.9339187 - ], - [ - 7.4753537, - 46.9329898 - ], - [ - 7.4691047, - 46.9292427 - ], - [ - 7.4707683, - 46.9255044 - ], - [ - 7.4585674, - 46.934836 - ], - [ - 7.4476373, - 46.9304297 - ], - [ - 7.435418, - 46.9349668 - ], - [ - 7.4338022, - 46.9331237 - ], - [ - 7.4376403, - 46.9307415 - ], - [ - 7.4146941, - 46.9368183 - ], - [ - 7.413844, - 46.9315682 - ], - [ - 7.4070798, - 46.9303824 - ], - [ - 7.408065, - 46.9256296 - ], - [ - 7.4021268, - 46.9241992 - ], - [ - 7.4014835, - 46.9211927 - ], - [ - 7.3875736, - 46.9304506 - ], - [ - 7.3823129, - 46.927282 - ], - [ - 7.3800187, - 46.9298929 - ], - [ - 7.3808694, - 46.9324085 - ], - [ - 7.3748669, - 46.9314306 - ], - [ - 7.3748901, - 46.9327104 - ], - [ - 7.368066, - 46.9323929 - ], - [ - 7.3683058, - 46.930426 - ], - [ - 7.3604074, - 46.9285884 - ], - [ - 7.3605592, - 46.9272018 - ], - [ - 7.338783, - 46.9245357 - ], - [ - 7.3393683, - 46.9196675 - ], - [ - 7.3274574, - 46.9190326 - ], - [ - 7.3269178, - 46.9235974 - ], - [ - 7.324374, - 46.9251891 - ], - [ - 7.3082264, - 46.9222857 - ], - [ - 7.2943145, - 46.9237564 - ] - ] - ], - terms_text: "Orthophoto 2016, Vermessungsamt Stadt Bern", - best: true - }, - { - id: "Bern-2012", - name: "Stadt Bern 10cm/25cm (2012)", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/bern2012/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - scaleExtent: [ - 14, - 19 - ], - polygon: [ - [ - [ - 7.3807026, - 47.0095236 - ], - [ - 7.3807316, - 47.0230089 - ], - [ - 7.4385298, - 47.0230287 - ], - [ - 7.438646, - 47.0140785 - ], - [ - 7.4517449, - 47.0139993 - ], - [ - 7.4517159, - 47.0050278 - ], - [ - 7.5411091, - 47.0050049 - ], - [ - 7.5411091, - 46.9987259 - ], - [ - 7.5437812, - 46.9987061 - ], - [ - 7.5437522, - 46.9869583 - ], - [ - 7.5568221, - 46.9869979 - ], - [ - 7.5568511, - 46.9600256 - ], - [ - 7.517438, - 46.9600058 - ], - [ - 7.517438, - 46.9510847 - ], - [ - 7.530508, - 46.9510649 - ], - [ - 7.530508, - 46.9240745 - ], - [ - 7.517409, - 46.9240547 - ], - [ - 7.5173799, - 46.9150482 - ], - [ - 7.5304208, - 46.9150681 - ], - [ - 7.5304789, - 46.9060998 - ], - [ - 7.5435779, - 46.9060204 - ], - [ - 7.5435779, - 46.879047 - ], - [ - 7.5565897, - 46.8790272 - ], - [ - 7.5566188, - 46.8610969 - ], - [ - 7.5434908, - 46.8610373 - ], - [ - 7.5434036, - 46.8521196 - ], - [ - 7.4909496, - 46.8521196 - ], - [ - 7.4910658, - 46.8790669 - ], - [ - 7.4779378, - 46.8790867 - ], - [ - 7.4779668, - 46.8970705 - ], - [ - 7.4516817, - 46.89713 - ], - [ - 7.4517107, - 46.8880794 - ], - [ - 7.4385537, - 46.8881389 - ], - [ - 7.4385827, - 46.8701521 - ], - [ - 7.4123267, - 46.8701521 - ], - [ - 7.4123557, - 46.8790669 - ], - [ - 7.3991696, - 46.8791066 - ], - [ - 7.3991986, - 46.8610771 - ], - [ - 7.3861287, - 46.8611366 - ], - [ - 7.3860996, - 46.8521792 - ], - [ - 7.3730007, - 46.8521594 - ], - [ - 7.3730297, - 46.8611168 - ], - [ - 7.3467736, - 46.8610969 - ], - [ - 7.3468027, - 46.8880794 - ], - [ - 7.2548774, - 46.8879603 - ], - [ - 7.2548484, - 46.9059609 - ], - [ - 7.2417204, - 46.9059212 - ], - [ - 7.2416913, - 46.9149689 - ], - [ - 7.2285633, - 46.9149292 - ], - [ - 7.2283309, - 46.968866 - ], - [ - 7.241459, - 46.9689056 - ], - [ - 7.241488, - 46.986879 - ], - [ - 7.267686, - 46.9869385 - ], - [ - 7.2677731, - 46.9959328 - ], - [ - 7.280785, - 46.9959526 - ], - [ - 7.2809011, - 47.0094017 - ], - [ - 7.3807026, - 47.0095236 - ] - ] - ], - terms_text: "Orthophoto 2012, Vermessungsamt Stadt Bern" - }, - { - id: "Uster-2008", - name: "Stadt Uster Orthophoto 2008 10cm", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/uster/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2008-01-01T00:00:00.000Z", - startDate: "2008-01-01T00:00:00.000Z", - 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" - }, - { - id: "Zuerich-zh_luftbild2011-tms", - name: "Stadt Zürich Luftbild 2011", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/zh_luftbild2011/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - 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" - }, - { - id: "Zuerich-city_map", - name: "Stadtplan Zürich", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/zh_stadtplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - polygon: [ - [ - [ - 8.5668111, - 47.3471283 - ], - [ - 8.5666467, - 47.3470589 - ], - [ - 8.5656321, - 47.3468387 - ], - [ - 8.5657508, - 47.3466611 - ], - [ - 8.5650859, - 47.3464458 - ], - [ - 8.5420654, - 47.335018 - ], - [ - 8.5407269, - 47.33376 - ], - [ - 8.5403004, - 47.3339594 - ], - [ - 8.5401928, - 47.3337202 - ], - [ - 8.5404179, - 47.3335811 - ], - [ - 8.5387962, - 47.3320825 - ], - [ - 8.5364195, - 47.3307603 - ], - [ - 8.5362197, - 47.330181 - ], - [ - 8.5334539, - 47.3299212 - ], - [ - 8.531799, - 47.3295046 - ], - [ - 8.5314456, - 47.3284586 - ], - [ - 8.5310233, - 47.3278882 - ], - [ - 8.5297377, - 47.3277665 - ], - [ - 8.5296889, - 47.3268657 - ], - [ - 8.5289898, - 47.3269813 - ], - [ - 8.5281278, - 47.3268508 - ], - [ - 8.5280161, - 47.326347 - ], - [ - 8.5275512, - 47.326391 - ], - [ - 8.5276207, - 47.3261573 - ], - [ - 8.5257896, - 47.3261908 - ], - [ - 8.5256309, - 47.3257466 - ], - [ - 8.5242553, - 47.3260813 - ], - [ - 8.5241954, - 47.3248577 - ], - [ - 8.5237181, - 47.3241621 - ], - [ - 8.5230402, - 47.324334 - ], - [ - 8.5219346, - 47.324356 - ], - [ - 8.5219412, - 47.3239408 - ], - [ - 8.5193166, - 47.3240091 - ], - [ - 8.5186809, - 47.3238608 - ], - [ - 8.5176785, - 47.3232 - ], - [ - 8.5164185, - 47.3230802 - ], - [ - 8.5156026, - 47.323154 - ], - [ - 8.5147161, - 47.3227179 - ], - [ - 8.5129492, - 47.3228951 - ], - [ - 8.5116154, - 47.3222153 - ], - [ - 8.509571, - 47.3220243 - ], - [ - 8.5095034, - 47.3216488 - ], - [ - 8.507877, - 47.3220315 - ], - [ - 8.5073479, - 47.3217255 - ], - [ - 8.5052926, - 47.3214351 - ], - [ - 8.5047572, - 47.3212089 - ], - [ - 8.5042993, - 47.3207416 - ], - [ - 8.5031718, - 47.3202203 - ], - [ - 8.5024105, - 47.3205283 - ], - [ - 8.5022699, - 47.3208152 - ], - [ - 8.5015158, - 47.3212901 - ], - [ - 8.501024, - 47.3219795 - ], - [ - 8.5009469, - 47.3225865 - ], - [ - 8.5006025, - 47.3227848 - ], - [ - 8.5007766, - 47.3237009 - ], - [ - 8.5006647, - 47.3245121 - ], - [ - 8.5009845, - 47.3259513 - ], - [ - 8.5014986, - 47.3265046 - ], - [ - 8.5015885, - 47.3273247 - ], - [ - 8.5018842, - 47.3276454 - ], - [ - 8.5013155, - 47.3288302 - ], - [ - 8.5014041, - 47.3290265 - ], - [ - 8.5006933, - 47.3297924 - ], - [ - 8.5008734, - 47.3305262 - ], - [ - 8.5006341, - 47.331099 - ], - [ - 8.5011206, - 47.331827 - ], - [ - 8.5007541, - 47.3320224 - ], - [ - 8.5007833, - 47.3322389 - ], - [ - 8.501057, - 47.3325984 - ], - [ - 8.5019093, - 47.3330317 - ], - [ - 8.5022042, - 47.3336379 - ], - [ - 8.5017738, - 47.3341153 - ], - [ - 8.5015204, - 47.3350444 - ], - [ - 8.5019867, - 47.3366635 - ], - [ - 8.5016086, - 47.3372789 - ], - [ - 8.4987707, - 47.3396841 - ], - [ - 8.4980764, - 47.3416944 - ], - [ - 8.4970198, - 47.3424735 - ], - [ - 8.4970857, - 47.3432619 - ], - [ - 8.4979848, - 47.3436505 - ], - [ - 8.4980964, - 47.3438702 - ], - [ - 8.4981724, - 47.344534 - ], - [ - 8.4977274, - 47.3452067 - ], - [ - 8.4963629, - 47.3464829 - ], - [ - 8.4951043, - 47.3469117 - ], - [ - 8.4946719, - 47.3476034 - ], - [ - 8.4928519, - 47.3482813 - ], - [ - 8.4920593, - 47.3495035 - ], - [ - 8.4914526, - 47.3496428 - ], - [ - 8.4912761, - 47.3498347 - ], - [ - 8.4908881, - 47.3506717 - ], - [ - 8.4899998, - 47.350561 - ], - [ - 8.4881311, - 47.3520013 - ], - [ - 8.4869145, - 47.3520286 - ], - [ - 8.4867952, - 47.3521995 - ], - [ - 8.487275, - 47.3531092 - ], - [ - 8.4871041, - 47.3534045 - ], - [ - 8.4850065, - 47.354685 - ], - [ - 8.4846252, - 47.3553616 - ], - [ - 8.4846332, - 47.3567046 - ], - [ - 8.4842574, - 47.3573654 - ], - [ - 8.4832095, - 47.3581364 - ], - [ - 8.4827226, - 47.359069 - ], - [ - 8.482051, - 47.3595414 - ], - [ - 8.4787857, - 47.3607802 - ], - [ - 8.4769778, - 47.3602866 - ], - [ - 8.4736491, - 47.3608106 - ], - [ - 8.4727546, - 47.3607904 - ], - [ - 8.4716901, - 47.3613176 - ], - [ - 8.4705346, - 47.3616581 - ], - [ - 8.4695072, - 47.3643825 - ], - [ - 8.4663995, - 47.3657414 - ], - [ - 8.4658262, - 47.3660986 - ], - [ - 8.4654459, - 47.3666433 - ], - [ - 8.4648499, - 47.3668079 - ], - [ - 8.4642685, - 47.3672756 - ], - [ - 8.4641765, - 47.3683804 - ], - [ - 8.4649008, - 47.3689692 - ], - [ - 8.4648229, - 47.3691129 - ], - [ - 8.4693766, - 47.3713625 - ], - [ - 8.4704197, - 47.3726 - ], - [ - 8.4702245, - 47.3739521 - ], - [ - 8.4686834, - 47.3738244 - ], - [ - 8.4676081, - 47.3735734 - ], - [ - 8.4654386, - 47.3744359 - ], - [ - 8.4628786, - 47.3760325 - ], - [ - 8.4599477, - 47.3775009 - ], - [ - 8.4563798, - 47.3780073 - ], - [ - 8.4511626, - 47.3781669 - ], - [ - 8.450468, - 47.3783562 - ], - [ - 8.4484713, - 47.3796659 - ], - [ - 8.4480061, - 47.3802489 - ], - [ - 8.4517428, - 47.3806206 - ], - [ - 8.4537073, - 47.3802686 - ], - [ - 8.4561412, - 47.380724 - ], - [ - 8.4566891, - 47.3809395 - ], - [ - 8.4567289, - 47.3824423 - ], - [ - 8.4574491, - 47.382223 - ], - [ - 8.45843, - 47.3823124 - ], - [ - 8.4584128, - 47.382629 - ], - [ - 8.4574537, - 47.3832487 - ], - [ - 8.4576694, - 47.3834003 - ], - [ - 8.4575551, - 47.383711 - ], - [ - 8.4580689, - 47.3838786 - ], - [ - 8.4600363, - 47.3859448 - ], - [ - 8.4608754, - 47.3870442 - ], - [ - 8.4612122, - 47.3879517 - ], - [ - 8.4610423, - 47.3880298 - ], - [ - 8.4638065, - 47.3905272 - ], - [ - 8.4651812, - 47.3913239 - ], - [ - 8.4655595, - 47.391131 - ], - [ - 8.4661769, - 47.3911292 - ], - [ - 8.4672656, - 47.390651 - ], - [ - 8.4669717, - 47.3913069 - ], - [ - 8.4673863, - 47.3929013 - ], - [ - 8.4671019, - 47.3933421 - ], - [ - 8.4660703, - 47.3937826 - ], - [ - 8.4651015, - 47.3945286 - ], - [ - 8.4648352, - 47.3948101 - ], - [ - 8.4648837, - 47.3950816 - ], - [ - 8.4653518, - 47.3949215 - ], - [ - 8.4685392, - 47.3946073 - ], - [ - 8.4701785, - 47.3940058 - ], - [ - 8.470658, - 47.3943936 - ], - [ - 8.4719132, - 47.393883 - ], - [ - 8.472083, - 47.3940755 - ], - [ - 8.4715234, - 47.3943033 - ], - [ - 8.4715138, - 47.3949048 - ], - [ - 8.4721035, - 47.3951669 - ], - [ - 8.4730103, - 47.395064 - ], - [ - 8.4734874, - 47.395996 - ], - [ - 8.4651584, - 47.3982885 - ], - [ - 8.4656768, - 47.3992174 - ], - [ - 8.4675918, - 47.3987253 - ], - [ - 8.4680605, - 47.3995665 - ], - [ - 8.4661462, - 47.4000583 - ], - [ - 8.4677017, - 47.4030001 - ], - [ - 8.469902, - 47.4029831 - ], - [ - 8.4755054, - 47.4038106 - ], - [ - 8.4781488, - 47.4038749 - ], - [ - 8.4781852, - 47.4050811 - ], - [ - 8.477377, - 47.4051652 - ], - [ - 8.4770538, - 47.4061941 - ], - [ - 8.4772873, - 47.4091391 - ], - [ - 8.4770261, - 47.409346 - ], - [ - 8.4754317, - 47.4097053 - ], - [ - 8.4758308, - 47.4107688 - ], - [ - 8.4760457, - 47.4107168 - ], - [ - 8.4762788, - 47.4110248 - ], - [ - 8.476647, - 47.4109692 - ], - [ - 8.4772491, - 47.4119382 - ], - [ - 8.4748799, - 47.4124136 - ], - [ - 8.4739359, - 47.4122221 - ], - [ - 8.4730251, - 47.4114574 - ], - [ - 8.4726814, - 47.4105829 - ], - [ - 8.4710092, - 47.410936 - ], - [ - 8.4711262, - 47.4113682 - ], - [ - 8.4708503, - 47.411673 - ], - [ - 8.4704419, - 47.4115928 - ], - [ - 8.4703081, - 47.4125332 - ], - [ - 8.468756, - 47.4122482 - ], - [ - 8.4680053, - 47.4133401 - ], - [ - 8.4686294, - 47.4136261 - ], - [ - 8.4685663, - 47.41408 - ], - [ - 8.4695518, - 47.4148391 - ], - [ - 8.4700718, - 47.4155748 - ], - [ - 8.4691344, - 47.4164893 - ], - [ - 8.4691307, - 47.4169272 - ], - [ - 8.4696238, - 47.4175244 - ], - [ - 8.4715827, - 47.4176266 - ], - [ - 8.4772018, - 47.4197449 - ], - [ - 8.476879, - 47.4201593 - ], - [ - 8.4778286, - 47.4221154 - ], - [ - 8.4789517, - 47.421719 - ], - [ - 8.4793669, - 47.4211341 - ], - [ - 8.4797181, - 47.4214068 - ], - [ - 8.4813104, - 47.4213424 - ], - [ - 8.4817052, - 47.4230025 - ], - [ - 8.482943, - 47.4226558 - ], - [ - 8.4829177, - 47.4222244 - ], - [ - 8.4860915, - 47.4215542 - ], - [ - 8.4865761, - 47.4216425 - ], - [ - 8.4868251, - 47.4218645 - ], - [ - 8.4879635, - 47.422007 - ], - [ - 8.4885143, - 47.4227084 - ], - [ - 8.4901866, - 47.422336 - ], - [ - 8.4910036, - 47.4238991 - ], - [ - 8.4900591, - 47.4243496 - ], - [ - 8.4900673, - 47.4253189 - ], - [ - 8.4902716, - 47.4253614 - ], - [ - 8.4901707, - 47.4257799 - ], - [ - 8.4855191, - 47.4271201 - ], - [ - 8.4848149, - 47.4278437 - ], - [ - 8.484661, - 47.4287321 - ], - [ - 8.484374, - 47.4289619 - ], - [ - 8.4844472, - 47.4297912 - ], - [ - 8.4857915, - 47.4310272 - ], - [ - 8.4956173, - 47.4328128 - ], - [ - 8.5002701, - 47.4344188 - ], - [ - 8.5020653, - 47.4346662 - ], - [ - 8.5036443, - 47.4340188 - ], - [ - 8.5099683, - 47.4321273 - ], - [ - 8.511553, - 47.4311636 - ], - [ - 8.5127365, - 47.4308478 - ], - [ - 8.5160014, - 47.4317438 - ], - [ - 8.5162812, - 47.4317546 - ], - [ - 8.5168051, - 47.4313321 - ], - [ - 8.5187218, - 47.4318959 - ], - [ - 8.5197943, - 47.4316717 - ], - [ - 8.5246261, - 47.4312581 - ], - [ - 8.5254902, - 47.4331566 - ], - [ - 8.530298, - 47.4320655 - ], - [ - 8.5306331, - 47.4326579 - ], - [ - 8.5329988, - 47.4322774 - ], - [ - 8.5337386, - 47.4325107 - ], - [ - 8.5346736, - 47.4320017 - ], - [ - 8.5352098, - 47.4318797 - ], - [ - 8.5360609, - 47.4318653 - ], - [ - 8.5373954, - 47.4314002 - ], - [ - 8.5396428, - 47.4312601 - ], - [ - 8.5401002, - 47.4310967 - ], - [ - 8.5403303, - 47.4318604 - ], - [ - 8.5436264, - 47.4314336 - ], - [ - 8.5428445, - 47.4328905 - ], - [ - 8.5431082, - 47.4328844 - ], - [ - 8.544514, - 47.4325009 - ], - [ - 8.5445856, - 47.4326166 - ], - [ - 8.5460691, - 47.4320661 - ], - [ - 8.5485802, - 47.4314175 - ], - [ - 8.5500937, - 47.4312832 - ], - [ - 8.5509806, - 47.4310231 - ], - [ - 8.5519893, - 47.4310397 - ], - [ - 8.5553504, - 47.4306622 - ], - [ - 8.5560951, - 47.4280349 - ], - [ - 8.5568396, - 47.4262384 - ], - [ - 8.55783, - 47.4255398 - ], - [ - 8.5569735, - 47.4249035 - ], - [ - 8.5573584, - 47.4247214 - ], - [ - 8.5568974, - 47.4242429 - ], - [ - 8.5572272, - 47.4240966 - ], - [ - 8.5541907, - 47.4208018 - ], - [ - 8.5608195, - 47.4181748 - ], - [ - 8.561289, - 47.4182869 - ], - [ - 8.5623451, - 47.4163214 - ], - [ - 8.5628176, - 47.4164324 - ], - [ - 8.563234, - 47.4156476 - ], - [ - 8.5662171, - 47.4163247 - ], - [ - 8.5669231, - 47.4162865 - ], - [ - 8.5673498, - 47.4164917 - ], - [ - 8.5677986, - 47.4168445 - ], - [ - 8.5687459, - 47.4185542 - ], - [ - 8.569026, - 47.4187096 - ], - [ - 8.5696006, - 47.4186847 - ], - [ - 8.5694428, - 47.419261 - ], - [ - 8.5722349, - 47.418926 - ], - [ - 8.5736749, - 47.4200362 - ], - [ - 8.5737831, - 47.4177981 - ], - [ - 8.5734215, - 47.4171079 - ], - [ - 8.5738627, - 47.4143784 - ], - [ - 8.5738407, - 47.413238 - ], - [ - 8.5733137, - 47.412573 - ], - [ - 8.5726014, - 47.4120663 - ], - [ - 8.5730014, - 47.4114383 - ], - [ - 8.588059, - 47.4079651 - ], - [ - 8.5889421, - 47.4075631 - ], - [ - 8.5931154, - 47.407037 - ], - [ - 8.5972792, - 47.4063087 - ], - [ - 8.5972211, - 47.4059985 - ], - [ - 8.5960793, - 47.4061173 - ], - [ - 8.5937779, - 47.4022219 - ], - [ - 8.5962176, - 47.401545 - ], - [ - 8.5947962, - 47.3991811 - ], - [ - 8.5972473, - 47.3985052 - ], - [ - 8.5964397, - 47.3971511 - ], - [ - 8.59637, - 47.3966323 - ], - [ - 8.5962288, - 47.396464 - ], - [ - 8.5945296, - 47.3971222 - ], - [ - 8.593922, - 47.3964721 - ], - [ - 8.5933487, - 47.3961397 - ], - [ - 8.5920771, - 47.3969078 - ], - [ - 8.5917242, - 47.3968079 - ], - [ - 8.5914817, - 47.3970043 - ], - [ - 8.5882815, - 47.3957975 - ], - [ - 8.5890452, - 47.3950147 - ], - [ - 8.5899492, - 47.3947762 - ], - [ - 8.5881766, - 47.3935057 - ], - [ - 8.5875246, - 47.3932129 - ], - [ - 8.587475, - 47.3929744 - ], - [ - 8.5861851, - 47.3928018 - ], - [ - 8.5844165, - 47.3919525 - ], - [ - 8.5836927, - 47.3900815 - ], - [ - 8.5830501, - 47.3890474 - ], - [ - 8.5831589, - 47.3883067 - ], - [ - 8.5843702, - 47.3883357 - ], - [ - 8.5843205, - 47.3889438 - ], - [ - 8.5849231, - 47.3901089 - ], - [ - 8.5852817, - 47.3903966 - ], - [ - 8.5869601, - 47.3901709 - ], - [ - 8.5869046, - 47.3897666 - ], - [ - 8.5876488, - 47.3890534 - ], - [ - 8.5869806, - 47.3879297 - ], - [ - 8.5918104, - 47.3863782 - ], - [ - 8.593073, - 47.3856494 - ], - [ - 8.592992, - 47.3852339 - ], - [ - 8.5935437, - 47.3852243 - ], - [ - 8.5927356, - 47.3841724 - ], - [ - 8.5908184, - 47.3847588 - ], - [ - 8.5901259, - 47.3838085 - ], - [ - 8.5896628, - 47.3840002 - ], - [ - 8.5895613, - 47.3837317 - ], - [ - 8.5921739, - 47.3831089 - ], - [ - 8.5915089, - 47.3824415 - ], - [ - 8.5938377, - 47.3808057 - ], - [ - 8.5940703, - 47.3806061 - ], - [ - 8.594061, - 47.3802938 - ], - [ - 8.5955564, - 47.3796016 - ], - [ - 8.5957448, - 47.3792746 - ], - [ - 8.5972137, - 47.3784921 - ], - [ - 8.5967415, - 47.3778177 - ], - [ - 8.5970154, - 47.3771596 - ], - [ - 8.597603, - 47.3766059 - ], - [ - 8.5970488, - 47.3758905 - ], - [ - 8.5977803, - 47.3755719 - ], - [ - 8.5982825, - 47.3751014 - ], - [ - 8.5985539, - 47.3747325 - ], - [ - 8.5981292, - 47.3744671 - ], - [ - 8.6001968, - 47.3733058 - ], - [ - 8.6005273, - 47.3733996 - ], - [ - 8.6009592, - 47.3731167 - ], - [ - 8.6019393, - 47.3719822 - ], - [ - 8.6019219, - 47.3717081 - ], - [ - 8.603242, - 47.3713075 - ], - [ - 8.6060745, - 47.3687057 - ], - [ - 8.6074459, - 47.3681634 - ], - [ - 8.6081229, - 47.3676128 - ], - [ - 8.6106703, - 47.3673011 - ], - [ - 8.6120019, - 47.3668439 - ], - [ - 8.6130802, - 47.3677649 - ], - [ - 8.6134447, - 47.3677929 - ], - [ - 8.6136622, - 47.3680183 - ], - [ - 8.6154945, - 47.3676953 - ], - [ - 8.6164504, - 47.3684073 - ], - [ - 8.6166519, - 47.3682801 - ], - [ - 8.6176364, - 47.3668139 - ], - [ - 8.6170927, - 47.366262 - ], - [ - 8.6168236, - 47.3653459 - ], - [ - 8.6156472, - 47.3646551 - ], - [ - 8.6149501, - 47.3645812 - ], - [ - 8.6155747, - 47.3634184 - ], - [ - 8.6156558, - 47.3627274 - ], - [ - 8.6148226, - 47.3626311 - ], - [ - 8.6147042, - 47.3615093 - ], - [ - 8.6192928, - 47.3612135 - ], - [ - 8.6199562, - 47.3610355 - ], - [ - 8.621739, - 47.3600705 - ], - [ - 8.6225674, - 47.3598279 - ], - [ - 8.621867, - 47.359461 - ], - [ - 8.6213253, - 47.3574642 - ], - [ - 8.6235083, - 47.3559235 - ], - [ - 8.6235234, - 47.3556101 - ], - [ - 8.6254413, - 47.3546647 - ], - [ - 8.6241604, - 47.3539731 - ], - [ - 8.6224493, - 47.353642 - ], - [ - 8.6220945, - 47.3533419 - ], - [ - 8.6198851, - 47.3536666 - ], - [ - 8.6197589, - 47.3538473 - ], - [ - 8.6184445, - 47.3538175 - ], - [ - 8.6183902, - 47.3542504 - ], - [ - 8.6170817, - 47.3541374 - ], - [ - 8.615692, - 47.3544171 - ], - [ - 8.6151975, - 47.3540998 - ], - [ - 8.6138646, - 47.354021 - ], - [ - 8.6125506, - 47.3543659 - ], - [ - 8.6115607, - 47.3539441 - ], - [ - 8.6110679, - 47.3535189 - ], - [ - 8.61042, - 47.3533705 - ], - [ - 8.6094622, - 47.3535153 - ], - [ - 8.6077634, - 47.3533282 - ], - [ - 8.6060686, - 47.3536266 - ], - [ - 8.6050568, - 47.3535889 - ], - [ - 8.6038033, - 47.3530049 - ], - [ - 8.6030474, - 47.3521873 - ], - [ - 8.6032016, - 47.352067 - ], - [ - 8.6029426, - 47.351746 - ], - [ - 8.6029967, - 47.3507596 - ], - [ - 8.6026189, - 47.3507265 - ], - [ - 8.6015997, - 47.3507282 - ], - [ - 8.6010406, - 47.3510465 - ], - [ - 8.6002591, - 47.3511159 - ], - [ - 8.5996004, - 47.3514537 - ], - [ - 8.598587, - 47.3514482 - ], - [ - 8.5982352, - 47.3516535 - ], - [ - 8.5968895, - 47.3514023 - ], - [ - 8.5966563, - 47.3516127 - ], - [ - 8.5959601, - 47.3516878 - ], - [ - 8.5956408, - 47.3518987 - ], - [ - 8.5949397, - 47.3516079 - ], - [ - 8.5945418, - 47.3517493 - ], - [ - 8.593904, - 47.3516089 - ], - [ - 8.5935014, - 47.3521137 - ], - [ - 8.5922913, - 47.3522969 - ], - [ - 8.5918944, - 47.352783 - ], - [ - 8.5911785, - 47.3532073 - ], - [ - 8.5904654, - 47.3527123 - ], - [ - 8.5901367, - 47.3528627 - ], - [ - 8.588465, - 47.3528852 - ], - [ - 8.5879686, - 47.3530689 - ], - [ - 8.5874757, - 47.3526742 - ], - [ - 8.5862951, - 47.352882 - ], - [ - 8.5859056, - 47.3523073 - ], - [ - 8.5852978, - 47.3520138 - ], - [ - 8.5846216, - 47.3514145 - ], - [ - 8.5841673, - 47.3512938 - ], - [ - 8.5843773, - 47.3511598 - ], - [ - 8.5839844, - 47.3508453 - ], - [ - 8.5834761, - 47.3510422 - ], - [ - 8.5833497, - 47.3508713 - ], - [ - 8.5822061, - 47.3510081 - ], - [ - 8.5824578, - 47.3506167 - ], - [ - 8.5785111, - 47.3487299 - ], - [ - 8.5782687, - 47.348882 - ], - [ - 8.5778611, - 47.3486537 - ], - [ - 8.5768553, - 47.3487802 - ], - [ - 8.5768835, - 47.3485916 - ], - [ - 8.5762504, - 47.3483856 - ], - [ - 8.5730847, - 47.3475144 - ], - [ - 8.5729991, - 47.3476488 - ], - [ - 8.5721406, - 47.3474411 - ], - [ - 8.5716326, - 47.3472757 - ], - [ - 8.5716985, - 47.3471159 - ], - [ - 8.5702906, - 47.3467217 - ], - [ - 8.569681, - 47.3475973 - ], - [ - 8.5674102, - 47.346736 - ], - [ - 8.5668111, - 47.3471283 - ] - ] - ], - terms_text: "Stadt Zürich Open Government Data" - }, - { - id: "stamen-terrain-background", - name: "Stamen Terrain", - type: "tms", - template: "https://stamen-tiles-{switch:a,b,c,d}.a.ssl.fastly.net/terrain-background/{zoom}/{x}/{y}.jpg", - scaleExtent: [ - 4, - 18 - ], - terms_url: "http://maps.stamen.com/#terrain", - terms_text: "Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL", - icon: "https://stamen.com/wp-content/uploads/2016/07/stamen_compass_rose_small-01.png" - }, - { - id: "Surrey-Air_Survey", - name: "Surrey Air Survey", - type: "tms", - template: "https://{switch:a,b,c}.surrey.aerial.openstreetmap.org.uk/layer/gb_surrey_aerial/{zoom}/{x}/{y}.png", - endDate: "2009-01-01T00:00:00.000Z", - startDate: "2007-01-01T00:00:00.000Z", - scaleExtent: [ - 8, - 21 - ], - 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 - ], - [ - -0.752478, - 51.0821941 - ] - ] - ] - }, - { - id: "Szeged_2011", - name: "Szeged orthophoto 2011", - type: "tms", - template: "http://e.tile.openstreetmap.hu/szeged-2011-10cm/{zoom}/{x}/{y}.png", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - 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", - best: true, - description: "Inner part of Szeged" - }, - { - id: "teotonio_vilela", - name: "Teotonio Vilela AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Teotonio%20Vilela&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.31163860301, - -9.95467712399 - ], - [ - -36.31157895645, - -9.94381824983 - ], - [ - -36.31144972224, - -9.93197001342 - ], - [ - -36.31127078257, - -9.92436145686 - ], - [ - -36.31123101819, - -9.91847621012 - ], - [ - -36.31119125382, - -9.91637081332 - ], - [ - -36.31140995787, - -9.91323717443 - ], - [ - -36.31110178398, - -9.90922215583 - ], - [ - -36.3110819018, - -9.90317994983 - ], - [ - -36.31099243196, - -9.8937883586 - ], - [ - -36.31089302103, - -9.88420062824 - ], - [ - -36.31078366901, - -9.87412292696 - ], - [ - -36.31068425808, - -9.86457379995 - ], - [ - -36.33179913972, - -9.86431915278 - ], - [ - -36.34001048258, - -9.8643681234 - ], - [ - -36.34780429953, - -9.86425059389 - ], - [ - -36.35916696889, - -9.86420162324 - ], - [ - -36.37046999169, - -9.86404491714 - ], - [ - -36.38447699181, - -9.86385882853 - ], - [ - -36.40163531841, - -9.86364335739 - ], - [ - -36.40221190181, - -9.92250090776 - ], - [ - -36.40249025242, - -9.9317741712 - ], - [ - -36.40258966335, - -9.94183051783 - ], - [ - -36.40248031132, - -9.94803846834 - ], - [ - -36.402659251, - -9.95369797972 - ], - [ - -36.38550092439, - -9.95384485155 - ], - [ - -36.38282677036, - -9.95392318316 - ], - [ - -36.37095710525, - -9.95399172331 - ], - [ - -36.36231829539, - -9.95422671799 - ], - [ - -36.34746630237, - -9.95421692655 - ], - [ - -36.33287277777, - -9.9544617125 - ], - [ - -36.32909516241, - -9.95455962683 - ], - [ - -36.32089376064, - -9.95458900112 - ], - [ - -36.31163860301, - -9.95467712399 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "tnris.org", - name: "Texas Orthophoto", - type: "tms", - template: "https://txgi.tnris.org/login/path/ecology-fiona-poem-romeo/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=texas&STYLE=&FORMAT=image/png&tileMatrixSet=0to20&tileMatrix=0to20:{zoom}&tileRow={y}&tileCol={x}", - startDate: "2012-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 20 - ], - polygon: [ - [ - [ - -99.9985439, - 34.5601834 - ], - [ - -95.55654502453, - 33.99257450647 - ], - [ - -93.89679027134, - 33.61039304449 - ], - [ - -93.98468089634, - 32.04103124103 - ], - [ - -93.41613841587, - 31.02505269211 - ], - [ - -93.74531484297, - 29.57268254375 - ], - [ - -96.50492070332, - 28.23158511753 - ], - [ - -97.36942054453, - 26.95467452634 - ], - [ - -97.04866958924, - 25.80530249434 - ], - [ - -99.0734177889, - 26.32559221139 - ], - [ - -100.76599193149, - 29.02531904433 - ], - [ - -102.3315436893, - 29.8433892263 - ], - [ - -103.13354564242, - 28.88112103669 - ], - [ - -104.2887874222, - 29.28831477845 - ], - [ - -104.7269783935, - 29.94815782859 - ], - [ - -104.72696778796, - 30.23535241761 - ], - [ - -106.53450082091, - 31.78456647831 - ], - [ - -106.75767043939, - 31.78457253947 - ], - [ - -106.75766067978, - 32.04385536686 - ], - [ - -106.61848436611, - 32.04385159755 - ], - [ - -103.11949492759, - 32.04375683439 - ], - [ - -103.09544343487, - 36.50045758762 - ], - [ - -103.05798056071, - 36.54268645422 - ], - [ - -100.00042146824, - 36.54222227302 - ], - [ - -99.9985439, - 34.5601834 - ] - ] - ], - terms_url: "https://tnris.org/maps-and-data/online-mapping-services", - terms_text: "Texas Natural Resources Information System" - }, - { - id: "tf-landscape", - name: "Thunderforest Landscape", - type: "tms", - template: "https://{switch:a,b,c}.tile.thunderforest.com/landscape/{zoom}/{x}/{y}.png", - scaleExtent: [ - 0, - 22 - ], - terms_url: "https://www.thunderforest.com/terms", - terms_text: "Maps © Thunderforest, Data © OpenStreetMap contributors" - }, - { - id: "US-TIGER-Roads-2017", - name: "TIGER Roads 2017", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/openstreetmapus/cj8dftc3q1ecn2tnx9qhwyj0c/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcHVzIiwiYSI6ImNpcnF4Ym43dDBoOXZmYW04bWhlNWdrY2EifQ.4SFexuTUuKkZeerO3dgtmw", - endDate: "2017-01-01T00:00:00.000Z", - startDate: "2017-01-01T00:00:00.000Z", - 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 - ], - [ - -124.7617886, - 48.4130148 - ] - ], - [ - [ - -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 - ], - [ - -160.5787616, - 22.5062947 - ] - ], - [ - [ - -167.1572, - 68.722 - ], - [ - -164.8554, - 67.0255 - ], - [ - -168.0022, - 66.0018 - ], - [ - -169.0087, - 66.0015 - ], - [ - -169.0075, - 64.9988 - ], - [ - -172.5143, - 63.8767 - ], - [ - -173.8197, - 59.7401 - ], - [ - -178.0001, - 52.2446 - ], - [ - -177.9993, - 51.2554 - ], - [ - -171.4689, - 51.8215 - ], - [ - -162.4025, - 53.9567 - ], - [ - -159.0076, - 55.0025 - ], - [ - -158.0191, - 55.0028 - ], - [ - -151.9963, - 55.9992 - ], - [ - -151.5003, - 57.9988 - ], - [ - -151.5013, - 58.992 - ], - [ - -138.516, - 58.9953 - ], - [ - -138.515, - 57.9986 - ], - [ - -133.9948, - 54.0032 - ], - [ - -130.0044, - 54.0043 - ], - [ - -130.0071, - 57.0001 - ], - [ - -131.9759, - 56.9995 - ], - [ - -135.123, - 59.7566 - ], - [ - -138.0072, - 59.9918 - ], - [ - -139.1716, - 60.4127 - ], - [ - -140.9874, - 61.0119 - ], - [ - -140.9684, - 69.9535 - ], - [ - -156.1769, - 71.5633 - ], - [ - -160.4136, - 70.7398 - ], - [ - -163.0218, - 69.9707 - ], - [ - -164.9717, - 68.9947 - ], - [ - -167.1572, - 68.722 - ] - ], - [ - [ - -68.2, - 17.8 - ], - [ - -64.32, - 17.38 - ], - [ - -64.64, - 18.36 - ], - [ - -65.33, - 18.57 - ], - [ - -67.9, - 18.67 - ], - [ - -68.2, - 17.8 - ] - ], - [ - [ - 146.2, - 15.4 - ], - [ - 145.7, - 15.6 - ], - [ - 144.2, - 13.2 - ], - [ - 144.8, - 12.9 - ], - [ - 146.2, - 15.4 - ] - ], - [ - [ - 179.99, - 52.2 - ], - [ - 172, - 53.5 - ], - [ - 172, - 52.5 - ], - [ - 179.99, - 51 - ], - [ - 179.99, - 52.2 - ] - ] - ], - description: "Yellow = Public domain map data from the US Census. Red = Data not found in OpenStreetMap", - icon: "data:image/png;base64,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", - overlay: true - }, - { - id: "tirol.gv.at-contourlines", - name: "Tiris: contour lines", - type: "wms", - template: "https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Hoehenschichtlinien 20m&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 15, - 22 - ], - polygon: [ - [ - [ - 10.4399766, - 47.5976781 - ], - [ - 10.4788646, - 47.5992486 - ], - [ - 10.5027725, - 47.5865589 - ], - [ - 10.4837986, - 47.5597936 - ], - [ - 10.513122, - 47.5434951 - ], - [ - 10.5717689, - 47.5458237 - ], - [ - 10.570044, - 47.5621216 - ], - [ - 10.6010923, - 47.5807415 - ], - [ - 10.6390403, - 47.5691048 - ], - [ - 10.7080366, - 47.5702686 - ], - [ - 10.7114864, - 47.5493166 - ], - [ - 10.7684083, - 47.5504808 - ], - [ - 10.7856574, - 47.5260267 - ], - [ - 10.8960515, - 47.5504808 - ], - [ - 10.9357244, - 47.5236971 - ], - [ - 10.9339995, - 47.5050569 - ], - [ - 10.8908768, - 47.4957344 - ], - [ - 10.9512486, - 47.4910724 - ], - [ - 10.9546984, - 47.4677567 - ], - [ - 11.0029958, - 47.4327637 - ], - [ - 10.9909215, - 47.4082547 - ], - [ - 11.1030405, - 47.4047525 - ], - [ - 11.1151148, - 47.4199271 - ], - [ - 11.2099847, - 47.4455971 - ], - [ - 11.2686316, - 47.4409308 - ], - [ - 11.2669067, - 47.4105894 - ], - [ - 11.2945052, - 47.4420974 - ], - [ - 11.3307283, - 47.4607599 - ], - [ - 11.3824755, - 47.4584275 - ], - [ - 11.3704012, - 47.4759184 - ], - [ - 11.4393975, - 47.5306855 - ], - [ - 11.466996, - 47.5178728 - ], - [ - 11.5739403, - 47.5236971 - ], - [ - 11.5756652, - 47.5586296 - ], - [ - 11.598089, - 47.5912123 - ], - [ - 11.6343121, - 47.6063331 - ], - [ - 11.6688102, - 47.5947021 - ], - [ - 11.7930036, - 47.602844 - ], - [ - 11.8395761, - 47.5923756 - ], - [ - 11.8499255, - 47.6109847 - ], - [ - 12.0068922, - 47.6365615 - ], - [ - 12.0362156, - 47.6249373 - ], - [ - 12.0776134, - 47.6272623 - ], - [ - 12.1086617, - 47.6191242 - ], - [ - 12.1949071, - 47.6226121 - ], - [ - 12.1535093, - 47.6876775 - ], - [ - 12.158684, - 47.7166984 - ], - [ - 12.1811078, - 47.7120562 - ], - [ - 12.2190558, - 47.7248214 - ], - [ - 12.2414796, - 47.7538216 - ], - [ - 12.272528, - 47.7515022 - ], - [ - 12.2846023, - 47.7317829 - ], - [ - 12.2656283, - 47.695805 - ], - [ - 12.3363495, - 47.7108955 - ], - [ - 12.3760224, - 47.695805 - ], - [ - 12.4432938, - 47.7027704 - ], - [ - 12.4536433, - 47.692322 - ], - [ - 12.4536433, - 47.6749032 - ], - [ - 12.5105652, - 47.6319121 - ], - [ - 12.5312641, - 47.6458591 - ], - [ - 12.589911, - 47.6342369 - ], - [ - 12.5795615, - 47.6109847 - ], - [ - 12.6658069, - 47.5947021 - ], - [ - 12.6796062, - 47.5749235 - ], - [ - 12.645108, - 47.5504808 - ], - [ - 12.6675318, - 47.5318501 - ], - [ - 12.6847809, - 47.5038917 - ], - [ - 12.7123795, - 47.4817474 - ], - [ - 12.6675318, - 47.4560949 - ], - [ - 12.6416582, - 47.4595937 - ], - [ - 12.6502828, - 47.443264 - ], - [ - 12.6209593, - 47.4070873 - ], - [ - 12.5743868, - 47.3860701 - ], - [ - 12.5502381, - 47.3965797 - ], - [ - 12.4915913, - 47.3720539 - ], - [ - 12.5088403, - 47.3510227 - ], - [ - 12.4881414, - 47.3206295 - ], - [ - 12.4346693, - 47.322968 - ], - [ - 12.4139704, - 47.3042567 - ], - [ - 12.3639481, - 47.3089351 - ], - [ - 12.3122008, - 47.3276449 - ], - [ - 12.2708031, - 47.298408 - ], - [ - 12.177658, - 47.2937286 - ], - [ - 12.1483346, - 47.2843686 - ], - [ - 12.1172863, - 47.2995778 - ], - [ - 12.0983123, - 47.2750069 - ], - [ - 12.1259108, - 47.2504245 - ], - [ - 12.0965874, - 47.1977096 - ], - [ - 12.1103866, - 47.1484618 - ], - [ - 12.141435, - 47.109735 - ], - [ - 12.1379852, - 47.0897738 - ], - [ - 12.1500595, - 47.0756791 - ], - [ - 12.0051672, - 47.0439523 - ], - [ - 11.9206468, - 47.0298454 - ], - [ - 11.8309516, - 46.9910324 - ], - [ - 11.7878289, - 46.9863258 - ], - [ - 11.7740296, - 46.9674955 - ], - [ - 11.7309069, - 46.9651413 - ], - [ - 11.7067582, - 46.9898558 - ], - [ - 11.6429366, - 46.994562 - ], - [ - 11.6118883, - 47.0051495 - ], - [ - 11.5325425, - 46.9780884 - ], - [ - 11.4928696, - 47.0086782 - ], - [ - 11.4445722, - 46.9674955 - ], - [ - 11.4048993, - 46.9616097 - ], - [ - 11.3445276, - 46.9863258 - ], - [ - 11.2030851, - 46.9569006 - ], - [ - 11.1754866, - 46.9616097 - ], - [ - 11.1772115, - 46.9439484 - ], - [ - 11.1461632, - 46.922747 - ], - [ - 11.1254643, - 46.922747 - ], - [ - 11.1082152, - 46.9038944 - ], - [ - 11.1151148, - 46.8885717 - ], - [ - 11.0823416, - 46.853195 - ], - [ - 11.0961408, - 46.8236966 - ], - [ - 11.0512932, - 46.8024477 - ], - [ - 11.0236947, - 46.762288 - ], - [ - 10.9184753, - 46.7705586 - ], - [ - 10.8839772, - 46.7575613 - ], - [ - 10.8408545, - 46.7729214 - ], - [ - 10.8236054, - 46.7693772 - ], - [ - 10.7908322, - 46.7894581 - ], - [ - 10.756334, - 46.778828 - ], - [ - 10.7252857, - 46.7906391 - ], - [ - 10.7477095, - 46.8272372 - ], - [ - 10.6942373, - 46.8449371 - ], - [ - 10.6735384, - 46.869707 - ], - [ - 10.6079919, - 46.853195 - ], - [ - 10.5545198, - 46.8272372 - ], - [ - 10.5200216, - 46.8390378 - ], - [ - 10.4682744, - 46.8366779 - ], - [ - 10.4510253, - 46.8814982 - ], - [ - 10.475174, - 46.9321709 - ], - [ - 10.4130773, - 46.9557232 - ], - [ - 10.3941034, - 46.9886791 - ], - [ - 10.3665048, - 46.9804421 - ], - [ - 10.3389063, - 46.9474811 - ], - [ - 10.3285569, - 46.9180345 - ], - [ - 10.2975085, - 46.9133215 - ], - [ - 10.2595605, - 46.9251032 - ], - [ - 10.2388617, - 46.8626311 - ], - [ - 10.1664155, - 46.8390378 - ], - [ - 10.1353672, - 46.8472966 - ], - [ - 10.1319174, - 46.8720655 - ], - [ - 10.1060438, - 46.886214 - ], - [ - 10.0922445, - 46.9274592 - ], - [ - 10.1250177, - 46.952191 - ], - [ - 10.1457166, - 47.0004442 - ], - [ - 10.1129434, - 47.0251423 - ], - [ - 10.1526163, - 47.0498291 - ], - [ - 10.1301925, - 47.0627556 - ], - [ - 10.1336423, - 47.0909482 - ], - [ - 10.1595159, - 47.126168 - ], - [ - 10.2009137, - 47.1425959 - ], - [ - 10.1922891, - 47.2000536 - ], - [ - 10.2095382, - 47.2129438 - ], - [ - 10.1871144, - 47.2398857 - ], - [ - 10.2009137, - 47.2562785 - ], - [ - 10.1681404, - 47.2633024 - ], - [ - 10.1681404, - 47.2808581 - ], - [ - 10.2026386, - 47.2913887 - ], - [ - 10.2440364, - 47.2890488 - ], - [ - 10.3337316, - 47.3206295 - ], - [ - 10.3889286, - 47.3907413 - ], - [ - 10.4148022, - 47.3942444 - ], - [ - 10.4562, - 47.436264 - ], - [ - 10.4475755, - 47.4817474 - ], - [ - 10.419977, - 47.5050569 - ], - [ - 10.4424008, - 47.5551374 - ], - [ - 10.4130773, - 47.5714324 - ], - [ - 10.4399766, - 47.5976781 - ] - ], - [ - [ - 12.401896, - 47.1601916 - ], - [ - 12.3570484, - 47.1390761 - ], - [ - 12.3501488, - 47.1120829 - ], - [ - 12.3104759, - 47.107387 - ], - [ - 12.2552789, - 47.0721548 - ], - [ - 12.2138811, - 47.0592305 - ], - [ - 12.2000818, - 47.0263181 - ], - [ - 12.1448848, - 47.0310212 - ], - [ - 12.1155613, - 47.007502 - ], - [ - 12.1362602, - 46.9592552 - ], - [ - 12.1673086, - 46.9357044 - ], - [ - 12.1431599, - 46.9109649 - ], - [ - 12.1897324, - 46.9003588 - ], - [ - 12.2173309, - 46.8661692 - ], - [ - 12.2552789, - 46.8838562 - ], - [ - 12.2742529, - 46.8826772 - ], - [ - 12.2984016, - 46.8343179 - ], - [ - 12.2759778, - 46.8201557 - ], - [ - 12.2794276, - 46.7776467 - ], - [ - 12.3501488, - 46.77174 - ], - [ - 12.3811972, - 46.7150029 - ], - [ - 12.4432938, - 46.6842454 - ], - [ - 12.5140151, - 46.6700437 - ], - [ - 12.5657623, - 46.6487342 - ], - [ - 12.6295839, - 46.6534704 - ], - [ - 12.70203, - 46.6534704 - ], - [ - 12.7037549, - 46.6984434 - ], - [ - 12.7296285, - 46.7008093 - ], - [ - 12.7227289, - 46.7374685 - ], - [ - 12.8020747, - 46.7492887 - ], - [ - 12.8538219, - 46.744561 - ], - [ - 12.9038442, - 46.77174 - ], - [ - 12.9279929, - 46.7599247 - ], - [ - 12.9573164, - 46.7764654 - ], - [ - 12.9797402, - 46.7977246 - ], - [ - 12.8952197, - 46.8331378 - ], - [ - 12.8952197, - 46.8484763 - ], - [ - 12.8451974, - 46.8638104 - ], - [ - 12.8469223, - 46.9156781 - ], - [ - 12.7968999, - 46.930993 - ], - [ - 12.7882754, - 46.9474811 - ], - [ - 12.7486025, - 46.9686726 - ], - [ - 12.7365282, - 46.9969149 - ], - [ - 12.7813758, - 47.0416014 - ], - [ - 12.7624018, - 47.0510043 - ], - [ - 12.7141044, - 47.0451277 - ], - [ - 12.7106545, - 47.0780285 - ], - [ - 12.6226842, - 47.126168 - ], - [ - 12.5692121, - 47.1414227 - ], - [ - 12.551963, - 47.1332091 - ], - [ - 12.5260894, - 47.154327 - ], - [ - 12.4829667, - 47.1648828 - ], - [ - 12.4605429, - 47.1484618 - ], - [ - 12.4346693, - 47.1578459 - ], - [ - 12.4191451, - 47.1437691 - ], - [ - 12.401896, - 47.1601916 - ] - ] - ], - terms_url: "https://tiris.tirol.gv.at", - terms_text: "tiris.tirol.gv.at", - icon: "https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif", - overlay: true - }, - { - id: "tirol.gv.at-DGM", - name: "Tiris: DGM (Terrain model)", - type: "wms", - template: "https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image Schummerung_Gelaendemodell&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 10.4399766, - 47.5976781 - ], - [ - 10.4788646, - 47.5992486 - ], - [ - 10.5027725, - 47.5865589 - ], - [ - 10.4837986, - 47.5597936 - ], - [ - 10.513122, - 47.5434951 - ], - [ - 10.5717689, - 47.5458237 - ], - [ - 10.570044, - 47.5621216 - ], - [ - 10.6010923, - 47.5807415 - ], - [ - 10.6390403, - 47.5691048 - ], - [ - 10.7080366, - 47.5702686 - ], - [ - 10.7114864, - 47.5493166 - ], - [ - 10.7684083, - 47.5504808 - ], - [ - 10.7856574, - 47.5260267 - ], - [ - 10.8960515, - 47.5504808 - ], - [ - 10.9357244, - 47.5236971 - ], - [ - 10.9339995, - 47.5050569 - ], - [ - 10.8908768, - 47.4957344 - ], - [ - 10.9512486, - 47.4910724 - ], - [ - 10.9546984, - 47.4677567 - ], - [ - 11.0029958, - 47.4327637 - ], - [ - 10.9909215, - 47.4082547 - ], - [ - 11.1030405, - 47.4047525 - ], - [ - 11.1151148, - 47.4199271 - ], - [ - 11.2099847, - 47.4455971 - ], - [ - 11.2686316, - 47.4409308 - ], - [ - 11.2669067, - 47.4105894 - ], - [ - 11.2945052, - 47.4420974 - ], - [ - 11.3307283, - 47.4607599 - ], - [ - 11.3824755, - 47.4584275 - ], - [ - 11.3704012, - 47.4759184 - ], - [ - 11.4393975, - 47.5306855 - ], - [ - 11.466996, - 47.5178728 - ], - [ - 11.5739403, - 47.5236971 - ], - [ - 11.5756652, - 47.5586296 - ], - [ - 11.598089, - 47.5912123 - ], - [ - 11.6343121, - 47.6063331 - ], - [ - 11.6688102, - 47.5947021 - ], - [ - 11.7930036, - 47.602844 - ], - [ - 11.8395761, - 47.5923756 - ], - [ - 11.8499255, - 47.6109847 - ], - [ - 12.0068922, - 47.6365615 - ], - [ - 12.0362156, - 47.6249373 - ], - [ - 12.0776134, - 47.6272623 - ], - [ - 12.1086617, - 47.6191242 - ], - [ - 12.1949071, - 47.6226121 - ], - [ - 12.1535093, - 47.6876775 - ], - [ - 12.158684, - 47.7166984 - ], - [ - 12.1811078, - 47.7120562 - ], - [ - 12.2190558, - 47.7248214 - ], - [ - 12.2414796, - 47.7538216 - ], - [ - 12.272528, - 47.7515022 - ], - [ - 12.2846023, - 47.7317829 - ], - [ - 12.2656283, - 47.695805 - ], - [ - 12.3363495, - 47.7108955 - ], - [ - 12.3760224, - 47.695805 - ], - [ - 12.4432938, - 47.7027704 - ], - [ - 12.4536433, - 47.692322 - ], - [ - 12.4536433, - 47.6749032 - ], - [ - 12.5105652, - 47.6319121 - ], - [ - 12.5312641, - 47.6458591 - ], - [ - 12.589911, - 47.6342369 - ], - [ - 12.5795615, - 47.6109847 - ], - [ - 12.6658069, - 47.5947021 - ], - [ - 12.6796062, - 47.5749235 - ], - [ - 12.645108, - 47.5504808 - ], - [ - 12.6675318, - 47.5318501 - ], - [ - 12.6847809, - 47.5038917 - ], - [ - 12.7123795, - 47.4817474 - ], - [ - 12.6675318, - 47.4560949 - ], - [ - 12.6416582, - 47.4595937 - ], - [ - 12.6502828, - 47.443264 - ], - [ - 12.6209593, - 47.4070873 - ], - [ - 12.5743868, - 47.3860701 - ], - [ - 12.5502381, - 47.3965797 - ], - [ - 12.4915913, - 47.3720539 - ], - [ - 12.5088403, - 47.3510227 - ], - [ - 12.4881414, - 47.3206295 - ], - [ - 12.4346693, - 47.322968 - ], - [ - 12.4139704, - 47.3042567 - ], - [ - 12.3639481, - 47.3089351 - ], - [ - 12.3122008, - 47.3276449 - ], - [ - 12.2708031, - 47.298408 - ], - [ - 12.177658, - 47.2937286 - ], - [ - 12.1483346, - 47.2843686 - ], - [ - 12.1172863, - 47.2995778 - ], - [ - 12.0983123, - 47.2750069 - ], - [ - 12.1259108, - 47.2504245 - ], - [ - 12.0965874, - 47.1977096 - ], - [ - 12.1103866, - 47.1484618 - ], - [ - 12.141435, - 47.109735 - ], - [ - 12.1379852, - 47.0897738 - ], - [ - 12.1500595, - 47.0756791 - ], - [ - 12.0051672, - 47.0439523 - ], - [ - 11.9206468, - 47.0298454 - ], - [ - 11.8309516, - 46.9910324 - ], - [ - 11.7878289, - 46.9863258 - ], - [ - 11.7740296, - 46.9674955 - ], - [ - 11.7309069, - 46.9651413 - ], - [ - 11.7067582, - 46.9898558 - ], - [ - 11.6429366, - 46.994562 - ], - [ - 11.6118883, - 47.0051495 - ], - [ - 11.5325425, - 46.9780884 - ], - [ - 11.4928696, - 47.0086782 - ], - [ - 11.4445722, - 46.9674955 - ], - [ - 11.4048993, - 46.9616097 - ], - [ - 11.3445276, - 46.9863258 - ], - [ - 11.2030851, - 46.9569006 - ], - [ - 11.1754866, - 46.9616097 - ], - [ - 11.1772115, - 46.9439484 - ], - [ - 11.1461632, - 46.922747 - ], - [ - 11.1254643, - 46.922747 - ], - [ - 11.1082152, - 46.9038944 - ], - [ - 11.1151148, - 46.8885717 - ], - [ - 11.0823416, - 46.853195 - ], - [ - 11.0961408, - 46.8236966 - ], - [ - 11.0512932, - 46.8024477 - ], - [ - 11.0236947, - 46.762288 - ], - [ - 10.9184753, - 46.7705586 - ], - [ - 10.8839772, - 46.7575613 - ], - [ - 10.8408545, - 46.7729214 - ], - [ - 10.8236054, - 46.7693772 - ], - [ - 10.7908322, - 46.7894581 - ], - [ - 10.756334, - 46.778828 - ], - [ - 10.7252857, - 46.7906391 - ], - [ - 10.7477095, - 46.8272372 - ], - [ - 10.6942373, - 46.8449371 - ], - [ - 10.6735384, - 46.869707 - ], - [ - 10.6079919, - 46.853195 - ], - [ - 10.5545198, - 46.8272372 - ], - [ - 10.5200216, - 46.8390378 - ], - [ - 10.4682744, - 46.8366779 - ], - [ - 10.4510253, - 46.8814982 - ], - [ - 10.475174, - 46.9321709 - ], - [ - 10.4130773, - 46.9557232 - ], - [ - 10.3941034, - 46.9886791 - ], - [ - 10.3665048, - 46.9804421 - ], - [ - 10.3389063, - 46.9474811 - ], - [ - 10.3285569, - 46.9180345 - ], - [ - 10.2975085, - 46.9133215 - ], - [ - 10.2595605, - 46.9251032 - ], - [ - 10.2388617, - 46.8626311 - ], - [ - 10.1664155, - 46.8390378 - ], - [ - 10.1353672, - 46.8472966 - ], - [ - 10.1319174, - 46.8720655 - ], - [ - 10.1060438, - 46.886214 - ], - [ - 10.0922445, - 46.9274592 - ], - [ - 10.1250177, - 46.952191 - ], - [ - 10.1457166, - 47.0004442 - ], - [ - 10.1129434, - 47.0251423 - ], - [ - 10.1526163, - 47.0498291 - ], - [ - 10.1301925, - 47.0627556 - ], - [ - 10.1336423, - 47.0909482 - ], - [ - 10.1595159, - 47.126168 - ], - [ - 10.2009137, - 47.1425959 - ], - [ - 10.1922891, - 47.2000536 - ], - [ - 10.2095382, - 47.2129438 - ], - [ - 10.1871144, - 47.2398857 - ], - [ - 10.2009137, - 47.2562785 - ], - [ - 10.1681404, - 47.2633024 - ], - [ - 10.1681404, - 47.2808581 - ], - [ - 10.2026386, - 47.2913887 - ], - [ - 10.2440364, - 47.2890488 - ], - [ - 10.3337316, - 47.3206295 - ], - [ - 10.3889286, - 47.3907413 - ], - [ - 10.4148022, - 47.3942444 - ], - [ - 10.4562, - 47.436264 - ], - [ - 10.4475755, - 47.4817474 - ], - [ - 10.419977, - 47.5050569 - ], - [ - 10.4424008, - 47.5551374 - ], - [ - 10.4130773, - 47.5714324 - ], - [ - 10.4399766, - 47.5976781 - ] - ], - [ - [ - 12.401896, - 47.1601916 - ], - [ - 12.3570484, - 47.1390761 - ], - [ - 12.3501488, - 47.1120829 - ], - [ - 12.3104759, - 47.107387 - ], - [ - 12.2552789, - 47.0721548 - ], - [ - 12.2138811, - 47.0592305 - ], - [ - 12.2000818, - 47.0263181 - ], - [ - 12.1448848, - 47.0310212 - ], - [ - 12.1155613, - 47.007502 - ], - [ - 12.1362602, - 46.9592552 - ], - [ - 12.1673086, - 46.9357044 - ], - [ - 12.1431599, - 46.9109649 - ], - [ - 12.1897324, - 46.9003588 - ], - [ - 12.2173309, - 46.8661692 - ], - [ - 12.2552789, - 46.8838562 - ], - [ - 12.2742529, - 46.8826772 - ], - [ - 12.2984016, - 46.8343179 - ], - [ - 12.2759778, - 46.8201557 - ], - [ - 12.2794276, - 46.7776467 - ], - [ - 12.3501488, - 46.77174 - ], - [ - 12.3811972, - 46.7150029 - ], - [ - 12.4432938, - 46.6842454 - ], - [ - 12.5140151, - 46.6700437 - ], - [ - 12.5657623, - 46.6487342 - ], - [ - 12.6295839, - 46.6534704 - ], - [ - 12.70203, - 46.6534704 - ], - [ - 12.7037549, - 46.6984434 - ], - [ - 12.7296285, - 46.7008093 - ], - [ - 12.7227289, - 46.7374685 - ], - [ - 12.8020747, - 46.7492887 - ], - [ - 12.8538219, - 46.744561 - ], - [ - 12.9038442, - 46.77174 - ], - [ - 12.9279929, - 46.7599247 - ], - [ - 12.9573164, - 46.7764654 - ], - [ - 12.9797402, - 46.7977246 - ], - [ - 12.8952197, - 46.8331378 - ], - [ - 12.8952197, - 46.8484763 - ], - [ - 12.8451974, - 46.8638104 - ], - [ - 12.8469223, - 46.9156781 - ], - [ - 12.7968999, - 46.930993 - ], - [ - 12.7882754, - 46.9474811 - ], - [ - 12.7486025, - 46.9686726 - ], - [ - 12.7365282, - 46.9969149 - ], - [ - 12.7813758, - 47.0416014 - ], - [ - 12.7624018, - 47.0510043 - ], - [ - 12.7141044, - 47.0451277 - ], - [ - 12.7106545, - 47.0780285 - ], - [ - 12.6226842, - 47.126168 - ], - [ - 12.5692121, - 47.1414227 - ], - [ - 12.551963, - 47.1332091 - ], - [ - 12.5260894, - 47.154327 - ], - [ - 12.4829667, - 47.1648828 - ], - [ - 12.4605429, - 47.1484618 - ], - [ - 12.4346693, - 47.1578459 - ], - [ - 12.4191451, - 47.1437691 - ], - [ - 12.401896, - 47.1601916 - ] - ] - ], - terms_url: "https://tiris.tirol.gv.at", - terms_text: "tiris.tirol.gv.at", - icon: "https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif" - }, - { - id: "tirol.gv.at-DOM", - name: "Tiris: DOM (Surface model)", - type: "wms", - template: "https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image Schummerung_Oberflaechenmodell&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 10.4399766, - 47.5976781 - ], - [ - 10.4788646, - 47.5992486 - ], - [ - 10.5027725, - 47.5865589 - ], - [ - 10.4837986, - 47.5597936 - ], - [ - 10.513122, - 47.5434951 - ], - [ - 10.5717689, - 47.5458237 - ], - [ - 10.570044, - 47.5621216 - ], - [ - 10.6010923, - 47.5807415 - ], - [ - 10.6390403, - 47.5691048 - ], - [ - 10.7080366, - 47.5702686 - ], - [ - 10.7114864, - 47.5493166 - ], - [ - 10.7684083, - 47.5504808 - ], - [ - 10.7856574, - 47.5260267 - ], - [ - 10.8960515, - 47.5504808 - ], - [ - 10.9357244, - 47.5236971 - ], - [ - 10.9339995, - 47.5050569 - ], - [ - 10.8908768, - 47.4957344 - ], - [ - 10.9512486, - 47.4910724 - ], - [ - 10.9546984, - 47.4677567 - ], - [ - 11.0029958, - 47.4327637 - ], - [ - 10.9909215, - 47.4082547 - ], - [ - 11.1030405, - 47.4047525 - ], - [ - 11.1151148, - 47.4199271 - ], - [ - 11.2099847, - 47.4455971 - ], - [ - 11.2686316, - 47.4409308 - ], - [ - 11.2669067, - 47.4105894 - ], - [ - 11.2945052, - 47.4420974 - ], - [ - 11.3307283, - 47.4607599 - ], - [ - 11.3824755, - 47.4584275 - ], - [ - 11.3704012, - 47.4759184 - ], - [ - 11.4393975, - 47.5306855 - ], - [ - 11.466996, - 47.5178728 - ], - [ - 11.5739403, - 47.5236971 - ], - [ - 11.5756652, - 47.5586296 - ], - [ - 11.598089, - 47.5912123 - ], - [ - 11.6343121, - 47.6063331 - ], - [ - 11.6688102, - 47.5947021 - ], - [ - 11.7930036, - 47.602844 - ], - [ - 11.8395761, - 47.5923756 - ], - [ - 11.8499255, - 47.6109847 - ], - [ - 12.0068922, - 47.6365615 - ], - [ - 12.0362156, - 47.6249373 - ], - [ - 12.0776134, - 47.6272623 - ], - [ - 12.1086617, - 47.6191242 - ], - [ - 12.1949071, - 47.6226121 - ], - [ - 12.1535093, - 47.6876775 - ], - [ - 12.158684, - 47.7166984 - ], - [ - 12.1811078, - 47.7120562 - ], - [ - 12.2190558, - 47.7248214 - ], - [ - 12.2414796, - 47.7538216 - ], - [ - 12.272528, - 47.7515022 - ], - [ - 12.2846023, - 47.7317829 - ], - [ - 12.2656283, - 47.695805 - ], - [ - 12.3363495, - 47.7108955 - ], - [ - 12.3760224, - 47.695805 - ], - [ - 12.4432938, - 47.7027704 - ], - [ - 12.4536433, - 47.692322 - ], - [ - 12.4536433, - 47.6749032 - ], - [ - 12.5105652, - 47.6319121 - ], - [ - 12.5312641, - 47.6458591 - ], - [ - 12.589911, - 47.6342369 - ], - [ - 12.5795615, - 47.6109847 - ], - [ - 12.6658069, - 47.5947021 - ], - [ - 12.6796062, - 47.5749235 - ], - [ - 12.645108, - 47.5504808 - ], - [ - 12.6675318, - 47.5318501 - ], - [ - 12.6847809, - 47.5038917 - ], - [ - 12.7123795, - 47.4817474 - ], - [ - 12.6675318, - 47.4560949 - ], - [ - 12.6416582, - 47.4595937 - ], - [ - 12.6502828, - 47.443264 - ], - [ - 12.6209593, - 47.4070873 - ], - [ - 12.5743868, - 47.3860701 - ], - [ - 12.5502381, - 47.3965797 - ], - [ - 12.4915913, - 47.3720539 - ], - [ - 12.5088403, - 47.3510227 - ], - [ - 12.4881414, - 47.3206295 - ], - [ - 12.4346693, - 47.322968 - ], - [ - 12.4139704, - 47.3042567 - ], - [ - 12.3639481, - 47.3089351 - ], - [ - 12.3122008, - 47.3276449 - ], - [ - 12.2708031, - 47.298408 - ], - [ - 12.177658, - 47.2937286 - ], - [ - 12.1483346, - 47.2843686 - ], - [ - 12.1172863, - 47.2995778 - ], - [ - 12.0983123, - 47.2750069 - ], - [ - 12.1259108, - 47.2504245 - ], - [ - 12.0965874, - 47.1977096 - ], - [ - 12.1103866, - 47.1484618 - ], - [ - 12.141435, - 47.109735 - ], - [ - 12.1379852, - 47.0897738 - ], - [ - 12.1500595, - 47.0756791 - ], - [ - 12.0051672, - 47.0439523 - ], - [ - 11.9206468, - 47.0298454 - ], - [ - 11.8309516, - 46.9910324 - ], - [ - 11.7878289, - 46.9863258 - ], - [ - 11.7740296, - 46.9674955 - ], - [ - 11.7309069, - 46.9651413 - ], - [ - 11.7067582, - 46.9898558 - ], - [ - 11.6429366, - 46.994562 - ], - [ - 11.6118883, - 47.0051495 - ], - [ - 11.5325425, - 46.9780884 - ], - [ - 11.4928696, - 47.0086782 - ], - [ - 11.4445722, - 46.9674955 - ], - [ - 11.4048993, - 46.9616097 - ], - [ - 11.3445276, - 46.9863258 - ], - [ - 11.2030851, - 46.9569006 - ], - [ - 11.1754866, - 46.9616097 - ], - [ - 11.1772115, - 46.9439484 - ], - [ - 11.1461632, - 46.922747 - ], - [ - 11.1254643, - 46.922747 - ], - [ - 11.1082152, - 46.9038944 - ], - [ - 11.1151148, - 46.8885717 - ], - [ - 11.0823416, - 46.853195 - ], - [ - 11.0961408, - 46.8236966 - ], - [ - 11.0512932, - 46.8024477 - ], - [ - 11.0236947, - 46.762288 - ], - [ - 10.9184753, - 46.7705586 - ], - [ - 10.8839772, - 46.7575613 - ], - [ - 10.8408545, - 46.7729214 - ], - [ - 10.8236054, - 46.7693772 - ], - [ - 10.7908322, - 46.7894581 - ], - [ - 10.756334, - 46.778828 - ], - [ - 10.7252857, - 46.7906391 - ], - [ - 10.7477095, - 46.8272372 - ], - [ - 10.6942373, - 46.8449371 - ], - [ - 10.6735384, - 46.869707 - ], - [ - 10.6079919, - 46.853195 - ], - [ - 10.5545198, - 46.8272372 - ], - [ - 10.5200216, - 46.8390378 - ], - [ - 10.4682744, - 46.8366779 - ], - [ - 10.4510253, - 46.8814982 - ], - [ - 10.475174, - 46.9321709 - ], - [ - 10.4130773, - 46.9557232 - ], - [ - 10.3941034, - 46.9886791 - ], - [ - 10.3665048, - 46.9804421 - ], - [ - 10.3389063, - 46.9474811 - ], - [ - 10.3285569, - 46.9180345 - ], - [ - 10.2975085, - 46.9133215 - ], - [ - 10.2595605, - 46.9251032 - ], - [ - 10.2388617, - 46.8626311 - ], - [ - 10.1664155, - 46.8390378 - ], - [ - 10.1353672, - 46.8472966 - ], - [ - 10.1319174, - 46.8720655 - ], - [ - 10.1060438, - 46.886214 - ], - [ - 10.0922445, - 46.9274592 - ], - [ - 10.1250177, - 46.952191 - ], - [ - 10.1457166, - 47.0004442 - ], - [ - 10.1129434, - 47.0251423 - ], - [ - 10.1526163, - 47.0498291 - ], - [ - 10.1301925, - 47.0627556 - ], - [ - 10.1336423, - 47.0909482 - ], - [ - 10.1595159, - 47.126168 - ], - [ - 10.2009137, - 47.1425959 - ], - [ - 10.1922891, - 47.2000536 - ], - [ - 10.2095382, - 47.2129438 - ], - [ - 10.1871144, - 47.2398857 - ], - [ - 10.2009137, - 47.2562785 - ], - [ - 10.1681404, - 47.2633024 - ], - [ - 10.1681404, - 47.2808581 - ], - [ - 10.2026386, - 47.2913887 - ], - [ - 10.2440364, - 47.2890488 - ], - [ - 10.3337316, - 47.3206295 - ], - [ - 10.3889286, - 47.3907413 - ], - [ - 10.4148022, - 47.3942444 - ], - [ - 10.4562, - 47.436264 - ], - [ - 10.4475755, - 47.4817474 - ], - [ - 10.419977, - 47.5050569 - ], - [ - 10.4424008, - 47.5551374 - ], - [ - 10.4130773, - 47.5714324 - ], - [ - 10.4399766, - 47.5976781 - ] - ], - [ - [ - 12.401896, - 47.1601916 - ], - [ - 12.3570484, - 47.1390761 - ], - [ - 12.3501488, - 47.1120829 - ], - [ - 12.3104759, - 47.107387 - ], - [ - 12.2552789, - 47.0721548 - ], - [ - 12.2138811, - 47.0592305 - ], - [ - 12.2000818, - 47.0263181 - ], - [ - 12.1448848, - 47.0310212 - ], - [ - 12.1155613, - 47.007502 - ], - [ - 12.1362602, - 46.9592552 - ], - [ - 12.1673086, - 46.9357044 - ], - [ - 12.1431599, - 46.9109649 - ], - [ - 12.1897324, - 46.9003588 - ], - [ - 12.2173309, - 46.8661692 - ], - [ - 12.2552789, - 46.8838562 - ], - [ - 12.2742529, - 46.8826772 - ], - [ - 12.2984016, - 46.8343179 - ], - [ - 12.2759778, - 46.8201557 - ], - [ - 12.2794276, - 46.7776467 - ], - [ - 12.3501488, - 46.77174 - ], - [ - 12.3811972, - 46.7150029 - ], - [ - 12.4432938, - 46.6842454 - ], - [ - 12.5140151, - 46.6700437 - ], - [ - 12.5657623, - 46.6487342 - ], - [ - 12.6295839, - 46.6534704 - ], - [ - 12.70203, - 46.6534704 - ], - [ - 12.7037549, - 46.6984434 - ], - [ - 12.7296285, - 46.7008093 - ], - [ - 12.7227289, - 46.7374685 - ], - [ - 12.8020747, - 46.7492887 - ], - [ - 12.8538219, - 46.744561 - ], - [ - 12.9038442, - 46.77174 - ], - [ - 12.9279929, - 46.7599247 - ], - [ - 12.9573164, - 46.7764654 - ], - [ - 12.9797402, - 46.7977246 - ], - [ - 12.8952197, - 46.8331378 - ], - [ - 12.8952197, - 46.8484763 - ], - [ - 12.8451974, - 46.8638104 - ], - [ - 12.8469223, - 46.9156781 - ], - [ - 12.7968999, - 46.930993 - ], - [ - 12.7882754, - 46.9474811 - ], - [ - 12.7486025, - 46.9686726 - ], - [ - 12.7365282, - 46.9969149 - ], - [ - 12.7813758, - 47.0416014 - ], - [ - 12.7624018, - 47.0510043 - ], - [ - 12.7141044, - 47.0451277 - ], - [ - 12.7106545, - 47.0780285 - ], - [ - 12.6226842, - 47.126168 - ], - [ - 12.5692121, - 47.1414227 - ], - [ - 12.551963, - 47.1332091 - ], - [ - 12.5260894, - 47.154327 - ], - [ - 12.4829667, - 47.1648828 - ], - [ - 12.4605429, - 47.1484618 - ], - [ - 12.4346693, - 47.1578459 - ], - [ - 12.4191451, - 47.1437691 - ], - [ - 12.401896, - 47.1601916 - ] - ] - ], - terms_url: "https://tiris.tirol.gv.at", - terms_text: "tiris.tirol.gv.at", - icon: "https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif" - }, - { - id: "tirol.gv.at-orthofoto", - name: "Tiris: orthophoto", - type: "wms", - template: "https://gis.tirol.gv.at/arcgis/services/Service_Public/orthofoto/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image_Aktuell_RGB&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 10.4399766, - 47.5976781 - ], - [ - 10.4788646, - 47.5992486 - ], - [ - 10.5027725, - 47.5865589 - ], - [ - 10.4837986, - 47.5597936 - ], - [ - 10.513122, - 47.5434951 - ], - [ - 10.5717689, - 47.5458237 - ], - [ - 10.570044, - 47.5621216 - ], - [ - 10.6010923, - 47.5807415 - ], - [ - 10.6390403, - 47.5691048 - ], - [ - 10.7080366, - 47.5702686 - ], - [ - 10.7114864, - 47.5493166 - ], - [ - 10.7684083, - 47.5504808 - ], - [ - 10.7856574, - 47.5260267 - ], - [ - 10.8960515, - 47.5504808 - ], - [ - 10.9357244, - 47.5236971 - ], - [ - 10.9339995, - 47.5050569 - ], - [ - 10.8908768, - 47.4957344 - ], - [ - 10.9512486, - 47.4910724 - ], - [ - 10.9546984, - 47.4677567 - ], - [ - 11.0029958, - 47.4327637 - ], - [ - 10.9909215, - 47.4082547 - ], - [ - 11.1030405, - 47.4047525 - ], - [ - 11.1151148, - 47.4199271 - ], - [ - 11.2099847, - 47.4455971 - ], - [ - 11.2686316, - 47.4409308 - ], - [ - 11.2669067, - 47.4105894 - ], - [ - 11.2945052, - 47.4420974 - ], - [ - 11.3307283, - 47.4607599 - ], - [ - 11.3824755, - 47.4584275 - ], - [ - 11.3704012, - 47.4759184 - ], - [ - 11.4393975, - 47.5306855 - ], - [ - 11.466996, - 47.5178728 - ], - [ - 11.5739403, - 47.5236971 - ], - [ - 11.5756652, - 47.5586296 - ], - [ - 11.598089, - 47.5912123 - ], - [ - 11.6343121, - 47.6063331 - ], - [ - 11.6688102, - 47.5947021 - ], - [ - 11.7930036, - 47.602844 - ], - [ - 11.8395761, - 47.5923756 - ], - [ - 11.8499255, - 47.6109847 - ], - [ - 12.0068922, - 47.6365615 - ], - [ - 12.0362156, - 47.6249373 - ], - [ - 12.0776134, - 47.6272623 - ], - [ - 12.1086617, - 47.6191242 - ], - [ - 12.1949071, - 47.6226121 - ], - [ - 12.1535093, - 47.6876775 - ], - [ - 12.158684, - 47.7166984 - ], - [ - 12.1811078, - 47.7120562 - ], - [ - 12.2190558, - 47.7248214 - ], - [ - 12.2414796, - 47.7538216 - ], - [ - 12.272528, - 47.7515022 - ], - [ - 12.2846023, - 47.7317829 - ], - [ - 12.2656283, - 47.695805 - ], - [ - 12.3363495, - 47.7108955 - ], - [ - 12.3760224, - 47.695805 - ], - [ - 12.4432938, - 47.7027704 - ], - [ - 12.4536433, - 47.692322 - ], - [ - 12.4536433, - 47.6749032 - ], - [ - 12.5105652, - 47.6319121 - ], - [ - 12.5312641, - 47.6458591 - ], - [ - 12.589911, - 47.6342369 - ], - [ - 12.5795615, - 47.6109847 - ], - [ - 12.6658069, - 47.5947021 - ], - [ - 12.6796062, - 47.5749235 - ], - [ - 12.645108, - 47.5504808 - ], - [ - 12.6675318, - 47.5318501 - ], - [ - 12.6847809, - 47.5038917 - ], - [ - 12.7123795, - 47.4817474 - ], - [ - 12.6675318, - 47.4560949 - ], - [ - 12.6416582, - 47.4595937 - ], - [ - 12.6502828, - 47.443264 - ], - [ - 12.6209593, - 47.4070873 - ], - [ - 12.5743868, - 47.3860701 - ], - [ - 12.5502381, - 47.3965797 - ], - [ - 12.4915913, - 47.3720539 - ], - [ - 12.5088403, - 47.3510227 - ], - [ - 12.4881414, - 47.3206295 - ], - [ - 12.4346693, - 47.322968 - ], - [ - 12.4139704, - 47.3042567 - ], - [ - 12.3639481, - 47.3089351 - ], - [ - 12.3122008, - 47.3276449 - ], - [ - 12.2708031, - 47.298408 - ], - [ - 12.177658, - 47.2937286 - ], - [ - 12.1483346, - 47.2843686 - ], - [ - 12.1172863, - 47.2995778 - ], - [ - 12.0983123, - 47.2750069 - ], - [ - 12.1259108, - 47.2504245 - ], - [ - 12.0965874, - 47.1977096 - ], - [ - 12.1103866, - 47.1484618 - ], - [ - 12.141435, - 47.109735 - ], - [ - 12.1379852, - 47.0897738 - ], - [ - 12.1500595, - 47.0756791 - ], - [ - 12.0051672, - 47.0439523 - ], - [ - 11.9206468, - 47.0298454 - ], - [ - 11.8309516, - 46.9910324 - ], - [ - 11.7878289, - 46.9863258 - ], - [ - 11.7740296, - 46.9674955 - ], - [ - 11.7309069, - 46.9651413 - ], - [ - 11.7067582, - 46.9898558 - ], - [ - 11.6429366, - 46.994562 - ], - [ - 11.6118883, - 47.0051495 - ], - [ - 11.5325425, - 46.9780884 - ], - [ - 11.4928696, - 47.0086782 - ], - [ - 11.4445722, - 46.9674955 - ], - [ - 11.4048993, - 46.9616097 - ], - [ - 11.3445276, - 46.9863258 - ], - [ - 11.2030851, - 46.9569006 - ], - [ - 11.1754866, - 46.9616097 - ], - [ - 11.1772115, - 46.9439484 - ], - [ - 11.1461632, - 46.922747 - ], - [ - 11.1254643, - 46.922747 - ], - [ - 11.1082152, - 46.9038944 - ], - [ - 11.1151148, - 46.8885717 - ], - [ - 11.0823416, - 46.853195 - ], - [ - 11.0961408, - 46.8236966 - ], - [ - 11.0512932, - 46.8024477 - ], - [ - 11.0236947, - 46.762288 - ], - [ - 10.9184753, - 46.7705586 - ], - [ - 10.8839772, - 46.7575613 - ], - [ - 10.8408545, - 46.7729214 - ], - [ - 10.8236054, - 46.7693772 - ], - [ - 10.7908322, - 46.7894581 - ], - [ - 10.756334, - 46.778828 - ], - [ - 10.7252857, - 46.7906391 - ], - [ - 10.7477095, - 46.8272372 - ], - [ - 10.6942373, - 46.8449371 - ], - [ - 10.6735384, - 46.869707 - ], - [ - 10.6079919, - 46.853195 - ], - [ - 10.5545198, - 46.8272372 - ], - [ - 10.5200216, - 46.8390378 - ], - [ - 10.4682744, - 46.8366779 - ], - [ - 10.4510253, - 46.8814982 - ], - [ - 10.475174, - 46.9321709 - ], - [ - 10.4130773, - 46.9557232 - ], - [ - 10.3941034, - 46.9886791 - ], - [ - 10.3665048, - 46.9804421 - ], - [ - 10.3389063, - 46.9474811 - ], - [ - 10.3285569, - 46.9180345 - ], - [ - 10.2975085, - 46.9133215 - ], - [ - 10.2595605, - 46.9251032 - ], - [ - 10.2388617, - 46.8626311 - ], - [ - 10.1664155, - 46.8390378 - ], - [ - 10.1353672, - 46.8472966 - ], - [ - 10.1319174, - 46.8720655 - ], - [ - 10.1060438, - 46.886214 - ], - [ - 10.0922445, - 46.9274592 - ], - [ - 10.1250177, - 46.952191 - ], - [ - 10.1457166, - 47.0004442 - ], - [ - 10.1129434, - 47.0251423 - ], - [ - 10.1526163, - 47.0498291 - ], - [ - 10.1301925, - 47.0627556 - ], - [ - 10.1336423, - 47.0909482 - ], - [ - 10.1595159, - 47.126168 - ], - [ - 10.2009137, - 47.1425959 - ], - [ - 10.1922891, - 47.2000536 - ], - [ - 10.2095382, - 47.2129438 - ], - [ - 10.1871144, - 47.2398857 - ], - [ - 10.2009137, - 47.2562785 - ], - [ - 10.1681404, - 47.2633024 - ], - [ - 10.1681404, - 47.2808581 - ], - [ - 10.2026386, - 47.2913887 - ], - [ - 10.2440364, - 47.2890488 - ], - [ - 10.3337316, - 47.3206295 - ], - [ - 10.3889286, - 47.3907413 - ], - [ - 10.4148022, - 47.3942444 - ], - [ - 10.4562, - 47.436264 - ], - [ - 10.4475755, - 47.4817474 - ], - [ - 10.419977, - 47.5050569 - ], - [ - 10.4424008, - 47.5551374 - ], - [ - 10.4130773, - 47.5714324 - ], - [ - 10.4399766, - 47.5976781 - ] - ], - [ - [ - 12.401896, - 47.1601916 - ], - [ - 12.3570484, - 47.1390761 - ], - [ - 12.3501488, - 47.1120829 - ], - [ - 12.3104759, - 47.107387 - ], - [ - 12.2552789, - 47.0721548 - ], - [ - 12.2138811, - 47.0592305 - ], - [ - 12.2000818, - 47.0263181 - ], - [ - 12.1448848, - 47.0310212 - ], - [ - 12.1155613, - 47.007502 - ], - [ - 12.1362602, - 46.9592552 - ], - [ - 12.1673086, - 46.9357044 - ], - [ - 12.1431599, - 46.9109649 - ], - [ - 12.1897324, - 46.9003588 - ], - [ - 12.2173309, - 46.8661692 - ], - [ - 12.2552789, - 46.8838562 - ], - [ - 12.2742529, - 46.8826772 - ], - [ - 12.2984016, - 46.8343179 - ], - [ - 12.2759778, - 46.8201557 - ], - [ - 12.2794276, - 46.7776467 - ], - [ - 12.3501488, - 46.77174 - ], - [ - 12.3811972, - 46.7150029 - ], - [ - 12.4432938, - 46.6842454 - ], - [ - 12.5140151, - 46.6700437 - ], - [ - 12.5657623, - 46.6487342 - ], - [ - 12.6295839, - 46.6534704 - ], - [ - 12.70203, - 46.6534704 - ], - [ - 12.7037549, - 46.6984434 - ], - [ - 12.7296285, - 46.7008093 - ], - [ - 12.7227289, - 46.7374685 - ], - [ - 12.8020747, - 46.7492887 - ], - [ - 12.8538219, - 46.744561 - ], - [ - 12.9038442, - 46.77174 - ], - [ - 12.9279929, - 46.7599247 - ], - [ - 12.9573164, - 46.7764654 - ], - [ - 12.9797402, - 46.7977246 - ], - [ - 12.8952197, - 46.8331378 - ], - [ - 12.8952197, - 46.8484763 - ], - [ - 12.8451974, - 46.8638104 - ], - [ - 12.8469223, - 46.9156781 - ], - [ - 12.7968999, - 46.930993 - ], - [ - 12.7882754, - 46.9474811 - ], - [ - 12.7486025, - 46.9686726 - ], - [ - 12.7365282, - 46.9969149 - ], - [ - 12.7813758, - 47.0416014 - ], - [ - 12.7624018, - 47.0510043 - ], - [ - 12.7141044, - 47.0451277 - ], - [ - 12.7106545, - 47.0780285 - ], - [ - 12.6226842, - 47.126168 - ], - [ - 12.5692121, - 47.1414227 - ], - [ - 12.551963, - 47.1332091 - ], - [ - 12.5260894, - 47.154327 - ], - [ - 12.4829667, - 47.1648828 - ], - [ - 12.4605429, - 47.1484618 - ], - [ - 12.4346693, - 47.1578459 - ], - [ - 12.4191451, - 47.1437691 - ], - [ - 12.401896, - 47.1601916 - ] - ] - ], - terms_url: "https://tiris.tirol.gv.at", - terms_text: "tiris.tirol.gv.at", - icon: "https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif" - }, - { - id: "tirol.gv.at-orthofoto-cir", - name: "Tiris: orthophoto infrared", - type: "wms", - template: "https://gis.tirol.gv.at/arcgis/services/Service_Public/orthofoto/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image_Aktuell_CIR&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 10.4399766, - 47.5976781 - ], - [ - 10.4788646, - 47.5992486 - ], - [ - 10.5027725, - 47.5865589 - ], - [ - 10.4837986, - 47.5597936 - ], - [ - 10.513122, - 47.5434951 - ], - [ - 10.5717689, - 47.5458237 - ], - [ - 10.570044, - 47.5621216 - ], - [ - 10.6010923, - 47.5807415 - ], - [ - 10.6390403, - 47.5691048 - ], - [ - 10.7080366, - 47.5702686 - ], - [ - 10.7114864, - 47.5493166 - ], - [ - 10.7684083, - 47.5504808 - ], - [ - 10.7856574, - 47.5260267 - ], - [ - 10.8960515, - 47.5504808 - ], - [ - 10.9357244, - 47.5236971 - ], - [ - 10.9339995, - 47.5050569 - ], - [ - 10.8908768, - 47.4957344 - ], - [ - 10.9512486, - 47.4910724 - ], - [ - 10.9546984, - 47.4677567 - ], - [ - 11.0029958, - 47.4327637 - ], - [ - 10.9909215, - 47.4082547 - ], - [ - 11.1030405, - 47.4047525 - ], - [ - 11.1151148, - 47.4199271 - ], - [ - 11.2099847, - 47.4455971 - ], - [ - 11.2686316, - 47.4409308 - ], - [ - 11.2669067, - 47.4105894 - ], - [ - 11.2945052, - 47.4420974 - ], - [ - 11.3307283, - 47.4607599 - ], - [ - 11.3824755, - 47.4584275 - ], - [ - 11.3704012, - 47.4759184 - ], - [ - 11.4393975, - 47.5306855 - ], - [ - 11.466996, - 47.5178728 - ], - [ - 11.5739403, - 47.5236971 - ], - [ - 11.5756652, - 47.5586296 - ], - [ - 11.598089, - 47.5912123 - ], - [ - 11.6343121, - 47.6063331 - ], - [ - 11.6688102, - 47.5947021 - ], - [ - 11.7930036, - 47.602844 - ], - [ - 11.8395761, - 47.5923756 - ], - [ - 11.8499255, - 47.6109847 - ], - [ - 12.0068922, - 47.6365615 - ], - [ - 12.0362156, - 47.6249373 - ], - [ - 12.0776134, - 47.6272623 - ], - [ - 12.1086617, - 47.6191242 - ], - [ - 12.1949071, - 47.6226121 - ], - [ - 12.1535093, - 47.6876775 - ], - [ - 12.158684, - 47.7166984 - ], - [ - 12.1811078, - 47.7120562 - ], - [ - 12.2190558, - 47.7248214 - ], - [ - 12.2414796, - 47.7538216 - ], - [ - 12.272528, - 47.7515022 - ], - [ - 12.2846023, - 47.7317829 - ], - [ - 12.2656283, - 47.695805 - ], - [ - 12.3363495, - 47.7108955 - ], - [ - 12.3760224, - 47.695805 - ], - [ - 12.4432938, - 47.7027704 - ], - [ - 12.4536433, - 47.692322 - ], - [ - 12.4536433, - 47.6749032 - ], - [ - 12.5105652, - 47.6319121 - ], - [ - 12.5312641, - 47.6458591 - ], - [ - 12.589911, - 47.6342369 - ], - [ - 12.5795615, - 47.6109847 - ], - [ - 12.6658069, - 47.5947021 - ], - [ - 12.6796062, - 47.5749235 - ], - [ - 12.645108, - 47.5504808 - ], - [ - 12.6675318, - 47.5318501 - ], - [ - 12.6847809, - 47.5038917 - ], - [ - 12.7123795, - 47.4817474 - ], - [ - 12.6675318, - 47.4560949 - ], - [ - 12.6416582, - 47.4595937 - ], - [ - 12.6502828, - 47.443264 - ], - [ - 12.6209593, - 47.4070873 - ], - [ - 12.5743868, - 47.3860701 - ], - [ - 12.5502381, - 47.3965797 - ], - [ - 12.4915913, - 47.3720539 - ], - [ - 12.5088403, - 47.3510227 - ], - [ - 12.4881414, - 47.3206295 - ], - [ - 12.4346693, - 47.322968 - ], - [ - 12.4139704, - 47.3042567 - ], - [ - 12.3639481, - 47.3089351 - ], - [ - 12.3122008, - 47.3276449 - ], - [ - 12.2708031, - 47.298408 - ], - [ - 12.177658, - 47.2937286 - ], - [ - 12.1483346, - 47.2843686 - ], - [ - 12.1172863, - 47.2995778 - ], - [ - 12.0983123, - 47.2750069 - ], - [ - 12.1259108, - 47.2504245 - ], - [ - 12.0965874, - 47.1977096 - ], - [ - 12.1103866, - 47.1484618 - ], - [ - 12.141435, - 47.109735 - ], - [ - 12.1379852, - 47.0897738 - ], - [ - 12.1500595, - 47.0756791 - ], - [ - 12.0051672, - 47.0439523 - ], - [ - 11.9206468, - 47.0298454 - ], - [ - 11.8309516, - 46.9910324 - ], - [ - 11.7878289, - 46.9863258 - ], - [ - 11.7740296, - 46.9674955 - ], - [ - 11.7309069, - 46.9651413 - ], - [ - 11.7067582, - 46.9898558 - ], - [ - 11.6429366, - 46.994562 - ], - [ - 11.6118883, - 47.0051495 - ], - [ - 11.5325425, - 46.9780884 - ], - [ - 11.4928696, - 47.0086782 - ], - [ - 11.4445722, - 46.9674955 - ], - [ - 11.4048993, - 46.9616097 - ], - [ - 11.3445276, - 46.9863258 - ], - [ - 11.2030851, - 46.9569006 - ], - [ - 11.1754866, - 46.9616097 - ], - [ - 11.1772115, - 46.9439484 - ], - [ - 11.1461632, - 46.922747 - ], - [ - 11.1254643, - 46.922747 - ], - [ - 11.1082152, - 46.9038944 - ], - [ - 11.1151148, - 46.8885717 - ], - [ - 11.0823416, - 46.853195 - ], - [ - 11.0961408, - 46.8236966 - ], - [ - 11.0512932, - 46.8024477 - ], - [ - 11.0236947, - 46.762288 - ], - [ - 10.9184753, - 46.7705586 - ], - [ - 10.8839772, - 46.7575613 - ], - [ - 10.8408545, - 46.7729214 - ], - [ - 10.8236054, - 46.7693772 - ], - [ - 10.7908322, - 46.7894581 - ], - [ - 10.756334, - 46.778828 - ], - [ - 10.7252857, - 46.7906391 - ], - [ - 10.7477095, - 46.8272372 - ], - [ - 10.6942373, - 46.8449371 - ], - [ - 10.6735384, - 46.869707 - ], - [ - 10.6079919, - 46.853195 - ], - [ - 10.5545198, - 46.8272372 - ], - [ - 10.5200216, - 46.8390378 - ], - [ - 10.4682744, - 46.8366779 - ], - [ - 10.4510253, - 46.8814982 - ], - [ - 10.475174, - 46.9321709 - ], - [ - 10.4130773, - 46.9557232 - ], - [ - 10.3941034, - 46.9886791 - ], - [ - 10.3665048, - 46.9804421 - ], - [ - 10.3389063, - 46.9474811 - ], - [ - 10.3285569, - 46.9180345 - ], - [ - 10.2975085, - 46.9133215 - ], - [ - 10.2595605, - 46.9251032 - ], - [ - 10.2388617, - 46.8626311 - ], - [ - 10.1664155, - 46.8390378 - ], - [ - 10.1353672, - 46.8472966 - ], - [ - 10.1319174, - 46.8720655 - ], - [ - 10.1060438, - 46.886214 - ], - [ - 10.0922445, - 46.9274592 - ], - [ - 10.1250177, - 46.952191 - ], - [ - 10.1457166, - 47.0004442 - ], - [ - 10.1129434, - 47.0251423 - ], - [ - 10.1526163, - 47.0498291 - ], - [ - 10.1301925, - 47.0627556 - ], - [ - 10.1336423, - 47.0909482 - ], - [ - 10.1595159, - 47.126168 - ], - [ - 10.2009137, - 47.1425959 - ], - [ - 10.1922891, - 47.2000536 - ], - [ - 10.2095382, - 47.2129438 - ], - [ - 10.1871144, - 47.2398857 - ], - [ - 10.2009137, - 47.2562785 - ], - [ - 10.1681404, - 47.2633024 - ], - [ - 10.1681404, - 47.2808581 - ], - [ - 10.2026386, - 47.2913887 - ], - [ - 10.2440364, - 47.2890488 - ], - [ - 10.3337316, - 47.3206295 - ], - [ - 10.3889286, - 47.3907413 - ], - [ - 10.4148022, - 47.3942444 - ], - [ - 10.4562, - 47.436264 - ], - [ - 10.4475755, - 47.4817474 - ], - [ - 10.419977, - 47.5050569 - ], - [ - 10.4424008, - 47.5551374 - ], - [ - 10.4130773, - 47.5714324 - ], - [ - 10.4399766, - 47.5976781 - ] - ], - [ - [ - 12.401896, - 47.1601916 - ], - [ - 12.3570484, - 47.1390761 - ], - [ - 12.3501488, - 47.1120829 - ], - [ - 12.3104759, - 47.107387 - ], - [ - 12.2552789, - 47.0721548 - ], - [ - 12.2138811, - 47.0592305 - ], - [ - 12.2000818, - 47.0263181 - ], - [ - 12.1448848, - 47.0310212 - ], - [ - 12.1155613, - 47.007502 - ], - [ - 12.1362602, - 46.9592552 - ], - [ - 12.1673086, - 46.9357044 - ], - [ - 12.1431599, - 46.9109649 - ], - [ - 12.1897324, - 46.9003588 - ], - [ - 12.2173309, - 46.8661692 - ], - [ - 12.2552789, - 46.8838562 - ], - [ - 12.2742529, - 46.8826772 - ], - [ - 12.2984016, - 46.8343179 - ], - [ - 12.2759778, - 46.8201557 - ], - [ - 12.2794276, - 46.7776467 - ], - [ - 12.3501488, - 46.77174 - ], - [ - 12.3811972, - 46.7150029 - ], - [ - 12.4432938, - 46.6842454 - ], - [ - 12.5140151, - 46.6700437 - ], - [ - 12.5657623, - 46.6487342 - ], - [ - 12.6295839, - 46.6534704 - ], - [ - 12.70203, - 46.6534704 - ], - [ - 12.7037549, - 46.6984434 - ], - [ - 12.7296285, - 46.7008093 - ], - [ - 12.7227289, - 46.7374685 - ], - [ - 12.8020747, - 46.7492887 - ], - [ - 12.8538219, - 46.744561 - ], - [ - 12.9038442, - 46.77174 - ], - [ - 12.9279929, - 46.7599247 - ], - [ - 12.9573164, - 46.7764654 - ], - [ - 12.9797402, - 46.7977246 - ], - [ - 12.8952197, - 46.8331378 - ], - [ - 12.8952197, - 46.8484763 - ], - [ - 12.8451974, - 46.8638104 - ], - [ - 12.8469223, - 46.9156781 - ], - [ - 12.7968999, - 46.930993 - ], - [ - 12.7882754, - 46.9474811 - ], - [ - 12.7486025, - 46.9686726 - ], - [ - 12.7365282, - 46.9969149 - ], - [ - 12.7813758, - 47.0416014 - ], - [ - 12.7624018, - 47.0510043 - ], - [ - 12.7141044, - 47.0451277 - ], - [ - 12.7106545, - 47.0780285 - ], - [ - 12.6226842, - 47.126168 - ], - [ - 12.5692121, - 47.1414227 - ], - [ - 12.551963, - 47.1332091 - ], - [ - 12.5260894, - 47.154327 - ], - [ - 12.4829667, - 47.1648828 - ], - [ - 12.4605429, - 47.1484618 - ], - [ - 12.4346693, - 47.1578459 - ], - [ - 12.4191451, - 47.1437691 - ], - [ - 12.401896, - 47.1601916 - ] - ] - ], - terms_url: "https://tiris.tirol.gv.at", - terms_text: "tiris.tirol.gv.at", - icon: "https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif" - }, - { - id: "lu.geoportail.opendata.topo", - name: "Topographical Map geoportail.lu", - type: "tms", - template: "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/topo/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png", - endDate: "2010-07-20T00:00:00.000Z", - startDate: "2013-07-19T00:00:00.000Z", - 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", - icon: "https://www.geoportail.lu/static/img/lion.png" - }, - { - id: "Torokbalint-orthophoto-2013", - name: "Törökbálint orthophoto 2013", - type: "wms", - template: "https://terkep.torokbalint.hu/mapproxy/service?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ORTO_2013_5CM_2013SZEPT_TAKARASSAL_512_512&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&TRANSPARENT=true", - projection: "EPSG:3857", - endDate: "2013-09-01T00:00:00.000Z", - startDate: "2013-09-01T00:00:00.000Z", - polygon: [ - [ - [ - 18.9173064, - 47.4085354 - ], - [ - 18.9169121, - 47.4084901 - ], - [ - 18.9160618, - 47.4088477 - ], - [ - 18.9156514, - 47.4090528 - ], - [ - 18.9145812, - 47.4093813 - ], - [ - 18.913849, - 47.4097008 - ], - [ - 18.9137605, - 47.4097607 - ], - [ - 18.9131436, - 47.4103815 - ], - [ - 18.9122048, - 47.4109805 - ], - [ - 18.9104104, - 47.4117465 - ], - [ - 18.9093161, - 47.4125778 - ], - [ - 18.9084095, - 47.4131731 - ], - [ - 18.9067599, - 47.4144328 - ], - [ - 18.90481, - 47.4156797 - ], - [ - 18.9036191, - 47.4159737 - ], - [ - 18.9031738, - 47.4161643 - ], - [ - 18.9006203, - 47.417422 - ], - [ - 18.9004192, - 47.4175527 - ], - [ - 18.8996789, - 47.4179738 - ], - [ - 18.8988796, - 47.4181843 - ], - [ - 18.898142, - 47.4183495 - ], - [ - 18.897517, - 47.4185509 - ], - [ - 18.896656, - 47.4190083 - ], - [ - 18.8958004, - 47.4195436 - ], - [ - 18.8942072, - 47.4205001 - ], - [ - 18.8905513, - 47.4220862 - ], - [ - 18.8874319, - 47.4233166 - ], - [ - 18.8855383, - 47.4242421 - ], - [ - 18.8843554, - 47.4247611 - ], - [ - 18.8818851, - 47.4255287 - ], - [ - 18.8808498, - 47.4259805 - ], - [ - 18.8801014, - 47.4262872 - ], - [ - 18.879557, - 47.4264922 - ], - [ - 18.8774098, - 47.4273787 - ], - [ - 18.8760151, - 47.4278868 - ], - [ - 18.8750763, - 47.4283585 - ], - [ - 18.8728072, - 47.4293384 - ], - [ - 18.8716377, - 47.4296795 - ], - [ - 18.8713963, - 47.4300061 - ], - [ - 18.8725872, - 47.4323032 - ], - [ - 18.8727321, - 47.4327822 - ], - [ - 18.8727374, - 47.4332431 - ], - [ - 18.872437, - 47.4348216 - ], - [ - 18.8720562, - 47.4352642 - ], - [ - 18.8689126, - 47.4371221 - ], - [ - 18.8656135, - 47.4374994 - ], - [ - 18.864664, - 47.4377353 - ], - [ - 18.8640364, - 47.4380909 - ], - [ - 18.8637762, - 47.4379113 - ], - [ - 18.8634034, - 47.4378423 - ], - [ - 18.8630037, - 47.437982 - ], - [ - 18.8519503, - 47.4471521 - ], - [ - 18.8521703, - 47.4484689 - ], - [ - 18.8592969, - 47.4538685 - ], - [ - 18.8583876, - 47.4551181 - ], - [ - 18.857768, - 47.4556839 - ], - [ - 18.8571779, - 47.4559977 - ], - [ - 18.8571967, - 47.456355 - ], - [ - 18.860151, - 47.4583903 - ], - [ - 18.8619415, - 47.4594978 - ], - [ - 18.8609867, - 47.4607128 - ], - [ - 18.8597904, - 47.4620076 - ], - [ - 18.8592862, - 47.4623594 - ], - [ - 18.8585941, - 47.4627221 - ], - [ - 18.8571297, - 47.4633313 - ], - [ - 18.8563411, - 47.4636033 - ], - [ - 18.8562821, - 47.4640277 - ], - [ - 18.857194, - 47.4652825 - ], - [ - 18.8566254, - 47.4655073 - ], - [ - 18.8565288, - 47.4658047 - ], - [ - 18.8569285, - 47.4665563 - ], - [ - 18.8583635, - 47.4695253 - ], - [ - 18.8582641, - 47.4698029 - ], - [ - 18.8582669, - 47.4699079 - ], - [ - 18.8583834, - 47.4701931 - ], - [ - 18.8584438, - 47.4702729 - ], - [ - 18.8585189, - 47.4703264 - ], - [ - 18.8586221, - 47.4703609 - ], - [ - 18.8587348, - 47.4703763 - ], - [ - 18.8589011, - 47.4703609 - ], - [ - 18.8614614, - 47.469732 - ], - [ - 18.8627677, - 47.469286 - ], - [ - 18.8661674, - 47.4678491 - ], - [ - 18.8679403, - 47.4665581 - ], - [ - 18.8699654, - 47.4652435 - ], - [ - 18.8708009, - 47.4645698 - ], - [ - 18.8726784, - 47.4633259 - ], - [ - 18.8753606, - 47.4611281 - ], - [ - 18.8768734, - 47.4592711 - ], - [ - 18.8894261, - 47.4598659 - ], - [ - 18.8902415, - 47.4598804 - ], - [ - 18.9037116, - 47.4553357 - ], - [ - 18.9042733, - 47.455203 - ], - [ - 18.9049332, - 47.4550579 - ], - [ - 18.9054213, - 47.4551014 - ], - [ - 18.9056735, - 47.4550543 - ], - [ - 18.9062877, - 47.4547659 - ], - [ - 18.9064835, - 47.4545301 - ], - [ - 18.9065968, - 47.4544712 - ], - [ - 18.9067819, - 47.454395 - ], - [ - 18.9081149, - 47.4539888 - ], - [ - 18.9083731, - 47.4539507 - ], - [ - 18.9089048, - 47.4538437 - ], - [ - 18.9095419, - 47.4536959 - ], - [ - 18.9132587, - 47.4531717 - ], - [ - 18.9135296, - 47.4532043 - ], - [ - 18.9137201, - 47.4531717 - ], - [ - 18.9138649, - 47.4530738 - ], - [ - 18.9143117, - 47.4529381 - ], - [ - 18.9159773, - 47.4529961 - ], - [ - 18.9180668, - 47.4531666 - ], - [ - 18.9184637, - 47.4529997 - ], - [ - 18.9190324, - 47.4516141 - ], - [ - 18.9217253, - 47.4508015 - ], - [ - 18.9224602, - 47.450689 - ], - [ - 18.9241768, - 47.4502537 - ], - [ - 18.9275564, - 47.4498946 - ], - [ - 18.9297237, - 47.4495064 - ], - [ - 18.9322127, - 47.4492199 - ], - [ - 18.9334694, - 47.4493242 - ], - [ - 18.9392093, - 47.4493532 - ], - [ - 18.9422885, - 47.4490339 - ], - [ - 18.945491, - 47.4488961 - ], - [ - 18.9482617, - 47.4487002 - ], - [ - 18.9500347, - 47.4482413 - ], - [ - 18.954699, - 47.4472183 - ], - [ - 18.9574899, - 47.4469162 - ], - [ - 18.958025, - 47.4471475 - ], - [ - 18.9584434, - 47.4470822 - ], - [ - 18.9587666, - 47.4466623 - ], - [ - 18.9614488, - 47.4393046 - ], - [ - 18.9636804, - 47.4357995 - ], - [ - 18.9659764, - 47.432882 - ], - [ - 18.9689912, - 47.4296958 - ], - [ - 18.9701003, - 47.4270366 - ], - [ - 18.9700922, - 47.4267935 - ], - [ - 18.9669541, - 47.424605 - ], - [ - 18.9573531, - 47.4184193 - ], - [ - 18.9567603, - 47.4184012 - ], - [ - 18.9560576, - 47.418129 - ], - [ - 18.9538513, - 47.4173936 - ], - [ - 18.9514447, - 47.4166549 - ], - [ - 18.9513133, - 47.4166426 - ], - [ - 18.9326981, - 47.4170333 - ], - [ - 18.9325733, - 47.4169625 - ], - [ - 18.9320101, - 47.4167393 - ], - [ - 18.9314857, - 47.4163972 - ], - [ - 18.9311357, - 47.4161158 - ], - [ - 18.9212291, - 47.4109106 - ], - [ - 18.9195742, - 47.4098705 - ], - [ - 18.9192684, - 47.4096109 - ], - [ - 18.9173064, - 47.4085354 - ] - ] - ], - terms_url: "http://www.torokbalint.hu", - terms_text: "Törökbálint", - description: "5 cm resolution bald image" - }, - { - id: "Torokbalint-orthophoto-2015", - name: "Törökbálint orthophoto 2015", - type: "wms", - template: "https://terkep.torokbalint.hu/mapproxy/service?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=TBORTO_2015_20160218&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&TRANSPARENT=true", - projection: "EPSG:3857", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 18.9173064, - 47.4085354 - ], - [ - 18.9169121, - 47.4084901 - ], - [ - 18.9160618, - 47.4088477 - ], - [ - 18.9156514, - 47.4090528 - ], - [ - 18.9145812, - 47.4093813 - ], - [ - 18.913849, - 47.4097008 - ], - [ - 18.9137605, - 47.4097607 - ], - [ - 18.9131436, - 47.4103815 - ], - [ - 18.9122048, - 47.4109805 - ], - [ - 18.9104104, - 47.4117465 - ], - [ - 18.9093161, - 47.4125778 - ], - [ - 18.9084095, - 47.4131731 - ], - [ - 18.9067599, - 47.4144328 - ], - [ - 18.90481, - 47.4156797 - ], - [ - 18.9036191, - 47.4159737 - ], - [ - 18.9031738, - 47.4161643 - ], - [ - 18.9006203, - 47.417422 - ], - [ - 18.9004192, - 47.4175527 - ], - [ - 18.8996789, - 47.4179738 - ], - [ - 18.8988796, - 47.4181843 - ], - [ - 18.898142, - 47.4183495 - ], - [ - 18.897517, - 47.4185509 - ], - [ - 18.896656, - 47.4190083 - ], - [ - 18.8958004, - 47.4195436 - ], - [ - 18.8942072, - 47.4205001 - ], - [ - 18.8905513, - 47.4220862 - ], - [ - 18.8874319, - 47.4233166 - ], - [ - 18.8855383, - 47.4242421 - ], - [ - 18.8843554, - 47.4247611 - ], - [ - 18.8818851, - 47.4255287 - ], - [ - 18.8808498, - 47.4259805 - ], - [ - 18.8801014, - 47.4262872 - ], - [ - 18.879557, - 47.4264922 - ], - [ - 18.8774098, - 47.4273787 - ], - [ - 18.8760151, - 47.4278868 - ], - [ - 18.8750763, - 47.4283585 - ], - [ - 18.8728072, - 47.4293384 - ], - [ - 18.8716377, - 47.4296795 - ], - [ - 18.8713963, - 47.4300061 - ], - [ - 18.8725872, - 47.4323032 - ], - [ - 18.8727321, - 47.4327822 - ], - [ - 18.8727374, - 47.4332431 - ], - [ - 18.872437, - 47.4348216 - ], - [ - 18.8720562, - 47.4352642 - ], - [ - 18.8689126, - 47.4371221 - ], - [ - 18.8656135, - 47.4374994 - ], - [ - 18.864664, - 47.4377353 - ], - [ - 18.8640364, - 47.4380909 - ], - [ - 18.8637762, - 47.4379113 - ], - [ - 18.8634034, - 47.4378423 - ], - [ - 18.8630037, - 47.437982 - ], - [ - 18.8519503, - 47.4471521 - ], - [ - 18.8521703, - 47.4484689 - ], - [ - 18.8592969, - 47.4538685 - ], - [ - 18.8583876, - 47.4551181 - ], - [ - 18.857768, - 47.4556839 - ], - [ - 18.8571779, - 47.4559977 - ], - [ - 18.8571967, - 47.456355 - ], - [ - 18.860151, - 47.4583903 - ], - [ - 18.8619415, - 47.4594978 - ], - [ - 18.8609867, - 47.4607128 - ], - [ - 18.8597904, - 47.4620076 - ], - [ - 18.8592862, - 47.4623594 - ], - [ - 18.8585941, - 47.4627221 - ], - [ - 18.8571297, - 47.4633313 - ], - [ - 18.8563411, - 47.4636033 - ], - [ - 18.8562821, - 47.4640277 - ], - [ - 18.857194, - 47.4652825 - ], - [ - 18.8566254, - 47.4655073 - ], - [ - 18.8565288, - 47.4658047 - ], - [ - 18.8569285, - 47.4665563 - ], - [ - 18.8583635, - 47.4695253 - ], - [ - 18.8582641, - 47.4698029 - ], - [ - 18.8582669, - 47.4699079 - ], - [ - 18.8583834, - 47.4701931 - ], - [ - 18.8584438, - 47.4702729 - ], - [ - 18.8585189, - 47.4703264 - ], - [ - 18.8586221, - 47.4703609 - ], - [ - 18.8587348, - 47.4703763 - ], - [ - 18.8589011, - 47.4703609 - ], - [ - 18.8614614, - 47.469732 - ], - [ - 18.8627677, - 47.469286 - ], - [ - 18.8661674, - 47.4678491 - ], - [ - 18.8679403, - 47.4665581 - ], - [ - 18.8699654, - 47.4652435 - ], - [ - 18.8708009, - 47.4645698 - ], - [ - 18.8726784, - 47.4633259 - ], - [ - 18.8753606, - 47.4611281 - ], - [ - 18.8768734, - 47.4592711 - ], - [ - 18.8894261, - 47.4598659 - ], - [ - 18.8902415, - 47.4598804 - ], - [ - 18.9037116, - 47.4553357 - ], - [ - 18.9042733, - 47.455203 - ], - [ - 18.9049332, - 47.4550579 - ], - [ - 18.9054213, - 47.4551014 - ], - [ - 18.9056735, - 47.4550543 - ], - [ - 18.9062877, - 47.4547659 - ], - [ - 18.9064835, - 47.4545301 - ], - [ - 18.9065968, - 47.4544712 - ], - [ - 18.9067819, - 47.454395 - ], - [ - 18.9081149, - 47.4539888 - ], - [ - 18.9083731, - 47.4539507 - ], - [ - 18.9089048, - 47.4538437 - ], - [ - 18.9095419, - 47.4536959 - ], - [ - 18.9132587, - 47.4531717 - ], - [ - 18.9135296, - 47.4532043 - ], - [ - 18.9137201, - 47.4531717 - ], - [ - 18.9138649, - 47.4530738 - ], - [ - 18.9143117, - 47.4529381 - ], - [ - 18.9159773, - 47.4529961 - ], - [ - 18.9180668, - 47.4531666 - ], - [ - 18.9184637, - 47.4529997 - ], - [ - 18.9190324, - 47.4516141 - ], - [ - 18.9217253, - 47.4508015 - ], - [ - 18.9224602, - 47.450689 - ], - [ - 18.9241768, - 47.4502537 - ], - [ - 18.9275564, - 47.4498946 - ], - [ - 18.9297237, - 47.4495064 - ], - [ - 18.9322127, - 47.4492199 - ], - [ - 18.9334694, - 47.4493242 - ], - [ - 18.9392093, - 47.4493532 - ], - [ - 18.9422885, - 47.4490339 - ], - [ - 18.945491, - 47.4488961 - ], - [ - 18.9482617, - 47.4487002 - ], - [ - 18.9500347, - 47.4482413 - ], - [ - 18.954699, - 47.4472183 - ], - [ - 18.9574899, - 47.4469162 - ], - [ - 18.958025, - 47.4471475 - ], - [ - 18.9584434, - 47.4470822 - ], - [ - 18.9587666, - 47.4466623 - ], - [ - 18.9614488, - 47.4393046 - ], - [ - 18.9636804, - 47.4357995 - ], - [ - 18.9659764, - 47.432882 - ], - [ - 18.9689912, - 47.4296958 - ], - [ - 18.9701003, - 47.4270366 - ], - [ - 18.9700922, - 47.4267935 - ], - [ - 18.9669541, - 47.424605 - ], - [ - 18.9573531, - 47.4184193 - ], - [ - 18.9567603, - 47.4184012 - ], - [ - 18.9560576, - 47.418129 - ], - [ - 18.9538513, - 47.4173936 - ], - [ - 18.9514447, - 47.4166549 - ], - [ - 18.9513133, - 47.4166426 - ], - [ - 18.9326981, - 47.4170333 - ], - [ - 18.9325733, - 47.4169625 - ], - [ - 18.9320101, - 47.4167393 - ], - [ - 18.9314857, - 47.4163972 - ], - [ - 18.9311357, - 47.4161158 - ], - [ - 18.9212291, - 47.4109106 - ], - [ - 18.9195742, - 47.4098705 - ], - [ - 18.9192684, - 47.4096109 - ], - [ - 18.9173064, - 47.4085354 - ] - ] - ], - terms_url: "http://fototerkep.hu", - terms_text: "Fototerkep.hu", - best: true, - description: "5 cm resolution bald image" - }, - { - id: "Toulouse-Orthophotoplan-2007", - name: "Toulouse - Orthophotoplan 2007", - type: "wms", - template: "https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2007&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2007-01-01T00:00:00.000Z", - startDate: "2007-01-01T00:00:00.000Z", - 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 - ], - [ - 1.1919978, - 43.6328791 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData", - terms_text: "ToulouseMetropole" - }, - { - id: "Toulouse-Orthophotoplan-2011", - name: "Toulouse - Orthophotoplan 2011", - type: "wms", - template: "https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2011&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2011-01-01T00:00:00.000Z", - 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 - ], - [ - 1.1135067, - 43.6867566 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData", - terms_text: "ToulouseMetropole" - }, - { - id: "Toulouse-Orthophotoplan-2013", - name: "Toulouse - Orthophotoplan 2013", - type: "wms", - template: "https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2013&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - 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 - ], - [ - 1.1135067, - 43.6867566 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData", - terms_text: "ToulouseMetropole" - }, - { - id: "Toulouse-Orthophotoplan-2015", - name: "Toulouse - Orthophotoplan 2015", - type: "wms", - template: "https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2015&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - 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 - ], - [ - 1.1135067, - 43.6867566 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData", - terms_text: "ToulouseMetropole" - }, - { - id: "Tours-Orthophoto-2008_2010", - name: "Tours - Orthophotos 2008-2010", - type: "tms", - template: "http://wms.openstreetmap.fr/tms/1.0.0/tours/{zoom}/{x}/{y}", - endDate: "2011-01-01T00:00:00.000Z", - startDate: "2008-01-01T00:00:00.000Z", - 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 - ], - [ - 0.5457462, - 47.465264 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Tours/Orthophoto", - terms_text: "Orthophoto Tour(s) Plus 2008" - }, - { - id: "Tours-Orthophoto-2013", - name: "Tours - Orthophotos 2013", - type: "tms", - template: "http://wms.openstreetmap.fr/tms/1.0.0/tours_2013/{zoom}/{x}/{y}", - endDate: "2013-01-01T00:00:00.000Z", - startDate: "2013-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 22 - ], - polygon: [ - [ - [ - 0.7751199, - 47.3298327 - ], - [ - 0.7742685, - 47.356166 - ], - [ - 0.7705338, - 47.3561106 - ], - [ - 0.7702424, - 47.3651192 - ], - [ - 0.7739772, - 47.3651747 - ], - [ - 0.7728024, - 47.4014836 - ], - [ - 0.7903977, - 47.4014691 - ], - [ - 0.7898827, - 47.4102988 - ], - [ - 0.7911702, - 47.410473 - ], - [ - 0.7910844, - 47.4194174 - ], - [ - 0.7939168, - 47.4194174 - ], - [ - 0.7931872, - 47.4373306 - ], - [ - 0.7983371, - 47.4374177 - ], - [ - 0.7980796, - 47.4554408 - ], - [ - 0.8004399, - 47.4554118 - ], - [ - 0.8013841, - 47.4642615 - ], - [ - 0.8007403, - 47.4689904 - ], - [ - 0.7939597, - 47.4733127 - ], - [ - 0.7840463, - 47.4732257 - ], - [ - 0.7838746, - 47.4787079 - ], - [ - 0.776064, - 47.4785919 - ], - [ - 0.7758494, - 47.4820434 - ], - [ - 0.7706567, - 47.4821884 - ], - [ - 0.7704421, - 47.4859006 - ], - [ - 0.7609578, - 47.4909176 - ], - [ - 0.7571813, - 47.4909176 - ], - [ - 0.737526, - 47.5033563 - ], - [ - 0.725896, - 47.5058785 - ], - [ - 0.7111331, - 47.5057626 - ], - [ - 0.7041808, - 47.5040811 - ], - [ - 0.6910916, - 47.5003846 - ], - [ - 0.6904479, - 47.4971808 - ], - [ - 0.6775733, - 47.4968329 - ], - [ - 0.6775733, - 47.4935273 - ], - [ - 0.6642695, - 47.4930054 - ], - [ - 0.6634971, - 47.4895256 - ], - [ - 0.6508799, - 47.4895836 - ], - [ - 0.6513306, - 47.4803177 - ], - [ - 0.6473394, - 47.4803032 - ], - [ - 0.6474682, - 47.4785194 - ], - [ - 0.6447431, - 47.4784614 - ], - [ - 0.644786, - 47.4757493 - ], - [ - 0.6423827, - 47.4757783 - ], - [ - 0.642254, - 47.4730226 - ], - [ - 0.6383487, - 47.4729356 - ], - [ - 0.6379195, - 47.4713111 - ], - [ - 0.6051322, - 47.470789 - ], - [ - 0.6051322, - 47.4663213 - ], - [ - 0.5985232, - 47.4660312 - ], - [ - 0.5987807, - 47.4615632 - ], - [ - 0.5920001, - 47.4615632 - ], - [ - 0.5922576, - 47.4597643 - ], - [ - 0.5808421, - 47.4597062 - ], - [ - 0.5800696, - 47.4614471 - ], - [ - 0.5723449, - 47.4613891 - ], - [ - 0.5722161, - 47.4651173 - ], - [ - 0.5587407, - 47.4648852 - ], - [ - 0.5465957, - 47.4605187 - ], - [ - 0.5326911, - 47.4535546 - ], - [ - 0.5267688, - 47.4531483 - ], - [ - 0.5267688, - 47.4515233 - ], - [ - 0.5223056, - 47.4512331 - ], - [ - 0.5225631, - 47.4480407 - ], - [ - 0.5197736, - 47.447765 - ], - [ - 0.520074, - 47.4424682 - ], - [ - 0.4975005, - 47.4415975 - ], - [ - 0.4971572, - 47.4404945 - ], - [ - 0.4935523, - 47.4401462 - ], - [ - 0.4935523, - 47.435734 - ], - [ - 0.4794331, - 47.4357485 - ], - [ - 0.4617091, - 47.428186 - ], - [ - 0.4564305, - 47.4208838 - ], - [ - 0.4548856, - 47.4122882 - ], - [ - 0.4550572, - 47.4021807 - ], - [ - 0.4614945, - 47.4019338 - ], - [ - 0.4616662, - 47.3964145 - ], - [ - 0.4687901, - 47.3960224 - ], - [ - 0.4701634, - 47.3517307 - ], - [ - 0.4567738, - 47.3514981 - ], - [ - 0.4572888, - 47.3425422 - ], - [ - 0.430853, - 47.3419606 - ], - [ - 0.431958, - 47.3060196 - ], - [ - 0.4715367, - 47.3067035 - ], - [ - 0.4725667, - 47.2800414 - ], - [ - 0.4852696, - 47.2800414 - ], - [ - 0.4857846, - 47.2708404 - ], - [ - 0.4993459, - 47.2710734 - ], - [ - 0.4991742, - 47.2624533 - ], - [ - 0.5527326, - 47.2630358 - ], - [ - 0.5522176, - 47.2720052 - ], - [ - 0.5656072, - 47.2722381 - ], - [ - 0.5652638, - 47.2815553 - ], - [ - 0.5911847, - 47.2815553 - ], - [ - 0.5906697, - 47.2909873 - ], - [ - 0.669119, - 47.2916859 - ], - [ - 0.6831952, - 47.2956444 - ], - [ - 0.6831952, - 47.3007668 - ], - [ - 0.6965848, - 47.3012324 - ], - [ - 0.6964131, - 47.3023965 - ], - [ - 0.7100602, - 47.3024547 - ], - [ - 0.7229348, - 47.3058887 - ], - [ - 0.722849, - 47.3104281 - ], - [ - 0.7416459, - 47.3108355 - ], - [ - 0.754263, - 47.3139197 - ], - [ - 0.7625028, - 47.318153 - ], - [ - 0.7620736, - 47.3201313 - ], - [ - 0.7661935, - 47.3200877 - ], - [ - 0.7695623, - 47.3220659 - ], - [ - 0.7723304, - 47.3250768 - ], - [ - 0.7733603, - 47.3266985 - ], - [ - 0.7751199, - 47.3298327 - ] - ] - ], - terms_url: "https://wiki.openstreetmap.org/wiki/Tours/Orthophoto", - terms_text: "Orthophoto Tour(s)plus 2013" - }, - { - id: "trafikverket-baninfo", - name: "Trafikverket Railway Network", - type: "wms", - template: "http://geo-baninfo.trafikverket.se/mapservice/wms.axd/BanInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Spar_Huvud_och_sidospar&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 7, - 20 - ], - polygon: [ - [ - [ - 12.8018162, - 55.1961173 - ], - [ - 14.2272895, - 55.2728604 - ], - [ - 18.4460395, - 56.6924447 - ], - [ - 19.7424207, - 57.9848139 - ], - [ - 20.0061008, - 59.5371045 - ], - [ - 19.083938, - 60.1930844 - ], - [ - 20.4949924, - 63.2497044 - ], - [ - 24.2523085, - 65.5743697 - ], - [ - 23.8183485, - 67.9251447 - ], - [ - 23.2360731, - 68.346545 - ], - [ - 20.4345594, - 69.1703766 - ], - [ - 18.0834852, - 68.5644031 - ], - [ - 16.5014539, - 67.8838194 - ], - [ - 14.4360242, - 66.1427472 - ], - [ - 11.8212781, - 63.3077531 - ], - [ - 12.2003119, - 60.3106301 - ], - [ - 10.6237739, - 58.5481974 - ], - [ - 12.6425144, - 56.0306237 - ], - [ - 12.8018162, - 55.1961173 - ] - ] - ], - terms_url: "https://www.trafikverket.se", - terms_text: "© Trafikverket, CC0", - description: "Swedish railway network, including sidings", - icon: "https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png", - overlay: true - }, - { - id: "trafikverket-vagnat", - name: "Trafikverket Road Network", - type: "wms", - template: "https://geo-netinfo.trafikverket.se/mapservice/wms.axd/NetInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Vagtrafiknat,Funkvagklass,Farjeled&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 13, - 20 - ], - polygon: [ - [ - [ - 12.8018162, - 55.1961173 - ], - [ - 14.2272895, - 55.2728604 - ], - [ - 18.4460395, - 56.6924447 - ], - [ - 19.7424207, - 57.9848139 - ], - [ - 20.0061008, - 59.5371045 - ], - [ - 19.083938, - 60.1930844 - ], - [ - 20.4949924, - 63.2497044 - ], - [ - 24.2523085, - 65.5743697 - ], - [ - 23.8183485, - 67.9251447 - ], - [ - 23.2360731, - 68.346545 - ], - [ - 20.4345594, - 69.1703766 - ], - [ - 18.0834852, - 68.5644031 - ], - [ - 16.5014539, - 67.8838194 - ], - [ - 14.4360242, - 66.1427472 - ], - [ - 11.8212781, - 63.3077531 - ], - [ - 12.2003119, - 60.3106301 - ], - [ - 10.6237739, - 58.5481974 - ], - [ - 12.6425144, - 56.0306237 - ], - [ - 12.8018162, - 55.1961173 - ] - ] - ], - terms_url: "https://www.trafikverket.se", - terms_text: "© Trafikverket, CC0", - description: "Swedish NVDB road network", - icon: "https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png", - overlay: true - }, - { - id: "trafikverket-vagnat-extra", - name: "Trafikverket Road Network extra", - type: "wms", - template: "https://geo-netinfo.trafikverket.se/mapservice/wms.axd/NetInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=VagnummerText,Vaghinder,Rastplats,Rastficka,Hallplats,Farthinder,BroTunnel,ATK_Matplats&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - scaleExtent: [ - 3, - 20 - ], - polygon: [ - [ - [ - 12.8018162, - 55.1961173 - ], - [ - 14.2272895, - 55.2728604 - ], - [ - 18.4460395, - 56.6924447 - ], - [ - 19.7424207, - 57.9848139 - ], - [ - 20.0061008, - 59.5371045 - ], - [ - 19.083938, - 60.1930844 - ], - [ - 20.4949924, - 63.2497044 - ], - [ - 24.2523085, - 65.5743697 - ], - [ - 23.8183485, - 67.9251447 - ], - [ - 23.2360731, - 68.346545 - ], - [ - 20.4345594, - 69.1703766 - ], - [ - 18.0834852, - 68.5644031 - ], - [ - 16.5014539, - 67.8838194 - ], - [ - 14.4360242, - 66.1427472 - ], - [ - 11.8212781, - 63.3077531 - ], - [ - 12.2003119, - 60.3106301 - ], - [ - 10.6237739, - 58.5481974 - ], - [ - 12.6425144, - 56.0306237 - ], - [ - 12.8018162, - 55.1961173 - ] - ] - ], - terms_url: "https://www.trafikverket.se", - terms_text: "© Trafikverket, CC0", - description: "Swedish NVDB extra details: Highway reference, traffic calming, rest area, bus stop, bridge, tunnel, speed camera", - icon: "https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png", - overlay: true - }, - { - id: "trafikverket-vagnat-navn", - name: "Trafikverket Street Names", - type: "tms", - template: "https://mapproxy.openstreetmap.se/tiles/1.0.0/nvdb_names/EPSG3857/{zoom}/{x}/{y}.png", - scaleExtent: [ - 15, - 19 - ], - polygon: [ - [ - [ - 12.8018162, - 55.1961173 - ], - [ - 14.2272895, - 55.2728604 - ], - [ - 18.4460395, - 56.6924447 - ], - [ - 19.7424207, - 57.9848139 - ], - [ - 20.0061008, - 59.5371045 - ], - [ - 19.083938, - 60.1930844 - ], - [ - 20.4949924, - 63.2497044 - ], - [ - 24.2523085, - 65.5743697 - ], - [ - 23.8183485, - 67.9251447 - ], - [ - 23.2360731, - 68.346545 - ], - [ - 20.4345594, - 69.1703766 - ], - [ - 18.0834852, - 68.5644031 - ], - [ - 16.5014539, - 67.8838194 - ], - [ - 14.4360242, - 66.1427472 - ], - [ - 11.8212781, - 63.3077531 - ], - [ - 12.2003119, - 60.3106301 - ], - [ - 10.6237739, - 58.5481974 - ], - [ - 12.6425144, - 56.0306237 - ], - [ - 12.8018162, - 55.1961173 - ] - ] - ], - terms_url: "https://www.trafikverket.se", - terms_text: "© Trafikverket, CC0", - description: "Swedish NVDB street names", - icon: "https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png", - overlay: true - }, - { - id: "US_Forest_Service_roads_overlay", - name: "U.S. Forest Roads Overlay", - type: "tms", - template: "https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/glassman/cjf4qjmps0tgv2qpahj977mvz/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1IjoiZ2xhc3NtYW4iLCJhIjoiRjk3dWdwYyJ9.Tg_fMJWxygeKBgVTrZHmGA", - scaleExtent: [ - 0, - 20 - ], - 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 - ], - [ - -124.7617886, - 48.4130148 - ] - ], - [ - [ - -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 - ], - [ - -160.5787616, - 22.5062947 - ] - ], - [ - [ - -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 - ], - [ - -167.1571546, - 68.721974 - ] - ] - ], - description: "Highway: Green casing = unclassified. Brown casing = track. Surface: gravel = light brown fill, Asphalt = black, paved = gray, ground =white, concrete = blue, grass = green. Seasonal = white bars", - icon: "data:image/png;base64,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", - overlay: true - }, - { - id: "US_Forest_Service_roads", - name: "U.S. Forest Service roads", - type: "tms", - template: "https://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 - ], - [ - -124.7617886, - 48.4130148 - ] - ], - [ - [ - -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 - ], - [ - -160.5787616, - 22.5062947 - ] - ], - [ - [ - -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 - ], - [ - -167.1571546, - 68.721974 - ] - ] - ] - }, - { - id: "Zuerich-zh_uebersichtsplan-tms", - name: "Übersichtsplan Zürich", - type: "tms", - template: "https://mapproxy.osm.ch/tiles/zh_uebersichtsplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", - scaleExtent: [ - 0, - 21 - ], - polygon: [ - [ - [ - 8.45788051507, - 47.44581806984 - ], - [ - 8.57392386647, - 47.44477300781 - ], - [ - 8.5736210256, - 47.43124146738 - ], - [ - 8.60265969038, - 47.43096170983 - ], - [ - 8.60230512668, - 47.41746267935 - ], - [ - 8.63180141114, - 47.41716275506 - ], - [ - 8.62949748819, - 47.33628349035 - ], - [ - 8.57161615958, - 47.33678511959 - ], - [ - 8.57152127804, - 47.32291600346 - ], - [ - 8.54236326252, - 47.32360349391 - ], - [ - 8.54212409958, - 47.31013293622 - ], - [ - 8.48418319606, - 47.31061691753 - ], - [ - 8.48477528296, - 47.33761606244 - ], - [ - 8.45581592704, - 47.33787246484 - ], - [ - 8.45609007471, - 47.35135390006 - ], - [ - 8.42713165453, - 47.35160640397 - ], - [ - 8.42864162259, - 47.43259434498 - ], - [ - 8.45744950771, - 47.43230644735 - ], - [ - 8.45788051507, - 47.44581806984 - ] - ] - ], - terms_text: "Stadt Zürich Open Government Data" - }, - { - id: "uniao_dos_palmares", - name: "União dos Palmares AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Uniao%20dos%20Palmares&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -35.97724708197, - -9.20751562713 - ], - [ - -35.97719915169, - -9.19398393291 - ], - [ - -35.97694352353, - -9.19052995603 - ], - [ - -35.97678375594, - -9.18606654789 - ], - [ - -35.97702340733, - -9.18207624495 - ], - [ - -35.97703938409, - -9.17967888719 - ], - [ - -35.97681570946, - -9.17734460222 - ], - [ - -35.9766399651, - -9.17516802537 - ], - [ - -35.97700743057, - -9.17518379771 - ], - [ - -35.97695950029, - -9.17070442381 - ], - [ - -35.97673582566, - -9.17065710618 - ], - [ - -35.97660801158, - -9.16644581169 - ], - [ - -35.97617663907, - -9.16221869434 - ], - [ - -35.97609675527, - -9.1602628469 - ], - [ - -35.97660801158, - -9.1602628469 - ], - [ - -35.9767198489, - -9.14608263113 - ], - [ - -35.97654410454, - -9.1412243182 - ], - [ - -35.97665594186, - -9.13319533758 - ], - [ - -35.97652812778, - -9.12183772804 - ], - [ - -35.9764801975, - -9.11748388185 - ], - [ - -35.98617809061, - -9.11754698145 - ], - [ - -35.9894693031, - -9.1173261328 - ], - [ - -36.00560583036, - -9.1173261328 - ], - [ - -36.01859493596, - -9.11735768262 - ], - [ - -36.04601105553, - -9.11721570843 - ], - [ - -36.06734002967, - -9.11697908465 - ], - [ - -36.0675637043, - -9.16133540973 - ], - [ - -36.06770749514, - -9.16404834833 - ], - [ - -36.06745186698, - -9.164079894 - ], - [ - -36.0675637043, - -9.16657199353 - ], - [ - -36.06777140218, - -9.16654044807 - ], - [ - -36.06797910005, - -9.20701095785 - ], - [ - -36.04979754756, - -9.2071055834 - ], - [ - -36.04671403295, - -9.206979416 - ], - [ - -36.02941120224, - -9.20708981247 - ], - [ - -36.0135462799, - -9.207184438 - ], - [ - -35.99317591134, - -9.20732637623 - ], - [ - -35.97724708197, - -9.20751562713 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "UrbISOrtho2016", - name: "UrbIS-Ortho 2016", - type: "wms", - template: "https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2016&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2016-01-01T00:00:00.000Z", - startDate: "2016-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 4.3797288, - 50.7638205 - ], - [ - 4.3891701, - 50.7637662 - ], - [ - 4.430283, - 50.7751656 - ], - [ - 4.4350037, - 50.7750028 - ], - [ - 4.464272, - 50.7864537 - ], - [ - 4.4816956, - 50.7913372 - ], - [ - 4.4823823, - 50.7961658 - ], - [ - 4.459208, - 50.8062556 - ], - [ - 4.4594655, - 50.8166144 - ], - [ - 4.4797215, - 50.8203559 - ], - [ - 4.4695935, - 50.8353735 - ], - [ - 4.4689927, - 50.8457258 - ], - [ - 4.4623837, - 50.8539626 - ], - [ - 4.4496808, - 50.8559133 - ], - [ - 4.4459901, - 50.8599226 - ], - [ - 4.4253049, - 50.8661526 - ], - [ - 4.431828, - 50.8762815 - ], - [ - 4.4400677, - 50.8784478 - ], - [ - 4.4310555, - 50.8901441 - ], - [ - 4.4359479, - 50.8950167 - ], - [ - 4.4295964, - 50.9010255 - ], - [ - 4.4165501, - 50.9075748 - ], - [ - 4.4154343, - 50.9134197 - ], - [ - 4.3957791, - 50.914069 - ], - [ - 4.3846211, - 50.9109303 - ], - [ - 4.3811879, - 50.9031907 - ], - [ - 4.3726048, - 50.9003218 - ], - [ - 4.3621335, - 50.9032989 - ], - [ - 4.3485722, - 50.9034072 - ], - [ - 4.3402467, - 50.9041108 - ], - [ - 4.328917, - 50.902487 - ], - [ - 4.3164716, - 50.8960453 - ], - [ - 4.3063435, - 50.8927429 - ], - [ - 4.2900357, - 50.8898192 - ], - [ - 4.2914948, - 50.8849461 - ], - [ - 4.2955289, - 50.8826176 - ], - [ - 4.2956147, - 50.8809389 - ], - [ - 4.2827401, - 50.8722735 - ], - [ - 4.2769894, - 50.8671277 - ], - [ - 4.2780194, - 50.8591099 - ], - [ - 4.2804227, - 50.8572136 - ], - [ - 4.2809376, - 50.8421489 - ], - [ - 4.2719254, - 50.8403603 - ], - [ - 4.2546735, - 50.8369455 - ], - [ - 4.2510686, - 50.83288 - ], - [ - 4.2522702, - 50.8269708 - ], - [ - 4.2434296, - 50.82182 - ], - [ - 4.2440305, - 50.8154755 - ], - [ - 4.2551884, - 50.8150959 - ], - [ - 4.2580209, - 50.8093472 - ], - [ - 4.2721829, - 50.8101065 - ], - [ - 4.2757878, - 50.8069607 - ], - [ - 4.2854008, - 50.8050623 - ], - [ - 4.2890057, - 50.8069065 - ], - [ - 4.298018, - 50.8059302 - ], - [ - 4.3028245, - 50.7970881 - ], - [ - 4.3145833, - 50.7945382 - ], - [ - 4.3162141, - 50.7862367 - ], - [ - 4.3295178, - 50.7738087 - ], - [ - 4.3420491, - 50.7716375 - ], - [ - 4.3452248, - 50.7733745 - ], - [ - 4.3785271, - 50.7681092 - ], - [ - 4.3797288, - 50.7638205 - ] - ] - ], - terms_text: "Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAACnUlEQVQoz11SXUiTYRh93ndz06YMNWcpRmWRSpgO+0EUDYwQ6sZ+oAyti8y6yCyKxOimILqQsLKbukmHSpFFLYlMqSkUmi3/pjZ/Zmv+Tec2bU237z1dfFHSc/HcPOc5HM45DAAREREgGOM217BpzDjs7PEHfNGa2PT47KxN+RFqrYDgjBMRE0JijBMRAKOlzmgxhChDN0cla1ThM0uTE65vsRFxRRkXk3TpMiMBkEQQQFPvw0LDnoYvVStBNwAhBIApj+X6m5OlT/dbnX0AJCHxkbl+zhTWub6XA4ZDqcd3JJTl1to7HV7G2E3TxOU2zaWcKm1YZKO5RlaliNknBma6Bqe7V6SVc5mVrmVFxSvLu1G3bSlwy2jVaXE6IzE0JLzV+jxJlxYTvp5X5j3Qx2ePzPcn6VJVysiUaHXX+d2zy8HqlrE8/bq3xXoiStalr1Fpxl1DRMQ547s27NWGRikVKtmuju9e34pEYcrhWV/f7E8iUinDQrjaH/AREQfAmSJGEzc6P0Qkvbd5ymt7DqfEmEr0Tre/4PFXInK4R7z+hXjtRiIi2aKPtpbi+qxue6vHj5ou+8KvAIBPP7yG3mkAd9sry18ULPrdAAgQAIJS4EZLacXrwqVlDwBJiKAkJCEB+Gz/UNyQ1TxY/8dWIiYgFFx5JPXM7JLjWe8jIgKBM3DGXT5no7lmy9rteVsLiIjJGXPGBcQ2XdqBlKJWa1PHeLOCcRAEhKH7zuKy+4T+QohCDQhGjLBqJBGsNl0teZI3OGMG0GiuKarPNI0aZTEyhq0qHxhjXv/C7bYyASkjIddoqctPOnY07ezf5hHRvwcikg+TXtv9jmsOjy0n8eCpnVeIESMiecnE/6kC0D/Vea+90h/wARAQqwG/AaEjsUbwLtXdAAAAAElFTkSuQmCC" - }, - { - id: "UrbISOrtho2017", - name: "UrbIS-Ortho 2017", - type: "wms", - template: "https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2017&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2017-01-01T00:00:00.000Z", - startDate: "2017-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 4.3797288, - 50.7638205 - ], - [ - 4.3891701, - 50.7637662 - ], - [ - 4.430283, - 50.7751656 - ], - [ - 4.4350037, - 50.7750028 - ], - [ - 4.464272, - 50.7864537 - ], - [ - 4.4816956, - 50.7913372 - ], - [ - 4.4823823, - 50.7961658 - ], - [ - 4.459208, - 50.8062556 - ], - [ - 4.4594655, - 50.8166144 - ], - [ - 4.4797215, - 50.8203559 - ], - [ - 4.4695935, - 50.8353735 - ], - [ - 4.4689927, - 50.8457258 - ], - [ - 4.4623837, - 50.8539626 - ], - [ - 4.4496808, - 50.8559133 - ], - [ - 4.4459901, - 50.8599226 - ], - [ - 4.4253049, - 50.8661526 - ], - [ - 4.431828, - 50.8762815 - ], - [ - 4.4400677, - 50.8784478 - ], - [ - 4.4310555, - 50.8901441 - ], - [ - 4.4359479, - 50.8950167 - ], - [ - 4.4295964, - 50.9010255 - ], - [ - 4.4165501, - 50.9075748 - ], - [ - 4.4154343, - 50.9134197 - ], - [ - 4.3957791, - 50.914069 - ], - [ - 4.3846211, - 50.9109303 - ], - [ - 4.3811879, - 50.9031907 - ], - [ - 4.3726048, - 50.9003218 - ], - [ - 4.3621335, - 50.9032989 - ], - [ - 4.3485722, - 50.9034072 - ], - [ - 4.3402467, - 50.9041108 - ], - [ - 4.328917, - 50.902487 - ], - [ - 4.3164716, - 50.8960453 - ], - [ - 4.3063435, - 50.8927429 - ], - [ - 4.2900357, - 50.8898192 - ], - [ - 4.2914948, - 50.8849461 - ], - [ - 4.2955289, - 50.8826176 - ], - [ - 4.2956147, - 50.8809389 - ], - [ - 4.2827401, - 50.8722735 - ], - [ - 4.2769894, - 50.8671277 - ], - [ - 4.2780194, - 50.8591099 - ], - [ - 4.2804227, - 50.8572136 - ], - [ - 4.2809376, - 50.8421489 - ], - [ - 4.2719254, - 50.8403603 - ], - [ - 4.2546735, - 50.8369455 - ], - [ - 4.2510686, - 50.83288 - ], - [ - 4.2522702, - 50.8269708 - ], - [ - 4.2434296, - 50.82182 - ], - [ - 4.2440305, - 50.8154755 - ], - [ - 4.2551884, - 50.8150959 - ], - [ - 4.2580209, - 50.8093472 - ], - [ - 4.2721829, - 50.8101065 - ], - [ - 4.2757878, - 50.8069607 - ], - [ - 4.2854008, - 50.8050623 - ], - [ - 4.2890057, - 50.8069065 - ], - [ - 4.298018, - 50.8059302 - ], - [ - 4.3028245, - 50.7970881 - ], - [ - 4.3145833, - 50.7945382 - ], - [ - 4.3162141, - 50.7862367 - ], - [ - 4.3295178, - 50.7738087 - ], - [ - 4.3420491, - 50.7716375 - ], - [ - 4.3452248, - 50.7733745 - ], - [ - 4.3785271, - 50.7681092 - ], - [ - 4.3797288, - 50.7638205 - ] - ] - ], - terms_text: "Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB", - best: true, - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAACnUlEQVQoz11SXUiTYRh93ndz06YMNWcpRmWRSpgO+0EUDYwQ6sZ+oAyti8y6yCyKxOimILqQsLKbukmHSpFFLYlMqSkUmi3/pjZ/Zmv+Tec2bU237z1dfFHSc/HcPOc5HM45DAAREREgGOM217BpzDjs7PEHfNGa2PT47KxN+RFqrYDgjBMRE0JijBMRAKOlzmgxhChDN0cla1ThM0uTE65vsRFxRRkXk3TpMiMBkEQQQFPvw0LDnoYvVStBNwAhBIApj+X6m5OlT/dbnX0AJCHxkbl+zhTWub6XA4ZDqcd3JJTl1to7HV7G2E3TxOU2zaWcKm1YZKO5RlaliNknBma6Bqe7V6SVc5mVrmVFxSvLu1G3bSlwy2jVaXE6IzE0JLzV+jxJlxYTvp5X5j3Qx2ePzPcn6VJVysiUaHXX+d2zy8HqlrE8/bq3xXoiStalr1Fpxl1DRMQ547s27NWGRikVKtmuju9e34pEYcrhWV/f7E8iUinDQrjaH/AREQfAmSJGEzc6P0Qkvbd5ymt7DqfEmEr0Tre/4PFXInK4R7z+hXjtRiIi2aKPtpbi+qxue6vHj5ou+8KvAIBPP7yG3mkAd9sry18ULPrdAAgQAIJS4EZLacXrwqVlDwBJiKAkJCEB+Gz/UNyQ1TxY/8dWIiYgFFx5JPXM7JLjWe8jIgKBM3DGXT5no7lmy9rteVsLiIjJGXPGBcQ2XdqBlKJWa1PHeLOCcRAEhKH7zuKy+4T+QohCDQhGjLBqJBGsNl0teZI3OGMG0GiuKarPNI0aZTEyhq0qHxhjXv/C7bYyASkjIddoqctPOnY07ezf5hHRvwcikg+TXtv9jmsOjy0n8eCpnVeIESMiecnE/6kC0D/Vea+90h/wARAQqwG/AaEjsUbwLtXdAAAAAElFTkSuQmCC" - }, - { - id: "UrbisAdmFR", - name: "UrbisAdm FR", - type: "wms", - template: "https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=urbisFR&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 4.3797288, - 50.7638205 - ], - [ - 4.3891701, - 50.7637662 - ], - [ - 4.430283, - 50.7751656 - ], - [ - 4.4350037, - 50.7750028 - ], - [ - 4.464272, - 50.7864537 - ], - [ - 4.4816956, - 50.7913372 - ], - [ - 4.4823823, - 50.7961658 - ], - [ - 4.459208, - 50.8062556 - ], - [ - 4.4594655, - 50.8166144 - ], - [ - 4.4797215, - 50.8203559 - ], - [ - 4.4695935, - 50.8353735 - ], - [ - 4.4689927, - 50.8457258 - ], - [ - 4.4623837, - 50.8539626 - ], - [ - 4.4496808, - 50.8559133 - ], - [ - 4.4459901, - 50.8599226 - ], - [ - 4.4253049, - 50.8661526 - ], - [ - 4.431828, - 50.8762815 - ], - [ - 4.4400677, - 50.8784478 - ], - [ - 4.4310555, - 50.8901441 - ], - [ - 4.4359479, - 50.8950167 - ], - [ - 4.4295964, - 50.9010255 - ], - [ - 4.4165501, - 50.9075748 - ], - [ - 4.4154343, - 50.9134197 - ], - [ - 4.3957791, - 50.914069 - ], - [ - 4.3846211, - 50.9109303 - ], - [ - 4.3811879, - 50.9031907 - ], - [ - 4.3726048, - 50.9003218 - ], - [ - 4.3621335, - 50.9032989 - ], - [ - 4.3485722, - 50.9034072 - ], - [ - 4.3402467, - 50.9041108 - ], - [ - 4.328917, - 50.902487 - ], - [ - 4.3164716, - 50.8960453 - ], - [ - 4.3063435, - 50.8927429 - ], - [ - 4.2900357, - 50.8898192 - ], - [ - 4.2914948, - 50.8849461 - ], - [ - 4.2955289, - 50.8826176 - ], - [ - 4.2956147, - 50.8809389 - ], - [ - 4.2827401, - 50.8722735 - ], - [ - 4.2769894, - 50.8671277 - ], - [ - 4.2780194, - 50.8591099 - ], - [ - 4.2804227, - 50.8572136 - ], - [ - 4.2809376, - 50.8421489 - ], - [ - 4.2719254, - 50.8403603 - ], - [ - 4.2546735, - 50.8369455 - ], - [ - 4.2510686, - 50.83288 - ], - [ - 4.2522702, - 50.8269708 - ], - [ - 4.2434296, - 50.82182 - ], - [ - 4.2440305, - 50.8154755 - ], - [ - 4.2551884, - 50.8150959 - ], - [ - 4.2580209, - 50.8093472 - ], - [ - 4.2721829, - 50.8101065 - ], - [ - 4.2757878, - 50.8069607 - ], - [ - 4.2854008, - 50.8050623 - ], - [ - 4.2890057, - 50.8069065 - ], - [ - 4.298018, - 50.8059302 - ], - [ - 4.3028245, - 50.7970881 - ], - [ - 4.3145833, - 50.7945382 - ], - [ - 4.3162141, - 50.7862367 - ], - [ - 4.3295178, - 50.7738087 - ], - [ - 4.3420491, - 50.7716375 - ], - [ - 4.3452248, - 50.7733745 - ], - [ - 4.3785271, - 50.7681092 - ], - [ - 4.3797288, - 50.7638205 - ] - ] - ], - terms_text: "Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAACnUlEQVQoz11SXUiTYRh93ndz06YMNWcpRmWRSpgO+0EUDYwQ6sZ+oAyti8y6yCyKxOimILqQsLKbukmHSpFFLYlMqSkUmi3/pjZ/Zmv+Tec2bU237z1dfFHSc/HcPOc5HM45DAAREREgGOM217BpzDjs7PEHfNGa2PT47KxN+RFqrYDgjBMRE0JijBMRAKOlzmgxhChDN0cla1ThM0uTE65vsRFxRRkXk3TpMiMBkEQQQFPvw0LDnoYvVStBNwAhBIApj+X6m5OlT/dbnX0AJCHxkbl+zhTWub6XA4ZDqcd3JJTl1to7HV7G2E3TxOU2zaWcKm1YZKO5RlaliNknBma6Bqe7V6SVc5mVrmVFxSvLu1G3bSlwy2jVaXE6IzE0JLzV+jxJlxYTvp5X5j3Qx2ePzPcn6VJVysiUaHXX+d2zy8HqlrE8/bq3xXoiStalr1Fpxl1DRMQ547s27NWGRikVKtmuju9e34pEYcrhWV/f7E8iUinDQrjaH/AREQfAmSJGEzc6P0Qkvbd5ymt7DqfEmEr0Tre/4PFXInK4R7z+hXjtRiIi2aKPtpbi+qxue6vHj5ou+8KvAIBPP7yG3mkAd9sry18ULPrdAAgQAIJS4EZLacXrwqVlDwBJiKAkJCEB+Gz/UNyQ1TxY/8dWIiYgFFx5JPXM7JLjWe8jIgKBM3DGXT5no7lmy9rteVsLiIjJGXPGBcQ2XdqBlKJWa1PHeLOCcRAEhKH7zuKy+4T+QohCDQhGjLBqJBGsNl0teZI3OGMG0GiuKarPNI0aZTEyhq0qHxhjXv/C7bYyASkjIddoqctPOnY07ezf5hHRvwcikg+TXtv9jmsOjy0n8eCpnVeIESMiecnE/6kC0D/Vea+90h/wARAQqwG/AaEjsUbwLtXdAAAAAElFTkSuQmCC" - }, - { - id: "UrbisAdmNL", - name: "UrbisAdm NL", - type: "wms", - template: "https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=urbisNL&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 4.3797288, - 50.7638205 - ], - [ - 4.3891701, - 50.7637662 - ], - [ - 4.430283, - 50.7751656 - ], - [ - 4.4350037, - 50.7750028 - ], - [ - 4.464272, - 50.7864537 - ], - [ - 4.4816956, - 50.7913372 - ], - [ - 4.4823823, - 50.7961658 - ], - [ - 4.459208, - 50.8062556 - ], - [ - 4.4594655, - 50.8166144 - ], - [ - 4.4797215, - 50.8203559 - ], - [ - 4.4695935, - 50.8353735 - ], - [ - 4.4689927, - 50.8457258 - ], - [ - 4.4623837, - 50.8539626 - ], - [ - 4.4496808, - 50.8559133 - ], - [ - 4.4459901, - 50.8599226 - ], - [ - 4.4253049, - 50.8661526 - ], - [ - 4.431828, - 50.8762815 - ], - [ - 4.4400677, - 50.8784478 - ], - [ - 4.4310555, - 50.8901441 - ], - [ - 4.4359479, - 50.8950167 - ], - [ - 4.4295964, - 50.9010255 - ], - [ - 4.4165501, - 50.9075748 - ], - [ - 4.4154343, - 50.9134197 - ], - [ - 4.3957791, - 50.914069 - ], - [ - 4.3846211, - 50.9109303 - ], - [ - 4.3811879, - 50.9031907 - ], - [ - 4.3726048, - 50.9003218 - ], - [ - 4.3621335, - 50.9032989 - ], - [ - 4.3485722, - 50.9034072 - ], - [ - 4.3402467, - 50.9041108 - ], - [ - 4.328917, - 50.902487 - ], - [ - 4.3164716, - 50.8960453 - ], - [ - 4.3063435, - 50.8927429 - ], - [ - 4.2900357, - 50.8898192 - ], - [ - 4.2914948, - 50.8849461 - ], - [ - 4.2955289, - 50.8826176 - ], - [ - 4.2956147, - 50.8809389 - ], - [ - 4.2827401, - 50.8722735 - ], - [ - 4.2769894, - 50.8671277 - ], - [ - 4.2780194, - 50.8591099 - ], - [ - 4.2804227, - 50.8572136 - ], - [ - 4.2809376, - 50.8421489 - ], - [ - 4.2719254, - 50.8403603 - ], - [ - 4.2546735, - 50.8369455 - ], - [ - 4.2510686, - 50.83288 - ], - [ - 4.2522702, - 50.8269708 - ], - [ - 4.2434296, - 50.82182 - ], - [ - 4.2440305, - 50.8154755 - ], - [ - 4.2551884, - 50.8150959 - ], - [ - 4.2580209, - 50.8093472 - ], - [ - 4.2721829, - 50.8101065 - ], - [ - 4.2757878, - 50.8069607 - ], - [ - 4.2854008, - 50.8050623 - ], - [ - 4.2890057, - 50.8069065 - ], - [ - 4.298018, - 50.8059302 - ], - [ - 4.3028245, - 50.7970881 - ], - [ - 4.3145833, - 50.7945382 - ], - [ - 4.3162141, - 50.7862367 - ], - [ - 4.3295178, - 50.7738087 - ], - [ - 4.3420491, - 50.7716375 - ], - [ - 4.3452248, - 50.7733745 - ], - [ - 4.3785271, - 50.7681092 - ], - [ - 4.3797288, - 50.7638205 - ] - ] - ], - terms_text: "Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB", - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAACnUlEQVQoz11SXUiTYRh93ndz06YMNWcpRmWRSpgO+0EUDYwQ6sZ+oAyti8y6yCyKxOimILqQsLKbukmHSpFFLYlMqSkUmi3/pjZ/Zmv+Tec2bU237z1dfFHSc/HcPOc5HM45DAAREREgGOM217BpzDjs7PEHfNGa2PT47KxN+RFqrYDgjBMRE0JijBMRAKOlzmgxhChDN0cla1ThM0uTE65vsRFxRRkXk3TpMiMBkEQQQFPvw0LDnoYvVStBNwAhBIApj+X6m5OlT/dbnX0AJCHxkbl+zhTWub6XA4ZDqcd3JJTl1to7HV7G2E3TxOU2zaWcKm1YZKO5RlaliNknBma6Bqe7V6SVc5mVrmVFxSvLu1G3bSlwy2jVaXE6IzE0JLzV+jxJlxYTvp5X5j3Qx2ePzPcn6VJVysiUaHXX+d2zy8HqlrE8/bq3xXoiStalr1Fpxl1DRMQ547s27NWGRikVKtmuju9e34pEYcrhWV/f7E8iUinDQrjaH/AREQfAmSJGEzc6P0Qkvbd5ymt7DqfEmEr0Tre/4PFXInK4R7z+hXjtRiIi2aKPtpbi+qxue6vHj5ou+8KvAIBPP7yG3mkAd9sry18ULPrdAAgQAIJS4EZLacXrwqVlDwBJiKAkJCEB+Gz/UNyQ1TxY/8dWIiYgFFx5JPXM7JLjWe8jIgKBM3DGXT5no7lmy9rteVsLiIjJGXPGBcQ2XdqBlKJWa1PHeLOCcRAEhKH7zuKy+4T+QohCDQhGjLBqJBGsNl0teZI3OGMG0GiuKarPNI0aZTEyhq0qHxhjXv/C7bYyASkjIddoqctPOnY07ezf5hHRvwcikg+TXtv9jmsOjy0n8eCpnVeIESMiecnE/6kC0D/Vea+90h/wARAQqwG/AaEjsUbwLtXdAAAAAElFTkSuQmCC" - }, - { - id: "USGS-Large_Scale", - 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 - ], - [ - -123.2549305, - 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 - ], - [ - -122.9341743, - 37.7521547 - ] - ], - [ - [ - -71.6299464, - 41.2540893 - ], - [ - -71.4966465, - 41.2541393 - ], - [ - -71.4965596, - 41.122965 - ], - [ - -71.6298594, - 41.1229149 - ], - [ - -71.6299464, - 41.2540893 - ] - ], - [ - [ - -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 - ], - [ - -70.3184265, - 41.3775196 - ] - ], - [ - [ - -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 - ], - [ - -68.9403374, - 43.9404062 - ] - ], - [ - [ - -123.1291466, - 49.0645144 - ], - [ - -122.9954224, - 49.0645144 - ], - [ - -122.9954224, - 48.9343243 - ], - [ - -123.1291466, - 48.9343243 - ], - [ - -123.1291466, - 49.0645144 - ] - ], - [ - [ - -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 - ], - [ - -82.9407144, - 24.7535913 - ] - ] - ], - icon: "data:image/png;base64,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" - }, - { - id: "USGS-Scanned_Topographic", - name: "USGS Topographic Maps", - type: "tms", - template: "https://caltopo.s3.amazonaws.com/topo/{zoom}/{x}/{y}.png", - scaleExtent: [ - 0, - 16 - ], - polygon: [ - [ - [ - -55.9959409871, - 52.00107125754 - ], - [ - -112.02896100663, - 52.00107125754 - ], - [ - -112.03994733476, - 56.01308253302 - ], - [ - -120.0049439862, - 56.00592357111 - ], - [ - -120.01711631014, - 60.01202439709 - ], - [ - -132.00196823895, - 60.00239237126 - ], - [ - -132.01208445818, - 63.00193292546 - ], - [ - -133.96882922149, - 63.00050478005 - ], - [ - -133.97240257168, - 63.9922484722 - ], - [ - -141.04429430438, - 63.98726254018 - ], - [ - -141.06879354491, - 69.92045693283 - ], - [ - -156.24893170976, - 71.51583202984 - ], - [ - -160.44570905351, - 70.83527373985 - ], - [ - -167.08145124101, - 68.42906280103 - ], - [ - -164.08218366288, - 67.03913532024 - ], - [ - -169.01504499101, - 65.68268604273 - ], - [ - -166.57608014726, - 64.50777504773 - ], - [ - -161.82998639726, - 64.0500622981 - ], - [ - -165.08193952226, - 63.26030016403 - ], - [ - -168.02627545976, - 59.7862264253 - ], - [ - -162.53311139726, - 59.73089435789 - ], - [ - -162.35733014726, - 58.55904663221 - ], - [ - -157.83096295976, - 58.31752983705 - ], - [ - -158.00674420976, - 57.52404350658 - ], - [ - -168.22402936601, - 53.51022153947 - ], - [ - -166.55410749101, - 53.14277307072 - ], - [ - -158.77578717851, - 54.88541314654 - ], - [ - -158.68240338944, - 55.7496444805 - ], - [ - -156.55105573319, - 56.00847621073 - ], - [ - -156.15554792069, - 56.7746616888 - ], - [ - -154.70535260819, - 56.14336689443 - ], - [ - -152.07412702226, - 57.37034511851 - ], - [ - -151.62918073319, - 58.22653323066 - ], - [ - -152.00820905351, - 58.98055685754 - ], - [ - -145.98770124101, - 60.24740887373 - ], - [ - -140.38467389726, - 59.48634241018 - ], - [ - -136.53945905351, - 57.80610084736 - ], - [ - -133.79287702226, - 54.83482554482 - ], - [ - -133.33145124101, - 53.14277307072 - ], - [ - -131.46377545976, - 51.69838238021 - ], - [ - -128.52493268632, - 51.74602265442 - ], - [ - -129.79385358476, - 50.90159054062 - ], - [ - -124.56436139726, - 47.49785657441 - ], - [ - -124.03701764726, - 45.48627362525 - ], - [ - -124.69619733476, - 42.90428451679 - ], - [ - -124.49844342851, - 40.3414647251 - ], - [ - -122.80654889726, - 37.53929308709 - ], - [ - -119.99404889726, - 33.37084692374 - ], - [ - -117.24746686601, - 32.54119524801 - ], - [ - -111.13906842851, - 31.19770451575 - ], - [ - -106.70059186601, - 31.23528720858 - ], - [ - -103.20693952226, - 28.64618215851 - ], - [ - -101.84463483476, - 29.81580068657 - ], - [ - -99.20791608476, - 26.28743998885 - ], - [ - -96.79092389726, - 25.75431753335 - ], - [ - -96.92275983476, - 27.96911213371 - ], - [ - -93.47305280351, - 29.68226300815 - ], - [ - -88.94668561601, - 28.87732407469 - ], - [ - -88.61709577226, - 30.17736083469 - ], - [ - -86.20010358476, - 30.3671253082 - ], - [ - -84.96963483476, - 29.43379356715 - ], - [ - -84.09072858476, - 30.06332630046 - ], - [ - -82.97012311601, - 28.95425748047 - ], - [ - -82.97012311601, - 27.26823750278 - ], - [ - -81.25625592851, - 25.07956298739 - ], - [ - -82.09121686601, - 24.5610471236 - ], - [ - -80.06973249101, - 24.76073298597 - ], - [ - -79.85000592851, - 27.11188091684 - ], - [ - -81.27822858476, - 30.70777424386 - ], - [ - -78.99307233476, - 33.20554049136 - ], - [ - -75.03799420976, - 35.59830000028 - ], - [ - -75.85098249101, - 37.2425160052 - ], - [ - -73.74160749101, - 40.4585957587 - ], - [ - -69.89639264726, - 41.60224497127 - ], - [ - -70.68740827226, - 43.17628724449 - ], - [ - -66.93008405351, - 44.69516042167 - ], - [ - -66.53457624101, - 43.08006996122 - ], - [ - -64.20547467851, - 43.35229243812 - ], - [ - -59.50332624101, - 45.73220792131 - ], - [ - -59.51431256913, - 46.24761804024 - ], - [ - -60.00320417069, - 46.25901313529 - ], - [ - -59.99221784257, - 47.24505773341 - ], - [ - -59.00894147538, - 47.23759898478 - ], - [ - -58.99795514726, - 47.50266941922 - ], - [ - -56.51504499101, - 47.50266941922 - ], - [ - -56.52603131913, - 46.74770404019 - ], - [ - -53.99917585038, - 46.74770404019 - ], - [ - -53.97720319413, - 46.48358117386 - ], - [ - -52.49404889726, - 46.46354265729 - ], - [ - -52.50503522538, - 48.75360583388 - ], - [ - -52.99667340898, - 48.75451123442 - ], - [ - -53.01315290116, - 49.99551104004 - ], - [ - -55.00167829179, - 50.00610367548 - ], - [ - -55.03738385819, - 53.74720613495 - ], - [ - -56.00418073319, - 53.73421061801 - ], - [ - -55.9959409871, - 52.00107125754 - ] - ], - [ - [ - -59.50126630448, - 43.7495431608 - ], - [ - -60.50239545487, - 43.7495431608 - ], - [ - -60.50239545487, - 43.99999882251 - ], - [ - -59.99839765214, - 43.99999882251 - ], - [ - -59.99839765214, - 44.2494016836 - ], - [ - -59.50126630448, - 44.2494016836 - ], - [ - -59.50126630448, - 43.7495431608 - ] - ], - [ - [ - -155.95024091386, - 20.49523373356 - ], - [ - -157.3267518687, - 20.49153389084 - ], - [ - -157.32902509355, - 21.23181053727 - ], - [ - -155.95251413871, - 21.23549220541 - ], - [ - -155.95024091386, - 20.49523373356 - ] - ], - [ - [ - -157.64488202714, - 21.24845058596 - ], - [ - -158.28534362719, - 21.24673774522 - ], - [ - -158.28689557694, - 21.7499618541 - ], - [ - -157.6464339769, - 21.75166877943 - ], - [ - -157.64488202714, - 21.24845058596 - ] - ], - [ - [ - -156.12602216386, - 20.32469602374 - ], - [ - -154.7461696274, - 20.3284088686 - ], - [ - -154.74174482011, - 18.87578125335 - ], - [ - -156.12159735656, - 18.87203473488 - ], - [ - -156.12602216386, - 20.32469602374 - ] - ], - [ - [ - -159.29077130937, - 22.24504086823 - ], - [ - -159.2892966564, - 21.76857042389 - ], - [ - -160.28916841131, - 21.76590592196 - ], - [ - -160.29064306428, - 22.24238530626 - ], - [ - -159.29077130937, - 22.24504086823 - ] - ] - ], - terms_url: "https://caltopo.com", - terms_text: "© Caltopo", - icon: "data:image/png;base64,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" - }, - { - id: "USSR-Latvia", - name: "USSR - Latvia", - type: "wms", - template: "http://www.gisnet.lv/cgi-bin/topo?FORMAT=image/jpeg&VERSION=1.1.1&service=WMS&REQUEST=GetMap&LAYERS=DTO,DTC,DIVDPTC,PD,VS,DS,PS,M&SRS={proj}&WIDTH={width}&height={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 26.630859375, - 57.56888774130087 - ], - [ - 25.169677734375, - 58.048818457936505 - ], - [ - 22.543945312499996, - 57.76865857271793 - ], - [ - 21.544189453124996, - 57.53351974347291 - ], - [ - 21.016845703125, - 56.81892067431724 - ], - [ - 21.016845703125, - 56.03522578369872 - ], - [ - 22.03857421875, - 56.389583525613055 - ], - [ - 24.719238281249996, - 56.33481154165235 - ], - [ - 26.751708984375, - 55.665193184436035 - ], - [ - 28.19091796875, - 56.139428693863266 - ], - [ - 27.784423828125, - 57.40946113558119 - ], - [ - 26.630859375, - 57.56888774130087 - ] - ] - ] - }, - { - id: "sjcgis.org-General_Basemap_WM", - name: "Vector Streetmap for San Juan County WA", - type: "tms", - template: "https://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, - description: "Public domain street and address data from the San Juan County, WA. Updated at least quarterly." - }, - { - id: "Vercors-Orthophotos-1999", - name: "Vercors (Réserve naturelle des Hauts-Plateaux du Vercors) - Orthophoto - 1999 - 1 m", - type: "tms", - template: "http://wms.openstreetmap.fr/tms/1.0.0/PNRVercors-RHP-1999/{zoom}/{x}/{y}", - endDate: "1999-01-01T00:00:00.000Z", - startDate: "1999-01-01T00:00:00.000Z", - scaleExtent: [ - 0, - 19 - ], - polygon: [ - [ - [ - 5.4356493, - 44.9991755 - ], - [ - 5.4319266, - 44.9229046 - ], - [ - 5.4362415, - 44.9228447 - ], - [ - 5.4347186, - 44.8900063 - ], - [ - 5.4330265, - 44.8899463 - ], - [ - 5.4306544, - 44.8502562 - ], - [ - 5.4338694, - 44.8501362 - ], - [ - 5.4328541, - 44.8263781 - ], - [ - 5.435477, - 44.8262581 - ], - [ - 5.4349693, - 44.8138952 - ], - [ - 5.4410611, - 44.8137151 - ], - [ - 5.4371691, - 44.7409842 - ], - [ - 5.4545983, - 44.7404433 - ], - [ - 5.4528215, - 44.7042536 - ], - [ - 5.5210998, - 44.7024496 - ], - [ - 5.5232996, - 44.7385803 - ], - [ - 5.5890397, - 44.7368374 - ], - [ - 5.5929812, - 44.8126305 - ], - [ - 5.5879047, - 44.8129906 - ], - [ - 5.5897661, - 44.8494722 - ], - [ - 5.588228, - 44.8493765 - ], - [ - 5.5897237, - 44.8735055 - ], - [ - 5.5386318, - 44.8750318 - ], - [ - 5.5394694, - 44.886859 - ], - [ - 5.5283416, - 44.8873253 - ], - [ - 5.5300168, - 44.9201234 - ], - [ - 5.5331876, - 44.9201234 - ], - [ - 5.5376148, - 44.996241 - ], - [ - 5.4356493, - 44.9991755 - ] - ] - ], - terms_text: "Parc Naturel du Vercors" - }, - { - id: "vicosa_al", - name: "Viçosa AL", - type: "wms", - template: "http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Vicosa&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - -36.19799506289, - -9.42067411388 - ], - [ - -36.19777392167, - -9.41788790418 - ], - [ - -36.19779919496, - -9.41528243495 - ], - [ - -36.19801401785, - -9.41074463302 - ], - [ - -36.19789396976, - -9.4085692096 - ], - [ - -36.19792556136, - -9.40636883904 - ], - [ - -36.1979697896, - -9.40560836777 - ], - [ - -36.19793187968, - -9.40405001978 - ], - [ - -36.19798874457, - -9.40311500762 - ], - [ - -36.19827306898, - -9.40027878861 - ], - [ - -36.19829202394, - -9.39495536094 - ], - [ - -36.19788765144, - -9.39168895497 - ], - [ - -36.19844366363, - -9.38932016801 - ], - [ - -36.19836784379, - -9.3862033184 - ], - [ - -36.197938198, - -9.38166513525 - ], - [ - -36.19801401785, - -9.37972018144 - ], - [ - -36.1983425705, - -9.37867289409 - ], - [ - -36.19831729722, - -9.37697727931 - ], - [ - -36.19816565754, - -9.37585517674 - ], - [ - -36.19851948347, - -9.37139166614 - ], - [ - -36.1982162041, - -9.36238966295 - ], - [ - -36.1986205766, - -9.35318792839 - ], - [ - -36.19849421019, - -9.35096850339 - ], - [ - -36.19857003004, - -9.34852462578 - ], - [ - -36.19879748957, - -9.34667923744 - ], - [ - -36.19859530332, - -9.34348719127 - ], - [ - -36.19877221629, - -9.34084375588 - ], - [ - -36.19894912926, - -9.33301308429 - ], - [ - -36.19877221629, - -9.33039450836 - ], - [ - -36.28957911612, - -9.33114267492 - ], - [ - -36.28937692987, - -9.33318765532 - ], - [ - -36.28950329627, - -9.33538225508 - ], - [ - -36.28925056346, - -9.34124276628 - ], - [ - -36.28945274971, - -9.34291361737 - ], - [ - -36.28927583674, - -9.34520790729 - ], - [ - -36.28897255737, - -9.37311224406 - ], - [ - -36.28914947033, - -9.37480787773 - ], - [ - -36.2889220108, - -9.37707702159 - ], - [ - -36.28889673752, - -9.38540540039 - ], - [ - -36.28871982455, - -9.38632799292 - ], - [ - -36.28871982455, - -9.39343436657 - ], - [ - -36.28887146424, - -9.39557871736 - ], - [ - -36.28877037111, - -9.40128860991 - ], - [ - -36.28861873143, - -9.40652467311 - ], - [ - -36.28871982455, - -9.40714800869 - ], - [ - -36.28877037111, - -9.4213348225 - ], - [ - -36.19799506289, - -9.42067411388 - ] - ] - ], - terms_url: "http://www.seplande.al.gov.br", - terms_text: "Secretaria de Estado do Planejamento e Desenvolvimento Econômico" - }, - { - id: "wien.gv.at-labels", - name: "Vienna: Beschriftungen (annotations)", - type: "tms", - template: "https://maps.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png", - scaleExtent: [ - 12, - 19 - ], - polygon: [ - [ - [ - 16.17, - 48.1 - ], - [ - 16.17, - 48.33 - ], - [ - 16.58, - 48.33 - ], - [ - 16.58, - 48.1 - ], - [ - 16.17, - 48.1 - ] - ] - ], - terms_url: "https://data.wien.gv.at", - terms_text: "Stadt Wien", - icon: "https://www.wien.gv.at/layout-a/logo/wappen-klein.gif", - overlay: true - }, - { - id: "wien.gv.at-gp", - name: "Vienna: Mehrzweckkarte (general purpose)", - type: "tms", - template: "https://maps.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg", - scaleExtent: [ - 10, - 19 - ], - polygon: [ - [ - [ - 16.17, - 48.1 - ], - [ - 16.17, - 48.33 - ], - [ - 16.58, - 48.33 - ], - [ - 16.58, - 48.1 - ], - [ - 16.17, - 48.1 - ] - ] - ], - terms_url: "https://data.wien.gv.at", - terms_text: "Stadt Wien", - icon: "https://www.wien.gv.at/layout-a/logo/wappen-klein.gif" - }, - { - id: "wien.gv.at-aerial_image", - name: "Vienna: Orthofoto (aerial image)", - type: "tms", - template: "https://maps.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg", - scaleExtent: [ - 10, - 19 - ], - polygon: [ - [ - [ - 16.17, - 48.1 - ], - [ - 16.17, - 48.33 - ], - [ - 16.58, - 48.33 - ], - [ - 16.58, - 48.1 - ], - [ - 16.17, - 48.1 - ] - ] - ], - terms_url: "https://data.wien.gv.at", - terms_text: "Stadt Wien", - icon: "https://www.wien.gv.at/layout-a/logo/wappen-klein.gif" - }, - { - id: "Ville_de_Nyon-HD-2010", - name: "Ville de Nyon - Orthophoto 2010 HD 5cm/pi", - type: "tms", - template: "http://osmdata.asitvd.ch/tiles/nyon2010/{zoom}/{x}/{y}.png", - endDate: "2010-01-01T00:00:00.000Z", - startDate: "2010-01-01T00:00:00.000Z", - scaleExtent: [ - 14, - 20 - ], - polygon: [ - [ - [ - 6.248585, - 46.382518 - ], - [ - 6.248482, - 46.387154 - ], - [ - 6.243784, - 46.389438 - ], - [ - 6.241817, - 46.39109 - ], - [ - 6.241403, - 46.391591 - ], - [ - 6.239186, - 46.392223 - ], - [ - 6.239731, - 46.393728 - ], - [ - 6.237905, - 46.394599 - ], - [ - 6.237129, - 46.396982 - ], - [ - 6.230705, - 46.401073 - ], - [ - 6.227891, - 46.399033 - ], - [ - 6.22326, - 46.402186 - ], - [ - 6.220658, - 46.401891 - ], - [ - 6.215825, - 46.404619 - ], - [ - 6.213931, - 46.406985 - ], - [ - 6.209893, - 46.405629 - ], - [ - 6.209276, - 46.40528 - ], - [ - 6.209849, - 46.40434 - ], - [ - 6.205006, - 46.403316 - ], - [ - 6.205271, - 46.40104 - ], - [ - 6.209059, - 46.401306 - ], - [ - 6.209512, - 46.401302 - ], - [ - 6.214904, - 46.400804 - ], - [ - 6.211536, - 46.398079 - ], - [ - 6.210572, - 46.396796 - ], - [ - 6.209541, - 46.394486 - ], - [ - 6.212288, - 46.392429 - ], - [ - 6.213743, - 46.391684 - ], - [ - 6.216393, - 46.390787 - ], - [ - 6.212962, - 46.387357 - ], - [ - 6.215319, - 46.385143 - ], - [ - 6.214027, - 46.384242 - ], - [ - 6.212596, - 46.382324 - ], - [ - 6.212114, - 46.381021 - ], - [ - 6.212119, - 46.379917 - ], - [ - 6.212312, - 46.37901 - ], - [ - 6.213177, - 46.376969 - ], - [ - 6.214543, - 46.374943 - ], - [ - 6.213589, - 46.374628 - ], - [ - 6.213654, - 46.372759 - ], - [ - 6.221335, - 46.369904 - ], - [ - 6.22752, - 46.365547 - ], - [ - 6.22752, - 46.365407 - ], - [ - 6.237384, - 46.373561 - ], - [ - 6.244036, - 46.378421 - ], - [ - 6.248585, - 46.382518 - ] - ] - ], - terms_url: "http://www.nyon.ch/fr/officiel/services-offices/informatique-et-population-776-3911", - terms_text: "Ville de Nyon" - }, - { - id: "vogis.cnv.at-DGM", - name: "VoGIS: DGM (Terrain model)", - type: "wms", - template: "http://vogis.cnv.at/mapserver/mapserv?map=i_hoehen_und_gelaende_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=schummerung_50cm_terrain&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 9.9680512, - 47.5463081 - ], - [ - 9.9680895, - 47.5462689 - ], - [ - 9.9712464, - 47.544249 - ], - [ - 9.9648355, - 47.538031 - ], - [ - 9.9683952, - 47.5280172 - ], - [ - 9.965262, - 47.5208928 - ], - [ - 9.9956949, - 47.5027787 - ], - [ - 9.9873585, - 47.4984652 - ], - [ - 10.0007641, - 47.4821056 - ], - [ - 10.023014, - 47.4841071 - ], - [ - 10.0374328, - 47.4891775 - ], - [ - 10.0447745, - 47.4876222 - ], - [ - 10.0541256, - 47.4758854 - ], - [ - 10.0534684, - 47.4668571 - ], - [ - 10.064681, - 47.4636357 - ], - [ - 10.0699906, - 47.4559503 - ], - [ - 10.0805676, - 47.4553604 - ], - [ - 10.0885672, - 47.4602924 - ], - [ - 10.091638, - 47.4589276 - ], - [ - 10.0938486, - 47.4404644 - ], - [ - 10.1055856, - 47.4287167 - ], - [ - 10.0937374, - 47.4168811 - ], - [ - 10.07418, - 47.4147226 - ], - [ - 10.0691405, - 47.410176 - ], - [ - 10.0862396, - 47.3995221 - ], - [ - 10.0828437, - 47.3938062 - ], - [ - 10.0998387, - 47.3547604 - ], - [ - 10.1193354, - 47.375613 - ], - [ - 10.1416871, - 47.36718 - ], - [ - 10.1658749, - 47.3688749 - ], - [ - 10.1695804, - 47.3712997 - ], - [ - 10.1693975, - 47.3858299 - ], - [ - 10.1813043, - 47.3872516 - ], - [ - 10.181849, - 47.3924258 - ], - [ - 10.1950843, - 47.3893456 - ], - [ - 10.1998763, - 47.3833352 - ], - [ - 10.2125912, - 47.3803897 - ], - [ - 10.227051, - 47.388895 - ], - [ - 10.2361856, - 47.3819213 - ], - [ - 10.2316784, - 47.3789694 - ], - [ - 10.2371623, - 47.3735651 - ], - [ - 10.2169885, - 47.3543552 - ], - [ - 10.2171047, - 47.3498849 - ], - [ - 10.2042369, - 47.3367531 - ], - [ - 10.2074173, - 47.3323161 - ], - [ - 10.1995092, - 47.3264601 - ], - [ - 10.2111311, - 47.3189838 - ], - [ - 10.2159718, - 47.311064 - ], - [ - 10.2123593, - 47.3112242 - ], - [ - 10.1991314, - 47.2975423 - ], - [ - 10.1896365, - 47.2939449 - ], - [ - 10.1796106, - 47.2960256 - ], - [ - 10.172077, - 47.2790762 - ], - [ - 10.1740416, - 47.2702482 - ], - [ - 10.1783421, - 47.2701114 - ], - [ - 10.174493, - 47.263697 - ], - [ - 10.218842, - 47.255327 - ], - [ - 10.223433, - 47.249833 - ], - [ - 10.210873, - 47.247805 - ], - [ - 10.1977606, - 47.236662 - ], - [ - 10.207913, - 47.232802 - ], - [ - 10.214282, - 47.216842 - ], - [ - 10.21269, - 47.204315 - ], - [ - 10.1996265, - 47.195388 - ], - [ - 10.1995066, - 47.1852535 - ], - [ - 10.2115119, - 47.1712368 - ], - [ - 10.2091987, - 47.1653713 - ], - [ - 10.20851, - 47.159483 - ], - [ - 10.213206, - 47.1576984 - ], - [ - 10.222203, - 47.15323 - ], - [ - 10.2216565, - 47.1492513 - ], - [ - 10.214808, - 47.143515 - ], - [ - 10.203327, - 47.142152 - ], - [ - 10.208868, - 47.131643 - ], - [ - 10.186295, - 47.12886 - ], - [ - 10.186525, - 47.119455 - ], - [ - 10.172877, - 47.120333 - ], - [ - 10.162993, - 47.113607 - ], - [ - 10.157657, - 47.114262 - ], - [ - 10.154415, - 47.105778 - ], - [ - 10.132428, - 47.081218 - ], - [ - 10.1345877, - 47.0639183 - ], - [ - 10.1508456, - 47.0618412 - ], - [ - 10.156932, - 47.048827 - ], - [ - 10.1441816, - 47.0335527 - ], - [ - 10.1232555, - 47.0220943 - ], - [ - 10.1328399, - 47.0120428 - ], - [ - 10.1544702, - 47.0054497 - ], - [ - 10.159614, - 46.9988153 - ], - [ - 10.1544222, - 46.9929855 - ], - [ - 10.1600074, - 46.9839969 - ], - [ - 10.1446293, - 46.9830135 - ], - [ - 10.1349173, - 46.9658398 - ], - [ - 10.1350134, - 46.9548285 - ], - [ - 10.1268364, - 46.9434986 - ], - [ - 10.0977188, - 46.9267603 - ], - [ - 10.0995372, - 46.9171215 - ], - [ - 10.1092134, - 46.908337 - ], - [ - 10.1090833, - 46.8943061 - ], - [ - 10.1249668, - 46.8801373 - ], - [ - 10.1414741, - 46.8746789 - ], - [ - 10.1396666, - 46.8621658 - ], - [ - 10.1450621, - 46.8510986 - ], - [ - 10.1394105, - 46.8473781 - ], - [ - 10.1230851, - 46.8484838 - ], - [ - 10.1191237, - 46.8441698 - ], - [ - 10.1051833, - 46.8408981 - ], - [ - 10.0919546, - 46.851426 - ], - [ - 10.0926536, - 46.8581775 - ], - [ - 10.087123, - 46.861277 - ], - [ - 10.0548814, - 46.8617049 - ], - [ - 10.0508964, - 46.8644202 - ], - [ - 10.0519245, - 46.8740502 - ], - [ - 10.0389144, - 46.8861128 - ], - [ - 10.0322055, - 46.8880172 - ], - [ - 10.0178184, - 46.9016148 - ], - [ - 10.0049435, - 46.8988926 - ], - [ - 9.9824336, - 46.9061986 - ], - [ - 9.9779314, - 46.9160343 - ], - [ - 9.9665663, - 46.9122226 - ], - [ - 9.9590704, - 46.9160246 - ], - [ - 9.946121, - 46.9123495 - ], - [ - 9.9375809, - 46.9132426 - ], - [ - 9.9215303, - 46.918824 - ], - [ - 9.9123097, - 46.9260554 - ], - [ - 9.9063207, - 46.9253006 - ], - [ - 9.8944853, - 46.9316447 - ], - [ - 9.8761296, - 46.9346278 - ], - [ - 9.8807063, - 46.9401115 - ], - [ - 9.8765706, - 46.9407057 - ], - [ - 9.8748781, - 46.9503903 - ], - [ - 9.8787197, - 46.9570665 - ], - [ - 9.8707312, - 46.9632091 - ], - [ - 9.8848165, - 46.9854648 - ], - [ - 9.8923039, - 46.9903589 - ], - [ - 9.8887771, - 47.0007231 - ], - [ - 9.870696, - 47.0096514 - ], - [ - 9.8711507, - 47.0130577 - ], - [ - 9.8803497, - 47.0172237 - ], - [ - 9.8777935, - 47.0205525 - ], - [ - 9.8597449, - 47.0232098 - ], - [ - 9.8527287, - 47.0164129 - ], - [ - 9.8361195, - 47.012531 - ], - [ - 9.8235302, - 47.0198587 - ], - [ - 9.8075641, - 47.0235627 - ], - [ - 9.7849142, - 47.0384853 - ], - [ - 9.7480774, - 47.0369227 - ], - [ - 9.7418488, - 47.042675 - ], - [ - 9.718211, - 47.0433745 - ], - [ - 9.7070102, - 47.0480458 - ], - [ - 9.7075964, - 47.0538077 - ], - [ - 9.69756, - 47.0523884 - ], - [ - 9.6839177, - 47.0576471 - ], - [ - 9.6818398, - 47.0620979 - ], - [ - 9.6774319, - 47.061409 - ], - [ - 9.6582148, - 47.0581823 - ], - [ - 9.6450573, - 47.059775 - ], - [ - 9.6415752, - 47.0559826 - ], - [ - 9.6365412, - 47.051703 - ], - [ - 9.6263272, - 47.0513274 - ], - [ - 9.6070544, - 47.0607725 - ], - [ - 9.6133977, - 47.0694958 - ], - [ - 9.6115341, - 47.0794024 - ], - [ - 9.6186894, - 47.0781689 - ], - [ - 9.6233873, - 47.0825788 - ], - [ - 9.6334608, - 47.0834395 - ], - [ - 9.6356428, - 47.0955277 - ], - [ - 9.6285845, - 47.1075584 - ], - [ - 9.6208286, - 47.1103155 - ], - [ - 9.6350298, - 47.1281316 - ], - [ - 9.6246665, - 47.1326485 - ], - [ - 9.6225823, - 47.1413535 - ], - [ - 9.6258673, - 47.1458981 - ], - [ - 9.6205943, - 47.1516392 - ], - [ - 9.6089021, - 47.1477494 - ], - [ - 9.5967871, - 47.1629415 - ], - [ - 9.5794635, - 47.1711566 - ], - [ - 9.5645583, - 47.1702904 - ], - [ - 9.5730168, - 47.1755955 - ], - [ - 9.5725939, - 47.1907921 - ], - [ - 9.5803175, - 47.1957775 - ], - [ - 9.5847667, - 47.2053225 - ], - [ - 9.5687023, - 47.2196758 - ], - [ - 9.5585129, - 47.2241649 - ], - [ - 9.5517611, - 47.2237671 - ], - [ - 9.5667871, - 47.2428808 - ], - [ - 9.5307265, - 47.2705781 - ], - [ - 9.5461876, - 47.2800507 - ], - [ - 9.556344, - 47.2982863 - ], - [ - 9.588051, - 47.3173029 - ], - [ - 9.5996599, - 47.3454983 - ], - [ - 9.6107327, - 47.355706 - ], - [ - 9.6244598, - 47.3661451 - ], - [ - 9.6587582, - 47.369461 - ], - [ - 9.6725468, - 47.3802057 - ], - [ - 9.673111, - 47.3919406 - ], - [ - 9.6516178, - 47.404626 - ], - [ - 9.6455139, - 47.4311951 - ], - [ - 9.6451212, - 47.4378008 - ], - [ - 9.6579866, - 47.4477909 - ], - [ - 9.6589756, - 47.4522045 - ], - [ - 9.6223413, - 47.457472 - ], - [ - 9.609044, - 47.4705422 - ], - [ - 9.6029186, - 47.4619769 - ], - [ - 9.5951426, - 47.4633095 - ], - [ - 9.5821741, - 47.4827585 - ], - [ - 9.562202, - 47.4959175 - ], - [ - 9.550566, - 47.5371757 - ], - [ - 9.5827036, - 47.5359236 - ], - [ - 9.6046496, - 47.5295205 - ], - [ - 9.7347836, - 47.5339558 - ], - [ - 9.7351711, - 47.5466141 - ], - [ - 9.7416436, - 47.5549858 - ], - [ - 9.7471037, - 47.5556923 - ], - [ - 9.7433711, - 47.5586655 - ], - [ - 9.7520662, - 47.5674668 - ], - [ - 9.7480649, - 47.5705239 - ], - [ - 9.7563218, - 47.5726206 - ], - [ - 9.7563266, - 47.5796315 - ], - [ - 9.7619689, - 47.5809636 - ], - [ - 9.7655314, - 47.5891166 - ], - [ - 9.7693306, - 47.5873852 - ], - [ - 9.7769663, - 47.5954393 - ], - [ - 9.7915143, - 47.5935211 - ], - [ - 9.7999911, - 47.5961057 - ], - [ - 9.81414, - 47.5880685 - ], - [ - 9.8238141, - 47.5871045 - ], - [ - 9.8272819, - 47.579972 - ], - [ - 9.8207906, - 47.5707624 - ], - [ - 9.8256191, - 47.5592156 - ], - [ - 9.8171007, - 47.5533268 - ], - [ - 9.8157872, - 47.5476661 - ], - [ - 9.8502301, - 47.5416393 - ], - [ - 9.8583884, - 47.5338767 - ], - [ - 9.8745052, - 47.5285372 - ], - [ - 9.8780368, - 47.5387569 - ], - [ - 9.8751486, - 47.543427 - ], - [ - 9.8812471, - 47.5481426 - ], - [ - 9.8891039, - 47.5439867 - ], - [ - 9.8993513, - 47.54475 - ], - [ - 9.9066603, - 47.5421716 - ], - [ - 9.913579, - 47.532546 - ], - [ - 9.9218947, - 47.5296364 - ], - [ - 9.9335226, - 47.5326499 - ], - [ - 9.9410791, - 47.5382227 - ], - [ - 9.9636997, - 47.5347198 - ], - [ - 9.9588294, - 47.5431278 - ], - [ - 9.9631795, - 47.54229 - ], - [ - 9.9680512, - 47.5463081 - ] - ] - ], - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg==" - }, - { - id: "vogis.cnv.at-DOM", - name: "VoGIS: DOM (Surface model)", - type: "wms", - template: "http://vogis.cnv.at/mapserver/mapserv?map=i_hoehen_und_gelaende_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=schummerung_50cm_surface&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - polygon: [ - [ - [ - 9.9680512, - 47.5463081 - ], - [ - 9.9680895, - 47.5462689 - ], - [ - 9.9712464, - 47.544249 - ], - [ - 9.9648355, - 47.538031 - ], - [ - 9.9683952, - 47.5280172 - ], - [ - 9.965262, - 47.5208928 - ], - [ - 9.9956949, - 47.5027787 - ], - [ - 9.9873585, - 47.4984652 - ], - [ - 10.0007641, - 47.4821056 - ], - [ - 10.023014, - 47.4841071 - ], - [ - 10.0374328, - 47.4891775 - ], - [ - 10.0447745, - 47.4876222 - ], - [ - 10.0541256, - 47.4758854 - ], - [ - 10.0534684, - 47.4668571 - ], - [ - 10.064681, - 47.4636357 - ], - [ - 10.0699906, - 47.4559503 - ], - [ - 10.0805676, - 47.4553604 - ], - [ - 10.0885672, - 47.4602924 - ], - [ - 10.091638, - 47.4589276 - ], - [ - 10.0938486, - 47.4404644 - ], - [ - 10.1055856, - 47.4287167 - ], - [ - 10.0937374, - 47.4168811 - ], - [ - 10.07418, - 47.4147226 - ], - [ - 10.0691405, - 47.410176 - ], - [ - 10.0862396, - 47.3995221 - ], - [ - 10.0828437, - 47.3938062 - ], - [ - 10.0998387, - 47.3547604 - ], - [ - 10.1193354, - 47.375613 - ], - [ - 10.1416871, - 47.36718 - ], - [ - 10.1658749, - 47.3688749 - ], - [ - 10.1695804, - 47.3712997 - ], - [ - 10.1693975, - 47.3858299 - ], - [ - 10.1813043, - 47.3872516 - ], - [ - 10.181849, - 47.3924258 - ], - [ - 10.1950843, - 47.3893456 - ], - [ - 10.1998763, - 47.3833352 - ], - [ - 10.2125912, - 47.3803897 - ], - [ - 10.227051, - 47.388895 - ], - [ - 10.2361856, - 47.3819213 - ], - [ - 10.2316784, - 47.3789694 - ], - [ - 10.2371623, - 47.3735651 - ], - [ - 10.2169885, - 47.3543552 - ], - [ - 10.2171047, - 47.3498849 - ], - [ - 10.2042369, - 47.3367531 - ], - [ - 10.2074173, - 47.3323161 - ], - [ - 10.1995092, - 47.3264601 - ], - [ - 10.2111311, - 47.3189838 - ], - [ - 10.2159718, - 47.311064 - ], - [ - 10.2123593, - 47.3112242 - ], - [ - 10.1991314, - 47.2975423 - ], - [ - 10.1896365, - 47.2939449 - ], - [ - 10.1796106, - 47.2960256 - ], - [ - 10.172077, - 47.2790762 - ], - [ - 10.1740416, - 47.2702482 - ], - [ - 10.1783421, - 47.2701114 - ], - [ - 10.174493, - 47.263697 - ], - [ - 10.218842, - 47.255327 - ], - [ - 10.223433, - 47.249833 - ], - [ - 10.210873, - 47.247805 - ], - [ - 10.1977606, - 47.236662 - ], - [ - 10.207913, - 47.232802 - ], - [ - 10.214282, - 47.216842 - ], - [ - 10.21269, - 47.204315 - ], - [ - 10.1996265, - 47.195388 - ], - [ - 10.1995066, - 47.1852535 - ], - [ - 10.2115119, - 47.1712368 - ], - [ - 10.2091987, - 47.1653713 - ], - [ - 10.20851, - 47.159483 - ], - [ - 10.213206, - 47.1576984 - ], - [ - 10.222203, - 47.15323 - ], - [ - 10.2216565, - 47.1492513 - ], - [ - 10.214808, - 47.143515 - ], - [ - 10.203327, - 47.142152 - ], - [ - 10.208868, - 47.131643 - ], - [ - 10.186295, - 47.12886 - ], - [ - 10.186525, - 47.119455 - ], - [ - 10.172877, - 47.120333 - ], - [ - 10.162993, - 47.113607 - ], - [ - 10.157657, - 47.114262 - ], - [ - 10.154415, - 47.105778 - ], - [ - 10.132428, - 47.081218 - ], - [ - 10.1345877, - 47.0639183 - ], - [ - 10.1508456, - 47.0618412 - ], - [ - 10.156932, - 47.048827 - ], - [ - 10.1441816, - 47.0335527 - ], - [ - 10.1232555, - 47.0220943 - ], - [ - 10.1328399, - 47.0120428 - ], - [ - 10.1544702, - 47.0054497 - ], - [ - 10.159614, - 46.9988153 - ], - [ - 10.1544222, - 46.9929855 - ], - [ - 10.1600074, - 46.9839969 - ], - [ - 10.1446293, - 46.9830135 - ], - [ - 10.1349173, - 46.9658398 - ], - [ - 10.1350134, - 46.9548285 - ], - [ - 10.1268364, - 46.9434986 - ], - [ - 10.0977188, - 46.9267603 - ], - [ - 10.0995372, - 46.9171215 - ], - [ - 10.1092134, - 46.908337 - ], - [ - 10.1090833, - 46.8943061 - ], - [ - 10.1249668, - 46.8801373 - ], - [ - 10.1414741, - 46.8746789 - ], - [ - 10.1396666, - 46.8621658 - ], - [ - 10.1450621, - 46.8510986 - ], - [ - 10.1394105, - 46.8473781 - ], - [ - 10.1230851, - 46.8484838 - ], - [ - 10.1191237, - 46.8441698 - ], - [ - 10.1051833, - 46.8408981 - ], - [ - 10.0919546, - 46.851426 - ], - [ - 10.0926536, - 46.8581775 - ], - [ - 10.087123, - 46.861277 - ], - [ - 10.0548814, - 46.8617049 - ], - [ - 10.0508964, - 46.8644202 - ], - [ - 10.0519245, - 46.8740502 - ], - [ - 10.0389144, - 46.8861128 - ], - [ - 10.0322055, - 46.8880172 - ], - [ - 10.0178184, - 46.9016148 - ], - [ - 10.0049435, - 46.8988926 - ], - [ - 9.9824336, - 46.9061986 - ], - [ - 9.9779314, - 46.9160343 - ], - [ - 9.9665663, - 46.9122226 - ], - [ - 9.9590704, - 46.9160246 - ], - [ - 9.946121, - 46.9123495 - ], - [ - 9.9375809, - 46.9132426 - ], - [ - 9.9215303, - 46.918824 - ], - [ - 9.9123097, - 46.9260554 - ], - [ - 9.9063207, - 46.9253006 - ], - [ - 9.8944853, - 46.9316447 - ], - [ - 9.8761296, - 46.9346278 - ], - [ - 9.8807063, - 46.9401115 - ], - [ - 9.8765706, - 46.9407057 - ], - [ - 9.8748781, - 46.9503903 - ], - [ - 9.8787197, - 46.9570665 - ], - [ - 9.8707312, - 46.9632091 - ], - [ - 9.8848165, - 46.9854648 - ], - [ - 9.8923039, - 46.9903589 - ], - [ - 9.8887771, - 47.0007231 - ], - [ - 9.870696, - 47.0096514 - ], - [ - 9.8711507, - 47.0130577 - ], - [ - 9.8803497, - 47.0172237 - ], - [ - 9.8777935, - 47.0205525 - ], - [ - 9.8597449, - 47.0232098 - ], - [ - 9.8527287, - 47.0164129 - ], - [ - 9.8361195, - 47.012531 - ], - [ - 9.8235302, - 47.0198587 - ], - [ - 9.8075641, - 47.0235627 - ], - [ - 9.7849142, - 47.0384853 - ], - [ - 9.7480774, - 47.0369227 - ], - [ - 9.7418488, - 47.042675 - ], - [ - 9.718211, - 47.0433745 - ], - [ - 9.7070102, - 47.0480458 - ], - [ - 9.7075964, - 47.0538077 - ], - [ - 9.69756, - 47.0523884 - ], - [ - 9.6839177, - 47.0576471 - ], - [ - 9.6818398, - 47.0620979 - ], - [ - 9.6774319, - 47.061409 - ], - [ - 9.6582148, - 47.0581823 - ], - [ - 9.6450573, - 47.059775 - ], - [ - 9.6415752, - 47.0559826 - ], - [ - 9.6365412, - 47.051703 - ], - [ - 9.6263272, - 47.0513274 - ], - [ - 9.6070544, - 47.0607725 - ], - [ - 9.6133977, - 47.0694958 - ], - [ - 9.6115341, - 47.0794024 - ], - [ - 9.6186894, - 47.0781689 - ], - [ - 9.6233873, - 47.0825788 - ], - [ - 9.6334608, - 47.0834395 - ], - [ - 9.6356428, - 47.0955277 - ], - [ - 9.6285845, - 47.1075584 - ], - [ - 9.6208286, - 47.1103155 - ], - [ - 9.6350298, - 47.1281316 - ], - [ - 9.6246665, - 47.1326485 - ], - [ - 9.6225823, - 47.1413535 - ], - [ - 9.6258673, - 47.1458981 - ], - [ - 9.6205943, - 47.1516392 - ], - [ - 9.6089021, - 47.1477494 - ], - [ - 9.5967871, - 47.1629415 - ], - [ - 9.5794635, - 47.1711566 - ], - [ - 9.5645583, - 47.1702904 - ], - [ - 9.5730168, - 47.1755955 - ], - [ - 9.5725939, - 47.1907921 - ], - [ - 9.5803175, - 47.1957775 - ], - [ - 9.5847667, - 47.2053225 - ], - [ - 9.5687023, - 47.2196758 - ], - [ - 9.5585129, - 47.2241649 - ], - [ - 9.5517611, - 47.2237671 - ], - [ - 9.5667871, - 47.2428808 - ], - [ - 9.5307265, - 47.2705781 - ], - [ - 9.5461876, - 47.2800507 - ], - [ - 9.556344, - 47.2982863 - ], - [ - 9.588051, - 47.3173029 - ], - [ - 9.5996599, - 47.3454983 - ], - [ - 9.6107327, - 47.355706 - ], - [ - 9.6244598, - 47.3661451 - ], - [ - 9.6587582, - 47.369461 - ], - [ - 9.6725468, - 47.3802057 - ], - [ - 9.673111, - 47.3919406 - ], - [ - 9.6516178, - 47.404626 - ], - [ - 9.6455139, - 47.4311951 - ], - [ - 9.6451212, - 47.4378008 - ], - [ - 9.6579866, - 47.4477909 - ], - [ - 9.6589756, - 47.4522045 - ], - [ - 9.6223413, - 47.457472 - ], - [ - 9.609044, - 47.4705422 - ], - [ - 9.6029186, - 47.4619769 - ], - [ - 9.5951426, - 47.4633095 - ], - [ - 9.5821741, - 47.4827585 - ], - [ - 9.562202, - 47.4959175 - ], - [ - 9.550566, - 47.5371757 - ], - [ - 9.5827036, - 47.5359236 - ], - [ - 9.6046496, - 47.5295205 - ], - [ - 9.7347836, - 47.5339558 - ], - [ - 9.7351711, - 47.5466141 - ], - [ - 9.7416436, - 47.5549858 - ], - [ - 9.7471037, - 47.5556923 - ], - [ - 9.7433711, - 47.5586655 - ], - [ - 9.7520662, - 47.5674668 - ], - [ - 9.7480649, - 47.5705239 - ], - [ - 9.7563218, - 47.5726206 - ], - [ - 9.7563266, - 47.5796315 - ], - [ - 9.7619689, - 47.5809636 - ], - [ - 9.7655314, - 47.5891166 - ], - [ - 9.7693306, - 47.5873852 - ], - [ - 9.7769663, - 47.5954393 - ], - [ - 9.7915143, - 47.5935211 - ], - [ - 9.7999911, - 47.5961057 - ], - [ - 9.81414, - 47.5880685 - ], - [ - 9.8238141, - 47.5871045 - ], - [ - 9.8272819, - 47.579972 - ], - [ - 9.8207906, - 47.5707624 - ], - [ - 9.8256191, - 47.5592156 - ], - [ - 9.8171007, - 47.5533268 - ], - [ - 9.8157872, - 47.5476661 - ], - [ - 9.8502301, - 47.5416393 - ], - [ - 9.8583884, - 47.5338767 - ], - [ - 9.8745052, - 47.5285372 - ], - [ - 9.8780368, - 47.5387569 - ], - [ - 9.8751486, - 47.543427 - ], - [ - 9.8812471, - 47.5481426 - ], - [ - 9.8891039, - 47.5439867 - ], - [ - 9.8993513, - 47.54475 - ], - [ - 9.9066603, - 47.5421716 - ], - [ - 9.913579, - 47.532546 - ], - [ - 9.9218947, - 47.5296364 - ], - [ - 9.9335226, - 47.5326499 - ], - [ - 9.9410791, - 47.5382227 - ], - [ - 9.9636997, - 47.5347198 - ], - [ - 9.9588294, - 47.5431278 - ], - [ - 9.9631795, - 47.54229 - ], - [ - 9.9680512, - 47.5463081 - ] - ] - ], - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg==" - }, - { - id: "vogis.cnv.at-ef2012_12cm", - name: "VoGIS: Echtfarbenbild 2012 (12cm)", - type: "wms", - template: "http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ef2012_12cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2012-01-01T00:00:00.000Z", - startDate: "2012-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 9.5436683, - 47.4847893 - ], - [ - 9.6145139, - 47.4505807 - ], - [ - 9.6135938, - 47.3827196 - ], - [ - 9.4424603, - 47.2479843 - ], - [ - 9.4461405, - 47.0959963 - ], - [ - 9.4286592, - 47.0891059 - ], - [ - 9.4249789, - 47.0151345 - ], - [ - 9.8528128, - 47.0019594 - ], - [ - 9.8574132, - 46.898956 - ], - [ - 9.9669019, - 46.889525 - ], - [ - 10.0451081, - 46.849897 - ], - [ - 10.1582771, - 46.833534 - ], - [ - 10.1591972, - 46.8920401 - ], - [ - 10.1471804, - 46.8924787 - ], - [ - 10.1511549, - 46.9433055 - ], - [ - 10.1631717, - 46.9428673 - ], - [ - 10.1646986, - 46.9623816 - ], - [ - 10.1785187, - 46.9668098 - ], - [ - 10.1757585, - 47.1035121 - ], - [ - 10.2291227, - 47.1022595 - ], - [ - 10.2208421, - 47.2436121 - ], - [ - 10.2613253, - 47.4126142 - ], - [ - 10.1242344, - 47.4057648 - ], - [ - 10.093872, - 47.4779493 - ], - [ - 10.0046249, - 47.5071683 - ], - [ - 9.9862234, - 47.5612116 - ], - [ - 9.8436121, - 47.5624533 - ], - [ - 9.8408519, - 47.6071356 - ], - [ - 9.539988, - 47.6065153 - ], - [ - 9.5436683, - 47.4847893 - ] - ] - ], - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg==" - }, - { - id: "vogis.cnv.at-ef2015_10cm", - name: "VoGIS: Echtfarbenbild 2015 (10cm)", - type: "wms", - template: "http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ef2015_10cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 9.5436683, - 47.4847893 - ], - [ - 9.6145139, - 47.4505807 - ], - [ - 9.6135938, - 47.3827196 - ], - [ - 9.4424603, - 47.2479843 - ], - [ - 9.4461405, - 47.0959963 - ], - [ - 9.4286592, - 47.0891059 - ], - [ - 9.4249789, - 47.0151345 - ], - [ - 9.8528128, - 47.0019594 - ], - [ - 9.8574132, - 46.898956 - ], - [ - 9.9669019, - 46.889525 - ], - [ - 10.0451081, - 46.849897 - ], - [ - 10.1582771, - 46.833534 - ], - [ - 10.1591972, - 46.8920401 - ], - [ - 10.1471804, - 46.8924787 - ], - [ - 10.1511549, - 46.9433055 - ], - [ - 10.1631717, - 46.9428673 - ], - [ - 10.1646986, - 46.9623816 - ], - [ - 10.1785187, - 46.9668098 - ], - [ - 10.1757585, - 47.1035121 - ], - [ - 10.2291227, - 47.1022595 - ], - [ - 10.2208421, - 47.2436121 - ], - [ - 10.2613253, - 47.4126142 - ], - [ - 10.1242344, - 47.4057648 - ], - [ - 10.093872, - 47.4779493 - ], - [ - 10.0046249, - 47.5071683 - ], - [ - 9.9862234, - 47.5612116 - ], - [ - 9.8436121, - 47.5624533 - ], - [ - 9.8408519, - 47.6071356 - ], - [ - 9.539988, - 47.6065153 - ], - [ - 9.5436683, - 47.4847893 - ] - ] - ], - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg==" - }, - { - id: "vogis.cnv.at-wi2015_20cm", - name: "VoGIS: Echtfarbenbild Winter 2015 (20cm)", - type: "wms", - template: "http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=wi2015_20cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}", - projection: "EPSG:3857", - endDate: "2015-01-01T00:00:00.000Z", - startDate: "2015-01-01T00:00:00.000Z", - polygon: [ - [ - [ - 10.1703925, - 46.8297883 - ], - [ - 10.1710791, - 46.93644 - ], - [ - 10.1841254, - 46.9411282 - ], - [ - 10.1854987, - 47.1015707 - ], - [ - 10.239057, - 47.104375 - ], - [ - 10.2428336, - 47.1561117 - ], - [ - 10.2569098, - 47.1870362 - ], - [ - 10.2455802, - 47.2759749 - ], - [ - 10.2531333, - 47.323472 - ], - [ - 10.2689261, - 47.3262646 - ], - [ - 10.2644629, - 47.41102 - ], - [ - 10.1319403, - 47.4086966 - ], - [ - 10.1343436, - 47.4610652 - ], - [ - 10.1175208, - 47.4615294 - ], - [ - 10.1188941, - 47.4733659 - ], - [ - 10.0873084, - 47.4742942 - ], - [ - 10.0849051, - 47.5072362 - ], - [ - 10.0684256, - 47.5070043 - ], - [ - 10.0673956, - 47.521497 - ], - [ - 10.0234503, - 47.5242791 - ], - [ - 10.000791, - 47.5794276 - ], - [ - 9.8490424, - 47.5775748 - ], - [ - 9.8504157, - 47.6146181 - ], - [ - 9.7275061, - 47.6127666 - ], - [ - 9.7202963, - 47.5908903 - ], - [ - 9.7034735, - 47.5891536 - ], - [ - 9.7031302, - 47.5449087 - ], - [ - 9.6821875, - 47.5449087 - ], - [ - 9.6804709, - 47.5534826 - ], - [ - 9.5639128, - 47.5493117 - ], - [ - 9.5620246, - 47.5395782 - ], - [ - 9.5517249, - 47.5395782 - ], - [ - 9.5517249, - 47.5340154 - ], - [ - 9.5216841, - 47.5347108 - ], - [ - 9.5270056, - 47.3049672 - ], - [ - 9.505033, - 47.3026391 - ], - [ - 9.5009131, - 47.2336806 - ], - [ - 9.5235724, - 47.2322819 - ], - [ - 9.5242591, - 47.165566 - ], - [ - 9.5448584, - 47.1640488 - ], - [ - 9.5438284, - 47.1544774 - ], - [ - 9.5723242, - 47.1540105 - ], - [ - 9.5702643, - 47.128089 - ], - [ - 9.590177, - 47.128673 - ], - [ - 9.5918936, - 47.1002853 - ], - [ - 9.5723242, - 47.1001685 - ], - [ - 9.5771308, - 47.0286063 - ], - [ - 9.7240729, - 47.0304785 - ], - [ - 9.7230429, - 47.0174892 - ], - [ - 9.7745413, - 47.0156166 - ], - [ - 9.776258, - 47.0055504 - ], - [ - 9.7927374, - 47.0039115 - ], - [ - 9.7947974, - 46.9912671 - ], - [ - 9.8387427, - 46.9931405 - ], - [ - 9.840116, - 46.9034933 - ], - [ - 9.8902411, - 46.9072462 - ], - [ - 9.8854346, - 46.887071 - ], - [ - 9.959249, - 46.8914116 - ], - [ - 9.9619956, - 46.8767458 - ], - [ - 10.0001044, - 46.8786233 - ], - [ - 9.9966712, - 46.857146 - ], - [ - 10.0186438, - 46.8565591 - ], - [ - 10.0234503, - 46.8307278 - ], - [ - 10.1703925, - 46.8297883 - ] - ] - ], - icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg==" - } - ]; - - var presets = { - aerialway: { - fields: [ - "aerialway" - ], - geometry: [ - "point", - "vertex", - "line" - ], - tags: { - aerialway: "*" - }, - terms: [ - "ski lift", - "funifor", - "funitel" - ], - searchable: false, - name: "Aerialway" - }, - aeroway: { - icon: "airport", - fields: [ - "aeroway" - ], - geometry: [ - "point", - "vertex", - "line", - "area" - ], - tags: { - aeroway: "*" - }, - searchable: false, - name: "Aeroway" - }, - amenity: { - fields: [ - "amenity" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - amenity: "*" - }, - searchable: false, - name: "Amenity" - }, - circular: { - geometry: [ - "vertex", - "line" - ], - fields: [ - "name" - ], - tags: { - junction: "circular" - }, - name: "Traffic Circle", - searchable: false - }, - highway: { - fields: [ - "name", - "highway" - ], - geometry: [ - "point", - "vertex", - "line", - "area" - ], - tags: { - highway: "*" - }, - searchable: false, - name: "Highway" - }, - place: { - fields: [ - "name", - "place" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - place: "*" - }, - searchable: false, - name: "Place" - }, - power: { - geometry: [ - "point", - "vertex", - "line", - "area" - ], - tags: { - power: "*" - }, - fields: [ - "power" - ], - searchable: false, - name: "Power" - }, - railway: { - fields: [ - "railway" - ], - geometry: [ - "point", - "vertex", - "line", - "area" - ], - tags: { - railway: "*" - }, - searchable: false, - name: "Railway" - }, - roundabout: { - geometry: [ - "vertex", - "line" - ], - fields: [ - "name" - ], - tags: { - junction: "roundabout" - }, - name: "Roundabout", - searchable: false - }, - waterway: { - fields: [ - "name", - "waterway" - ], - geometry: [ - "point", - "vertex", - "line", - "area" - ], - tags: { - waterway: "*" - }, - searchable: false, - name: "Waterway" - }, - address: { - fields: [ - "address" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - "addr:*": "*" - }, - addTags: { - }, - removeTags: { - }, - reference: { - key: "addr" - }, - name: "Address", - matchScore: 0.15 - }, - "advertising/billboard": { - fields: [ - "direction", - "lit" - ], - geometry: [ - "point", - "vertex", - "line" - ], - tags: { - advertising: "billboard" - }, - name: "Billboard" - }, - "advertising/column": { - fields: [ - "direction", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - advertising: "column" - }, - name: "Advertising Column" - }, - "aerialway/station": { - icon: "aerialway", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "aerialway/access", - "aerialway/summer/access", - "elevation", - "building_area" - ], - tags: { - aerialway: "station" - }, - name: "Aerialway Station", - searchable: false - }, - "aerialway/cable_car": { - geometry: [ - "line" - ], - terms: [ - "tramway", - "ropeway" - ], - fields: [ - "name", - "aerialway/occupancy", - "aerialway/capacity", - "aerialway/duration", - "aerialway/heating" - ], - tags: { - aerialway: "cable_car" - }, - name: "Cable Car" - }, - "aerialway/chair_lift": { - geometry: [ - "line" - ], - fields: [ - "name", - "aerialway/occupancy", - "aerialway/capacity", - "aerialway/duration", - "aerialway/bubble", - "aerialway/heating" - ], - tags: { - aerialway: "chair_lift" - }, - name: "Chair Lift" - }, - "aerialway/drag_lift": { - geometry: [ - "line" - ], - fields: [ - "name", - "aerialway/capacity", - "aerialway/duration" - ], - tags: { - aerialway: "drag_lift" - }, - name: "Drag Lift" - }, - "aerialway/gondola": { - geometry: [ - "line" - ], - fields: [ - "name", - "aerialway/occupancy", - "aerialway/capacity", - "aerialway/duration", - "aerialway/bubble", - "aerialway/heating" - ], - tags: { - aerialway: "gondola" - }, - name: "Gondola" - }, - "aerialway/goods": { - geometry: [ - "line" - ], - fields: [ - "name", - "aerialway/capacity", - "aerialway/duration" - ], - tags: { - aerialway: "goods" - }, - name: "Goods Aerialway" - }, - "aerialway/magic_carpet": { - geometry: [ - "line" - ], - fields: [ - "name", - "aerialway/capacity", - "aerialway/duration", - "aerialway/heating" - ], - tags: { - aerialway: "magic_carpet" - }, - name: "Magic Carpet Lift" - }, - "aerialway/mixed_lift": { - geometry: [ - "line" - ], - fields: [ - "name", - "aerialway/occupancy", - "aerialway/capacity", - "aerialway/duration", - "aerialway/bubble", - "aerialway/heating" - ], - tags: { - aerialway: "mixed_lift" - }, - name: "Mixed Lift" - }, - "aerialway/platter": { - geometry: [ - "line" - ], - terms: [ - "button lift", - "poma lift" - ], - fields: [ - "name", - "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: [ - "name", - "aerialway/capacity", - "aerialway/duration" - ], - tags: { - aerialway: "rope_tow" - }, - name: "Rope Tow Lift" - }, - "aerialway/t-bar": { - geometry: [ - "line" - ], - fields: [ - "name", - "aerialway/capacity", - "aerialway/duration" - ], - terms: [ - "tbar" - ], - tags: { - aerialway: "t-bar" - }, - name: "T-bar Lift" - }, - "aeroway/aerodrome": { - icon: "airport", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "iata", - "icao", - "operator", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - terms: [ - "airplane", - "airport", - "aerodrome" - ], - 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_aeroway_gate" - ], - tags: { - aeroway: "gate" - }, - name: "Airport Gate" - }, - "aeroway/hangar": { - geometry: [ - "area" - ], - fields: [ - "name", - "building_area" - ], - tags: { - aeroway: "hangar" - }, - name: "Hangar" - }, - "aeroway/helipad": { - icon: "heliport", - geometry: [ - "point", - "area" - ], - fields: [ - "ref" - ], - terms: [ - "helicopter", - "helipad", - "heliport" - ], - tags: { - aeroway: "helipad" - }, - name: "Helipad" - }, - "aeroway/runway": { - geometry: [ - "line", - "area" - ], - terms: [ - "landing strip" - ], - fields: [ - "ref_runway", - "surface", - "length", - "width" - ], - tags: { - aeroway: "runway" - }, - name: "Runway" - }, - "aeroway/taxiway": { - geometry: [ - "line" - ], - fields: [ - "ref_taxiway", - "surface" - ], - tags: { - aeroway: "taxiway" - }, - name: "Taxiway" - }, - "aeroway/terminal": { - icon: "airport", - geometry: [ - "point", - "area" - ], - terms: [ - "airport", - "aerodrome" - ], - fields: [ - "name", - "operator", - "building_area" - ], - tags: { - aeroway: "terminal" - }, - name: "Airport Terminal" - }, - "allotments/plot": { - geometry: [ - "area" - ], - fields: [ - "name", - "ref" - ], - tags: { - allotments: "plot" - }, - reference: { - key: "allotments", - value: "plot" - }, - name: "Community Garden Plot" - }, - "amenity/bus_station": { - icon: "bus", - fields: [ - "name", - "building_area", - "operator", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "bus_station" - }, - name: "Bus Station / Terminal", - searchable: false - }, - "amenity/coworking_space": { - icon: "commercial", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "coworking_space" - }, - name: "Coworking Space", - searchable: false - }, - "amenity/ferry_terminal": { - icon: "ferry", - fields: [ - "name", - "network", - "operator", - "address", - "building_area" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - ], - tags: { - amenity: "ferry_terminal" - }, - name: "Ferry Station / Terminal", - searchable: false - }, - "amenity/nursing_home": { - icon: "wheelchair", - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours", - "wheelchair" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "nursing_home" - }, - reference: { - key: "social_facility", - value: "nursing_home" - }, - name: "Nursing Home", - searchable: false - }, - "amenity/register_office": { - icon: "town-hall", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "operator" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "register_office" - }, - reference: { - key: "government", - value: "register_office" - }, - name: "Register Office", - searchable: false - }, - "amenity/scrapyard": { - icon: "car", - fields: [ - "name", - "operator", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "scrapyard" - }, - reference: { - key: "industrial", - value: "scrap_yard" - }, - name: "Scrap Yard", - searchable: false - }, - "amenity/swimming_pool": { - icon: "swimming", - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - amenity: "swimming_pool" - }, - reference: { - key: "leisure", - value: "swimming_pool" - }, - name: "Swimming Pool", - searchable: false - }, - "amenity/animal_boarding": { - icon: "veterinary", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "animal_boarding" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "boarding", - "cat", - "cattery", - "dog", - "horse", - "kennel", - "kitten", - "pet", - "pet boarding", - "pet care", - "pet hotel", - "puppy", - "reptile" - ], - tags: { - amenity: "animal_boarding" - }, - name: "Animal Boarding Facility" - }, - "amenity/animal_breeding": { - icon: "veterinary", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "animal_breeding" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "breeding", - "bull", - "cat", - "cow", - "dog", - "horse", - "husbandry", - "kitten", - "livestock", - "pet breeding", - "puppy", - "reptile" - ], - tags: { - amenity: "animal_breeding" - }, - name: "Animal Breeding Facility" - }, - "amenity/animal_shelter": { - icon: "veterinary", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "animal_shelter" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "adoption", - "aspca", - "cat", - "dog", - "horse", - "kitten", - "pet care", - "pet rescue", - "puppy", - "raptor", - "reptile", - "rescue", - "spca" - ], - tags: { - amenity: "animal_shelter" - }, - name: "Animal Shelter" - }, - "amenity/arts_centre": { - icon: "theatre", - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "dive", - "beer", - "bier", - "booze" - ], - tags: { - amenity: "bar" - }, - name: "Bar" - }, - "amenity/bbq": { - icon: "bbq", - fields: [ - "covered", - "fuel" - ], - geometry: [ - "point" - ], - terms: [ - "bbq", - "grill" - ], - tags: { - amenity: "bbq" - }, - name: "Barbecue/Grill" - }, - "amenity/bench": { - icon: "poi-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", - "payment_multi" - ], - 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" - ], - geometry: [ - "point", - "vertex" - ], - terms: [ - "bike", - "repair", - "chain", - "pump" - ], - tags: { - amenity: "bicycle_repair_station" - }, - name: "Bicycle Repair Tool Stand" - }, - "amenity/biergarten": { - icon: "beer", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "biergarten" - }, - terms: [ - "beer", - "bier", - "booze" - ], - name: "Beer Garden" - }, - "amenity/boat_rental": { - fields: [ - "name", - "operator", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "boat_rental" - }, - name: "Boat Rental" - }, - "amenity/bureau_de_change": { - icon: "bank", - fields: [ - "name", - "currency_multi", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "bureau de change", - "money changer" - ], - tags: { - amenity: "bureau_de_change" - }, - name: "Currency Exchange" - }, - "amenity/cafe": { - icon: "cafe", - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "bistro", - "coffee", - "tea" - ], - tags: { - amenity: "cafe" - }, - name: "Cafe" - }, - "amenity/car_pooling": { - icon: "car", - fields: [ - "name", - "operator", - "capacity" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "car_pooling" - }, - name: "Car Pooling" - }, - "amenity/car_rental": { - icon: "car", - fields: [ - "name", - "operator", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "car_rental" - }, - name: "Car Rental" - }, - "amenity/car_sharing": { - icon: "car", - fields: [ - "name", - "operator", - "capacity", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "car_sharing" - }, - name: "Car Sharing" - }, - "amenity/car_wash": { - icon: "car", - fields: [ - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "car_wash" - }, - name: "Car Wash" - }, - "amenity/casino": { - icon: "poi-dice", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "smoking" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "gambling", - "roulette", - "craps", - "poker", - "blackjack" - ], - tags: { - amenity: "casino" - }, - name: "Casino" - }, - "amenity/charging_station": { - icon: "car", - fields: [ - "operator", - "capacity" - ], - geometry: [ - "point" - ], - tags: { - amenity: "charging_station" - }, - terms: [ - "EV", - "Electric Vehicle", - "Supercharger" - ], - name: "Charging Station" - }, - "amenity/childcare": { - icon: "school", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "daycare", - "orphanage", - "playgroup" - ], - tags: { - amenity: "childcare" - }, - name: "Nursery/Childcare" - }, - "amenity/cinema": { - icon: "cinema", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "drive-in", - "film", - "flick", - "movie", - "theater", - "picture", - "show", - "screen" - ], - tags: { - amenity: "cinema" - }, - name: "Cinema" - }, - "amenity/clinic": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "medical", - "urgentcare" - ], - tags: { - amenity: "clinic" - }, - addTags: { - amenity: "clinic", - healthcare: "clinic" - }, - removeTags: { - amenity: "clinic", - healthcare: "clinic" - }, - reference: { - key: "amenity", - value: "clinic" - }, - name: "Clinic" - }, - "amenity/clinic/abortion": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - ], - tags: { - amenity: "clinic", - healthcare: "clinic", - "healthcare:speciality": "abortion" - }, - reference: { - key: "amenity", - value: "clinic" - }, - name: "Abortion Clinic" - }, - "amenity/clinic/fertility": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "egg", - "fertility", - "reproductive", - "sperm", - "ovulation" - ], - tags: { - amenity: "clinic", - healthcare: "clinic", - "healthcare:speciality": "fertility" - }, - reference: { - key: "amenity", - value: "clinic" - }, - name: "Fertility Clinic" - }, - "amenity/clock": { - icon: "poi-clock", - fields: [ - "name", - "support", - "display", - "visibility", - "date", - "faces" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - amenity: "clock" - }, - name: "Clock" - }, - "amenity/college": { - icon: "college", - fields: [ - "name", - "operator", - "address", - "internet_access", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "university" - ], - tags: { - amenity: "college" - }, - name: "College Grounds" - }, - "amenity/community_centre": { - icon: "town-hall", - fields: [ - "name", - "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: [ - "name", - "operator", - "address", - "building_area" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "courthouse" - }, - name: "Courthouse" - }, - "amenity/crematorium": { - icon: "cemetery", - fields: [ - "name", - "website", - "phone", - "opening_hours", - "wheelchair" - ], - geometry: [ - "area", - "point" - ], - tags: { - amenity: "crematorium" - }, - terms: [ - "cemetery", - "funeral" - ], - name: "Crematorium" - }, - "amenity/dentist": { - icon: "dentist", - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "tooth", - "teeth" - ], - tags: { - amenity: "dentist" - }, - addTags: { - amenity: "dentist", - healthcare: "dentist" - }, - removeTags: { - amenity: "dentist", - healthcare: "dentist" - }, - reference: { - key: "amenity", - value: "dentist" - }, - name: "Dentist" - }, - "amenity/doctors": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "medic*", - "physician" - ], - tags: { - amenity: "doctors" - }, - addTags: { - amenity: "doctors", - healthcare: "doctor" - }, - removeTags: { - amenity: "doctors", - healthcare: "doctor" - }, - reference: { - key: "amenity", - value: "doctors" - }, - name: "Doctor" - }, - "amenity/dojo": { - icon: "pitch", - fields: [ - "name", - "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: "drinking-water", - geometry: [ - "point" - ], - tags: { - amenity: "drinking_water" - }, - terms: [ - "fountain", - "potable" - ], - name: "Drinking Water" - }, - "amenity/driving_school": { - icon: "car", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "driving_school" - }, - name: "Driving School" - }, - "amenity/embassy": { - icon: "embassy", - fields: [ - "name", - "country", - "address", - "building_area" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "embassy" - }, - name: "Embassy" - }, - "amenity/fast_food": { - icon: "fast-food", - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "fast_food" - }, - terms: [ - "restaurant", - "takeaway" - ], - name: "Fast Food" - }, - "amenity/fire_station": { - icon: "fire-station", - fields: [ - "name", - "operator", - "address", - "building_area" - ], - geometry: [ - "point", - "area" - ], - terms: [ - ], - tags: { - amenity: "fire_station" - }, - name: "Fire Station" - }, - "amenity/food_court": { - icon: "restaurant", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "fast food", - "restaurant", - "food" - ], - tags: { - amenity: "food_court" - }, - name: "Food Court" - }, - "amenity/fountain": { - icon: "poi-fountain", - fields: [ - "name" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "fountain" - }, - name: "Fountain" - }, - "amenity/fuel": { - icon: "fuel", - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_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: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "clinic", - "doctor", - "emergency room", - "health", - "infirmary", - "institution", - "sanatorium", - "sanitarium", - "sick", - "surgery", - "ward" - ], - tags: { - amenity: "hospital" - }, - addTags: { - amenity: "hospital", - healthcare: "hospital" - }, - removeTags: { - amenity: "hospital", - healthcare: "hospital" - }, - reference: { - key: "amenity", - value: "hospital" - }, - name: "Hospital Grounds" - }, - "amenity/hunting_stand": { - icon: "poi-binoculars", - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "game", - "gun", - "lookout", - "rifle", - "shoot*", - "wild", - "watch" - ], - tags: { - amenity: "hunting_stand" - }, - name: "Hunting Stand" - }, - "amenity/ice_cream": { - icon: "ice-cream", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "outdoor_seating" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "gelato", - "sorbet", - "sherbet", - "frozen", - "yogurt" - ], - tags: { - amenity: "ice_cream" - }, - name: "Ice Cream Shop" - }, - "amenity/internet_cafe": { - icon: "poi-mast", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "cybercafe", - "taxiphone", - "teleboutique", - "coffee", - "cafe", - "net", - "lanhouse" - ], - tags: { - amenity: "internet_cafe" - }, - name: "Internet Cafe" - }, - "amenity/kindergarten": { - icon: "school", - fields: [ - "name", - "operator", - "address" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "kindergarden", - "pre-school" - ], - tags: { - amenity: "kindergarten" - }, - name: "Preschool/Kindergarten Grounds" - }, - "amenity/library": { - icon: "library", - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "book" - ], - tags: { - amenity: "library" - }, - name: "Library" - }, - "amenity/love_hotel": { - icon: "heart", - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "love_hotel" - }, - name: "Love Hotel" - }, - "amenity/marketplace": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "marketplace" - }, - name: "Marketplace" - }, - "amenity/monastery": { - icon: "place-of-worship", - fields: [ - "name", - "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", - "monastery", - "mosque", - "oratory", - "parish", - "sacellum", - "sanctuary", - "shrine", - "synagogue", - "tabernacle", - "temple" - ], - tags: { - amenity: "monastery" - }, - name: "Monastery Grounds" - }, - "amenity/motorcycle_parking": { - icon: "scooter", - fields: [ - "capacity", - "operator", - "covered", - "access_simple" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - amenity: "motorcycle_parking" - }, - name: "Motorcycle Parking" - }, - "amenity/music_school": { - icon: "school", - fields: [ - "name", - "operator", - "address" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "school of music" - ], - tags: { - amenity: "music_school" - }, - name: "Music School" - }, - "amenity/nightclub": { - icon: "bar", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "nightclub" - }, - terms: [ - "disco*", - "night club", - "dancing", - "dance club" - ], - name: "Nightclub" - }, - "amenity/parking_entrance": { - icon: "entrance-alt1", - 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" - }, - matchScore: 0.95, - name: "Parking Space" - }, - "amenity/parking": { - icon: "parking", - fields: [ - "name", - "operator", - "parking", - "capacity", - "fee", - "access_simple", - "supervised", - "park_ride", - "surface", - "maxstay" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - amenity: "parking" - }, - terms: [ - ], - name: "Car Parking" - }, - "amenity/pavilion": { - icon: "shelter", - fields: [ - "bin", - "bench" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - amenity: "shelter", - shelter_type: "pavilion" - }, - name: "Pavilion" - }, - "amenity/pharmacy": { - icon: "pharmacy", - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "pharmacy" - }, - addTags: { - amenity: "pharmacy", - healthcare: "pharmacy" - }, - removeTags: { - amenity: "pharmacy", - healthcare: "pharmacy" - }, - reference: { - key: "amenity", - value: "pharmacy" - }, - terms: [ - "drug*", - "med*", - "prescription" - ], - name: "Pharmacy" - }, - "amenity/place_of_worship": { - icon: "place-of-worship", - fields: [ - "name", - "religion", - "denomination", - "address", - "building_area", - "service_times" - ], - 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: "buddhism", - fields: [ - "name", - "denomination", - "building_area", - "address", - "service_times" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "stupa", - "vihara", - "monastery", - "temple", - "pagoda", - "zendo", - "dojo" - ], - tags: { - amenity: "place_of_worship", - religion: "buddhist" - }, - reference: { - key: "amenity", - value: "place_of_worship" - }, - name: "Buddhist Temple" - }, - "amenity/place_of_worship/christian": { - icon: "religious-christian", - fields: [ - "name", - "denomination", - "building_area", - "address", - "service_times" - ], - 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" - }, - reference: { - key: "amenity", - value: "place_of_worship" - }, - name: "Church" - }, - "amenity/place_of_worship/hindu": { - icon: "poi-hinduist", - fields: [ - "name", - "denomination", - "building_area", - "address", - "service_times" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "kovil", - "devasthana", - "mandir", - "kshetram", - "alayam", - "shrine", - "temple" - ], - tags: { - amenity: "place_of_worship", - religion: "hindu" - }, - reference: { - key: "amenity", - value: "place_of_worship" - }, - name: "Hindu Temple" - }, - "amenity/place_of_worship/jewish": { - icon: "religious-jewish", - fields: [ - "name", - "denomination", - "building_area", - "address", - "service_times" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "jewish" - ], - tags: { - amenity: "place_of_worship", - religion: "jewish" - }, - reference: { - key: "amenity", - value: "place_of_worship" - }, - name: "Synagogue" - }, - "amenity/place_of_worship/muslim": { - icon: "religious-muslim", - fields: [ - "name", - "denomination", - "building_area", - "address", - "service_times" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "muslim" - ], - tags: { - amenity: "place_of_worship", - religion: "muslim" - }, - reference: { - key: "amenity", - value: "place_of_worship" - }, - name: "Mosque" - }, - "amenity/place_of_worship/shinto": { - icon: "poi-shintoist", - fields: [ - "name", - "denomination", - "building_area", - "address", - "service_times" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "kami", - "torii" - ], - tags: { - amenity: "place_of_worship", - religion: "shinto" - }, - reference: { - key: "amenity", - value: "place_of_worship" - }, - name: "Shinto Shrine" - }, - "amenity/place_of_worship/sikh": { - icon: "poi-sikhist", - fields: [ - "name", - "denomination", - "building_area", - "address", - "service_times" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "gurudwara", - "temple" - ], - tags: { - amenity: "place_of_worship", - religion: "sikh" - }, - reference: { - key: "amenity", - value: "place_of_worship" - }, - name: "Sikh Temple" - }, - "amenity/place_of_worship/taoist": { - icon: "poi-taoist", - fields: [ - "name", - "denomination", - "building_area", - "address", - "service_times" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "daoist", - "monastery", - "temple" - ], - tags: { - amenity: "place_of_worship", - religion: "taoist" - }, - reference: { - key: "amenity", - value: "place_of_worship" - }, - name: "Taoist Temple" - }, - "amenity/planetarium": { - icon: "museum", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "museum", - "astronomy", - "observatory" - ], - tags: { - amenity: "planetarium" - }, - name: "Planetarium" - }, - "amenity/police": { - icon: "police", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "letter", - "mail" - ], - tags: { - amenity: "post_office" - }, - name: "Post Office" - }, - "amenity/prison": { - icon: "prison", - fields: [ - "name", - "operator", - "address" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "cell", - "jail" - ], - tags: { - amenity: "prison" - }, - name: "Prison Grounds" - }, - "amenity/pub": { - icon: "beer", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "pub" - }, - terms: [ - "alcohol", - "drink", - "dive", - "beer", - "bier", - "booze" - ], - name: "Pub" - }, - "amenity/public_bath": { - icon: "water", - fields: [ - "name", - "bath/type", - "bath/open_air", - "bath/sand_bath", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - amenity: "public_bath" - }, - terms: [ - "onsen", - "foot bath", - "hot springs" - ], - name: "Public Bath" - }, - "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: [ - "name", - "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_centre": { - icon: "recycling", - fields: [ - "name", - "operator", - "address", - "building", - "opening_hours", - "recycling_accepts" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "bottle", - "can", - "dump", - "glass", - "garbage", - "rubbish", - "scrap", - "trash" - ], - tags: { - amenity: "recycling", - recycling_type: "centre" - }, - reference: { - key: "recycling_type", - value: "*" - }, - name: "Recycling Center" - }, - "amenity/recycling": { - icon: "recycling", - fields: [ - "recycling_accepts", - "collection_times" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "bin", - "can", - "bottle", - "glass", - "garbage", - "rubbish", - "scrap", - "trash" - ], - tags: { - amenity: "recycling" - }, - addTags: { - amenity: "recycling", - recycling_type: "container" - }, - removeTags: { - amenity: "recycling", - recycling_type: "container" - }, - reference: { - key: "amenity", - value: "recycling" - }, - name: "Recycling Container" - }, - "amenity/restaurant": { - icon: "restaurant", - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - 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": { - icon: "poi-storage-tank", - fields: [ - "operator", - "access_simple", - "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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "academy", - "elementary school", - "middle school", - "high school" - ], - tags: { - amenity: "school" - }, - name: "School Grounds" - }, - "amenity/shelter": { - icon: "shelter", - fields: [ - "name", - "shelter_type", - "bin" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "lean-to", - "gazebo", - "picnic" - ], - tags: { - amenity: "shelter" - }, - name: "Shelter" - }, - "amenity/shower": { - icon: "poi-shower", - fields: [ - "operator", - "opening_hours", - "fee", - "supervised", - "building_area" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "rain closet" - ], - tags: { - amenity: "shower" - }, - name: "Shower" - }, - "amenity/smoking_area": { - fields: [ - "name", - "shelter", - "bin", - "bench", - "opening_hours" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - ], - tags: { - amenity: "smoking_area" - }, - name: "Smoking Area" - }, - "amenity/social_facility": { - icon: "poi-social-facility", - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours", - "wheelchair" - ], - geometry: [ - "point", - "area" - ], - terms: [ - ], - tags: { - amenity: "social_facility" - }, - name: "Social Facility" - }, - "amenity/social_facility/food_bank": { - icon: "poi-social-facility", - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - ], - tags: { - amenity: "social_facility", - social_facility: "food_bank" - }, - reference: { - key: "social_facility", - value: "food_bank" - }, - name: "Food Bank" - }, - "amenity/social_facility/group_home": { - icon: "wheelchair", - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours", - "wheelchair" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "old", - "senior", - "living", - "care home", - "assisted living" - ], - tags: { - amenity: "social_facility", - social_facility: "group_home", - "social_facility:for": "senior" - }, - reference: { - key: "social_facility", - value: "group_home" - }, - name: "Elderly Group Home" - }, - "amenity/social_facility/homeless_shelter": { - icon: "poi-social-facility", - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours", - "wheelchair", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "houseless", - "unhoused", - "displaced" - ], - tags: { - amenity: "social_facility", - social_facility: "shelter", - "social_facility:for": "homeless" - }, - reference: { - key: "social_facility", - value: "shelter" - }, - name: "Homeless Shelter" - }, - "amenity/social_facility/nursing_home": { - icon: "wheelchair", - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours", - "wheelchair" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "elderly", - "living", - "nursing", - "old", - "senior", - "assisted living" - ], - tags: { - amenity: "social_facility", - social_facility: "nursing_home", - "social_facility:for": "senior" - }, - reference: { - key: "social_facility", - value: "nursing_home" - }, - name: "Nursing Home" - }, - "amenity/studio": { - icon: "karaoke", - fields: [ - "name", - "studio", - "address", - "building_area" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "recording", - "radio", - "television" - ], - tags: { - amenity: "studio" - }, - name: "Studio" - }, - "amenity/taxi": { - icon: "car", - fields: [ - "name", - "operator", - "capacity" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "cab" - ], - tags: { - amenity: "taxi" - }, - name: "Taxi Stand" - }, - "amenity/telephone": { - icon: "telephone", - fields: [ - "operator", - "phone", - "fee", - "payment_multi", - "covered", - "indoor" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - amenity: "telephone" - }, - terms: [ - "phone" - ], - name: "Telephone" - }, - "amenity/theatre": { - icon: "theatre", - fields: [ - "name", - "operator", - "address", - "building_area" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "theatre", - "performance", - "play", - "musical" - ], - tags: { - amenity: "theatre" - }, - name: "Theater" - }, - "amenity/toilets": { - icon: "toilet", - fields: [ - "toilets/disposal", - "operator", - "building_area", - "access_simple", - "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: [ - "name", - "operator", - "address", - "building_area" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "village", - "city", - "government", - "courthouse", - "municipal" - ], - tags: { - amenity: "townhall" - }, - name: "Town Hall" - }, - "amenity/university": { - icon: "college", - fields: [ - "name", - "operator", - "address", - "internet_access", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "college" - ], - tags: { - amenity: "university" - }, - name: "University Grounds" - }, - "amenity/vending_machine": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - ], - tags: { - amenity: "vending_machine" - }, - name: "Vending Machine" - }, - "amenity/vending_machine/news_papers": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "fee", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "newspaper" - ], - tags: { - amenity: "vending_machine", - vending: "news_papers" - }, - reference: { - key: "vending", - value: "newspapers" - }, - name: "Newspaper Vending Machine", - searchable: false - }, - "amenity/vending_machine/cigarettes": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "cigarette" - ], - tags: { - amenity: "vending_machine", - vending: "cigarettes" - }, - reference: { - key: "vending", - value: "cigarettes" - }, - name: "Cigarette Vending Machine" - }, - "amenity/vending_machine/coffee": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "coffee" - ], - tags: { - amenity: "vending_machine", - vending: "coffee" - }, - reference: { - key: "vending", - value: "coffee" - }, - name: "Coffee Vending Machine" - }, - "amenity/vending_machine/condoms": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "condom" - ], - tags: { - amenity: "vending_machine", - vending: "condoms" - }, - reference: { - key: "vending", - value: "condoms" - }, - name: "Condom Vending Machine" - }, - "amenity/vending_machine/drinks": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "drink", - "soda", - "beverage", - "juice", - "pop" - ], - tags: { - amenity: "vending_machine", - vending: "drinks" - }, - reference: { - key: "vending", - value: "drinks" - }, - name: "Drink Vending Machine" - }, - "amenity/vending_machine/electronics": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "cable", - "charger", - "earbud", - "headphone", - "phone", - "tablet" - ], - tags: { - amenity: "vending_machine", - vending: "electronics" - }, - reference: { - key: "vending", - value: "electronics" - }, - name: "Electronics Vending Machine" - }, - "amenity/vending_machine/elongated_coin": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "coin", - "crush", - "elongated", - "flatten", - "penny", - "souvenir" - ], - tags: { - amenity: "vending_machine", - vending: "elongated_coin" - }, - reference: { - key: "vending", - value: "elongated_coin" - }, - name: "Flat Coin Vending Machine" - }, - "amenity/vending_machine/excrement_bags": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "fee", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "excrement bags", - "poop", - "dog", - "animal" - ], - tags: { - amenity: "vending_machine", - vending: "excrement_bags" - }, - reference: { - key: "vending", - value: "excrement_bags" - }, - name: "Excrement Bag Vending Machine" - }, - "amenity/vending_machine/feminine_hygiene": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "condom", - "tampon", - "pad", - "woman", - "women", - "menstrual hygiene products", - "personal care" - ], - tags: { - amenity: "vending_machine", - vending: "feminine_hygiene" - }, - reference: { - key: "vending", - value: "feminine_hygiene" - }, - name: "Feminine Hygiene Vending Machine" - }, - "amenity/vending_machine/food": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "food" - ], - tags: { - amenity: "vending_machine", - vending: "food" - }, - reference: { - key: "vending", - value: "food" - }, - name: "Food Vending Machine" - }, - "amenity/vending_machine/fuel": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "petrol", - "fuel", - "gasoline", - "propane", - "diesel", - "lng", - "cng", - "biodiesel" - ], - tags: { - amenity: "vending_machine", - vending: "fuel" - }, - reference: { - key: "vending", - value: "fuel" - }, - name: "Gas Pump" - }, - "amenity/vending_machine/ice_cream": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "chocolate", - "ice cream", - "frozen", - "popsicle", - "vanilla" - ], - tags: { - amenity: "vending_machine", - vending: "ice_cream" - }, - reference: { - key: "vending", - value: "ice_cream" - }, - name: "Ice Cream Vending Machine" - }, - "amenity/vending_machine/newspapers": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "fee", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "newspaper" - ], - tags: { - amenity: "vending_machine", - vending: "newspapers" - }, - reference: { - key: "vending", - value: "newspapers" - }, - name: "Newspaper Vending Machine" - }, - "amenity/vending_machine/parcel_pickup_dropoff": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "parcel", - "mail", - "pickup" - ], - tags: { - amenity: "vending_machine", - vending: "parcel_pickup;parcel_mail_in" - }, - reference: { - key: "vending", - value: "parcel_pickup;parcel_mail_in" - }, - name: "Parcel Pickup/Dropoff Vending Machine" - }, - "amenity/vending_machine/parking_tickets": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "parking", - "ticket" - ], - tags: { - amenity: "vending_machine", - vending: "parking_tickets" - }, - reference: { - key: "vending", - value: "parking_tickets" - }, - matchScore: 0.94, - name: "Parking Ticket Vending Machine" - }, - "amenity/vending_machine/public_transport_tickets": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "bus", - "train", - "ferry", - "rail", - "ticket", - "transportation" - ], - tags: { - amenity: "vending_machine", - vending: "public_transport_tickets" - }, - reference: { - key: "vending", - value: "public_transport_tickets" - }, - name: "Transit Ticket Vending Machine" - }, - "amenity/vending_machine/stamps": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "mail", - "postage", - "stamp" - ], - tags: { - amenity: "vending_machine", - vending: "stamps" - }, - reference: { - key: "vending", - value: "stamps" - }, - name: "Postage Vending Machine" - }, - "amenity/vending_machine/sweets": { - icon: "poi-vending-machine", - fields: [ - "vending", - "operator", - "payment_multi", - "currency_multi" - ], - geometry: [ - "point" - ], - terms: [ - "candy", - "gum", - "chip", - "pretzel", - "cookie", - "cracker" - ], - tags: { - amenity: "vending_machine", - vending: "sweets" - }, - reference: { - key: "vending", - value: "sweets" - }, - name: "Snack Vending Machine" - }, - "amenity/veterinary": { - icon: "veterinary", - fields: [ - "name", - "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", - fields: [ - "collection_times" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - amenity: "waste_basket" - }, - terms: [ - "bin", - "garbage", - "rubbish", - "litter", - "trash" - ], - name: "Waste Basket" - }, - "amenity/waste_disposal": { - icon: "waste-basket", - fields: [ - "collection_times" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - amenity: "waste_disposal" - }, - terms: [ - "garbage", - "rubbish", - "litter", - "trash" - ], - name: "Garbage Dumpster" - }, - "amenity/waste_transfer_station": { - icon: "waste-basket", - fields: [ - "name", - "operator", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "dump", - "garbage", - "recycling", - "rubbish", - "scrap", - "trash" - ], - tags: { - amenity: "waste_transfer_station" - }, - name: "Waste Transfer Station" - }, - "amenity/waste/dog_excrement": { - icon: "waste-basket", - fields: [ - "collection_times" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - amenity: "waste_basket", - waste: "dog_excrement" - }, - reference: { - key: "waste", - value: "dog_excrement" - }, - terms: [ - "bin", - "garbage", - "rubbish", - "litter", - "trash", - "poo", - "dog" - ], - name: "Dog Excrement Bin" - }, - "amenity/water_point": { - icon: "drinking-water", - geometry: [ - "area", - "vertex", - "point" - ], - tags: { - amenity: "water_point" - }, - name: "RV Drinking Water" - }, - "amenity/watering_place": { - icon: "drinking-water", - geometry: [ - "area", - "vertex", - "point" - ], - tags: { - amenity: "watering_place" - }, - name: "Animal Watering Place" - }, - area: { - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - area: "yes" - }, - name: "Area", - matchScore: 0.1 - }, - "area/highway": { - fields: [ - "name", - "area/highway" - ], - geometry: [ - "area" - ], - tags: { - "area:highway": "*" - }, - name: "Road Surface" - }, - "attraction/amusement_ride": { - icon: "amusement-park", - fields: [ - "name", - "operator", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "theme park", - "carnival ride" - ], - tags: { - attraction: "amusement_ride" - }, - name: "Amusement Ride" - }, - "attraction/animal": { - icon: "zoo", - fields: [ - "name", - "operator" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "zoo", - "theme park", - "animal park", - "lion", - "tiger", - "bear" - ], - tags: { - attraction: "animal" - }, - name: "Animal" - }, - "attraction/big_wheel": { - icon: "amusement-park", - fields: [ - "name", - "operator", - "height", - "opening_hours" - ], - geometry: [ - "point" - ], - terms: [ - "ferris wheel", - "theme park", - "amusement ride" - ], - tags: { - attraction: "big_wheel" - }, - name: "Big Wheel" - }, - "attraction/bumper_car": { - icon: "car", - fields: [ - "name", - "operator", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "theme park", - "dodgem cars", - "autoscooter" - ], - tags: { - attraction: "bumper_car" - }, - name: "Bumper Car" - }, - "attraction/bungee_jumping": { - icon: "pitch", - fields: [ - "name", - "operator", - "height", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "theme park", - "bungy jumping", - "jumping platform" - ], - tags: { - attraction: "bungee_jumping" - }, - name: "Bungee Jumping" - }, - "attraction/carousel": { - icon: "horse-riding", - fields: [ - "name", - "operator", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "theme park", - "roundabout", - "merry-go-round", - "galloper", - "jumper", - "horseabout", - "flying horses" - ], - tags: { - attraction: "carousel" - }, - name: "Carousel" - }, - "attraction/dark_ride": { - icon: "rail-metro", - fields: [ - "name", - "operator", - "opening_hours" - ], - geometry: [ - "point", - "line", - "area" - ], - terms: [ - "theme park", - "ghost train" - ], - tags: { - attraction: "dark_ride" - }, - name: "Dark Ride" - }, - "attraction/drop_tower": { - icon: "poi-tower", - fields: [ - "name", - "operator", - "height", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "theme park", - "amusement ride", - "gondola", - "tower", - "big drop" - ], - tags: { - attraction: "drop_tower" - }, - name: "Drop Tower" - }, - "attraction/maze": { - icon: "amusement-park", - fields: [ - "name", - "operator" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "theme park", - "amusement ride", - "labyrinth" - ], - tags: { - attraction: "maze" - }, - name: "Maze" - }, - "attraction/pirate_ship": { - icon: "amusement-park", - fields: [ - "name", - "operator", - "opening_hours" - ], - geometry: [ - "point" - ], - terms: [ - "theme park", - "carnival ride", - "amusement ride" - ], - tags: { - attraction: "pirate_ship" - }, - name: "Pirate Ship" - }, - "attraction/river_rafting": { - icon: "ferry", - fields: [ - "name", - "operator", - "opening_hours" - ], - geometry: [ - "point", - "line" - ], - terms: [ - "theme park", - "aquatic park", - "water park", - "rafting simulator", - "river rafting ride", - "river rapids ride" - ], - tags: { - attraction: "river_rafting" - }, - name: "River Rafting" - }, - "attraction/roller_coaster": { - icon: "amusement-park", - fields: [ - "name", - "operator", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "theme park", - "amusement ride" - ], - tags: { - attraction: "roller_coaster" - }, - name: "Roller Coaster" - }, - "attraction/train": { - icon: "rail", - fields: [ - "name", - "operator", - "fee", - "opening_hours" - ], - geometry: [ - "point", - "line" - ], - terms: [ - "theme park", - "rackless train", - "road train", - "Tschu-Tschu train", - "dotto train", - "park train" - ], - tags: { - attraction: "train" - }, - name: "Tourist Train" - }, - "attraction/water_slide": { - icon: "swimming", - fields: [ - "name", - "operator", - "opening_hours" - ], - geometry: [ - "line", - "area" - ], - terms: [ - "theme park", - "aquatic park", - "water park", - "flumes", - "water chutes", - "hydroslides" - ], - tags: { - attraction: "water_slide" - }, - name: "Water Slide" - }, - barrier: { - icon: "roadblock", - geometry: [ - "point", - "vertex", - "line", - "area" - ], - tags: { - barrier: "*" - }, - fields: [ - "barrier" - ], - name: "Barrier", - matchScore: 0.4 - }, - "barrier/entrance": { - icon: "entrance-alt1", - geometry: [ - "vertex" - ], - tags: { - barrier: "entrance" - }, - name: "Entrance", - searchable: false - }, - "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/border_control": { - icon: "roadblock", - fields: [ - "access", - "building_area" - ], - geometry: [ - "vertex", - "area" - ], - tags: { - barrier: "border_control" - }, - name: "Border Control" - }, - "barrier/cattle_grid": { - icon: "barrier", - geometry: [ - "vertex" - ], - tags: { - barrier: "cattle_grid" - }, - name: "Cattle Grid" - }, - "barrier/city_wall": { - icon: "barrier", - fields: [ - "height" - ], - 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", - matchScore: 0.25 - }, - "barrier/fence": { - icon: "fence", - fields: [ - "fence_type", - "height" - ], - geometry: [ - "line" - ], - tags: { - barrier: "fence" - }, - name: "Fence", - matchScore: 0.25 - }, - "barrier/gate": { - icon: "barrier", - fields: [ - "access" - ], - geometry: [ - "vertex", - "line" - ], - tags: { - barrier: "gate" - }, - name: "Gate" - }, - "barrier/hedge": { - fields: [ - "height" - ], - geometry: [ - "line", - "area" - ], - tags: { - barrier: "hedge" - }, - name: "Hedge", - matchScore: 0.25 - }, - "barrier/kerb": { - icon: "wheelchair", - fields: [ - "kerb", - "tactile_paving" - ], - geometry: [ - "vertex", - "line" - ], - tags: { - barrier: "kerb" - }, - name: "Kerb" - }, - "barrier/kissing_gate": { - icon: "barrier", - fields: [ - "access" - ], - geometry: [ - "vertex" - ], - tags: { - barrier: "kissing_gate" - }, - name: "Kissing Gate" - }, - "barrier/lift_gate": { - icon: "roadblock", - fields: [ - "access" - ], - geometry: [ - "vertex", - "line" - ], - 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: [ - "vertex" - ], - tags: { - barrier: "stile" - }, - name: "Stile" - }, - "barrier/toll_booth": { - icon: "roadblock", - fields: [ - "access", - "building_area" - ], - geometry: [ - "vertex", - "area" - ], - tags: { - barrier: "toll_booth" - }, - name: "Toll Booth" - }, - "barrier/wall": { - icon: "barrier", - fields: [ - "wall", - "height" - ], - geometry: [ - "line", - "area" - ], - tags: { - barrier: "wall" - }, - name: "Wall", - matchScore: 0.25 - }, - "boundary/administrative": { - name: "Administrative Boundary", - geometry: [ - "line" - ], - tags: { - boundary: "administrative" - }, - fields: [ - "name", - "admin_level" - ] - }, - building: { - icon: "home", - fields: [ - "name", - "building", - "levels", - "height", - "address" - ], - geometry: [ - "point", - "area" - ], - tags: { - building: "*" - }, - matchScore: 0.6, - terms: [ - ], - name: "Building" - }, - "building/bunker": { - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "bunker" - }, - matchScore: 0.5, - name: "Bunker", - searchable: false - }, - "building/entrance": { - icon: "entrance-alt1", - geometry: [ - "vertex" - ], - tags: { - building: "entrance" - }, - name: "Entrance/Exit", - searchable: false - }, - "building/train_station": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - building: "train_station" - }, - matchScore: 0.5, - name: "Train Station", - searchable: false - }, - "building/apartments": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "apartments" - }, - matchScore: 0.5, - name: "Apartments" - }, - "building/barn": { - icon: "farm", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "barn" - }, - matchScore: 0.5, - name: "Barn" - }, - "building/boathouse": { - icon: "harbor", - fields: [ - "name", - "levels", - "height", - "address" - ], - geometry: [ - "area" - ], - tags: { - building: "boathouse" - }, - matchScore: 0.5, - terms: [ - ], - name: "Boathouse" - }, - "building/bungalow": { - icon: "home", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "bungalow" - }, - terms: [ - "home", - "detached" - ], - matchScore: 0.5, - name: "Bungalow" - }, - "building/cabin": { - icon: "home", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "cabin" - }, - matchScore: 0.5, - name: "Cabin" - }, - "building/cathedral": { - icon: "place-of-worship", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "cathedral" - }, - matchScore: 0.5, - name: "Cathedral Building" - }, - "building/chapel": { - icon: "place-of-worship", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "chapel" - }, - matchScore: 0.5, - name: "Chapel Building" - }, - "building/church": { - icon: "place-of-worship", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "church" - }, - matchScore: 0.5, - name: "Church Building" - }, - "building/civic": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height", - "smoking" - ], - geometry: [ - "area" - ], - tags: { - building: "civic" - }, - matchScore: 0.5, - name: "Civic Building" - }, - "building/college": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - terms: [ - "university" - ], - tags: { - building: "college" - }, - matchScore: 0.5, - name: "College Building" - }, - "building/commercial": { - icon: "suitcase", - fields: [ - "name", - "address", - "levels", - "height", - "smoking" - ], - geometry: [ - "area" - ], - tags: { - building: "commercial" - }, - matchScore: 0.5, - name: "Commercial Building" - }, - "building/construction": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "construction" - }, - matchScore: 0.5, - name: "Building Under Construction" - }, - "building/detached": { - icon: "home", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "detached" - }, - terms: [ - "home", - "single", - "family", - "residence", - "dwelling" - ], - matchScore: 0.5, - name: "Detached House" - }, - "building/dormitory": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height", - "smoking" - ], - geometry: [ - "area" - ], - tags: { - building: "dormitory" - }, - matchScore: 0.5, - name: "Dormitory" - }, - "building/farm_auxiliary": { - icon: "farm", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "farm_auxiliary" - }, - matchScore: 0.5, - name: "Farm Building" - }, - "building/farm": { - icon: "farm", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "farm" - }, - matchScore: 0.5, - name: "Farm House" - }, - "building/garage": { - icon: "warehouse", - fields: [ - "name", - "capacity" - ], - geometry: [ - "area" - ], - tags: { - building: "garage" - }, - matchScore: 0.5, - name: "Garage" - }, - "building/garages": { - icon: "warehouse", - fields: [ - "name", - "capacity" - ], - geometry: [ - "area" - ], - tags: { - building: "garages" - }, - matchScore: 0.5, - name: "Garages" - }, - "building/grandstand": { - icon: "building", - fields: [ - "name", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "grandstand" - }, - terms: [ - "tribune", - "stand", - "stands", - "bleachers" - ], - matchScore: 0.5, - name: "Grandstand" - }, - "building/greenhouse": { - icon: "garden-center", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "greenhouse" - }, - matchScore: 0.5, - name: "Greenhouse" - }, - "building/hospital": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "hospital" - }, - matchScore: 0.5, - name: "Hospital Building" - }, - "building/hotel": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height", - "smoking" - ], - geometry: [ - "area" - ], - tags: { - building: "hotel" - }, - matchScore: 0.5, - name: "Hotel Building" - }, - "building/house": { - icon: "home", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "house" - }, - terms: [ - "home", - "family", - "residence", - "dwelling" - ], - matchScore: 0.5, - name: "House" - }, - "building/hut": { - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - building: "hut" - }, - matchScore: 0.5, - name: "Hut" - }, - "building/industrial": { - icon: "industry", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "industrial" - }, - matchScore: 0.5, - name: "Industrial Building" - }, - "building/kindergarten": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - terms: [ - "kindergarden", - "pre-school" - ], - tags: { - building: "kindergarten" - }, - matchScore: 0.5, - name: "Preschool/Kindergarten Building" - }, - "building/mosque": { - icon: "place-of-worship", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "mosque" - }, - matchScore: 0.5, - name: "Mosque Building" - }, - "building/public": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height", - "smoking" - ], - geometry: [ - "area" - ], - tags: { - building: "public" - }, - matchScore: 0.5, - name: "Public Building" - }, - "building/residential": { - icon: "residential-community", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "residential" - }, - matchScore: 0.5, - name: "Residential Building" - }, - "building/retail": { - icon: "commercial", - fields: [ - "name", - "address", - "levels", - "height", - "smoking" - ], - geometry: [ - "area" - ], - tags: { - building: "retail" - }, - matchScore: 0.5, - name: "Retail Building" - }, - "building/roof": { - icon: "shelter", - fields: [ - "name", - "address" - ], - geometry: [ - "area" - ], - tags: { - building: "roof" - }, - matchScore: 0.5, - name: "Roof" - }, - "building/ruins": { - icon: "poi-ruins", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "ruins" - }, - matchScore: 0.5, - name: "Building Ruins" - }, - "building/school": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - terms: [ - "academy", - "elementary school", - "middle school", - "high school" - ], - tags: { - building: "school" - }, - matchScore: 0.5, - name: "School Building" - }, - "building/semidetached_house": { - icon: "home", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "semidetached_house" - }, - terms: [ - "home", - "double", - "duplex", - "twin", - "family", - "residence", - "dwelling" - ], - matchScore: 0.5, - name: "Semi-Detached House" - }, - "building/service": { - icon: "home", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "service" - }, - matchScore: 0.5, - name: "Service Building" - }, - "building/shed": { - icon: "home", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "shed" - }, - matchScore: 0.5, - name: "Shed" - }, - "building/stable": { - icon: "horse-riding", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "stable" - }, - matchScore: 0.5, - name: "Stable" - }, - "building/stadium": { - icon: "stadium", - fields: [ - "name", - "address", - "levels", - "height", - "smoking" - ], - geometry: [ - "area" - ], - tags: { - building: "stadium" - }, - matchScore: 0.5, - name: "Stadium Building" - }, - "building/static_caravan": { - icon: "home", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "static_caravan" - }, - matchScore: 0.5, - name: "Static Mobile Home" - }, - "building/temple": { - icon: "place-of-worship", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "temple" - }, - matchScore: 0.5, - name: "Temple Building" - }, - "building/terrace": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "terrace" - }, - terms: [ - "home", - "terrace", - "brownstone", - "family", - "residence", - "dwelling" - ], - matchScore: 0.5, - name: "Row Houses" - }, - "building/transportation": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height", - "smoking" - ], - geometry: [ - "area" - ], - tags: { - building: "transportation" - }, - matchScore: 0.5, - name: "Transportation Building" - }, - "building/university": { - icon: "building", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - terms: [ - "college" - ], - tags: { - building: "university" - }, - matchScore: 0.5, - name: "University Building" - }, - "building/warehouse": { - icon: "warehouse", - fields: [ - "name", - "address", - "levels", - "height" - ], - geometry: [ - "area" - ], - tags: { - building: "warehouse" - }, - matchScore: 0.5, - name: "Warehouse" - }, - "camp_site/camp_pitch": { - icon: "campsite", - fields: [ - "name", - "ref" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "tent", - "rv" - ], - tags: { - camp_site: "camp_pitch" - }, - name: "Camp Pitch" - }, - club: { - icon: "heart", - fields: [ - "name", - "club", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - club: "*" - }, - terms: [ - "social" - ], - name: "Club" - }, - craft: { - icon: "poi-tool", - fields: [ - "name", - "craft", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "*" - }, - terms: [ - ], - name: "Craft" - }, - "craft/jeweler": { - icon: "marker-stroked", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "jeweler" - }, - reference: { - key: "shop", - value: "jewelry" - }, - name: "Jeweler", - searchable: false - }, - "craft/locksmith": { - icon: "marker-stroked", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "locksmith" - }, - reference: { - key: "shop", - value: "locksmith" - }, - name: "Locksmith", - searchable: false - }, - "craft/optician": { - icon: "marker-stroked", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "optician" - }, - reference: { - key: "shop", - value: "optician" - }, - name: "Optician", - searchable: false - }, - "craft/tailor": { - icon: "clothing-store", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "clothes", - "suit" - ], - tags: { - craft: "tailor" - }, - reference: { - key: "shop", - value: "tailor" - }, - name: "Tailor", - searchable: false - }, - "craft/basket_maker": { - icon: "art-gallery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "basket_maker" - }, - name: "Basket Maker" - }, - "craft/beekeeper": { - icon: "farm", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "beekeeper" - }, - name: "Beekeeper" - }, - "craft/blacksmith": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "blacksmith" - }, - name: "Blacksmith" - }, - "craft/boatbuilder": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "boatbuilder" - }, - matchScore: 0.4, - name: "Boat Builder" - }, - "craft/bookbinder": { - icon: "library", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "book repair" - ], - tags: { - craft: "bookbinder" - }, - name: "Bookbinder" - }, - "craft/brewery": { - icon: "poi-storage-tank", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "product" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "alcohol", - "beer", - "beverage", - "bier", - "booze", - "cider" - ], - tags: { - craft: "brewery" - }, - name: "Brewery" - }, - "craft/carpenter": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "woodworker" - ], - tags: { - craft: "carpenter" - }, - name: "Carpenter" - }, - "craft/carpet_layer": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "carpet_layer" - }, - name: "Carpet Layer" - }, - "craft/caterer": { - icon: "restaurant", - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "caterer" - }, - name: "Caterer" - }, - "craft/chimney_sweeper": { - icon: "poi-chimney", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "chimney_sweeper" - }, - name: "Chimney Sweeper" - }, - "craft/clockmaker": { - icon: "poi-clock", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "clockmaker" - }, - name: "Clockmaker" - }, - "craft/confectionery": { - icon: "bakery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "sweet", - "candy" - ], - tags: { - craft: "confectionery" - }, - name: "Candy Maker" - }, - "craft/distillery": { - icon: "poi-storage-tank", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "product" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "alcohol", - "beverage", - "bourbon", - "booze", - "brandy", - "gin", - "hooch", - "liquor", - "mezcal", - "moonshine", - "rum", - "scotch", - "spirits", - "still", - "tequila", - "vodka", - "whiskey", - "whisky" - ], - tags: { - craft: "distillery" - }, - name: "Distillery" - }, - "craft/dressmaker": { - icon: "clothing-store", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "seamstress" - ], - tags: { - craft: "dressmaker" - }, - name: "Dressmaker" - }, - "craft/electrician": { - icon: "poi-power", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "power", - "wire" - ], - tags: { - craft: "electrician" - }, - name: "Electrician" - }, - "craft/electronics_repair": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "electronics_repair" - }, - name: "Electronics Repair Shop" - }, - "craft/gardener": { - icon: "garden", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "landscaper", - "grounds keeper" - ], - tags: { - craft: "gardener" - }, - name: "Gardener" - }, - "craft/glaziery": { - icon: "fire-station", - fields: [ - "name", - "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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "handicraft" - }, - name: "Handicraft" - }, - "craft/hvac": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "heat*", - "vent*", - "air conditioning" - ], - tags: { - craft: "hvac" - }, - name: "HVAC" - }, - "craft/insulator": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "insulation" - }, - name: "Insulator" - }, - "craft/key_cutter": { - icon: "marker-stroked", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "key_cutter" - }, - name: "Key Cutter" - }, - "craft/metal_construction": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "metal_construction" - }, - name: "Metal Construction" - }, - "craft/painter": { - icon: "art-gallery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "painter" - }, - name: "Painter" - }, - "craft/photographer": { - icon: "attraction", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "photographer" - }, - name: "Photographer" - }, - "craft/photographic_laboratory": { - icon: "attraction", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "film" - ], - tags: { - craft: "photographic_laboratory" - }, - name: "Photographic Laboratory" - }, - "craft/plasterer": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "plasterer" - }, - name: "Plasterer" - }, - "craft/plumber": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "pipe" - ], - tags: { - craft: "plumber" - }, - name: "Plumber" - }, - "craft/pottery": { - icon: "art-gallery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "ceramic" - ], - tags: { - craft: "pottery" - }, - name: "Pottery" - }, - "craft/rigger": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "rigger" - }, - name: "Rigger" - }, - "craft/roofer": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "roofer" - }, - name: "Roofer" - }, - "craft/saddler": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "saddler" - }, - name: "Saddler" - }, - "craft/sailmaker": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "sailmaker" - }, - name: "Sailmaker" - }, - "craft/sawmill": { - icon: "logging", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "lumber" - ], - tags: { - craft: "sawmill" - }, - name: "Sawmill" - }, - "craft/scaffolder": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "scaffolder" - }, - name: "Scaffolder" - }, - "craft/sculptor": { - icon: "art-gallery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "sculptor" - }, - name: "Sculptor" - }, - "craft/shoemaker": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "cobbler" - ], - tags: { - craft: "shoemaker" - }, - name: "Shoemaker" - }, - "craft/stonemason": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "masonry" - ], - tags: { - craft: "stonemason" - }, - name: "Stonemason" - }, - "craft/tiler": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "tiler" - }, - name: "Tiler" - }, - "craft/tinsmith": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "tinsmith" - }, - name: "Tinsmith" - }, - "craft/upholsterer": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "upholsterer" - }, - name: "Upholsterer" - }, - "craft/watchmaker": { - icon: "poi-clock", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - craft: "watchmaker" - }, - name: "Watchmaker" - }, - "craft/window_construction": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "glass" - ], - tags: { - craft: "window_construction" - }, - name: "Window Construction" - }, - "craft/winery": { - icon: "alcohol-shop", - fields: [ - "name", - "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/designated": { - fields: [ - ], - geometry: [ - "line" - ], - tags: { - emergency: "designated" - }, - terms: [ - ], - name: "Emergency Access Designated", - searchable: false, - matchScore: 0.01 - }, - "emergency/destination": { - fields: [ - ], - geometry: [ - "line" - ], - tags: { - emergency: "destination" - }, - terms: [ - ], - name: "Emergency Access Destination", - searchable: false, - matchScore: 0.01 - }, - "emergency/no": { - fields: [ - ], - geometry: [ - "line" - ], - tags: { - emergency: "no" - }, - terms: [ - ], - name: "Emergency Access No", - searchable: false, - matchScore: 0.01 - }, - "emergency/official": { - fields: [ - ], - geometry: [ - "line" - ], - tags: { - emergency: "official" - }, - terms: [ - ], - name: "Emergency Access Official", - searchable: false, - matchScore: 0.01 - }, - "emergency/private": { - fields: [ - ], - geometry: [ - "line" - ], - tags: { - emergency: "private" - }, - terms: [ - ], - name: "Emergency Access Private", - searchable: false, - matchScore: 0.01 - }, - "emergency/yes": { - fields: [ - ], - geometry: [ - "line" - ], - tags: { - emergency: "yes" - }, - terms: [ - ], - name: "Emergency Access Yes", - searchable: false, - matchScore: 0.01 - }, - "emergency/ambulance_station": { - icon: "hospital", - fields: [ - "name", - "operator", - "building_area", - "address" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "EMS", - "EMT", - "rescue" - ], - tags: { - emergency: "ambulance_station" - }, - name: "Ambulance Station" - }, - "emergency/defibrillator": { - icon: "defibrillator", - fields: [ - "ref", - "access", - "opening_hours", - "indoor", - "phone" - ], - geometry: [ - "point", - "vertex" - ], - terms: [ - "AED" - ], - tags: { - emergency: "defibrillator" - }, - name: "Defibrillator" - }, - "emergency/fire_hydrant": { - icon: "poi-fire-hydrant", - fields: [ - "fire_hydrant/type", - "fire_hydrant/position", - "ref", - "operator" - ], - geometry: [ - "point", - "vertex" - ], - terms: [ - "fire plug" - ], - tags: { - emergency: "fire_hydrant" - }, - name: "Fire Hydrant" - }, - "emergency/life_ring": { - icon: "circle-stroked", - fields: [ - "ref", - "operator" - ], - geometry: [ - "point", - "vertex" - ], - terms: [ - "life buoy", - "kisby ring", - "kisbie ring", - "perry buoy" - ], - tags: { - emergency: "life_ring" - }, - name: "Life Ring" - }, - "emergency/phone": { - icon: "emergency-phone", - fields: [ - "operator" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - emergency: "phone" - }, - name: "Emergency Phone" - }, - "emergency/water_tank": { - icon: "water", - fields: [ - "name", - "operator", - "ref" - ], - geometry: [ - "point", - "vertex" - ], - terms: [ - "water tank", - "cistern", - "reservoir" - ], - tags: { - emergency: "water_tank" - }, - name: "Emergency Water Tank" - }, - entrance: { - icon: "entrance-alt1", - geometry: [ - "vertex" - ], - tags: { - entrance: "*" - }, - fields: [ - "entrance", - "access_simple", - "address" - ], - name: "Entrance/Exit" - }, - "footway/crossing-raised": { - fields: [ - "crossing", - "access", - "surface", - "kerb", - "tactile_paving" - ], - geometry: [ - "line" - ], - tags: { - highway: "footway", - footway: "crossing", - traffic_calming: "table" - }, - reference: { - key: "traffic_calming", - value: "table" - }, - terms: [ - "flat top", - "hump", - "speed", - "slow" - ], - name: "Raised Street Crossing" - }, - "footway/crossing": { - fields: [ - "crossing", - "access", - "surface", - "kerb", - "tactile_paving" - ], - geometry: [ - "line" - ], - tags: { - highway: "footway", - footway: "crossing" - }, - reference: { - key: "footway", - value: "crossing" - }, - terms: [ - ], - name: "Street Crossing" - }, - "footway/crosswalk-raised": { - icon: "highway-footway", - fields: [ - "crossing", - "access", - "surface", - "kerb", - "tactile_paving" - ], - geometry: [ - "line" - ], - tags: { - highway: "footway", - footway: "crossing", - crossing: "zebra", - traffic_calming: "table" - }, - reference: { - key: "traffic_calming", - value: "table" - }, - terms: [ - "zebra crossing", - "flat top", - "hump", - "speed", - "slow" - ], - name: "Raised Pedestrian Crosswalk" - }, - "footway/crosswalk": { - icon: "highway-footway", - fields: [ - "crossing", - "access", - "surface", - "kerb", - "tactile_paving" - ], - geometry: [ - "line" - ], - tags: { - highway: "footway", - footway: "crossing", - crossing: "zebra" - }, - reference: { - key: "footway", - value: "crossing" - }, - terms: [ - "zebra crossing" - ], - name: "Pedestrian Crosswalk" - }, - "footway/sidewalk": { - icon: "highway-footway", - fields: [ - "surface", - "lit", - "width", - "structure", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "footway", - footway: "sidewalk" - }, - reference: { - key: "footway", - value: "sidewalk" - }, - terms: [ - ], - name: "Sidewalk" - }, - ford: { - geometry: [ - "vertex" - ], - tags: { - ford: "yes" - }, - name: "Ford" - }, - "golf/bunker": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - golf: "bunker", - natural: "sand" - }, - terms: [ - "hazard", - "bunker" - ], - reference: { - key: "golf", - value: "bunker" - }, - name: "Sand Trap" - }, - "golf/fairway": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - golf: "fairway", - landuse: "grass" - }, - reference: { - key: "golf", - value: "fairway" - }, - name: "Fairway" - }, - "golf/green": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - golf: "green", - landuse: "grass", - leisure: "pitch", - sport: "golf" - }, - reference: { - key: "golf", - value: "green" - }, - name: "Putting Green" - }, - "golf/hole": { - icon: "golf", - fields: [ - "name", - "ref_golf_hole", - "par", - "handicap" - ], - geometry: [ - "line" - ], - tags: { - golf: "hole" - }, - name: "Golf Hole" - }, - "golf/lateral_water_hazard_area": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - golf: "lateral_water_hazard", - natural: "water" - }, - reference: { - key: "golf", - value: "lateral_water_hazard" - }, - name: "Lateral Water Hazard" - }, - "golf/lateral_water_hazard_line": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "line" - ], - tags: { - golf: "lateral_water_hazard" - }, - name: "Lateral Water Hazard" - }, - "golf/rough": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - golf: "rough", - landuse: "grass" - }, - reference: { - key: "golf", - value: "rough" - }, - name: "Rough" - }, - "golf/tee": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - golf: "tee", - landuse: "grass" - }, - terms: [ - "teeing ground" - ], - reference: { - key: "golf", - value: "tee" - }, - name: "Tee Box" - }, - "golf/water_hazard_area": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - golf: "water_hazard", - natural: "water" - }, - reference: { - key: "golf", - value: "water_hazard" - }, - name: "Water Hazard" - }, - "golf/water_hazard_line": { - icon: "golf", - fields: [ - "name" - ], - geometry: [ - "line" - ], - tags: { - golf: "water_hazard" - }, - name: "Water Hazard" - }, - healthcare: { - icon: "hospital", - fields: [ - "name", - "healthcare", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - healthcare: "*" - }, - terms: [ - "clinic", - "doctor", - "disease", - "health", - "institution", - "sick", - "surgery", - "wellness" - ], - name: "Healthcare Facility" - }, - "healthcare/alternative": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "acupuncture", - "anthroposophical", - "applied kinesiology", - "aromatherapy", - "ayurveda", - "herbalism", - "homeopathy", - "hydrotherapy", - "hypnosis", - "naturopathy", - "osteopathy", - "reflexology", - "reiki", - "shiatsu", - "traditional", - "tuina", - "unani" - ], - tags: { - healthcare: "alternative" - }, - name: "Alternative Medicine" - }, - "healthcare/alternative/chiropractic": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "back", - "pain", - "spine" - ], - tags: { - healthcare: "alternative", - "healthcare:speciality": "chiropractic" - }, - name: "Chiropractor" - }, - "healthcare/audiologist": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "ear", - "hearing", - "sound" - ], - tags: { - healthcare: "audiologist" - }, - name: "Audiologist" - }, - "healthcare/birthing_center": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "baby", - "childbirth", - "delivery", - "labour", - "labor", - "pregnancy" - ], - tags: { - healthcare: "birthing_center" - }, - name: "Birthing Center" - }, - "healthcare/blood_donation": { - icon: "blood-bank", - fields: [ - "name", - "operator", - "healthcare/speciality", - "blood_components", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "blood bank", - "blood donation", - "blood transfusion", - "apheresis", - "plasmapheresis", - "plateletpheresis", - "stem cell donation" - ], - tags: { - healthcare: "blood_donation" - }, - name: "Blood Donor Center" - }, - "healthcare/hospice": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "terminal", - "illness" - ], - tags: { - healthcare: "hospice" - }, - name: "Hospice" - }, - "healthcare/laboratory": { - icon: "hospital", - fields: [ - "name", - "operator", - "website", - "ref", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "medical_laboratory", - "medical_lab", - "blood_check" - ], - tags: { - healthcare: "laboratory" - }, - name: "Medical Laboratory" - }, - "healthcare/midwife": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "baby", - "childbirth", - "delivery", - "labour", - "labor", - "pregnancy" - ], - tags: { - healthcare: "midwife" - }, - name: "Midwife" - }, - "healthcare/occupational_therapist": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "therapist", - "therapy" - ], - tags: { - healthcare: "occupational_therapist" - }, - name: "Occupational Therapist" - }, - "healthcare/optometrist": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "eye", - "glasses", - "lasik", - "lenses", - "vision" - ], - tags: { - healthcare: "optometrist" - }, - name: "Optometrist" - }, - "healthcare/physiotherapist": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "physical", - "therapist", - "therapy" - ], - tags: { - healthcare: "physiotherapist" - }, - name: "Physiotherapist" - }, - "healthcare/podiatrist": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "foot", - "feet", - "nails" - ], - tags: { - healthcare: "podiatrist" - }, - name: "Podiatrist" - }, - "healthcare/psychotherapist": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "anxiety", - "counselor", - "depression", - "mental health", - "mind", - "suicide", - "therapist", - "therapy" - ], - tags: { - healthcare: "psychotherapist" - }, - name: "Psychotherapist" - }, - "healthcare/rehabilitation": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "rehab", - "therapist", - "therapy" - ], - tags: { - healthcare: "rehabilitation" - }, - name: "Rehabilitation Facility" - }, - "healthcare/speech_therapist": { - icon: "hospital", - fields: [ - "name", - "operator", - "healthcare/speciality", - "building_area", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "speech", - "therapist", - "therapy", - "voice" - ], - tags: { - healthcare: "speech_therapist" - }, - name: "Speech Therapist" - }, - "highway/bus_stop": { - icon: "bus", - fields: [ - "name", - "network", - "operator", - "bench", - "shelter" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - highway: "bus_stop" - }, - name: "Bus Stop / Platform", - searchable: false - }, - "highway/bridleway": { - fields: [ - "name", - "surface", - "width", - "structure", - "access" - ], - icon: "highway-bridleway", - geometry: [ - "line" - ], - tags: { - highway: "bridleway" - }, - terms: [ - "bridleway", - "equestrian", - "horse" - ], - name: "Bridle Path" - }, - "highway/bus_guideway": { - icon: "highway-bus_guideway", - fields: [ - "name", - "operator", - "oneway" - ], - geometry: [ - "line" - ], - tags: { - highway: "bus_guideway" - }, - addTags: { - highway: "bus_guideway", - access: "no", - bus: "designated" - }, - removeTags: { - highway: "bus_guideway", - access: "no", - bus: "designated" - }, - terms: [ - ], - name: "Bus Guideway" - }, - "highway/corridor": { - icon: "highway-footway", - fields: [ - "name", - "width", - "level", - "access_simple" - ], - geometry: [ - "line" - ], - tags: { - highway: "corridor" - }, - terms: [ - "gallery", - "hall", - "hallway", - "indoor", - "passage", - "passageway" - ], - name: "Indoor Corridor" - }, - "highway/crossing-raised": { - fields: [ - "crossing", - "kerb", - "tactile_paving" - ], - geometry: [ - "vertex" - ], - tags: { - highway: "crossing", - traffic_calming: "table" - }, - reference: { - key: "traffic_calming", - value: "table" - }, - terms: [ - "flat top", - "hump", - "speed", - "slow" - ], - name: "Raised Street Crossing" - }, - "highway/crossing": { - fields: [ - "crossing", - "kerb", - "tactile_paving" - ], - geometry: [ - "vertex" - ], - tags: { - highway: "crossing" - }, - reference: { - key: "highway", - value: "crossing" - }, - terms: [ - ], - name: "Street Crossing" - }, - "highway/crosswalk-raised": { - icon: "poi-foot", - fields: [ - "crossing", - "kerb", - "tactile_paving" - ], - geometry: [ - "vertex" - ], - tags: { - highway: "crossing", - crossing: "zebra", - traffic_calming: "table" - }, - reference: { - key: "traffic_calming", - value: "table" - }, - terms: [ - "zebra crossing", - "flat top", - "hump", - "speed", - "slow" - ], - name: "Raised Pedestrian Crosswalk" - }, - "highway/crosswalk": { - icon: "poi-foot", - fields: [ - "crossing", - "kerb", - "tactile_paving" - ], - geometry: [ - "vertex" - ], - tags: { - highway: "crossing", - crossing: "zebra" - }, - reference: { - key: "highway", - value: "crossing" - }, - terms: [ - "zebra crossing" - ], - name: "Pedestrian Crosswalk" - }, - "highway/cycleway": { - icon: "highway-cycleway", - fields: [ - "name", - "oneway", - "surface", - "lit", - "width", - "structure", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "cycleway" - }, - terms: [ - "bike" - ], - name: "Cycle Path" - }, - "highway/elevator": { - icon: "poi-elevator", - fields: [ - "access_simple", - "opening_hours", - "maxweight", - "ref" - ], - geometry: [ - "vertex" - ], - tags: { - highway: "elevator" - }, - terms: [ - "lift" - ], - name: "Elevator" - }, - "highway/footway": { - icon: "highway-footway", - fields: [ - "name", - "surface", - "lit", - "width", - "structure", - "access" - ], - geometry: [ - "line" - ], - terms: [ - "hike", - "hiking", - "trackway", - "trail", - "walk" - ], - tags: { - highway: "footway" - }, - name: "Foot Path" - }, - "highway/give_way": { - icon: "poi-yield", - fields: [ - "direction_vertex" - ], - geometry: [ - "vertex" - ], - tags: { - highway: "give_way" - }, - terms: [ - "give way", - "yield", - "sign" - ], - name: "Yield Sign" - }, - "highway/living_street": { - icon: "highway-living-street", - fields: [ - "name", - "oneway", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "access", - "cycleway" - ], - geometry: [ - "line" - ], - tags: { - highway: "living_street" - }, - name: "Living Street" - }, - "highway/mini_roundabout": { - icon: "circle-stroked", - geometry: [ - "vertex" - ], - tags: { - highway: "mini_roundabout" - }, - fields: [ - "direction_clock" - ], - name: "Mini-Roundabout" - }, - "highway/motorway_junction": { - icon: "poi-junction", - geometry: [ - "vertex" - ], - tags: { - highway: "motorway_junction" - }, - fields: [ - "ref_highway_junction" - ], - name: "Motorway Junction / Exit" - }, - "highway/motorway_link": { - icon: "highway-motorway-link", - fields: [ - "name", - "ref_road_number", - "oneway", - "maxspeed", - "maxspeed/advisory", - "lanes", - "surface", - "structure", - "maxheight", - "access" - ], - 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/motorway": { - icon: "highway-motorway", - fields: [ - "name", - "ref_road_number", - "oneway_yes", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "toll", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "motorway" - }, - terms: [ - "autobahn", - "expressway", - "freeway", - "highway", - "interstate", - "parkway", - "thruway", - "turnpike" - ], - name: "Motorway" - }, - "highway/passing_place": { - icon: "circle-stroked", - geometry: [ - "vertex" - ], - tags: { - highway: "passing_place" - }, - terms: [ - "turnout, pullout" - ], - name: "Passing Place" - }, - "highway/path": { - icon: "highway-path", - fields: [ - "name", - "surface", - "width", - "structure", - "access", - "incline", - "sac_scale", - "trail_visibility", - "mtb/scale", - "mtb/scale/uphill", - "mtb/scale/imba", - "horse_scale", - "ref" - ], - geometry: [ - "line" - ], - terms: [ - "hike", - "hiking", - "trackway", - "trail", - "walk" - ], - tags: { - highway: "path" - }, - name: "Path" - }, - "highway/pedestrian_area": { - icon: "poi-foot", - fields: [ - "name", - "surface", - "lit", - "width", - "structure", - "access" - ], - geometry: [ - "area" - ], - tags: { - highway: "pedestrian", - area: "yes" - }, - terms: [ - "center", - "centre", - "plaza", - "quad", - "square", - "walkway" - ], - name: "Pedestrian Area" - }, - "highway/pedestrian_line": { - icon: "highway-footway", - fields: [ - "name", - "surface", - "lit", - "width", - "oneway", - "structure", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "pedestrian" - }, - terms: [ - "center", - "centre", - "plaza", - "quad", - "square", - "walkway" - ], - name: "Pedestrian Street" - }, - "highway/primary_link": { - icon: "highway-primary-link", - fields: [ - "name", - "oneway", - "maxspeed", - "maxspeed/advisory", - "lanes", - "surface", - "maxheight", - "ref_road_number", - "cycleway", - "structure", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "primary_link" - }, - terms: [ - "ramp", - "on ramp", - "off ramp" - ], - name: "Primary Link" - }, - "highway/primary": { - icon: "highway-primary", - fields: [ - "name", - "oneway", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "ref_road_number", - "cycleway", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "primary" - }, - terms: [ - ], - name: "Primary Road" - }, - "highway/raceway": { - icon: "highway-unclassified", - fields: [ - "name", - "oneway", - "surface", - "sport_racing_motor", - "lit", - "width", - "lanes", - "structure" - ], - geometry: [ - "point", - "line", - "area" - ], - tags: { - highway: "raceway" - }, - addTags: { - highway: "raceway", - sport: "motor" - }, - terms: [ - "auto*", - "formula one", - "kart", - "motocross", - "nascar", - "race*", - "track" - ], - name: "Racetrack (Motorsport)" - }, - "highway/residential": { - icon: "highway-residential", - fields: [ - "name", - "oneway", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "cycleway", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "residential" - }, - terms: [ - ], - name: "Residential Road" - }, - "highway/rest_area": { - icon: "car", - fields: [ - "name" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - highway: "rest_area" - }, - terms: [ - "rest stop" - ], - name: "Rest Area" - }, - "highway/road": { - icon: "highway-road", - fields: [ - "name", - "oneway", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "road" - }, - terms: [ - ], - name: "Unknown Road" - }, - "highway/secondary_link": { - icon: "highway-secondary-link", - fields: [ - "name", - "oneway", - "maxspeed", - "maxspeed/advisory", - "lanes", - "surface", - "structure", - "maxheight", - "ref_road_number", - "cycleway", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "secondary_link" - }, - terms: [ - "ramp", - "on ramp", - "off ramp" - ], - name: "Secondary Link" - }, - "highway/secondary": { - icon: "highway-secondary", - fields: [ - "name", - "oneway", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "ref_road_number", - "cycleway", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "secondary" - }, - terms: [ - ], - name: "Secondary Road" - }, - "highway/service": { - icon: "highway-service", - fields: [ - "name", - "service", - "oneway", - "maxspeed", - "surface", - "structure", - "maxheight", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "service" - }, - terms: [ - ], - name: "Service Road" - }, - "highway/service/alley": { - icon: "highway-service", - fields: [ - "name", - "oneway", - "maxspeed", - "structure", - "access", - "surface", - "maxheight" - ], - geometry: [ - "line" - ], - tags: { - highway: "service", - service: "alley" - }, - reference: { - key: "service", - value: "alley" - }, - name: "Alley" - }, - "highway/service/drive-through": { - icon: "highway-service", - fields: [ - "name", - "oneway", - "covered", - "maxheight", - "maxspeed", - "structure", - "access", - "surface" - ], - geometry: [ - "line" - ], - tags: { - highway: "service", - service: "drive-through" - }, - reference: { - key: "service", - value: "drive-through" - }, - name: "Drive-Through" - }, - "highway/service/driveway": { - icon: "highway-service", - fields: [ - "name", - "oneway", - "maxspeed", - "structure", - "access", - "surface", - "maxheight" - ], - geometry: [ - "line" - ], - tags: { - highway: "service", - service: "driveway" - }, - reference: { - key: "service", - value: "driveway" - }, - name: "Driveway" - }, - "highway/service/emergency_access": { - icon: "highway-service", - fields: [ - "name", - "oneway", - "maxspeed", - "structure", - "access", - "surface", - "maxheight" - ], - geometry: [ - "line" - ], - tags: { - highway: "service", - service: "emergency_access" - }, - reference: { - key: "service", - value: "emergency_access" - }, - name: "Emergency Access" - }, - "highway/service/parking_aisle": { - icon: "highway-service", - fields: [ - "name", - "oneway", - "maxspeed", - "structure", - "access", - "surface", - "maxheight" - ], - geometry: [ - "line" - ], - tags: { - highway: "service", - service: "parking_aisle" - }, - reference: { - key: "service", - value: "parking_aisle" - }, - name: "Parking Aisle" - }, - "highway/services": { - icon: "car", - fields: [ - "name" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - highway: "services" - }, - terms: [ - "services", - "travel plaza", - "service station" - ], - name: "Service Area" - }, - "highway/speed_camera": { - icon: "attraction", - geometry: [ - "point", - "vertex" - ], - fields: [ - "direction", - "ref" - ], - tags: { - highway: "speed_camera" - }, - terms: [ - ], - name: "Speed Camera" - }, - "highway/steps": { - icon: "highway-steps", - fields: [ - "surface", - "lit", - "width", - "incline_steps", - "handrail", - "step_count" - ], - geometry: [ - "line" - ], - tags: { - highway: "steps" - }, - terms: [ - "stairs", - "staircase" - ], - name: "Steps" - }, - "highway/stop": { - icon: "poi-stop", - fields: [ - "stop", - "direction_vertex" - ], - geometry: [ - "vertex" - ], - tags: { - highway: "stop" - }, - terms: [ - "stop", - "halt", - "sign" - ], - name: "Stop Sign" - }, - "highway/street_lamp": { - icon: "poi-bulb", - geometry: [ - "point", - "vertex" - ], - tags: { - highway: "street_lamp" - }, - fields: [ - "lamp_type", - "direction", - "ref" - ], - terms: [ - "streetlight", - "street light", - "lamp", - "light", - "gaslight" - ], - name: "Street Lamp" - }, - "highway/tertiary_link": { - icon: "highway-tertiary-link", - fields: [ - "name", - "oneway", - "maxspeed", - "maxspeed/advisory", - "lanes", - "surface", - "structure", - "maxheight", - "ref_road_number", - "cycleway", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "tertiary_link" - }, - terms: [ - "ramp", - "on ramp", - "off ramp" - ], - name: "Tertiary Link" - }, - "highway/tertiary": { - icon: "highway-tertiary", - fields: [ - "name", - "oneway", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "ref_road_number", - "cycleway", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "tertiary" - }, - terms: [ - ], - name: "Tertiary Road" - }, - "highway/track": { - icon: "highway-track", - fields: [ - "name", - "tracktype", - "surface", - "width", - "structure", - "access", - "incline", - "smoothness", - "mtb/scale", - "mtb/scale/uphill", - "mtb/scale/imba", - "horse_scale" - ], - 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_mirror": { - geometry: [ - "point", - "vertex" - ], - fields: [ - "direction" - ], - tags: { - highway: "traffic_mirror" - }, - terms: [ - "blind spot", - "convex", - "corner", - "curved", - "roadside", - "round", - "safety", - "sphere", - "visibility" - ], - name: "Traffic Mirror" - }, - "highway/traffic_signals": { - icon: "poi-traffic-signals", - geometry: [ - "vertex" - ], - tags: { - highway: "traffic_signals" - }, - fields: [ - "traffic_signals", - "traffic_signals/direction" - ], - terms: [ - "light", - "stoplight", - "traffic light" - ], - name: "Traffic Signals" - }, - "highway/trunk_link": { - icon: "highway-trunk-link", - fields: [ - "name", - "ref_road_number", - "oneway", - "maxspeed", - "maxspeed/advisory", - "lanes", - "surface", - "structure", - "maxheight", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "trunk_link" - }, - terms: [ - "ramp", - "on ramp", - "off ramp" - ], - name: "Trunk Link" - }, - "highway/trunk": { - icon: "highway-trunk", - fields: [ - "name", - "ref_road_number", - "oneway", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "toll", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "trunk" - }, - terms: [ - ], - name: "Trunk Road" - }, - "highway/turning_circle": { - icon: "circle-stroked", - geometry: [ - "vertex" - ], - tags: { - highway: "turning_circle" - }, - terms: [ - "cul-de-sac" - ], - name: "Turning Circle" - }, - "highway/turning_loop": { - icon: "circle", - geometry: [ - "vertex" - ], - tags: { - highway: "turning_loop" - }, - terms: [ - "cul-de-sac" - ], - name: "Turning Loop (Island)" - }, - "highway/unclassified": { - icon: "highway-unclassified", - fields: [ - "name", - "oneway", - "maxspeed", - "lanes", - "surface", - "structure", - "maxheight", - "cycleway", - "access" - ], - geometry: [ - "line" - ], - tags: { - highway: "unclassified" - }, - terms: [ - ], - name: "Minor/Unclassified Road" - }, - historic: { - icon: "poi-ruins", - fields: [ - "historic", - "inscription" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - historic: "*" - }, - name: "Historic Site" - }, - "historic/archaeological_site": { - icon: "poi-ruins", - fields: [ - "name", - "historic/civilization", - "inscription" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - historic: "archaeological_site" - }, - name: "Archaeological Site" - }, - "historic/boundary_stone": { - icon: "poi-milestone", - fields: [ - "name", - "inscription" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - historic: "boundary_stone" - }, - name: "Boundary Stone" - }, - "historic/castle": { - icon: "castle", - fields: [ - "name", - "castle_type", - "building_area", - "historic/civilization" - ], - geometry: [ - "point", - "area" - ], - tags: { - historic: "castle" - }, - name: "Castle" - }, - "historic/memorial": { - icon: "monument", - fields: [ - "name", - "memorial", - "inscription" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "dedicatory", - "epitaph", - "remember", - "remembrance", - "memory", - "monument", - "stolperstein" - ], - tags: { - historic: "memorial" - }, - name: "Memorial" - }, - "historic/monument": { - icon: "monument", - fields: [ - "name", - "inscription" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - historic: "monument" - }, - name: "Monument" - }, - "historic/ruins": { - icon: "poi-ruins", - fields: [ - "name", - "historic/civilization", - "inscription" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - historic: "ruins" - }, - name: "Ruins" - }, - "historic/tomb": { - icon: "cemetery", - fields: [ - "name", - "tomb", - "building_area", - "inscription" - ], - geometry: [ - "point", - "area" - ], - tags: { - historic: "tomb" - }, - name: "Tomb" - }, - "historic/wayside_cross": { - icon: "religious-christian", - fields: [ - "name", - "inscription" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - historic: "wayside_cross" - }, - name: "Wayside Cross" - }, - "historic/wayside_shrine": { - icon: "landmark", - fields: [ - "name", - "religion", - "denomination", - "inscription" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - historic: "wayside_shrine" - }, - name: "Wayside Shrine" - }, - junction: { - icon: "poi-junction", - fields: [ - "name" - ], - geometry: [ - "vertex", - "area" - ], - tags: { - junction: "yes" - }, - name: "Junction" - }, - landuse: { - fields: [ - "name", - "landuse" - ], - geometry: [ - "area" - ], - tags: { - landuse: "*" - }, - matchScore: 0.9, - name: "Land Use" - }, - "landuse/farm": { - icon: "farm", - fields: [ - "name", - "operator", - "crop" - ], - geometry: [ - "point", - "area" - ], - tags: { - landuse: "farm" - }, - terms: [ - ], - name: "Farmland", - searchable: false - }, - "landuse/allotments": { - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "allotments" - }, - terms: [ - "allotment", - "garden" - ], - name: "Community Garden" - }, - "landuse/aquaculture": { - icon: "aquarium", - fields: [ - "name", - "operator", - "produce" - ], - geometry: [ - "area" - ], - tags: { - landuse: "aquaculture" - }, - terms: [ - "fish farm", - "crustacean", - "algae", - "aquafarming", - "shrimp farm", - "oyster farm", - "mariculture", - "algaculture" - ], - name: "Aquaculture" - }, - "landuse/basin": { - icon: "water", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - landuse: "basin" - }, - terms: [ - ], - name: "Basin" - }, - "landuse/brownfield": { - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "brownfield" - }, - terms: [ - ], - matchScore: 0.9, - name: "Brownfield" - }, - "landuse/cemetery": { - icon: "cemetery", - fields: [ - "name", - "religion", - "denomination" - ], - geometry: [ - "area" - ], - tags: { - landuse: "cemetery" - }, - terms: [ - ], - name: "Cemetery" - }, - "landuse/churchyard": { - fields: [ - "name", - "religion", - "denomination" - ], - geometry: [ - "area" - ], - tags: { - landuse: "churchyard" - }, - terms: [ - ], - name: "Churchyard" - }, - "landuse/commercial": { - icon: "suitcase", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - landuse: "commercial" - }, - terms: [ - ], - matchScore: 0.9, - name: "Commercial Area" - }, - "landuse/construction": { - fields: [ - "name", - "construction", - "operator" - ], - geometry: [ - "area" - ], - tags: { - landuse: "construction" - }, - terms: [ - ], - name: "Construction" - }, - "landuse/farmland": { - icon: "farm", - fields: [ - "name", - "operator", - "crop", - "produce" - ], - geometry: [ - "area" - ], - tags: { - landuse: "farmland" - }, - terms: [ - "crop", - "grow", - "plant" - ], - name: "Farmland" - }, - "landuse/farmyard": { - icon: "farm", - fields: [ - "name", - "operator", - "crop" - ], - geometry: [ - "area" - ], - tags: { - landuse: "farmyard" - }, - terms: [ - "crop", - "grow", - "plant" - ], - name: "Farmyard" - }, - "landuse/forest": { - icon: "park-alt1", - fields: [ - "name", - "leaf_type", - "leaf_cycle", - "produce" - ], - geometry: [ - "area" - ], - tags: { - landuse: "forest" - }, - terms: [ - "cut", - "forest", - "lumber", - "tree" - ], - name: "Forest" - }, - "landuse/garages": { - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "garages" - }, - terms: [ - ], - name: "Garage Landuse" - }, - "landuse/grass": { - geometry: [ - "area" - ], - tags: { - landuse: "grass" - }, - terms: [ - ], - name: "Grass" - }, - "landuse/greenfield": { - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "greenfield" - }, - terms: [ - ], - matchScore: 0.9, - name: "Greenfield" - }, - "landuse/greenhouse_horticulture": { - icon: "garden", - fields: [ - "name", - "operator" - ], - geometry: [ - "area" - ], - terms: [ - "flower", - "greenhouse", - "horticulture", - "grow", - "vivero" - ], - tags: { - landuse: "greenhouse_horticulture" - }, - matchScore: 0.9, - name: "Greenhouse Horticulture" - }, - "landuse/harbour": { - icon: "harbor", - fields: [ - "name", - "operator" - ], - geometry: [ - "area" - ], - terms: [ - "boat" - ], - tags: { - landuse: "harbour" - }, - name: "Harbor" - }, - "landuse/industrial": { - icon: "industry", - fields: [ - "name", - "industrial" - ], - geometry: [ - "area" - ], - tags: { - landuse: "industrial" - }, - terms: [ - ], - matchScore: 0.9, - name: "Industrial Area" - }, - "landuse/industrial/scrap_yard": { - icon: "car", - fields: [ - "name", - "operator", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - industrial: "scrap_yard" - }, - addTags: { - landuse: "industrial", - industrial: "scrap_yard" - }, - removeTags: { - landuse: "industrial", - industrial: "scrap_yard" - }, - reference: { - key: "industrial", - value: "scrap_yard" - }, - terms: [ - "car", - "junk", - "metal", - "salvage", - "scrap", - "u-pull-it", - "vehicle", - "wreck", - "yard" - ], - name: "Scrap Yard" - }, - "landuse/industrial/slaughterhouse": { - icon: "slaughterhouse", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - industrial: "slaughterhouse" - }, - addTags: { - landuse: "industrial", - industrial: "slaughterhouse" - }, - removeTags: { - landuse: "industrial", - industrial: "slaughterhouse" - }, - reference: { - key: "industrial", - value: "slaughterhouse" - }, - terms: [ - "abattoir", - "beef", - "butchery", - "calf", - "chicken", - "cow", - "killing house", - "meat", - "pig", - "pork", - "poultry", - "shambles", - "stockyard" - ], - name: "Slaughterhouse" - }, - "landuse/landfill": { - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "landfill" - }, - terms: [ - "dump" - ], - name: "Landfill" - }, - "landuse/meadow": { - icon: "garden", - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "meadow" - }, - terms: [ - ], - name: "Meadow" - }, - "landuse/military": { - icon: "poi-military", - fields: [ - "name" - ], - geometry: [ - "area" - ], - tags: { - landuse: "military" - }, - terms: [ - ], - matchScore: 0.9, - name: "Military Area" - }, - "landuse/military/airfield": { - icon: "airfield", - fields: [ - "name", - "iata", - "icao" - ], - geometry: [ - "point", - "area" - ], - tags: { - military: "airfield" - }, - addTags: { - landuse: "military", - military: "airfield" - }, - removeTags: { - landuse: "military", - military: "airfield" - }, - terms: [ - "air force", - "army", - "base", - "bomb", - "fight", - "force", - "guard", - "heli*", - "jet", - "marine", - "navy", - "plane", - "troop", - "war" - ], - name: "Military Airfield" - }, - "landuse/military/barracks": { - icon: "poi-military", - fields: [ - "name", - "building_area" - ], - geometry: [ - "point", - "area" - ], - tags: { - military: "barracks" - }, - addTags: { - landuse: "military", - military: "barracks" - }, - removeTags: { - landuse: "military", - military: "barracks" - }, - terms: [ - "air force", - "army", - "base", - "fight", - "force", - "guard", - "marine", - "navy", - "troop", - "war" - ], - name: "Barracks" - }, - "landuse/military/bunker": { - icon: "poi-military", - fields: [ - "name", - "bunker_type", - "building_area" - ], - geometry: [ - "point", - "area" - ], - tags: { - military: "bunker" - }, - addTags: { - building: "bunker", - landuse: "military", - military: "bunker" - }, - removeTags: { - building: "bunker", - landuse: "military", - military: "bunker" - }, - terms: [ - "air force", - "army", - "base", - "fight", - "force", - "guard", - "marine", - "navy", - "troop", - "war" - ], - name: "Military Bunker" - }, - "landuse/military/checkpoint": { - icon: "barrier", - fields: [ - "name" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - military: "checkpoint" - }, - addTags: { - landuse: "military", - military: "checkpoint" - }, - removeTags: { - landuse: "military", - military: "checkpoint" - }, - terms: [ - "air force", - "army", - "base", - "force", - "guard", - "marine", - "navy", - "troop", - "war" - ], - name: "Checkpoint" - }, - "landuse/military/danger_area": { - icon: "danger", - fields: [ - "name" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - military: "danger_area" - }, - addTags: { - landuse: "military", - military: "danger_area" - }, - removeTags: { - landuse: "military", - military: "danger_area" - }, - terms: [ - "air force", - "army", - "base", - "blast", - "bomb", - "explo*", - "force", - "guard", - "mine", - "marine", - "navy", - "troop", - "war" - ], - name: "Danger Area" - }, - "landuse/military/naval_base": { - icon: "poi-military", - fields: [ - "name" - ], - geometry: [ - "point", - "area" - ], - tags: { - military: "naval_base" - }, - addTags: { - landuse: "military", - military: "naval_base" - }, - removeTags: { - landuse: "military", - military: "naval_base" - }, - terms: [ - "base", - "fight", - "force", - "guard", - "marine", - "navy", - "ship", - "sub", - "troop", - "war" - ], - name: "Naval Base" - }, - "landuse/military/nuclear_explosion_site": { - icon: "danger", - fields: [ - "name" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - military: "nuclear_explosion_site" - }, - addTags: { - landuse: "military", - military: "nuclear_explosion_site" - }, - removeTags: { - landuse: "military", - military: "nuclear_explosion_site" - }, - terms: [ - "atom", - "blast", - "bomb", - "detonat*", - "nuke", - "site", - "test" - ], - name: "Nuclear Explosion Site" - }, - "landuse/military/obstacle_course": { - icon: "poi-military", - geometry: [ - "point", - "area" - ], - tags: { - military: "obstacle_course" - }, - addTags: { - landuse: "military", - military: "obstacle_course" - }, - removeTags: { - landuse: "military", - military: "obstacle_course" - }, - terms: [ - "army", - "base", - "force", - "guard", - "marine", - "navy", - "troop", - "war" - ], - name: "Obstacle Course" - }, - "landuse/military/office": { - icon: "poi-military", - fields: [ - "name", - "building_area" - ], - geometry: [ - "point", - "area" - ], - tags: { - military: "office" - }, - addTags: { - landuse: "military", - military: "office" - }, - removeTags: { - landuse: "military", - military: "office" - }, - terms: [ - "air force", - "army", - "base", - "enlist", - "fight", - "force", - "guard", - "marine", - "navy", - "recruit", - "troop", - "war" - ], - name: "Military Office" - }, - "landuse/military/range": { - icon: "poi-military", - fields: [ - "name" - ], - geometry: [ - "point", - "area" - ], - tags: { - military: "range" - }, - addTags: { - landuse: "military", - military: "range" - }, - removeTags: { - landuse: "military", - military: "range" - }, - terms: [ - "air force", - "army", - "base", - "fight", - "fire", - "force", - "guard", - "gun", - "marine", - "navy", - "rifle", - "shoot*", - "snip*", - "train", - "troop", - "war" - ], - name: "Military Range" - }, - "landuse/military/training_area": { - icon: "poi-military", - fields: [ - "name" - ], - geometry: [ - "point", - "area" - ], - tags: { - military: "training_area" - }, - addTags: { - landuse: "military", - military: "training_area" - }, - removeTags: { - landuse: "military", - military: "training_area" - }, - terms: [ - "air force", - "army", - "base", - "fight", - "fire", - "force", - "guard", - "gun", - "marine", - "navy", - "rifle", - "shoot*", - "snip*", - "train", - "troop", - "war" - ], - name: "Training Area" - }, - "landuse/orchard": { - icon: "park-alt1", - fields: [ - "name", - "operator", - "trees" - ], - geometry: [ - "area" - ], - tags: { - landuse: "orchard" - }, - terms: [ - "fruit" - ], - name: "Orchard" - }, - "landuse/plant_nursery": { - icon: "garden", - fields: [ - "name", - "operator", - "plant" - ], - geometry: [ - "area" - ], - tags: { - landuse: "plant_nursery" - }, - terms: [ - "flower", - "garden", - "grow", - "vivero" - ], - name: "Plant Nursery" - }, - "landuse/quarry": { - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "quarry" - }, - terms: [ - ], - name: "Quarry" - }, - "landuse/railway": { - icon: "rail", - fields: [ - "operator" - ], - geometry: [ - "area" - ], - tags: { - landuse: "railway" - }, - terms: [ - "rail", - "train", - "track" - ], - name: "Railway Corridor" - }, - "landuse/recreation_ground": { - icon: "pitch", - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "recreation_ground" - }, - terms: [ - "playing fields" - ], - name: "Recreation Ground" - }, - "landuse/religious": { - geometry: [ - "area" - ], - fields: [ - "name", - "religion", - "denomination" - ], - tags: { - landuse: "religious" - }, - terms: [ - ], - name: "Religious Area" - }, - "landuse/residential": { - icon: "building", - geometry: [ - "area" - ], - tags: { - landuse: "residential" - }, - terms: [ - ], - matchScore: 0.9, - name: "Residential Area" - }, - "landuse/retail": { - icon: "commercial", - geometry: [ - "area" - ], - fields: [ - "name" - ], - tags: { - landuse: "retail" - }, - matchScore: 0.9, - name: "Retail Area" - }, - "landuse/vineyard": { - fields: [ - "name", - "operator", - "grape_variety" - ], - geometry: [ - "area" - ], - tags: { - landuse: "vineyard" - }, - addTags: { - landuse: "vineyard", - crop: "grape" - }, - removeTags: { - landuse: "vineyard", - crop: "grape", - grape_variety: "*" - }, - terms: [ - "grape", - "wine" - ], - name: "Vineyard" - }, - leisure: { - icon: "pitch", - fields: [ - "name", - "leisure" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - leisure: "*" - }, - name: "Leisure" - }, - "leisure/adult_gaming_centre": { - icon: "poi-dice", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "gambling", - "slot machine" - ], - tags: { - leisure: "adult_gaming_centre" - }, - name: "Adult Gaming Center" - }, - "leisure/amusement_arcade": { - icon: "gaming", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "pay-to-play games", - "video games", - "driving simulators", - "pinball machines" - ], - tags: { - leisure: "amusement_arcade" - }, - name: "Amusement Arcade" - }, - "leisure/beach_resort": { - icon: "poi-beach", - fields: [ - "name", - "address", - "fee" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "beach_resort" - }, - name: "Beach Resort" - }, - "leisure/bird_hide": { - icon: "poi-binoculars", - fields: [ - "building_area" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "bird_hide" - }, - terms: [ - "machan", - "ornithology" - ], - name: "Bird Hide" - }, - "leisure/bowling_alley": { - icon: "poi-bowling", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "bowling center" - ], - tags: { - leisure: "bowling_alley" - }, - name: "Bowling Alley" - }, - "leisure/common": { - icon: "poi-foot", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - terms: [ - "open space" - ], - tags: { - leisure: "common" - }, - name: "Common" - }, - "leisure/dance": { - icon: "music", - fields: [ - "name", - "operator", - "address", - "building_area", - "dance/style", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "ballroom", - "jive", - "swing", - "tango", - "waltz" - ], - tags: { - leisure: "dance" - }, - name: "Dance Hall" - }, - "leisure/dancing_school": { - icon: "music", - fields: [ - "name", - "operator", - "address", - "opening_hours", - "dance/style" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "jive", - "swing", - "tango", - "waltz", - "dance teaching" - ], - tags: { - leisure: "dance", - "dance:teaching": "yes" - }, - reference: { - key: "leisure", - value: "dance" - }, - name: "Dance School" - }, - "leisure/dog_park": { - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - terms: [ - ], - tags: { - leisure: "dog_park" - }, - name: "Dog Park" - }, - "leisure/firepit": { - icon: "fire-station", - geometry: [ - "point", - "area" - ], - tags: { - leisure: "firepit" - }, - terms: [ - "fireplace", - "campfire" - ], - name: "Firepit" - }, - "leisure/fitness_centre": { - icon: "pitch", - fields: [ - "name", - "sport", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_centre" - }, - terms: [ - "health", - "gym", - "leisure", - "studio" - ], - name: "Gym / Fitness Center" - }, - "leisure/fitness_centre/yoga": { - icon: "pitch", - fields: [ - "name", - "sport", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "studio" - ], - tags: { - leisure: "fitness_centre", - sport: "yoga" - }, - reference: { - key: "sport", - value: "yoga" - }, - name: "Yoga Studio" - }, - "leisure/fitness_station": { - icon: "pitch", - fields: [ - "fitness_station", - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station" - }, - addTags: { - leisure: "fitness_station", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "exercise", - "fitness", - "gym", - "trim trail" - ], - name: "Outdoor Fitness Station" - }, - "leisure/fitness_station/balance_beam": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "balance_beam" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "balance_beam", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "balance_beam", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "balance", - "exercise", - "fitness", - "gym", - "trim trail" - ], - name: "Exercise Balance Beam" - }, - "leisure/fitness_station/box": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "box" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "box", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "box", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "box", - "exercise", - "fitness", - "gym", - "jump", - "trim trail" - ], - name: "Exercise Box" - }, - "leisure/fitness_station/horizontal_bar": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "horizontal_bar" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "horizontal_bar", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "horizontal_bar", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "bar", - "chinup", - "chin up", - "exercise", - "fitness", - "gym", - "pullup", - "pull up", - "trim trail" - ], - name: "Exercise Horizontal Bar" - }, - "leisure/fitness_station/horizontal_ladder": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "horizontal_ladder" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "horizontal_ladder", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "horizontal_ladder", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "bar", - "chinup", - "chin up", - "exercise", - "fitness", - "gym", - "ladder", - "monkey bars", - "pullup", - "pull up", - "trim trail" - ], - name: "Exercise Monkey Bars" - }, - "leisure/fitness_station/hyperextension": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "hyperextension" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "hyperextension", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "hyperextension", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "back", - "exercise", - "extension", - "fitness", - "gym", - "roman chair", - "trim trail" - ], - name: "Hyperextension Station" - }, - "leisure/fitness_station/parallel_bars": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "parallel_bars" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "parallel_bars", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "parallel_bars", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "bar", - "dip", - "exercise", - "fitness", - "gym", - "trim trail" - ], - name: "Parallel Bars" - }, - "leisure/fitness_station/push-up": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "push-up" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "push-up", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "push-up", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "bar", - "exercise", - "fitness", - "gym", - "pushup", - "push up", - "trim trail" - ], - name: "Push-Up Station" - }, - "leisure/fitness_station/rings": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "rings" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "rings", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "rings", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "exercise", - "fitness", - "gym", - "muscle up", - "pullup", - "pull up", - "trim trail" - ], - name: "Exercise Rings" - }, - "leisure/fitness_station/sign": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "sign" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "sign", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "sign", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "exercise", - "fitness", - "gym", - "trim trail" - ], - name: "Exercise Instruction Sign" - }, - "leisure/fitness_station/sit-up": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "sit-up" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "sit-up", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "sit-up", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "crunch", - "exercise", - "fitness", - "gym", - "situp", - "sit up", - "trim trail" - ], - name: "Sit-Up Station" - }, - "leisure/fitness_station/stairs": { - icon: "pitch", - fields: [ - "ref", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "fitness_station", - fitness_station: "stairs" - }, - addTags: { - leisure: "fitness_station", - fitness_station: "stairs", - sport: "fitness" - }, - removeTags: { - leisure: "fitness_station", - fitness_station: "stairs", - sport: "fitness" - }, - reference: { - key: "leisure", - value: "fitness_station" - }, - terms: [ - "exercise", - "fitness", - "gym", - "steps", - "trim trail" - ], - name: "Exercise Stairs" - }, - "leisure/garden": { - icon: "garden", - fields: [ - "name", - "access_simple" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - leisure: "garden" - }, - name: "Garden" - }, - "leisure/golf_course": { - icon: "golf", - fields: [ - "name", - "operator", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "links" - ], - tags: { - leisure: "golf_course" - }, - name: "Golf Course" - }, - "leisure/hackerspace": { - icon: "commercial", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "website" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "makerspace", - "hackspace", - "hacklab" - ], - tags: { - leisure: "hackerspace" - }, - name: "Hackerspace" - }, - "leisure/horse_riding": { - icon: "horse-riding", - fields: [ - "name", - "access_simple", - "operator", - "address", - "building" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "equestrian", - "stable" - ], - tags: { - leisure: "horse_riding" - }, - name: "Horseback Riding Facility" - }, - "leisure/ice_rink": { - icon: "pitch", - fields: [ - "name", - "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: [ - "name", - "operator", - "address", - "capacity", - "fee", - "sanitary_dump_station", - "power_supply", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "boat" - ], - tags: { - leisure: "marina" - }, - name: "Marina" - }, - "leisure/miniature_golf": { - icon: "golf", - fields: [ - "name", - "operator", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "crazy golf", - "mini golf", - "putt-putt" - ], - tags: { - leisure: "miniature_golf" - }, - name: "Miniature Golf" - }, - "leisure/nature_reserve": { - icon: "park", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - tags: { - leisure: "nature_reserve" - }, - terms: [ - "protected", - "wildlife" - ], - name: "Nature Reserve" - }, - "leisure/outdoor_seating": { - icon: "picnic-site", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator" - ], - terms: [ - "al fresco", - "beer garden", - "dining", - "cafe", - "restaurant", - "pub", - "bar", - "patio" - ], - tags: { - leisure: "outdoor_seating" - }, - name: "Outdoor Seating Area" - }, - "leisure/park": { - icon: "park", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - 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": { - icon: "picnic-site", - geometry: [ - "point" - ], - tags: { - leisure: "picnic_table" - }, - terms: [ - "bench" - ], - name: "Picnic Table" - }, - "leisure/pitch": { - icon: "pitch", - fields: [ - "name", - "sport", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch" - }, - terms: [ - "field" - ], - name: "Sport Pitch" - }, - "leisure/pitch/american_football": { - icon: "america-football", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "american_football" - }, - reference: { - key: "sport", - value: "american_football" - }, - terms: [ - ], - name: "American Football Field" - }, - "leisure/pitch/baseball": { - icon: "baseball", - fields: [ - "name", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "baseball" - }, - reference: { - key: "sport", - value: "baseball" - }, - terms: [ - ], - name: "Baseball Diamond" - }, - "leisure/pitch/basketball": { - icon: "basketball", - fields: [ - "name", - "surface", - "hoops", - "lit", - "access_simple" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "basketball" - }, - reference: { - key: "sport", - value: "basketball" - }, - terms: [ - ], - name: "Basketball Court" - }, - "leisure/pitch/beachvolleyball": { - icon: "basketball", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "beachvolleyball" - }, - addTags: { - leisure: "pitch", - sport: "beachvolleyball", - surface: "sand" - }, - removeTags: { - leisure: "pitch", - sport: "beachvolleyball", - surface: "sand" - }, - reference: { - key: "sport", - value: "beachvolleyball" - }, - terms: [ - "volleyball" - ], - name: "Beach Volleyball Court" - }, - "leisure/pitch/boules": { - icon: "pitch", - fields: [ - "name", - "boules", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "boules" - }, - reference: { - key: "sport", - value: "boules" - }, - terms: [ - "bocce", - "lyonnaise", - "pétanque" - ], - name: "Boules/Bocce Court" - }, - "leisure/pitch/bowls": { - icon: "pitch", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "bowls" - }, - reference: { - key: "sport", - value: "bowls" - }, - terms: [ - ], - name: "Bowling Green" - }, - "leisure/pitch/cricket": { - icon: "cricket", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "cricket" - }, - reference: { - key: "sport", - value: "cricket" - }, - terms: [ - ], - name: "Cricket Field" - }, - "leisure/pitch/equestrian": { - icon: "horse-riding", - fields: [ - "name", - "surface", - "lit", - "building" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "equestrian" - }, - reference: { - key: "sport", - value: "equestrian" - }, - terms: [ - "dressage", - "equestrian", - "horse", - "horseback", - "riding" - ], - name: "Riding Arena" - }, - "leisure/pitch/rugby_league": { - icon: "america-football", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "rugby_league" - }, - reference: { - key: "sport", - value: "rugby_league" - }, - terms: [ - ], - name: "Rugby League Field" - }, - "leisure/pitch/rugby_union": { - icon: "america-football", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "rugby_union" - }, - reference: { - key: "sport", - value: "rugby_union" - }, - terms: [ - ], - name: "Rugby Union Field" - }, - "leisure/pitch/skateboard": { - icon: "pitch", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "skateboard" - }, - reference: { - key: "sport", - value: "skateboard" - }, - terms: [ - ], - name: "Skate Park" - }, - "leisure/pitch/soccer": { - icon: "soccer", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "soccer" - }, - reference: { - key: "sport", - value: "soccer" - }, - terms: [ - "football" - ], - name: "Soccer Field" - }, - "leisure/pitch/table_tennis": { - icon: "tennis", - fields: [ - "name", - "lit", - "access_simple" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "table_tennis" - }, - reference: { - key: "sport", - value: "table_tennis" - }, - terms: [ - "table tennis", - "ping pong" - ], - name: "Ping Pong Table" - }, - "leisure/pitch/tennis": { - icon: "tennis", - fields: [ - "name", - "surface", - "lit", - "access_simple" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "tennis" - }, - reference: { - key: "sport", - value: "tennis" - }, - terms: [ - ], - name: "Tennis Court" - }, - "leisure/pitch/volleyball": { - icon: "basketball", - fields: [ - "name", - "surface", - "lit" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "pitch", - sport: "volleyball" - }, - reference: { - key: "sport", - value: "volleyball" - }, - terms: [ - ], - name: "Volleyball Court" - }, - "leisure/playground": { - icon: "playground", - fields: [ - "name", - "operator", - "surface", - "playground/max_age", - "playground/min_age", - "access_simple" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "jungle gym", - "play area" - ], - tags: { - leisure: "playground" - }, - name: "Playground" - }, - "leisure/resort": { - icon: "lodging", - fields: [ - "name", - "operator", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "resort" - }, - name: "Resort" - }, - "leisure/running_track": { - icon: "pitch", - fields: [ - "surface", - "sport_racing_nonmotor", - "lit", - "width", - "lanes" - ], - geometry: [ - "point", - "line", - "area" - ], - tags: { - leisure: "track", - sport: "running" - }, - terms: [ - "race*", - "running", - "sprint", - "track" - ], - name: "Racetrack (Running)" - }, - "leisure/sauna": { - fields: [ - "name", - "operator", - "address", - "opening_hours", - "access_simple", - "fee" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "sauna" - }, - name: "Sauna" - }, - "leisure/slipway": { - icon: "poi-beach", - geometry: [ - "point", - "line" - ], - terms: [ - "boat launch", - "boat ramp" - ], - tags: { - leisure: "slipway" - }, - name: "Slipway" - }, - "leisure/sports_centre": { - icon: "pitch", - fields: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "sports_centre" - }, - terms: [ - ], - name: "Sports Center / Complex" - }, - "leisure/sports_centre/swimming": { - icon: "swimming", - fields: [ - "name", - "access_simple", - "operator", - "address", - "building" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "dive", - "water" - ], - tags: { - leisure: "sports_centre", - sport: "swimming" - }, - reference: { - key: "sport", - value: "swimming" - }, - name: "Swimming Pool Facility" - }, - "leisure/stadium": { - icon: "pitch", - fields: [ - "name", - "sport", - "address" - ], - geometry: [ - "point", - "area" - ], - tags: { - leisure: "stadium" - }, - name: "Stadium" - }, - "leisure/swimming_pool": { - icon: "swimming", - fields: [ - "name", - "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_nonmotor", - "lit", - "width", - "lanes" - ], - geometry: [ - "point", - "line", - "area" - ], - tags: { - leisure: "track" - }, - terms: [ - "cycle", - "dog", - "greyhound", - "horse", - "race*", - "track" - ], - name: "Racetrack (Non-Motorsport)" - }, - "leisure/water_park": { - icon: "swimming", - fields: [ - "name", - "operator", - "address" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "swim", - "pool", - "dive" - ], - tags: { - leisure: "water_park" - }, - name: "Water Park" - }, - line: { - fields: [ - "name" - ], - geometry: [ - "line" - ], - tags: { - }, - name: "Line", - matchScore: 0.1 - }, - man_made: { - icon: "poi-storage-tank", - fields: [ - "name", - "man_made" - ], - geometry: [ - "point", - "vertex", - "line", - "area" - ], - tags: { - man_made: "*" - }, - name: "Man Made" - }, - "man_made/embankment": { - geometry: [ - "line" - ], - tags: { - man_made: "embankment" - }, - name: "Embankment", - searchable: false - }, - "man_made/adit": { - icon: "triangle", - geometry: [ - "point", - "area" - ], - fields: [ - "operator", - "direction" - ], - terms: [ - "entrance", - "underground", - "mine", - "cave" - ], - tags: { - man_made: "adit" - }, - name: "Adit" - }, - "man_made/antenna": { - icon: "poi-mast", - fields: [ - "height", - "communication_multi" - ], - geometry: [ - "point" - ], - terms: [ - "broadcast", - "cell phone", - "cell", - "communication", - "mobile phone", - "radio", - "television", - "transmission", - "tv" - ], - tags: { - man_made: "antenna" - }, - name: "Antenna" - }, - "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": { - icon: "poi-chimney", - geometry: [ - "point", - "area" - ], - tags: { - man_made: "chimney" - }, - name: "Chimney" - }, - "man_made/clearcut": { - icon: "logging", - geometry: [ - "area" - ], - tags: { - man_made: "clearcut" - }, - terms: [ - "cut", - "forest", - "lumber", - "tree", - "wood" - ], - name: "Clearcut Forest" - }, - "man_made/crane": { - icon: "poi-crane", - fields: [ - "operator", - "height", - "crane/type" - ], - geometry: [ - "point", - "line", - "vertex", - "area" - ], - tags: { - man_made: "crane" - }, - name: "Crane" - }, - "man_made/cutline": { - geometry: [ - "line" - ], - tags: { - man_made: "cutline" - }, - name: "Cut line" - }, - "man_made/flagpole": { - icon: "embassy", - geometry: [ - "point" - ], - tags: { - man_made: "flagpole" - }, - name: "Flagpole" - }, - "man_made/gasometer": { - icon: "poi-storage-tank", - 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": { - icon: "poi-mast", - fields: [ - "tower/type", - "tower/construction", - "height", - "communication_multi" - ], - geometry: [ - "point" - ], - terms: [ - "antenna", - "broadcast tower", - "cell phone tower", - "cell tower", - "communication mast", - "communication tower", - "guyed tower", - "mobile phone tower", - "radio mast", - "radio tower", - "television tower", - "transmission mast", - "transmission tower", - "tv tower" - ], - tags: { - man_made: "mast" - }, - name: "Mast" - }, - "man_made/monitoring_station": { - icon: "poi-mast", - geometry: [ - "point", - "area" - ], - fields: [ - "monitoring_multi", - "operator" - ], - terms: [ - "weather", - "earthquake", - "seismology", - "air", - "gps" - ], - tags: { - man_made: "monitoring_station" - }, - name: "Monitoring Station" - }, - "man_made/observation": { - icon: "poi-tower", - geometry: [ - "point", - "area" - ], - terms: [ - "lookout tower", - "fire tower" - ], - tags: { - man_made: "tower", - "tower:type": "observation" - }, - name: "Observation Tower" - }, - "man_made/observatory": { - geometry: [ - "point", - "area" - ], - terms: [ - "astronomical", - "meteorological" - ], - tags: { - man_made: "observatory" - }, - name: "Observatory" - }, - "man_made/petroleum_well": { - icon: "poi-storage-tank", - 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", - "jetty" - ], - tags: { - man_made: "pier" - }, - name: "Pier" - }, - "man_made/pipeline": { - icon: "pipeline-line", - fields: [ - "location", - "operator", - "substance" - ], - geometry: [ - "line" - ], - tags: { - man_made: "pipeline" - }, - name: "Pipeline" - }, - "man_made/pumping_station": { - icon: "water", - geometry: [ - "point", - "area" - ], - tags: { - man_made: "pumping_station" - }, - name: "Pumping Station" - }, - "man_made/silo": { - icon: "poi-silo", - fields: [ - "building_area", - "crop" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "grain", - "corn", - "wheat" - ], - tags: { - man_made: "silo" - }, - name: "Silo" - }, - "man_made/storage_tank": { - icon: "poi-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_camera": { - icon: "attraction", - geometry: [ - "point", - "vertex" - ], - fields: [ - "surveillance", - "surveillance/type", - "camera/type", - "camera/mount", - "camera/direction", - "surveillance/zone", - "contact/webcam" - ], - terms: [ - "anpr", - "alpr", - "camera", - "car plate recognition", - "cctv", - "guard", - "license plate recognition", - "monitoring", - "number plate recognition", - "security", - "video", - "webcam" - ], - tags: { - man_made: "surveillance", - "surveillance:type": "camera" - }, - name: "Surveillance Camera" - }, - "man_made/surveillance": { - icon: "attraction", - geometry: [ - "point", - "vertex" - ], - fields: [ - "surveillance", - "surveillance/type", - "surveillance/zone", - "direction" - ], - terms: [ - "anpr", - "alpr", - "camera", - "car plate recognition", - "cctv", - "guard", - "license plate recognition", - "monitoring", - "number plate recognition", - "security", - "video", - "webcam" - ], - tags: { - man_made: "surveillance" - }, - name: "Surveillance" - }, - "man_made/survey_point": { - icon: "monument", - fields: [ - "ref" - ], - geometry: [ - "point", - "vertex" - ], - terms: [ - "trig point", - "triangulation pillar", - "trigonometrical station" - ], - tags: { - man_made: "survey_point" - }, - name: "Survey Point" - }, - "man_made/tower": { - icon: "poi-tower", - fields: [ - "tower/type", - "tower/construction", - "height" - ], - geometry: [ - "point", - "area" - ], - tags: { - man_made: "tower" - }, - name: "Tower" - }, - "man_made/wastewater_plant": { - icon: "water", - fields: [ - "name", - "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": { - icon: "water", - fields: [ - "operator" - ], - geometry: [ - "point", - "area" - ], - tags: { - man_made: "water_well" - }, - name: "Water Well" - }, - "man_made/water_works": { - icon: "water", - fields: [ - "name", - "operator", - "address" - ], - geometry: [ - "point", - "area" - ], - tags: { - man_made: "water_works" - }, - name: "Water Works" - }, - "man_made/watermill": { - icon: "buddhism", - fields: [ - "building_area" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "water", - "wheel", - "mill" - ], - tags: { - man_made: "watermill" - }, - name: "Watermill" - }, - "man_made/windmill": { - icon: "poi-windmill", - fields: [ - "building_area" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "wind", - "wheel", - "mill" - ], - tags: { - man_made: "windmill" - }, - name: "Windmill" - }, - "man_made/works": { - icon: "industry", - fields: [ - "name", - "operator", - "address", - "building_area", - "product" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "assembly", - "build", - "brewery", - "car", - "plant", - "plastic", - "processing", - "manufacture", - "refinery" - ], - tags: { - man_made: "works" - }, - name: "Factory" - }, - manhole: { - icon: "circle-stroked", - fields: [ - "manhole", - "operator", - "label", - "ref" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - manhole: "*" - }, - terms: [ - "cover", - "hole", - "sewer", - "sewage", - "telecom" - ], - name: "Manhole" - }, - "manhole/drain": { - icon: "water", - fields: [ - "operator", - "ref" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - manhole: "drain" - }, - terms: [ - "cover", - "drain", - "hole", - "rain", - "sewer", - "sewage", - "storm" - ], - name: "Storm Drain" - }, - "manhole/telecom": { - icon: "circle-stroked", - fields: [ - "operator", - "ref" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - manhole: "telecom" - }, - terms: [ - "cover", - "phone", - "hole", - "telecom", - "telephone", - "bt" - ], - name: "Telecom Manhole" - }, - natural: { - icon: "natural", - fields: [ - "name", - "natural" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - natural: "*" - }, - name: "Natural" - }, - "natural/bare_rock": { - geometry: [ - "area" - ], - tags: { - natural: "bare_rock" - }, - terms: [ - "rock" - ], - name: "Bare Rock" - }, - "natural/bay": { - icon: "poi-beach", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - tags: { - natural: "bay" - }, - terms: [ - ], - name: "Bay" - }, - "natural/beach": { - icon: "poi-beach", - fields: [ - "surface" - ], - geometry: [ - "point", - "area" - ], - tags: { - natural: "beach" - }, - terms: [ - "shore" - ], - name: "Beach" - }, - "natural/cave_entrance": { - icon: "triangle", - geometry: [ - "point", - "area" - ], - fields: [ - "fee", - "access_simple", - "direction" - ], - tags: { - natural: "cave_entrance" - }, - terms: [ - "cavern", - "hollow", - "grotto", - "shelter", - "cavity" - ], - name: "Cave Entrance" - }, - "natural/cliff": { - icon: "triangle", - geometry: [ - "point", - "vertex", - "line", - "area" - ], - tags: { - natural: "cliff" - }, - terms: [ - "escarpment" - ], - name: "Cliff" - }, - "natural/coastline": { - geometry: [ - "line" - ], - tags: { - natural: "coastline" - }, - terms: [ - "shore" - ], - name: "Coastline" - }, - "natural/fell": { - geometry: [ - "area" - ], - tags: { - natural: "fell" - }, - terms: [ - ], - name: "Fell" - }, - "natural/glacier": { - geometry: [ - "area" - ], - tags: { - natural: "glacier" - }, - terms: [ - ], - name: "Glacier" - }, - "natural/grassland": { - geometry: [ - "area" - ], - tags: { - natural: "grassland" - }, - terms: [ - "prairie", - "savanna" - ], - name: "Grassland" - }, - "natural/heath": { - geometry: [ - "area" - ], - tags: { - natural: "heath" - }, - terms: [ - ], - name: "Heath" - }, - "natural/mud": { - geometry: [ - "area" - ], - tags: { - natural: "mud" - }, - terms: [ - "wetland" - ], - name: "Mud" - }, - "natural/peak": { - icon: "mountain", - fields: [ - "name", - "elevation" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - natural: "peak" - }, - terms: [ - "acme", - "aiguille", - "alp", - "climax", - "crest", - "crown", - "hill", - "mount", - "mountain", - "pinnacle", - "summit", - "tip", - "top" - ], - name: "Peak" - }, - "natural/reef": { - icon: "poi-beach", - geometry: [ - "point", - "area" - ], - tags: { - natural: "reef" - }, - terms: [ - "barrier", - "coral", - "ocean", - "sand", - "shoal" - ], - name: "Reef" - }, - "natural/ridge": { - geometry: [ - "line" - ], - tags: { - natural: "ridge" - }, - terms: [ - "crest" - ], - name: "Ridge" - }, - "natural/saddle": { - icon: "triangle-stroked", - fields: [ - "elevation" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - natural: "saddle" - }, - terms: [ - "pass", - "mountain pass", - "top" - ], - name: "Saddle" - }, - "natural/sand": { - geometry: [ - "area" - ], - tags: { - natural: "sand" - }, - terms: [ - "desert" - ], - name: "Sand" - }, - "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": { - icon: "water", - fields: [ - "name", - "intermittent" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - natural: "spring" - }, - terms: [ - ], - name: "Spring" - }, - "natural/tree_row": { - icon: "park", - fields: [ - "leaf_type", - "leaf_cycle", - "denotation" - ], - geometry: [ - "line" - ], - tags: { - natural: "tree_row" - }, - terms: [ - ], - name: "Tree row" - }, - "natural/tree": { - icon: "park", - fields: [ - "leaf_type_singular", - "leaf_cycle_singular", - "denotation" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - natural: "tree" - }, - terms: [ - ], - name: "Tree" - }, - "natural/volcano": { - icon: "volcano", - fields: [ - "name", - "elevation", - "volcano/status", - "volcano/type" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - natural: "volcano" - }, - terms: [ - "mountain", - "crater" - ], - name: "Volcano" - }, - "natural/water": { - icon: "water", - fields: [ - "water" - ], - geometry: [ - "area" - ], - tags: { - natural: "water" - }, - name: "Water" - }, - "natural/water/lake": { - icon: "water", - fields: [ - "name", - "intermittent" - ], - geometry: [ - "area" - ], - tags: { - natural: "water", - water: "lake" - }, - reference: { - key: "natural", - value: "water" - }, - terms: [ - "lakelet", - "loch", - "mere" - ], - name: "Lake" - }, - "natural/water/pond": { - icon: "water", - fields: [ - "name", - "intermittent" - ], - geometry: [ - "area" - ], - tags: { - natural: "water", - water: "pond" - }, - reference: { - key: "natural", - value: "water" - }, - terms: [ - "lakelet", - "millpond", - "tarn", - "pool", - "mere" - ], - name: "Pond" - }, - "natural/water/reservoir": { - icon: "water", - fields: [ - "name", - "intermittent" - ], - geometry: [ - "area" - ], - tags: { - natural: "water", - water: "reservoir" - }, - reference: { - key: "natural", - value: "water" - }, - name: "Reservoir" - }, - "natural/wetland": { - icon: "wetland", - fields: [ - "wetland" - ], - geometry: [ - "point", - "area" - ], - tags: { - natural: "wetland" - }, - terms: [ - "bog", - "marsh", - "reedbed", - "swamp", - "tidalflat" - ], - name: "Wetland" - }, - "natural/wood": { - icon: "park-alt1", - fields: [ - "name", - "leaf_type", - "leaf_cycle" - ], - geometry: [ - "point", - "area" - ], - tags: { - natural: "wood" - }, - terms: [ - "tree" - ], - name: "Wood" - }, - "noexit/yes": { - icon: "barrier", - geometry: [ - "vertex" - ], - terms: [ - "no exit", - "road end", - "dead end" - ], - tags: { - noexit: "yes" - }, - reference: { - key: "noexit", - value: "*" - }, - name: "No Exit" - }, - office: { - icon: "suitcase", - fields: [ - "name", - "office", - "address", - "building_area", - "opening_hours", - "smoking" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - office: "*" - }, - terms: [ - ], - name: "Office" - }, - "office/administrative": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "administrative" - }, - terms: [ - ], - searchable: false, - name: "Administrative Office" - }, - "office/physician": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "physician" - }, - searchable: false, - name: "Physician" - }, - "office/travel_agent": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "travel_agent" - }, - reference: { - key: "shop", - value: "travel_agency" - }, - terms: [ - ], - name: "Travel Agency", - searchable: false - }, - "office/accountant": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "accountant" - }, - terms: [ - ], - name: "Accountant Office" - }, - "office/adoption_agency": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "adoption_agency" - }, - terms: [ - ], - name: "Adoption Agency" - }, - "office/advertising_agency": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "advertising_agency" - }, - terms: [ - "ad", - "ad agency", - "advert agency", - "advertising", - "marketing" - ], - name: "Advertising Agency" - }, - "office/architect": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "architect" - }, - terms: [ - ], - name: "Architect Office" - }, - "office/association": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "association" - }, - terms: [ - "association", - "non-profit", - "nonprofit", - "organization", - "society" - ], - name: "Nonprofit Organization Office" - }, - "office/charity": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "charity" - }, - terms: [ - "charitable organization" - ], - name: "Charity Office" - }, - "office/company": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "company" - }, - terms: [ - ], - name: "Corporate Office" - }, - "office/coworking": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "coworking", - "office" - ], - tags: { - office: "coworking" - }, - reference: { - key: "amenity", - value: "coworking_space" - }, - name: "Coworking Space" - }, - "office/educational_institution": { - icon: "school", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "educational_institution" - }, - terms: [ - ], - name: "Educational Institution" - }, - "office/employment_agency": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "employment_agency" - }, - terms: [ - "job" - ], - name: "Employment Agency" - }, - "office/energy_supplier": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "energy_supplier" - }, - terms: [ - "electricity", - "energy company", - "energy utility", - "gas utility" - ], - name: "Energy Supplier Office" - }, - "office/estate_agent": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "estate_agent" - }, - terms: [ - ], - name: "Real Estate Office" - }, - "office/financial": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "financial" - }, - terms: [ - ], - name: "Financial Office" - }, - "office/forestry": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "forestry" - }, - terms: [ - "forest", - "ranger" - ], - name: "Forestry Office" - }, - "office/foundation": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "foundation" - }, - terms: [ - ], - name: "Foundation Office" - }, - "office/government": { - icon: "town-hall", - fields: [ - "name", - "government", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "government" - }, - terms: [ - ], - name: "Government Office" - }, - "office/government/register_office": { - icon: "town-hall", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "operator" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "clerk", - "marriage", - "death", - "birth", - "certificate" - ], - tags: { - office: "government", - government: "register_office" - }, - reference: { - key: "government", - value: "register_office" - }, - name: "Register Office" - }, - "office/government/tax": { - icon: "town-hall", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "operator" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "fiscal authorities", - "revenue office", - "tax office" - ], - tags: { - office: "government", - government: "tax" - }, - reference: { - key: "government", - value: "tax" - }, - name: "Tax and Revenue Office" - }, - "office/guide": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "guide" - }, - terms: [ - "dive guide", - "mountain guide", - "tour guide" - ], - name: "Tour Guide Office" - }, - "office/insurance": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "insurance" - }, - terms: [ - ], - name: "Insurance Office" - }, - "office/it": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "it" - }, - terms: [ - "computer", - "information", - "software", - "technology" - ], - name: "Information Technology Office" - }, - "office/lawyer": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "lawyer" - }, - terms: [ - ], - name: "Law Office" - }, - "office/lawyer/notary": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "lawyer", - lawyer: "notary" - }, - reference: { - key: "office", - value: "notary" - }, - searchable: false, - name: "Notary Office" - }, - "office/moving_company": { - icon: "warehouse", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "moving_company" - }, - terms: [ - "relocation" - ], - name: "Moving Company Office" - }, - "office/newspaper": { - icon: "library", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "newspaper" - }, - terms: [ - ], - name: "Newspaper Office" - }, - "office/ngo": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "ngo" - }, - terms: [ - "ngo", - "non government", - "non-government", - "organization", - "organisation" - ], - name: "NGO Office" - }, - "office/notary": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "notary" - }, - terms: [ - "clerk", - "deeds", - "estate", - "signature", - "wills" - ], - name: "Notary Office" - }, - "office/political_party": { - icon: "town-hall", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "political_party" - }, - terms: [ - ], - name: "Political Party" - }, - "office/private_investigator": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "private_investigator" - }, - terms: [ - "PI", - "private eye", - "private detective" - ], - name: "Private Investigator Office" - }, - "office/quango": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "quango" - }, - terms: [ - "ngo", - "non government", - "non-government", - "organization", - "organisation", - "quasi autonomous", - "quasi-autonomous" - ], - name: "Quasi-NGO Office" - }, - "office/research": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "research" - }, - terms: [ - ], - name: "Research Office" - }, - "office/surveyor": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "surveyor" - }, - terms: [ - ], - name: "Surveyor Office" - }, - "office/tax_advisor": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "tax_advisor" - }, - terms: [ - "tax", - "tax consultant" - ], - name: "Tax Advisor Office" - }, - "office/telecommunication": { - icon: "telephone", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "telecommunication" - }, - terms: [ - "communication", - "internet", - "phone", - "voice" - ], - name: "Telecom Office" - }, - "office/therapist": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "therapist" - }, - terms: [ - "therapy" - ], - name: "Therapist Office" - }, - "office/water_utility": { - icon: "suitcase", - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "operator" - ], - geometry: [ - "point", - "area" - ], - tags: { - office: "water_utility" - }, - terms: [ - "water board", - "utility" - ], - name: "Water Utility Office" - }, - piste: { - icon: "skiing", - fields: [ - "name", - "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/farm": { - icon: "farm", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - tags: { - place: "farm" - }, - name: "Farm", - searchable: false - }, - "place/city": { - icon: "city", - fields: [ - "name", - "population" - ], - geometry: [ - "point", - "area" - ], - tags: { - place: "city" - }, - name: "City" - }, - "place/hamlet": { - icon: "triangle-stroked", - fields: [ - "name", - "population" - ], - geometry: [ - "point", - "area" - ], - tags: { - place: "hamlet" - }, - name: "Hamlet" - }, - "place/island": { - icon: "mountain", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - terms: [ - "archipelago", - "atoll", - "bar", - "cay", - "isle", - "islet", - "key", - "reef" - ], - tags: { - place: "island" - }, - name: "Island" - }, - "place/islet": { - icon: "mountain", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - terms: [ - "archipelago", - "atoll", - "bar", - "cay", - "isle", - "islet", - "key", - "reef" - ], - tags: { - place: "islet" - }, - name: "Islet" - }, - "place/isolated_dwelling": { - icon: "home", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - tags: { - place: "isolated_dwelling" - }, - name: "Isolated Dwelling" - }, - "place/locality": { - icon: "triangle-stroked", - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - tags: { - place: "locality" - }, - name: "Locality" - }, - "place/neighbourhood": { - icon: "triangle-stroked", - fields: [ - "name", - "population" - ], - geometry: [ - "point", - "area" - ], - tags: { - place: "neighbourhood" - }, - terms: [ - "neighbourhood" - ], - name: "Neighborhood" - }, - "place/plot": { - icon: "triangle-stroked", - fields: [ - "name" - ], - geometry: [ - "point", - "area" - ], - tags: { - place: "plot" - }, - terms: [ - "tract", - "land", - "lot", - "parcel" - ], - name: "Plot" - }, - "place/quarter": { - icon: "triangle-stroked", - fields: [ - "name", - "population" - ], - geometry: [ - "point", - "area" - ], - tags: { - place: "quarter" - }, - terms: [ - "boro", - "borough", - "quarter" - ], - name: "Sub-Borough / Quarter" - }, - "place/square": { - geometry: [ - "point", - "area" - ], - fields: [ - "name" - ], - tags: { - place: "square" - }, - name: "Square" - }, - "place/suburb": { - icon: "triangle-stroked", - fields: [ - "name", - "population" - ], - geometry: [ - "point", - "area" - ], - tags: { - place: "suburb" - }, - terms: [ - "boro", - "borough", - "quarter" - ], - name: "Borough / Suburb" - }, - "place/town": { - icon: "town", - fields: [ - "name", - "population" - ], - geometry: [ - "point", - "area" - ], - tags: { - place: "town" - }, - name: "Town" - }, - "place/village": { - icon: "village", - fields: [ - "name", - "population" - ], - geometry: [ - "point", - "area" - ], - tags: { - place: "village" - }, - name: "Village" - }, - "playground/balance_beam": { - icon: "playground", - geometry: [ - "point", - "line" - ], - tags: { - playground: "balancebeam" - }, - name: "Play Balance Beam" - }, - "playground/basket_spinner": { - icon: "playground", - geometry: [ - "point" - ], - terms: [ - "basket rotator" - ], - tags: { - playground: "basketrotator" - }, - name: "Basket Spinner" - }, - "playground/basket_swing": { - icon: "playground", - geometry: [ - "point" - ], - tags: { - playground: "basketswing" - }, - name: "Basket Swing" - }, - "playground/climbing_frame": { - icon: "playground", - geometry: [ - "point", - "area" - ], - tags: { - playground: "climbingframe" - }, - name: "Climbing Frame" - }, - "playground/cushion": { - icon: "playground", - geometry: [ - "point", - "area" - ], - tags: { - playground: "cushion" - }, - name: "Bouncy Cushion" - }, - "playground/horizontal_bar": { - icon: "pitch", - fields: [ - "height" - ], - geometry: [ - "point" - ], - terms: [ - "high bar" - ], - tags: { - playground: "horizontal_bar" - }, - name: "Play Horizontal Bar" - }, - "playground/rocker": { - icon: "playground", - geometry: [ - "point" - ], - tags: { - playground: "springy" - }, - name: "Spring Rider", - terms: [ - "spring rocker", - "springy rocker" - ] - }, - "playground/roundabout": { - icon: "stadium", - fields: [ - "bench" - ], - geometry: [ - "point", - "area" - ], - tags: { - playground: "roundabout" - }, - name: "Play Roundabout", - terms: [ - "merry-go-round" - ] - }, - "playground/sandpit": { - icon: "playground", - geometry: [ - "point", - "area" - ], - tags: { - playground: "sandpit" - }, - name: "Sandpit" - }, - "playground/seesaw": { - icon: "playground", - geometry: [ - "point" - ], - tags: { - playground: "seesaw" - }, - name: "Seesaw" - }, - "playground/slide": { - icon: "playground", - geometry: [ - "point", - "line" - ], - tags: { - playground: "slide" - }, - name: "Slide" - }, - "playground/structure": { - icon: "pitch", - geometry: [ - "point", - "area" - ], - tags: { - playground: "structure" - }, - name: "Play Structure" - }, - "playground/swing": { - icon: "playground", - fields: [ - "playground/baby", - "wheelchair" - ], - geometry: [ - "point" - ], - tags: { - playground: "swing" - }, - name: "Swing" - }, - "playground/zipwire": { - icon: "playground", - geometry: [ - "point", - "line" - ], - tags: { - playground: "zipwire" - }, - name: "Zip Wire" - }, - point: { - fields: [ - "name" - ], - geometry: [ - "point" - ], - tags: { - }, - name: "Point", - matchScore: 0.1 - }, - "power/sub_station": { - icon: "poi-power", - fields: [ - "substation", - "operator", - "building", - "ref" - ], - geometry: [ - "point", - "area" - ], - tags: { - power: "sub_station" - }, - reference: { - key: "power", - value: "substation" - }, - name: "Substation", - searchable: false - }, - "power/generator": { - icon: "poi-power", - fields: [ - "operator", - "generator/source", - "generator/method", - "generator/type", - "generator/output/electricity", - "ref" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "hydro", - "solar", - "turbine", - "wind" - ], - tags: { - power: "generator" - }, - name: "Power Generator" - }, - "power/generator/source_nuclear": { - icon: "poi-nuclear", - fields: [ - "operator", - "generator/source", - "generator/method", - "generator/type", - "generator/output/electricity", - "ref" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "fission", - "generator", - "nuclear", - "nuke", - "reactor" - ], - tags: { - power: "generator", - "generator:source": "nuclear", - "generator:method": "fission" - }, - reference: { - key: "generator:source", - value: "nuclear" - }, - name: "Nuclear Reactor" - }, - "power/generator/source_wind": { - icon: "poi-wind", - fields: [ - "operator", - "generator/source", - "generator/method", - "generator/type", - "generator/output/electricity", - "height", - "ref" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "generator", - "turbine", - "windmill", - "wind" - ], - tags: { - power: "generator", - "generator:source": "wind", - "generator:method": "wind_turbine" - }, - reference: { - key: "generator:source", - value: "wind" - }, - name: "Wind Turbine" - }, - "power/line": { - icon: "power-line", - fields: [ - "name", - "operator", - "voltage", - "ref" - ], - geometry: [ - "line" - ], - tags: { - power: "line" - }, - name: "Power Line" - }, - "power/minor_line": { - icon: "power-line", - fields: [ - "name", - "operator", - "voltage", - "ref" - ], - geometry: [ - "line" - ], - tags: { - power: "minor_line" - }, - name: "Minor Power Line" - }, - "power/plant": { - icon: "industry", - fields: [ - "name", - "operator", - "address", - "plant/output/electricity", - "start_date" - ], - geometry: [ - "area" - ], - tags: { - power: "plant" - }, - addTags: { - power: "plant", - landuse: "industrial" - }, - removeTags: { - power: "plant", - landuse: "industrial" - }, - terms: [ - "coal", - "gas", - "generat*", - "hydro", - "nuclear", - "power", - "station" - ], - name: "Power Station Grounds" - }, - "power/pole": { - fields: [ - "ref" - ], - geometry: [ - "vertex" - ], - tags: { - power: "pole" - }, - name: "Power Pole" - }, - "power/substation": { - icon: "poi-power", - fields: [ - "substation", - "operator", - "building", - "ref" - ], - geometry: [ - "point", - "area" - ], - tags: { - power: "substation" - }, - name: "Substation" - }, - "power/switch": { - icon: "poi-power", - fields: [ - "switch", - "operator", - "location", - "cables", - "voltage", - "ref" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - power: "switch" - }, - name: "Power Switch" - }, - "power/tower": { - fields: [ - "ref" - ], - geometry: [ - "vertex" - ], - tags: { - power: "tower" - }, - name: "High-Voltage Tower" - }, - "power/transformer": { - icon: "poi-power", - fields: [ - "transformer", - "operator", - "location", - "rating", - "devices", - "phases", - "frequency", - "voltage/primary", - "voltage/secondary", - "voltage/tertiary", - "windings", - "windings/configuration", - "ref" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - power: "transformer" - }, - name: "Transformer" - }, - "public_transport/linear_platform_aerialway": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - aerialway: "yes" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "aerialway", - "cable car", - "platform", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Aerialway Stop / Platform" - }, - "public_transport/linear_platform_bus": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - bus: "yes" - }, - addTags: { - public_transport: "platform", - bus: "yes", - highway: "bus_stop" - }, - removeTags: { - public_transport: "platform", - bus: "yes", - highway: "bus_stop" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "bus", - "platform", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Bus Stop / Platform" - }, - "public_transport/linear_platform_ferry": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - ferry: "yes" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "boat", - "dock", - "ferry", - "pier", - "platform", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Ferry Stop / Platform" - }, - "public_transport/linear_platform_light_rail": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - light_rail: "yes" - }, - addTags: { - public_transport: "platform", - light_rail: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - light_rail: "yes", - railway: "platform" - }, - reference: { - key: "railway", - value: "platform" - }, - terms: [ - "electric", - "light rail", - "platform", - "public transit", - "public transportation", - "rail", - "track", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Light Rail Stop / Platform" - }, - "public_transport/linear_platform_monorail": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - monorail: "yes" - }, - addTags: { - public_transport: "platform", - monorail: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - monorail: "yes", - railway: "platform" - }, - reference: { - key: "railway", - value: "platform" - }, - terms: [ - "monorail", - "platform", - "public transit", - "public transportation", - "rail", - "transit", - "transportation" - ], - name: "Monorail Stop / Platform" - }, - "public_transport/linear_platform_subway": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - subway: "yes" - }, - addTags: { - public_transport: "platform", - subway: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - subway: "yes", - railway: "platform" - }, - reference: { - key: "railway", - value: "platform" - }, - terms: [ - "metro", - "platform", - "public transit", - "public transportation", - "rail", - "subway", - "track", - "transit", - "transportation", - "underground" - ], - name: "Subway Stop / Platform" - }, - "public_transport/linear_platform_train": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - train: "yes" - }, - addTags: { - public_transport: "platform", - train: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - train: "yes", - railway: "platform" - }, - reference: { - key: "railway", - value: "platform" - }, - terms: [ - "platform", - "public transit", - "public transportation", - "rail", - "track", - "train", - "transit", - "transportation" - ], - name: "Train Stop / Platform" - }, - "public_transport/linear_platform_tram": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - tram: "yes" - }, - addTags: { - public_transport: "platform", - tram: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - tram: "yes", - railway: "platform" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "electric", - "light rail", - "platform", - "public transit", - "public transportation", - "rail", - "streetcar", - "track", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Tram Stop / Platform" - }, - "public_transport/linear_platform_trolleybus": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform", - trolleybus: "yes" - }, - addTags: { - public_transport: "platform", - trolleybus: "yes", - highway: "bus_stop" - }, - removeTags: { - public_transport: "platform", - trolleybus: "yes", - highway: "bus_stop" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "bus", - "electric", - "platform", - "public transit", - "public transportation", - "streetcar", - "trackless", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Trolleybus Stop / Platform" - }, - "public_transport/linear_platform": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "line" - ], - tags: { - public_transport: "platform" - }, - terms: [ - "platform", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Transit Stop / Platform", - matchScore: 0.2 - }, - "public_transport/platform_aerialway": { - icon: "aerialway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - aerialway: "yes" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "aerialway", - "cable car", - "platform", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Aerialway Stop / Platform" - }, - "public_transport/platform_bus": { - icon: "bus", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - bus: "yes" - }, - addTags: { - public_transport: "platform", - bus: "yes", - highway: "bus_stop" - }, - removeTags: { - public_transport: "platform", - bus: "yes", - highway: "bus_stop" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "bus", - "platform", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Bus Stop / Platform" - }, - "public_transport/platform_ferry": { - icon: "ferry", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - ferry: "yes" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "boat", - "dock", - "ferry", - "pier", - "platform", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Ferry Stop / Platform" - }, - "public_transport/platform_light_rail": { - icon: "poi-light-rail", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - light_rail: "yes" - }, - addTags: { - public_transport: "platform", - light_rail: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - light_rail: "yes", - railway: "platform" - }, - reference: { - key: "railway", - value: "platform" - }, - terms: [ - "electric", - "light rail", - "platform", - "public transit", - "public transportation", - "rail", - "track", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Light Rail Stop / Platform" - }, - "public_transport/platform_monorail": { - icon: "poi-monorail", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - monorail: "yes" - }, - addTags: { - public_transport: "platform", - monorail: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - monorail: "yes", - railway: "platform" - }, - reference: { - key: "railway", - value: "platform" - }, - terms: [ - "monorail", - "platform", - "public transit", - "public transportation", - "rail", - "transit", - "transportation" - ], - name: "Monorail Stop / Platform" - }, - "public_transport/platform_subway": { - icon: "poi-subway", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - subway: "yes" - }, - addTags: { - public_transport: "platform", - subway: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - subway: "yes", - railway: "platform" - }, - reference: { - key: "railway", - value: "platform" - }, - terms: [ - "metro", - "platform", - "public transit", - "public transportation", - "rail", - "subway", - "track", - "transit", - "transportation", - "underground" - ], - name: "Subway Stop / Platform" - }, - "public_transport/platform_train": { - icon: "rail", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - train: "yes" - }, - addTags: { - public_transport: "platform", - train: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - train: "yes", - railway: "platform" - }, - reference: { - key: "railway", - value: "platform" - }, - terms: [ - "platform", - "public transit", - "public transportation", - "rail", - "track", - "train", - "transit", - "transportation" - ], - name: "Train Stop / Platform" - }, - "public_transport/platform_tram": { - icon: "poi-tram", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - tram: "yes" - }, - addTags: { - public_transport: "platform", - tram: "yes", - railway: "platform" - }, - removeTags: { - public_transport: "platform", - tram: "yes", - railway: "platform" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "electric", - "light rail", - "platform", - "public transit", - "public transportation", - "rail", - "streetcar", - "track", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Tram Stop / Platform" - }, - "public_transport/platform_trolleybus": { - icon: "poi-trolleybus", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform", - trolleybus: "yes" - }, - addTags: { - public_transport: "platform", - trolleybus: "yes", - highway: "bus_stop" - }, - removeTags: { - public_transport: "platform", - trolleybus: "yes", - highway: "bus_stop" - }, - reference: { - key: "public_transport", - value: "platform" - }, - terms: [ - "bus", - "electric", - "platform", - "public transit", - "public transportation", - "streetcar", - "trackless", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Trolleybus Stop / Platform" - }, - "public_transport/platform": { - icon: "bus", - fields: [ - "name", - "ref_platform", - "network", - "operator", - "surface", - "lit", - "bench", - "shelter" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "platform" - }, - terms: [ - "platform", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Transit Stop / Platform", - matchScore: 0.2 - }, - "public_transport/station_aerialway": { - icon: "aerialway", - fields: [ - "name", - "network", - "operator", - "aerialway/access", - "aerialway/summer/access", - "elevation", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - aerialway: "yes" - }, - reference: { - key: "aerialway", - value: "station" - }, - terms: [ - "aerialway", - "cable car", - "public transit", - "public transportation", - "station", - "terminal", - "transit", - "transportation" - ], - name: "Aerialway Station" - }, - "public_transport/station_bus": { - icon: "bus", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - bus: "yes" - }, - addTags: { - public_transport: "station", - bus: "yes", - amenity: "bus_station" - }, - removeTags: { - public_transport: "station", - bus: "yes", - amenity: "bus_station" - }, - reference: { - key: "amenity", - value: "bus_station" - }, - terms: [ - "bus", - "public transit", - "public transportation", - "station", - "terminal", - "transit", - "transportation" - ], - name: "Bus Station / Terminal" - }, - "public_transport/station_ferry": { - icon: "ferry", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - ferry: "yes" - }, - addTags: { - public_transport: "station", - ferry: "yes", - amenity: "ferry_terminal" - }, - removeTags: { - public_transport: "station", - ferry: "yes", - amenity: "ferry_terminal" - }, - reference: { - key: "amenity", - value: "ferry_terminal" - }, - terms: [ - "boat", - "dock", - "ferry", - "pier", - "public transit", - "public transportation", - "station", - "terminal", - "transit", - "transportation" - ], - name: "Ferry Station / Terminal" - }, - "public_transport/station_light_rail": { - icon: "poi-light-rail", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - light_rail: "yes" - }, - addTags: { - public_transport: "station", - light_rail: "yes", - railway: "station", - station: "light_rail" - }, - removeTags: { - public_transport: "station", - light_rail: "yes", - railway: "station", - station: "light_rail" - }, - reference: { - key: "station", - value: "light_rail" - }, - terms: [ - "electric", - "light rail", - "public transit", - "public transportation", - "rail", - "station", - "terminal", - "track", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Light Rail Station" - }, - "public_transport/station_monorail": { - icon: "poi-monorail", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - monorail: "yes" - }, - addTags: { - public_transport: "station", - monorail: "yes", - railway: "station" - }, - removeTags: { - public_transport: "station", - monorail: "yes", - railway: "station" - }, - reference: { - key: "railway", - value: "station" - }, - terms: [ - "monorail", - "public transit", - "public transportation", - "rail", - "station", - "terminal", - "transit", - "transportation" - ], - name: "Monorail Station" - }, - "public_transport/station_subway": { - icon: "poi-subway", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - subway: "yes" - }, - addTags: { - public_transport: "station", - subway: "yes", - railway: "station", - station: "subway" - }, - removeTags: { - public_transport: "station", - subway: "yes", - railway: "station", - station: "subway" - }, - reference: { - key: "station", - value: "subway" - }, - terms: [ - "metro", - "public transit", - "public transportation", - "rail", - "station", - "subway", - "terminal", - "track", - "transit", - "transportation", - "underground" - ], - name: "Subway Station" - }, - "public_transport/station_train_halt": { - icon: "rail", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - train: "yes", - railway: "halt" - }, - reference: { - key: "railway", - value: "halt" - }, - terms: [ - "halt", - "public transit", - "public transportation", - "rail", - "station", - "track", - "train", - "transit", - "transportation", - "whistle stop" - ], - name: "Train Station (Halt / Request)" - }, - "public_transport/station_train": { - icon: "rail", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - train: "yes" - }, - addTags: { - public_transport: "station", - train: "yes", - railway: "station" - }, - removeTags: { - public_transport: "station", - train: "yes", - railway: "station" - }, - reference: { - key: "railway", - value: "station" - }, - terms: [ - "public transit", - "public transportation", - "rail", - "station", - "terminal", - "track", - "train", - "transit", - "transportation" - ], - name: "Train Station" - }, - "public_transport/station_tram": { - icon: "poi-tram", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - tram: "yes" - }, - reference: { - key: "public_transport", - value: "station" - }, - terms: [ - "electric", - "light rail", - "public transit", - "public transportation", - "rail", - "station", - "streetcar", - "terminal", - "track", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Tram Station" - }, - "public_transport/station_trolleybus": { - icon: "poi-trolleybus", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station", - trolleybus: "yes" - }, - addTags: { - public_transport: "station", - trolleybus: "yes", - amenity: "bus_station" - }, - removeTags: { - public_transport: "station", - trolleybus: "yes", - amenity: "bus_station" - }, - reference: { - key: "amenity", - value: "bus_station" - }, - terms: [ - "bus", - "electric", - "public transit", - "public transportation", - "station", - "streetcar", - "terminal", - "trackless", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Trolleybus Station / Terminal" - }, - "public_transport/station": { - icon: "rail", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - public_transport: "station" - }, - terms: [ - "public transit", - "public transportation", - "station", - "terminal", - "transit", - "transportation" - ], - name: "Transit Station", - matchScore: 0.2 - }, - "public_transport/stop_area": { - icon: "bus", - fields: [ - "name", - "ref", - "network", - "operator" - ], - geometry: [ - "relation" - ], - tags: { - type: "public_transport", - public_transport: "stop_area" - }, - addTags: { - type: "public_transport", - public_transport: "stop_area", - "public_transport:version": "2" - }, - removeTags: { - type: "public_transport", - public_transport: "stop_area", - "public_transport:version": "2" - }, - reference: { - key: "public_transport", - value: "stop_area" - }, - name: "Transit Stop Area" - }, - "public_transport/stop_position_aerialway": { - icon: "aerialway", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - aerialway: "yes" - }, - reference: { - key: "public_transport", - value: "stop_position" - }, - terms: [ - "aerialway", - "cable car", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Aerialway Stopping Location" - }, - "public_transport/stop_position_bus": { - icon: "bus", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - bus: "yes" - }, - reference: { - key: "public_transport", - value: "stop_position" - }, - terms: [ - "bus", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Bus Stopping Location" - }, - "public_transport/stop_position_ferry": { - icon: "ferry", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - ferry: "yes" - }, - reference: { - key: "public_transport", - value: "stop_position" - }, - terms: [ - "boat", - "dock", - "ferry", - "pier", - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Ferry Stopping Location" - }, - "public_transport/stop_position_light_rail": { - icon: "poi-light-rail", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - light_rail: "yes" - }, - addTags: { - public_transport: "stop_position", - light_rail: "yes", - railway: "stop" - }, - removeTags: { - public_transport: "stop_position", - light_rail: "yes", - railway: "stop" - }, - reference: { - key: "railway", - value: "stop" - }, - terms: [ - "electric", - "light rail", - "public transit", - "public transportation", - "rail", - "track", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Light Rail Stopping Location" - }, - "public_transport/stop_position_monorail": { - icon: "poi-monorail", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - monorail: "yes" - }, - addTags: { - public_transport: "stop_position", - monorail: "yes", - railway: "stop" - }, - removeTags: { - public_transport: "stop_position", - monorail: "yes", - railway: "stop" - }, - reference: { - key: "railway", - value: "stop" - }, - terms: [ - "monorail", - "public transit", - "public transportation", - "rail", - "transit", - "transportation" - ], - name: "Monorail Stopping Location" - }, - "public_transport/stop_position_subway": { - icon: "poi-subway", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - subway: "yes" - }, - addTags: { - public_transport: "stop_position", - subway: "yes", - railway: "stop" - }, - removeTags: { - public_transport: "stop_position", - subway: "yes", - railway: "stop" - }, - reference: { - key: "railway", - value: "stop" - }, - terms: [ - "metro", - "public transit", - "public transportation", - "rail", - "subway", - "track", - "transit", - "transportation", - "underground" - ], - name: "Subway Stopping Location" - }, - "public_transport/stop_position_train": { - icon: "rail", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - train: "yes" - }, - addTags: { - public_transport: "stop_position", - train: "yes", - railway: "stop" - }, - removeTags: { - public_transport: "stop_position", - train: "yes", - railway: "stop" - }, - reference: { - key: "railway", - value: "stop" - }, - terms: [ - "public transit", - "public transportation", - "rail", - "track", - "train", - "transit", - "transportation" - ], - name: "Train Stopping Location" - }, - "public_transport/stop_position_tram": { - icon: "poi-tram", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - tram: "yes" - }, - addTags: { - public_transport: "stop_position", - tram: "yes", - railway: "tram_stop" - }, - removeTags: { - public_transport: "stop_position", - tram: "yes", - railway: "tram_stop" - }, - reference: { - key: "public_transport", - value: "stop_position" - }, - terms: [ - "electric", - "light rail", - "public transit", - "public transportation", - "rail", - "streetcar", - "track", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Tram Stopping Location" - }, - "public_transport/stop_position_trolleybus": { - icon: "poi-trolleybus", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position", - trolleybus: "yes" - }, - reference: { - key: "public_transport", - value: "stop_position" - }, - terms: [ - "bus", - "electric", - "public transit", - "public transportation", - "streetcar", - "trackless", - "tram", - "trolley", - "transit", - "transportation" - ], - name: "Trolleybus Stopping Location" - }, - "public_transport/stop_position": { - icon: "bus", - fields: [ - "name", - "ref_stop_position", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - public_transport: "stop_position" - }, - terms: [ - "public transit", - "public transportation", - "transit", - "transportation" - ], - name: "Transit Stopping Location", - matchScore: 0.2 - }, - "railway/halt": { - icon: "rail", - geometry: [ - "point", - "vertex" - ], - tags: { - railway: "halt" - }, - terms: [ - "break", - "interrupt", - "rest", - "wait", - "interruption" - ], - name: "Train Station (Halt / Request)", - searchable: false - }, - "railway/platform": { - icon: "highway-footway", - fields: [ - "name", - "ref_platform", - "surface", - "lit", - "shelter" - ], - geometry: [ - "line", - "area" - ], - tags: { - railway: "platform" - }, - name: "Train Stop / Platform", - searchable: false - }, - "railway/station": { - icon: "rail", - fields: [ - "name", - "network", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - railway: "station" - }, - terms: [ - "train station", - "station" - ], - name: "Train Station", - searchable: false - }, - "railway/tram_stop": { - icon: "poi-tram", - fields: [ - "name", - "network", - "operator" - ], - geometry: [ - "vertex" - ], - tags: { - railway: "tram_stop" - }, - terms: [ - "light rail", - "streetcar", - "tram", - "trolley" - ], - name: "Tram Stopping Position", - searchable: false - }, - "railway/abandoned": { - icon: "railway-abandoned", - fields: [ - "name", - "structure", - "service_rail", - "usage_rail" - ], - geometry: [ - "line" - ], - tags: { - railway: "abandoned" - }, - terms: [ - ], - name: "Abandoned Railway" - }, - "railway/buffer_stop": { - icon: "poi-buffer-stop", - geometry: [ - "vertex" - ], - tags: { - railway: "buffer_stop" - }, - terms: [ - "stop", - "halt", - "buffer" - ], - name: "Buffer Stop" - }, - "railway/crossing": { - icon: "cross", - geometry: [ - "vertex" - ], - tags: { - railway: "crossing" - }, - terms: [ - "crossing", - "pedestrian crossing", - "railroad crossing", - "level crossing", - "grade crossing", - "path through railroad", - "train crossing" - ], - name: "Railway Crossing (Path)" - }, - "railway/derail": { - icon: "roadblock", - geometry: [ - "vertex" - ], - tags: { - railway: "derail" - }, - terms: [ - "derailer" - ], - name: "Railway Derailer" - }, - "railway/disused": { - icon: "railway-disused", - fields: [ - "structure", - "service_rail", - "usage_rail" - ], - geometry: [ - "line" - ], - tags: { - railway: "disused" - }, - terms: [ - ], - name: "Disused Railway" - }, - "railway/funicular": { - icon: "railway-rail", - geometry: [ - "line" - ], - terms: [ - "venicular", - "cliff railway", - "cable car", - "cable railway", - "funicular railway" - ], - fields: [ - "structure", - "gauge", - "service_rail" - ], - tags: { - railway: "funicular" - }, - name: "Funicular" - }, - "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 (Road)" - }, - "railway/light_rail": { - icon: "railway-light-rail", - fields: [ - "name", - "structure", - "gauge", - "electrified", - "service_rail", - "usage_rail", - "voltage", - "frequency" - ], - geometry: [ - "line" - ], - tags: { - railway: "light_rail" - }, - terms: [ - "light rail", - "streetcar", - "trolley" - ], - name: "Light Rail" - }, - "railway/milestone": { - icon: "poi-milestone", - geometry: [ - "point", - "vertex" - ], - fields: [ - "railway/position" - ], - tags: { - railway: "milestone" - }, - terms: [ - "milestone", - "marker" - ], - name: "Railway Milestone" - }, - "railway/miniature": { - icon: "railway-rail", - geometry: [ - "line" - ], - tags: { - railway: "miniature" - }, - fields: [ - "name", - "structure", - "gauge", - "electrified", - "service_rail" - ], - terms: [ - "rideable miniature railway", - "narrow gauge railway", - "minimum gauge railway" - ], - name: "Miniature Railway" - }, - "railway/monorail": { - icon: "railway-monorail", - fields: [ - "name", - "structure", - "electrified", - "service_rail", - "usage_rail", - "voltage", - "frequency" - ], - geometry: [ - "line" - ], - tags: { - railway: "monorail" - }, - terms: [ - ], - name: "Monorail" - }, - "railway/narrow_gauge": { - icon: "railway-rail", - fields: [ - "name", - "structure", - "gauge", - "electrified", - "service_rail", - "usage_rail", - "voltage", - "frequency" - ], - geometry: [ - "line" - ], - tags: { - railway: "narrow_gauge" - }, - terms: [ - "narrow gauge railway", - "narrow gauge railroad" - ], - name: "Narrow Gauge Rail" - }, - "railway/rail": { - icon: "railway-rail", - fields: [ - "name", - "structure", - "gauge", - "electrified", - "maxspeed", - "service_rail", - "usage_rail", - "voltage", - "frequency" - ], - geometry: [ - "line" - ], - tags: { - railway: "rail" - }, - terms: [ - ], - name: "Rail" - }, - "railway/signal": { - icon: "poi-railway-signals", - geometry: [ - "point", - "vertex" - ], - fields: [ - "railway/position", - "railway/signal/direction", - "ref" - ], - tags: { - railway: "signal" - }, - terms: [ - "signal", - "lights" - ], - name: "Railway Signal" - }, - "railway/subway_entrance": { - icon: "entrance", - geometry: [ - "point", - "vertex" - ], - fields: [ - "name" - ], - tags: { - railway: "subway_entrance" - }, - terms: [ - "metro", - "transit" - ], - name: "Subway Entrance" - }, - "railway/subway": { - icon: "railway-subway", - fields: [ - "name", - "structure", - "gauge", - "electrified", - "service_rail", - "usage_rail", - "voltage", - "frequency" - ], - geometry: [ - "line" - ], - tags: { - railway: "subway" - }, - terms: [ - "metro", - "transit" - ], - name: "Subway" - }, - "railway/switch": { - icon: "poi-junction", - geometry: [ - "vertex" - ], - tags: { - railway: "switch" - }, - terms: [ - "switch", - "points" - ], - name: "Railway Switch" - }, - "railway/train_wash": { - icon: "rail", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "operator", - "building_area" - ], - tags: { - railway: "wash" - }, - terms: [ - "wash", - "clean" - ], - name: "Train Wash" - }, - "railway/tram": { - icon: "railway-light-rail", - fields: [ - "name", - "structure", - "gauge", - "electrified", - "service_rail", - "usage_rail", - "voltage", - "frequency" - ], - geometry: [ - "line" - ], - tags: { - railway: "tram" - }, - terms: [ - "light rail", - "streetcar", - "tram", - "trolley" - ], - name: "Tram" - }, - relation: { - icon: "relation", - fields: [ - "name", - "relation" - ], - geometry: [ - "relation" - ], - tags: { - }, - name: "Relation" - }, - "route/ferry": { - icon: "ferry-line", - geometry: [ - "line" - ], - fields: [ - "name", - "operator", - "duration", - "access" - ], - tags: { - route: "ferry" - }, - name: "Ferry Route" - }, - shop: { - icon: "shop", - fields: [ - "name", - "shop", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "*" - }, - terms: [ - ], - name: "Shop" - }, - "shop/fishmonger": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "fishmonger" - }, - reference: { - key: "shop", - value: "seafood" - }, - name: "Fishmonger", - searchable: false - }, - "shop/furnace": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "oven", - "stove" - ], - tags: { - shop: "furnace" - }, - name: "Furnace Store", - searchable: false - }, - "shop/vacant": { - icon: "shop", - fields: [ - "name", - "address", - "building_area" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "vacant" - }, - name: "Vacant Shop", - searchable: false - }, - "shop/agrarian": { - icon: "shop", - fields: [ - "name", - "operator", - "agrarian", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "agricultural inputs", - "agricultural machines", - "seeds", - "pesticides", - "fertilizer", - "agricultural tools" - ], - tags: { - shop: "agrarian" - }, - name: "Farm Supply Shop" - }, - "shop/alcohol": { - icon: "alcohol-shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "alcohol", - "beer", - "booze", - "wine" - ], - tags: { - shop: "alcohol" - }, - name: "Liquor Store" - }, - "shop/anime": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "anime" - }, - terms: [ - "manga", - "japan", - "cosplay", - "figurine", - "dakimakura" - ], - name: "Anime Shop" - }, - "shop/antiques": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "antiques" - }, - name: "Antiques Shop" - }, - "shop/appliance": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "air conditioner", - "appliance", - "dishwasher", - "dryer", - "freezer", - "fridge", - "grill", - "kitchen", - "oven", - "refrigerator", - "stove", - "washer", - "washing machine" - ], - tags: { - shop: "appliance" - }, - name: "Appliance Store" - }, - "shop/art": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "art*", - "exhibit*", - "gallery" - ], - tags: { - shop: "art" - }, - name: "Art Store" - }, - "shop/baby_goods": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "baby_goods" - }, - name: "Baby Goods Store" - }, - "shop/bag": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "handbag", - "purse" - ], - tags: { - shop: "bag" - }, - name: "Bag/Luggage Store" - }, - "shop/bakery": { - icon: "bakery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "bakery" - }, - name: "Bakery" - }, - "shop/bathroom_furnishing": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "bathroom_furnishing" - }, - name: "Bathroom Furnishing Store" - }, - "shop/beauty": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "beauty", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "spa", - "salon", - "tanning" - ], - tags: { - shop: "beauty" - }, - name: "Beauty Shop" - }, - "shop/beauty/nails": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "manicure", - "pedicure" - ], - tags: { - shop: "beauty", - beauty: "nails" - }, - reference: { - key: "shop", - value: "beauty" - }, - name: "Nail Salon" - }, - "shop/beauty/tanning": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "beauty", - beauty: "tanning" - }, - reference: { - key: "leisure", - value: "tanning_salon" - }, - name: "Tanning Salon" - }, - "shop/bed": { - icon: "lodging", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "bed" - }, - name: "Bedding/Mattress Store" - }, - "shop/beverages": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "beverages" - }, - name: "Beverage Store" - }, - "shop/bicycle": { - icon: "bicycle", - fields: [ - "name", - "operator", - "address", - "building_area", - "service/bicycle", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "bike", - "repair" - ], - tags: { - shop: "bicycle" - }, - name: "Bicycle Shop" - }, - "shop/bookmaker": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "betting" - ], - tags: { - shop: "bookmaker" - }, - name: "Bookmaker" - }, - "shop/books": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "books" - }, - name: "Book Store" - }, - "shop/boutique": { - icon: "shop", - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "boutique" - }, - name: "Boutique" - }, - "shop/butcher": { - icon: "slaughterhouse", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "meat" - ], - tags: { - shop: "butcher" - }, - name: "Butcher" - }, - "shop/candles": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "candles" - }, - name: "Candle Shop" - }, - "shop/car_parts": { - icon: "car", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "auto" - ], - tags: { - shop: "car_parts" - }, - name: "Car Parts Store" - }, - "shop/car_repair": { - icon: "car", - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "auto", - "garage", - "service" - ], - tags: { - shop: "car_repair" - }, - name: "Car Repair Shop" - }, - "shop/car": { - icon: "car", - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "auto" - ], - tags: { - shop: "car" - }, - name: "Car Dealership" - }, - "shop/carpet": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "rug" - ], - tags: { - shop: "carpet" - }, - name: "Carpet Store" - }, - "shop/charity": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "thrift", - "op shop", - "nonprofit" - ], - tags: { - shop: "charity" - }, - name: "Charity Store" - }, - "shop/cheese": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "cheese" - }, - name: "Cheese Store" - }, - "shop/chemist": { - icon: "grocery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "chemist" - }, - terms: [ - "med*", - "drug*", - "gift" - ], - name: "Drugstore" - }, - "shop/chocolate": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "chocolate" - }, - name: "Chocolate Store" - }, - "shop/clothes": { - icon: "clothing-store", - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "clothes" - }, - name: "Clothing Store" - }, - "shop/coffee": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "coffee" - }, - name: "Coffee Store" - }, - "shop/computer": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "computer" - }, - name: "Computer Store" - }, - "shop/confectionery": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "sweet" - ], - tags: { - shop: "confectionery" - }, - name: "Candy Store" - }, - "shop/convenience": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "convenience" - }, - name: "Convenience Store" - }, - "shop/copyshop": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "copyshop" - }, - name: "Copy Store" - }, - "shop/cosmetics": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "cosmetics" - }, - name: "Cosmetics Store" - }, - "shop/craft": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "craft" - }, - terms: [ - "art*", - "paint*", - "frame" - ], - name: "Arts and Crafts Store" - }, - "shop/curtain": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "drape*", - "window" - ], - tags: { - shop: "curtain" - }, - name: "Curtain Store" - }, - "shop/dairy": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "milk", - "egg", - "cheese" - ], - tags: { - shop: "dairy" - }, - name: "Dairy Store" - }, - "shop/deli": { - icon: "restaurant", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "lunch", - "meat", - "sandwich" - ], - tags: { - shop: "deli" - }, - name: "Deli" - }, - "shop/department_store": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "department_store" - }, - name: "Department Store" - }, - "shop/doityourself": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "doityourself" - }, - name: "DIY Store" - }, - "shop/dry_cleaning": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "dry_cleaning" - }, - name: "Dry Cleaner" - }, - "shop/e-cigarette": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "e-cigarette" - }, - terms: [ - "electronic", - "vapor" - ], - name: "E-Cigarette Shop" - }, - "shop/electronics": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "appliance", - "audio", - "blueray", - "camera", - "computer", - "dvd", - "home theater", - "radio", - "speaker", - "tv", - "video" - ], - tags: { - shop: "electronics" - }, - name: "Electronics Store" - }, - "shop/erotic": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "sex", - "porn" - ], - tags: { - shop: "erotic" - }, - name: "Erotic Store" - }, - "shop/fabric": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "sew" - ], - tags: { - shop: "fabric" - }, - name: "Fabric Store" - }, - "shop/farm": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "farm shop", - "farm stand" - ], - tags: { - shop: "farm" - }, - name: "Produce Stand" - }, - "shop/fashion": { - icon: "shop", - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "fashion" - }, - name: "Fashion Store" - }, - "shop/florist": { - icon: "florist", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "flower" - ], - tags: { - shop: "florist" - }, - name: "Florist" - }, - "shop/frame": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "frame" - }, - terms: [ - "art*", - "paint*", - "photo*", - "frame" - ], - name: "Framing Shop" - }, - "shop/funeral_directors": { - icon: "cemetery", - fields: [ - "name", - "operator", - "address", - "building_area", - "religion", - "denomination" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "undertaker", - "memorial home" - ], - tags: { - shop: "funeral_directors" - }, - name: "Funeral Home" - }, - "shop/furniture": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "chair", - "sofa", - "table" - ], - tags: { - shop: "furniture" - }, - name: "Furniture Store" - }, - "shop/garden_centre": { - icon: "garden-center", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "landscape", - "mulch", - "shrub", - "tree" - ], - tags: { - shop: "garden_centre" - }, - name: "Garden Center" - }, - "shop/gas": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "cng", - "lpg", - "natural gas", - "propane", - "refill", - "tank" - ], - tags: { - shop: "gas" - }, - name: "Bottled Gas Shop" - }, - "shop/gift": { - icon: "gift", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "souvenir" - ], - tags: { - shop: "gift" - }, - name: "Gift Shop" - }, - "shop/greengrocer": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "fruit", - "vegetable" - ], - tags: { - shop: "greengrocer" - }, - name: "Greengrocer" - }, - "shop/hairdresser": { - icon: "hairdresser", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "barber" - ], - tags: { - shop: "hairdresser" - }, - name: "Hairdresser" - }, - "shop/hardware": { - icon: "poi-tool", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "hardware" - }, - name: "Hardware Store" - }, - "shop/health_food": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "wholefood", - "vitamins", - "vegetarian", - "vegan" - ], - tags: { - shop: "health_food" - }, - name: "Health Food Shop" - }, - "shop/hearing_aids": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "hearing_aids" - }, - name: "Hearing Aids Store" - }, - "shop/herbalist": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "herbalist" - }, - name: "Herbalist" - }, - "shop/hifi": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "stereo", - "video" - ], - tags: { - shop: "hifi" - }, - name: "Hifi Store" - }, - "shop/houseware": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "home", - "household" - ], - tags: { - shop: "houseware" - }, - name: "Houseware Store" - }, - "shop/interior_decoration": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "interior_decoration" - }, - name: "Interior Decoration Store" - }, - "shop/jewelry": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "diamond", - "gem", - "ring" - ], - tags: { - shop: "jewelry" - }, - name: "Jeweler" - }, - "shop/kiosk": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "kiosk" - }, - name: "Kiosk" - }, - "shop/kitchen": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "kitchen" - }, - name: "Kitchen Design Store" - }, - "shop/laundry": { - icon: "laundry", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "laundry" - }, - name: "Laundry" - }, - "shop/leather": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "leather" - }, - name: "Leather Store" - }, - "shop/locksmith": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "key", - "lockpick" - ], - tags: { - shop: "locksmith" - }, - name: "Locksmith" - }, - "shop/lottery": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "lottery" - }, - name: "Lottery Shop" - }, - "shop/mall": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "shopping" - ], - tags: { - shop: "mall" - }, - name: "Mall" - }, - "shop/massage": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "massage" - }, - name: "Massage Shop" - }, - "shop/medical_supply": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "medical_supply" - }, - name: "Medical Supply Store" - }, - "shop/mobile_phone": { - icon: "mobile-phone", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "mobile_phone" - }, - name: "Mobile Phone Store" - }, - "shop/money_lender": { - icon: "bank", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "currency_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "money_lender" - }, - name: "Money Lender" - }, - "shop/motorcycle": { - icon: "scooter", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "bike" - ], - tags: { - shop: "motorcycle" - }, - name: "Motorcycle Dealership" - }, - "shop/music": { - icon: "music", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "CD", - "vinyl" - ], - tags: { - shop: "music" - }, - name: "Music Store" - }, - "shop/musical_instrument": { - icon: "music", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "guitar" - ], - tags: { - shop: "musical_instrument" - }, - name: "Musical Instrument Store" - }, - "shop/newsagent": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "newsagent" - }, - name: "Newspaper/Magazine Shop" - }, - "shop/nutrition_supplements": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "nutrition_supplements" - }, - name: "Nutrition Supplements Store" - }, - "shop/optician": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "eye", - "glasses" - ], - tags: { - shop: "optician" - }, - name: "Optician" - }, - "shop/organic": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "supermarket", - organic: "only" - }, - name: "Organic Goods Store" - }, - "shop/outdoor": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "camping", - "climbing", - "hiking" - ], - tags: { - shop: "outdoor" - }, - name: "Outdoors Store" - }, - "shop/paint": { - icon: "water", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "paint" - }, - name: "Paint Store" - }, - "shop/pastry": { - icon: "bakery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "pastry" - }, - terms: [ - "patisserie", - "cake shop", - "cakery" - ], - name: "Pastry Shop" - }, - "shop/pawnbroker": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "pawnbroker" - }, - name: "Pawn Shop" - }, - "shop/perfumery": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "perfumery" - }, - name: "Perfume Store" - }, - "shop/pet_grooming": { - icon: "dog-park", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "dog" - ], - tags: { - shop: "pet_grooming" - }, - name: "Pet Grooming Store" - }, - "shop/pet": { - icon: "dog-park", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "animal", - "cat", - "dog", - "fish", - "kitten", - "puppy", - "reptile" - ], - tags: { - shop: "pet" - }, - name: "Pet Store" - }, - "shop/photo": { - icon: "attraction", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "camera", - "film" - ], - tags: { - shop: "photo" - }, - name: "Photography Store" - }, - "shop/pyrotechnics": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "pyrotechnics" - }, - name: "Fireworks Store" - }, - "shop/radiotechnics": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "radiotechnics" - }, - name: "Radio/Electronic Component Store" - }, - "shop/religion": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "religion", - "denomination", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "religion" - }, - name: "Religious Store" - }, - "shop/scuba_diving": { - icon: "swimming", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "scuba_diving" - }, - name: "Scuba Diving Shop" - }, - "shop/seafood": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "fishmonger" - ], - tags: { - shop: "seafood" - }, - name: "Seafood Shop" - }, - "shop/second_hand": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "secondhand", - "second hand", - "resale", - "thrift", - "used" - ], - tags: { - shop: "second_hand" - }, - name: "Consignment/Thrift Store" - }, - "shop/shoes": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "shoes" - }, - name: "Shoe Store" - }, - "shop/sports": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "sports" - }, - name: "Sporting Goods Store" - }, - "shop/stationery": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "card", - "paper" - ], - tags: { - shop: "stationery" - }, - name: "Stationery Store" - }, - "shop/storage_rental": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "storage_rental" - }, - name: "Storage Rental" - }, - "shop/supermarket": { - icon: "grocery", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "grocery", - "store", - "shop" - ], - tags: { - shop: "supermarket" - }, - name: "Supermarket" - }, - "shop/tailor": { - icon: "clothing-store", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "clothes", - "suit" - ], - tags: { - shop: "tailor" - }, - name: "Tailor" - }, - "shop/tattoo": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "tattoo" - }, - name: "Tattoo Parlor" - }, - "shop/tea": { - icon: "teahouse", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "tea" - }, - name: "Tea Store" - }, - "shop/ticket": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "ticket" - }, - name: "Ticket Seller" - }, - "shop/tiles": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "tiles" - }, - name: "Tile Shop" - }, - "shop/tobacco": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "tobacco" - }, - name: "Tobacco Shop" - }, - "shop/toys": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "toys" - }, - name: "Toy Store" - }, - "shop/trade": { - icon: "shop", - fields: [ - "name", - "trade", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "trade" - }, - name: "Trade Shop" - }, - "shop/travel_agency": { - icon: "suitcase", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "travel_agency" - }, - name: "Travel Agency" - }, - "shop/tyres": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "tyres" - }, - name: "Tire Store" - }, - "shop/vacuum_cleaner": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "vacuum_cleaner" - }, - name: "Vacuum Cleaner Store" - }, - "shop/variety_store": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "variety_store" - }, - name: "Variety Store" - }, - "shop/video_games": { - icon: "gaming", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "video_games" - }, - name: "Video Game Store" - }, - "shop/video": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "DVD" - ], - tags: { - shop: "video" - }, - name: "Video Store" - }, - "shop/watches": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "watches" - }, - name: "Watches Shop" - }, - "shop/water_sports": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "water_sports" - }, - name: "Watersport/Swim Shop" - }, - "shop/weapons": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "ammo", - "gun", - "knife", - "knives" - ], - tags: { - shop: "weapons" - }, - name: "Weapon Shop" - }, - "shop/wholesale": { - icon: "warehouse", - fields: [ - "name", - "operator", - "wholesale", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "warehouse club", - "cash and carry" - ], - tags: { - shop: "wholesale" - }, - name: "Wholesale Store" - }, - "shop/window_blind": { - icon: "shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "window_blind" - }, - name: "Window Blind Store" - }, - "shop/wine": { - icon: "alcohol-shop", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - geometry: [ - "point", - "area" - ], - tags: { - shop: "wine" - }, - name: "Wine Shop" - }, - tourism: { - icon: "attraction", - fields: [ - "name", - "tourism" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - tourism: "*" - }, - name: "Tourism" - }, - "tourism/alpine_hut": { - icon: "lodging", - fields: [ - "name", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "climbing hut" - ], - tags: { - tourism: "alpine_hut" - }, - name: "Alpine Hut" - }, - "tourism/apartment": { - icon: "lodging", - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - tourism: "apartment" - }, - name: "Guest Apartment / Condo" - }, - "tourism/aquarium": { - icon: "aquarium", - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "fish", - "sea", - "water" - ], - tags: { - tourism: "aquarium" - }, - name: "Aquarium" - }, - "tourism/artwork": { - icon: "art-gallery", - fields: [ - "name", - "artwork_type", - "artist" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - tourism: "artwork" - }, - terms: [ - "mural", - "sculpture", - "statue" - ], - name: "Artwork" - }, - "tourism/attraction": { - icon: "star", - fields: [ - "name", - "operator", - "address" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - tourism: "attraction" - }, - name: "Tourist Attraction" - }, - "tourism/camp_site": { - icon: "campsite", - fields: [ - "name", - "operator", - "address", - "capacity", - "fee", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "tent", - "rv" - ], - tags: { - tourism: "camp_site" - }, - name: "Campground" - }, - "tourism/caravan_site": { - icon: "bus", - fields: [ - "name", - "operator", - "address", - "capacity", - "fee", - "sanitary_dump_station", - "power_supply", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "Motor Home", - "Camper" - ], - tags: { - tourism: "caravan_site" - }, - name: "RV Park" - }, - "tourism/chalet": { - icon: "lodging", - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "holiday", - "holiday cottage", - "holiday home", - "vacation", - "vacation home" - ], - tags: { - tourism: "chalet" - }, - name: "Holiday Cottage" - }, - "tourism/gallery": { - icon: "art-gallery", - fields: [ - "name", - "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: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - tourism: "guest_house" - }, - terms: [ - "B&B", - "Bed and Breakfast" - ], - name: "Guest House" - }, - "tourism/hostel": { - icon: "lodging", - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - tourism: "hostel" - }, - name: "Hostel" - }, - "tourism/hotel": { - icon: "lodging", - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - tourism: "hotel" - }, - name: "Hotel" - }, - "tourism/information": { - icon: "information", - fields: [ - "information", - "operator", - "address", - "building_area" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - tourism: "information" - }, - name: "Information" - }, - "tourism/information/board": { - icon: "information", - fields: [ - "name", - "operator", - "board_type", - "direction" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - tourism: "information", - information: "board" - }, - reference: { - key: "information", - value: "board" - }, - name: "Information Board" - }, - "tourism/information/guidepost": { - icon: "information", - fields: [ - "name", - "elevation", - "operator", - "ref" - ], - geometry: [ - "point", - "vertex" - ], - terms: [ - "signpost" - ], - tags: { - tourism: "information", - information: "guidepost" - }, - reference: { - key: "information", - value: "guidepost" - }, - name: "Guidepost" - }, - "tourism/information/map": { - icon: "information", - fields: [ - "operator", - "map_type", - "map_size", - "direction" - ], - geometry: [ - "point", - "vertex" - ], - tags: { - tourism: "information", - information: "map" - }, - reference: { - key: "information", - value: "map" - }, - name: "Map" - }, - "tourism/information/office": { - icon: "information", - fields: [ - "name", - "operator", - "address", - "building_area" - ], - geometry: [ - "point", - "vertex", - "area" - ], - tags: { - tourism: "information", - information: "office" - }, - reference: { - key: "information", - value: "office" - }, - name: "Tourist Information Office" - }, - "tourism/motel": { - icon: "lodging", - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - geometry: [ - "point", - "area" - ], - tags: { - tourism: "motel" - }, - name: "Motel" - }, - "tourism/museum": { - icon: "museum", - fields: [ - "name", - "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: "picnic-site", - fields: [ - "name", - "operator", - "address", - "smoking" - ], - geometry: [ - "point", - "vertex", - "area" - ], - terms: [ - "camp" - ], - tags: { - tourism: "picnic_site" - }, - name: "Picnic Site" - }, - "tourism/theme_park": { - icon: "amusement-park", - fields: [ - "name", - "operator", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - tags: { - tourism: "theme_park" - }, - name: "Theme Park" - }, - "tourism/trail_riding_station": { - icon: "horse-riding", - fields: [ - "name", - "horse_stables", - "horse_riding", - "horse_dressage", - "address", - "phone", - "website", - "description" - ], - geometry: [ - "point", - "area" - ], - tags: { - tourism: "trail_riding_station" - }, - name: "Trail Riding Station", - matchScore: 2 - }, - "tourism/viewpoint": { - icon: "poi-binoculars", - geometry: [ - "point", - "vertex" - ], - fields: [ - "direction" - ], - tags: { - tourism: "viewpoint" - }, - name: "Viewpoint" - }, - "tourism/wilderness_hut": { - icon: "lodging", - fields: [ - "name", - "operator", - "address", - "building_area" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "wilderness hut", - "backcountry hut", - "bothy" - ], - tags: { - tourism: "wilderness_hut" - }, - name: "Wilderness Hut" - }, - "tourism/zoo": { - icon: "zoo", - fields: [ - "name", - "operator", - "address", - "opening_hours" - ], - geometry: [ - "point", - "area" - ], - terms: [ - "animal" - ], - tags: { - tourism: "zoo" - }, - name: "Zoo" - }, - traffic_calming: { - icon: "poi-warning", - fields: [ - "traffic_calming", - "direction_vertex" - ], - geometry: [ - "vertex", - "line" - ], - tags: { - traffic_calming: "*" - }, - terms: [ - "bump", - "hump", - "slow", - "speed" - ], - name: "Traffic Calming" - }, - "traffic_calming/bump": { - icon: "poi-warning", - fields: [ - "surface", - "direction_vertex" - ], - geometry: [ - "vertex", - "line" - ], - terms: [ - "hump", - "speed", - "slow" - ], - tags: { - traffic_calming: "bump" - }, - name: "Speed Bump" - }, - "traffic_calming/chicane": { - icon: "poi-warning", - fields: [ - "direction_vertex" - ], - geometry: [ - "vertex", - "line" - ], - terms: [ - "driveway link", - "speed", - "slow" - ], - tags: { - traffic_calming: "chicane" - }, - name: "Traffic Chicane" - }, - "traffic_calming/choker": { - icon: "poi-warning", - fields: [ - "direction_vertex" - ], - geometry: [ - "vertex", - "line" - ], - terms: [ - "speed", - "slow" - ], - tags: { - traffic_calming: "choker" - }, - name: "Traffic Choker" - }, - "traffic_calming/cushion": { - icon: "poi-warning", - fields: [ - "surface", - "direction_vertex" - ], - geometry: [ - "vertex", - "line" - ], - terms: [ - "bump", - "hump", - "speed", - "slow" - ], - tags: { - traffic_calming: "cushion" - }, - name: "Speed Cushion" - }, - "traffic_calming/dip": { - icon: "poi-warning", - fields: [ - "surface", - "direction_vertex" - ], - geometry: [ - "vertex", - "line" - ], - terms: [ - "speed", - "slow" - ], - tags: { - traffic_calming: "dip" - }, - name: "Dip" - }, - "traffic_calming/hump": { - icon: "poi-warning", - fields: [ - "surface", - "direction_vertex" - ], - geometry: [ - "vertex", - "line" - ], - terms: [ - "bump", - "speed", - "slow" - ], - tags: { - traffic_calming: "hump" - }, - name: "Speed Hump" - }, - "traffic_calming/island": { - icon: "poi-warning", - geometry: [ - "vertex" - ], - terms: [ - "circle", - "roundabout", - "slow" - ], - tags: { - traffic_calming: "island" - }, - name: "Traffic Island" - }, - "traffic_calming/rumble_strip": { - icon: "poi-warning", - fields: [ - "direction_vertex" - ], - geometry: [ - "vertex", - "line" - ], - terms: [ - "audible lines", - "sleeper lines", - "growlers" - ], - tags: { - traffic_calming: "rumble_strip" - }, - name: "Rumble Strip" - }, - "traffic_calming/table": { - icon: "poi-warning", - fields: [ - "surface" - ], - geometry: [ - "vertex" - ], - tags: { - traffic_calming: "table" - }, - terms: [ - "flat top", - "hump", - "speed", - "slow" - ], - name: "Speed Table" - }, - "type/multipolygon": { - icon: "multipolygon", - geometry: [ - "area", - "relation" - ], - tags: { - type: "multipolygon" - }, - removeTags: { - }, - name: "Multipolygon", - searchable: false, - matchScore: 0.1 - }, - "type/boundary": { - icon: "boundary", - fields: [ - "name", - "boundary" - ], - geometry: [ - "relation" - ], - tags: { - type: "boundary" - }, - name: "Boundary" - }, - "type/boundary/administrative": { - icon: "boundary", - fields: [ - "name", - "admin_level" - ], - geometry: [ - "relation" - ], - tags: { - type: "boundary", - boundary: "administrative" - }, - reference: { - key: "boundary", - value: "administrative" - }, - name: "Administrative Boundary" - }, - "type/restriction": { - icon: "restriction", - fields: [ - "name", - "restriction", - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction" - }, - name: "Restriction" - }, - "type/restriction/no_left_turn": { - icon: "restriction-no-left-turn", - fields: [ - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction", - restriction: "no_left_turn" - }, - name: "No Left Turn" - }, - "type/restriction/no_right_turn": { - icon: "restriction-no-right-turn", - fields: [ - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction", - restriction: "no_right_turn" - }, - name: "No Right Turn" - }, - "type/restriction/no_straight_on": { - icon: "restriction-no-straight-on", - fields: [ - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction", - restriction: "no_straight_on" - }, - name: "No Straight On" - }, - "type/restriction/no_u_turn": { - icon: "restriction-no-u-turn", - fields: [ - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction", - restriction: "no_u_turn" - }, - name: "No U-turn" - }, - "type/restriction/only_left_turn": { - icon: "restriction-only-left-turn", - fields: [ - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction", - restriction: "only_left_turn" - }, - name: "Only Left Turn" - }, - "type/restriction/only_right_turn": { - icon: "restriction-only-right-turn", - fields: [ - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction", - restriction: "only_right_turn" - }, - name: "Only Right Turn" - }, - "type/restriction/only_straight_on": { - icon: "restriction-only-straight-on", - fields: [ - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction", - restriction: "only_straight_on" - }, - name: "Only Straight On" - }, - "type/restriction/only_u_turn": { - icon: "restriction-only-u-turn", - fields: [ - "except" - ], - geometry: [ - "relation" - ], - tags: { - type: "restriction", - restriction: "only_u_turn" - }, - name: "Only U-turn" - }, - "type/route_master": { - icon: "route-master", - fields: [ - "name", - "route_master", - "ref", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route_master" - }, - name: "Route Master" - }, - "type/route": { - icon: "route", - fields: [ - "name", - "route", - "ref_route", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route" - }, - name: "Route" - }, - "type/route/bicycle": { - icon: "route-bicycle", - fields: [ - "name", - "ref_route", - "network_bicycle", - "cycle_network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "bicycle" - }, - name: "Cycle Route" - }, - "type/route/bus": { - icon: "route-bus", - fields: [ - "name", - "ref_route", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "bus" - }, - name: "Bus Route" - }, - "type/route/detour": { - icon: "route-detour", - fields: [ - "name", - "ref_route" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "detour" - }, - name: "Detour Route" - }, - "type/route/ferry": { - icon: "route-ferry", - fields: [ - "name", - "ref_route", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "ferry" - }, - name: "Ferry Route" - }, - "type/route/foot": { - icon: "route-foot", - fields: [ - "name", - "ref_route", - "operator", - "network_foot" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "foot" - }, - name: "Foot Route" - }, - "type/route/hiking": { - icon: "route-foot", - fields: [ - "name", - "ref_route", - "operator", - "network_foot", - "description", - "distance" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "hiking" - }, - name: "Hiking Route" - }, - "type/route/horse": { - icon: "route-horse", - fields: [ - "name", - "ref_route", - "operator", - "network_horse", - "description", - "distance" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "horse" - }, - name: "Riding Route" - }, - "type/route/light_rail": { - icon: "route-light-rail", - fields: [ - "name", - "ref_route", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "light_rail" - }, - name: "Light Rail Route" - }, - "type/route/pipeline": { - icon: "route-pipeline", - fields: [ - "name", - "ref_route", - "operator" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "pipeline" - }, - name: "Pipeline Route" - }, - "type/route/piste": { - icon: "route-piste", - fields: [ - "name", - "ref_route", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "piste" - }, - name: "Piste/Ski Route" - }, - "type/route/power": { - icon: "route-power", - fields: [ - "name", - "ref_route", - "operator" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "power" - }, - name: "Power Route" - }, - "type/route/road": { - icon: "route-road", - fields: [ - "name", - "ref_route", - "network_road" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "road" - }, - name: "Road Route" - }, - "type/route/subway": { - icon: "route-subway", - fields: [ - "name", - "ref_route", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "subway" - }, - name: "Subway Route" - }, - "type/route/train": { - icon: "route-train", - fields: [ - "name", - "ref_route", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "train" - }, - name: "Train Route" - }, - "type/route/tram": { - icon: "route-tram", - fields: [ - "name", - "ref_route", - "operator", - "network" - ], - geometry: [ - "relation" - ], - tags: { - type: "route", - route: "tram" - }, - name: "Tram Route" - }, - "type/site": { - icon: "relation", - fields: [ - "name", - "site" - ], - geometry: [ - "relation" - ], - tags: { - type: "site" - }, - name: "Site" - }, - "type/waterway": { - icon: "route-water", - fields: [ - "name", - "waterway", - "ref" - ], - geometry: [ - "relation" - ], - tags: { - type: "waterway" - }, - name: "Waterway" - }, - vertex: { - fields: [ - "name" - ], - geometry: [ - "vertex" - ], - tags: { - }, - name: "Other", - matchScore: 0.1 - }, - "waterway/boatyard": { - icon: "harbor", - fields: [ - "name", - "operator" - ], - geometry: [ - "area", - "vertex", - "point" - ], - tags: { - waterway: "boatyard" - }, - name: "Boatyard" - }, - "waterway/canal": { - icon: "waterway-canal", - fields: [ - "name", - "width", - "intermittent" - ], - geometry: [ - "line" - ], - tags: { - waterway: "canal" - }, - name: "Canal" - }, - "waterway/dam": { - icon: "dam", - geometry: [ - "point", - "vertex", - "line", - "area" - ], - fields: [ - "name" - ], - tags: { - waterway: "dam" - }, - name: "Dam" - }, - "waterway/ditch": { - icon: "waterway-ditch", - fields: [ - "structure_waterway", - "intermittent" - ], - geometry: [ - "line" - ], - tags: { - waterway: "ditch" - }, - name: "Ditch" - }, - "waterway/dock": { - icon: "harbor", - fields: [ - "name", - "dock", - "operator" - ], - geometry: [ - "area", - "vertex", - "point" - ], - terms: [ - "boat", - "ship", - "vessel", - "marine" - ], - tags: { - waterway: "dock" - }, - name: "Wet Dock / Dry Dock" - }, - "waterway/drain": { - icon: "waterway-ditch", - fields: [ - "structure_waterway", - "intermittent" - ], - geometry: [ - "line" - ], - tags: { - waterway: "drain" - }, - name: "Drain" - }, - "waterway/fuel": { - icon: "fuel", - fields: [ - "name", - "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: [ - "name", - "structure_waterway", - "width", - "intermittent" - ], - 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": { - icon: "poi-storage-tank", - fields: [ - "name", - "operator", - "access_simple", - "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_intermittent": { - icon: "waterway-stream", - fields: [ - "name", - "structure_waterway", - "width", - "intermittent" - ], - geometry: [ - "line" - ], - terms: [ - "arroyo", - "beck", - "branch", - "brook", - "burn", - "course", - "creek", - "drift", - "flood", - "flow", - "gully", - "run", - "runnel", - "rush", - "spate", - "spritz", - "tributary", - "wadi", - "wash", - "watercourse" - ], - tags: { - waterway: "stream", - intermittent: "yes" - }, - reference: { - key: "waterway", - value: "stream" - }, - name: "Intermittent Stream" - }, - "waterway/stream": { - icon: "waterway-stream", - fields: [ - "name", - "structure_waterway", - "width", - "intermittent" - ], - 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: "drinking-water", - geometry: [ - "area", - "vertex", - "point" - ], - tags: { - waterway: "water_point" - }, - name: "Marine Drinking Water" - }, - "waterway/waterfall": { - icon: "water", - fields: [ - "name", - "height", - "width", - "intermittent" - ], - geometry: [ - "vertex" - ], - terms: [ - "fall" - ], - tags: { - waterway: "waterfall" - }, - name: "Waterfall" - }, - "waterway/weir": { - icon: "dam", - geometry: [ - "vertex", - "line" - ], - tags: { - waterway: "weir" - }, - name: "Weir" - }, - "amenity/arts_centre/Świetlica wiejska": { - tags: { - name: "Świetlica wiejska", - amenity: "arts_centre" - }, - name: "Świetlica wiejska", - icon: "theatre", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/arts_centre/Дом культуры": { - tags: { - name: "Дом культуры", - amenity: "arts_centre" - }, - name: "Дом культуры", - icon: "theatre", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/bank/ABANCA": { - tags: { - name: "ABANCA", - amenity: "bank" - }, - name: "ABANCA", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Agribank": { - tags: { - name: "Agribank", - amenity: "bank" - }, - name: "Agribank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Allahabad Bank": { - tags: { - name: "Allahabad Bank", - amenity: "bank" - }, - name: "Allahabad Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Allied Bank": { - tags: { - name: "Allied Bank", - amenity: "bank" - }, - name: "Allied Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Antonveneta": { - tags: { - name: "Antonveneta", - amenity: "bank" - }, - name: "Antonveneta", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Asia United Bank": { - tags: { - name: "Asia United Bank", - amenity: "bank" - }, - name: "Asia United Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Askari Bank": { - tags: { - name: "Askari Bank", - amenity: "bank" - }, - name: "Askari Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Associated Bank": { - tags: { - name: "Associated Bank", - amenity: "bank" - }, - name: "Associated Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/BBVA Continental": { - tags: { - name: "BBVA Continental", - amenity: "bank" - }, - name: "BBVA Continental", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/BGŻ BNP Paribas": { - tags: { - name: "BGŻ BNP Paribas", - amenity: "bank" - }, - name: "BGŻ BNP Paribas", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/BMCE": { - tags: { - name: "BMCE", - amenity: "bank" - }, - name: "BMCE", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/BMN": { - tags: { - name: "BMN", - amenity: "bank" - }, - name: "BMN", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/BMO Harris Bank": { - tags: { - name: "BMO Harris Bank", - amenity: "bank" - }, - name: "BMO Harris Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/BNI": { - tags: { - name: "BNI", - amenity: "bank" - }, - name: "BNI", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/BPI Family Savings Bank": { - tags: { - name: "BPI Family Savings Bank", - amenity: "bank" - }, - name: "BPI Family Savings Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banca Sella": { - tags: { - name: "Banca Sella", - amenity: "bank" - }, - name: "Banca Sella", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banco Agrario": { - tags: { - name: "Banco Agrario", - amenity: "bank" - }, - name: "Banco Agrario", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banco Continental": { - tags: { - name: "Banco Continental", - amenity: "bank" - }, - name: "Banco Continental", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banco Fassil": { - tags: { - name: "Banco Fassil", - amenity: "bank" - }, - name: "Banco Fassil", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banco General": { - tags: { - name: "Banco General", - amenity: "bank" - }, - name: "Banco General", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banco Internacional": { - tags: { - name: "Banco Internacional", - amenity: "bank" - }, - name: "Banco Internacional", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banco Sol": { - tags: { - name: "Banco Sol", - amenity: "bank" - }, - name: "Banco Sol", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banco do Nordeste": { - tags: { - name: "Banco do Nordeste", - amenity: "bank" - }, - name: "Banco do Nordeste", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Bank Al Habib": { - tags: { - name: "Bank Al Habib", - amenity: "bank" - }, - name: "Bank Al Habib", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Bank Alfalah": { - tags: { - name: "Bank Alfalah", - amenity: "bank" - }, - name: "Bank Alfalah", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Bank BCA": { - tags: { - name: "Bank BCA", - amenity: "bank" - }, - name: "Bank BCA", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Bank BNI": { - tags: { - name: "Bank BNI", - amenity: "bank" - }, - name: "Bank BNI", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Bank Danamon": { - tags: { - name: "Bank Danamon", - amenity: "bank" - }, - name: "Bank Danamon", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Bank Mega": { - tags: { - name: "Bank Mega", - amenity: "bank" - }, - name: "Bank Mega", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Bank of Ceylon": { - tags: { - name: "Bank of Ceylon", - amenity: "bank" - }, - name: "Bank of Ceylon", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banner Bank": { - tags: { - name: "Banner Bank", - amenity: "bank" - }, - name: "Banner Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Banque Atlantique": { - tags: { - name: "Banque Atlantique", - amenity: "bank" - }, - name: "Banque Atlantique", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Bcc": { - tags: { - name: "Bcc", - amenity: "bank" - }, - name: "Bcc", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/CBAO": { - tags: { - name: "CBAO", - amenity: "bank" - }, - name: "CBAO", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/CIMB Bank": { - tags: { - name: "CIMB Bank", - amenity: "bank" - }, - name: "CIMB Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/CNEP": { - tags: { - name: "CNEP", - amenity: "bank" - }, - name: "CNEP", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Caisse Desjardins": { - tags: { - name: "Caisse Desjardins", - amenity: "bank" - }, - name: "Caisse Desjardins", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Carige": { - tags: { - name: "Carige", - amenity: "bank" - }, - name: "Carige", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Central Bank of India": { - tags: { - name: "Central Bank of India", - amenity: "bank" - }, - name: "Central Bank of India", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Chase": { - tags: { - name: "Chase", - amenity: "bank" - }, - name: "Chase", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/China Bank Savings": { - tags: { - name: "China Bank Savings", - amenity: "bank" - }, - name: "China Bank Savings", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/China Construction Bank": { - tags: { - name: "China Construction Bank", - amenity: "bank" - }, - name: "China Construction Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Columbia Bank": { - tags: { - name: "Columbia Bank", - amenity: "bank" - }, - name: "Columbia Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Commerce Bank": { - tags: { - name: "Commerce Bank", - amenity: "bank" - }, - name: "Commerce Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Credicoop": { - tags: { - name: "Credicoop", - amenity: "bank" - }, - name: "Credicoop", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Crelan": { - tags: { - name: "Crelan", - amenity: "bank" - }, - name: "Crelan", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Denizbank": { - tags: { - name: "Denizbank", - amenity: "bank" - }, - name: "Denizbank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Desjardins": { - tags: { - name: "Desjardins", - amenity: "bank" - }, - name: "Desjardins", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Dubai Islamic Bank": { - tags: { - name: "Dubai Islamic Bank", - amenity: "bank" - }, - name: "Dubai Islamic Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Express Union": { - tags: { - name: "Express Union", - amenity: "bank" - }, - name: "Express Union", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Federal Bank": { - tags: { - name: "Federal Bank", - amenity: "bank" - }, - name: "Federal Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Finansbank": { - tags: { - name: "Finansbank", - amenity: "bank" - }, - name: "Finansbank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Garanti": { - tags: { - name: "Garanti", - amenity: "bank" - }, - name: "Garanti", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Groupama": { - tags: { - name: "Groupama", - amenity: "bank" - }, - name: "Groupama", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Halkbank": { - tags: { - name: "Halkbank", - amenity: "bank" - }, - name: "Halkbank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Hong Leong Bank": { - tags: { - name: "Hong Leong Bank", - amenity: "bank" - }, - name: "Hong Leong Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/IDBI Bank": { - tags: { - name: "IDBI Bank", - amenity: "bank" - }, - name: "IDBI Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Kutxabank": { - tags: { - name: "Kutxabank", - amenity: "bank" - }, - name: "Kutxabank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Laboral Kutxa": { - tags: { - name: "Laboral Kutxa", - amenity: "bank" - }, - name: "Laboral Kutxa", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/MCB": { - tags: { - name: "MCB", - amenity: "bank" - }, - name: "MCB", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/MCB Bank": { - tags: { - name: "MCB Bank", - amenity: "bank" - }, - name: "MCB Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/MONETA Money Bank": { - tags: { - name: "MONETA Money Bank", - amenity: "bank" - }, - name: "MONETA Money Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Meezan Bank": { - tags: { - name: "Meezan Bank", - amenity: "bank" - }, - name: "Meezan Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Metro Bank": { - tags: { - name: "Metro Bank", - amenity: "bank" - }, - name: "Metro Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Millennium BCP": { - tags: { - name: "Millennium BCP", - amenity: "bank" - }, - name: "Millennium BCP", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/NSB": { - tags: { - name: "NSB", - amenity: "bank" - }, - name: "NSB", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/PKO": { - tags: { - name: "PKO", - amenity: "bank" - }, - name: "PKO", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/PNC": { - tags: { - name: "PNC", - amenity: "bank" - }, - name: "PNC", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Patagonia": { - tags: { - name: "Patagonia", - amenity: "bank" - }, - name: "Patagonia", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/RBC Financial Group": { - tags: { - name: "RBC Financial Group", - amenity: "bank" - }, - name: "RBC Financial Group", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Royal Bank of Canada": { - tags: { - name: "Royal Bank of Canada", - amenity: "bank" - }, - name: "Royal Bank of Canada", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/SNS Bank": { - tags: { - name: "SNS Bank", - amenity: "bank" - }, - name: "SNS Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Sabadell": { - tags: { - name: "Sabadell", - amenity: "bank" - }, - name: "Sabadell", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Stanbic Bank": { - tags: { - name: "Stanbic Bank", - amenity: "bank" - }, - name: "Stanbic Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Standard Chartered Bank": { - tags: { - name: "Standard Chartered Bank", - amenity: "bank" - }, - name: "Standard Chartered Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Supervielle": { - tags: { - name: "Supervielle", - amenity: "bank" - }, - name: "Supervielle", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/TEB": { - tags: { - name: "TEB", - amenity: "bank" - }, - name: "TEB", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Türkiye İş Bankası": { - tags: { - name: "Türkiye İş Bankası", - amenity: "bank" - }, - name: "Türkiye İş Bankası", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/UCO Bank": { - tags: { - name: "UCO Bank", - amenity: "bank" - }, - name: "UCO Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/UOB": { - tags: { - name: "UOB", - amenity: "bank" - }, - name: "UOB", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/United Bank": { - tags: { - name: "United Bank", - amenity: "bank" - }, - name: "United Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Vakıfbank": { - tags: { - name: "Vakıfbank", - amenity: "bank" - }, - name: "Vakıfbank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Vijaya Bank": { - tags: { - name: "Vijaya Bank", - amenity: "bank" - }, - name: "Vijaya Bank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Volks- und Raiffeisenbank": { - tags: { - name: "Volks- und Raiffeisenbank", - amenity: "bank" - }, - name: "Volks- und Raiffeisenbank", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Volksbank Mittelhessen": { - tags: { - name: "Volksbank Mittelhessen", - amenity: "bank" - }, - name: "Volksbank Mittelhessen", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Washington Federal": { - tags: { - name: "Washington Federal", - amenity: "bank" - }, - name: "Washington Federal", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Zagrebačka banka": { - tags: { - name: "Zagrebačka banka", - amenity: "bank" - }, - name: "Zagrebačka banka", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Εθνική Τράπεζα": { - tags: { - name: "Εθνική Τράπεζα", - amenity: "bank" - }, - name: "Εθνική Τράπεζα", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Πειραιώς": { - tags: { - name: "Πειραιώς", - amenity: "bank" - }, - name: "Πειραιώς", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Τράπεζα Πειραιώς": { - tags: { - name: "Τράπεζα Πειραιώς", - amenity: "bank" - }, - name: "Τράπεζα Πειραιώς", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Авангард": { - tags: { - name: "Авангард", - amenity: "bank" - }, - name: "Авангард", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Альфа-Банк": { - tags: { - name: "Альфа-Банк", - amenity: "bank" - }, - name: "Альфа-Банк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Банк Москвы": { - tags: { - name: "Банк Москвы", - amenity: "bank" - }, - name: "Банк Москвы", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Банка ДСК": { - tags: { - name: "Банка ДСК", - amenity: "bank" - }, - name: "Банка ДСК", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Белагропромбанк": { - tags: { - name: "Белагропромбанк", - amenity: "bank" - }, - name: "Белагропромбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Беларусбанк": { - tags: { - name: "Беларусбанк", - amenity: "bank" - }, - name: "Беларусбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Белинвестбанк": { - tags: { - name: "Белинвестбанк", - amenity: "bank" - }, - name: "Белинвестбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Бинбанк": { - tags: { - name: "Бинбанк", - amenity: "bank" - }, - name: "Бинбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ВТБ": { - tags: { - name: "ВТБ", - amenity: "bank" - }, - name: "ВТБ", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Возрождение": { - tags: { - name: "Возрождение", - amenity: "bank" - }, - name: "Возрождение", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Газпромбанк": { - tags: { - name: "Газпромбанк", - amenity: "bank" - }, - name: "Газпромбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Генбанк": { - tags: { - name: "Генбанк", - amenity: "bank" - }, - name: "Генбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Казкоммерцбанк": { - tags: { - name: "Казкоммерцбанк", - amenity: "bank" - }, - name: "Казкоммерцбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/МДМ Банк": { - tags: { - name: "МДМ Банк", - amenity: "bank" - }, - name: "МДМ Банк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Московский индустриальный банк": { - tags: { - name: "Московский индустриальный банк", - amenity: "bank" - }, - name: "Московский индустриальный банк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Мособлбанк": { - tags: { - name: "Мособлбанк", - amenity: "bank" - }, - name: "Мособлбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Народный банк": { - tags: { - name: "Народный банк", - amenity: "bank" - }, - name: "Народный банк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ОТП Банк": { - tags: { - name: "ОТП Банк", - amenity: "bank" - }, - name: "ОТП Банк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Открытие": { - tags: { - name: "Открытие", - amenity: "bank" - }, - name: "Открытие", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Ощадбанк": { - tags: { - name: "Ощадбанк", - amenity: "bank" - }, - name: "Ощадбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ПУМБ": { - tags: { - name: "ПУМБ", - amenity: "bank" - }, - name: "ПУМБ", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Почта Банк": { - tags: { - name: "Почта Банк", - amenity: "bank" - }, - name: "Почта Банк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ПриватБанк": { - tags: { - name: "ПриватБанк", - amenity: "bank" - }, - name: "ПриватБанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Приватбанк": { - tags: { - name: "Приватбанк", - amenity: "bank" - }, - name: "Приватбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Приднестровский Сбербанк": { - tags: { - name: "Приднестровский Сбербанк", - amenity: "bank" - }, - name: "Приднестровский Сбербанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Приорбанк": { - tags: { - name: "Приорбанк", - amenity: "bank" - }, - name: "Приорбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Промсвязьбанк": { - tags: { - name: "Промсвязьбанк", - amenity: "bank" - }, - name: "Промсвязьбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/РНКБ": { - tags: { - name: "РНКБ", - amenity: "bank" - }, - name: "РНКБ", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Райффайзен": { - tags: { - name: "Райффайзен", - amenity: "bank" - }, - name: "Райффайзен", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Райффайзен Банк Аваль": { - tags: { - name: "Райффайзен Банк Аваль", - amenity: "bank" - }, - name: "Райффайзен Банк Аваль", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Райффайзенбанк": { - tags: { - name: "Райффайзенбанк", - amenity: "bank" - }, - name: "Райффайзенбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Росбанк": { - tags: { - name: "Росбанк", - amenity: "bank" - }, - name: "Росбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Россельхозбанк": { - tags: { - name: "Россельхозбанк", - amenity: "bank" - }, - name: "Россельхозбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Русский стандарт": { - tags: { - name: "Русский стандарт", - amenity: "bank" - }, - name: "Русский стандарт", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Сбербанк": { - tags: { - name: "Сбербанк", - amenity: "bank" - }, - name: "Сбербанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Совкомбанк": { - tags: { - name: "Совкомбанк", - amenity: "bank" - }, - name: "Совкомбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/УкрСиббанк": { - tags: { - name: "УкрСиббанк", - amenity: "bank" - }, - name: "УкрСиббанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Укрсоцбанк": { - tags: { - name: "Укрсоцбанк", - amenity: "bank" - }, - name: "Укрсоцбанк", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Уралсиб": { - tags: { - name: "Уралсиб", - amenity: "bank" - }, - name: "Уралсиб", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/Хоум Кредит": { - tags: { - name: "Хоум Кредит", - amenity: "bank" - }, - name: "Хоум Кредит", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/בנק הפועלים": { - tags: { - name: "בנק הפועלים", - amenity: "bank" - }, - name: "בנק הפועלים", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/בנק לאומי": { - tags: { - name: "בנק לאומי", - amenity: "bank" - }, - name: "בנק לאומי", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک": { - tags: { - name: "بانک", - amenity: "bank" - }, - name: "بانک", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک آینده": { - tags: { - name: "بانک آینده", - amenity: "bank" - }, - name: "بانک آینده", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک اقتصاد نوین": { - tags: { - name: "بانک اقتصاد نوین", - amenity: "bank" - }, - name: "بانک اقتصاد نوین", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک انصار": { - tags: { - name: "بانک انصار", - amenity: "bank" - }, - name: "بانک انصار", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک تجارت": { - tags: { - name: "بانک تجارت", - amenity: "bank" - }, - name: "بانک تجارت", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک رفاه": { - tags: { - name: "بانک رفاه", - amenity: "bank" - }, - name: "بانک رفاه", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک رفاه کارگران": { - tags: { - name: "بانک رفاه کارگران", - amenity: "bank" - }, - name: "بانک رفاه کارگران", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک سپه": { - tags: { - name: "بانک سپه", - amenity: "bank" - }, - name: "بانک سپه", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک شهر": { - tags: { - name: "بانک شهر", - amenity: "bank" - }, - name: "بانک شهر", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک صادرات": { - tags: { - name: "بانک صادرات", - amenity: "bank" - }, - name: "بانک صادرات", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک قوامین": { - tags: { - name: "بانک قوامین", - amenity: "bank" - }, - name: "بانک قوامین", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک مسکن": { - tags: { - name: "بانک مسکن", - amenity: "bank" - }, - name: "بانک مسکن", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک ملت": { - tags: { - name: "بانک ملت", - amenity: "bank" - }, - name: "بانک ملت", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک ملی": { - tags: { - name: "بانک ملی", - amenity: "bank" - }, - name: "بانک ملی", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک ملی ایران": { - tags: { - name: "بانک ملی ایران", - amenity: "bank" - }, - name: "بانک ملی ایران", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک مهر اقتصاد": { - tags: { - name: "بانک مهر اقتصاد", - amenity: "bank" - }, - name: "بانک مهر اقتصاد", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک پارسیان": { - tags: { - name: "بانک پارسیان", - amenity: "bank" - }, - name: "بانک پارسیان", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک پاسارگاد": { - tags: { - name: "بانک پاسارگاد", - amenity: "bank" - }, - name: "بانک پاسارگاد", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/بانک کشاورزی": { - tags: { - name: "بانک کشاورزی", - amenity: "bank" - }, - name: "بانک کشاورزی", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/صادرات": { - tags: { - name: "صادرات", - amenity: "bank" - }, - name: "صادرات", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ملی": { - tags: { - name: "ملی", - amenity: "bank" - }, - name: "ملی", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/پست بانک": { - tags: { - name: "پست بانک", - amenity: "bank" - }, - name: "پست بانک", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ธนาคารกรุงเทพ": { - tags: { - name: "ธนาคารกรุงเทพ", - amenity: "bank" - }, - name: "ธนาคารกรุงเทพ", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ธนาคารกรุงไทย": { - tags: { - name: "ธนาคารกรุงไทย", - amenity: "bank" - }, - name: "ธนาคารกรุงไทย", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ธนาคารกสิกรไทย": { - tags: { - name: "ธนาคารกสิกรไทย", - amenity: "bank" - }, - name: "ธนาคารกสิกรไทย", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ธนาคารออมสิน": { - tags: { - name: "ธนาคารออมสิน", - amenity: "bank" - }, - name: "ธนาคารออมสิน", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/ธนาคารไทยพาณิชย์": { - tags: { - name: "ธนาคารไทยพาณิชย์", - amenity: "bank" - }, - name: "ธนาคารไทยพาณิชย์", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/みずほ銀行": { - tags: { - name: "みずほ銀行", - amenity: "bank" - }, - name: "みずほ銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/りそな銀行": { - tags: { - name: "りそな銀行", - amenity: "bank" - }, - name: "りそな銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/三井住友銀行": { - tags: { - name: "三井住友銀行", - amenity: "bank" - }, - name: "三井住友銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/中国农业银行": { - tags: { - name: "中国农业银行", - amenity: "bank" - }, - name: "中国农业银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/中国工商银行": { - tags: { - name: "中国工商银行", - amenity: "bank" - }, - name: "中国工商银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/中国建设银行": { - tags: { - name: "中国建设银行", - amenity: "bank" - }, - name: "中国建设银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/中国邮政储蓄银行": { - tags: { - name: "中国邮政储蓄银行", - amenity: "bank" - }, - name: "中国邮政储蓄银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/中国银行": { - tags: { - name: "中国银行", - amenity: "bank" - }, - name: "中国银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/交通银行": { - tags: { - name: "交通银行", - amenity: "bank" - }, - name: "交通银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/京都中央信用金庫": { - tags: { - name: "京都中央信用金庫", - amenity: "bank" - }, - name: "京都中央信用金庫", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/京都銀行": { - tags: { - name: "京都銀行", - amenity: "bank" - }, - name: "京都銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/农业银行": { - tags: { - name: "农业银行", - amenity: "bank" - }, - name: "农业银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/北海道銀行": { - tags: { - name: "北海道銀行", - amenity: "bank" - }, - name: "北海道銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/合作金庫銀行": { - tags: { - name: "合作金庫銀行", - amenity: "bank" - }, - name: "合作金庫銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/土地銀行": { - tags: { - name: "土地銀行", - amenity: "bank" - }, - name: "土地銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/工商银行": { - tags: { - name: "工商银行", - amenity: "bank" - }, - name: "工商银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/建设银行": { - tags: { - name: "建设银行", - amenity: "bank" - }, - name: "建设银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/彰化銀行": { - tags: { - name: "彰化銀行", - amenity: "bank" - }, - name: "彰化銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/招商银行": { - tags: { - name: "招商银行", - amenity: "bank" - }, - name: "招商银行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/横浜銀行": { - tags: { - name: "横浜銀行", - amenity: "bank" - }, - name: "横浜銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/第一銀行": { - tags: { - name: "第一銀行", - amenity: "bank" - }, - name: "第一銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/華南銀行": { - tags: { - name: "華南銀行", - amenity: "bank" - }, - name: "華南銀行", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/기업은행": { - tags: { - name: "기업은행", - amenity: "bank" - }, - name: "기업은행", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/농협": { - tags: { - name: "농협", - amenity: "bank" - }, - name: "농협", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/새마을금고": { - tags: { - name: "새마을금고", - amenity: "bank" - }, - name: "새마을금고", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bank/하나은행": { - tags: { - name: "하나은행", - amenity: "bank" - }, - name: "하나은행", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "atm", - "operator", - "address", - "building_area", - "opening_hours", - "drive_through" - ], - suggestion: true - }, - "amenity/bar/Bar Centrale": { - tags: { - name: "Bar Centrale", - amenity: "bar" - }, - name: "Bar Centrale", - icon: "bar", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/bar/Bar Sport": { - tags: { - name: "Bar Sport", - amenity: "bar" - }, - name: "Bar Sport", - icon: "bar", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/bar/Beach Bar": { - tags: { - name: "Beach Bar", - amenity: "bar" - }, - name: "Beach Bar", - icon: "bar", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/bar/Pool Bar": { - tags: { - name: "Pool Bar", - amenity: "bar" - }, - name: "Pool Bar", - icon: "bar", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/bicycle_rental/Bicing": { - tags: { - name: "Bicing", - amenity: "bicycle_rental" - }, - name: "Bicing", - icon: "bicycle", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "capacity", - "network", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/bicycle_rental/Call a Bike": { - tags: { - name: "Call a Bike", - amenity: "bicycle_rental" - }, - name: "Call a Bike", - icon: "bicycle", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "capacity", - "network", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/bicycle_rental/Grid": { - tags: { - name: "Grid", - amenity: "bicycle_rental" - }, - name: "Grid", - icon: "bicycle", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "capacity", - "network", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/bicycle_rental/Mibici": { - tags: { - name: "Mibici", - amenity: "bicycle_rental" - }, - name: "Mibici", - icon: "bicycle", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "capacity", - "network", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/bicycle_rental/metropolradruhr": { - tags: { - name: "metropolradruhr", - amenity: "bicycle_rental" - }, - name: "metropolradruhr", - icon: "bicycle", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "capacity", - "network", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/bureau_de_change/Abitab": { - tags: { - name: "Abitab", - amenity: "bureau_de_change" - }, - name: "Abitab", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "currency_multi", - "operator", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/bureau_de_change/Change": { - tags: { - name: "Change", - amenity: "bureau_de_change" - }, - name: "Change", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "currency_multi", - "operator", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/bureau_de_change/Travelex": { - tags: { - name: "Travelex", - amenity: "bureau_de_change" - }, - name: "Travelex", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "currency_multi", - "operator", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/cafe/85度C": { - tags: { - name: "85度C", - amenity: "cafe" - }, - name: "85度C", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Bar Kafe": { - tags: { - name: "Bar Kafe", - amenity: "cafe" - }, - name: "Bar Kafe", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Barista": { - tags: { - name: "Barista", - amenity: "cafe" - }, - name: "Barista", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Bonafide": { - tags: { - name: "Bonafide", - amenity: "cafe" - }, - name: "Bonafide", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Cafe Coffee Day": { - tags: { - name: "Cafe Coffee Day", - amenity: "cafe" - }, - name: "Cafe Coffee Day", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Cafe Nero": { - tags: { - name: "Cafe Nero", - amenity: "cafe" - }, - name: "Cafe Nero", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Cafeteria": { - tags: { - name: "Cafeteria", - amenity: "cafe" - }, - name: "Cafeteria", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Cafetería": { - tags: { - name: "Cafetería", - amenity: "cafe" - }, - name: "Cafetería", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Caffè Nero": { - tags: { - name: "Caffè Nero", - amenity: "cafe" - }, - name: "Caffè Nero", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Café Amazon": { - tags: { - name: "Café Amazon", - amenity: "cafe" - }, - name: "Café Amazon", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Café Central": { - tags: { - name: "Café Central", - amenity: "cafe" - }, - name: "Café Central", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Café de la Place": { - tags: { - name: "Café de la Place", - amenity: "cafe" - }, - name: "Café de la Place", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Café des Sports": { - tags: { - name: "Café des Sports", - amenity: "cafe" - }, - name: "Café des Sports", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Caribou Coffee": { - tags: { - name: "Caribou Coffee", - amenity: "cafe" - }, - name: "Caribou Coffee", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Coffee Fellows": { - tags: { - name: "Coffee Fellows", - amenity: "cafe" - }, - name: "Coffee Fellows", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Coffee House": { - tags: { - name: "Coffee House", - amenity: "cafe" - }, - name: "Coffee House", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Coffee Island": { - tags: { - name: "Coffee Island", - amenity: "cafe" - }, - name: "Coffee Island", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Coffee Time": { - tags: { - name: "Coffee Time", - amenity: "cafe" - }, - name: "Coffee Time", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Costa": { - tags: { - name: "Costa", - amenity: "cafe" - }, - name: "Costa", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Country Style": { - tags: { - name: "Country Style", - amenity: "cafe" - }, - name: "Country Style", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Dunkin' Donuts": { - tags: { - name: "Dunkin' Donuts", - cuisine: "donut", - amenity: "cafe" - }, - name: "Dunkin' Donuts", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Eiscafe Dolomiti": { - tags: { - name: "Eiscafe Dolomiti", - amenity: "cafe" - }, - name: "Eiscafe Dolomiti", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Eiscafe Venezia": { - tags: { - name: "Eiscafe Venezia", - amenity: "cafe" - }, - name: "Eiscafe Venezia", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Espresso House": { - tags: { - name: "Espresso House", - amenity: "cafe" - }, - name: "Espresso House", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Havanna": { - tags: { - name: "Havanna", - amenity: "cafe" - }, - name: "Havanna", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Internet Cafe": { - tags: { - name: "Internet Cafe", - amenity: "cafe" - }, - name: "Internet Cafe", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Kafe": { - tags: { - name: "Kafe", - amenity: "cafe" - }, - name: "Kafe", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Krispy Kreme": { - tags: { - name: "Krispy Kreme", - amenity: "cafe" - }, - name: "Krispy Kreme", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Le Pain Quotidien": { - tags: { - name: "Le Pain Quotidien", - amenity: "cafe" - }, - name: "Le Pain Quotidien", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/McCafé": { - tags: { - name: "McCafé", - amenity: "cafe", - cuisine: "coffee_shop" - }, - name: "McCafé", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Pret A Manger": { - tags: { - name: "Pret A Manger", - amenity: "cafe" - }, - name: "Pret A Manger", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Prime": { - tags: { - name: "Prime", - amenity: "cafe" - }, - name: "Prime", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Second Cup": { - tags: { - name: "Second Cup", - amenity: "cafe" - }, - name: "Second Cup", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Segafredo": { - tags: { - name: "Segafredo", - amenity: "cafe" - }, - name: "Segafredo", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Starbucks": { - tags: { - name: "Starbucks", - cuisine: "coffee_shop", - amenity: "cafe" - }, - name: "Starbucks", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/The Coffee Club": { - tags: { - name: "The Coffee Club", - amenity: "cafe" - }, - name: "The Coffee Club", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Tim Hortons": { - tags: { - name: "Tim Hortons", - amenity: "cafe" - }, - name: "Tim Hortons", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Traveler's Coffee": { - tags: { - name: "Traveler's Coffee", - amenity: "cafe" - }, - name: "Traveler's Coffee", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Wayne's Coffee": { - tags: { - name: "Wayne's Coffee", - amenity: "cafe" - }, - name: "Wayne's Coffee", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Бистро": { - tags: { - name: "Бистро", - amenity: "cafe" - }, - name: "Бистро", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Буфет": { - tags: { - name: "Буфет", - amenity: "cafe" - }, - name: "Буфет", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Встреча": { - tags: { - name: "Встреча", - amenity: "cafe" - }, - name: "Встреча", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Даблби": { - tags: { - name: "Даблби", - amenity: "cafe" - }, - name: "Даблби", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Закусочная": { - tags: { - name: "Закусочная", - amenity: "cafe" - }, - name: "Закусочная", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Кофе Хауз": { - tags: { - name: "Кофе Хауз", - amenity: "cafe" - }, - name: "Кофе Хауз", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Кофейня": { - tags: { - name: "Кофейня", - amenity: "cafe" - }, - name: "Кофейня", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Лакомка": { - tags: { - name: "Лакомка", - amenity: "cafe" - }, - name: "Лакомка", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Летнее кафе": { - tags: { - name: "Летнее кафе", - amenity: "cafe" - }, - name: "Летнее кафе", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Пельменная": { - tags: { - name: "Пельменная", - amenity: "cafe" - }, - name: "Пельменная", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Пиццерия": { - tags: { - name: "Пиццерия", - amenity: "cafe" - }, - name: "Пиццерия", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Рандеву": { - tags: { - name: "Рандеву", - amenity: "cafe" - }, - name: "Рандеву", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Сказка": { - tags: { - name: "Сказка", - amenity: "cafe" - }, - name: "Сказка", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Старбакс": { - tags: { - name: "Старбакс", - amenity: "cafe" - }, - name: "Старбакс", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Столовая": { - tags: { - name: "Столовая", - amenity: "cafe" - }, - name: "Столовая", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Уют": { - tags: { - name: "Уют", - amenity: "cafe" - }, - name: "Уют", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Хуторок": { - tags: { - name: "Хуторок", - amenity: "cafe" - }, - name: "Хуторок", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Шашлычная": { - tags: { - name: "Шашлычная", - amenity: "cafe" - }, - name: "Шашлычная", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Шоколад": { - tags: { - name: "Шоколад", - amenity: "cafe" - }, - name: "Шоколад", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/Шоколадница": { - tags: { - name: "Шоколадница", - amenity: "cafe" - }, - name: "Шоколадница", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/ארומה": { - tags: { - name: "ארומה", - amenity: "cafe" - }, - name: "ארומה", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/مقهى": { - tags: { - name: "مقهى", - amenity: "cafe" - }, - name: "مقهى", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/คาเฟ่ อเมซอน": { - tags: { - name: "คาเฟ่ อเมซอน", - amenity: "cafe" - }, - name: "คาเฟ่ อเมซอน", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/エクセルシオール カフェ": { - tags: { - name: "エクセルシオール カフェ", - amenity: "cafe" - }, - name: "エクセルシオール カフェ", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/カフェ・ド・クリエ": { - tags: { - name: "カフェ・ド・クリエ", - "name:en": "Cafe de CRIE", - amenity: "cafe" - }, - name: "カフェ・ド・クリエ", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/カフェ・ベローチェ": { - tags: { - name: "カフェ・ベローチェ", - amenity: "cafe" - }, - name: "カフェ・ベローチェ", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/コメダ珈琲店": { - tags: { - name: "コメダ珈琲店", - amenity: "cafe" - }, - name: "コメダ珈琲店", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/サンマルクカフェ": { - tags: { - name: "サンマルクカフェ", - amenity: "cafe" - }, - name: "サンマルクカフェ", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/スターバックス": { - tags: { - name: "スターバックス", - "name:en": "Starbucks", - amenity: "cafe" - }, - name: "スターバックス", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/タリーズコーヒー": { - tags: { - name: "タリーズコーヒー", - amenity: "cafe" - }, - name: "タリーズコーヒー", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/ドトールコーヒーショップ": { - tags: { - name: "ドトールコーヒーショップ", - "name:en": "Doutor", - amenity: "cafe" - }, - name: "ドトールコーヒーショップ", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/星巴克": { - tags: { - name: "星巴克", - amenity: "cafe" - }, - name: "星巴克", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/cafe/스타벅스": { - tags: { - name: "스타벅스", - amenity: "cafe" - }, - name: "스타벅스", - icon: "cafe", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/car_rental/Alamo": { - tags: { - name: "Alamo", - amenity: "car_rental" - }, - name: "Alamo", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Avis": { - tags: { - name: "Avis", - amenity: "car_rental" - }, - name: "Avis", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Budget": { - tags: { - name: "Budget", - amenity: "car_rental" - }, - name: "Budget", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Enterprise": { - tags: { - name: "Enterprise", - amenity: "car_rental" - }, - name: "Enterprise", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Enterprise Rent-a-Car": { - tags: { - name: "Enterprise Rent-a-Car", - amenity: "car_rental" - }, - name: "Enterprise Rent-a-Car", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Europcar": { - tags: { - name: "Europcar", - amenity: "car_rental" - }, - name: "Europcar", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Hertz": { - tags: { - name: "Hertz", - amenity: "car_rental" - }, - name: "Hertz", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Localiza": { - tags: { - name: "Localiza", - amenity: "car_rental" - }, - name: "Localiza", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Sixt": { - tags: { - name: "Sixt", - amenity: "car_rental" - }, - name: "Sixt", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/Thrifty": { - tags: { - name: "Thrifty", - amenity: "car_rental" - }, - name: "Thrifty", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/U-Haul": { - tags: { - name: "U-Haul", - amenity: "car_rental" - }, - name: "U-Haul", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/オリックスレンタカー": { - tags: { - name: "オリックスレンタカー", - amenity: "car_rental" - }, - name: "オリックスレンタカー", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/トヨタレンタカー": { - tags: { - name: "トヨタレンタカー", - amenity: "car_rental" - }, - name: "トヨタレンタカー", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/トヨタレンタリース": { - tags: { - name: "トヨタレンタリース", - amenity: "car_rental" - }, - name: "トヨタレンタリース", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_rental/ニッポンレンタカー": { - tags: { - name: "ニッポンレンタカー", - amenity: "car_rental" - }, - name: "ニッポンレンタカー", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_wash/Autolavaggio": { - tags: { - name: "Autolavaggio", - amenity: "car_wash" - }, - name: "Autolavaggio", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_wash/Lavage Auto": { - tags: { - name: "Lavage Auto", - amenity: "car_wash" - }, - name: "Lavage Auto", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_wash/Lavazh": { - tags: { - name: "Lavazh", - amenity: "car_wash" - }, - name: "Lavazh", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_wash/Myjnia": { - tags: { - name: "Myjnia", - amenity: "car_wash" - }, - name: "Myjnia", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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", - "payment_multi" - ], - 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", - "payment_multi" - ], - 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", - "payment_multi" - ], - 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", - "payment_multi" - ], - suggestion: true - }, - "amenity/car_wash/Автомийка": { - tags: { - name: "Автомийка", - amenity: "car_wash" - }, - name: "Автомийка", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/cinema/Cinema City": { - tags: { - name: "Cinema City", - amenity: "cinema" - }, - name: "Cinema City", - icon: "cinema", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/cinema/Cinemark": { - tags: { - name: "Cinemark", - amenity: "cinema" - }, - name: "Cinemark", - icon: "cinema", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/cinema/Cinemex": { - tags: { - name: "Cinemex", - amenity: "cinema" - }, - name: "Cinemex", - icon: "cinema", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/cinema/Cinepolis": { - tags: { - name: "Cinepolis", - amenity: "cinema" - }, - name: "Cinepolis", - icon: "cinema", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/cinema/Cineworld": { - tags: { - name: "Cineworld", - amenity: "cinema" - }, - name: "Cineworld", - icon: "cinema", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/cinema/Odeon": { - tags: { - name: "Odeon", - amenity: "cinema" - }, - name: "Odeon", - icon: "cinema", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/clinic/ФАП": { - tags: { - name: "ФАП", - healthcare: "clinic", - amenity: "clinic" - }, - name: "ФАП", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/dentist/Aspen Dental": { - tags: { - name: "Aspen Dental", - healthcare: "dentist", - amenity: "dentist" - }, - name: "Aspen Dental", - icon: "dentist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/dentist/Family Dentistry": { - tags: { - name: "Family Dentistry", - healthcare: "dentist", - amenity: "dentist" - }, - name: "Family Dentistry", - icon: "dentist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/dentist/Vitaldent": { - tags: { - name: "Vitaldent", - healthcare: "dentist", - amenity: "dentist" - }, - name: "Vitaldent", - icon: "dentist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/dentist/Стоматолог": { - tags: { - name: "Стоматолог", - healthcare: "dentist", - amenity: "dentist" - }, - name: "Стоматолог", - icon: "dentist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/dentist/Стоматологія": { - tags: { - name: "Стоматологія", - healthcare: "dentist", - amenity: "dentist" - }, - name: "Стоматологія", - icon: "dentist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/doctors/Háziorvosi rendelő": { - tags: { - name: "Háziorvosi rendelő", - healthcare: "doctor", - amenity: "doctors" - }, - name: "Háziorvosi rendelő", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/doctors/Инвитро": { - tags: { - name: "Инвитро", - healthcare: "doctor", - amenity: "doctors" - }, - name: "Инвитро", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "amenity/driving_school/Автодром": { - tags: { - name: "Автодром", - amenity: "driving_school" - }, - name: "Автодром", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fast_food/A&W": { - tags: { - name: "A&W", - amenity: "fast_food" - }, - name: "A&W", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Ali Baba": { - tags: { - name: "Ali Baba", - amenity: "fast_food" - }, - name: "Ali Baba", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Angel's Burger": { - tags: { - name: "Angel's Burger", - amenity: "fast_food" - }, - name: "Angel's Burger", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Antalya": { - tags: { - name: "Antalya", - amenity: "fast_food" - }, - name: "Antalya", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Arby's": { - tags: { - name: "Arby's", - amenity: "fast_food" - }, - name: "Arby's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Asia Bistro": { - tags: { - name: "Asia Bistro", - amenity: "fast_food" - }, - name: "Asia Bistro", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Asia Wok": { - tags: { - name: "Asia Wok", - amenity: "fast_food" - }, - name: "Asia Wok", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Baskin-Robbins": { - tags: { - name: "Baskin-Robbins", - amenity: "fast_food" - }, - name: "Baskin-Robbins", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Bistro": { - tags: { - name: "Bistro", - amenity: "fast_food" - }, - name: "Bistro", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Bob's": { - tags: { - name: "Bob's", - amenity: "fast_food" - }, - name: "Bob's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Bojangles": { - tags: { - name: "Bojangles", - amenity: "fast_food" - }, - name: "Bojangles", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Booster Juice": { - tags: { - name: "Booster Juice", - amenity: "fast_food" - }, - name: "Booster Juice", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Boston Market": { - tags: { - name: "Boston Market", - amenity: "fast_food" - }, - name: "Boston Market", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Braum's": { - tags: { - name: "Braum's", - amenity: "fast_food" - }, - name: "Braum's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Burger Machine": { - tags: { - name: "Burger Machine", - amenity: "fast_food" - }, - name: "Burger Machine", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Büfé": { - tags: { - name: "Büfé", - amenity: "fast_food" - }, - name: "Büfé", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Captain D's": { - tags: { - name: "Captain D's", - amenity: "fast_food" - }, - name: "Captain D's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Chicken Express": { - tags: { - name: "Chicken Express", - amenity: "fast_food" - }, - name: "Chicken Express", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Chipotle": { - tags: { - name: "Chipotle", - cuisine: "mexican", - amenity: "fast_food" - }, - name: "Chipotle", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Chowking": { - tags: { - name: "Chowking", - amenity: "fast_food" - }, - name: "Chowking", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/CoCo壱番屋": { - tags: { - name: "CoCo壱番屋", - amenity: "fast_food" - }, - name: "CoCo壱番屋", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Cook Out": { - tags: { - name: "Cook Out", - amenity: "fast_food" - }, - name: "Cook Out", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Culver's": { - tags: { - name: "Culver's", - amenity: "fast_food" - }, - name: "Culver's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/DQ": { - tags: { - name: "DQ", - amenity: "fast_food" - }, - name: "DQ", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Dairy Queen": { - tags: { - name: "Dairy Queen", - amenity: "fast_food" - }, - name: "Dairy Queen", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Del Taco": { - tags: { - name: "Del Taco", - amenity: "fast_food" - }, - name: "Del Taco", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Everest": { - tags: { - name: "Everest", - amenity: "fast_food" - }, - name: "Everest", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Extreme Pita": { - tags: { - name: "Extreme Pita", - amenity: "fast_food" - }, - name: "Extreme Pita", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Fazoli's": { - tags: { - name: "Fazoli's", - amenity: "fast_food" - }, - name: "Fazoli's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Firehouse Subs": { - tags: { - name: "Firehouse Subs", - amenity: "fast_food" - }, - name: "Firehouse Subs", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Fish & Chips": { - tags: { - name: "Fish & Chips", - amenity: "fast_food" - }, - name: "Fish & Chips", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Fish and Chips": { - tags: { - name: "Fish and Chips", - amenity: "fast_food" - }, - name: "Fish and Chips", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Five Guys": { - tags: { - name: "Five Guys", - amenity: "fast_food" - }, - name: "Five Guys", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Greenwich": { - tags: { - name: "Greenwich", - amenity: "fast_food" - }, - name: "Greenwich", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Habib's": { - tags: { - name: "Habib's", - amenity: "fast_food" - }, - name: "Habib's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Hallo Pizza": { - tags: { - name: "Hallo Pizza", - amenity: "fast_food" - }, - name: "Hallo Pizza", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Harvey's": { - tags: { - name: "Harvey's", - amenity: "fast_food" - }, - name: "Harvey's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Hesburger": { - tags: { - name: "Hesburger", - amenity: "fast_food" - }, - name: "Hesburger", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Istanbul": { - tags: { - name: "Istanbul", - amenity: "fast_food" - }, - name: "Istanbul", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Istanbul Kebab": { - tags: { - name: "Istanbul Kebab", - amenity: "fast_food" - }, - name: "Istanbul Kebab", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Jamba Juice": { - tags: { - name: "Jamba Juice", - amenity: "fast_food" - }, - name: "Jamba Juice", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Jollibee": { - tags: { - name: "Jollibee", - amenity: "fast_food" - }, - name: "Jollibee", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/KFC": { - tags: { - name: "KFC", - cuisine: "chicken", - amenity: "fast_food" - }, - name: "KFC", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Kebab House": { - tags: { - name: "Kebab House", - amenity: "fast_food" - }, - name: "Kebab House", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Kebabai": { - tags: { - name: "Kebabai", - amenity: "fast_food" - }, - name: "Kebabai", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Kochlöffel": { - tags: { - name: "Kochlöffel", - amenity: "fast_food" - }, - name: "Kochlöffel", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Kotipizza": { - tags: { - name: "Kotipizza", - amenity: "fast_food" - }, - name: "Kotipizza", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Krystal": { - tags: { - name: "Krystal", - amenity: "fast_food" - }, - name: "Krystal", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Little Caesars": { - tags: { - name: "Little Caesars", - amenity: "fast_food" - }, - name: "Little Caesars", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Little Caesars Pizza": { - tags: { - name: "Little Caesars Pizza", - amenity: "fast_food" - }, - name: "Little Caesars Pizza", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Lotteria": { - tags: { - name: "Lotteria", - amenity: "fast_food" - }, - name: "Lotteria", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Max": { - tags: { - name: "Max", - amenity: "fast_food" - }, - name: "Max", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Minute Burger": { - tags: { - name: "Minute Burger", - amenity: "fast_food" - }, - name: "Minute Burger", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Mr. Sub": { - tags: { - name: "Mr. Sub", - amenity: "fast_food" - }, - name: "Mr. Sub", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Nordsee": { - tags: { - name: "Nordsee", - amenity: "fast_food" - }, - name: "Nordsee", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Pinulito": { - tags: { - name: "Pinulito", - amenity: "fast_food" - }, - name: "Pinulito", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Pita Pit": { - tags: { - name: "Pita Pit", - amenity: "fast_food" - }, - name: "Pita Pit", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Pizza King": { - tags: { - name: "Pizza King", - amenity: "fast_food" - }, - name: "Pizza King", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Pizza Nova": { - tags: { - name: "Pizza Nova", - amenity: "fast_food" - }, - name: "Pizza Nova", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Pizza Pizza": { - tags: { - name: "Pizza Pizza", - amenity: "fast_food" - }, - name: "Pizza Pizza", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Pollo Campero": { - tags: { - name: "Pollo Campero", - amenity: "fast_food" - }, - name: "Pollo Campero", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Pollo Granjero": { - tags: { - name: "Pollo Granjero", - amenity: "fast_food" - }, - name: "Pollo Granjero", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Popeyes Louisiana Kitchen": { - tags: { - name: "Popeyes Louisiana Kitchen", - amenity: "fast_food" - }, - name: "Popeyes Louisiana Kitchen", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Qdoba": { - tags: { - name: "Qdoba", - amenity: "fast_food" - }, - name: "Qdoba", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Quick": { - tags: { - name: "Quick", - amenity: "fast_food" - }, - name: "Quick", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Quiznos": { - tags: { - name: "Quiznos", - amenity: "fast_food" - }, - name: "Quiznos", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Rally's": { - tags: { - name: "Rally's", - amenity: "fast_food" - }, - name: "Rally's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Red Rooster": { - tags: { - name: "Red Rooster", - amenity: "fast_food" - }, - name: "Red Rooster", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Sbarro": { - tags: { - name: "Sbarro", - amenity: "fast_food" - }, - name: "Sbarro", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Sibylla": { - tags: { - name: "Sibylla", - amenity: "fast_food" - }, - name: "Sibylla", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Sonic": { - tags: { - name: "Sonic", - cuisine: "burger", - amenity: "fast_food" - }, - name: "Sonic", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Steers": { - tags: { - name: "Steers", - amenity: "fast_food" - }, - name: "Steers", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Subway": { - tags: { - name: "Subway", - amenity: "fast_food" - }, - name: "Subway", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Taco Bueno": { - tags: { - name: "Taco Bueno", - amenity: "fast_food" - }, - name: "Taco Bueno", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Taco Cabana": { - tags: { - name: "Taco Cabana", - amenity: "fast_food" - }, - name: "Taco Cabana", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Taco Del Mar": { - tags: { - name: "Taco Del Mar", - amenity: "fast_food" - }, - name: "Taco Del Mar", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Taco Time": { - tags: { - name: "Taco Time", - amenity: "fast_food" - }, - name: "Taco Time", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Telepizza": { - tags: { - name: "Telepizza", - amenity: "fast_food" - }, - name: "Telepizza", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Thai Express": { - tags: { - name: "Thai Express", - amenity: "fast_food" - }, - name: "Thai Express", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Whataburger": { - tags: { - name: "Whataburger", - amenity: "fast_food" - }, - name: "Whataburger", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/White Castle": { - tags: { - name: "White Castle", - amenity: "fast_food" - }, - name: "White Castle", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Wienerschnitzel": { - tags: { - name: "Wienerschnitzel", - amenity: "fast_food" - }, - name: "Wienerschnitzel", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Wimpy": { - tags: { - name: "Wimpy", - amenity: "fast_food" - }, - name: "Wimpy", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Zaxby's": { - tags: { - name: "Zaxby's", - amenity: "fast_food" - }, - name: "Zaxby's", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Γρηγόρης": { - tags: { - name: "Γρηγόρης", - amenity: "fast_food" - }, - name: "Γρηγόρης", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Бургер Кинг": { - tags: { - name: "Бургер Кинг", - amenity: "fast_food" - }, - name: "Бургер Кинг", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Крошка Картошка": { - tags: { - name: "Крошка Картошка", - amenity: "fast_food" - }, - name: "Крошка Картошка", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Макдоналдс": { - tags: { - name: "Макдоналдс", - "name:en": "McDonald's", - amenity: "fast_food" - }, - name: "Макдоналдс", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Робин Сдобин": { - tags: { - name: "Робин Сдобин", - amenity: "fast_food" - }, - name: "Робин Сдобин", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Русский Аппетит": { - tags: { - name: "Русский Аппетит", - amenity: "fast_food" - }, - name: "Русский Аппетит", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Сабвэй": { - tags: { - name: "Сабвэй", - amenity: "fast_food" - }, - name: "Сабвэй", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Стардог!s": { - tags: { - name: "Стардог!s", - amenity: "fast_food" - }, - name: "Стардог!s", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Теремок": { - tags: { - name: "Теремок", - amenity: "fast_food" - }, - name: "Теремок", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Шаверма": { - tags: { - name: "Шаверма", - amenity: "fast_food" - }, - name: "Шаверма", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/Шаурма": { - tags: { - name: "Шаурма", - amenity: "fast_food" - }, - name: "Шаурма", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/かっぱ寿司": { - tags: { - name: "かっぱ寿司", - amenity: "fast_food" - }, - name: "かっぱ寿司", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/かつや": { - tags: { - name: "かつや", - amenity: "fast_food" - }, - name: "かつや", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/くら寿司": { - tags: { - name: "くら寿司", - amenity: "fast_food" - }, - name: "くら寿司", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/すき家": { - tags: { - name: "すき家", - "name:en": "Sukiya", - amenity: "fast_food" - }, - name: "すき家", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/なか卯": { - tags: { - name: "なか卯", - amenity: "fast_food" - }, - name: "なか卯", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/ほっかほっか亭": { - tags: { - name: "ほっかほっか亭", - amenity: "fast_food" - }, - name: "ほっかほっか亭", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/ほっともっと": { - tags: { - name: "ほっともっと", - amenity: "fast_food" - }, - name: "ほっともっと", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/オリジン弁当": { - tags: { - name: "オリジン弁当", - amenity: "fast_food" - }, - name: "オリジン弁当", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/ケンタッキーフライドチキン": { - tags: { - name: "ケンタッキーフライドチキン", - cuisine: "chicken", - "name:en": "KFC", - amenity: "fast_food" - }, - name: "ケンタッキーフライドチキン", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/サブウェイ": { - tags: { - name: "サブウェイ", - amenity: "fast_food" - }, - name: "サブウェイ", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/スシロー": { - tags: { - name: "スシロー", - amenity: "fast_food" - }, - name: "スシロー", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/マクドナルド": { - tags: { - name: "マクドナルド", - cuisine: "burger", - "name:en": "McDonald's", - amenity: "fast_food" - }, - name: "マクドナルド", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/ミスタードーナツ": { - tags: { - name: "ミスタードーナツ", - amenity: "fast_food" - }, - name: "ミスタードーナツ", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/モスバーガー": { - tags: { - name: "モスバーガー", - "name:en": "Mos Burger", - amenity: "fast_food" - }, - name: "モスバーガー", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/ロッテリア": { - tags: { - name: "ロッテリア", - amenity: "fast_food" - }, - name: "ロッテリア", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/吉野家": { - tags: { - name: "吉野家", - amenity: "fast_food" - }, - name: "吉野家", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/幸楽苑": { - tags: { - name: "幸楽苑", - amenity: "fast_food" - }, - name: "幸楽苑", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/摩斯漢堡": { - tags: { - name: "摩斯漢堡", - amenity: "fast_food" - }, - name: "摩斯漢堡", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/松屋": { - tags: { - name: "松屋", - "name:en": "Matsuya", - amenity: "fast_food" - }, - name: "松屋", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/肯德基": { - tags: { - name: "肯德基", - amenity: "fast_food" - }, - name: "肯德基", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/麥當勞": { - tags: { - name: "麥當勞", - amenity: "fast_food" - }, - name: "麥當勞", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/麦当劳": { - tags: { - name: "麦当劳", - amenity: "fast_food" - }, - name: "麦当劳", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fast_food/롯데리아": { - tags: { - name: "롯데리아", - amenity: "fast_food" - }, - name: "롯데리아", - icon: "fast-food", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "operator", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "drive_through", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/fuel/76": { - tags: { - name: "76", - amenity: "fuel" - }, - name: "76", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_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: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ADNOC": { - tags: { - name: "ADNOC", - amenity: "fuel" - }, - name: "ADNOC", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ANP": { - tags: { - name: "ANP", - amenity: "fuel" - }, - name: "ANP", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ARAL": { - tags: { - name: "ARAL", - amenity: "fuel" - }, - name: "ARAL", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Aegean": { - tags: { - name: "Aegean", - amenity: "fuel" - }, - name: "Aegean", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Afriquia": { - tags: { - name: "Afriquia", - amenity: "fuel" - }, - name: "Afriquia", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Agip": { - tags: { - name: "Agip", - amenity: "fuel" - }, - name: "Agip", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Agrola": { - tags: { - name: "Agrola", - amenity: "fuel" - }, - name: "Agrola", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Alon": { - tags: { - name: "Alon", - amenity: "fuel" - }, - name: "Alon", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Alpet": { - tags: { - name: "Alpet", - amenity: "fuel" - }, - name: "Alpet", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Api": { - tags: { - name: "Api", - amenity: "fuel" - }, - name: "Api", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Aral": { - tags: { - name: "Aral", - amenity: "fuel" - }, - name: "Aral", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Arco": { - tags: { - name: "Arco", - amenity: "fuel" - }, - name: "Arco", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Avanti": { - tags: { - name: "Avanti", - amenity: "fuel" - }, - name: "Avanti", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Avia": { - tags: { - name: "Avia", - amenity: "fuel" - }, - name: "Avia", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/BEBECO": { - tags: { - name: "BEBECO", - amenity: "fuel" - }, - name: "BEBECO", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/BFT": { - tags: { - name: "BFT", - amenity: "fuel" - }, - name: "BFT", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/BHPetrol": { - tags: { - name: "BHPetrol", - amenity: "fuel" - }, - name: "BHPetrol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/BP": { - tags: { - name: "BP", - amenity: "fuel" - }, - name: "BP", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/BR": { - tags: { - name: "BR", - amenity: "fuel" - }, - name: "BR", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Bangchak": { - tags: { - name: "Bangchak", - amenity: "fuel" - }, - name: "Bangchak", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Benzina": { - tags: { - name: "Benzina", - amenity: "fuel" - }, - name: "Benzina", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Bharat Petroleum": { - tags: { - name: "Bharat Petroleum", - amenity: "fuel" - }, - name: "Bharat Petroleum", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Bliska": { - tags: { - name: "Bliska", - amenity: "fuel" - }, - name: "Bliska", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/CAMPSA": { - tags: { - name: "CAMPSA", - amenity: "fuel" - }, - name: "CAMPSA", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/CARREFOUR": { - tags: { - name: "CARREFOUR", - amenity: "fuel" - }, - name: "CARREFOUR", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/CEPSA": { - tags: { - name: "CEPSA", - amenity: "fuel" - }, - name: "CEPSA", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/CNG": { - tags: { - name: "CNG", - amenity: "fuel" - }, - name: "CNG", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Caltex": { - tags: { - name: "Caltex", - amenity: "fuel" - }, - name: "Caltex", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Campsa": { - tags: { - name: "Campsa", - amenity: "fuel" - }, - name: "Campsa", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_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: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Cenex": { - tags: { - name: "Cenex", - amenity: "fuel" - }, - name: "Cenex", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Cepsa": { - tags: { - name: "Cepsa", - amenity: "fuel" - }, - name: "Cepsa", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Ceypetco": { - tags: { - name: "Ceypetco", - amenity: "fuel" - }, - name: "Ceypetco", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Chevron": { - tags: { - name: "Chevron", - amenity: "fuel" - }, - name: "Chevron", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Citgo": { - tags: { - name: "Citgo", - amenity: "fuel" - }, - name: "Citgo", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Clark": { - tags: { - name: "Clark", - amenity: "fuel" - }, - name: "Clark", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Coles Express": { - tags: { - name: "Coles Express", - amenity: "fuel" - }, - name: "Coles Express", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Conoco": { - tags: { - name: "Conoco", - amenity: "fuel" - }, - name: "Conoco", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Copec": { - tags: { - name: "Copec", - amenity: "fuel" - }, - name: "Copec", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Copetrol": { - tags: { - name: "Copetrol", - amenity: "fuel" - }, - name: "Copetrol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Cosmo": { - tags: { - name: "Cosmo", - amenity: "fuel" - }, - name: "Cosmo", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Crodux": { - tags: { - name: "Crodux", - amenity: "fuel" - }, - name: "Crodux", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Delta": { - tags: { - name: "Delta", - amenity: "fuel" - }, - name: "Delta", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Diamond Shamrock": { - tags: { - name: "Diamond Shamrock", - amenity: "fuel" - }, - name: "Diamond Shamrock", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Drummed Fuel": { - tags: { - name: "Drummed Fuel", - amenity: "fuel" - }, - name: "Drummed Fuel", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/EKO": { - tags: { - name: "EKO", - amenity: "fuel" - }, - name: "EKO", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ENEOS": { - tags: { - name: "ENEOS", - amenity: "fuel" - }, - name: "ENEOS", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ENI": { - tags: { - name: "ENI", - amenity: "fuel" - }, - name: "ENI", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ERG": { - tags: { - name: "ERG", - amenity: "fuel" - }, - name: "ERG", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Elan": { - tags: { - name: "Elan", - amenity: "fuel" - }, - name: "Elan", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Eneos": { - tags: { - name: "Eneos", - amenity: "fuel" - }, - name: "Eneos", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Engen": { - tags: { - name: "Engen", - amenity: "fuel" - }, - name: "Engen", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Eni": { - tags: { - name: "Eni", - amenity: "fuel" - }, - name: "Eni", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Erg": { - tags: { - name: "Erg", - amenity: "fuel" - }, - name: "Erg", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Esso": { - tags: { - name: "Esso", - amenity: "fuel" - }, - name: "Esso", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Esso Express": { - tags: { - name: "Esso Express", - amenity: "fuel" - }, - name: "Esso Express", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/EuroOil": { - tags: { - name: "EuroOil", - amenity: "fuel" - }, - name: "EuroOil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Exxon": { - tags: { - name: "Exxon", - amenity: "fuel" - }, - name: "Exxon", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/F24": { - tags: { - name: "F24", - amenity: "fuel" - }, - name: "F24", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Firezone": { - tags: { - name: "Firezone", - amenity: "fuel" - }, - name: "Firezone", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Flying V": { - tags: { - name: "Flying V", - amenity: "fuel" - }, - name: "Flying V", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/GALP": { - tags: { - name: "GALP", - amenity: "fuel" - }, - name: "GALP", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Gazprom": { - tags: { - name: "Gazprom", - amenity: "fuel" - }, - name: "Gazprom", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/GetGo": { - tags: { - name: "GetGo", - amenity: "fuel" - }, - name: "GetGo", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Goil": { - tags: { - name: "Goil", - amenity: "fuel" - }, - name: "Goil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Gulf": { - tags: { - name: "Gulf", - amenity: "fuel" - }, - name: "Gulf", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/H-E-B Fuel": { - tags: { - name: "H-E-B Fuel", - amenity: "fuel" - }, - name: "H-E-B Fuel", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_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: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/HEM": { - tags: { - name: "HEM", - amenity: "fuel" - }, - name: "HEM", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/HP": { - tags: { - name: "HP", - amenity: "fuel" - }, - name: "HP", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/HP Petrol Pump": { - tags: { - name: "HP Petrol Pump", - amenity: "fuel" - }, - name: "HP Petrol Pump", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Helios": { - tags: { - name: "Helios", - amenity: "fuel" - }, - name: "Helios", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Hess": { - tags: { - name: "Hess", - amenity: "fuel" - }, - name: "Hess", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Hindustan Petroleum": { - tags: { - name: "Hindustan Petroleum", - amenity: "fuel" - }, - name: "Hindustan Petroleum", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Holiday": { - tags: { - name: "Holiday", - amenity: "fuel" - }, - name: "Holiday", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Husky": { - tags: { - name: "Husky", - amenity: "fuel" - }, - name: "Husky", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/IES": { - tags: { - name: "IES", - amenity: "fuel" - }, - name: "IES", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/IP": { - tags: { - name: "IP", - amenity: "fuel" - }, - name: "IP", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_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: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Indian Oil": { - tags: { - name: "Indian Oil", - amenity: "fuel" - }, - name: "Indian Oil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Indipend.": { - tags: { - name: "Indipend.", - amenity: "fuel" - }, - name: "Indipend.", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Ingo": { - tags: { - name: "Ingo", - amenity: "fuel" - }, - name: "Ingo", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Ipiranga": { - tags: { - name: "Ipiranga", - amenity: "fuel" - }, - name: "Ipiranga", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Irving": { - tags: { - name: "Irving", - amenity: "fuel" - }, - name: "Irving", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/JA-SS": { - tags: { - name: "JA-SS", - amenity: "fuel" - }, - name: "JA-SS", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/JOMO": { - tags: { - name: "JOMO", - amenity: "fuel" - }, - name: "JOMO", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Jet": { - tags: { - name: "Jet", - amenity: "fuel" - }, - name: "Jet", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Jetti": { - tags: { - name: "Jetti", - amenity: "fuel" - }, - name: "Jetti", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Kangaroo": { - tags: { - name: "Kangaroo", - amenity: "fuel" - }, - name: "Kangaroo", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Kobil": { - tags: { - name: "Kobil", - amenity: "fuel" - }, - name: "Kobil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Kroger Fuel": { - tags: { - name: "Kroger Fuel", - amenity: "fuel" - }, - name: "Kroger Fuel", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Kum & Go": { - tags: { - name: "Kum & Go", - amenity: "fuel" - }, - name: "Kum & Go", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Kwik Trip": { - tags: { - name: "Kwik Trip", - amenity: "fuel" - }, - name: "Kwik Trip", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/LPG": { - tags: { - name: "LPG", - amenity: "fuel" - }, - name: "LPG", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/LPG Station": { - tags: { - name: "LPG Station", - amenity: "fuel" - }, - name: "LPG Station", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/LUKOIL": { - tags: { - name: "LUKOIL", - amenity: "fuel" - }, - name: "LUKOIL", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Liberty": { - tags: { - name: "Liberty", - amenity: "fuel" - }, - name: "Liberty", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Lotos": { - tags: { - name: "Lotos", - amenity: "fuel" - }, - name: "Lotos", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Lotos Optima": { - tags: { - name: "Lotos Optima", - amenity: "fuel" - }, - name: "Lotos Optima", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Love's": { - tags: { - name: "Love's", - amenity: "fuel" - }, - name: "Love's", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Lukoil": { - tags: { - name: "Lukoil", - amenity: "fuel" - }, - name: "Lukoil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/MEROIL": { - tags: { - name: "MEROIL", - amenity: "fuel" - }, - name: "MEROIL", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/MOL": { - tags: { - name: "MOL", - amenity: "fuel" - }, - name: "MOL", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/MRS": { - tags: { - name: "MRS", - amenity: "fuel" - }, - name: "MRS", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Marathon": { - tags: { - name: "Marathon", - amenity: "fuel" - }, - name: "Marathon", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Maverik": { - tags: { - name: "Maverik", - amenity: "fuel" - }, - name: "Maverik", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Maxol": { - tags: { - name: "Maxol", - amenity: "fuel" - }, - name: "Maxol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Metano": { - tags: { - name: "Metano", - amenity: "fuel" - }, - name: "Metano", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Migrol": { - tags: { - name: "Migrol", - amenity: "fuel" - }, - name: "Migrol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Minipump": { - tags: { - name: "Minipump", - amenity: "fuel" - }, - name: "Minipump", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Mobil": { - tags: { - name: "Mobil", - amenity: "fuel" - }, - name: "Mobil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Mobile": { - tags: { - name: "Mobile", - amenity: "fuel" - }, - name: "Mobile", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Mol": { - tags: { - name: "Mol", - amenity: "fuel" - }, - name: "Mol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Moya": { - tags: { - name: "Moya", - amenity: "fuel" - }, - name: "Moya", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Murphy USA": { - tags: { - name: "Murphy USA", - amenity: "fuel" - }, - name: "Murphy USA", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Neste": { - tags: { - name: "Neste", - amenity: "fuel" - }, - name: "Neste", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/OIL!": { - tags: { - name: "OIL!", - amenity: "fuel" - }, - name: "OIL!", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/OK": { - tags: { - name: "OK", - amenity: "fuel" - }, - name: "OK", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/OKQ8": { - tags: { - name: "OKQ8", - amenity: "fuel" - }, - name: "OKQ8", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/OMV": { - tags: { - name: "OMV", - amenity: "fuel" - }, - name: "OMV", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Oilibya": { - tags: { - name: "Oilibya", - brand: "Oilibya", - "name:ar": "أويليبيا", - amenity: "fuel" - }, - name: "Oilibya", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Opet": { - tags: { - name: "Opet", - amenity: "fuel" - }, - name: "Opet", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Orlen": { - tags: { - name: "Orlen", - amenity: "fuel" - }, - name: "Orlen", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/PETRONOR": { - tags: { - name: "PETRONOR", - amenity: "fuel" - }, - name: "PETRONOR", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/PSO": { - tags: { - name: "PSO", - amenity: "fuel" - }, - name: "PSO", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/PSO Petrol Pump": { - tags: { - name: "PSO Petrol Pump", - amenity: "fuel" - }, - name: "PSO Petrol Pump", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/PT": { - tags: { - name: "PT", - amenity: "fuel" - }, - name: "PT", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/PTT": { - tags: { - name: "PTT", - amenity: "fuel" - }, - name: "PTT", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/PV Oil": { - tags: { - name: "PV Oil", - amenity: "fuel" - }, - name: "PV Oil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Pacific Pride": { - tags: { - name: "Pacific Pride", - amenity: "fuel" - }, - name: "Pacific Pride", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Pecsa": { - tags: { - name: "Pecsa", - amenity: "fuel" - }, - name: "Pecsa", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Pemex": { - tags: { - name: "Pemex", - amenity: "fuel" - }, - name: "Pemex", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Pertamina": { - tags: { - name: "Pertamina", - amenity: "fuel" - }, - name: "Pertamina", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petro": { - tags: { - name: "Petro", - amenity: "fuel" - }, - name: "Petro", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petro-Canada": { - tags: { - name: "Petro-Canada", - amenity: "fuel" - }, - name: "Petro-Canada", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petrochina": { - tags: { - name: "Petrochina", - amenity: "fuel" - }, - name: "Petrochina", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petroecuador": { - tags: { - name: "Petroecuador", - amenity: "fuel" - }, - name: "Petroecuador", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petrol Ofisi": { - tags: { - name: "Petrol Ofisi", - amenity: "fuel" - }, - name: "Petrol Ofisi", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petrolimex": { - tags: { - name: "Petrolimex", - amenity: "fuel" - }, - name: "Petrolimex", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petrom": { - tags: { - name: "Petrom", - amenity: "fuel" - }, - name: "Petrom", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petron": { - tags: { - name: "Petron", - amenity: "fuel" - }, - name: "Petron", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petronas": { - tags: { - name: "Petronas", - amenity: "fuel" - }, - name: "Petronas", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Petroperu": { - tags: { - name: "Petroperu", - amenity: "fuel" - }, - name: "Petroperu", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Phillips 66": { - tags: { - name: "Phillips 66", - amenity: "fuel" - }, - name: "Phillips 66", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Phoenix": { - tags: { - name: "Phoenix", - amenity: "fuel" - }, - name: "Phoenix", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Pilot": { - tags: { - name: "Pilot", - amenity: "fuel" - }, - name: "Pilot", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Pioneer": { - tags: { - name: "Pioneer", - amenity: "fuel" - }, - name: "Pioneer", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Posto": { - tags: { - name: "Posto", - amenity: "fuel" - }, - name: "Posto", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Posto Atem": { - tags: { - name: "Posto Atem", - amenity: "fuel" - }, - name: "Posto Atem", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Posto Ipiranga": { - tags: { - name: "Posto Ipiranga", - amenity: "fuel" - }, - name: "Posto Ipiranga", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Posto Shell": { - tags: { - name: "Posto Shell", - amenity: "fuel" - }, - name: "Posto Shell", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Primax": { - tags: { - name: "Primax", - amenity: "fuel" - }, - name: "Primax", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Prio": { - tags: { - name: "Prio", - amenity: "fuel" - }, - name: "Prio", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Puma": { - tags: { - name: "Puma", - amenity: "fuel" - }, - name: "Puma", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Q1": { - tags: { - name: "Q1", - amenity: "fuel" - }, - name: "Q1", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Q8": { - tags: { - name: "Q8", - amenity: "fuel" - }, - name: "Q8", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Q8 Easy": { - tags: { - name: "Q8 Easy", - amenity: "fuel" - }, - name: "Q8 Easy", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/QuikTrip": { - tags: { - name: "QuikTrip", - amenity: "fuel" - }, - name: "QuikTrip", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/REPSOL": { - tags: { - name: "REPSOL", - amenity: "fuel" - }, - name: "REPSOL", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/RaceTrac": { - tags: { - name: "RaceTrac", - amenity: "fuel" - }, - name: "RaceTrac", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Repsol": { - tags: { - name: "Repsol", - amenity: "fuel" - }, - name: "Repsol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Rompetrol": { - tags: { - name: "Rompetrol", - amenity: "fuel" - }, - name: "Rompetrol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Rubis": { - tags: { - name: "Rubis", - amenity: "fuel" - }, - name: "Rubis", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/SB Tank": { - tags: { - name: "SB Tank", - amenity: "fuel" - }, - name: "SB Tank", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/SPBU": { - tags: { - name: "SPBU", - amenity: "fuel" - }, - name: "SPBU", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Sasol": { - tags: { - name: "Sasol", - amenity: "fuel" - }, - name: "Sasol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Sea Oil": { - tags: { - name: "Sea Oil", - amenity: "fuel" - }, - name: "Sea Oil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Sheetz": { - tags: { - name: "Sheetz", - amenity: "fuel" - }, - name: "Sheetz", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Shell": { - tags: { - name: "Shell", - amenity: "fuel" - }, - name: "Shell", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Shell Express": { - tags: { - name: "Shell Express", - amenity: "fuel" - }, - name: "Shell Express", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Sinclair": { - tags: { - name: "Sinclair", - amenity: "fuel" - }, - name: "Sinclair", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Sinopec": { - tags: { - name: "Sinopec", - amenity: "fuel" - }, - name: "Sinopec", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Sinopec Fuel": { - tags: { - name: "Sinopec Fuel", - amenity: "fuel" - }, - name: "Sinopec Fuel", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Slovnaft": { - tags: { - name: "Slovnaft", - amenity: "fuel" - }, - name: "Slovnaft", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Socar": { - tags: { - name: "Socar", - amenity: "fuel" - }, - name: "Socar", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Sokimex": { - tags: { - name: "Sokimex", - amenity: "fuel" - }, - name: "Sokimex", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Speedway": { - tags: { - name: "Speedway", - amenity: "fuel" - }, - name: "Speedway", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/St1": { - tags: { - name: "St1", - amenity: "fuel" - }, - name: "St1", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Star": { - tags: { - name: "Star", - amenity: "fuel" - }, - name: "Star", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Star Oil": { - tags: { - name: "Star Oil", - amenity: "fuel" - }, - name: "Star Oil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_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: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Statoil": { - tags: { - name: "Statoil", - amenity: "fuel" - }, - name: "Statoil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Sunoco": { - tags: { - name: "Sunoco", - amenity: "fuel" - }, - name: "Sunoco", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Tamoil": { - tags: { - name: "Tamoil", - amenity: "fuel" - }, - name: "Tamoil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Tango": { - tags: { - name: "Tango", - amenity: "fuel" - }, - name: "Tango", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Teboil": { - tags: { - name: "Teboil", - amenity: "fuel" - }, - name: "Teboil", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Tela": { - tags: { - name: "Tela", - amenity: "fuel" - }, - name: "Tela", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Terpel": { - tags: { - name: "Terpel", - amenity: "fuel" - }, - name: "Terpel", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Texaco": { - tags: { - name: "Texaco", - amenity: "fuel" - }, - name: "Texaco", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Tinq": { - tags: { - name: "Tinq", - amenity: "fuel" - }, - name: "Tinq", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Topaz": { - tags: { - name: "Topaz", - amenity: "fuel" - }, - name: "Topaz", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Total": { - tags: { - name: "Total", - amenity: "fuel" - }, - name: "Total", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Total Access": { - tags: { - name: "Total Access", - amenity: "fuel" - }, - name: "Total Access", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Total Erg": { - tags: { - name: "Total Erg", - amenity: "fuel" - }, - name: "Total Erg", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/TotalErg": { - tags: { - name: "TotalErg", - amenity: "fuel" - }, - name: "TotalErg", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Turkey Hill": { - tags: { - name: "Turkey Hill", - amenity: "fuel" - }, - name: "Turkey Hill", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Turmöl": { - tags: { - name: "Turmöl", - amenity: "fuel" - }, - name: "Turmöl", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Ultramar": { - tags: { - name: "Ultramar", - amenity: "fuel" - }, - name: "Ultramar", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/United": { - tags: { - name: "United", - amenity: "fuel" - }, - name: "United", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Uno": { - tags: { - name: "Uno", - amenity: "fuel" - }, - name: "Uno", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Uno-X": { - tags: { - name: "Uno-X", - amenity: "fuel" - }, - name: "Uno-X", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Valero": { - tags: { - name: "Valero", - amenity: "fuel" - }, - name: "Valero", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Vito": { - tags: { - name: "Vito", - amenity: "fuel" - }, - name: "Vito", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/WOG": { - tags: { - name: "WOG", - amenity: "fuel" - }, - name: "WOG", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Westfalen": { - tags: { - name: "Westfalen", - amenity: "fuel" - }, - name: "Westfalen", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Woolworths Petrol": { - tags: { - name: "Woolworths Petrol", - amenity: "fuel" - }, - name: "Woolworths Petrol", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Z": { - tags: { - name: "Z", - amenity: "fuel" - }, - name: "Z", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/bft": { - tags: { - name: "bft", - amenity: "fuel" - }, - name: "bft", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/eni": { - tags: { - name: "eni", - amenity: "fuel" - }, - name: "eni", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ΕΚΟ": { - tags: { - name: "ΕΚΟ", - amenity: "fuel" - }, - name: "ΕΚΟ", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/АГЗС": { - tags: { - name: "АГЗС", - amenity: "fuel" - }, - name: "АГЗС", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/АЗС": { - tags: { - name: "АЗС", - amenity: "fuel" - }, - name: "АЗС", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Авіас": { - tags: { - name: "Авіас", - amenity: "fuel" - }, - name: "Авіас", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/БРСМ-Нафта": { - tags: { - name: "БРСМ-Нафта", - amenity: "fuel" - }, - name: "БРСМ-Нафта", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Башнефть": { - tags: { - name: "Башнефть", - amenity: "fuel" - }, - name: "Башнефть", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Белоруснефть": { - tags: { - name: "Белоруснефть", - amenity: "fuel" - }, - name: "Белоруснефть", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Газовая заправка": { - tags: { - name: "Газовая заправка", - amenity: "fuel" - }, - name: "Газовая заправка", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Газпромнефть": { - tags: { - name: "Газпромнефть", - amenity: "fuel" - }, - name: "Газпромнефть", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Гелиос": { - tags: { - name: "Гелиос", - amenity: "fuel" - }, - name: "Гелиос", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ЕКА": { - tags: { - name: "ЕКА", - amenity: "fuel" - }, - name: "ЕКА", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Заправка": { - tags: { - name: "Заправка", - amenity: "fuel" - }, - name: "Заправка", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/КазМунайГаз": { - tags: { - name: "КазМунайГаз", - amenity: "fuel" - }, - name: "КазМунайГаз", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Лукойл": { - tags: { - name: "Лукойл", - amenity: "fuel" - }, - name: "Лукойл", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Макпетрол": { - tags: { - name: "Макпетрол", - amenity: "fuel" - }, - name: "Макпетрол", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/НК Альянс": { - tags: { - name: "НК Альянс", - amenity: "fuel" - }, - name: "НК Альянс", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Нефтьмагистраль": { - tags: { - name: "Нефтьмагистраль", - amenity: "fuel" - }, - name: "Нефтьмагистраль", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ОККО": { - tags: { - name: "ОККО", - amenity: "fuel" - }, - name: "ОККО", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ОМВ": { - tags: { - name: "ОМВ", - amenity: "fuel" - }, - name: "ОМВ", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Октан": { - tags: { - name: "Октан", - amenity: "fuel" - }, - name: "Октан", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ПТК": { - tags: { - name: "ПТК", - amenity: "fuel" - }, - name: "ПТК", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Петрол": { - tags: { - name: "Петрол", - amenity: "fuel" - }, - name: "Петрол", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Пропан": { - tags: { - name: "Пропан", - amenity: "fuel" - }, - name: "Пропан", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Роснефть": { - tags: { - name: "Роснефть", - amenity: "fuel" - }, - name: "Роснефть", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Сибнефть": { - tags: { - name: "Сибнефть", - amenity: "fuel" - }, - name: "Сибнефть", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Сургутнефтегаз": { - tags: { - name: "Сургутнефтегаз", - amenity: "fuel" - }, - name: "Сургутнефтегаз", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ТНК": { - tags: { - name: "ТНК", - amenity: "fuel" - }, - name: "ТНК", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Татнефтепродукт": { - tags: { - name: "Татнефтепродукт", - amenity: "fuel" - }, - name: "Татнефтепродукт", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Татнефть": { - tags: { - name: "Татнефть", - amenity: "fuel" - }, - name: "Татнефть", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/Укрнафта": { - tags: { - name: "Укрнафта", - amenity: "fuel" - }, - name: "Укрнафта", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/דור אלון": { - tags: { - name: "דור אלון", - amenity: "fuel" - }, - name: "דור אלון", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/דלק": { - tags: { - name: "דלק", - amenity: "fuel" - }, - name: "דלק", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/סונול": { - tags: { - name: "סונול", - amenity: "fuel" - }, - name: "סונול", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/פז": { - tags: { - name: "פז", - amenity: "fuel" - }, - name: "פז", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/محطة وقود": { - tags: { - name: "محطة وقود", - amenity: "fuel" - }, - name: "محطة وقود", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/محطه وقود": { - tags: { - name: "محطه وقود", - amenity: "fuel" - }, - name: "محطه وقود", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/پمپ بنزین": { - tags: { - name: "پمپ بنزین", - amenity: "fuel" - }, - name: "پمپ بنزین", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/پمپ گاز": { - tags: { - name: "پمپ گاز", - amenity: "fuel" - }, - name: "پمپ گاز", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/บางจาก": { - tags: { - name: "บางจาก", - amenity: "fuel" - }, - name: "บางจาก", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ป.ต.ท.": { - tags: { - name: "ป.ต.ท.", - amenity: "fuel" - }, - name: "ป.ต.ท.", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/เชลล์": { - tags: { - name: "เชลล์", - amenity: "fuel" - }, - name: "เชลล์", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/เอสโซ่": { - tags: { - name: "เอสโซ่", - amenity: "fuel" - }, - name: "เอสโซ่", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/エッソ": { - tags: { - name: "エッソ", - amenity: "fuel" - }, - name: "エッソ", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/エネオス": { - tags: { - name: "エネオス", - amenity: "fuel" - }, - name: "エネオス", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/コスモ石油": { - tags: { - name: "コスモ石油", - amenity: "fuel" - }, - name: "コスモ石油", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/ゼネラル": { - tags: { - name: "ゼネラル", - amenity: "fuel" - }, - name: "ゼネラル", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/中国石化": { - tags: { - name: "中国石化", - amenity: "fuel" - }, - name: "中国石化", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/中国石化 Sinopec": { - tags: { - name: "中国石化 Sinopec", - amenity: "fuel" - }, - name: "中国石化 Sinopec", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/中国石油": { - tags: { - name: "中国石油", - amenity: "fuel" - }, - name: "中国石油", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/中油": { - tags: { - name: "中油", - amenity: "fuel" - }, - name: "中油", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/出光": { - tags: { - name: "出光", - "name:en": "Idemitsu", - amenity: "fuel" - }, - name: "出光", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/加油站": { - tags: { - name: "加油站", - amenity: "fuel" - }, - name: "加油站", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/台灣中油": { - tags: { - name: "台灣中油", - amenity: "fuel" - }, - name: "台灣中油", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/fuel/昭和シェル": { - tags: { - name: "昭和シェル", - amenity: "fuel" - }, - name: "昭和シェル", - icon: "fuel", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "fuel_multi", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "amenity/hospital/Cruz Roja": { - tags: { - name: "Cruz Roja", - healthcare: "hospital", - amenity: "hospital" - }, - name: "Cruz Roja", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/IMSS": { - tags: { - name: "IMSS", - healthcare: "hospital", - amenity: "hospital" - }, - name: "IMSS", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/Инфекционное отделение": { - tags: { - name: "Инфекционное отделение", - healthcare: "hospital", - amenity: "hospital" - }, - name: "Инфекционное отделение", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/Кожно-венерологический диспансер": { - tags: { - name: "Кожно-венерологический диспансер", - healthcare: "hospital", - amenity: "hospital" - }, - name: "Кожно-венерологический диспансер", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/Районная больница": { - tags: { - name: "Районная больница", - healthcare: "hospital", - amenity: "hospital" - }, - name: "Районная больница", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/Роддом": { - tags: { - name: "Роддом", - healthcare: "hospital", - amenity: "hospital" - }, - name: "Роддом", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/Родильный дом": { - tags: { - name: "Родильный дом", - healthcare: "hospital", - amenity: "hospital" - }, - name: "Родильный дом", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/Скорая помощь": { - tags: { - name: "Скорая помощь", - healthcare: "hospital", - amenity: "hospital" - }, - name: "Скорая помощь", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/ЦРБ": { - tags: { - name: "ЦРБ", - healthcare: "hospital", - amenity: "hospital" - }, - name: "ЦРБ", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/Центральная районная больница": { - tags: { - name: "Центральная районная больница", - healthcare: "hospital", - amenity: "hospital" - }, - name: "Центральная районная больница", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/hospital/โรงพยาบาลส่งเสริมสุขภาพตำบล": { - tags: { - name: "โรงพยาบาลส่งเสริมสุขภาพตำบล", - healthcare: "hospital", - amenity: "hospital" - }, - name: "โรงพยาบาลส่งเสริมสุขภาพตำบล", - icon: "hospital", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "healthcare/speciality", - "address", - "emergency" - ], - suggestion: true - }, - "amenity/ice_cream/Grido": { - tags: { - name: "Grido", - amenity: "ice_cream" - }, - name: "Grido", - icon: "ice-cream", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "takeaway", - "delivery", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/kindergarten/Anganwadi": { - tags: { - name: "Anganwadi", - amenity: "kindergarten" - }, - name: "Anganwadi", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Arche Noah": { - tags: { - name: "Arche Noah", - amenity: "kindergarten" - }, - name: "Arche Noah", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/CONAFE Preescolar": { - tags: { - name: "CONAFE Preescolar", - amenity: "kindergarten" - }, - name: "CONAFE Preescolar", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "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: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Evangelischer Kindergarten": { - tags: { - name: "Evangelischer Kindergarten", - amenity: "kindergarten" - }, - name: "Evangelischer Kindergarten", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Federico Froebel": { - tags: { - name: "Federico Froebel", - amenity: "kindergarten" - }, - name: "Federico Froebel", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Gabriela Mistral": { - tags: { - name: "Gabriela Mistral", - amenity: "kindergarten" - }, - name: "Gabriela Mistral", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Jean Piaget": { - tags: { - name: "Jean Piaget", - amenity: "kindergarten" - }, - name: "Jean Piaget", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Katholischer Kindergarten": { - tags: { - name: "Katholischer Kindergarten", - amenity: "kindergarten" - }, - name: "Katholischer Kindergarten", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Kindergarten Regenbogen": { - tags: { - name: "Kindergarten Regenbogen", - amenity: "kindergarten" - }, - name: "Kindergarten Regenbogen", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Kindergarten St. Martin": { - tags: { - name: "Kindergarten St. Martin", - amenity: "kindergarten" - }, - name: "Kindergarten St. Martin", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Maria Montessori": { - tags: { - name: "Maria Montessori", - amenity: "kindergarten" - }, - name: "Maria Montessori", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/PAUD": { - tags: { - name: "PAUD", - amenity: "kindergarten" - }, - name: "PAUD", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Pusteblume": { - tags: { - name: "Pusteblume", - amenity: "kindergarten" - }, - name: "Pusteblume", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Rosaura Zapata": { - tags: { - name: "Rosaura Zapata", - amenity: "kindergarten" - }, - name: "Rosaura Zapata", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Spatzennest": { - tags: { - name: "Spatzennest", - amenity: "kindergarten" - }, - name: "Spatzennest", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Villa Kunterbunt": { - tags: { - name: "Villa Kunterbunt", - amenity: "kindergarten" - }, - name: "Villa Kunterbunt", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Waldkindergarten": { - tags: { - name: "Waldkindergarten", - amenity: "kindergarten" - }, - name: "Waldkindergarten", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Waldorfkindergarten": { - tags: { - name: "Waldorfkindergarten", - amenity: "kindergarten" - }, - name: "Waldorfkindergarten", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Óvoda": { - tags: { - name: "Óvoda", - amenity: "kindergarten" - }, - name: "Óvoda", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детсад": { - tags: { - name: "Детсад", - amenity: "kindergarten" - }, - name: "Детсад", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад Солнышко": { - tags: { - name: "Детский сад Солнышко", - amenity: "kindergarten" - }, - name: "Детский сад Солнышко", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад № 1": { - tags: { - name: "Детский сад № 1", - amenity: "kindergarten" - }, - name: "Детский сад № 1", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №1": { - tags: { - name: "Детский сад №1", - amenity: "kindergarten" - }, - name: "Детский сад №1", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №10": { - tags: { - name: "Детский сад №10", - amenity: "kindergarten" - }, - name: "Детский сад №10", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №11": { - tags: { - name: "Детский сад №11", - amenity: "kindergarten" - }, - name: "Детский сад №11", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №12": { - tags: { - name: "Детский сад №12", - amenity: "kindergarten" - }, - name: "Детский сад №12", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №13": { - tags: { - name: "Детский сад №13", - amenity: "kindergarten" - }, - name: "Детский сад №13", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №14": { - tags: { - name: "Детский сад №14", - amenity: "kindergarten" - }, - name: "Детский сад №14", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №15": { - tags: { - name: "Детский сад №15", - amenity: "kindergarten" - }, - name: "Детский сад №15", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №16": { - tags: { - name: "Детский сад №16", - amenity: "kindergarten" - }, - name: "Детский сад №16", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №17": { - tags: { - name: "Детский сад №17", - amenity: "kindergarten" - }, - name: "Детский сад №17", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №18": { - tags: { - name: "Детский сад №18", - amenity: "kindergarten" - }, - name: "Детский сад №18", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №19": { - tags: { - name: "Детский сад №19", - amenity: "kindergarten" - }, - name: "Детский сад №19", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №2": { - tags: { - name: "Детский сад №2", - amenity: "kindergarten" - }, - name: "Детский сад №2", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №22": { - tags: { - name: "Детский сад №22", - amenity: "kindergarten" - }, - name: "Детский сад №22", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №24": { - tags: { - name: "Детский сад №24", - amenity: "kindergarten" - }, - name: "Детский сад №24", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №25": { - tags: { - name: "Детский сад №25", - amenity: "kindergarten" - }, - name: "Детский сад №25", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №27": { - tags: { - name: "Детский сад №27", - amenity: "kindergarten" - }, - name: "Детский сад №27", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №29": { - tags: { - name: "Детский сад №29", - amenity: "kindergarten" - }, - name: "Детский сад №29", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №3": { - tags: { - name: "Детский сад №3", - amenity: "kindergarten" - }, - name: "Детский сад №3", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №33": { - tags: { - name: "Детский сад №33", - amenity: "kindergarten" - }, - name: "Детский сад №33", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №4": { - tags: { - name: "Детский сад №4", - amenity: "kindergarten" - }, - name: "Детский сад №4", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №5": { - tags: { - name: "Детский сад №5", - amenity: "kindergarten" - }, - name: "Детский сад №5", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №6": { - tags: { - name: "Детский сад №6", - amenity: "kindergarten" - }, - name: "Детский сад №6", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №7": { - tags: { - name: "Детский сад №7", - amenity: "kindergarten" - }, - name: "Детский сад №7", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №8": { - tags: { - name: "Детский сад №8", - amenity: "kindergarten" - }, - name: "Детский сад №8", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Детский сад №9": { - tags: { - name: "Детский сад №9", - amenity: "kindergarten" - }, - name: "Детский сад №9", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Дитячий садок": { - tags: { - name: "Дитячий садок", - amenity: "kindergarten" - }, - name: "Дитячий садок", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/Солнышко": { - tags: { - name: "Солнышко", - amenity: "kindergarten" - }, - name: "Солнышко", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/საბავშვო ბაღი": { - tags: { - name: "საბავშვო ბაღი", - amenity: "kindergarten" - }, - name: "საბავშვო ბაღი", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/kindergarten/中央保育所": { - tags: { - name: "中央保育所", - amenity: "kindergarten" - }, - name: "中央保育所", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "amenity/library/Biblioteca Comunale": { - tags: { - name: "Biblioteca Comunale", - amenity: "library" - }, - name: "Biblioteca Comunale", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Biblioteca comunale": { - tags: { - name: "Biblioteca comunale", - amenity: "library" - }, - name: "Biblioteca comunale", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Biblioteka Publiczna": { - tags: { - name: "Biblioteka Publiczna", - amenity: "library" - }, - name: "Biblioteka Publiczna", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Bibliothèque Municipale": { - tags: { - name: "Bibliothèque Municipale", - amenity: "library" - }, - name: "Bibliothèque Municipale", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Bibliothèque municipale": { - tags: { - name: "Bibliothèque municipale", - amenity: "library" - }, - name: "Bibliothèque municipale", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Bücherei": { - tags: { - name: "Bücherei", - amenity: "library" - }, - name: "Bücherei", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Central Library": { - tags: { - name: "Central Library", - amenity: "library" - }, - name: "Central Library", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Gemeindebücherei": { - tags: { - name: "Gemeindebücherei", - amenity: "library" - }, - name: "Gemeindebücherei", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Gminna Biblioteka Publiczna": { - tags: { - name: "Gminna Biblioteka Publiczna", - amenity: "library" - }, - name: "Gminna Biblioteka Publiczna", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Miejska Biblioteka Publiczna": { - tags: { - name: "Miejska Biblioteka Publiczna", - amenity: "library" - }, - name: "Miejska Biblioteka Publiczna", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Médiathèque": { - tags: { - name: "Médiathèque", - amenity: "library" - }, - name: "Médiathèque", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Městská knihovna": { - tags: { - name: "Městská knihovna", - amenity: "library" - }, - name: "Městská knihovna", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Public Library": { - tags: { - name: "Public Library", - amenity: "library" - }, - name: "Public Library", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Stadtbibliothek": { - tags: { - name: "Stadtbibliothek", - amenity: "library" - }, - name: "Stadtbibliothek", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Stadtbücherei": { - tags: { - name: "Stadtbücherei", - amenity: "library" - }, - name: "Stadtbücherei", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Городская библиотека": { - tags: { - name: "Городская библиотека", - amenity: "library" - }, - name: "Городская библиотека", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Детская библиотека": { - tags: { - name: "Детская библиотека", - amenity: "library" - }, - name: "Детская библиотека", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Центральная библиотека": { - tags: { - name: "Центральная библиотека", - amenity: "library" - }, - name: "Центральная библиотека", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/Центральная городская библиотека": { - tags: { - name: "Центральная городская библиотека", - amenity: "library" - }, - name: "Центральная городская библиотека", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/library/图书馆": { - tags: { - name: "图书馆", - amenity: "library" - }, - name: "图书馆", - icon: "library", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "building_area", - "address", - "opening_hours", - "internet_access", - "internet_access/fee", - "internet_access/ssid", - "ref/isil" - ], - suggestion: true - }, - "amenity/pharmacy/36.6": { - tags: { - name: "36.6", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "36.6", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Adler-Apotheke": { - tags: { - name: "Adler-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Adler-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Alte Apotheke": { - tags: { - name: "Alte Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Alte Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Apollo Pharmacy": { - tags: { - name: "Apollo Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Apollo Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Apotek": { - tags: { - name: "Apotek", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Apotek", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Apotek Hjärtat": { - tags: { - name: "Apotek Hjärtat", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Apotek Hjärtat", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Apotheke am Markt": { - tags: { - name: "Apotheke am Markt", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Apotheke am Markt", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Bahnhof Apotheke": { - tags: { - name: "Bahnhof Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Bahnhof Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Bahnhof-Apotheke": { - tags: { - name: "Bahnhof-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Bahnhof-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Bartell Drugs": { - tags: { - name: "Bartell Drugs", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Bartell Drugs", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Benavides": { - tags: { - name: "Benavides", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Benavides", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Benu": { - tags: { - name: "Benu", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Benu", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Boots": { - tags: { - name: "Boots", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Boots", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Botica": { - tags: { - name: "Botica", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Botica", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Brunnen-Apotheke": { - tags: { - name: "Brunnen-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Brunnen-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Burg-Apotheke": { - tags: { - name: "Burg-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Burg-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Bären-Apotheke": { - tags: { - name: "Bären-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Bären-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/CVS": { - tags: { - name: "CVS", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "CVS", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Camelia": { - tags: { - name: "Camelia", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Camelia", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Catena": { - tags: { - name: "Catena", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Catena", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Chemist Warehouse": { - tags: { - name: "Chemist Warehouse", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Chemist Warehouse", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Clicks": { - tags: { - name: "Clicks", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Clicks", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Cruz Azul": { - tags: { - name: "Cruz Azul", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Cruz Azul", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Cruz Verde": { - tags: { - name: "Cruz Verde", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Cruz Verde", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Dbam o Zdrowie": { - tags: { - name: "Dbam o Zdrowie", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Dbam o Zdrowie", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Dr. Max": { - tags: { - name: "Dr. Max", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Dr. Max", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Droga Raia": { - tags: { - name: "Droga Raia", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Droga Raia", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Drogaria São Paulo": { - tags: { - name: "Drogaria São Paulo", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Drogaria São Paulo", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Drogasil": { - tags: { - name: "Drogasil", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Drogasil", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Duane Reade": { - tags: { - name: "Duane Reade", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Duane Reade", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Eczane": { - tags: { - name: "Eczane", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Eczane", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Engel-Apotheke": { - tags: { - name: "Engel-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Engel-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Eurovaistinė": { - tags: { - name: "Eurovaistinė", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Eurovaistinė", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Familiprix": { - tags: { - name: "Familiprix", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Familiprix", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacenter": { - tags: { - name: "Farmacenter", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacenter", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacia Centrale": { - tags: { - name: "Farmacia Centrale", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacia Centrale", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacia Comunale": { - tags: { - name: "Farmacia Comunale", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacia Comunale", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacia Guadalajara": { - tags: { - name: "Farmacia Guadalajara", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacia Guadalajara", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacia del Ahorro": { - tags: { - name: "Farmacia del Ahorro", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacia del Ahorro", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias Ahumada": { - tags: { - name: "Farmacias Ahumada", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias Ahumada", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias Cruz Azul": { - tags: { - name: "Farmacias Cruz Azul", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias Cruz Azul", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias Cruz Verde": { - tags: { - name: "Farmacias Cruz Verde", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias Cruz Verde", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias Económicas": { - tags: { - name: "Farmacias Económicas", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias Económicas", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias Guadalajara": { - tags: { - name: "Farmacias Guadalajara", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias Guadalajara", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias SalcoBrand": { - tags: { - name: "Farmacias SalcoBrand", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias SalcoBrand", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias Sana Sana": { - tags: { - name: "Farmacias Sana Sana", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias Sana Sana", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias Similares": { - tags: { - name: "Farmacias Similares", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias Similares", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacias del Ahorro": { - tags: { - name: "Farmacias del Ahorro", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacias del Ahorro", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmacity": { - tags: { - name: "Farmacity", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmacity", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmahorro": { - tags: { - name: "Farmahorro", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmahorro", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Farmatodo": { - tags: { - name: "Farmatodo", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Farmatodo", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Felicia": { - tags: { - name: "Felicia", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Felicia", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Fybeca": { - tags: { - name: "Fybeca", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Fybeca", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Generika Drugstore": { - tags: { - name: "Generika Drugstore", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Generika Drugstore", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Gintarinė vaistinė": { - tags: { - name: "Gintarinė vaistinė", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Gintarinė vaistinė", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Guardian": { - tags: { - name: "Guardian", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Guardian", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Gyógyszertár": { - tags: { - name: "Gyógyszertár", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Gyógyszertár", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/H-E-B Pharmacy": { - tags: { - name: "H-E-B Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "H-E-B Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Hirsch-Apotheke": { - tags: { - name: "Hirsch-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Hirsch-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Hubertus Apotheke": { - tags: { - name: "Hubertus Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Hubertus Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Inkafarma": { - tags: { - name: "Inkafarma", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Inkafarma", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Jean Coutu": { - tags: { - name: "Jean Coutu", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Jean Coutu", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Kinney Drugs": { - tags: { - name: "Kinney Drugs", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Kinney Drugs", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Kur-Apotheke": { - tags: { - name: "Kur-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Kur-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Linden-Apotheke": { - tags: { - name: "Linden-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Linden-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Ljekarna": { - tags: { - name: "Ljekarna", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Ljekarna", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Lloyds Pharmacy": { - tags: { - name: "Lloyds Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Lloyds Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Lékárna": { - tags: { - name: "Lékárna", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Lékárna", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Löwen-Apotheke": { - tags: { - name: "Löwen-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Löwen-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Marien-Apotheke": { - tags: { - name: "Marien-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Marien-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Markt-Apotheke": { - tags: { - name: "Markt-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Markt-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Mercury Drug": { - tags: { - name: "Mercury Drug", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Mercury Drug", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Mifarma": { - tags: { - name: "Mifarma", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Mifarma", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Mēness aptieka": { - tags: { - name: "Mēness aptieka", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Mēness aptieka", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Neue Apotheke": { - tags: { - name: "Neue Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Neue Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pague Menos": { - tags: { - name: "Pague Menos", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pague Menos", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Panvel": { - tags: { - name: "Panvel", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Panvel", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Park-Apotheke": { - tags: { - name: "Park-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Park-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie Centrale": { - tags: { - name: "Pharmacie Centrale", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie Centrale", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie Principale": { - tags: { - name: "Pharmacie Principale", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie Principale", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie de l'Hôtel de Ville": { - tags: { - name: "Pharmacie de l'Hôtel de Ville", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie de l'Hôtel de Ville", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie de la Gare": { - tags: { - name: "Pharmacie de la Gare", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie de la Gare", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie de la Mairie": { - tags: { - name: "Pharmacie de la Mairie", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie de la Mairie", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie de la Poste": { - tags: { - name: "Pharmacie de la Poste", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie de la Poste", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie du Centre": { - tags: { - name: "Pharmacie du Centre", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie du Centre", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie du Marché": { - tags: { - name: "Pharmacie du Marché", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie du Marché", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmacie du Parc": { - tags: { - name: "Pharmacie du Parc", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmacie du Parc", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmaprix": { - tags: { - name: "Pharmaprix", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmaprix", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Pharmasave": { - tags: { - name: "Pharmasave", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Pharmasave", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Punkt Apteczny": { - tags: { - name: "Punkt Apteczny", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Punkt Apteczny", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Rathaus-Apotheke": { - tags: { - name: "Rathaus-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Rathaus-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Rats-Apotheke": { - tags: { - name: "Rats-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Rats-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Rexall": { - tags: { - name: "Rexall", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Rexall", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Rite Aid": { - tags: { - name: "Rite Aid", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Rite Aid", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Rose Pharmacy": { - tags: { - name: "Rose Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Rose Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Rosen-Apotheke": { - tags: { - name: "Rosen-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Rosen-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Rowlands Pharmacy": { - tags: { - name: "Rowlands Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Rowlands Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/SalcoBrand": { - tags: { - name: "SalcoBrand", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "SalcoBrand", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Sana Sana": { - tags: { - name: "Sana Sana", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Sana Sana", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Schloss-Apotheke": { - tags: { - name: "Schloss-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Schloss-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Sensiblu": { - tags: { - name: "Sensiblu", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Sensiblu", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Shoppers Drug Mart": { - tags: { - name: "Shoppers Drug Mart", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Shoppers Drug Mart", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Sonnen-Apotheke": { - tags: { - name: "Sonnen-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Sonnen-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/South Star Drug": { - tags: { - name: "South Star Drug", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "South Star Drug", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Stadt-Apotheke": { - tags: { - name: "Stadt-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Stadt-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Stern-Apotheke": { - tags: { - name: "Stern-Apotheke", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Stern-Apotheke", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Superdrug": { - tags: { - name: "Superdrug", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Superdrug", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/São João": { - tags: { - name: "São João", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "São João", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/The Generics Pharmacy": { - tags: { - name: "The Generics Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "The Generics Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Uniprix": { - tags: { - name: "Uniprix", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Uniprix", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Walgreens": { - tags: { - name: "Walgreens", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Walgreens", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Walgreens Pharmacy": { - tags: { - name: "Walgreens Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Walgreens Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Walmart Pharmacy": { - tags: { - name: "Walmart Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Walmart Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Well Pharmacy": { - tags: { - name: "Well Pharmacy", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Well Pharmacy", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/centro naturista": { - tags: { - name: "centro naturista", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "centro naturista", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/А5": { - tags: { - name: "А5", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "А5", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Айболит": { - tags: { - name: "Айболит", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Айболит", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Аптека 36,6": { - tags: { - name: "Аптека 36,6", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Аптека 36,6", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Аптека низких цен": { - tags: { - name: "Аптека низких цен", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Аптека низких цен", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Аптека низьких цін": { - tags: { - name: "Аптека низьких цін", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Аптека низьких цін", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Аптека от склада": { - tags: { - name: "Аптека от склада", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Аптека от склада", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Аптека №1": { - tags: { - name: "Аптека №1", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Аптека №1", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Аптечный пункт": { - tags: { - name: "Аптечный пункт", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Аптечный пункт", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Арніка": { - tags: { - name: "Арніка", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Арніка", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Бережная аптека": { - tags: { - name: "Бережная аптека", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Бережная аптека", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Будь здоров": { - tags: { - name: "Будь здоров", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Будь здоров", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Вита": { - tags: { - name: "Вита", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Вита", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Горздрав": { - tags: { - name: "Горздрав", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Горздрав", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Живика": { - tags: { - name: "Живика", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Живика", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Здоровье": { - tags: { - name: "Здоровье", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Здоровье", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Имплозия": { - tags: { - name: "Имплозия", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Имплозия", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Классика": { - tags: { - name: "Классика", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Классика", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Ладушка": { - tags: { - name: "Ладушка", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Ладушка", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Мед-сервіс": { - tags: { - name: "Мед-сервіс", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Мед-сервіс", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Мелодия здоровья": { - tags: { - name: "Мелодия здоровья", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Мелодия здоровья", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Невис": { - tags: { - name: "Невис", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Невис", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Норма": { - tags: { - name: "Норма", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Норма", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Озерки": { - tags: { - name: "Озерки", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Озерки", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Панацея": { - tags: { - name: "Панацея", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Панацея", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Первая помощь": { - tags: { - name: "Первая помощь", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Первая помощь", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Планета здоровья": { - tags: { - name: "Планета здоровья", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Планета здоровья", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Ригла": { - tags: { - name: "Ригла", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Ригла", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Семейная": { - tags: { - name: "Семейная", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Семейная", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Социальная аптека": { - tags: { - name: "Социальная аптека", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Социальная аптека", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Столички": { - tags: { - name: "Столички", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Столички", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Фармакопейка": { - tags: { - name: "Фармакопейка", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Фармакопейка", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Фармакор": { - tags: { - name: "Фармакор", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Фармакор", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Фармация": { - tags: { - name: "Фармация", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Фармация", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Фармленд": { - tags: { - name: "Фармленд", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Фармленд", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/Центральная аптека": { - tags: { - name: "Центральная аптека", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "Центральная аптека", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/סופר-פארם": { - tags: { - name: "סופר-פארם", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "סופר-פארם", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/داروخانه": { - tags: { - name: "داروخانه", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "داروخانه", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/داروخانه شبانه روزی": { - tags: { - name: "داروخانه شبانه روزی", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "داروخانه شبانه روزی", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/صيدلية": { - tags: { - name: "صيدلية", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "صيدلية", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/くすりの福太郎": { - tags: { - name: "くすりの福太郎", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "くすりの福太郎", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/さくら薬局": { - tags: { - name: "さくら薬局", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "さくら薬局", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/ウエルシア": { - tags: { - name: "ウエルシア", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "ウエルシア", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/カワチ薬品": { - tags: { - name: "カワチ薬品", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "カワチ薬品", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/クリエイト": { - tags: { - name: "クリエイト", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "クリエイト", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/サンドラッグ": { - tags: { - name: "サンドラッグ", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "サンドラッグ", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/スギ薬局": { - tags: { - name: "スギ薬局", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "スギ薬局", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/セイジョー": { - tags: { - name: "セイジョー", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "セイジョー", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/ツルハドラッグ": { - tags: { - name: "ツルハドラッグ", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "ツルハドラッグ", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/ドラッグてらしま (Drug Terashima)": { - tags: { - name: "ドラッグてらしま (Drug Terashima)", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "ドラッグてらしま (Drug Terashima)", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/マツモトキヨシ": { - tags: { - name: "マツモトキヨシ", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "マツモトキヨシ", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pharmacy/丁丁藥局": { - tags: { - name: "丁丁藥局", - healthcare: "pharmacy", - amenity: "pharmacy" - }, - name: "丁丁藥局", - icon: "pharmacy", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "drive_through", - "opening_hours", - "payment_multi", - "dispensing" - ], - suggestion: true - }, - "amenity/pub/Black Bull": { - tags: { - name: "Black Bull", - amenity: "pub" - }, - name: "Black Bull", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Commercial Hotel": { - tags: { - name: "Commercial Hotel", - amenity: "pub" - }, - name: "Commercial Hotel", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Cross Keys": { - tags: { - name: "Cross Keys", - amenity: "pub" - }, - name: "Cross Keys", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Irish Pub": { - tags: { - name: "Irish Pub", - amenity: "pub" - }, - name: "Irish Pub", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Kings Arms": { - tags: { - name: "Kings Arms", - amenity: "pub" - }, - name: "Kings Arms", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Kings Head": { - tags: { - name: "Kings Head", - amenity: "pub" - }, - name: "Kings Head", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/New Inn": { - tags: { - name: "New Inn", - amenity: "pub" - }, - name: "New Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Prince of Wales": { - tags: { - name: "Prince of Wales", - amenity: "pub" - }, - name: "Prince of Wales", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Queens Head": { - tags: { - name: "Queens Head", - amenity: "pub" - }, - name: "Queens Head", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Red Lion": { - tags: { - name: "Red Lion", - amenity: "pub" - }, - name: "Red Lion", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Rose & Crown": { - tags: { - name: "Rose & Crown", - amenity: "pub" - }, - name: "Rose & Crown", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Rose and Crown": { - tags: { - name: "Rose and Crown", - amenity: "pub" - }, - name: "Rose and Crown", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/Royal Oak": { - tags: { - name: "Royal Oak", - amenity: "pub" - }, - name: "Royal Oak", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Albion": { - tags: { - name: "The Albion", - amenity: "pub" - }, - name: "The Albion", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Anchor": { - tags: { - name: "The Anchor", - amenity: "pub" - }, - name: "The Anchor", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Angel": { - tags: { - name: "The Angel", - amenity: "pub" - }, - name: "The Angel", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Beehive": { - tags: { - name: "The Beehive", - amenity: "pub" - }, - name: "The Beehive", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Bell": { - tags: { - name: "The Bell", - amenity: "pub" - }, - name: "The Bell", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Bell Inn": { - tags: { - name: "The Bell Inn", - amenity: "pub" - }, - name: "The Bell Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Black Horse": { - tags: { - name: "The Black Horse", - amenity: "pub" - }, - name: "The Black Horse", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Bull": { - tags: { - name: "The Bull", - amenity: "pub" - }, - name: "The Bull", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Castle": { - tags: { - name: "The Castle", - amenity: "pub" - }, - name: "The Castle", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Chequers": { - tags: { - name: "The Chequers", - amenity: "pub" - }, - name: "The Chequers", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Cricketers": { - tags: { - name: "The Cricketers", - amenity: "pub" - }, - name: "The Cricketers", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Cross Keys": { - tags: { - name: "The Cross Keys", - amenity: "pub" - }, - name: "The Cross Keys", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Crown": { - tags: { - name: "The Crown", - amenity: "pub" - }, - name: "The Crown", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Crown Inn": { - tags: { - name: "The Crown Inn", - amenity: "pub" - }, - name: "The Crown Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Fox": { - tags: { - name: "The Fox", - amenity: "pub" - }, - name: "The Fox", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The George": { - tags: { - name: "The George", - amenity: "pub" - }, - name: "The George", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Green Man": { - tags: { - name: "The Green Man", - amenity: "pub" - }, - name: "The Green Man", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Greyhound": { - tags: { - name: "The Greyhound", - amenity: "pub" - }, - name: "The Greyhound", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Kings Arms": { - tags: { - name: "The Kings Arms", - amenity: "pub" - }, - name: "The Kings Arms", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Kings Head": { - tags: { - name: "The Kings Head", - amenity: "pub" - }, - name: "The Kings Head", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The New Inn": { - tags: { - name: "The New Inn", - amenity: "pub" - }, - name: "The New Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Plough": { - tags: { - name: "The Plough", - amenity: "pub" - }, - name: "The Plough", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Plough Inn": { - tags: { - name: "The Plough Inn", - amenity: "pub" - }, - name: "The Plough Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Queens Head": { - tags: { - name: "The Queens Head", - amenity: "pub" - }, - name: "The Queens Head", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Railway": { - tags: { - name: "The Railway", - amenity: "pub" - }, - name: "The Railway", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Red Lion": { - tags: { - name: "The Red Lion", - amenity: "pub" - }, - name: "The Red Lion", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Rising Sun": { - tags: { - name: "The Rising Sun", - amenity: "pub" - }, - name: "The Rising Sun", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Royal Oak": { - tags: { - name: "The Royal Oak", - amenity: "pub" - }, - name: "The Royal Oak", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Ship": { - tags: { - name: "The Ship", - amenity: "pub" - }, - name: "The Ship", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Ship Inn": { - tags: { - name: "The Ship Inn", - amenity: "pub" - }, - name: "The Ship Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Star": { - tags: { - name: "The Star", - amenity: "pub" - }, - name: "The Star", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Star Inn": { - tags: { - name: "The Star Inn", - amenity: "pub" - }, - name: "The Star Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Sun Inn": { - tags: { - name: "The Sun Inn", - amenity: "pub" - }, - name: "The Sun Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Swan": { - tags: { - name: "The Swan", - amenity: "pub" - }, - name: "The Swan", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Swan Inn": { - tags: { - name: "The Swan Inn", - amenity: "pub" - }, - name: "The Swan Inn", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Victoria": { - tags: { - name: "The Victoria", - amenity: "pub" - }, - name: "The Victoria", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The Wheatsheaf": { - tags: { - name: "The Wheatsheaf", - amenity: "pub" - }, - name: "The Wheatsheaf", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The White Hart": { - tags: { - name: "The White Hart", - amenity: "pub" - }, - name: "The White Hart", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The White Horse": { - tags: { - name: "The White Horse", - amenity: "pub" - }, - name: "The White Horse", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The White Lion": { - tags: { - name: "The White Lion", - amenity: "pub" - }, - name: "The White Lion", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/The White Swan": { - tags: { - name: "The White Swan", - amenity: "pub" - }, - name: "The White Swan", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/魚民": { - tags: { - name: "魚民", - amenity: "pub" - }, - name: "魚民", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/pub/鳥貴族": { - tags: { - name: "鳥貴族", - amenity: "pub" - }, - name: "鳥貴族", - icon: "beer", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "address", - "building_area", - "opening_hours", - "smoking", - "outdoor_seating", - "brewery" - ], - suggestion: true - }, - "amenity/restaurant/Adler": { - tags: { - name: "Adler", - amenity: "restaurant" - }, - name: "Adler", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Adria": { - tags: { - name: "Adria", - amenity: "restaurant" - }, - name: "Adria", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Adyar Ananda Bhavan": { - tags: { - name: "Adyar Ananda Bhavan", - amenity: "restaurant" - }, - name: "Adyar Ananda Bhavan", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Akropolis": { - tags: { - name: "Akropolis", - amenity: "restaurant" - }, - name: "Akropolis", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Alte Post": { - tags: { - name: "Alte Post", - amenity: "restaurant" - }, - name: "Alte Post", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Applebee's": { - tags: { - name: "Applebee's", - amenity: "restaurant" - }, - name: "Applebee's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Asia": { - tags: { - name: "Asia", - amenity: "restaurant" - }, - name: "Asia", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Athen": { - tags: { - name: "Athen", - amenity: "restaurant" - }, - name: "Athen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Athos": { - tags: { - name: "Athos", - amenity: "restaurant" - }, - name: "Athos", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Autogrill": { - tags: { - name: "Autogrill", - amenity: "restaurant" - }, - name: "Autogrill", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Bahnhof": { - tags: { - name: "Bahnhof", - amenity: "restaurant" - }, - name: "Bahnhof", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Bella Italia": { - tags: { - name: "Bella Italia", - amenity: "restaurant" - }, - name: "Bella Italia", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Bella Napoli": { - tags: { - name: "Bella Napoli", - amenity: "restaurant" - }, - name: "Bella Napoli", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Big Boy": { - tags: { - name: "Big Boy", - amenity: "restaurant" - }, - name: "Big Boy", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Bob Evans": { - tags: { - name: "Bob Evans", - amenity: "restaurant" - }, - name: "Bob Evans", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Bonefish Grill": { - tags: { - name: "Bonefish Grill", - amenity: "restaurant" - }, - name: "Bonefish Grill", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Boston Pizza": { - tags: { - name: "Boston Pizza", - amenity: "restaurant" - }, - name: "Boston Pizza", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Buffalo Grill": { - tags: { - name: "Buffalo Grill", - amenity: "restaurant" - }, - name: "Buffalo Grill", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Buffalo Wild Wings": { - tags: { - name: "Buffalo Wild Wings", - amenity: "restaurant" - }, - name: "Buffalo Wild Wings", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Bären": { - tags: { - name: "Bären", - amenity: "restaurant" - }, - name: "Bären", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/California Pizza Kitchen": { - tags: { - name: "California Pizza Kitchen", - amenity: "restaurant" - }, - name: "California Pizza Kitchen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Canteen": { - tags: { - name: "Canteen", - amenity: "restaurant" - }, - name: "Canteen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Capri": { - tags: { - name: "Capri", - amenity: "restaurant" - }, - name: "Capri", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Carluccio's": { - tags: { - name: "Carluccio's", - amenity: "restaurant" - }, - name: "Carluccio's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Carpe Diem": { - tags: { - name: "Carpe Diem", - amenity: "restaurant" - }, - name: "Carpe Diem", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Casa Mia": { - tags: { - name: "Casa Mia", - amenity: "restaurant" - }, - name: "Casa Mia", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Casablanca": { - tags: { - name: "Casablanca", - amenity: "restaurant" - }, - name: "Casablanca", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Cheesecake Factory": { - tags: { - name: "Cheesecake Factory", - amenity: "restaurant" - }, - name: "Cheesecake Factory", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Chifa": { - tags: { - name: "Chifa", - amenity: "restaurant" - }, - name: "Chifa", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Chili's": { - tags: { - name: "Chili's", - amenity: "restaurant" - }, - name: "Chili's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/China Buffet": { - tags: { - name: "China Buffet", - amenity: "restaurant" - }, - name: "China Buffet", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/China Garden": { - tags: { - name: "China Garden", - amenity: "restaurant" - }, - name: "China Garden", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/China House": { - tags: { - name: "China House", - amenity: "restaurant" - }, - name: "China House", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/China Town": { - tags: { - name: "China Town", - amenity: "restaurant" - }, - name: "China Town", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/China Wok": { - tags: { - name: "China Wok", - amenity: "restaurant" - }, - name: "China Wok", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Chiquito": { - tags: { - name: "Chiquito", - amenity: "restaurant" - }, - name: "Chiquito", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Chuck E. Cheese's": { - tags: { - name: "Chuck E. Cheese's", - amenity: "restaurant" - }, - name: "Chuck E. Cheese's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Cici's Pizza": { - tags: { - name: "Cici's Pizza", - amenity: "restaurant" - }, - name: "Cici's Pizza", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Comedor": { - tags: { - name: "Comedor", - amenity: "restaurant" - }, - name: "Comedor", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Comida China": { - tags: { - name: "Comida China", - amenity: "restaurant" - }, - name: "Comida China", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Courtepaille": { - tags: { - name: "Courtepaille", - amenity: "restaurant" - }, - name: "Courtepaille", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Cracker Barrel": { - tags: { - name: "Cracker Barrel", - amenity: "restaurant" - }, - name: "Cracker Barrel", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Da Grasso": { - tags: { - name: "Da Grasso", - amenity: "restaurant" - }, - name: "Da Grasso", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Da Vinci": { - tags: { - name: "Da Vinci", - amenity: "restaurant" - }, - name: "Da Vinci", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Delphi": { - tags: { - name: "Delphi", - amenity: "restaurant" - }, - name: "Delphi", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Denny's": { - tags: { - name: "Denny's", - amenity: "restaurant" - }, - name: "Denny's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Deutsches Haus": { - tags: { - name: "Deutsches Haus", - amenity: "restaurant" - }, - name: "Deutsches Haus", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Dionysos": { - tags: { - name: "Dionysos", - amenity: "restaurant" - }, - name: "Dionysos", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Dolce Vita": { - tags: { - name: "Dolce Vita", - amenity: "restaurant" - }, - name: "Dolce Vita", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Dorfkrug": { - tags: { - name: "Dorfkrug", - amenity: "restaurant" - }, - name: "Dorfkrug", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/East Side Mario's": { - tags: { - name: "East Side Mario's", - amenity: "restaurant" - }, - name: "East Side Mario's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/El Greco": { - tags: { - name: "El Greco", - amenity: "restaurant" - }, - name: "El Greco", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/El Paso": { - tags: { - name: "El Paso", - amenity: "restaurant" - }, - name: "El Paso", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/El Rancho": { - tags: { - name: "El Rancho", - amenity: "restaurant" - }, - name: "El Rancho", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Europa": { - tags: { - name: "Europa", - amenity: "restaurant" - }, - name: "Europa", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Famous Dave's": { - tags: { - name: "Famous Dave's", - amenity: "restaurant" - }, - name: "Famous Dave's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Flunch": { - tags: { - name: "Flunch", - amenity: "restaurant" - }, - name: "Flunch", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Frankie & Benny's": { - tags: { - name: "Frankie & Benny's", - amenity: "restaurant" - }, - name: "Frankie & Benny's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Friendly's": { - tags: { - name: "Friendly's", - amenity: "restaurant" - }, - name: "Friendly's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Gasthaus Krone": { - tags: { - name: "Gasthaus Krone", - amenity: "restaurant" - }, - name: "Gasthaus Krone", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Gasthaus zur Linde": { - tags: { - name: "Gasthaus zur Linde", - amenity: "restaurant" - }, - name: "Gasthaus zur Linde", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Gasthof zur Post": { - tags: { - name: "Gasthof zur Post", - amenity: "restaurant" - }, - name: "Gasthof zur Post", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Golden Corral": { - tags: { - name: "Golden Corral", - amenity: "restaurant" - }, - name: "Golden Corral", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Golden Dragon": { - tags: { - name: "Golden Dragon", - amenity: "restaurant" - }, - name: "Golden Dragon", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Great Wall": { - tags: { - name: "Great Wall", - amenity: "restaurant" - }, - name: "Great Wall", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Grüner Baum": { - tags: { - name: "Grüner Baum", - amenity: "restaurant" - }, - name: "Grüner Baum", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Gusto": { - tags: { - name: "Gusto", - amenity: "restaurant" - }, - name: "Gusto", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Hard Rock Cafe": { - tags: { - name: "Hard Rock Cafe", - amenity: "restaurant" - }, - name: "Hard Rock Cafe", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Harvester": { - tags: { - name: "Harvester", - amenity: "restaurant" - }, - name: "Harvester", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Hellas": { - tags: { - name: "Hellas", - amenity: "restaurant" - }, - name: "Hellas", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Hippopotamus": { - tags: { - name: "Hippopotamus", - amenity: "restaurant" - }, - name: "Hippopotamus", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Hirsch": { - tags: { - name: "Hirsch", - amenity: "restaurant" - }, - name: "Hirsch", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Hirschen": { - tags: { - name: "Hirschen", - amenity: "restaurant" - }, - name: "Hirschen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Hong Kong": { - tags: { - name: "Hong Kong", - amenity: "restaurant" - }, - name: "Hong Kong", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Hooters": { - tags: { - name: "Hooters", - amenity: "restaurant" - }, - name: "Hooters", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/IHOP": { - tags: { - name: "IHOP", - amenity: "restaurant" - }, - name: "IHOP", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/IL Патио": { - tags: { - name: "IL Патио", - amenity: "restaurant" - }, - name: "IL Патио", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Jason's Deli": { - tags: { - name: "Jason's Deli", - amenity: "restaurant" - }, - name: "Jason's Deli", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Jägerhof": { - tags: { - name: "Jägerhof", - amenity: "restaurant" - }, - name: "Jägerhof", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Kantine": { - tags: { - name: "Kantine", - amenity: "restaurant" - }, - name: "Kantine", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Kelsey's": { - tags: { - name: "Kelsey's", - amenity: "restaurant" - }, - name: "Kelsey's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Kirchenwirt": { - tags: { - name: "Kirchenwirt", - amenity: "restaurant" - }, - name: "Kirchenwirt", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Kreta": { - tags: { - name: "Kreta", - amenity: "restaurant" - }, - name: "Kreta", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Kreuz": { - tags: { - name: "Kreuz", - amenity: "restaurant" - }, - name: "Kreuz", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Krone": { - tags: { - name: "Krone", - amenity: "restaurant" - }, - name: "Krone", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Kudu": { - tags: { - name: "Kudu", - amenity: "restaurant" - }, - name: "Kudu", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/L'Escale": { - tags: { - name: "L'Escale", - amenity: "restaurant" - }, - name: "L'Escale", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/L'Osteria": { - tags: { - name: "L'Osteria", - amenity: "restaurant" - }, - name: "L'Osteria", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Bodega": { - tags: { - name: "La Bodega", - amenity: "restaurant" - }, - name: "La Bodega", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Boucherie": { - tags: { - name: "La Boucherie", - amenity: "restaurant" - }, - name: "La Boucherie", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Cantina": { - tags: { - name: "La Cantina", - amenity: "restaurant" - }, - name: "La Cantina", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Casa": { - tags: { - name: "La Casa", - amenity: "restaurant" - }, - name: "La Casa", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Casona": { - tags: { - name: "La Casona", - amenity: "restaurant" - }, - name: "La Casona", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Dolce Vita": { - tags: { - name: "La Dolce Vita", - amenity: "restaurant" - }, - name: "La Dolce Vita", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Fontana": { - tags: { - name: "La Fontana", - amenity: "restaurant" - }, - name: "La Fontana", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Gondola": { - tags: { - name: "La Gondola", - amenity: "restaurant" - }, - name: "La Gondola", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Hacienda": { - tags: { - name: "La Hacienda", - amenity: "restaurant" - }, - name: "La Hacienda", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Pataterie": { - tags: { - name: "La Pataterie", - amenity: "restaurant" - }, - name: "La Pataterie", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Pergola": { - tags: { - name: "La Pergola", - amenity: "restaurant" - }, - name: "La Pergola", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Perla": { - tags: { - name: "La Perla", - amenity: "restaurant" - }, - name: "La Perla", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Piazza": { - tags: { - name: "La Piazza", - amenity: "restaurant" - }, - name: "La Piazza", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Piazzetta": { - tags: { - name: "La Piazzetta", - amenity: "restaurant" - }, - name: "La Piazzetta", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Place": { - tags: { - name: "La Place", - amenity: "restaurant" - }, - name: "La Place", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Scala": { - tags: { - name: "La Scala", - amenity: "restaurant" - }, - name: "La Scala", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Strada": { - tags: { - name: "La Strada", - amenity: "restaurant" - }, - name: "La Strada", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Tagliatella": { - tags: { - name: "La Tagliatella", - amenity: "restaurant" - }, - name: "La Tagliatella", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Tasca": { - tags: { - name: "La Tasca", - amenity: "restaurant" - }, - name: "La Tasca", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Taverna": { - tags: { - name: "La Taverna", - amenity: "restaurant" - }, - name: "La Taverna", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Terrasse": { - tags: { - name: "La Terrasse", - amenity: "restaurant" - }, - name: "La Terrasse", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Terraza": { - tags: { - name: "La Terraza", - amenity: "restaurant" - }, - name: "La Terraza", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Terrazza": { - tags: { - name: "La Terrazza", - amenity: "restaurant" - }, - name: "La Terrazza", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/La Trattoria": { - tags: { - name: "La Trattoria", - amenity: "restaurant" - }, - name: "La Trattoria", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Lamm": { - tags: { - name: "Lamm", - amenity: "restaurant" - }, - name: "Lamm", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Linde": { - tags: { - name: "Linde", - amenity: "restaurant" - }, - name: "Linde", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Lindenhof": { - tags: { - name: "Lindenhof", - amenity: "restaurant" - }, - name: "Lindenhof", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Little Chef": { - tags: { - name: "Little Chef", - amenity: "restaurant" - }, - name: "Little Chef", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Little Italy": { - tags: { - name: "Little Italy", - amenity: "restaurant" - }, - name: "Little Italy", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Logan's Roadhouse": { - tags: { - name: "Logan's Roadhouse", - amenity: "restaurant" - }, - name: "Logan's Roadhouse", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/LongHorn Steakhouse": { - tags: { - name: "LongHorn Steakhouse", - amenity: "restaurant" - }, - name: "LongHorn Steakhouse", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Lotus": { - tags: { - name: "Lotus", - amenity: "restaurant" - }, - name: "Lotus", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Löwen": { - tags: { - name: "Löwen", - amenity: "restaurant" - }, - name: "Löwen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/MK Restaurants": { - tags: { - name: "MK Restaurants", - amenity: "restaurant" - }, - name: "MK Restaurants", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Maharaja": { - tags: { - name: "Maharaja", - amenity: "restaurant" - }, - name: "Maharaja", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mamma Mia": { - tags: { - name: "Mamma Mia", - amenity: "restaurant" - }, - name: "Mamma Mia", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mandarin": { - tags: { - name: "Mandarin", - amenity: "restaurant" - }, - name: "Mandarin", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mang Inasal": { - tags: { - name: "Mang Inasal", - amenity: "restaurant" - }, - name: "Mang Inasal", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Marco Polo": { - tags: { - name: "Marco Polo", - amenity: "restaurant" - }, - name: "Marco Polo", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Marco's Pizza": { - tags: { - name: "Marco's Pizza", - amenity: "restaurant" - }, - name: "Marco's Pizza", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/McAlister's Deli": { - tags: { - name: "McAlister's Deli", - amenity: "restaurant" - }, - name: "McAlister's Deli", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mediterraneo": { - tags: { - name: "Mediterraneo", - amenity: "restaurant" - }, - name: "Mediterraneo", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mellow Mushroom": { - tags: { - name: "Mellow Mushroom", - amenity: "restaurant" - }, - name: "Mellow Mushroom", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mensa": { - tags: { - name: "Mensa", - amenity: "restaurant" - }, - name: "Mensa", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Milano": { - tags: { - name: "Milano", - amenity: "restaurant" - }, - name: "Milano", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mimi's Cafe": { - tags: { - name: "Mimi's Cafe", - amenity: "restaurant" - }, - name: "Mimi's Cafe", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mykonos": { - tags: { - name: "Mykonos", - amenity: "restaurant" - }, - name: "Mykonos", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Mythos": { - tags: { - name: "Mythos", - amenity: "restaurant" - }, - name: "Mythos", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Nando's": { - tags: { - name: "Nando's", - amenity: "restaurant" - }, - name: "Nando's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Noodles & Company": { - tags: { - name: "Noodles & Company", - amenity: "restaurant" - }, - name: "Noodles & Company", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/O'Charley's": { - tags: { - name: "O'Charley's", - amenity: "restaurant" - }, - name: "O'Charley's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Oasis": { - tags: { - name: "Oasis", - amenity: "restaurant" - }, - name: "Oasis", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Ocean Basket": { - tags: { - name: "Ocean Basket", - amenity: "restaurant" - }, - name: "Ocean Basket", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Ochsen": { - tags: { - name: "Ochsen", - amenity: "restaurant" - }, - name: "Ochsen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Old Chicago": { - tags: { - name: "Old Chicago", - amenity: "restaurant" - }, - name: "Old Chicago", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Olive Garden": { - tags: { - name: "Olive Garden", - amenity: "restaurant" - }, - name: "Olive Garden", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Olympia": { - tags: { - name: "Olympia", - amenity: "restaurant" - }, - name: "Olympia", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Osaka": { - tags: { - name: "Osaka", - amenity: "restaurant" - }, - name: "Osaka", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Outback Steakhouse": { - tags: { - name: "Outback Steakhouse", - amenity: "restaurant" - }, - name: "Outback Steakhouse", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/P.F. Chang's": { - tags: { - name: "P.F. Chang's", - amenity: "restaurant" - }, - name: "P.F. Chang's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pancake House": { - tags: { - name: "Pancake House", - amenity: "restaurant" - }, - name: "Pancake House", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Panda": { - tags: { - name: "Panda", - amenity: "restaurant" - }, - name: "Panda", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Panera Bread": { - tags: { - name: "Panera Bread", - amenity: "restaurant" - }, - name: "Panera Bread", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Panorama": { - tags: { - name: "Panorama", - amenity: "restaurant" - }, - name: "Panorama", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Parrilla": { - tags: { - name: "Parrilla", - amenity: "restaurant" - }, - name: "Parrilla", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Peking": { - tags: { - name: "Peking", - amenity: "restaurant" - }, - name: "Peking", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Perkins": { - tags: { - name: "Perkins", - amenity: "restaurant" - }, - name: "Perkins", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pinocchio": { - tags: { - name: "Pinocchio", - amenity: "restaurant" - }, - name: "Pinocchio", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizza Express": { - tags: { - name: "Pizza Express", - amenity: "restaurant" - }, - name: "Pizza Express", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizza Factory": { - tags: { - name: "Pizza Factory", - amenity: "restaurant" - }, - name: "Pizza Factory", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizza House": { - tags: { - name: "Pizza House", - amenity: "restaurant" - }, - name: "Pizza House", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizza Hut": { - tags: { - name: "Pizza Hut", - cuisine: "pizza", - amenity: "restaurant" - }, - name: "Pizza Hut", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizza Ranch": { - tags: { - name: "Pizza Ranch", - amenity: "restaurant" - }, - name: "Pizza Ranch", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizzeria Italia": { - tags: { - name: "Pizzeria Italia", - amenity: "restaurant" - }, - name: "Pizzeria Italia", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizzeria Milano": { - tags: { - name: "Pizzeria Milano", - amenity: "restaurant" - }, - name: "Pizzeria Milano", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizzeria Napoli": { - tags: { - name: "Pizzeria Napoli", - amenity: "restaurant" - }, - name: "Pizzeria Napoli", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizzeria Roma": { - tags: { - name: "Pizzeria Roma", - amenity: "restaurant" - }, - name: "Pizzeria Roma", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pizzeria Venezia": { - tags: { - name: "Pizzeria Venezia", - amenity: "restaurant" - }, - name: "Pizzeria Venezia", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Poivre Rouge": { - tags: { - name: "Poivre Rouge", - amenity: "restaurant" - }, - name: "Poivre Rouge", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Pomodoro": { - tags: { - name: "Pomodoro", - amenity: "restaurant" - }, - name: "Pomodoro", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Portofino": { - tags: { - name: "Portofino", - amenity: "restaurant" - }, - name: "Portofino", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Poseidon": { - tags: { - name: "Poseidon", - amenity: "restaurant" - }, - name: "Poseidon", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Prezzo": { - tags: { - name: "Prezzo", - amenity: "restaurant" - }, - name: "Prezzo", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Qdoba Mexican Grill": { - tags: { - name: "Qdoba Mexican Grill", - amenity: "restaurant" - }, - name: "Qdoba Mexican Grill", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Ratskeller": { - tags: { - name: "Ratskeller", - amenity: "restaurant" - }, - name: "Ratskeller", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Red Lobster": { - tags: { - name: "Red Lobster", - amenity: "restaurant" - }, - name: "Red Lobster", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Red Robin": { - tags: { - name: "Red Robin", - amenity: "restaurant" - }, - name: "Red Robin", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Restaurante Universitário": { - tags: { - name: "Restaurante Universitário", - amenity: "restaurant" - }, - name: "Restaurante Universitário", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Rhodos": { - tags: { - name: "Rhodos", - amenity: "restaurant" - }, - name: "Rhodos", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Ristorante Del Arte": { - tags: { - name: "Ristorante Del Arte", - amenity: "restaurant" - }, - name: "Ristorante Del Arte", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Roma": { - tags: { - name: "Roma", - amenity: "restaurant" - }, - name: "Roma", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Rose": { - tags: { - name: "Rose", - amenity: "restaurant" - }, - name: "Rose", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Round Table Pizza": { - tags: { - name: "Round Table Pizza", - amenity: "restaurant" - }, - name: "Round Table Pizza", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Ruby Tuesday": { - tags: { - name: "Ruby Tuesday", - amenity: "restaurant" - }, - name: "Ruby Tuesday", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Rössle": { - tags: { - name: "Rössle", - amenity: "restaurant" - }, - name: "Rössle", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Rössli": { - tags: { - name: "Rössli", - amenity: "restaurant" - }, - name: "Rössli", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Saigon": { - tags: { - name: "Saigon", - amenity: "restaurant" - }, - name: "Saigon", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sakura": { - tags: { - name: "Sakura", - amenity: "restaurant" - }, - name: "Sakura", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/San Marco": { - tags: { - name: "San Marco", - amenity: "restaurant" - }, - name: "San Marco", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Santorini": { - tags: { - name: "Santorini", - amenity: "restaurant" - }, - name: "Santorini", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Schwarzer Adler": { - tags: { - name: "Schwarzer Adler", - amenity: "restaurant" - }, - name: "Schwarzer Adler", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Schützenhaus": { - tags: { - name: "Schützenhaus", - amenity: "restaurant" - }, - name: "Schützenhaus", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Shakey's": { - tags: { - name: "Shakey's", - amenity: "restaurant" - }, - name: "Shakey's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Shalimar": { - tags: { - name: "Shalimar", - amenity: "restaurant" - }, - name: "Shalimar", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Shanghai": { - tags: { - name: "Shanghai", - amenity: "restaurant" - }, - name: "Shanghai", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Shari's": { - tags: { - name: "Shari's", - amenity: "restaurant" - }, - name: "Shari's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Shoney's": { - tags: { - name: "Shoney's", - amenity: "restaurant" - }, - name: "Shoney's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sizzler": { - tags: { - name: "Sizzler", - amenity: "restaurant" - }, - name: "Sizzler", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sonne": { - tags: { - name: "Sonne", - amenity: "restaurant" - }, - name: "Sonne", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sphinx": { - tags: { - name: "Sphinx", - amenity: "restaurant" - }, - name: "Sphinx", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sportheim": { - tags: { - name: "Sportheim", - amenity: "restaurant" - }, - name: "Sportheim", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Spur": { - tags: { - name: "Spur", - amenity: "restaurant" - }, - name: "Spur", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - 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: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sternen": { - tags: { - name: "Sternen", - amenity: "restaurant" - }, - name: "Sternen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sunset Grill": { - tags: { - name: "Sunset Grill", - amenity: "restaurant" - }, - name: "Sunset Grill", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sushi": { - tags: { - name: "Sushi", - amenity: "restaurant" - }, - name: "Sushi", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Sushi Bar": { - tags: { - name: "Sushi Bar", - amenity: "restaurant" - }, - name: "Sushi Bar", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Swiss Chalet": { - tags: { - name: "Swiss Chalet", - amenity: "restaurant" - }, - name: "Swiss Chalet", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Syrtaki": { - tags: { - name: "Syrtaki", - amenity: "restaurant" - }, - name: "Syrtaki", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/TGI Friday's": { - tags: { - name: "TGI Friday's", - amenity: "restaurant" - }, - name: "TGI Friday's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Taj Mahal": { - tags: { - name: "Taj Mahal", - amenity: "restaurant" - }, - name: "Taj Mahal", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Taste of India": { - tags: { - name: "Taste of India", - amenity: "restaurant" - }, - name: "Taste of India", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Taverna": { - tags: { - name: "Taverna", - amenity: "restaurant" - }, - name: "Taverna", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Texas Roadhouse": { - tags: { - name: "Texas Roadhouse", - amenity: "restaurant" - }, - name: "Texas Roadhouse", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/The Cheesecake Factory": { - tags: { - name: "The Cheesecake Factory", - amenity: "restaurant" - }, - name: "The Cheesecake Factory", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Toby Carvery": { - tags: { - name: "Toby Carvery", - amenity: "restaurant" - }, - name: "Toby Carvery", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Tony Roma's": { - tags: { - name: "Tony Roma's", - amenity: "restaurant" - }, - name: "Tony Roma's", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Toscana": { - tags: { - name: "Toscana", - amenity: "restaurant" - }, - name: "Toscana", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Trattoria": { - tags: { - name: "Trattoria", - amenity: "restaurant" - }, - name: "Trattoria", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Traube": { - tags: { - name: "Traube", - amenity: "restaurant" - }, - name: "Traube", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Vapiano": { - tags: { - name: "Vapiano", - amenity: "restaurant" - }, - name: "Vapiano", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Venezia": { - tags: { - name: "Venezia", - amenity: "restaurant" - }, - name: "Venezia", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Village Inn": { - tags: { - name: "Village Inn", - amenity: "restaurant" - }, - name: "Village Inn", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Vips": { - tags: { - name: "Vips", - amenity: "restaurant" - }, - name: "Vips", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Waffle House": { - tags: { - name: "Waffle House", - amenity: "restaurant" - }, - name: "Waffle House", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Wagamama": { - tags: { - name: "Wagamama", - amenity: "restaurant" - }, - name: "Wagamama", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Waldschänke": { - tags: { - name: "Waldschänke", - amenity: "restaurant" - }, - name: "Waldschänke", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Warung": { - tags: { - name: "Warung", - amenity: "restaurant" - }, - name: "Warung", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Wasabi": { - tags: { - name: "Wasabi", - amenity: "restaurant" - }, - name: "Wasabi", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Zizzi": { - tags: { - name: "Zizzi", - amenity: "restaurant" - }, - name: "Zizzi", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Zorbas": { - tags: { - name: "Zorbas", - amenity: "restaurant" - }, - name: "Zorbas", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Zum Hirschen": { - tags: { - name: "Zum Hirschen", - amenity: "restaurant" - }, - name: "Zum Hirschen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Zum Löwen": { - tags: { - name: "Zum Löwen", - amenity: "restaurant" - }, - name: "Zum Löwen", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Zur Krone": { - tags: { - name: "Zur Krone", - amenity: "restaurant" - }, - name: "Zur Krone", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Zur Linde": { - tags: { - name: "Zur Linde", - amenity: "restaurant" - }, - name: "Zur Linde", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Zur Post": { - tags: { - name: "Zur Post", - amenity: "restaurant" - }, - name: "Zur Post", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Zur Sonne": { - tags: { - name: "Zur Sonne", - amenity: "restaurant" - }, - name: "Zur Sonne", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Евразия": { - tags: { - name: "Евразия", - amenity: "restaurant" - }, - name: "Евразия", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Ресторан": { - tags: { - name: "Ресторан", - amenity: "restaurant" - }, - name: "Ресторан", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Тануки": { - tags: { - name: "Тануки", - amenity: "restaurant" - }, - name: "Тануки", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/Якитория": { - tags: { - name: "Якитория", - amenity: "restaurant" - }, - name: "Якитория", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/رستوران": { - tags: { - name: "رستوران", - amenity: "restaurant" - }, - name: "رستوران", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/مطعم": { - tags: { - name: "مطعم", - amenity: "restaurant" - }, - name: "مطعم", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/はま寿司": { - tags: { - name: "はま寿司", - amenity: "restaurant" - }, - name: "はま寿司", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/びっくりドンキー": { - tags: { - name: "びっくりドンキー", - amenity: "restaurant" - }, - name: "びっくりドンキー", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/やよい軒": { - tags: { - name: "やよい軒", - amenity: "restaurant" - }, - name: "やよい軒", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/ガスト": { - tags: { - name: "ガスト", - "name:en": "Gusto", - amenity: "restaurant" - }, - name: "ガスト", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/ココス": { - tags: { - name: "ココス", - amenity: "restaurant" - }, - name: "ココス", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/サイゼリア": { - tags: { - name: "サイゼリア", - amenity: "restaurant" - }, - name: "サイゼリア", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/サイゼリヤ": { - tags: { - name: "サイゼリヤ", - amenity: "restaurant" - }, - name: "サイゼリヤ", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/ジョイフル": { - tags: { - name: "ジョイフル", - amenity: "restaurant" - }, - name: "ジョイフル", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/ジョナサン": { - tags: { - name: "ジョナサン", - amenity: "restaurant" - }, - name: "ジョナサン", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/ジョリーパスタ": { - tags: { - name: "ジョリーパスタ", - amenity: "restaurant" - }, - name: "ジョリーパスタ", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/デニーズ": { - tags: { - name: "デニーズ", - amenity: "restaurant" - }, - name: "デニーズ", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/バーミヤン": { - tags: { - name: "バーミヤン", - amenity: "restaurant" - }, - name: "バーミヤン", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/ロイヤルホスト": { - tags: { - name: "ロイヤルホスト", - amenity: "restaurant" - }, - name: "ロイヤルホスト", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/丸亀製麺": { - tags: { - name: "丸亀製麺", - amenity: "restaurant" - }, - name: "丸亀製麺", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/八方雲集": { - tags: { - name: "八方雲集", - amenity: "restaurant" - }, - name: "八方雲集", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/夢庵": { - tags: { - name: "夢庵", - amenity: "restaurant" - }, - name: "夢庵", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/大戸屋": { - tags: { - name: "大戸屋", - amenity: "restaurant" - }, - name: "大戸屋", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/大阪王将": { - tags: { - name: "大阪王将", - amenity: "restaurant" - }, - name: "大阪王将", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/天下一品": { - tags: { - name: "天下一品", - amenity: "restaurant" - }, - name: "天下一品", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/安楽亭": { - tags: { - name: "安楽亭", - amenity: "restaurant" - }, - name: "安楽亭", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/牛角": { - tags: { - name: "牛角", - amenity: "restaurant" - }, - name: "牛角", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/食堂": { - tags: { - name: "食堂", - amenity: "restaurant" - }, - name: "食堂", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/餃子の王将": { - tags: { - name: "餃子の王将", - amenity: "restaurant" - }, - name: "餃子の王将", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/restaurant/바다횟집 (Bada Fish Restaurant)": { - tags: { - name: "바다횟집 (Bada Fish Restaurant)", - amenity: "restaurant" - }, - name: "바다횟집 (Bada Fish Restaurant)", - icon: "restaurant", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "cuisine", - "address", - "building_area", - "opening_hours", - "capacity", - "takeaway", - "delivery", - "smoking", - "outdoor_seating" - ], - suggestion: true - }, - "amenity/school/Adolfo Lopez Mateos": { - tags: { - name: "Adolfo Lopez Mateos", - amenity: "school" - }, - name: "Adolfo Lopez Mateos", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Agustin Ya�ez": { - tags: { - name: "Agustin Ya�ez", - amenity: "school" - }, - name: "Agustin Ya�ez", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Albert-Schweitzer-Schule": { - tags: { - name: "Albert-Schweitzer-Schule", - amenity: "school" - }, - name: "Albert-Schweitzer-Schule", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Amado Nervo": { - tags: { - name: "Amado Nervo", - amenity: "school" - }, - name: "Amado Nervo", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Astrid-Lindgren-Schule": { - tags: { - name: "Astrid-Lindgren-Schule", - amenity: "school" - }, - name: "Astrid-Lindgren-Schule", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Benito Juarez": { - tags: { - name: "Benito Juarez", - amenity: "school" - }, - name: "Benito Juarez", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Brown School": { - tags: { - name: "Brown School", - amenity: "school" - }, - name: "Brown School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/CEM": { - tags: { - name: "CEM", - amenity: "school" - }, - name: "CEM", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Center School": { - tags: { - name: "Center School", - amenity: "school" - }, - name: "Center School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Central Elementary School": { - tags: { - name: "Central Elementary School", - amenity: "school" - }, - name: "Central Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Central High School": { - tags: { - name: "Central High School", - amenity: "school" - }, - name: "Central High School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Central School": { - tags: { - name: "Central School", - amenity: "school" - }, - name: "Central School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Colegio San José": { - tags: { - name: "Colegio San José", - amenity: "school" - }, - name: "Colegio San José", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Cuauhtemoc": { - tags: { - name: "Cuauhtemoc", - amenity: "school" - }, - name: "Cuauhtemoc", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Curso Comunitario": { - tags: { - name: "Curso Comunitario", - amenity: "school" - }, - name: "Curso Comunitario", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Cursos Comunitarios": { - tags: { - name: "Cursos Comunitarios", - amenity: "school" - }, - name: "Cursos Comunitarios", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/EPP": { - tags: { - name: "EPP", - amenity: "school" - }, - name: "EPP", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Emiliano Zapata": { - tags: { - name: "Emiliano Zapata", - amenity: "school" - }, - name: "Emiliano Zapata", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Fairview Elementary School": { - tags: { - name: "Fairview Elementary School", - amenity: "school" - }, - name: "Fairview Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Fairview School": { - tags: { - name: "Fairview School", - amenity: "school" - }, - name: "Fairview School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Francisco I Madero": { - tags: { - name: "Francisco I Madero", - amenity: "school" - }, - name: "Francisco I Madero", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Francisco I. Madero": { - tags: { - name: "Francisco I. Madero", - amenity: "school" - }, - name: "Francisco I. Madero", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Francisco Villa": { - tags: { - name: "Francisco Villa", - amenity: "school" - }, - name: "Francisco Villa", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Franklin Elementary School": { - tags: { - name: "Franklin Elementary School", - amenity: "school" - }, - name: "Franklin Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Franklin School": { - tags: { - name: "Franklin School", - amenity: "school" - }, - name: "Franklin School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Garfield Elementary School": { - tags: { - name: "Garfield Elementary School", - amenity: "school" - }, - name: "Garfield Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Garfield School": { - tags: { - name: "Garfield School", - amenity: "school" - }, - name: "Garfield School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Gimnazjum nr 1": { - tags: { - name: "Gimnazjum nr 1", - amenity: "school" - }, - name: "Gimnazjum nr 1", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Government School": { - tags: { - name: "Government School", - amenity: "school" - }, - name: "Government School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Gregorio Torres Quintero": { - tags: { - name: "Gregorio Torres Quintero", - amenity: "school" - }, - name: "Gregorio Torres Quintero", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Groupe Scolaire": { - tags: { - name: "Groupe Scolaire", - amenity: "school" - }, - name: "Groupe Scolaire", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Guadalupe Victoria": { - tags: { - name: "Guadalupe Victoria", - amenity: "school" - }, - name: "Guadalupe Victoria", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Highland School": { - tags: { - name: "Highland School", - amenity: "school" - }, - name: "Highland School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Hillcrest Elementary School": { - tags: { - name: "Hillcrest Elementary School", - amenity: "school" - }, - name: "Hillcrest Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Holy Cross School": { - tags: { - name: "Holy Cross School", - amenity: "school" - }, - name: "Holy Cross School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Holy Family School": { - tags: { - name: "Holy Family School", - amenity: "school" - }, - name: "Holy Family School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Holy Trinity School": { - tags: { - name: "Holy Trinity School", - amenity: "school" - }, - name: "Holy Trinity School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Ignacio Allende": { - tags: { - name: "Ignacio Allende", - amenity: "school" - }, - name: "Ignacio Allende", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Ignacio Zaragoza": { - tags: { - name: "Ignacio Zaragoza", - amenity: "school" - }, - name: "Ignacio Zaragoza", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Immaculate Conception School": { - tags: { - name: "Immaculate Conception School", - amenity: "school" - }, - name: "Immaculate Conception School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Jackson Elementary School": { - tags: { - name: "Jackson Elementary School", - amenity: "school" - }, - name: "Jackson Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Jackson School": { - tags: { - name: "Jackson School", - amenity: "school" - }, - name: "Jackson School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Jefferson Elementary School": { - tags: { - name: "Jefferson Elementary School", - amenity: "school" - }, - name: "Jefferson Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Jefferson School": { - tags: { - name: "Jefferson School", - amenity: "school" - }, - name: "Jefferson School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Jose Clemente Orozco": { - tags: { - name: "Jose Clemente Orozco", - amenity: "school" - }, - name: "Jose Clemente Orozco", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Jose Vasconcelos": { - tags: { - name: "Jose Vasconcelos", - amenity: "school" - }, - name: "Jose Vasconcelos", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Juan Escutia": { - tags: { - name: "Juan Escutia", - amenity: "school" - }, - name: "Juan Escutia", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Justo Sierra": { - tags: { - name: "Justo Sierra", - amenity: "school" - }, - name: "Justo Sierra", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Kumon": { - tags: { - name: "Kumon", - amenity: "school" - }, - name: "Kumon", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Lazaro Cardenas": { - tags: { - name: "Lazaro Cardenas", - amenity: "school" - }, - name: "Lazaro Cardenas", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Leona Vicario": { - tags: { - name: "Leona Vicario", - amenity: "school" - }, - name: "Leona Vicario", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Liberty Elementary School": { - tags: { - name: "Liberty Elementary School", - amenity: "school" - }, - name: "Liberty Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Liberty School": { - tags: { - name: "Liberty School", - amenity: "school" - }, - name: "Liberty School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Lincoln Elementary School": { - tags: { - name: "Lincoln Elementary School", - amenity: "school" - }, - name: "Lincoln Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Lincoln School": { - tags: { - name: "Lincoln School", - amenity: "school" - }, - name: "Lincoln School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Longfellow Elementary School": { - tags: { - name: "Longfellow Elementary School", - amenity: "school" - }, - name: "Longfellow Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Longfellow School": { - tags: { - name: "Longfellow School", - amenity: "school" - }, - name: "Longfellow School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Madison Elementary School": { - tags: { - name: "Madison Elementary School", - amenity: "school" - }, - name: "Madison Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Manuel Lopez Cotilla": { - tags: { - name: "Manuel Lopez Cotilla", - amenity: "school" - }, - name: "Manuel Lopez Cotilla", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Maple Grove School": { - tags: { - name: "Maple Grove School", - amenity: "school" - }, - name: "Maple Grove School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/McKinley Elementary School": { - tags: { - name: "McKinley Elementary School", - amenity: "school" - }, - name: "McKinley Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/McKinley School": { - tags: { - name: "McKinley School", - amenity: "school" - }, - name: "McKinley School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Miguel Hidalgo": { - tags: { - name: "Miguel Hidalgo", - amenity: "school" - }, - name: "Miguel Hidalgo", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Miller School": { - tags: { - name: "Miller School", - amenity: "school" - }, - name: "Miller School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Mount Pleasant School": { - tags: { - name: "Mount Pleasant School", - amenity: "school" - }, - name: "Mount Pleasant School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Mount Zion School": { - tags: { - name: "Mount Zion School", - amenity: "school" - }, - name: "Mount Zion School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Mountain View Elementary School": { - tags: { - name: "Mountain View Elementary School", - amenity: "school" - }, - name: "Mountain View Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/New Hope School": { - tags: { - name: "New Hope School", - amenity: "school" - }, - name: "New Hope School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Nicolas Bravo": { - tags: { - name: "Nicolas Bravo", - amenity: "school" - }, - name: "Nicolas Bravo", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Ni�os Heroes": { - tags: { - name: "Ni�os Heroes", - amenity: "school" - }, - name: "Ni�os Heroes", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Nombre En Tramite": { - tags: { - name: "Nombre En Tramite", - amenity: "school" - }, - name: "Nombre En Tramite", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/North Elementary School": { - tags: { - name: "North Elementary School", - amenity: "school" - }, - name: "North Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Oak Grove School": { - tags: { - name: "Oak Grove School", - amenity: "school" - }, - name: "Oak Grove School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Pedro Moreno": { - tags: { - name: "Pedro Moreno", - amenity: "school" - }, - name: "Pedro Moreno", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Pestalozzischule": { - tags: { - name: "Pestalozzischule", - amenity: "school" - }, - name: "Pestalozzischule", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Pine Grove School": { - tags: { - name: "Pine Grove School", - amenity: "school" - }, - name: "Pine Grove School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Pleasant Hill School": { - tags: { - name: "Pleasant Hill School", - amenity: "school" - }, - name: "Pleasant Hill School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Pleasant Valley School": { - tags: { - name: "Pleasant Valley School", - amenity: "school" - }, - name: "Pleasant Valley School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Pleasant View School": { - tags: { - name: "Pleasant View School", - amenity: "school" - }, - name: "Pleasant View School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Primaria Comunitaria": { - tags: { - name: "Primaria Comunitaria", - amenity: "school" - }, - name: "Primaria Comunitaria", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Ramon Corona": { - tags: { - name: "Ramon Corona", - amenity: "school" - }, - name: "Ramon Corona", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Ricardo Flores Magon": { - tags: { - name: "Ricardo Flores Magon", - amenity: "school" - }, - name: "Ricardo Flores Magon", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Riverside School": { - tags: { - name: "Riverside School", - amenity: "school" - }, - name: "Riverside School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Roosevelt Elementary School": { - tags: { - name: "Roosevelt Elementary School", - amenity: "school" - }, - name: "Roosevelt Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Roosevelt School": { - tags: { - name: "Roosevelt School", - amenity: "school" - }, - name: "Roosevelt School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/SD": { - tags: { - name: "SD", - amenity: "school" - }, - name: "SD", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/SDN": { - tags: { - name: "SDN", - amenity: "school" - }, - name: "SDN", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Sacred Heart School": { - tags: { - name: "Sacred Heart School", - amenity: "school" - }, - name: "Sacred Heart School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Francis School": { - tags: { - name: "Saint Francis School", - amenity: "school" - }, - name: "Saint Francis School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint James School": { - tags: { - name: "Saint James School", - amenity: "school" - }, - name: "Saint James School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Johns School": { - tags: { - name: "Saint Johns School", - amenity: "school" - }, - name: "Saint Johns School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Joseph School": { - tags: { - name: "Saint Joseph School", - amenity: "school" - }, - name: "Saint Joseph School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Josephs School": { - tags: { - name: "Saint Josephs School", - amenity: "school" - }, - name: "Saint Josephs School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Mary School": { - tags: { - name: "Saint Mary School", - amenity: "school" - }, - name: "Saint Mary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Marys School": { - tags: { - name: "Saint Marys School", - amenity: "school" - }, - name: "Saint Marys School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Patricks School": { - tags: { - name: "Saint Patricks School", - amenity: "school" - }, - name: "Saint Patricks School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Paul School": { - tags: { - name: "Saint Paul School", - amenity: "school" - }, - name: "Saint Paul School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Pauls School": { - tags: { - name: "Saint Pauls School", - amenity: "school" - }, - name: "Saint Pauls School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Saint Peters School": { - tags: { - name: "Saint Peters School", - amenity: "school" - }, - name: "Saint Peters School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Schillerschule": { - tags: { - name: "Schillerschule", - amenity: "school" - }, - name: "Schillerschule", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/School Number 1": { - tags: { - name: "School Number 1", - amenity: "school" - }, - name: "School Number 1", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/School Number 2": { - tags: { - name: "School Number 2", - amenity: "school" - }, - name: "School Number 2", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/School Number 3": { - tags: { - name: "School Number 3", - amenity: "school" - }, - name: "School Number 3", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/School Number 4": { - tags: { - name: "School Number 4", - amenity: "school" - }, - name: "School Number 4", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Smith School": { - tags: { - name: "Smith School", - amenity: "school" - }, - name: "Smith School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/South Elementary School": { - tags: { - name: "South Elementary School", - amenity: "school" - }, - name: "South Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Sunnyside School": { - tags: { - name: "Sunnyside School", - amenity: "school" - }, - name: "Sunnyside School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Trinity School": { - tags: { - name: "Trinity School", - amenity: "school" - }, - name: "Trinity School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/UNIDAD EDUCATIVA": { - tags: { - name: "UNIDAD EDUCATIVA", - amenity: "school" - }, - name: "UNIDAD EDUCATIVA", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Union School": { - tags: { - name: "Union School", - amenity: "school" - }, - name: "Union School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Valentin Gomez Farias": { - tags: { - name: "Valentin Gomez Farias", - amenity: "school" - }, - name: "Valentin Gomez Farias", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Venustiano Carranza": { - tags: { - name: "Venustiano Carranza", - amenity: "school" - }, - name: "Venustiano Carranza", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Vicente Guerrero": { - tags: { - name: "Vicente Guerrero", - amenity: "school" - }, - name: "Vicente Guerrero", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Volkshochschule": { - tags: { - name: "Volkshochschule", - amenity: "school" - }, - name: "Volkshochschule", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Volksschule": { - tags: { - name: "Volksschule", - amenity: "school" - }, - name: "Volksschule", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Washington Elementary School": { - tags: { - name: "Washington Elementary School", - amenity: "school" - }, - name: "Washington Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Washington School": { - tags: { - name: "Washington School", - amenity: "school" - }, - name: "Washington School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/West Elementary School": { - tags: { - name: "West Elementary School", - amenity: "school" - }, - name: "West Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/White School": { - tags: { - name: "White School", - amenity: "school" - }, - name: "White School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Wilson Elementary School": { - tags: { - name: "Wilson Elementary School", - amenity: "school" - }, - name: "Wilson Elementary School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Wilson School": { - tags: { - name: "Wilson School", - amenity: "school" - }, - name: "Wilson School", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Általános iskola": { - tags: { - name: "Általános iskola", - amenity: "school" - }, - name: "Általános iskola", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/École Jules Ferry": { - tags: { - name: "École Jules Ferry", - amenity: "school" - }, - name: "École Jules Ferry", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/École Notre-Dame": { - tags: { - name: "École Notre-Dame", - amenity: "school" - }, - name: "École Notre-Dame", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/École Saint-Joseph": { - tags: { - name: "École Saint-Joseph", - amenity: "school" - }, - name: "École Saint-Joseph", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - 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: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/École élémentaire Jules Ferry": { - tags: { - name: "École élémentaire Jules Ferry", - amenity: "school" - }, - name: "École élémentaire Jules Ferry", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Școala Generală": { - tags: { - name: "Școala Generală", - amenity: "school" - }, - name: "Școala Generală", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Școală": { - tags: { - name: "Școală", - amenity: "school" - }, - name: "Școală", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Вечерняя школа": { - tags: { - name: "Вечерняя школа", - amenity: "school" - }, - name: "Вечерняя школа", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Гимназия №1": { - tags: { - name: "Гимназия №1", - amenity: "school" - }, - name: "Гимназия №1", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Средняя школа №1": { - tags: { - name: "Средняя школа №1", - amenity: "school" - }, - name: "Средняя школа №1", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Средняя школа №2": { - tags: { - name: "Средняя школа №2", - amenity: "school" - }, - name: "Средняя школа №2", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Средняя школа №3": { - tags: { - name: "Средняя школа №3", - amenity: "school" - }, - name: "Средняя школа №3", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа № 1": { - tags: { - name: "Школа № 1", - amenity: "school" - }, - name: "Школа № 1", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа № 2": { - tags: { - name: "Школа № 2", - amenity: "school" - }, - name: "Школа № 2", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа № 3": { - tags: { - name: "Школа № 3", - amenity: "school" - }, - name: "Школа № 3", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа № 4": { - tags: { - name: "Школа № 4", - amenity: "school" - }, - name: "Школа № 4", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа № 5": { - tags: { - name: "Школа № 5", - amenity: "school" - }, - name: "Школа № 5", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №1": { - tags: { - name: "Школа №1", - amenity: "school" - }, - name: "Школа №1", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №10": { - tags: { - name: "Школа №10", - amenity: "school" - }, - name: "Школа №10", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №11": { - tags: { - name: "Школа №11", - amenity: "school" - }, - name: "Школа №11", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №12": { - tags: { - name: "Школа №12", - amenity: "school" - }, - name: "Школа №12", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №13": { - tags: { - name: "Школа №13", - amenity: "school" - }, - name: "Школа №13", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №14": { - tags: { - name: "Школа №14", - amenity: "school" - }, - name: "Школа №14", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №15": { - tags: { - name: "Школа №15", - amenity: "school" - }, - name: "Школа №15", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №16": { - tags: { - name: "Школа №16", - amenity: "school" - }, - name: "Школа №16", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №17": { - tags: { - name: "Школа №17", - amenity: "school" - }, - name: "Школа №17", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №18": { - tags: { - name: "Школа №18", - amenity: "school" - }, - name: "Школа №18", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №19": { - tags: { - name: "Школа №19", - amenity: "school" - }, - name: "Школа №19", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №2": { - tags: { - name: "Школа №2", - amenity: "school" - }, - name: "Школа №2", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №20": { - tags: { - name: "Школа №20", - amenity: "school" - }, - name: "Школа №20", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №21": { - tags: { - name: "Школа №21", - amenity: "school" - }, - name: "Школа №21", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №22": { - tags: { - name: "Школа №22", - amenity: "school" - }, - name: "Школа №22", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №23": { - tags: { - name: "Школа №23", - amenity: "school" - }, - name: "Школа №23", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №24": { - tags: { - name: "Школа №24", - amenity: "school" - }, - name: "Школа №24", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №25": { - tags: { - name: "Школа №25", - amenity: "school" - }, - name: "Школа №25", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №26": { - tags: { - name: "Школа №26", - amenity: "school" - }, - name: "Школа №26", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №27": { - tags: { - name: "Школа №27", - amenity: "school" - }, - name: "Школа №27", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №28": { - tags: { - name: "Школа №28", - amenity: "school" - }, - name: "Школа №28", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №3": { - tags: { - name: "Школа №3", - amenity: "school" - }, - name: "Школа №3", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №31": { - tags: { - name: "Школа №31", - amenity: "school" - }, - name: "Школа №31", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №35": { - tags: { - name: "Школа №35", - amenity: "school" - }, - name: "Школа №35", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №4": { - tags: { - name: "Школа №4", - amenity: "school" - }, - name: "Школа №4", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №5": { - tags: { - name: "Школа №5", - amenity: "school" - }, - name: "Школа №5", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №6": { - tags: { - name: "Школа №6", - amenity: "school" - }, - name: "Школа №6", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №7": { - tags: { - name: "Школа №7", - amenity: "school" - }, - name: "Школа №7", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №8": { - tags: { - name: "Школа №8", - amenity: "school" - }, - name: "Школа №8", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/Школа №9": { - tags: { - name: "Школа №9", - amenity: "school" - }, - name: "Школа №9", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/مدرسة": { - tags: { - name: "مدرسة", - amenity: "school" - }, - name: "مدرسة", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/مدرسه": { - tags: { - name: "مدرسه", - amenity: "school" - }, - name: "مدرسه", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/市立南中学校": { - tags: { - name: "市立南中学校", - amenity: "school" - }, - name: "市立南中学校", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/市立南小学校": { - tags: { - name: "市立南小学校", - amenity: "school" - }, - name: "市立南小学校", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/school/市立東中学校": { - tags: { - name: "市立東中学校", - amenity: "school" - }, - name: "市立東中学校", - icon: "school", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "religion", - "denomination" - ], - suggestion: true - }, - "amenity/social_facility/Safe Haven": { - tags: { - name: "Safe Haven", - amenity: "social_facility" - }, - name: "Safe Haven", - icon: "poi-social-facility", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours", - "wheelchair" - ], - suggestion: true - }, - "amenity/social_facility/Детский дом": { - tags: { - name: "Детский дом", - amenity: "social_facility" - }, - name: "Детский дом", - icon: "poi-social-facility", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours", - "wheelchair" - ], - suggestion: true - }, - "amenity/social_facility/Социальный участковый": { - tags: { - name: "Социальный участковый", - amenity: "social_facility" - }, - name: "Социальный участковый", - icon: "poi-social-facility", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "social_facility", - "social_facility_for", - "opening_hours", - "wheelchair" - ], - suggestion: true - }, - "amenity/theatre/Amfiteatr": { - tags: { - name: "Amfiteatr", - amenity: "theatre" - }, - name: "Amfiteatr", - icon: "theatre", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area" - ], - suggestion: true - }, - "amenity/theatre/Amphitheater": { - tags: { - name: "Amphitheater", - amenity: "theatre" - }, - name: "Amphitheater", - icon: "theatre", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area" - ], - suggestion: true - }, - "amenity/theatre/Amphitheatre": { - tags: { - name: "Amphitheatre", - amenity: "theatre" - }, - name: "Amphitheatre", - icon: "theatre", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "operator", - "address", - "building_area" - ], - suggestion: true - }, - "amenity/theatre/Teatro Comunale": { - tags: { - name: "Teatro Comunale", - amenity: "theatre" - }, - name: "Teatro Comunale", - icon: "theatre", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area" - ], - suggestion: true - }, - "leisure/fitness_centre/LA Fitness": { - tags: { - name: "LA Fitness", - leisure: "fitness_centre" - }, - name: "LA Fitness", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "leisure/fitness_centre/Planet Fitness": { - tags: { - name: "Planet Fitness", - leisure: "fitness_centre" - }, - name: "Planet Fitness", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "leisure/fitness_centre/Snap Fitness": { - tags: { - name: "Snap Fitness", - leisure: "fitness_centre" - }, - name: "Snap Fitness", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "leisure/playground/Çocuk Parkı": { - tags: { - name: "Çocuk Parkı", - leisure: "playground" - }, - name: "Çocuk Parkı", - icon: "playground", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "surface", - "playground/max_age", - "playground/min_age", - "access_simple" - ], - suggestion: true - }, - "leisure/playground/놀이터": { - tags: { - name: "놀이터", - leisure: "playground" - }, - name: "놀이터", - icon: "playground", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "surface", - "playground/max_age", - "playground/min_age", - "access_simple" - ], - suggestion: true - }, - "leisure/sports_centre/Anytime Fitness": { - tags: { - name: "Anytime Fitness", - leisure: "sports_centre" - }, - name: "Anytime Fitness", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/Complejo Municipal de Deportes": { - tags: { - name: "Complejo Municipal de Deportes", - leisure: "sports_centre" - }, - name: "Complejo Municipal de Deportes", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/Complexe Sportif": { - tags: { - name: "Complexe Sportif", - leisure: "sports_centre" - }, - name: "Complexe Sportif", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/Curves": { - tags: { - name: "Curves", - leisure: "sports_centre" - }, - name: "Curves", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "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: [ - "name", - "sport", - "building", - "address", - "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: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/Kieser Training": { - tags: { - name: "Kieser Training", - leisure: "sports_centre" - }, - name: "Kieser Training", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "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: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/McFit": { - tags: { - name: "McFit", - leisure: "sports_centre" - }, - name: "McFit", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "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: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/Orlik": { - tags: { - name: "Orlik", - leisure: "sports_centre" - }, - name: "Orlik", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "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: [ - "name", - "sport", - "building", - "address", - "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: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/Salle Omnisport": { - tags: { - name: "Salle Omnisport", - leisure: "sports_centre" - }, - name: "Salle Omnisport", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "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: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/YMCA": { - tags: { - name: "YMCA", - leisure: "sports_centre" - }, - name: "YMCA", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/ДЮСШ": { - tags: { - name: "ДЮСШ", - leisure: "sports_centre" - }, - name: "ДЮСШ", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/Ледовый дворец": { - tags: { - name: "Ледовый дворец", - leisure: "sports_centre" - }, - name: "Ледовый дворец", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/sports_centre/体育館": { - tags: { - name: "体育館", - leisure: "sports_centre" - }, - name: "体育館", - icon: "pitch", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "sport", - "building", - "address", - "opening_hours" - ], - suggestion: true - }, - "leisure/swimming_pool/Schwimmerbecken": { - tags: { - name: "Schwimmerbecken", - leisure: "swimming_pool" - }, - name: "Schwimmerbecken", - icon: "swimming", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "access_simple", - "operator", - "address" - ], - suggestion: true - }, - "leisure/swimming_pool/Yüzme Havuzu": { - tags: { - name: "Yüzme Havuzu", - leisure: "swimming_pool" - }, - name: "Yüzme Havuzu", - icon: "swimming", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "access_simple", - "operator", - "address" - ], - suggestion: true - }, - "leisure/swimming_pool/プール": { - tags: { - name: "プール", - leisure: "swimming_pool" - }, - name: "プール", - icon: "swimming", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "access_simple", - "operator", - "address" - ], - suggestion: true - }, - "leisure/swimming_pool/游泳池": { - tags: { - name: "游泳池", - leisure: "swimming_pool" - }, - name: "游泳池", - icon: "swimming", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "access_simple", - "operator", - "address" - ], - suggestion: true - }, - "man_made/windmill/De Hoop": { - tags: { - name: "De Hoop", - man_made: "windmill" - }, - name: "De Hoop", - icon: "poi-windmill", - geometry: [ - "point", - "area" - ], - fields: [ - "building_area" - ], - suggestion: true - }, - "shop/alcohol/Alko": { - tags: { - name: "Alko", - shop: "alcohol" - }, - name: "Alko", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/BWS": { - tags: { - name: "BWS", - shop: "alcohol" - }, - name: "BWS", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Bargain Booze": { - tags: { - name: "Bargain Booze", - shop: "alcohol" - }, - name: "Bargain Booze", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Beer Store": { - tags: { - name: "Beer Store", - shop: "alcohol" - }, - name: "Beer Store", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Botilleria": { - tags: { - name: "Botilleria", - shop: "alcohol" - }, - name: "Botilleria", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Gall & Gall": { - tags: { - name: "Gall & Gall", - shop: "alcohol" - }, - name: "Gall & Gall", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/LCBO": { - tags: { - name: "LCBO", - shop: "alcohol" - }, - name: "LCBO", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Liquor Depot": { - tags: { - name: "Liquor Depot", - shop: "alcohol" - }, - name: "Liquor Depot", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Liquor Store": { - tags: { - name: "Liquor Store", - shop: "alcohol" - }, - name: "Liquor Store", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Liquorland": { - tags: { - name: "Liquorland", - shop: "alcohol" - }, - name: "Liquorland", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Mitra": { - tags: { - name: "Mitra", - shop: "alcohol" - }, - name: "Mitra", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Nicolas": { - tags: { - name: "Nicolas", - shop: "alcohol" - }, - name: "Nicolas", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/SAQ": { - tags: { - name: "SAQ", - shop: "alcohol" - }, - name: "SAQ", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Systembolaget": { - tags: { - name: "Systembolaget", - shop: "alcohol" - }, - name: "Systembolaget", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Vinmonopolet": { - tags: { - name: "Vinmonopolet", - shop: "alcohol" - }, - name: "Vinmonopolet", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Алкомаркет": { - tags: { - name: "Алкомаркет", - shop: "alcohol" - }, - name: "Алкомаркет", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Ароматный мир": { - tags: { - name: "Ароматный мир", - shop: "alcohol" - }, - name: "Ароматный мир", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Бристоль": { - tags: { - name: "Бристоль", - shop: "alcohol" - }, - name: "Бристоль", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Градус": { - tags: { - name: "Градус", - shop: "alcohol" - }, - name: "Градус", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Живое пиво": { - tags: { - name: "Живое пиво", - shop: "alcohol" - }, - name: "Живое пиво", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Красное & Белое": { - tags: { - name: "Красное & Белое", - shop: "alcohol" - }, - name: "Красное & Белое", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Норман": { - tags: { - name: "Норман", - shop: "alcohol" - }, - name: "Норман", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Отдохни": { - tags: { - name: "Отдохни", - shop: "alcohol" - }, - name: "Отдохни", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Пиво": { - tags: { - name: "Пиво", - shop: "alcohol" - }, - name: "Пиво", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/alcohol/Разливное пиво": { - tags: { - name: "Разливное пиво", - shop: "alcohol" - }, - name: "Разливное пиво", - icon: "alcohol-shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi", - "drive_through" - ], - suggestion: true - }, - "shop/baby_goods/Aubert": { - tags: { - name: "Aubert", - shop: "baby_goods" - }, - name: "Aubert", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/baby_goods/BabyOne": { - tags: { - name: "BabyOne", - shop: "baby_goods" - }, - name: "BabyOne", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/AILI": { - tags: { - name: "AILI", - shop: "bakery" - }, - name: "AILI", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Anker": { - tags: { - name: "Anker", - shop: "bakery" - }, - name: "Anker", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Awiteks": { - tags: { - name: "Awiteks", - shop: "bakery" - }, - name: "Awiteks", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Backshop": { - tags: { - name: "Backshop", - shop: "bakery" - }, - name: "Backshop", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Backwerk": { - tags: { - name: "Backwerk", - shop: "bakery" - }, - name: "Backwerk", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Baguette": { - tags: { - name: "Baguette", - shop: "bakery" - }, - name: "Baguette", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Bakers Delight": { - tags: { - name: "Bakers Delight", - shop: "bakery" - }, - name: "Bakers Delight", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Bakker Bart": { - tags: { - name: "Bakker Bart", - shop: "bakery" - }, - name: "Bakker Bart", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Banette": { - tags: { - name: "Banette", - shop: "bakery" - }, - name: "Banette", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Bäckerei Fuchs": { - tags: { - name: "Bäckerei Fuchs", - shop: "bakery" - }, - name: "Bäckerei Fuchs", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Bäckerei Grimminger": { - tags: { - name: "Bäckerei Grimminger", - shop: "bakery" - }, - name: "Bäckerei Grimminger", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Bäckerei Schmidt": { - tags: { - name: "Bäckerei Schmidt", - shop: "bakery" - }, - name: "Bäckerei Schmidt", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Bäckerei Schneider": { - tags: { - name: "Bäckerei Schneider", - shop: "bakery" - }, - name: "Bäckerei Schneider", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Cooplands": { - tags: { - name: "Cooplands", - shop: "bakery" - }, - name: "Cooplands", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Dat Backhus": { - tags: { - name: "Dat Backhus", - shop: "bakery" - }, - name: "Dat Backhus", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Der Beck": { - tags: { - name: "Der Beck", - shop: "bakery" - }, - name: "Der Beck", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Der Mann": { - tags: { - name: "Der Mann", - shop: "bakery" - }, - name: "Der Mann", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Ditsch": { - tags: { - name: "Ditsch", - shop: "bakery" - }, - name: "Ditsch", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Fornetti": { - tags: { - name: "Fornetti", - shop: "bakery" - }, - name: "Fornetti", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Goeken backen": { - tags: { - name: "Goeken backen", - shop: "bakery" - }, - name: "Goeken backen", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Goldilocks": { - tags: { - name: "Goldilocks", - shop: "bakery" - }, - name: "Goldilocks", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Greggs": { - tags: { - name: "Greggs", - shop: "bakery" - }, - name: "Greggs", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Hofpfisterei": { - tags: { - name: "Hofpfisterei", - shop: "bakery" - }, - name: "Hofpfisterei", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Ihle": { - tags: { - name: "Ihle", - shop: "bakery" - }, - name: "Ihle", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Julie's Bakeshop": { - tags: { - name: "Julie's Bakeshop", - shop: "bakery" - }, - name: "Julie's Bakeshop", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/K&U": { - tags: { - name: "K&U", - shop: "bakery" - }, - name: "K&U", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/K&U Bäckerei": { - tags: { - name: "K&U Bäckerei", - shop: "bakery" - }, - name: "K&U Bäckerei", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Kamps": { - tags: { - name: "Kamps", - shop: "bakery" - }, - name: "Kamps", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/La Mie Câline": { - tags: { - name: "La Mie Câline", - shop: "bakery" - }, - name: "La Mie Câline", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Le Crobag": { - tags: { - name: "Le Crobag", - shop: "bakery" - }, - name: "Le Crobag", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Le Fournil": { - tags: { - name: "Le Fournil", - shop: "bakery" - }, - name: "Le Fournil", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Lila Bäcker": { - tags: { - name: "Lila Bäcker", - shop: "bakery" - }, - name: "Lila Bäcker", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Lipóti Pékség": { - tags: { - name: "Lipóti Pékség", - shop: "bakery" - }, - name: "Lipóti Pékség", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Marie Blachère": { - tags: { - name: "Marie Blachère", - shop: "bakery" - }, - name: "Marie Blachère", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Mlinar": { - tags: { - name: "Mlinar", - shop: "bakery" - }, - name: "Mlinar", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Musmanni": { - tags: { - name: "Musmanni", - shop: "bakery" - }, - name: "Musmanni", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Oebel": { - tags: { - name: "Oebel", - shop: "bakery" - }, - name: "Oebel", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Paul": { - tags: { - name: "Paul", - shop: "bakery" - }, - name: "Paul", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Red Ribbon": { - tags: { - name: "Red Ribbon", - shop: "bakery" - }, - name: "Red Ribbon", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Schäfer's": { - tags: { - name: "Schäfer's", - shop: "bakery" - }, - name: "Schäfer's", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Sehne": { - tags: { - name: "Sehne", - shop: "bakery" - }, - name: "Sehne", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Stadtbäckerei": { - tags: { - name: "Stadtbäckerei", - shop: "bakery" - }, - name: "Stadtbäckerei", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Steinecke": { - tags: { - name: "Steinecke", - shop: "bakery" - }, - name: "Steinecke", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Sternenbäck": { - tags: { - name: "Sternenbäck", - shop: "bakery" - }, - name: "Sternenbäck", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Ströck": { - tags: { - name: "Ströck", - shop: "bakery" - }, - name: "Ströck", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Wiener Feinbäcker": { - tags: { - name: "Wiener Feinbäcker", - shop: "bakery" - }, - name: "Wiener Feinbäcker", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/von Allwörden": { - tags: { - name: "von Allwörden", - shop: "bakery" - }, - name: "von Allwörden", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Булочная": { - tags: { - name: "Булочная", - shop: "bakery" - }, - name: "Булочная", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Горячий хлеб": { - tags: { - name: "Горячий хлеб", - shop: "bakery" - }, - name: "Горячий хлеб", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Каравай": { - tags: { - name: "Каравай", - shop: "bakery" - }, - name: "Каравай", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Кулиничи": { - tags: { - name: "Кулиничи", - shop: "bakery" - }, - name: "Кулиничи", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Кулиничі": { - tags: { - name: "Кулиничі", - shop: "bakery" - }, - name: "Кулиничі", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Свежий хлеб": { - tags: { - name: "Свежий хлеб", - shop: "bakery" - }, - name: "Свежий хлеб", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/Хлеб": { - tags: { - name: "Хлеб", - shop: "bakery" - }, - name: "Хлеб", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/مخبز": { - tags: { - name: "مخبز", - shop: "bakery" - }, - name: "مخبز", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/مخبزة": { - tags: { - name: "مخبزة", - shop: "bakery" - }, - name: "مخبزة", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/نان لواش": { - tags: { - name: "نان لواش", - shop: "bakery" - }, - name: "نان لواش", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/نانوایی": { - tags: { - name: "نانوایی", - shop: "bakery" - }, - name: "نانوایی", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/نانوایی بربری": { - tags: { - name: "نانوایی بربری", - shop: "bakery" - }, - name: "نانوایی بربری", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/نانوایی سنگک": { - tags: { - name: "نانوایی سنگک", - shop: "bakery" - }, - name: "نانوایی سنگک", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/نانوایی سنگکی": { - tags: { - name: "نانوایی سنگکی", - shop: "bakery" - }, - name: "نانوایی سنگکی", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bakery/نانوایی لواش": { - tags: { - name: "نانوایی لواش", - shop: "bakery" - }, - name: "نانوایی لواش", - icon: "bakery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beauty/Sally Beauty Supply": { - tags: { - name: "Sally Beauty Supply", - shop: "beauty" - }, - name: "Sally Beauty Supply", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "beauty", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beauty/Yves Rocher": { - tags: { - name: "Yves Rocher", - shop: "beauty" - }, - name: "Yves Rocher", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "beauty", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bed/Matratzen Concord": { - tags: { - name: "Matratzen Concord", - shop: "bed" - }, - name: "Matratzen Concord", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bed/Mattress Firm": { - tags: { - name: "Mattress Firm", - shop: "bed" - }, - name: "Mattress Firm", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bed/Sleepy's": { - tags: { - name: "Sleepy's", - shop: "bed" - }, - name: "Sleepy's", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/50嵐": { - tags: { - name: "50嵐", - shop: "beverages" - }, - name: "50嵐", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Dursty": { - tags: { - name: "Dursty", - shop: "beverages" - }, - name: "Dursty", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Edeka Getränkemarkt": { - tags: { - name: "Edeka Getränkemarkt", - shop: "beverages" - }, - name: "Edeka Getränkemarkt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Fristo": { - tags: { - name: "Fristo", - shop: "beverages" - }, - name: "Fristo", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Getränke Hoffmann": { - tags: { - name: "Getränke Hoffmann", - shop: "beverages" - }, - name: "Getränke Hoffmann", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Getränkeland": { - tags: { - name: "Getränkeland", - shop: "beverages" - }, - name: "Getränkeland", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Getränkemarkt": { - tags: { - name: "Getränkemarkt", - shop: "beverages" - }, - name: "Getränkemarkt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Orterer Getränkemarkt": { - tags: { - name: "Orterer Getränkemarkt", - shop: "beverages" - }, - name: "Orterer Getränkemarkt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Rewe Getränkemarkt": { - tags: { - name: "Rewe Getränkemarkt", - shop: "beverages" - }, - name: "Rewe Getränkemarkt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/Trinkgut": { - tags: { - name: "Trinkgut", - shop: "beverages" - }, - name: "Trinkgut", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/beverages/茶湯會": { - tags: { - name: "茶湯會", - shop: "beverages" - }, - name: "茶湯會", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bicycle/Halfords": { - tags: { - name: "Halfords", - shop: "bicycle" - }, - name: "Halfords", - icon: "bicycle", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/bicycle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bicycle/Веломарка": { - tags: { - name: "Веломарка", - shop: "bicycle" - }, - name: "Веломарка", - icon: "bicycle", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/bicycle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bicycle/サイクルベースあさひ": { - tags: { - name: "サイクルベースあさひ", - shop: "bicycle" - }, - name: "サイクルベースあさひ", - icon: "bicycle", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/bicycle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bookmaker/Betfred": { - tags: { - name: "Betfred", - shop: "bookmaker" - }, - name: "Betfred", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bookmaker/Coral": { - tags: { - name: "Coral", - shop: "bookmaker" - }, - name: "Coral", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bookmaker/Ladbrokes": { - tags: { - name: "Ladbrokes", - shop: "bookmaker" - }, - name: "Ladbrokes", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bookmaker/Paddy Power": { - tags: { - name: "Paddy Power", - shop: "bookmaker" - }, - name: "Paddy Power", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bookmaker/William Hill": { - tags: { - name: "William Hill", - shop: "bookmaker" - }, - name: "William Hill", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/bookmaker/ΟΠΑΠ": { - tags: { - name: "ΟΠΑΠ", - shop: "bookmaker" - }, - name: "ΟΠΑΠ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Boucherie Charcuterie": { - tags: { - name: "Boucherie Charcuterie", - shop: "butcher" - }, - name: "Boucherie Charcuterie", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Carnicería": { - tags: { - name: "Carnicería", - shop: "butcher" - }, - name: "Carnicería", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Fleischerei Richter": { - tags: { - name: "Fleischerei Richter", - shop: "butcher" - }, - name: "Fleischerei Richter", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Húsbolt": { - tags: { - name: "Húsbolt", - shop: "butcher" - }, - name: "Húsbolt", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Macelleria": { - tags: { - name: "Macelleria", - shop: "butcher" - }, - name: "Macelleria", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Vinzenzmurr": { - tags: { - name: "Vinzenzmurr", - shop: "butcher" - }, - name: "Vinzenzmurr", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Ариант": { - tags: { - name: "Ариант", - shop: "butcher" - }, - name: "Ариант", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Великолукский мясокомбинат": { - tags: { - name: "Великолукский мясокомбинат", - shop: "butcher" - }, - name: "Великолукский мясокомбинат", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Мясная лавка": { - tags: { - name: "Мясная лавка", - shop: "butcher" - }, - name: "Мясная лавка", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Мясницкий ряд": { - tags: { - name: "Мясницкий ряд", - shop: "butcher" - }, - name: "Мясницкий ряд", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Мясной": { - tags: { - name: "Мясной", - shop: "butcher" - }, - name: "Мясной", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Мясо": { - tags: { - name: "Мясо", - shop: "butcher" - }, - name: "Мясо", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Наша Ряба": { - tags: { - name: "Наша Ряба", - shop: "butcher" - }, - name: "Наша Ряба", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/butcher/Свежее мясо": { - tags: { - name: "Свежее мясо", - shop: "butcher" - }, - name: "Свежее мясо", - icon: "slaughterhouse", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Audi": { - tags: { - name: "Audi", - shop: "car" - }, - name: "Audi", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/BMW": { - tags: { - name: "BMW", - shop: "car" - }, - name: "BMW", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Chevrolet": { - tags: { - name: "Chevrolet", - shop: "car" - }, - name: "Chevrolet", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Citroën": { - tags: { - name: "Citroën", - shop: "car" - }, - name: "Citroën", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Dacia": { - tags: { - name: "Dacia", - shop: "car" - }, - name: "Dacia", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Fiat": { - tags: { - name: "Fiat", - shop: "car" - }, - name: "Fiat", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Ford": { - tags: { - name: "Ford", - shop: "car" - }, - name: "Ford", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Honda": { - tags: { - name: "Honda", - shop: "car" - }, - name: "Honda", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Hyundai": { - tags: { - name: "Hyundai", - shop: "car" - }, - name: "Hyundai", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Isuzu": { - tags: { - name: "Isuzu", - shop: "car" - }, - name: "Isuzu", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Kia": { - tags: { - name: "Kia", - shop: "car" - }, - name: "Kia", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Land Rover": { - tags: { - name: "Land Rover", - shop: "car" - }, - name: "Land Rover", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Lexus": { - tags: { - name: "Lexus", - shop: "car" - }, - name: "Lexus", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Mazda": { - tags: { - name: "Mazda", - shop: "car" - }, - name: "Mazda", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Mercedes-Benz": { - tags: { - name: "Mercedes-Benz", - shop: "car" - }, - name: "Mercedes-Benz", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Mitsubishi": { - tags: { - name: "Mitsubishi", - shop: "car" - }, - name: "Mitsubishi", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Mitsubishi Motors": { - tags: { - name: "Mitsubishi Motors", - shop: "car" - }, - name: "Mitsubishi Motors", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/NISSAN": { - tags: { - name: "NISSAN", - shop: "car" - }, - name: "NISSAN", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Nissan": { - tags: { - name: "Nissan", - shop: "car" - }, - name: "Nissan", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Opel": { - tags: { - name: "Opel", - shop: "car" - }, - name: "Opel", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Peugeot": { - tags: { - name: "Peugeot", - shop: "car" - }, - name: "Peugeot", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Porsche": { - tags: { - name: "Porsche", - shop: "car" - }, - name: "Porsche", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Renault": { - tags: { - name: "Renault", - shop: "car" - }, - name: "Renault", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Seat": { - tags: { - name: "Seat", - shop: "car" - }, - name: "Seat", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Skoda": { - tags: { - name: "Skoda", - shop: "car" - }, - name: "Skoda", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Subaru": { - tags: { - name: "Subaru", - shop: "car" - }, - name: "Subaru", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Suzuki": { - tags: { - name: "Suzuki", - shop: "car" - }, - name: "Suzuki", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Toyota": { - tags: { - name: "Toyota", - shop: "car" - }, - name: "Toyota", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Volkswagen": { - tags: { - name: "Volkswagen", - shop: "car" - }, - name: "Volkswagen", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car/Volvo": { - tags: { - name: "Volvo", - shop: "car" - }, - name: "Volvo", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "brand", - "second_hand", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/Advance Auto Parts": { - tags: { - name: "Advance Auto Parts", - shop: "car_parts" - }, - name: "Advance Auto Parts", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/AutoZone": { - tags: { - name: "AutoZone", - shop: "car_parts" - }, - name: "AutoZone", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/Brezan": { - tags: { - name: "Brezan", - shop: "car_parts" - }, - name: "Brezan", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/Repco": { - tags: { - name: "Repco", - shop: "car_parts" - }, - name: "Repco", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/Tokić": { - tags: { - name: "Tokić", - shop: "car_parts" - }, - name: "Tokić", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/repuestos automotrices": { - tags: { - name: "repuestos automotrices", - shop: "car_parts" - }, - name: "repuestos automotrices", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/Автозапчастини": { - tags: { - name: "Автозапчастини", - shop: "car_parts" - }, - name: "Автозапчастини", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/Автомир": { - tags: { - name: "Автомир", - shop: "car_parts" - }, - name: "Автомир", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/イエローハット": { - tags: { - name: "イエローハット", - shop: "car_parts" - }, - name: "イエローハット", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/オートバックス": { - tags: { - name: "オートバックス", - shop: "car_parts" - }, - name: "オートバックス", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_parts/タイヤ館": { - tags: { - name: "タイヤ館", - shop: "car_parts" - }, - name: "タイヤ館", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Bosch Car Service": { - tags: { - name: "Bosch Car Service", - shop: "car_repair" - }, - name: "Bosch Car Service", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Carglass": { - tags: { - name: "Carglass", - shop: "car_repair" - }, - name: "Carglass", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Euromaster": { - tags: { - name: "Euromaster", - shop: "car_repair" - }, - name: "Euromaster", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Feu Vert": { - tags: { - name: "Feu Vert", - shop: "car_repair" - }, - name: "Feu Vert", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Firestone": { - tags: { - name: "Firestone", - shop: "car_repair" - }, - name: "Firestone", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Garage Renault": { - tags: { - name: "Garage Renault", - shop: "car_repair" - }, - name: "Garage Renault", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Gomeria": { - tags: { - name: "Gomeria", - shop: "car_repair" - }, - name: "Gomeria", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Gomería": { - tags: { - name: "Gomería", - shop: "car_repair" - }, - name: "Gomería", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Goodyear": { - tags: { - name: "Goodyear", - shop: "car_repair" - }, - name: "Goodyear", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Grease Monkey": { - tags: { - name: "Grease Monkey", - shop: "car_repair" - }, - name: "Grease Monkey", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Jiffy Lube": { - tags: { - name: "Jiffy Lube", - shop: "car_repair" - }, - name: "Jiffy Lube", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Kwik Fit": { - tags: { - name: "Kwik Fit", - shop: "car_repair" - }, - name: "Kwik Fit", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Lubricentro": { - tags: { - name: "Lubricentro", - shop: "car_repair" - }, - name: "Lubricentro", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Meineke": { - tags: { - name: "Meineke", - shop: "car_repair" - }, - name: "Meineke", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Mekonomen": { - tags: { - name: "Mekonomen", - shop: "car_repair" - }, - name: "Mekonomen", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Midas": { - tags: { - name: "Midas", - shop: "car_repair" - }, - name: "Midas", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Mr. Lube": { - tags: { - name: "Mr. Lube", - shop: "car_repair" - }, - name: "Mr. Lube", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Norauto": { - tags: { - name: "Norauto", - shop: "car_repair" - }, - name: "Norauto", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Pep Boys": { - tags: { - name: "Pep Boys", - shop: "car_repair" - }, - name: "Pep Boys", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Pit Stop": { - tags: { - name: "Pit Stop", - shop: "car_repair" - }, - name: "Pit Stop", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Point S": { - tags: { - name: "Point S", - shop: "car_repair" - }, - name: "Point S", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Roady": { - tags: { - name: "Roady", - shop: "car_repair" - }, - name: "Roady", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Sears Auto Center": { - tags: { - name: "Sears Auto Center", - shop: "car_repair" - }, - name: "Sears Auto Center", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Speedy": { - tags: { - name: "Speedy", - shop: "car_repair" - }, - name: "Speedy", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Stacja Kontroli Pojazdów": { - tags: { - name: "Stacja Kontroli Pojazdów", - shop: "car_repair" - }, - name: "Stacja Kontroli Pojazdów", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Taller": { - tags: { - name: "Taller", - shop: "car_repair" - }, - name: "Taller", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Valvoline": { - tags: { - name: "Valvoline", - shop: "car_repair" - }, - name: "Valvoline", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Wulkanizacja": { - tags: { - name: "Wulkanizacja", - shop: "car_repair" - }, - name: "Wulkanizacja", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/ÖAMTC": { - tags: { - name: "ÖAMTC", - shop: "car_repair" - }, - name: "ÖAMTC", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Автомастерская": { - tags: { - name: "Автомастерская", - shop: "car_repair" - }, - name: "Автомастерская", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Авторемонт": { - tags: { - name: "Авторемонт", - shop: "car_repair" - }, - name: "Авторемонт", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Автосервис": { - tags: { - name: "Автосервис", - shop: "car_repair" - }, - name: "Автосервис", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Автосервис+шиномонтаж": { - tags: { - name: "Автосервис+шиномонтаж", - shop: "car_repair" - }, - name: "Автосервис+шиномонтаж", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Замена масла": { - tags: { - name: "Замена масла", - shop: "car_repair" - }, - name: "Замена масла", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/СТО": { - tags: { - name: "СТО", - shop: "car_repair" - }, - name: "СТО", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/Шиномонтаж": { - tags: { - name: "Шиномонтаж", - shop: "car_repair" - }, - name: "Шиномонтаж", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/car_repair/шиномонтаж": { - tags: { - name: "шиномонтаж", - shop: "car_repair" - }, - name: "шиномонтаж", - icon: "car", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "service/vehicle", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/carpet/Carpet Right": { - tags: { - name: "Carpet Right", - shop: "carpet" - }, - name: "Carpet Right", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/carpet/Carpetright": { - tags: { - name: "Carpetright", - shop: "carpet" - }, - name: "Carpetright", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/charity/Age UK": { - tags: { - name: "Age UK", - shop: "charity" - }, - name: "Age UK", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/charity/Barnardo's": { - tags: { - name: "Barnardo's", - shop: "charity" - }, - name: "Barnardo's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/charity/British Heart Foundation": { - tags: { - name: "British Heart Foundation", - shop: "charity" - }, - name: "British Heart Foundation", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/charity/Cancer Research UK": { - tags: { - name: "Cancer Research UK", - shop: "charity" - }, - name: "Cancer Research UK", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/charity/Oxfam": { - tags: { - name: "Oxfam", - shop: "charity" - }, - name: "Oxfam", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/charity/Salvation Army": { - tags: { - name: "Salvation Army", - shop: "charity" - }, - name: "Salvation Army", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/charity/Scope": { - tags: { - name: "Scope", - shop: "charity" - }, - name: "Scope", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/charity/Sue Ryder": { - tags: { - name: "Sue Ryder", - shop: "charity" - }, - name: "Sue Ryder", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/7 Дней": { - tags: { - name: "7 Дней", - shop: "chemist" - }, - name: "7 Дней", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Bipa": { - tags: { - name: "Bipa", - shop: "chemist" - }, - name: "Bipa", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Budnikowsky": { - tags: { - name: "Budnikowsky", - shop: "chemist" - }, - name: "Budnikowsky", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Etos": { - tags: { - name: "Etos", - shop: "chemist" - }, - name: "Etos", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Kruidvat": { - tags: { - name: "Kruidvat", - shop: "chemist" - }, - name: "Kruidvat", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Matas": { - tags: { - name: "Matas", - shop: "chemist" - }, - name: "Matas", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Müller": { - tags: { - name: "Müller", - shop: "chemist" - }, - name: "Müller", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Rossmann": { - tags: { - name: "Rossmann", - shop: "chemist" - }, - name: "Rossmann", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Schlecker": { - tags: { - name: "Schlecker", - shop: "chemist" - }, - name: "Schlecker", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Teta": { - tags: { - name: "Teta", - shop: "chemist" - }, - name: "Teta", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Trekpleister": { - tags: { - name: "Trekpleister", - shop: "chemist" - }, - name: "Trekpleister", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Watsons": { - tags: { - name: "Watsons", - shop: "chemist" - }, - name: "Watsons", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/dm": { - tags: { - name: "dm", - shop: "chemist" - }, - name: "dm", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Бытовая химия": { - tags: { - name: "Бытовая химия", - shop: "chemist" - }, - name: "Бытовая химия", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Магнит Косметик": { - tags: { - name: "Магнит Косметик", - shop: "chemist" - }, - name: "Магнит Косметик", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Мила": { - tags: { - name: "Мила", - shop: "chemist" - }, - name: "Мила", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Остров чистоты": { - tags: { - name: "Остров чистоты", - shop: "chemist" - }, - name: "Остров чистоты", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Рубль Бум": { - tags: { - name: "Рубль Бум", - shop: "chemist" - }, - name: "Рубль Бум", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/Улыбка радуги": { - tags: { - name: "Улыбка радуги", - shop: "chemist" - }, - name: "Улыбка радуги", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/屈臣氏": { - tags: { - name: "屈臣氏", - shop: "chemist" - }, - name: "屈臣氏", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/chemist/康是美": { - tags: { - name: "康是美", - shop: "chemist" - }, - name: "康是美", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/AOKI": { - tags: { - name: "AOKI", - shop: "clothes" - }, - name: "AOKI", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/AWG": { - tags: { - name: "AWG", - shop: "clothes" - }, - name: "AWG", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Ackermans": { - tags: { - name: "Ackermans", - shop: "clothes" - }, - name: "Ackermans", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Adidas": { - tags: { - name: "Adidas", - shop: "clothes" - }, - name: "Adidas", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/American Apparel": { - tags: { - name: "American Apparel", - shop: "clothes" - }, - name: "American Apparel", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Anthropologie": { - tags: { - name: "Anthropologie", - shop: "clothes" - }, - name: "Anthropologie", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Ardene": { - tags: { - name: "Ardene", - shop: "clothes" - }, - name: "Ardene", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Armand Thiery": { - tags: { - name: "Armand Thiery", - shop: "clothes" - }, - name: "Armand Thiery", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Banana Republic": { - tags: { - name: "Banana Republic", - shop: "clothes" - }, - name: "Banana Republic", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Benetton": { - tags: { - name: "Benetton", - shop: "clothes" - }, - name: "Benetton", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Bershka": { - tags: { - name: "Bershka", - shop: "clothes" - }, - name: "Bershka", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Bonita": { - tags: { - name: "Bonita", - shop: "clothes" - }, - name: "Bonita", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Bonobo": { - tags: { - name: "Bonobo", - shop: "clothes" - }, - name: "Bonobo", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Brooks Brothers": { - tags: { - name: "Brooks Brothers", - shop: "clothes" - }, - name: "Brooks Brothers", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Burberry": { - tags: { - name: "Burberry", - shop: "clothes" - }, - name: "Burberry", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Burton": { - tags: { - name: "Burton", - shop: "clothes" - }, - name: "Burton", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/C&A": { - tags: { - name: "C&A", - shop: "clothes" - }, - name: "C&A", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Cache Cache": { - tags: { - name: "Cache Cache", - shop: "clothes" - }, - name: "Cache Cache", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Calvin Klein": { - tags: { - name: "Calvin Klein", - shop: "clothes" - }, - name: "Calvin Klein", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Calzedonia": { - tags: { - name: "Calzedonia", - shop: "clothes" - }, - name: "Calzedonia", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Camaïeu": { - tags: { - name: "Camaïeu", - shop: "clothes" - }, - name: "Camaïeu", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Caroll": { - tags: { - name: "Caroll", - shop: "clothes" - }, - name: "Caroll", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Carter's": { - tags: { - name: "Carter's", - shop: "clothes" - }, - name: "Carter's", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Cecil": { - tags: { - name: "Cecil", - shop: "clothes" - }, - name: "Cecil", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Celio": { - tags: { - name: "Celio", - shop: "clothes" - }, - name: "Celio", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Chico's": { - tags: { - name: "Chico's", - shop: "clothes" - }, - name: "Chico's", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Cropp": { - tags: { - name: "Cropp", - shop: "clothes" - }, - name: "Cropp", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Cubus": { - tags: { - name: "Cubus", - shop: "clothes" - }, - name: "Cubus", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Desigual": { - tags: { - name: "Desigual", - shop: "clothes" - }, - name: "Desigual", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Devred": { - tags: { - name: "Devred", - shop: "clothes" - }, - name: "Devred", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Didi": { - tags: { - name: "Didi", - shop: "clothes" - }, - name: "Didi", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Diesel": { - tags: { - name: "Diesel", - shop: "clothes" - }, - name: "Diesel", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Dorothy Perkins": { - tags: { - name: "Dorothy Perkins", - shop: "clothes" - }, - name: "Dorothy Perkins", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Dress Barn": { - tags: { - name: "Dress Barn", - shop: "clothes" - }, - name: "Dress Barn", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Dressmann": { - tags: { - name: "Dressmann", - shop: "clothes" - }, - name: "Dressmann", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Eddie Bauer": { - tags: { - name: "Eddie Bauer", - shop: "clothes" - }, - name: "Eddie Bauer", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Edgars": { - tags: { - name: "Edgars", - shop: "clothes" - }, - name: "Edgars", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Engbers": { - tags: { - name: "Engbers", - shop: "clothes" - }, - name: "Engbers", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Esprit": { - tags: { - name: "Esprit", - shop: "clothes" - }, - name: "Esprit", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Etam": { - tags: { - name: "Etam", - shop: "clothes" - }, - name: "Etam", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Express": { - tags: { - name: "Express", - shop: "clothes" - }, - name: "Express", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Fat Face": { - tags: { - name: "Fat Face", - shop: "clothes" - }, - name: "Fat Face", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Forever 21": { - tags: { - name: "Forever 21", - shop: "clothes" - }, - name: "Forever 21", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Gant": { - tags: { - name: "Gant", - shop: "clothes" - }, - name: "Gant", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Gap": { - tags: { - name: "Gap", - shop: "clothes" - }, - name: "Gap", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Gerry Weber": { - tags: { - name: "Gerry Weber", - shop: "clothes" - }, - name: "Gerry Weber", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Gina Laura": { - tags: { - name: "Gina Laura", - shop: "clothes" - }, - name: "Gina Laura", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Guess": { - tags: { - name: "Guess", - shop: "clothes" - }, - name: "Guess", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Gymboree": { - tags: { - name: "Gymboree", - shop: "clothes" - }, - name: "Gymboree", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Gémo": { - tags: { - name: "Gémo", - shop: "clothes" - }, - name: "Gémo", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/H&M": { - tags: { - name: "H&M", - shop: "clothes" - }, - name: "H&M", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Hallhuber": { - tags: { - name: "Hallhuber", - shop: "clothes" - }, - name: "Hallhuber", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/House": { - tags: { - name: "House", - shop: "clothes" - }, - name: "House", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Hugo Boss": { - tags: { - name: "Hugo Boss", - shop: "clothes" - }, - name: "Hugo Boss", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Humana": { - tags: { - name: "Humana", - shop: "clothes" - }, - name: "Humana", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Hunkemöller": { - tags: { - name: "Hunkemöller", - shop: "clothes" - }, - name: "Hunkemöller", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Intimissimi": { - tags: { - name: "Intimissimi", - shop: "clothes" - }, - name: "Intimissimi", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/JBC": { - tags: { - name: "JBC", - shop: "clothes" - }, - name: "JBC", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Jack & Jones": { - tags: { - name: "Jack & Jones", - shop: "clothes" - }, - name: "Jack & Jones", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Jack Wolfskin": { - tags: { - name: "Jack Wolfskin", - shop: "clothes" - }, - name: "Jack Wolfskin", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Jeans Fritz": { - tags: { - name: "Jeans Fritz", - shop: "clothes" - }, - name: "Jeans Fritz", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Jennyfer": { - tags: { - name: "Jennyfer", - shop: "clothes" - }, - name: "Jennyfer", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Jigsaw": { - tags: { - name: "Jigsaw", - shop: "clothes" - }, - name: "Jigsaw", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Jules": { - tags: { - name: "Jules", - shop: "clothes" - }, - name: "Jules", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Justice": { - tags: { - name: "Justice", - shop: "clothes" - }, - name: "Justice", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/KappAhl": { - tags: { - name: "KappAhl", - shop: "clothes" - }, - name: "KappAhl", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/KiK": { - tags: { - name: "KiK", - shop: "clothes" - }, - name: "KiK", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Kiabi": { - tags: { - name: "Kiabi", - shop: "clothes" - }, - name: "Kiabi", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/La Halle": { - tags: { - name: "La Halle", - shop: "clothes" - }, - name: "La Halle", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Lacoste": { - tags: { - name: "Lacoste", - shop: "clothes" - }, - name: "Lacoste", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Lane Bryant": { - tags: { - name: "Lane Bryant", - shop: "clothes" - }, - name: "Lane Bryant", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Levi's": { - tags: { - name: "Levi's", - shop: "clothes" - }, - name: "Levi's", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Lindex": { - tags: { - name: "Lindex", - shop: "clothes" - }, - name: "Lindex", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Loft": { - tags: { - name: "Loft", - shop: "clothes" - }, - name: "Loft", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Mango": { - tags: { - name: "Mango", - shop: "clothes" - }, - name: "Mango", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Mark's": { - tags: { - name: "Mark's", - shop: "clothes" - }, - name: "Mark's", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Marshalls": { - tags: { - name: "Marshalls", - shop: "clothes" - }, - name: "Marshalls", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Massimo Dutti": { - tags: { - name: "Massimo Dutti", - shop: "clothes" - }, - name: "Massimo Dutti", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Matalan": { - tags: { - name: "Matalan", - shop: "clothes" - }, - name: "Matalan", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Maurices": { - tags: { - name: "Maurices", - shop: "clothes" - }, - name: "Maurices", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Max Mara": { - tags: { - name: "Max Mara", - shop: "clothes" - }, - name: "Max Mara", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Mexx": { - tags: { - name: "Mexx", - shop: "clothes" - }, - name: "Mexx", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Michael Kors": { - tags: { - name: "Michael Kors", - shop: "clothes" - }, - name: "Michael Kors", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Mim": { - tags: { - name: "Mim", - shop: "clothes" - }, - name: "Mim", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Monsoon": { - tags: { - name: "Monsoon", - shop: "clothes" - }, - name: "Monsoon", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Mr Price": { - tags: { - name: "Mr Price", - shop: "clothes" - }, - name: "Mr Price", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/NKD": { - tags: { - name: "NKD", - shop: "clothes" - }, - name: "NKD", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/New Look": { - tags: { - name: "New Look", - shop: "clothes" - }, - name: "New Look", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/New Yorker": { - tags: { - name: "New Yorker", - shop: "clothes" - }, - name: "New Yorker", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/NewYorker": { - tags: { - name: "NewYorker", - shop: "clothes" - }, - name: "NewYorker", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Next": { - tags: { - name: "Next", - shop: "clothes" - }, - name: "Next", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Nike": { - tags: { - name: "Nike", - shop: "clothes" - }, - name: "Nike", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Nordstrom Rack": { - tags: { - name: "Nordstrom Rack", - shop: "clothes" - }, - name: "Nordstrom Rack", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/OVS": { - tags: { - name: "OVS", - shop: "clothes" - }, - name: "OVS", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Okaïdi": { - tags: { - name: "Okaïdi", - shop: "clothes" - }, - name: "Okaïdi", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Old Navy": { - tags: { - name: "Old Navy", - shop: "clothes" - }, - name: "Old Navy", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Only": { - tags: { - name: "Only", - shop: "clothes" - }, - name: "Only", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Orchestra": { - tags: { - name: "Orchestra", - shop: "clothes" - }, - name: "Orchestra", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Original Marines": { - tags: { - name: "Original Marines", - shop: "clothes" - }, - name: "Original Marines", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Orsay": { - tags: { - name: "Orsay", - shop: "clothes" - }, - name: "Orsay", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Outfit": { - tags: { - name: "Outfit", - shop: "clothes" - }, - name: "Outfit", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Outlet": { - tags: { - name: "Outlet", - shop: "clothes" - }, - name: "Outlet", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Palmers": { - tags: { - name: "Palmers", - shop: "clothes" - }, - name: "Palmers", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Peacocks": { - tags: { - name: "Peacocks", - shop: "clothes" - }, - name: "Peacocks", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Peek & Cloppenburg": { - tags: { - name: "Peek & Cloppenburg", - shop: "clothes" - }, - name: "Peek & Cloppenburg", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Pep": { - tags: { - name: "Pep", - shop: "clothes" - }, - name: "Pep", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Pepco": { - tags: { - name: "Pepco", - shop: "clothes" - }, - name: "Pepco", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Petit Bateau": { - tags: { - name: "Petit Bateau", - shop: "clothes" - }, - name: "Petit Bateau", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Pimkie": { - tags: { - name: "Pimkie", - shop: "clothes" - }, - name: "Pimkie", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Plato's Closet": { - tags: { - name: "Plato's Closet", - shop: "clothes" - }, - name: "Plato's Closet", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Primark": { - tags: { - name: "Primark", - shop: "clothes" - }, - name: "Primark", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Promod": { - tags: { - name: "Promod", - shop: "clothes" - }, - name: "Promod", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Pull & Bear": { - tags: { - name: "Pull & Bear", - shop: "clothes" - }, - name: "Pull & Bear", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Reitmans": { - tags: { - name: "Reitmans", - shop: "clothes" - }, - name: "Reitmans", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Reserved": { - tags: { - name: "Reserved", - shop: "clothes" - }, - name: "Reserved", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/River Island": { - tags: { - name: "River Island", - shop: "clothes" - }, - name: "River Island", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Ross": { - tags: { - name: "Ross", - shop: "clothes" - }, - name: "Ross", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Sela": { - tags: { - name: "Sela", - shop: "clothes" - }, - name: "Sela", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Sergent Major": { - tags: { - name: "Sergent Major", - shop: "clothes" - }, - name: "Sergent Major", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Shoeby": { - tags: { - name: "Shoeby", - shop: "clothes" - }, - name: "Shoeby", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Sisley": { - tags: { - name: "Sisley", - shop: "clothes" - }, - name: "Sisley", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Springfield": { - tags: { - name: "Springfield", - shop: "clothes" - }, - name: "Springfield", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Stefanel": { - tags: { - name: "Stefanel", - shop: "clothes" - }, - name: "Stefanel", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Steps": { - tags: { - name: "Steps", - shop: "clothes" - }, - name: "Steps", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Stradivarius": { - tags: { - name: "Stradivarius", - shop: "clothes" - }, - name: "Stradivarius", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Street One": { - tags: { - name: "Street One", - shop: "clothes" - }, - name: "Street One", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Superdry": { - tags: { - name: "Superdry", - shop: "clothes" - }, - name: "Superdry", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/TJ Maxx": { - tags: { - name: "TJ Maxx", - shop: "clothes" - }, - name: "TJ Maxx", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/TK Maxx": { - tags: { - name: "TK Maxx", - shop: "clothes" - }, - name: "TK Maxx", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Takko": { - tags: { - name: "Takko", - shop: "clothes" - }, - name: "Takko", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Talbots": { - tags: { - name: "Talbots", - shop: "clothes" - }, - name: "Talbots", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Tally Weijl": { - tags: { - name: "Tally Weijl", - shop: "clothes" - }, - name: "Tally Weijl", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Tati": { - tags: { - name: "Tati", - shop: "clothes" - }, - name: "Tati", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Terranova": { - tags: { - name: "Terranova", - shop: "clothes" - }, - name: "Terranova", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Tesha": { - tags: { - name: "Tesha", - shop: "clothes" - }, - name: "Tesha", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Tezenis": { - tags: { - name: "Tezenis", - shop: "clothes" - }, - name: "Tezenis", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/The Children's Place": { - tags: { - name: "The Children's Place", - shop: "clothes" - }, - name: "The Children's Place", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/The North Face": { - tags: { - name: "The North Face", - shop: "clothes" - }, - name: "The North Face", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/The Sting": { - tags: { - name: "The Sting", - shop: "clothes" - }, - name: "The Sting", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Timberland": { - tags: { - name: "Timberland", - shop: "clothes" - }, - name: "Timberland", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Toko Pakaian": { - tags: { - name: "Toko Pakaian", - shop: "clothes" - }, - name: "Toko Pakaian", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Tom Tailor": { - tags: { - name: "Tom Tailor", - shop: "clothes" - }, - name: "Tom Tailor", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Tommy Hilfiger": { - tags: { - name: "Tommy Hilfiger", - shop: "clothes" - }, - name: "Tommy Hilfiger", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Topshop": { - tags: { - name: "Topshop", - shop: "clothes" - }, - name: "Topshop", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Triumph": { - tags: { - name: "Triumph", - shop: "clothes" - }, - name: "Triumph", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Truworths": { - tags: { - name: "Truworths", - shop: "clothes" - }, - name: "Truworths", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Ulla Popken": { - tags: { - name: "Ulla Popken", - shop: "clothes" - }, - name: "Ulla Popken", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Uniqlo": { - tags: { - name: "Uniqlo", - shop: "clothes" - }, - name: "Uniqlo", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Urban Outfitters": { - tags: { - name: "Urban Outfitters", - shop: "clothes" - }, - name: "Urban Outfitters", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Vero Moda": { - tags: { - name: "Vero Moda", - shop: "clothes" - }, - name: "Vero Moda", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Vögele": { - tags: { - name: "Vögele", - shop: "clothes" - }, - name: "Vögele", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/WE": { - tags: { - name: "WE", - shop: "clothes" - }, - name: "WE", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Wibra": { - tags: { - name: "Wibra", - shop: "clothes" - }, - name: "Wibra", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Winners": { - tags: { - name: "Winners", - shop: "clothes" - }, - name: "Winners", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Yamamay": { - tags: { - name: "Yamamay", - shop: "clothes" - }, - name: "Yamamay", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Zara": { - tags: { - name: "Zara", - shop: "clothes" - }, - name: "Zara", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Zeeman": { - tags: { - name: "Zeeman", - shop: "clothes" - }, - name: "Zeeman", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/mister*lady": { - tags: { - name: "mister*lady", - shop: "clothes" - }, - name: "mister*lady", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/s.Oliver": { - tags: { - name: "s.Oliver", - shop: "clothes" - }, - name: "s.Oliver", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Детская одежда": { - tags: { - name: "Детская одежда", - shop: "clothes" - }, - name: "Детская одежда", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Женская одежда": { - tags: { - name: "Женская одежда", - shop: "clothes" - }, - name: "Женская одежда", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Липненски": { - tags: { - name: "Липненски", - shop: "clothes" - }, - name: "Липненски", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Московская ярмарка": { - tags: { - name: "Московская ярмарка", - shop: "clothes" - }, - name: "Московская ярмарка", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Одежда": { - tags: { - name: "Одежда", - shop: "clothes" - }, - name: "Одежда", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Смешные цены": { - tags: { - name: "Смешные цены", - shop: "clothes" - }, - name: "Смешные цены", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/Спецодежда": { - tags: { - name: "Спецодежда", - shop: "clothes" - }, - name: "Спецодежда", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/しまむら": { - tags: { - name: "しまむら", - shop: "clothes" - }, - name: "しまむら", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/ユニクロ": { - tags: { - name: "ユニクロ", - shop: "clothes" - }, - name: "ユニクロ", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/ワークマン": { - tags: { - name: "ワークマン", - shop: "clothes" - }, - name: "ワークマン", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/洋服の青山": { - tags: { - name: "洋服の青山", - shop: "clothes" - }, - name: "洋服の青山", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/clothes/西松屋": { - tags: { - name: "西松屋", - shop: "clothes" - }, - name: "西松屋", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "clothes", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/coffee/Nespresso": { - tags: { - name: "Nespresso", - shop: "coffee" - }, - name: "Nespresso", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/coffee/Tchibo": { - tags: { - name: "Tchibo", - shop: "coffee" - }, - name: "Tchibo", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/computer/Apple Store": { - tags: { - name: "Apple Store", - shop: "computer" - }, - name: "Apple Store", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/computer/DNS": { - tags: { - name: "DNS", - shop: "computer" - }, - name: "DNS", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/computer/PC World": { - tags: { - name: "PC World", - shop: "computer" - }, - name: "PC World", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/computer/ДНС": { - tags: { - name: "ДНС", - shop: "computer" - }, - name: "ДНС", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/confectionery/Fagyizó": { - tags: { - name: "Fagyizó", - shop: "confectionery" - }, - name: "Fagyizó", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/confectionery/Hussel": { - tags: { - name: "Hussel", - shop: "confectionery" - }, - name: "Hussel", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/confectionery/Leonidas": { - tags: { - name: "Leonidas", - shop: "confectionery" - }, - name: "Leonidas", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/confectionery/T. SN": { - tags: { - name: "T. SN", - shop: "confectionery" - }, - name: "T. SN", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/confectionery/Thorntons": { - tags: { - name: "Thorntons", - shop: "confectionery" - }, - name: "Thorntons", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/711": { - tags: { - name: "711", - shop: "convenience" - }, - name: "711", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/777": { - tags: { - name: "777", - shop: "convenience" - }, - name: "777", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/24 часа": { - tags: { - name: "24 часа", - shop: "convenience" - }, - name: "24 часа", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/7-Eleven": { - tags: { - name: "7-Eleven", - shop: "convenience" - }, - name: "7-Eleven", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/8 à Huit": { - tags: { - name: "8 à Huit", - shop: "convenience" - }, - name: "8 à Huit", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/99 Speedmart": { - tags: { - name: "99 Speedmart", - shop: "convenience" - }, - name: "99 Speedmart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ABC": { - tags: { - name: "ABC", - shop: "convenience" - }, - name: "ABC", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/AMPM": { - tags: { - name: "AMPM", - shop: "convenience" - }, - name: "AMPM", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Aibė": { - tags: { - name: "Aibė", - shop: "convenience" - }, - name: "Aibė", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Alepa": { - tags: { - name: "Alepa", - shop: "convenience" - }, - name: "Alepa", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Alfamart": { - tags: { - name: "Alfamart", - shop: "convenience" - }, - name: "Alfamart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Alimentara": { - tags: { - name: "Alimentara", - shop: "convenience" - }, - name: "Alimentara", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Almacen": { - tags: { - name: "Almacen", - shop: "convenience" - }, - name: "Almacen", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Almacén": { - tags: { - name: "Almacén", - shop: "convenience" - }, - name: "Almacén", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/BP Shop": { - tags: { - name: "BP Shop", - shop: "convenience" - }, - name: "BP Shop", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Baqala": { - tags: { - name: "Baqala", - shop: "convenience" - }, - name: "Baqala", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Best One": { - tags: { - name: "Best One", - shop: "convenience" - }, - name: "Best One", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Best-One": { - tags: { - name: "Best-One", - shop: "convenience" - }, - name: "Best-One", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Bodega": { - tags: { - name: "Bodega", - shop: "convenience" - }, - name: "Bodega", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Bonjour": { - tags: { - name: "Bonjour", - shop: "convenience" - }, - name: "Bonjour", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/CBA": { - tags: { - name: "CBA", - shop: "convenience" - }, - name: "CBA", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/COOP": { - tags: { - name: "COOP", - shop: "convenience" - }, - name: "COOP", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/COOP Jednota": { - tags: { - name: "COOP Jednota", - shop: "convenience" - }, - name: "COOP Jednota", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/CU": { - tags: { - name: "CU", - shop: "convenience" - }, - name: "CU", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Casino Shop": { - tags: { - name: "Casino Shop", - shop: "convenience" - }, - name: "Casino Shop", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Centra": { - tags: { - name: "Centra", - shop: "convenience" - }, - name: "Centra", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Central Convenience Store": { - tags: { - name: "Central Convenience Store", - shop: "convenience" - }, - name: "Central Convenience Store", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Circle K": { - tags: { - name: "Circle K", - shop: "convenience" - }, - name: "Circle K", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Coop Jednota": { - tags: { - name: "Coop Jednota", - shop: "convenience" - }, - name: "Coop Jednota", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Corner Store": { - tags: { - name: "Corner Store", - shop: "convenience" - }, - name: "Corner Store", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Costcutter": { - tags: { - name: "Costcutter", - shop: "convenience" - }, - name: "Costcutter", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Couche-Tard": { - tags: { - name: "Couche-Tard", - shop: "convenience" - }, - name: "Couche-Tard", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Cumberland Farms": { - tags: { - name: "Cumberland Farms", - shop: "convenience" - }, - name: "Cumberland Farms", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Daisy Mart": { - tags: { - name: "Daisy Mart", - shop: "convenience" - }, - name: "Daisy Mart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Delikatesy": { - tags: { - name: "Delikatesy", - shop: "convenience" - }, - name: "Delikatesy", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Dollar General": { - tags: { - name: "Dollar General", - shop: "convenience" - }, - name: "Dollar General", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Dépanneur": { - tags: { - name: "Dépanneur", - shop: "convenience" - }, - name: "Dépanneur", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/FamilyMart": { - tags: { - name: "FamilyMart", - shop: "convenience" - }, - name: "FamilyMart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Food Mart": { - tags: { - name: "Food Mart", - shop: "convenience" - }, - name: "Food Mart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Four Square": { - tags: { - name: "Four Square", - shop: "convenience" - }, - name: "Four Square", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Fresh": { - tags: { - name: "Fresh", - shop: "convenience" - }, - name: "Fresh", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Freshmarket": { - tags: { - name: "Freshmarket", - shop: "convenience" - }, - name: "Freshmarket", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/GS25": { - tags: { - name: "GS25", - shop: "convenience" - }, - name: "GS25", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Groszek": { - tags: { - name: "Groszek", - shop: "convenience" - }, - name: "Groszek", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Hasty Market": { - tags: { - name: "Hasty Market", - shop: "convenience" - }, - name: "Hasty Market", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Hruška": { - tags: { - name: "Hruška", - shop: "convenience" - }, - name: "Hruška", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Indomaret": { - tags: { - name: "Indomaret", - shop: "convenience" - }, - name: "Indomaret", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Jednota": { - tags: { - name: "Jednota", - shop: "convenience" - }, - name: "Jednota", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Joker": { - tags: { - name: "Joker", - shop: "convenience" - }, - name: "Joker", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/K-Market": { - tags: { - name: "K-Market", - shop: "convenience" - }, - name: "K-Market", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Kangaroo Express": { - tags: { - name: "Kangaroo Express", - shop: "convenience" - }, - name: "Kangaroo Express", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Kisbolt": { - tags: { - name: "Kisbolt", - shop: "convenience" - }, - name: "Kisbolt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Lawson": { - tags: { - name: "Lawson", - shop: "convenience" - }, - name: "Lawson", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Lewiatan": { - tags: { - name: "Lewiatan", - shop: "convenience" - }, - name: "Lewiatan", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Lifestyle Express": { - tags: { - name: "Lifestyle Express", - shop: "convenience" - }, - name: "Lifestyle Express", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Londis": { - tags: { - name: "Londis", - shop: "convenience" - }, - name: "Londis", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Mac's": { - tags: { - name: "Mac's", - shop: "convenience" - }, - name: "Mac's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Mace": { - tags: { - name: "Mace", - shop: "convenience" - }, - name: "Mace", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Magazin": { - tags: { - name: "Magazin", - shop: "convenience" - }, - name: "Magazin", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Magazin Mixt": { - tags: { - name: "Magazin Mixt", - shop: "convenience" - }, - name: "Magazin Mixt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Magazin Non-Stop": { - tags: { - name: "Magazin Non-Stop", - shop: "convenience" - }, - name: "Magazin Non-Stop", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Magazin mixt": { - tags: { - name: "Magazin mixt", - shop: "convenience" - }, - name: "Magazin mixt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Maxikiosco": { - tags: { - name: "Maxikiosco", - shop: "convenience" - }, - name: "Maxikiosco", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Małpka Express": { - tags: { - name: "Małpka Express", - shop: "convenience" - }, - name: "Małpka Express", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/McColl's": { - tags: { - name: "McColl's", - shop: "convenience" - }, - name: "McColl's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Migrolino": { - tags: { - name: "Migrolino", - shop: "convenience" - }, - name: "Migrolino", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Mini ABC": { - tags: { - name: "Mini ABC", - shop: "convenience" - }, - name: "Mini ABC", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Mini Market": { - tags: { - name: "Mini Market", - shop: "convenience" - }, - name: "Mini Market", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Mini Mart": { - tags: { - name: "Mini Mart", - shop: "convenience" - }, - name: "Mini Mart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Mini Stop": { - tags: { - name: "Mini Stop", - shop: "convenience" - }, - name: "Mini Stop", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Minimercado": { - tags: { - name: "Minimercado", - shop: "convenience" - }, - name: "Minimercado", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Mlin i pekare": { - tags: { - name: "Mlin i pekare", - shop: "convenience" - }, - name: "Mlin i pekare", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Nasz Sklep": { - tags: { - name: "Nasz Sklep", - shop: "convenience" - }, - name: "Nasz Sklep", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Nisa": { - tags: { - name: "Nisa", - shop: "convenience" - }, - name: "Nisa", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Nisa Local": { - tags: { - name: "Nisa Local", - shop: "convenience" - }, - name: "Nisa Local", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/OK-Mart": { - tags: { - name: "OK-Mart", - shop: "convenience" - }, - name: "OK-Mart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/OK便利商店": { - tags: { - name: "OK便利商店", - shop: "convenience" - }, - name: "OK便利商店", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/OK便利店 Circle K": { - tags: { - name: "OK便利店 Circle K", - shop: "convenience" - }, - name: "OK便利店 Circle K", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Odido": { - tags: { - name: "Odido", - shop: "convenience" - }, - name: "Odido", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/On The Run": { - tags: { - name: "On The Run", - shop: "convenience" - }, - name: "On The Run", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/On the Run": { - tags: { - name: "On the Run", - shop: "convenience" - }, - name: "On the Run", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/One Stop": { - tags: { - name: "One Stop", - shop: "convenience" - }, - name: "One Stop", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Oxxo": { - tags: { - name: "Oxxo", - shop: "convenience" - }, - name: "Oxxo", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Parduotuvė": { - tags: { - name: "Parduotuvė", - shop: "convenience" - }, - name: "Parduotuvė", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Petit Casino": { - tags: { - name: "Petit Casino", - shop: "convenience" - }, - name: "Petit Casino", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Plaid Pantry": { - tags: { - name: "Plaid Pantry", - shop: "convenience" - }, - name: "Plaid Pantry", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Potraviny": { - tags: { - name: "Potraviny", - shop: "convenience" - }, - name: "Potraviny", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Prehrana": { - tags: { - name: "Prehrana", - shop: "convenience" - }, - name: "Prehrana", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Premier": { - tags: { - name: "Premier", - shop: "convenience" - }, - name: "Premier", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Proxi": { - tags: { - name: "Proxi", - shop: "convenience" - }, - name: "Proxi", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Proxy": { - tags: { - name: "Proxy", - shop: "convenience" - }, - name: "Proxy", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Pulperia": { - tags: { - name: "Pulperia", - shop: "convenience" - }, - name: "Pulperia", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Royal Farms": { - tags: { - name: "Royal Farms", - shop: "convenience" - }, - name: "Royal Farms", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Sale": { - tags: { - name: "Sale", - shop: "convenience" - }, - name: "Sale", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Sari-sari Store": { - tags: { - name: "Sari-sari Store", - shop: "convenience" - }, - name: "Sari-sari Store", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Select": { - tags: { - name: "Select", - shop: "convenience" - }, - name: "Select", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Shell Select": { - tags: { - name: "Shell Select", - shop: "convenience" - }, - name: "Shell Select", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Shop & Go": { - tags: { - name: "Shop & Go", - shop: "convenience" - }, - name: "Shop & Go", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Siwa": { - tags: { - name: "Siwa", - shop: "convenience" - }, - name: "Siwa", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Sklep spożywczy": { - tags: { - name: "Sklep spożywczy", - shop: "convenience" - }, - name: "Sklep spożywczy", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Smíšené zboží": { - tags: { - name: "Smíšené zboží", - shop: "convenience" - }, - name: "Smíšené zboží", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Społem": { - tags: { - name: "Społem", - shop: "convenience" - }, - name: "Społem", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Spätkauf": { - tags: { - name: "Spätkauf", - shop: "convenience" - }, - name: "Spätkauf", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Stewart's": { - tags: { - name: "Stewart's", - shop: "convenience" - }, - name: "Stewart's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Stores": { - tags: { - name: "Stores", - shop: "convenience" - }, - name: "Stores", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Stripes": { - tags: { - name: "Stripes", - shop: "convenience" - }, - name: "Stripes", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Studenac": { - tags: { - name: "Studenac", - shop: "convenience" - }, - name: "Studenac", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Sunkus": { - tags: { - name: "Sunkus", - shop: "convenience" - }, - name: "Sunkus", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Słoneczko": { - tags: { - name: "Słoneczko", - shop: "convenience" - }, - name: "Słoneczko", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/TESCO Lotus Express": { - tags: { - name: "TESCO Lotus Express", - shop: "convenience" - }, - name: "TESCO Lotus Express", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Tesco Express": { - tags: { - name: "Tesco Express", - shop: "convenience" - }, - name: "Tesco Express", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Tesco Lotus Express": { - tags: { - name: "Tesco Lotus Express", - shop: "convenience" - }, - name: "Tesco Lotus Express", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Tom Market 89": { - tags: { - name: "Tom Market 89", - shop: "convenience" - }, - name: "Tom Market 89", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/United Dairy Farmers": { - tags: { - name: "United Dairy Farmers", - shop: "convenience" - }, - name: "United Dairy Farmers", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Vegyesbolt": { - tags: { - name: "Vegyesbolt", - shop: "convenience" - }, - name: "Vegyesbolt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Večerka": { - tags: { - name: "Večerka", - shop: "convenience" - }, - name: "Večerka", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Vival": { - tags: { - name: "Vival", - shop: "convenience" - }, - name: "Vival", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Wawa": { - tags: { - name: "Wawa", - shop: "convenience" - }, - name: "Wawa", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Weltladen": { - tags: { - name: "Weltladen", - shop: "convenience" - }, - name: "Weltladen", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/abc": { - tags: { - name: "abc", - shop: "convenience" - }, - name: "abc", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ampm": { - tags: { - name: "ampm", - shop: "convenience" - }, - name: "ampm", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/best-one": { - tags: { - name: "best-one", - shop: "convenience" - }, - name: "best-one", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/odido": { - tags: { - name: "odido", - shop: "convenience" - }, - name: "odido", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Élelmiszer": { - tags: { - name: "Élelmiszer", - shop: "convenience" - }, - name: "Élelmiszer", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Élelmiszerbolt": { - tags: { - name: "Élelmiszerbolt", - shop: "convenience" - }, - name: "Élelmiszerbolt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Żabka": { - tags: { - name: "Żabka", - shop: "convenience" - }, - name: "Żabka", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Žabka": { - tags: { - name: "Žabka", - shop: "convenience" - }, - name: "Žabka", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Августина": { - tags: { - name: "Августина", - shop: "convenience" - }, - name: "Августина", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Авоська": { - tags: { - name: "Авоська", - shop: "convenience" - }, - name: "Авоська", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Агрокомплекс": { - tags: { - name: "Агрокомплекс", - shop: "convenience" - }, - name: "Агрокомплекс", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Альянс": { - tags: { - name: "Альянс", - shop: "convenience" - }, - name: "Альянс", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Апельсин": { - tags: { - name: "Апельсин", - shop: "convenience" - }, - name: "Апельсин", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Ассорти": { - tags: { - name: "Ассорти", - shop: "convenience" - }, - name: "Ассорти", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Белорусские продукты": { - tags: { - name: "Белорусские продукты", - shop: "convenience" - }, - name: "Белорусские продукты", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Берёзка": { - tags: { - name: "Берёзка", - shop: "convenience" - }, - name: "Берёзка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Везунчик": { - tags: { - name: "Везунчик", - shop: "convenience" - }, - name: "Везунчик", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Весна": { - tags: { - name: "Весна", - shop: "convenience" - }, - name: "Весна", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Ветеран": { - tags: { - name: "Ветеран", - shop: "convenience" - }, - name: "Ветеран", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Визит": { - tags: { - name: "Визит", - shop: "convenience" - }, - name: "Визит", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Виктория": { - tags: { - name: "Виктория", - shop: "convenience" - }, - name: "Виктория", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ВкусВилл": { - tags: { - name: "ВкусВилл", - shop: "convenience" - }, - name: "ВкусВилл", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Гастроном": { - tags: { - name: "Гастроном", - shop: "convenience" - }, - name: "Гастроном", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Гермес": { - tags: { - name: "Гермес", - shop: "convenience" - }, - name: "Гермес", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Гурман": { - tags: { - name: "Гурман", - shop: "convenience" - }, - name: "Гурман", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Домашний": { - tags: { - name: "Домашний", - shop: "convenience" - }, - name: "Домашний", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Елена": { - tags: { - name: "Елена", - shop: "convenience" - }, - name: "Елена", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Ермолино": { - tags: { - name: "Ермолино", - shop: "convenience" - }, - name: "Ермолино", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Калинка": { - tags: { - name: "Калинка", - shop: "convenience" - }, - name: "Калинка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Кировский": { - tags: { - name: "Кировский", - shop: "convenience" - }, - name: "Кировский", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Колобок": { - tags: { - name: "Колобок", - shop: "convenience" - }, - name: "Колобок", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Колосок": { - tags: { - name: "Колосок", - shop: "convenience" - }, - name: "Колосок", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Копеечка": { - tags: { - name: "Копеечка", - shop: "convenience" - }, - name: "Копеечка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Копейка": { - tags: { - name: "Копейка", - shop: "convenience" - }, - name: "Копейка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Корзинка": { - tags: { - name: "Корзинка", - shop: "convenience" - }, - name: "Корзинка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Крамниця": { - tags: { - name: "Крамниця", - shop: "convenience" - }, - name: "Крамниця", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Кристалл": { - tags: { - name: "Кристалл", - shop: "convenience" - }, - name: "Кристалл", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Кулинария": { - tags: { - name: "Кулинария", - shop: "convenience" - }, - name: "Кулинария", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Купец": { - tags: { - name: "Купец", - shop: "convenience" - }, - name: "Купец", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Ласточка": { - tags: { - name: "Ласточка", - shop: "convenience" - }, - name: "Ласточка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Лидер": { - tags: { - name: "Лидер", - shop: "convenience" - }, - name: "Лидер", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Любимый": { - tags: { - name: "Любимый", - shop: "convenience" - }, - name: "Любимый", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Люкс": { - tags: { - name: "Люкс", - shop: "convenience" - }, - name: "Люкс", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Магазин при АЗС": { - tags: { - name: "Магазин при АЗС", - shop: "convenience" - }, - name: "Магазин при АЗС", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Мария-Ра": { - tags: { - name: "Мария-Ра", - shop: "convenience" - }, - name: "Мария-Ра", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Маяк": { - tags: { - name: "Маяк", - shop: "convenience" - }, - name: "Маяк", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Меркурий": { - tags: { - name: "Меркурий", - shop: "convenience" - }, - name: "Меркурий", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Мечта": { - tags: { - name: "Мечта", - shop: "convenience" - }, - name: "Мечта", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Минимаркет": { - tags: { - name: "Минимаркет", - shop: "convenience" - }, - name: "Минимаркет", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Мираж": { - tags: { - name: "Мираж", - shop: "convenience" - }, - name: "Мираж", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Надежда": { - tags: { - name: "Надежда", - shop: "convenience" - }, - name: "Надежда", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Ника": { - tags: { - name: "Ника", - shop: "convenience" - }, - name: "Ника", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Оазис": { - tags: { - name: "Оазис", - shop: "convenience" - }, - name: "Оазис", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Олимп": { - tags: { - name: "Олимп", - shop: "convenience" - }, - name: "Олимп", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Подсолнух": { - tags: { - name: "Подсолнух", - shop: "convenience" - }, - name: "Подсолнух", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Престиж": { - tags: { - name: "Престиж", - shop: "convenience" - }, - name: "Престиж", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Продукти": { - tags: { - name: "Продукти", - shop: "convenience" - }, - name: "Продукти", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Продуктовый": { - tags: { - name: "Продуктовый", - shop: "convenience" - }, - name: "Продуктовый", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Продуктовый магазин": { - tags: { - name: "Продуктовый магазин", - shop: "convenience" - }, - name: "Продуктовый магазин", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Продукты": { - tags: { - name: "Продукты", - shop: "convenience" - }, - name: "Продукты", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Продукты 24": { - tags: { - name: "Продукты 24", - shop: "convenience" - }, - name: "Продукты 24", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Радуга": { - tags: { - name: "Радуга", - shop: "convenience" - }, - name: "Радуга", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Родны кут": { - tags: { - name: "Родны кут", - shop: "convenience" - }, - name: "Родны кут", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Ромашка": { - tags: { - name: "Ромашка", - shop: "convenience" - }, - name: "Ромашка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Русь": { - tags: { - name: "Русь", - shop: "convenience" - }, - name: "Русь", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Светлана": { - tags: { - name: "Светлана", - shop: "convenience" - }, - name: "Светлана", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Смак": { - tags: { - name: "Смак", - shop: "convenience" - }, - name: "Смак", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Солнечный": { - tags: { - name: "Солнечный", - shop: "convenience" - }, - name: "Солнечный", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Татьяна": { - tags: { - name: "Татьяна", - shop: "convenience" - }, - name: "Татьяна", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Тройка": { - tags: { - name: "Тройка", - shop: "convenience" - }, - name: "Тройка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/У Палыча": { - tags: { - name: "У Палыча", - shop: "convenience" - }, - name: "У Палыча", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Универсам": { - tags: { - name: "Универсам", - shop: "convenience" - }, - name: "Универсам", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Фортуна": { - tags: { - name: "Фортуна", - shop: "convenience" - }, - name: "Фортуна", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Хороший": { - tags: { - name: "Хороший", - shop: "convenience" - }, - name: "Хороший", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Центральный": { - tags: { - name: "Центральный", - shop: "convenience" - }, - name: "Центральный", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Чайка": { - tags: { - name: "Чайка", - shop: "convenience" - }, - name: "Чайка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Шанс": { - tags: { - name: "Шанс", - shop: "convenience" - }, - name: "Шанс", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Эконом": { - tags: { - name: "Эконом", - shop: "convenience" - }, - name: "Эконом", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Юбилейный": { - tags: { - name: "Юбилейный", - shop: "convenience" - }, - name: "Юбилейный", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/Юлия": { - tags: { - name: "Юлия", - shop: "convenience" - }, - name: "Юлия", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/продукты": { - tags: { - name: "продукты", - shop: "convenience" - }, - name: "продукты", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/მარკეტი": { - tags: { - name: "მარკეტი", - shop: "convenience" - }, - name: "მარკეტი", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/サンクス": { - tags: { - name: "サンクス", - "name:en": "Sunkus", - shop: "convenience" - }, - name: "サンクス", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/サークルK": { - tags: { - name: "サークルK", - "name:en": "Circle K", - shop: "convenience" - }, - name: "サークルK", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/スリーエフ": { - tags: { - name: "スリーエフ", - shop: "convenience" - }, - name: "スリーエフ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/セイコーマート": { - tags: { - name: "セイコーマート", - shop: "convenience" - }, - name: "セイコーマート", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/セブン-イレブン": { - tags: { - name: "セブン-イレブン", - "name:en": "7-Eleven", - shop: "convenience" - }, - name: "セブン-イレブン", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/セブンイレブン(Seven-Eleven)": { - tags: { - name: "セブンイレブン(Seven-Eleven)", - shop: "convenience" - }, - name: "セブンイレブン(Seven-Eleven)", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/セーブオン": { - tags: { - name: "セーブオン", - shop: "convenience" - }, - name: "セーブオン", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/デイリーヤマザキ": { - tags: { - name: "デイリーヤマザキ", - shop: "convenience" - }, - name: "デイリーヤマザキ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ファミリーマート": { - tags: { - name: "ファミリーマート", - "name:en": "FamilyMart", - shop: "convenience" - }, - name: "ファミリーマート", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ポプラ": { - tags: { - name: "ポプラ", - shop: "convenience" - }, - name: "ポプラ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ミニストップ": { - tags: { - name: "ミニストップ", - "name:en": "MINISTOP", - shop: "convenience" - }, - name: "ミニストップ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ヤマザキショップ": { - tags: { - name: "ヤマザキショップ", - shop: "convenience" - }, - name: "ヤマザキショップ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ローソン": { - tags: { - name: "ローソン", - "name:en": "Lawson", - shop: "convenience" - }, - name: "ローソン", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/ローソンストア100": { - tags: { - name: "ローソンストア100", - shop: "convenience" - }, - name: "ローソンストア100", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/全家": { - tags: { - name: "全家", - shop: "convenience" - }, - name: "全家", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/全家便利商店": { - tags: { - name: "全家便利商店", - shop: "convenience" - }, - name: "全家便利商店", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/萊爾富": { - tags: { - name: "萊爾富", - shop: "convenience" - }, - name: "萊爾富", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/convenience/세븐일레븐": { - tags: { - name: "세븐일레븐", - shop: "convenience" - }, - name: "세븐일레븐", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/copyshop/FedEx Office": { - tags: { - name: "FedEx Office", - shop: "copyshop" - }, - name: "FedEx Office", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/cosmetics/Douglas": { - tags: { - name: "Douglas", - shop: "cosmetics" - }, - name: "Douglas", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/cosmetics/Lush": { - tags: { - name: "Lush", - shop: "cosmetics" - }, - name: "Lush", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/cosmetics/Marionnaud": { - tags: { - name: "Marionnaud", - shop: "cosmetics" - }, - name: "Marionnaud", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/cosmetics/Sephora": { - tags: { - name: "Sephora", - shop: "cosmetics" - }, - name: "Sephora", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/cosmetics/Л'Этуаль": { - tags: { - name: "Л'Этуаль", - shop: "cosmetics" - }, - name: "Л'Этуаль", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/cosmetics/Магнит косметик": { - tags: { - name: "Магнит косметик", - shop: "cosmetics" - }, - name: "Магнит косметик", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/cosmetics/Магнит-Косметик": { - tags: { - name: "Магнит-Косметик", - shop: "cosmetics" - }, - name: "Магнит-Косметик", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/cosmetics/Подружка": { - tags: { - name: "Подружка", - shop: "cosmetics" - }, - name: "Подружка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/craft/Hobby Lobby": { - tags: { - name: "Hobby Lobby", - shop: "craft" - }, - name: "Hobby Lobby", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/craft/Michaels": { - tags: { - name: "Michaels", - shop: "craft" - }, - name: "Michaels", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Argos": { - tags: { - name: "Argos", - shop: "department_store" - }, - name: "Argos", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Big Lots": { - tags: { - name: "Big Lots", - shop: "department_store" - }, - name: "Big Lots", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Big W": { - tags: { - name: "Big W", - shop: "department_store" - }, - name: "Big W", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Canadian Tire": { - tags: { - name: "Canadian Tire", - shop: "department_store" - }, - name: "Canadian Tire", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Coppel": { - tags: { - name: "Coppel", - shop: "department_store" - }, - name: "Coppel", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Debenhams": { - tags: { - name: "Debenhams", - shop: "department_store" - }, - name: "Debenhams", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Dillard's": { - tags: { - name: "Dillard's", - shop: "department_store" - }, - name: "Dillard's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Galeria Kaufhof": { - tags: { - name: "Galeria Kaufhof", - shop: "department_store" - }, - name: "Galeria Kaufhof", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/HEMA": { - tags: { - name: "HEMA", - shop: "department_store" - }, - name: "HEMA", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Harvey Norman": { - tags: { - name: "Harvey Norman", - shop: "department_store" - }, - name: "Harvey Norman", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/JCPenney": { - tags: { - name: "JCPenney", - shop: "department_store" - }, - name: "JCPenney", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Karstadt": { - tags: { - name: "Karstadt", - shop: "department_store" - }, - name: "Karstadt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Kmart": { - tags: { - name: "Kmart", - shop: "department_store" - }, - name: "Kmart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Kohl's": { - tags: { - name: "Kohl's", - shop: "department_store" - }, - name: "Kohl's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Lojas Americanas": { - tags: { - name: "Lojas Americanas", - shop: "department_store" - }, - name: "Lojas Americanas", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Macy's": { - tags: { - name: "Macy's", - shop: "department_store" - }, - name: "Macy's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Marks & Spencer": { - tags: { - name: "Marks & Spencer", - shop: "department_store" - }, - name: "Marks & Spencer", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Myer": { - tags: { - name: "Myer", - shop: "department_store" - }, - name: "Myer", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Nordstrom": { - tags: { - name: "Nordstrom", - shop: "department_store" - }, - name: "Nordstrom", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Sears": { - tags: { - name: "Sears", - shop: "department_store" - }, - name: "Sears", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Shopko": { - tags: { - name: "Shopko", - shop: "department_store" - }, - name: "Shopko", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Target": { - tags: { - name: "Target", - shop: "department_store" - }, - name: "Target", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/The Warehouse": { - tags: { - name: "The Warehouse", - shop: "department_store" - }, - name: "The Warehouse", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Woolworth": { - tags: { - name: "Woolworth", - shop: "department_store" - }, - name: "Woolworth", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/department_store/Универмаг": { - tags: { - name: "Универмаг", - shop: "department_store" - }, - name: "Универмаг", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Ace Hardware": { - tags: { - name: "Ace Hardware", - shop: "doityourself" - }, - name: "Ace Hardware", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/B&Q": { - tags: { - name: "B&Q", - shop: "doityourself" - }, - name: "B&Q", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Bauhaus": { - tags: { - name: "Bauhaus", - shop: "doityourself" - }, - name: "Bauhaus", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Biltema": { - tags: { - name: "Biltema", - shop: "doityourself" - }, - name: "Biltema", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Brico": { - tags: { - name: "Brico", - shop: "doityourself" - }, - name: "Brico", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Bricomarché": { - tags: { - name: "Bricomarché", - shop: "doityourself" - }, - name: "Bricomarché", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Bricorama": { - tags: { - name: "Bricorama", - shop: "doityourself" - }, - name: "Bricorama", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Bunnings Warehouse": { - tags: { - name: "Bunnings Warehouse", - shop: "doityourself" - }, - name: "Bunnings Warehouse", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Castorama": { - tags: { - name: "Castorama", - shop: "doityourself" - }, - name: "Castorama", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Easy": { - tags: { - name: "Easy", - shop: "doityourself" - }, - name: "Easy", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Gamma": { - tags: { - name: "Gamma", - shop: "doityourself" - }, - name: "Gamma", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Globus Baumarkt": { - tags: { - name: "Globus Baumarkt", - shop: "doityourself" - }, - name: "Globus Baumarkt", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Hagebaumarkt": { - tags: { - name: "Hagebaumarkt", - shop: "doityourself" - }, - name: "Hagebaumarkt", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Hellweg": { - tags: { - name: "Hellweg", - shop: "doityourself" - }, - name: "Hellweg", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Home Depot": { - tags: { - name: "Home Depot", - shop: "doityourself" - }, - name: "Home Depot", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Home Hardware": { - tags: { - name: "Home Hardware", - shop: "doityourself" - }, - name: "Home Hardware", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Homebase": { - tags: { - name: "Homebase", - shop: "doityourself" - }, - name: "Homebase", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Hornbach": { - tags: { - name: "Hornbach", - shop: "doityourself" - }, - name: "Hornbach", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Hubo": { - tags: { - name: "Hubo", - shop: "doityourself" - }, - name: "Hubo", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Karwei": { - tags: { - name: "Karwei", - shop: "doityourself" - }, - name: "Karwei", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Lagerhaus": { - tags: { - name: "Lagerhaus", - shop: "doityourself" - }, - name: "Lagerhaus", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Leroy Merlin": { - tags: { - name: "Leroy Merlin", - shop: "doityourself" - }, - name: "Leroy Merlin", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Lowe's": { - tags: { - name: "Lowe's", - shop: "doityourself" - }, - name: "Lowe's", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Lowes": { - tags: { - name: "Lowes", - shop: "doityourself" - }, - name: "Lowes", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Menards": { - tags: { - name: "Menards", - shop: "doityourself" - }, - name: "Menards", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Mr Bricolage": { - tags: { - name: "Mr Bricolage", - shop: "doityourself" - }, - name: "Mr Bricolage", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Mr.Bricolage": { - tags: { - name: "Mr.Bricolage", - shop: "doityourself" - }, - name: "Mr.Bricolage", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/OBI": { - tags: { - name: "OBI", - shop: "doityourself" - }, - name: "OBI", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Point P": { - tags: { - name: "Point P", - shop: "doityourself" - }, - name: "Point P", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Praktiker": { - tags: { - name: "Praktiker", - shop: "doityourself" - }, - name: "Praktiker", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Praxis": { - tags: { - name: "Praxis", - shop: "doityourself" - }, - name: "Praxis", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Rona": { - tags: { - name: "Rona", - shop: "doityourself" - }, - name: "Rona", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Screwfix": { - tags: { - name: "Screwfix", - shop: "doityourself" - }, - name: "Screwfix", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Sonderpreis Baumarkt": { - tags: { - name: "Sonderpreis Baumarkt", - shop: "doityourself" - }, - name: "Sonderpreis Baumarkt", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Tekzen": { - tags: { - name: "Tekzen", - shop: "doityourself" - }, - name: "Tekzen", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Toom Baumarkt": { - tags: { - name: "Toom Baumarkt", - shop: "doityourself" - }, - name: "Toom Baumarkt", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Weldom": { - tags: { - name: "Weldom", - shop: "doityourself" - }, - name: "Weldom", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Wickes": { - tags: { - name: "Wickes", - shop: "doityourself" - }, - name: "Wickes", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Леруа Мерлен": { - tags: { - name: "Леруа Мерлен", - shop: "doityourself" - }, - name: "Леруа Мерлен", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Мастер": { - tags: { - name: "Мастер", - shop: "doityourself" - }, - name: "Мастер", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Строитель": { - tags: { - name: "Строитель", - shop: "doityourself" - }, - name: "Строитель", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/Стройматериалы": { - tags: { - name: "Стройматериалы", - shop: "doityourself" - }, - name: "Стройматериалы", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/カインズホーム": { - tags: { - name: "カインズホーム", - shop: "doityourself" - }, - name: "カインズホーム", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/コメリ": { - tags: { - name: "コメリ", - shop: "doityourself" - }, - name: "コメリ", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/doityourself/コーナン": { - tags: { - name: "コーナン", - shop: "doityourself" - }, - name: "コーナン", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/dry_cleaning/Cleaners": { - tags: { - name: "Cleaners", - shop: "dry_cleaning" - }, - name: "Cleaners", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/dry_cleaning/Pressing": { - tags: { - name: "Pressing", - shop: "dry_cleaning" - }, - name: "Pressing", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/dry_cleaning/Диана": { - tags: { - name: "Диана", - shop: "dry_cleaning" - }, - name: "Диана", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/dry_cleaning/Химчистка": { - tags: { - name: "Химчистка", - shop: "dry_cleaning" - }, - name: "Химчистка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/dry_cleaning/ホワイト急便": { - tags: { - name: "ホワイト急便", - shop: "dry_cleaning" - }, - name: "ホワイト急便", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/BCC": { - tags: { - name: "BCC", - shop: "electronics" - }, - name: "BCC", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Batteries Plus Bulbs": { - tags: { - name: "Batteries Plus Bulbs", - shop: "electronics" - }, - name: "Batteries Plus Bulbs", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Best Buy": { - tags: { - name: "Best Buy", - shop: "electronics" - }, - name: "Best Buy", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Boulanger": { - tags: { - name: "Boulanger", - shop: "electronics" - }, - name: "Boulanger", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Currys": { - tags: { - name: "Currys", - shop: "electronics" - }, - name: "Currys", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Currys PC World": { - tags: { - name: "Currys PC World", - shop: "electronics" - }, - name: "Currys PC World", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Darty": { - tags: { - name: "Darty", - shop: "electronics" - }, - name: "Darty", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Elektra": { - tags: { - name: "Elektra", - shop: "electronics" - }, - name: "Elektra", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Elgiganten": { - tags: { - name: "Elgiganten", - shop: "electronics" - }, - name: "Elgiganten", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Euronics": { - tags: { - name: "Euronics", - shop: "electronics" - }, - name: "Euronics", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Expert": { - tags: { - name: "Expert", - shop: "electronics" - }, - name: "Expert", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Hartlauer": { - tags: { - name: "Hartlauer", - shop: "electronics" - }, - name: "Hartlauer", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Interdiscount": { - tags: { - name: "Interdiscount", - shop: "electronics" - }, - name: "Interdiscount", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/La Curacao": { - tags: { - name: "La Curacao", - shop: "electronics" - }, - name: "La Curacao", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Maplin": { - tags: { - name: "Maplin", - shop: "electronics" - }, - name: "Maplin", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Media Expert": { - tags: { - name: "Media Expert", - shop: "electronics" - }, - name: "Media Expert", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Media Markt": { - tags: { - name: "Media Markt", - shop: "electronics" - }, - name: "Media Markt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Musimundo": { - tags: { - name: "Musimundo", - shop: "electronics" - }, - name: "Musimundo", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Neonet": { - tags: { - name: "Neonet", - shop: "electronics" - }, - name: "Neonet", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/RTV Euro AGD": { - tags: { - name: "RTV Euro AGD", - shop: "electronics" - }, - name: "RTV Euro AGD", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Radio Shack": { - tags: { - name: "Radio Shack", - shop: "electronics" - }, - name: "Radio Shack", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Rogers": { - tags: { - name: "Rogers", - shop: "electronics" - }, - name: "Rogers", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Samsung": { - tags: { - name: "Samsung", - shop: "electronics" - }, - name: "Samsung", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Saturn": { - tags: { - name: "Saturn", - shop: "electronics" - }, - name: "Saturn", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Sony": { - tags: { - name: "Sony", - shop: "electronics" - }, - name: "Sony", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/The Source": { - tags: { - name: "The Source", - shop: "electronics" - }, - name: "The Source", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Unieuro": { - tags: { - name: "Unieuro", - shop: "electronics" - }, - name: "Unieuro", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/М.Видео": { - tags: { - name: "М.Видео", - shop: "electronics" - }, - name: "М.Видео", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Фокстрот": { - tags: { - name: "Фокстрот", - shop: "electronics" - }, - name: "Фокстрот", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Эксперт": { - tags: { - name: "Эксперт", - shop: "electronics" - }, - name: "Эксперт", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/Эльдорадо": { - tags: { - name: "Эльдорадо", - shop: "electronics" - }, - name: "Эльдорадо", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/エディオン": { - tags: { - name: "エディオン", - shop: "electronics" - }, - name: "エディオン", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/ケーズデンキ": { - tags: { - name: "ケーズデンキ", - shop: "electronics" - }, - name: "ケーズデンキ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/コジマ": { - tags: { - name: "コジマ", - shop: "electronics" - }, - name: "コジマ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/ヤマダ電機": { - tags: { - name: "ヤマダ電機", - shop: "electronics" - }, - name: "ヤマダ電機", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/全國電子": { - tags: { - name: "全國電子", - shop: "electronics" - }, - name: "全國電子", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/electronics/燦坤3C": { - tags: { - name: "燦坤3C", - shop: "electronics" - }, - name: "燦坤3C", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/erotic/Orion": { - tags: { - name: "Orion", - shop: "erotic" - }, - name: "Orion", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/fabric/Ткани": { - tags: { - name: "Ткани", - shop: "fabric" - }, - name: "Ткани", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/farm/Hofladen": { - tags: { - name: "Hofladen", - shop: "farm" - }, - name: "Hofladen", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Blume 2000": { - tags: { - name: "Blume 2000", - shop: "florist" - }, - name: "Blume 2000", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Blumen Risse": { - tags: { - name: "Blumen Risse", - shop: "florist" - }, - name: "Blumen Risse", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Fleuriste": { - tags: { - name: "Fleuriste", - shop: "florist" - }, - name: "Fleuriste", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Interflora": { - tags: { - name: "Interflora", - shop: "florist" - }, - name: "Interflora", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Monceau Fleurs": { - tags: { - name: "Monceau Fleurs", - shop: "florist" - }, - name: "Monceau Fleurs", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Virágbolt": { - tags: { - name: "Virágbolt", - shop: "florist" - }, - name: "Virágbolt", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Квіти": { - tags: { - name: "Квіти", - shop: "florist" - }, - name: "Квіти", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Цветочный магазин": { - tags: { - name: "Цветочный магазин", - shop: "florist" - }, - name: "Цветочный магазин", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/florist/Цветы": { - tags: { - name: "Цветы", - shop: "florist" - }, - name: "Цветы", - icon: "florist", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/frame/rumah penduduk": { - tags: { - name: "rumah penduduk", - shop: "frame" - }, - name: "rumah penduduk", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "religion", - "denomination" - ], - suggestion: true - }, - "shop/funeral_directors/Ритуальные услуги": { - tags: { - name: "Ритуальные услуги", - shop: "funeral_directors" - }, - name: "Ритуальные услуги", - icon: "cemetery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "religion", - "denomination" - ], - suggestion: true - }, - "shop/furniture/Aaron's": { - tags: { - name: "Aaron's", - shop: "furniture" - }, - name: "Aaron's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Black Red White": { - tags: { - name: "Black Red White", - shop: "furniture" - }, - name: "Black Red White", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Bodzio": { - tags: { - name: "Bodzio", - shop: "furniture" - }, - name: "Bodzio", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/But": { - tags: { - name: "But", - shop: "furniture" - }, - name: "But", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Conforama": { - tags: { - name: "Conforama", - shop: "furniture" - }, - name: "Conforama", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/DFS": { - tags: { - name: "DFS", - shop: "furniture" - }, - name: "DFS", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Dänisches Bettenlager": { - tags: { - name: "Dänisches Bettenlager", - shop: "furniture" - }, - name: "Dänisches Bettenlager", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Fly": { - tags: { - name: "Fly", - shop: "furniture" - }, - name: "Fly", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Harveys": { - tags: { - name: "Harveys", - shop: "furniture" - }, - name: "Harveys", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/IKEA": { - tags: { - name: "IKEA", - shop: "furniture" - }, - name: "IKEA", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/JYSK": { - tags: { - name: "JYSK", - shop: "furniture" - }, - name: "JYSK", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Kwantum": { - tags: { - name: "Kwantum", - shop: "furniture" - }, - name: "Kwantum", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Leen Bakker": { - tags: { - name: "Leen Bakker", - shop: "furniture" - }, - name: "Leen Bakker", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Pier 1 Imports": { - tags: { - name: "Pier 1 Imports", - shop: "furniture" - }, - name: "Pier 1 Imports", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Roller": { - tags: { - name: "Roller", - shop: "furniture" - }, - name: "Roller", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/The Brick": { - tags: { - name: "The Brick", - shop: "furniture" - }, - name: "The Brick", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/Меблі": { - tags: { - name: "Меблі", - shop: "furniture" - }, - name: "Меблі", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/furniture/ニトリ": { - tags: { - name: "ニトリ", - shop: "furniture" - }, - name: "ニトリ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/garden_centre/Dehner": { - tags: { - name: "Dehner", - shop: "garden_centre" - }, - name: "Dehner", - icon: "garden-center", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/garden_centre/Gamm Vert": { - tags: { - name: "Gamm Vert", - shop: "garden_centre" - }, - name: "Gamm Vert", - icon: "garden-center", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/garden_centre/Jardiland": { - tags: { - name: "Jardiland", - shop: "garden_centre" - }, - name: "Jardiland", - icon: "garden-center", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/garden_centre/Point Vert": { - tags: { - name: "Point Vert", - shop: "garden_centre" - }, - name: "Point Vert", - icon: "garden-center", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/garden_centre/Welkoop": { - tags: { - name: "Welkoop", - shop: "garden_centre" - }, - name: "Welkoop", - icon: "garden-center", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/garden_centre/Семена": { - tags: { - name: "Семена", - shop: "garden_centre" - }, - name: "Семена", - icon: "garden-center", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/gift/Card Factory": { - tags: { - name: "Card Factory", - shop: "gift" - }, - name: "Card Factory", - icon: "gift", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/gift/Hallmark": { - tags: { - name: "Hallmark", - shop: "gift" - }, - name: "Hallmark", - icon: "gift", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/gift/Подарки": { - tags: { - name: "Подарки", - shop: "gift" - }, - name: "Подарки", - icon: "gift", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/greengrocer/Frutería": { - tags: { - name: "Frutería", - shop: "greengrocer" - }, - name: "Frutería", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/greengrocer/Овощи и фрукты": { - tags: { - name: "Овощи и фрукты", - shop: "greengrocer" - }, - name: "Овощи и фрукты", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Berber": { - tags: { - name: "Berber", - shop: "hairdresser" - }, - name: "Berber", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Cost Cutters": { - tags: { - name: "Cost Cutters", - shop: "hairdresser" - }, - name: "Cost Cutters", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Fantastic Sams": { - tags: { - name: "Fantastic Sams", - shop: "hairdresser" - }, - name: "Fantastic Sams", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Figaro": { - tags: { - name: "Figaro", - shop: "hairdresser" - }, - name: "Figaro", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/First Choice Haircutters": { - tags: { - name: "First Choice Haircutters", - shop: "hairdresser" - }, - name: "First Choice Haircutters", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Franck Provost": { - tags: { - name: "Franck Provost", - shop: "hairdresser" - }, - name: "Franck Provost", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Frizerie": { - tags: { - name: "Frizerie", - shop: "hairdresser" - }, - name: "Frizerie", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Great Clips": { - tags: { - name: "Great Clips", - shop: "hairdresser" - }, - name: "Great Clips", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Haarmonie": { - tags: { - name: "Haarmonie", - shop: "hairdresser" - }, - name: "Haarmonie", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Haarscharf": { - tags: { - name: "Haarscharf", - shop: "hairdresser" - }, - name: "Haarscharf", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Hair Cuttery": { - tags: { - name: "Hair Cuttery", - shop: "hairdresser" - }, - name: "Hair Cuttery", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Hairkiller": { - tags: { - name: "Hairkiller", - shop: "hairdresser" - }, - name: "Hairkiller", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Jean Louis David": { - tags: { - name: "Jean Louis David", - shop: "hairdresser" - }, - name: "Jean Louis David", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Jean-Louis David": { - tags: { - name: "Jean-Louis David", - shop: "hairdresser" - }, - name: "Jean-Louis David", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Klier": { - tags: { - name: "Klier", - shop: "hairdresser" - }, - name: "Klier", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Klipp": { - tags: { - name: "Klipp", - shop: "hairdresser" - }, - name: "Klipp", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Le Salon": { - tags: { - name: "Le Salon", - shop: "hairdresser" - }, - name: "Le Salon", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Marco Aldany": { - tags: { - name: "Marco Aldany", - shop: "hairdresser" - }, - name: "Marco Aldany", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Peluquería": { - tags: { - name: "Peluquería", - shop: "hairdresser" - }, - name: "Peluquería", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Salon fryzjerski": { - tags: { - name: "Salon fryzjerski", - shop: "hairdresser" - }, - name: "Salon fryzjerski", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Sport Clips": { - tags: { - name: "Sport Clips", - shop: "hairdresser" - }, - name: "Sport Clips", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Super Cuts": { - tags: { - name: "Super Cuts", - shop: "hairdresser" - }, - name: "Super Cuts", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Supercuts": { - tags: { - name: "Supercuts", - shop: "hairdresser" - }, - name: "Supercuts", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Tchip": { - tags: { - name: "Tchip", - shop: "hairdresser" - }, - name: "Tchip", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/The Barber Shop": { - tags: { - name: "The Barber Shop", - shop: "hairdresser" - }, - name: "The Barber Shop", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Toni & Guy": { - tags: { - name: "Toni & Guy", - shop: "hairdresser" - }, - name: "Toni & Guy", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Top Hair": { - tags: { - name: "Top Hair", - shop: "hairdresser" - }, - name: "Top Hair", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Локон": { - tags: { - name: "Локон", - shop: "hairdresser" - }, - name: "Локон", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Парикмахерская": { - tags: { - name: "Парикмахерская", - shop: "hairdresser" - }, - name: "Парикмахерская", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Перукарня": { - tags: { - name: "Перукарня", - shop: "hairdresser" - }, - name: "Перукарня", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Салон красоты": { - tags: { - name: "Салон красоты", - shop: "hairdresser" - }, - name: "Салон красоты", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Стиль": { - tags: { - name: "Стиль", - shop: "hairdresser" - }, - name: "Стиль", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/Шарм": { - tags: { - name: "Шарм", - shop: "hairdresser" - }, - name: "Шарм", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hairdresser/حلاق": { - tags: { - name: "حلاق", - shop: "hairdresser" - }, - name: "حلاق", - icon: "hairdresser", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/1000 мелочей": { - tags: { - name: "1000 мелочей", - shop: "hardware" - }, - name: "1000 мелочей", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/Ferretería": { - tags: { - name: "Ferretería", - shop: "hardware" - }, - name: "Ferretería", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/Harbor Freight Tools": { - tags: { - name: "Harbor Freight Tools", - shop: "hardware" - }, - name: "Harbor Freight Tools", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/Quincaillerie": { - tags: { - name: "Quincaillerie", - shop: "hardware" - }, - name: "Quincaillerie", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/True Value": { - tags: { - name: "True Value", - shop: "hardware" - }, - name: "True Value", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/Würth": { - tags: { - name: "Würth", - shop: "hardware" - }, - name: "Würth", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/Промтовары": { - tags: { - name: "Промтовары", - shop: "hardware" - }, - name: "Промтовары", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/Сантехника": { - tags: { - name: "Сантехника", - shop: "hardware" - }, - name: "Сантехника", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/Товары для дома": { - tags: { - name: "Товары для дома", - shop: "hardware" - }, - name: "Товары для дома", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hardware/Хозтовары": { - tags: { - name: "Хозтовары", - shop: "hardware" - }, - name: "Хозтовары", - icon: "poi-tool", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hearing_aids/Amplifon": { - tags: { - name: "Amplifon", - shop: "hearing_aids" - }, - name: "Amplifon", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hearing_aids/Geers": { - tags: { - name: "Geers", - shop: "hearing_aids" - }, - name: "Geers", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hearing_aids/amplifon": { - tags: { - name: "amplifon", - shop: "hearing_aids" - }, - name: "amplifon", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/hifi/Bang & Olufsen": { - tags: { - name: "Bang & Olufsen", - shop: "hifi" - }, - name: "Bang & Olufsen", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/houseware/Blokker": { - tags: { - name: "Blokker", - shop: "houseware" - }, - name: "Blokker", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/houseware/Marskramer": { - tags: { - name: "Marskramer", - shop: "houseware" - }, - name: "Marskramer", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/houseware/Xenos": { - tags: { - name: "Xenos", - shop: "houseware" - }, - name: "Xenos", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/interior_decoration/Casa": { - tags: { - name: "Casa", - shop: "interior_decoration" - }, - name: "Casa", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/interior_decoration/Depot": { - tags: { - name: "Depot", - shop: "interior_decoration" - }, - name: "Depot", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/585": { - tags: { - name: "585", - shop: "jewelry" - }, - name: "585", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Apart": { - tags: { - name: "Apart", - shop: "jewelry" - }, - name: "Apart", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Bijou Brigitte": { - tags: { - name: "Bijou Brigitte", - shop: "jewelry" - }, - name: "Bijou Brigitte", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Christ": { - tags: { - name: "Christ", - shop: "jewelry" - }, - name: "Christ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Claire's": { - tags: { - name: "Claire's", - shop: "jewelry" - }, - name: "Claire's", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Ernest Jones": { - tags: { - name: "Ernest Jones", - shop: "jewelry" - }, - name: "Ernest Jones", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/H Samuel": { - tags: { - name: "H Samuel", - shop: "jewelry" - }, - name: "H Samuel", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/James Avery Jewelry": { - tags: { - name: "James Avery Jewelry", - shop: "jewelry" - }, - name: "James Avery Jewelry", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Julien d'Orcel": { - tags: { - name: "Julien d'Orcel", - shop: "jewelry" - }, - name: "Julien d'Orcel", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Kay Jewelers": { - tags: { - name: "Kay Jewelers", - shop: "jewelry" - }, - name: "Kay Jewelers", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Pandora": { - tags: { - name: "Pandora", - shop: "jewelry" - }, - name: "Pandora", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Swarovski": { - tags: { - name: "Swarovski", - shop: "jewelry" - }, - name: "Swarovski", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Адамас": { - tags: { - name: "Адамас", - shop: "jewelry" - }, - name: "Адамас", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/jewelry/Золото": { - tags: { - name: "Золото", - shop: "jewelry" - }, - name: "Золото", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/KIOS": { - tags: { - name: "KIOS", - shop: "kiosk" - }, - name: "KIOS", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Kiosko": { - tags: { - name: "Kiosko", - shop: "kiosk" - }, - name: "Kiosko", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Kiosque": { - tags: { - name: "Kiosque", - shop: "kiosk" - }, - name: "Kiosque", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Kolporter": { - tags: { - name: "Kolporter", - shop: "kiosk" - }, - name: "Kolporter", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Lietuvos spauda": { - tags: { - name: "Lietuvos spauda", - shop: "kiosk" - }, - name: "Lietuvos spauda", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Narvesen": { - tags: { - name: "Narvesen", - shop: "kiosk" - }, - name: "Narvesen", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Pressbyrån": { - tags: { - name: "Pressbyrån", - shop: "kiosk" - }, - name: "Pressbyrån", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Pulpería": { - tags: { - name: "Pulpería", - shop: "kiosk" - }, - name: "Pulpería", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/R-Kioski": { - tags: { - name: "R-Kioski", - shop: "kiosk" - }, - name: "R-Kioski", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Ruch": { - tags: { - name: "Ruch", - shop: "kiosk" - }, - name: "Ruch", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Tabak Trafik": { - tags: { - name: "Tabak Trafik", - shop: "kiosk" - }, - name: "Tabak Trafik", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Tisak": { - tags: { - name: "Tisak", - shop: "kiosk" - }, - name: "Tisak", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Trafik": { - tags: { - name: "Trafik", - shop: "kiosk" - }, - name: "Trafik", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Trafika": { - tags: { - name: "Trafika", - shop: "kiosk" - }, - name: "Trafika", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Trinkhalle": { - tags: { - name: "Trinkhalle", - shop: "kiosk" - }, - name: "Trinkhalle", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Белсоюзпечать": { - tags: { - name: "Белсоюзпечать", - shop: "kiosk" - }, - name: "Белсоюзпечать", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/Киоск": { - tags: { - name: "Киоск", - shop: "kiosk" - }, - name: "Киоск", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kiosk/მარკეტი (Market)": { - tags: { - name: "მარკეტი (Market)", - shop: "kiosk" - }, - name: "მარკეტი (Market)", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kitchen/Cuisinella": { - tags: { - name: "Cuisinella", - shop: "kitchen" - }, - name: "Cuisinella", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/kitchen/Home Utensils": { - tags: { - name: "Home Utensils", - shop: "kitchen" - }, - name: "Home Utensils", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/laundry/Launderette": { - tags: { - name: "Launderette", - shop: "laundry" - }, - name: "Launderette", - icon: "laundry", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/laundry/Lavandería": { - tags: { - name: "Lavandería", - shop: "laundry" - }, - name: "Lavandería", - icon: "laundry", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/laundry/コインランドリー": { - tags: { - name: "コインランドリー", - shop: "laundry" - }, - name: "コインランドリー", - icon: "laundry", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/lottery/Loteria de la Provincia": { - tags: { - name: "Loteria de la Provincia", - shop: "lottery" - }, - name: "Loteria de la Provincia", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/lottery/Lotería Nacional": { - tags: { - name: "Lotería Nacional", - shop: "lottery" - }, - name: "Lotería Nacional", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/lottery/Lotería de la Provincia": { - tags: { - name: "Lotería de la Provincia", - shop: "lottery" - }, - name: "Lotería de la Provincia", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/lottery/Lotto": { - tags: { - name: "Lotto", - shop: "lottery" - }, - name: "Lotto", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/lottery/Lottózó": { - tags: { - name: "Lottózó", - shop: "lottery" - }, - name: "Lottózó", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/lottery/ONCE": { - tags: { - name: "ONCE", - shop: "lottery" - }, - name: "ONCE", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mall/Торговый центр": { - tags: { - name: "Торговый центр", - shop: "mall" - }, - name: "Торговый центр", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "shop/massage/Massage Envy": { - tags: { - name: "Massage Envy", - shop: "massage" - }, - name: "Massage Envy", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/medical_supply/Pofam-Poznań": { - tags: { - name: "Pofam-Poznań", - shop: "medical_supply" - }, - name: "Pofam-Poznań", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/3 Store": { - tags: { - name: "3 Store", - shop: "mobile_phone" - }, - name: "3 Store", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/AT&T": { - tags: { - name: "AT&T", - shop: "mobile_phone" - }, - name: "AT&T", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Bell": { - tags: { - name: "Bell", - shop: "mobile_phone" - }, - name: "Bell", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Bitė": { - tags: { - name: "Bitė", - shop: "mobile_phone" - }, - name: "Bitė", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Boost Mobile": { - tags: { - name: "Boost Mobile", - shop: "mobile_phone" - }, - name: "Boost Mobile", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Carphone Warehouse": { - tags: { - name: "Carphone Warehouse", - shop: "mobile_phone" - }, - name: "Carphone Warehouse", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Claro": { - tags: { - name: "Claro", - shop: "mobile_phone" - }, - name: "Claro", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Cricket Wireless": { - tags: { - name: "Cricket Wireless", - shop: "mobile_phone" - }, - name: "Cricket Wireless", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Digicel": { - tags: { - name: "Digicel", - shop: "mobile_phone" - }, - name: "Digicel", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/EE": { - tags: { - name: "EE", - shop: "mobile_phone" - }, - name: "EE", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/MetroPCS": { - tags: { - name: "MetroPCS", - shop: "mobile_phone" - }, - name: "MetroPCS", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Movistar": { - tags: { - name: "Movistar", - shop: "mobile_phone" - }, - name: "Movistar", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/O2": { - tags: { - name: "O2", - shop: "mobile_phone" - }, - name: "O2", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Orange": { - tags: { - name: "Orange", - shop: "mobile_phone" - }, - name: "Orange", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Personal": { - tags: { - name: "Personal", - shop: "mobile_phone" - }, - name: "Personal", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Play": { - tags: { - name: "Play", - shop: "mobile_phone" - }, - name: "Play", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Plus": { - tags: { - name: "Plus", - shop: "mobile_phone" - }, - name: "Plus", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/SFR": { - tags: { - name: "SFR", - shop: "mobile_phone" - }, - name: "SFR", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Sprint": { - tags: { - name: "Sprint", - shop: "mobile_phone" - }, - name: "Sprint", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/T-Mobile": { - tags: { - name: "T-Mobile", - shop: "mobile_phone" - }, - name: "T-Mobile", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/TIM": { - tags: { - name: "TIM", - shop: "mobile_phone" - }, - name: "TIM", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Telcel": { - tags: { - name: "Telcel", - shop: "mobile_phone" - }, - name: "Telcel", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Tele2": { - tags: { - name: "Tele2", - shop: "mobile_phone" - }, - name: "Tele2", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Telekom": { - tags: { - name: "Telekom", - shop: "mobile_phone" - }, - name: "Telekom", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Telekom Shop": { - tags: { - name: "Telekom Shop", - shop: "mobile_phone" - }, - name: "Telekom Shop", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Telenor": { - tags: { - name: "Telenor", - shop: "mobile_phone" - }, - name: "Telenor", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Telus": { - tags: { - name: "Telus", - shop: "mobile_phone" - }, - name: "Telus", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/The Phone House": { - tags: { - name: "The Phone House", - shop: "mobile_phone" - }, - name: "The Phone House", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Three": { - tags: { - name: "Three", - shop: "mobile_phone" - }, - name: "Three", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Tim": { - tags: { - name: "Tim", - shop: "mobile_phone" - }, - name: "Tim", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Télécentre": { - tags: { - name: "Télécentre", - shop: "mobile_phone" - }, - name: "Télécentre", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Verizon": { - tags: { - name: "Verizon", - shop: "mobile_phone" - }, - name: "Verizon", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Verizon Wireless": { - tags: { - name: "Verizon Wireless", - shop: "mobile_phone" - }, - name: "Verizon Wireless", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Vodafone": { - tags: { - name: "Vodafone", - shop: "mobile_phone" - }, - name: "Vodafone", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Vodafone Shop": { - tags: { - name: "Vodafone Shop", - shop: "mobile_phone" - }, - name: "Vodafone Shop", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Wind": { - tags: { - name: "Wind", - shop: "mobile_phone" - }, - name: "Wind", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Yoigo": { - tags: { - name: "Yoigo", - shop: "mobile_phone" - }, - name: "Yoigo", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/au": { - tags: { - name: "au", - shop: "mobile_phone" - }, - name: "au", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/auショップ": { - tags: { - name: "auショップ", - shop: "mobile_phone" - }, - name: "auショップ", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/mobilcom debitel": { - tags: { - name: "mobilcom debitel", - shop: "mobile_phone" - }, - name: "mobilcom debitel", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Алло": { - tags: { - name: "Алло", - shop: "mobile_phone" - }, - name: "Алло", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Билайн": { - tags: { - name: "Билайн", - shop: "mobile_phone" - }, - name: "Билайн", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Евросеть": { - tags: { - name: "Евросеть", - shop: "mobile_phone" - }, - name: "Евросеть", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Київстар": { - tags: { - name: "Київстар", - shop: "mobile_phone" - }, - name: "Київстар", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/МТС": { - tags: { - name: "МТС", - shop: "mobile_phone" - }, - name: "МТС", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Мегафон": { - tags: { - name: "Мегафон", - shop: "mobile_phone" - }, - name: "Мегафон", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Связной": { - tags: { - name: "Связной", - shop: "mobile_phone" - }, - name: "Связной", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/Теле2": { - tags: { - name: "Теле2", - shop: "mobile_phone" - }, - name: "Теле2", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/ソフトバンクショップ": { - tags: { - name: "ソフトバンクショップ", - shop: "mobile_phone" - }, - name: "ソフトバンクショップ", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/mobile_phone/ドコモショップ": { - tags: { - name: "ドコモショップ", - shop: "mobile_phone" - }, - name: "ドコモショップ", - icon: "mobile-phone", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/money_lender/Money Mart": { - tags: { - name: "Money Mart", - shop: "money_lender" - }, - name: "Money Mart", - icon: "bank", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "currency_multi" - ], - suggestion: true - }, - "shop/motorcycle/Harley Davidson": { - tags: { - name: "Harley Davidson", - shop: "motorcycle" - }, - name: "Harley Davidson", - icon: "scooter", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/motorcycle/Yamaha": { - tags: { - name: "Yamaha", - shop: "motorcycle" - }, - name: "Yamaha", - icon: "scooter", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/music/HMV": { - tags: { - name: "HMV", - shop: "music" - }, - name: "HMV", - icon: "music", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/musical_instrument/Guitar Center": { - tags: { - name: "Guitar Center", - shop: "musical_instrument" - }, - name: "Guitar Center", - icon: "music", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/Edicola": { - tags: { - name: "Edicola", - shop: "newsagent" - }, - name: "Edicola", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/Relay": { - tags: { - name: "Relay", - shop: "newsagent" - }, - name: "Relay", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/Tabac Presse": { - tags: { - name: "Tabac Presse", - shop: "newsagent" - }, - name: "Tabac Presse", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/WHSmith": { - tags: { - name: "WHSmith", - shop: "newsagent" - }, - name: "WHSmith", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/Витебскоблсоюзпечать": { - tags: { - name: "Витебскоблсоюзпечать", - shop: "newsagent" - }, - name: "Витебскоблсоюзпечать", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/Первая полоса": { - tags: { - name: "Первая полоса", - shop: "newsagent" - }, - name: "Первая полоса", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/Печать": { - tags: { - name: "Печать", - shop: "newsagent" - }, - name: "Печать", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/Роспечать": { - tags: { - name: "Роспечать", - shop: "newsagent" - }, - name: "Роспечать", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/newsagent/Союзпечать": { - tags: { - name: "Союзпечать", - shop: "newsagent" - }, - name: "Союзпечать", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Alain Afflelou": { - tags: { - name: "Alain Afflelou", - shop: "optician" - }, - name: "Alain Afflelou", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Apollo": { - tags: { - name: "Apollo", - shop: "optician" - }, - name: "Apollo", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Atol": { - tags: { - name: "Atol", - shop: "optician" - }, - name: "Atol", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Boots Opticians": { - tags: { - name: "Boots Opticians", - shop: "optician" - }, - name: "Boots Opticians", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Fielmann": { - tags: { - name: "Fielmann", - shop: "optician" - }, - name: "Fielmann", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/General Óptica": { - tags: { - name: "General Óptica", - shop: "optician" - }, - name: "General Óptica", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Grand Optical": { - tags: { - name: "Grand Optical", - shop: "optician" - }, - name: "Grand Optical", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Hakim Optical": { - tags: { - name: "Hakim Optical", - shop: "optician" - }, - name: "Hakim Optical", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Hans Anders": { - tags: { - name: "Hans Anders", - shop: "optician" - }, - name: "Hans Anders", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Krys": { - tags: { - name: "Krys", - shop: "optician" - }, - name: "Krys", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Les Opticiens Mutualistes": { - tags: { - name: "Les Opticiens Mutualistes", - shop: "optician" - }, - name: "Les Opticiens Mutualistes", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Optic 2000": { - tags: { - name: "Optic 2000", - shop: "optician" - }, - name: "Optic 2000", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Optical Center": { - tags: { - name: "Optical Center", - shop: "optician" - }, - name: "Optical Center", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Pearle": { - tags: { - name: "Pearle", - shop: "optician" - }, - name: "Pearle", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Pearle Vision": { - tags: { - name: "Pearle Vision", - shop: "optician" - }, - name: "Pearle Vision", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Specsavers": { - tags: { - name: "Specsavers", - shop: "optician" - }, - name: "Specsavers", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Sunglass Hut": { - tags: { - name: "Sunglass Hut", - shop: "optician" - }, - name: "Sunglass Hut", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Synoptik": { - tags: { - name: "Synoptik", - shop: "optician" - }, - name: "Synoptik", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/Vision Express": { - tags: { - name: "Vision Express", - shop: "optician" - }, - name: "Vision Express", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/แว่นท็อปเจริญ": { - tags: { - name: "แว่นท็อปเจริญ", - shop: "optician" - }, - name: "แว่นท็อปเจริญ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/メガネスーパー": { - tags: { - name: "メガネスーパー", - shop: "optician" - }, - name: "メガネスーパー", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/optician/眼鏡市場": { - tags: { - name: "眼鏡市場", - shop: "optician" - }, - name: "眼鏡市場", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/outdoor/Mountain Warehouse": { - tags: { - name: "Mountain Warehouse", - shop: "outdoor" - }, - name: "Mountain Warehouse", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/outdoor/REI": { - tags: { - name: "REI", - shop: "outdoor" - }, - name: "REI", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/outdoor/Рыболов": { - tags: { - name: "Рыболов", - shop: "outdoor" - }, - name: "Рыболов", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/paint/Benjamin Moore": { - tags: { - name: "Benjamin Moore", - shop: "paint" - }, - name: "Benjamin Moore", - icon: "water", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/paint/Comex": { - tags: { - name: "Comex", - shop: "paint" - }, - name: "Comex", - icon: "water", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/paint/Jotun": { - tags: { - name: "Jotun", - shop: "paint" - }, - name: "Jotun", - icon: "water", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/paint/National Paints": { - tags: { - name: "National Paints", - shop: "paint" - }, - name: "National Paints", - icon: "water", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/paint/Sherwin Williams": { - tags: { - name: "Sherwin Williams", - shop: "paint" - }, - name: "Sherwin Williams", - icon: "water", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/paint/Sherwin-Williams Paints": { - tags: { - name: "Sherwin-Williams Paints", - shop: "paint" - }, - name: "Sherwin-Williams Paints", - icon: "water", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pawnbroker/Cash Converters": { - tags: { - name: "Cash Converters", - shop: "pawnbroker" - }, - name: "Cash Converters", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pawnbroker/Lombard": { - tags: { - name: "Lombard", - shop: "pawnbroker" - }, - name: "Lombard", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pawnbroker/Palawan Pawnshop": { - tags: { - name: "Palawan Pawnshop", - shop: "pawnbroker" - }, - name: "Palawan Pawnshop", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Das Futterhaus": { - tags: { - name: "Das Futterhaus", - shop: "pet" - }, - name: "Das Futterhaus", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Fressnapf": { - tags: { - name: "Fressnapf", - shop: "pet" - }, - name: "Fressnapf", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Global Pet Foods": { - tags: { - name: "Global Pet Foods", - shop: "pet" - }, - name: "Global Pet Foods", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Maxi Zoo": { - tags: { - name: "Maxi Zoo", - shop: "pet" - }, - name: "Maxi Zoo", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Pet Valu": { - tags: { - name: "Pet Valu", - shop: "pet" - }, - name: "Pet Valu", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/PetSmart": { - tags: { - name: "PetSmart", - shop: "pet" - }, - name: "PetSmart", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Petco": { - tags: { - name: "Petco", - shop: "pet" - }, - name: "Petco", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Бетховен": { - tags: { - name: "Бетховен", - shop: "pet" - }, - name: "Бетховен", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Зоотовары": { - tags: { - name: "Зоотовары", - shop: "pet" - }, - name: "Зоотовары", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/pet/Четыре лапы": { - tags: { - name: "Четыре лапы", - shop: "pet" - }, - name: "Четыре лапы", - icon: "dog-park", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/second_hand/Goodwill": { - tags: { - name: "Goodwill", - shop: "second_hand" - }, - name: "Goodwill", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/second_hand/Value Village": { - tags: { - name: "Value Village", - shop: "second_hand" - }, - name: "Value Village", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "second_hand", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Aldo": { - tags: { - name: "Aldo", - shop: "shoes" - }, - name: "Aldo", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Bata": { - tags: { - name: "Bata", - shop: "shoes" - }, - name: "Bata", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Besson Chaussures": { - tags: { - name: "Besson Chaussures", - shop: "shoes" - }, - name: "Besson Chaussures", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Brantano": { - tags: { - name: "Brantano", - shop: "shoes" - }, - name: "Brantano", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/CCC": { - tags: { - name: "CCC", - shop: "shoes" - }, - name: "CCC", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Camper": { - tags: { - name: "Camper", - shop: "shoes" - }, - name: "Camper", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Chaussea": { - tags: { - name: "Chaussea", - shop: "shoes" - }, - name: "Chaussea", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Clarks": { - tags: { - name: "Clarks", - shop: "shoes" - }, - name: "Clarks", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Converse": { - tags: { - name: "Converse", - shop: "shoes" - }, - name: "Converse", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Crocs": { - tags: { - name: "Crocs", - shop: "shoes" - }, - name: "Crocs", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/DSW": { - tags: { - name: "DSW", - shop: "shoes" - }, - name: "DSW", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Deichmann": { - tags: { - name: "Deichmann", - shop: "shoes" - }, - name: "Deichmann", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Dosenbach": { - tags: { - name: "Dosenbach", - shop: "shoes" - }, - name: "Dosenbach", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Ecco": { - tags: { - name: "Ecco", - shop: "shoes" - }, - name: "Ecco", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Famous Footwear": { - tags: { - name: "Famous Footwear", - shop: "shoes" - }, - name: "Famous Footwear", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Foot Locker": { - tags: { - name: "Foot Locker", - shop: "shoes" - }, - name: "Foot Locker", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Geox": { - tags: { - name: "Geox", - shop: "shoes" - }, - name: "Geox", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Kari": { - tags: { - name: "Kari", - shop: "shoes" - }, - name: "Kari", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Mephisto": { - tags: { - name: "Mephisto", - shop: "shoes" - }, - name: "Mephisto", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Minelli": { - tags: { - name: "Minelli", - shop: "shoes" - }, - name: "Minelli", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/New Balance": { - tags: { - name: "New Balance", - shop: "shoes" - }, - name: "New Balance", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Payless": { - tags: { - name: "Payless", - shop: "shoes" - }, - name: "Payless", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Payless Shoe Source": { - tags: { - name: "Payless Shoe Source", - shop: "shoes" - }, - name: "Payless Shoe Source", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Payless ShoeSource": { - tags: { - name: "Payless ShoeSource", - shop: "shoes" - }, - name: "Payless ShoeSource", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Quick Schuh": { - tags: { - name: "Quick Schuh", - shop: "shoes" - }, - name: "Quick Schuh", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Rack Room Shoes": { - tags: { - name: "Rack Room Shoes", - shop: "shoes" - }, - name: "Rack Room Shoes", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Reno": { - tags: { - name: "Reno", - shop: "shoes" - }, - name: "Reno", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Rieker": { - tags: { - name: "Rieker", - shop: "shoes" - }, - name: "Rieker", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Salamander": { - tags: { - name: "Salamander", - shop: "shoes" - }, - name: "Salamander", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/San Marina": { - tags: { - name: "San Marina", - shop: "shoes" - }, - name: "San Marina", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Scapino": { - tags: { - name: "Scapino", - shop: "shoes" - }, - name: "Scapino", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Shoe Carnival": { - tags: { - name: "Shoe Carnival", - shop: "shoes" - }, - name: "Shoe Carnival", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Shoe Zone": { - tags: { - name: "Shoe Zone", - shop: "shoes" - }, - name: "Shoe Zone", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Siemes Schuhcenter": { - tags: { - name: "Siemes Schuhcenter", - shop: "shoes" - }, - name: "Siemes Schuhcenter", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Skechers": { - tags: { - name: "Skechers", - shop: "shoes" - }, - name: "Skechers", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Tamaris": { - tags: { - name: "Tamaris", - shop: "shoes" - }, - name: "Tamaris", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/vanHaren": { - tags: { - name: "vanHaren", - shop: "shoes" - }, - name: "vanHaren", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Éram": { - tags: { - name: "Éram", - shop: "shoes" - }, - name: "Éram", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Ремонт обуви": { - tags: { - name: "Ремонт обуви", - shop: "shoes" - }, - name: "Ремонт обуви", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/ЦентрОбувь": { - tags: { - name: "ЦентрОбувь", - shop: "shoes" - }, - name: "ЦентрОбувь", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/Юничел": { - tags: { - name: "Юничел", - shop: "shoes" - }, - name: "Юничел", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/shoes/東京靴流通センター": { - tags: { - name: "東京靴流通センター", - shop: "shoes" - }, - name: "東京靴流通センター", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Aktiesport": { - tags: { - name: "Aktiesport", - shop: "sports" - }, - name: "Aktiesport", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Decathlon": { - tags: { - name: "Decathlon", - shop: "sports" - }, - name: "Decathlon", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Hervis": { - tags: { - name: "Hervis", - shop: "sports" - }, - name: "Hervis", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Intersport": { - tags: { - name: "Intersport", - shop: "sports" - }, - name: "Intersport", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/JD Sports": { - tags: { - name: "JD Sports", - shop: "sports" - }, - name: "JD Sports", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Sport 2000": { - tags: { - name: "Sport 2000", - shop: "sports" - }, - name: "Sport 2000", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Sports Authority": { - tags: { - name: "Sports Authority", - shop: "sports" - }, - name: "Sports Authority", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Sports Direct": { - tags: { - name: "Sports Direct", - shop: "sports" - }, - name: "Sports Direct", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Спортмастер": { - tags: { - name: "Спортмастер", - shop: "sports" - }, - name: "Спортмастер", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/sports/Спорттовары": { - tags: { - name: "Спорттовары", - shop: "sports" - }, - name: "Спорттовары", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Bureau Vallée": { - tags: { - name: "Bureau Vallée", - shop: "stationery" - }, - name: "Bureau Vallée", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Libro": { - tags: { - name: "Libro", - shop: "stationery" - }, - name: "Libro", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/McPaper": { - tags: { - name: "McPaper", - shop: "stationery" - }, - name: "McPaper", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Office Depot": { - tags: { - name: "Office Depot", - shop: "stationery" - }, - name: "Office Depot", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Office Max": { - tags: { - name: "Office Max", - shop: "stationery" - }, - name: "Office Max", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Officeworks": { - tags: { - name: "Officeworks", - shop: "stationery" - }, - name: "Officeworks", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Pagro": { - tags: { - name: "Pagro", - shop: "stationery" - }, - name: "Pagro", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Paperchase": { - tags: { - name: "Paperchase", - shop: "stationery" - }, - name: "Paperchase", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Ryman": { - tags: { - name: "Ryman", - shop: "stationery" - }, - name: "Ryman", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Staples": { - tags: { - name: "Staples", - shop: "stationery" - }, - name: "Staples", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/stationery/Канцтовары": { - tags: { - name: "Канцтовары", - shop: "stationery" - }, - name: "Канцтовары", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/A&O": { - tags: { - name: "A&O", - shop: "supermarket" - }, - name: "A&O", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/A101": { - tags: { - name: "A101", - shop: "supermarket" - }, - name: "A101", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/AD Delhaize": { - tags: { - name: "AD Delhaize", - shop: "supermarket" - }, - name: "AD Delhaize", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/ADEG": { - tags: { - name: "ADEG", - shop: "supermarket" - }, - name: "ADEG", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Ahorramás": { - tags: { - name: "Ahorramás", - shop: "supermarket" - }, - name: "Ahorramás", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Albert": { - tags: { - name: "Albert", - shop: "supermarket" - }, - name: "Albert", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Albert Heijn": { - tags: { - name: "Albert Heijn", - shop: "supermarket" - }, - name: "Albert Heijn", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Albertsons": { - tags: { - name: "Albertsons", - shop: "supermarket" - }, - name: "Albertsons", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Aldi": { - tags: { - name: "Aldi", - shop: "supermarket" - }, - name: "Aldi", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Aldi Nord": { - tags: { - name: "Aldi Nord", - shop: "supermarket" - }, - name: "Aldi Nord", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Aldi Süd": { - tags: { - name: "Aldi Süd", - shop: "supermarket" - }, - name: "Aldi Süd", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Alimerka": { - tags: { - name: "Alimerka", - shop: "supermarket" - }, - name: "Alimerka", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Alnatura": { - tags: { - name: "Alnatura", - shop: "supermarket" - }, - name: "Alnatura", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Asda": { - tags: { - name: "Asda", - shop: "supermarket" - }, - name: "Asda", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Atac": { - tags: { - name: "Atac", - shop: "supermarket" - }, - name: "Atac", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Atacadão": { - tags: { - name: "Atacadão", - shop: "supermarket" - }, - name: "Atacadão", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Auchan": { - tags: { - name: "Auchan", - shop: "supermarket" - }, - name: "Auchan", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/BM": { - tags: { - name: "BM", - shop: "supermarket" - }, - name: "BM", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Biedronka": { - tags: { - name: "Biedronka", - shop: "supermarket" - }, - name: "Biedronka", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Big C": { - tags: { - name: "Big C", - shop: "supermarket" - }, - name: "Big C", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Billa": { - tags: { - name: "Billa", - shop: "supermarket" - }, - name: "Billa", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Bim": { - tags: { - name: "Bim", - shop: "supermarket" - }, - name: "Bim", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Biocoop": { - tags: { - name: "Biocoop", - shop: "supermarket" - }, - name: "Biocoop", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Bodega Aurrera": { - tags: { - name: "Bodega Aurrera", - shop: "supermarket" - }, - name: "Bodega Aurrera", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Budgens": { - tags: { - name: "Budgens", - shop: "supermarket" - }, - name: "Budgens", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Bulk Barn": { - tags: { - name: "Bulk Barn", - shop: "supermarket" - }, - name: "Bulk Barn", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Bunnpris": { - tags: { - name: "Bunnpris", - shop: "supermarket" - }, - name: "Bunnpris", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/CONAD": { - tags: { - name: "CONAD", - shop: "supermarket" - }, - name: "CONAD", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/CRAI": { - tags: { - name: "CRAI", - shop: "supermarket" - }, - name: "CRAI", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Caprabo": { - tags: { - name: "Caprabo", - shop: "supermarket" - }, - name: "Caprabo", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Cargills Food City": { - tags: { - name: "Cargills Food City", - shop: "supermarket" - }, - name: "Cargills Food City", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Carrefour": { - tags: { - name: "Carrefour", - shop: "supermarket" - }, - name: "Carrefour", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Carrefour City": { - tags: { - name: "Carrefour City", - shop: "supermarket" - }, - name: "Carrefour City", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Carrefour Contact": { - tags: { - name: "Carrefour Contact", - shop: "supermarket" - }, - name: "Carrefour Contact", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Carrefour Express": { - tags: { - name: "Carrefour Express", - shop: "supermarket" - }, - name: "Carrefour Express", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Checkers": { - tags: { - name: "Checkers", - shop: "supermarket" - }, - name: "Checkers", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Chedraui": { - tags: { - name: "Chedraui", - shop: "supermarket" - }, - name: "Chedraui", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Co-Op": { - tags: { - name: "Co-Op", - shop: "supermarket" - }, - name: "Co-Op", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Co-op": { - tags: { - name: "Co-op", - shop: "supermarket" - }, - name: "Co-op", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Co-operative": { - tags: { - name: "Co-operative", - shop: "supermarket" - }, - name: "Co-operative", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Coles": { - tags: { - name: "Coles", - shop: "supermarket" - }, - name: "Coles", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Colmado": { - tags: { - name: "Colmado", - shop: "supermarket" - }, - name: "Colmado", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Colruyt": { - tags: { - name: "Colruyt", - shop: "supermarket" - }, - name: "Colruyt", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Combi": { - tags: { - name: "Combi", - shop: "supermarket" - }, - name: "Combi", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Comercial Mexicana": { - tags: { - name: "Comercial Mexicana", - shop: "supermarket" - }, - name: "Comercial Mexicana", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Conad": { - tags: { - name: "Conad", - shop: "supermarket" - }, - name: "Conad", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Conad City": { - tags: { - name: "Conad City", - shop: "supermarket" - }, - name: "Conad City", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Condis": { - tags: { - name: "Condis", - shop: "supermarket" - }, - name: "Condis", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Consum": { - tags: { - name: "Consum", - shop: "supermarket" - }, - name: "Consum", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Continente": { - tags: { - name: "Continente", - shop: "supermarket" - }, - name: "Continente", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Coop": { - tags: { - name: "Coop", - shop: "supermarket" - }, - name: "Coop", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Coop Extra": { - tags: { - name: "Coop Extra", - shop: "supermarket" - }, - name: "Coop Extra", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Coop Konsum": { - tags: { - name: "Coop Konsum", - shop: "supermarket" - }, - name: "Coop Konsum", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Costco Gasoline": { - tags: { - name: "Costco Gasoline", - shop: "supermarket" - }, - name: "Costco Gasoline", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Coto": { - tags: { - name: "Coto", - shop: "supermarket" - }, - name: "Coto", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Countdown": { - tags: { - name: "Countdown", - shop: "supermarket" - }, - name: "Countdown", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Coviran": { - tags: { - name: "Coviran", - shop: "supermarket" - }, - name: "Coviran", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Covirán": { - tags: { - name: "Covirán", - shop: "supermarket" - }, - name: "Covirán", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Crai": { - tags: { - name: "Crai", - shop: "supermarket" - }, - name: "Crai", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Cub Foods": { - tags: { - name: "Cub Foods", - shop: "supermarket" - }, - name: "Cub Foods", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Dagli'Brugsen": { - tags: { - name: "Dagli'Brugsen", - shop: "supermarket" - }, - name: "Dagli'Brugsen", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Deen": { - tags: { - name: "Deen", - shop: "supermarket" - }, - name: "Deen", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Delhaize": { - tags: { - name: "Delhaize", - shop: "supermarket" - }, - name: "Delhaize", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Delikatesy Centrum": { - tags: { - name: "Delikatesy Centrum", - shop: "supermarket" - }, - name: "Delikatesy Centrum", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Denner": { - tags: { - name: "Denner", - shop: "supermarket" - }, - name: "Denner", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Despar": { - tags: { - name: "Despar", - shop: "supermarket" - }, - name: "Despar", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Despensa Familiar": { - tags: { - name: "Despensa Familiar", - shop: "supermarket" - }, - name: "Despensa Familiar", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Dia": { - tags: { - name: "Dia", - shop: "supermarket" - }, - name: "Dia", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Dia %": { - tags: { - name: "Dia %", - shop: "supermarket" - }, - name: "Dia %", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Dia Market": { - tags: { - name: "Dia Market", - shop: "supermarket" - }, - name: "Dia Market", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Dino": { - tags: { - name: "Dino", - shop: "supermarket" - }, - name: "Dino", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Disco": { - tags: { - name: "Disco", - shop: "supermarket" - }, - name: "Disco", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Diska": { - tags: { - name: "Diska", - shop: "supermarket" - }, - name: "Diska", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Dunnes Stores": { - tags: { - name: "Dunnes Stores", - shop: "supermarket" - }, - name: "Dunnes Stores", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/E-Center": { - tags: { - name: "E-Center", - shop: "supermarket" - }, - name: "E-Center", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/E. Leclerc": { - tags: { - name: "E. Leclerc", - shop: "supermarket" - }, - name: "E. Leclerc", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/E. Leclerc Drive": { - tags: { - name: "E. Leclerc Drive", - shop: "supermarket" - }, - name: "E. Leclerc Drive", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/EMTÉ": { - tags: { - name: "EMTÉ", - shop: "supermarket" - }, - name: "EMTÉ", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Edeka": { - tags: { - name: "Edeka", - shop: "supermarket" - }, - name: "Edeka", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Ekom": { - tags: { - name: "Ekom", - shop: "supermarket" - }, - name: "Ekom", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Ekono": { - tags: { - name: "Ekono", - shop: "supermarket" - }, - name: "Ekono", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/El Árbol": { - tags: { - name: "El Árbol", - shop: "supermarket" - }, - name: "El Árbol", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Eroski": { - tags: { - name: "Eroski", - shop: "supermarket" - }, - name: "Eroski", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Esselunga": { - tags: { - name: "Esselunga", - shop: "supermarket" - }, - name: "Esselunga", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/EuroSpin": { - tags: { - name: "EuroSpin", - shop: "supermarket" - }, - name: "EuroSpin", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Eurospar": { - tags: { - name: "Eurospar", - shop: "supermarket" - }, - name: "Eurospar", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Eurospin": { - tags: { - name: "Eurospin", - shop: "supermarket" - }, - name: "Eurospin", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Extra": { - tags: { - name: "Extra", - shop: "supermarket" - }, - name: "Extra", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Famiglia Cooperativa": { - tags: { - name: "Famiglia Cooperativa", - shop: "supermarket" - }, - name: "Famiglia Cooperativa", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Famila": { - tags: { - name: "Famila", - shop: "supermarket" - }, - name: "Famila", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Fareway": { - tags: { - name: "Fareway", - shop: "supermarket" - }, - name: "Fareway", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Farmfoods": { - tags: { - name: "Farmfoods", - shop: "supermarket" - }, - name: "Farmfoods", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Feneberg": { - tags: { - name: "Feneberg", - shop: "supermarket" - }, - name: "Feneberg", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Food Basics": { - tags: { - name: "Food Basics", - shop: "supermarket" - }, - name: "Food Basics", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Food Lion": { - tags: { - name: "Food Lion", - shop: "supermarket" - }, - name: "Food Lion", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Foodland": { - tags: { - name: "Foodland", - shop: "supermarket" - }, - name: "Foodland", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Foodworks": { - tags: { - name: "Foodworks", - shop: "supermarket" - }, - name: "Foodworks", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Franprix": { - tags: { - name: "Franprix", - shop: "supermarket" - }, - name: "Franprix", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Fred Meyer": { - tags: { - name: "Fred Meyer", - shop: "supermarket" - }, - name: "Fred Meyer", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Froiz": { - tags: { - name: "Froiz", - shop: "supermarket" - }, - name: "Froiz", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Føtex": { - tags: { - name: "Føtex", - shop: "supermarket" - }, - name: "Føtex", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/G20": { - tags: { - name: "G20", - shop: "supermarket" - }, - name: "G20", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Gadis": { - tags: { - name: "Gadis", - shop: "supermarket" - }, - name: "Gadis", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Giant": { - tags: { - name: "Giant", - shop: "supermarket" - }, - name: "Giant", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Giant Eagle": { - tags: { - name: "Giant Eagle", - shop: "supermarket" - }, - name: "Giant Eagle", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Grand Frais": { - tags: { - name: "Grand Frais", - shop: "supermarket" - }, - name: "Grand Frais", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Grocery Outlet": { - tags: { - name: "Grocery Outlet", - shop: "supermarket" - }, - name: "Grocery Outlet", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Géant Casino": { - tags: { - name: "Géant Casino", - shop: "supermarket" - }, - name: "Géant Casino", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/H-E-B": { - tags: { - name: "H-E-B", - shop: "supermarket" - }, - name: "H-E-B", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/HIT": { - tags: { - name: "HIT", - shop: "supermarket" - }, - name: "HIT", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Hannaford": { - tags: { - name: "Hannaford", - shop: "supermarket" - }, - name: "Hannaford", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Harris Teeter": { - tags: { - name: "Harris Teeter", - shop: "supermarket" - }, - name: "Harris Teeter", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Hemköp": { - tags: { - name: "Hemköp", - shop: "supermarket" - }, - name: "Hemköp", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Heron Foods": { - tags: { - name: "Heron Foods", - shop: "supermarket" - }, - name: "Heron Foods", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Hofer": { - tags: { - name: "Hofer", - shop: "supermarket" - }, - name: "Hofer", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Hoogvliet": { - tags: { - name: "Hoogvliet", - shop: "supermarket" - }, - name: "Hoogvliet", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Hy-Vee": { - tags: { - name: "Hy-Vee", - shop: "supermarket" - }, - name: "Hy-Vee", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/ICA": { - tags: { - name: "ICA", - shop: "supermarket" - }, - name: "ICA", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/ICA Kvantum": { - tags: { - name: "ICA Kvantum", - shop: "supermarket" - }, - name: "ICA Kvantum", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/IDEA": { - tags: { - name: "IDEA", - shop: "supermarket" - }, - name: "IDEA", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/IGA": { - tags: { - name: "IGA", - shop: "supermarket" - }, - name: "IGA", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Iceland": { - tags: { - name: "Iceland", - shop: "supermarket" - }, - name: "Iceland", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Intermarché": { - tags: { - name: "Intermarché", - shop: "supermarket" - }, - name: "Intermarché", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Intermarché Contact": { - tags: { - name: "Intermarché Contact", - shop: "supermarket" - }, - name: "Intermarché Contact", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Intermarché Super": { - tags: { - name: "Intermarché Super", - shop: "supermarket" - }, - name: "Intermarché Super", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Interspar": { - tags: { - name: "Interspar", - shop: "supermarket" - }, - name: "Interspar", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Irma": { - tags: { - name: "Irma", - shop: "supermarket" - }, - name: "Irma", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Jewel-Osco": { - tags: { - name: "Jewel-Osco", - shop: "supermarket" - }, - name: "Jewel-Osco", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Jumbo": { - tags: { - name: "Jumbo", - shop: "supermarket" - }, - name: "Jumbo", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/K+K": { - tags: { - name: "K+K", - shop: "supermarket" - }, - name: "K+K", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Kaufland": { - tags: { - name: "Kaufland", - shop: "supermarket" - }, - name: "Kaufland", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/King Soopers": { - tags: { - name: "King Soopers", - shop: "supermarket" - }, - name: "King Soopers", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Kiwi": { - tags: { - name: "Kiwi", - shop: "supermarket" - }, - name: "Kiwi", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Konsum": { - tags: { - name: "Konsum", - shop: "supermarket" - }, - name: "Konsum", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Konzum": { - tags: { - name: "Konzum", - shop: "supermarket" - }, - name: "Konzum", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Kroger": { - tags: { - name: "Kroger", - shop: "supermarket" - }, - name: "Kroger", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Kvickly": { - tags: { - name: "Kvickly", - shop: "supermarket" - }, - name: "Kvickly", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/La Vie Claire": { - tags: { - name: "La Vie Claire", - shop: "supermarket" - }, - name: "La Vie Claire", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Landi": { - tags: { - name: "Landi", - shop: "supermarket" - }, - name: "Landi", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Leader Price": { - tags: { - name: "Leader Price", - shop: "supermarket" - }, - name: "Leader Price", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Leclerc Drive": { - tags: { - name: "Leclerc Drive", - shop: "supermarket" - }, - name: "Leclerc Drive", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Lider": { - tags: { - name: "Lider", - shop: "supermarket" - }, - name: "Lider", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Lidl": { - tags: { - name: "Lidl", - shop: "supermarket" - }, - name: "Lidl", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Lupa": { - tags: { - name: "Lupa", - shop: "supermarket" - }, - name: "Lupa", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/MPREIS": { - tags: { - name: "MPREIS", - shop: "supermarket" - }, - name: "MPREIS", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Makro": { - tags: { - name: "Makro", - shop: "supermarket" - }, - name: "Makro", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Markant": { - tags: { - name: "Markant", - shop: "supermarket" - }, - name: "Markant", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Market Basket": { - tags: { - name: "Market Basket", - shop: "supermarket" - }, - name: "Market Basket", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Marktkauf": { - tags: { - name: "Marktkauf", - shop: "supermarket" - }, - name: "Marktkauf", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Match": { - tags: { - name: "Match", - shop: "supermarket" - }, - name: "Match", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Maxi": { - tags: { - name: "Maxi", - shop: "supermarket" - }, - name: "Maxi", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Maxi Dia": { - tags: { - name: "Maxi Dia", - shop: "supermarket" - }, - name: "Maxi Dia", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Maxima": { - tags: { - name: "Maxima", - shop: "supermarket" - }, - name: "Maxima", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Maxima X": { - tags: { - name: "Maxima X", - shop: "supermarket" - }, - name: "Maxima X", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Maxima XX": { - tags: { - name: "Maxima XX", - shop: "supermarket" - }, - name: "Maxima XX", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Mega Image": { - tags: { - name: "Mega Image", - shop: "supermarket" - }, - name: "Mega Image", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Mego": { - tags: { - name: "Mego", - shop: "supermarket" - }, - name: "Mego", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Meijer": { - tags: { - name: "Meijer", - shop: "supermarket" - }, - name: "Meijer", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Meny": { - tags: { - name: "Meny", - shop: "supermarket" - }, - name: "Meny", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Mercado Municipal": { - tags: { - name: "Mercado Municipal", - shop: "supermarket" - }, - name: "Mercado Municipal", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Mercado de Abastos": { - tags: { - name: "Mercado de Abastos", - shop: "supermarket" - }, - name: "Mercado de Abastos", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Mercadona": { - tags: { - name: "Mercadona", - shop: "supermarket" - }, - name: "Mercadona", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Mercator": { - tags: { - name: "Mercator", - shop: "supermarket" - }, - name: "Mercator", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Merkur": { - tags: { - name: "Merkur", - shop: "supermarket" - }, - name: "Merkur", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Metro": { - tags: { - name: "Metro", - shop: "supermarket" - }, - name: "Metro", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Migros": { - tags: { - name: "Migros", - shop: "supermarket" - }, - name: "Migros", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Mila": { - tags: { - name: "Mila", - shop: "supermarket" - }, - name: "Mila", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Minipreço": { - tags: { - name: "Minipreço", - shop: "supermarket" - }, - name: "Minipreço", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Mix Markt": { - tags: { - name: "Mix Markt", - shop: "supermarket" - }, - name: "Mix Markt", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Monoprix": { - tags: { - name: "Monoprix", - shop: "supermarket" - }, - name: "Monoprix", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/More": { - tags: { - name: "More", - shop: "supermarket" - }, - name: "More", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Morrisons": { - tags: { - name: "Morrisons", - shop: "supermarket" - }, - name: "Morrisons", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/NORMA": { - tags: { - name: "NORMA", - shop: "supermarket" - }, - name: "NORMA", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/NP": { - tags: { - name: "NP", - shop: "supermarket" - }, - name: "NP", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Nah & Frisch": { - tags: { - name: "Nah & Frisch", - shop: "supermarket" - }, - name: "Nah & Frisch", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Nahkauf": { - tags: { - name: "Nahkauf", - shop: "supermarket" - }, - name: "Nahkauf", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Netto": { - tags: { - name: "Netto", - shop: "supermarket" - }, - name: "Netto", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Netto Marken-Discount": { - tags: { - name: "Netto Marken-Discount", - shop: "supermarket" - }, - name: "Netto Marken-Discount", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/New World": { - tags: { - name: "New World", - shop: "supermarket" - }, - name: "New World", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/No Frills": { - tags: { - name: "No Frills", - shop: "supermarket" - }, - name: "No Frills", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Norfa XL": { - tags: { - name: "Norfa XL", - shop: "supermarket" - }, - name: "Norfa XL", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Norma": { - tags: { - name: "Norma", - shop: "supermarket" - }, - name: "Norma", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/PENNY": { - tags: { - name: "PENNY", - shop: "supermarket" - }, - name: "PENNY", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/PLUS": { - tags: { - name: "PLUS", - shop: "supermarket" - }, - name: "PLUS", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/POLOmarket": { - tags: { - name: "POLOmarket", - shop: "supermarket" - }, - name: "POLOmarket", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Palí": { - tags: { - name: "Palí", - shop: "supermarket" - }, - name: "Palí", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Pam": { - tags: { - name: "Pam", - shop: "supermarket" - }, - name: "Pam", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Penny": { - tags: { - name: "Penny", - shop: "supermarket" - }, - name: "Penny", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Penny Markt": { - tags: { - name: "Penny Markt", - shop: "supermarket" - }, - name: "Penny Markt", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Pick n Pay": { - tags: { - name: "Pick n Pay", - shop: "supermarket" - }, - name: "Pick n Pay", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Piggly Wiggly": { - tags: { - name: "Piggly Wiggly", - shop: "supermarket" - }, - name: "Piggly Wiggly", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Pingo Doce": { - tags: { - name: "Pingo Doce", - shop: "supermarket" - }, - name: "Pingo Doce", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Piotr i Paweł": { - tags: { - name: "Piotr i Paweł", - shop: "supermarket" - }, - name: "Piotr i Paweł", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Plaza Vea": { - tags: { - name: "Plaza Vea", - shop: "supermarket" - }, - name: "Plaza Vea", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Plodine": { - tags: { - name: "Plodine", - shop: "supermarket" - }, - name: "Plodine", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Poiesz": { - tags: { - name: "Poiesz", - shop: "supermarket" - }, - name: "Poiesz", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Price Chopper": { - tags: { - name: "Price Chopper", - shop: "supermarket" - }, - name: "Price Chopper", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Prix": { - tags: { - name: "Prix", - shop: "supermarket" - }, - name: "Prix", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Profi": { - tags: { - name: "Profi", - shop: "supermarket" - }, - name: "Profi", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Proxy Delhaize": { - tags: { - name: "Proxy Delhaize", - shop: "supermarket" - }, - name: "Proxy Delhaize", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Publix": { - tags: { - name: "Publix", - shop: "supermarket" - }, - name: "Publix", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Punto Simply": { - tags: { - name: "Punto Simply", - shop: "supermarket" - }, - name: "Punto Simply", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Puregold": { - tags: { - name: "Puregold", - shop: "supermarket" - }, - name: "Puregold", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/QFC": { - tags: { - name: "QFC", - shop: "supermarket" - }, - name: "QFC", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/REMA 1000": { - tags: { - name: "REMA 1000", - shop: "supermarket" - }, - name: "REMA 1000", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Ralphs": { - tags: { - name: "Ralphs", - shop: "supermarket" - }, - name: "Ralphs", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Real": { - tags: { - name: "Real", - shop: "supermarket" - }, - name: "Real", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Real Canadian Superstore": { - tags: { - name: "Real Canadian Superstore", - shop: "supermarket" - }, - name: "Real Canadian Superstore", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Reliance Fresh": { - tags: { - name: "Reliance Fresh", - shop: "supermarket" - }, - name: "Reliance Fresh", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Rema 1000": { - tags: { - name: "Rema 1000", - shop: "supermarket" - }, - name: "Rema 1000", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Rewe": { - tags: { - name: "Rewe", - shop: "supermarket" - }, - name: "Rewe", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Rewe City": { - tags: { - name: "Rewe City", - shop: "supermarket" - }, - name: "Rewe City", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Rimi": { - tags: { - name: "Rimi", - shop: "supermarket" - }, - name: "Rimi", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/S-Market": { - tags: { - name: "S-Market", - shop: "supermarket" - }, - name: "S-Market", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Safeway": { - tags: { - name: "Safeway", - shop: "supermarket" - }, - name: "Safeway", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Sainsbury's": { - tags: { - name: "Sainsbury's", - shop: "supermarket" - }, - name: "Sainsbury's", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Sainsbury's Local": { - tags: { - name: "Sainsbury's Local", - shop: "supermarket" - }, - name: "Sainsbury's Local", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Sam's Club": { - tags: { - name: "Sam's Club", - shop: "supermarket" - }, - name: "Sam's Club", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Santa Isabel": { - tags: { - name: "Santa Isabel", - shop: "supermarket" - }, - name: "Santa Isabel", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Save-A-Lot": { - tags: { - name: "Save-A-Lot", - shop: "supermarket" - }, - name: "Save-A-Lot", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/ShopRite": { - tags: { - name: "ShopRite", - shop: "supermarket" - }, - name: "ShopRite", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Shoprite": { - tags: { - name: "Shoprite", - shop: "supermarket" - }, - name: "Shoprite", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Sigma": { - tags: { - name: "Sigma", - shop: "supermarket" - }, - name: "Sigma", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Simply Market": { - tags: { - name: "Simply Market", - shop: "supermarket" - }, - name: "Simply Market", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Sky": { - tags: { - name: "Sky", - shop: "supermarket" - }, - name: "Sky", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Smith's": { - tags: { - name: "Smith's", - shop: "supermarket" - }, - name: "Smith's", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Sobeys": { - tags: { - name: "Sobeys", - shop: "supermarket" - }, - name: "Sobeys", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Soriana": { - tags: { - name: "Soriana", - shop: "supermarket" - }, - name: "Soriana", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Spar": { - tags: { - name: "Spar", - shop: "supermarket" - }, - name: "Spar", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Sprouts Farmers Market": { - tags: { - name: "Sprouts Farmers Market", - shop: "supermarket" - }, - name: "Sprouts Farmers Market", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Stokrotka": { - tags: { - name: "Stokrotka", - shop: "supermarket" - }, - name: "Stokrotka", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Stop & Shop": { - tags: { - name: "Stop & Shop", - shop: "supermarket" - }, - name: "Stop & Shop", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Super C": { - tags: { - name: "Super C", - shop: "supermarket" - }, - name: "Super C", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Super U": { - tags: { - name: "Super U", - shop: "supermarket" - }, - name: "Super U", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/SuperBrugsen": { - tags: { - name: "SuperBrugsen", - shop: "supermarket" - }, - name: "SuperBrugsen", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/SuperValu": { - tags: { - name: "SuperValu", - shop: "supermarket" - }, - name: "SuperValu", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Superama": { - tags: { - name: "Superama", - shop: "supermarket" - }, - name: "Superama", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Supersol": { - tags: { - name: "Supersol", - shop: "supermarket" - }, - name: "Supersol", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Superspar": { - tags: { - name: "Superspar", - shop: "supermarket" - }, - name: "Superspar", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Tegut": { - tags: { - name: "Tegut", - shop: "supermarket" - }, - name: "Tegut", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Tengelmann": { - tags: { - name: "Tengelmann", - shop: "supermarket" - }, - name: "Tengelmann", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Tesco": { - tags: { - name: "Tesco", - shop: "supermarket" - }, - name: "Tesco", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Tesco Extra": { - tags: { - name: "Tesco Extra", - shop: "supermarket" - }, - name: "Tesco Extra", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Tesco Lotus": { - tags: { - name: "Tesco Lotus", - shop: "supermarket" - }, - name: "Tesco Lotus", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Tesco Metro": { - tags: { - name: "Tesco Metro", - shop: "supermarket" - }, - name: "Tesco Metro", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/The Co-operative": { - tags: { - name: "The Co-operative", - shop: "supermarket" - }, - name: "The Co-operative", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Tommy": { - tags: { - name: "Tommy", - shop: "supermarket" - }, - name: "Tommy", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Tottus": { - tags: { - name: "Tottus", - shop: "supermarket" - }, - name: "Tottus", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Trader Joe's": { - tags: { - name: "Trader Joe's", - shop: "supermarket" - }, - name: "Trader Joe's", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Treff 3000": { - tags: { - name: "Treff 3000", - shop: "supermarket" - }, - name: "Treff 3000", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/U Express": { - tags: { - name: "U Express", - shop: "supermarket" - }, - name: "U Express", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Unimarc": { - tags: { - name: "Unimarc", - shop: "supermarket" - }, - name: "Unimarc", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Unimarkt": { - tags: { - name: "Unimarkt", - shop: "supermarket" - }, - name: "Unimarkt", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Utile": { - tags: { - name: "Utile", - shop: "supermarket" - }, - name: "Utile", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Vea": { - tags: { - name: "Vea", - shop: "supermarket" - }, - name: "Vea", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Volg": { - tags: { - name: "Volg", - shop: "supermarket" - }, - name: "Volg", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Waitrose": { - tags: { - name: "Waitrose", - shop: "supermarket" - }, - name: "Waitrose", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Walmart": { - tags: { - name: "Walmart", - shop: "supermarket" - }, - name: "Walmart", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Walmart Neighborhood Market": { - tags: { - name: "Walmart Neighborhood Market", - shop: "supermarket" - }, - name: "Walmart Neighborhood Market", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Walmart Supercenter": { - tags: { - name: "Walmart Supercenter", - shop: "supermarket" - }, - name: "Walmart Supercenter", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Wasgau": { - tags: { - name: "Wasgau", - shop: "supermarket" - }, - name: "Wasgau", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Wegmans": { - tags: { - name: "Wegmans", - shop: "supermarket" - }, - name: "Wegmans", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Wellcome": { - tags: { - name: "Wellcome", - shop: "supermarket" - }, - name: "Wellcome", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Whole Foods Market": { - tags: { - name: "Whole Foods Market", - shop: "supermarket" - }, - name: "Whole Foods Market", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Willys": { - tags: { - name: "Willys", - shop: "supermarket" - }, - name: "Willys", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/WinCo Foods": { - tags: { - name: "WinCo Foods", - shop: "supermarket" - }, - name: "WinCo Foods", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Winn Dixie": { - tags: { - name: "Winn Dixie", - shop: "supermarket" - }, - name: "Winn Dixie", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Woolworths": { - tags: { - name: "Woolworths", - shop: "supermarket" - }, - name: "Woolworths", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/denn's Biomarkt": { - tags: { - name: "denn's Biomarkt", - shop: "supermarket" - }, - name: "denn's Biomarkt", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/fakta": { - tags: { - name: "fakta", - shop: "supermarket" - }, - name: "fakta", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/real": { - tags: { - name: "real", - shop: "supermarket" - }, - name: "real", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/tegut": { - tags: { - name: "tegut", - shop: "supermarket" - }, - name: "tegut", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Şok": { - tags: { - name: "Şok", - shop: "supermarket" - }, - name: "Şok", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/ΑΒ Βασιλόπουλος": { - tags: { - name: "ΑΒ Βασιλόπουλος", - shop: "supermarket" - }, - name: "ΑΒ Βασιλόπουλος", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Γαλαξίας": { - tags: { - name: "Γαλαξίας", - shop: "supermarket" - }, - name: "Γαλαξίας", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Μασούτης": { - tags: { - name: "Μασούτης", - shop: "supermarket" - }, - name: "Μασούτης", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Σκλαβενίτης": { - tags: { - name: "Σκλαβενίτης", - shop: "supermarket" - }, - name: "Σκλαβενίτης", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/АТБ": { - tags: { - name: "АТБ", - shop: "supermarket" - }, - name: "АТБ", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Абсолют": { - tags: { - name: "Абсолют", - shop: "supermarket" - }, - name: "Абсолют", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Азбука Вкуса": { - tags: { - name: "Азбука Вкуса", - shop: "supermarket" - }, - name: "Азбука Вкуса", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Атак": { - tags: { - name: "Атак", - shop: "supermarket" - }, - name: "Атак", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Ашан": { - tags: { - name: "Ашан", - shop: "supermarket" - }, - name: "Ашан", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Верный": { - tags: { - name: "Верный", - shop: "supermarket" - }, - name: "Верный", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Вопак": { - tags: { - name: "Вопак", - shop: "supermarket" - }, - name: "Вопак", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Гроздь": { - tags: { - name: "Гроздь", - shop: "supermarket" - }, - name: "Гроздь", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Десяточка": { - tags: { - name: "Десяточка", - shop: "supermarket" - }, - name: "Десяточка", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Дикси": { - tags: { - name: "Дикси", - shop: "supermarket" - }, - name: "Дикси", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Евроопт": { - tags: { - name: "Евроопт", - shop: "supermarket" - }, - name: "Евроопт", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Карусель": { - tags: { - name: "Карусель", - shop: "supermarket" - }, - name: "Карусель", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Квартал": { - tags: { - name: "Квартал", - shop: "supermarket" - }, - name: "Квартал", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Командор": { - tags: { - name: "Командор", - shop: "supermarket" - }, - name: "Командор", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Красный Яр": { - tags: { - name: "Красный Яр", - shop: "supermarket" - }, - name: "Красный Яр", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Лента": { - tags: { - name: "Лента", - shop: "supermarket" - }, - name: "Лента", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Магнит": { - tags: { - name: "Магнит", - shop: "supermarket" - }, - name: "Магнит", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Магнолия": { - tags: { - name: "Магнолия", - shop: "supermarket" - }, - name: "Магнолия", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Монетка": { - tags: { - name: "Монетка", - shop: "supermarket" - }, - name: "Монетка", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Народная 7Я семьЯ": { - tags: { - name: "Народная 7Я семьЯ", - shop: "supermarket" - }, - name: "Народная 7Я семьЯ", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Перекресток": { - tags: { - name: "Перекресток", - shop: "supermarket" - }, - name: "Перекресток", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Покупочка": { - tags: { - name: "Покупочка", - shop: "supermarket" - }, - name: "Покупочка", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Полушка": { - tags: { - name: "Полушка", - shop: "supermarket" - }, - name: "Полушка", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Пятёрочка": { - tags: { - name: "Пятёрочка", - shop: "supermarket" - }, - name: "Пятёрочка", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Радеж": { - tags: { - name: "Радеж", - shop: "supermarket" - }, - name: "Радеж", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Рукавичка": { - tags: { - name: "Рукавичка", - shop: "supermarket" - }, - name: "Рукавичка", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Светофор": { - tags: { - name: "Светофор", - shop: "supermarket" - }, - name: "Светофор", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Седьмой континент": { - tags: { - name: "Седьмой континент", - shop: "supermarket" - }, - name: "Седьмой континент", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Семейный": { - tags: { - name: "Семейный", - shop: "supermarket" - }, - name: "Семейный", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Семья": { - tags: { - name: "Семья", - shop: "supermarket" - }, - name: "Семья", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Супермаркет": { - tags: { - name: "Супермаркет", - shop: "supermarket" - }, - name: "Супермаркет", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Сільпо": { - tags: { - name: "Сільпо", - shop: "supermarket" - }, - name: "Сільпо", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Таврія‑В": { - tags: { - name: "Таврія‑В", - shop: "supermarket" - }, - name: "Таврія‑В", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Фора": { - tags: { - name: "Фора", - shop: "supermarket" - }, - name: "Фора", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Фуршет": { - tags: { - name: "Фуршет", - shop: "supermarket" - }, - name: "Фуршет", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Хүнсний дэлгүүр": { - tags: { - name: "Хүнсний дэлгүүр", - shop: "supermarket" - }, - name: "Хүнсний дэлгүүр", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/Эдельвейс": { - tags: { - name: "Эдельвейс", - shop: "supermarket" - }, - name: "Эдельвейс", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/хүнсний дэлгүүр": { - tags: { - name: "хүнсний дэлгүүр", - shop: "supermarket" - }, - name: "хүнсний дэлгүүр", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/بقالة": { - tags: { - name: "بقالة", - shop: "supermarket" - }, - name: "بقالة", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/سوپر مارکت": { - tags: { - name: "سوپر مارکت", - shop: "supermarket" - }, - name: "سوپر مارکت", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/سوپرمارکت": { - tags: { - name: "سوپرمارکت", - shop: "supermarket" - }, - name: "سوپرمارکت", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/いなげや": { - tags: { - name: "いなげや", - shop: "supermarket" - }, - name: "いなげや", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/まいばすけっと": { - tags: { - name: "まいばすけっと", - shop: "supermarket" - }, - name: "まいばすけっと", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/イオン": { - tags: { - name: "イオン", - shop: "supermarket" - }, - name: "イオン", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/イトーヨーカドー": { - tags: { - name: "イトーヨーカドー", - shop: "supermarket" - }, - name: "イトーヨーカドー", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/カスミ": { - tags: { - name: "カスミ", - shop: "supermarket" - }, - name: "カスミ", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/マックスバリュ": { - tags: { - name: "マックスバリュ", - shop: "supermarket" - }, - name: "マックスバリュ", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/マルエツ": { - tags: { - name: "マルエツ", - shop: "supermarket" - }, - name: "マルエツ", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/ライフ": { - tags: { - name: "ライフ", - shop: "supermarket" - }, - name: "ライフ", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/全聯": { - tags: { - name: "全聯", - shop: "supermarket" - }, - name: "全聯", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/全聯福利中心": { - tags: { - name: "全聯福利中心", - shop: "supermarket" - }, - name: "全聯福利中心", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/惠康 Wellcome": { - tags: { - name: "惠康 Wellcome", - shop: "supermarket" - }, - name: "惠康 Wellcome", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/業務スーパー": { - tags: { - name: "業務スーパー", - shop: "supermarket" - }, - name: "業務スーパー", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/美廉社": { - tags: { - name: "美廉社", - shop: "supermarket" - }, - name: "美廉社", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/supermarket/西友": { - tags: { - name: "西友", - shop: "supermarket" - }, - name: "西友", - icon: "grocery", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tailor/Atelier de couture": { - tags: { - name: "Atelier de couture", - shop: "tailor" - }, - name: "Atelier de couture", - icon: "clothing-store", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/ticket/Boutique Grandes Lignes": { - tags: { - name: "Boutique Grandes Lignes", - shop: "ticket" - }, - name: "Boutique Grandes Lignes", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/ticket/Guichet Transilien": { - tags: { - name: "Guichet Transilien", - shop: "ticket" - }, - name: "Guichet Transilien", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/ticket/Касса": { - tags: { - name: "Касса", - shop: "ticket" - }, - name: "Касса", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/ticket/Проездные билеты": { - tags: { - name: "Проездные билеты", - shop: "ticket" - }, - name: "Проездные билеты", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tobacco/Dohánybolt": { - tags: { - name: "Dohánybolt", - shop: "tobacco" - }, - name: "Dohánybolt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tobacco/Estanco": { - tags: { - name: "Estanco", - shop: "tobacco" - }, - name: "Estanco", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tobacco/Nemzeti Dohánybolt": { - tags: { - name: "Nemzeti Dohánybolt", - shop: "tobacco" - }, - name: "Nemzeti Dohánybolt", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tobacco/Tabacos": { - tags: { - name: "Tabacos", - shop: "tobacco" - }, - name: "Tabacos", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tobacco/Табакерка": { - tags: { - name: "Табакерка", - shop: "tobacco" - }, - name: "Табакерка", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/toys/Dráčik": { - tags: { - name: "Dráčik", - shop: "toys" - }, - name: "Dráčik", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/toys/Intertoys": { - tags: { - name: "Intertoys", - shop: "toys" - }, - name: "Intertoys", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/toys/King Jouet": { - tags: { - name: "King Jouet", - shop: "toys" - }, - name: "King Jouet", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/toys/Maxi Toys": { - tags: { - name: "Maxi Toys", - shop: "toys" - }, - name: "Maxi Toys", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/toys/Toys R Us": { - tags: { - name: "Toys R Us", - shop: "toys" - }, - name: "Toys R Us", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/toys/Детский мир": { - tags: { - name: "Детский мир", - shop: "toys" - }, - name: "Детский мир", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/toys/Игрушки": { - tags: { - name: "Игрушки", - shop: "toys" - }, - name: "Игрушки", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/travel_agency/D-reizen": { - tags: { - name: "D-reizen", - shop: "travel_agency" - }, - name: "D-reizen", - icon: "suitcase", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/travel_agency/DER Reisebüro": { - tags: { - name: "DER Reisebüro", - shop: "travel_agency" - }, - name: "DER Reisebüro", - icon: "suitcase", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/travel_agency/Flight Centre": { - tags: { - name: "Flight Centre", - shop: "travel_agency" - }, - name: "Flight Centre", - icon: "suitcase", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/travel_agency/Reiseland": { - tags: { - name: "Reiseland", - shop: "travel_agency" - }, - name: "Reiseland", - icon: "suitcase", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/travel_agency/TUI": { - tags: { - name: "TUI", - shop: "travel_agency" - }, - name: "TUI", - icon: "suitcase", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - 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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/travel_agency/Thomas Cook": { - tags: { - name: "Thomas Cook", - shop: "travel_agency" - }, - name: "Thomas Cook", - icon: "suitcase", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/travel_agency/Thomson": { - tags: { - name: "Thomson", - shop: "travel_agency" - }, - name: "Thomson", - icon: "suitcase", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tyres/Borracharia": { - tags: { - name: "Borracharia", - shop: "tyres" - }, - name: "Borracharia", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tyres/Bridgestone": { - tags: { - name: "Bridgestone", - shop: "tyres" - }, - name: "Bridgestone", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tyres/Discount Tire": { - tags: { - name: "Discount Tire", - shop: "tyres" - }, - name: "Discount Tire", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tyres/Les Schwab Tire Center": { - tags: { - name: "Les Schwab Tire Center", - shop: "tyres" - }, - name: "Les Schwab Tire Center", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tyres/Vianor": { - tags: { - name: "Vianor", - shop: "tyres" - }, - name: "Vianor", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/tyres/Вулканизация": { - tags: { - name: "Вулканизация", - shop: "tyres" - }, - name: "Вулканизация", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Action": { - tags: { - name: "Action", - shop: "variety_store" - }, - name: "Action", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Bazar": { - tags: { - name: "Bazar", - shop: "variety_store" - }, - name: "Bazar", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Big Bazar": { - tags: { - name: "Big Bazar", - shop: "variety_store" - }, - name: "Big Bazar", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Dollar Tree": { - tags: { - name: "Dollar Tree", - shop: "variety_store" - }, - name: "Dollar Tree", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Dollarama": { - tags: { - name: "Dollarama", - shop: "variety_store" - }, - name: "Dollarama", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/EuroShop": { - tags: { - name: "EuroShop", - shop: "variety_store" - }, - name: "EuroShop", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Family Dollar": { - tags: { - name: "Family Dollar", - shop: "variety_store" - }, - name: "Family Dollar", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Fix Price": { - tags: { - name: "Fix Price", - shop: "variety_store" - }, - name: "Fix Price", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Fix price": { - tags: { - name: "Fix price", - shop: "variety_store" - }, - name: "Fix price", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/FixPrice": { - tags: { - name: "FixPrice", - shop: "variety_store" - }, - name: "FixPrice", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/GiFi": { - tags: { - name: "GiFi", - shop: "variety_store" - }, - name: "GiFi", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Home Bargains": { - tags: { - name: "Home Bargains", - shop: "variety_store" - }, - name: "Home Bargains", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Mäc-Geiz": { - tags: { - name: "Mäc-Geiz", - shop: "variety_store" - }, - name: "Mäc-Geiz", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/NOZ": { - tags: { - name: "NOZ", - shop: "variety_store" - }, - name: "NOZ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Poundland": { - tags: { - name: "Poundland", - shop: "variety_store" - }, - name: "Poundland", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Poundworld": { - tags: { - name: "Poundworld", - shop: "variety_store" - }, - name: "Poundworld", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/Tedi": { - tags: { - name: "Tedi", - shop: "variety_store" - }, - name: "Tedi", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/variety_store/ダイソー": { - tags: { - name: "ダイソー", - shop: "variety_store" - }, - name: "ダイソー", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video/Blockbuster": { - tags: { - name: "Blockbuster", - shop: "video" - }, - name: "Blockbuster", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video/Family Video": { - tags: { - name: "Family Video", - shop: "video" - }, - name: "Family Video", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video/TSUTAYA": { - tags: { - name: "TSUTAYA", - shop: "video" - }, - name: "TSUTAYA", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video/World of Video": { - tags: { - name: "World of Video", - shop: "video" - }, - name: "World of Video", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video/ゲオ": { - tags: { - name: "ゲオ", - shop: "video" - }, - name: "ゲオ", - icon: "shop", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video_games/EB Games": { - tags: { - name: "EB Games", - shop: "video_games" - }, - name: "EB Games", - icon: "gaming", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video_games/Game": { - tags: { - name: "Game", - shop: "video_games" - }, - name: "Game", - icon: "gaming", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video_games/GameStop": { - tags: { - name: "GameStop", - shop: "video_games" - }, - name: "GameStop", - icon: "gaming", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "shop/video_games/Micromania": { - tags: { - name: "Micromania", - shop: "video_games" - }, - name: "Micromania", - icon: "gaming", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours", - "payment_multi" - ], - suggestion: true - }, - "tourism/alpine_hut/КОШ": { - tags: { - name: "КОШ", - tourism: "alpine_hut" - }, - name: "КОШ", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/apartment/Двухкомнатная квартира на сутки": { - tags: { - name: "Двухкомнатная квартира на сутки", - tourism: "apartment" - }, - name: "Двухкомнатная квартира на сутки", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/attraction/Arch": { - tags: { - name: "Arch", - tourism: "attraction" - }, - name: "Arch", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Kursächsische Postmeilensäule": { - tags: { - name: "Kursächsische Postmeilensäule", - tourism: "attraction" - }, - name: "Kursächsische Postmeilensäule", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Maibaum": { - tags: { - name: "Maibaum", - tourism: "attraction" - }, - name: "Maibaum", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Moab trail": { - tags: { - name: "Moab trail", - tourism: "attraction" - }, - name: "Moab trail", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Moai": { - tags: { - name: "Moai", - tourism: "attraction" - }, - name: "Moai", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/OWŚ": { - tags: { - name: "OWŚ", - tourism: "attraction" - }, - name: "OWŚ", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Sommerrodelbahn": { - tags: { - name: "Sommerrodelbahn", - tourism: "attraction" - }, - name: "Sommerrodelbahn", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/path contiunes": { - tags: { - name: "path contiunes", - tourism: "attraction" - }, - name: "path contiunes", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/white blaze": { - tags: { - name: "white blaze", - tourism: "attraction" - }, - name: "white blaze", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Кладбище еврейское": { - tags: { - name: "Кладбище еврейское", - tourism: "attraction" - }, - name: "Кладбище еврейское", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Колесо обозрения": { - tags: { - name: "Колесо обозрения", - tourism: "attraction" - }, - name: "Колесо обозрения", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Приусадебный парк": { - tags: { - name: "Приусадебный парк", - tourism: "attraction" - }, - name: "Приусадебный парк", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Усадьба": { - tags: { - name: "Усадьба", - tourism: "attraction" - }, - name: "Усадьба", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Хозяйственный двор": { - tags: { - name: "Хозяйственный двор", - tourism: "attraction" - }, - name: "Хозяйственный двор", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/Часовня": { - tags: { - name: "Часовня", - tourism: "attraction" - }, - name: "Часовня", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/attraction/дольмен": { - tags: { - name: "дольмен", - tourism: "attraction" - }, - name: "дольмен", - icon: "star", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address" - ], - suggestion: true - }, - "tourism/camp_site/Camping Municipal": { - tags: { - name: "Camping Municipal", - tourism: "camp_site" - }, - name: "Camping Municipal", - icon: "campsite", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address", - "capacity", - "fee", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/camp_site/Camping municipal": { - tags: { - name: "Camping municipal", - tourism: "camp_site" - }, - name: "Camping municipal", - icon: "campsite", - geometry: [ - "point", - "vertex", - "area" - ], - fields: [ - "name", - "operator", - "address", - "capacity", - "fee", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/guest_house/Home": { - tags: { - name: "Home", - tourism: "guest_house" - }, - name: "Home", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/guest_house/OW Bielanka": { - tags: { - name: "OW Bielanka", - tourism: "guest_house" - }, - name: "OW Bielanka", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hostel/Albergue de Peregrinos": { - tags: { - name: "Albergue de Peregrinos", - tourism: "hostel" - }, - name: "Albergue de Peregrinos", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hostel/Hospedaje": { - tags: { - name: "Hospedaje", - tourism: "hostel" - }, - name: "Hospedaje", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hostel/Hostal": { - tags: { - name: "Hostal", - tourism: "hostel" - }, - name: "Hostal", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/B&B Hôtel": { - tags: { - name: "B&B Hôtel", - tourism: "hotel" - }, - name: "B&B Hôtel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/B&b Hôtel": { - tags: { - name: "B&b Hôtel", - tourism: "hotel" - }, - name: "B&b Hôtel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Best Western": { - tags: { - name: "Best Western", - tourism: "hotel" - }, - name: "Best Western", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Campanile": { - tags: { - name: "Campanile", - tourism: "hotel" - }, - name: "Campanile", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Central Hotel": { - tags: { - name: "Central Hotel", - tourism: "hotel" - }, - name: "Central Hotel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/City Hotel": { - tags: { - name: "City Hotel", - tourism: "hotel" - }, - name: "City Hotel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Comfort Inn": { - tags: { - name: "Comfort Inn", - tourism: "hotel" - }, - name: "Comfort Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Comfort Inn & Suites": { - tags: { - name: "Comfort Inn & Suites", - tourism: "hotel" - }, - name: "Comfort Inn & Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Comfort Suites": { - tags: { - name: "Comfort Suites", - tourism: "hotel" - }, - name: "Comfort Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Country Inn & Suites": { - tags: { - name: "Country Inn & Suites", - tourism: "hotel" - }, - name: "Country Inn & Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Courtyard by Marriott": { - tags: { - name: "Courtyard by Marriott", - tourism: "hotel" - }, - name: "Courtyard by Marriott", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Crowne Plaza": { - tags: { - name: "Crowne Plaza", - tourism: "hotel" - }, - name: "Crowne Plaza", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Days Inn": { - tags: { - name: "Days Inn", - tourism: "hotel" - }, - name: "Days Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Embassy Suites": { - tags: { - name: "Embassy Suites", - tourism: "hotel" - }, - name: "Embassy Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Extended Stay America": { - tags: { - name: "Extended Stay America", - tourism: "hotel" - }, - name: "Extended Stay America", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Fairfield Inn": { - tags: { - name: "Fairfield Inn", - tourism: "hotel" - }, - name: "Fairfield Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Fairfield Inn & Suites": { - tags: { - name: "Fairfield Inn & Suites", - tourism: "hotel" - }, - name: "Fairfield Inn & Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Formule 1": { - tags: { - name: "Formule 1", - tourism: "hotel" - }, - name: "Formule 1", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Grand Hotel": { - tags: { - name: "Grand Hotel", - tourism: "hotel" - }, - name: "Grand Hotel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hampton Inn": { - tags: { - name: "Hampton Inn", - tourism: "hotel" - }, - name: "Hampton Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hampton Inn & Suites": { - tags: { - name: "Hampton Inn & Suites", - tourism: "hotel" - }, - name: "Hampton Inn & Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hilton Garden Inn": { - tags: { - name: "Hilton Garden Inn", - tourism: "hotel" - }, - name: "Hilton Garden Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Holiday Inn": { - tags: { - name: "Holiday Inn", - tourism: "hotel" - }, - name: "Holiday Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Holiday Inn Express": { - tags: { - name: "Holiday Inn Express", - tourism: "hotel" - }, - name: "Holiday Inn Express", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - 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: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Homewood Suites": { - tags: { - name: "Homewood Suites", - tourism: "hotel" - }, - name: "Homewood Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Central": { - tags: { - name: "Hotel Central", - tourism: "hotel" - }, - name: "Hotel Central", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Europa": { - tags: { - name: "Hotel Europa", - tourism: "hotel" - }, - name: "Hotel Europa", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Ibis": { - tags: { - name: "Hotel Ibis", - tourism: "hotel" - }, - name: "Hotel Ibis", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Krone": { - tags: { - name: "Hotel Krone", - tourism: "hotel" - }, - name: "Hotel Krone", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Panorama": { - tags: { - name: "Hotel Panorama", - tourism: "hotel" - }, - name: "Hotel Panorama", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Plaza": { - tags: { - name: "Hotel Plaza", - tourism: "hotel" - }, - name: "Hotel Plaza", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Post": { - tags: { - name: "Hotel Post", - tourism: "hotel" - }, - name: "Hotel Post", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Royal": { - tags: { - name: "Hotel Royal", - tourism: "hotel" - }, - name: "Hotel Royal", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel Victoria": { - tags: { - name: "Hotel Victoria", - tourism: "hotel" - }, - name: "Hotel Victoria", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hotel zur Post": { - tags: { - name: "Hotel zur Post", - tourism: "hotel" - }, - name: "Hotel zur Post", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Hôtel Ibis": { - tags: { - name: "Hôtel Ibis", - tourism: "hotel" - }, - name: "Hôtel Ibis", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - 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: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Ibis": { - tags: { - name: "Ibis", - tourism: "hotel" - }, - name: "Ibis", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Ibis Budget": { - tags: { - name: "Ibis Budget", - tourism: "hotel" - }, - name: "Ibis Budget", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Ibis Styles": { - tags: { - name: "Ibis Styles", - tourism: "hotel" - }, - name: "Ibis Styles", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Kyriad": { - tags: { - name: "Kyriad", - tourism: "hotel" - }, - name: "Kyriad", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/La Quinta": { - tags: { - name: "La Quinta", - tourism: "hotel" - }, - name: "La Quinta", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Marriott": { - tags: { - name: "Marriott", - tourism: "hotel" - }, - name: "Marriott", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Mercure": { - tags: { - name: "Mercure", - tourism: "hotel" - }, - name: "Mercure", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Novotel": { - tags: { - name: "Novotel", - tourism: "hotel" - }, - name: "Novotel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Palace Hotel": { - tags: { - name: "Palace Hotel", - tourism: "hotel" - }, - name: "Palace Hotel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Park Hotel": { - tags: { - name: "Park Hotel", - tourism: "hotel" - }, - name: "Park Hotel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Parkhotel": { - tags: { - name: "Parkhotel", - tourism: "hotel" - }, - name: "Parkhotel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Premier Inn": { - tags: { - name: "Premier Inn", - tourism: "hotel" - }, - name: "Premier Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Première Classe": { - tags: { - name: "Première Classe", - tourism: "hotel" - }, - name: "Première Classe", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Quality Inn": { - tags: { - name: "Quality Inn", - tourism: "hotel" - }, - name: "Quality Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Quality Inn & Suites": { - tags: { - name: "Quality Inn & Suites", - tourism: "hotel" - }, - name: "Quality Inn & Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Ramada": { - tags: { - name: "Ramada", - tourism: "hotel" - }, - name: "Ramada", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Residence Inn": { - tags: { - name: "Residence Inn", - tourism: "hotel" - }, - name: "Residence Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Royal Hotel": { - tags: { - name: "Royal Hotel", - tourism: "hotel" - }, - name: "Royal Hotel", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Sheraton": { - tags: { - name: "Sheraton", - tourism: "hotel" - }, - name: "Sheraton", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Sleep Inn": { - tags: { - name: "Sleep Inn", - tourism: "hotel" - }, - name: "Sleep Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Staybridge Suites": { - tags: { - name: "Staybridge Suites", - tourism: "hotel" - }, - name: "Staybridge Suites", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Super 8": { - tags: { - name: "Super 8", - tourism: "hotel" - }, - name: "Super 8", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Travelodge": { - tags: { - name: "Travelodge", - tourism: "hotel" - }, - name: "Travelodge", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/Гостиница": { - tags: { - name: "Гостиница", - tourism: "hotel" - }, - name: "Гостиница", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/hotel/東横イン": { - tags: { - name: "東横イン", - tourism: "hotel" - }, - name: "東横イン", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "brand", - "operator", - "address", - "building_area", - "smoking", - "stars", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/motel/Budget Inn": { - tags: { - name: "Budget Inn", - tourism: "motel" - }, - name: "Budget Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/motel/Econo Lodge": { - tags: { - name: "Econo Lodge", - tourism: "motel" - }, - name: "Econo Lodge", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/motel/Motel 6": { - tags: { - name: "Motel 6", - tourism: "motel" - }, - name: "Motel 6", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/motel/Rodeway Inn": { - tags: { - name: "Rodeway Inn", - tourism: "motel" - }, - name: "Rodeway Inn", - icon: "lodging", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "smoking", - "rooms", - "internet_access", - "internet_access/fee", - "internet_access/ssid" - ], - suggestion: true - }, - "tourism/museum/Heimatmuseum": { - tags: { - name: "Heimatmuseum", - tourism: "museum" - }, - name: "Heimatmuseum", - icon: "museum", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "tourism/museum/Stadtmuseum": { - tags: { - name: "Stadtmuseum", - tourism: "museum" - }, - name: "Stadtmuseum", - icon: "museum", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "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: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "tourism/museum/Краеведческий музей": { - tags: { - name: "Краеведческий музей", - tourism: "museum" - }, - name: "Краеведческий музей", - icon: "museum", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - }, - "tourism/museum/Музей": { - tags: { - name: "Музей", - tourism: "museum" - }, - name: "Музей", - icon: "museum", - geometry: [ - "point", - "area" - ], - fields: [ - "name", - "operator", - "address", - "building_area", - "opening_hours" - ], - suggestion: true - } - }; - - var defaults = { - area: [ - "category-landuse", - "category-building", - "category-water-area", - "category-natural-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", - "category-natural-line", - "power/line", - "line" - ], - point: [ - "category-natural-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/turning_loop", - "traffic_calming", - "highway/mini_roundabout", - "highway/motorway_junction", - "vertex" - ], - relation: [ - "category-route", - "category-restriction", - "public_transport/stop_area", - "type/boundary", - "type/waterway", - "type/multipolygon", - "type/site", - "relation" - ] - }; - - var categories = { - "category-barrier": { - icon: "roadblock", - geometry: "line", - name: "Barrier Features", - members: [ - "barrier/fence", - "barrier/wall", - "barrier/ditch", - "barrier/gate", - "barrier/hedge", - "barrier/kerb", - "barrier" - ] - }, - "category-building": { - icon: "building", - geometry: "area", - name: "Building Features", - members: [ - "building", - "building/house", - "building/apartments", - "building/retail", - "building/commercial", - "building/industrial", - "building/residential" - ] - }, - "category-golf": { - icon: "golf", - geometry: "area", - name: "Golf Features", - members: [ - "golf/fairway", - "golf/green", - "golf/lateral_water_hazard_area", - "golf/rough", - "golf/bunker", - "golf/tee", - "golf/water_hazard_area" - ] - }, - "category-landuse": { - icon: "landuse", - geometry: "area", - name: "Land Use Features", - members: [ - "landuse/residential", - "landuse/industrial", - "landuse/commercial", - "landuse/retail", - "landuse/farmland", - "landuse/farmyard", - "landuse/forest", - "landuse/meadow", - "landuse/aquaculture", - "landuse/cemetery", - "landuse/military", - "landuse/religious" - ] - }, - "category-natural-area": { - icon: "natural", - geometry: "area", - name: "Natural Features", - members: [ - "natural/water", - "natural/wood", - "natural/scrub", - "natural/wetland", - "natural/grassland", - "natural/heath", - "natural/bare_rock", - "natural/beach", - "natural/cave_entrance", - "natural/glacier" - ] - }, - "category-natural-line": { - icon: "natural", - geometry: "line", - name: "Natural Features", - members: [ - "natural/coastline", - "natural/tree_row" - ] - }, - "category-natural-point": { - icon: "natural", - geometry: "point", - name: "Natural Features", - members: [ - "natural/peak", - "natural/cliff", - "natural/beach", - "natural/cave_entrance" - ] - }, - "category-path": { - icon: "category-path", - geometry: "line", - name: "Path Features", - members: [ - "footway/crosswalk", - "footway/sidewalk", - "highway/steps", - "highway/path", - "highway/footway", - "highway/cycleway", - "highway/bridleway", - "highway/pedestrian_line" - ] - }, - "category-rail": { - icon: "category-rail", - geometry: "line", - name: "Rail Features", - members: [ - "railway/rail", - "railway/subway", - "railway/tram", - "railway/monorail", - "railway/disused", - "railway/abandoned" - ] - }, - "category-restriction": { - icon: "restriction", - geometry: "relation", - name: "Restriction Features", - 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/only_u_turn", - "type/restriction" - ] - }, - "category-road": { - icon: "category-roads", - geometry: "line", - name: "Road Features", - members: [ - "highway/residential", - "highway/motorway", - "highway/trunk", - "highway/primary", - "highway/secondary", - "highway/tertiary", - "highway/living_street", - "highway/unclassified", - "highway/service", - "highway/track", - "highway/motorway_link", - "highway/trunk_link", - "highway/primary_link", - "highway/secondary_link", - "highway/tertiary_link", - "highway/road" - ] - }, - "category-route": { - icon: "route", - geometry: "relation", - name: "Route Features", - members: [ - "type/route/road", - "type/route/bicycle", - "type/route/foot", - "type/route/hiking", - "type/route/horse", - "type/route/piste", - "type/route/bus", - "type/route/train", - "type/route/light_rail", - "type/route/tram", - "type/route/subway", - "type/route/ferry", - "type/route/power", - "type/route/pipeline", - "type/route/detour", - "type/route_master", - "type/route" - ] - }, - "category-water-area": { - icon: "water", - geometry: "area", - name: "Water Features", - members: [ - "natural/water/lake", - "natural/water/pond", - "natural/water/reservoir", - "natural/water" - ] - }, - "category-water-line": { - icon: "category-water", - geometry: "line", - name: "Water Features", - members: [ - "waterway/river", - "waterway/stream", - "waterway/canal", - "waterway/ditch", - "waterway/drain" - ] - } - }; - - var fields = { - access_simple: { - key: "access", - type: "combo", - label: "Allowed Access", - options: [ - "yes", - "permissive", - "private", - "customers", - "no" - ] - }, - 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" - } - } - } - }, - address: { - type: "address", - keys: [ - "addr:block_number", - "addr:city", - "addr:block_number", - "addr:conscriptionnumber", - "addr:county", - "addr:country", - "addr:county", - "addr:district", - "addr:floor", - "addr:hamlet", - "addr:housename", - "addr:housenumber", - "addr:neighbourhood", - "addr:place", - "addr:postcode", - "addr:province", - "addr:quarter", - "addr:state", - "addr:street", - "addr:subdistrict", - "addr:suburb", - "addr:unit" - ], - reference: { - key: "addr" - }, - icon: "address", - universal: true, - label: "Address", - strings: { - placeholders: { - block_number: "Block Number", - "block_number!jp": "Block No.", - city: "City", - "city!jp": "City/Town/Village/Tokyo Special Ward", - "city!vn": "City/Town", - conscriptionnumber: "123", - country: "Country", - county: "County", - "county!jp": "District", - district: "District", - "district!vn": "Arrondissement/Town/District", - floor: "Floor", - hamlet: "Hamlet", - housename: "Housename", - housenumber: "123", - "housenumber!jp": "Building No./Lot No.", - neighbourhood: "Neighbourhood", - "neighbourhood!jp": "Chōme/Aza/Koaza", - place: "Place", - postcode: "Postcode", - province: "Province", - "province!jp": "Prefecture", - quarter: "Quarter", - "quarter!jp": "Ōaza/Machi", - state: "State", - street: "Street", - subdistrict: "Subdistrict", - "subdistrict!vn": "Ward/Commune/Townlet", - suburb: "Suburb", - "suburb!jp": "Ward", - unit: "Unit" - } - } - }, - 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" - }, - agrarian: { - key: "agrarian", - type: "semiCombo", - label: "Products" - }, - amenity: { - key: "amenity", - type: "typeCombo", - label: "Type" - }, - animal_boarding: { - key: "animal_boarding", - type: "semiCombo", - label: "For Animals" - }, - animal_breeding: { - key: "animal_breeding", - type: "semiCombo", - label: "For Animals" - }, - animal_shelter: { - key: "animal_shelter", - type: "semiCombo", - label: "For Animals" - }, - "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" - }, - "bath/open_air": { - key: "bath:open_air", - label: "Open Air", - type: "check" - }, - "bath/sand_bath": { - key: "bath:sand_bath", - label: "Sand Bath", - type: "check" - }, - "bath/type": { - key: "bath:type", - type: "combo", - label: "Specialty", - strings: { - options: { - onsen: "Japanese Onsen", - foot_bath: "Foot Bath", - hot_spring: "Hot Spring" - } - } - }, - beauty: { - key: "beauty", - type: "combo", - label: "Shop 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" - }, - blood_components: { - key: "blood:", - type: "multiCombo", - label: "Blood Components", - strings: { - options: { - whole: "whole blood", - plasma: "plasma", - platelets: "platelets", - stemcells: "stem cell samples" - } - } - }, - board_type: { - key: "board_type", - type: "typeCombo", - label: "Type" - }, - boules: { - key: "boules", - type: "typeCombo", - label: "Type" - }, - boundary: { - key: "boundary", - type: "combo", - label: "Type" - }, - brand: { - key: "brand", - type: "text", - label: "Brand" - }, - brewery: { - key: "brewery", - type: "semiCombo", - label: "Draft Beers" - }, - bridge: { - key: "bridge", - type: "typeCombo", - label: "Type", - placeholder: "Default" - }, - building_area: { - key: "building", - type: "combo", - "default": "yes", - geometry: "area", - label: "Building" - }, - building: { - key: "building", - type: "combo", - label: "Building" - }, - bunker_type: { - key: "bunker_type", - type: "combo", - label: "Type" - }, - cables: { - key: "cables", - type: "number", - label: "Cables", - placeholder: "1, 2, 3..." - }, - "camera/direction": { - key: "camera:direction", - type: "number", - label: "Direction (Degrees Clockwise)", - placeholder: "45, 90, 180, 270" - }, - "camera/mount": { - key: "camera:mount", - type: "combo", - label: "Camera Mount" - }, - "camera/type": { - key: "camera:type", - type: "combo", - label: "Camera Type", - strings: { - options: { - fixed: "Fixed", - panning: "Panning", - dome: "Dome" - } - } - }, - capacity: { - key: "capacity", - type: "number", - label: "Capacity", - placeholder: "50, 100, 200..." - }, - castle_type: { - key: "castle_type", - type: "combo", - label: "Type" - }, - clothes: { - key: "clothes", - type: "semiCombo", - label: "Clothes" - }, - club: { - key: "club", - type: "typeCombo", - label: "Type" - }, - collection_times: { - key: "collection_times", - type: "text", - label: "Collection Times" - }, - comment: { - key: "comment", - type: "textarea", - label: "Changeset Comment", - placeholder: "Brief description of your contributions (required)" - }, - communication_multi: { - key: "communication:", - type: "multiCombo", - label: "Communication Types" - }, - construction: { - key: "construction", - type: "combo", - label: "Type" - }, - "contact/webcam": { - key: "contact:webcam", - type: "url", - icon: "website", - label: "Webcam URL", - placeholder: "http://example.com/" - }, - content: { - key: "content", - type: "combo", - label: "Content" - }, - country: { - key: "country", - type: "combo", - label: "Country" - }, - covered: { - key: "covered", - type: "check", - label: "Covered" - }, - craft: { - key: "craft", - type: "typeCombo", - label: "Type" - }, - "crane/type": { - key: "crane:type", - type: "combo", - label: "Crane Type", - strings: { - options: { - portal_crane: "Portal Crane", - "floor-mounted_crane": "Floor-mounted Crane", - travel_lift: "Travel Lift" - } - } - }, - crop: { - key: "crop", - type: "semiCombo", - label: "Crops" - }, - crossing: { - key: "crossing", - type: "combo", - label: "Type" - }, - cuisine: { - key: "cuisine", - type: "semiCombo", - label: "Cuisines" - }, - currency_multi: { - key: "currency:", - type: "multiCombo", - label: "Currency Types" - }, - cutting: { - key: "cutting", - type: "typeCombo", - label: "Type", - placeholder: "Default" - }, - cycle_network: { - key: "cycle_network", - type: "networkCombo", - label: "Network" - }, - 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" - } - } - } - }, - "dance/style": { - key: "dance:style", - type: "semiCombo", - label: "Dance Styles" - }, - date: { - key: "date", - type: "check", - label: "Date" - }, - 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 - }, - devices: { - key: "devices", - type: "number", - label: "Devices", - placeholder: "1, 2, 3..." - }, - diaper: { - key: "diaper", - type: "combo", - label: "Diaper Changing Available", - options: [ - "yes", - "no", - "room", - "1", - "2", - "3", - "4", - "5" - ] - }, - direction_cardinal: { - 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" - } - } - }, - direction_clock: { - key: "direction", - type: "combo", - label: "Direction", - strings: { - options: { - clockwise: "Clockwise", - anticlockwise: "Counterclockwise" - } - } - }, - direction_vertex: { - key: "direction", - type: "combo", - label: "Direction", - strings: { - options: { - forward: "Forward", - backward: "Backward", - both: "Both / All" - } - } - }, - direction: { - key: "direction", - type: "number", - label: "Direction (Degrees Clockwise)", - placeholder: "45, 90, 180, 270" - }, - dispensing: { - key: "dispensing", - type: "check", - label: "Dispenses Prescriptions", - "default": "yes" - }, - display: { - key: "display", - type: "combo", - label: "Display", - options: [ - "analog", - "digital", - "sundial", - "unorthodox" - ] - }, - distance: { - key: "distance", - type: "text", - label: "Total Distance" - }, - dock: { - key: "dock", - type: "combo", - label: "Type" - }, - drive_through: { - key: "drive_through", - type: "check", - label: "Drive-Through" - }, - duration: { - key: "duration", - type: "text", - label: "Duration", - placeholder: "00:00" - }, - 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" - }, - email: { - key: "email", - type: "email", - placeholder: "example@example.com", - universal: true, - label: "Email" - }, - embankment: { - key: "embankment", - type: "typeCombo", - label: "Type", - placeholder: "Default" - }, - emergency: { - key: "emergency", - type: "check", - label: "Emergency" - }, - entrance: { - key: "entrance", - type: "typeCombo", - label: "Type" - }, - except: { - key: "except", - type: "combo", - label: "Exceptions" - }, - faces: { - key: "faces", - type: "number", - label: "Faces" - }, - fax: { - key: "fax", - type: "tel", - label: "Fax", - universal: true, - placeholder: "+31 42 123 4567" - }, - fee: { - key: "fee", - type: "check", - label: "Fee" - }, - fence_type: { - key: "fence_type", - type: "combo", - label: "Type" - }, - "fire_hydrant/position": { - key: "fire_hydrant:position", - type: "combo", - label: "Position", - strings: { - options: { - lane: "Lane", - parking_lot: "Parking Lot", - sidewalk: "Sidewalk", - green: "Green" - } - } - }, - "fire_hydrant/type": { - key: "fire_hydrant:type", - type: "combo", - label: "Type", - strings: { - options: { - pillar: "Pillar/Aboveground", - underground: "Underground", - wall: "Wall", - pond: "Pond" - } - } - }, - fitness_station: { - key: "fitness_station", - type: "typeCombo", - label: "Equipment Type" - }, - fixme: { - key: "fixme", - type: "textarea", - label: "Fix Me", - universal: true - }, - ford: { - key: "ford", - type: "typeCombo", - label: "Type", - placeholder: "Default" - }, - frequency: { - key: "frequency", - type: "combo", - label: "Operating Frequency" - }, - fuel_multi: { - key: "fuel:", - type: "multiCombo", - label: "Fuel Types" - }, - fuel: { - key: "fuel", - type: "combo", - label: "Fuel" - }, - 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/output/electricity": { - key: "generator:output:electricity", - type: "text", - label: "Power Output", - placeholder: "50 MW, 100 MW, 200 MW..." - }, - "generator/source": { - key: "generator:source", - type: "combo", - label: "Source" - }, - "generator/type": { - key: "generator:type", - type: "combo", - label: "Type" - }, - government: { - key: "government", - type: "typeCombo", - label: "Type" - }, - grape_variety: { - key: "grape_variety", - type: "semiCombo", - label: "Grape Varieties" - }, - handicap: { - key: "handicap", - type: "number", - label: "Handicap", - placeholder: "1-18" - }, - handrail: { - key: "handrail", - type: "check", - label: "Handrail" - }, - hashtags: { - key: "hashtags", - type: "semiCombo", - label: "Suggested Hashtags", - placeholder: "#example" - }, - healthcare: { - key: "healthcare", - type: "typeCombo", - label: "Type" - }, - "healthcare/speciality": { - key: "healthcare:speciality", - type: "semiCombo", - reference: { - key: "healthcare" - }, - label: "Specialties" - }, - height: { - key: "height", - type: "number", - label: "Height (Meters)" - }, - highway: { - key: "highway", - type: "typeCombo", - label: "Type" - }, - historic: { - key: "historic", - type: "typeCombo", - label: "Type" - }, - "historic/civilization": { - key: "historic:civilization", - type: "combo", - label: "Historic Civilization" - }, - hoops: { - key: "hoops", - type: "number", - label: "Hoops", - placeholder: "1, 2, 4..." - }, - horse_dressage: { - key: "sport", - type: "check", - label: "Dressage Riding", - strings: { - options: { - "undefined": "No", - equestrian: "Yes" - } - }, - reference: { - key: "sport", - value: "equestrian" - } - }, - horse_riding: { - key: "leisure", - type: "check", - label: "Horseback Riding", - strings: { - options: { - "undefined": "No", - horse_riding: "Yes" - } - }, - reference: { - key: "leisure", - value: "horse_riding" - } - }, - horse_scale: { - key: "horse_scale", - type: "combo", - label: "Horseback Riding Difficulty", - placeholder: "Difficult, Dangerous...", - strings: { - options: { - common: "Easy: No problems or difficulties. (default)", - demanding: "Use with caution: Uneven way, occasional difficult passages.", - difficult: "Difficult: Way narrow and exposed. May contain obstacles to step over and narrow passages.", - critical: "Borderline: Passable only for experienced riders and horses. Major obstacles. Bridges should be examined carefully.", - dangerous: "Dangerous: Passable only for very experienced riders and horses and only in good weather. Dismount.", - impossible: "Impassable: Way or bridge not passable for horses. Too narrow, insuffient support, obstacles like ladders. Danger of life." - } - } - }, - horse_stables: { - key: "amenity", - type: "check", - label: "Riding Stable", - strings: { - options: { - "undefined": "No", - stables: "Yes" - } - }, - reference: { - key: "amenity", - value: "stables" - } - }, - iata: { - key: "iata", - type: "text", - label: "IATA" - }, - icao: { - key: "icao", - type: "text", - label: "ICAO" - }, - incline_steps: { - key: "incline", - type: "combo", - label: "Incline", - strings: { - options: { - up: "Up", - down: "Down" - } - } - }, - incline: { - key: "incline", - type: "combo", - label: "Incline" - }, - indoor: { - key: "indoor", - type: "check", - label: "Indoor" - }, - industrial: { - key: "industrial", - type: "combo", - label: "Type" - }, - information: { - key: "information", - type: "typeCombo", - label: "Type" - }, - inscription: { - key: "inscription", - type: "textarea", - label: "Inscription" - }, - intermittent: { - key: "intermittent", - type: "check", - label: "Intermittent" - }, - 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" - }, - "internet_access/ssid": { - key: "internet_access:ssid", - type: "text", - label: "SSID (Network Name)" - }, - kerb: { - key: "kerb", - type: "combo", - label: "Curb" - }, - label: { - key: "label", - type: "textarea", - label: "Label" - }, - 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: "number", - label: "Layer", - placeholder: "0" - }, - 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_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_type_singular: { - key: "leaf_type", - type: "combo", - label: "Leaf Type", - strings: { - options: { - broadleaved: "Broadleaved", - needleleaved: "Needleleaved", - leafless: "Leafless" - } - } - }, - leaf_type: { - key: "leaf_type", - type: "combo", - label: "Leaf Type", - strings: { - options: { - broadleaved: "Broadleaved", - needleleaved: "Needleleaved", - mixed: "Mixed", - 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" - }, - manhole: { - key: "manhole", - type: "typeCombo", - label: "Type" - }, - map_size: { - key: "map_size", - type: "typeCombo", - label: "Coverage" - }, - map_type: { - key: "map_type", - type: "typeCombo", - label: "Type" - }, - maxheight: { - key: "maxheight", - type: "combo", - label: "Max Height", - placeholder: "4, 4.5, 5, 14'0\", 14'6\", 15'0\"", - snake_case: false - }, - maxspeed: { - key: "maxspeed", - type: "maxspeed", - label: "Speed Limit", - placeholder: "40, 50, 60..." - }, - "maxspeed/advisory": { - key: "maxspeed:advisory", - type: "maxspeed", - label: "Advisory 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 - }, - maxweight: { - key: "maxweight", - type: "combo", - label: "Max Weight", - snake_case: false - }, - memorial: { - key: "memorial", - type: "typeCombo", - label: "Type" - }, - monitoring_multi: { - key: "monitoring:", - type: "multiCombo", - label: "Monitoring" - }, - "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", - universal: true, - placeholder: "Common name (if any)" - }, - natural: { - key: "natural", - type: "typeCombo", - label: "Natural" - }, - network_bicycle: { - key: "network", - type: "combo", - label: "Network Type", - placeholder: "Local, Regional, National, International", - strings: { - options: { - lcn: "Local", - rcn: "Regional", - ncn: "National", - icn: "International" - } - } - }, - network_foot: { - key: "network", - type: "combo", - label: "Network Type", - placeholder: "Local, Regional, National, International", - strings: { - options: { - lwn: "Local", - rwn: "Regional", - nwn: "National", - iwn: "International" - } - } - }, - network_horse: { - key: "network", - type: "combo", - label: "Network Type", - placeholder: "Local, Regional, National, International", - strings: { - options: { - lhn: "Local", - rhn: "Regional", - nhn: "National", - ihn: "International" - } - } - }, - network_road: { - key: "network", - type: "networkCombo", - label: "Network" - }, - 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_yes: { - key: "oneway", - type: "onewayCheck", - label: "One Way", - strings: { - options: { - "undefined": "Assumed to be Yes", - yes: "Yes", - no: "No", - reversible: "Reversible", - alternating: "Alternating" - } - } - }, - oneway: { - key: "oneway", - type: "onewayCheck", - label: "One Way", - strings: { - options: { - "undefined": "Assumed to be No", - yes: "Yes", - no: "No", - reversible: "Reversible", - alternating: "Alternating" - } - } - }, - opening_hours: { - key: "opening_hours", - type: "combo", - label: "Hours", - snake_case: false - }, - operator: { - key: "operator", - type: "text", - label: "Operator" - }, - outdoor_seating: { - key: "outdoor_seating", - type: "check", - label: "Outdoor Seating" - }, - 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", - universal: true - }, - phases: { - key: "phases", - type: "number", - label: "Phases", - placeholder: "1, 2, 3..." - }, - phone: { - key: "phone", - type: "tel", - icon: "telephone", - universal: true, - label: "Telephone", - 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" - }, - plant: { - key: "plant", - type: "combo", - label: "Plant" - }, - "plant/output/electricity": { - key: "plant:output:electricity", - type: "text", - label: "Power Output", - placeholder: "500 MW, 1000 MW, 2000 MW..." - }, - "playground/baby": { - key: "baby", - type: "check", - label: "Baby Seat" - }, - "playground/max_age": { - key: "max_age", - type: "number", - label: "Maximum Age" - }, - "playground/min_age": { - key: "min_age", - type: "number", - label: "Minimum Age" - }, - population: { - key: "population", - type: "text", - label: "Population" - }, - power_supply: { - key: "power_supply", - type: "check", - label: "Power Supply" - }, - power: { - key: "power", - type: "typeCombo", - label: "Type" - }, - produce: { - key: "produce", - type: "semiCombo", - label: "Produce" - }, - product: { - key: "product", - type: "semiCombo", - label: "Products" - }, - railway: { - key: "railway", - type: "typeCombo", - label: "Type" - }, - "railway/position": { - key: "railway:position", - type: "text", - placeholder: "Distance to one decimal (123.4)", - label: "Milestone Position" - }, - "railway/signal/direction": { - key: "railway:signal:direction", - type: "combo", - label: "Direction", - strings: { - options: { - forward: "Forward", - backward: "Backward", - both: "Both / All" - } - } - }, - rating: { - key: "rating", - type: "combo", - label: "Power Rating", - snake_case: false - }, - recycling_accepts: { - key: "recycling:", - type: "multiCombo", - label: "Accepts" - }, - ref_aeroway_gate: { - key: "ref", - type: "text", - label: "Gate Number" - }, - ref_golf_hole: { - key: "ref", - type: "text", - label: "Hole Number", - placeholder: "1-18" - }, - ref_highway_junction: { - key: "ref", - type: "text", - label: "Junction Number" - }, - ref_platform: { - key: "ref", - type: "text", - label: "Platform Number" - }, - ref_road_number: { - key: "ref", - type: "text", - label: "Road Number" - }, - ref_route: { - key: "ref", - type: "text", - label: "Route Number" - }, - ref_runway: { - key: "ref", - type: "text", - label: "Runway Number", - placeholder: "e.g. 01L/19R" - }, - ref_stop_position: { - key: "ref", - type: "text", - label: "Stop Number" - }, - ref_taxiway: { - key: "ref", - type: "text", - label: "Taxiway Name", - placeholder: "e.g. A5" - }, - ref: { - key: "ref", - type: "text", - label: "Reference Code" - }, - "ref/isil": { - key: "ref:isil", - type: "text", - label: "ISIL Code" - }, - 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_master: { - key: "route_master", - type: "combo", - label: "Type" - }, - route: { - key: "route", - 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" - }, - second_hand: { - key: "second_hand", - type: "combo", - label: "Sells Used", - placeholder: "Yes, No, Only", - strings: { - options: { - yes: "Yes", - no: "No", - only: "Only" - } - } - }, - service_rail: { - key: "service", - type: "combo", - label: "Service Type", - strings: { - options: { - spur: "Spur", - yard: "Yard", - siding: "Siding", - crossover: "Crossover" - } - } - }, - service_times: { - key: "service_times", - type: "text", - label: "Service Times" - }, - service: { - key: "service", - type: "combo", - label: "Type", - options: [ - "parking_aisle", - "driveway", - "alley", - "emergency_access", - "drive-through" - ] - }, - "service/bicycle": { - key: "service:bicycle:", - type: "multiCombo", - label: "Services" - }, - "service/vehicle": { - key: "service:vehicle:", - type: "multiCombo", - label: "Services" - }, - shelter_type: { - key: "shelter_type", - type: "combo", - label: "Type" - }, - shelter: { - key: "shelter", - type: "check", - label: "Shelter" - }, - 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: "combo", - label: "People Served" - }, - social_facility: { - key: "social_facility", - type: "combo", - label: "Type" - }, - source: { - key: "source", - type: "semiCombo", - icon: "source", - universal: true, - label: "Sources", - snake_case: false, - caseSensitive: true, - options: [ - "survey", - "local knowledge", - "gps", - "aerial imagery", - "streetlevel imagery" - ] - }, - sport_ice: { - key: "sport", - type: "semiCombo", - label: "Sports", - options: [ - "skating", - "hockey", - "multi", - "curling", - "ice_stock" - ] - }, - sport_racing_motor: { - key: "sport", - type: "semiCombo", - label: "Sports", - options: [ - "motor", - "karting", - "motocross" - ] - }, - sport_racing_nonmotor: { - key: "sport", - type: "semiCombo", - label: "Sports", - options: [ - "bmx", - "cycling", - "dog_racing", - "horse_racing", - "running" - ] - }, - sport: { - key: "sport", - type: "semiCombo", - label: "Sports" - }, - stars: { - key: "stars", - type: "number", - label: "Stars" - }, - start_date: { - key: "start_date", - type: "text", - universal: true, - label: "Start Date" - }, - step_count: { - key: "step_count", - type: "number", - label: "Number of Steps" - }, - stop: { - key: "stop", - type: "combo", - label: "Stop Type", - strings: { - options: { - all: "All Ways", - minor: "Minor Road" - } - } - }, - structure_waterway: { - type: "structureRadio", - keys: [ - "tunnel" - ], - label: "Structure", - placeholder: "Unknown", - strings: { - options: { - tunnel: "Tunnel" - } - } - }, - structure: { - type: "structureRadio", - 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" - }, - substance: { - key: "substance", - type: "combo", - label: "Substance" - }, - substation: { - key: "substation", - type: "typeCombo", - label: "Type" - }, - supervised: { - key: "supervised", - type: "check", - label: "Supervised" - }, - support: { - key: "support", - type: "combo", - label: "Support" - }, - surface: { - key: "surface", - type: "combo", - label: "Surface" - }, - surveillance: { - key: "surveillance", - type: "combo", - label: "Surveillance Kind" - }, - "surveillance/type": { - key: "surveillance:type", - type: "combo", - label: "Surveillance Type", - strings: { - options: { - camera: "Camera", - guard: "Guard", - ALPR: "Automatic License Plate Reader" - } - } - }, - "surveillance/zone": { - key: "surveillance:zone", - type: "combo", - label: "Surveillance Zone" - }, - "switch": { - key: "switch", - type: "combo", - label: "Type", - strings: { - options: { - mechanical: "Mechanical", - circuit_breaker: "Circuit Breaker", - disconnector: "Disconnector", - earthing: "Earthing" - } - } - }, - 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" - } - } - }, - toll: { - key: "toll", - type: "check", - label: "Toll" - }, - tomb: { - key: "tomb", - type: "typeCombo", - label: "Type" - }, - tourism_attraction: { - key: "tourism", - "default": "attraction", - type: "typeCombo", - universal: true, - label: "Tourism" - }, - tourism: { - key: "tourism", - type: "typeCombo", - label: "Type" - }, - "tower/construction": { - key: "tower:construction", - type: "combo", - label: "Construction", - placeholder: "Guyed, Lattice, Concealed, ..." - }, - "tower/type": { - key: "tower:type", - type: "combo", - label: "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" - } - } - }, - trade: { - key: "trade", - type: "typeCombo", - label: "Type" - }, - traffic_calming: { - key: "traffic_calming", - type: "typeCombo", - label: "Type" - }, - traffic_signals: { - key: "traffic_signals", - type: "combo", - label: "Type", - "default": "signal" - }, - "traffic_signals/direction": { - key: "traffic_signals:direction", - type: "combo", - label: "Direction", - strings: { - options: { - forward: "Forward", - backward: "Backward", - both: "Both / All" - } - } - }, - 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" - } - } - }, - transformer: { - key: "transformer", - type: "combo", - label: "Type", - strings: { - options: { - distribution: "Distribution", - generator: "Generator", - converter: "Converter", - traction: "Traction", - auto: "Autotransformer", - phase_angle_regulator: "Phase Angle Regulator", - auxiliary: "Auxiliary", - yes: "Unknown" - } - } - }, - trees: { - key: "trees", - type: "semiCombo", - label: "Trees" - }, - tunnel: { - key: "tunnel", - type: "typeCombo", - label: "Type", - placeholder: "Default" - }, - usage_rail: { - key: "usage", - type: "combo", - label: "Usage Type", - strings: { - options: { - main: "Main", - branch: "Branch", - industrial: "Industrial", - military: "Military", - test: "Test", - tourism: "Tourism" - } - } - }, - vending: { - key: "vending", - type: "semiCombo", - label: "Types of Goods" - }, - visibility: { - key: "visibility", - type: "combo", - label: "Visibility", - strings: { - options: { - house: "Up to 5m (16ft)", - street: "5 to 20m (16 to 65ft)", - area: "Over 20m (65ft)" - } - } - }, - "volcano/status": { - key: "volcano:status", - type: "combo", - label: "Volcano Status", - strings: { - options: { - active: "Active", - dormant: "Dormant", - extinct: "Extinct" - } - } - }, - "volcano/type": { - key: "volcano:type", - type: "combo", - label: "Volcano Type", - strings: { - options: { - stratovolcano: "Stratovolcano", - shield: "Shield", - scoria: "Scoria" - } - } - }, - voltage: { - key: "voltage", - type: "combo", - label: "Voltage" - }, - "voltage/primary": { - key: "voltage:primary", - type: "combo", - label: "Primary Voltage" - }, - "voltage/secondary": { - key: "voltage:secondary", - type: "combo", - label: "Secondary Voltage" - }, - "voltage/tertiary": { - key: "voltage:tertiary", - type: "combo", - label: "Tertiary Voltage" - }, - wall: { - key: "wall", - type: "combo", - label: "Type" - }, - water_point: { - key: "water_point", - type: "check", - label: "Water Point" - }, - water: { - key: "water", - type: "combo", - label: "Type" - }, - 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" - }, - wholesale: { - key: "wholesale", - type: "typeCombo", - label: "Wholesale" - }, - width: { - key: "width", - type: "number", - label: "Width (Meters)" - }, - wikipedia: { - key: "wikipedia", - keys: [ - "wikipedia", - "wikidata" - ], - type: "wikipedia", - icon: "wikipedia", - universal: true, - label: "Wikipedia" - }, - windings: { - key: "windings", - type: "number", - label: "Windings", - placeholder: "1, 2, 3..." - }, - "windings/configuration": { - key: "windings:configuration", - type: "combo", - label: "Windings Configuration", - strings: { - options: { - star: "Star / Wye", - delta: "Delta", - "open-delta": "Open Delta", - zigzag: "Zig Zag", - open: "Open", - scott: "Scott", - leblanc: "Leblanc" - } - } - } - }; - - var all = [ - "aerialway", - "airfield", - "airport", - "alcohol-shop", - "america-football", - "amusement-park", - "aquarium", - "art-gallery", - "attraction", - "bakery", - "bank", - "bar", - "barrier", - "baseball", - "basketball", - "bbq", - "beer", - "bicycle", - "bicycle-share", - "blood-bank", - "buddhism", - "building", - "building-alt1", - "bus", - "cafe", - "campsite", - "car", - "castle", - "cemetery", - "cinema", - "circle", - "circle-stroked", - "city", - "clothing-store", - "college", - "commercial", - "cricket", - "cross", - "dam", - "danger", - "defibrillator", - "dentist", - "doctor", - "dog-park", - "drinking-water", - "embassy", - "emergency-phone", - "entrance", - "entrance-alt1", - "farm", - "fast-food", - "fence", - "ferry", - "fire-station", - "florist", - "fuel", - "gaming", - "garden", - "garden-center", - "gift", - "golf", - "grocery", - "hairdresser", - "harbor", - "heart", - "heliport", - "home", - "horse-riding", - "hospital", - "ice-cream", - "industry", - "information", - "karaoke", - "landmark", - "landuse", - "laundry", - "library", - "lighthouse", - "lodging", - "logging", - "marker", - "marker-stroked", - "mobile-phone", - "monument", - "mountain", - "museum", - "music", - "natural", - "park", - "park-alt1", - "parking", - "parking-garage", - "pharmacy", - "picnic-site", - "pitch", - "place-of-worship", - "playground", - "police", - "post", - "prison", - "rail", - "rail-light", - "rail-metro", - "ranger-station", - "recycling", - "religious-christian", - "religious-jewish", - "religious-muslim", - "residential-community", - "restaurant", - "roadblock", - "rocket", - "school", - "scooter", - "shelter", - "shop", - "skiing", - "slaughterhouse", - "snowmobile", - "soccer", - "square", - "square-stroked", - "stadium", - "star", - "star-stroked", - "suitcase", - "sushi", - "swimming", - "teahouse", - "telephone", - "tennis", - "theatre", - "toilet", - "town", - "town-hall", - "triangle", - "triangle-stroked", - "veterinary", - "village", - "volcano", - "warehouse", - "waste-basket", - "water", - "wetland", - "wheelchair", - "zoo" - ]; - var all$1 = { - all: all - }; - - var all$2 = /*#__PURE__*/Object.freeze({ - all: all, - default: all$1 - }); - - var Airport = [ - "airfield", - "airport", - "heliport", - "rocket" - ]; - var Dining = [ - "bakery", - "bar", - "beer", - "cafe", - "fast-food", - "ice-cream", - "restaurant" - ]; - var Education = [ - "college", - "school" - ]; - var General = [ - "alcohol-shop", - "amusement-park", - "aquarium", - "art-gallery", - "attraction", - "bank", - "bicycle", - "bicycle-share", - "car", - "castle", - "cinema", - "circle", - "circle-stroked", - "clothing-store", - "drinking-water", - "embassy", - "fire-station", - "fuel", - "grocery", - "harbor", - "information", - "laundry", - "library", - "lodging", - "marker", - "monument", - "museum", - "music", - "place-of-worship", - "police", - "post", - "prison", - "religious-christian", - "religious-jewish", - "religious-muslim", - "shop", - "stadium", - "star", - "suitcase", - "swimming", - "theatre", - "toilet", - "town-hall", - "triangle", - "triangle-stroked", - "veterinary" - ]; - var Health = [ - "dentist", - "doctor", - "hospital", - "pharmacy" - ]; - var Outdoors = [ - "campsite", - "cemetery", - "dog-park", - "garden", - "golf", - "park", - "picnic-site", - "playground", - "zoo" - ]; - var Transit = [ - "bus", - "ferry" - ]; - var streets = { - Airport: Airport, - "Mountain peak": [ - "mountain", - "volcano" - ], - Dining: Dining, - Education: Education, - General: General, - Health: Health, - Outdoors: Outdoors, - Transit: Transit, - "Rail station": [ - "entrance", - "rail", - "rail-light", - "rail-metro" - ] - }; - - var streets$1 = /*#__PURE__*/Object.freeze({ - Airport: Airport, - Dining: Dining, - Education: Education, - General: General, - Health: Health, - Outdoors: Outdoors, - Transit: Transit, - default: streets - }); - - var require$$0$1 = ( all$2 && all$1 ) || all$2; - - var require$$1$1 = ( streets$1 && streets ) || streets$1; - - var maki = { - layouts: { - all: require$$0$1, - streets: require$$1$1 - } - }; - - var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; - - function createCommonjsModule(fn, module) { - return module = { exports: {} }, fn(module, module.exports), module.exports; - } - - var quickselect = createCommonjsModule(function (module, exports) { - (function (global, factory) { - module.exports = factory(); - }(commonjsGlobal, (function () { - function quickselect(arr, k, left, right, compare) { - quickselectStep(arr, k, left || 0, right || (arr.length - 1), compare || defaultCompare); - } - - function quickselectStep(arr, k, left, right, compare) { - - while (right > left) { - if (right - left > 600) { - var n = right - left + 1; - var m = k - left + 1; - var z = Math.log(n); - var s = 0.5 * Math.exp(2 * z / 3); - var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); - var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); - var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); - quickselectStep(arr, k, newLeft, newRight, compare); - } - - var t = arr[k]; - var i = left; - var j = right; - - swap(arr, left, k); - if (compare(arr[right], t) > 0) swap(arr, left, right); - - while (i < j) { - swap(arr, i, j); - i++; - j--; - while (compare(arr[i], t) < 0) i++; - while (compare(arr[j], t) > 0) j--; - } - - if (compare(arr[left], t) === 0) swap(arr, left, j); - else { - j++; - swap(arr, j, right); - } - - if (j <= k) left = j + 1; - if (k <= j) right = j - 1; - } - } - - function swap(arr, i, j) { - var tmp = arr[i]; - arr[i] = arr[j]; - arr[j] = tmp; - } - - function defaultCompare(a, b) { - return a < b ? -1 : a > b ? 1 : 0; - } - - return quickselect; - - }))); - }); - - var rbush_1 = rbush; - var default_1 = rbush; - - - - function rbush(maxEntries, format) { - if (!(this instanceof rbush)) return new rbush(maxEntries, format); - - // max entries in a node is 9 by default; min node fill is 40% for best performance - this._maxEntries = Math.max(4, maxEntries || 9); - this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4)); - - if (format) { - this._initFormat(format); - } - - this.clear(); - } - - rbush.prototype = { - - all: function () { - return this._all(this.data, []); - }, - - search: function (bbox) { - - var node = this.data, - result = [], - toBBox = this.toBBox; - - if (!intersects$1(bbox, node)) return result; - - var nodesToSearch = [], - i, len, child, childBBox; - - while (node) { - for (i = 0, len = node.children.length; i < len; i++) { - - child = node.children[i]; - childBBox = node.leaf ? toBBox(child) : child; - - if (intersects$1(bbox, childBBox)) { - if (node.leaf) result.push(child); - else if (contains$2(bbox, childBBox)) this._all(child, result); - else nodesToSearch.push(child); - } - } - node = nodesToSearch.pop(); - } - - return result; - }, - - collides: function (bbox) { - - var node = this.data, - toBBox = this.toBBox; - - if (!intersects$1(bbox, node)) return false; - - var nodesToSearch = [], - i, len, child, childBBox; - - while (node) { - for (i = 0, len = node.children.length; i < len; i++) { - - child = node.children[i]; - childBBox = node.leaf ? toBBox(child) : child; - - if (intersects$1(bbox, childBBox)) { - if (node.leaf || contains$2(bbox, childBBox)) return true; - nodesToSearch.push(child); - } - } - node = nodesToSearch.pop(); - } - - return false; - }, - - load: function (data) { - if (!(data && data.length)) return this; - - if (data.length < this._minEntries) { - for (var i = 0, len = data.length; i < len; i++) { - this.insert(data[i]); - } - return this; - } - - // recursively build the tree with the given data from scratch using OMT algorithm - var node = this._build(data.slice(), 0, data.length - 1, 0); - - if (!this.data.children.length) { - // save as is if tree is empty - this.data = node; - - } else if (this.data.height === node.height) { - // split root if trees have the same height - this._splitRoot(this.data, node); - - } else { - if (this.data.height < node.height) { - // swap trees if inserted one is bigger - var tmpNode = this.data; - this.data = node; - node = tmpNode; - } - - // insert the small tree into the large tree at appropriate level - this._insert(node, this.data.height - node.height - 1, true); - } - - return this; - }, - - insert: function (item) { - if (item) this._insert(item, this.data.height - 1); - return this; - }, - - clear: function () { - this.data = createNode([]); - return this; - }, - - remove: function (item, equalsFn) { - if (!item) return this; - - var node = this.data, - bbox = this.toBBox(item), - path = [], - indexes = [], - i, parent, index, goingUp; - - // depth-first iterative tree traversal - while (node || path.length) { - - if (!node) { // go up - node = path.pop(); - parent = path[path.length - 1]; - i = indexes.pop(); - goingUp = true; - } - - if (node.leaf) { // check current node - index = findItem(item, node.children, equalsFn); - - if (index !== -1) { - // item found, remove the item and condense tree upwards - node.children.splice(index, 1); - path.push(node); - this._condense(path); - return this; - } - } - - if (!goingUp && !node.leaf && contains$2(node, bbox)) { // go down - path.push(node); - indexes.push(i); - i = 0; - parent = node; - node = node.children[0]; - - } else if (parent) { // go right - i++; - node = parent.children[i]; - goingUp = false; - - } else node = null; // nothing found - } - - return this; - }, - - toBBox: function (item) { return item; }, - - compareMinX: compareNodeMinX, - compareMinY: compareNodeMinY, - - toJSON: function () { return this.data; }, - - fromJSON: function (data) { - this.data = data; - return this; - }, - - _all: function (node, result) { - var nodesToSearch = []; - while (node) { - if (node.leaf) result.push.apply(result, node.children); - else nodesToSearch.push.apply(nodesToSearch, node.children); - - node = nodesToSearch.pop(); - } - return result; - }, - - _build: function (items, left, right, height) { - - var N = right - left + 1, - M = this._maxEntries, - node; - - if (N <= M) { - // reached leaf level; return leaf - node = createNode(items.slice(left, right + 1)); - calcBBox(node, this.toBBox); - return node; - } - - if (!height) { - // target height of the bulk-loaded tree - height = Math.ceil(Math.log(N) / Math.log(M)); - - // target number of root entries to maximize storage utilization - M = Math.ceil(N / Math.pow(M, height - 1)); - } - - node = createNode([]); - node.leaf = false; - node.height = height; - - // split the items into M mostly square tiles - - var N2 = Math.ceil(N / M), - N1 = N2 * Math.ceil(Math.sqrt(M)), - i, j, right2, right3; - - multiSelect(items, left, right, N1, this.compareMinX); - - for (i = left; i <= right; i += N1) { - - right2 = Math.min(i + N1 - 1, right); - - multiSelect(items, i, right2, N2, this.compareMinY); - - for (j = i; j <= right2; j += N2) { - - right3 = Math.min(j + N2 - 1, right2); - - // pack each entry recursively - node.children.push(this._build(items, j, right3, height - 1)); - } - } - - calcBBox(node, this.toBBox); - - return node; - }, - - _chooseSubtree: function (bbox, node, level, path) { - - var i, len, child, targetNode, area, enlargement, minArea, minEnlargement; - - while (true) { - path.push(node); - - if (node.leaf || path.length - 1 === level) break; - - minArea = minEnlargement = Infinity; - - for (i = 0, len = node.children.length; i < len; i++) { - child = node.children[i]; - area = bboxArea(child); - enlargement = enlargedArea(bbox, child) - area; - - // choose entry with the least area enlargement - if (enlargement < minEnlargement) { - minEnlargement = enlargement; - minArea = area < minArea ? area : minArea; - targetNode = child; - - } else if (enlargement === minEnlargement) { - // otherwise choose one with the smallest area - if (area < minArea) { - minArea = area; - targetNode = child; - } - } - } - - node = targetNode || node.children[0]; - } - - return node; - }, - - _insert: function (item, level, isNode) { - - var toBBox = this.toBBox, - bbox = isNode ? item : toBBox(item), - insertPath = []; - - // find the best node for accommodating the item, saving all nodes along the path too - var node = this._chooseSubtree(bbox, this.data, level, insertPath); - - // put the item into the node - node.children.push(item); - extend$1(node, bbox); - - // split on node overflow; propagate upwards if necessary - while (level >= 0) { - if (insertPath[level].children.length > this._maxEntries) { - this._split(insertPath, level); - level--; - } else break; - } - - // adjust bboxes along the insertion path - this._adjustParentBBoxes(bbox, insertPath, level); - }, - - // split overflowed node into two - _split: function (insertPath, level) { - - var node = insertPath[level], - M = node.children.length, - m = this._minEntries; - - this._chooseSplitAxis(node, m, M); - - var splitIndex = this._chooseSplitIndex(node, m, M); - - var newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex)); - newNode.height = node.height; - newNode.leaf = node.leaf; - - calcBBox(node, this.toBBox); - calcBBox(newNode, this.toBBox); - - if (level) insertPath[level - 1].children.push(newNode); - else this._splitRoot(node, newNode); - }, - - _splitRoot: function (node, newNode) { - // split root node - this.data = createNode([node, newNode]); - this.data.height = node.height + 1; - this.data.leaf = false; - calcBBox(this.data, this.toBBox); - }, - - _chooseSplitIndex: function (node, m, M) { - - var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index; - - minOverlap = minArea = Infinity; - - for (i = m; i <= M - m; i++) { - bbox1 = distBBox(node, 0, i, this.toBBox); - bbox2 = distBBox(node, i, M, this.toBBox); - - overlap = intersectionArea(bbox1, bbox2); - area = bboxArea(bbox1) + bboxArea(bbox2); - - // choose distribution with minimum overlap - if (overlap < minOverlap) { - minOverlap = overlap; - index = i; - - minArea = area < minArea ? area : minArea; - - } else if (overlap === minOverlap) { - // otherwise choose distribution with minimum area - if (area < minArea) { - minArea = area; - index = i; - } - } - } - - return index; - }, - - // sorts node children by the best axis for split - _chooseSplitAxis: function (node, m, M) { - - var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX, - compareMinY = node.leaf ? this.compareMinY : compareNodeMinY, - xMargin = this._allDistMargin(node, m, M, compareMinX), - yMargin = this._allDistMargin(node, m, M, compareMinY); - - // if total distributions margin value is minimal for x, sort by minX, - // otherwise it's already sorted by minY - if (xMargin < yMargin) node.children.sort(compareMinX); - }, - - // total margin of all possible split distributions where each node is at least m full - _allDistMargin: function (node, m, M, compare) { - - node.children.sort(compare); - - var toBBox = this.toBBox, - leftBBox = distBBox(node, 0, m, toBBox), - rightBBox = distBBox(node, M - m, M, toBBox), - margin = bboxMargin(leftBBox) + bboxMargin(rightBBox), - i, child; - - for (i = m; i < M - m; i++) { - child = node.children[i]; - extend$1(leftBBox, node.leaf ? toBBox(child) : child); - margin += bboxMargin(leftBBox); - } - - for (i = M - m - 1; i >= m; i--) { - child = node.children[i]; - extend$1(rightBBox, node.leaf ? toBBox(child) : child); - margin += bboxMargin(rightBBox); - } - - return margin; - }, - - _adjustParentBBoxes: function (bbox, path, level) { - // adjust bboxes along the given tree path - for (var i = level; i >= 0; i--) { - extend$1(path[i], bbox); - } - }, - - _condense: function (path) { - // go through the path, removing empty nodes and updating bboxes - for (var i = path.length - 1, siblings; i >= 0; i--) { - if (path[i].children.length === 0) { - if (i > 0) { - siblings = path[i - 1].children; - siblings.splice(siblings.indexOf(path[i]), 1); - - } else this.clear(); - - } else calcBBox(path[i], this.toBBox); - } - }, - - _initFormat: function (format) { - // data format (minX, minY, maxX, maxY accessors) - - // uses eval-type function compilation instead of just accepting a toBBox function - // because the algorithms are very sensitive to sorting functions performance, - // so they should be dead simple and without inner calls - - var compareArr = ['return a', ' - b', ';']; - - this.compareMinX = new Function('a', 'b', compareArr.join(format[0])); - this.compareMinY = new Function('a', 'b', compareArr.join(format[1])); - - this.toBBox = new Function('a', - 'return {minX: a' + format[0] + - ', minY: a' + format[1] + - ', maxX: a' + format[2] + - ', maxY: a' + format[3] + '};'); - } - }; - - function findItem(item, items, equalsFn) { - if (!equalsFn) return items.indexOf(item); - - for (var i = 0; i < items.length; i++) { - if (equalsFn(item, items[i])) return i; - } - return -1; - } - - // calculate node's bbox from bboxes of its children - function calcBBox(node, toBBox) { - distBBox(node, 0, node.children.length, toBBox, node); - } - - // min bounding rectangle of node children from k to p-1 - function distBBox(node, k, p, toBBox, destNode) { - if (!destNode) destNode = createNode(null); - destNode.minX = Infinity; - destNode.minY = Infinity; - destNode.maxX = -Infinity; - destNode.maxY = -Infinity; - - for (var i = k, child; i < p; i++) { - child = node.children[i]; - extend$1(destNode, node.leaf ? toBBox(child) : child); - } - - return destNode; - } - - function extend$1(a, b) { - a.minX = Math.min(a.minX, b.minX); - a.minY = Math.min(a.minY, b.minY); - a.maxX = Math.max(a.maxX, b.maxX); - a.maxY = Math.max(a.maxY, b.maxY); - return a; - } - - function compareNodeMinX(a, b) { return a.minX - b.minX; } - function compareNodeMinY(a, b) { return a.minY - b.minY; } - - function bboxArea(a) { return (a.maxX - a.minX) * (a.maxY - a.minY); } - function bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); } - - function enlargedArea(a, b) { - return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) * - (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY)); - } - - function intersectionArea(a, b) { - var minX = Math.max(a.minX, b.minX), - minY = Math.max(a.minY, b.minY), - maxX = Math.min(a.maxX, b.maxX), - maxY = Math.min(a.maxY, b.maxY); - - return Math.max(0, maxX - minX) * - Math.max(0, maxY - minY); - } - - function contains$2(a, b) { - return a.minX <= b.minX && - a.minY <= b.minY && - b.maxX <= a.maxX && - b.maxY <= a.maxY; - } - - function intersects$1(a, b) { - return b.minX <= a.maxX && - b.minY <= a.maxY && - b.maxX >= a.minX && - b.maxY >= a.minY; - } - - function createNode(children) { - return { - children: children, - height: 1, - leaf: true, - minX: Infinity, - minY: Infinity, - maxX: -Infinity, - maxY: -Infinity - }; - } - - // sort an array so that items come in groups of n unsorted items, with groups sorted between each other; - // combines selection algorithm with binary divide & conquer approach - - function multiSelect(arr, left, right, n, compare) { - var stack = [left, right], - mid; - - while (stack.length) { - right = stack.pop(); - left = stack.pop(); - - if (right - left <= n) continue; - - mid = left + Math.ceil((right - left) / n / 2) * n; - quickselect(arr, mid, left, right, compare); - - stack.push(left, mid, mid, right); - } - } - rbush_1.default = default_1; - - var lineclip_1 = lineclip; - - lineclip.polyline = lineclip; - lineclip.polygon = polygonclip; - - - // Cohen-Sutherland line clippign algorithm, adapted to efficiently - // handle polylines rather than just segments - - function lineclip(points, bbox, result) { - - var len = points.length, - codeA = bitCode(points[0], bbox), - part = [], - i, a, b, codeB, lastCode; - - if (!result) result = []; - - for (i = 1; i < len; i++) { - a = points[i - 1]; - b = points[i]; - codeB = lastCode = bitCode(b, bbox); - - while (true) { - - if (!(codeA | codeB)) { // accept - part.push(a); - - if (codeB !== lastCode) { // segment went outside - part.push(b); - - if (i < len - 1) { // start a new line - result.push(part); - part = []; - } - } else if (i === len - 1) { - part.push(b); - } - break; - - } else if (codeA & codeB) { // trivial reject - break; - - } else if (codeA) { // a outside, intersect with clip edge - a = intersect$1(a, b, codeA, bbox); - codeA = bitCode(a, bbox); - - } else { // b outside - b = intersect$1(a, b, codeB, bbox); - codeB = bitCode(b, bbox); - } - } - - codeA = lastCode; - } - - if (part.length) result.push(part); - - return result; - } - - // Sutherland-Hodgeman polygon clipping algorithm - - function polygonclip(points, bbox) { - - var result, edge, prev, prevInside, i, p, inside; - - // clip against each side of the clip rectangle - for (edge = 1; edge <= 8; edge *= 2) { - result = []; - prev = points[points.length - 1]; - prevInside = !(bitCode(prev, bbox) & edge); - - for (i = 0; i < points.length; i++) { - p = points[i]; - inside = !(bitCode(p, bbox) & edge); - - // if segment goes through the clip window, add an intersection - if (inside !== prevInside) result.push(intersect$1(prev, p, edge, bbox)); - - if (inside) result.push(p); // add a point if it's inside - - prev = p; - prevInside = inside; - } - - points = result; - - if (!points.length) break; - } - - return result; - } - - // intersect a segment against one of the 4 lines that make up the bbox - - function intersect$1(a, b, edge, bbox) { - return edge & 8 ? [a[0] + (b[0] - a[0]) * (bbox[3] - a[1]) / (b[1] - a[1]), bbox[3]] : // top - edge & 4 ? [a[0] + (b[0] - a[0]) * (bbox[1] - a[1]) / (b[1] - a[1]), bbox[1]] : // bottom - edge & 2 ? [bbox[2], a[1] + (b[1] - a[1]) * (bbox[2] - a[0]) / (b[0] - a[0])] : // right - edge & 1 ? [bbox[0], a[1] + (b[1] - a[1]) * (bbox[0] - a[0]) / (b[0] - a[0])] : // left - null; - } - - // bit code reflects the point position relative to the bbox: - - // left mid right - // top 1001 1000 1010 - // mid 0001 0000 0010 - // bottom 0101 0100 0110 - - function bitCode(p, bbox) { - var code = 0; - - if (p[0] < bbox[0]) code |= 1; // left - else if (p[0] > bbox[2]) code |= 2; // right - - if (p[1] < bbox[1]) code |= 4; // bottom - else if (p[1] > bbox[3]) code |= 8; // top - - return code; - } - - var whichPolygon_1 = whichPolygon; - - function whichPolygon(data) { - var bboxes = []; - for (var i = 0; i < data.features.length; i++) { - var feature = data.features[i]; - var coords = feature.geometry.coordinates; - - if (feature.geometry.type === 'Polygon') { - bboxes.push(treeItem(coords, feature.properties)); - - } else if (feature.geometry.type === 'MultiPolygon') { - for (var j = 0; j < coords.length; j++) { - bboxes.push(treeItem(coords[j], feature.properties)); - } - } - } - - var tree = rbush_1().load(bboxes); - - function query(p, multi) { - var output = [], - result = tree.search({ - minX: p[0], - minY: p[1], - maxX: p[0], - maxY: p[1] - }); - for (var i = 0; i < result.length; i++) { - if (insidePolygon(result[i].coords, p)) { - if (multi) - output.push(result[i].props); - else - return result[i].props; - } - } - return multi && output.length ? output : null; - } - - query.tree = tree; - query.bbox = function queryBBox(bbox) { - var output = []; - var result = tree.search({ - minX: bbox[0], - minY: bbox[1], - maxX: bbox[2], - maxY: bbox[3] - }); - for (var i = 0; i < result.length; i++) { - if (polygonIntersectsBBox(result[i].coords, bbox)) { - output.push(result[i].props); - } - } - return output; - }; - - return query; - } - - function polygonIntersectsBBox(polygon, bbox) { - var bboxCenter = [ - (bbox[0] + bbox[2]) / 2, - (bbox[1] + bbox[3]) / 2 - ]; - if (insidePolygon(polygon, bboxCenter)) return true; - for (var i = 0; i < polygon.length; i++) { - if (lineclip_1(polygon[i], bbox).length > 0) return true; - } - return false; - } - - // ray casting algorithm for detecting if point is in polygon - function insidePolygon(rings, p) { - var inside = false; - for (var i = 0, len = rings.length; i < len; i++) { - var ring = rings[i]; - for (var j = 0, len2 = ring.length, k = len2 - 1; j < len2; k = j++) { - if (rayIntersect(p, ring[j], ring[k])) inside = !inside; - } - } - return inside; - } - - function rayIntersect(p, p1, p2) { - return ((p1[1] > p[1]) !== (p2[1] > p[1])) && (p[0] < (p2[0] - p1[0]) * (p[1] - p1[1]) / (p2[1] - p1[1]) + p1[0]); - } - - function treeItem(coords, props) { - var item = { - minX: Infinity, - minY: Infinity, - maxX: -Infinity, - maxY: -Infinity, - coords: coords, - props: props - }; - - for (var i = 0; i < coords[0].length; i++) { - var p = coords[0][i]; - item.minX = Math.min(item.minX, p[0]); - item.minY = Math.min(item.minY, p[1]); - item.maxX = Math.max(item.maxX, p[0]); - item.maxY = Math.max(item.maxY, p[1]); - } - return item; - } - - var dataFeatureIcons = maki.layouts.all.all; - - var features$4 = values$1(features$2).map(function(feature) { - // workaround for which-polygon - // only supports `properties`, not `id` - // https://github.com/mapbox/which-polygon/pull/6 - feature.properties = { - id: feature.id, - area: d3_geoArea(feature) // also precompute areas - }; - - return feature; - }); - - var data = { - community: { - features: features$2, - resources: resources, - query: whichPolygon_1({ - type: 'FeatureCollection', - features: features$4 - }) - }, - imagery: dataImagery, - presets: { - presets: presets, - defaults: defaults, - categories: categories, - fields: fields - } - }; - - function osmEntity$$1(attrs) { - // For prototypal inheritance. - if (this instanceof osmEntity$$1) return; - - // Create the appropriate subtype. - if (attrs && attrs.type) { - return osmEntity$$1[attrs.type].apply(this, arguments); - } else if (attrs && attrs.id) { - return osmEntity$$1[osmEntity$$1.id.type(attrs.id)].apply(this, arguments); - } - - // Initialize a generic Entity (used only in tests). - return (new osmEntity$$1()).initialize(arguments); - } - - - osmEntity$$1.id = function(type) { - return osmEntity$$1.id.fromOSM(type, osmEntity$$1.id.next[type]--); - }; - - - osmEntity$$1.id.next = { - changeset: -1, node: -1, way: -1, relation: -1 - }; - - - osmEntity$$1.id.fromOSM = function(type, id) { - return type[0] + id; - }; - - - osmEntity$$1.id.toOSM = function(id) { - return id.slice(1); - }; - - - osmEntity$$1.id.type = function(id) { - return { 'c': 'changeset', 'n': 'node', 'w': 'way', 'r': 'relation' }[id[0]]; - }; - - - // A function suitable for use as the second argument to d3.selection#data(). - osmEntity$$1.key = function(entity) { - return entity.id + 'v' + (entity.v || 0); - }; - - - osmEntity$$1.prototype = { - - tags: {}, - - - initialize: function(sources) { - for (var i = 0; i < sources.length; ++i) { - var source = sources[i]; - for (var prop in source) { - if (Object.prototype.hasOwnProperty.call(source, prop)) { - if (source[prop] === undefined) { - delete this[prop]; - } else { - this[prop] = source[prop]; - } - } - } - } - - if (!this.id && this.type) { - this.id = osmEntity$$1.id(this.type); - } - if (!this.hasOwnProperty('visible')) { - this.visible = true; - } - - if (debug) { - Object.freeze(this); - Object.freeze(this.tags); - - if (this.loc) Object.freeze(this.loc); - if (this.nodes) Object.freeze(this.nodes); - if (this.members) Object.freeze(this.members); - } - - return this; - }, - - - copy: function(resolver, copies) { - if (copies[this.id]) - return copies[this.id]; - - var copy = osmEntity$$1(this, {id: undefined, user: undefined, version: undefined}); - copies[this.id] = copy; - - return copy; - }, - - - osmId: function() { - return osmEntity$$1.id.toOSM(this.id); - }, - - - isNew: function() { - return this.osmId() < 0; - }, - - - update: function(attrs) { - return osmEntity$$1(this, attrs, {v: 1 + (this.v || 0)}); - }, - - - mergeTags: function(tags) { - var merged = clone(this.tags), changed = false; - for (var k in tags) { - var t1 = merged[k], - t2 = tags[k]; - if (!t1) { - changed = true; - merged[k] = t2; - } else if (t1 !== t2) { - changed = true; - merged[k] = union(t1.split(/;\s*/), t2.split(/;\s*/)).join(';'); - } - } - return changed ? this.update({tags: merged}) : this; - }, - - - intersects: function(extent, resolver) { - return this.extent(resolver).intersects(extent); - }, - - - isUsed: function(resolver) { - return without(Object.keys(this.tags), 'area').length > 0 || - resolver.parentRelations(this).length > 0; - }, - - - hasInterestingTags: function() { - return keys$1(this.tags).some(osmIsInterestingTag); - }, - - - isHighwayIntersection: function() { - return false; - }, - - isDegenerate: function() { - return true; - }, - - deprecatedTags: function() { - var tags = toPairs(this.tags); - var deprecated = {}; - - dataDeprecated.forEach(function(d) { - var match = toPairs(d.old)[0]; - tags.forEach(function(t) { - if (t[0] === match[0] && - (t[1] === match[1] || match[1] === '*')) { - deprecated[t[0]] = t[1]; - } - }); - }); - - return deprecated; - } - }; - - function geoExtent$$1(min, max) { - if (!(this instanceof geoExtent$$1)) { - return new geoExtent$$1(min, max); - } else if (min instanceof geoExtent$$1) { - return min; - } else if (min && min.length === 2 && min[0].length === 2 && min[1].length === 2) { - this[0] = min[0]; - this[1] = min[1]; - } else { - this[0] = min || [ Infinity, Infinity]; - this[1] = max || min || [-Infinity, -Infinity]; - } - } - - // $FlowFixMe - geoExtent$$1.prototype = new Array(2); - - assignIn(geoExtent$$1.prototype, { - - equals: function (obj) { - return this[0][0] === obj[0][0] && - this[0][1] === obj[0][1] && - this[1][0] === obj[1][0] && - this[1][1] === obj[1][1]; - }, - - - extend: function(obj) { - if (!(obj instanceof geoExtent$$1)) obj = new geoExtent$$1(obj); - return geoExtent$$1( - [Math.min(obj[0][0], this[0][0]), Math.min(obj[0][1], this[0][1])], - [Math.max(obj[1][0], this[1][0]), Math.max(obj[1][1], this[1][1])] - ); - }, - - - _extend: function(extent) { - this[0][0] = Math.min(extent[0][0], this[0][0]); - this[0][1] = Math.min(extent[0][1], this[0][1]); - this[1][0] = Math.max(extent[1][0], this[1][0]); - this[1][1] = Math.max(extent[1][1], this[1][1]); - }, - - - area: function() { - return Math.abs((this[1][0] - this[0][0]) * (this[1][1] - this[0][1])); - }, - - - center: function() { - return [(this[0][0] + this[1][0]) / 2, (this[0][1] + this[1][1]) / 2]; - }, - - - rectangle: function() { - return [this[0][0], this[0][1], this[1][0], this[1][1]]; - }, - - - bbox: function() { - return { minX: this[0][0], minY: this[0][1], maxX: this[1][0], maxY: this[1][1] }; - }, - - - polygon: function() { - return [ - [this[0][0], this[0][1]], - [this[0][0], this[1][1]], - [this[1][0], this[1][1]], - [this[1][0], this[0][1]], - [this[0][0], this[0][1]] - ]; - }, - - - contains: function(obj) { - if (!(obj instanceof geoExtent$$1)) obj = new geoExtent$$1(obj); - return obj[0][0] >= this[0][0] && - obj[0][1] >= this[0][1] && - obj[1][0] <= this[1][0] && - obj[1][1] <= this[1][1]; - }, - - - intersects: function(obj) { - if (!(obj instanceof geoExtent$$1)) obj = new geoExtent$$1(obj); - return obj[0][0] <= this[1][0] && - obj[0][1] <= this[1][1] && - obj[1][0] >= this[0][0] && - obj[1][1] >= this[0][1]; - }, - - - intersection: function(obj) { - if (!this.intersects(obj)) return new geoExtent$$1(); - return new geoExtent$$1( - [Math.max(obj[0][0], this[0][0]), Math.max(obj[0][1], this[0][1])], - [Math.min(obj[1][0], this[1][0]), Math.min(obj[1][1], this[1][1])] - ); - }, - - - percentContainedIn: function(obj) { - if (!(obj instanceof geoExtent$$1)) obj = new geoExtent$$1(obj); - var a1 = this.intersection(obj).area(); - var a2 = this.area(); - - if (a1 === Infinity || a2 === Infinity || a1 === 0 || a2 === 0) { - return 0; - } else { - return a1 / a2; - } - }, - - - padByMeters: function(meters) { - var dLat = geoMetersToLat(meters); - var dLon = geoMetersToLon(meters, this.center()[1]); - return geoExtent$$1( - [this[0][0] - dLon, this[0][1] - dLat], - [this[1][0] + dLon, this[1][1] + dLat] - ); - }, - - - toParam: function() { - return this.rectangle().join(','); - } - - }); - - // constants - var TAU = 2 * Math.PI; - var EQUATORIAL_RADIUS = 6356752.314245179; - var POLAR_RADIUS = 6378137.0; - - - function geoLatToMeters(dLat) { - return dLat * (TAU * POLAR_RADIUS / 360); - } - - - function geoLonToMeters(dLon, atLat) { - return Math.abs(atLat) >= 90 ? 0 : - dLon * (TAU * EQUATORIAL_RADIUS / 360) * Math.abs(Math.cos(atLat * (Math.PI / 180))); - } - - - function geoMetersToLat(m) { - return m / (TAU * POLAR_RADIUS / 360); - } - - - function geoMetersToLon(m, atLat) { - return Math.abs(atLat) >= 90 ? 0 : - m / (TAU * EQUATORIAL_RADIUS / 360) / Math.abs(Math.cos(atLat * (Math.PI / 180))); - } - - - function geoMetersToOffset(meters, tileSize) { - tileSize = tileSize || 256; - return [ - meters[0] * tileSize / (TAU * EQUATORIAL_RADIUS), - -meters[1] * tileSize / (TAU * POLAR_RADIUS) - ]; - } - - - function geoOffsetToMeters(offset, tileSize) { - tileSize = tileSize || 256; - return [ - offset[0] * TAU * EQUATORIAL_RADIUS / tileSize, - -offset[1] * TAU * POLAR_RADIUS / tileSize - ]; - } - - - // Equirectangular approximation of spherical distances on Earth - function geoSphericalDistance(a, b) { - var x = geoLonToMeters(a[0] - b[0], (a[1] + b[1]) / 2); - var y = geoLatToMeters(a[1] - b[1]); - return Math.sqrt((x * x) + (y * y)); - } - - - // scale to zoom - function geoScaleToZoom(k, tileSize) { - tileSize = tileSize || 256; - var log2ts = Math.log(tileSize) * Math.LOG2E; - return Math.log(k * TAU) / Math.LN2 - log2ts; - } - - - // zoom to scale - function geoZoomToScale(z, tileSize) { - tileSize = tileSize || 256; - return tileSize * Math.pow(2, z) / TAU; - } - - /** - * 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 == null ? 0 : array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; - } - - /** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @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` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [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 - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, guard) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, baseIteratee(predicate, 3)); - } - - /** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @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`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * Iteration is stopped once `predicate` returns truthy. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [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 - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.some(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, guard) { - var func = isArray(collection) ? arraySome : baseSome; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, baseIteratee(predicate, 3)); - } - - // vector equals - function geoVecEqual(a, b, epsilon) { - if (epsilon) { - return (Math.abs(a[0] - b[0]) <= epsilon) && (Math.abs(a[1] - b[1]) <= epsilon); - } else { - return (a[0] === b[0]) && (a[1] === b[1]); - } - } - - // vector addition - function geoVecAdd(a, b) { - return [ a[0] + b[0], a[1] + b[1] ]; - } - - // vector subtraction - function geoVecSubtract(a, b) { - return [ a[0] - b[0], a[1] - b[1] ]; - } - - // vector scaling - function geoVecScale(a, mag) { - return [ a[0] * mag, a[1] * mag ]; - } - - // vector rounding (was: geoRoundCoordinates) - function geoVecFloor(a) { - return [ Math.floor(a[0]), Math.floor(a[1]) ]; - } - - // linear interpolation - function geoVecInterp(a, b, t) { - return [ - a[0] + (b[0] - a[0]) * t, - a[1] + (b[1] - a[1]) * t - ]; - } - - // http://jsperf.com/id-dist-optimization - function geoVecLength(a, b) { - var x = a[0] - b[0]; - var y = a[1] - b[1]; - return Math.sqrt((x * x) + (y * y)); - } - - // Return the counterclockwise angle in the range (-pi, pi) - // between the positive X axis and the line intersecting a and b. - function geoVecAngle(a, b) { - return Math.atan2(b[1] - a[1], b[0] - a[0]); - } - - // dot product - function geoVecDot(a, b, origin) { - origin = origin || [0, 0]; - return (a[0] - origin[0]) * (b[0] - origin[0]) + - (a[1] - origin[1]) * (b[1] - origin[1]); - } - - // 2D cross product of OA and OB vectors, returns magnitude of Z vector - // Returns a positive value, if OAB makes a counter-clockwise turn, - // negative for clockwise turn, and zero if the points are collinear. - function geoVecCross(a, b, origin) { - origin = origin || [0, 0]; - return (a[0] - origin[0]) * (b[1] - origin[1]) - - (a[1] - origin[1]) * (b[0] - origin[0]); - } - - // Return the counterclockwise angle in the range (-pi, pi) - // between the positive X axis and the line intersecting a and b. - function geoAngle(a, b, projection) { - return geoVecAngle(projection(a.loc), projection(b.loc)); - } - - function geoEdgeEqual(a, b) { - return (a[0] === b[0] && a[1] === b[1]) || - (a[0] === b[1] && a[1] === b[0]); - } - - // Rotate all points counterclockwise around a pivot point by given angle - function geoRotate(points, angle, around) { - return points.map(function(point) { - var radial = geoVecSubtract(point, around); - return [ - radial[0] * Math.cos(angle) - radial[1] * Math.sin(angle) + around[0], - radial[0] * Math.sin(angle) + radial[1] * Math.cos(angle) + around[1] - ]; - }); - } - - - // Choose the edge with the minimal distance from `point` to its orthogonal - // projection onto that edge, if such a projection exists, or the distance to - // the closest vertex on that edge. Returns an object with the `index` of the - // chosen edge, the chosen `loc` on that edge, and the `distance` to to it. - function geoChooseEdge(nodes, point, projection, activeID) { - var dist = geoVecLength; - var points = nodes.map(function(n) { return projection(n.loc); }); - var ids = nodes.map(function(n) { return n.id; }); - var min = Infinity; - var idx; - var loc; - - for (var i = 0; i < points.length - 1; i++) { - if (ids[i] === activeID || ids[i + 1] === activeID) continue; - - var o = points[i]; - var s = geoVecSubtract(points[i + 1], o); - var v = geoVecSubtract(point, o); - var proj = geoVecDot(v, s) / geoVecDot(s, s); - var p; - - if (proj < 0) { - p = o; - } else if (proj > 1) { - p = points[i + 1]; - } else { - p = [o[0] + proj * s[0], o[1] + proj * s[1]]; - } - - var d = dist(p, point); - if (d < min) { - min = d; - idx = i + 1; - loc = projection.invert(p); - } - } - - if (idx !== undefined) { - return { index: idx, distance: min, loc: loc }; - } else { - return null; - } - } - - - // Test active (dragged or drawing) segments against inactive segments - // This is used to test e.g. multipolygon rings that cross - // `activeNodes` is the ring containing the activeID being dragged. - // `inactiveNodes` is the other ring to test against - function geoHasLineIntersections(activeNodes, inactiveNodes, activeID) { - var actives = []; - var inactives = []; - var j, k, n1, n2, segment; - - // gather active segments (only segments in activeNodes that contain the activeID) - for (j = 0; j < activeNodes.length - 1; j++) { - n1 = activeNodes[j]; - n2 = activeNodes[j+1]; - segment = [n1.loc, n2.loc]; - if (n1.id === activeID || n2.id === activeID) { - actives.push(segment); - } - } - - // gather inactive segments - for (j = 0; j < inactiveNodes.length - 1; j++) { - n1 = inactiveNodes[j]; - n2 = inactiveNodes[j+1]; - segment = [n1.loc, n2.loc]; - inactives.push(segment); - } - - // test - for (j = 0; j < actives.length; j++) { - for (k = 0; k < inactives.length; k++) { - var p = actives[j]; - var q = inactives[k]; - var hit = geoLineIntersection(p, q); - if (hit) { - return true; - } - } - } - - return false; - } - - - // Test active (dragged or drawing) segments against inactive segments - // This is used to test whether a way intersects with itself. - function geoHasSelfIntersections(nodes, activeID) { - var actives = []; - var inactives = []; - var j, k; - - // group active and passive segments along the nodes - for (j = 0; j < nodes.length - 1; j++) { - var n1 = nodes[j]; - var n2 = nodes[j+1]; - var segment = [n1.loc, n2.loc]; - if (n1.id === activeID || n2.id === activeID) { - actives.push(segment); - } else { - inactives.push(segment); - } - } - - // test - for (j = 0; j < actives.length; j++) { - for (k = 0; k < inactives.length; k++) { - var p = actives[j]; - var q = inactives[k]; - // skip if segments share an endpoint - if (geoVecEqual(p[1], q[0]) || geoVecEqual(p[0], q[1]) || - geoVecEqual(p[0], q[0]) || geoVecEqual(p[1], q[1]) ) { - continue; - } - - var hit = geoLineIntersection(p, q); - if (hit) { - var epsilon = 1e-8; - // skip if the hit is at the segment's endpoint - if (geoVecEqual(p[1], hit, epsilon) || geoVecEqual(p[0], hit, epsilon) || - geoVecEqual(q[1], hit, epsilon) || geoVecEqual(q[0], hit, epsilon) ) { - continue; - } else { - return true; - } - } - } - } - - return false; - } - - - // Return the intersection point of 2 line segments. - // From https://github.com/pgkelley4/line-segments-intersect - // This uses the vector cross product approach described below: - // http://stackoverflow.com/a/565282/786339 - function geoLineIntersection(a, b) { - var p = [a[0][0], a[0][1]]; - var p2 = [a[1][0], a[1][1]]; - var q = [b[0][0], b[0][1]]; - var q2 = [b[1][0], b[1][1]]; - var r = geoVecSubtract(p2, p); - var s = geoVecSubtract(q2, q); - var uNumerator = geoVecCross(geoVecSubtract(q, p), r); - var denominator = geoVecCross(r, s); - - if (uNumerator && denominator) { - var u = uNumerator / denominator; - var t = geoVecCross(geoVecSubtract(q, p), s) / denominator; - - if ((t >= 0) && (t <= 1) && (u >= 0) && (u <= 1)) { - return geoVecInterp(p, p2, t); - } - } - - return null; - } - - - function geoPathIntersections(path1, path2) { - var intersections = []; - for (var i = 0; i < path1.length - 1; i++) { - for (var j = 0; j < path2.length - 1; j++) { - var a = [ path1[i], path1[i+1] ]; - var b = [ path2[j], path2[j+1] ]; - var hit = geoLineIntersection(a, b); - if (hit) { - intersections.push(hit); - } - } - } - return intersections; - } - - function geoPathHasIntersections(path1, path2) { - for (var i = 0; i < path1.length - 1; i++) { - for (var j = 0; j < path2.length - 1; j++) { - var a = [ path1[i], path1[i+1] ]; - var b = [ path2[j], path2[j+1] ]; - var hit = geoLineIntersection(a, b); - if (hit) { - return true; - } - } - } - return false; - } - - - // Return whether point is contained in polygon. - // - // `point` should be a 2-item array of coordinates. - // `polygon` should be an array of 2-item arrays of coordinates. - // - // From https://github.com/substack/point-in-polygon. - // ray-casting algorithm based on - // http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html - // - function geoPointInPolygon(point, polygon) { - var x = point[0]; - var y = point[1]; - var inside = false; - - for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) { - var xi = polygon[i][0]; - var yi = polygon[i][1]; - var xj = polygon[j][0]; - var yj = polygon[j][1]; - - var intersect = ((yi > y) !== (yj > y)) && - (x < (xj - xi) * (y - yi) / (yj - yi) + xi); - if (intersect) inside = !inside; - } - - return inside; - } - - - function geoPolygonContainsPolygon(outer, inner) { - return every(inner, function(point) { - return geoPointInPolygon(point, outer); - }); - } - - - function geoPolygonIntersectsPolygon(outer, inner, checkSegments) { - function testPoints(outer, inner) { - return some(inner, function(point) { - return geoPointInPolygon(point, outer); - }); - } - - return testPoints(outer, inner) || (!!checkSegments && geoPathHasIntersections(outer, inner)); - } - - - function geoPathLength(path) { - var length = 0; - for (var i = 0; i < path.length - 1; i++) { - length += geoVecLength(path[i], path[i + 1]); - } - return length; - } - - - // If the given point is at the edge of the padded viewport, - // return a vector that will nudge the viewport in that direction - function geoViewportEdge(point, dimensions) { - var pad = [80, 20, 50, 20]; // top, right, bottom, left - var x = 0; - var y = 0; - - if (point[0] > dimensions[0] - pad[1]) - x = -10; - if (point[0] < pad[3]) - x = 10; - if (point[1] > dimensions[1] - pad[2]) - y = -10; - if (point[1] < pad[0]) - y = 10; - - if (x || y) { - return [x, y]; - } else { - return null; - } - } - - /* - Bypasses features of D3's default projection stream pipeline that are unnecessary: - * Antimeridian clipping - * Spherical rotation - * Resampling - */ - function geoRawMercator() { - var project = mercatorRaw; - var k = 512 / Math.PI; // scale - var x = 0; - var y = 0; // translate - var clipExtent = [[0, 0], [0, 0]]; - - - function projection$$1(point) { - point = project(point[0] * Math.PI / 180, point[1] * Math.PI / 180); - return [point[0] * k + x, y - point[1] * k]; - } - - - projection$$1.invert = function(point) { - point = project.invert((point[0] - x) / k, (y - point[1]) / k); - return point && [point[0] * 180 / Math.PI, point[1] * 180 / Math.PI]; - }; - - - projection$$1.scale = function(_) { - if (!arguments.length) return k; - k = +_; - return projection$$1; - }; - - - projection$$1.translate = function(_) { - if (!arguments.length) return [x, y]; - x = +_[0]; - y = +_[1]; - return projection$$1; - }; - - - projection$$1.clipExtent = function(_) { - if (!arguments.length) return clipExtent; - clipExtent = _; - return projection$$1; - }; - - - projection$$1.transform = function(obj) { - if (!arguments.length) return identity$7.translate(x, y).scale(k); - x = +obj.x; - y = +obj.y; - k = +obj.k; - return projection$$1; - }; - - - projection$$1.stream = d3_geoTransform({ - point: function(x, y) { - var vec = projection$$1([x, y]); - this.stream.point(vec[0], vec[1]); - } - }).stream; - - - return projection$$1; - } - - function osmChangeset() { - if (!(this instanceof osmChangeset)) { - return (new osmChangeset()).initialize(arguments); - } else if (arguments.length) { - this.initialize(arguments); - } - } - - - osmEntity$$1.changeset = osmChangeset; - - osmChangeset.prototype = Object.create(osmEntity$$1.prototype); - - assignIn(osmChangeset.prototype, { - - type: 'changeset', - - - extent: function() { - return new geoExtent$$1(); - }, - - - geometry: function() { - return 'changeset'; - }, - - - asJXON: function() { - return { - osm: { - changeset: { - tag: map$3(this.tags, function(value, key) { - return { '@k': key, '@v': value }; - }), - '@version': 0.6, - '@generator': 'iD' - } - } - }; - }, - - - // Generate [osmChange](http://wiki.openstreetmap.org/wiki/OsmChange) - // XML. Returns a string. - osmChangeJXON: function(changes) { - var changeset_id = this.id; - - function nest(x, order) { - var groups = {}; - for (var i = 0; i < x.length; i++) { - var tagName = Object.keys(x[i])[0]; - if (!groups[tagName]) groups[tagName] = []; - groups[tagName].push(x[i][tagName]); - } - var ordered = {}; - order.forEach(function(o) { - if (groups[o]) ordered[o] = groups[o]; - }); - return ordered; - } - - - // sort relations in a changeset by dependencies - function sort(changes) { - - // find a referenced relation in the current changeset - function resolve(item) { - return find$1(relations, function(relation) { - return item.keyAttributes.type === 'relation' - && item.keyAttributes.ref === relation['@id']; - }); - } - - // a new item is an item that has not been already processed - function isNew(item) { - return !sorted[ item['@id'] ] && !find$1(processing, function(proc) { - return proc['@id'] === item['@id']; - }); - } - - var processing = [], - sorted = {}, - relations = changes.relation; - - if (!relations) return changes; - - for (var i = 0; i < relations.length; i++) { - var relation = relations[i]; - - // skip relation if already sorted - if (!sorted[relation['@id']]) { - processing.push(relation); - } - - while (processing.length > 0) { - var next = processing[0], - deps = filter(compact(next.member.map(resolve)), isNew); - if (deps.length === 0) { - sorted[next['@id']] = next; - processing.shift(); - } else { - processing = deps.concat(processing); - } - } - } - - changes.relation = values$1(sorted); - return changes; - } - - function rep(entity) { - return entity.asJXON(changeset_id); - } - - return { - osmChange: { - '@version': 0.6, - '@generator': 'iD', - 'create': sort(nest(changes.created.map(rep), ['node', 'way', 'relation'])), - 'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']), - 'delete': assignIn(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), { '@if-unused': true }) - } - }; - }, - - - asGeoJSON: function() { - return {}; - } - - }); - - /** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurrence of each element - * is kept. The order of result values is determined by the order they occur - * in the array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - */ - function uniq(array) { - return (array && array.length) ? baseUniq(array) : []; - } - - function osmNode() { - if (!(this instanceof osmNode)) { - return (new osmNode()).initialize(arguments); - } else if (arguments.length) { - this.initialize(arguments); - } - } - - osmEntity$$1.node = osmNode; - - osmNode.prototype = Object.create(osmEntity$$1.prototype); - - assignIn(osmNode.prototype, { - - type: 'node', - - - extent: function() { - return new geoExtent$$1(this.loc); - }, - - - geometry: function(graph) { - return graph.transient(this, 'geometry', function() { - return graph.isPoi(this) ? 'point' : 'vertex'; - }); - }, - - - move: function(loc) { - return this.update({loc: loc}); - }, - - - isDegenerate: function() { - return !( - Array.isArray(this.loc) && this.loc.length === 2 && - this.loc[0] >= -180 && this.loc[0] <= 180 && - this.loc[1] >= -90 && this.loc[1] <= 90 - ); - }, - - - // Inspect tags and geometry to determine which direction(s) this node/vertex points - directions: function(resolver, projection) { - var val; - var i; - - // which tag to use? - if (this.isHighwayIntersection(resolver) && (this.tags.stop || '').toLowerCase() === 'all') { - // all-way stop tag on a highway intersection - val = 'all'; - } else { - // generic direction tag - val = (this.tags.direction || '').toLowerCase(); - - // better suffix-style direction tag - var re = /:direction$/i; - var keys = Object.keys(this.tags); - for (i = 0; i < keys.length; i++) { - if (re.test(keys[i])) { - val = this.tags[keys[i]].toLowerCase(); - break; - } - } - } - - if (val === '') return []; - - var cardinal = { - north: 0, n: 0, - northnortheast: 22, nne: 22, - northeast: 45, ne: 45, - eastnortheast: 67, ene: 67, - east: 90, e: 90, - eastsoutheast: 112, ese: 112, - southeast: 135, se: 135, - southsoutheast: 157, sse: 157, - south: 180, s: 180, - southsouthwest: 202, ssw: 202, - southwest: 225, sw: 225, - westsouthwest: 247, wsw: 247, - west: 270, w: 270, - westnorthwest: 292, wnw: 292, - northwest: 315, nw: 315, - northnorthwest: 337, nnw: 337 - }; - - - var values = val.split(';'); - var results = []; - - values.forEach(function(v) { - // swap cardinal for numeric directions - if (cardinal[v] !== undefined) { - v = cardinal[v]; - } - - // numeric direction - just add to results - if (v !== '' && !isNaN(+v)) { - results.push(+v); - return; - } - - // string direction - inspect parent ways - var lookBackward = - (this.tags['traffic_sign:backward'] || v === 'backward' || v === 'both' || v === 'all'); - var lookForward = - (this.tags['traffic_sign:forward'] || v === 'forward' || v === 'both' || v === 'all'); - - if (!lookForward && !lookBackward) return; - - var nodeIds = {}; - resolver.parentWays(this).forEach(function(parent) { - var nodes = parent.nodes; - for (i = 0; i < nodes.length; i++) { - if (nodes[i] === this.id) { // match current entity - if (lookForward && i > 0) { - nodeIds[nodes[i - 1]] = true; // look back to prev node - } - if (lookBackward && i < nodes.length - 1) { - nodeIds[nodes[i + 1]] = true; // look ahead to next node - } - } - } - }, this); - - Object.keys(nodeIds).forEach(function(nodeId) { - // +90 because geoAngle returns angle from X axis, not Y (north) - results.push( - (geoAngle(this, resolver.entity(nodeId), projection) * (180 / Math.PI)) + 90 - ); - }, this); - - }, this); - - return uniq(results); - }, - - - isEndpoint: function(resolver) { - return resolver.transient(this, 'isEndpoint', function() { - var id = this.id; - return resolver.parentWays(this).filter(function(parent) { - return !parent.isClosed() && !!parent.affix(id); - }).length > 0; - }); - }, - - - isConnected: function(resolver) { - return resolver.transient(this, 'isConnected', function() { - var parents = resolver.parentWays(this); - - function isLine(entity) { - return entity.geometry(resolver) === 'line' && - entity.hasInterestingTags(); - } - - // vertex is connected to multiple parent lines - if (parents.length > 1 && some(parents, isLine)) { - return true; - - } else if (parents.length === 1) { - var way = parents[0], - nodes = way.nodes.slice(); - if (way.isClosed()) { nodes.pop(); } // ignore connecting node if closed - - // return true if vertex appears multiple times (way is self intersecting) - return nodes.indexOf(this.id) !== nodes.lastIndexOf(this.id); - } - - return false; - }); - }, - - - isIntersection: function(resolver) { - return resolver.transient(this, 'isIntersection', function() { - return resolver.parentWays(this).filter(function(parent) { - return (parent.tags.highway || - parent.tags.waterway || - parent.tags.railway || - parent.tags.aeroway) && - parent.geometry(resolver) === 'line'; - }).length > 1; - }); - }, - - - isHighwayIntersection: function(resolver) { - return resolver.transient(this, 'isHighwayIntersection', function() { - return resolver.parentWays(this).filter(function(parent) { - return parent.tags.highway && parent.geometry(resolver) === 'line'; - }).length > 1; - }); - }, - - - 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: { - '@id': this.osmId(), - '@lon': this.loc[0], - '@lat': this.loc[1], - '@version': (this.version || 0), - tag: map$3(this.tags, function(v, k) { - return { keyAttributes: { k: k, v: v } }; - }) - } - }; - if (changeset_id) r.node['@changeset'] = changeset_id; - return r; - }, - - - asGeoJSON: function() { - return { - type: 'Point', - coordinates: this.loc - }; - } - }); - - /** Error message constants. */ - var FUNC_ERROR_TEXT$1 = 'Expected a function'; - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new negated function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT$1); - } - return function() { - var args = arguments; - switch (args.length) { - case 0: return !predicate.call(this); - case 1: return !predicate.call(this, args[0]); - case 2: return !predicate.call(this, args[0], args[1]); - case 3: return !predicate.call(this, args[0], args[1], args[2]); - } - return !predicate.apply(this, args); - }; - } - - /** - * The opposite of `_.filter`; this method returns the elements of `collection` - * that `predicate` does **not** return truthy for. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.filter - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true } - * ]; - * - * _.reject(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.reject(users, { 'age': 40, 'active': true }); - * // => objects for ['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) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, negate(baseIteratee(predicate, 3))); - } - - /** - * An alternative to `_.reduce`; this method transforms `object` to a new - * `accumulator` object which is the result of running each of its own - * enumerable string keyed properties thru `iteratee`, with each invocation - * potentially mutating the `accumulator` object. If `accumulator` is not - * provided, a new object with the same `[[Prototype]]` will be used. The - * iteratee is invoked with four arguments: (accumulator, value, key, object). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The custom accumulator value. - * @returns {*} Returns the accumulated value. - * @example - * - * _.transform([2, 3, 4], function(result, n) { - * result.push(n *= n); - * return n % 2 == 0; - * }, []); - * // => [4, 9] - * - * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } - */ - function transform$1(object, iteratee, accumulator) { - var isArr = isArray(object), - isArrLike = isArr || isBuffer(object) || isTypedArray(object); - - iteratee = baseIteratee(iteratee, 4); - if (accumulator == null) { - var Ctor = object && object.constructor; - if (isArrLike) { - accumulator = isArr ? new Ctor : []; - } - else if (isObject(object)) { - accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; - } - else { - accumulator = {}; - } - } - (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { - return iteratee(accumulator, value, index, object); - }); - return accumulator; - } - - /* - Order the nodes of a way in reverse order and reverse any direction dependent tags - other than `oneway`. (We assume that correcting a backwards oneway is the primary - reason for reversing a way.) - - The following transforms are performed: - - Keys: - *:right=* ⟺ *:left=* - *:forward=* ⟺ *:backward=* - direction=up ⟺ direction=down - incline=up ⟺ incline=down - *=right ⟺ *=left - - Relation members: - role=forward ⟺ role=backward - role=north ⟺ role=south - role=east ⟺ role=west - - In addition, numeric-valued `incline` tags are negated. - - The JOSM implementation was used as a guide, but transformations that were of unclear benefit - or adjusted tags that don't seem to be used in practice were omitted. - - Also, each node on the way is examined for its own tags and the following transformations are performed - in order to ensure associated nodes (eg a Stop Sign) is also reversed - - Node Keys: - *direction=forward ⟺ *direction=backward - *direction=left ⟺ *direction=right - *:forward=* ⟺ *:backward=* - *:left=* ⟺ *:right=* - - References: - http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right - http://wiki.openstreetmap.org/wiki/Key:direction#Steps - http://wiki.openstreetmap.org/wiki/Key:incline - http://wiki.openstreetmap.org/wiki/Route#Members - http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java - http://wiki.openstreetmap.org/wiki/Tag:highway%3Dstop - http://wiki.openstreetmap.org/wiki/Key:traffic_sign#On_a_way_or_area - */ - function actionReverse(wayId, options) { - var replacements = [ - [/:right$/, ':left'], [/:left$/, ':right'], - [/:forward$/, ':backward'], [/:backward$/, ':forward'] - ], - numeric = /^([+\-]?)(?=[\d.])/, - roleReversals = { - forward: 'backward', - backward: 'forward', - north: 'south', - south: 'north', - east: 'west', - west: 'east' - }; - - - function reverseKey(key) { - for (var i = 0; i < replacements.length; ++i) { - var replacement = replacements[i]; - if (replacement[0].test(key)) { - return key.replace(replacement[0], replacement[1]); - } - } - return key; - } - - - function reverseValue(key, value) { - if (key === 'incline' && numeric.test(value)) { - return value.replace(numeric, function(_, sign) { return sign === '-' ? '' : '-'; }); - } else if (key === 'incline' || key === 'direction') { - return {up: 'down', down: 'up'}[value] || value; - } else if (options && options.reverseOneway && key === 'oneway') { - return {yes: '-1', '1': '-1', '-1': 'yes'}[value] || value; - } else { - return {left: 'right', right: 'left'}[value] || value; - } - } - - - function reverseDirectionTags(node) { - // Update the direction based tags as appropriate then return an updated node - return node.update({tags: transform$1(node.tags, function(acc, tagValue, tagKey) { - // See if this is a direction tag and reverse (or use existing value if not recognised) - var re = /direction$/; - if (re.test(tagKey)) { - acc[tagKey] = {forward: 'backward', backward: 'forward', left: 'right', right: 'left'}[tagValue] || tagValue; - } else { - // Use the reverseKey method to cater for situations such as traffic_sign:forward=stop - // This will pass through other tags unchanged - acc[reverseKey(tagKey)] = tagValue; - } - return acc; - }, {})}); - } - - - function reverseTagsOnNodes(graph, nodeIds) { - // Reverse the direction of appropriate tags attached to the nodes (#3076) - return nodeIds - // Get each node from the graph - .map(function(nodeId) { return graph.entity(nodeId);}) - // Check tags on the node, if there aren't any, we can skip - .filter(function(existingNode) { return existingNode.tags !== undefined;}) - // Get a new version of each node with the appropriate tags reversed - .map(function(existingNode) { return reverseDirectionTags(existingNode);}) - // Chain together consecutive updates to the graph for each updated node and return - .reduce(function (accGraph, value) { return accGraph.replace(value); }, graph); - } - - - return function(graph) { - var way = graph.entity(wayId), - nodes = way.nodes.slice().reverse(), - tags = {}, key, role; - - for (key in way.tags) { - tags[reverseKey(key)] = reverseValue(key, way.tags[key]); - } - - graph.parentRelations(way).forEach(function(relation) { - relation.members.forEach(function(member, index) { - if (member.id === way.id && (role = roleReversals[member.role])) { - relation = relation.updateMember({role: role}, index); - graph = graph.replace(relation); - } - }); - }); - - // Reverse any associated directions on nodes on the way and then replace - // the way itself with the reversed node ids and updated way tags - return reverseTagsOnNodes(graph, nodes).replace(way.update({nodes: nodes, tags: tags})); - }; - } - - /** `Object#toString` result references. */ - var numberTag$4 = '[object Number]'; - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ - function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag$4); - } - - /** `Object#toString` result references. */ - var stringTag$4 = '[object String]'; - - /** - * 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 a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag$4); - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN$1(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; - } - - function osmLanes(entity) { - if (entity.type !== 'way') return null; - if (!entity.tags.highway) return null; - - var tags = entity.tags; - var isOneWay = entity.isOneWay(); - var laneCount = getLaneCount(tags, isOneWay); - var maxspeed = parseMaxspeed(tags); - - var laneDirections = parseLaneDirections(tags, isOneWay, laneCount); - var forward = laneDirections.forward; - var backward = laneDirections.backward; - var bothways = laneDirections.bothways; - - // parse the piped string 'x|y|z' format - var turnLanes = {}; - turnLanes.unspecified = parseTurnLanes(tags['turn:lanes']); - turnLanes.forward = parseTurnLanes(tags['turn:lanes:forward']); - turnLanes.backward = parseTurnLanes(tags['turn:lanes:backward']); - - var maxspeedLanes = {}; - maxspeedLanes.unspecified = parseMaxspeedLanes(tags['maxspeed:lanes'], maxspeed); - maxspeedLanes.forward = parseMaxspeedLanes(tags['maxspeed:lanes:forward'], maxspeed); - maxspeedLanes.backward = parseMaxspeedLanes(tags['maxspeed:lanes:backward'], maxspeed); - - var psvLanes = {}; - psvLanes.unspecified = parseMiscLanes(tags['psv:lanes']); - psvLanes.forward = parseMiscLanes(tags['psv:lanes:forward']); - psvLanes.backward = parseMiscLanes(tags['psv:lanes:backward']); - - var busLanes = {}; - busLanes.unspecified = parseMiscLanes(tags['bus:lanes']); - busLanes.forward = parseMiscLanes(tags['bus:lanes:forward']); - busLanes.backward = parseMiscLanes(tags['bus:lanes:backward']); - - var taxiLanes = {}; - taxiLanes.unspecified = parseMiscLanes(tags['taxi:lanes']); - taxiLanes.forward = parseMiscLanes(tags['taxi:lanes:forward']); - taxiLanes.backward = parseMiscLanes(tags['taxi:lanes:backward']); - - var hovLanes = {}; - hovLanes.unspecified = parseMiscLanes(tags['hov:lanes']); - hovLanes.forward = parseMiscLanes(tags['hov:lanes:forward']); - hovLanes.backward = parseMiscLanes(tags['hov:lanes:backward']); - - var hgvLanes = {}; - hgvLanes.unspecified = parseMiscLanes(tags['hgv:lanes']); - hgvLanes.forward = parseMiscLanes(tags['hgv:lanes:forward']); - hgvLanes.backward = parseMiscLanes(tags['hgv:lanes:backward']); - - var bicyclewayLanes = {}; - bicyclewayLanes.unspecified = parseBicycleWay(tags['bicycleway:lanes']); - bicyclewayLanes.forward = parseBicycleWay(tags['bicycleway:lanes:forward']); - bicyclewayLanes.backward = parseBicycleWay(tags['bicycleway:lanes:backward']); - - var lanesObj = { - forward: [], - backward: [], - unspecified: [] - }; - - // map forward/backward/unspecified of each lane type to lanesObj - mapToLanesObj(lanesObj, turnLanes, 'turnLane'); - mapToLanesObj(lanesObj, maxspeedLanes, 'maxspeed'); - mapToLanesObj(lanesObj, psvLanes, 'psv'); - mapToLanesObj(lanesObj, busLanes, 'bus'); - mapToLanesObj(lanesObj, taxiLanes, 'taxi'); - mapToLanesObj(lanesObj, hovLanes, 'hov'); - mapToLanesObj(lanesObj, hgvLanes, 'hgv'); - mapToLanesObj(lanesObj, bicyclewayLanes, 'bicycleway'); - - return { - metadata: { - count: laneCount, - oneway: isOneWay, - forward: forward, - backward: backward, - bothways: bothways, - turnLanes: turnLanes, - maxspeed: maxspeed, - maxspeedLanes: maxspeedLanes, - psvLanes: psvLanes, - busLanes: busLanes, - taxiLanes: taxiLanes, - hovLanes: hovLanes, - hgvLanes: hgvLanes, - bicyclewayLanes: bicyclewayLanes - }, - lanes: lanesObj - }; - } - - - function getLaneCount(tags, isOneWay) { - var count; - if (tags.lanes) { - count = parseInt(tags.lanes, 10); - if (count > 0) { - return count; - } - } - - - switch (tags.highway) { - case 'trunk': - case 'motorway': - count = isOneWay ? 2 : 4; - break; - default: - count = isOneWay ? 1 : 2; - break; - } - - return count; - } - - - function parseMaxspeed(tags) { - var maxspeed = tags.maxspeed; - if (isNumber(maxspeed)) return maxspeed; - if (isString(maxspeed)) { - maxspeed = maxspeed.match(/^([0-9][\.0-9]+?)(?:[ ]?(?:km\/h|kmh|kph|mph|knots))?$/g); - if (!maxspeed) return; - return parseInt(maxspeed, 10); - } - } - - - function parseLaneDirections(tags, isOneWay, laneCount) { - var forward = parseInt(tags['lanes:forward'], 10); - var backward = parseInt(tags['lanes:backward'], 10); - var bothways = parseInt(tags['lanes:both_ways'], 10) > 0 ? 1 : 0; - - if (parseInt(tags.oneway, 10) === -1) { - forward = 0; - bothways = 0; - backward = laneCount; - } - else if (isOneWay) { - forward = laneCount; - bothways = 0; - backward = 0; - } - else if (isNaN$1(forward) && isNaN$1(backward)) { - backward = Math.floor((laneCount - bothways) / 2); - forward = laneCount - bothways - backward; - } - else if (isNaN$1(forward)) { - if (backward > laneCount - bothways) { - backward = laneCount - bothways; - } - forward = laneCount - bothways - backward; - } - else if (isNaN$1(backward)) { - if (forward > laneCount - bothways) { - forward = laneCount - bothways; - } - backward = laneCount - bothways - forward; - } - return { - forward: forward, - backward: backward, - bothways: bothways - }; - } - - - function parseTurnLanes(tag){ - if (!tag) return; - - var validValues = [ - 'left', 'slight_left', 'sharp_left', 'through', 'right', 'slight_right', - 'sharp_right', 'reverse', 'merge_to_left', 'merge_to_right', 'none' - ]; - - return tag.split('|') - .map(function (s) { - if (s === '') s = 'none'; - return s.split(';') - .map(function (d) { - return validValues.indexOf(d) === -1 ? 'unknown': d; - }); - }); - } - - - function parseMaxspeedLanes(tag, maxspeed) { - if (!tag) return; - - return tag.split('|') - .map(function (s) { - if (s === 'none') return s; - var m = parseInt(s, 10); - if (s === '' || m === maxspeed) return null; - return isNaN$1(m) ? 'unknown': m; - }); - } - - - function parseMiscLanes(tag) { - if (!tag) return; - - var validValues = [ - 'yes', 'no', 'designated' - ]; - - return tag.split('|') - .map(function (s) { - if (s === '') s = 'no'; - return validValues.indexOf(s) === -1 ? 'unknown': s; - }); - } - - - function parseBicycleWay(tag) { - if (!tag) return; - - var validValues = [ - 'yes', 'no', 'designated', 'lane' - ]; - - return tag.split('|') - .map(function (s) { - if (s === '') s = 'no'; - return validValues.indexOf(s) === -1 ? 'unknown': s; - }); - } - - - function mapToLanesObj(lanesObj, data, key) { - if (data.forward) data.forward.forEach(function(l, i) { - if (!lanesObj.forward[i]) lanesObj.forward[i] = {}; - lanesObj.forward[i][key] = l; - }); - if (data.backward) data.backward.forEach(function(l, i) { - if (!lanesObj.backward[i]) lanesObj.backward[i] = {}; - lanesObj.backward[i][key] = l; - }); - if (data.unspecified) data.unspecified.forEach(function(l, i) { - if (!lanesObj.unspecified[i]) lanesObj.unspecified[i] = {}; - lanesObj.unspecified[i][key] = l; - }); - } - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG$2 = 1, - CLONE_SYMBOLS_FLAG$3 = 4; - - /** - * This method is like `_.clone` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @returns {*} Returns the deep cloned value. - * @see _.clone - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var deep = _.cloneDeep(objects); - * console.log(deep[0] === objects[0]); - * // => false - */ - function cloneDeep(value) { - return baseClone(value, CLONE_DEEP_FLAG$2 | CLONE_SYMBOLS_FLAG$3); - } - - /** - * 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 - * @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 invocation. - */ - var now$1 = function() { - return root$2.Date.now(); - }; - - /** Error message constants. */ - var FUNC_ERROR_TEXT$2 = 'Expected a function'; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeMax$2 = Math.max, - nativeMin = Math.min; - - /** - * 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 `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` 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 debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * 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'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. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // 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. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ - function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT$2); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax$2(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - 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, - timeWaiting = wait - timeSinceLastCall; - - return maxing - ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) - : timeWaiting; - } - - 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 === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now$1(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now$1()); - } - - function debounced() { - var time = now$1(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; - } - - /** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ - function castFunction(value) { - return typeof value == 'function' ? value : identity$8; - } - - /** - * 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 use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forEach(collection, iteratee) { - var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, castFunction(iteratee)); - } - - /** - * 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. - * @returns {Object} Returns `object`. - * @see _.forOwnRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forOwn(object, iteratee) { - return object && baseForOwn(object, castFunction(iteratee)); - } - - var translations = Object.create(null); - - var currentLocale = 'en'; - var textDirection = 'ltr'; - - function setLocale(_) { - if (translations[_] !== undefined) { - currentLocale = _; - } else if (translations[_.split('-')[0]]) { - currentLocale = _.split('-')[0]; - } - } - - function addTranslation(id, value) { - translations[id] = value; - } - - /** - * Given a string identifier, try to find that string in the current - * language, and return it. This function will be called recursively - * with locale `en` if a string can not be found in the requested language. - * - * @param {string} s string identifier - * @param {object?} o object of token replacements and default string - * @param {string?} loc locale to use - * @returns {string?} locale string - */ - function t(s, o, loc) { - loc = loc || currentLocale; - - var path = s - .split('.') - .map(function (s) { return s.replace('', '.'); }) - .reverse(); - - var rep = translations[loc]; - - while (rep !== undefined && path.length) { - rep = rep[path.pop()]; - } - - if (rep !== undefined) { - if (o) { - for (var k in o) { - rep = rep.replace('{' + k + '}', o[k]); - } - } - return rep; - } - - if (loc !== 'en') { - return t(s, o, 'en'); - } - - if (o && 'default' in o) { - return o.default; - } - - var missing = 'Missing ' + loc + ' translation: ' + s; - if (typeof console !== 'undefined') console.error(missing); // eslint-disable-line - - return missing; - } - - /** - * Given string 'ltr' or 'rtl', save that setting - * - * @param {string} dir ltr or rtl - */ - - function setTextDirection(dir) { - textDirection = dir; - } - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG$3 = 1, - CLONE_SYMBOLS_FLAG$4 = 4; - - /** - * This method is like `_.cloneWith` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the deep cloned value. - * @see _.cloneWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * } - * - * var el = _.cloneDeepWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 20 - */ - function cloneDeepWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_DEEP_FLAG$3 | CLONE_SYMBOLS_FLAG$4, customizer); - } - - /** - * Creates an array of `array` values not included in the other given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * **Note:** Unlike `_.pullAll`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.without, _.xor - * @example - * - * _.difference([2, 1], [2, 3]); - * // => [1] - */ - var difference = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) - : []; - }); - - /** `Object#toString` result references. */ - var mapTag$7 = '[object Map]', - setTag$7 = '[object Set]'; - - /** Used for built-in method references. */ - var objectProto$17 = Object.prototype; - - /** Used to check objects for own properties. */ - var hasOwnProperty$14 = objectProto$17.hasOwnProperty; - - /** - * 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 {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || - isBuffer(value) || isTypedArray(value) || isArguments(value))) { - return !value.length; - } - var tag = getTag$1(value); - if (tag == mapTag$7 || tag == setTag$7) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; - } - for (var key in value) { - if (hasOwnProperty$14.call(value, key)) { - return false; - } - } - return true; - } - - var detected; - - function utilDetect(force) { - if (detected && !force) return detected; - detected = {}; - - var ua = navigator.userAgent, - m = null; - - m = ua.match(/(edge)\/?\s*(\.?\d+(\.\d+)*)/i); // Edge - if (m !== null) { - detected.browser = m[1]; - detected.version = m[2]; - } - if (!detected.browser) { - m = ua.match(/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i); // IE11 - if (m !== null) { - detected.browser = 'msie'; - detected.version = m[1]; - } - } - if (!detected.browser) { - m = ua.match(/(opr)\/?\s*(\.?\d+(\.\d+)*)/i); // Opera 15+ - if (m !== null) { - detected.browser = 'Opera'; - detected.version = m[2]; - } - } - if (!detected.browser) { - m = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i); - if (m !== null) { - detected.browser = m[1]; - detected.version = m[2]; - m = ua.match(/version\/([\.\d]+)/i); - if (m !== null) detected.version = m[1]; - } - } - if (!detected.browser) { - detected.browser = navigator.appName; - detected.version = navigator.appVersion; - } - - // keep major.minor version only.. - detected.version = detected.version.split(/\W/).slice(0,2).join('.'); - - if (detected.browser.toLowerCase() === 'msie') { - detected.ie = true; - detected.browser = 'Internet Explorer'; - detected.support = parseFloat(detected.version) >= 11; - } else { - detected.ie = false; - detected.support = true; - } - - // Added due to incomplete svg style support. See #715 - detected.opera = (detected.browser.toLowerCase() === 'opera' && parseFloat(detected.version) < 15 ); - - detected.locale = (navigator.language || navigator.userLanguage || 'en-US'); - detected.language = detected.locale.split('-')[0]; - - // Search `navigator.languages` for a better locale.. Prefer the first language, - // unless the second language is a culture-specific version of the first one, see #3842 - if (navigator.languages && navigator.languages.length > 0) { - var code0 = navigator.languages[0], - parts0 = code0.split('-'); - - detected.locale = code0; - detected.language = parts0[0]; - - if (navigator.languages.length > 1 && parts0.length === 1) { - var code1 = navigator.languages[1], - parts1 = code1.split('-'); - - if (parts1[0] === parts0[0]) { - detected.locale = code1; - } - } - } - - // Loaded locale is stored in currentLocale - // return that instead (except in the situation where 'en' might override 'en-US') - var loadedLocale = currentLocale || 'en'; - if (loadedLocale !== 'en') { - detected.locale = loadedLocale; - detected.language = detected.locale.split('-')[0]; - } - - // detect text direction - var q = utilStringQs(window.location.hash.substring(1)); - var lang = dataLocales[detected.locale]; - if ((lang && lang.rtl) || (q.rtl === 'true')) { - detected.textDirection = 'rtl'; - } else { - detected.textDirection = 'ltr'; - } - setTextDirection(detected.textDirection); - - // detect host - var loc = window.top.location; - var origin = loc.origin; - if (!origin) { // for unpatched IE11 - origin = loc.protocol + '//' + loc.hostname + (loc.port ? ':' + loc.port: ''); - } - - detected.host = origin + loc.pathname; - - detected.filedrop = (window.FileReader && 'ondrop' in window); - - detected.download = !(detected.ie || detected.browser.toLowerCase() === 'edge'); - - detected.cssfilters = !(detected.ie || detected.browser.toLowerCase() === 'edge'); - - function nav(x) { - return navigator.userAgent.indexOf(x) !== -1; - } - - if (nav('Win')) { - detected.os = 'win'; - detected.platform = 'Windows'; - } - else if (nav('Mac')) { - detected.os = 'mac'; - detected.platform = 'Macintosh'; - } - else if (nav('X11') || nav('Linux')) { - detected.os = 'linux'; - detected.platform = 'Linux'; - } - else { - detected.os = 'win'; - detected.platform = 'Unknown'; - } - - return detected; - } - - var remove$1 = removeDiacritics; - - var replacementList = [ - { - base: ' ', - chars: "\u00A0", - }, { - base: '0', - chars: "\u07C0", - }, { - base: 'A', - chars: "\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F", - }, { - base: 'AA', - chars: "\uA732", - }, { - base: 'AE', - chars: "\u00C6\u01FC\u01E2", - }, { - base: 'AO', - chars: "\uA734", - }, { - base: 'AU', - chars: "\uA736", - }, { - base: 'AV', - chars: "\uA738\uA73A", - }, { - base: 'AY', - chars: "\uA73C", - }, { - base: 'B', - chars: "\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0181", - }, { - base: 'C', - chars: "\u24b8\uff23\uA73E\u1E08\u0106\u0043\u0108\u010A\u010C\u00C7\u0187\u023B", - }, { - base: 'D', - chars: "\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018A\u0189\u1D05\uA779", - }, { - base: 'Dh', - chars: "\u00D0", - }, { - base: 'DZ', - chars: "\u01F1\u01C4", - }, { - base: 'Dz', - chars: "\u01F2\u01C5", - }, { - base: 'E', - chars: "\u025B\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E\u1D07", - }, { - base: 'F', - chars: "\uA77C\u24BB\uFF26\u1E1E\u0191\uA77B", - }, { - base: 'G', - chars: "\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E\u0262", - }, { - base: 'H', - chars: "\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D", - }, { - base: 'I', - chars: "\u24BE\uFF29\xCC\xCD\xCE\u0128\u012A\u012C\u0130\xCF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197", - }, { - base: 'J', - chars: "\u24BF\uFF2A\u0134\u0248\u0237", - }, { - base: 'K', - chars: "\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2", - }, { - base: 'L', - chars: "\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780", - }, { - base: 'LJ', - chars: "\u01C7", - }, { - base: 'Lj', - chars: "\u01C8", - }, { - base: 'M', - chars: "\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C\u03FB", - }, { - base: 'N', - chars: "\uA7A4\u0220\u24C3\uFF2E\u01F8\u0143\xD1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u019D\uA790\u1D0E", - }, { - base: 'NJ', - chars: "\u01CA", - }, { - base: 'Nj', - chars: "\u01CB", - }, { - base: 'O', - chars: "\u24C4\uFF2F\xD2\xD3\xD4\u1ED2\u1ED0\u1ED6\u1ED4\xD5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\xD6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\xD8\u01FE\u0186\u019F\uA74A\uA74C", - }, { - base: 'OE', - chars: "\u0152", - }, { - base: 'OI', - chars: "\u01A2", - }, { - base: 'OO', - chars: "\uA74E", - }, { - base: 'OU', - chars: "\u0222", - }, { - base: 'P', - chars: "\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754", - }, { - base: 'Q', - chars: "\u24C6\uFF31\uA756\uA758\u024A", - }, { - base: 'R', - chars: "\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782", - }, { - base: 'S', - chars: "\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784", - }, { - base: 'T', - chars: "\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786", - }, { - base: 'Th', - chars: "\u00DE", - }, { - base: 'TZ', - chars: "\uA728", - }, { - base: 'U', - chars: "\u24CA\uFF35\xD9\xDA\xDB\u0168\u1E78\u016A\u1E7A\u016C\xDC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244", - }, { - base: 'V', - chars: "\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245", - }, { - base: 'VY', - chars: "\uA760", - }, { - base: 'W', - chars: "\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72", - }, { - base: 'X', - chars: "\u24CD\uFF38\u1E8A\u1E8C", - }, { - base: 'Y', - chars: "\u24CE\uFF39\u1EF2\xDD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE", - }, { - base: 'Z', - chars: "\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762", - }, { - base: 'a', - chars: "\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250\u0251", - }, { - base: 'aa', - chars: "\uA733", - }, { - base: 'ae', - chars: "\u00E6\u01FD\u01E3", - }, { - base: 'ao', - chars: "\uA735", - }, { - base: 'au', - chars: "\uA737", - }, { - base: 'av', - chars: "\uA739\uA73B", - }, { - base: 'ay', - chars: "\uA73D", - }, { - base: 'b', - chars: "\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253\u0182", - }, { - base: 'c', - chars: "\uFF43\u24D2\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184", - }, { - base: 'd', - chars: "\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\u018B\u13E7\u0501\uA7AA", - }, { - base: 'dh', - chars: "\u00F0", - }, { - base: 'dz', - chars: "\u01F3\u01C6", - }, { - base: 'e', - chars: "\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u01DD", - }, { - base: 'f', - chars: "\u24D5\uFF46\u1E1F\u0192", - }, { - base: 'ff', - chars: "\uFB00", - }, { - base: 'fi', - chars: "\uFB01", - }, { - base: 'fl', - chars: "\uFB02", - }, { - base: 'ffi', - chars: "\uFB03", - }, { - base: 'ffl', - chars: "\uFB04", - }, { - base: 'g', - chars: "\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\uA77F\u1D79", - }, { - base: 'h', - chars: "\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265", - }, { - base: 'hv', - chars: "\u0195", - }, { - base: 'i', - chars: "\u24D8\uFF49\xEC\xED\xEE\u0129\u012B\u012D\xEF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131", - }, { - base: 'j', - chars: "\u24D9\uFF4A\u0135\u01F0\u0249", - }, { - base: 'k', - chars: "\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3", - }, { - base: 'l', - chars: "\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747\u026D", - }, { - base: 'lj', - chars: "\u01C9", - }, { - base: 'm', - chars: "\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F", - }, { - base: 'n', - chars: "\u24DD\uFF4E\u01F9\u0144\xF1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5\u043B\u0509", - }, { - base: 'nj', - chars: "\u01CC", - }, { - base: 'o', - chars: "\u24DE\uFF4F\xF2\xF3\xF4\u1ED3\u1ED1\u1ED7\u1ED5\xF5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\xF6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\xF8\u01FF\uA74B\uA74D\u0275\u0254\u1D11", - }, { - base: 'oe', - chars: "\u0153", - }, { - base: 'oi', - chars: "\u01A3", - }, { - base: 'oo', - chars: "\uA74F", - }, { - base: 'ou', - chars: "\u0223", - }, { - base: 'p', - chars: "\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755\u03C1", - }, { - base: 'q', - chars: "\u24E0\uFF51\u024B\uA757\uA759", - }, { - base: 'r', - chars: "\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783", - }, { - base: 's', - chars: "\u24E2\uFF53\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B\u0282", - }, { - base: 'ss', - chars: "\xDF", - }, { - base: 't', - chars: "\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787", - }, { - base: 'th', - chars: "\u00FE", - }, { - base: 'tz', - chars: "\uA729", - }, { - base: 'u', - chars: "\u24E4\uFF55\xF9\xFA\xFB\u0169\u1E79\u016B\u1E7B\u016D\xFC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289", - }, { - base: 'v', - chars: "\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C", - }, { - base: 'vy', - chars: "\uA761", - }, { - base: 'w', - chars: "\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73", - }, { - base: 'x', - chars: "\u24E7\uFF58\u1E8B\u1E8D", - }, { - base: 'y', - chars: "\u24E8\uFF59\u1EF3\xFD\u0177\u1EF9\u0233\u1E8F\xFF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF", - }, { - base: 'z', - chars: "\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763", - } - ]; - - var diacriticsMap = {}; - for (var i = 0; i < replacementList.length; i += 1) { - var chars = replacementList[i].chars; - for (var j = 0; j < chars.length; j += 1) { - diacriticsMap[chars[j]] = replacementList[i].base; - } - } - - function removeDiacritics(str) { - return str.replace(/[^\u0000-\u007e]/g, function(c) { - return diacriticsMap[c] || c; - }); - } - - // see https://github.com/openstreetmap/iD/pull/3707 - // https://gist.github.com/mapmeld/556b09ddec07a2044c76e1ef45f01c60 - - var chars$1 = { - // madda above alef - 1570: { initial: 'آ‎', isolated: 'ﺁ', medial: 'ﺁ', final: 'ﺂ' }, - - // hamza above and below alef - 1571: { initial: 'أ', isolated: 'ﺃ', medial: '', final: 'ﺄ' }, - // 1572 is ؤ - 1573: { initial: 'إ', isolated: 'ﺇ', medial: '', final: 'ﺈ' }, - // 1574 is ئ - 1575: { initial: 'ا', isolated: 'ا', medial: '', final: 'ﺎ' }, - 1576: { initial: 'ﺑ', isolated: 'ﺏ', medial: 'ﺒ', final: 'ﺐ' }, - - // 1577 ة - 1577: { initial: '', isolated: 'ة', medial: '', final: 'ﺔ' }, - - 1578: { initial: 'ﺗ', isolated: 'ﺕ', medial: 'ﺘ', final: 'ﺖ' }, - 1579: { initial: 'ﺛ', isolated: 'ﺙ', medial: 'ﺜ', final: 'ﺚ' }, - 1580: { initial: 'ﺟ', isolated: 'ﺝ', medial: 'ﺠ', final: 'ﺞ' }, - 1581: { initial: 'ﺣ', isolated: 'ﺡ', medial: 'ﺤ', final: 'ﺢ' }, - 1582: { initial: 'ﺧ', isolated: 'ﺥ', medial: 'ﺨ', final: 'ﺦ' }, - 1583: { initial: 'ﺩ', isolated: 'ﺩ', medial: '', final: 'ﺪ' }, - 1584: { initial: 'ﺫ', isolated: 'ﺫ', medial: '', final: 'ﺬ' }, - 1585: { initial: 'ﺭ', isolated: 'ﺭ', medial: '', final: 'ﺮ' }, - 1586: { initial: 'ﺯ', isolated: 'ﺯ', medial: '', final: 'ﺰ' }, - 1688: { initial: 'ﮊ', isolated: 'ﮊ', medial: '', final: 'ﮋ' }, - 1587: { initial: 'ﺳ', isolated: 'ﺱ', medial: 'ﺴ', final: 'ﺲ' }, - 1588: { initial: 'ﺷ', isolated: 'ﺵ', medial: 'ﺸ', final: 'ﺶ' }, - 1589: { initial: 'ﺻ', isolated: 'ﺹ', medial: 'ﺼ', final: 'ﺺ' }, - 1590: { initial: 'ﺿ', isolated: 'ﺽ', medial: 'ﻀ', final: 'ﺾ' }, - 1591: { initial: 'ﻃ', isolated: 'ﻁ', medial: 'ﻄ', final: 'ﻂ' }, - 1592: { initial: 'ﻇ', isolated: 'ﻅ', medial: 'ﻈ', final: 'ﻆ' }, - 1593: { initial: 'ﻋ', isolated: 'ﻉ', medial: 'ﻌ', final: 'ﻊ' }, - 1594: { initial: 'ﻏ', isolated: 'ﻍ', medial: 'ﻐ', final: 'ﻎ' }, - - // 1595 ػ - may be very rare - - 1601: { initial: 'ﻓ', isolated: 'ﻑ', medial: 'ﻔ', final: 'ﻒ' }, - 1602: { initial: 'ﻗ', isolated: 'ﻕ', medial: 'ﻘ', final: 'ﻖ' }, - 1604: { initial: 'ﻟ', isolated: 'ﻝ', medial: 'ﻠ', final: 'ﻞ' }, - 1605: { initial: 'ﻣ', isolated: 'ﻡ', medial: 'ﻤ', final: 'ﻢ' }, - 1606: { initial: 'ﻧ', isolated: 'ﻥ', medial: 'ﻨ', final: 'ﻦ' }, - 1607: { initial: 'ﻫ', isolated: 'ﻩ', medial: 'ﻬ', final: 'ﻪ' }, - 1608: { initial: 'ﻭ', isolated: 'ﻭ', medial: '', final: 'ﻮ' }, - - // 1609 ى - 1609: { initial: 'ﯨ', isolated: 'ﻯ', medial: 'ﯩ', final: 'ﻰ' }, - // 1610 ي - 1610: { initial: 'ﻳ', isolated: 'ﻱ', medial: 'ﻴ', final: 'ﻲ' }, - - // short vowel sounds / tashkil markings - - 1662: { initial: 'ﭘ', isolated: 'ﭖ', medial: 'ﭙ', final: 'ﭗ' }, - - 1670: { initial: 'ﭼ', isolated: 'ﭺ', medial: 'ﭽ', final: 'ﭻ' }, - 1603: { initial: 'ﻛ', isolated: 'ﻙ', medial: 'ﻜ', final: 'ﻚ' }, - 1705: { initial: 'ﻛ', isolated: 'ﮎ', medial: 'ﻜ', final: 'ﮏ' }, - 1711: { initial: 'ﮔ', isolated: 'ﮒ', medial: 'ﮕ', final: 'ﮓ' }, - 1740: { initial: 'ﻳ', isolated: 'ﻯ', medial: 'ﻴ', final: 'ﻰ' }, - 5000: { initial: 'ﻻ', isolated: 'ﻻ', medial: '', final: 'ﻼ' } - }; - - var rtlRegex = /[\u0590-\u05FF\u0600-\u06FF\u0780-\u07BF]/; - - function fixRTLTextForSvg(inputText) { - var context = true; - var ret = ''; - var rtlBuffer = []; - var arabicRegex = /[\u0600-\u06FF]/g; - var arabicTashkil = /[\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/; - var thaanaVowel = /[\u07A6-\u07B0]/; - var hebrewSign = /[\u0591-\u05bd\u05bf\u05c1-\u05c5\u05c7]/; - - if (!arabicRegex.test(inputText)) { - // Hebrew or Thaana RTL script - for (var n = 0; n < inputText.length; n++) { - var c = inputText[n]; - if ((thaanaVowel.test(c) || hebrewSign.test(c)) && rtlBuffer.length) { - rtlBuffer[rtlBuffer.length - 1] += c; - } else if (rtlRegex.test(c)) { - rtlBuffer.push(c); - } else if (c === ' ' && rtlBuffer.length) { - // whitespace within RTL text - rtlBuffer = [rtlBuffer.reverse().join('') + ' ']; - } else { - // non-RTL character - ret += rtlBuffer.reverse().join('') + c; - rtlBuffer = []; - } - } - } else { - for (var i = 0, l = inputText.length; i < l; i++) { - var code = inputText[i].charCodeAt(0); - var nextCode = inputText[i + 1] ? inputText[i + 1].charCodeAt(0) : 0; - - if (!chars$1[code]) { - if (code === 32 && rtlBuffer.length) { - // whitespace - rtlBuffer = [rtlBuffer.reverse().join('') + ' ']; - } else if (arabicTashkil.test(inputText[i]) && rtlBuffer.length) { - // tashkil mark - rtlBuffer[rtlBuffer.length - 1] += inputText[i]; - } else { - // non-RTL character - ret += rtlBuffer.reverse().join('') + inputText[i]; - rtlBuffer = []; - } - continue; - } - if (context) { - if (i === l - 1 || nextCode === 32) { - rtlBuffer.push(chars$1[code].isolated); - } else { - // special case for لا - if (code === 1604 && nextCode === 1575) { - rtlBuffer.push(chars$1[5000].initial); - i++; - context = true; - continue; - } - rtlBuffer.push(chars$1[code].initial); - } - } else { - if (i === l - 1 || nextCode === 32){ - rtlBuffer.push(chars$1[code].final); - } else { - // special case for ﻼ - if (code === 1604 && nextCode === 1575){ - rtlBuffer.push(chars$1[5000].final); - i++; - context = true; - continue; - } - if (chars$1[code].medial === ''){ - rtlBuffer.push(chars$1[code].final); - } else { - rtlBuffer.push(chars$1[code].medial); - } - } - } - context = (chars$1[code].medial === '') || nextCode === 32; - } - } - ret += rtlBuffer.reverse().join(''); - return ret; - } - - function utilTagText(entity) { - return map$3(entity.tags, function(v, k) { - return k + '=' + v; - }).join(', '); - } - - - function utilEntitySelector(ids) { - return ids.length ? '.' + ids.join(',.') : 'nothing'; - } - - - function utilEntityOrMemberSelector(ids, graph) { - var s = utilEntitySelector(ids); - - ids.forEach(function(id) { - var entity = graph.hasEntity(id); - if (entity && entity.type === 'relation') { - entity.members.forEach(function(member) { - s += ',.' + member.id; - }); - } - }); - - return s; - } - - - function utilGetAllNodes(ids, graph) { - var seen = {}; - var nodes = []; - ids.forEach(getNodes); - return nodes; - - function getNodes(id) { - if (seen[id]) return; - seen[id] = true; - - var entity = graph.hasEntity(id); - if (!entity) return; - - if (entity.type === 'node') { - nodes.push(entity); - } else if (entity.type === 'way') { - entity.nodes.forEach(getNodes); - } else { - entity.members.map(function(member) { return member.id; }).forEach(getNodes); - } - } - } - - - function utilDisplayName(entity) { - var localizedNameKey = 'name:' + utilDetect().locale.toLowerCase().split('-')[0], - name = entity.tags[localizedNameKey] || entity.tags.name || '', - network = entity.tags.cycle_network || entity.tags.network; - - if (!name && entity.tags.ref) { - name = entity.tags.ref; - if (network) { - name = network + ' ' + name; - } - } - - return name; - } - - - function utilDisplayNameForPath(entity) { - var name = utilDisplayName(entity); - var isFirefox = utilDetect().browser.toLowerCase().indexOf('firefox') > -1; - - if (!isFirefox && name && rtlRegex.test(name)) { - name = fixRTLTextForSvg(name); - } - - return name; - } - - - function utilDisplayType(id) { - return { - n: t('inspector.node'), - w: t('inspector.way'), - r: t('inspector.relation') - }[id.charAt(0)]; - } - - - function utilStringQs(str) { - return str.split('&').reduce(function(obj, pair){ - var parts = pair.split('='); - if (parts.length === 2) { - obj[parts[0]] = (null === parts[1]) ? '' : decodeURIComponent(parts[1]); - } - return obj; - }, {}); - } - - - function utilQsString(obj, noencode) { - function softEncode(s) { - // encode everything except special characters used in certain hash parameters: - // "/" in map states, ":", ",", {" and "}" in background - return encodeURIComponent(s).replace(/(%2F|%3A|%2C|%7B|%7D)/g, decodeURIComponent); - } - return Object.keys(obj).sort().map(function(key) { - return encodeURIComponent(key) + '=' + ( - noencode ? softEncode(obj[key]) : encodeURIComponent(obj[key])); - }).join('&'); - } - - - function utilPrefixDOMProperty(property) { - var prefixes = ['webkit', 'ms', 'moz', 'o'], - i = -1, - n = prefixes.length, - s = document.body; - - if (property in s) - return property; - - property = property.substr(0, 1).toUpperCase() + property.substr(1); - - while (++i < n) - if (prefixes[i] + property in s) - return prefixes[i] + property; - - return false; - } - - - function utilPrefixCSSProperty(property) { - var prefixes = ['webkit', 'ms', 'Moz', 'O'], - i = -1, - n = prefixes.length, - s = document.body.style; - - if (property.toLowerCase() in s) - return property.toLowerCase(); - - while (++i < n) - if (prefixes[i] + property in s) - return '-' + prefixes[i].toLowerCase() + property.replace(/([A-Z])/g, '-$1').toLowerCase(); - - return false; - } - - - var transformProperty; - function utilSetTransform(el, x, y, scale) { - var prop = transformProperty = transformProperty || utilPrefixCSSProperty('Transform'), - translate = utilDetect().opera ? - 'translate(' + x + 'px,' + y + 'px)' : - 'translate3d(' + x + 'px,' + y + 'px,0)'; - return el.style(prop, translate + (scale ? ' scale(' + scale + ')' : '')); - } - - - // Calculates Levenshtein distance between two strings - // see: https://en.wikipedia.org/wiki/Levenshtein_distance - // first converts the strings to lowercase and replaces diacritic marks with ascii equivalents. - function utilEditDistance(a, b) { - a = remove$1(a.toLowerCase()); - b = remove$1(b.toLowerCase()); - if (a.length === 0) return b.length; - if (b.length === 0) return a.length; - var matrix = []; - for (var i = 0; i <= b.length; i++) { matrix[i] = [i]; } - for (var j = 0; j <= a.length; j++) { matrix[0][j] = j; } - for (i = 1; i <= b.length; i++) { - for (j = 1; j <= a.length; j++) { - if (b.charAt(i-1) === a.charAt(j-1)) { - matrix[i][j] = matrix[i-1][j-1]; - } else { - matrix[i][j] = Math.min(matrix[i-1][j-1] + 1, // substitution - Math.min(matrix[i][j-1] + 1, // insertion - matrix[i-1][j] + 1)); // deletion - } - } - } - return matrix[b.length][a.length]; - } - - - // a d3.mouse-alike which - // 1. Only works on HTML elements, not SVG - // 2. Does not cause style recalculation - function utilFastMouse(container) { - var rect = container.getBoundingClientRect(), - rectLeft = rect.left, - rectTop = rect.top, - clientLeft = +container.clientLeft, - clientTop = +container.clientTop; - if (textDirection === 'rtl') { - rectLeft = 0; - } - return function(e) { - return [ - e.clientX - rectLeft - clientLeft, - e.clientY - rectTop - clientTop]; - }; - } - - - /* eslint-disable no-proto */ - var utilGetPrototypeOf = Object.getPrototypeOf || function(obj) { return obj.__proto__; }; - /* eslint-enable no-proto */ - - - function utilAsyncMap(inputs, func, callback) { - var remaining = inputs.length, - results = [], - errors = []; - - inputs.forEach(function(d, i) { - func(d, function done(err, data) { - errors[i] = err; - results[i] = data; - remaining--; - if (!remaining) callback(errors, results); - }); - }); - } - - - // wraps an index to an interval [0..length-1] - function utilWrap(index, length) { - if (index < 0) - index += Math.ceil(-index/length)*length; - return index % length; - } - - - /** - * a replacement for functor - * - * @param {*} value any value - * @returns {Function} a function that returns that value or the value if it's a function - */ - function utilFunctor(value) { - if (typeof value === 'function') return value; - return function() { - return value; - }; - } - - - function utilNoAuto(selection) { - var isText = (selection.size() && selection.node().tagName.toLowerCase() === 'textarea'); - - return selection - .attr('autocomplete', 'off') - .attr('autocorrect', 'off') - .attr('autocapitalize', 'off') - .attr('spellcheck', isText ? 'true' : 'false'); - } - - // note the function should be of low priority - // and should not be returning a value. - function utilCallWhenIdle(func, timeout) { - return function() { - var args = arguments; - var that = this; - window.requestIdleCallback(function() { - func.apply(that, args); - }, {timeout: timeout}); - }; - } - - function utilCleanTags(tags) { - var out = {}; - for (var k in tags) { - if (!k) continue; - var v = tags[k]; - if (v !== undefined) { - out[k] = cleanValue(k, v); - } - } - - return out; - - - function cleanValue(k, v) { - function keepSpaces(k) { - return /_hours|_times|:conditional$/.test(k); - } - - function skip(k) { - return /^(description|note|fixme)$/.test(k); - } - - if (skip(k)) return v; - - var cleaned = v - .split(';') - .map(function(s) { return s.trim(); }) - .join(keepSpaces(k) ? '; ' : ';'); - - // The code below is not intended to validate websites and emails. - // It is only intended to prevent obvious copy-paste errors. (#2323) - // clean website- and email-like tags - if (k.indexOf('website') !== -1 || - k.indexOf('email') !== -1 || - cleaned.indexOf('http') === 0) { - cleaned = cleaned - .replace(/[\u200B-\u200F\uFEFF]/g, ''); // strip LRM and other zero width chars - - } - - return cleaned; - } - } - - // Like selection.property('value', ...), but avoids no-op value sets, - // which can result in layout/repaint thrashing in some situations. - function utilGetSetValue(selection, value) { - function d3_selection_value(value) { - function valueNull() { - delete this.value; - } - - function valueConstant() { - if (this.value !== value) { - this.value = value; - } - } - - function valueFunction() { - var x = value.apply(this, arguments); - if (x == null) { - delete this.value; - } else if (this.value !== x) { - this.value = x; - } - } - - return value == null - ? valueNull : (typeof value === 'function' - ? valueFunction : valueConstant); - } - - if (arguments.length === 1) { - return selection.property('value'); - } - - return selection.each(d3_selection_value(value)); - } - - function utilIdleWorker(tasks, processor, callback) { - var results = [], result; - for (var i = 0; i < tasks.length; i++) { - result = processor(tasks[i]); - if (result) results.push(result); - } - callback(results); - - // var processed = []; - // var currentPos = 0; - // var totalTasks = tasks.length; - - // function worker(deadline) { - // while (deadline.timeRemaining() > 0 && currentPos < totalTasks) { - // var result = processor(tasks[currentPos]); - - // // if falsy dont add to the processed list - // if (result) processed.push(result); - // currentPos++; - // } - - // // more tasks are left, we might need more idleCallbacks - // if (currentPos < totalTasks) { - // return window.requestIdleCallback(function(deadline) {worker(deadline);}); - // } - - // // tasks are completed - // return callback(processed); - // } - - // window.requestIdleCallback(function(deadline) {worker(deadline);}); - } - - // shim - window.requestIdleCallback = - window.requestIdleCallback || - function(cb) { - var start = Date.now(); - return setTimeout(function() { - cb({ - didTimeout: false, - timeRemaining: function() { - return Math.max(0, 50 - (Date.now() - start)); - } - }); - }, 1); - }; - - window.cancelIdleCallback = - window.cancelIdleCallback || - function(id) { - clearTimeout(id); - }; - - // Copies a variable number of methods from source to target. - function utilRebind(target, source) { - var i = 1, n = arguments.length, method; - while (++i < n) { - target[method = arguments[i]] = d3_rebind(target, source, source[method]); - } - return target; - } - - // Method is assumed to be a standard D3 getter-setter: - // If passed with no arguments, gets the value. - // If passed with arguments, sets the value and returns the target. - function d3_rebind(target, source, method) { - return function() { - var value = method.apply(source, arguments); - return value === source ? target : value; - }; - } - - // A per-domain session mutex backed by a cookie and dead man's - // switch. If the session crashes, the mutex will auto-release - // after 5 seconds. - - // This accepts a string and returns an object that complies with utilSessionMutexType - function utilSessionMutex(name) { - var mutex = {}; - var intervalID; - - function renew() { - var expires = new Date(); - expires.setSeconds(expires.getSeconds() + 5); - document.cookie = name + '=1; expires=' + expires.toUTCString(); - } - - mutex.lock = function () { - if (intervalID) return true; - var cookie = document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1'); - if (cookie) return false; - renew(); - intervalID = window.setInterval(renew, 4000); - return true; - }; - - mutex.unlock = function () { - if (!intervalID) return; - document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT'; - clearInterval(intervalID); - intervalID = null; - }; - - mutex.locked = function () { - return !!intervalID; - }; - - return mutex; - } - - function utilSuggestNames(preset, suggestions) { - preset = preset.id.split('/', 2); - var k = preset[0], - v = preset[1]; - - return function(value, callback) { - var result = []; - if (value && value.length > 2) { - if (suggestions[k] && suggestions[k][v]) { - for (var sugg in suggestions[k][v]) { - var dist = utilEditDistance(value, sugg.substring(0, value.length)); - if (dist < 3) { - result.push({ - title: sugg, - value: sugg, - dist: dist - }); - } - } - } - result.sort(function(a, b) { - return a.dist - b.dist; - }); - } - result = result.slice(0,3); - callback(result); - }; - } - - function utilTriggerEvent(target, type) { - target.each(function() { - var evt = document.createEvent('HTMLEvents'); - evt.initEvent(type, true, true); - this.dispatchEvent(evt); - }); - } - - function validationDeprecatedTag() { - - var validation = function(changes) { - var warnings = []; - for (var i = 0; i < changes.created.length; i++) { - var change = changes.created[i], - deprecatedTags = change.deprecatedTags(); - - if (!isEmpty(deprecatedTags)) { - var tags = utilTagText({ tags: deprecatedTags }); - warnings.push({ - id: 'deprecated_tags', - message: t('validations.deprecated_tags', { tags: tags }), - entity: change - }); - } - } - - return warnings; - }; - - - return validation; - } - - function validationDisconnectedHighway() { - - function isDisconnectedHighway(entity, graph) { - if (!entity.tags.highway) return false; - if (entity.geometry(graph) !== 'line') return false; - - return graph.childNodes(entity) - .every(function(vertex) { - var parents = graph.parentWays(vertex); - if (parents.length === 1) { // standalone vertex - return true; - } else { // shared vertex - return !vertex.tags.entrance && - parents.filter(function(parent) { - return parent.tags.highway && parent !== entity; - }).length === 0; - } - }); - } - - - var validation = function(changes, graph) { - var warnings = []; - for (var i = 0; i < changes.created.length; i++) { - var entity = changes.created[i]; - - if (isDisconnectedHighway(entity, graph)) { - warnings.push({ - id: 'disconnected_highway', - message: t('validations.disconnected_highway'), - tooltip: t('validations.disconnected_highway_tooltip'), - entity: entity - }); - } - } - - return warnings; - }; - - - return validation; - } - - function validationManyDeletions() { - var threshold = 100; - - var validation = function(changes, graph) { - var warnings = []; - var nodes=0, ways=0, areas=0, relations=0; - - changes.deleted.forEach(function(c) { - if (c.type === 'node') {nodes++;} - else if (c.type === 'way' && c.geometry(graph) === 'line') {ways++;} - else if (c.type === 'way' && c.geometry(graph) === 'area') {areas++;} - else if (c.type === 'relation') {relations++;} - }); - if (changes.deleted.length > threshold) { - warnings.push({ - id: 'many_deletions', - message: t('validations.many_deletions', - { n: changes.deleted.length, p: nodes, l: ways, a:areas, r: relations }) - }); - } - - return warnings; - }; - - - return validation; - } - - function validationMissingTag() { - - // Slightly stricter check than Entity#isUsed (#3091) - function hasTags(entity, graph) { - return without(Object.keys(entity.tags), 'area', 'name').length > 0 || - graph.parentRelations(entity).length > 0; - } - - var validation = function(changes, graph) { - var types = ['point', 'line', 'area', 'relation'], - warnings = []; - - for (var i = 0; i < changes.created.length; i++) { - var change = changes.created[i], - geometry = change.geometry(graph); - - if (types.indexOf(geometry) !== -1 && !hasTags(change, graph)) { - warnings.push({ - id: 'missing_tag', - message: t('validations.untagged_' + geometry), - tooltip: t('validations.untagged_' + geometry + '_tooltip'), - entity: change - }); - } - } - - return warnings; - }; - - - return validation; - } - - function validationOldMultipolygon() { - - return function validation(changes, graph) { - var warnings = []; - for (var i = 0; i < changes.created.length; i++) { - var entity = changes.created[i]; - var parent = osmIsSimpleMultipolygonOuterMember(entity, graph); - if (parent) { - warnings.push({ - id: 'old_multipolygon', - message: t('validations.old_multipolygon'), - tooltip: t('validations.old_multipolygon_tooltip'), - entity: parent - }); - } - } - return warnings; - }; - } - - // https://github.com/openstreetmap/josm/blob/mirror/src/org/ - // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80 - function validationTagSuggestsArea() { - - function tagSuggestsArea(tags) { - if (isEmpty(tags)) return false; - - var presence = ['landuse', 'amenities', 'tourism', 'shop']; - for (var i = 0; i < presence.length; i++) { - if (tags[presence[i]] !== undefined) { - return presence[i] + '=' + tags[presence[i]]; - } - } - - if (tags.building && tags.building === 'yes') return 'building=yes'; - } - - - var validation = function(changes, graph) { - var warnings = []; - for (var i = 0; i < changes.created.length; i++) { - var change = changes.created[i], - geometry = change.geometry(graph), - suggestion = (geometry === 'line' ? tagSuggestsArea(change.tags) : undefined); - - if (suggestion) { - warnings.push({ - id: 'tag_suggests_area', - message: t('validations.tag_suggests_area', { tag: suggestion }), - entity: change - }); - } - } - - return warnings; - }; - - - return validation; - } - - - - var Validations = /*#__PURE__*/Object.freeze({ - validationDeprecatedTag: validationDeprecatedTag, - validationDisconnectedHighway: validationDisconnectedHighway, - validationManyDeletions: validationManyDeletions, - validationMissingTag: validationMissingTag, - validationOldMultipolygon: validationOldMultipolygon, - validationTagSuggestsArea: validationTagSuggestsArea - }); - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **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 compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @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 object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ - function isEqual(value, other) { - return baseIsEqual(value, other); - } - - /* - iD.Difference represents the difference between two graphs. - It knows how to calculate the set of entities that were - created, modified, or deleted, and also contains the logic - for recursively extending a difference to the complete set - of entities that will require a redraw, taking into account - child and parent relationships. - */ - function coreDifference(base, head) { - var _changes = {}; - var _diff = {}; - var _length = 0; - var i, k, h, b, keys; - - function changed(h, b) { - if (h === b) return false; - if (!h || !b) return true; - - if (h.loc || b.loc) { - if (!h.loc && b.loc || h.loc && !b.loc || - h.loc[0] !== b.loc[0] || h.loc[1] !== b.loc[1]) return true; - } - if (h.nodes || b.nodes) { - if (!isEqual(h.nodes, b.nodes)) return true; - } - if (h.members || b.members) { - if (!isEqual(h.members, b.members)) return true; - } - return !isEqual(h.tags, b.tags); - } - - - keys = Object.keys(head.entities); - for (i = 0; i < keys.length; i++) { - k = keys[i]; - h = head.entities[k]; - b = base.entities[k]; - if (changed(h, b)) { - _changes[k] = {base: b, head: h}; - _length++; - } - } - - keys = Object.keys(base.entities); - for (i = 0; i < keys.length; i++) { - k = keys[i]; - h = head.entities[k]; - b = base.entities[k]; - if (!_changes[k] && changed(h, b)) { - _changes[k] = {base: b, head: h}; - _length++; - } - } - - - function addParents(parents, result) { - for (var i = 0; i < parents.length; i++) { - var parent = parents[i]; - - if (parent.id in result) - continue; - - result[parent.id] = parent; - addParents(head.parentRelations(parent), result); - } - } - - - _diff.length = function length() { - return _length; - }; - - - _diff.changes = function changes() { - return _changes; - }; - - - _diff.extantIDs = function extantIDs() { - var result = []; - forEach(_changes, function(change, id) { - if (change.head) result.push(id); - }); - return result; - }; - - - _diff.modified = function modified() { - var result = []; - forEach(_changes, function(change) { - if (change.base && change.head) result.push(change.head); - }); - return result; - }; - - - _diff.created = function created() { - var result = []; - forEach(_changes, function(change) { - if (!change.base && change.head) result.push(change.head); - }); - return result; - }; - - - _diff.deleted = function deleted() { - var result = []; - forEach(_changes, function(change) { - if (change.base && !change.head) result.push(change.base); - }); - return result; - }; - - - _diff.summary = function summary() { - var relevant = {}; - - function addEntity(entity, graph, changeType) { - relevant[entity.id] = { - entity: entity, - graph: graph, - changeType: changeType - }; - } - - function addParents(entity) { - var parents = head.parentWays(entity); - for (var j = parents.length - 1; j >= 0; j--) { - var parent = parents[j]; - if (!(parent.id in relevant)) addEntity(parent, head, 'modified'); - } - } - - var keys = Object.keys(_changes); - for (var i = 0; i < keys.length; i++) { - var change = _changes[keys[i]]; - - if (change.head && change.head.geometry(head) !== 'vertex') { - addEntity(change.head, head, change.base ? 'modified' : 'created'); - - } else if (change.base && change.base.geometry(base) !== 'vertex') { - addEntity(change.base, base, 'deleted'); - - } else if (change.base && change.head) { // modified vertex - var moved = !isEqual(change.base.loc, change.head.loc); - var retagged = !isEqual(change.base.tags, change.head.tags); - - if (moved) { - addParents(change.head); - } - - if (retagged || (moved && change.head.hasInterestingTags())) { - addEntity(change.head, head, 'modified'); - } - - } else if (change.head && change.head.hasInterestingTags()) { // created vertex - addEntity(change.head, head, 'created'); - - } else if (change.base && change.base.hasInterestingTags()) { // deleted vertex - addEntity(change.base, base, 'deleted'); - } - } - - return values$1(relevant); - }; - - - _diff.complete = function complete(extent) { - var result = {}; - var id, change; - - for (id in _changes) { - change = _changes[id]; - - var h = change.head; - var b = change.base; - var entity = h || b; - - if (extent && - (!h || !h.intersects(extent, head)) && - (!b || !b.intersects(extent, base))) - continue; - - result[id] = h; - - if (entity.type === 'way') { - var nh = h ? h.nodes : []; - var nb = b ? b.nodes : []; - var diff, i; - - diff = difference(nh, nb); - for (i = 0; i < diff.length; i++) { - result[diff[i]] = head.hasEntity(diff[i]); - } - - diff = difference(nb, nh); - for (i = 0; i < diff.length; i++) { - result[diff[i]] = head.hasEntity(diff[i]); - } - } - - addParents(head.parentWays(entity), result); - addParents(head.parentRelations(entity), result); - } - - return result; - }; - - - return _diff; - } - - /** Used for built-in method references. */ - var objectProto$18 = Object.prototype; - - /** Used to check objects for own properties. */ - var hasOwnProperty$15 = objectProto$18.hasOwnProperty; - - /** - * 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.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ - var assign = createAssigner(function(object, source) { - if (isPrototype(source) || isArrayLike(source)) { - copyObject(source, keys$1(source), object); - return; - } - for (var key in source) { - if (hasOwnProperty$15.call(source, key)) { - assignValue(object, key, source[key]); - } - } - }); - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeMax$3 = Math.max; - - /** - * 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/7.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 _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @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); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'a': 1, 'b': 2 }, 1); - * // => true - * - * _.includes('abcd', 'bc'); - * // => true - */ - function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values$1(collection); - fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; - - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax$3(length + fromIndex, 0); - } - return isString(collection) - ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) - : (!!length && baseIndexOf(collection, value, fromIndex) > -1); - } - - function coreGraph$$1(other, mutable) { - if (!(this instanceof coreGraph$$1)) return new coreGraph$$1(other, mutable); - - if (other instanceof coreGraph$$1) { - var base = other.base(); - this.entities = assign(Object.create(base.entities), other.entities); - this._parentWays = assign(Object.create(base.parentWays), other._parentWays); - this._parentRels = assign(Object.create(base.parentRels), other._parentRels); - - } else { - this.entities = Object.create({}); - this._parentWays = Object.create({}); - this._parentRels = Object.create({}); - this.rebase(other || [], [this]); - } - - this.transients = {}; - this._childNodes = {}; - this.frozen = !mutable; - } - - - coreGraph$$1.prototype = { - - hasEntity: function(id) { - return this.entities[id]; - }, - - - entity: function(id) { - var entity = this.entities[id]; - - //https://github.com/openstreetmap/iD/issues/3973#issuecomment-307052376 - if (!entity) { - entity = this.entities.__proto__[id]; // eslint-disable-line no-proto - } - - if (!entity) { - throw new Error('entity ' + id + ' not found'); - } - return entity; - }, - - - transient: function(entity, key, fn) { - var id = entity.id, - transients = this.transients[id] || - (this.transients[id] = {}); - - if (transients[key] !== undefined) { - return transients[key]; - } - - transients[key] = fn.call(entity); - - return transients[key]; - }, - - - parentWays: function(entity) { - var parents = this._parentWays[entity.id], - result = []; - - if (parents) { - for (var i = 0; i < parents.length; i++) { - result.push(this.entity(parents[i])); - } - } - return result; - }, - - - isPoi: function(entity) { - var parentWays = this._parentWays[entity.id]; - return !parentWays || parentWays.length === 0; - }, - - - isShared: function(entity) { - var parentWays = this._parentWays[entity.id]; - return parentWays && parentWays.length > 1; - }, - - - parentRelations: function(entity) { - var parents = this._parentRels[entity.id], - result = []; - - if (parents) { - for (var i = 0; i < parents.length; i++) { - result.push(this.entity(parents[i])); - } - } - return result; - }, - - - childNodes: function(entity) { - if (this._childNodes[entity.id]) return this._childNodes[entity.id]; - if (!entity.nodes) return []; - - var nodes = []; - for (var i = 0; i < entity.nodes.length; i++) { - nodes[i] = this.entity(entity.nodes[i]); - } - - if (debug) Object.freeze(nodes); - - this._childNodes[entity.id] = nodes; - return this._childNodes[entity.id]; - }, - - - base: function() { - return { - 'entities': utilGetPrototypeOf(this.entities), - 'parentWays': utilGetPrototypeOf(this._parentWays), - 'parentRels': utilGetPrototypeOf(this._parentRels) - }; - }, - - - // Unlike other graph methods, rebase mutates in place. This is because it - // is used only during the history operation that merges newly downloaded - // data into each state. To external consumers, it should appear as if the - // graph always contained the newly downloaded data. - rebase: function(entities, stack, force) { - var base = this.base(), - i, j, k, id; - - for (i = 0; i < entities.length; i++) { - var entity = entities[i]; - - if (!entity.visible || (!force && base.entities[entity.id])) - continue; - - // Merging data into the base graph - base.entities[entity.id] = entity; - this._updateCalculated(undefined, entity, base.parentWays, base.parentRels); - - // Restore provisionally-deleted nodes that are discovered to have an extant parent - if (entity.type === 'way') { - for (j = 0; j < entity.nodes.length; j++) { - id = entity.nodes[j]; - for (k = 1; k < stack.length; k++) { - var ents = stack[k].entities; - if (ents.hasOwnProperty(id) && ents[id] === undefined) { - delete ents[id]; - } - } - } - } - } - - for (i = 0; i < stack.length; i++) { - stack[i]._updateRebased(); - } - }, - - - _updateRebased: function() { - var base = this.base(), - i, k, child, id, keys; - - keys = Object.keys(this._parentWays); - for (i = 0; i < keys.length; i++) { - child = keys[i]; - if (base.parentWays[child]) { - for (k = 0; k < base.parentWays[child].length; k++) { - id = base.parentWays[child][k]; - if (!this.entities.hasOwnProperty(id) && !includes(this._parentWays[child], id)) { - this._parentWays[child].push(id); - } - } - } - } - - keys = Object.keys(this._parentRels); - for (i = 0; i < keys.length; i++) { - child = keys[i]; - if (base.parentRels[child]) { - for (k = 0; k < base.parentRels[child].length; k++) { - id = base.parentRels[child][k]; - if (!this.entities.hasOwnProperty(id) && !includes(this._parentRels[child], id)) { - this._parentRels[child].push(id); - } - } - } - } - - this.transients = {}; - - // this._childNodes is not updated, under the assumption that - // ways are always downloaded with their child nodes. - }, - - - // Updates calculated properties (parentWays, parentRels) for the specified change - _updateCalculated: function(oldentity, entity, parentWays, parentRels) { - - parentWays = parentWays || this._parentWays; - parentRels = parentRels || this._parentRels; - - var type = entity && entity.type || oldentity && oldentity.type, - removed, added, ways, rels, i; - - - if (type === 'way') { - - // Update parentWays - if (oldentity && entity) { - removed = difference(oldentity.nodes, entity.nodes); - added = difference(entity.nodes, oldentity.nodes); - } else if (oldentity) { - removed = oldentity.nodes; - added = []; - } else if (entity) { - removed = []; - added = entity.nodes; - } - for (i = 0; i < removed.length; i++) { - parentWays[removed[i]] = without(parentWays[removed[i]], oldentity.id); - } - for (i = 0; i < added.length; i++) { - ways = without(parentWays[added[i]], entity.id); - ways.push(entity.id); - parentWays[added[i]] = ways; - } - - } else if (type === 'relation') { - - // Update parentRels - if (oldentity && entity) { - removed = difference(oldentity.members, entity.members); - added = difference(entity.members, oldentity); - } else if (oldentity) { - removed = oldentity.members; - added = []; - } else if (entity) { - removed = []; - added = entity.members; - } - for (i = 0; i < removed.length; i++) { - parentRels[removed[i].id] = without(parentRels[removed[i].id], oldentity.id); - } - for (i = 0; i < added.length; i++) { - rels = without(parentRels[added[i].id], entity.id); - rels.push(entity.id); - parentRels[added[i].id] = rels; - } - } - }, - - - replace: function(entity) { - if (this.entities[entity.id] === entity) - return this; - - return this.update(function() { - this._updateCalculated(this.entities[entity.id], entity); - this.entities[entity.id] = entity; - }); - }, - - - remove: function(entity) { - return this.update(function() { - this._updateCalculated(entity, undefined); - this.entities[entity.id] = undefined; - }); - }, - - - revert: function(id) { - var baseEntity = this.base().entities[id], - headEntity = this.entities[id]; - - if (headEntity === baseEntity) - return this; - - return this.update(function() { - this._updateCalculated(headEntity, baseEntity); - delete this.entities[id]; - }); - }, - - - update: function() { - var graph = this.frozen ? coreGraph$$1(this, true) : this; - - for (var i = 0; i < arguments.length; i++) { - arguments[i].call(graph, graph); - } - - if (this.frozen) graph.frozen = true; - - return graph; - }, - - - // Obliterates any existing entities - load: function(entities) { - var base = this.base(); - this.entities = Object.create(base.entities); - - for (var i in entities) { - this.entities[i] = entities[i]; - this._updateCalculated(base.entities[i], this.entities[i]); - } - - return this; - } - }; - - function coreTree(head) { - var rtree = rbush_1(), - bboxes = {}, - tree = {}; - - - function entityBBox(entity) { - var bbox = entity.extent(head).bbox(); - bbox.id = entity.id; - bboxes[entity.id] = bbox; - return bbox; - } - - - function updateParents(entity, insertions, memo) { - head.parentWays(entity).forEach(function(way) { - if (bboxes[way.id]) { - rtree.remove(bboxes[way.id]); - insertions[way.id] = way; - } - updateParents(way, insertions, memo); - }); - - head.parentRelations(entity).forEach(function(relation) { - if (memo[entity.id]) return; - memo[entity.id] = true; - if (bboxes[relation.id]) { - rtree.remove(bboxes[relation.id]); - insertions[relation.id] = relation; - } - updateParents(relation, insertions, memo); - }); - } - - - tree.rebase = function(entities, force) { - var insertions = {}; - - for (var i = 0; i < entities.length; i++) { - var entity = entities[i]; - - if (!entity.visible) - continue; - - if (head.entities.hasOwnProperty(entity.id) || bboxes[entity.id]) { - if (!force) { - continue; - } else if (bboxes[entity.id]) { - rtree.remove(bboxes[entity.id]); - } - } - - insertions[entity.id] = entity; - updateParents(entity, insertions, {}); - } - - rtree.load(map$3(insertions, entityBBox)); - - return tree; - }; - - - tree.intersects = function(extent, graph) { - if (graph !== head) { - var diff = coreDifference(head, graph), - insertions = {}; - - head = graph; - - diff.deleted().forEach(function(entity) { - rtree.remove(bboxes[entity.id]); - delete bboxes[entity.id]; - }); - - diff.modified().forEach(function(entity) { - rtree.remove(bboxes[entity.id]); - insertions[entity.id] = entity; - updateParents(entity, insertions, {}); - }); - - diff.created().forEach(function(entity) { - insertions[entity.id] = entity; - }); - - rtree.load(map$3(insertions, entityBBox)); - } - - return rtree.search(extent.bbox()).map(function(bbox) { - return head.entity(bbox.id); - }); - }; - - - return tree; - } - - /* - * This code is licensed under the MIT license. - * - * Copyright © 2013, iD authors. - * - * Portions copyright © 2011, Keith Cirkel - * See https://github.com/keithamus/jwerty - * - */ - function d3keybinding(namespace$$1) { - var bindings = []; - - - function testBindings(isCapturing) { - var didMatch = false, - i, binding; - - // Most key shortcuts will accept either lower or uppercase ('h' or 'H'), - // so we don't strictly match on the shift key, but we prioritize - // shifted bindings first, and fallback to unshifted only if no match. - // (This lets us differentiate between '←'/'⇧←' or '⌘Z'/'⌘⇧Z') - - // priority match shifted bindings first - for (i = 0; i < bindings.length; i++) { - binding = bindings[i]; - if (!binding.event.modifiers.shiftKey) continue; // no shift - if (!!binding.capture !== isCapturing) continue; - if (matches(binding, true)) { - binding.callback(); - didMatch = true; - } - } - - // then unshifted bindings - if (didMatch) return; - for (i = 0; i < bindings.length; i++) { - binding = bindings[i]; - if (binding.event.modifiers.shiftKey) continue; // shift - if (!!binding.capture !== isCapturing) continue; - if (matches(binding, false)) { - binding.callback(); - } - } - - - function matches(binding, testShift) { - var event$$1 = event; - var isMatch = false; - var tryKeyCode = true; - - // Prefer a match on `KeyboardEvent.key` - if (event$$1.key !== undefined) { - tryKeyCode = (event$$1.key.charCodeAt(0) > 255); // outside ISO-Latin-1 - isMatch = true; - - if (binding.event.key === undefined) { - isMatch = false; - } else if (Array.isArray(binding.event.key)) { - if (binding.event.key.map(function(s) { return s.toLowerCase(); }).indexOf(event$$1.key.toLowerCase()) === -1) - isMatch = false; - } else { - if (event$$1.key.toLowerCase() !== binding.event.key.toLowerCase()) - isMatch = false; - } - } - - // Fallback match on `KeyboardEvent.keyCode`, can happen if: - // - browser doesn't support `KeyboardEvent.key` - // - `KeyboardEvent.key` is outside ISO-Latin-1 range (cyrillic?) - if (!isMatch && tryKeyCode) { - isMatch = (event$$1.keyCode === binding.event.keyCode); - } - - if (!isMatch) return false; - - // test modifier keys - if (!(event$$1.ctrlKey && event$$1.altKey)) { // if both are set, assume AltGr and skip it - #4096 - if (event$$1.ctrlKey !== binding.event.modifiers.ctrlKey) return false; - if (event$$1.altKey !== binding.event.modifiers.altKey) return false; - } - if (event$$1.metaKey !== binding.event.modifiers.metaKey) return false; - if (testShift && event$$1.shiftKey !== binding.event.modifiers.shiftKey) return false; - - return true; - } - } - - - function capture() { - testBindings(true); - } - - - function bubble() { - var tagName = select(event.target).node().tagName; - if (tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA') { - return; - } - testBindings(false); - } - - - function keybinding(selection$$1) { - selection$$1 = selection$$1 || select(document); - selection$$1.on('keydown.capture' + namespace$$1, capture, true); - selection$$1.on('keydown.bubble' + namespace$$1, bubble, false); - return keybinding; - } - - - keybinding.off = function(selection$$1) { - bindings = []; - selection$$1 = selection$$1 || select(document); - selection$$1.on('keydown.capture' + namespace$$1, null); - selection$$1.on('keydown.bubble' + namespace$$1, null); - return keybinding; - }; - - - keybinding.on = function(codes, callback, capture) { - var arr = [].concat(codes); - for (var i = 0; i < arr.length; i++) { - var code = arr[i]; - var binding = { - event: { - key: undefined, // preferred - keyCode: 0, // fallback - modifiers: { - shiftKey: false, - ctrlKey: false, - altKey: false, - metaKey: false - } - }, - capture: capture, - callback: callback - }; - - code = code.toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g); - - for (var j = 0; j < code.length; j++) { - // Normalise matching errors - if (code[j] === '++') code[j] = '+'; - - if (code[j] in d3keybinding.modifierCodes) { - binding.event.modifiers[d3keybinding.modifierProperties[d3keybinding.modifierCodes[code[j]]]] = true; - } else { - binding.event.key = d3keybinding.keys[code[j]] || code[j]; - if (code[j] in d3keybinding.keyCodes) { - binding.event.keyCode = d3keybinding.keyCodes[code[j]]; - } - } - } - - bindings.push(binding); - } - - return keybinding; - }; - - return keybinding; - } - - - d3keybinding.modifierCodes = { - // Shift key, ⇧ - '⇧': 16, shift: 16, - // CTRL key, on Mac: ⌃ - '⌃': 17, ctrl: 17, - // ALT key, on Mac: ⌥ (Alt) - '⌥': 18, alt: 18, option: 18, - // META, on Mac: ⌘ (CMD), on Windows (Win), on Linux (Super) - '⌘': 91, meta: 91, cmd: 91, 'super': 91, win: 91 - }; - - d3keybinding.modifierProperties = { - 16: 'shiftKey', - 17: 'ctrlKey', - 18: 'altKey', - 91: 'metaKey' - }; - - d3keybinding.keys = { - // Backspace key, on Mac: ⌫ (Backspace) - '⌫': 'Backspace', backspace: 'Backspace', - // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥ - '⇥': 'Tab', '⇆': 'Tab', tab: 'Tab', - // Return key, ↩ - '↩': 'Enter', 'return': 'Enter', enter: 'Enter', '⌅': 'Enter', - // Pause/Break key - 'pause': 'Pause', 'pause-break': 'Pause', - // Caps Lock key, ⇪ - '⇪': 'CapsLock', caps: 'CapsLock', 'caps-lock': 'CapsLock', - // Escape key, on Mac: ⎋, on Windows: Esc - '⎋': ['Escape', 'Esc'], escape: ['Escape', 'Esc'], esc: ['Escape', 'Esc'], - // Space key - space: [' ', 'Spacebar'], - // Page-Up key, or pgup, on Mac: ↖ - '↖': 'PageUp', pgup: 'PageUp', 'page-up': 'PageUp', - // Page-Down key, or pgdown, on Mac: ↘ - '↘': 'PageDown', pgdown: 'PageDown', 'page-down': 'PageDown', - // END key, on Mac: ⇟ - '⇟': 'End', end: 'End', - // HOME key, on Mac: ⇞ - '⇞': 'Home', home: 'Home', - // Insert key, or ins - ins: 'Insert', insert: 'Insert', - // Delete key, on Mac: ⌦ (Delete) - '⌦': ['Delete', 'Del'], del: ['Delete', 'Del'], 'delete': ['Delete', 'Del'], - // Left Arrow Key, or ← - '←': ['ArrowLeft', 'Left'], left: ['ArrowLeft', 'Left'], 'arrow-left': ['ArrowLeft', 'Left'], - // Up Arrow Key, or ↑ - '↑': ['ArrowUp', 'Up'], up: ['ArrowUp', 'Up'], 'arrow-up': ['ArrowUp', 'Up'], - // Right Arrow Key, or → - '→': ['ArrowRight', 'Right'], right: ['ArrowRight', 'Right'], 'arrow-right': ['ArrowRight', 'Right'], - // Up Arrow Key, or ↓ - '↓': ['ArrowDown', 'Down'], down: ['ArrowDown', 'Down'], 'arrow-down': ['ArrowDown', 'Down'], - // odities, stuff for backward compatibility (browsers and code): - // Num-Multiply, or * - '*': ['*', 'Multiply'], star: ['*', 'Multiply'], asterisk: ['*', 'Multiply'], multiply: ['*', 'Multiply'], - // Num-Plus or + - '+': ['+', 'Add'], 'plus': ['+', 'Add'], - // Num-Subtract, or - - '-': ['-', 'Subtract'], subtract: ['-', 'Subtract'], 'dash': ['-', 'Subtract'], - // Semicolon - semicolon: ';', - // = or equals - equals: '=', - // Comma, or , - comma: ',', - // Period, or ., or full-stop - period: '.', 'full-stop': '.', - // Slash, or /, or forward-slash - slash: '/', 'forward-slash': '/', - // Tick, or `, or back-quote - tick: '`', 'back-quote': '`', - // Open bracket, or [ - 'open-bracket': '[', - // Back slash, or \ - 'back-slash': '\\', - // Close backet, or ] - 'close-bracket': ']', - // Apostrophe, or Quote, or ' - quote: '\'', apostrophe: '\'', - // NUMPAD 0-9 - 'num-0': '0', - 'num-1': '1', - 'num-2': '2', - 'num-3': '3', - 'num-4': '4', - 'num-5': '5', - 'num-6': '6', - 'num-7': '7', - 'num-8': '8', - 'num-9': '9', - // F1-F25 - f1: 'F1', - f2: 'F2', - f3: 'F3', - f4: 'F4', - f5: 'F5', - f6: 'F6', - f7: 'F7', - f8: 'F8', - f9: 'F9', - f10: 'F10', - f11: 'F11', - f12: 'F12', - f13: 'F13', - f14: 'F14', - f15: 'F15', - f16: 'F16', - f17: 'F17', - f18: 'F18', - f19: 'F19', - f20: 'F20', - f21: 'F21', - f22: 'F22', - f23: 'F23', - f24: 'F24', - f25: 'F25' - }; - - d3keybinding.keyCodes = { - // Backspace key, on Mac: ⌫ (Backspace) - '⌫': 8, backspace: 8, - // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥ - '⇥': 9, '⇆': 9, tab: 9, - // Return key, ↩ - '↩': 13, 'return': 13, enter: 13, '⌅': 13, - // Pause/Break key - 'pause': 19, 'pause-break': 19, - // Caps Lock key, ⇪ - '⇪': 20, caps: 20, 'caps-lock': 20, - // Escape key, on Mac: ⎋, on Windows: Esc - '⎋': 27, escape: 27, esc: 27, - // Space key - space: 32, - // Page-Up key, or pgup, on Mac: ↖ - '↖': 33, pgup: 33, 'page-up': 33, - // Page-Down key, or pgdown, on Mac: ↘ - '↘': 34, pgdown: 34, 'page-down': 34, - // END key, on Mac: ⇟ - '⇟': 35, end: 35, - // HOME key, on Mac: ⇞ - '⇞': 36, home: 36, - // Insert key, or ins - ins: 45, insert: 45, - // Delete key, on Mac: ⌦ (Delete) - '⌦': 46, del: 46, 'delete': 46, - // Left Arrow Key, or ← - '←': 37, left: 37, 'arrow-left': 37, - // Up Arrow Key, or ↑ - '↑': 38, up: 38, 'arrow-up': 38, - // Right Arrow Key, or → - '→': 39, right: 39, 'arrow-right': 39, - // Up Arrow Key, or ↓ - '↓': 40, down: 40, 'arrow-down': 40, - // odities, printing characters that come out wrong: - // Firefox Equals - 'ffequals': 61, - // Num-Multiply, or * - '*': 106, star: 106, asterisk: 106, multiply: 106, - // Num-Plus or + - '+': 107, 'plus': 107, - // Num-Subtract, or - - '-': 109, subtract: 109, - // Firefox Plus - 'ffplus': 171, - // Firefox Minus - 'ffminus': 173, - // Semicolon - ';': 186, semicolon: 186, - // = or equals - '=': 187, 'equals': 187, - // Comma, or , - ',': 188, comma: 188, - // Dash / Underscore key - 'dash': 189, - // Period, or ., or full-stop - '.': 190, period: 190, 'full-stop': 190, - // Slash, or /, or forward-slash - '/': 191, slash: 191, 'forward-slash': 191, - // Tick, or `, or back-quote - '`': 192, tick: 192, 'back-quote': 192, - // Open bracket, or [ - '[': 219, 'open-bracket': 219, - // Back slash, or \ - '\\': 220, 'back-slash': 220, - // Close backet, or ] - ']': 221, 'close-bracket': 221, - // Apostrophe, or Quote, or ' - '\'': 222, quote: 222, apostrophe: 222 - }; - - // NUMPAD 0-9 - var i$1 = 95, n = 0; - while (++i$1 < 106) { - d3keybinding.keyCodes['num-' + n] = i$1; - ++n; - } - - // 0-9 - i$1 = 47; n = 0; - while (++i$1 < 58) { - d3keybinding.keyCodes[n] = i$1; - ++n; - } - - // F1-F25 - i$1 = 111; n = 1; - while (++i$1 < 136) { - d3keybinding.keyCodes['f' + n] = i$1; - ++n; - } - - // a-z - i$1 = 64; - while (++i$1 < 91) { - d3keybinding.keyCodes[String.fromCharCode(i$1).toLowerCase()] = i$1; - } - - function tooltip() { - var tooltip = function(selection$$1) { - selection$$1.each(setup); - }, - animation = utilFunctor(false), - html = utilFunctor(false), - title = function() { - var title = this.getAttribute('data-original-title'); - if (title) { - return title; - } else { - title = this.getAttribute('title'); - this.removeAttribute('title'); - this.setAttribute('data-original-title', title); - } - return title; - }, - over = 'mouseenter.tooltip', - out = 'mouseleave.tooltip', - placement = utilFunctor('top'); - - - tooltip.title = function(_) { - if (arguments.length) { - title = utilFunctor(_); - return tooltip; - } else { - return title; - } - }; - - - tooltip.html = function(_) { - if (arguments.length) { - html = utilFunctor(_); - return tooltip; - } else { - return html; - } - }; - - - tooltip.placement = function(_) { - if (arguments.length) { - placement = utilFunctor(_); - return tooltip; - } else { - return placement; - } - }; - - - tooltip.show = function(selection$$1) { - selection$$1.each(show); - }; - - - tooltip.hide = function(selection$$1) { - selection$$1.each(hide); - }; - - - tooltip.toggle = function(selection$$1) { - selection$$1.each(toggle); - }; - - - tooltip.destroy = function(selection$$1) { - selection$$1 - .on(over, null) - .on(out, null) - .attr('title', function() { - return this.getAttribute('data-original-title') || this.getAttribute('title'); - }) - .attr('data-original-title', null) - .selectAll('.tooltip') - .remove(); - }; - - - function setup() { - var root = select(this), - animate = animation.apply(this, arguments), - tip = root.selectAll('.tooltip').data([0]); - - var enter = tip.enter() - .append('div') - .attr('class', 'tooltip'); - - enter - .append('div') - .attr('class', 'tooltip-arrow'); - - enter - .append('div') - .attr('class', 'tooltip-inner'); - - tip = enter - .merge(tip); - - if (animate) { - tip.classed('fade', true); - } - - var place = placement.apply(this, arguments); - tip.classed(place, true); - - root.on(over, show); - root.on(out, hide); - } - - - function show() { - var root = select(this), - content = title.apply(this, arguments), - tip = root.selectAll('.tooltip') - .classed('in', true), - markup = html.apply(this, arguments); - - tip.selectAll('.tooltip-inner')[markup ? 'html' : 'text'](content); - var place = placement.apply(this, arguments), - outer = getPosition(root.node()), - inner = getPosition(tip.node()), - pos; - - switch (place) { - case 'top': - pos = {x: outer.x + (outer.w - inner.w) / 2, y: outer.y - inner.h}; - break; - case 'right': - pos = {x: outer.x + outer.w, y: outer.y + (outer.h - inner.h) / 2}; - break; - case 'left': - pos = {x: outer.x - inner.w, y: outer.y + (outer.h - inner.h) / 2}; - break; - case 'bottom': - pos = {x: Math.max(0, outer.x + (outer.w - inner.w) / 2), y: outer.y + outer.h}; - break; - } - - if (pos) { - tip.style('left', ~~pos.x + 'px').style('top', ~~pos.y + 'px'); - } else { - tip.style('left', null).style('top', null); - } - - this.tooltipVisible = true; - } - - - function hide() { - select(this).selectAll('.tooltip') - .classed('in', false); - - this.tooltipVisible = false; - } - - - function toggle() { - if (this.tooltipVisible) { - hide.apply(this, arguments); - } else { - show.apply(this, arguments); - } - } - - return tooltip; - } - - - function getPosition(node) { - var mode = select(node).style('position'); - if (mode === 'absolute' || mode === 'static') { - return { - x: node.offsetLeft, - y: node.offsetTop, - w: node.offsetWidth, - h: node.offsetHeight - }; - } else { - return { - x: 0, - y: 0, - w: node.offsetWidth, - h: node.offsetHeight - }; - } - } - - function behaviorEdit(context) { - - function edit() { - context.map() - .minzoom(context.minEditableZoom()); - } - - - edit.off = function() { - context.map() - .minzoom(0); - }; - - - return edit; - } - - /* - The hover behavior adds the `.hover` class on mouseover to all elements to which - the identical datum is bound, and removes it on mouseout. - - The :hover pseudo-class is insufficient for iD's purposes because a datum's visual - representation may consist of several elements scattered throughout the DOM hierarchy. - Only one of these elements can have the :hover pseudo-class, but all of them will - have the .hover class. - */ - function behaviorHover(context) { - var dispatch$$1 = dispatch('hover'); - var _selection = select(null); - var _newId = null; - var _buttonDown; - var _altDisables; - var _target; - - - function keydown() { - if (_altDisables && event.keyCode === d3keybinding.modifierCodes.alt) { - _selection.selectAll('.hover') - .classed('hover-suppressed', true) - .classed('hover', false); - - _selection - .classed('hover-disabled', true); - - dispatch$$1.call('hover', this, null); - } - } - - - function keyup() { - if (_altDisables && event.keyCode === d3keybinding.modifierCodes.alt) { - _selection.selectAll('.hover-suppressed') - .classed('hover-suppressed', false) - .classed('hover', true); - - _selection - .classed('hover-disabled', false); - - dispatch$$1.call('hover', this, _target ? _target.id : null); - } - } - - - var hover = function(selection$$1) { - _selection = selection$$1; - _newId = null; - - _selection - .on('mouseover.hover', mouseover) - .on('mouseout.hover', mouseout) - .on('mousedown.hover', mousedown); - - select(window) - .on('keydown.hover', keydown) - .on('keyup.hover', keyup); - - - function mouseover() { - if (_buttonDown) return; - var target = event.target; - enter(target ? target.__data__ : null); - } - - - function mouseout() { - if (_buttonDown) return; - var target = event.relatedTarget; - enter(target ? target.__data__ : null); - } - - - function mousedown() { - _buttonDown = true; - select(window) - .on('mouseup.hover', mouseup, true); - } - - - function mouseup() { - _buttonDown = false; - select(window) - .on('mouseup.hover', null, true); - } - - - function enter(datum) { - if (datum === _target) return; - _target = datum; - - _selection.selectAll('.hover') - .classed('hover', false); - _selection.selectAll('.hover-suppressed') - .classed('hover-suppressed', false); - - var entity; - if (datum instanceof osmEntity$$1) { - entity = datum; - } else { - entity = datum && datum.properties && datum.properties.entity; - } - - if (entity && entity.id !== _newId) { - // If drawing a way, don't hover on a node that was just placed. #3974 - var mode = context.mode() && context.mode().id; - if ((mode === 'draw-line' || mode === 'draw-area') && !_newId && entity.type === 'node') { - _newId = entity.id; - return; - } - - var selector$$1 = '.' + entity.id; - - if (entity.type === 'relation') { - entity.members.forEach(function(member) { - selector$$1 += ', .' + member.id; - }); - } - - var suppressed = _altDisables && event && event.altKey; - - _selection.selectAll(selector$$1) - .classed(suppressed ? 'hover-suppressed' : 'hover', true); - - dispatch$$1.call('hover', this, !suppressed && entity.id); - - } else { - dispatch$$1.call('hover', this, null); - } - } - - }; - - - hover.off = function(selection$$1) { - selection$$1.selectAll('.hover') - .classed('hover', false); - selection$$1.selectAll('.hover-suppressed') - .classed('hover-suppressed', false); - selection$$1 - .classed('hover-disabled', false); - - selection$$1 - .on('mouseover.hover', null) - .on('mouseout.hover', null) - .on('mousedown.hover', null); - - select(window) - .on('keydown.hover', null) - .on('keyup.hover', null); - }; - - - hover.altDisables = function(_) { - if (!arguments.length) return _altDisables; - _altDisables = _; - return hover; - }; - - - return utilRebind(hover, dispatch$$1, 'on'); - } - - function refresh(selection, node) { - var cr = node.getBoundingClientRect(); - var prop = [cr.width, cr.height]; - selection.property('__dimensions__', prop); - return prop; - } - - function utilGetDimensions(selection, force) { - if (!selection || selection.empty()) { - return [0, 0]; - } - var node = selection.node(), - cached = selection.property('__dimensions__'); - return (!cached || force) ? refresh(selection, node) : cached; - } - - - function utilSetDimensions(selection, dimensions) { - if (!selection || selection.empty()) { - return selection; - } - var node = selection.node(); - if (dimensions === null) { - refresh(selection, node); - return selection; - } - return selection - .property('__dimensions__', [dimensions[0], dimensions[1]]) - .attr('width', dimensions[0]) - .attr('height', dimensions[1]); - } - - function behaviorTail() { - var text, - container, - xmargin = 25, - tooltipSize = [0, 0], - selectionSize = [0, 0]; - - - function tail(selection$$1) { - if (!text) return; - - select(window) - .on('resize.tail', function() { selectionSize = utilGetDimensions(selection$$1); }); - - container = select(document.body) - .append('div') - .style('display', 'none') - .attr('class', 'tail tooltip-inner'); - - container.append('div') - .text(text); - - selection$$1 - .on('mousemove.tail', mousemove) - .on('mouseenter.tail', mouseenter) - .on('mouseleave.tail', mouseleave); - - container - .on('mousemove.tail', mousemove); - - tooltipSize = utilGetDimensions(container); - selectionSize = utilGetDimensions(selection$$1); - - - function show() { - container.style('display', 'block'); - tooltipSize = utilGetDimensions(container); - } - - - function mousemove() { - if (container.style('display') === 'none') show(); - var xoffset = ((event.clientX + tooltipSize[0] + xmargin) > selectionSize[0]) ? - -tooltipSize[0] - xmargin : xmargin; - container.classed('left', xoffset > 0); - utilSetTransform(container, event.clientX + xoffset, event.clientY); - } - - - function mouseleave() { - if (event.relatedTarget !== container.node()) { - container.style('display', 'none'); - } - } - - - function mouseenter() { - if (event.relatedTarget !== container.node()) { - show(); - } - } - } - - - tail.off = function(selection$$1) { - if (!text) return; - - container - .on('mousemove.tail', null) - .remove(); - - selection$$1 - .on('mousemove.tail', null) - .on('mouseenter.tail', null) - .on('mouseleave.tail', null); - - select(window) - .on('resize.tail', null); - }; - - - tail.text = function(_) { - if (!arguments.length) return text; - text = _; - return tail; - }; - - - return tail; - } - - var _usedTails = {}; - var _disableSpace = false; - var _lastSpace = null; - - - function behaviorDraw(context) { - var dispatch$$1 = dispatch( - 'move', 'click', 'clickWay', 'clickNode', 'undo', 'cancel', 'finish' - ); - - var keybinding = d3keybinding('draw'); - - var hover = behaviorHover(context).altDisables(true) - .on('hover', context.ui().sidebar.hover); - var tail = behaviorTail(); - var edit = behaviorEdit(context); - - var closeTolerance = 4; - var tolerance = 12; - var _mouseLeave = false; - var _lastMouse = null; - - - // related code - // - `mode/drag_node.js` `datum()` - function datum() { - if (event.altKey) return {}; - - var element; - if (event.type === 'keydown') { - element = _lastMouse && _lastMouse.target; - } else { - element = event.target; - } - - // When drawing, snap only to touch targets.. - // (this excludes area fills and active drawing elements) - var d = element.__data__; - return (d && d.properties && d.properties.target) ? d : {}; - } - - - function mousedown() { - - function point$$1() { - var p = context.container().node(); - return touchId !== null ? d3_touches(p).filter(function(p) { - return p.identifier === touchId; - })[0] : mouse(p); - } - - var element = select(this); - var touchId = event.touches ? event.changedTouches[0].identifier : null; - var t1 = +new Date(); - var p1 = point$$1(); - - element.on('mousemove.draw', null); - - select(window).on('mouseup.draw', function() { - var t2 = +new Date(); - var p2 = point$$1(); - var dist = geoVecLength(p1, p2); - - element.on('mousemove.draw', mousemove); - select(window).on('mouseup.draw', null); - - if (dist < closeTolerance || (dist < tolerance && (t2 - t1) < 500)) { - // Prevent a quick second click - select(window).on('click.draw-block', function() { - event.stopPropagation(); - }, true); - - context.map().dblclickEnable(false); - - window.setTimeout(function() { - context.map().dblclickEnable(true); - select(window).on('click.draw-block', null); - }, 500); - - click(); - } - }, true); - } - - - function mousemove() { - _lastMouse = event; - dispatch$$1.call('move', this, datum()); - } - - - function mouseenter() { - _mouseLeave = false; - } - - - function mouseleave() { - _mouseLeave = true; - } - - - // related code - // - `mode/drag_node.js` `doMode()` - // - `behavior/draw.js` `click()` - // - `behavior/draw_way.js` `move()` - function click() { - var d = datum(); - var target = d && d.properties && d.properties.entity; - - if (target && target.type === 'node') { // Snap to a node - dispatch$$1.call('clickNode', this, target, d); - return; - - } else if (target && target.type === 'way') { // Snap to a way - var choice = geoChooseEdge( - context.childNodes(target), context.mouse(), context.projection, context.activeID() - ); - if (choice) { - var edge = [target.nodes[choice.index - 1], target.nodes[choice.index]]; - dispatch$$1.call('clickWay', this, choice.loc, edge, d); - return; - } - } - - dispatch$$1.call('click', this, context.map().mouseCoordinates(), d); - } - - - function space() { - event.preventDefault(); - event.stopPropagation(); - - var currSpace = context.mouse(); - if (_disableSpace && _lastSpace) { - var dist = geoVecLength(_lastSpace, currSpace); - if (dist > tolerance) { - _disableSpace = false; - } - } - - if (_disableSpace || _mouseLeave || !_lastMouse) return; - - // user must move mouse or release space bar to allow another click - _lastSpace = currSpace; - _disableSpace = true; - - select(window).on('keyup.space-block', function() { - event.preventDefault(); - event.stopPropagation(); - _disableSpace = false; - select(window).on('keyup.space-block', null); - }); - - click(); - } - - - function backspace() { - event.preventDefault(); - dispatch$$1.call('undo'); - } - - - function del() { - event.preventDefault(); - dispatch$$1.call('cancel'); - } - - - function ret() { - event.preventDefault(); - dispatch$$1.call('finish'); - } - - - function draw(selection$$1) { - context.install(hover); - context.install(edit); - - if (!context.inIntro() && !_usedTails[tail.text()]) { - context.install(tail); - } - - keybinding - .on('⌫', backspace) - .on('⌦', del) - .on('⎋', ret) - .on('↩', ret) - .on('space', space) - .on('⌥space', space); - - selection$$1 - .on('mouseenter.draw', mouseenter) - .on('mouseleave.draw', mouseleave) - .on('mousedown.draw', mousedown) - .on('mousemove.draw', mousemove); - - select(document) - .call(keybinding); - - return draw; - } - - - draw.off = function(selection$$1) { - context.ui().sidebar.hover.cancel(); - context.uninstall(hover); - context.uninstall(edit); - - if (!context.inIntro() && !_usedTails[tail.text()]) { - context.uninstall(tail); - _usedTails[tail.text()] = true; - } - - selection$$1 - .on('mouseenter.draw', null) - .on('mouseleave.draw', null) - .on('mousedown.draw', null) - .on('mousemove.draw', null); - - select(window) - .on('mouseup.draw', null); - // note: keyup.space-block, click.draw-block should remain - - select(document) - .call(keybinding.off); - }; - - - draw.tail = function(_) { - tail.text(_); - return draw; - }; - - - return utilRebind(draw, dispatch$$1, 'on'); - } - - function modeAddArea$$1(context) { - var mode = { - id: 'add-area', - button: 'area', - title: t('modes.add_area.title'), - description: t('modes.add_area.description'), - key: '3' - }; - - var behavior = behaviorAddWay(context) - .tail(t('modes.add_area.tail')) - .on('start', start) - .on('startFromWay', startFromWay) - .on('startFromNode', startFromNode), - defaultTags = { area: 'yes' }; - - - function actionClose(wayId) { - return function (graph) { - return graph.replace(graph.entity(wayId).close()); - }; - } - - - function start(loc) { - var startGraph = context.graph(), - node = osmNode({ loc: loc }), - way = osmWay({ tags: defaultTags }); - - context.perform( - actionAddEntity(node), - actionAddEntity(way), - actionAddVertex(way.id, node.id), - actionClose(way.id) - ); - - context.enter(modeDrawArea(context, way.id, startGraph)); - } - - - function startFromWay(loc, edge) { - var startGraph = context.graph(), - node = osmNode({ loc: loc }), - way = osmWay({ tags: defaultTags }); - - context.perform( - actionAddEntity(node), - actionAddEntity(way), - actionAddVertex(way.id, node.id), - actionClose(way.id), - actionAddMidpoint({ loc: loc, edge: edge }, node) - ); - - context.enter(modeDrawArea(context, way.id, startGraph)); - } - - - function startFromNode(node) { - var startGraph = context.graph(), - way = osmWay({ tags: defaultTags }); - - context.perform( - actionAddEntity(way), - actionAddVertex(way.id, node.id), - actionClose(way.id) - ); - - context.enter(modeDrawArea(context, way.id, startGraph)); - } - - - mode.enter = function() { - context.install(behavior); - }; - - - mode.exit = function() { - context.uninstall(behavior); - }; - - - return mode; - } - - function modeAddLine$$1(context) { - var mode = { - id: 'add-line', - button: 'line', - title: t('modes.add_line.title'), - description: t('modes.add_line.description'), - key: '2' - }; - - var behavior = behaviorAddWay(context) - .tail(t('modes.add_line.tail')) - .on('start', start) - .on('startFromWay', startFromWay) - .on('startFromNode', startFromNode); - - - function start(loc) { - var startGraph = context.graph(), - node = osmNode({ loc: loc }), - way = osmWay(); - - context.perform( - actionAddEntity(node), - actionAddEntity(way), - actionAddVertex(way.id, node.id) - ); - - context.enter(modeDrawLine(context, way.id, startGraph)); - } - - - function startFromWay(loc, edge) { - var startGraph = context.graph(), - node = osmNode({ loc: loc }), - way = osmWay(); - - context.perform( - actionAddEntity(node), - actionAddEntity(way), - actionAddVertex(way.id, node.id), - actionAddMidpoint({ loc: loc, edge: edge }, node) - ); - - context.enter(modeDrawLine(context, way.id, startGraph)); - } - - - function startFromNode(node) { - var startGraph = context.graph(), - way = osmWay(); - - context.perform( - actionAddEntity(way), - actionAddVertex(way.id, node.id) - ); - - context.enter(modeDrawLine(context, way.id, startGraph)); - } - - - mode.enter = function() { - context.install(behavior); - }; - - - mode.exit = function() { - context.uninstall(behavior); - }; - - return mode; - } - - function modeAddPoint$$1(context) { - var mode = { - id: 'add-point', - button: 'point', - title: t('modes.add_point.title'), - description: t('modes.add_point.description'), - key: '1' - }; - - var behavior = behaviorDraw(context) - .tail(t('modes.add_point.tail')) - .on('click', add) - .on('clickWay', addWay) - .on('clickNode', addNode) - .on('cancel', cancel) - .on('finish', cancel); - - - function add(loc) { - var node = osmNode({ loc: loc }); - - context.perform( - actionAddEntity(node), - t('operations.add.annotation.point') - ); - - context.enter( - modeSelect(context, [node.id]).newFeature(true) - ); - } - - - function addWay(loc) { - add(loc); - } - - - function addNode(node) { - add(node.loc); - } - - - function cancel() { - context.enter(modeBrowse(context)); - } - - - mode.enter = function() { - context.install(behavior); - }; - - - mode.exit = function() { - context.uninstall(behavior); - }; - - - return mode; - } - - function modeDragNode$$1(context) { - var mode = { - id: 'drag-node', - button: 'browse' - }; - var hover = behaviorHover(context).altDisables(true) - .on('hover', context.ui().sidebar.hover); - var edit = behaviorEdit(context); - - var _nudgeInterval; - var _restoreSelectedIDs = []; - var _wasMidpoint = false; - var _isCancelled = false; - var _activeEntity; - var _startLoc; - var _lastLoc; - - - function startNudge(entity, nudge) { - if (_nudgeInterval) window.clearInterval(_nudgeInterval); - _nudgeInterval = window.setInterval(function() { - context.pan(nudge); - doMove(entity, nudge); - }, 50); - } - - - function stopNudge() { - if (_nudgeInterval) { - window.clearInterval(_nudgeInterval); - _nudgeInterval = null; - } - } - - - function moveAnnotation(entity) { - return t('operations.move.annotation.' + entity.geometry(context.graph())); - } - - - function connectAnnotation(entity) { - return t('operations.connect.annotation.' + entity.geometry(context.graph())); - } - - - function origin(entity) { - return context.projection(entity.loc); - } - - - function keydown() { - if (event.keyCode === d3keybinding.modifierCodes.alt) { - if (context.surface().classed('nope')) { - context.surface() - .classed('nope-suppressed', true); - } - context.surface() - .classed('nope', false) - .classed('nope-disabled', true); - } - } - - - function keyup() { - if (event.keyCode === d3keybinding.modifierCodes.alt) { - if (context.surface().classed('nope-suppressed')) { - context.surface() - .classed('nope', true); - } - context.surface() - .classed('nope-suppressed', false) - .classed('nope-disabled', false); - } - } - - - function start(entity) { - _wasMidpoint = entity.type === 'midpoint'; - var hasHidden = context.features().hasHiddenConnections(entity, context.graph()); - _isCancelled = event.sourceEvent.shiftKey || hasHidden; - - - if (_isCancelled) { - if (hasHidden) { - uiFlash() - .duration(4000) - .text(t('modes.drag_node.connected_to_hidden'))(); - } - return drag.cancel(); - } - - if (_wasMidpoint) { - var midpoint = entity; - entity = osmNode(); - context.perform(actionAddMidpoint(midpoint, entity)); - entity = context.entity(entity.id); // get post-action entity - - var vertex = context.surface().selectAll('.' + entity.id); - drag.target(vertex.node(), entity); - - } else { - context.perform(actionNoop()); - } - - _activeEntity = entity; - _startLoc = entity.loc; - - context.surface().selectAll('.' + _activeEntity.id) - .classed('active', true); - - context.enter(mode); - } - - - // related code - // - `behavior/draw.js` `datum()` - function datum() { - var event$$1 = event && event.sourceEvent; - if (!event$$1 || event$$1.altKey) { - return {}; - } else { - // When dragging, snap only to touch targets.. - // (this excludes area fills and active drawing elements) - var d = event$$1.target.__data__; - return (d && d.properties && d.properties.target) ? d : {}; - } - } - - - function doMove(entity, nudge) { - nudge = nudge || [0, 0]; - - var currPoint = (event && event.point) || context.projection(_lastLoc); - var currMouse = geoVecSubtract(currPoint, nudge); - var loc = context.projection.invert(currMouse); - - if (!_nudgeInterval) { // If not nudging at the edge of the viewport, try to snap.. - // related code - // - `mode/drag_node.js` `doMode()` - // - `behavior/draw.js` `click()` - // - `behavior/draw_way.js` `move()` - var d = datum(); - var target = d && d.properties && d.properties.entity; - var targetLoc = target && target.loc; - var targetNodes = d && d.properties && d.properties.nodes; - var edge; - - if (targetLoc) { // snap to node/vertex - a point target with `.loc` - loc = targetLoc; - - } else if (targetNodes) { // snap to way - a line target with `.nodes` - edge = geoChooseEdge(targetNodes, context.mouse(), context.projection, end.id); - if (edge) { - loc = edge.loc; - } - } - } - - context.replace( - actionMoveNode(entity.id, loc), - moveAnnotation(entity) - ); - - // Below here: validations - var isInvalid = false; - - // Check if this connection to `target` could cause relations to break.. - if (target) { - isInvalid = hasRelationConflict(entity, target, edge, context.graph()); - } - - // Check if this drag causes the geometry to break.. - if (!isInvalid) { - isInvalid = hasInvalidGeometry(entity, context.graph()); - } - - - var nope = context.surface().classed('nope'); - if (isInvalid === 'relation' || isInvalid === 'restriction') { - if (!nope) { // about to nope - show hint - uiFlash() - .duration(4000) - .text(t('operations.connect.' + isInvalid, - { relation: context.presets().item('type/restriction').name() } - ))(); - } - } else { - if (nope) { // about to un-nope, remove hint - uiFlash() - .duration(1) - .text('')(); - } - } - - - var nopeDisabled = context.surface().classed('nope-disabled'); - if (nopeDisabled) { - context.surface() - .classed('nope', false) - .classed('nope-suppressed', isInvalid); - } else { - context.surface() - .classed('nope', isInvalid) - .classed('nope-suppressed', false); - } - - _lastLoc = loc; - } - - - // Uses `actionConnect.disabled()` to know whether this connection is ok.. - function hasRelationConflict(entity, target, edge, graph) { - var testGraph = graph.update(); // copy - - // if snapping to way - add midpoint there and consider that the target.. - if (edge) { - var midpoint = osmNode(); - var action = actionAddMidpoint({ - loc: edge.loc, - edge: [target.nodes[edge.index - 1], target.nodes[edge.index]] - }, midpoint); - - testGraph = action(testGraph); - target = midpoint; - } - - // can we connect to it? - var ids = [entity.id, target.id]; - return actionConnect(ids).disabled(testGraph); - } - - - function hasInvalidGeometry(entity, graph) { - var parents = graph.parentWays(entity); - var i, j, k; - - for (i = 0; i < parents.length; i++) { - var parent = parents[i]; - var nodes = []; - var activeIndex = null; // which multipolygon ring contains node being dragged - - // test any parent multipolygons for valid geometry - var relations = graph.parentRelations(parent); - for (j = 0; j < relations.length; j++) { - if (!relations[j].isMultipolygon()) continue; - - var rings = osmJoinWays(relations[j].members, graph); - - // find active ring and test it for self intersections - for (k = 0; k < rings.length; k++) { - nodes = rings[k].nodes; - if (find$1(nodes, function(n) { return n.id === entity.id; })) { - activeIndex = k; - if (geoHasSelfIntersections(nodes, entity.id)) { - return true; - } - } - rings[k].coords = nodes.map(function(n) { return n.loc; }); - } - - // test active ring for intersections with other rings in the multipolygon - for (k = 0; k < rings.length; k++) { - if (k === activeIndex) continue; - - // make sure active ring doesnt cross passive rings - if (geoHasLineIntersections(rings[activeIndex].nodes, rings[k].nodes, entity.id)) { - return true; - } - } - } - - - // If we still haven't tested this node's parent way for self-intersections. - // (because it's not a member of a multipolygon), test it now. - if (activeIndex === null) { - nodes = parent.nodes.map(function(nodeID) { return graph.entity(nodeID); }); - if (nodes.length && geoHasSelfIntersections(nodes, entity.id)) { - return true; - } - } - - } - - return false; - } - - - function move(entity) { - if (_isCancelled) return; - event.sourceEvent.stopPropagation(); - - context.surface().classed('nope-disabled', event.sourceEvent.altKey); - - _lastLoc = context.projection.invert(event.point); - - doMove(entity); - var nudge = geoViewportEdge(event.point, context.map().dimensions()); - if (nudge) { - startNudge(entity, nudge); - } else { - stopNudge(); - } - } - - - function end(entity) { - if (_isCancelled) return; - - var d = datum(); - var nope = (d && d.properties && d.properties.nope) || context.surface().classed('nope'); - var target = d && d.properties && d.properties.entity; // entity to snap to - - if (nope) { // bounce back - context.perform( - _actionBounceBack(entity.id, _startLoc) - ); - - } else if (target && target.type === 'way') { - var choice = geoChooseEdge(context.childNodes(target), context.mouse(), context.projection, entity.id); - context.replace( - actionAddMidpoint({ - loc: choice.loc, - edge: [target.nodes[choice.index - 1], target.nodes[choice.index]] - }, entity), - connectAnnotation(target) - ); - - } else if (target && target.type === 'node') { - context.replace( - actionConnect([target.id, entity.id]), - connectAnnotation(target) - ); - - } else if (_wasMidpoint) { - context.replace( - actionNoop(), - t('operations.add.annotation.vertex') - ); - - } else { - context.replace( - actionNoop(), - moveAnnotation(entity) - ); - } - - var reselection = _restoreSelectedIDs.filter(function(id) { - return context.graph().hasEntity(id); - }); - - if (reselection.length) { - context.enter(modeSelect(context, reselection)); - } else { - context.enter(modeBrowse(context)); - } - } - - - function _actionBounceBack(nodeID, toLoc) { - var moveNode = actionMoveNode(nodeID, toLoc); - var action = function(graph, t$$1) { - // last time through, pop off the bounceback perform. - // it will then overwrite the initial perform with a moveNode that does nothing - if (t$$1 === 1) context.pop(); - return moveNode(graph, t$$1); - }; - action.transitionable = true; - return action; - } - - - function cancel() { - drag.cancel(); - context.enter(modeBrowse(context)); - } - - - var drag = behaviorDrag() - .selector('.layer-points-targets .target') - .surface(select('#map').node()) - .origin(origin) - .on('start', start) - .on('move', move) - .on('end', end); - - - mode.enter = function() { - context.install(hover); - context.install(edit); - - select(window) - .on('keydown.drawWay', keydown) - .on('keyup.drawWay', keyup); - - context.history() - .on('undone.drag-node', cancel); - }; - - - mode.exit = function() { - context.ui().sidebar.hover.cancel(); - context.uninstall(hover); - context.uninstall(edit); - - select(window) - .on('keydown.hover', null) - .on('keyup.hover', null); - - context.history() - .on('undone.drag-node', null); - - context.map() - .on('drawn.drag-node', null); - - _activeEntity = null; - - context.surface() - .classed('nope', false) - .classed('nope-suppressed', false) - .classed('nope-disabled', false) - .selectAll('.active') - .classed('active', false); - - stopNudge(); - }; - - - mode.selectedIDs = function() { - if (!arguments.length) return _activeEntity ? [_activeEntity.id] : []; - // no assign - return mode; - }; - - - mode.activeID = function() { - if (!arguments.length) return _activeEntity && _activeEntity.id; - // no assign - return mode; - }; - - - mode.restoreSelectedIDs = function(_) { - if (!arguments.length) return _restoreSelectedIDs; - _restoreSelectedIDs = _; - return mode; - }; - - - mode.behavior = drag; - - - return mode; - } - - function modeBrowse(context) { - var mode = { - button: 'browse', - id: 'browse', - title: t('modes.browse.title'), - description: t('modes.browse.description') - }, sidebar; - - var behaviors = [ - behaviorPaste(context), - behaviorHover(context).on('hover', context.ui().sidebar.hover), - behaviorSelect(context), - behaviorLasso(context), - modeDragNode$$1(context).behavior - ]; - - - mode.enter = function() { - behaviors.forEach(function(behavior) { - context.install(behavior); - }); - - // Get focus on the body. - if (document.activeElement && document.activeElement.blur) { - document.activeElement.blur(); - } - - if (sidebar) { - context.ui().sidebar.show(sidebar); - } else { - context.ui().sidebar.select(null); - } - }; - - - mode.exit = function() { - context.ui().sidebar.hover.cancel(); - behaviors.forEach(function(behavior) { - context.uninstall(behavior); - }); - - if (sidebar) { - context.ui().sidebar.hide(); - } - }; - - - mode.sidebar = function(_) { - if (!arguments.length) return sidebar; - sidebar = _; - return mode; - }; - - - return mode; - } - - function modeDrawArea(context, wayId, startGraph) { - var mode = { - button: 'area', - id: 'draw-area' - }; - - var behavior; - - - mode.enter = function() { - var way = context.entity(wayId); - - behavior = behaviorDrawWay(context, wayId, undefined, mode, startGraph) - .tail(t('modes.draw_area.tail')); - - var addNode = behavior.addNode; - - behavior.addNode = function(node, d) { - var length = way.nodes.length; - var penultimate = length > 2 ? way.nodes[length - 2] : null; - - if (node.id === way.first() || node.id === penultimate) { - behavior.finish(); - } else { - addNode(node, d); - } - }; - - context.install(behavior); - }; - - - mode.exit = function() { - context.uninstall(behavior); - }; - - - mode.selectedIDs = function() { - return [wayId]; - }; - - - mode.activeID = function() { - return (behavior && behavior.activeID()) || []; - }; - - - return mode; - } - - function modeDrawLine(context, wayId, startGraph, affix) { - var mode = { - button: 'line', - id: 'draw-line' - }; - - var behavior; - - - mode.enter = function() { - var way = context.entity(wayId); - var index = (affix === 'prefix') ? 0 : undefined; - var headId = (affix === 'prefix') ? way.first() : way.last(); - - behavior = behaviorDrawWay(context, wayId, index, mode, startGraph) - .tail(t('modes.draw_line.tail')); - - var addNode = behavior.addNode; - behavior.addNode = function(node, d) { - if (node.id === headId) { - behavior.finish(); - } else { - addNode(node, d); - } - }; - - context.install(behavior); - }; - - - mode.exit = function() { - context.uninstall(behavior); - }; - - - mode.selectedIDs = function() { - return [wayId]; - }; - - - mode.activeID = function() { - return (behavior && behavior.activeID()) || []; - }; - - return mode; - } - - function operationCircularize(selectedIDs, context) { - var entityId = selectedIDs[0], - entity = context.entity(entityId), - extent = entity.extent(context.graph()), - geometry = context.geometry(entityId), - action = actionCircularize(entityId, context.projection); - - - var operation = function() { - context.perform(action, operation.annotation()); - }; - - - operation.available = function() { - return selectedIDs.length === 1 && - entity.type === 'way' && - uniq(entity.nodes).length > 1; - }; - - - operation.disabled = function() { - var reason; - if (extent.percentContainedIn(context.extent()) < 0.8) { - reason = 'too_large'; - } else if (context.hasHiddenConnections(entityId)) { - reason = 'connected_to_hidden'; - } - return action.disabled(context.graph()) || reason; - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.circularize.' + disable) : - t('operations.circularize.description.' + geometry); - }; - - - operation.annotation = function() { - return t('operations.circularize.annotation.' + geometry); - }; - - - operation.id = 'circularize'; - operation.keys = [t('operations.circularize.key')]; - operation.title = t('operations.circularize.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationContinue(selectedIDs, context) { - var graph = context.graph(), - entities = selectedIDs.map(function(id) { return graph.entity(id); }), - geometries = assignIn({ line: [], vertex: [] }, - groupBy(entities, function(entity) { return entity.geometry(graph); })), - vertex = geometries.vertex[0]; - - - function candidateWays() { - return graph.parentWays(vertex).filter(function(parent) { - return parent.geometry(graph) === 'line' && - !parent.isClosed() && - parent.affix(vertex.id) && - (geometries.line.length === 0 || geometries.line[0] === parent); - }); - } - - - var operation = function() { - var candidate = candidateWays()[0]; - context.enter( - modeDrawLine(context, candidate.id, context.graph(), candidate.affix(vertex.id)) - ); - }; - - - operation.available = function() { - return geometries.vertex.length === 1 && geometries.line.length <= 1 && - !context.features().hasHiddenConnections(vertex, context.graph()); - }; - - - operation.disabled = function() { - var candidates = candidateWays(); - if (candidates.length === 0) - return 'not_eligible'; - if (candidates.length > 1) - return 'multiple'; - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.continue.' + disable) : - t('operations.continue.description'); - }; - - - operation.annotation = function() { - return t('operations.continue.annotation.line'); - }; - - - operation.id = 'continue'; - operation.keys = [t('operations.continue.key')]; - operation.title = t('operations.continue.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationDelete(selectedIDs, context) { - var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'), - action = actionDeleteMultiple(selectedIDs), - extent = selectedIDs.reduce(function(extent, id) { - return extent.extend(context.entity(id).extent(context.graph())); - }, geoExtent$$1()); - - - var operation = function() { - var nextSelectedID; - var nextSelectedLoc; - - if (selectedIDs.length === 1) { - var id = selectedIDs[0], - entity = context.entity(id), - geometry = context.geometry(id), - parents = context.graph().parentWays(entity), - parent = parents[0]; - - // Select the next closest node in the way. - if (geometry === 'vertex') { - var nodes = parent.nodes, - i = nodes.indexOf(id); - - if (i === 0) { - i++; - } else if (i === nodes.length - 1) { - i--; - } else { - var a = geoSphericalDistance(entity.loc, context.entity(nodes[i - 1]).loc), - b = geoSphericalDistance(entity.loc, context.entity(nodes[i + 1]).loc); - i = a < b ? i - 1 : i + 1; - } - - nextSelectedID = nodes[i]; - nextSelectedLoc = context.entity(nextSelectedID).loc; - } - } - - context.perform(action, operation.annotation()); - - if (nextSelectedID && nextSelectedLoc) { - if (context.hasEntity(nextSelectedID)) { - context.enter(modeSelect(context, [nextSelectedID]).follow(true)); - } else { - context.map().centerEase(nextSelectedLoc); - context.enter(modeBrowse(context)); - } - } else { - context.enter(modeBrowse(context)); - } - - }; - - - operation.available = function() { - return true; - }; - - - operation.disabled = function() { - var reason; - if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) { - reason = 'too_large'; - } else if (some(selectedIDs, context.hasHiddenConnections)) { - reason = 'connected_to_hidden'; - } else if (some(selectedIDs, protectedMember)) { - reason = 'part_of_relation'; - } else if (some(selectedIDs, incompleteRelation)) { - reason = 'incomplete_relation'; - } - return reason; - - function incompleteRelation(id) { - var entity = context.entity(id); - return entity.type === 'relation' && !entity.isComplete(context.graph()); - } - - function protectedMember(id) { - var entity = context.entity(id); - if (entity.type !== 'way') return false; - - var parents = context.graph().parentRelations(entity); - for (var i = 0; i < parents.length; i++) { - var parent = parents[i], - type = parent.tags.type, - role = parent.memberById(id).role || 'outer'; - if (type === 'route' || type === 'boundary' || (type === 'multipolygon' && role === 'outer')) { - return true; - } - } - return false; - } - - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.delete.' + disable + '.' + multi) : - t('operations.delete.description' + '.' + multi); - }; - - - operation.annotation = function() { - return selectedIDs.length === 1 ? - t('operations.delete.annotation.' + context.geometry(selectedIDs[0])) : - t('operations.delete.annotation.multiple', { n: selectedIDs.length }); - }; - - - operation.id = 'delete'; - operation.keys = [uiCmd('⌘⌫'), uiCmd('⌘⌦'), uiCmd('⌦')]; - operation.title = t('operations.delete.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationDisconnect(selectedIDs, context) { - var vertices = filter(selectedIDs, function(entityId) { - return context.geometry(entityId) === 'vertex'; - }); - - var entityId = vertices[0], - action = actionDisconnect(entityId); - - if (selectedIDs.length > 1) { - action.limitWays(without(selectedIDs, entityId)); - } - - - var operation = function() { - context.perform(action, operation.annotation()); - }; - - - operation.available = function() { - return vertices.length === 1; - }; - - - operation.disabled = function() { - var reason; - if (some(selectedIDs, context.hasHiddenConnections)) { - reason = 'connected_to_hidden'; - } - return action.disabled(context.graph()) || reason; - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.disconnect.' + disable) : - t('operations.disconnect.description'); - }; - - - operation.annotation = function() { - return t('operations.disconnect.annotation'); - }; - - - operation.id = 'disconnect'; - operation.keys = [t('operations.disconnect.key')]; - operation.title = t('operations.disconnect.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationMerge(selectedIDs, context) { - - function updatePresetTags(newGraph, ids) { - var id = ids[0]; - var newEntity = newGraph.hasEntity(id); - - if (!newEntity) return; - var newPreset = context.presets().match(newEntity, newGraph); - context.replace(actionChangePreset(id, null, newPreset), operation.annotation()); - } - - - var join = actionJoin(selectedIDs); - var merge = actionMerge(selectedIDs); - var mergePolygon = actionMergePolygon(selectedIDs); - var mergeNodes = actionMergeNodes(selectedIDs); - - - var operation = function() { - var doUpdateTags; - var action; - - if (!join.disabled(context.graph())) { - doUpdateTags = false; - action = join; - } else if (!merge.disabled(context.graph())) { - doUpdateTags = true; - action = merge; - } else if (!mergePolygon.disabled(context.graph())) { - doUpdateTags = false; - action = mergePolygon; - } else { - doUpdateTags = true; - action = mergeNodes; - } - - context.perform(action, operation.annotation()); - - var ids = selectedIDs.filter(function(id) { - var entity = context.hasEntity(id); - return entity && entity.type !== 'node'; - }); - - // if we merged tags, rematch preset to update tags if necessary (#3851) - if (doUpdateTags) { - updatePresetTags(context.graph(), ids); - } - - context.enter(modeSelect(context, ids)); - }; - - - operation.available = function() { - return selectedIDs.length >= 2; - }; - - - operation.disabled = function() { - return join.disabled(context.graph()) && - merge.disabled(context.graph()) && - mergePolygon.disabled(context.graph()) && - mergeNodes.disabled(context.graph()); - }; - - - operation.tooltip = function() { - var j = join.disabled(context.graph()); // 'not_eligible', 'not_adjacent', 'restriction', 'conflicting_tags' - var m = merge.disabled(context.graph()); // 'not_eligible' - var p = mergePolygon.disabled(context.graph()); // 'not_eligible', 'incomplete_relation' - var n = mergeNodes.disabled(context.graph()); // 'not_eligible', 'relation', 'restriction' - - // disabled for one of various reasons - if (j && m && p && n) { - if (j === 'restriction' || n === 'restriction') { - return t('operations.merge.restriction', - { relation: context.presets().item('type/restriction').name() }); - - } else if (p === 'incomplete_relation') { - return t('operations.merge.incomplete_relation'); - - } else if (n === 'relation') { - return t('operations.merge.relation'); - - } else { - return t('operations.merge.' + j); - } - - } else { - return t('operations.merge.description'); - } - }; - - - operation.annotation = function() { - return t('operations.merge.annotation', { n: selectedIDs.length }); - }; - - - operation.id = 'merge'; - operation.keys = [t('operations.merge.key')]; - operation.title = t('operations.merge.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationMove(selectedIDs, context) { - var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'); - var extent = selectedIDs.reduce(function(extent, id) { - return extent.extend(context.entity(id).extent(context.graph())); - }, geoExtent$$1()); - - - var operation = function() { - context.enter(modeMove$$1(context, selectedIDs)); - }; - - - operation.available = function() { - return selectedIDs.length > 1 || - context.entity(selectedIDs[0]).type !== 'node'; - }; - - - operation.disabled = function() { - var reason; - if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) { - reason = 'too_large'; - } else if (some(selectedIDs, context.hasHiddenConnections)) { - reason = 'connected_to_hidden'; - } else if (some(selectedIDs, incompleteRelation)) { - reason = 'incomplete_relation'; - } - return reason; - - function incompleteRelation(id) { - var entity = context.entity(id); - return entity.type === 'relation' && !entity.isComplete(context.graph()); - } - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.move.' + disable + '.' + multi) : - t('operations.move.description.' + multi); - }; - - - operation.annotation = function() { - return selectedIDs.length === 1 ? - t('operations.move.annotation.' + context.geometry(selectedIDs[0])) : - t('operations.move.annotation.multiple'); - }; - - - operation.id = 'move'; - operation.keys = [t('operations.move.key')]; - operation.title = t('operations.move.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationOrthogonalize(selectedIDs, context) { - var entityId = selectedIDs[0], - entity = context.entity(entityId), - extent = entity.extent(context.graph()), - geometry = context.geometry(entityId), - action = actionOrthogonalize(entityId, context.projection); - - - var operation = function() { - context.perform(action, operation.annotation()); - }; - - - operation.available = function() { - return selectedIDs.length === 1 && - entity.type === 'way' && - entity.isClosed() && - uniq(entity.nodes).length > 2; - }; - - - operation.disabled = function() { - var reason; - if (extent.percentContainedIn(context.extent()) < 0.8) { - reason = 'too_large'; - } else if (context.hasHiddenConnections(entityId)) { - reason = 'connected_to_hidden'; - } - return action.disabled(context.graph()) || reason; - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.orthogonalize.' + disable) : - t('operations.orthogonalize.description.' + geometry); - }; - - - operation.annotation = function() { - return t('operations.orthogonalize.annotation.' + geometry); - }; - - - operation.id = 'orthogonalize'; - operation.keys = [t('operations.orthogonalize.key')]; - operation.title = t('operations.orthogonalize.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - /** - * This method is like `_.uniq` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * uniqueness is computed. The order of result values is determined by the - * order they occur in the array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniqBy([2.1, 1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - function uniqBy(array, iteratee) { - return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : []; - } - - function operationReflectShort(selectedIDs, context) { - return operationReflect(selectedIDs, context, 'short'); - } - - - function operationReflectLong(selectedIDs, context) { - return operationReflect(selectedIDs, context, 'long'); - } - - - function operationReflect(selectedIDs, context, axis) { - axis = axis || 'long'; - var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'), - extent = selectedIDs.reduce(function(extent, id) { - return extent.extend(context.entity(id).extent(context.graph())); - }, geoExtent$$1()); - - - var operation = function() { - var action = actionReflect(selectedIDs, context.projection) - .useLongAxis(Boolean(axis === 'long')); - context.perform(action, operation.annotation()); - }; - - - operation.available = function() { - var nodes = utilGetAllNodes(selectedIDs, context.graph()); - return uniqBy(nodes, function(n) { return n.loc; }).length >= 3; - }; - - - operation.disabled = function() { - var reason; - if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) { - reason = 'too_large'; - } else if (some(selectedIDs, context.hasHiddenConnections)) { - reason = 'connected_to_hidden'; - } else if (some(selectedIDs, incompleteRelation)) { - reason = 'incomplete_relation'; - } - return reason; - - function incompleteRelation(id) { - var entity = context.entity(id); - return entity.type === 'relation' && !entity.isComplete(context.graph()); - } - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.reflect.' + disable + '.' + multi) : - t('operations.reflect.description.' + axis + '.' + multi); - }; - - - operation.annotation = function() { - return t('operations.reflect.annotation.' + axis + '.' + multi); - }; - - - operation.id = 'reflect-' + axis; - operation.keys = [t('operations.reflect.key.' + axis)]; - operation.title = t('operations.reflect.title.' + axis); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationReverse(selectedIDs, context) { - var entityId = selectedIDs[0]; - - var operation = function() { - context.perform(actionReverse(entityId), operation.annotation()); - }; - - - operation.available = function() { - return selectedIDs.length === 1 && context.geometry(entityId) === 'line'; - }; - - - operation.disabled = function() { - return false; - }; - - - operation.tooltip = function() { - return t('operations.reverse.description'); - }; - - - operation.annotation = function() { - return t('operations.reverse.annotation'); - }; - - - operation.id = 'reverse'; - operation.keys = [t('operations.reverse.key')]; - operation.title = t('operations.reverse.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationRotate(selectedIDs, context) { - var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'), - extent = selectedIDs.reduce(function(extent, id) { - return extent.extend(context.entity(id).extent(context.graph())); - }, geoExtent$$1()); - - - var operation = function() { - context.enter(modeRotate$$1(context, selectedIDs)); - }; - - - operation.available = function() { - var nodes = utilGetAllNodes(selectedIDs, context.graph()); - return uniqBy(nodes, function(n) { return n.loc; }).length >= 2; - }; - - - operation.disabled = function() { - var reason; - if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) { - reason = 'too_large'; - } else if (some(selectedIDs, context.hasHiddenConnections)) { - reason = 'connected_to_hidden'; - } else if (some(selectedIDs, incompleteRelation)) { - reason = 'incomplete_relation'; - } - return reason; - - function incompleteRelation(id) { - var entity = context.entity(id); - return entity.type === 'relation' && !entity.isComplete(context.graph()); - } - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.rotate.' + disable + '.' + multi) : - t('operations.rotate.description.' + multi); - }; - - - operation.annotation = function() { - return selectedIDs.length === 1 ? - t('operations.rotate.annotation.' + context.geometry(selectedIDs[0])) : - t('operations.rotate.annotation.multiple'); - }; - - - operation.id = 'rotate'; - operation.keys = [t('operations.rotate.key')]; - operation.title = t('operations.rotate.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationSplit(selectedIDs, context) { - var vertices = filter(selectedIDs, function(entityId) { - return context.geometry(entityId) === 'vertex'; - }); - - var entityId = vertices[0], - action = actionSplit(entityId), - ways = []; - - if (vertices.length === 1) { - if (selectedIDs.length > 1) { - action.limitWays(without(selectedIDs, entityId)); - } - ways = action.ways(context.graph()); - } - - - var operation = function() { - var difference = context.perform(action, operation.annotation()); - context.enter(modeSelect(context, difference.extantIDs())); - }; - - - operation.available = function() { - return vertices.length === 1; - }; - - - operation.disabled = function() { - var reason; - if (some(selectedIDs, context.hasHiddenConnections)) { - reason = 'connected_to_hidden'; - } - return action.disabled(context.graph()) || reason; - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - if (disable) { - return t('operations.split.' + disable); - } - if (ways.length === 1) { - return t('operations.split.description.' + context.geometry(ways[0].id)); - } else { - return t('operations.split.description.multiple'); - } - }; - - - operation.annotation = function() { - return ways.length === 1 ? - t('operations.split.annotation.' + context.geometry(ways[0].id)) : - t('operations.split.annotation.multiple', { n: ways.length }); - }; - - - operation.id = 'split'; - operation.keys = [t('operations.split.key')]; - operation.title = t('operations.split.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - function operationStraighten(selectedIDs, context) { - var entityId = selectedIDs[0], - action = actionStraighten(entityId, context.projection); - - - function operation() { - context.perform(action, operation.annotation()); - } - - - operation.available = function() { - var entity = context.entity(entityId); - return selectedIDs.length === 1 && - entity.type === 'way' && - !entity.isClosed() && - uniq(entity.nodes).length > 2; - }; - - - operation.disabled = function() { - var reason; - if (context.hasHiddenConnections(entityId)) { - reason = 'connected_to_hidden'; - } - return action.disabled(context.graph()) || reason; - }; - - - operation.tooltip = function() { - var disable = operation.disabled(); - return disable ? - t('operations.straighten.' + disable) : - t('operations.straighten.description'); - }; - - - operation.annotation = function() { - return t('operations.straighten.annotation'); - }; - - - operation.id = 'straighten'; - operation.keys = [t('operations.straighten.key')]; - operation.title = t('operations.straighten.title'); - operation.behavior = behaviorOperation(context).which(operation); - - return operation; - } - - - - var Operations = /*#__PURE__*/Object.freeze({ - operationCircularize: operationCircularize, - operationContinue: operationContinue, - operationDelete: operationDelete, - operationDisconnect: operationDisconnect, - operationMerge: operationMerge, - operationMove: operationMove, - operationOrthogonalize: operationOrthogonalize, - operationReflectShort: operationReflectShort, - operationReflectLong: operationReflectLong, - operationReverse: operationReverse, - operationRotate: operationRotate, - operationSplit: operationSplit, - operationStraighten: operationStraighten - }); - - function modeMove$$1(context, entityIDs, baseGraph) { - var mode = { - id: 'move', - button: 'browse' - }; - - var keybinding = d3keybinding('move'); - var behaviors = [ - behaviorEdit(context), - operationCircularize(entityIDs, context).behavior, - operationDelete(entityIDs, context).behavior, - operationOrthogonalize(entityIDs, context).behavior, - operationReflectLong(entityIDs, context).behavior, - operationReflectShort(entityIDs, context).behavior, - operationRotate(entityIDs, context).behavior - ]; - var annotation = entityIDs.length === 1 ? - t('operations.move.annotation.' + context.geometry(entityIDs[0])) : - t('operations.move.annotation.multiple'); - - var _prevGraph; - var _cache; - var _origin; - var _nudgeInterval; - - - function doMove(nudge) { - nudge = nudge || [0, 0]; - - var fn; - if (_prevGraph !== context.graph()) { - _cache = {}; - _origin = context.map().mouseCoordinates(); - fn = context.perform; - } else { - fn = context.overwrite; - } - - var currMouse = context.mouse(); - var origMouse = context.projection(_origin); - var delta = geoVecSubtract(geoVecSubtract(currMouse, origMouse), nudge); - - fn(actionMove(entityIDs, delta, context.projection, _cache), annotation); - _prevGraph = context.graph(); - } - - - function startNudge(nudge) { - if (_nudgeInterval) window.clearInterval(_nudgeInterval); - _nudgeInterval = window.setInterval(function() { - context.pan(nudge); - doMove(nudge); - }, 50); - } - - - function stopNudge() { - if (_nudgeInterval) { - window.clearInterval(_nudgeInterval); - _nudgeInterval = null; - } - } - - - function move() { - doMove(); - var nudge = geoViewportEdge(context.mouse(), context.map().dimensions()); - if (nudge) { - startNudge(nudge); - } else { - stopNudge(); - } - } - - - function finish() { - event.stopPropagation(); - context.enter(modeSelect(context, entityIDs)); - stopNudge(); - } - - - function cancel() { - if (baseGraph) { - while (context.graph() !== baseGraph) context.pop(); - context.enter(modeBrowse(context)); - } else { - context.pop(); - context.enter(modeSelect(context, entityIDs)); - } - stopNudge(); - } - - - function undone() { - context.enter(modeBrowse(context)); - } - - - mode.enter = function() { - _origin = context.map().mouseCoordinates(); - _prevGraph = null; - _cache = {}; - - behaviors.forEach(function(behavior) { - context.install(behavior); - }); - - context.surface() - .on('mousemove.move', move) - .on('click.move', finish); - - context.history() - .on('undone.move', undone); - - keybinding - .on('⎋', cancel) - .on('↩', finish); - - select(document) - .call(keybinding); - }; - - - mode.exit = function() { - stopNudge(); - - behaviors.forEach(function(behavior) { - context.uninstall(behavior); - }); - - context.surface() - .on('mousemove.move', null) - .on('click.move', null); - - context.history() - .on('undone.move', null); - - keybinding.off(); - }; - - - mode.selectedIDs = function() { - if (!arguments.length) return entityIDs; - // no assign - return mode; - }; - - - return mode; - } - - function modeRotate$$1(context, entityIDs) { - var mode = { - id: 'rotate', - button: 'browse' - }; - - var keybinding = d3keybinding('rotate'); - var behaviors = [ - behaviorEdit(context), - operationCircularize(entityIDs, context).behavior, - operationDelete(entityIDs, context).behavior, - operationMove(entityIDs, context).behavior, - operationOrthogonalize(entityIDs, context).behavior, - operationReflectLong(entityIDs, context).behavior, - operationReflectShort(entityIDs, context).behavior - ]; - var annotation = entityIDs.length === 1 ? - t('operations.rotate.annotation.' + context.geometry(entityIDs[0])) : - t('operations.rotate.annotation.multiple'); - - var _prevGraph; - var _prevAngle; - var _prevTransform; - var _pivot; - - - function doRotate() { - var fn; - if (context.graph() !== _prevGraph) { - fn = context.perform; - } else { - fn = context.replace; - } - - // projection changed, recalculate _pivot - var projection = context.projection; - var currTransform = projection.transform(); - if (!_prevTransform || - currTransform.k !== _prevTransform.k || - currTransform.x !== _prevTransform.x || - currTransform.y !== _prevTransform.y) { - - var nodes = utilGetAllNodes(entityIDs, context.graph()); - var points = nodes.map(function(n) { return projection(n.loc); }); - - if (points.length === 1) { // degenerate case - _pivot = points[0]; - } else if (points.length === 2) { - _pivot = geoVecInterp(points[0], points[1], 0.5); - } else { - _pivot = d3_polygonCentroid(d3_polygonHull(points)); - } - _prevAngle = undefined; - } - - - var currMouse = context.mouse(); - var currAngle = Math.atan2(currMouse[1] - _pivot[1], currMouse[0] - _pivot[0]); - - if (typeof _prevAngle === 'undefined') _prevAngle = currAngle; - var delta = currAngle - _prevAngle; - - fn(actionRotate(entityIDs, _pivot, delta, projection), annotation); - - _prevTransform = currTransform; - _prevAngle = currAngle; - _prevGraph = context.graph(); - } - - - function finish() { - event.stopPropagation(); - context.enter(modeSelect(context, entityIDs)); - } - - - function cancel() { - context.pop(); - context.enter(modeSelect(context, entityIDs)); - } - - - function undone() { - context.enter(modeBrowse(context)); - } - - - mode.enter = function() { - behaviors.forEach(function(behavior) { - context.install(behavior); - }); - - context.surface() - .on('mousemove.rotate', doRotate) - .on('click.rotate', finish); - - context.history() - .on('undone.rotate', undone); - - keybinding - .on('⎋', cancel) - .on('↩', finish); - - select(document) - .call(keybinding); - }; - - - mode.exit = function() { - behaviors.forEach(function(behavior) { - context.uninstall(behavior); - }); - - context.surface() - .on('mousemove.rotate', null) - .on('click.rotate', null); - - context.history() - .on('undone.rotate', null); - - keybinding.off(); - }; - - - mode.selectedIDs = function() { - if (!arguments.length) return entityIDs; - // no assign - return mode; - }; - - - return mode; - } - - /** - * 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 == null ? 0 : array.length; - - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; - } - - /** - * 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; - } - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` thru `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * 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`, `defaultsDeep`, `includes`, `merge`, `orderBy`, - * and `sortBy` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduceRight - * @example - * - * _.reduce([1, 2], function(sum, n) { - * return sum + n; - * }, 0); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * return result; - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) - */ - function reduce(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduce : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach); - } - - function d3geoTile() { - var size = [960, 500], - scale = 256, - scaleExtent = [0, 20], - translate = [size[0] / 2, size[1] / 2], - zoomDelta = 0; - - function bound(_) { - return Math.min(scaleExtent[1], Math.max(scaleExtent[0], _)); - } - - function tile() { - var z = Math.max(Math.log(scale) / Math.LN2 - 8, 0), - z0 = bound(Math.round(z + zoomDelta)), - k = Math.pow(2, z - z0 + 8), - origin = [(translate[0] - scale / 2) / k, (translate[1] - scale / 2) / k], - tiles = [], - cols = range(Math.max(0, Math.floor(-origin[0])), Math.max(0, Math.ceil(size[0] / k - origin[0]))), - rows = range(Math.max(0, Math.floor(-origin[1])), Math.max(0, Math.ceil(size[1] / k - origin[1]))); - - rows.forEach(function(y) { - cols.forEach(function(x) { - tiles.push([x, y, z0]); - }); - }); - - tiles.translate = origin; - tiles.scale = k; - - return tiles; - } - - tile.scaleExtent = function(_) { - if (!arguments.length) return scaleExtent; - scaleExtent = _; - return tile; - }; - - tile.size = function(_) { - if (!arguments.length) return size; - size = _; - return tile; - }; - - tile.scale = function(_) { - if (!arguments.length) return scale; - scale = _; - return tile; - }; - - tile.translate = function(_) { - if (!arguments.length) return translate; - translate = _; - return tile; - }; - - tile.zoomDelta = function(_) { - if (!arguments.length) return zoomDelta; - zoomDelta = +_; - return tile; - }; - - return tile; - } - - /* global Mapillary:false */ - - - var apibase = 'https://a.mapillary.com/v3/', - viewercss = 'mapillary-js/mapillary.min.css', - viewerjs = 'mapillary-js/mapillary.min.js', - clientId = 'NzNRM2otQkR2SHJzaXJmNmdQWVQ0dzo1ZWYyMmYwNjdmNDdlNmVi', - maxResults = 1000, - tileZoom = 14, - dispatch$1 = dispatch('loadedImages', 'loadedSigns'), - _mlyFallback = false, - _mlyCache, - _mlyClicks, - _mlySelectedImage, - _mlySignDefs, - _mlySignSprite, - _mlyViewer; - - - function abortRequest(i) { - i.abort(); - } - - - function nearNullIsland(x, y, z) { - if (z >= 7) { - var center = Math.pow(2, z - 1), - width = Math.pow(2, z - 6), - min$$1 = center - (width / 2), - max$$1 = center + (width / 2) - 1; - return x >= min$$1 && x <= max$$1 && y >= min$$1 && y <= max$$1; - } - return false; - } - - - function maxPageAtZoom(z) { - if (z < 15) return 2; - if (z === 15) return 5; - if (z === 16) return 10; - if (z === 17) return 20; - if (z === 18) return 40; - if (z > 18) return 80; - } - - - function localeTimestamp(s) { - if (!s) return null; - var detected = utilDetect(); - var options = { - day: 'numeric', month: 'short', year: 'numeric', - hour: 'numeric', minute: 'numeric', second: 'numeric', - timeZone: 'UTC' - }; - var d = new Date(s); - if (isNaN(d.getTime())) return null; - return d.toLocaleString(detected.locale, options); - } - - - function getTiles(projection) { - var s = projection.scale() * 2 * Math.PI, - z = Math.max(Math.log(s) / Math.log(2) - 8, 0), - ts = 256 * Math.pow(2, z - tileZoom), - origin = [ - s / 2 - projection.translate()[0], - s / 2 - projection.translate()[1]]; - - return d3geoTile() - .scaleExtent([tileZoom, tileZoom]) - .scale(s) - .size(projection.clipExtent()[1]) - .translate(projection.translate())() - .map(function(tile) { - var x = tile[0] * ts - origin[0], - y = tile[1] * ts - origin[1]; - - return { - id: tile.toString(), - xyz: tile, - extent: geoExtent$$1( - projection.invert([x, y + ts]), - projection.invert([x + ts, y]) - ) - }; - }); - } - - - function loadTiles(which, url, projection) { - var s = projection.scale() * 2 * Math.PI, - currZoom = Math.floor(Math.max(Math.log(s) / Math.log(2) - 8, 0)); - - var tiles = getTiles(projection).filter(function(t) { - return !nearNullIsland(t.xyz[0], t.xyz[1], t.xyz[2]); - }); - - filter(which.inflight, function(v, k) { - var wanted = find$1(tiles, function(tile) { return k === (tile.id + ',0'); }); - if (!wanted) delete which.inflight[k]; - return !wanted; - }).map(abortRequest); - - tiles.forEach(function(tile) { - loadNextTilePage(which, currZoom, url, tile); - }); - } - - - function loadNextTilePage(which, currZoom, url, tile) { - var cache = _mlyCache[which], - rect = tile.extent.rectangle(), - maxPages = maxPageAtZoom(currZoom), - nextPage = cache.nextPage[tile.id] || 0, - nextURL = cache.nextURL[tile.id] || url + - utilQsString({ - per_page: maxResults, - page: nextPage, - client_id: clientId, - bbox: [rect[0], rect[1], rect[2], rect[3]].join(','), - }); - - if (nextPage > maxPages) return; - - var id = tile.id + ',' + String(nextPage); - if (cache.loaded[id] || cache.inflight[id]) return; - cache.inflight[id] = request(nextURL) - .mimeType('application/json') - .response(function(xhr) { - var linkHeader = xhr.getResponseHeader('Link'); - if (linkHeader) { - var pagination = parsePagination(xhr.getResponseHeader('Link')); - if (pagination.next) { - cache.nextURL[tile.id] = pagination.next; - } - } - return JSON.parse(xhr.responseText); - }) - .get(function(err, data) { - cache.loaded[id] = true; - delete cache.inflight[id]; - if (err || !data.features || !data.features.length) return; - - var features = data.features.map(function(feature) { - var loc = feature.geometry.coordinates, - d; - - if (which === 'images') { - d = { - loc: loc, - key: feature.properties.key, - ca: feature.properties.ca, - captured_at: feature.properties.captured_at, - captured_by: feature.properties.username, - pano: feature.properties.pano - }; - cache.forImageKey[d.key] = d; // cache imageKey -> image - - } else if (which === 'sequences') { - var sequenceKey = feature.properties.key; - cache.lineString[sequenceKey] = feature; // cache sequenceKey -> lineString - feature.properties.coordinateProperties.image_keys.forEach(function(imageKey) { - cache.forImageKey[imageKey] = sequenceKey; // cache imageKey -> sequenceKey - }); - return false; // because no `d` data worth loading into an rbush - - } else if (which === 'objects') { - d = { - loc: loc, - key: feature.properties.key, - value: feature.properties.value, - package: feature.properties.package, - detections: feature.properties.detections - }; - - // cache imageKey -> detectionKey - feature.properties.detections.forEach(function(detection) { - var imageKey = detection.image_key; - var detectionKey = detection.detection_key; - if (!_mlyCache.detections[imageKey]) { - _mlyCache.detections[imageKey] = {}; - } - if (!_mlyCache.detections[imageKey][detectionKey]) { - _mlyCache.detections[imageKey][detectionKey] = {}; - } - }); - } - - return { - minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d - }; - - }).filter(Boolean); - - cache.rtree.load(features); - - if (which === 'images' || which === 'sequences') { - dispatch$1.call('loadedImages'); - } else if (which === 'objects') { - dispatch$1.call('loadedSigns'); - } - - if (data.features.length === maxResults) { // more pages to load - cache.nextPage[tile.id] = nextPage + 1; - loadNextTilePage(which, currZoom, url, tile); - } else { - cache.nextPage[tile.id] = Infinity; // no more pages to load - } - }); - } - - // extract links to pages of API results - function parsePagination(links) { - return links.split(',').map(function(rel) { - var elements = rel.split(';'); - if (elements.length === 2) { - return [ - /<(.+)>/.exec(elements[0])[1], - /rel="(.+)"/.exec(elements[1])[1] - ]; - } else { - return ['','']; - } - }).reduce(function(pagination, val) { - pagination[val[1]] = val[0]; - return pagination; - }, {}); - } - - - // partition viewport into `psize` x `psize` regions - function partitionViewport(psize, projection) { - var dimensions = projection.clipExtent()[1]; - psize = psize || 16; - var cols = range(0, dimensions[0], psize), - rows = range(0, dimensions[1], psize), - partitions = []; - - rows.forEach(function(y) { - cols.forEach(function(x) { - var min$$1 = [x, y + psize], - max$$1 = [x + psize, y]; - partitions.push( - geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1))); - }); - }); - - return partitions; - } - - - // no more than `limit` results per partition. - function searchLimited(psize, limit, projection, rtree) { - limit = limit || 3; - - var partitions = partitionViewport(psize, projection); - var results; - - // console.time('previous'); - results = flatten(map$3(partitions, function(extent$$1) { - return rtree.search(extent$$1.bbox()) - .slice(0, limit) - .map(function(d) { return d.data; }); - })); - // console.timeEnd('previous'); - - // console.time('new'); - // results = partitions.reduce(function(result, extent) { - // var found = rtree.search(extent.bbox()) - // .map(function(d) { return d.data; }) - // .sort(function(a, b) { - // return a.loc[1] - b.loc[1]; - // // return a.key.localeCompare(b.key); - // }) - // .slice(0, limit); - - // return (found.length ? result.concat(found) : result); - // }, []); - // console.timeEnd('new'); - - return results; - } - - - - var serviceMapillary = { - - init: function() { - if (!_mlyCache) { - this.reset(); - } - - this.event = utilRebind(this, dispatch$1, 'on'); - }, - - reset: function() { - var cache = _mlyCache; - - if (cache) { - if (cache.images && cache.images.inflight) { - forEach(cache.images.inflight, abortRequest); - } - if (cache.objects && cache.objects.inflight) { - forEach(cache.objects.inflight, abortRequest); - } - if (cache.sequences && cache.sequences.inflight) { - forEach(cache.sequences.inflight, abortRequest); - } - } - - _mlyCache = { - images: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1(), forImageKey: {} }, - objects: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1() }, - sequences: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1(), forImageKey: {}, lineString: {} }, - detections: {} - }; - - _mlySelectedImage = null; - _mlyClicks = []; - }, - - - images: function(projection) { - var psize = 16, limit = 3; - return searchLimited(psize, limit, projection, _mlyCache.images.rtree); - }, - - - signs: function(projection) { - var psize = 32, limit = 3; - return searchLimited(psize, limit, projection, _mlyCache.objects.rtree); - }, - - - sequences: function(projection) { - var viewport = projection.clipExtent(); - var min$$1 = [viewport[0][0], viewport[1][1]]; - var max$$1 = [viewport[1][0], viewport[0][1]]; - var bbox = geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)).bbox(); - var sequenceKeys = {}; - - // all sequences for images in viewport - _mlyCache.images.rtree.search(bbox) - .forEach(function(d) { - var sequenceKey = _mlyCache.sequences.forImageKey[d.data.key]; - if (sequenceKey) { - sequenceKeys[sequenceKey] = true; - } - }); - - // Return lineStrings for the sequences - return Object.keys(sequenceKeys).map(function(sequenceKey) { - return _mlyCache.sequences.lineString[sequenceKey]; - }); - }, - - - signsSupported: function() { - var detected = utilDetect(); - if (detected.ie) return false; - if ((detected.browser.toLowerCase() === 'safari') && (parseFloat(detected.version) < 10)) return false; - return true; - }, - - - signHTML: function(d) { - if (!_mlySignDefs || !_mlySignSprite) return; - var position = _mlySignDefs[d.value]; - if (!position) return '
'; - var iconStyle = [ - 'background-image:url(' + _mlySignSprite + ')', - 'background-repeat:no-repeat', - 'height:' + position.height + 'px', - 'width:' + position.width + 'px', - 'background-position-x:-' + position.x + 'px', - 'background-position-y:-' + position.y + 'px', - ]; - - return '
'; - }, - - - loadImages: function(projection) { - loadTiles('images', apibase + 'images?', projection); - loadTiles('sequences', apibase + 'sequences?', projection); - }, - - - loadSigns: function(context, projection) { - // if we are looking at signs, we'll actually need to fetch images too - loadTiles('images', apibase + 'images?', projection); - loadTiles('objects', apibase + 'objects?', projection); - - // load traffic sign defs - if (!_mlySignDefs) { - _mlySignSprite = context.asset('img/traffic-signs/traffic-signs.png'); - _mlySignDefs = {}; - d3_json(context.asset('img/traffic-signs/traffic-signs.json'), function(err, data) { - if (err) return; - _mlySignDefs = data; - }); - } - }, - - - loadViewer: function(context) { - // add mly-wrapper - var wrap = select('#photoviewer').selectAll('.mly-wrapper') - .data([0]); - - var wrapEnter = wrap.enter() - .append('div') - .attr('id', 'mly') - .attr('class', 'photo-wrapper mly-wrapper') - .classed('hide', true); - - wrapEnter - .append('div') - .attr('class', 'photo-attribution fillD'); - - - // load mapillary-viewercss - select('head').selectAll('#mapillary-viewercss') - .data([0]) - .enter() - .append('link') - .attr('id', 'mapillary-viewercss') - .attr('rel', 'stylesheet') - .attr('href', context.asset(viewercss)); - - // load mapillary-viewerjs - select('head').selectAll('#mapillary-viewerjs') - .data([0]) - .enter() - .append('script') - .attr('id', 'mapillary-viewerjs') - .attr('src', context.asset(viewerjs)); - }, - - - showViewer: function() { - var wrap = select('#photoviewer') - .classed('hide', false); - - var isHidden = wrap.selectAll('.photo-wrapper.mly-wrapper.hide').size(); - - if (isHidden) { - wrap - .selectAll('.photo-wrapper:not(.mly-wrapper)') - .classed('hide', true); - - wrap - .selectAll('.photo-wrapper.mly-wrapper') - .classed('hide', false); - - _mlyViewer.resize(); - } - - return this; - }, - - - hideViewer: function() { - _mlySelectedImage = null; - - if (!_mlyFallback && _mlyViewer) { - _mlyViewer.getComponent('sequence').stop(); - } - - var viewer = select('#photoviewer'); - if (!viewer.empty()) viewer.datum(null); - - viewer - .classed('hide', true) - .selectAll('.photo-wrapper') - .classed('hide', true); - - d3_selectAll('.viewfield-group, .sequence, .icon-sign') - .classed('selected', false); - - return this.setStyles(null, true); - }, - - - parsePagination: parsePagination, - - - updateViewer: function(imageKey, context) { - if (!imageKey) return this; - - if (!_mlyViewer) { - this.initViewer(imageKey, context); - } else { - _mlyViewer.moveToKey(imageKey) - .catch(function(e) { console.error('mly3', e); }); // eslint-disable-line no-console - } - - return this; - }, - - - initViewer: function(imageKey, context) { - var that = this; - if (Mapillary && imageKey) { - var opts = { - baseImageSize: 320, - component: { - cover: false, - keyboard: false, - tag: true - } - }; - - // Disable components requiring WebGL support - if (!Mapillary.isSupported() && Mapillary.isFallbackSupported()) { - _mlyFallback = true; - opts.component = { - cover: false, - direction: false, - imagePlane: false, - keyboard: false, - mouse: false, - sequence: false, - tag: false, - image: true, // fallback - navigation: true // fallback - }; - } - - _mlyViewer = new Mapillary.Viewer('mly', clientId, null, opts); - _mlyViewer.on('nodechanged', nodeChanged); - _mlyViewer.moveToKey(imageKey) - .catch(function(e) { console.error('mly3', e); }); // eslint-disable-line no-console - } - - // nodeChanged: called after the viewer has changed images and is ready. - // - // There is some logic here to batch up clicks into a _mlyClicks array - // because the user might click on a lot of markers quickly and nodechanged - // may be called out of order asychronously. - // - // Clicks are added to the array in `selectedImage` and removed here. - // - function nodeChanged(node) { - if (!_mlyFallback) { - _mlyViewer.getComponent('tag').removeAll(); // remove previous detections - } - - var clicks = _mlyClicks; - var index = clicks.indexOf(node.key); - var selectedKey = _mlySelectedImage && _mlySelectedImage.key; - - if (index > -1) { // `nodechanged` initiated from clicking on a marker.. - clicks.splice(index, 1); // remove the click - // If `node.key` matches the current _mlySelectedImage, call `selectImage()` - // one more time to update the detections and attribution.. - if (node.key === selectedKey) { - that.selectImage(_mlySelectedImage, node.key, true); - } - } else { // `nodechanged` initiated from the Mapillary viewer controls.. - var loc = node.computedLatLon ? [node.computedLatLon.lon, node.computedLatLon.lat] : [node.latLon.lon, node.latLon.lat]; - context.map().centerEase(loc); - that.selectImage(undefined, node.key, true); - } - } - }, - - - // Pass the image datum itself in `d` or the `imageKey` string. - // This allows images to be selected from places that dont have access - // to the full image datum (like the street signs layer or the js viewer) - selectImage: function(d, imageKey, fromViewer) { - if (!d && imageKey) { - // If the user clicked on something that's not an image marker, we - // might get in here.. Cache lookup can fail, e.g. if the user - // clicked a streetsign, but images are loading slowly asynchronously. - // We'll try to carry on anyway if there is no datum. There just - // might be a delay before user sees detections, captured_at, etc. - d = _mlyCache.images.forImageKey[imageKey]; - } - - _mlySelectedImage = d; - var viewer = select('#photoviewer'); - if (!viewer.empty()) viewer.datum(d); - - imageKey = (d && d.key) || imageKey; - if (!fromViewer && imageKey) { - _mlyClicks.push(imageKey); - } - - this.setStyles(null, true); - - d3_selectAll('.layer-mapillary-signs .icon-sign') - .classed('selected', function(d) { - return some(d.detections, function(detection) { - return detection.image_key === imageKey; - }); - }); - - var wrap = select('#photoviewer .mly-wrapper'); - var attribution = wrap.selectAll('.photo-attribution').html(''); - - if (d) { - if (d.captured_by) { - attribution - .append('a') - .attr('class', 'captured_by') - .attr('target', '_blank') - .attr('href', 'https://www.mapillary.com/app/user/' + encodeURIComponent(d.captured_by)) - .text('@' + d.captured_by); - - attribution - .append('span') - .text('|'); - } - - if (d.captured_at) { - attribution - .append('span') - .attr('class', 'captured_at') - .text(localeTimestamp(d.captured_at)); - - attribution - .append('span') - .text('|'); - } - - attribution - .append('a') - .attr('class', 'image_link') - .attr('target', '_blank') - .attr('href', 'https://www.mapillary.com/app/?pKey=' + encodeURIComponent(d.key) + - '&focus=photo&lat=' + d.loc[1] + '&lng=' + d.loc[0] + '&z=17') - .text('mapillary.com'); - - this.updateDetections(d); - } - - return this; - }, - - - getSelectedImage: function() { - return _mlySelectedImage; - }, - - - getSequenceKeyForImage: function(d) { - var imageKey = d && d.key; - return imageKey && _mlyCache.sequences.forImageKey[imageKey]; - }, - - - setStyles: function(hovered, reset) { - if (reset) { // reset all layers - d3_selectAll('.viewfield-group') - .classed('highlighted', false) - .classed('hovered', false) - .classed('selected', false); - - d3_selectAll('.sequence') - .classed('highlighted', false) - .classed('selected', false); - } - - var hoveredImageKey = hovered && hovered.key; - var hoveredSequenceKey = this.getSequenceKeyForImage(hovered); - var hoveredLineString = hoveredSequenceKey && _mlyCache.sequences.lineString[hoveredSequenceKey]; - var hoveredImageKeys = (hoveredLineString && hoveredLineString.properties.coordinateProperties.image_keys) || []; - - var viewer = select('#photoviewer'); - var selected = viewer.empty() ? undefined : viewer.datum(); - var selectedImageKey = selected && selected.key; - var selectedSequenceKey = this.getSequenceKeyForImage(selected); - var selectedLineString = selectedSequenceKey && _mlyCache.sequences.lineString[selectedSequenceKey]; - var selectedImageKeys = (selectedLineString && selectedLineString.properties.coordinateProperties.image_keys) || []; - - // highlight sibling viewfields on either the selected or the hovered sequences - var highlightedImageKeys = union(hoveredImageKeys, selectedImageKeys); - - d3_selectAll('.layer-mapillary-images .viewfield-group') - .classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; }) - .classed('hovered', function(d) { return d.key === hoveredImageKey; }) - .classed('selected', function(d) { return d.key === selectedImageKey; }); - - d3_selectAll('.layer-mapillary-images .sequence') - .classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; }) - .classed('selected', function(d) { return d.properties.key === selectedSequenceKey; }); - - return this; - }, - - - updateDetections: function(d) { - if (!_mlyViewer || _mlyFallback) return; - - var imageKey = d && d.key; - var detections = (imageKey && _mlyCache.detections[imageKey]) || []; - - forEach(detections, function(data, k) { - if (isEmpty(data)) { - loadDetection(k); - } else { - var tag = makeTag(data); - if (tag) { - var tagComponent = _mlyViewer.getComponent('tag'); - tagComponent.add([tag]); - } - } - }); - - - function loadDetection(detectionKey) { - var url = apibase + 'detections/'+ - detectionKey + '?' + utilQsString({ - client_id: clientId, - }); - - request(url) - .mimeType('application/json') - .response(function(xhr) { - return JSON.parse(xhr.responseText); - }) - .get(function(err, data) { - if (!data || !data.properties) return; - - var imageKey = data.properties.image_key; - _mlyCache.detections[imageKey][detectionKey] = data; - - var selectedKey = _mlySelectedImage && _mlySelectedImage.key; - if (imageKey === selectedKey) { - var tag = makeTag(data); - if (tag) { - var tagComponent = _mlyViewer.getComponent('tag'); - tagComponent.add([tag]); - } - } - }); - } - - - function makeTag(data) { - var valueParts = data.properties.value.split('--'); - if (valueParts.length !== 3) return; - - var text = valueParts[1].replace(/-/g, ' '); - var tag; - - // Currently only two shapes - if (data.properties.shape.type === 'Polygon') { - var polygonGeometry = new Mapillary - .TagComponent - .PolygonGeometry(data.properties.shape.coordinates[0]); - - tag = new Mapillary.TagComponent.OutlineTag( - data.properties.key, - polygonGeometry, - { - text: text, - textColor: 0xffff00, - lineColor: 0xffff00, - lineWidth: 2, - fillColor: 0xffff00, - fillOpacity: 0.3, - } - ); - - } else if (data.properties.shape.type === 'Point') { - var pointGeometry = new Mapillary - .TagComponent - .PointGeometry(data.properties.shape.coordinates[0]); - - tag = new Mapillary.TagComponent.SpotTag( - data.properties.key, - pointGeometry, - { - text: text, - color: 0xffff00, - textColor: 0xffff00 - } - ); - } - - return tag; - } - }, - - - cache: function() { - return _mlyCache; - }, - - - signDefs: function(_) { - if (!arguments.length) return _mlySignDefs; - _mlySignDefs = _; - return this; - } - - }; - - var apibase$1 = 'https://nominatim.openstreetmap.org/', - inflight = {}, - nominatimCache; - - - var serviceNominatim = { - - init: function() { - inflight = {}; - nominatimCache = rbush_1(); - }, - - reset: function() { - forEach(inflight, function(req) { req.abort(); }); - inflight = {}; - nominatimCache = rbush_1(); - }, - - - countryCode: function (location, callback) { - this.reverse(location, function(err, result) { - if (err) { - return callback(err); - } else if (result.address) { - return callback(null, result.address.country_code); - } else { - return callback('Unable to geocode', null); - } - }); - }, - - - reverse: function (location, callback) { - var cached = nominatimCache.search( - { minX: location[0], minY: location[1], maxX: location[0], maxY: location[1] } - ); - - if (cached.length > 0) { - return callback(null, cached[0].data); - } - - var params = { zoom: 13, format: 'json', addressdetails: 1, lat: location[1], lon: location[0] }; - var url = apibase$1 + 'reverse?' + utilQsString(params); - if (inflight[url]) return; - - inflight[url] = d3_json(url, function(err, result) { - delete inflight[url]; - - if (err) { - return callback(err); - } else if (result && result.error) { - return callback(result.error); - } - - var extent = geoExtent$$1(location).padByMeters(200); - nominatimCache.insert(assign(extent.bbox(), {data: result})); - - callback(null, result); - }); - }, - - - search: function (val, callback) { - var searchVal = encodeURIComponent(val); - var url = apibase$1 + 'search/' + searchVal + '?limit=10&format=json'; - if (inflight[url]) return; - - inflight[url] = d3_json(url, function(err, result) { - delete inflight[url]; - callback(err, result); - }); - } - - }; - - var apibase$2 = 'https://openstreetcam.org', - maxResults$1 = 1000, - tileZoom$1 = 14, - dispatch$2 = dispatch('loadedImages'), - imgZoom = d3_zoom() - .extent([[0, 0], [320, 240]]) - .translateExtent([[0, 0], [320, 240]]) - .scaleExtent([1, 15]) - .on('zoom', zoomPan), - _oscCache, - _oscSelectedImage; - - - function abortRequest$1(i) { - i.abort(); - } - - - function nearNullIsland$1(x, y, z) { - if (z >= 7) { - var center = Math.pow(2, z - 1), - width = Math.pow(2, z - 6), - min$$1 = center - (width / 2), - max$$1 = center + (width / 2) - 1; - return x >= min$$1 && x <= max$$1 && y >= min$$1 && y <= max$$1; - } - return false; - } - - - function maxPageAtZoom$1(z) { - if (z < 15) return 2; - if (z === 15) return 5; - if (z === 16) return 10; - if (z === 17) return 20; - if (z === 18) return 40; - if (z > 18) return 80; - } - - - function getTiles$1(projection) { - var s = projection.scale() * 2 * Math.PI, - z = Math.max(Math.log(s) / Math.log(2) - 8, 0), - ts = 256 * Math.pow(2, z - tileZoom$1), - origin = [ - s / 2 - projection.translate()[0], - s / 2 - projection.translate()[1]]; - - return d3geoTile() - .scaleExtent([tileZoom$1, tileZoom$1]) - .scale(s) - .size(projection.clipExtent()[1]) - .translate(projection.translate())() - .map(function(tile) { - var x = tile[0] * ts - origin[0], - y = tile[1] * ts - origin[1]; - - return { - id: tile.toString(), - xyz: tile, - extent: geoExtent$$1( - projection.invert([x, y + ts]), - projection.invert([x + ts, y]) - ) - }; - }); - } - - - function loadTiles$1(which, url, projection) { - var s = projection.scale() * 2 * Math.PI, - currZoom = Math.floor(Math.max(Math.log(s) / Math.log(2) - 8, 0)); - - var tiles = getTiles$1(projection).filter(function(t) { - return !nearNullIsland$1(t.xyz[0], t.xyz[1], t.xyz[2]); - }); - - filter(which.inflight, function(v, k) { - var wanted = find$1(tiles, function(tile) { return k === (tile.id + ',0'); }); - if (!wanted) delete which.inflight[k]; - return !wanted; - }).map(abortRequest$1); - - tiles.forEach(function(tile) { - loadNextTilePage$1(which, currZoom, url, tile); - }); - } - - - function loadNextTilePage$1(which, currZoom, url, tile) { - var cache = _oscCache[which]; - var bbox = tile.extent.bbox(); - var maxPages = maxPageAtZoom$1(currZoom); - var nextPage = cache.nextPage[tile.id] || 1; - var params = utilQsString({ - ipp: maxResults$1, - page: nextPage, - // client_id: clientId, - bbTopLeft: [bbox.maxY, bbox.minX].join(','), - bbBottomRight: [bbox.minY, bbox.maxX].join(',') - }, true); - - if (nextPage > maxPages) return; - - var id = tile.id + ',' + String(nextPage); - if (cache.loaded[id] || cache.inflight[id]) return; - - cache.inflight[id] = request(url) - .mimeType('application/json') - .header('Content-type', 'application/x-www-form-urlencoded') - .response(function(xhr) { return JSON.parse(xhr.responseText); }) - .post(params, function(err, data) { - cache.loaded[id] = true; - delete cache.inflight[id]; - if (err || !data.currentPageItems || !data.currentPageItems.length) return; - - function localeDateString(s) { - if (!s) return null; - var detected = utilDetect(); - var options = { day: 'numeric', month: 'short', year: 'numeric' }; - var d = new Date(s); - if (isNaN(d.getTime())) return null; - return d.toLocaleDateString(detected.locale, options); - } - - var features = data.currentPageItems.map(function(item) { - var loc = [+item.lng, +item.lat], - d; - - if (which === 'images') { - d = { - loc: loc, - key: item.id, - ca: +item.heading, - captured_at: localeDateString(item.shot_date || item.date_added), - captured_by: item.username, - imagePath: item.lth_name, - sequence_id: item.sequence_id, - sequence_index: +item.sequence_index - }; - - // cache sequence info - var seq = _oscCache.sequences[d.sequence_id]; - if (!seq) { - seq = { rotation: 0, images: [] }; - _oscCache.sequences[d.sequence_id] = seq; - } - seq.images[d.sequence_index] = d; - } - - return { - minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d - }; - }); - - cache.rtree.load(features); - - if (which === 'images') { - dispatch$2.call('loadedImages'); - } - - if (data.currentPageItems.length === maxResults$1) { // more pages to load - cache.nextPage[tile.id] = nextPage + 1; - loadNextTilePage$1(which, currZoom, url, tile); - } else { - cache.nextPage[tile.id] = Infinity; // no more pages to load - } - }); - } - - - // partition viewport into `psize` x `psize` regions - function partitionViewport$1(psize, projection) { - var dimensions = projection.clipExtent()[1]; - psize = psize || 16; - var cols = range(0, dimensions[0], psize), - rows = range(0, dimensions[1], psize), - partitions = []; - - rows.forEach(function(y) { - cols.forEach(function(x) { - var min$$1 = [x, y + psize], - max$$1 = [x + psize, y]; - partitions.push( - geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1))); - }); - }); - - return partitions; - } - - - // no more than `limit` results per partition. - function searchLimited$1(psize, limit, projection, rtree) { - limit = limit || 3; - - var partitions = partitionViewport$1(psize, projection); - var results; - - results = flatten(map$3(partitions, function(extent$$1) { - return rtree.search(extent$$1.bbox()) - .slice(0, limit) - .map(function(d) { return d.data; }); - })); - return results; - } - - - function zoomPan() { - var t = event.transform; - select('#photoviewer .osc-image-wrap') - .call(utilSetTransform, t.x, t.y, t.k); - } - - - var serviceOpenstreetcam = { - - init: function() { - if (!_oscCache) { - this.reset(); - } - - this.event = utilRebind(this, dispatch$2, 'on'); - }, - - reset: function() { - var cache = _oscCache; - - if (cache) { - if (cache.images && cache.images.inflight) { - forEach(cache.images.inflight, abortRequest$1); - } - } - - _oscCache = { - images: { inflight: {}, loaded: {}, nextPage: {}, rtree: rbush_1() }, - sequences: {} - }; - - _oscSelectedImage = null; - }, - - - images: function(projection) { - var psize = 16, limit = 3; - return searchLimited$1(psize, limit, projection, _oscCache.images.rtree); - }, - - - sequences: function(projection) { - var viewport = projection.clipExtent(); - var min$$1 = [viewport[0][0], viewport[1][1]]; - var max$$1 = [viewport[1][0], viewport[0][1]]; - var bbox = geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)).bbox(); - var sequenceKeys = {}; - - // all sequences for images in viewport - _oscCache.images.rtree.search(bbox) - .forEach(function(d) { sequenceKeys[d.data.sequence_id] = true; }); - - // make linestrings from those sequences - var lineStrings = []; - Object.keys(sequenceKeys) - .forEach(function(sequenceKey) { - var seq = _oscCache.sequences[sequenceKey]; - var images = seq && seq.images; - if (images) { - lineStrings.push({ - type: 'LineString', - coordinates: images.map(function (d) { return d.loc; }).filter(Boolean), - properties: { key: sequenceKey } - }); - } - }); - return lineStrings; - }, - - - loadImages: function(projection) { - var url = apibase$2 + '/1.0/list/nearby-photos/'; - loadTiles$1('images', url, projection); - }, - - - loadViewer: function(context) { - var that = this; - - // add osc-wrapper - var wrap = select('#photoviewer').selectAll('.osc-wrapper') - .data([0]); - - var wrapEnter = wrap.enter() - .append('div') - .attr('class', 'photo-wrapper osc-wrapper') - .classed('hide', true) - .call(imgZoom) - .on('dblclick.zoom', null); - - wrapEnter - .append('div') - .attr('class', 'photo-attribution fillD'); - - var controlsEnter = wrapEnter - .append('div') - .attr('class', 'osc-controls-wrap') - .append('div') - .attr('class', 'osc-controls'); - - controlsEnter - .append('button') - .on('click.back', step(-1)) - .text('◄'); - - controlsEnter - .append('button') - .on('click.rotate-ccw', rotate(-90)) - .text('⤿'); - - controlsEnter - .append('button') - .on('click.rotate-cw', rotate(90)) - .text('⤾'); - - controlsEnter - .append('button') - .on('click.forward', step(1)) - .text('►'); - - wrapEnter - .append('div') - .attr('class', 'osc-image-wrap'); - - - function rotate(deg) { - return function() { - if (!_oscSelectedImage) return; - var sequenceKey = _oscSelectedImage.sequence_id; - var sequence = _oscCache.sequences[sequenceKey]; - if (!sequence) return; - - var r = sequence.rotation || 0; - r += deg; - - if (r > 180) r -= 360; - if (r < -180) r += 360; - sequence.rotation = r; - - var wrap = select('#photoviewer .osc-wrapper'); - - wrap - .transition() - .duration(100) - .call(imgZoom.transform, identity$7); - - wrap.selectAll('.osc-image') - .transition() - .duration(100) - .style('transform', 'rotate(' + r + 'deg)'); - }; - } - - function step(stepBy) { - return function() { - if (!_oscSelectedImage) return; - var sequenceKey = _oscSelectedImage.sequence_id; - var sequence = _oscCache.sequences[sequenceKey]; - if (!sequence) return; - - var nextIndex = _oscSelectedImage.sequence_index + stepBy; - var nextImage = sequence.images[nextIndex]; - if (!nextImage) return; - - context.map().centerEase(nextImage.loc); - - that - .selectImage(nextImage) - .updateViewer(nextImage); - }; - } - }, - - - showViewer: function() { - var viewer = select('#photoviewer') - .classed('hide', false); - - var isHidden = viewer.selectAll('.photo-wrapper.osc-wrapper.hide').size(); - - if (isHidden) { - viewer - .selectAll('.photo-wrapper:not(.osc-wrapper)') - .classed('hide', true); - - viewer - .selectAll('.photo-wrapper.osc-wrapper') - .classed('hide', false); - } - - return this; - }, - - - hideViewer: function() { - _oscSelectedImage = null; - - var viewer = select('#photoviewer'); - if (!viewer.empty()) viewer.datum(null); - - viewer - .classed('hide', true) - .selectAll('.photo-wrapper') - .classed('hide', true); - - d3_selectAll('.viewfield-group, .sequence, .icon-sign') - .classed('selected', false); - - return this.setStyles(null, true); - }, - - - updateViewer: function(d) { - var wrap = select('#photoviewer .osc-wrapper'); - var imageWrap = wrap.selectAll('.osc-image-wrap'); - var attribution = wrap.selectAll('.photo-attribution').html(''); - - wrap - .transition() - .duration(100) - .call(imgZoom.transform, identity$7); - - imageWrap - .selectAll('.osc-image') - .remove(); - - if (d) { - var sequence = _oscCache.sequences[d.sequence_id]; - var r = (sequence && sequence.rotation) || 0; - - imageWrap - .append('img') - .attr('class', 'osc-image') - .attr('src', apibase$2 + '/' + d.imagePath) - .style('transform', 'rotate(' + r + 'deg)'); - - if (d.captured_by) { - attribution - .append('a') - .attr('class', 'captured_by') - .attr('target', '_blank') - .attr('href', 'https://openstreetcam.org/user/' + encodeURIComponent(d.captured_by)) - .text('@' + d.captured_by); - - attribution - .append('span') - .text('|'); - } - - if (d.captured_at) { - attribution - .append('span') - .attr('class', 'captured_at') - .text(d.captured_at); - - attribution - .append('span') - .text('|'); - } - - attribution - .append('a') - .attr('class', 'image_link') - .attr('target', '_blank') - .attr('href', 'https://openstreetcam.org/details/' + d.sequence_id + '/' + d.sequence_index) - .text('openstreetcam.org'); - } - return this; - }, - - - selectImage: function(d) { - _oscSelectedImage = d; - var viewer = select('#photoviewer'); - if (!viewer.empty()) viewer.datum(d); - - this.setStyles(null, true); - - d3_selectAll('.icon-sign') - .classed('selected', false); - - return this; - }, - - - getSelectedImage: function() { - return _oscSelectedImage; - }, - - - getSequenceKeyForImage: function(d) { - return d && d.sequence_id; - }, - - - setStyles: function(hovered, reset) { - if (reset) { // reset all layers - d3_selectAll('.viewfield-group') - .classed('highlighted', false) - .classed('hovered', false) - .classed('selected', false); - - d3_selectAll('.sequence') - .classed('highlighted', false) - .classed('selected', false); - } - - var hoveredImageKey = hovered && hovered.key; - var hoveredSequenceKey = this.getSequenceKeyForImage(hovered); - var hoveredSequence = hoveredSequenceKey && _oscCache.sequences[hoveredSequenceKey]; - var hoveredImageKeys = (hoveredSequence && hoveredSequence.images.map(function (d) { return d.key; })) || []; - - var viewer = select('#photoviewer'); - var selected = viewer.empty() ? undefined : viewer.datum(); - var selectedImageKey = selected && selected.key; - var selectedSequenceKey = this.getSequenceKeyForImage(selected); - var selectedSequence = selectedSequenceKey && _oscCache.sequences[selectedSequenceKey]; - var selectedImageKeys = (selectedSequence && selectedSequence.images.map(function (d) { return d.key; })) || []; - - // highlight sibling viewfields on either the selected or the hovered sequences - var highlightedImageKeys = union(hoveredImageKeys, selectedImageKeys); - - d3_selectAll('.layer-openstreetcam-images .viewfield-group') - .classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; }) - .classed('hovered', function(d) { return d.key === hoveredImageKey; }) - .classed('selected', function(d) { return d.key === selectedImageKey; }); - - d3_selectAll('.layer-openstreetcam-images .sequence') - .classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; }) - .classed('selected', function(d) { return d.properties.key === selectedSequenceKey; }); - - return this; - }, - - - cache: function() { - return _oscCache; - } - - }; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeCeil = Math.ceil, - nativeMax$4 = Math.max; - - /** - * Creates an array of elements split into groups the length of `size`. - * 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 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']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ - function chunk(array, size, guard) { - if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { - size = 1; - } else { - size = nativeMax$4(toInteger(size), 0); - } - var length = array == null ? 0 : array.length; - if (!length || size < 1) { - return []; - } - var index = 0, - resIndex = 0, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[resIndex++] = baseSlice(array, index, (index += size)); - } - return result; - } - - var hashes = createCommonjsModule(function (module, exports) { - /** - * jshashes - https://github.com/h2non/jshashes - * Released under the "New BSD" license - * - * Algorithms specification: - * - * MD5 - http://www.ietf.org/rfc/rfc1321.txt - * RIPEMD-160 - http://homes.esat.kuleuven.be/~bosselae/ripemd160.html - * SHA1 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf - * SHA256 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf - * SHA512 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf - * HMAC - http://www.ietf.org/rfc/rfc2104.txt - */ - (function() { - var Hashes; - - function utf8Encode(str) { - var x, y, output = '', - i = -1, - l; - - if (str && str.length) { - l = str.length; - while ((i += 1) < l) { - /* Decode utf-16 surrogate pairs */ - x = str.charCodeAt(i); - y = i + 1 < l ? str.charCodeAt(i + 1) : 0; - if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) { - x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF); - i += 1; - } - /* Encode output as utf-8 */ - if (x <= 0x7F) { - output += String.fromCharCode(x); - } else if (x <= 0x7FF) { - output += String.fromCharCode(0xC0 | ((x >>> 6) & 0x1F), - 0x80 | (x & 0x3F)); - } else if (x <= 0xFFFF) { - output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F), - 0x80 | ((x >>> 6) & 0x3F), - 0x80 | (x & 0x3F)); - } else if (x <= 0x1FFFFF) { - output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07), - 0x80 | ((x >>> 12) & 0x3F), - 0x80 | ((x >>> 6) & 0x3F), - 0x80 | (x & 0x3F)); - } - } - } - return output; - } - - function utf8Decode(str) { - var i, ac, c1, c2, c3, arr = [], - l; - i = ac = c1 = c2 = c3 = 0; - - if (str && str.length) { - l = str.length; - str += ''; - - while (i < l) { - c1 = str.charCodeAt(i); - ac += 1; - if (c1 < 128) { - arr[ac] = String.fromCharCode(c1); - i += 1; - } else if (c1 > 191 && c1 < 224) { - c2 = str.charCodeAt(i + 1); - arr[ac] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63)); - i += 2; - } else { - c2 = str.charCodeAt(i + 1); - c3 = str.charCodeAt(i + 2); - arr[ac] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); - i += 3; - } - } - } - return arr.join(''); - } - - /** - * Add integers, wrapping at 2^32. This uses 16-bit operations internally - * to work around bugs in some JS interpreters. - */ - - function safe_add(x, y) { - var lsw = (x & 0xFFFF) + (y & 0xFFFF), - msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return (msw << 16) | (lsw & 0xFFFF); - } - - /** - * Bitwise rotate a 32-bit number to the left. - */ - - function bit_rol(num, cnt) { - return (num << cnt) | (num >>> (32 - cnt)); - } - - /** - * Convert a raw string to a hex string - */ - - function rstr2hex(input, hexcase) { - var hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef', - output = '', - x, i = 0, - l = input.length; - for (; i < l; i += 1) { - x = input.charCodeAt(i); - output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F); - } - return output; - } - - /** - * Convert an array of big-endian words to a string - */ - - function binb2rstr(input) { - var i, l = input.length * 32, - output = ''; - for (i = 0; i < l; i += 8) { - output += String.fromCharCode((input[i >> 5] >>> (24 - i % 32)) & 0xFF); - } - return output; - } - - /** - * Convert an array of little-endian words to a string - */ - - function binl2rstr(input) { - var i, l = input.length * 32, - output = ''; - for (i = 0; i < l; i += 8) { - output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF); - } - return output; - } - - /** - * Convert a raw string to an array of little-endian words - * Characters >255 have their high-byte silently ignored. - */ - - function rstr2binl(input) { - var i, l = input.length * 8, - output = Array(input.length >> 2), - lo = output.length; - for (i = 0; i < lo; i += 1) { - output[i] = 0; - } - for (i = 0; i < l; i += 8) { - output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32); - } - return output; - } - - /** - * Convert a raw string to an array of big-endian words - * Characters >255 have their high-byte silently ignored. - */ - - function rstr2binb(input) { - var i, l = input.length * 8, - output = Array(input.length >> 2), - lo = output.length; - for (i = 0; i < lo; i += 1) { - output[i] = 0; - } - for (i = 0; i < l; i += 8) { - output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32); - } - return output; - } - - /** - * Convert a raw string to an arbitrary string encoding - */ - - function rstr2any(input, encoding) { - var divisor = encoding.length, - remainders = Array(), - i, q, x, ld, quotient, dividend, output, full_length; - - /* Convert to an array of 16-bit big-endian values, forming the dividend */ - dividend = Array(Math.ceil(input.length / 2)); - ld = dividend.length; - for (i = 0; i < ld; i += 1) { - dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1); - } - - /** - * Repeatedly perform a long division. The binary array forms the dividend, - * the length of the encoding is the divisor. Once computed, the quotient - * forms the dividend for the next step. We stop when the dividend is zerHashes. - * All remainders are stored for later use. - */ - while (dividend.length > 0) { - quotient = Array(); - x = 0; - for (i = 0; i < dividend.length; i += 1) { - x = (x << 16) + dividend[i]; - q = Math.floor(x / divisor); - x -= q * divisor; - if (quotient.length > 0 || q > 0) { - quotient[quotient.length] = q; - } - } - remainders[remainders.length] = x; - dividend = quotient; - } - - /* Convert the remainders to the output string */ - output = ''; - for (i = remainders.length - 1; i >= 0; i--) { - output += encoding.charAt(remainders[i]); - } - - /* Append leading zero equivalents */ - full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2))); - for (i = output.length; i < full_length; i += 1) { - output = encoding[0] + output; - } - return output; - } - - /** - * Convert a raw string to a base-64 string - */ - - function rstr2b64(input, b64pad) { - var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', - output = '', - len = input.length, - i, j, triplet; - b64pad = b64pad || '='; - for (i = 0; i < len; i += 3) { - triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0); - for (j = 0; j < 4; j += 1) { - if (i * 8 + j * 6 > input.length * 8) { - output += b64pad; - } else { - output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F); - } - } - } - return output; - } - - Hashes = { - /** - * @property {String} version - * @readonly - */ - VERSION: '1.0.6', - /** - * @member Hashes - * @class Base64 - * @constructor - */ - Base64: function() { - // private properties - var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', - pad = '=', // default pad according with the RFC standard - utf8 = true; // by default enable UTF-8 support encoding - - // public method for encoding - this.encode = function(input) { - var i, j, triplet, - output = '', - len = input.length; - - pad = pad || '='; - input = (utf8) ? utf8Encode(input) : input; - - for (i = 0; i < len; i += 3) { - triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0); - for (j = 0; j < 4; j += 1) { - if (i * 8 + j * 6 > len * 8) { - output += pad; - } else { - output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F); - } - } - } - return output; - }; - - // public method for decoding - this.decode = function(input) { - // var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - var i, o1, o2, o3, h1, h2, h3, h4, bits, ac, - dec = '', - arr = []; - if (!input) { - return input; - } - - i = ac = 0; - input = input.replace(new RegExp('\\' + pad, 'gi'), ''); // use '=' - //input += ''; - - do { // unpack four hexets into three octets using index points in b64 - h1 = tab.indexOf(input.charAt(i += 1)); - h2 = tab.indexOf(input.charAt(i += 1)); - h3 = tab.indexOf(input.charAt(i += 1)); - h4 = tab.indexOf(input.charAt(i += 1)); - - bits = h1 << 18 | h2 << 12 | h3 << 6 | h4; - - o1 = bits >> 16 & 0xff; - o2 = bits >> 8 & 0xff; - o3 = bits & 0xff; - ac += 1; - - if (h3 === 64) { - arr[ac] = String.fromCharCode(o1); - } else if (h4 === 64) { - arr[ac] = String.fromCharCode(o1, o2); - } else { - arr[ac] = String.fromCharCode(o1, o2, o3); - } - } while (i < input.length); - - dec = arr.join(''); - dec = (utf8) ? utf8Decode(dec) : dec; - - return dec; - }; - - // set custom pad string - this.setPad = function(str) { - pad = str || pad; - return this; - }; - // set custom tab string characters - this.setTab = function(str) { - tab = str || tab; - return this; - }; - this.setUTF8 = function(bool) { - if (typeof bool === 'boolean') { - utf8 = bool; - } - return this; - }; - }, - - /** - * CRC-32 calculation - * @member Hashes - * @method CRC32 - * @static - * @param {String} str Input String - * @return {String} - */ - CRC32: function(str) { - var crc = 0, - x = 0, - y = 0, - table, i, iTop; - str = utf8Encode(str); - - table = [ - '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 ', - '79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 ', - '84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F ', - '63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD ', - 'A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC ', - '51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 ', - 'B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 ', - '06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 ', - 'E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 ', - '12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 ', - 'D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 ', - '33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 ', - 'CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 ', - '9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E ', - '7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D ', - '806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 ', - '60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA ', - 'AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 ', - '5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 ', - 'B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 ', - '05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 ', - 'F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA ', - '11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 ', - 'D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F ', - '30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E ', - 'C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D' - ].join(''); - - crc = crc ^ (-1); - for (i = 0, iTop = str.length; i < iTop; i += 1) { - y = (crc ^ str.charCodeAt(i)) & 0xFF; - x = '0x' + table.substr(y * 9, 8); - crc = (crc >>> 8) ^ x; - } - // always return a positive number (that's what >>> 0 does) - return (crc ^ (-1)) >>> 0; - }, - /** - * @member Hashes - * @class MD5 - * @constructor - * @param {Object} [config] - * - * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message - * Digest Algorithm, as defined in RFC 1321. - * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * See for more infHashes. - */ - MD5: function(options) { - /** - * Private config properties. You may need to tweak these to be compatible with - * the server-side, but the defaults work in most cases. - * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase} - */ - var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase - b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance - utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding - - // privileged (public) methods - this.hex = function(s) { - return rstr2hex(rstr(s, utf8), hexcase); - }; - this.b64 = function(s) { - return rstr2b64(rstr(s), b64pad); - }; - this.any = function(s, e) { - return rstr2any(rstr(s, utf8), e); - }; - this.raw = function(s) { - return rstr(s, utf8); - }; - this.hex_hmac = function(k, d) { - return rstr2hex(rstr_hmac(k, d), hexcase); - }; - this.b64_hmac = function(k, d) { - return rstr2b64(rstr_hmac(k, d), b64pad); - }; - this.any_hmac = function(k, d, e) { - return rstr2any(rstr_hmac(k, d), e); - }; - /** - * Perform a simple self-test to see if the VM is working - * @return {String} Hexadecimal hash sample - */ - this.vm_test = function() { - return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; - }; - /** - * Enable/disable uppercase hexadecimal returned string - * @param {Boolean} - * @return {Object} this - */ - this.setUpperCase = function(a) { - if (typeof a === 'boolean') { - hexcase = a; - } - return this; - }; - /** - * Defines a base64 pad string - * @param {String} Pad - * @return {Object} this - */ - this.setPad = function(a) { - b64pad = a || b64pad; - return this; - }; - /** - * Defines a base64 pad string - * @param {Boolean} - * @return {Object} [this] - */ - this.setUTF8 = function(a) { - if (typeof a === 'boolean') { - utf8 = a; - } - return this; - }; - - // private methods - - /** - * Calculate the MD5 of a raw string - */ - - function rstr(s) { - s = (utf8) ? utf8Encode(s) : s; - return binl2rstr(binl(rstr2binl(s), s.length * 8)); - } - - /** - * Calculate the HMAC-MD5, of a key and some data (raw strings) - */ - - function rstr_hmac(key, data) { - var bkey, ipad, opad, hash, i; - - key = (utf8) ? utf8Encode(key) : key; - data = (utf8) ? utf8Encode(data) : data; - bkey = rstr2binl(key); - if (bkey.length > 16) { - bkey = binl(bkey, key.length * 8); - } - - ipad = Array(16), opad = Array(16); - for (i = 0; i < 16; i += 1) { - ipad[i] = bkey[i] ^ 0x36363636; - opad[i] = bkey[i] ^ 0x5C5C5C5C; - } - hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8); - return binl2rstr(binl(opad.concat(hash), 512 + 128)); - } - - /** - * Calculate the MD5 of an array of little-endian words, and a bit length. - */ - - function binl(x, len) { - var i, olda, oldb, oldc, oldd, - a = 1732584193, - b = -271733879, - c = -1732584194, - d = 271733878; - - /* append padding */ - x[len >> 5] |= 0x80 << ((len) % 32); - x[(((len + 64) >>> 9) << 4) + 14] = len; - - for (i = 0; i < x.length; i += 16) { - olda = a; - oldb = b; - oldc = c; - oldd = d; - - a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936); - d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586); - c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819); - b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330); - a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897); - d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426); - c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341); - b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983); - a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416); - d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417); - c = md5_ff(c, d, a, b, x[i + 10], 17, -42063); - b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162); - a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682); - d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101); - c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290); - b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329); - - a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510); - d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632); - c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713); - b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302); - a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691); - d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083); - c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335); - b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848); - a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438); - d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690); - c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961); - b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501); - a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467); - d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784); - c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473); - b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734); - - a = md5_hh(a, b, c, d, x[i + 5], 4, -378558); - d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463); - c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562); - b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556); - a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060); - d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353); - c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632); - b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640); - a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174); - d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222); - c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979); - b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189); - a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487); - d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835); - c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520); - b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651); - - a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844); - d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415); - c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905); - b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055); - a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571); - d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606); - c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523); - b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799); - a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359); - d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744); - c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380); - b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649); - a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070); - d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379); - c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259); - b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551); - - a = safe_add(a, olda); - b = safe_add(b, oldb); - c = safe_add(c, oldc); - d = safe_add(d, oldd); - } - return Array(a, b, c, d); - } - - /** - * These functions implement the four basic operations the algorithm uses. - */ - - function md5_cmn(q, a, b, x, s, t) { - return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b); - } - - function md5_ff(a, b, c, d, x, s, t) { - return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); - } - - function md5_gg(a, b, c, d, x, s, t) { - return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); - } - - function md5_hh(a, b, c, d, x, s, t) { - return md5_cmn(b ^ c ^ d, a, b, x, s, t); - } - - function md5_ii(a, b, c, d, x, s, t) { - return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); - } - }, - /** - * @member Hashes - * @class Hashes.SHA1 - * @param {Object} [config] - * @constructor - * - * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1 - * Version 2.2 Copyright Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * See http://pajhome.org.uk/crypt/md5 for details. - */ - SHA1: function(options) { - /** - * Private config properties. You may need to tweak these to be compatible with - * the server-side, but the defaults work in most cases. - * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase} - */ - var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase - b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance - utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding - - // public methods - this.hex = function(s) { - return rstr2hex(rstr(s, utf8), hexcase); - }; - this.b64 = function(s) { - return rstr2b64(rstr(s, utf8), b64pad); - }; - this.any = function(s, e) { - return rstr2any(rstr(s, utf8), e); - }; - this.raw = function(s) { - return rstr(s, utf8); - }; - this.hex_hmac = function(k, d) { - return rstr2hex(rstr_hmac(k, d)); - }; - this.b64_hmac = function(k, d) { - return rstr2b64(rstr_hmac(k, d), b64pad); - }; - this.any_hmac = function(k, d, e) { - return rstr2any(rstr_hmac(k, d), e); - }; - /** - * Perform a simple self-test to see if the VM is working - * @return {String} Hexadecimal hash sample - * @public - */ - this.vm_test = function() { - return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; - }; - /** - * @description Enable/disable uppercase hexadecimal returned string - * @param {boolean} - * @return {Object} this - * @public - */ - this.setUpperCase = function(a) { - if (typeof a === 'boolean') { - hexcase = a; - } - return this; - }; - /** - * @description Defines a base64 pad string - * @param {string} Pad - * @return {Object} this - * @public - */ - this.setPad = function(a) { - b64pad = a || b64pad; - return this; - }; - /** - * @description Defines a base64 pad string - * @param {boolean} - * @return {Object} this - * @public - */ - this.setUTF8 = function(a) { - if (typeof a === 'boolean') { - utf8 = a; - } - return this; - }; - - // private methods - - /** - * Calculate the SHA-512 of a raw string - */ - - function rstr(s) { - s = (utf8) ? utf8Encode(s) : s; - return binb2rstr(binb(rstr2binb(s), s.length * 8)); - } - - /** - * Calculate the HMAC-SHA1 of a key and some data (raw strings) - */ - - function rstr_hmac(key, data) { - var bkey, ipad, opad, i, hash; - key = (utf8) ? utf8Encode(key) : key; - data = (utf8) ? utf8Encode(data) : data; - bkey = rstr2binb(key); - - if (bkey.length > 16) { - bkey = binb(bkey, key.length * 8); - } - ipad = Array(16), opad = Array(16); - for (i = 0; i < 16; i += 1) { - ipad[i] = bkey[i] ^ 0x36363636; - opad[i] = bkey[i] ^ 0x5C5C5C5C; - } - hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8); - return binb2rstr(binb(opad.concat(hash), 512 + 160)); - } - - /** - * Calculate the SHA-1 of an array of big-endian words, and a bit length - */ - - function binb(x, len) { - var i, j, t, olda, oldb, oldc, oldd, olde, - w = Array(80), - a = 1732584193, - b = -271733879, - c = -1732584194, - d = 271733878, - e = -1009589776; - - /* append padding */ - x[len >> 5] |= 0x80 << (24 - len % 32); - x[((len + 64 >> 9) << 4) + 15] = len; - - for (i = 0; i < x.length; i += 16) { - olda = a; - oldb = b; - oldc = c; - oldd = d; - olde = e; - - for (j = 0; j < 80; j += 1) { - if (j < 16) { - w[j] = x[i + j]; - } else { - w[j] = bit_rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1); - } - t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)), - safe_add(safe_add(e, w[j]), sha1_kt(j))); - e = d; - d = c; - c = bit_rol(b, 30); - b = a; - a = t; - } - - a = safe_add(a, olda); - b = safe_add(b, oldb); - c = safe_add(c, oldc); - d = safe_add(d, oldd); - e = safe_add(e, olde); - } - return Array(a, b, c, d, e); - } - - /** - * Perform the appropriate triplet combination function for the current - * iteration - */ - - function sha1_ft(t, b, c, d) { - if (t < 20) { - return (b & c) | ((~b) & d); - } - if (t < 40) { - return b ^ c ^ d; - } - if (t < 60) { - return (b & c) | (b & d) | (c & d); - } - return b ^ c ^ d; - } - - /** - * Determine the appropriate additive constant for the current iteration - */ - - function sha1_kt(t) { - return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : - (t < 60) ? -1894007588 : -899497514; - } - }, - /** - * @class Hashes.SHA256 - * @param {config} - * - * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined in FIPS 180-2 - * Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * See http://pajhome.org.uk/crypt/md5 for details. - * Also http://anmar.eu.org/projects/jssha2/ - */ - SHA256: function(options) { - /** - * Private properties configuration variables. You may need to tweak these to be compatible with - * the server-side, but the defaults work in most cases. - * @see this.setUpperCase() method - * @see this.setPad() method - */ - var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase */ - b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', - /* base-64 pad character. Default '=' for strict RFC compliance */ - utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, - /* enable/disable utf8 encoding */ - sha256_K; - - /* privileged (public) methods */ - this.hex = function(s) { - return rstr2hex(rstr(s, utf8)); - }; - this.b64 = function(s) { - return rstr2b64(rstr(s, utf8), b64pad); - }; - this.any = function(s, e) { - return rstr2any(rstr(s, utf8), e); - }; - this.raw = function(s) { - return rstr(s, utf8); - }; - this.hex_hmac = function(k, d) { - return rstr2hex(rstr_hmac(k, d)); - }; - this.b64_hmac = function(k, d) { - return rstr2b64(rstr_hmac(k, d), b64pad); - }; - this.any_hmac = function(k, d, e) { - return rstr2any(rstr_hmac(k, d), e); - }; - /** - * Perform a simple self-test to see if the VM is working - * @return {String} Hexadecimal hash sample - * @public - */ - this.vm_test = function() { - return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; - }; - /** - * Enable/disable uppercase hexadecimal returned string - * @param {boolean} - * @return {Object} this - * @public - */ - this.setUpperCase = function(a) { - if (typeof a === 'boolean') { - hexcase = a; - } - return this; - }; - /** - * @description Defines a base64 pad string - * @param {string} Pad - * @return {Object} this - * @public - */ - this.setPad = function(a) { - b64pad = a || b64pad; - return this; - }; - /** - * Defines a base64 pad string - * @param {boolean} - * @return {Object} this - * @public - */ - this.setUTF8 = function(a) { - if (typeof a === 'boolean') { - utf8 = a; - } - return this; - }; - - // private methods - - /** - * Calculate the SHA-512 of a raw string - */ - - function rstr(s, utf8) { - s = (utf8) ? utf8Encode(s) : s; - return binb2rstr(binb(rstr2binb(s), s.length * 8)); - } - - /** - * Calculate the HMAC-sha256 of a key and some data (raw strings) - */ - - function rstr_hmac(key, data) { - key = (utf8) ? utf8Encode(key) : key; - data = (utf8) ? utf8Encode(data) : data; - var hash, i = 0, - bkey = rstr2binb(key), - ipad = Array(16), - opad = Array(16); - - if (bkey.length > 16) { - bkey = binb(bkey, key.length * 8); - } - - for (; i < 16; i += 1) { - ipad[i] = bkey[i] ^ 0x36363636; - opad[i] = bkey[i] ^ 0x5C5C5C5C; - } - - hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8); - return binb2rstr(binb(opad.concat(hash), 512 + 256)); - } - - /* - * Main sha256 function, with its support functions - */ - - function sha256_S(X, n) { - return (X >>> n) | (X << (32 - n)); - } - - function sha256_R(X, n) { - return (X >>> n); - } - - function sha256_Ch(x, y, z) { - return ((x & y) ^ ((~x) & z)); - } - - function sha256_Maj(x, y, z) { - return ((x & y) ^ (x & z) ^ (y & z)); - } - - function sha256_Sigma0256(x) { - return (sha256_S(x, 2) ^ sha256_S(x, 13) ^ sha256_S(x, 22)); - } - - function sha256_Sigma1256(x) { - return (sha256_S(x, 6) ^ sha256_S(x, 11) ^ sha256_S(x, 25)); - } - - function sha256_Gamma0256(x) { - return (sha256_S(x, 7) ^ sha256_S(x, 18) ^ sha256_R(x, 3)); - } - - function sha256_Gamma1256(x) { - return (sha256_S(x, 17) ^ sha256_S(x, 19) ^ sha256_R(x, 10)); - } - - sha256_K = [ - 1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993, -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987, - 1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522, - 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585, - 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, - 1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885, -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344, - 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, - 1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872, -1866530822, -1538233109, -1090935817, -965641998 - ]; - - function binb(m, l) { - var HASH = [1779033703, -1150833019, 1013904242, -1521486534, - 1359893119, -1694144372, 528734635, 1541459225 - ]; - var W = new Array(64); - var a, b, c, d, e, f, g, h; - var i, j, T1, T2; - - /* append padding */ - m[l >> 5] |= 0x80 << (24 - l % 32); - m[((l + 64 >> 9) << 4) + 15] = l; - - for (i = 0; i < m.length; i += 16) { - a = HASH[0]; - b = HASH[1]; - c = HASH[2]; - d = HASH[3]; - e = HASH[4]; - f = HASH[5]; - g = HASH[6]; - h = HASH[7]; - - for (j = 0; j < 64; j += 1) { - if (j < 16) { - W[j] = m[j + i]; - } else { - W[j] = safe_add(safe_add(safe_add(sha256_Gamma1256(W[j - 2]), W[j - 7]), - sha256_Gamma0256(W[j - 15])), W[j - 16]); - } - - T1 = safe_add(safe_add(safe_add(safe_add(h, sha256_Sigma1256(e)), sha256_Ch(e, f, g)), - sha256_K[j]), W[j]); - T2 = safe_add(sha256_Sigma0256(a), sha256_Maj(a, b, c)); - h = g; - g = f; - f = e; - e = safe_add(d, T1); - d = c; - c = b; - b = a; - a = safe_add(T1, T2); - } - - HASH[0] = safe_add(a, HASH[0]); - HASH[1] = safe_add(b, HASH[1]); - HASH[2] = safe_add(c, HASH[2]); - HASH[3] = safe_add(d, HASH[3]); - HASH[4] = safe_add(e, HASH[4]); - HASH[5] = safe_add(f, HASH[5]); - HASH[6] = safe_add(g, HASH[6]); - HASH[7] = safe_add(h, HASH[7]); - } - return HASH; - } - - }, - - /** - * @class Hashes.SHA512 - * @param {config} - * - * A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined in FIPS 180-2 - * Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * See http://pajhome.org.uk/crypt/md5 for details. - */ - SHA512: function(options) { - /** - * Private properties configuration variables. You may need to tweak these to be compatible with - * the server-side, but the defaults work in most cases. - * @see this.setUpperCase() method - * @see this.setPad() method - */ - var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, - /* hexadecimal output case format. false - lowercase; true - uppercase */ - b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', - /* base-64 pad character. Default '=' for strict RFC compliance */ - utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, - /* enable/disable utf8 encoding */ - sha512_k; - - /* privileged (public) methods */ - this.hex = function(s) { - return rstr2hex(rstr(s)); - }; - this.b64 = function(s) { - return rstr2b64(rstr(s), b64pad); - }; - this.any = function(s, e) { - return rstr2any(rstr(s), e); - }; - this.raw = function(s) { - return rstr(s, utf8); - }; - this.hex_hmac = function(k, d) { - return rstr2hex(rstr_hmac(k, d)); - }; - this.b64_hmac = function(k, d) { - return rstr2b64(rstr_hmac(k, d), b64pad); - }; - this.any_hmac = function(k, d, e) { - return rstr2any(rstr_hmac(k, d), e); - }; - /** - * Perform a simple self-test to see if the VM is working - * @return {String} Hexadecimal hash sample - * @public - */ - this.vm_test = function() { - return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; - }; - /** - * @description Enable/disable uppercase hexadecimal returned string - * @param {boolean} - * @return {Object} this - * @public - */ - this.setUpperCase = function(a) { - if (typeof a === 'boolean') { - hexcase = a; - } - return this; - }; - /** - * @description Defines a base64 pad string - * @param {string} Pad - * @return {Object} this - * @public - */ - this.setPad = function(a) { - b64pad = a || b64pad; - return this; - }; - /** - * @description Defines a base64 pad string - * @param {boolean} - * @return {Object} this - * @public - */ - this.setUTF8 = function(a) { - if (typeof a === 'boolean') { - utf8 = a; - } - return this; - }; - - /* private methods */ - - /** - * Calculate the SHA-512 of a raw string - */ - - function rstr(s) { - s = (utf8) ? utf8Encode(s) : s; - return binb2rstr(binb(rstr2binb(s), s.length * 8)); - } - /* - * Calculate the HMAC-SHA-512 of a key and some data (raw strings) - */ - - function rstr_hmac(key, data) { - key = (utf8) ? utf8Encode(key) : key; - data = (utf8) ? utf8Encode(data) : data; - - var hash, i = 0, - bkey = rstr2binb(key), - ipad = Array(32), - opad = Array(32); - - if (bkey.length > 32) { - bkey = binb(bkey, key.length * 8); - } - - for (; i < 32; i += 1) { - ipad[i] = bkey[i] ^ 0x36363636; - opad[i] = bkey[i] ^ 0x5C5C5C5C; - } - - hash = binb(ipad.concat(rstr2binb(data)), 1024 + data.length * 8); - return binb2rstr(binb(opad.concat(hash), 1024 + 512)); - } - - /** - * Calculate the SHA-512 of an array of big-endian dwords, and a bit length - */ - - function binb(x, len) { - var j, i, l, - W = new Array(80), - hash = new Array(16), - //Initial hash values - H = [ - new int64(0x6a09e667, -205731576), - new int64(-1150833019, -2067093701), - new int64(0x3c6ef372, -23791573), - new int64(-1521486534, 0x5f1d36f1), - new int64(0x510e527f, -1377402159), - new int64(-1694144372, 0x2b3e6c1f), - new int64(0x1f83d9ab, -79577749), - new int64(0x5be0cd19, 0x137e2179) - ], - T1 = new int64(0, 0), - T2 = new int64(0, 0), - a = new int64(0, 0), - b = new int64(0, 0), - c = new int64(0, 0), - d = new int64(0, 0), - e = new int64(0, 0), - f = new int64(0, 0), - g = new int64(0, 0), - h = new int64(0, 0), - //Temporary variables not specified by the document - s0 = new int64(0, 0), - s1 = new int64(0, 0), - Ch = new int64(0, 0), - Maj = new int64(0, 0), - r1 = new int64(0, 0), - r2 = new int64(0, 0), - r3 = new int64(0, 0); - - if (sha512_k === undefined) { - //SHA512 constants - sha512_k = [ - new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd), - new int64(-1245643825, -330482897), new int64(-373957723, -2121671748), - new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031), - new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736), - new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe), - new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302), - new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1), - new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428), - new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3), - new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65), - new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483), - new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459), - new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210), - new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340), - new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395), - new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70), - new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926), - new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473), - new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8), - new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b), - new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023), - new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30), - new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910), - new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8), - new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53), - new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016), - new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893), - new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397), - new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60), - new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec), - new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047), - new int64(-1090935817, -1295615723), new int64(-965641998, -479046869), - new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207), - new int64(-354779690, -840897762), new int64(-176337025, -294727304), - new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026), - new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b), - new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493), - new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620), - new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430), - new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817) - ]; - } - - for (i = 0; i < 80; i += 1) { - W[i] = new int64(0, 0); - } - - // append padding to the source string. The format is described in the FIPS. - x[len >> 5] |= 0x80 << (24 - (len & 0x1f)); - x[((len + 128 >> 10) << 5) + 31] = len; - l = x.length; - for (i = 0; i < l; i += 32) { //32 dwords is the block size - int64copy(a, H[0]); - int64copy(b, H[1]); - int64copy(c, H[2]); - int64copy(d, H[3]); - int64copy(e, H[4]); - int64copy(f, H[5]); - int64copy(g, H[6]); - int64copy(h, H[7]); - - for (j = 0; j < 16; j += 1) { - W[j].h = x[i + 2 * j]; - W[j].l = x[i + 2 * j + 1]; - } - - for (j = 16; j < 80; j += 1) { - //sigma1 - int64rrot(r1, W[j - 2], 19); - int64revrrot(r2, W[j - 2], 29); - int64shr(r3, W[j - 2], 6); - s1.l = r1.l ^ r2.l ^ r3.l; - s1.h = r1.h ^ r2.h ^ r3.h; - //sigma0 - int64rrot(r1, W[j - 15], 1); - int64rrot(r2, W[j - 15], 8); - int64shr(r3, W[j - 15], 7); - s0.l = r1.l ^ r2.l ^ r3.l; - s0.h = r1.h ^ r2.h ^ r3.h; - - int64add4(W[j], s1, W[j - 7], s0, W[j - 16]); - } - - for (j = 0; j < 80; j += 1) { - //Ch - Ch.l = (e.l & f.l) ^ (~e.l & g.l); - Ch.h = (e.h & f.h) ^ (~e.h & g.h); - - //Sigma1 - int64rrot(r1, e, 14); - int64rrot(r2, e, 18); - int64revrrot(r3, e, 9); - s1.l = r1.l ^ r2.l ^ r3.l; - s1.h = r1.h ^ r2.h ^ r3.h; - - //Sigma0 - int64rrot(r1, a, 28); - int64revrrot(r2, a, 2); - int64revrrot(r3, a, 7); - s0.l = r1.l ^ r2.l ^ r3.l; - s0.h = r1.h ^ r2.h ^ r3.h; - - //Maj - Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l); - Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h); - - int64add5(T1, h, s1, Ch, sha512_k[j], W[j]); - int64add(T2, s0, Maj); - - int64copy(h, g); - int64copy(g, f); - int64copy(f, e); - int64add(e, d, T1); - int64copy(d, c); - int64copy(c, b); - int64copy(b, a); - int64add(a, T1, T2); - } - int64add(H[0], H[0], a); - int64add(H[1], H[1], b); - int64add(H[2], H[2], c); - int64add(H[3], H[3], d); - int64add(H[4], H[4], e); - int64add(H[5], H[5], f); - int64add(H[6], H[6], g); - int64add(H[7], H[7], h); - } - - //represent the hash as an array of 32-bit dwords - for (i = 0; i < 8; i += 1) { - hash[2 * i] = H[i].h; - hash[2 * i + 1] = H[i].l; - } - return hash; - } - - //A constructor for 64-bit numbers - - function int64(h, l) { - this.h = h; - this.l = l; - //this.toString = int64toString; - } - - //Copies src into dst, assuming both are 64-bit numbers - - function int64copy(dst, src) { - dst.h = src.h; - dst.l = src.l; - } - - //Right-rotates a 64-bit number by shift - //Won't handle cases of shift>=32 - //The function revrrot() is for that - - function int64rrot(dst, x, shift) { - dst.l = (x.l >>> shift) | (x.h << (32 - shift)); - dst.h = (x.h >>> shift) | (x.l << (32 - shift)); - } - - //Reverses the dwords of the source and then rotates right by shift. - //This is equivalent to rotation by 32+shift - - function int64revrrot(dst, x, shift) { - dst.l = (x.h >>> shift) | (x.l << (32 - shift)); - dst.h = (x.l >>> shift) | (x.h << (32 - shift)); - } - - //Bitwise-shifts right a 64-bit number by shift - //Won't handle shift>=32, but it's never needed in SHA512 - - function int64shr(dst, x, shift) { - dst.l = (x.l >>> shift) | (x.h << (32 - shift)); - dst.h = (x.h >>> shift); - } - - //Adds two 64-bit numbers - //Like the original implementation, does not rely on 32-bit operations - - function int64add(dst, x, y) { - var w0 = (x.l & 0xffff) + (y.l & 0xffff); - var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16); - var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16); - var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16); - dst.l = (w0 & 0xffff) | (w1 << 16); - dst.h = (w2 & 0xffff) | (w3 << 16); - } - - //Same, except with 4 addends. Works faster than adding them one by one. - - function int64add4(dst, a, b, c, d) { - var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff); - var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16); - var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16); - var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16); - dst.l = (w0 & 0xffff) | (w1 << 16); - dst.h = (w2 & 0xffff) | (w3 << 16); - } - - //Same, except with 5 addends - - function int64add5(dst, a, b, c, d, e) { - var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff), - w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16), - w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16), - w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16); - dst.l = (w0 & 0xffff) | (w1 << 16); - dst.h = (w2 & 0xffff) | (w3 << 16); - } - }, - /** - * @class Hashes.RMD160 - * @constructor - * @param {Object} [config] - * - * A JavaScript implementation of the RIPEMD-160 Algorithm - * Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * See http://pajhome.org.uk/crypt/md5 for details. - * Also http://www.ocf.berkeley.edu/~jjlin/jsotp/ - */ - RMD160: function(options) { - /** - * Private properties configuration variables. You may need to tweak these to be compatible with - * the server-side, but the defaults work in most cases. - * @see this.setUpperCase() method - * @see this.setPad() method - */ - var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, - /* hexadecimal output case format. false - lowercase; true - uppercase */ - b64pad = (options && typeof options.pad === 'string') ? options.pa : '=', - /* base-64 pad character. Default '=' for strict RFC compliance */ - utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, - /* enable/disable utf8 encoding */ - rmd160_r1 = [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, - 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, - 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, - 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 - ], - rmd160_r2 = [ - 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, - 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, - 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, - 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, - 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 - ], - rmd160_s1 = [ - 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, - 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, - 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, - 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, - 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 - ], - rmd160_s2 = [ - 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, - 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, - 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, - 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, - 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 - ]; - - /* privileged (public) methods */ - this.hex = function(s) { - return rstr2hex(rstr(s, utf8)); - }; - this.b64 = function(s) { - return rstr2b64(rstr(s, utf8), b64pad); - }; - this.any = function(s, e) { - return rstr2any(rstr(s, utf8), e); - }; - this.raw = function(s) { - return rstr(s, utf8); - }; - this.hex_hmac = function(k, d) { - return rstr2hex(rstr_hmac(k, d)); - }; - this.b64_hmac = function(k, d) { - return rstr2b64(rstr_hmac(k, d), b64pad); - }; - this.any_hmac = function(k, d, e) { - return rstr2any(rstr_hmac(k, d), e); - }; - /** - * Perform a simple self-test to see if the VM is working - * @return {String} Hexadecimal hash sample - * @public - */ - this.vm_test = function() { - return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; - }; - /** - * @description Enable/disable uppercase hexadecimal returned string - * @param {boolean} - * @return {Object} this - * @public - */ - this.setUpperCase = function(a) { - if (typeof a === 'boolean') { - hexcase = a; - } - return this; - }; - /** - * @description Defines a base64 pad string - * @param {string} Pad - * @return {Object} this - * @public - */ - this.setPad = function(a) { - if (typeof a !== 'undefined') { - b64pad = a; - } - return this; - }; - /** - * @description Defines a base64 pad string - * @param {boolean} - * @return {Object} this - * @public - */ - this.setUTF8 = function(a) { - if (typeof a === 'boolean') { - utf8 = a; - } - return this; - }; - - /* private methods */ - - /** - * Calculate the rmd160 of a raw string - */ - - function rstr(s) { - s = (utf8) ? utf8Encode(s) : s; - return binl2rstr(binl(rstr2binl(s), s.length * 8)); - } - - /** - * Calculate the HMAC-rmd160 of a key and some data (raw strings) - */ - - function rstr_hmac(key, data) { - key = (utf8) ? utf8Encode(key) : key; - data = (utf8) ? utf8Encode(data) : data; - var i, hash, - bkey = rstr2binl(key), - ipad = Array(16), - opad = Array(16); - - if (bkey.length > 16) { - bkey = binl(bkey, key.length * 8); - } - - for (i = 0; i < 16; i += 1) { - ipad[i] = bkey[i] ^ 0x36363636; - opad[i] = bkey[i] ^ 0x5C5C5C5C; - } - hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8); - return binl2rstr(binl(opad.concat(hash), 512 + 160)); - } - - /** - * Convert an array of little-endian words to a string - */ - - function binl2rstr(input) { - var i, output = '', - l = input.length * 32; - for (i = 0; i < l; i += 8) { - output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF); - } - return output; - } - - /** - * Calculate the RIPE-MD160 of an array of little-endian words, and a bit length. - */ - - function binl(x, len) { - var T, j, i, l, - h0 = 0x67452301, - h1 = 0xefcdab89, - h2 = 0x98badcfe, - h3 = 0x10325476, - h4 = 0xc3d2e1f0, - A1, B1, C1, D1, E1, - A2, B2, C2, D2, E2; - - /* append padding */ - x[len >> 5] |= 0x80 << (len % 32); - x[(((len + 64) >>> 9) << 4) + 14] = len; - l = x.length; - - for (i = 0; i < l; i += 16) { - A1 = A2 = h0; - B1 = B2 = h1; - C1 = C2 = h2; - D1 = D2 = h3; - E1 = E2 = h4; - for (j = 0; j <= 79; j += 1) { - T = safe_add(A1, rmd160_f(j, B1, C1, D1)); - T = safe_add(T, x[i + rmd160_r1[j]]); - T = safe_add(T, rmd160_K1(j)); - T = safe_add(bit_rol(T, rmd160_s1[j]), E1); - A1 = E1; - E1 = D1; - D1 = bit_rol(C1, 10); - C1 = B1; - B1 = T; - T = safe_add(A2, rmd160_f(79 - j, B2, C2, D2)); - T = safe_add(T, x[i + rmd160_r2[j]]); - T = safe_add(T, rmd160_K2(j)); - T = safe_add(bit_rol(T, rmd160_s2[j]), E2); - A2 = E2; - E2 = D2; - D2 = bit_rol(C2, 10); - C2 = B2; - B2 = T; - } - - T = safe_add(h1, safe_add(C1, D2)); - h1 = safe_add(h2, safe_add(D1, E2)); - h2 = safe_add(h3, safe_add(E1, A2)); - h3 = safe_add(h4, safe_add(A1, B2)); - h4 = safe_add(h0, safe_add(B1, C2)); - h0 = T; - } - return [h0, h1, h2, h3, h4]; - } - - // specific algorithm methods - - function rmd160_f(j, x, y, z) { - return (0 <= j && j <= 15) ? (x ^ y ^ z) : - (16 <= j && j <= 31) ? (x & y) | (~x & z) : - (32 <= j && j <= 47) ? (x | ~y) ^ z : - (48 <= j && j <= 63) ? (x & z) | (y & ~z) : - (64 <= j && j <= 79) ? x ^ (y | ~z) : - 'rmd160_f: j out of range'; - } - - function rmd160_K1(j) { - return (0 <= j && j <= 15) ? 0x00000000 : - (16 <= j && j <= 31) ? 0x5a827999 : - (32 <= j && j <= 47) ? 0x6ed9eba1 : - (48 <= j && j <= 63) ? 0x8f1bbcdc : - (64 <= j && j <= 79) ? 0xa953fd4e : - 'rmd160_K1: j out of range'; - } - - function rmd160_K2(j) { - return (0 <= j && j <= 15) ? 0x50a28be6 : - (16 <= j && j <= 31) ? 0x5c4dd124 : - (32 <= j && j <= 47) ? 0x6d703ef3 : - (48 <= j && j <= 63) ? 0x7a6d76e9 : - (64 <= j && j <= 79) ? 0x00000000 : - 'rmd160_K2: j out of range'; - } - } - }; - - // exposes Hashes - (function(window, undefined) { - var freeExports = false; - { - freeExports = exports; - if (exports && typeof commonjsGlobal === 'object' && commonjsGlobal && commonjsGlobal === commonjsGlobal.global) { - window = commonjsGlobal; - } - } - - if (typeof undefined === 'function' && typeof undefined.amd === 'object' && undefined.amd) { - // define as an anonymous module, so, through path mapping, it can be aliased - undefined(function() { - return Hashes; - }); - } else if (freeExports) { - // in Node.js or RingoJS v0.8.0+ - if (module && module.exports === freeExports) { - module.exports = Hashes; - } - // in Narwhal or RingoJS v0.7.0- - else { - freeExports.Hashes = Hashes; - } - } else { - // in a browser or Rhino - window.Hashes = Hashes; - } - }(this)); - }()); // IIFE - }); - - var immutable = extend$2; - - var hasOwnProperty$16 = Object.prototype.hasOwnProperty; - - function extend$2() { - var target = {}; - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (hasOwnProperty$16.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target - } - - var sha1 = new hashes.SHA1(); - - var ohauth = {}; - - ohauth.qsString = function(obj) { - return Object.keys(obj).sort().map(function(key) { - return ohauth.percentEncode(key) + '=' + - ohauth.percentEncode(obj[key]); - }).join('&'); - }; - - ohauth.stringQs = function(str) { - return str.split('&').filter(function (pair) { - return pair !== ''; - }).reduce(function(obj, pair){ - var parts = pair.split('='); - obj[decodeURIComponent(parts[0])] = (null === parts[1]) ? - '' : decodeURIComponent(parts[1]); - return obj; - }, {}); - }; - - ohauth.rawxhr = function(method, url, data, headers, callback) { - var xhr = new XMLHttpRequest(), - twoHundred = /^20\d$/; - xhr.onreadystatechange = function() { - if (4 === xhr.readyState && 0 !== xhr.status) { - if (twoHundred.test(xhr.status)) callback(null, xhr); - else return callback(xhr, null); - } - }; - xhr.onerror = function(e) { return callback(e, null); }; - xhr.open(method, url, true); - for (var h in headers) xhr.setRequestHeader(h, headers[h]); - xhr.send(data); - return xhr; - }; - - ohauth.xhr = function(method, url, auth, data, options, callback) { - var headers = (options && options.header) || { - 'Content-Type': 'application/x-www-form-urlencoded' - }; - headers.Authorization = 'OAuth ' + ohauth.authHeader(auth); - return ohauth.rawxhr(method, url, data, headers, callback); - }; - - ohauth.nonce = function() { - for (var o = ''; o.length < 6;) { - o += '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'[Math.floor(Math.random() * 61)]; - } - return o; - }; - - ohauth.authHeader = function(obj) { - return Object.keys(obj).sort().map(function(key) { - return encodeURIComponent(key) + '="' + encodeURIComponent(obj[key]) + '"'; - }).join(', '); - }; - - ohauth.timestamp = function() { return ~~((+new Date()) / 1000); }; - - ohauth.percentEncode = function(s) { - return encodeURIComponent(s) - .replace(/\!/g, '%21').replace(/\'/g, '%27') - .replace(/\*/g, '%2A').replace(/\(/g, '%28').replace(/\)/g, '%29'); - }; - - ohauth.baseString = function(method, url, params) { - if (params.oauth_signature) delete params.oauth_signature; - return [ - method, - ohauth.percentEncode(url), - ohauth.percentEncode(ohauth.qsString(params))].join('&'); - }; - - ohauth.signature = function(oauth_secret, token_secret, baseString) { - return sha1.b64_hmac( - ohauth.percentEncode(oauth_secret) + '&' + - ohauth.percentEncode(token_secret), - baseString); - }; - - /** - * Takes an options object for configuration (consumer_key, - * consumer_secret, version, signature_method, token, token_secret) - * and returns a function that generates the Authorization header - * for given data. - * - * The returned function takes these parameters: - * - method: GET/POST/... - * - uri: full URI with protocol, port, path and query string - * - extra_params: any extra parameters (that are passed in the POST data), - * can be an object or a from-urlencoded string. - * - * Returned function returns full OAuth header with "OAuth" string in it. - */ - - ohauth.headerGenerator = function(options) { - options = options || {}; - var consumer_key = options.consumer_key || '', - consumer_secret = options.consumer_secret || '', - signature_method = options.signature_method || 'HMAC-SHA1', - version = options.version || '1.0', - token = options.token || '', - token_secret = options.token_secret || ''; - - return function(method, uri, extra_params) { - method = method.toUpperCase(); - if (typeof extra_params === 'string' && extra_params.length > 0) { - extra_params = ohauth.stringQs(extra_params); - } - - var uri_parts = uri.split('?', 2), - base_uri = uri_parts[0]; - - var query_params = uri_parts.length === 2 ? - ohauth.stringQs(uri_parts[1]) : {}; - - var oauth_params = { - oauth_consumer_key: consumer_key, - oauth_signature_method: signature_method, - oauth_version: version, - oauth_timestamp: ohauth.timestamp(), - oauth_nonce: ohauth.nonce() - }; - - if (token) oauth_params.oauth_token = token; - - var all_params = immutable({}, oauth_params, query_params, extra_params), - base_str = ohauth.baseString(method, base_uri, all_params); - - oauth_params.oauth_signature = ohauth.signature(consumer_secret, token_secret, base_str); - - return 'OAuth ' + ohauth.authHeader(oauth_params); - }; - }; - - var ohauth_1 = ohauth; - - var resolveUrl = createCommonjsModule(function (module, exports) { - // Copyright 2014 Simon Lydell - // X11 (“MIT”) Licensed. (See LICENSE.) - - void (function(root, factory) { - if (typeof undefined === "function" && undefined.amd) { - undefined(factory); - } else { - module.exports = factory(); - } - }(commonjsGlobal, function() { - - function resolveUrl(/* ...urls */) { - var numUrls = arguments.length; - - if (numUrls === 0) { - throw new Error("resolveUrl requires at least one argument; got none.") - } - - var base = document.createElement("base"); - base.href = arguments[0]; - - if (numUrls === 1) { - return base.href - } - - var head = document.getElementsByTagName("head")[0]; - head.insertBefore(base, head.firstChild); - - var a = document.createElement("a"); - var resolved; - - for (var index = 1; index < numUrls; index++) { - a.href = arguments[index]; - resolved = a.href; - base.href = resolved; - } - - head.removeChild(base); - - return resolved - } - - return resolveUrl - - })); - }); - - var assign$1 = make_assign(); - var create$2 = make_create(); - var trim = make_trim(); - var Global = (typeof window !== 'undefined' ? window : commonjsGlobal); - - var util = { - assign: assign$1, - create: create$2, - trim: trim, - bind: bind, - slice: slice$7, - each: each, - map: map$4, - pluck: pluck, - isList: isList, - isFunction: isFunction$1, - isObject: isObject$1, - Global: Global - }; - - function make_assign() { - if (Object.assign) { - return Object.assign - } else { - return function shimAssign(obj, props1, props2, etc) { - for (var i = 1; i < arguments.length; i++) { - each(Object(arguments[i]), function(val, key) { - obj[key] = val; - }); - } - return obj - } - } - } - - function make_create() { - if (Object.create) { - return function create(obj, assignProps1, assignProps2, etc) { - var assignArgsList = slice$7(arguments, 1); - return assign$1.apply(this, [Object.create(obj)].concat(assignArgsList)) - } - } else { - function F() {} // eslint-disable-line no-inner-declarations - return function create(obj, assignProps1, assignProps2, etc) { - var assignArgsList = slice$7(arguments, 1); - F.prototype = obj; - return assign$1.apply(this, [new F()].concat(assignArgsList)) - } - } - } - - function make_trim() { - if (String.prototype.trim) { - return function trim(str) { - return String.prototype.trim.call(str) - } - } else { - return function trim(str) { - return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '') - } - } - } - - function bind(obj, fn) { - return function() { - return fn.apply(obj, Array.prototype.slice.call(arguments, 0)) - } - } - - function slice$7(arr, index) { - return Array.prototype.slice.call(arr, index || 0) - } - - function each(obj, fn) { - pluck(obj, function(val, key) { - fn(val, key); - return false - }); - } - - function map$4(obj, fn) { - var res = (isList(obj) ? [] : {}); - pluck(obj, function(v, k) { - res[k] = fn(v, k); - return false - }); - return res - } - - function pluck(obj, fn) { - if (isList(obj)) { - for (var i=0; i= 0; i--) { - var key = localStorage$1().key(i); - fn(read(key), key); - } - } - - function remove$2(key) { - return localStorage$1().removeItem(key) - } - - function clearAll() { - return localStorage$1().clear() - } - - // oldFF-globalStorage provides storage for Firefox - // versions 6 and 7, where no localStorage, etc - // is available. - - - var Global$2 = util.Global; - - var oldFFGlobalStorage = { - name: 'oldFF-globalStorage', - read: read$1, - write: write$1, - each: each$3, - remove: remove$3, - clearAll: clearAll$1, - }; - - var globalStorage = Global$2.globalStorage; - - function read$1(key) { - return globalStorage[key] - } - - function write$1(key, data) { - globalStorage[key] = data; - } - - function each$3(fn) { - for (var i = globalStorage.length - 1; i >= 0; i--) { - var key = globalStorage.key(i); - fn(globalStorage[key], key); - } - } - - function remove$3(key) { - return globalStorage.removeItem(key) - } - - function clearAll$1() { - each$3(function(key, _) { - delete globalStorage[key]; - }); - } - - // oldIE-userDataStorage provides storage for Internet Explorer - // versions 6 and 7, where no localStorage, sessionStorage, etc - // is available. - - - var Global$3 = util.Global; - - var oldIEUserDataStorage = { - name: 'oldIE-userDataStorage', - write: write$2, - read: read$2, - each: each$4, - remove: remove$4, - clearAll: clearAll$2, - }; - - var storageName = 'storejs'; - var doc = Global$3.document; - var _withStorageEl = _makeIEStorageElFunction(); - var disable = (Global$3.navigator ? Global$3.navigator.userAgent : '').match(/ (MSIE 8|MSIE 9|MSIE 10)\./); // MSIE 9.x, MSIE 10.x - - function write$2(unfixedKey, data) { - if (disable) { return } - var fixedKey = fixKey(unfixedKey); - _withStorageEl(function(storageEl) { - storageEl.setAttribute(fixedKey, data); - storageEl.save(storageName); - }); - } - - function read$2(unfixedKey) { - if (disable) { return } - var fixedKey = fixKey(unfixedKey); - var res = null; - _withStorageEl(function(storageEl) { - res = storageEl.getAttribute(fixedKey); - }); - return res - } - - function each$4(callback) { - _withStorageEl(function(storageEl) { - var attributes = storageEl.XMLDocument.documentElement.attributes; - for (var i=attributes.length-1; i>=0; i--) { - var attr = attributes[i]; - callback(storageEl.getAttribute(attr.name), attr.name); - } - }); - } - - function remove$4(unfixedKey) { - var fixedKey = fixKey(unfixedKey); - _withStorageEl(function(storageEl) { - storageEl.removeAttribute(fixedKey); - storageEl.save(storageName); - }); - } - - function clearAll$2() { - _withStorageEl(function(storageEl) { - var attributes = storageEl.XMLDocument.documentElement.attributes; - storageEl.load(storageName); - for (var i=attributes.length-1; i>=0; i--) { - storageEl.removeAttribute(attributes[i].name); - } - storageEl.save(storageName); - }); - } - - // Helpers - ////////// - - // In IE7, keys cannot start with a digit or contain certain chars. - // See https://github.com/marcuswestin/store.js/issues/40 - // See https://github.com/marcuswestin/store.js/issues/83 - var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g"); - function fixKey(key) { - return key.replace(/^\d/, '___$&').replace(forbiddenCharsRegex, '___') - } - - function _makeIEStorageElFunction() { - if (!doc || !doc.documentElement || !doc.documentElement.addBehavior) { - return null - } - var scriptTag = 'script', - storageOwner, - storageContainer, - storageEl; - - // Since #userData storage applies only to specific paths, we need to - // somehow link our data to a specific path. We choose /favicon.ico - // as a pretty safe option, since all browsers already make a request to - // this URL anyway and being a 404 will not hurt us here. We wrap an - // iframe pointing to the favicon in an ActiveXObject(htmlfile) object - // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx) - // since the iframe access rules appear to allow direct access and - // manipulation of the document element, even for a 404 page. This - // document can be used instead of the current document (which would - // have been limited to the current path) to perform #userData storage. - try { - /* global ActiveXObject */ - storageContainer = new ActiveXObject('htmlfile'); - storageContainer.open(); - storageContainer.write('<'+scriptTag+'>document.w=window'); - storageContainer.close(); - storageOwner = storageContainer.w.frames[0].document; - storageEl = storageOwner.createElement('div'); - } catch(e) { - // somehow ActiveXObject instantiation failed (perhaps some special - // security settings or otherwse), fall back to per-path storage - storageEl = doc.createElement('div'); - storageOwner = doc.body; - } - - return function(storeFunction) { - var args = [].slice.call(arguments, 0); - args.unshift(storageEl); - // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx - // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx - storageOwner.appendChild(storageEl); - storageEl.addBehavior('#default#userData'); - storageEl.load(storageName); - storeFunction.apply(this, args); - storageOwner.removeChild(storageEl); - return - } - } - - // cookieStorage is useful Safari private browser mode, where localStorage - // doesn't work but cookies do. This implementation is adopted from - // https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage - - - var Global$4 = util.Global; - var trim$1 = util.trim; - - var cookieStorage = { - name: 'cookieStorage', - read: read$3, - write: write$3, - each: each$5, - remove: remove$5, - clearAll: clearAll$3, - }; - - var doc$1 = Global$4.document; - - function read$3(key) { - if (!key || !_has(key)) { return null } - var regexpStr = "(?:^|.*;\\s*)" + - escape(key).replace(/[\-\.\+\*]/g, "\\$&") + - "\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*"; - return unescape(doc$1.cookie.replace(new RegExp(regexpStr), "$1")) - } - - function each$5(callback) { - var cookies = doc$1.cookie.split(/; ?/g); - for (var i = cookies.length - 1; i >= 0; i--) { - if (!trim$1(cookies[i])) { - continue - } - var kvp = cookies[i].split('='); - var key = unescape(kvp[0]); - var val = unescape(kvp[1]); - callback(val, key); - } - } - - function write$3(key, data) { - if(!key) { return } - doc$1.cookie = escape(key) + "=" + escape(data) + "; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"; - } - - function remove$5(key) { - if (!key || !_has(key)) { - return - } - doc$1.cookie = escape(key) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; - } - - function clearAll$3() { - each$5(function(_, key) { - remove$5(key); - }); - } - - function _has(key) { - return (new RegExp("(?:^|;\\s*)" + escape(key).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(doc$1.cookie) - } - - var Global$5 = util.Global; - - var sessionStorage_1 = { - name: 'sessionStorage', - read: read$4, - write: write$4, - each: each$6, - remove: remove$6, - clearAll: clearAll$4 - }; - - function sessionStorage() { - return Global$5.sessionStorage - } - - function read$4(key) { - return sessionStorage().getItem(key) - } - - function write$4(key, data) { - return sessionStorage().setItem(key, data) - } - - function each$6(fn) { - for (var i = sessionStorage().length - 1; i >= 0; i--) { - var key = sessionStorage().key(i); - fn(read$4(key), key); - } - } - - function remove$6(key) { - return sessionStorage().removeItem(key) - } - - function clearAll$4() { - return sessionStorage().clear() - } - - // memoryStorage is a useful last fallback to ensure that the store - // is functions (meaning store.get(), store.set(), etc will all function). - // However, stored values will not persist when the browser navigates to - // a new page or reloads the current page. - - var memoryStorage_1 = { - name: 'memoryStorage', - read: read$5, - write: write$5, - each: each$7, - remove: remove$7, - clearAll: clearAll$5, - }; - - var memoryStorage = {}; - - function read$5(key) { - return memoryStorage[key] - } - - function write$5(key, data) { - memoryStorage[key] = data; - } - - function each$7(callback) { - for (var key in memoryStorage) { - if (memoryStorage.hasOwnProperty(key)) { - callback(memoryStorage[key], key); - } - } - } - - function remove$7(key) { - delete memoryStorage[key]; - } - - function clearAll$5(key) { - memoryStorage = {}; - } - - var all$3 = [ - // Listed in order of usage preference - localStorage_1, - oldFFGlobalStorage, - oldIEUserDataStorage, - cookieStorage, - sessionStorage_1, - memoryStorage_1 - ]; - - /* eslint-disable */ - - // json2.js - // 2016-10-28 - // Public Domain. - // NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. - // See http://www.JSON.org/js.html - // This code should be minified before deployment. - // See http://javascript.crockford.com/jsmin.html - - // USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO - // NOT CONTROL. - - // This file creates a global JSON object containing two methods: stringify - // and parse. This file provides the ES5 JSON capability to ES3 systems. - // If a project might run on IE8 or earlier, then this file should be included. - // This file does nothing on ES5 systems. - - // JSON.stringify(value, replacer, space) - // value any JavaScript value, usually an object or array. - // replacer an optional parameter that determines how object - // values are stringified for objects. It can be a - // function or an array of strings. - // space an optional parameter that specifies the indentation - // of nested structures. If it is omitted, the text will - // be packed without extra whitespace. If it is a number, - // it will specify the number of spaces to indent at each - // level. If it is a string (such as "\t" or " "), - // it contains the characters used to indent at each level. - // This method produces a JSON text from a JavaScript value. - // When an object value is found, if the object contains a toJSON - // method, its toJSON method will be called and the result will be - // stringified. A toJSON method does not serialize: it returns the - // value represented by the name/value pair that should be serialized, - // or undefined if nothing should be serialized. The toJSON method - // will be passed the key associated with the value, and this will be - // bound to the value. - - // For example, this would serialize Dates as ISO strings. - - // Date.prototype.toJSON = function (key) { - // function f(n) { - // // Format integers to have at least two digits. - // return (n < 10) - // ? "0" + n - // : n; - // } - // return this.getUTCFullYear() + "-" + - // f(this.getUTCMonth() + 1) + "-" + - // f(this.getUTCDate()) + "T" + - // f(this.getUTCHours()) + ":" + - // f(this.getUTCMinutes()) + ":" + - // f(this.getUTCSeconds()) + "Z"; - // }; - - // You can provide an optional replacer method. It will be passed the - // key and value of each member, with this bound to the containing - // object. The value that is returned from your method will be - // serialized. If your method returns undefined, then the member will - // be excluded from the serialization. - - // If the replacer parameter is an array of strings, then it will be - // used to select the members to be serialized. It filters the results - // such that only members with keys listed in the replacer array are - // stringified. - - // Values that do not have JSON representations, such as undefined or - // functions, will not be serialized. Such values in objects will be - // dropped; in arrays they will be replaced with null. You can use - // a replacer function to replace those with JSON values. - - // JSON.stringify(undefined) returns undefined. - - // The optional space parameter produces a stringification of the - // value that is filled with line breaks and indentation to make it - // easier to read. - - // If the space parameter is a non-empty string, then that string will - // be used for indentation. If the space parameter is a number, then - // the indentation will be that many spaces. - - // Example: - - // text = JSON.stringify(["e", {pluribus: "unum"}]); - // // text is '["e",{"pluribus":"unum"}]' - - // text = JSON.stringify(["e", {pluribus: "unum"}], null, "\t"); - // // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]' - - // text = JSON.stringify([new Date()], function (key, value) { - // return this[key] instanceof Date - // ? "Date(" + this[key] + ")" - // : value; - // }); - // // text is '["Date(---current time---)"]' - - // JSON.parse(text, reviver) - // This method parses a JSON text to produce an object or array. - // It can throw a SyntaxError exception. - - // The optional reviver parameter is a function that can filter and - // transform the results. It receives each of the keys and values, - // and its return value is used instead of the original value. - // If it returns what it received, then the structure is not modified. - // If it returns undefined then the member is deleted. - - // Example: - - // // Parse the text. Values that look like ISO date strings will - // // be converted to Date objects. - - // myData = JSON.parse(text, function (key, value) { - // var a; - // if (typeof value === "string") { - // a = - // /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); - // if (a) { - // return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], - // +a[5], +a[6])); - // } - // } - // return value; - // }); - - // myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) { - // var d; - // if (typeof value === "string" && - // value.slice(0, 5) === "Date(" && - // value.slice(-1) === ")") { - // d = new Date(value.slice(5, -1)); - // if (d) { - // return d; - // } - // } - // return value; - // }); - - // This is a reference implementation. You are free to copy, modify, or - // redistribute. - - /*jslint - eval, for, this - */ - - /*property - JSON, apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, - getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, - lastIndex, length, parse, prototype, push, replace, slice, stringify, - test, toJSON, toString, valueOf - */ - - - // Create a JSON object only if one does not already exist. We create the - // methods in a closure to avoid creating global variables. - - if (typeof JSON !== "object") { - JSON = {}; - } - - (function () { - - var rx_one = /^[\],:{}\s]*$/; - var rx_two = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g; - var rx_three = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; - var rx_four = /(?:^|:|,)(?:\s*\[)+/g; - var rx_escapable = /[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; - var rx_dangerous = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; - - function f(n) { - // Format integers to have at least two digits. - return n < 10 - ? "0" + n - : n; - } - - function this_value() { - return this.valueOf(); - } - - if (typeof Date.prototype.toJSON !== "function") { - - Date.prototype.toJSON = function () { - - return isFinite(this.valueOf()) - ? this.getUTCFullYear() + "-" + - f(this.getUTCMonth() + 1) + "-" + - f(this.getUTCDate()) + "T" + - f(this.getUTCHours()) + ":" + - f(this.getUTCMinutes()) + ":" + - f(this.getUTCSeconds()) + "Z" - : null; - }; - - Boolean.prototype.toJSON = this_value; - Number.prototype.toJSON = this_value; - String.prototype.toJSON = this_value; - } - - var gap; - var indent; - var meta; - var rep; - - - function quote(string) { - - // If the string contains no control characters, no quote characters, and no - // backslash characters, then we can safely slap some quotes around it. - // Otherwise we must also replace the offending characters with safe escape - // sequences. - - rx_escapable.lastIndex = 0; - return rx_escapable.test(string) - ? "\"" + string.replace(rx_escapable, function (a) { - var c = meta[a]; - return typeof c === "string" - ? c - : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4); - }) + "\"" - : "\"" + string + "\""; - } - - - function str(key, holder) { - - // Produce a string from holder[key]. - - var i; // The loop counter. - var k; // The member key. - var v; // The member value. - var length; - var mind = gap; - var partial; - var value = holder[key]; - - // If the value has a toJSON method, call it to obtain a replacement value. - - if (value && typeof value === "object" && - typeof value.toJSON === "function") { - value = value.toJSON(key); - } - - // If we were called with a replacer function, then call the replacer to - // obtain a replacement value. - - if (typeof rep === "function") { - value = rep.call(holder, key, value); - } - - // What happens next depends on the value's type. - - switch (typeof value) { - case "string": - return quote(value); - - case "number": - - // JSON numbers must be finite. Encode non-finite numbers as null. - - return isFinite(value) - ? String(value) - : "null"; - - case "boolean": - case "null": - - // If the value is a boolean or null, convert it to a string. Note: - // typeof null does not produce "null". The case is included here in - // the remote chance that this gets fixed someday. - - return String(value); - - // If the type is "object", we might be dealing with an object or an array or - // null. - - case "object": - - // Due to a specification blunder in ECMAScript, typeof null is "object", - // so watch out for that case. - - if (!value) { - return "null"; - } - - // Make an array to hold the partial results of stringifying this object value. - - gap += indent; - partial = []; - - // Is the value an array? - - if (Object.prototype.toString.apply(value) === "[object Array]") { - - // The value is an array. Stringify every element. Use null as a placeholder - // for non-JSON values. - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || "null"; - } - - // Join all of the elements together, separated with commas, and wrap them in - // brackets. - - v = partial.length === 0 - ? "[]" - : gap - ? "[\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "]" - : "[" + partial.join(",") + "]"; - gap = mind; - return v; - } - - // If the replacer is an array, use it to select the members to be stringified. - - if (rep && typeof rep === "object") { - length = rep.length; - for (i = 0; i < length; i += 1) { - if (typeof rep[i] === "string") { - k = rep[i]; - v = str(k, value); - if (v) { - partial.push(quote(k) + ( - gap - ? ": " - : ":" - ) + v); - } - } - } - } else { - - // Otherwise, iterate through all of the keys in the object. - - for (k in value) { - if (Object.prototype.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + ( - gap - ? ": " - : ":" - ) + v); - } - } - } - } - - // Join all of the member texts together, separated with commas, - // and wrap them in braces. - - v = partial.length === 0 - ? "{}" - : gap - ? "{\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "}" - : "{" + partial.join(",") + "}"; - gap = mind; - return v; - } - } - - // If the JSON object does not yet have a stringify method, give it one. - - if (typeof JSON.stringify !== "function") { - meta = { // table of character substitutions - "\b": "\\b", - "\t": "\\t", - "\n": "\\n", - "\f": "\\f", - "\r": "\\r", - "\"": "\\\"", - "\\": "\\\\" - }; - JSON.stringify = function (value, replacer, space) { - - // The stringify method takes a value and an optional replacer, and an optional - // space parameter, and returns a JSON text. The replacer can be a function - // that can replace values, or an array of strings that will select the keys. - // A default replacer method can be provided. Use of the space parameter can - // produce text that is more easily readable. - - var i; - gap = ""; - indent = ""; - - // If the space parameter is a number, make an indent string containing that - // many spaces. - - if (typeof space === "number") { - for (i = 0; i < space; i += 1) { - indent += " "; - } - - // If the space parameter is a string, it will be used as the indent string. - - } else if (typeof space === "string") { - indent = space; - } - - // If there is a replacer, it must be a function or an array. - // Otherwise, throw an error. - - rep = replacer; - if (replacer && typeof replacer !== "function" && - (typeof replacer !== "object" || - typeof replacer.length !== "number")) { - throw new Error("JSON.stringify"); - } - - // Make a fake root object containing our value under the key of "". - // Return the result of stringifying the value. - - return str("", {"": value}); - }; - } - - - // If the JSON object does not yet have a parse method, give it one. - - if (typeof JSON.parse !== "function") { - JSON.parse = function (text, reviver) { - - // The parse method takes a text and an optional reviver function, and returns - // a JavaScript value if the text is a valid JSON text. - - var j; - - function walk(holder, key) { - - // The walk method is used to recursively walk the resulting structure so - // that modifications can be made. - - var k; - var v; - var value = holder[key]; - if (value && typeof value === "object") { - for (k in value) { - if (Object.prototype.hasOwnProperty.call(value, k)) { - v = walk(value, k); - if (v !== undefined) { - value[k] = v; - } else { - delete value[k]; - } - } - } - } - return reviver.call(holder, key, value); - } - - - // Parsing happens in four stages. In the first stage, we replace certain - // Unicode characters with escape sequences. JavaScript handles many characters - // incorrectly, either silently deleting them, or treating them as line endings. - - text = String(text); - rx_dangerous.lastIndex = 0; - if (rx_dangerous.test(text)) { - text = text.replace(rx_dangerous, function (a) { - return "\\u" + - ("0000" + a.charCodeAt(0).toString(16)).slice(-4); - }); - } - - // In the second stage, we run the text against regular expressions that look - // for non-JSON patterns. We are especially concerned with "()" and "new" - // because they can cause invocation, and "=" because it can cause mutation. - // But just to be safe, we want to reject all unexpected forms. - - // We split the second stage into 4 regexp operations in order to work around - // crippling inefficiencies in IE's and Safari's regexp engines. First we - // replace the JSON backslash pairs with "@" (a non-JSON character). Second, we - // replace all simple value tokens with "]" characters. Third, we delete all - // open brackets that follow a colon or comma or that begin the text. Finally, - // we look to see that the remaining characters are only whitespace or "]" or - // "," or ":" or "{" or "}". If that is so, then the text is safe for eval. - - if ( - rx_one.test( - text - .replace(rx_two, "@") - .replace(rx_three, "]") - .replace(rx_four, "") - ) - ) { - - // In the third stage we use the eval function to compile the text into a - // JavaScript structure. The "{" operator is subject to a syntactic ambiguity - // in JavaScript: it can begin a block or an object literal. We wrap the text - // in parens to eliminate the ambiguity. - - j = eval("(" + text + ")"); - - // In the optional fourth stage, we recursively walk the new structure, passing - // each name/value pair to a reviver function for possible transformation. - - return (typeof reviver === "function") - ? walk({"": j}, "") - : j; - } - - // If the text is not JSON parseable, then a SyntaxError is thrown. - - throw new SyntaxError("JSON.parse"); - }; - } - }()); - - var json2 = json2Plugin; - - function json2Plugin() { - - return {} - } - - var plugins = [json2]; - - var store_legacy = storeEngine.createStore(all$3, plugins); - - // # osm-auth - // - // This code is only compatible with IE10+ because the [XDomainRequest](http://bit.ly/LfO7xo) - // object, IE<10's idea of [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing), - // does not support custom headers, which this uses everywhere. - var osmAuth = function(o) { - - var oauth = {}; - - // authenticated users will also have a request token secret, but it's - // not used in transactions with the server - oauth.authenticated = function() { - return !!(token('oauth_token') && token('oauth_token_secret')); - }; - - oauth.logout = function() { - token('oauth_token', ''); - token('oauth_token_secret', ''); - token('oauth_request_token_secret', ''); - return oauth; - }; - - // TODO: detect lack of click event - oauth.authenticate = function(callback) { - if (oauth.authenticated()) return callback(); - - oauth.logout(); - - // ## Getting a request token - var params = timenonce(getAuth(o)), - url = o.url + '/oauth/request_token'; - - params.oauth_signature = ohauth_1.signature( - o.oauth_secret, '', - ohauth_1.baseString('POST', url, params)); - - if (!o.singlepage) { - // Create a 600x550 popup window in the center of the screen - var w = 600, h = 550, - settings = [ - ['width', w], ['height', h], - ['left', screen.width / 2 - w / 2], - ['top', screen.height / 2 - h / 2]].map(function(x) { - return x.join('='); - }).join(','), - popup = window.open('about:blank', 'oauth_window', settings); - } - - // Request a request token. When this is complete, the popup - // window is redirected to OSM's authorization page. - ohauth_1.xhr('POST', url, params, null, {}, reqTokenDone); - o.loading(); - - function reqTokenDone(err, xhr) { - o.done(); - if (err) return callback(err); - var resp = ohauth_1.stringQs(xhr.response); - token('oauth_request_token_secret', resp.oauth_token_secret); - var authorize_url = o.url + '/oauth/authorize?' + ohauth_1.qsString({ - oauth_token: resp.oauth_token, - oauth_callback: resolveUrl(o.landing) - }); - - if (o.singlepage) { - location.href = authorize_url; - } else { - popup.location = authorize_url; - } - } - - // Called by a function in a landing page, in the popup window. The - // window closes itself. - window.authComplete = function(token) { - var oauth_token = ohauth_1.stringQs(token.split('?')[1]); - get_access_token(oauth_token.oauth_token); - delete window.authComplete; - }; - - // ## Getting an request token - // - // At this point we have an `oauth_token`, brought in from a function - // call on a landing page popup. - function get_access_token(oauth_token) { - var url = o.url + '/oauth/access_token', - params = timenonce(getAuth(o)), - request_token_secret = token('oauth_request_token_secret'); - params.oauth_token = oauth_token; - params.oauth_signature = ohauth_1.signature( - o.oauth_secret, - request_token_secret, - ohauth_1.baseString('POST', url, params)); - - // ## Getting an access token - // - // The final token required for authentication. At this point - // we have a `request token secret` - ohauth_1.xhr('POST', url, params, null, {}, accessTokenDone); - o.loading(); - } - - function accessTokenDone(err, xhr) { - o.done(); - if (err) return callback(err); - var access_token = ohauth_1.stringQs(xhr.response); - token('oauth_token', access_token.oauth_token); - token('oauth_token_secret', access_token.oauth_token_secret); - callback(null, oauth); - } - }; - - oauth.bootstrapToken = function(oauth_token, callback) { - // ## Getting an request token - // At this point we have an `oauth_token`, brought in from a function - // call on a landing page popup. - function get_access_token(oauth_token) { - var url = o.url + '/oauth/access_token', - params = timenonce(getAuth(o)), - request_token_secret = token('oauth_request_token_secret'); - params.oauth_token = oauth_token; - params.oauth_signature = ohauth_1.signature( - o.oauth_secret, - request_token_secret, - ohauth_1.baseString('POST', url, params)); - - // ## Getting an access token - // The final token required for authentication. At this point - // we have a `request token secret` - ohauth_1.xhr('POST', url, params, null, {}, accessTokenDone); - o.loading(); - } - - function accessTokenDone(err, xhr) { - o.done(); - if (err) return callback(err); - var access_token = ohauth_1.stringQs(xhr.response); - token('oauth_token', access_token.oauth_token); - token('oauth_token_secret', access_token.oauth_token_secret); - callback(null, oauth); - } - - get_access_token(oauth_token); - }; - - // # xhr - // - // A single XMLHttpRequest wrapper that does authenticated calls if the - // user has logged in. - oauth.xhr = function(options, callback) { - if (!oauth.authenticated()) { - if (o.auto) { - return oauth.authenticate(run); - } else { - callback('not authenticated', null); - return; - } - } else { - return run(); - } - - function run() { - var params = timenonce(getAuth(o)), - oauth_token_secret = token('oauth_token_secret'), - url = (options.prefix !== false) ? o.url + options.path : options.path, - url_parts = url.replace(/#.*$/, '').split('?', 2), - base_url = url_parts[0], - query = (url_parts.length === 2) ? url_parts[1] : ''; - - // https://tools.ietf.org/html/rfc5849#section-3.4.1.3.1 - if ((!options.options || !options.options.header || - options.options.header['Content-Type'] === 'application/x-www-form-urlencoded') && - options.content) { - params = immutable(params, ohauth_1.stringQs(options.content)); - } - - params.oauth_token = token('oauth_token'); - params.oauth_signature = ohauth_1.signature( - o.oauth_secret, - oauth_token_secret, - ohauth_1.baseString(options.method, base_url, immutable(params, ohauth_1.stringQs(query))) - ); - - return ohauth_1.xhr(options.method, url, params, options.content, options.options, done); - } - - function done(err, xhr) { - if (err) return callback(err); - else if (xhr.responseXML) return callback(err, xhr.responseXML); - else return callback(err, xhr.response); - } - }; - - // pre-authorize this object, if we can just get a token and token_secret - // from the start - oauth.preauth = function(c) { - if (!c) return; - if (c.oauth_token) token('oauth_token', c.oauth_token); - if (c.oauth_token_secret) token('oauth_token_secret', c.oauth_token_secret); - return oauth; - }; - - oauth.options = function(_) { - if (!arguments.length) return o; - - o = _; - o.url = o.url || 'https://www.openstreetmap.org'; - o.landing = o.landing || 'land.html'; - o.singlepage = o.singlepage || false; - - // Optional loading and loading-done functions for nice UI feedback. - // by default, no-ops - o.loading = o.loading || function() {}; - o.done = o.done || function() {}; - - return oauth.preauth(o); - }; - - // 'stamp' an authentication object from `getAuth()` - // with a [nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce) - // and timestamp - function timenonce(o) { - o.oauth_timestamp = ohauth_1.timestamp(); - o.oauth_nonce = ohauth_1.nonce(); - return o; - } - - // get/set tokens. These are prefixed with the base URL so that `osm-auth` - // can be used with multiple APIs and the keys in `localStorage` - // will not clash - var token; - - if (store_legacy.enabled) { - token = function (x, y) { - if (arguments.length === 1) return store_legacy.get(o.url + x); - else if (arguments.length === 2) return store_legacy.set(o.url + x, y); - }; - } else { - var storage = {}; - token = function (x, y) { - if (arguments.length === 1) return storage[o.url + x]; - else if (arguments.length === 2) return storage[o.url + x] = y; - }; - } - - // Get an authentication object. If you just add and remove properties - // from a single object, you'll need to use `delete` to make sure that - // it doesn't contain undesired properties for authentication - function getAuth(o) { - return { - oauth_consumer_key: o.oauth_consumer_key, - oauth_signature_method: 'HMAC-SHA1' - }; - } - - // potentially pre-authorize - oauth.options(o); - - return oauth; - }; - - var JXON = new (function () { - var - sValueProp = 'keyValue', sAttributesProp = 'keyAttributes', sAttrPref = '@', /* you can customize these values */ - aCache = [], rIsNull = /^\s*$/, rIsBool = /^(?:true|false)$/i; - - function parseText (sValue) { - if (rIsNull.test(sValue)) { return null; } - if (rIsBool.test(sValue)) { return sValue.toLowerCase() === 'true'; } - if (isFinite(sValue)) { return parseFloat(sValue); } - if (isFinite(Date.parse(sValue))) { return new Date(sValue); } - return sValue; - } - - function EmptyTree () { } - EmptyTree.prototype.toString = function () { return 'null'; }; - EmptyTree.prototype.valueOf = function () { return null; }; - - function objectify (vValue) { - return vValue === null ? new EmptyTree() : vValue instanceof Object ? vValue : new vValue.constructor(vValue); - } - - function createObjTree (oParentNode, nVerb, bFreeze, bNesteAttr) { - var - nLevelStart = aCache.length, bChildren = oParentNode.hasChildNodes(), - bAttributes = oParentNode.hasAttributes(), bHighVerb = Boolean(nVerb & 2); - - var - sProp, vContent, nLength = 0, sCollectedTxt = '', - vResult = bHighVerb ? {} : /* put here the default value for empty nodes: */ true; - - if (bChildren) { - for (var oNode, nItem = 0; nItem < oParentNode.childNodes.length; nItem++) { - oNode = oParentNode.childNodes.item(nItem); - if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is 'CDATASection' (4) */ - else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is 'Text' (3) */ - else if (oNode.nodeType === 1 && !oNode.prefix) { aCache.push(oNode); } /* nodeType is 'Element' (1) */ - } - } - - var nLevelEnd = aCache.length, vBuiltVal = parseText(sCollectedTxt); - - if (!bHighVerb && (bChildren || bAttributes)) { vResult = nVerb === 0 ? objectify(vBuiltVal) : {}; } - - for (var nElId = nLevelStart; nElId < nLevelEnd; nElId++) { - sProp = aCache[nElId].nodeName.toLowerCase(); - vContent = createObjTree(aCache[nElId], nVerb, bFreeze, bNesteAttr); - if (vResult.hasOwnProperty(sProp)) { - if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; } - vResult[sProp].push(vContent); - } else { - vResult[sProp] = vContent; - nLength++; - } - } - - if (bAttributes) { - var - nAttrLen = oParentNode.attributes.length, - sAPrefix = bNesteAttr ? '' : sAttrPref, oAttrParent = bNesteAttr ? {} : vResult; - - for (var oAttrib, nAttrib = 0; nAttrib < nAttrLen; nLength++, nAttrib++) { - oAttrib = oParentNode.attributes.item(nAttrib); - oAttrParent[sAPrefix + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim()); - } - - if (bNesteAttr) { - if (bFreeze) { Object.freeze(oAttrParent); } - vResult[sAttributesProp] = oAttrParent; - nLength -= nAttrLen - 1; - } - } - - if (nVerb === 3 || (nVerb === 2 || nVerb === 1 && nLength > 0) && sCollectedTxt) { - vResult[sValueProp] = vBuiltVal; - } else if (!bHighVerb && nLength === 0 && sCollectedTxt) { - vResult = vBuiltVal; - } - - if (bFreeze && (bHighVerb || nLength > 0)) { Object.freeze(vResult); } - - aCache.length = nLevelStart; - - return vResult; - } - - function loadObjTree (oXMLDoc, oParentEl, oParentObj) { - var vValue, oChild; - - if (oParentObj instanceof String || oParentObj instanceof Number || oParentObj instanceof Boolean) { - oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toString())); /* verbosity level is 0 */ - } else if (oParentObj.constructor === Date) { - oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toGMTString())); - } - - for (var sName in oParentObj) { - vValue = oParentObj[sName]; - if (isFinite(sName) || vValue instanceof Function) { continue; } /* verbosity level is 0 */ - if (sName === sValueProp) { - if (vValue !== null && vValue !== true) { oParentEl.appendChild(oXMLDoc.createTextNode(vValue.constructor === Date ? vValue.toGMTString() : String(vValue))); } - } else if (sName === sAttributesProp) { /* verbosity level is 3 */ - for (var sAttrib in vValue) { oParentEl.setAttribute(sAttrib, vValue[sAttrib]); } - } else if (sName.charAt(0) === sAttrPref) { - oParentEl.setAttribute(sName.slice(1), vValue); - } else if (vValue.constructor === Array) { - for (var nItem = 0; nItem < vValue.length; nItem++) { - oChild = oXMLDoc.createElement(sName); - loadObjTree(oXMLDoc, oChild, vValue[nItem]); - oParentEl.appendChild(oChild); - } - } else { - oChild = oXMLDoc.createElement(sName); - if (vValue instanceof Object) { - loadObjTree(oXMLDoc, oChild, vValue); - } else if (vValue !== null && vValue !== true) { - oChild.appendChild(oXMLDoc.createTextNode(vValue.toString())); - } - oParentEl.appendChild(oChild); - } - } - } - - this.build = function (oXMLParent, nVerbosity /* optional */, bFreeze /* optional */, bNesteAttributes /* optional */) { - var _nVerb = arguments.length > 1 && typeof nVerbosity === 'number' ? nVerbosity & 3 : /* put here the default verbosity level: */ 1; - return createObjTree(oXMLParent, _nVerb, bFreeze || false, arguments.length > 3 ? bNesteAttributes : _nVerb === 3); - }; - - this.unbuild = function (oObjTree) { - var oNewDoc = document.implementation.createDocument('', '', null); - loadObjTree(oNewDoc, oNewDoc, oObjTree); - return oNewDoc; - }; - - this.stringify = function (oObjTree) { - return (new XMLSerializer()).serializeToString(JXON.unbuild(oObjTree)); - }; - })(); - - // var myObject = JXON.build(doc); - // we got our javascript object! try: alert(JSON.stringify(myObject)); - - // var newDoc = JXON.unbuild(myObject); - // we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc)); - - var dispatch$3 = dispatch('authLoading', 'authDone', 'change', 'loading', 'loaded'); - var urlroot = 'https://www.openstreetmap.org'; - var oauth = osmAuth({ - url: urlroot, - oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT', - oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL', - loading: authLoading, - done: authDone - }); - - var _blacklists = ['.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*']; - var _tiles = { loaded: {}, inflight: {} }; - var _changeset = {}; - var _entityCache = {}; - var _connectionID = 1; - var _tileZoom = 16; - var _rateLimitError; - var _userChangesets; - var _userDetails; - var _off; - - - function authLoading() { - dispatch$3.call('authLoading'); - } - - - function authDone() { - dispatch$3.call('authDone'); - } - - - function abortRequest$2(i) { - if (i) { - i.abort(); - } - } - - - function getLoc(attrs) { - var lon = attrs.lon && attrs.lon.value; - var lat = attrs.lat && attrs.lat.value; - return [parseFloat(lon), parseFloat(lat)]; - } - - - function getNodes(obj) { - var elems = obj.getElementsByTagName('nd'); - var nodes = new Array(elems.length); - for (var i = 0, l = elems.length; i < l; i++) { - nodes[i] = 'n' + elems[i].attributes.ref.value; - } - return nodes; - } - - - function getTags(obj) { - var elems = obj.getElementsByTagName('tag'); - var tags = {}; - for (var i = 0, l = elems.length; i < l; i++) { - var attrs = elems[i].attributes; - tags[attrs.k.value] = attrs.v.value; - } - - return tags; - } - - - function getMembers(obj) { - var elems = obj.getElementsByTagName('member'); - var members = new Array(elems.length); - for (var i = 0, l = elems.length; i < l; i++) { - var attrs = elems[i].attributes; - members[i] = { - id: attrs.type.value[0] + attrs.ref.value, - type: attrs.type.value, - role: attrs.role.value - }; - } - return members; - } - - - function getVisible(attrs) { - return (!attrs.visible || attrs.visible.value !== 'false'); - } - - - var parsers = { - node: function nodeData(obj, uid) { - var attrs = obj.attributes; - return new osmNode({ - id:uid, - visible: getVisible(attrs), - version: attrs.version.value, - changeset: attrs.changeset && attrs.changeset.value, - timestamp: attrs.timestamp && attrs.timestamp.value, - user: attrs.user && attrs.user.value, - uid: attrs.uid && attrs.uid.value, - loc: getLoc(attrs), - tags: getTags(obj) - }); - }, - - way: function wayData(obj, uid) { - var attrs = obj.attributes; - return new osmWay({ - id: uid, - visible: getVisible(attrs), - version: attrs.version.value, - changeset: attrs.changeset && attrs.changeset.value, - timestamp: attrs.timestamp && attrs.timestamp.value, - user: attrs.user && attrs.user.value, - uid: attrs.uid && attrs.uid.value, - tags: getTags(obj), - nodes: getNodes(obj), - }); - }, - - relation: function relationData(obj, uid) { - var attrs = obj.attributes; - return new osmRelation({ - id: uid, - visible: getVisible(attrs), - version: attrs.version.value, - changeset: attrs.changeset && attrs.changeset.value, - timestamp: attrs.timestamp && attrs.timestamp.value, - user: attrs.user && attrs.user.value, - uid: attrs.uid && attrs.uid.value, - tags: getTags(obj), - members: getMembers(obj) - }); - } - }; - - - function parse(xml$$1, callback, options) { - options = assignIn({ cache: true }, options); - if (!xml$$1 || !xml$$1.childNodes) return; - - var root = xml$$1.childNodes[0]; - var children = root.childNodes; - - function parseChild(child) { - var parser = parsers[child.nodeName]; - if (parser) { - var uid = osmEntity$$1.id.fromOSM(child.nodeName, child.attributes.id.value); - if (options.cache && _entityCache[uid]) { - return null; - } - return parser(child, uid); - } - } - - utilIdleWorker(children, parseChild, callback); - } - - - var serviceOsm = { - - init: function() { - utilRebind(this, dispatch$3, 'on'); - }, - - - reset: function() { - _connectionID++; - _userChangesets = undefined; - _userDetails = undefined; - _rateLimitError = undefined; - forEach(_tiles.inflight, abortRequest$2); - if (_changeset.inflight) abortRequest$2(_changeset.inflight); - _tiles = { loaded: {}, inflight: {} }; - _changeset = {}; - _entityCache = {}; - return this; - }, - - - getConnectionId: function() { - return _connectionID; - }, - - - changesetURL: function(changesetId) { - return urlroot + '/changeset/' + changesetId; - }, - - - changesetsURL: function(center, zoom) { - var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)); - return urlroot + '/history#map=' + - Math.floor(zoom) + '/' + - center[1].toFixed(precision) + '/' + - center[0].toFixed(precision); - }, - - - entityURL: function(entity) { - return urlroot + '/' + entity.type + '/' + entity.osmId(); - }, - - - historyURL: function(entity) { - return urlroot + '/' + entity.type + '/' + entity.osmId() + '/history'; - }, - - - userURL: function(username) { - return urlroot + '/user/' + username; - }, - - - loadFromAPI: function(path, callback, options) { - options = assignIn({ cache: true }, options); - var that = this; - var cid = _connectionID; - - function done(err, xml$$1) { - if (that.getConnectionId() !== cid) { - if (callback) callback({ message: 'Connection Switched', status: -1 }); - return; - } - - var isAuthenticated = that.authenticated(); - - // 400 Bad Request, 401 Unauthorized, 403 Forbidden - // Logout and retry the request.. - if (isAuthenticated && err && (err.status === 400 || err.status === 401 || err.status === 403)) { - that.logout(); - that.loadFromAPI(path, callback); - - // else, no retry.. - } else { - // 509 Bandwidth Limit Exceeded, 429 Too Many Requests - // Set the rateLimitError flag and trigger a warning.. - if (!isAuthenticated && !_rateLimitError && err && - (err.status === 509 || err.status === 429)) { - _rateLimitError = err; - dispatch$3.call('change'); - } - - if (callback) { - if (err) return callback(err, null); - parse(xml$$1, function (entities) { - if (options.cache) { - for (var i in entities) { - _entityCache[entities[i].id] = true; - } - } - callback(null, entities); - }, options); - } - } - } - - if (this.authenticated()) { - return oauth.xhr({ method: 'GET', path: path }, done); - } else { - var url = urlroot + path; - return d3_xml(url).get(done); - } - }, - - - loadEntity: function(id, callback) { - var type = osmEntity$$1.id.type(id); - var osmID = osmEntity$$1.id.toOSM(id); - var options = { cache: false }; - - this.loadFromAPI( - '/api/0.6/' + type + '/' + osmID + (type !== 'node' ? '/full' : ''), - function(err, entities) { - if (callback) callback(err, { data: entities }); - }, - options - ); - }, - - - loadEntityVersion: function(id, version, callback) { - var type = osmEntity$$1.id.type(id); - var osmID = osmEntity$$1.id.toOSM(id); - var options = { cache: false }; - - this.loadFromAPI( - '/api/0.6/' + type + '/' + osmID + '/' + version, - function(err, entities) { - if (callback) callback(err, { data: entities }); - }, - options - ); - }, - - - loadMultiple: function(ids, callback) { - var that = this; - - forEach(groupBy(uniq(ids), osmEntity$$1.id.type), function(v, k) { - var type = k + 's'; - var osmIDs = map$3(v, osmEntity$$1.id.toOSM); - var options = { cache: false }; - - forEach(chunk(osmIDs, 150), function(arr) { - that.loadFromAPI( - '/api/0.6/' + type + '?' + type + '=' + arr.join(), - function(err, entities) { - if (callback) callback(err, { data: entities }); - }, - options - ); - }); - }); - }, - - - authenticated: function() { - return oauth.authenticated(); - }, - - - putChangeset: function(changeset, changes, callback) { - if (_changeset.inflight) { - return callback({ message: 'Changeset already inflight', status: -2 }, changeset); - } - - var that = this; - var cid = _connectionID; - - if (_changeset.open) { // reuse existing open changeset.. - createdChangeset(null, _changeset.open); - } else { // open a new changeset.. - _changeset.inflight = oauth.xhr({ - method: 'PUT', - path: '/api/0.6/changeset/create', - options: { header: { 'Content-Type': 'text/xml' } }, - content: JXON.stringify(changeset.asJXON()) - }, createdChangeset); - } - - - function createdChangeset(err, changesetID) { - _changeset.inflight = null; - - if (err) { - // 400 Bad Request, 401 Unauthorized, 403 Forbidden.. - if (err.status === 400 || err.status === 401 || err.status === 403) { - that.logout(); - } - return callback(err, changeset); - } - if (that.getConnectionId() !== cid) { - return callback({ message: 'Connection Switched', status: -1 }, changeset); - } - - _changeset.open = changesetID; - changeset = changeset.update({ id: changesetID }); - - // Upload the changeset.. - _changeset.inflight = oauth.xhr({ - method: 'POST', - path: '/api/0.6/changeset/' + changesetID + '/upload', - options: { header: { 'Content-Type': 'text/xml' } }, - content: JXON.stringify(changeset.osmChangeJXON(changes)) - }, uploadedChangeset); - } - - - function uploadedChangeset(err) { - _changeset.inflight = null; - - if (err) return callback(err, changeset); - - // Upload was successful, safe to call the callback. - // Add delay to allow for postgres replication #1646 #2678 - window.setTimeout(function() { - callback(null, changeset); - }, 2500); - - _changeset.open = null; - - // At this point, we don't really care if the connection was switched.. - // Only try to close the changeset if we're still talking to the same server. - if (that.getConnectionId() === cid) { - // Still attempt to close changeset, but ignore response because #2667 - oauth.xhr({ - method: 'PUT', - path: '/api/0.6/changeset/' + changeset.id + '/close', - options: { header: { 'Content-Type': 'text/xml' } } - }, function() { return true; }); - } - } - }, - - - userDetails: function(callback) { - if (_userDetails) { - callback(undefined, _userDetails); - return; - } - - var that = this; - var cid = _connectionID; - - function done(err, user_details) { - if (err) { - // 400 Bad Request, 401 Unauthorized, 403 Forbidden.. - if (err.status === 400 || err.status === 401 || err.status === 403) { - that.logout(); - } - return callback(err); - } - if (that.getConnectionId() !== cid) { - return callback({ message: 'Connection Switched', status: -1 }); - } - - - var u = user_details.getElementsByTagName('user')[0]; - var img = u.getElementsByTagName('img'); - var image_url = ''; - - if (img && img[0] && img[0].getAttribute('href')) { - image_url = img[0].getAttribute('href'); - } - - var changesets = u.getElementsByTagName('changesets'); - var changesets_count = 0; - - if (changesets && changesets[0] && changesets[0].getAttribute('count')) { - changesets_count = changesets[0].getAttribute('count'); - } - - _userDetails = { - id: u.attributes.id.value, - display_name: u.attributes.display_name.value, - image_url: image_url, - changesets_count: changesets_count - }; - - callback(undefined, _userDetails); - } - - oauth.xhr({ method: 'GET', path: '/api/0.6/user/details' }, done); - }, - - - userChangesets: function(callback) { - if (_userChangesets) { - callback(undefined, _userChangesets); - return; - } - - var that = this; - var cid = _connectionID; - - this.userDetails(function(err, user) { - if (err) { - return callback(err); - } - if (that.getConnectionId() !== cid) { - return callback({ message: 'Connection Switched', status: -1 }); - } - - function done(err, changesets) { - if (err) { - // 400 Bad Request, 401 Unauthorized, 403 Forbidden.. - if (err.status === 400 || err.status === 401 || err.status === 403) { - that.logout(); - } - return callback(err); - } - if (that.getConnectionId() !== cid) { - return callback({ message: 'Connection Switched', status: -1 }); - } - - _userChangesets = Array.prototype.map.call( - changesets.getElementsByTagName('changeset'), - function (changeset) { - return { tags: getTags(changeset) }; - } - ).filter(function (changeset) { - var comment = changeset.tags.comment; - return comment && comment !== ''; - }); - - callback(undefined, _userChangesets); - } - - oauth.xhr({ method: 'GET', path: '/api/0.6/changesets?user=' + user.id }, done); - }); - }, - - - status: function(callback) { - var that = this; - var cid = _connectionID; - - function done(xml$$1) { - if (that.getConnectionId() !== cid) { - return callback({ message: 'Connection Switched', status: -1 }, 'connectionSwitched'); - } - - // update blacklists - var elements = xml$$1.getElementsByTagName('blacklist'); - var regexes = []; - for (var i = 0; i < elements.length; i++) { - var regex = elements[i].getAttribute('regex'); // needs unencode? - if (regex) { - regexes.push(regex); - } - } - if (regexes.length) { - _blacklists = regexes; - } - - - if (_rateLimitError) { - callback(_rateLimitError, 'rateLimited'); - } else { - var apiStatus = xml$$1.getElementsByTagName('status'); - var val = apiStatus[0].getAttribute('api'); - - callback(undefined, val); - } - } - - d3_xml(urlroot + '/api/capabilities').get() - .on('load', done) - .on('error', callback); - }, - - - imageryBlacklists: function() { - return _blacklists; - }, - - - tileZoom: function(_) { - if (!arguments.length) return _tileZoom; - _tileZoom = _; - return this; - }, - - - loadTiles: function(projection, dimensions, callback) { - if (_off) return; - - var that = this; - var s = projection.scale() * 2 * Math.PI; - var z = Math.max(Math.log(s) / Math.log(2) - 8, 0); - var ts = 256 * Math.pow(2, z - _tileZoom); - var origin = [ - s / 2 - projection.translate()[0], - s / 2 - projection.translate()[1] - ]; - - var tiles = d3geoTile() - .scaleExtent([_tileZoom, _tileZoom]) - .scale(s) - .size(dimensions) - .translate(projection.translate())() - .map(function(tile) { - var x = tile[0] * ts - origin[0]; - var y = tile[1] * ts - origin[1]; - - return { - id: tile.toString(), - extent: geoExtent$$1( - projection.invert([x, y + ts]), - projection.invert([x + ts, y])) - }; - }); - - filter(_tiles.inflight, function(v, i) { - var wanted = find$1(tiles, function(tile) { - return i === tile.id; - }); - if (!wanted) delete _tiles.inflight[i]; - return !wanted; - }).map(abortRequest$2); - - tiles.forEach(function(tile) { - var id = tile.id; - - if (_tiles.loaded[id] || _tiles.inflight[id]) return; - - if (isEmpty(_tiles.inflight)) { - dispatch$3.call('loading'); - } - - _tiles.inflight[id] = that.loadFromAPI( - '/api/0.6/map?bbox=' + tile.extent.toParam(), - function(err, parsed) { - delete _tiles.inflight[id]; - if (!err) { - _tiles.loaded[id] = true; - } - - if (callback) { - callback(err, assignIn({ data: parsed }, tile)); - } - - if (isEmpty(_tiles.inflight)) { - dispatch$3.call('loaded'); - } - } - ); - }); - }, - - - switch: function(options) { - urlroot = options.urlroot; - - oauth.options(assignIn({ - url: urlroot, - loading: authLoading, - done: authDone - }, options)); - - this.reset(); - this.userChangesets(function() {}); // eagerly load user details/changesets - dispatch$3.call('change'); - return this; - }, - - - toggle: function(_) { - _off = !_; - return this; - }, - - - loadedTiles: function(_) { - if (!arguments.length) return _tiles.loaded; - _tiles.loaded = _; - return this; - }, - - - logout: function() { - _userChangesets = undefined; - _userDetails = undefined; - oauth.logout(); - dispatch$3.call('change'); - return this; - }, - - - authenticate: function(callback) { - var that = this; - var cid = _connectionID; - _userChangesets = undefined; - _userDetails = undefined; - - function done(err, res) { - if (err) { - if (callback) callback(err); - return; - } - if (that.getConnectionId() !== cid) { - if (callback) callback({ message: 'Connection Switched', status: -1 }); - return; - } - _rateLimitError = undefined; - dispatch$3.call('change'); - if (callback) callback(err, res); - that.userChangesets(function() {}); // eagerly load user details/changesets - } - - return oauth.authenticate(done); - } - }; - - var apibase$3 = 'https://taginfo.openstreetmap.org/api/4/', - inflight$1 = {}, - popularKeys = {}, - taginfoCache = {}, - tag_sorts = { - point: 'count_nodes', - vertex: 'count_nodes', - area: 'count_ways', - line: 'count_ways' - }, - tag_sort_members = { - point: 'count_node_members', - vertex: 'count_node_members', - area: 'count_way_members', - line: 'count_way_members', - relation: 'count_relation_members' - }, - tag_filters = { - point: 'nodes', - vertex: 'nodes', - area: 'ways', - line: 'ways' - }, - tag_members_fractions = { - point: 'count_node_members_fraction', - vertex: 'count_node_members_fraction', - area: 'count_way_members_fraction', - line: 'count_way_members_fraction', - relation: 'count_relation_members_fraction' - }; - - - function sets(params, n, o) { - if (params.geometry && o[params.geometry]) { - params[n] = o[params.geometry]; - } - return params; - } - - - function setFilter(params) { - return sets(params, 'filter', tag_filters); - } - - - function setSort(params) { - return sets(params, 'sortname', tag_sorts); - } - - - function setSortMembers(params) { - return sets(params, 'sortname', tag_sort_members); - } - - - function clean(params) { - return omit(params, ['geometry', 'debounce']); - } - - - function filterKeys(type) { - var count_type = type ? 'count_' + type : 'count_all'; - return function(d) { - return parseFloat(d[count_type]) > 2500 || d.in_wiki; - }; - } - - - function filterMultikeys(prefix) { - return function(d) { - // d.key begins with prefix, and d.key contains no additional ':'s - var re = new RegExp('^' + prefix + '(.*)$'); - var matches = d.key.match(re) || []; - return (matches.length === 2 && matches[1].indexOf(':') === -1); - }; - } - - - function filterValues(allowUpperCase) { - return function(d) { - if (d.value.match(/[;,]/) !== null) return false; // exclude some punctuation - if (!allowUpperCase && d.value.match(/[A-Z*]/) !== null) return false; // exclude uppercase letters - return parseFloat(d.fraction) > 0.0 || d.in_wiki; - }; - } - - - function filterRoles(geometry) { - return function(d) { - if (d.role === '') return false; // exclude empty role - if (d.role.match(/[A-Z*;,]/) !== null) return false; // exclude uppercase letters and some punctuation - return parseFloat(d[tag_members_fractions[geometry]]) > 0.0; - }; - } - - - function valKey(d) { - return { - value: d.key, - title: d.key - }; - } - - - function valKeyDescription(d) { - return { - value: d.value, - title: d.description || d.value - }; - } - - - function roleKey(d) { - return { - value: d.role, - title: d.role - }; - } - - - // sort keys with ':' lower than keys without ':' - function sortKeys(a, b) { - return (a.key.indexOf(':') === -1 && b.key.indexOf(':') !== -1) ? -1 - : (a.key.indexOf(':') !== -1 && b.key.indexOf(':') === -1) ? 1 - : 0; - } - - - var debouncedRequest = debounce(request$1, 500, { leading: false }); - - function request$1(url, params, exactMatch, callback, loaded) { - if (inflight$1[url]) return; - - if (checkCache(url, params, exactMatch, callback)) return; - - inflight$1[url] = d3_json(url, function (err, data) { - delete inflight$1[url]; - loaded(err, data); - }); - } - - - function checkCache(url, params, exactMatch, callback) { - var rp = params.rp || 25, - testQuery = params.query || '', - testUrl = url; - - do { - var hit = taginfoCache[testUrl]; - - // exact match, or shorter match yielding fewer than max results (rp) - if (hit && (url === testUrl || hit.length < rp)) { - callback(null, hit); - return true; - } - - // don't try to shorten the query - if (exactMatch || !testQuery.length) return false; - - // do shorten the query to see if we already have a cached result - // that has returned fewer than max results (rp) - testQuery = testQuery.slice(0, -1); - testUrl = url.replace(/&query=(.*?)&/, '&query=' + testQuery + '&'); - } while (testQuery.length >= 0); - - return false; - } - - - var serviceTaginfo = { - - init: function() { - inflight$1 = {}; - taginfoCache = {}; - popularKeys = {}; - - // Fetch popular keys. We'll exclude these from `values` - // lookups because they stress taginfo, and they aren't likely - // to yield meaningful autocomplete results.. see #3955 - var params = { rp: 100, sortname: 'values_all', sortorder: 'desc', page: 1, debounce: false }; - this.keys(params, function(err, data) { - if (err) return; - data.forEach(function(d) { - if (d.value === 'opening_hours') return; // exception - popularKeys[d.value] = true; - }); - }); - }, - - - reset: function() { - forEach(inflight$1, function(req) { req.abort(); }); - inflight$1 = {}; - }, - - - keys: function(params, callback) { - var doRequest = params.debounce ? debouncedRequest : request$1; - params = clean(setSort(params)); - params = assignIn({ rp: 10, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); - - var url = apibase$3 + 'keys/all?' + utilQsString(params); - doRequest(url, params, false, callback, function(err, d) { - if (err) { - callback(err); - } else { - var f = filterKeys(params.filter); - var result = d.data.filter(f).sort(sortKeys).map(valKey); - taginfoCache[url] = result; - callback(null, result); - } - }); - }, - - - multikeys: function(params, callback) { - var doRequest = params.debounce ? debouncedRequest : request$1; - params = clean(setSort(params)); - params = assignIn({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); - var prefix = params.query; - - var url = apibase$3 + 'keys/all?' + utilQsString(params); - doRequest(url, params, true, callback, function(err, d) { - if (err) { - callback(err); - } else { - var f = filterMultikeys(prefix); - var result = d.data.filter(f).map(valKey); - taginfoCache[url] = result; - callback(null, result); - } - }); - }, - - - values: function(params, callback) { - // Exclude popular keys from values lookups.. see #3955 - var key = params.key; - if (key && popularKeys[key]) { - callback(null, []); - return; - } - - var doRequest = params.debounce ? debouncedRequest : request$1; - params = clean(setSort(setFilter(params))); - params = assignIn({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); - - var url = apibase$3 + 'key/values?' + utilQsString(params); - doRequest(url, params, false, callback, function(err, d) { - if (err) { - callback(err); - } else { - // In most cases we prefer taginfo value results with lowercase letters. - // A few OSM keys expect values to contain uppercase values (see #3377). - // This is not an exhaustive list (e.g. `name` also has uppercase values) - // but these are the fields where taginfo value lookup is most useful. - var re = /network|taxon|genus|species|brand|grape_variety|rating|:output|_hours|_times/; - var allowUpperCase = (params.key.match(re) !== null); - var f = filterValues(allowUpperCase); - - var result = d.data.filter(f).map(valKeyDescription); - taginfoCache[url] = result; - callback(null, result); - } - }); - }, - - - roles: function(params, callback) { - var doRequest = params.debounce ? debouncedRequest : request$1; - var geometry = params.geometry; - params = clean(setSortMembers(params)); - params = assignIn({ rp: 25, sortname: 'count_all_members', sortorder: 'desc', page: 1 }, params); - - var url = apibase$3 + 'relation/roles?' + utilQsString(params); - doRequest(url, params, true, callback, function(err, d) { - if (err) { - callback(err); - } else { - var f = filterRoles(geometry); - var result = d.data.filter(f).map(roleKey); - taginfoCache[url] = result; - callback(null, result); - } - }); - }, - - - docs: function(params, callback) { - var doRequest = params.debounce ? debouncedRequest : request$1; - params = clean(setSort(params)); - - var path = 'key/wiki_pages?'; - if (params.value) path = 'tag/wiki_pages?'; - else if (params.rtype) path = 'relation/wiki_pages?'; - - var url = apibase$3 + path + utilQsString(params); - doRequest(url, params, true, callback, function(err, d) { - if (err) { - callback(err); - } else { - taginfoCache[url] = d.data; - callback(null, d.data); - } - }); - }, - - - apibase: function(_) { - if (!arguments.length) return apibase$3; - apibase$3 = _; - return this; - } - - }; - - var jsonpCache = {}; - window.jsonpCache = jsonpCache; - - function jsonpRequest(url, callback) { - - if (window.JSONP_FIX) { - if (window.JSONP_DELAY === 0) { - callback(window.JSONP_FIX); - } else { - setTimeout(function() { - callback(window.JSONP_FIX); - }, window.JSONP_DELAY || 0); - } - return; - } - - function rand() { - var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', - c = '', i = -1; - while (++i < 15) c += chars.charAt(Math.floor(Math.random() * 52)); - return c; - } - - function create$$1(url) { - var e = url.match(/callback=(\w+)/), - c = e ? e[1] : rand(); - jsonpCache[c] = function(data) { - callback(data); - delete jsonpCache[c]; - script.remove(); - }; - return 'jsonpCache.' + c; - } - - var cb = create$$1(url), - script = select('head') - .append('script') - .attr('type', 'text/javascript') - .attr('src', url.replace(/(\{|%7B)callback(\}|%7D)/, cb)); - } - - var endpoint = 'https://www.wikidata.org/w/api.php?'; - - var serviceWikidata = { - - init: function() {}, - reset: function() {}, - - - // Given a Wikipedia language and article title, return an array of - // corresponding Wikidata entities. - itemsByTitle: function(lang, title, callback) { - if (!title) { - callback('', {}); - return; - } - - lang = lang || 'en'; - jsonpRequest(endpoint + utilQsString({ - action: 'wbgetentities', - format: 'json', - sites: lang.replace(/-/g, '_') + 'wiki', - titles: title, - languages: 'en', // shrink response by filtering to one language - callback: '{callback}' - }), function(data) { - if (!data || data.error) { - callback('', {}); - } else { - callback(title, data.entities || {}); - } - }); - } - - }; - - var endpoint$1 = 'https://en.wikipedia.org/w/api.php?'; - - var serviceWikipedia = { - - init: function() {}, - reset: function() {}, - - - search: function(lang, query, callback) { - if (!query) { - callback('', []); - return; - } - - lang = lang || 'en'; - jsonpRequest(endpoint$1.replace('en', lang) + - utilQsString({ - action: 'query', - list: 'search', - srlimit: '10', - srinfo: 'suggestion', - format: 'json', - callback: '{callback}', - srsearch: query - }), function(data) { - if (!data || !data.query || !data.query.search || data.error) { - callback('', []); - } else { - var results = data.query.search.map(function(d) { return d.title; }); - callback(query, results); - } - } - ); - }, - - - suggestions: function(lang, query, callback) { - if (!query) { - callback('', []); - return; - } - - lang = lang || 'en'; - jsonpRequest(endpoint$1.replace('en', lang) + - utilQsString({ - action: 'opensearch', - namespace: 0, - suggest: '', - format: 'json', - callback: '{callback}', - search: query - }), function(data) { - if (!data || data.error) { - callback('', []); - } else { - callback(data[0], data[1] || []); - } - } - ); - }, - - - translations: function(lang, title, callback) { - if (!title) { - callback({}); - return; - } - - jsonpRequest(endpoint$1.replace('en', lang) + - utilQsString({ - action: 'query', - prop: 'langlinks', - format: 'json', - callback: '{callback}', - lllimit: 500, - titles: title - }), function(data) { - if (!data || !data.query || !data.query.pages || data.error) { - callback({}); - } else { - var list = data.query.pages[Object.keys(data.query.pages)[0]], - translations = {}; - if (list && list.langlinks) { - list.langlinks.forEach(function(d) { - translations[d.lang] = d['*']; - }); - } - callback(translations); - } - } - ); - } - - }; - - var services = { - geocoder: serviceNominatim, - mapillary: serviceMapillary, - openstreetcam: serviceOpenstreetcam, - osm: serviceOsm, - taginfo: serviceTaginfo, - wikidata: serviceWikidata, - wikipedia: serviceWikipedia - }; - - var _isSaving = false; - - - function modeSave$$1(context) { - var mode = { id: 'save' }; - var keybinding = d3keybinding('modeSave'); - - var loading = uiLoading(context) - .message(t('save.uploading')) - .blocking(true); - - var commit = uiCommit(context) - .on('cancel', cancel) - .on('save', save); - - var _toCheck = []; - var _toLoad = []; - var _loaded = {}; - var _toLoadCount = 0; - var _toLoadTotal = 0; - - var _conflicts = []; - var _errors = []; - var _origChanges; - var _location; - - - function cancel(selectedID) { - if (selectedID) { - context.enter(modeSelect(context, [selectedID])); - } else { - context.enter(modeBrowse(context)); - } - } - - - function save(changeset, tryAgain, checkConflicts) { - // Guard against accidentally entering save code twice - #4641 - if (_isSaving && !tryAgain) { - return; - } - - var osm = context.connection(); - if (!osm) { - cancel(); - return; - } - - // If user somehow got logged out mid-save, try to reauthenticate.. - // This can happen if they were logged in from before, but the tokens are no longer valid. - if (!osm.authenticated()) { - osm.authenticate(function(err) { - if (err) { - cancel(); // quit save mode.. - } else { - save(changeset, tryAgain, checkConflicts); // continue where we left off.. - } - }); - return; - } - - if (!_isSaving) { - keybindingOff(); - context.container().call(loading); // block input - _isSaving = true; - } - - var history = context.history(); - var localGraph = context.graph(); - var remoteGraph = coreGraph$$1(history.base(), true); - - _conflicts = []; - _errors = []; - - // Store original changes, in case user wants to download them as an .osc file - _origChanges = history.changes(actionDiscardTags(history.difference())); - - // First time, `history.perform` a no-op action. - // Any conflict resolutions will be done as `history.replace` - if (!tryAgain) { - history.perform(actionNoop()); - } - - // Attempt a fast upload.. If there are conflicts, re-enter with `checkConflicts = true` - if (!checkConflicts) { - upload(changeset); - - // Do the full (slow) conflict check.. - } else { - var modified = filter(history.difference().summary(), { changeType: 'modified' }); - _toCheck = map$3(map$3(modified, 'entity'), 'id'); - _toLoad = withChildNodes(_toCheck, localGraph); - _loaded = {}; - _toLoadCount = 0; - _toLoadTotal = _toLoad.length; - - if (_toCheck.length) { - showProgress(_toLoadCount, _toLoadTotal); - _toLoad.forEach(function(id) { _loaded[id] = false; }); - osm.loadMultiple(_toLoad, loaded); - } else { - upload(changeset); - } - } - - return; - - - function withChildNodes(ids, graph) { - return uniq(reduce(ids, function(result, id) { - var entity = graph.entity(id); - if (entity.type === 'way') { - try { - var children = graph.childNodes(entity); - result.push.apply(result, map$3(filter(children, 'version'), 'id')); - } catch (err) { - /* eslint-disable no-console */ - if (typeof console !== 'undefined') console.error(err); - /* eslint-enable no-console */ - } - } - return result; - }, clone(ids))); - } - - - // Reload modified entities into an alternate graph and check for conflicts.. - function loaded(err, result) { - if (_errors.length) return; - - if (err) { - _errors.push({ - msg: err.message || err.responseText, - details: [ t('save.status_code', { code: err.status }) ] - }); - showErrors(); - - } else { - var loadMore = []; - - result.data.forEach(function(entity) { - remoteGraph.replace(entity); - _loaded[entity.id] = true; - _toLoad = without(_toLoad, entity.id); - - if (!entity.visible) return; - - // Because loadMultiple doesn't download /full like loadEntity, - // need to also load children that aren't already being checked.. - var i, id; - if (entity.type === 'way') { - for (i = 0; i < entity.nodes.length; i++) { - id = entity.nodes[i]; - if (_loaded[id] === undefined) { - _loaded[id] = false; - loadMore.push(id); - } - } - } else if (entity.type === 'relation' && entity.isMultipolygon()) { - for (i = 0; i < entity.members.length; i++) { - id = entity.members[i].id; - if (_loaded[id] === undefined) { - _loaded[id] = false; - loadMore.push(id); - } - } - } - }); - - _toLoadCount += result.data.length; - _toLoadTotal += loadMore.length; - showProgress(_toLoadCount, _toLoadTotal); - - if (loadMore.length) { - _toLoad.push.apply(_toLoad, loadMore); - osm.loadMultiple(loadMore, loaded); - } - - if (!_toLoad.length) { - detectConflicts(); - } - } - } - - - function detectConflicts() { - function choice(id, text, action) { - return { id: id, text: text, action: function() { history.replace(action); } }; - } - function formatUser(d) { - return '' + d + ''; - } - function entityName(entity) { - return utilDisplayName(entity) || (utilDisplayType(entity.id) + ' ' + entity.id); - } - - function sameVersions(local$$1, remote) { - if (local$$1.version !== remote.version) return false; - - if (local$$1.type === 'way') { - var children = union(local$$1.nodes, remote.nodes); - for (var i = 0; i < children.length; i++) { - var a = localGraph.hasEntity(children[i]); - var b = remoteGraph.hasEntity(children[i]); - if (a && b && a.version !== b.version) return false; - } - } - - return true; - } - - _toCheck.forEach(function(id) { - var local$$1 = localGraph.entity(id); - var remote = remoteGraph.entity(id); - - if (sameVersions(local$$1, remote)) return; - - var action = actionMergeRemoteChanges; - var merge = action(id, localGraph, remoteGraph, formatUser); - - history.replace(merge); - - var mergeConflicts = merge.conflicts(); - if (!mergeConflicts.length) return; // merged safely - - var forceLocal = action(id, localGraph, remoteGraph).withOption('force_local'); - var forceRemote = action(id, localGraph, remoteGraph).withOption('force_remote'); - var keepMine = t('save.conflict.' + (remote.visible ? 'keep_local' : 'restore')); - var keepTheirs = t('save.conflict.' + (remote.visible ? 'keep_remote' : 'delete')); - - _conflicts.push({ - id: id, - name: entityName(local$$1), - details: mergeConflicts, - chosen: 1, - choices: [ - choice(id, keepMine, forceLocal), - choice(id, keepTheirs, forceRemote) - ] - }); - }); - - upload(changeset); - } - } - - - function upload(changeset) { - var osm = context.connection(); - if (!osm) { - _errors.push({ msg: 'No OSM Service' }); - } - - if (_conflicts.length) { - _conflicts.sort(function(a, b) { return b.id.localeCompare(a.id); }); - showConflicts(changeset); - - } else if (_errors.length) { - showErrors(); - - } else { - var history = context.history(); - var changes = history.changes(actionDiscardTags(history.difference())); - if (changes.modified.length || changes.created.length || changes.deleted.length) { - loadLocation(); // so it is ready when we display the save screen - osm.putChangeset(changeset, changes, uploadCallback); - } else { // changes were insignificant or reverted by user - select('.inspector-wrap *').remove(); - loading.close(); - _isSaving = false; - context.flush(); - cancel(); - } - } - } - - - function uploadCallback(err, changeset) { - if (err) { - if (err.status === 409) { // 409 Conflict - save(changeset, true, true); // tryAgain = true, checkConflicts = true - } else { - _errors.push({ - msg: err.message || err.responseText, - details: [ t('save.status_code', { code: err.status }) ] - }); - showErrors(); - } - - } else { - context.history().clearSaved(); - success(changeset); - // Add delay to allow for postgres replication #1646 #2678 - window.setTimeout(function() { - select('.inspector-wrap *').remove(); - loading.close(); - _isSaving = false; - context.flush(); - }, 2500); - } - } - - - function showProgress(num, total) { - var modal = context.container().select('.loading-modal .modal-section'); - var progress = modal.selectAll('.progress') - .data([0]); - - // enter/update - progress.enter() - .append('div') - .attr('class', 'progress') - .merge(progress) - .text(t('save.conflict_progress', { num: num, total: total })); - } - - - function showConflicts(changeset) { - var history = context.history(); - var selection$$1 = context.container() - .select('#sidebar') - .append('div') - .attr('class','sidebar-component'); - - loading.close(); - _isSaving = false; - - var ui = uiConflicts(context) - .conflictList(_conflicts) - .origChanges(_origChanges) - .on('cancel', function() { - history.pop(); - selection$$1.remove(); - keybindingOn(); - }) - .on('save', function() { - for (var i = 0; i < _conflicts.length; i++) { - if (_conflicts[i].chosen === 1) { // user chose "keep theirs" - var entity = context.hasEntity(_conflicts[i].id); - if (entity && entity.type === 'way') { - var children = uniq(entity.nodes); - for (var j = 0; j < children.length; j++) { - history.replace(actionRevert(children[j])); - } - } - history.replace(actionRevert(_conflicts[i].id)); - } - } - - selection$$1.remove(); - save(changeset, true, false); // tryAgain = true, checkConflicts = false - }); - - selection$$1.call(ui); - } - - - function showErrors() { - keybindingOn(); - context.history().pop(); - loading.close(); - _isSaving = false; - - var selection$$1 = uiConfirm(context.container()); - selection$$1 - .select('.modal-section.header') - .append('h3') - .text(t('save.error')); - - addErrors(selection$$1, _errors); - selection$$1.okButton(); - } - - - function addErrors(selection$$1, data) { - var message = selection$$1 - .select('.modal-section.message-text'); - - var items = message - .selectAll('.error-container') - .data(data); - - var enter = items.enter() - .append('div') - .attr('class', 'error-container'); - - enter - .append('a') - .attr('class', 'error-description') - .attr('href', '#') - .classed('hide-toggle', true) - .text(function(d) { return d.msg || t('save.unknown_error_details'); }) - .on('click', function() { - event.preventDefault(); - - var error = select(this); - var detail = select(this.nextElementSibling); - var exp = error.classed('expanded'); - - detail.style('display', exp ? 'none' : 'block'); - error.classed('expanded', !exp); - }); - - var details = enter - .append('div') - .attr('class', 'error-detail-container') - .style('display', 'none'); - - details - .append('ul') - .attr('class', 'error-detail-list') - .selectAll('li') - .data(function(d) { return d.details || []; }) - .enter() - .append('li') - .attr('class', 'error-detail-item') - .text(function(d) { return d; }); - - items.exit() - .remove(); - } - - - function success(changeset) { - commit.reset(); - - var ui = uiSuccess$$1(context) - .changeset(changeset) - .location(_location) - .on('cancel', function() { context.ui().sidebar.hide(); }); - - context.enter(modeBrowse(context).sidebar(ui)); - } - - - function keybindingOn() { - select(document) - .call(keybinding.on('⎋', cancel, true)); - } - - - function keybindingOff() { - select(document) - .call(keybinding.off); - } - - - // Reverse geocode current map location so we can display a message on - // the success screen like "Thank you for editing around city, state." - function loadLocation() { - _location = null; - if (!services.geocoder) return; - - services.geocoder.reverse(context.map().center(), function(err, result) { - if (err || !result || !result.address) return; - - var parts = []; - var addr = result.address; - var city = addr && (addr.town || addr.city || addr.county); - if (city) parts.push(city); - var region = addr && (addr.state || addr.country); - if (region) parts.push(region); - - _location = parts.join(', '); - }); - } - - - mode.enter = function() { - function done() { - context.ui().sidebar.show(commit); - } - - keybindingOn(); - - context.container().selectAll('#content') - .attr('class', 'inactive'); - - var osm = context.connection(); - if (!osm) { - cancel(); - return; - } - - if (osm.authenticated()) { - done(); - } else { - osm.authenticate(function(err) { - if (err) { - cancel(); - } else { - done(); - } - }); - } - }; - - - mode.exit = function() { - _isSaving = false; - - keybindingOff(); - - context.container().selectAll('#content') - .attr('class', 'active'); - - context.ui().sidebar.hide(); - }; - - return mode; - } - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeMin$1 = Math.min; - - /** - * 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$1(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; - } - - /** - * 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 : []; - } - - /** - * Creates an array of unique values that are included in all given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by 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 intersecting values. - * @example - * - * _.intersection([2, 1], [2, 3]); - * // => [2] - */ - var intersection = baseRest(function(arrays) { - var mapped = arrayMap(arrays, castArrayLikeObject); - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped) - : []; - }); - - // Translate a MacOS key command into the appropriate Windows/Linux equivalent. - // For example, ⌘Z -> Ctrl+Z - var uiCmd = function (code) { - var detected = utilDetect(); - - if (detected.os === 'mac') { - return code; - } - - if (detected.os === 'win') { - if (code === '⌘⇧Z') return 'Ctrl+Y'; - } - - var result = '', - replacements = { - '⌘': 'Ctrl', - '⇧': 'Shift', - '⌥': 'Alt', - '⌫': 'Backspace', - '⌦': 'Delete' - }; - - for (var i = 0; i < code.length; i++) { - if (code[i] in replacements) { - result += replacements[code[i]] + (i < code.length - 1 ? '+' : ''); - } else { - result += code[i]; - } - } - - return result; - }; - - - // return a display-focused string for a given keyboard code - uiCmd.display = function(code) { - if (code.length !== 1) return code; - - var detected = utilDetect(); - var mac = (detected.os === 'mac'); - var replacements = { - '⌘': mac ? '⌘ ' + t('shortcuts.key.cmd') : t('shortcuts.key.ctrl'), - '⇧': mac ? '⇧ ' + t('shortcuts.key.shift') : t('shortcuts.key.shift'), - '⌥': mac ? '⌥ ' + t('shortcuts.key.option') : t('shortcuts.key.alt'), - '⌃': mac ? '⌃ ' + t('shortcuts.key.ctrl') : t('shortcuts.key.ctrl'), - '⌫': mac ? '⌫ ' + t('shortcuts.key.delete') : t('shortcuts.key.backspace'), - '⌦': mac ? '⌦ ' + t('shortcuts.key.del') : t('shortcuts.key.del'), - '↖': mac ? '↖ ' + t('shortcuts.key.pgup') : t('shortcuts.key.pgup'), - '↘': mac ? '↘ ' + t('shortcuts.key.pgdn') : t('shortcuts.key.pgdn'), - '⇞': mac ? '⇞ ' + t('shortcuts.key.home') : t('shortcuts.key.home'), - '⇟': mac ? '⇟ ' + t('shortcuts.key.end') : t('shortcuts.key.end'), - '↵': mac ? '↵ ' + t('shortcuts.key.return') : t('shortcuts.key.enter'), - '⎋': mac ? '⎋ ' + t('shortcuts.key.esc') : t('shortcuts.key.esc'), - }; - - return replacements[code] || code; - }; - - var relatedParent; - - - function modeSelect(context, selectedIDs) { - var mode = { - id: 'select', - button: 'browse' - }; - - var keybinding = d3keybinding('select'); - var timeout = null; - var behaviors = [ - behaviorCopy(context), - behaviorPaste(context), - behaviorBreathe(context), - behaviorHover(context), - behaviorSelect(context), - behaviorLasso(context), - modeDragNode$$1(context).restoreSelectedIDs(selectedIDs).behavior - ]; - var inspector; - var editMenu; - var newFeature = false; - var suppressMenu = true; - var follow = false; - - - var wrap = context.container() - .select('.inspector-wrap'); - - - function singular() { - if (selectedIDs.length === 1) { - return context.hasEntity(selectedIDs[0]); - } - } - - - function checkSelectedIDs() { - var ids = []; - if (Array.isArray(selectedIDs)) { - ids = selectedIDs.filter(function(id) { - return context.hasEntity(id); - }); - } - - if (ids.length) { - selectedIDs = ids; - } else { - context.enter(modeBrowse(context)); - } - return !!ids.length; - } - - - // find the common parent ways for nextVertex, previousVertex - function commonParents() { - var graph = context.graph(); - var commonParents = []; - - for (var i = 0; i < selectedIDs.length; i++) { - var entity = context.hasEntity(selectedIDs[i]); - if (!entity || entity.geometry(graph) !== 'vertex') { - return []; // selection includes some not vertexes - } - - var currParents = map$3(graph.parentWays(entity), 'id'); - if (!commonParents.length) { - commonParents = currParents; - continue; - } - - commonParents = intersection(commonParents, currParents); - if (!commonParents.length) { - return []; - } - } - - return commonParents; - } - - - function singularParent() { - var parents = commonParents(); - if (!parents || parents.length === 0) { - relatedParent = null; - return null; - } - - // relatedParent is used when we visit a vertex with multiple - // parents, and we want to remember which parent line we started on. - - if (parents.length === 1) { - relatedParent = parents[0]; // remember this parent for later - return relatedParent; - } - - if (parents.indexOf(relatedParent) !== -1) { - return relatedParent; // prefer the previously seen parent - } - - return parents[0]; - } - - - function closeMenu() { - if (editMenu) { - context.surface().call(editMenu.close); - } - } - - - function positionMenu() { - if (!editMenu) { return; } - - var entity = singular(); - if (entity && context.geometry(entity.id) === 'relation') { - suppressMenu = true; - } else { - var point$$1 = context.mouse(); - var viewport = geoExtent$$1(context.projection.clipExtent()).polygon(); - - if (point$$1 && geoPointInPolygon(point$$1, viewport)) { - editMenu.center(point$$1); - } else { - suppressMenu = true; - } - } - } - - - function showMenu() { - closeMenu(); - if (editMenu) { - context.surface().call(editMenu); - } - } - - - function toggleMenu() { - // deprecation warning - Radial Menu to be removed in iD v3 - if (select('.edit-menu, .radial-menu').empty()) { - positionMenu(); - showMenu(); - } else { - closeMenu(); - } - } - - - mode.selectedIDs = function() { - return selectedIDs; - }; - - - mode.reselect = function() { - if (!checkSelectedIDs()) return; - - var surfaceNode = context.surface().node(); - if (surfaceNode.focus) { // FF doesn't support it - surfaceNode.focus(); - } - - positionMenu(); - if (!suppressMenu) { - showMenu(); - } - }; - - - mode.newFeature = function(_) { - if (!arguments.length) return newFeature; - newFeature = _; - return mode; - }; - - - mode.suppressMenu = function(_) { - if (!arguments.length) return suppressMenu; - suppressMenu = _; - return mode; - }; - - - mode.follow = function(_) { - if (!arguments.length) return follow; - follow = _; - return mode; - }; - - - mode.enter = function() { - - function update() { - closeMenu(); - checkSelectedIDs(); - } - - - function dblclick() { - var target = select(event.target); - - var datum = target.datum(); - var entity = datum && datum.properties && datum.properties.entity; - if (!entity) return; - - if (entity instanceof osmWay && target.classed('target')) { - var choice = geoChooseEdge(context.childNodes(entity), context.mouse(), context.projection); - var prev = entity.nodes[choice.index - 1]; - var next = entity.nodes[choice.index]; - - context.perform( - actionAddMidpoint({loc: choice.loc, edge: [prev, next]}, osmNode()), - t('operations.add.annotation.vertex') - ); - - event.preventDefault(); - event.stopPropagation(); - - } else if (entity.type === 'midpoint') { - context.perform( - actionAddMidpoint({loc: entity.loc, edge: entity.edge}, osmNode()), - t('operations.add.annotation.vertex')); - - event.preventDefault(); - event.stopPropagation(); - } - } - - - function selectElements(drawn) { - if (!checkSelectedIDs()) return; - - var surface = context.surface(); - var entity = singular(); - - if (entity && context.geometry(entity.id) === 'relation') { - suppressMenu = true; - return; - } - - surface.selectAll('.related') - .classed('related', false); - - singularParent(); - if (relatedParent) { - surface.selectAll(utilEntitySelector([relatedParent])) - .classed('related', true); - } - - var selection$$1 = context.surface() - .selectAll(utilEntityOrMemberSelector(selectedIDs, context.graph())); - - if (selection$$1.empty()) { - // Return to browse mode if selected DOM elements have - // disappeared because the user moved them out of view.. - var source = event && event.type === 'zoom' && event.sourceEvent; - if (drawn && source && (source.type === 'mousemove' || source.type === 'touchmove')) { - context.enter(modeBrowse(context)); - } - } else { - selection$$1 - .classed('selected', true); - } - } - - - function esc() { - context.enter(modeBrowse(context)); - } - - - function firstVertex() { - event.preventDefault(); - var entity = singular(); - var parent = singularParent(); - var way; - - if (entity && entity.type === 'way') { - way = entity; - } else if (parent) { - way = context.entity(parent); - } - - if (way) { - context.enter( - modeSelect(context, [way.first()]).follow(true) - ); - } - } - - - function lastVertex() { - event.preventDefault(); - var entity = singular(); - var parent = singularParent(); - var way; - - if (entity && entity.type === 'way') { - way = entity; - } else if (parent) { - way = context.entity(parent); - } - - if (way) { - context.enter( - modeSelect(context, [way.last()]).follow(true) - ); - } - } - - - function previousVertex() { - event.preventDefault(); - var parent = singularParent(); - if (!parent) return; - - var way = context.entity(parent); - var length = way.nodes.length; - var curr = way.nodes.indexOf(selectedIDs[0]); - var index = -1; - - if (curr > 0) { - index = curr - 1; - } else if (way.isClosed()) { - index = length - 2; - } - - if (index !== -1) { - context.enter( - modeSelect(context, [way.nodes[index]]).follow(true) - ); - } - } - - - function nextVertex() { - event.preventDefault(); - var parent = singularParent(); - if (!parent) return; - - var way = context.entity(parent); - var length = way.nodes.length; - var curr = way.nodes.indexOf(selectedIDs[0]); - var index = -1; - - if (curr < length - 1) { - index = curr + 1; - } else if (way.isClosed()) { - index = 0; - } - - if (index !== -1) { - context.enter( - modeSelect(context, [way.nodes[index]]).follow(true) - ); - } - } - - - function nextParent() { - event.preventDefault(); - var parents = uniq(commonParents()); - if (!parents || parents.length < 2) return; - - var index = parents.indexOf(relatedParent); - if (index < 0 || index > parents.length - 2) { - relatedParent = parents[0]; - } else { - relatedParent = parents[index + 1]; - } - - var surface = context.surface(); - surface.selectAll('.related') - .classed('related', false); - - if (relatedParent) { - surface.selectAll(utilEntitySelector([relatedParent])) - .classed('related', true); - } - } - - - if (!checkSelectedIDs()) return; - - var operations = without(values$1(Operations), operationDelete) - .map(function(o) { return o(selectedIDs, context); }) - .filter(function(o) { return o.available(); }); - - // deprecation warning - Radial Menu to be removed in iD v3 - var isRadialMenu = context.storage('edit-menu-style') === 'radial'; - if (isRadialMenu) { - operations = operations.slice(0,7); - operations.unshift(operationDelete(selectedIDs, context)); - } else { - operations.push(operationDelete(selectedIDs, context)); - } - - operations.forEach(function(operation) { - if (operation.behavior) { - behaviors.push(operation.behavior); - } - }); - - behaviors.forEach(function(behavior) { - context.install(behavior); - }); - - keybinding - .on(['[', 'pgup'], previousVertex) - .on([']', 'pgdown'], nextVertex) - .on(['{', uiCmd('⌘['), 'home'], firstVertex) - .on(['}', uiCmd('⌘]'), 'end'], lastVertex) - .on(['\\', 'pause'], nextParent) - .on('⎋', esc, true) - .on('space', toggleMenu); - - select(document) - .call(keybinding); - - - // deprecation warning - Radial Menu to be removed in iD v3 - editMenu = isRadialMenu - ? uiRadialMenu(context, operations) - : uiEditMenu(context, operations); - - context.ui().sidebar - .select(singular() ? singular().id : null, newFeature); - - context.history() - .on('undone.select', update) - .on('redone.select', update); - - context.map() - .on('move.select', closeMenu) - .on('drawn.select', selectElements); - - context.surface() - .on('dblclick.select', dblclick); - - - selectElements(); - - if (selectedIDs.length > 1) { - var entities = uiSelectionList(context, selectedIDs); - context.ui().sidebar.show(entities); - } - - if (follow) { - var extent = geoExtent$$1(); - var graph = context.graph(); - selectedIDs.forEach(function(id) { - var entity = context.entity(id); - extent._extend(entity.extent(graph)); - }); - - var loc = extent.center(); - context.map().centerEase(loc); - } else if (singular() && singular().type === 'way') { - context.map().pan([0,0]); // full redraw, to adjust z-sorting #2914 - } - - timeout = window.setTimeout(function() { - positionMenu(); - if (!suppressMenu) { - showMenu(); - } - }, 270); /* after any centerEase completes */ - - }; - - - mode.exit = function() { - if (timeout) window.clearTimeout(timeout); - if (inspector) wrap.call(inspector.close); - - behaviors.forEach(function(behavior) { - context.uninstall(behavior); - }); - - keybinding.off(); - closeMenu(); - editMenu = undefined; - - context.history() - .on('undone.select', null) - .on('redone.select', null); - - var surface = context.surface(); - - surface - .on('dblclick.select', null); - - surface - .selectAll('.selected') - .classed('selected', false); - - surface - .selectAll('.related') - .classed('related', false); - - context.map().on('drawn.select', null); - context.ui().sidebar.hide(); - }; - - - return mode; - } - - function behaviorAddWay(context) { - var dispatch$$1 = dispatch('start', 'startFromWay', 'startFromNode'), - draw = behaviorDraw(context); - - var addWay = function(surface) { - draw.on('click', function() { dispatch$$1.apply('start', this, arguments); }) - .on('clickWay', function() { dispatch$$1.apply('startFromWay', this, arguments); }) - .on('clickNode', function() { dispatch$$1.apply('startFromNode', this, arguments); }) - .on('cancel', addWay.cancel) - .on('finish', addWay.cancel); - - context.map() - .dblclickEnable(false); - - surface.call(draw); - }; - - - addWay.off = function(surface) { - surface.call(draw.off); - }; - - - addWay.cancel = function() { - window.setTimeout(function() { - context.map().dblclickEnable(true); - }, 1000); - - context.enter(modeBrowse(context)); - }; - - - addWay.tail = function(text) { - draw.tail(text); - return addWay; - }; - - - return utilRebind(addWay, dispatch$$1, 'on'); - } - - function behaviorBreathe() { - var duration = 800, - steps = 4, - selector$$1 = '.selected.shadow, .selected .shadow', - selected = select(null), - classed = '', - params = {}, - done = false, - timer$$1; - - - function ratchetyInterpolator(a, b, steps, units) { - a = parseFloat(a); - b = parseFloat(b); - var sample = quantize() - .domain([0, 1]) - .range(d3_quantize(interpolateNumber(a, b), steps)); - - return function(t) { - return String(sample(t)) + (units || ''); - }; - } - - - function reset(selection$$1) { - selection$$1 - .style('stroke-opacity', null) - .style('stroke-width', null) - .style('fill-opacity', null) - .style('r', null); - } - - - function setAnimationParams(transition, fromTo) { - var toFrom = (fromTo === 'from' ? 'to' : 'from'); - - transition - .styleTween('stroke-opacity', function(d) { - return ratchetyInterpolator( - params[d.id][toFrom].opacity, - params[d.id][fromTo].opacity, - steps - ); - }) - .styleTween('stroke-width', function(d) { - return ratchetyInterpolator( - params[d.id][toFrom].width, - params[d.id][fromTo].width, - steps, - 'px' - ); - }) - .styleTween('fill-opacity', function(d) { - return ratchetyInterpolator( - params[d.id][toFrom].opacity, - params[d.id][fromTo].opacity, - steps - ); - }) - .styleTween('r', function(d) { - return ratchetyInterpolator( - params[d.id][toFrom].width, - params[d.id][fromTo].width, - steps, - 'px' - ); - }); - } - - - function calcAnimationParams(selection$$1) { - selection$$1 - .call(reset) - .each(function(d) { - var s = select(this), - tag = s.node().tagName, - p = {'from': {}, 'to': {}}, - opacity, width; - - // determine base opacity and width - if (tag === 'circle') { - opacity = parseFloat(s.style('fill-opacity') || 0.5); - width = parseFloat(s.style('r') || 15.5); - } else { - opacity = parseFloat(s.style('stroke-opacity') || 0.7); - width = parseFloat(s.style('stroke-width') || 10); - } - - // calculate from/to interpolation params.. - p.tag = tag; - p.from.opacity = opacity * 0.6; - p.to.opacity = opacity * 1.25; - p.from.width = width * 0.7; - p.to.width = width * (tag === 'circle' ? 1.5 : 1); - params[d.id] = p; - }); - } - - - function run(surface, fromTo) { - var toFrom = (fromTo === 'from' ? 'to' : 'from'), - currSelected = surface.selectAll(selector$$1), - currClassed = surface.attr('class'); - - if (done || currSelected.empty()) { - selected.call(reset); - return; - } - - if (!isEqual(currSelected.data(), selected.data()) || currClassed !== classed) { - selected.call(reset); - classed = currClassed; - selected = currSelected.call(calcAnimationParams); - } - - selected - .transition() - .duration(duration) - .call(setAnimationParams, fromTo) - .on('end', function() { - surface.call(run, toFrom); - }); - } - - - var breathe = function(surface) { - done = false; - timer$$1 = timer(function() { - // wait for elements to actually become selected - if (surface.selectAll(selector$$1).empty()) { - return false; - } - - surface.call(run, 'from'); - timer$$1.stop(); - return true; - }, 20); - }; - - - breathe.off = function() { - done = true; - if (timer$$1) { - timer$$1.stop(); - } - selected - .interrupt() - .call(reset); - }; - - - return breathe; - } - - function behaviorCopy(context) { - var keybinding = d3keybinding('copy'); - - - function groupEntities(ids, graph) { - var entities = ids.map(function (id) { return graph.entity(id); }); - return assignIn({relation: [], way: [], node: []}, - groupBy(entities, function(entity) { return entity.type; })); - } - - - function getDescendants(id, graph, descendants) { - var entity = graph.entity(id), - i, children; - - descendants = descendants || {}; - - if (entity.type === 'relation') { - children = map$3(entity.members, 'id'); - } else if (entity.type === 'way') { - children = entity.nodes; - } else { - children = []; - } - - for (i = 0; i < children.length; i++) { - if (!descendants[children[i]]) { - descendants[children[i]] = true; - descendants = getDescendants(children[i], graph, descendants); - } - } - - return descendants; - } - - - function doCopy() { - if (!getSelectionText()) event.preventDefault(); - - var graph = context.graph(), - selected = groupEntities(context.selectedIDs(), graph), - canCopy = [], - skip = {}, - i, entity; - - for (i = 0; i < selected.relation.length; i++) { - entity = selected.relation[i]; - if (!skip[entity.id] && entity.isComplete(graph)) { - canCopy.push(entity.id); - skip = getDescendants(entity.id, graph, skip); - } - } - for (i = 0; i < selected.way.length; i++) { - entity = selected.way[i]; - if (!skip[entity.id]) { - canCopy.push(entity.id); - skip = getDescendants(entity.id, graph, skip); - } - } - for (i = 0; i < selected.node.length; i++) { - entity = selected.node[i]; - if (!skip[entity.id]) { - canCopy.push(entity.id); - } - } - - context.copyIDs(canCopy); - } - - - function copy() { - keybinding.on(uiCmd('⌘C'), doCopy); - select(document).call(keybinding); - return copy; - } - - function getSelectionText() { - return window.getSelection().toString(); - } - - copy.off = function() { - select(document).call(keybinding.off); - }; - - - return copy; - } - - /* - `behaviorDrag` is like `d3_behavior.drag`, with the following differences: - - * The `origin` function is expected to return an [x, y] tuple rather than an - {x, y} object. - * The events are `start`, `move`, and `end`. - (https://github.com/mbostock/d3/issues/563) - * The `start` event is not dispatched until the first cursor movement occurs. - (https://github.com/mbostock/d3/pull/368) - * The `move` event has a `point` and `delta` [x, y] tuple properties rather - than `x`, `y`, `dx`, and `dy` properties. - * The `end` event is not dispatched if no movement occurs. - * An `off` function is available that unbinds the drag's internal event handlers. - */ - - function behaviorDrag() { - var dispatch$$1 = dispatch('start', 'move', 'end'); - var _origin = null; - var _selector = ''; - var _event; - var _target; - var _surface; - - - var d3_event_userSelectProperty = utilPrefixCSSProperty('UserSelect'); - var d3_event_userSelectSuppress = function() { - var selection$$1 = selection(); - var select$$1 = selection$$1.style(d3_event_userSelectProperty); - selection$$1.style(d3_event_userSelectProperty, 'none'); - return function() { - selection$$1.style(d3_event_userSelectProperty, select$$1); - }; - }; - - - function d3_eventCancel() { - event.stopPropagation(); - event.preventDefault(); - } - - - function eventOf(thiz, argumentz) { - return function(e1) { - e1.target = drag; - customEvent(e1, dispatch$$1.apply, dispatch$$1, [e1.type, thiz, argumentz]); - }; - } - - - function dragstart() { - _target = this; - _event = eventOf(_target, arguments); - - var eventTarget = event.target; - var touchId = event.touches ? event.changedTouches[0].identifier : null; - var offset; - var startOrigin = point$$1(); - var started = false; - var selectEnable = d3_event_userSelectSuppress(touchId !== null ? 'drag-' + touchId : 'drag'); - - select(window) - .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', dragmove) - .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', dragend, true); - - if (_origin) { - offset = _origin.apply(_target, arguments); - offset = [offset[0] - startOrigin[0], offset[1] - startOrigin[1]]; - } else { - offset = [0, 0]; - } - - if (touchId === null) { - event.stopPropagation(); - } - - - function point$$1() { - var p = _surface || _target.parentNode; - return touchId !== null ? d3_touches(p).filter(function(p) { - return p.identifier === touchId; - })[0] : mouse(p); - } - - - function dragmove() { - var p = point$$1(); - var dx = p[0] - startOrigin[0]; - var dy = p[1] - startOrigin[1]; - - if (dx === 0 && dy === 0) - return; - - startOrigin = p; - d3_eventCancel(); - - if (!started) { - started = true; - _event({ type: 'start' }); - } else { - _event({ - type: 'move', - point: [p[0] + offset[0], p[1] + offset[1]], - delta: [dx, dy] - }); - } - } - - - function dragend() { - if (started) { - _event({ type: 'end' }); - - d3_eventCancel(); - if (event.target === eventTarget) { - select(window) - .on('click.drag', click, true); - } - } - - select(window) - .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', null) - .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', null); - - selectEnable(); - } - - - function click() { - d3_eventCancel(); - select(window) - .on('click.drag', null); - } - } - - - function drag(selection$$1) { - var matchesSelector = utilPrefixDOMProperty('matchesSelector'); - var delegate = dragstart; - - if (_selector) { - delegate = function() { - var root = this; - var target = event.target; - for (; target && target !== root; target = target.parentNode) { - var datum = target.__data__; - var entity = datum && datum.properties && datum.properties.entity; - if (entity && target[matchesSelector](_selector)) { - return dragstart.call(target, entity); - } - } - }; - } - - selection$$1 - .on('mousedown.drag' + _selector, delegate) - .on('touchstart.drag' + _selector, delegate); - } - - - drag.off = function(selection$$1) { - selection$$1 - .on('mousedown.drag' + _selector, null) - .on('touchstart.drag' + _selector, null); - }; - - - drag.selector = function(_) { - if (!arguments.length) return _selector; - _selector = _; - return drag; - }; - - - drag.origin = function (_) { - if (!arguments.length) return _origin; - _origin = _; - return drag; - }; - - - drag.cancel = function() { - select(window) - .on('mousemove.drag', null) - .on('mouseup.drag', null); - return drag; - }; - - - drag.target = function() { - if (!arguments.length) return _target; - _target = arguments[0]; - _event = eventOf(_target, Array.prototype.slice.call(arguments, 1)); - return drag; - }; - - - drag.surface = function() { - if (!arguments.length) return _surface; - _surface = arguments[0]; - return drag; - }; - - - return utilRebind(drag, dispatch$$1, 'on'); - } - - function behaviorDrawWay(context, wayId, index, mode, startGraph) { - var origWay = context.entity(wayId); - var annotation = t((origWay.isDegenerate() ? - 'operations.start.annotation.' : - 'operations.continue.annotation.') + context.geometry(wayId) - ); - var behavior = behaviorDraw(context); - var _tempEdits = 0; - - var end = osmNode({ loc: context.map().mouseCoordinates() }); - - // Push an annotated state for undo to return back to. - // We must make sure to remove this edit later. - context.perform(actionNoop(), annotation); - _tempEdits++; - - // Add the drawing node to the graph. - // We must make sure to remove this edit later. - context.perform(_actionAddDrawNode()); - _tempEdits++; - - - - function keydown() { - if (event.keyCode === d3keybinding.modifierCodes.alt) { - if (context.surface().classed('nope')) { - context.surface() - .classed('nope-suppressed', true); - } - context.surface() - .classed('nope', false) - .classed('nope-disabled', true); - } - } - - - function keyup() { - if (event.keyCode === d3keybinding.modifierCodes.alt) { - if (context.surface().classed('nope-suppressed')) { - context.surface() - .classed('nope', true); - } - context.surface() - .classed('nope-suppressed', false) - .classed('nope-disabled', false); - } - } - - - // related code - // - `mode/drag_node.js` `doMode()` - // - `behavior/draw.js` `click()` - // - `behavior/draw_way.js` `move()` - function move(datum) { - context.surface().classed('nope-disabled', event.altKey); - - var targetLoc = datum && datum.properties && datum.properties.entity && datum.properties.entity.loc; - var targetNodes = datum && datum.properties && datum.properties.nodes; - var loc = context.map().mouseCoordinates(); - - if (targetLoc) { // snap to node/vertex - a point target with `.loc` - loc = targetLoc; - - } else if (targetNodes) { // snap to way - a line target with `.nodes` - var choice = geoChooseEdge(targetNodes, context.mouse(), context.projection, end.id); - if (choice) { - loc = choice.loc; - } - } - - context.replace(actionMoveNode(end.id, loc)); - end = context.entity(end.id); - checkGeometry(false); - } - - - // Check whether this edit causes the geometry to break. - // If so, class the surface with a nope cursor. - // `finishDraw` - Only checks the relevant line segments if finishing drawing - function checkGeometry(finishDraw) { - var nopeDisabled = context.surface().classed('nope-disabled'); - var isInvalid = isInvalidGeometry(end, context.graph(), finishDraw); - - if (nopeDisabled) { - context.surface() - .classed('nope', false) - .classed('nope-suppressed', isInvalid); - } else { - context.surface() - .classed('nope', isInvalid) - .classed('nope-suppressed', false); - } - } - - - function isInvalidGeometry(entity, graph, finishDraw) { - var parents = graph.parentWays(entity); - - for (var i = 0; i < parents.length; i++) { - var parent = parents[i]; - var nodes = parent.nodes.map(function(nodeID) { return graph.entity(nodeID); }); - - if (origWay.isClosed()) { // Check if Area - if (finishDraw) { - nodes.splice(-2, 1); - entity = nodes[nodes.length-2]; - } else { - nodes.pop(); - } - } else { // Line - if (finishDraw) { - nodes.pop(); - } - } - - if (geoHasSelfIntersections(nodes, entity.id)) { - return true; - } - } - - return false; - } - - - function undone() { - // Undo popped the history back to the initial annotated no-op edit. - // Remove initial no-op edit and whatever edit happened immediately before it. - context.pop(2); - _tempEdits = 0; - - if (context.hasEntity(wayId)) { - context.enter(mode); - } else { - context.enter(modeBrowse(context)); - } - } - - - function setActiveElements() { - context.surface().selectAll('.' + end.id) - .classed('active', true); - } - - - var drawWay = function(surface) { - behavior - .on('move', move) - .on('click', drawWay.add) - .on('clickWay', drawWay.addWay) - .on('clickNode', drawWay.addNode) - .on('undo', context.undo) - .on('cancel', drawWay.cancel) - .on('finish', drawWay.finish); - - select(window) - .on('keydown.drawWay', keydown) - .on('keyup.drawWay', keyup); - - context.map() - .dblclickEnable(false) - .on('drawn.draw', setActiveElements); - - setActiveElements(); - - surface.call(behavior); - - context.history() - .on('undone.draw', undone); - }; - - - drawWay.off = function(surface) { - // Drawing was interrupted unexpectedly. - // This can happen if the user changes modes, - // clicks geolocate button, a hashchange event occurs, etc. - if (_tempEdits) { - context.pop(_tempEdits); - while (context.graph() !== startGraph) { - context.pop(); - } - } - - context.map() - .on('drawn.draw', null); - - surface.call(behavior.off) - .selectAll('.active') - .classed('active', false); - - surface - .classed('nope', false) - .classed('nope-suppressed', false) - .classed('nope-disabled', false); - - select(window) - .on('keydown.hover', null) - .on('keyup.hover', null); - - context.history() - .on('undone.draw', null); - }; - - - function _actionAddDrawNode() { - return function(graph) { - return graph - .replace(end) - .replace(origWay.addNode(end.id, index)); - }; - } - - - function _actionReplaceDrawNode(newNode) { - return function(graph) { - return graph - .replace(origWay.addNode(newNode.id, index)) - .remove(end); - }; - } - - - // Accept the current position of the drawing node and continue drawing. - drawWay.add = function(loc, d) { - if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) { - return; // can't click here - } - - context.pop(_tempEdits); - _tempEdits = 0; - - context.perform( - _actionAddDrawNode(), - annotation - ); - - checkGeometry(false); // finishDraw = false - context.enter(mode); - }; - - - // Connect the way to an existing way. - drawWay.addWay = function(loc, edge, d) { - if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) { - return; // can't click here - } - - context.pop(_tempEdits); - _tempEdits = 0; - - context.perform( - _actionAddDrawNode(), - actionAddMidpoint({ loc: loc, edge: edge }, end), - annotation - ); - - checkGeometry(false); // finishDraw = false - context.enter(mode); - }; - - - // Connect the way to an existing node and continue drawing. - drawWay.addNode = function(node, d) { - if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) { - return; // can't click here - } - - context.pop(_tempEdits); - _tempEdits = 0; - - context.perform( - _actionReplaceDrawNode(node), - annotation - ); - - checkGeometry(false); // finishDraw = false - context.enter(mode); - }; - - - // Finish the draw operation, removing the temporary edits. - // If the way has enough nodes to be valid, it's selected. - // Otherwise, delete everything and return to browse mode. - drawWay.finish = function() { - checkGeometry(true); // finishDraw = true - if (context.surface().classed('nope')) { - return; // can't click here - } - - context.pop(_tempEdits); - _tempEdits = 0; - - var way = context.hasEntity(wayId); - if (!way || way.isDegenerate()) { - drawWay.cancel(); - return; - } - - window.setTimeout(function() { - context.map().dblclickEnable(true); - }, 1000); - - context.enter(modeSelect(context, [wayId]).newFeature(true)); - }; - - - // Cancel the draw operation, delete everything, and return to browse mode. - drawWay.cancel = function() { - context.pop(_tempEdits); - _tempEdits = 0; - - while (context.graph() !== startGraph) { - context.pop(); - } - - window.setTimeout(function() { - context.map().dblclickEnable(true); - }, 1000); - - context.surface() - .classed('nope', false) - .classed('nope-disabled', false) - .classed('nope-suppressed', false); - - context.enter(modeBrowse(context)); - }; - - - drawWay.activeID = function() { - if (!arguments.length) return end.id; - // no assign - return drawWay; - }; - - - drawWay.tail = function(text) { - behavior.tail(text); - return drawWay; - }; - - - return drawWay; - } - - /** Error message constants. */ - var FUNC_ERROR_TEXT$3 = 'Expected a function'; - - /** - * 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 `func` invocations and a `flush` method to - * immediately invoke them. Provide `options` 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. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * 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. - * @returns {Function} Returns the new throttled function. - * @example - * - * // 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. - * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); - * jQuery(element).on('click', throttled); - * - * // Cancel the trailing throttled invocation. - * jQuery(window).on('popstate', throttled.cancel); - */ - function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT$3); - } - if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - 'leading': leading, - 'maxWait': wait, - 'trailing': trailing - }); - } - - function behaviorHash(context) { - var s0 = null; // cached window.location.hash - var lat = 90 - 1e-8; // allowable latitude range - - - var parser = function(map, s) { - var q = utilStringQs(s); - var args = (q.map || '').split('/').map(Number); - - if (args.length < 3 || args.some(isNaN)) { - return true; // replace bogus hash - - } else if (s !== formatter(map).slice(1)) { // hash has changed - var mode = context.mode(), - dist = geoSphericalDistance(map.center(), [args[2], args[1]]), - maxdist = 500; - - // Don't allow the hash location to change too much while drawing - // This can happen if the user accidently hit the back button. #3996 - if (mode && mode.id.match(/^draw/) !== null && dist > maxdist) { - context.enter(modeBrowse(context)); - } - - map.centerZoom([args[2], Math.min(lat, Math.max(-lat, args[1]))], args[0]); - } - }; - - - var formatter = function(map) { - var center = map.center(); - var zoom = map.zoom(); - var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)); - var q = omit(utilStringQs(window.location.hash.substring(1)), - ['comment', 'source', 'hashtags', 'walkthrough'] - ); - var newParams = {}; - - delete q.id; - var selected = context.selectedIDs().filter(function(id) { - return !context.entity(id).isNew(); - }); - if (selected.length) { - newParams.id = selected.join(','); - } - - newParams.map = zoom.toFixed(2) + - '/' + center[1].toFixed(precision) + - '/' + center[0].toFixed(precision); - - return '#' + utilQsString(assign(q, newParams), true); - }; - - - function update() { - if (context.inIntro()) return; - var s1 = formatter(context.map()); - if (s0 !== s1) { - window.location.replace(s0 = s1); // don't recenter the map! - } - } - - - var throttledUpdate = throttle(update, 500); - - - function hashchange() { - if (window.location.hash === s0) return; // ignore spurious hashchange events - if (parser(context.map(), (s0 = window.location.hash).substring(1))) { - update(); // replace bogus hash - } - } - - - function hash() { - context.map() - .on('move.hash', throttledUpdate); - - context - .on('enter.hash', throttledUpdate); - - select(window) - .on('hashchange.hash', hashchange); - - if (window.location.hash) { - - var q = utilStringQs(window.location.hash.substring(1)); - - if (q.id) { - context.zoomToEntity(q.id.split(',')[0], !q.map); - } - - if (q.comment) { - context.storage('comment', q.comment); - context.storage('commentDate', Date.now()); - } - - if (q.source) { - context.storage('source', q.source); - context.storage('commentDate', Date.now()); - } - - if (q.hashtags) { - context.storage('hashtags', q.hashtags); - } - - if (q.walkthrough === 'true') { - hash.startWalkthrough = true; - } - - hashchange(); - - if (q.map) { - hash.hadHash = true; - } - } - } - - - hash.off = function() { - throttledUpdate.cancel(); - - context.map() - .on('move.hash', null); - - context - .on('enter.hash', null); - - select(window) - .on('hashchange.hash', null); - - window.location.hash = ''; - }; - - - return hash; - } - - function behaviorLasso(context) { - - var behavior = function(selection$$1) { - var lasso; - - - function mousedown() { - var button = 0; // left - if (event.button === button && event.shiftKey === true) { - lasso = null; - - select(window) - .on('mousemove.lasso', mousemove) - .on('mouseup.lasso', mouseup); - - event.stopPropagation(); - } - } - - - function mousemove() { - if (!lasso) { - lasso = uiLasso(context); - context.surface().call(lasso); - } - - lasso.p(context.mouse()); - } - - - function normalize(a, b) { - return [ - [Math.min(a[0], b[0]), Math.min(a[1], b[1])], - [Math.max(a[0], b[0]), Math.max(a[1], b[1])]]; - } - - - function lassoed() { - if (!lasso) return []; - - var graph = context.graph(), - bounds = lasso.extent().map(context.projection.invert), - extent = geoExtent$$1(normalize(bounds[0], bounds[1])); - - return map$3(context.intersects(extent).filter(function(entity) { - return entity.type === 'node' && - geoPointInPolygon(context.projection(entity.loc), lasso.coordinates) && - !context.features().isHidden(entity, graph, entity.geometry(graph)); - }), 'id'); - } - - - function mouseup() { - select(window) - .on('mousemove.lasso', null) - .on('mouseup.lasso', null); - - if (!lasso) return; - - var ids = lassoed(); - lasso.close(); - - if (ids.length) { - context.enter(modeSelect(context, ids)); - } - } - - selection$$1 - .on('mousedown.lasso', mousedown); - }; - - - behavior.off = function(selection$$1) { - selection$$1.on('mousedown.lasso', null); - }; - - - return behavior; - } - - /* Creates a keybinding behavior for an operation */ - function behaviorOperation() { - var _operation, keybinding; - - var behavior = function () { - if (_operation && _operation.available()) { - keybinding = d3keybinding('behavior.key.' + _operation.id); - keybinding.on(_operation.keys, function() { - event.preventDefault(); - var disabled = _operation.disabled(); - var flash; - - if (disabled) { - flash = uiFlash() - .duration(4000) - .iconName('#operation-' + _operation.id) - .iconClass('operation disabled') - .text(_operation.tooltip); - - flash(); - - } else { - flash = uiFlash() - .duration(2000) - .iconName('#operation-' + _operation.id) - .iconClass('operation') - .text(_operation.annotation() || _operation.title); - - flash(); - _operation(); - } - }); - - select(document).call(keybinding); - } - - return behavior; - }; - - - behavior.off = function() { - if (keybinding) { - select(document).call(keybinding.off); - } - }; - - - behavior.which = function (_) { - if (!arguments.length) return _operation; - _operation = _; - return behavior; - }; - - - return behavior; - } - - /** - * The base implementation of `_.invert` and `_.invertBy` which inverts - * `object` with values transformed by `iteratee` and set by `setter`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform values. - * @param {Object} accumulator The initial inverted object. - * @returns {Function} Returns `accumulator`. - */ - function baseInverter(object, setter, iteratee, accumulator) { - baseForOwn(object, function(value, key, object) { - setter(accumulator, iteratee(value), key, object); - }); - return accumulator; - } - - /** - * Creates a function like `_.invertBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} toIteratee The function to resolve iteratees. - * @returns {Function} Returns the new inverter function. - */ - function createInverter(setter, toIteratee) { - return function(object, iteratee) { - return baseInverter(object, setter, toIteratee(iteratee), {}); - }; - } - - /** Used for built-in method references. */ - var objectProto$19 = Object.prototype; - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString$2 = objectProto$19.toString; - - /** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite - * property assignments of previous values. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Object - * @param {Object} object The object to invert. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - */ - var invert = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString$2.call(value); - } - - result[value] = key; - }, constant$13(identity$8)); - - /** - * Creates an object with the same keys as `object` and values generated - * by running each own enumerable string keyed property of `object` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, key, object). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapKeys - * @example - * - * var users = { - * 'fred': { 'user': 'fred', 'age': 40 }, - * 'pebbles': { 'user': 'pebbles', 'age': 1 } - * }; - * - * _.mapValues(users, function(o) { return o.age; }); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - * - * // The `_.property` iteratee shorthand. - * _.mapValues(users, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - */ - function mapValues(object, iteratee) { - var result = {}; - iteratee = baseIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, key, iteratee(value, key, object)); - }); - return result; - } - - function behaviorPaste(context) { - var keybinding = d3keybinding('paste'); - - - function doPaste() { - event.preventDefault(); - - var baseGraph = context.graph(), - mouse$$1 = context.mouse(), - projection = context.projection, - viewport = geoExtent$$1(projection.clipExtent()).polygon(); - - if (!geoPointInPolygon(mouse$$1, viewport)) return; - - var extent = geoExtent$$1(), - oldIDs = context.copyIDs(), - oldGraph = context.copyGraph(), - newIDs = []; - - if (!oldIDs.length) return; - - var action = actionCopyEntities(oldIDs, oldGraph); - context.perform(action); - - var copies = action.copies(); - var originals = invert(mapValues(copies, 'id')); - for (var id in copies) { - var oldEntity = oldGraph.entity(id), - newEntity = copies[id]; - - extent._extend(oldEntity.extent(oldGraph)); - - // Exclude child nodes from newIDs if their parent way was also copied. - var parents = context.graph().parentWays(newEntity), - parentCopied = false; - for (var i = 0; i < parents.length; i++) { - if (originals[parents[i].id]) { - parentCopied = true; - break; - } - } - - if (!parentCopied) { - newIDs.push(newEntity.id); - } - } - - // Put pasted objects where mouse pointer is.. - var center = projection(extent.center()), - delta = [ mouse$$1[0] - center[0], mouse$$1[1] - center[1] ]; - - context.perform(actionMove(newIDs, delta, projection)); - context.enter(modeMove$$1(context, newIDs, baseGraph)); - } - - - function paste() { - keybinding.on(uiCmd('⌘V'), doPaste); - select(document).call(keybinding); - return paste; - } - - - paste.off = function() { - select(document).call(keybinding.off); - }; - - - return paste; - } - - function behaviorSelect(context) { - var lastMouse = null; - var suppressMenu = true; - var tolerance = 4; - var p1 = null; - - - function point$$1() { - return mouse(context.container().node()); - } - - - function keydown() { - var e = event; - if (e && e.shiftKey) { - context.surface() - .classed('behavior-multiselect', true); - } - - if (e && e.keyCode === 93) { // context menu - e.preventDefault(); - e.stopPropagation(); - } - } - - - function keyup() { - var e = event; - if (!e || !e.shiftKey) { - context.surface() - .classed('behavior-multiselect', false); - } - - - if (e && e.keyCode === 93) { // context menu - e.preventDefault(); - e.stopPropagation(); - contextmenu(); - } - } - - - function mousedown() { - if (!p1) p1 = point$$1(); - select(window) - .on('mouseup.select', mouseup, true); - - var isShowAlways = +context.storage('edit-menu-show-always') === 1; - suppressMenu = !isShowAlways; - } - - - function mousemove() { - if (event) lastMouse = event; - } - - - function mouseup() { - click(); - } - - - function contextmenu() { - var e = event; - e.preventDefault(); - e.stopPropagation(); - - if (!+e.clientX && !+e.clientY) { - if (lastMouse) { - e.sourceEvent = lastMouse; - } else { - return; - } - } - - if (!p1) p1 = point$$1(); - suppressMenu = false; - click(); - } - - - function click() { - select(window) - .on('mouseup.select', null, true); - - if (!p1) return; - var p2 = point$$1(); - var dist = geoVecLength(p1, p2); - - p1 = null; - if (dist > tolerance) { - return; - } - - var isMultiselect = event.shiftKey || select('#surface .lasso').node(); - var isShowAlways = +context.storage('edit-menu-show-always') === 1; - var datum = event.target.__data__ || (lastMouse && lastMouse.target.__data__); - var mode = context.mode(); - - var entity = datum && datum.properties && datum.properties.entity; - if (entity) datum = entity; - - if (datum && datum.type === 'midpoint') { - datum = datum.parents[0]; - } - - if (!(datum instanceof osmEntity$$1)) { - // clicked nothing.. - if (!isMultiselect && mode.id !== 'browse') { - context.enter(modeBrowse(context)); - } - - } else { - // clicked an entity.. - var selectedIDs = context.selectedIDs(); - - if (!isMultiselect) { - if (selectedIDs.length > 1 && (!suppressMenu && !isShowAlways)) { - // multiple things already selected, just show the menu... - mode.suppressMenu(false).reselect(); - } else { - // select a single thing.. - context.enter(modeSelect(context, [datum.id]).suppressMenu(suppressMenu)); - } - - } else { - if (selectedIDs.indexOf(datum.id) !== -1) { - // clicked entity is already in the selectedIDs list.. - if (!suppressMenu && !isShowAlways) { - // don't deselect clicked entity, just show the menu. - mode.suppressMenu(false).reselect(); - } else { - // deselect clicked entity, then reenter select mode or return to browse mode.. - selectedIDs = without(selectedIDs, datum.id); - context.enter(selectedIDs.length ? modeSelect(context, selectedIDs) : modeBrowse(context)); - } - } else { - // clicked entity is not in the selected list, add it.. - selectedIDs = selectedIDs.concat([datum.id]); - context.enter(modeSelect(context, selectedIDs).suppressMenu(suppressMenu)); - } - } - } - - // reset for next time.. - suppressMenu = true; - } - - - var behavior = function(selection$$1) { - lastMouse = null; - suppressMenu = true; - p1 = null; - - select(window) - .on('keydown.select', keydown) - .on('keyup.select', keyup) - .on('contextmenu.select-window', function() { - // Edge and IE really like to show the contextmenu on the - // menubar when user presses a keyboard menu button - // even after we've already preventdefaulted the key event. - var e = event; - if (+e.clientX === 0 && +e.clientY === 0) { - event.preventDefault(); - event.stopPropagation(); - } - }); - - selection$$1 - .on('mousedown.select', mousedown) - .on('mousemove.select', mousemove) - .on('contextmenu.select', contextmenu); - - if (event && event.shiftKey) { - context.surface() - .classed('behavior-multiselect', true); - } - }; - - - behavior.off = function(selection$$1) { - select(window) - .on('keydown.select', null) - .on('keyup.select', null) - .on('contextmenu.select-window', null) - .on('mouseup.select', null, true); - - selection$$1 - .on('mousedown.select', null) - .on('mousemove.select', null) - .on('contextmenu.select', null); - - context.surface() - .classed('behavior-multiselect', false); - }; - - - return behavior; - } - - function svgAreas$$1(projection, context) { - // Patterns only work in Firefox when set directly on element. - // (This is not a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=750632) - var patterns = { - beach: 'beach', - cemetery: 'cemetery', - construction: 'construction', - farm: 'farmland', - farmland: 'farmland', - grave_yard: 'cemetery', - meadow: 'meadow', - military: 'construction', - orchard: 'orchard', - sand: 'beach', - scrub: 'scrub', - wetland: 'wetland', - }; - - var patternKeys = ['landuse', 'natural', 'amenity']; - - - function setPattern(d) { - for (var i = 0; i < patternKeys.length; i++) { - if (d.tags.building && d.tags.building !== 'no') continue; - - if (patterns.hasOwnProperty(d.tags[patternKeys[i]])) { - this.style.fill = this.style.stroke = 'url("#pattern-' + patterns[d.tags[patternKeys[i]]] + '")'; - return; - } - } - this.style.fill = this.style.stroke = ''; - } - - - function drawTargets(selection, graph, entities, filter) { - var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor '; - var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor '; - var getPath = svgPath(projection).geojson; - var activeID = context.activeID(); - - // The targets and nopes will be MultiLineString sub-segments of the ways - var data = { targets: [], nopes: [] }; - - entities.forEach(function(way) { - var features = svgSegmentWay(way, graph, activeID); - data.targets.push.apply(data.targets, features.passive); - data.nopes.push.apply(data.nopes, features.active); - }); - - - // Targets allow hover and vertex snapping - var targetData = data.targets.filter(getPath); - var targets = selection.selectAll('.area.target-allowed') - .filter(function(d) { return filter(d.properties.entity); }) - .data(targetData, function key(d) { return d.id; }); - - // exit - targets.exit() - .remove(); - - // enter/update - targets.enter() - .append('path') - .merge(targets) - .attr('d', getPath) - .attr('class', function(d) { return 'way area target target-allowed ' + targetClass + d.id; }); - - - // NOPE - var nopeData = data.nopes.filter(getPath); - var nopes = selection.selectAll('.area.target-nope') - .filter(function(d) { return filter(d.properties.entity); }) - .data(nopeData, function key(d) { return d.id; }); - - // exit - nopes.exit() - .remove(); - - // enter/update - nopes.enter() - .append('path') - .merge(nopes) - .attr('d', getPath) - .attr('class', function(d) { return 'way area target target-nope ' + nopeClass + d.id; }); - } - - - function drawAreas(selection, graph, entities, filter) { - var path = svgPath(projection, graph, true), - areas = {}, - multipolygon; - - for (var i = 0; i < entities.length; i++) { - var entity = entities[i]; - if (entity.geometry(graph) !== 'area') continue; - - multipolygon = osmIsSimpleMultipolygonOuterMember(entity, graph); - if (multipolygon) { - areas[multipolygon.id] = { - entity: multipolygon.mergeTags(entity.tags), - area: Math.abs(entity.area(graph)) - }; - } else if (!areas[entity.id]) { - areas[entity.id] = { - entity: entity, - area: Math.abs(entity.area(graph)) - }; - } - } - - areas = values$1(areas).filter(function hasPath(a) { return path(a.entity); }); - areas.sort(function areaSort(a, b) { return b.area - a.area; }); - areas = map$3(areas, 'entity'); - - var strokes = areas.filter(function(area) { - return area.type === 'way'; - }); - - var data = { - clip: areas, - shadow: strokes, - stroke: strokes, - fill: areas - }; - - var clipPaths = context.surface().selectAll('defs').selectAll('.clipPath') - .filter(filter) - .data(data.clip, osmEntity$$1.key); - - clipPaths.exit() - .remove(); - - var clipPathsEnter = clipPaths.enter() - .append('clipPath') - .attr('class', 'clipPath') - .attr('id', function(entity) { return entity.id + '-clippath'; }); - - clipPathsEnter - .append('path'); - - clipPaths.merge(clipPathsEnter) - .selectAll('path') - .attr('d', path); - - - var layer = selection.selectAll('.layer-areas .layer-areas-areas'); - - var areagroup = layer - .selectAll('g.areagroup') - .data(['fill', 'shadow', 'stroke']); - - areagroup = areagroup.enter() - .append('g') - .attr('class', function(d) { return 'areagroup area-' + d; }) - .merge(areagroup); - - var paths = areagroup - .selectAll('path') - .filter(filter) - .data(function(layer) { return data[layer]; }, osmEntity$$1.key); - - paths.exit() - .remove(); - - var fills = selection.selectAll('.area-fill path.area').nodes(); - - var bisect = bisector(function(node) { - return -node.__data__.area(graph); - }).left; - - function sortedByArea(entity) { - if (this._parent.__data__ === 'fill') { - return fills[bisect(fills, -entity.area(graph))]; - } - } - - paths = paths.enter() - .insert('path', sortedByArea) - .merge(paths) - .each(function(entity) { - var layer = this.parentNode.__data__; - - this.setAttribute('class', entity.type + ' area ' + layer + ' ' + entity.id); - - if (layer === 'fill') { - this.setAttribute('clip-path', 'url(#' + entity.id + '-clippath)'); - setPattern.apply(this, arguments); - } - }) - .call(svgTagClasses()) - .attr('d', path); - - - // touch targets - selection.selectAll('.layer-areas .layer-areas-targets') - .call(drawTargets, graph, data.stroke, filter); - } - - return drawAreas; - } - - function svgDebug$$1(projection, context) { - - function multipolygons(imagery) { - return imagery.map(function(data$$1) { - return { - type: 'MultiPolygon', - coordinates: [ data$$1.polygon ] - }; - }); - } - - function drawDebug(selection$$1) { - var showsTile = context.getDebug('tile'); - var showsCollision = context.getDebug('collision'); - var showsImagery = context.getDebug('imagery'); - var showsCommunity = context.getDebug('community'); - var showsImperial = context.getDebug('imperial'); - var showsDriveLeft = context.getDebug('driveLeft'); - var showsTouchTargets = context.getDebug('target'); - - 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 (showsCommunity) { - debugData.push({ class: 'blue', label: 'community' }); - } - if (showsImperial) { - debugData.push({ class: 'cyan', label: 'imperial' }); - } - if (showsDriveLeft) { - debugData.push({ class: 'green', label: 'driveLeft' }); - } - if (showsTouchTargets) { - debugData.push({ class: 'pink', label: 'touchTargets' }); - } - - - var legend = select('#content') - .selectAll('.debug-legend') - .data(debugData.length ? [0] : []); - - legend.exit() - .remove(); - - legend = legend.enter() - .append('div') - .attr('class', 'fillD debug-legend') - .merge(legend); - - - var legendItems = legend.selectAll('.debug-legend-item') - .data(debugData, function(d) { return d.label; }); - - legendItems.exit() - .remove(); - - legendItems.enter() - .append('span') - .attr('class', function(d) { return 'debug-legend-item ' + d.class; }) - .text(function(d) { return d.label; }); - - - var layer = selection$$1.selectAll('.layer-debug') - .data(showsImagery || showsCommunity || showsImperial || showsDriveLeft ? [0] : []); - - layer.exit() - .remove(); - - layer = layer.enter() - .append('g') - .attr('class', 'layer-debug') - .merge(layer); - - - var extent = context.map().extent(); - var dataImagery = data.imagery || []; - var availableImagery = showsImagery && multipolygons(dataImagery.filter(function(source) { - if (!source.polygon) return false; - return source.polygon.some(function(polygon) { - return geoPolygonIntersectsPolygon(polygon, extent, true); - }); - })); - - var imagery = layer.selectAll('path.debug-imagery') - .data(showsImagery ? availableImagery : []); - - imagery.exit() - .remove(); - - imagery.enter() - .append('path') - .attr('class', 'debug-imagery debug orange'); - - - var community = layer.selectAll('path.debug-community') - .data(showsCommunity ? values$1(data.community.features) : []); - - community.exit() - .remove(); - - community.enter() - .append('path') - .attr('class', 'debug-community debug blue'); - - - var imperial = layer - .selectAll('path.debug-imperial') - .data(showsImperial ? [dataImperial] : []); - - imperial.exit() - .remove(); - - imperial.enter() - .append('path') - .attr('class', 'debug-imperial debug cyan'); - - - var driveLeft = layer - .selectAll('path.debug-drive-left') - .data(showsDriveLeft ? [dataDriveLeft] : []); - - driveLeft.exit() - .remove(); - - driveLeft.enter() - .append('path') - .attr('class', 'debug-drive-left debug green'); - - - // update - layer.selectAll('path') - .attr('d', svgPath(projection).geojson); - } - - - // 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') || - context.getDebug('target'); - } 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. - */ - function svgDefs(context) { - - function SVGSpriteDefinition(id, href) { - return function(defs) { - request(href) - .mimeType('image/svg+xml') - .response(function(xhr) { return xhr.responseXML; }) - .get(function(err, svg) { - if (err) return; - defs.node().appendChild( - select(svg.documentElement).attr('id', id).node() - ); - }); - }; - } - - - return function drawDefs(selection$$1) { - var defs = selection$$1.append('defs'); - - // markers - defs - .append('marker') - .attr('id', 'oneway-marker') - .attr('viewBox', '0 0 10 5') - .attr('refX', 2.5) - .attr('refY', 2.5) - .attr('markerWidth', 2) - .attr('markerHeight', 2) - .attr('markerUnits', 'strokeWidth') - .attr('orient', 'auto') - .append('path') - .attr('class', 'oneway-marker-path') - .attr('d', 'M 5,3 L 0,3 L 0,2 L 5,2 L 5,0 L 10,2.5 L 5,5 z') - .attr('stroke', 'none') - .attr('fill', '#000') - .attr('opacity', '0.75'); - - defs - .append('marker') - .attr('id', 'viewfield-marker') - .attr('viewBox', '0 0 16 16') - .attr('refX', 8) - .attr('refY', 16) - .attr('markerWidth', 4) - .attr('markerHeight', 4) - .attr('markerUnits', 'strokeWidth') - .attr('orient', 'auto') - .append('path') - .attr('class', 'viewfield-marker-path') - .attr('d', 'M 6,14 C 8,13.4 8,13.4 10,14 L 16,3 C 12,0 4,0 0,3 z') - .attr('fill', '#333') - .attr('fill-opacity', '0.75') - .attr('stroke', '#fff') - .attr('stroke-width', '0.5px') - .attr('stroke-opacity', '0.75'); - - defs - .append('marker') - .attr('id', 'viewfield-marker-wireframe') - .attr('viewBox', '0 0 16 16') - .attr('refX', 8) - .attr('refY', 16) - .attr('markerWidth', 4) - .attr('markerHeight', 4) - .attr('markerUnits', 'strokeWidth') - .attr('orient', 'auto') - .append('path') - .attr('class', 'viewfield-marker-path') - .attr('d', 'M 6,14 C 8,13.4 8,13.4 10,14 L 16,3 C 12,0 4,0 0,3 z') - .attr('fill', 'none') - .attr('stroke', '#fff') - .attr('stroke-width', '0.5px') - .attr('stroke-opacity', '0.75'); - - // patterns - var patterns = defs.selectAll('pattern') - .data([ - // pattern name, pattern image name - ['wetland', 'wetland'], - ['construction', 'construction'], - ['cemetery', 'cemetery'], - ['orchard', 'orchard'], - ['farmland', 'farmland'], - ['beach', 'dots'], - ['scrub', 'dots'], - ['meadow', 'dots'] - ]) - .enter() - .append('pattern') - .attr('id', function (d) { return 'pattern-' + d[0]; }) - .attr('width', 32) - .attr('height', 32) - .attr('patternUnits', 'userSpaceOnUse'); - - patterns - .append('rect') - .attr('x', 0) - .attr('y', 0) - .attr('width', 32) - .attr('height', 32) - .attr('class', function (d) { return 'pattern-color-' + d[0]; }); - - patterns - .append('image') - .attr('x', 0) - .attr('y', 0) - .attr('width', 32) - .attr('height', 32) - .attr('xlink:href', function (d) { - return context.imagePath('pattern/' + d[1] + '.png'); - }); - - // clip paths - defs.selectAll('clipPath') - .data([12, 18, 20, 32, 45]) - .enter() - .append('clipPath') - .attr('id', function (d) { return 'clip-square-' + d; }) - .append('rect') - .attr('x', 0) - .attr('y', 0) - .attr('width', function (d) { return d; }) - .attr('height', function (d) { return d; }); - - // symbol spritesheets - defs - .call(SVGSpriteDefinition('iD-sprite', context.imagePath('iD-sprite.svg'))) - .call(SVGSpriteDefinition('maki-sprite', context.imagePath('maki-sprite.svg'))) - .call(SVGSpriteDefinition('community-sprite', context.imagePath('community-sprite.svg'))); - }; - } - - /** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - //[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] - //[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] - //[5] Name ::= NameStartChar (NameChar)* - var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;//\u10000-\uEFFFF - var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); - var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$'); - //var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ - //var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') - - //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE - //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE - var S_TAG = 0;//tag name offerring - var S_ATTR = 1;//attr name offerring - var S_ATTR_SPACE=2;//attr name end and space offer - var S_EQ = 3;//=space? - var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only) - var S_ATTR_END = 5;//attr value end and no space(quot end) - var S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer) - var S_TAG_CLOSE = 7;//closed el - - function XMLReader(){ - - } - - XMLReader.prototype = { - parse:function(source,defaultNSMap,entityMap){ - var domBuilder = this.domBuilder; - domBuilder.startDocument(); - _copy(defaultNSMap ,defaultNSMap = {}); - parse$1(source,defaultNSMap,entityMap, - domBuilder,this.errorHandler); - domBuilder.endDocument(); - } - }; - function parse$1(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ - function fixedFromCharCode(code) { - // String.prototype.fromCharCode does not supports - // > 2 bytes unicode chars directly - if (code > 0xffff) { - code -= 0x10000; - var surrogate1 = 0xd800 + (code >> 10) - , surrogate2 = 0xdc00 + (code & 0x3ff); - - return String.fromCharCode(surrogate1, surrogate2); - } else { - return String.fromCharCode(code); - } - } - function entityReplacer(a){ - var k = a.slice(1,-1); - if(k in entityMap){ - return entityMap[k]; - }else if(k.charAt(0) === '#'){ - return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x'))) - }else{ - errorHandler.error('entity not found:'+a); - return a; - } - } - function appendText(end){//has some bugs - if(end>start){ - var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer); - locator&&position(start); - domBuilder.characters(xt,0,end-start); - start = end; - } - } - function position(p,m){ - while(p>=lineEnd && (m = linePattern.exec(source))){ - lineStart = m.index; - lineEnd = lineStart + m[0].length; - locator.lineNumber++; - //console.log('line++:',locator,startPos,endPos) - } - locator.columnNumber = p-lineStart+1; - } - var lineStart = 0; - var lineEnd = 0; - var linePattern = /.*(?:\r\n?|\n)|.*$/g; - var locator = domBuilder.locator; - - var parseStack = [{currentNSMap:defaultNSMapCopy}]; - var closeMap = {}; - var start = 0; - while(true){ - try{ - var tagStart = source.indexOf('<',start); - if(tagStart<0){ - if(!source.substr(start).match(/^\s*$/)){ - var doc = domBuilder.doc; - var text = doc.createTextNode(source.substr(start)); - doc.appendChild(text); - domBuilder.currentElement = text; - } - return; - } - if(tagStart>start){ - appendText(tagStart); - } - switch(source.charAt(tagStart+1)){ - case '/': - var end = source.indexOf('>',tagStart+3); - var tagName = source.substring(tagStart+2,end); - var config = parseStack.pop(); - if(end<0){ - - tagName = source.substring(tagStart+2).replace(/[\s<].*/,''); - //console.error('#@@@@@@'+tagName) - errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName); - end = tagStart+1+tagName.length; - }else if(tagName.match(/\s - locator&&position(tagStart); - end = parseInstruction(source,tagStart,domBuilder); - break; - case '!':// start){ - start = end; - }else{ - //TODO: 这里有可能sax回退,有位置错误风险 - appendText(Math.max(tagStart,start)+1); - } - } - } - function copyLocator(f,t){ - t.lineNumber = f.lineNumber; - t.columnNumber = f.columnNumber; - return t; - } - - /** - * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); - * @return end of the elementStartPart(end of elementEndPart for selfClosed el) - */ - function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){ - var attrName; - var value; - var p = ++start; - var s = S_TAG;//status - while(true){ - var c = source.charAt(p); - switch(c){ - case '=': - if(s === S_ATTR){//attrName - attrName = source.slice(start,p); - s = S_EQ; - }else if(s === S_ATTR_SPACE){ - s = S_EQ; - }else{ - //fatalError: equal must after attrName or space after attrName - throw new Error('attribute equal must after attrName'); - } - break; - case '\'': - case '"': - if(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE - ){//equal - if(s === S_ATTR){ - errorHandler.warning('attribute value must after "="'); - attrName = source.slice(start,p); - } - start = p+1; - p = source.indexOf(c,start); - if(p>0){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - el.add(attrName,value,start-1); - s = S_ATTR_END; - }else{ - //fatalError: no end quot match - throw new Error('attribute value no end \''+c+'\' match'); - } - }else if(s == S_ATTR_NOQUOT_VALUE){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - //console.log(attrName,value,start,p) - el.add(attrName,value,start); - //console.dir(el) - errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!'); - start = p+1; - s = S_ATTR_END; - }else{ - //fatalError: no equal before - throw new Error('attribute value must after "="'); - } - break; - case '/': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - s =S_TAG_CLOSE; - el.closed = true; - case S_ATTR_NOQUOT_VALUE: - case S_ATTR: - case S_ATTR_SPACE: - break; - //case S_EQ: - default: - throw new Error("attribute invalid close char('/')") - } - break; - case ''://end document - //throw new Error('unexpected end of input') - errorHandler.error('unexpected end of input'); - if(s == S_TAG){ - el.setTagName(source.slice(start,p)); - } - return p; - case '>': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - break;//normal - case S_ATTR_NOQUOT_VALUE://Compatible state - case S_ATTR: - value = source.slice(start,p); - if(value.slice(-1) === '/'){ - el.closed = true; - value = value.slice(0,-1); - } - case S_ATTR_SPACE: - if(s === S_ATTR_SPACE){ - value = attrName; - } - if(s == S_ATTR_NOQUOT_VALUE){ - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start); - }else{ - if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){ - errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!'); - } - el.add(value,value,start); - } - break; - case S_EQ: - throw new Error('attribute value missed!!'); - } - // console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) - return p; - /*xml space '\x20' | #x9 | #xD | #xA; */ - case '\u0080': - c = ' '; - default: - if(c<= ' '){//space - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p));//tagName - s = S_TAG_SPACE; - break; - case S_ATTR: - attrName = source.slice(start,p); - s = S_ATTR_SPACE; - break; - case S_ATTR_NOQUOT_VALUE: - var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value,start); - case S_ATTR_END: - s = S_TAG_SPACE; - break; - //case S_TAG_SPACE: - //case S_EQ: - //case S_ATTR_SPACE: - // void();break; - //case S_TAG_CLOSE: - //ignore warning - } - }else{//not space - //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE - //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE - switch(s){ - //case S_TAG:void();break; - //case S_ATTR:void();break; - //case S_ATTR_NOQUOT_VALUE:void();break; - case S_ATTR_SPACE: - var tagName = el.tagName; - if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){ - errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!'); - } - el.add(attrName,attrName,start); - start = p; - s = S_ATTR; - break; - case S_ATTR_END: - errorHandler.warning('attribute space is required"'+attrName+'"!!'); - case S_TAG_SPACE: - s = S_ATTR; - start = p; - break; - case S_EQ: - s = S_ATTR_NOQUOT_VALUE; - start = p; - break; - case S_TAG_CLOSE: - throw new Error("elements closed character '/' and '>' must be connected to"); - } - } - }//end outer switch - //console.log('p++',p) - p++; - } - } - /** - * @return true if has new namespace define - */ - function appendElement(el,domBuilder,currentNSMap){ - var tagName = el.tagName; - var localNSMap = null; - //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; - var i = el.length; - while(i--){ - var a = el[i]; - var qName = a.qName; - var value = a.value; - var nsp = qName.indexOf(':'); - if(nsp>0){ - var prefix = a.prefix = qName.slice(0,nsp); - var localName = qName.slice(nsp+1); - var nsPrefix = prefix === 'xmlns' && localName; - }else{ - localName = qName; - prefix = null; - nsPrefix = qName === 'xmlns' && ''; - } - //can not set prefix,because prefix !== '' - a.localName = localName ; - //prefix == null for no ns prefix attribute - if(nsPrefix !== false){//hack!! - if(localNSMap == null){ - localNSMap = {}; - //console.log(currentNSMap,0) - _copy(currentNSMap,currentNSMap={}); - //console.log(currentNSMap,1) - } - currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; - a.uri = 'http://www.w3.org/2000/xmlns/'; - domBuilder.startPrefixMapping(nsPrefix, value); - } - } - var i = el.length; - while(i--){ - a = el[i]; - var prefix = a.prefix; - if(prefix){//no prefix attribute has no namespace - if(prefix === 'xml'){ - a.uri = 'http://www.w3.org/XML/1998/namespace'; - }if(prefix !== 'xmlns'){ - a.uri = currentNSMap[prefix || '']; - - //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} - } - } - } - var nsp = tagName.indexOf(':'); - if(nsp>0){ - prefix = el.prefix = tagName.slice(0,nsp); - localName = el.localName = tagName.slice(nsp+1); - }else{ - prefix = null;//important!! - localName = el.localName = tagName; - } - //no prefix element has default namespace - var ns = el.uri = currentNSMap[prefix || '']; - domBuilder.startElement(ns,localName,tagName,el); - //endPrefixMapping and startPrefixMapping have not any help for dom builder - //localNSMap = null - if(el.closed){ - domBuilder.endElement(ns,localName,tagName); - if(localNSMap){ - for(prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix); - } - } - }else{ - el.currentNSMap = currentNSMap; - el.localNSMap = localNSMap; - //parseStack.push(el); - return true; - } - } - function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){ - if(/^(?:script|textarea)$/i.test(tagName)){ - var elEndStart = source.indexOf('',elStartEnd); - var text = source.substring(elStartEnd+1,elEndStart); - if(/[&<]/.test(text)){ - if(/^script$/i.test(tagName)){ - //if(!/\]\]>/.test(text)){ - //lexHandler.startCDATA(); - domBuilder.characters(text,0,text.length); - //lexHandler.endCDATA(); - return elEndStart; - //} - }//}else{//text area - text = text.replace(/&#?\w+;/g,entityReplacer); - domBuilder.characters(text,0,text.length); - return elEndStart; - //} - - } - } - return elStartEnd+1; - } - function fixSelfClosed(source,elStartEnd,tagName,closeMap){ - //if(tagName in closeMap){ - var pos = closeMap[tagName]; - if(pos == null){ - //console.log(tagName) - pos = source.lastIndexOf(''); - if(pos',start+4); - //append comment source.substring(4,end)//"); - case DOCUMENT_TYPE_NODE: - var pubid = node.publicId; - var sysid = node.systemId; - buf.push(''); - }else if(sysid && sysid!='.'){ - buf.push(' SYSTEM "',sysid,'">'); - }else{ - var sub = node.internalSubset; - if(sub){ - buf.push(" [",sub,"]"); - } - buf.push(">"); - } - return; - case PROCESSING_INSTRUCTION_NODE: - return buf.push( ""); - case ENTITY_REFERENCE_NODE: - return buf.push( '&',node.nodeName,';'); - //case ENTITY_NODE: - //case NOTATION_NODE: - default: - buf.push('??',node.nodeName); - } - } - function importNode(doc,node,deep){ - var node2; - switch (node.nodeType) { - case ELEMENT_NODE: - node2 = node.cloneNode(false); - node2.ownerDocument = doc; - //var attrs = node2.attributes; - //var len = attrs.length; - //for(var i=0;i','amp':'&','quot':'"','apos':"'"}; - if(locator){ - domBuilder.setDocumentLocator(locator); - } - - sax$$1.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator); - sax$$1.domBuilder = options.domBuilder || domBuilder; - if(/\/x?html?$/.test(mimeType)){ - entityMap.nbsp = '\xa0'; - entityMap.copy = '\xa9'; - defaultNSMap['']= 'http://www.w3.org/1999/xhtml'; - } - defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace'; - if(source){ - sax$$1.parse(source,defaultNSMap,entityMap); - }else{ - sax$$1.errorHandler.error("invalid doc source"); - } - return domBuilder.doc; - }; - function buildErrorHandler(errorImpl,domBuilder,locator){ - if(!errorImpl){ - if(domBuilder instanceof DOMHandler){ - return domBuilder; - } - errorImpl = domBuilder ; - } - var errorHandler = {}; - var isCallback = errorImpl instanceof Function; - locator = locator||{}; - function build(key){ - var fn = errorImpl[key]; - if(!fn && isCallback){ - fn = errorImpl.length == 2?function(msg){errorImpl(key,msg);}:errorImpl; - } - errorHandler[key] = fn && function(msg){ - fn('[xmldom '+key+']\t'+msg+_locator(locator)); - }||function(){}; - } - build('warning'); - build('error'); - build('fatalError'); - return errorHandler; - } - - //console.log('#\n\n\n\n\n\n\n####') - /** - * +ContentHandler+ErrorHandler - * +LexicalHandler+EntityResolver2 - * -DeclHandler-DTDHandler - * - * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler - * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2 - * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html - */ - function DOMHandler() { - this.cdata = false; - } - function position(locator,node){ - node.lineNumber = locator.lineNumber; - node.columnNumber = locator.columnNumber; - } - /** - * @see org.xml.sax.ContentHandler#startDocument - * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html - */ - DOMHandler.prototype = { - startDocument : function() { - this.doc = new DOMImplementation().createDocument(null, null, null); - if (this.locator) { - this.doc.documentURI = this.locator.systemId; - } - }, - startElement:function(namespaceURI, localName, qName, attrs) { - var doc = this.doc; - var el = doc.createElementNS(namespaceURI, qName||localName); - var len = attrs.length; - appendElement(this, el); - this.currentElement = el; - - this.locator && position(this.locator,el); - for (var i = 0 ; i < len; i++) { - var namespaceURI = attrs.getURI(i); - var value = attrs.getValue(i); - var qName = attrs.getQName(i); - var attr = doc.createAttributeNS(namespaceURI, qName); - this.locator &&position(attrs.getLocator(i),attr); - attr.value = attr.nodeValue = value; - el.setAttributeNode(attr); - } - }, - endElement:function(namespaceURI, localName, qName) { - var current = this.currentElement; - var tagName = current.tagName; - this.currentElement = current.parentNode; - }, - startPrefixMapping:function(prefix, uri) { - }, - endPrefixMapping:function(prefix) { - }, - processingInstruction:function(target, data) { - var ins = this.doc.createProcessingInstruction(target, data); - this.locator && position(this.locator,ins); - appendElement(this, ins); - }, - ignorableWhitespace:function(ch, start, length) { - }, - characters:function(chars, start, length) { - chars = _toString.apply(this,arguments); - //console.log(chars) - if(chars){ - if (this.cdata) { - var charNode = this.doc.createCDATASection(chars); - } else { - var charNode = this.doc.createTextNode(chars); - } - if(this.currentElement){ - this.currentElement.appendChild(charNode); - }else if(/^\s*$/.test(chars)){ - this.doc.appendChild(charNode); - //process xml - } - this.locator && position(this.locator,charNode); - } - }, - skippedEntity:function(name) { - }, - endDocument:function() { - this.doc.normalize(); - }, - setDocumentLocator:function (locator) { - if(this.locator = locator){// && !('lineNumber' in locator)){ - locator.lineNumber = 0; - } - }, - //LexicalHandler - comment:function(chars, start, length) { - chars = _toString.apply(this,arguments); - var comm = this.doc.createComment(chars); - this.locator && position(this.locator,comm); - appendElement(this, comm); - }, - - startCDATA:function() { - //used in characters() methods - this.cdata = true; - }, - endCDATA:function() { - this.cdata = false; - }, - - startDTD:function(name, publicId, systemId) { - var impl = this.doc.implementation; - if (impl && impl.createDocumentType) { - var dt = impl.createDocumentType(name, publicId, systemId); - this.locator && position(this.locator,dt); - appendElement(this, dt); - } - }, - /** - * @see org.xml.sax.ErrorHandler - * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html - */ - warning:function(error) { - console.warn('[xmldom warning]\t'+error,_locator(this.locator)); - }, - error:function(error) { - console.error('[xmldom error]\t'+error,_locator(this.locator)); - }, - fatalError:function(error) { - console.error('[xmldom fatalError]\t'+error,_locator(this.locator)); - throw error; - } - }; - function _locator(l){ - if(l){ - return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']' - } - } - function _toString(chars,start,length){ - if(typeof chars == 'string'){ - return chars.substr(start,length) - }else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)") - if(chars.length >= start+length || start){ - return new java.lang.String(chars,start,length)+''; - } - return chars; - } - } - - /* - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html - * used method of org.xml.sax.ext.LexicalHandler: - * #comment(chars, start, length) - * #startCDATA() - * #endCDATA() - * #startDTD(name, publicId, systemId) - * - * - * IGNORED method of org.xml.sax.ext.LexicalHandler: - * #endDTD() - * #startEntity(name) - * #endEntity(name) - * - * - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html - * IGNORED method of org.xml.sax.ext.DeclHandler - * #attributeDecl(eName, aName, type, mode, value) - * #elementDecl(name, model) - * #externalEntityDecl(name, publicId, systemId) - * #internalEntityDecl(name, value) - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html - * IGNORED method of org.xml.sax.EntityResolver2 - * #resolveEntity(String name,String publicId,String baseURI,String systemId) - * #resolveEntity(publicId, systemId) - * #getExternalSubset(name, baseURI) - * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html - * IGNORED method of org.xml.sax.DTDHandler - * #notationDecl(name, publicId, systemId) {}; - * #unparsedEntityDecl(name, publicId, systemId, notationName) {}; - */ - "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){ - DOMHandler.prototype[key] = function(){return null}; - }); - - /* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */ - function appendElement (hander,node) { - if (!hander.currentElement) { - hander.doc.appendChild(node); - } else { - hander.currentElement.appendChild(node); - } - }//appendChild and setAttributeNS are preformance key - - //if(typeof require == 'function'){ - var XMLReader = sax.XMLReader; - var DOMImplementation = exports.DOMImplementation = dom.DOMImplementation; - exports.XMLSerializer = dom.XMLSerializer ; - exports.DOMParser = DOMParser; - //} - }); - var domParser_1 = domParser.DOMImplementation; - var domParser_2 = domParser.XMLSerializer; - var domParser_3 = domParser.DOMParser; - - var togeojson = createCommonjsModule(function (module, exports) { - var toGeoJSON = (function() { - - var removeSpace = /\s*/g, - trimSpace = /^\s*|\s*$/g, - splitSpace = /\s+/; - // generate a short, numeric hash of a string - function okhash(x) { - if (!x || !x.length) return 0; - for (var i = 0, h = 0; i < x.length; i++) { - h = ((h << 5) - h) + x.charCodeAt(i) | 0; - } return h; - } - // all Y children of X - function get(x, y) { return x.getElementsByTagName(y); } - function attr(x, y) { return x.getAttribute(y); } - function attrf(x, y) { return parseFloat(attr(x, y)); } - // one Y child of X, if any, otherwise null - function get1(x, y) { var n = get(x, y); return n.length ? n[0] : null; } - // https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize - function norm(el) { if (el.normalize) { el.normalize(); } return el; } - // cast array x into numbers - function numarray(x) { - for (var j = 0, o = []; j < x.length; j++) { o[j] = parseFloat(x[j]); } - return o; - } - // get the content of a text node, if any - function nodeVal(x) { - if (x) { norm(x); } - return (x && x.textContent) || ''; - } - // get the contents of multiple text nodes, if present - function getMulti(x, ys) { - var o = {}, n, k; - for (k = 0; k < ys.length; k++) { - n = get1(x, ys[k]); - if (n) o[ys[k]] = nodeVal(n); - } - return o; - } - // add properties of Y to X, overwriting if present in both - function extend(x, y) { for (var k in y) x[k] = y[k]; } - // get one coordinate from a coordinate array, if any - function coord1(v) { return numarray(v.replace(removeSpace, '').split(',')); } - // get all coordinates from a coordinate array as [[],[]] - function coord(v) { - var coords = v.replace(trimSpace, '').split(splitSpace), - o = []; - for (var i = 0; i < coords.length; i++) { - o.push(coord1(coords[i])); - } - return o; - } - function coordPair(x) { - var ll = [attrf(x, 'lon'), attrf(x, 'lat')], - ele = get1(x, 'ele'), - // handle namespaced attribute in browser - heartRate = get1(x, 'gpxtpx:hr') || get1(x, 'hr'), - time = get1(x, 'time'), - e; - if (ele) { - e = parseFloat(nodeVal(ele)); - if (!isNaN(e)) { - ll.push(e); - } - } - return { - coordinates: ll, - time: time ? nodeVal(time) : null, - heartRate: heartRate ? parseFloat(nodeVal(heartRate)) : null - }; - } - - // create a new feature collection parent object - function fc() { - return { - type: 'FeatureCollection', - features: [] - }; - } - - var serializer; - if (typeof XMLSerializer !== 'undefined') { - /* istanbul ignore next */ - serializer = new XMLSerializer(); - // only require xmldom in a node environment - } else if (typeof process === 'object' && !process.browser) { - serializer = new (domParser.XMLSerializer)(); - } - function xml2str(str) { - // IE9 will create a new XMLSerializer but it'll crash immediately. - // This line is ignored because we don't run coverage tests in IE9 - /* istanbul ignore next */ - if (str.xml !== undefined) return str.xml; - return serializer.serializeToString(str); - } - - var t = { - kml: function(doc) { - - var gj = fc(), - // styleindex keeps track of hashed styles in order to match features - styleIndex = {}, styleByHash = {}, - // stylemapindex keeps track of style maps to expose in properties - styleMapIndex = {}, - // atomic geospatial types supported by KML - MultiGeometry is - // handled separately - geotypes = ['Polygon', 'LineString', 'Point', 'Track', 'gx:Track'], - // all root placemarks in the file - placemarks = get(doc, 'Placemark'), - styles = get(doc, 'Style'), - styleMaps = get(doc, 'StyleMap'); - - for (var k = 0; k < styles.length; k++) { - var hash = okhash(xml2str(styles[k])).toString(16); - styleIndex['#' + attr(styles[k], 'id')] = hash; - styleByHash[hash] = styles[k]; - } - for (var l = 0; l < styleMaps.length; l++) { - styleIndex['#' + attr(styleMaps[l], 'id')] = okhash(xml2str(styleMaps[l])).toString(16); - var pairs = get(styleMaps[l], 'Pair'); - var pairsMap = {}; - for (var m = 0; m < pairs.length; m++) { - pairsMap[nodeVal(get1(pairs[m], 'key'))] = nodeVal(get1(pairs[m], 'styleUrl')); - } - styleMapIndex['#' + attr(styleMaps[l], 'id')] = pairsMap; - - } - for (var j = 0; j < placemarks.length; j++) { - gj.features = gj.features.concat(getPlacemark(placemarks[j])); - } - function kmlColor(v) { - var color, opacity; - v = v || ''; - if (v.substr(0, 1) === '#') { v = v.substr(1); } - if (v.length === 6 || v.length === 3) { color = v; } - if (v.length === 8) { - opacity = parseInt(v.substr(0, 2), 16) / 255; - color = '#' + v.substr(6, 2) + - v.substr(4, 2) + - v.substr(2, 2); - } - return [color, isNaN(opacity) ? undefined : opacity]; - } - function gxCoord(v) { return numarray(v.split(' ')); } - function gxCoords(root) { - var elems = get(root, 'coord', 'gx'), coords = [], times = []; - if (elems.length === 0) elems = get(root, 'gx:coord'); - for (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i]))); - var timeElems = get(root, 'when'); - for (var j = 0; j < timeElems.length; j++) times.push(nodeVal(timeElems[j])); - return { - coords: coords, - times: times - }; - } - function getGeometry(root) { - var geomNode, geomNodes, i, j, k, geoms = [], coordTimes = []; - if (get1(root, 'MultiGeometry')) { return getGeometry(get1(root, 'MultiGeometry')); } - if (get1(root, 'MultiTrack')) { return getGeometry(get1(root, 'MultiTrack')); } - if (get1(root, 'gx:MultiTrack')) { return getGeometry(get1(root, 'gx:MultiTrack')); } - for (i = 0; i < geotypes.length; i++) { - geomNodes = get(root, geotypes[i]); - if (geomNodes) { - for (j = 0; j < geomNodes.length; j++) { - geomNode = geomNodes[j]; - if (geotypes[i] === 'Point') { - geoms.push({ - type: 'Point', - coordinates: coord1(nodeVal(get1(geomNode, 'coordinates'))) - }); - } else if (geotypes[i] === 'LineString') { - geoms.push({ - type: 'LineString', - coordinates: coord(nodeVal(get1(geomNode, 'coordinates'))) - }); - } else if (geotypes[i] === 'Polygon') { - var rings = get(geomNode, 'LinearRing'), - coords = []; - for (k = 0; k < rings.length; k++) { - coords.push(coord(nodeVal(get1(rings[k], 'coordinates')))); - } - geoms.push({ - type: 'Polygon', - coordinates: coords - }); - } else if (geotypes[i] === 'Track' || - geotypes[i] === 'gx:Track') { - var track = gxCoords(geomNode); - geoms.push({ - type: 'LineString', - coordinates: track.coords - }); - if (track.times.length) coordTimes.push(track.times); - } - } - } - } - return { - geoms: geoms, - coordTimes: coordTimes - }; - } - function getPlacemark(root) { - var geomsAndTimes = getGeometry(root), i, properties = {}, - name = nodeVal(get1(root, 'name')), - address = nodeVal(get1(root, 'address')), - styleUrl = nodeVal(get1(root, 'styleUrl')), - description = nodeVal(get1(root, 'description')), - timeSpan = get1(root, 'TimeSpan'), - timeStamp = get1(root, 'TimeStamp'), - extendedData = get1(root, 'ExtendedData'), - lineStyle = get1(root, 'LineStyle'), - polyStyle = get1(root, 'PolyStyle'), - visibility = get1(root, 'visibility'); - - if (!geomsAndTimes.geoms.length) return []; - if (name) properties.name = name; - if (address) properties.address = address; - if (styleUrl) { - if (styleUrl[0] !== '#') { - styleUrl = '#' + styleUrl; - } - - properties.styleUrl = styleUrl; - if (styleIndex[styleUrl]) { - properties.styleHash = styleIndex[styleUrl]; - } - if (styleMapIndex[styleUrl]) { - properties.styleMapHash = styleMapIndex[styleUrl]; - properties.styleHash = styleIndex[styleMapIndex[styleUrl].normal]; - } - // Try to populate the lineStyle or polyStyle since we got the style hash - var style = styleByHash[properties.styleHash]; - if (style) { - if (!lineStyle) lineStyle = get1(style, 'LineStyle'); - if (!polyStyle) polyStyle = get1(style, 'PolyStyle'); - } - } - if (description) properties.description = description; - if (timeSpan) { - var begin = nodeVal(get1(timeSpan, 'begin')); - var end = nodeVal(get1(timeSpan, 'end')); - properties.timespan = { begin: begin, end: end }; - } - if (timeStamp) { - properties.timestamp = nodeVal(get1(timeStamp, 'when')); - } - if (lineStyle) { - var linestyles = kmlColor(nodeVal(get1(lineStyle, 'color'))), - color = linestyles[0], - opacity = linestyles[1], - width = parseFloat(nodeVal(get1(lineStyle, 'width'))); - if (color) properties.stroke = color; - if (!isNaN(opacity)) properties['stroke-opacity'] = opacity; - if (!isNaN(width)) properties['stroke-width'] = width; - } - if (polyStyle) { - var polystyles = kmlColor(nodeVal(get1(polyStyle, 'color'))), - pcolor = polystyles[0], - popacity = polystyles[1], - fill = nodeVal(get1(polyStyle, 'fill')), - outline = nodeVal(get1(polyStyle, 'outline')); - if (pcolor) properties.fill = pcolor; - if (!isNaN(popacity)) properties['fill-opacity'] = popacity; - if (fill) properties['fill-opacity'] = fill === '1' ? properties['fill-opacity'] || 1 : 0; - if (outline) properties['stroke-opacity'] = outline === '1' ? properties['stroke-opacity'] || 1 : 0; - } - if (extendedData) { - var datas = get(extendedData, 'Data'), - simpleDatas = get(extendedData, 'SimpleData'); - - for (i = 0; i < datas.length; i++) { - properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value')); - } - for (i = 0; i < simpleDatas.length; i++) { - properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]); - } - } - if (visibility) { - properties.visibility = nodeVal(visibility); - } - if (geomsAndTimes.coordTimes.length) { - properties.coordTimes = (geomsAndTimes.coordTimes.length === 1) ? - geomsAndTimes.coordTimes[0] : geomsAndTimes.coordTimes; - } - var feature = { - type: 'Feature', - geometry: (geomsAndTimes.geoms.length === 1) ? geomsAndTimes.geoms[0] : { - type: 'GeometryCollection', - geometries: geomsAndTimes.geoms - }, - properties: properties - }; - if (attr(root, 'id')) feature.id = attr(root, 'id'); - return [feature]; - } - return gj; - }, - gpx: function(doc) { - var i, - tracks = get(doc, 'trk'), - routes = get(doc, 'rte'), - waypoints = get(doc, 'wpt'), - // a feature collection - gj = fc(), - feature; - for (i = 0; i < tracks.length; i++) { - feature = getTrack(tracks[i]); - if (feature) gj.features.push(feature); - } - for (i = 0; i < routes.length; i++) { - feature = getRoute(routes[i]); - if (feature) gj.features.push(feature); - } - for (i = 0; i < waypoints.length; i++) { - gj.features.push(getPoint(waypoints[i])); - } - function getPoints(node, pointname) { - var pts = get(node, pointname), - line = [], - times = [], - heartRates = [], - l = pts.length; - if (l < 2) return {}; // Invalid line in GeoJSON - for (var i = 0; i < l; i++) { - var c = coordPair(pts[i]); - line.push(c.coordinates); - if (c.time) times.push(c.time); - if (c.heartRate) heartRates.push(c.heartRate); - } - return { - line: line, - times: times, - heartRates: heartRates - }; - } - function getTrack(node) { - var segments = get(node, 'trkseg'), - track = [], - times = [], - heartRates = [], - line; - for (var i = 0; i < segments.length; i++) { - line = getPoints(segments[i], 'trkpt'); - if (line) { - if (line.line) track.push(line.line); - if (line.times && line.times.length) times.push(line.times); - if (line.heartRates && line.heartRates.length) heartRates.push(line.heartRates); - } - } - if (track.length === 0) return; - var properties = getProperties(node); - extend(properties, getLineStyle(get1(node, 'extensions'))); - if (times.length) properties.coordTimes = track.length === 1 ? times[0] : times; - if (heartRates.length) properties.heartRates = track.length === 1 ? heartRates[0] : heartRates; - return { - type: 'Feature', - properties: properties, - geometry: { - type: track.length === 1 ? 'LineString' : 'MultiLineString', - coordinates: track.length === 1 ? track[0] : track - } - }; - } - function getRoute(node) { - var line = getPoints(node, 'rtept'); - if (!line.line) return; - var prop = getProperties(node); - extend(prop, getLineStyle(get1(node, 'extensions'))); - var routeObj = { - type: 'Feature', - properties: prop, - geometry: { - type: 'LineString', - coordinates: line.line - } - }; - return routeObj; - } - function getPoint(node) { - var prop = getProperties(node); - extend(prop, getMulti(node, ['sym'])); - return { - type: 'Feature', - properties: prop, - geometry: { - type: 'Point', - coordinates: coordPair(node).coordinates - } - }; - } - function getLineStyle(extensions) { - var style = {}; - if (extensions) { - var lineStyle = get1(extensions, 'line'); - if (lineStyle) { - var color = nodeVal(get1(lineStyle, 'color')), - opacity = parseFloat(nodeVal(get1(lineStyle, 'opacity'))), - width = parseFloat(nodeVal(get1(lineStyle, 'width'))); - if (color) style.stroke = color; - if (!isNaN(opacity)) style['stroke-opacity'] = opacity; - // GPX width is in mm, convert to px with 96 px per inch - if (!isNaN(width)) style['stroke-width'] = width * 96 / 25.4; - } - } - return style; - } - function getProperties(node) { - var prop = getMulti(node, ['name', 'cmt', 'desc', 'type', 'time', 'keywords']), - links = get(node, 'link'); - if (links.length) prop.links = []; - for (var i = 0, link; i < links.length; i++) { - link = { href: attr(links[i], 'href') }; - extend(link, getMulti(links[i], ['text', 'type'])); - prop.links.push(link); - } - return prop; - } - return gj; - } - }; - return t; - })(); - - module.exports = toGeoJSON; - }); - - var _initialized = false; - var _enabled = false; - var _geojson; - - - function svgGpx$$1(projection$$1, context, dispatch) { - var _showLabels = true; - var detected = utilDetect(); - var layer; - var _src; - - - function init() { - if (_initialized) return; // run once - - _geojson = {}; - _enabled = true; - - function over() { - event.stopPropagation(); - event.preventDefault(); - event.dataTransfer.dropEffect = 'copy'; - } - - select('body') - .attr('dropzone', 'copy') - .on('drop.localgpx', function() { - event.stopPropagation(); - event.preventDefault(); - if (!detected.filedrop) return; - drawGpx.files(event.dataTransfer.files); - }) - .on('dragenter.localgpx', over) - .on('dragexit.localgpx', over) - .on('dragover.localgpx', over); - - _initialized = true; - } - - - function drawGpx(selection$$1) { - var getPath = svgPath(projection$$1).geojson; - - layer = selection$$1.selectAll('.layer-gpx') - .data(_enabled ? [0] : []); - - layer.exit() - .remove(); - - layer = layer.enter() - .append('g') - .attr('class', 'layer-gpx') - .merge(layer); - - - var paths = layer - .selectAll('path') - .data([_geojson]); - - paths.exit() - .remove(); - - paths = paths.enter() - .append('path') - .attr('class', 'gpx') - .merge(paths); - - paths - .attr('d', getPath); - - - var labelData = _showLabels && _geojson.features ? _geojson.features : []; - labelData = labelData.filter(getPath); - - layer - .call(drawLabels, 'gpxlabel-halo', labelData) - .call(drawLabels, 'gpxlabel', labelData); - - - function drawLabels(selection$$1, textClass, data) { - var labels = selection$$1.selectAll('text.' + textClass) - .data(data); - - // exit - labels.exit() - .remove(); - - // enter/update - labels = labels.enter() - .append('text') - .attr('class', textClass) - .merge(labels) - .text(function(d) { - if (d.properties) { - return d.properties.desc || d.properties.name; - } - return null; - }) - .attr('x', function(d) { - var centroid = getPath.centroid(d); - return centroid[0] + 11; - }) - .attr('y', function(d) { - var centroid = getPath.centroid(d); - return centroid[1]; - }); - } - } - - - function toDom(x) { - return (new DOMParser()).parseFromString(x, 'text/xml'); - } - - - function getExtension(fileName) { - if (isUndefined(fileName)) { - return ''; - } - - var lastDotIndex = fileName.lastIndexOf('.'); - if (lastDotIndex < 0) { - return ''; - } - - return fileName.substr(lastDotIndex); - } - - - function parseSaveAndZoom(extension, data) { - switch (extension) { - default: - drawGpx.geojson(togeojson.gpx(toDom(data))).fitZoom(); - break; - case '.kml': - drawGpx.geojson(togeojson.kml(toDom(data))).fitZoom(); - break; - case '.geojson': - case '.json': - drawGpx.geojson(JSON.parse(data)).fitZoom(); - break; - } - } - - - drawGpx.showLabels = function(_) { - if (!arguments.length) return _showLabels; - _showLabels = _; - return this; - }; - - - drawGpx.enabled = function(_) { - if (!arguments.length) return _enabled; - _enabled = _; - dispatch.call('change'); - return this; - }; - - - drawGpx.hasGpx = function() { - return (!(isEmpty(_geojson) || isEmpty(_geojson.features))); - }; - - - drawGpx.geojson = function(gj) { - if (!arguments.length) return _geojson; - if (isEmpty(gj) || isEmpty(gj.features)) return this; - _geojson = gj; - dispatch.call('change'); - return this; - }; - - - drawGpx.url = function(url) { - d3_text(url, function(err, data) { - if (!err) { - _src = url; - var extension = getExtension(url); - parseSaveAndZoom(extension, data); - } - }); - return this; - }; - - - drawGpx.files = function(fileList) { - if (!fileList.length) return this; - var f = fileList[0], - reader = new FileReader(); - - reader.onload = (function(file) { - _src = file.name; - var extension = getExtension(file.name); - return function (e) { - parseSaveAndZoom(extension, e.target.result); - }; - })(f); - - reader.readAsText(f); - return this; - }; - - - drawGpx.getSrc = function () { - return _src; - }; - - - drawGpx.fitZoom = function() { - if (!this.hasGpx()) return this; - - var map = context.map(); - var viewport = map.trimmedExtent().polygon(); - var coords = reduce(_geojson.features, function(coords, feature) { - var c = feature.geometry.coordinates; - - /* eslint-disable no-fallthrough */ - switch (feature.geometry.type) { - case 'Point': - c = [c]; - case 'MultiPoint': - case 'LineString': - break; - - case 'MultiPolygon': - c = flatten(c); - case 'Polygon': - case 'MultiLineString': - c = flatten(c); - break; - } - /* eslint-enable no-fallthrough */ - - return union(coords, c); - }, []); - - if (!geoPolygonIntersectsPolygon(viewport, coords, true)) { - var extent = geoExtent$$1(d3_geoBounds({ type: 'LineString', coordinates: coords })); - map.centerZoom(extent.center(), map.trimmedExtentZoom(extent)); - } - - return this; - }; - - - init(); - return drawGpx; - } - - function svgIcon(name, svgklass, useklass) { - return function drawIcon(selection) { - selection.selectAll('svg') - .data([0]) - .enter() - .append('svg') - .attr('class', 'icon ' + (svgklass || '')) - .append('use') - .attr('xlink:href', name) - .attr('class', useklass); - }; - } - - function svgLabels(projection$$1, context) { - var path = d3_geoPath(projection$$1); - var detected = utilDetect(); - var baselineHack = (detected.ie || detected.browser.toLowerCase() === 'edge'); - var _rdrawn = rbush_1(); - var _rskipped = rbush_1(); - var _textWidthCache = {}; - var _entitybboxes = {}; - - // Listed from highest to lowest priority - var labelStack = [ - ['line', 'aeroway', '*', 12], - ['line', 'highway', 'motorway', 12], - ['line', 'highway', 'trunk', 12], - ['line', 'highway', 'primary', 12], - ['line', 'highway', 'secondary', 12], - ['line', 'highway', 'tertiary', 12], - ['line', 'highway', '*', 12], - ['line', 'railway', '*', 12], - ['line', 'waterway', '*', 12], - ['area', 'aeroway', '*', 12], - ['area', 'amenity', '*', 12], - ['area', 'building', '*', 12], - ['area', 'historic', '*', 12], - ['area', 'leisure', '*', 12], - ['area', 'man_made', '*', 12], - ['area', 'natural', '*', 12], - ['area', 'shop', '*', 12], - ['area', 'tourism', '*', 12], - ['area', 'camp_site', '*', 12], - ['point', 'aeroway', '*', 10], - ['point', 'amenity', '*', 10], - ['point', 'building', '*', 10], - ['point', 'historic', '*', 10], - ['point', 'leisure', '*', 10], - ['point', 'man_made', '*', 10], - ['point', 'natural', '*', 10], - ['point', 'shop', '*', 10], - ['point', 'tourism', '*', 10], - ['point', 'camp_site', '*', 10], - ['line', 'name', '*', 12], - ['area', 'name', '*', 12], - ['point', 'name', '*', 10] - ]; - - - function blacklisted(preset) { - var noIcons = ['building', 'landuse', 'natural']; - return some(noIcons, function(s) { - return preset.id.indexOf(s) >= 0; - }); - } - - - function get(array, prop) { - return function(d, i) { return array[i][prop]; }; - } - - - function textWidth(text, size, elem) { - var c = _textWidthCache[size]; - if (!c) c = _textWidthCache[size] = {}; - - if (c[text]) { - return c[text]; - - } else if (elem) { - c[text] = elem.getComputedTextLength(); - return c[text]; - - } else { - var str = encodeURIComponent(text).match(/%[CDEFcdef]/g); - if (str === null) { - return size / 3 * 2 * text.length; - } else { - return size / 3 * (2 * text.length + str.length); - } - } - } - - - function drawLinePaths(selection, entities, filter, classes, labels) { - var paths = selection.selectAll('path') - .filter(filter) - .data(entities, osmEntity$$1.key); - - // exit - paths.exit() - .remove(); - - // enter/update - paths.enter() - .append('path') - .style('stroke-width', get(labels, 'font-size')) - .attr('id', function(d) { return 'labelpath-' + d.id; }) - .attr('class', classes) - .merge(paths) - .attr('d', get(labels, 'lineString')); - } - - - function drawLineLabels(selection, entities, filter, classes, labels) { - var texts = selection.selectAll('text.' + classes) - .filter(filter) - .data(entities, osmEntity$$1.key); - - // exit - texts.exit() - .remove(); - - // enter - texts.enter() - .append('text') - .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; }) - .attr('dy', baselineHack ? '0.35em' : null) - .append('textPath') - .attr('class', 'textpath'); - - // update - selection.selectAll('text.' + classes).selectAll('.textpath') - .filter(filter) - .data(entities, osmEntity$$1.key) - .attr('startOffset', '50%') - .attr('xlink:href', function(d) { return '#labelpath-' + d.id; }) - .text(utilDisplayNameForPath); - } - - - function drawPointLabels(selection, entities, filter, classes, labels) { - var texts = selection.selectAll('text.' + classes) - .filter(filter) - .data(entities, osmEntity$$1.key); - - // exit - texts.exit() - .remove(); - - // enter/update - texts.enter() - .append('text') - .attr('class', function(d, i) { - return classes + ' ' + labels[i].classes + ' ' + d.id; - }) - .merge(texts) - .attr('x', get(labels, 'x')) - .attr('y', get(labels, 'y')) - .style('text-anchor', get(labels, 'textAnchor')) - .text(utilDisplayName) - .each(function(d, i) { - textWidth(utilDisplayName(d), labels[i].height, this); - }); - } - - - function drawAreaLabels(selection, entities, filter, classes, labels) { - entities = entities.filter(hasText); - labels = labels.filter(hasText); - drawPointLabels(selection, entities, filter, classes, labels); - - function hasText(d, i) { - return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y'); - } - } - - - function drawAreaIcons(selection, entities, filter, classes, labels) { - var icons = selection.selectAll('use.' + classes) - .filter(filter) - .data(entities, osmEntity$$1.key); - - // exit - icons.exit() - .remove(); - - // enter/update - icons.enter() - .append('use') - .attr('class', 'icon ' + classes) - .attr('width', '17px') - .attr('height', '17px') - .merge(icons) - .attr('transform', get(labels, 'transform')) - .attr('xlink:href', function(d) { - var preset = context.presets().match(d, context.graph()); - var picon = preset && preset.icon; - - if (!picon) { - return ''; - } else { - var isMaki = dataFeatureIcons.indexOf(picon) !== -1; - return '#' + picon + (isMaki ? '-15' : ''); - } - }); - } - - - function drawCollisionBoxes(selection, rtree, which) { - var classes = 'debug ' + which + ' ' + (which === 'debug-skipped' ? 'orange' : 'yellow'); - - var gj = []; - if (context.getDebug('collision')) { - gj = rtree.all().map(function(d) { - return { type: 'Polygon', coordinates: [[ - [d.minX, d.minY], - [d.maxX, d.minY], - [d.maxX, d.maxY], - [d.minX, d.maxY], - [d.minX, d.minY] - ]]}; - }); - } - - var boxes = selection.selectAll('.' + which) - .data(gj); - - // exit - boxes.exit() - .remove(); - - // enter/update - boxes.enter() - .append('path') - .attr('class', classes) - .merge(boxes) - .attr('d', d3_geoPath()); - } - - - function drawLabels(selection, graph, entities, filter, dimensions, fullRedraw) { - var wireframe = context.surface().classed('fill-wireframe'); - var zoom = geoScaleToZoom(projection$$1.scale()); - - var labelable = []; - var renderNodeAs = {}; - var i, j, k, entity, geometry; - - for (i = 0; i < labelStack.length; i++) { - labelable.push([]); - } - - if (fullRedraw) { - _rdrawn.clear(); - _rskipped.clear(); - _entitybboxes = {}; - - } else { - for (i = 0; i < entities.length; i++) { - entity = entities[i]; - var toRemove = [] - .concat(_entitybboxes[entity.id] || []) - .concat(_entitybboxes[entity.id + 'I'] || []); - - for (j = 0; j < toRemove.length; j++) { - _rdrawn.remove(toRemove[j]); - _rskipped.remove(toRemove[j]); - } - } - } - - // Loop through all the entities to do some preprocessing - for (i = 0; i < entities.length; i++) { - entity = entities[i]; - geometry = entity.geometry(graph); - - // Insert collision boxes around interesting points/vertices - if (geometry === 'point' || (geometry === 'vertex' && isInterestingVertex(entity))) { - var hasDirections = entity.directions(graph, projection$$1).length; - var markerPadding; - - if (!wireframe && geometry === 'point' && !(zoom >= 18 && hasDirections)) { - renderNodeAs[entity.id] = 'point'; - markerPadding = 20; // extra y for marker height - } else { - renderNodeAs[entity.id] = 'vertex'; - markerPadding = 0; - } - - var coord = projection$$1(entity.loc); - var nodePadding = 10; - var bbox = { - minX: coord[0] - nodePadding, - minY: coord[1] - nodePadding - markerPadding, - maxX: coord[0] + nodePadding, - maxY: coord[1] + nodePadding - }; - - doInsert(bbox, entity.id + 'P'); - } - - // From here on, treat vertices like points - if (geometry === 'vertex') { - geometry = 'point'; - } - - // Determine which entities are label-able - var preset = geometry === 'area' && context.presets().match(entity, graph); - var icon = preset && !blacklisted(preset) && preset.icon; - - if (!icon && !utilDisplayName(entity)) - continue; - - for (k = 0; k < labelStack.length; k++) { - var matchGeom = labelStack[k][0]; - var matchKey = labelStack[k][1]; - var matchVal = labelStack[k][2]; - var hasVal = entity.tags[matchKey]; - - if (geometry === matchGeom && hasVal && (matchVal === '*' || matchVal === hasVal)) { - labelable[k].push(entity); - break; - } - } - } - - var positions = { - point: [], - line: [], - area: [] - }; - - var labelled = { - point: [], - line: [], - area: [] - }; - - // Try and find a valid label for labellable entities - for (k = 0; k < labelable.length; k++) { - var fontSize = labelStack[k][3]; - - for (i = 0; i < labelable[k].length; i++) { - entity = labelable[k][i]; - geometry = entity.geometry(graph); - - var getName = (geometry === 'line') ? utilDisplayNameForPath : utilDisplayName; - var name = getName(entity); - var width = name && textWidth(name, fontSize); - var p = null; - - if (geometry === 'point' || geometry === 'vertex') { - // no point or vertex labels in wireframe mode - // no vertex labels at low zooms (vertices have no icons) - if (wireframe) continue; - var renderAs = renderNodeAs[entity.id]; - if (renderAs === 'vertex' && zoom < 17) continue; - - p = getPointLabel(entity, width, fontSize, renderAs); - - } else if (geometry === 'line') { - p = getLineLabel(entity, width, fontSize); - - } else if (geometry === 'area') { - p = getAreaLabel(entity, width, fontSize); - } - - if (p) { - if (geometry === 'vertex') { geometry = 'point'; } // treat vertex like point - p.classes = geometry + ' tag-' + labelStack[k][1]; - positions[geometry].push(p); - labelled[geometry].push(entity); - } - } - } - - - function isInterestingVertex(entity) { - var selectedIDs = context.selectedIDs(); - - return entity.hasInterestingTags() || - entity.isEndpoint(graph) || - entity.isConnected(graph) || - selectedIDs.indexOf(entity.id) !== -1 || - some(graph.parentWays(entity), function(parent) { - return selectedIDs.indexOf(parent.id) !== -1; - }); - } - - - function getPointLabel(entity, width, height, geometry) { - var y = (geometry === 'point' ? -12 : 0); - var pointOffsets = { - ltr: [15, y, 'start'], - rtl: [-15, y, 'end'] - }; - - var coord = projection$$1(entity.loc); - var textPadding = 2; - var offset = pointOffsets[textDirection]; - var p = { - height: height, - width: width, - x: coord[0] + offset[0], - y: coord[1] + offset[1], - textAnchor: offset[2] - }; - - // insert a collision box for the text label.. - var bbox; - if (textDirection === 'rtl') { - bbox = { - minX: p.x - width - textPadding, - minY: p.y - (height / 2) - textPadding, - maxX: p.x + textPadding, - maxY: p.y + (height / 2) + textPadding - }; - } else { - bbox = { - minX: p.x - textPadding, - minY: p.y - (height / 2) - textPadding, - maxX: p.x + width + textPadding, - maxY: p.y + (height / 2) + textPadding - }; - } - - if (tryInsert([bbox], entity.id, true)) { - return p; - } - } - - - function getLineLabel(entity, width, height) { - var viewport = geoExtent$$1(context.projection.clipExtent()).polygon(); - var points = map$3(graph.childNodes(entity), 'loc').map(projection$$1); - var length = geoPathLength(points); - - if (length < width + 20) return; - - // todo: properly clip points to viewport - - // % along the line to attempt to place the label - var lineOffsets = [50, 45, 55, 40, 60, 35, 65, 30, 70, - 25, 75, 20, 80, 15, 95, 10, 90, 5, 95]; - var padding = 3; - - for (var i = 0; i < lineOffsets.length; i++) { - var offset = lineOffsets[i]; - var middle = offset / 100 * length; - var start = middle - width / 2; - - if (start < 0 || start + width > length) continue; - - // generate subpath and ignore paths that are invalid or don't cross viewport. - var sub = subpath(points, start, start + width); - if (!sub || !geoPolygonIntersectsPolygon(viewport, sub, true)) { - continue; - } - - var isReverse = reverse(sub); - if (isReverse) { - sub = sub.reverse(); - } - - var bboxes = []; - var boxsize = (height + 2) / 2; - - for (var j = 0; j < sub.length - 1; j++) { - var a = sub[j]; - var b = sub[j + 1]; - - // split up the text into small collision boxes - var num = Math.max(1, Math.floor(geoVecLength(a, b) / boxsize / 2)); - - for (var box = 0; box < num; box++) { - var p = geoVecInterp(a, b, box / num); - var x0 = p[0] - boxsize - padding; - var y0 = p[1] - boxsize - padding; - var x1 = p[0] + boxsize + padding; - var y1 = p[1] + boxsize + padding; - - bboxes.push({ - minX: Math.min(x0, x1), - minY: Math.min(y0, y1), - maxX: Math.max(x0, x1), - maxY: Math.max(y0, y1) - }); - } - } - - if (tryInsert(bboxes, entity.id, false)) { // accept this one - return { - 'font-size': height + 2, - lineString: lineString(sub), - startOffset: offset + '%' - }; - } - } - - function reverse(p) { - var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]); - return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > -Math.PI/2); - } - - function lineString(points) { - return 'M' + points.join('L'); - } - - function subpath(points, from, to) { - var sofar = 0; - var start, end, i0, i1; - - for (var i = 0; i < points.length - 1; i++) { - var a = points[i]; - var b = points[i + 1]; - var current = geoVecLength(a, b); - var portion; - if (!start && sofar + current >= from) { - portion = (from - sofar) / current; - start = [ - a[0] + portion * (b[0] - a[0]), - a[1] + portion * (b[1] - a[1]) - ]; - i0 = i + 1; - } - if (!end && sofar + current >= to) { - portion = (to - sofar) / current; - end = [ - a[0] + portion * (b[0] - a[0]), - a[1] + portion * (b[1] - a[1]) - ]; - i1 = i + 1; - } - sofar += current; - } - - var result = points.slice(i0, i1); - result.unshift(start); - result.push(end); - return result; - } - } - - - function getAreaLabel(entity, width, height) { - var centroid = path.centroid(entity.asGeoJSON(graph, true)); - var extent = entity.extent(graph); - var areaWidth = projection$$1(extent[1])[0] - projection$$1(extent[0])[0]; - - if (isNaN(centroid[0]) || areaWidth < 20) return; - - var preset = context.presets().match(entity, context.graph()); - var picon = preset && preset.icon; - var iconSize = 17; - var padding = 2; - var p = {}; - - if (picon) { // icon and label.. - if (addIcon()) { - addLabel(iconSize + padding); - return p; - } - } else { // label only.. - if (addLabel(0)) { - return p; - } - } - - - function addIcon() { - var iconX = centroid[0] - (iconSize / 2); - var iconY = centroid[1] - (iconSize / 2); - var bbox = { - minX: iconX, - minY: iconY, - maxX: iconX + iconSize, - maxY: iconY + iconSize - }; - - if (tryInsert([bbox], entity.id + 'I', true)) { - p.transform = 'translate(' + iconX + ',' + iconY + ')'; - return true; - } - return false; - } - - function addLabel(yOffset) { - if (width && areaWidth >= width + 20) { - var labelX = centroid[0]; - var labelY = centroid[1] + yOffset; - var bbox = { - minX: labelX - (width / 2) - padding, - minY: labelY - (height / 2) - padding, - maxX: labelX + (width / 2) + padding, - maxY: labelY + (height / 2) + padding - }; - - if (tryInsert([bbox], entity.id, true)) { - p.x = labelX; - p.y = labelY; - p.textAnchor = 'middle'; - p.height = height; - return true; - } - } - return false; - } - } - - - // force insert a singular bounding box - // singular box only, no array, id better be unique - function doInsert(bbox, id) { - bbox.id = id; - - var oldbox = _entitybboxes[id]; - if (oldbox) { - _rdrawn.remove(oldbox); - } - _entitybboxes[id] = bbox; - _rdrawn.insert(bbox); - } - - - function tryInsert(bboxes, id, saveSkipped) { - var skipped = false; - - for (var i = 0; i < bboxes.length; i++) { - var bbox = bboxes[i]; - bbox.id = id; - - // Check that label is visible - if (bbox.minX < 0 || bbox.minY < 0 || bbox.maxX > dimensions[0] || bbox.maxY > dimensions[1]) { - skipped = true; - break; - } - if (_rdrawn.collides(bbox)) { - skipped = true; - break; - } - } - - _entitybboxes[id] = bboxes; - - if (skipped) { - if (saveSkipped) { - _rskipped.load(bboxes); - } - } else { - _rdrawn.load(bboxes); - } - - return !skipped; - } - - - var layer = selection.selectAll('.layer-labels'); - var halo = layer.selectAll('.layer-labels-halo'); - var label = layer.selectAll('.layer-labels-label'); - var debug = layer.selectAll('.layer-labels-debug'); - - // points - drawPointLabels(label, labelled.point, filter, 'pointlabel', positions.point); - drawPointLabels(halo, labelled.point, filter, 'pointlabel-halo', positions.point); - - // lines - drawLinePaths(halo, labelled.line, filter, '', positions.line); - drawLineLabels(label, labelled.line, filter, 'linelabel', positions.line); - drawLineLabels(halo, labelled.line, filter, 'linelabel-halo', positions.line); - - // areas - drawAreaLabels(label, labelled.area, filter, 'arealabel', positions.area); - drawAreaLabels(halo, labelled.area, filter, 'arealabel-halo', positions.area); - drawAreaIcons(label, labelled.area, filter, 'areaicon', positions.area); - drawAreaIcons(halo, labelled.area, filter, 'areaicon-halo', positions.area); - - // debug - drawCollisionBoxes(debug, _rskipped, 'debug-skipped'); - drawCollisionBoxes(debug, _rdrawn, 'debug-drawn'); - - layer.call(filterLabels); - } - - - function filterLabels(selection) { - var layers = selection - .selectAll('.layer-labels-label, .layer-labels-halo'); - - layers.selectAll('.nolabel') - .classed('nolabel', false); - - var mouse = context.mouse(); - var graph = context.graph(); - var selectedIDs = context.selectedIDs(); - var ids = []; - var pad, bbox; - - // hide labels near the mouse - if (mouse) { - pad = 20; - bbox = { minX: mouse[0] - pad, minY: mouse[1] - pad, maxX: mouse[0] + pad, maxY: mouse[1] + pad }; - ids.push.apply(ids, map$3(_rdrawn.search(bbox), 'id')); - } - - // hide labels on selected nodes (they look weird when dragging / haloed) - for (var i = 0; i < selectedIDs.length; i++) { - var entity = graph.hasEntity(selectedIDs[i]); - if (entity && entity.type === 'node') { - ids.push(selectedIDs[i]); - } - } - - layers.selectAll(utilEntitySelector(ids)) - .classed('nolabel', true); - - - // draw the mouse bbox if debugging is on.. - var debug = selection.selectAll('.layer-labels-debug'); - var gj = []; - if (context.getDebug('collision')) { - gj = bbox ? [{ - type: 'Polygon', - coordinates: [[ - [bbox.minX, bbox.minY], - [bbox.maxX, bbox.minY], - [bbox.maxX, bbox.maxY], - [bbox.minX, bbox.maxY], - [bbox.minX, bbox.minY] - ]] - }] : []; - } - - var box = debug.selectAll('.debug-mouse') - .data(gj); - - // exit - box.exit() - .remove(); - - // enter/update - box.enter() - .append('path') - .attr('class', 'debug debug-mouse yellow') - .merge(box) - .attr('d', d3_geoPath()); - } - - - var throttleFilterLabels = throttle(utilCallWhenIdle(filterLabels), 100); - - - drawLabels.observe = function(selection) { - var listener = function() { throttleFilterLabels(selection); }; - selection.on('mousemove.hidelabels', listener); - context.on('enter.hidelabels', listener); - }; - - - drawLabels.off = function(selection) { - throttleFilterLabels.cancel(); - selection.on('mousemove.hidelabels', null); - context.on('enter.hidelabels', null); - }; - - - return drawLabels; - } - - function svgMapillaryImages$$1(projection, context, dispatch) { - var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000); - var minZoom = 12; - var minMarkerZoom = 16; - var minViewfieldZoom = 18; - var layer = select(null); - var _mapillary; - - - function init() { - if (svgMapillaryImages$$1.initialized) return; // run once - svgMapillaryImages$$1.enabled = false; - svgMapillaryImages$$1.initialized = true; - } - - - function getService() { - if (services.mapillary && !_mapillary) { - _mapillary = services.mapillary; - _mapillary.event.on('loadedImages', throttledRedraw); - } else if (!services.mapillary && _mapillary) { - _mapillary = null; - } - - return _mapillary; - } - - - function showLayer() { - var service = getService(); - if (!service) return; - - service.loadViewer(context); - editOn(); - - layer - .style('opacity', 0) - .transition() - .duration(250) - .style('opacity', 1) - .on('end', function () { dispatch.call('change'); }); - } - - - function hideLayer() { - var service = getService(); - if (service) { - service.hideViewer(); - } - - throttledRedraw.cancel(); - - layer - .transition() - .duration(250) - .style('opacity', 0) - .on('end', editOff); - } - - - function editOn() { - layer.style('display', 'block'); - } - - - function editOff() { - layer.selectAll('.viewfield-group').remove(); - layer.style('display', 'none'); - } - - - function click(d) { - var service = getService(); - if (!service) return; - - service - .selectImage(d) - .updateViewer(d.key, context) - .showViewer(); - - context.map().centerEase(d.loc); - } - - - function mouseover(d) { - var service = getService(); - if (service) service.setStyles(d); - } - - - function mouseout() { - var service = getService(); - if (service) service.setStyles(null); - } - - - function transform(d) { - var t = svgPointTransform(projection)(d); - if (d.ca) { - t += ' rotate(' + Math.floor(d.ca) + ',0,0)'; - } - return t; - } - - - function update() { - var viewer = select('#photoviewer'); - var selected = viewer.empty() ? undefined : viewer.datum(); - - var z = ~~context.map().zoom(); - var showMarkers = (z >= minMarkerZoom); - var showViewfields = (z >= minViewfieldZoom); - - var service = getService(); - var sequences = (service ? service.sequences(projection) : []); - var images = (service && showMarkers ? service.images(projection) : []); - - var traces = layer.selectAll('.sequences').selectAll('.sequence') - .data(sequences, function(d) { return d.properties.key; }); - - // exit - traces.exit() - .remove(); - - // enter/update - traces = traces.enter() - .append('path') - .attr('class', 'sequence') - .merge(traces) - .attr('d', svgPath(projection).geojson); - - - var groups = layer.selectAll('.markers').selectAll('.viewfield-group') - .data(images, function(d) { return d.key; }); - - // exit - groups.exit() - .remove(); - - // enter - var groupsEnter = groups.enter() - .append('g') - .attr('class', 'viewfield-group') - .on('mouseover', mouseover) - .on('mouseout', mouseout) - .on('click', click); - - groupsEnter - .append('g') - .attr('class', 'viewfield-scale'); - - // update - var markers = groups - .merge(groupsEnter) - .sort(function(a, b) { - return (a === selected) ? 1 - : (b === selected) ? -1 - : b.loc[1] - a.loc[1]; // sort Y - }) - .attr('transform', transform) - .select('.viewfield-scale'); - - - markers.selectAll('circle') - .data([0]) - .enter() - .append('circle') - .attr('dx', '0') - .attr('dy', '0') - .attr('r', '6'); - - var viewfields = markers.selectAll('.viewfield') - .data(showViewfields ? [0] : []); - - viewfields.exit() - .remove(); - - viewfields.enter() // viewfields may or may not be drawn... - .insert('path', 'circle') // but if they are, draw below the circles - .attr('class', 'viewfield') - .attr('transform', 'scale(1.5,1.5),translate(-8, -13)') - .attr('d', viewfieldPath); - - function viewfieldPath() { - var d = this.parentNode.__data__; - if (d.pano) { - return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0'; - } else { - return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z'; - } - } - } - - - function drawImages(selection$$1) { - var enabled = svgMapillaryImages$$1.enabled, - service = getService(); - - layer = selection$$1.selectAll('.layer-mapillary-images') - .data(service ? [0] : []); - - layer.exit() - .remove(); - - var layerEnter = layer.enter() - .append('g') - .attr('class', 'layer-mapillary-images') - .style('display', enabled ? 'block' : 'none'); - - layerEnter - .append('g') - .attr('class', 'sequences'); - - layerEnter - .append('g') - .attr('class', 'markers'); - - layer = layerEnter - .merge(layer); - - if (enabled) { - if (service && ~~context.map().zoom() >= minZoom) { - editOn(); - update(); - service.loadImages(projection); - } else { - editOff(); - } - } - } - - - drawImages.enabled = function(_) { - if (!arguments.length) return svgMapillaryImages$$1.enabled; - svgMapillaryImages$$1.enabled = _; - if (svgMapillaryImages$$1.enabled) { - showLayer(); - } else { - hideLayer(); - } - dispatch.call('change'); - return this; - }; - - - drawImages.supported = function() { - return !!getService(); - }; - - - init(); - return drawImages; - } - - function svgMapillarySigns(projection, context, dispatch) { - var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000); - var minZoom = 12; - var layer = select(null); - var _mapillary; - - - function init() { - if (svgMapillarySigns.initialized) return; // run once - svgMapillarySigns.enabled = false; - svgMapillarySigns.initialized = true; - } - - - function getService() { - if (services.mapillary && !_mapillary) { - _mapillary = services.mapillary; - _mapillary.event.on('loadedSigns', throttledRedraw); - } else if (!services.mapillary && _mapillary) { - _mapillary = null; - } - return _mapillary; - } - - - function showLayer() { - var service = getService(); - if (!service) return; - - service.loadViewer(context); - editOn(); - } - - - function hideLayer() { - throttledRedraw.cancel(); - editOff(); - } - - - function editOn() { - layer.style('display', 'block'); - } - - - function editOff() { - layer.selectAll('.icon-sign').remove(); - layer.style('display', 'none'); - } - - - function click(d) { - var service = getService(); - if (!service) return; - - context.map().centerEase(d.loc); - - var selected = service.getSelectedImage(); - var selectedImageKey = selected && selected.key; - var imageKey; - - // Pick one of the images the sign was detected in, - // preference given to an image already selected. - d.detections.forEach(function(detection) { - if (!imageKey || selectedImageKey === detection.image_key) { - imageKey = detection.image_key; - } - }); - - service - .selectImage(null, imageKey) - .updateViewer(imageKey, context) - .showViewer(); - } - - - function update() { - var service = getService(); - var data = (service ? service.signs(projection) : []); - var viewer = select('#photoviewer'); - var selected = viewer.empty() ? undefined : viewer.datum(); - var selectedImageKey = selected && selected.key; - - var signs = layer.selectAll('.icon-sign') - .data(data, function(d) { return d.key; }); - - signs.exit() - .remove(); - - var enter = signs.enter() - .append('foreignObject') - .attr('class', 'icon-sign') - .attr('width', '24px') // for Firefox - .attr('height', '24px') // for Firefox - .classed('selected', function(d) { - return some(d.detections, function(detection) { - return detection.image_key === selectedImageKey; - }); - }) - .on('click', click); - - enter - .append('xhtml:body') - .attr('class', 'icon-sign-body') - .html(service.signHTML); - - signs - .merge(enter) - .attr('x', function(d) { return projection(d.loc)[0] - 12; }) // offset by -12px to - .attr('y', function(d) { return projection(d.loc)[1] - 12; }); // center signs on loc - } - - - function drawSigns(selection$$1) { - var enabled = svgMapillarySigns.enabled, - service = getService(); - - layer = selection$$1.selectAll('.layer-mapillary-signs') - .data(service ? [0] : []); - - layer.exit() - .remove(); - - layer = layer.enter() - .append('g') - .attr('class', 'layer-mapillary-signs') - .style('display', enabled ? 'block' : 'none') - .merge(layer); - - if (enabled) { - if (service && ~~context.map().zoom() >= minZoom) { - editOn(); - update(); - service.loadSigns(context, projection); - } else { - editOff(); - } - } - } - - - drawSigns.enabled = function(_) { - if (!arguments.length) return svgMapillarySigns.enabled; - svgMapillarySigns.enabled = _; - if (svgMapillarySigns.enabled) { - showLayer(); - } else { - hideLayer(); - } - dispatch.call('change'); - return this; - }; - - - drawSigns.supported = function() { - var service = getService(); - return (service && service.signsSupported()); - }; - - - init(); - return drawSigns; - } - - function svgOpenstreetcamImages$$1(projection, context, dispatch) { - var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000); - var minZoom = 12; - var minMarkerZoom = 16; - var minViewfieldZoom = 18; - var layer = select(null); - var _openstreetcam; - - - function init() { - if (svgOpenstreetcamImages$$1.initialized) return; // run once - svgOpenstreetcamImages$$1.enabled = false; - svgOpenstreetcamImages$$1.initialized = true; - } - - - function getService() { - if (services.openstreetcam && !_openstreetcam) { - _openstreetcam = services.openstreetcam; - _openstreetcam.event.on('loadedImages', throttledRedraw); - } else if (!services.openstreetcam && _openstreetcam) { - _openstreetcam = null; - } - - return _openstreetcam; - } - - - function showLayer() { - var service = getService(); - if (!service) return; - - service.loadViewer(context); - editOn(); - - layer - .style('opacity', 0) - .transition() - .duration(250) - .style('opacity', 1) - .on('end', function () { dispatch.call('change'); }); - } - - - function hideLayer() { - var service = getService(); - if (service) { - service.hideViewer(); - } - - throttledRedraw.cancel(); - - layer - .transition() - .duration(250) - .style('opacity', 0) - .on('end', editOff); - } - - - function editOn() { - layer.style('display', 'block'); - } - - - function editOff() { - layer.selectAll('.viewfield-group').remove(); - layer.style('display', 'none'); - } - - - function click(d) { - var service = getService(); - if (!service) return; - - service - .selectImage(d) - .updateViewer(d) - .showViewer(); - - context.map().centerEase(d.loc); - } - - - function mouseover(d) { - var service = getService(); - if (service) service.setStyles(d); - } - - - function mouseout() { - var service = getService(); - if (service) service.setStyles(null); - } - - - function transform(d) { - var t = svgPointTransform(projection)(d); - if (d.ca) { - t += ' rotate(' + Math.floor(d.ca) + ',0,0)'; - } - return t; - } - - - function update() { - var viewer = select('#photoviewer'); - var selected = viewer.empty() ? undefined : viewer.datum(); - - var z = ~~context.map().zoom(); - var showMarkers = (z >= minMarkerZoom); - var showViewfields = (z >= minViewfieldZoom); - - var service = getService(); - var sequences = (service ? service.sequences(projection) : []); - var images = (service && showMarkers ? service.images(projection) : []); - - var traces = layer.selectAll('.sequences').selectAll('.sequence') - .data(sequences, function(d) { return d.properties.key; }); - - // exit - traces.exit() - .remove(); - - // enter/update - traces = traces.enter() - .append('path') - .attr('class', 'sequence') - .merge(traces) - .attr('d', svgPath(projection).geojson); - - - var groups = layer.selectAll('.markers').selectAll('.viewfield-group') - .data(images, function(d) { return d.key; }); - - // exit - groups.exit() - .remove(); - - // enter - var groupsEnter = groups.enter() - .append('g') - .attr('class', 'viewfield-group') - .on('mouseover', mouseover) - .on('mouseout', mouseout) - .on('click', click); - - groupsEnter - .append('g') - .attr('class', 'viewfield-scale'); - - // update - var markers = groups - .merge(groupsEnter) - .sort(function(a, b) { - return (a === selected) ? 1 - : (b === selected) ? -1 - : b.loc[1] - a.loc[1]; // sort Y - }) - .attr('transform', transform) - .select('.viewfield-scale'); - - - markers.selectAll('circle') - .data([0]) - .enter() - .append('circle') - .attr('dx', '0') - .attr('dy', '0') - .attr('r', '6'); - - var viewfields = markers.selectAll('.viewfield') - .data(showViewfields ? [0] : []); - - viewfields.exit() - .remove(); - - viewfields.enter() // viewfields may or may not be drawn... - .insert('path', 'circle') // but if they are, draw below the circles - .attr('class', 'viewfield') - .attr('transform', 'scale(1.5,1.5),translate(-8, -13)') - .attr('d', 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z'); - } - - - function drawImages(selection$$1) { - var enabled = svgOpenstreetcamImages$$1.enabled, - service = getService(); - - layer = selection$$1.selectAll('.layer-openstreetcam-images') - .data(service ? [0] : []); - - layer.exit() - .remove(); - - var layerEnter = layer.enter() - .append('g') - .attr('class', 'layer-openstreetcam-images') - .style('display', enabled ? 'block' : 'none'); - - layerEnter - .append('g') - .attr('class', 'sequences'); - - layerEnter - .append('g') - .attr('class', 'markers'); - - layer = layerEnter - .merge(layer); - - if (enabled) { - if (service && ~~context.map().zoom() >= minZoom) { - editOn(); - update(); - service.loadImages(projection); - } else { - editOff(); - } - } - } - - - drawImages.enabled = function(_) { - if (!arguments.length) return svgOpenstreetcamImages$$1.enabled; - svgOpenstreetcamImages$$1.enabled = _; - if (svgOpenstreetcamImages$$1.enabled) { - showLayer(); - } else { - hideLayer(); - } - dispatch.call('change'); - return this; - }; - - - drawImages.supported = function() { - return !!getService(); - }; - - - init(); - return drawImages; - } - - function svgOsm(projection, context, dispatch) { - var enabled = true; - - - function drawOsm(selection) { - selection.selectAll('.layer-osm') - .data(['covered', 'areas', 'lines', 'points', 'labels']) - .enter() - .append('g') - .attr('class', function(d) { return 'layer-osm layer-' + d; }); - - selection.selectAll('.layer-areas').selectAll('.layer-areas-group') - .data(['areas', 'targets']) - .enter() - .append('g') - .attr('class', function(d) { return 'layer-areas-group layer-areas-' + d; }); - - selection.selectAll('.layer-lines').selectAll('.layer-lines-group') - .data(['lines', 'targets']) - .enter() - .append('g') - .attr('class', function(d) { return 'layer-lines-group layer-lines-' + d; }); - - selection.selectAll('.layer-points').selectAll('.layer-points-group') - .data(['points', 'midpoints', 'vertices', 'turns', 'targets']) - .enter() - .append('g') - .attr('class', function(d) { return 'layer-points-group layer-points-' + d; }); - - selection.selectAll('.layer-labels').selectAll('.layer-labels-group') - .data(['halo', 'label', 'debug']) - .enter() - .append('g') - .attr('class', function(d) { return 'layer-labels-group layer-labels-' + d; }); - } - - - function showLayer() { - var layer = context.surface().selectAll('.data-layer-osm'); - layer.interrupt(); - - layer - .classed('disabled', false) - .style('opacity', 0) - .transition() - .duration(250) - .style('opacity', 1) - .on('end interrupt', function () { - dispatch.call('change'); - }); - } - - - function hideLayer() { - var layer = context.surface().selectAll('.data-layer-osm'); - layer.interrupt(); - - layer - .transition() - .duration(250) - .style('opacity', 0) - .on('end interrupt', function () { - layer.classed('disabled', true); - dispatch.call('change'); - }); - } - - - drawOsm.enabled = function(_) { - if (!arguments.length) return enabled; - enabled = _; - - if (enabled) { - showLayer(); - } else { - hideLayer(); - } - - dispatch.call('change'); - return this; - }; - - - return drawOsm; - } - - function svgLayers(projection, context) { - var dispatch$$1 = dispatch('change'), - svg = select(null), - layers = [ - { id: 'osm', layer: svgOsm(projection, context, dispatch$$1) }, - { id: 'gpx', layer: svgGpx$$1(projection, context, dispatch$$1) }, - { id: 'mapillary-images', layer: svgMapillaryImages$$1(projection, context, dispatch$$1) }, - { id: 'mapillary-signs', layer: svgMapillarySigns(projection, context, dispatch$$1) }, - { id: 'openstreetcam-images', layer: svgOpenstreetcamImages$$1(projection, context, dispatch$$1) }, - { id: 'debug', layer: svgDebug$$1(projection, context, dispatch$$1) } - ]; - - - function drawLayers(selection$$1) { - svg = selection$$1.selectAll('.surface') - .data([0]); - - svg = svg.enter() - .append('svg') - .attr('class', 'surface') - .merge(svg); - - var defs = svg.selectAll('.surface-defs') - .data([0]); - - defs.enter() - .append('defs') - .attr('class', 'surface-defs'); - - var groups = svg.selectAll('.data-layer') - .data(layers); - - groups.exit() - .remove(); - - groups.enter() - .append('g') - .attr('class', function(d) { return 'data-layer data-layer-' + d.id; }) - .merge(groups) - .each(function(d) { select(this).call(d.layer); }); - } - - - drawLayers.all = function() { - return layers; - }; - - - drawLayers.layer = function(id) { - var obj = find$1(layers, function(o) {return o.id === id;}); - return obj && obj.layer; - }; - - - drawLayers.only = function(what) { - var arr = [].concat(what); - drawLayers.remove(difference(map$3(layers, 'id'), arr)); - return this; - }; - - - drawLayers.remove = function(what) { - var arr = [].concat(what); - arr.forEach(function(id) { - layers = reject(layers, function(o) {return o.id === id;}); - }); - dispatch$$1.call('change'); - return this; - }; - - - drawLayers.add = function(what) { - var arr = [].concat(what); - arr.forEach(function(obj) { - if ('id' in obj && 'layer' in obj) { - layers.push(obj); - } - }); - dispatch$$1.call('change'); - return this; - }; - - - drawLayers.dimensions = function(_) { - if (!arguments.length) return utilGetDimensions(svg); - utilSetDimensions(svg, _); - return this; - }; - - - return utilRebind(drawLayers, dispatch$$1, 'on'); - } - - function svgLines$$1(projection, context) { - var detected = utilDetect(); - - var highway_stack = { - motorway: 0, - motorway_link: 1, - trunk: 2, - trunk_link: 3, - primary: 4, - primary_link: 5, - secondary: 6, - tertiary: 7, - unclassified: 8, - residential: 9, - service: 10, - footway: 11 - }; - - - function drawTargets(selection, graph, entities, filter$$1) { - var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor '; - var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor '; - var getPath = svgPath(projection).geojson; - var activeID = context.activeID(); - - // The targets and nopes will be MultiLineString sub-segments of the ways - var data = { targets: [], nopes: [] }; - - entities.forEach(function(way) { - var features = svgSegmentWay(way, graph, activeID); - data.targets.push.apply(data.targets, features.passive); - data.nopes.push.apply(data.nopes, features.active); - }); - - - // Targets allow hover and vertex snapping - var targetData = data.targets.filter(getPath); - var targets = selection.selectAll('.line.target-allowed') - .filter(function(d) { return filter$$1(d.properties.entity); }) - .data(targetData, function key(d) { return d.id; }); - - // exit - targets.exit() - .remove(); - - // enter/update - targets.enter() - .append('path') - .merge(targets) - .attr('d', getPath) - .attr('class', function(d) { return 'way line target target-allowed ' + targetClass + d.id; }); - - - // NOPE - var nopeData = data.nopes.filter(getPath); - var nopes = selection.selectAll('.line.target-nope') - .filter(function(d) { return filter$$1(d.properties.entity); }) - .data(nopeData, function key(d) { return d.id; }); - - // exit - nopes.exit() - .remove(); - - // enter/update - nopes.enter() - .append('path') - .merge(nopes) - .attr('d', getPath) - .attr('class', function(d) { return 'way line target target-nope ' + nopeClass + d.id; }); - } - - - function drawLines(selection, graph, entities, filter$$1) { - - function waystack(a, b) { - var selected = context.selectedIDs(); - var scoreA = selected.indexOf(a.id) !== -1 ? 20 : 0; - var scoreB = selected.indexOf(b.id) !== -1 ? 20 : 0; - - if (a.tags.highway) { scoreA -= highway_stack[a.tags.highway]; } - if (b.tags.highway) { scoreB -= highway_stack[b.tags.highway]; } - return scoreA - scoreB; - } - - - function drawLineGroup(selection, klass, isSelected) { - // Note: Don't add `.selected` class in draw modes - var mode = context.mode(); - var isDrawing = mode && /^draw/.test(mode.id); - var selectedClass = (!isDrawing && isSelected) ? 'selected ' : ''; - - var lines = selection - .selectAll('path') - .filter(filter$$1) - .data(getPathData(isSelected), osmEntity$$1.key); - - lines.exit() - .remove(); - - // Optimization: Call expensive TagClasses only on enter selection. This - // works because osmEntity.key is defined to include the entity v attribute. - lines.enter() - .append('path') - .attr('class', function(d) { - var oldMPClass = oldMultiPolygonOuters[d.id] ? 'old-multipolygon ' : ''; - return 'way line ' + klass + ' ' + selectedClass + oldMPClass + d.id; - }) - .call(svgTagClasses()) - .merge(lines) - .sort(waystack) - .attr('d', getPath) - .call(svgTagClasses().tags(svgRelationMemberTags(graph))); - - return selection; - } - - - function getPathData(isSelected) { - return function() { - var layer = this.parentNode.__data__; - var data = pathdata[layer] || []; - return data.filter(function(d) { - if (isSelected) - return context.selectedIDs().indexOf(d.id) !== -1; - else - return context.selectedIDs().indexOf(d.id) === -1; - }); - }; - } - - - var getPath = svgPath(projection, graph); - var ways = []; - var pathdata = {}; - var onewaydata = {}; - var oldMultiPolygonOuters = {}; - - for (var i = 0; i < entities.length; i++) { - var entity = entities[i]; - var outer = osmSimpleMultipolygonOuterMember(entity, graph); - if (outer) { - ways.push(entity.mergeTags(outer.tags)); - oldMultiPolygonOuters[outer.id] = true; - } else if (entity.geometry(graph) === 'line') { - ways.push(entity); - } - } - - ways = ways.filter(getPath); - pathdata = groupBy(ways, function(way) { return way.layer(); }); - - forOwn(pathdata, function(v, k) { - var arr = filter(v, function(d) { return d.isOneWay(); }); - onewaydata[k] = flatten(map$3(arr, svgOneWaySegments(projection, graph, 35))); - }); - - - var covered = selection.selectAll('.layer-covered'); // under areas - var uncovered = selection.selectAll('.layer-lines .layer-lines-lines'); // over areas - - [covered, uncovered].forEach(function(selection) { - var range$$1 = (selection === covered ? range(-10,0) : range(0,11)); - var layergroup = selection - .selectAll('g.layergroup') - .data(range$$1); - - layergroup = layergroup.enter() - .append('g') - .attr('class', function(d) { return 'layergroup layer' + String(d); }) - .merge(layergroup); - - layergroup - .selectAll('g.linegroup') - .data(['shadow', 'casing', 'stroke', 'shadow-highlighted', 'casing-highlighted', 'stroke-highlighted']) - .enter() - .append('g') - .attr('class', function(d) { return 'linegroup line-' + d; }); - - layergroup.selectAll('g.line-shadow') - .call(drawLineGroup, 'shadow', false); - layergroup.selectAll('g.line-casing') - .call(drawLineGroup, 'casing', false); - layergroup.selectAll('g.line-stroke') - .call(drawLineGroup, 'stroke', false); - - layergroup.selectAll('g.line-shadow-highlighted') - .call(drawLineGroup, 'shadow', true); - layergroup.selectAll('g.line-casing-highlighted') - .call(drawLineGroup, 'casing', true); - layergroup.selectAll('g.line-stroke-highlighted') - .call(drawLineGroup, 'stroke', true); - - - var onewaygroup = layergroup - .selectAll('g.onewaygroup') - .data(['oneway']); - - onewaygroup = onewaygroup.enter() - .append('g') - .attr('class', 'onewaygroup') - .merge(onewaygroup); - - var oneways = onewaygroup - .selectAll('path') - .filter(filter$$1) - .data( - function data() { return onewaydata[this.parentNode.__data__] || []; }, - function key(d) { return [d.id, d.index]; } - ); - - oneways.exit() - .remove(); - - oneways = oneways.enter() - .append('path') - .attr('class', 'oneway') - .attr('marker-mid', 'url(#oneway-marker)') - .merge(oneways) - .attr('d', function(d) { return d.d; }); - - if (detected.ie) { - oneways.each(function() { this.parentNode.insertBefore(this, this); }); - } - }); - - // touch targets - selection.selectAll('.layer-lines .layer-lines-targets') - .call(drawTargets, graph, ways, filter$$1); - } - - - return drawLines; - } - - function svgMidpoints$$1(projection, context) { - var targetRadius = 8; - - function drawTargets(selection, graph, entities, filter) { - var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor '; - var getTransform = svgPointTransform(projection).geojson; - - var data = entities.map(function(midpoint) { - return { - type: 'Feature', - id: midpoint.id, - properties: { - target: true, - entity: midpoint - }, - geometry: { - type: 'Point', - coordinates: midpoint.loc - } - }; - }); - - var targets = selection.selectAll('.midpoint.target') - .filter(function(d) { return filter(d.properties.entity); }) - .data(data, function key(d) { return d.id; }); - - // exit - targets.exit() - .remove(); - - // enter/update - targets.enter() - .append('circle') - .attr('r', targetRadius) - .merge(targets) - .attr('class', function(d) { return 'node midpoint target ' + fillClass + d.id; }) - .attr('transform', getTransform); - } - - - function drawMidpoints(selection, graph, entities, filter, extent) { - var layer = selection.selectAll('.layer-points .layer-points-midpoints'); - - var mode = context.mode(); - if (mode && mode.id !== 'select') { - layer.selectAll('g.midpoint') - .remove(); - - selection.selectAll('.layer-points .layer-points-targets .midpoint.target') - .remove(); - - return; - } - - var poly = extent.polygon(); - var midpoints = {}; - - for (var i = 0; i < entities.length; i++) { - var entity = entities[i]; - - if (entity.type !== 'way') - continue; - if (!filter(entity)) - continue; - if (context.selectedIDs().indexOf(entity.id) < 0) - continue; - - var nodes = graph.childNodes(entity); - for (var j = 0; j < nodes.length - 1; j++) { - - var a = nodes[j]; - var b = nodes[j + 1]; - var id = [a.id, b.id].sort().join('-'); - - if (midpoints[id]) { - midpoints[id].parents.push(entity); - } else { - if (geoVecLength(projection(a.loc), projection(b.loc)) > 40) { - var point = geoVecInterp(a.loc, b.loc, 0.5); - var loc = null; - - if (extent.intersects(point)) { - loc = point; - } else { - for (var k = 0; k < 4; k++) { - point = geoLineIntersection([a.loc, b.loc], [poly[k], poly[k + 1]]); - if (point && - geoVecLength(projection(a.loc), projection(point)) > 20 && - geoVecLength(projection(b.loc), projection(point)) > 20) - { - loc = point; - break; - } - } - } - - if (loc) { - midpoints[id] = { - type: 'midpoint', - id: id, - loc: loc, - edge: [a.id, b.id], - parents: [entity] - }; - } - } - } - } - } - - - function midpointFilter(d) { - if (midpoints[d.id]) - return true; - - for (var i = 0; i < d.parents.length; i++) { - if (filter(d.parents[i])) { - return true; - } - } - - return false; - } - - - var groups = layer - .selectAll('g.midpoint') - .filter(midpointFilter) - .data(values$1(midpoints), function(d) { return d.id; }); - - groups.exit() - .remove(); - - var enter = groups.enter() - .insert('g', ':first-child') - .attr('class', 'midpoint'); - - enter - .append('polygon') - .attr('points', '-6,8 10,0 -6,-8') - .attr('class', 'shadow'); - - enter - .append('polygon') - .attr('points', '-3,4 5,0 -3,-4') - .attr('class', 'fill'); - - groups = groups - .merge(enter) - .attr('transform', function(d) { - var translate = svgPointTransform(projection); - var a = graph.entity(d.edge[0]); - var b = graph.entity(d.edge[1]); - var angle = geoAngle(a, b, projection) * (180 / Math.PI); - return translate(d) + ' rotate(' + angle + ')'; - }) - .call(svgTagClasses().tags( - function(d) { return d.parents[0].tags; } - )); - - // Propagate data bindings. - groups.select('polygon.shadow'); - groups.select('polygon.fill'); - - - // Draw touch targets.. - selection.selectAll('.layer-points .layer-points-targets') - .call(drawTargets, graph, values$1(midpoints), midpointFilter); - } - - return drawMidpoints; - } - - // Touch targets control which other vertices we can drag a vertex onto. - // - // - the activeID - nope - // - 1 away (adjacent) to the activeID - yes (vertices will be merged) - // - 2 away from the activeID - nope (would create a self intersecting segment) - // - all others on a linear way - yes - // - all others on a closed way - nope (would create a self intersecting polygon) - // - // returns - // 0 = active vertex - no touch/connect - // 1 = passive vertex - yes touch/connect - // 2 = adjacent vertex - yes but pay attention segmenting a line here - // - function svgPassiveVertex(node, graph, activeID) { - if (!activeID) return 1; - if (activeID === node.id) return 0; - - var parents = graph.parentWays(node); - - for (var i = 0; i < parents.length; i++) { - var nodes = parents[i].nodes; - var isClosed = parents[i].isClosed(); - for (var j = 0; j < nodes.length; j++) { // find this vertex, look nearby - if (nodes[j] === node.id) { - var ix1 = j - 2; - var ix2 = j - 1; - var ix3 = j + 1; - var ix4 = j + 2; - - if (isClosed) { // wraparound if needed - var max = nodes.length - 1; - if (ix1 < 0) ix1 = max + ix1; - if (ix2 < 0) ix2 = max + ix2; - if (ix3 > max) ix3 = ix3 - max; - if (ix4 > max) ix4 = ix4 - max; - } - - if (nodes[ix1] === activeID) return 0; // no - prevent self intersect - else if (nodes[ix2] === activeID) return 2; // ok - adjacent - else if (nodes[ix3] === activeID) return 2; // ok - adjacent - else if (nodes[ix4] === activeID) return 0; // no - prevent self intersect - else if (isClosed && nodes.indexOf(activeID) !== -1) return 0; // no - prevent self intersect - } - } - } - - return 1; // ok - } - - - function svgOneWaySegments(projection$$1, graph, dt) { - return function(entity) { - var i = 0; - var offset = dt; - var segments = []; - var clip = d3_geoIdentity().clipExtent(projection$$1.clipExtent()).stream; - var coordinates = graph.childNodes(entity).map(function(n) { return n.loc; }); - var a, b; - - if (entity.tags.oneway === '-1') { - coordinates.reverse(); - } - - var isReversible = (entity.tags.oneway === 'reversible' || entity.tags.oneway === 'alternating'); - - geoStream({ - type: 'LineString', - coordinates: coordinates - }, projection$$1.stream(clip({ - lineStart: function() {}, - lineEnd: function() { a = null; }, - point: function(x, y) { - b = [x, y]; - - if (a) { - var span = geoVecLength(a, b) - offset; - - if (span >= 0) { - var heading = geoVecAngle(a, b); - var dx = dt * Math.cos(heading); - var dy = dt * Math.sin(heading); - var p = [ - a[0] + offset * Math.cos(heading), - a[1] + offset * Math.sin(heading) - ]; - - // gather coordinates - var coord = [a, p]; - for (span -= dt; span >= 0; span -= dt) { - p = geoVecAdd(p, [dx, dy]); - coord.push(p); - } - coord.push(b); - - // generate svg paths - var segment = ''; - var j; - - for (j = 0; j < coord.length; j++) { - segment += (j === 0 ? 'M' : 'L') + coord[j][0] + ',' + coord[j][1]; - } - segments.push({ id: entity.id, index: i++, d: segment }); - - if (isReversible) { - segment = ''; - for (j = coord.length - 1; j >= 0; j--) { - segment += (j === coord.length - 1 ? 'M' : 'L') + coord[j][0] + ',' + coord[j][1]; - } - segments.push({ id: entity.id, index: i++, d: segment }); - } - } - - offset = -span; - } - - a = b; - } - }))); - - return segments; - }; - } - - - function svgPath(projection$$1, graph, isArea) { - - // Explanation of magic numbers: - // "padding" here allows space for strokes to extend beyond the viewport, - // so that the stroke isn't drawn along the edge of the viewport when - // the shape is clipped. - // - // When drawing lines, pad viewport by 5px. - // When drawing areas, pad viewport by 65px in each direction to allow - // for 60px area fill stroke (see ".fill-partial path.fill" css rule) - - var cache = {}; - var padding = isArea ? 65 : 5; - var viewport = projection$$1.clipExtent(); - var paddedExtent = [ - [viewport[0][0] - padding, viewport[0][1] - padding], - [viewport[1][0] + padding, viewport[1][1] + padding] - ]; - var clip = d3_geoIdentity().clipExtent(paddedExtent).stream; - var project = projection$$1.stream; - var path = d3_geoPath() - .projection({stream: function(output) { return project(clip(output)); }}); - - var svgpath = function(entity) { - if (entity.id in cache) { - return cache[entity.id]; - } else { - return cache[entity.id] = path(entity.asGeoJSON(graph)); - } - }; - - svgpath.geojson = path; - - return svgpath; - } - - - function svgPointTransform(projection$$1) { - var svgpoint = function(entity) { - // http://jsperf.com/short-array-join - var pt = projection$$1(entity.loc); - return 'translate(' + pt[0] + ',' + pt[1] + ')'; - }; - - svgpoint.geojson = function(d) { - return svgpoint(d.properties.entity); - }; - - return svgpoint; - } - - - function svgRelationMemberTags(graph) { - return function(entity) { - var tags = entity.tags; - graph.parentRelations(entity).forEach(function(relation) { - var type = relation.tags.type; - if (type === 'multipolygon' || type === 'boundary') { - tags = assignIn({}, relation.tags, tags); - } - }); - return tags; - }; - } - - - function svgSegmentWay(way, graph, activeID) { - var isActiveWay = (way.nodes.indexOf(activeID) !== -1); - var features = { passive: [], active: [] }; - var start = {}; - var end = {}; - var node, type; - - for (var i = 0; i < way.nodes.length; i++) { - node = graph.entity(way.nodes[i]); - type = svgPassiveVertex(node, graph, activeID); - end = { node: node, type: type }; - - if (start.type !== undefined) { - if (start.node.id === activeID || end.node.id === activeID) ; else if (isActiveWay && (start.type === 2 || end.type === 2)) { // one adjacent vertex - pushActive(start, end, i); - } else if (start.type === 0 && end.type === 0) { // both active vertices - pushActive(start, end, i); - } else { - pushPassive(start, end, i); - } - } - - start = end; - } - - return features; - - - function pushActive(start, end, index) { - features.active.push({ - type: 'Feature', - id: way.id + '-' + index + '-nope', - properties: { - nope: true, - target: true, - entity: way, - nodes: [start.node, end.node], - index: index - }, - geometry: { - type: 'LineString', - coordinates: [start.node.loc, end.node.loc] - } - }); - } - - function pushPassive(start, end, index) { - features.passive.push({ - type: 'Feature', - id: way.id + '-' + index, - properties: { - target: true, - entity: way, - nodes: [start.node, end.node], - index: index - }, - geometry: { - type: 'LineString', - coordinates: [start.node.loc, end.node.loc] - } - }); - } - } - - function svgPoints$$1(projection, context) { - - function markerPath(selection, klass) { - selection - .attr('class', klass) - .attr('transform', 'translate(-8, -23)') - .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z'); - } - - function sortY(a, b) { - return b.loc[1] - a.loc[1]; - } - - - // Avoid exit/enter if we're just moving stuff around. - // The node will get a new version but we only need to run the update selection. - function fastEntityKey(d) { - var mode = context.mode(); - var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id); - return isMoving ? d.id : osmEntity$$1.key(d); - } - - - function drawTargets(selection, graph, entities, filter) { - var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor '; - var getTransform = svgPointTransform(projection).geojson; - var activeID = context.activeID(); - var data$$1 = []; - - entities.forEach(function(node) { - if (activeID === node.id) return; // draw no target on the activeID - - data$$1.push({ - type: 'Feature', - id: node.id, - properties: { - target: true, - entity: node - }, - geometry: node.asGeoJSON() - }); - }); - - var targets = selection.selectAll('.point.target') - .filter(function(d) { return filter(d.properties.entity); }) - .data(data$$1, function key(d) { return d.id; }); - - // exit - targets.exit() - .remove(); - - // enter/update - targets.enter() - .append('rect') - .attr('x', -10) - .attr('y', -26) - .attr('width', 20) - .attr('height', 30) - .merge(targets) - .attr('class', function(d) { return 'node point target ' + fillClass + d.id; }) - .attr('transform', getTransform); - } - - - function drawPoints(selection, graph, entities, filter) { - var wireframe = context.surface().classed('fill-wireframe'); - var zoom = geoScaleToZoom(projection.scale()); - - // points with a direction will render as vertices at higher zooms - function renderAsPoint(entity) { - return entity.geometry(graph) === 'point' && - !(zoom >= 18 && entity.directions(graph, projection).length); - } - - // all points will render as vertices in wireframe mode too - var points = wireframe ? [] : entities.filter(renderAsPoint); - - points.sort(sortY); - - - var layer = selection.selectAll('.layer-points .layer-points-points'); - - var groups = layer.selectAll('g.point') - .filter(filter) - .data(points, fastEntityKey); - - groups.exit() - .remove(); - - var enter = groups.enter() - .append('g') - .attr('class', function(d) { return 'node point ' + d.id; }) - .order(); - - enter - .append('path') - .call(markerPath, 'shadow'); - - enter - .append('ellipse') - .attr('cx', 0.5) - .attr('cy', 1) - .attr('rx', 6.5) - .attr('ry', 3) - .attr('class', 'stroke'); - - enter - .append('path') - .call(markerPath, 'stroke'); - - enter - .append('use') - .attr('transform', 'translate(-5, -19)') - .attr('class', 'icon') - .attr('width', '11px') - .attr('height', '11px'); - - groups = groups - .merge(enter) - .attr('transform', svgPointTransform(projection)) - .call(svgTagClasses()); - - // Selecting the following implicitly - // sets the data (point entity) on the element - groups.select('.shadow'); - groups.select('.stroke'); - groups.select('.icon') - .attr('xlink:href', function(entity) { - var preset = context.presets().match(entity, graph); - var picon = preset && preset.icon; - - if (!picon) - return ''; - else { - var isMaki = dataFeatureIcons.indexOf(picon) !== -1; - return '#' + picon + (isMaki ? '-11' : ''); - } - }); - - - // touch targets - selection.selectAll('.layer-points .layer-points-targets') - .call(drawTargets, graph, points, filter); - } - - - return drawPoints; - } - - function svgTagClasses() { - var primaries = [ - 'building', 'highway', 'railway', 'waterway', 'aeroway', - 'motorway', 'boundary', 'power', 'amenity', 'natural', 'landuse', - 'leisure', 'military', 'place' - ], - statuses = [ - 'proposed', 'construction', 'disused', 'abandoned', 'dismantled', - 'razed', 'demolished', 'obliterated', 'intermittent' - ], - secondaries = [ - 'oneway', 'bridge', 'tunnel', 'embankment', 'cutting', 'barrier', - 'surface', 'tracktype', 'crossing', 'service', 'sport' - ], - tagClassRe = /^tag-/, - tags = function(entity) { return entity.tags; }; - - - var tagClasses = function(selection$$1) { - selection$$1.each(function tagClassesEach(entity) { - var value = this.className, - classes, primary, status; - - if (value.baseVal !== undefined) value = value.baseVal; - - classes = value.trim().split(/\s+/).filter(function(name) { - return name.length && !tagClassRe.test(name); - }).join(' '); - - var t = tags(entity), i, k, v; - - // pick at most one primary classification tag.. - for (i = 0; i < primaries.length; i++) { - k = primaries[i]; - v = t[k]; - if (!v || v === 'no') continue; - - primary = k; - if (statuses.indexOf(v) !== -1) { // e.g. `railway=abandoned` - status = v; - classes += ' tag-' + k; - } else { - classes += ' tag-' + k + ' tag-' + k + '-' + v; - } - - break; - } - - // add at most one status tag, only if relates to primary tag.. - if (!status) { - for (i = 0; i < statuses.length; i++) { - k = statuses[i]; - v = t[k]; - if (!v || v === 'no') continue; - - if (v === 'yes') { // e.g. `railway=rail + abandoned=yes` - status = k; - } - else if (primary && primary === v) { // e.g. `railway=rail + abandoned=railway` - status = k; - } else if (!primary && primaries.indexOf(v) !== -1) { // e.g. `abandoned=railway` - status = k; - primary = v; - classes += ' tag-' + v; - } // else ignore e.g. `highway=path + abandoned=railway` - - if (status) break; - } - } - - if (status) { - classes += ' tag-status tag-status-' + status; - } - - // add any secondary (structure) tags - for (i = 0; i < secondaries.length; i++) { - k = secondaries[i]; - v = t[k]; - if (!v || v === 'no') continue; - classes += ' tag-' + k + ' tag-' + k + '-' + v; - } - - // For highways, look for surface tagging.. - if (primary === 'highway') { - var paved = (t.highway !== 'track'); - for (k in t) { - v = t[k]; - if (k in osmPavedTags) { - paved = !!osmPavedTags[k][v]; - break; - } - } - if (!paved) { - classes += ' tag-unpaved'; - } - } - - classes = classes.trim(); - - if (classes !== value) { - select(this).attr('class', classes); - } - }); - }; - - - tagClasses.tags = function(_) { - if (!arguments.length) return tags; - tags = _; - return tagClasses; - }; - - return tagClasses; - } - - function svgTurns(projection) { - - return function drawTurns(selection, graph, turns) { - - function icon(turn) { - var u = turn.u ? '-u' : ''; - if (turn.no) return '#turn-no' + u; - if (turn.only) return '#turn-only' + u; - return '#turn-yes' + u; - } - - var layer = selection.selectAll('.data-layer-osm').selectAll('.layer-turns') - .data([0]); - - layer = layer.enter() - .append('g') - .attr('class', 'layer-osm layer-turns') - .merge(layer); - - - var groups = layer.selectAll('g.turn') - .data(turns, function(d) { return d.key; }); - - groups.exit() - .remove(); - - - var enter = groups.enter() - .append('g') - .attr('class', function(d) { return 'turn ' + d.key; }); - - var nEnter = enter - .filter(function(d) { return !d.u; }); - - nEnter.append('rect') - .attr('transform', 'translate(-22, -12)') - .attr('width', '44') - .attr('height', '24'); - - nEnter.append('use') - .attr('transform', 'translate(-22, -12)') - .attr('width', '44') - .attr('height', '24'); - - - var uEnter = enter - .filter(function(d) { return d.u; }); - - uEnter.append('circle') - .attr('r', '16'); - - uEnter.append('use') - .attr('transform', 'translate(-16, -16)') - .attr('width', '32') - .attr('height', '32'); - - - groups = groups - .merge(enter); - - groups - .attr('opacity', function(d) { - return d.direct === false ? '0.7' : null; - }) - .attr('transform', function(d) { - var pxRadius = 50; - var toWay = graph.entity(d.to.way); - var toPoints = graph.childNodes(toWay) - .map(function (n) { return n.loc; }) - .map(projection); - var toLength = geoPathLength(toPoints); - var mid = toLength / 2; // midpoint of destination way - - var toNode = graph.entity(d.to.node); - var toVertex = graph.entity(d.to.vertex); - var a = geoAngle(toVertex, toNode, projection); - var o = projection(toVertex.loc); - var r = d.u ? 0 // u-turn: no radius - : !toWay.__via ? pxRadius // leaf way: put marker at pxRadius - : Math.min(mid, pxRadius); // via way: prefer pxRadius, fallback to mid for very short ways - - return 'translate(' + (r * Math.cos(a) + o[0]) + ',' + (r * Math.sin(a) + o[1]) + ') ' + - 'rotate(' + a * 180 / Math.PI + ')'; - }); - - groups.select('use') - .attr('xlink:href', icon); - - groups.select('rect'); - groups.select('circle'); - - return this; - }; - } - - function svgVertices$$1(projection, context) { - var radiuses = { - // z16-, z17, z18+, w/icon - shadow: [6, 7.5, 7.5, 12], - stroke: [2.5, 3.5, 3.5, 8], - fill: [1, 1.5, 1.5, 1.5] - }; - - var _currHoverTarget; - var _currPersistent = {}; - var _currHover = {}; - var _prevHover = {}; - var _currSelected = {}; - var _prevSelected = {}; - var _radii = {}; - - - function sortY(a, b) { - return b.loc[1] - a.loc[1]; - } - - // Avoid exit/enter if we're just moving stuff around. - // The node will get a new version but we only need to run the update selection. - function fastEntityKey(d) { - var mode = context.mode(); - var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id); - return isMoving ? d.id : osmEntity$$1.key(d); - } - - - function draw(selection$$1, graph, vertices, sets, filter) { - sets = sets || { selected: {}, important: {}, hovered: {} }; - - var icons = {}; - var directions = {}; - var wireframe = context.surface().classed('fill-wireframe'); - var zoom = geoScaleToZoom(projection.scale()); - var z = (zoom < 17 ? 0 : zoom < 18 ? 1 : 2); - - - function getIcon(entity) { - if (entity.id in icons) return icons[entity.id]; - - icons[entity.id] = - entity.hasInterestingTags() && - context.presets().match(entity, graph).icon; - return icons[entity.id]; - } - - - // memoize directions results, return false for empty arrays (for use in filter) - function getDirections(entity) { - if (entity.id in directions) return directions[entity.id]; - - var angles = entity.directions(graph, projection); - directions[entity.id] = angles.length ? angles : false; - return angles; - } - - - function updateAttributes(selection$$1) { - ['shadow', 'stroke', 'fill'].forEach(function(klass) { - var rads = radiuses[klass]; - selection$$1.selectAll('.' + klass) - .each(function(entity) { - var i = z && getIcon(entity); - var r = rads[i ? 3 : z]; - - // slightly increase the size of unconnected endpoints #3775 - if (entity.isEndpoint(graph) && !entity.isConnected(graph)) { - r += 1.5; - } - - if (klass === 'shadow') { // remember this value, so we don't need to - _radii[entity.id] = r; // recompute it when we draw the touch targets - } - - select(this) - .attr('r', r) - .attr('visibility', (i && klass === 'fill') ? 'hidden' : null); - }); - }); - - selection$$1.selectAll('use') - .attr('visibility', (z === 0 ? 'hidden' : null)); - } - - vertices.sort(sortY); - - var groups = selection$$1.selectAll('g.vertex') - .filter(filter) - .data(vertices, fastEntityKey); - - // exit - groups.exit() - .remove(); - - // enter - var enter = groups.enter() - .append('g') - .attr('class', function(d) { return 'node vertex ' + d.id; }) - .order(); - - enter - .append('circle') - .attr('class', 'shadow'); - - enter - .append('circle') - .attr('class', 'stroke'); - - // Vertices with icons get a `use`. - enter.filter(function(d) { return getIcon(d); }) - .append('use') - .attr('class', 'icon') - .attr('width', '11px') - .attr('height', '11px') - .attr('transform', 'translate(-5.5, -5.5)') - .attr('xlink:href', function(d) { - var picon = getIcon(d); - var isMaki = dataFeatureIcons.indexOf(picon) !== -1; - return '#' + picon + (isMaki ? '-11' : ''); - }); - - // Vertices with tags get a fill. - enter.filter(function(d) { return d.hasInterestingTags(); }) - .append('circle') - .attr('class', 'fill'); - - // update - groups = groups - .merge(enter) - .attr('transform', svgPointTransform(projection)) - .classed('sibling', function(d) { return d.id in sets.selected; }) - .classed('shared', function(d) { return graph.isShared(d); }) - .classed('endpoint', function(d) { return d.isEndpoint(graph); }) - .call(updateAttributes); - - - // Directional vertices get viewfields - var dgroups = groups.filter(function(d) { return getDirections(d); }) - .selectAll('.viewfieldgroup') - .data(function data$$1(d) { return zoom >= 18 ? [d] : []; }, osmEntity$$1.key); - - // exit - dgroups.exit() - .remove(); - - // enter/update - dgroups = dgroups.enter() - .insert('g', '.shadow') - .attr('class', 'viewfieldgroup') - .merge(dgroups); - - var viewfields = dgroups.selectAll('.viewfield') - .data(getDirections, function key(d) { return d; }); - - // exit - viewfields.exit() - .remove(); - - // enter/update - viewfields.enter() - .append('path') - .attr('class', 'viewfield') - .attr('d', 'M0,0H0') - .merge(viewfields) - .attr('marker-start', 'url(#viewfield-marker' + (wireframe ? '-wireframe' : '') + ')') - .attr('transform', function(d) { return 'rotate(' + d + ')'; }); - } - - - function drawTargets(selection$$1, graph, entities, filter) { - var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor '; - var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor '; - var getTransform = svgPointTransform(projection).geojson; - var activeID = context.activeID(); - var data$$1 = { targets: [], nopes: [] }; - - entities.forEach(function(node) { - if (activeID === node.id) return; // draw no target on the activeID - - var vertexType = svgPassiveVertex(node, graph, activeID); - if (vertexType !== 0) { // passive or adjacent - allow to connect - data$$1.targets.push({ - type: 'Feature', - id: node.id, - properties: { - target: true, - entity: node - }, - geometry: node.asGeoJSON() - }); - } else { - data$$1.nopes.push({ - type: 'Feature', - id: node.id + '-nope', - properties: { - nope: true, - target: true, - entity: node - }, - geometry: node.asGeoJSON() - }); - } - }); - - - // Targets allow hover and vertex snapping - var targets = selection$$1.selectAll('.vertex.target-allowed') - .filter(function(d) { return filter(d.properties.entity); }) - .data(data$$1.targets, function key(d) { return d.id; }); - - // exit - targets.exit() - .remove(); - - // enter/update - targets.enter() - .append('circle') - .attr('r', function(d) { return (_radii[d.id] || radiuses.shadow[3]); }) - .merge(targets) - .attr('class', function(d) { return 'node vertex target target-allowed ' + targetClass + d.id; }) - .attr('transform', getTransform); - - - // NOPE - var nopes = selection$$1.selectAll('.vertex.target-nope') - .filter(function(d) { return filter(d.properties.entity); }) - .data(data$$1.nopes, function key(d) { return d.id; }); - - // exit - nopes.exit() - .remove(); - - // enter/update - nopes.enter() - .append('circle') - .attr('r', function(d) { return (_radii[d.properties.entity.id] || radiuses.shadow[3]); }) - .merge(nopes) - .attr('class', function(d) { return 'node vertex target target-nope ' + nopeClass + d.id; }) - .attr('transform', getTransform); - } - - - // Points can also render as vertices: - // 1. in wireframe mode or - // 2. at higher zooms if they have a direction - function renderAsVertex(entity, graph, wireframe, zoom) { - var geometry = entity.geometry(graph); - return geometry === 'vertex' || (geometry === 'point' && ( - wireframe || (zoom >= 18 && entity.directions(graph, projection).length) - )); - } - - - function getSiblingAndChildVertices(ids, graph, wireframe, zoom) { - var results = {}; - - function addChildVertices(entity) { - var geometry = entity.geometry(graph); - if (!context.features().isHiddenFeature(entity, graph, geometry)) { - var i; - if (entity.type === 'way') { - for (i = 0; i < entity.nodes.length; i++) { - var child = graph.hasEntity(entity.nodes[i]); - if (child) { - addChildVertices(child); - } - } - } else if (entity.type === 'relation') { - for (i = 0; i < entity.members.length; i++) { - var member = graph.hasEntity(entity.members[i].id); - if (member) { - addChildVertices(member); - } - } - } else if (renderAsVertex(entity, graph, wireframe, zoom)) { - results[entity.id] = entity; - } - } - } - - ids.forEach(function(id) { - var entity = graph.hasEntity(id); - if (!entity) return; - - if (entity.type === 'node') { - if (renderAsVertex(entity, graph, wireframe, zoom)) { - results[entity.id] = entity; - graph.parentWays(entity).forEach(function(entity) { - addChildVertices(entity); - }); - } - } else { // way, relation - addChildVertices(entity); - } - }); - - return results; - } - - - function drawVertices(selection$$1, graph, entities, filter, extent, fullRedraw) { - var wireframe = context.surface().classed('fill-wireframe'); - var zoom = geoScaleToZoom(projection.scale()); - var mode = context.mode(); - var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id); - - if (fullRedraw) { - _currPersistent = {}; - _radii = {}; - } - - // Collect important vertices from the `entities` list.. - // (during a paritial redraw, it will not contain everything) - for (var i = 0; i < entities.length; i++) { - var entity = entities[i]; - var geometry = entity.geometry(graph); - var keep = false; - - // a point that looks like a vertex.. - if ((geometry === 'point') && renderAsVertex(entity, graph, wireframe, zoom)) { - _currPersistent[entity.id] = entity; - keep = true; - - // a vertex of some importance.. - } else if (geometry === 'vertex' && - (entity.hasInterestingTags() || entity.isEndpoint(graph) || entity.isConnected(graph))) { - _currPersistent[entity.id] = entity; - keep = true; - } - - // whatever this is, it's not a persistent vertex.. - if (!keep && !fullRedraw) { - delete _currPersistent[entity.id]; - } - } - - // 3 sets of vertices to consider: - var sets = { - persistent: _currPersistent, // persistent = important vertices (render always) - selected: _currSelected, // selected + siblings of selected (render always) - hovered: _currHover // hovered + siblings of hovered (render only in draw modes) - }; - - var all = assign({}, (isMoving ? _currHover : {}), _currSelected, _currPersistent); - - // Draw the vertices.. - // The filter function controls the scope of what objects d3 will touch (exit/enter/update) - // Adjust the filter function to expand the scope beyond whatever entities were passed in. - var filterRendered = function(d) { - return d.id in _currPersistent || d.id in _currSelected || d.id in _currHover || filter(d); - }; - selection$$1.selectAll('.layer-points .layer-points-vertices') - .call(draw, graph, currentVisible(all), sets, filterRendered); - - // Draw touch targets.. - // When drawing, render all targets (not just those affected by a partial redraw) - var filterTouch = function(d) { - return isMoving ? true : filterRendered(d); - }; - selection$$1.selectAll('.layer-points .layer-points-targets') - .call(drawTargets, graph, currentVisible(all), filterTouch); - - - function currentVisible(which) { - return Object.keys(which) - .map(graph.hasEntity, graph) // the current version of this entity - .filter(function (entity) { return entity && entity.intersects(extent, graph); }); - } - } - - - // partial redraw - only update the selected items.. - drawVertices.drawSelected = function(selection$$1, graph, extent) { - var wireframe = context.surface().classed('fill-wireframe'); - var zoom = geoScaleToZoom(projection.scale()); - - _prevSelected = _currSelected || {}; - _currSelected = getSiblingAndChildVertices(context.selectedIDs(), graph, wireframe, zoom); - - // note that drawVertices will add `_currSelected` automatically if needed.. - var filter = function(d) { return d.id in _prevSelected; }; - drawVertices(selection$$1, graph, values$1(_prevSelected), filter, extent, false); - }; - - - // partial redraw - only update the hovered items.. - drawVertices.drawHover = function(selection$$1, graph, target, extent) { - if (target === _currHoverTarget) return; // continue only if something changed - - var wireframe = context.surface().classed('fill-wireframe'); - var zoom = geoScaleToZoom(projection.scale()); - - _prevHover = _currHover || {}; - _currHoverTarget = target; - var entity = target && target.properties && target.properties.entity; - - if (entity) { - _currHover = getSiblingAndChildVertices([entity.id], graph, wireframe, zoom); - } else { - _currHover = {}; - } - - // note that drawVertices will add `_currHover` automatically if needed.. - var filter = function(d) { return d.id in _prevHover; }; - drawVertices(selection$$1, graph, values$1(_prevHover), filter, extent, false); - }; - - return drawVertices; - } - - function uiAccount(context) { - var osm = context.connection(); - - - function update(selection$$1) { - if (!osm) return; - - if (!osm.authenticated()) { - selection$$1.selectAll('#userLink, #logoutLink') - .classed('hide', true); - return; - } - - osm.userDetails(function(err, details) { - var userLink = selection$$1.select('#userLink'), - logoutLink = selection$$1.select('#logoutLink'); - - userLink.html(''); - logoutLink.html(''); - - if (err) return; - - selection$$1.selectAll('#userLink, #logoutLink') - .classed('hide', false); - - // Link - userLink.append('a') - .attr('href', osm.userURL(details.display_name)) - .attr('target', '_blank'); - - // Add thumbnail or dont - if (details.image_url) { - userLink.append('img') - .attr('class', 'icon pre-text user-icon') - .attr('src', details.image_url); - } else { - userLink - .call(svgIcon('#icon-avatar', 'pre-text light')); - } - - // Add user name - userLink.append('span') - .attr('class', 'label') - .text(details.display_name); - - logoutLink.append('a') - .attr('class', 'logout') - .attr('href', '#') - .text(t('logout')) - .on('click.logout', function() { - event.preventDefault(); - osm.logout(); - }); - }); - } - - - return function(selection$$1) { - selection$$1.append('li') - .attr('id', 'logoutLink') - .classed('hide', true); - - selection$$1.append('li') - .attr('id', 'userLink') - .classed('hide', true); - - if (osm) { - osm.on('change.account', function() { update(selection$$1); }); - update(selection$$1); - } - }; - } - - function uiAttribution(context) { - var selection$$1; - - - function attribution(data, klass) { - var div = selection$$1.selectAll('.' + klass) - .data([0]); - - div = div.enter() - .append('div') - .attr('class', klass) - .merge(div); - - - var background = div.selectAll('.attribution') - .data(data, function(d) { return d.name(); }); - - background.exit() - .remove(); - - background = background.enter() - .append('span') - .attr('class', 'attribution') - .each(function(d) { - if (d.terms_html) { - select(this) - .html(d.terms_html); - return; - } - - var selection$$1; - if (d.terms_url) { - selection$$1 = select(this) - .append('a') - .attr('href', d.terms_url) - .attr('target', '_blank'); - } else { - selection$$1 = select(this); - } - - - var id_safe = d.id.replace('.', ''); - var terms_text = t('imagery.' + id_safe + '.attribution.text', - { default: d.terms_text || d.id || d.name() } - ); - - if (d.icon && !d.overlay) { - selection$$1 - .append('img') - .attr('class', 'source-image') - .attr('src', d.icon); - } - - selection$$1 - .append('span') - .attr('class', 'attribution-text') - .text(terms_text); - }) - .merge(background); - - - var copyright = background.selectAll('.copyright-notice') - .data(function(d) { - var notice = d.copyrightNotices(context.map().zoom(), context.map().extent()); - return notice ? [notice] : []; - }); - - copyright.exit() - .remove(); - - copyright = copyright.enter() - .append('span') - .attr('class', 'copyright-notice') - .merge(copyright); - - copyright - .text(String); - } - - - function update() { - attribution([context.background().baseLayerSource()], 'base-layer-attribution'); - attribution(context.background().overlayLayerSources().filter(function (s) { - return s.validZoom(context.map().zoom()); - }), 'overlay-layer-attribution'); - } - - - return function(select$$1) { - selection$$1 = select$$1; - - context.background() - .on('change.attribution', update); - - context.map() - .on('move.attribution', throttle(update, 400, {leading: false})); - - update(); - }; - } - - // toggles the visibility of ui elements, using a combination of the - // hide class, which sets display=none, and a d3 transition for opacity. - // this will cause blinking when called repeatedly, so check that the - // value actually changes between calls. - function uiToggle(show, callback) { - return function(selection$$1) { - selection$$1 - .style('opacity', show ? 0 : 1) - .classed('hide', false) - .transition() - .style('opacity', show ? 1 : 0) - .on('end', function() { - select(this) - .classed('hide', !show) - .style('opacity', null); - if (callback) callback.apply(this); - }); - }; - } - - function uiDisclosure(context, key, expandedDefault) { - var dispatch$$1 = dispatch('toggled'), - _preference = (context.storage('disclosure.' + key + '.expanded')), - _expanded = (_preference === null ? !!expandedDefault : (_preference === 'true')), - _title, - _updatePreference = true, - _content = function () {}; - - - var disclosure = function(selection$$1) { - var hideToggle = selection$$1.selectAll('.hide-toggle-' + key) - .data([0]); - - // enter - var hideToggleEnter = hideToggle.enter() - .append('a') - .attr('href', '#') - .attr('class', 'hide-toggle hide-toggle-' + key) - .call(svgIcon('', 'pre-text', 'hide-toggle-icon')); - - hideToggleEnter - .append('span') - .attr('class', 'hide-toggle-text'); - - // update - hideToggle = hideToggleEnter - .merge(hideToggle); - - hideToggle - .on('click', toggle) - .classed('expanded', _expanded); - - hideToggle.selectAll('.hide-toggle-text') - .text(_title); - - hideToggle.selectAll('.hide-toggle-icon') - .attr('xlink:href', _expanded ? '#icon-down' - : (textDirection === 'rtl') ? '#icon-backward' : '#icon-forward' - ); - - - var wrap = selection$$1.selectAll('.disclosure-wrap') - .data([0]); - - wrap = wrap.enter() - .append('div') - .attr('class', 'disclosure-wrap disclosure-wrap-' + key) - .merge(wrap); - - wrap - .classed('hide', !_expanded) - .call(_content); - - - function toggle() { - event.preventDefault(); - - _expanded = !_expanded; - - if (_updatePreference) { - context.storage('disclosure.' + key + '.expanded', _expanded); - } - - hideToggle - .classed('expanded', _expanded); - - hideToggle.selectAll('.hide-toggle-icon') - .attr('xlink:href', _expanded ? '#icon-down' - : (textDirection === 'rtl') ? '#icon-backward' : '#icon-forward' - ); - - wrap - .call(uiToggle(_expanded)); - - dispatch$$1.call('toggled', this, _expanded); - } - }; - - - disclosure.title = function(_) { - if (!arguments.length) return _title; - _title = _; - return disclosure; - }; - - - disclosure.expanded = function(_) { - if (!arguments.length) return _expanded; - _expanded = _; - return disclosure; - }; - - - disclosure.updatePreference = function(_) { - if (!arguments.length) return _updatePreference; - _updatePreference = _; - return disclosure; - }; - - - disclosure.content = function(_) { - if (!arguments.length) return _content; - _content = _; - return disclosure; - }; - - - return utilRebind(disclosure, dispatch$$1, 'on'); - } - - function uiBackgroundDisplayOptions(context) { - var detected = utilDetect(); - var storedOpacity = context.storage('background-opacity'); - var minVal = 0.25; - var maxVal = detected.cssfilters ? 2 : 1; - - var sliders = detected.cssfilters - ? ['brightness', 'contrast', 'saturation', 'sharpness'] - : ['brightness']; - - var _options = { - brightness: (storedOpacity !== null ? (+storedOpacity) : 1), - contrast: 1, - saturation: 1, - sharpness: 1 - }; - - var _selection = select(null); - - - function clamp(x, min, max) { - return Math.max(min, Math.min(x, max)); - } - - - function updateValue(d, val) { - if (!val && event && event.target) { - val = event.target.value; - } - - val = clamp(val, minVal, maxVal); - - _options[d] = val; - context.background()[d](val); - - if (d === 'brightness') { - context.storage('background-opacity', val); - } - - _selection - .call(render); - } - - - function render(selection$$1) { - var container = selection$$1.selectAll('.display-options-container') - .data([0]); - - var containerEnter = container.enter() - .append('div') - .attr('class', 'display-options-container controls-list'); - - // add slider controls - var slidersEnter = containerEnter.selectAll('.display-control') - .data(sliders) - .enter() - .append('div') - .attr('class', function(d) { return 'display-control display-control-' + d; }); - - slidersEnter - .append('h5') - .text(function(d) { return t('background.' + d); }) - .append('span') - .attr('class', function(d) { return 'display-option-value display-option-value-' + d; }); - - slidersEnter - .append('input') - .attr('class', function(d) { return 'display-option-input display-option-input-' + d; }) - .attr('type', 'range') - .attr('min', minVal) - .attr('max', maxVal) - .attr('step', '0.05') - .on('input', function(d) { - var val = select(this).property('value'); - updateValue(d, val); - }); - - slidersEnter - .append('button') - .attr('title', t('background.reset')) - .attr('class', function(d) { return 'display-option-reset display-option-reset-' + d; }) - .on('click', function(d) { - if (event.button !== 0) return; - updateValue(d, 1); - }) - .call(svgIcon('#icon-' + (textDirection === 'rtl' ? 'redo' : 'undo'))); - - - // update - container = containerEnter - .merge(container); - - container.selectAll('.display-option-input') - .property('value', function(d) { return _options[d]; }); - - container.selectAll('.display-option-value') - .text(function(d) { return Math.floor(_options[d] * 100) + '%'; }); - - container.selectAll('.display-option-reset') - .classed('disabled', function(d) { return _options[d] === 1; }); - - // first time only, set brightness if needed - if (containerEnter.size() && _options.brightness !== 1) { - context.background().brightness(_options.brightness); - } - } - - - function backgroundDisplayOptions(selection$$1) { - _selection = selection$$1; - - selection$$1 - .call(uiDisclosure(context, 'background_display_options', true) - .title(t('background.display_options')) - .content(render) - ); - } - - - return backgroundDisplayOptions; - } - - function uiBackgroundOffset(context) { - var directions = [ - ['right', [0.5, 0]], - ['top', [0, -0.5]], - ['left', [-0.5, 0]], - ['bottom', [0, 0.5]] - ]; - - - function d3_eventCancel() { - event.stopPropagation(); - event.preventDefault(); - } - - - function updateValue() { - var meters = geoOffsetToMeters(context.background().offset()); - var x = +meters[0].toFixed(2); - var y = +meters[1].toFixed(2); - - d3_selectAll('.nudge-inner-rect') - .select('input') - .classed('error', false) - .property('value', x + ', ' + y); - - d3_selectAll('.nudge-reset') - .classed('disabled', function() { - return (x === 0 && y === 0); - }); - } - - - function resetOffset() { - context.background().offset([0, 0]); - updateValue(); - } - - - function nudge(d) { - context.background().nudge(d, context.map().zoom()); - updateValue(); - } - - - function clickNudgeButton(d) { - var interval; - var timeout = window.setTimeout(function() { - interval = window.setInterval(nudge.bind(null, d), 100); - }, 500); - - function doneNudge() { - window.clearTimeout(timeout); - window.clearInterval(interval); - select(window) - .on('mouseup.buttonoffset', null, true) - .on('mousedown.buttonoffset', null, true); - } - - select(window) - .on('mouseup.buttonoffset', doneNudge, true) - .on('mousedown.buttonoffset', doneNudge, true); - - nudge(d); - } - - - function inputOffset() { - var input = select(this); - var d = input.node().value; - - if (d === '') return resetOffset(); - - d = d.replace(/;/g, ',').split(',').map(function(n) { - // if n is NaN, it will always get mapped to false. - return !isNaN(n) && n; - }); - - if (d.length !== 2 || !d[0] || !d[1]) { - input.classed('error', true); - return; - } - - context.background().offset(geoMetersToOffset(d)); - updateValue(); - } - - - function dragOffset() { - event.preventDefault(); - if (event.button !== 0) return; - - var origin = [event.clientX, event.clientY]; - - context.container() - .append('div') - .attr('class', 'nudge-surface'); - - select(window) - .on('mousemove.offset', function() { - var latest = [event.clientX, event.clientY]; - var d = [ - -(origin[0] - latest[0]) / 4, - -(origin[1] - latest[1]) / 4 - ]; - - origin = latest; - nudge(d); - }) - .on('mouseup.offset', function() { - if (event.button !== 0) return; - d3_selectAll('.nudge-surface') - .remove(); - - select(window) - .on('mousemove.offset', null) - .on('mouseup.offset', null); - }); - } - - - function render(selection$$1) { - var container = selection$$1.selectAll('.nudge-container') - .data([0]); - - var containerEnter = container.enter() - .append('div') - .attr('class', 'nudge-container cf'); - - containerEnter - .append('div') - .attr('class', 'nudge-instructions') - .text(t('background.offset')); - - var nudgeEnter = containerEnter - .append('div') - .attr('class', 'nudge-outer-rect') - .on('mousedown', dragOffset); - - nudgeEnter - .append('div') - .attr('class', 'nudge-inner-rect') - .append('input') - .on('change', inputOffset); - - containerEnter - .append('div') - .selectAll('button') - .data(directions).enter() - .append('button') - .attr('class', function(d) { return d[0] + ' nudge'; }) - .on('contextmenu', d3_eventCancel) - .on('mousedown', function(d) { - if (event.button !== 0) return; - clickNudgeButton(d[1]); - }); - - containerEnter - .append('button') - .attr('title', t('background.reset')) - .attr('class', 'nudge-reset disabled') - .on('contextmenu', d3_eventCancel) - .on('click', function() { - if (event.button !== 0) return; - resetOffset(); - }) - .call(svgIcon('#icon-' + (textDirection === 'rtl' ? 'redo' : 'undo'))); - - updateValue(); - } - - - function backgroundOffset(selection$$1) { - selection$$1 - .call(uiDisclosure(context, 'background_offset', false) - .title(t('background.fix_misalignment')) - .content(render) - ); - } - - - context.background() - .on('change.backgroundOffset-update', updateValue); - - return backgroundOffset; - } - - var marked = createCommonjsModule(function (module, exports) { - (function(root) { - - /** - * Block-Level Grammar - */ - - var block = { - newline: /^\n+/, - code: /^( {4}[^\n]+\n*)+/, - fences: noop, - hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, - heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/, - nptable: noop, - blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, - list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, - html: /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/, - def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, - table: noop, - lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/, - paragraph: /^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/, - text: /^[^\n]+/ - }; - - block._label = /(?:\\[\[\]]|[^\[\]])+/; - block._title = /(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/; - block.def = edit(block.def) - .replace('label', block._label) - .replace('title', block._title) - .getRegex(); - - block.bullet = /(?:[*+-]|\d+\.)/; - block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/; - block.item = edit(block.item, 'gm') - .replace(/bull/g, block.bullet) - .getRegex(); - - block.list = edit(block.list) - .replace(/bull/g, block.bullet) - .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))') - .replace('def', '\\n+(?=' + block.def.source + ')') - .getRegex(); - - block._tag = '(?!(?:' - + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code' - + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo' - + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b'; - - block.html = edit(block.html) - .replace('comment', //) - .replace('closed', /<(tag)[\s\S]+?<\/\1>/) - .replace('closing', /\s]*)*?\/?>/) - .replace(/tag/g, block._tag) - .getRegex(); - - block.paragraph = edit(block.paragraph) - .replace('hr', block.hr) - .replace('heading', block.heading) - .replace('lheading', block.lheading) - .replace('tag', '<' + block._tag) - .getRegex(); - - block.blockquote = edit(block.blockquote) - .replace('paragraph', block.paragraph) - .getRegex(); - - /** - * Normal Block Grammar - */ - - block.normal = merge({}, block); - - /** - * GFM Block Grammar - */ - - block.gfm = merge({}, block.normal, { - fences: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/, - paragraph: /^/, - heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/ - }); - - block.gfm.paragraph = edit(block.paragraph) - .replace('(?!', '(?!' - + block.gfm.fences.source.replace('\\1', '\\2') + '|' - + block.list.source.replace('\\1', '\\3') + '|') - .getRegex(); - - /** - * GFM + Tables Block Grammar - */ - - block.tables = merge({}, block.gfm, { - nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/, - table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/ - }); - - /** - * Block Lexer - */ - - function Lexer(options) { - this.tokens = []; - this.tokens.links = {}; - this.options = options || marked.defaults; - this.rules = block.normal; - - if (this.options.gfm) { - if (this.options.tables) { - this.rules = block.tables; - } else { - this.rules = block.gfm; - } - } - } - - /** - * Expose Block Rules - */ - - Lexer.rules = block; - - /** - * Static Lex Method - */ - - Lexer.lex = function(src, options) { - var lexer = new Lexer(options); - return lexer.lex(src); - }; - - /** - * Preprocessing - */ - - Lexer.prototype.lex = function(src) { - src = src - .replace(/\r\n|\r/g, '\n') - .replace(/\t/g, ' ') - .replace(/\u00a0/g, ' ') - .replace(/\u2424/g, '\n'); - - return this.token(src, true); - }; - - /** - * Lexing - */ - - Lexer.prototype.token = function(src, top) { - src = src.replace(/^ +$/gm, ''); - var next, - loose, - cap, - bull, - b, - item, - space, - i, - tag, - l, - isordered; - - while (src) { - // newline - if (cap = this.rules.newline.exec(src)) { - src = src.substring(cap[0].length); - if (cap[0].length > 1) { - this.tokens.push({ - type: 'space' - }); - } - } - - // code - if (cap = this.rules.code.exec(src)) { - src = src.substring(cap[0].length); - cap = cap[0].replace(/^ {4}/gm, ''); - this.tokens.push({ - type: 'code', - text: !this.options.pedantic - ? cap.replace(/\n+$/, '') - : cap - }); - continue; - } - - // fences (gfm) - if (cap = this.rules.fences.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'code', - lang: cap[2], - text: cap[3] || '' - }); - continue; - } - - // heading - if (cap = this.rules.heading.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'heading', - depth: cap[1].length, - text: cap[2] - }); - continue; - } - - // table no leading pipe (gfm) - if (top && (cap = this.rules.nptable.exec(src))) { - src = src.substring(cap[0].length); - - item = { - type: 'table', - header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), - align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), - cells: cap[3].replace(/\n$/, '').split('\n') - }; - - for (i = 0; i < item.align.length; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = 'right'; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = 'center'; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = 'left'; - } else { - item.align[i] = null; - } - } - - for (i = 0; i < item.cells.length; i++) { - item.cells[i] = item.cells[i].split(/ *\| */); - } - - this.tokens.push(item); - - continue; - } - - // hr - if (cap = this.rules.hr.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'hr' - }); - continue; - } - - // blockquote - if (cap = this.rules.blockquote.exec(src)) { - src = src.substring(cap[0].length); - - this.tokens.push({ - type: 'blockquote_start' - }); - - cap = cap[0].replace(/^ *> ?/gm, ''); - - // Pass `top` to keep the current - // "toplevel" state. This is exactly - // how markdown.pl works. - this.token(cap, top); - - this.tokens.push({ - type: 'blockquote_end' - }); - - continue; - } - - // list - if (cap = this.rules.list.exec(src)) { - src = src.substring(cap[0].length); - bull = cap[2]; - isordered = bull.length > 1; - - this.tokens.push({ - type: 'list_start', - ordered: isordered, - start: isordered ? +bull : '' - }); - - // Get each top-level item. - cap = cap[0].match(this.rules.item); - - next = false; - l = cap.length; - i = 0; - - for (; i < l; i++) { - item = cap[i]; - - // Remove the list item's bullet - // so it is seen as the next token. - space = item.length; - item = item.replace(/^ *([*+-]|\d+\.) +/, ''); - - // Outdent whatever the - // list item contains. Hacky. - if (~item.indexOf('\n ')) { - space -= item.length; - item = !this.options.pedantic - ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') - : item.replace(/^ {1,4}/gm, ''); - } - - // Determine whether the next list item belongs here. - // Backpedal if it does not belong in this list. - if (this.options.smartLists && i !== l - 1) { - b = block.bullet.exec(cap[i + 1])[0]; - if (bull !== b && !(bull.length > 1 && b.length > 1)) { - src = cap.slice(i + 1).join('\n') + src; - i = l - 1; - } - } - - // Determine whether item is loose or not. - // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ - // for discount behavior. - loose = next || /\n\n(?!\s*$)/.test(item); - if (i !== l - 1) { - next = item.charAt(item.length - 1) === '\n'; - if (!loose) loose = next; - } - - this.tokens.push({ - type: loose - ? 'loose_item_start' - : 'list_item_start' - }); - - // Recurse. - this.token(item, false); - - this.tokens.push({ - type: 'list_item_end' - }); - } - - this.tokens.push({ - type: 'list_end' - }); - - continue; - } - - // html - if (cap = this.rules.html.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: this.options.sanitize - ? 'paragraph' - : 'html', - pre: !this.options.sanitizer - && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), - text: cap[0] - }); - continue; - } - - // def - if (top && (cap = this.rules.def.exec(src))) { - src = src.substring(cap[0].length); - if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); - tag = cap[1].toLowerCase(); - if (!this.tokens.links[tag]) { - this.tokens.links[tag] = { - href: cap[2], - title: cap[3] - }; - } - continue; - } - - // table (gfm) - if (top && (cap = this.rules.table.exec(src))) { - src = src.substring(cap[0].length); - - item = { - type: 'table', - header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), - align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), - cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n') - }; - - for (i = 0; i < item.align.length; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = 'right'; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = 'center'; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = 'left'; - } else { - item.align[i] = null; - } - } - - for (i = 0; i < item.cells.length; i++) { - item.cells[i] = item.cells[i] - .replace(/^ *\| *| *\| *$/g, '') - .split(/ *\| */); - } - - this.tokens.push(item); - - continue; - } - - // lheading - if (cap = this.rules.lheading.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'heading', - depth: cap[2] === '=' ? 1 : 2, - text: cap[1] - }); - continue; - } - - // top-level paragraph - if (top && (cap = this.rules.paragraph.exec(src))) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'paragraph', - text: cap[1].charAt(cap[1].length - 1) === '\n' - ? cap[1].slice(0, -1) - : cap[1] - }); - continue; - } - - // text - if (cap = this.rules.text.exec(src)) { - // Top-level should never reach here. - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'text', - text: cap[0] - }); - continue; - } - - if (src) { - throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); - } - } - - return this.tokens; - }; - - /** - * Inline-Level Grammar - */ - - var inline = { - escape: /^\\([\\`*{}\[\]()#+\-.!_>])/, - autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, - url: noop, - tag: /^|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/, - link: /^!?\[(inside)\]\(href\)/, - reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/, - nolink: /^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/, - strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/, - em: /^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/, - code: /^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/, - br: /^ {2,}\n(?!\s*$)/, - del: noop, - text: /^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/; - - inline.link = edit(inline.link) - .replace('inside', inline._inside) - .replace('href', inline._href) - .getRegex(); - - inline.reflink = edit(inline.reflink) - .replace('inside', inline._inside) - .getRegex(); - - /** - * Normal Inline Grammar - */ - - inline.normal = merge({}, inline); - - /** - * Pedantic Inline Grammar - */ - - inline.pedantic = merge({}, inline.normal, { - strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, - em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/ - }); - - /** - * GFM Inline Grammar - */ - - inline.gfm = merge({}, inline.normal, { - escape: edit(inline.escape).replace('])', '~|])').getRegex(), - url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/) - .replace('email', inline._email) - .getRegex(), - _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, - del: /^~~(?=\S)([\s\S]*?\S)~~/, - text: edit(inline.text) - .replace(']|', '~]|') - .replace('|', '|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&\'*+/=?^_`{\\|}~-]+@|') - .getRegex() - }); - - /** - * GFM + Line Breaks Inline Grammar - */ - - inline.breaks = merge({}, inline.gfm, { - br: edit(inline.br).replace('{2,}', '*').getRegex(), - text: edit(inline.gfm.text).replace('{2,}', '*').getRegex() - }); - - /** - * Inline Lexer & Compiler - */ - - function InlineLexer(links, options) { - this.options = options || marked.defaults; - this.links = links; - this.rules = inline.normal; - this.renderer = this.options.renderer || new Renderer(); - this.renderer.options = this.options; - - if (!this.links) { - throw new Error('Tokens array requires a `links` property.'); - } - - if (this.options.gfm) { - if (this.options.breaks) { - this.rules = inline.breaks; - } else { - this.rules = inline.gfm; - } - } else if (this.options.pedantic) { - this.rules = inline.pedantic; - } - } - - /** - * Expose Inline Rules - */ - - InlineLexer.rules = inline; - - /** - * Static Lexing/Compiling Method - */ - - InlineLexer.output = function(src, links, options) { - var inline = new InlineLexer(links, options); - return inline.output(src); - }; - - /** - * Lexing/Compiling - */ - - InlineLexer.prototype.output = function(src) { - var out = '', - link, - text, - href, - cap; - - while (src) { - // escape - if (cap = this.rules.escape.exec(src)) { - src = src.substring(cap[0].length); - out += cap[1]; - continue; - } - - // autolink - if (cap = this.rules.autolink.exec(src)) { - src = src.substring(cap[0].length); - if (cap[2] === '@') { - text = escape(this.mangle(cap[1])); - href = 'mailto:' + text; - } else { - text = escape(cap[1]); - href = text; - } - out += this.renderer.link(href, null, text); - continue; - } - - // url (gfm) - if (!this.inLink && (cap = this.rules.url.exec(src))) { - cap[0] = this.rules._backpedal.exec(cap[0])[0]; - src = src.substring(cap[0].length); - if (cap[2] === '@') { - text = escape(cap[0]); - href = 'mailto:' + text; - } else { - text = escape(cap[0]); - if (cap[1] === 'www.') { - href = 'http://' + text; - } else { - href = text; - } - } - out += this.renderer.link(href, null, text); - continue; - } - - // tag - if (cap = this.rules.tag.exec(src)) { - if (!this.inLink && /^/i.test(cap[0])) { - this.inLink = false; - } - src = src.substring(cap[0].length); - out += this.options.sanitize - ? this.options.sanitizer - ? this.options.sanitizer(cap[0]) - : escape(cap[0]) - : cap[0]; - continue; - } - - // link - if (cap = this.rules.link.exec(src)) { - src = src.substring(cap[0].length); - this.inLink = true; - out += this.outputLink(cap, { - href: cap[2], - title: cap[3] - }); - this.inLink = false; - continue; - } - - // reflink, nolink - if ((cap = this.rules.reflink.exec(src)) - || (cap = this.rules.nolink.exec(src))) { - src = src.substring(cap[0].length); - link = (cap[2] || cap[1]).replace(/\s+/g, ' '); - link = this.links[link.toLowerCase()]; - if (!link || !link.href) { - out += cap[0].charAt(0); - src = cap[0].substring(1) + src; - continue; - } - this.inLink = true; - out += this.outputLink(cap, link); - this.inLink = false; - continue; - } - - // strong - if (cap = this.rules.strong.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.strong(this.output(cap[2] || cap[1])); - continue; - } - - // em - if (cap = this.rules.em.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.em(this.output(cap[2] || cap[1])); - continue; - } - - // code - if (cap = this.rules.code.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.codespan(escape(cap[2].trim(), true)); - continue; - } - - // br - if (cap = this.rules.br.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.br(); - continue; - } - - // del (gfm) - if (cap = this.rules.del.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.del(this.output(cap[1])); - continue; - } - - // text - if (cap = this.rules.text.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.text(escape(this.smartypants(cap[0]))); - continue; - } - - if (src) { - throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); - } - } - - return out; - }; - - /** - * Compile Link - */ - - InlineLexer.prototype.outputLink = function(cap, link) { - var href = escape(link.href), - title = link.title ? escape(link.title) : null; - - return cap[0].charAt(0) !== '!' - ? this.renderer.link(href, title, this.output(cap[1])) - : this.renderer.image(href, title, escape(cap[1])); - }; - - /** - * Smartypants Transformations - */ - - InlineLexer.prototype.smartypants = function(text) { - if (!this.options.smartypants) return text; - return text - // em-dashes - .replace(/---/g, '\u2014') - // en-dashes - .replace(/--/g, '\u2013') - // opening singles - .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') - // closing singles & apostrophes - .replace(/'/g, '\u2019') - // opening doubles - .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') - // closing doubles - .replace(/"/g, '\u201d') - // ellipses - .replace(/\.{3}/g, '\u2026'); - }; - - /** - * Mangle Links - */ - - InlineLexer.prototype.mangle = function(text) { - if (!this.options.mangle) return text; - var out = '', - l = text.length, - i = 0, - ch; - - for (; i < l; i++) { - ch = text.charCodeAt(i); - if (Math.random() > 0.5) { - ch = 'x' + ch.toString(16); - } - out += '&#' + ch + ';'; - } - - return out; - }; - - /** - * Renderer - */ - - function Renderer(options) { - this.options = options || {}; - } - - Renderer.prototype.code = function(code, lang, escaped) { - if (this.options.highlight) { - var out = this.options.highlight(code, lang); - if (out != null && out !== code) { - escaped = true; - code = out; - } - } - - if (!lang) { - return '
'
-        + (escaped ? code : escape(code, true))
-        + '\n
'; - } - - return '
'
-      + (escaped ? code : escape(code, true))
-      + '\n
\n'; - }; - - Renderer.prototype.blockquote = function(quote) { - return '
\n' + quote + '
\n'; - }; - - Renderer.prototype.html = function(html) { - return html; - }; - - Renderer.prototype.heading = function(text, level, raw) { - return '' - + text - + '\n'; - }; - - Renderer.prototype.hr = function() { - return this.options.xhtml ? '
\n' : '
\n'; - }; - - Renderer.prototype.list = function(body, ordered, start) { - var type = ordered ? 'ol' : 'ul', - startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; - return '<' + type + startatt + '>\n' + body + '\n'; - }; - - Renderer.prototype.listitem = function(text) { - return '
  • ' + text + '
  • \n'; - }; - - Renderer.prototype.paragraph = function(text) { - return '

    ' + text + '

    \n'; - }; - - Renderer.prototype.table = function(header, body) { - return '\n' - + '\n' - + header - + '\n' - + '\n' - + body - + '\n' - + '
    \n'; - }; - - Renderer.prototype.tablerow = function(content) { - return '\n' + content + '\n'; - }; - - Renderer.prototype.tablecell = function(content, flags) { - var type = flags.header ? 'th' : 'td'; - var tag = flags.align - ? '<' + type + ' style="text-align:' + flags.align + '">' - : '<' + type + '>'; - return tag + content + '\n'; - }; - - // span level renderer - Renderer.prototype.strong = function(text) { - return '' + text + ''; - }; - - Renderer.prototype.em = function(text) { - return '' + text + ''; - }; - - Renderer.prototype.codespan = function(text) { - return '' + text + ''; - }; - - Renderer.prototype.br = function() { - return this.options.xhtml ? '
    ' : '
    '; - }; - - Renderer.prototype.del = function(text) { - return '' + text + ''; - }; - - Renderer.prototype.link = function(href, title, text) { - if (this.options.sanitize) { - try { - var prot = decodeURIComponent(unescape(href)) - .replace(/[^\w:]/g, '') - .toLowerCase(); - } catch (e) { - return text; - } - if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { - return text; - } - } - if (this.options.baseUrl && !originIndependentUrl.test(href)) { - href = resolveUrl(this.options.baseUrl, href); - } - var out = '
    '; - return out; - }; - - Renderer.prototype.image = function(href, title, text) { - if (this.options.baseUrl && !originIndependentUrl.test(href)) { - href = resolveUrl(this.options.baseUrl, href); - } - var out = '' + text + '' : '>'; - return out; - }; - - Renderer.prototype.text = function(text) { - return text; - }; - - /** - * TextRenderer - * returns only the textual part of the token - */ - - function TextRenderer() {} - - // no need for block level renderers - - TextRenderer.prototype.strong = - TextRenderer.prototype.em = - TextRenderer.prototype.codespan = - TextRenderer.prototype.del = - TextRenderer.prototype.text = function (text) { - return text; - }; - - TextRenderer.prototype.link = - TextRenderer.prototype.image = function(href, title, text) { - return '' + text; - }; - - TextRenderer.prototype.br = function() { - return ''; - }; - - /** - * Parsing & Compiling - */ - - function Parser(options) { - this.tokens = []; - this.token = null; - this.options = options || marked.defaults; - this.options.renderer = this.options.renderer || new Renderer(); - this.renderer = this.options.renderer; - this.renderer.options = this.options; - } - - /** - * Static Parse Method - */ - - Parser.parse = function(src, options) { - var parser = new Parser(options); - return parser.parse(src); - }; - - /** - * Parse Loop - */ - - Parser.prototype.parse = function(src) { - this.inline = new InlineLexer(src.links, this.options); - // use an InlineLexer with a TextRenderer to extract pure text - this.inlineText = new InlineLexer( - src.links, - merge({}, this.options, {renderer: new TextRenderer()}) - ); - this.tokens = src.reverse(); - - var out = ''; - while (this.next()) { - out += this.tok(); - } - - return out; - }; - - /** - * Next Token - */ - - Parser.prototype.next = function() { - return this.token = this.tokens.pop(); - }; - - /** - * Preview Next Token - */ - - Parser.prototype.peek = function() { - return this.tokens[this.tokens.length - 1] || 0; - }; - - /** - * Parse Text Tokens - */ - - Parser.prototype.parseText = function() { - var body = this.token.text; - - while (this.peek().type === 'text') { - body += '\n' + this.next().text; - } - - return this.inline.output(body); - }; - - /** - * Parse Current Token - */ - - Parser.prototype.tok = function() { - switch (this.token.type) { - case 'space': { - return ''; - } - case 'hr': { - return this.renderer.hr(); - } - case 'heading': { - return this.renderer.heading( - this.inline.output(this.token.text), - this.token.depth, - unescape(this.inlineText.output(this.token.text))); - } - case 'code': { - return this.renderer.code(this.token.text, - this.token.lang, - this.token.escaped); - } - case 'table': { - var header = '', - body = '', - i, - row, - cell, - j; - - // header - cell = ''; - for (i = 0; i < this.token.header.length; i++) { - cell += this.renderer.tablecell( - this.inline.output(this.token.header[i]), - { header: true, align: this.token.align[i] } - ); - } - header += this.renderer.tablerow(cell); - - for (i = 0; i < this.token.cells.length; i++) { - row = this.token.cells[i]; - - cell = ''; - for (j = 0; j < row.length; j++) { - cell += this.renderer.tablecell( - this.inline.output(row[j]), - { header: false, align: this.token.align[j] } - ); - } - - body += this.renderer.tablerow(cell); - } - return this.renderer.table(header, body); - } - case 'blockquote_start': { - body = ''; - - while (this.next().type !== 'blockquote_end') { - body += this.tok(); - } - - return this.renderer.blockquote(body); - } - case 'list_start': { - body = ''; - var ordered = this.token.ordered, - start = this.token.start; - - while (this.next().type !== 'list_end') { - body += this.tok(); - } - - return this.renderer.list(body, ordered, start); - } - case 'list_item_start': { - body = ''; - - while (this.next().type !== 'list_item_end') { - body += this.token.type === 'text' - ? this.parseText() - : this.tok(); - } - - return this.renderer.listitem(body); - } - case 'loose_item_start': { - body = ''; - - while (this.next().type !== 'list_item_end') { - body += this.tok(); - } - - return this.renderer.listitem(body); - } - case 'html': { - var html = !this.token.pre && !this.options.pedantic - ? this.inline.output(this.token.text) - : this.token.text; - return this.renderer.html(html); - } - case 'paragraph': { - return this.renderer.paragraph(this.inline.output(this.token.text)); - } - case 'text': { - return this.renderer.paragraph(this.parseText()); - } - } - }; - - /** - * Helpers - */ - - function escape(html, encode) { - return html - .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"') - .replace(/'/g, '''); - } - - function unescape(html) { - // explicitly match decimal, hex, and named HTML entities - return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, function(_, n) { - n = n.toLowerCase(); - if (n === 'colon') return ':'; - if (n.charAt(0) === '#') { - return n.charAt(1) === 'x' - ? String.fromCharCode(parseInt(n.substring(2), 16)) - : String.fromCharCode(+n.substring(1)); - } - return ''; - }); - } - - function edit(regex, opt) { - regex = regex.source; - opt = opt || ''; - return { - replace: function(name, val) { - val = val.source || val; - val = val.replace(/(^|[^\[])\^/g, '$1'); - regex = regex.replace(name, val); - return this; - }, - getRegex: function() { - return new RegExp(regex, opt); - } - }; - } - - function resolveUrl(base, href) { - if (!baseUrls[' ' + base]) { - // we can ignore everything in base after the last slash of its path component, - // but we might need to add _that_ - // https://tools.ietf.org/html/rfc3986#section-3 - if (/^[^:]+:\/*[^/]*$/.test(base)) { - baseUrls[' ' + base] = base + '/'; - } else { - baseUrls[' ' + base] = base.replace(/[^/]*$/, ''); - } - } - base = baseUrls[' ' + base]; - - if (href.slice(0, 2) === '//') { - return base.replace(/:[\s\S]*/, ':') + href; - } else if (href.charAt(0) === '/') { - return base.replace(/(:\/*[^/]*)[\s\S]*/, '$1') + href; - } else { - return base + href; - } - } - var baseUrls = {}; - var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; - - function noop() {} - noop.exec = noop; - - function merge(obj) { - var i = 1, - target, - key; - - for (; i < arguments.length; i++) { - target = arguments[i]; - for (key in target) { - if (Object.prototype.hasOwnProperty.call(target, key)) { - obj[key] = target[key]; - } - } - } - - return obj; - } - - /** - * Marked - */ - - function marked(src, opt, callback) { - // throw error in case of non string input - if (typeof src === 'undefined' || src === null) { - throw new Error('marked(): input parameter is undefined or null'); - } - if (typeof src !== 'string') { - throw new Error('marked(): input parameter is of type ' - + Object.prototype.toString.call(src) + ', string expected'); - } - - if (callback || typeof opt === 'function') { - if (!callback) { - callback = opt; - opt = null; - } - - opt = merge({}, marked.defaults, opt || {}); - - var highlight = opt.highlight, - tokens, - pending, - i = 0; - - try { - tokens = Lexer.lex(src, opt); - } catch (e) { - return callback(e); - } - - pending = tokens.length; - - var done = function(err) { - if (err) { - opt.highlight = highlight; - return callback(err); - } - - var out; - - try { - out = Parser.parse(tokens, opt); - } catch (e) { - err = e; - } - - opt.highlight = highlight; - - return err - ? callback(err) - : callback(null, out); - }; - - if (!highlight || highlight.length < 3) { - return done(); - } - - delete opt.highlight; - - if (!pending) return done(); - - for (; i < tokens.length; i++) { - (function(token) { - if (token.type !== 'code') { - return --pending || done(); - } - return highlight(token.text, token.lang, function(err, code) { - if (err) return done(err); - if (code == null || code === token.text) { - return --pending || done(); - } - token.text = code; - token.escaped = true; - --pending || done(); - }); - })(tokens[i]); - } - - return; - } - try { - if (opt) opt = merge({}, marked.defaults, opt); - return Parser.parse(Lexer.lex(src, opt), opt); - } catch (e) { - e.message += '\nPlease report this to https://github.com/markedjs/marked.'; - if ((opt || marked.defaults).silent) { - return '

    An error occurred:

    '
    -          + escape(e.message + '', true)
    -          + '
    '; - } - throw e; - } - } - - /** - * Options - */ - - marked.options = - marked.setOptions = function(opt) { - merge(marked.defaults, opt); - return marked; - }; - - marked.defaults = { - gfm: true, - tables: true, - breaks: false, - pedantic: false, - sanitize: false, - sanitizer: null, - mangle: true, - smartLists: false, - silent: false, - highlight: null, - langPrefix: 'lang-', - smartypants: false, - headerPrefix: '', - renderer: new Renderer(), - xhtml: false, - baseUrl: null - }; - - /** - * Expose - */ - - marked.Parser = Parser; - marked.parser = Parser.parse; - - marked.Renderer = Renderer; - marked.TextRenderer = TextRenderer; - - marked.Lexer = Lexer; - marked.lexer = Lexer.lex; - - marked.InlineLexer = InlineLexer; - marked.inlineLexer = InlineLexer.output; - - marked.parse = marked; - - { - module.exports = marked; - } - })(commonjsGlobal || (typeof window !== 'undefined' ? window : commonjsGlobal)); - }); - - function pointBox(loc, context) { - var rect = context.surfaceRect(); - var point$$1 = context.curtainProjection(loc); - return { - left: point$$1[0] + rect.left - 40, - top: point$$1[1] + rect.top - 60, - width: 80, - height: 90 - }; - } - - - function pad$1(locOrBox, padding, context) { - var box; - if (locOrBox instanceof Array) { - var rect = context.surfaceRect(); - var point$$1 = context.curtainProjection(locOrBox); - box = { - left: point$$1[0] + rect.left, - top: point$$1[1] + rect.top - }; - } else { - box = locOrBox; - } - - return { - left: box.left - padding, - top: box.top - padding, - width: (box.width || 0) + 2 * padding, - height: (box.width || 0) + 2 * padding - }; - } - - - function icon(name, svgklass, useklass) { - return '' + - ''; - } - - - function slugify(text) { - return text.toString().toLowerCase() - .replace(/\s+/g, '-') // Replace spaces with - - .replace(/[^\w\-]+/g, '') // Remove all non-word chars - .replace(/\-\-+/g, '-') // Replace multiple - with single - - .replace(/^-+/, '') // Trim - from start of text - .replace(/-+$/, ''); // Trim - from end of text - } - - - // console warning for missing walkthrough names - var missingStrings = {}; - function checkKey(key, text) { - if (t(key, { default: undefined}) === undefined) { - if (missingStrings.hasOwnProperty(key)) return; // warn once - missingStrings[key] = text; - var missing = key + ': ' + text; - if (typeof console !== 'undefined') console.log(missing); // eslint-disable-line - } - } - - - function localize(obj) { - var key; - - // Assign name if entity has one.. - var name = obj.tags && obj.tags.name; - if (name) { - key = 'intro.graph.name.' + slugify(name); - obj.tags.name = t(key, { default: name }); - checkKey(key, name); - } - - // Assign street name if entity has one.. - var street = obj.tags && obj.tags['addr:street']; - if (street) { - key = 'intro.graph.name.' + slugify(street); - obj.tags['addr:street'] = t(key, { default: street }); - checkKey(key, street); - - // Add address details common across walkthrough.. - var addrTags = [ - 'block_number', 'city', 'county', 'district', 'hamlet', 'neighbourhood', - 'postcode', 'province', 'quarter', 'state', 'subdistrict', 'suburb' - ]; - addrTags.forEach(function(k) { - var key = 'intro.graph.' + k, - tag = 'addr:' + k, - val = obj.tags && obj.tags[tag], - str = t(key, { default: val }); - - if (str) { - if (str.match(/^<.*>$/) !== null) { - delete obj.tags[tag]; - } else { - obj.tags[tag] = str; - } - } - }); - } - - return obj; - } - - - // Used to detect squareness.. some duplicataion of code from actionOrthogonalize. - function isMostlySquare(points) { - // note: uses 15 here instead of the 12 from actionOrthogonalize because - // actionOrthogonalize can actually straighten some larger angles as it iterates - var threshold = 15, // degrees within right or straight - lowerBound = Math.cos((90 - threshold) * Math.PI / 180), // near right - upperBound = Math.cos(threshold * Math.PI / 180), // near straight - mag; - - for (var i = 0; i < points.length; i++) { - mag = Math.abs(normalizedDotProduct(i, points)); - if (mag > lowerBound && mag < upperBound) { - return false; - } - } - - return true; - - - function normalizedDotProduct(i, points) { - var a = points[(i - 1 + points.length) % points.length], - b = points[i], - c = points[(i + 1) % points.length], - p = subtractPoints(a, b), - q = subtractPoints(c, b); - - p = normalizePoint(p); - q = normalizePoint(q); - - return p[0] * q[0] + p[1] * q[1]; - - - function subtractPoints(a, b) { - return [a[0] - b[0], a[1] - b[1]]; - } - - function normalizePoint(point$$1) { - var vector = [0, 0]; - var length = Math.sqrt(point$$1[0] * point$$1[0] + point$$1[1] * point$$1[1]); - if (length !== 0) { - vector[0] = point$$1[0] / length; - vector[1] = point$$1[1] / length; - } - return vector; - } - } - } - - - function selectMenuItem(operation) { - var selector$$1 = '.edit-menu .edit-menu-item-' + operation + - ', .radial-menu .radial-menu-item-' + operation; - return select(selector$$1); - } - - - function transitionTime(point1, point2) { - var distance = geoSphericalDistance(point1, point2); - if (distance === 0) - return 0; - else if (distance < 80) - return 500; - else - return 1000; - } - - var dataIntroGraph = { - n1: { - id: "n1", - loc: [ - -85.631039, - 41.948829 - ] - }, - n10: { - id: "n10", - loc: [ - -85.634733, - 41.941588 - ] - }, - n100: { - id: "n100", - loc: [ - -85.637395, - 41.942252 - ] - }, - n1000: { - id: "n1000", - loc: [ - -85.632699, - 41.944763 - ] - }, - n1001: { - id: "n1001", - loc: [ - -85.632685, - 41.944763 - ] - }, - n1002: { - id: "n1002", - loc: [ - -85.632673, - 41.944755 - ] - }, - n1003: { - id: "n1003", - loc: [ - -85.632595, - 41.944682 - ] - }, - n1004: { - id: "n1004", - loc: [ - -85.632576, - 41.944673 - ] - }, - n1005: { - id: "n1005", - loc: [ - -85.632551, - 41.944667 - ] - }, - n1006: { - id: "n1006", - loc: [ - -85.63253, - 41.944667 - ] - }, - n1007: { - id: "n1007", - loc: [ - -85.632502, - 41.944669 - ] - }, - n1008: { - id: "n1008", - loc: [ - -85.632483, - 41.944677 - ] - }, - n1009: { - id: "n1009", - loc: [ - -85.632383, - 41.944731 - ] - }, - n101: { - id: "n101", - loc: [ - -85.637357, - 41.942252 - ] - }, - n1010: { - id: "n1010", - loc: [ - -85.63349, - 41.944976 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "31", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Sherwin-Williams", - shop: "paint" - } - }, - n1011: { - id: "n1011", - loc: [ - -85.633548, - 41.945034 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "33", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Unique Jewelry", - shop: "jewelry" - } - }, - n1012: { - id: "n1012", - loc: [ - -85.633683, - 41.945129 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "37", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "World Fare", - shop: "gift" - } - }, - n1013: { - id: "n1013", - loc: [ - -85.634563, - 41.945469 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "62", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Golden Finch Framing", - shop: "frame" - } - }, - n1014: { - id: "n1014", - loc: [ - -85.634469, - 41.945379 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "58", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Dollar Tree", - shop: "second_hand" - } - }, - n1015: { - id: "n1015", - loc: [ - -85.634227, - 41.945159 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "48", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - amenity: "theatre", - name: "Riviera Theatre" - } - }, - n1016: { - id: "n1016", - loc: [ - -85.634057, - 41.945012 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "42", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "River City Appliance", - shop: "appliance" - } - }, - n1017: { - id: "n1017", - loc: [ - -85.633879, - 41.945325 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "45", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Paparazzi Tattoo", - shop: "tattoo" - } - }, - n1018: { - id: "n1018", - loc: [ - -85.634914, - 41.945839 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "88", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - amenity: "bank", - name: "Southern Michigan Bank" - } - }, - n1019: { - id: "n1019", - loc: [ - -85.634514, - 41.946176 - ] - }, - n102: { - id: "n102", - loc: [ - -85.637357, - 41.942216 - ] - }, - n1020: { - id: "n1020", - loc: [ - -85.634087, - 41.946178 - ] - }, - n1021: { - id: "n1021", - loc: [ - -85.634357, - 41.945805 - ] - }, - n1022: { - id: "n1022", - loc: [ - -85.634389, - 41.945788 - ] - }, - n1023: { - id: "n1023", - loc: [ - -85.634491, - 41.94581 - ] - }, - n1024: { - id: "n1024", - loc: [ - -85.634513, - 41.945853 - ] - }, - n1025: { - id: "n1025", - loc: [ - -85.634506, - 41.94583 - ] - }, - n1026: { - id: "n1026", - loc: [ - -85.634762, - 41.946056 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n1027: { - id: "n1027", - loc: [ - -85.634767, - 41.946172 - ] - }, - n1028: { - id: "n1028", - loc: [ - -85.634622, - 41.946175 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n1029: { - id: "n1029", - loc: [ - -85.640655, - 41.942057 - ] - }, - n103: { - id: "n103", - loc: [ - -85.637386, - 41.942054 - ] - }, - n1030: { - id: "n1030", - loc: [ - -85.640947, - 41.942057 - ] - }, - n1031: { - id: "n1031", - loc: [ - -85.640957, - 41.942593 - ] - }, - n1032: { - id: "n1032", - loc: [ - -85.630953, - 41.960873 - ] - }, - n1033: { - id: "n1033", - loc: [ - -85.632174, - 41.960679 - ] - }, - n1034: { - id: "n1034", - loc: [ - -85.638785, - 41.943066 - ] - }, - n1035: { - id: "n1035", - loc: [ - -85.638853, - 41.943065 - ] - }, - n1036: { - id: "n1036", - loc: [ - -85.638855, - 41.943183 - ] - }, - n1037: { - id: "n1037", - loc: [ - -85.638552, - 41.943189 - ] - }, - n1038: { - id: "n1038", - loc: [ - -85.63855, - 41.943149 - ] - }, - n1039: { - id: "n1039", - loc: [ - -85.638638, - 41.943068 - ] - }, - n104: { - id: "n104", - loc: [ - -85.637387, - 41.942125 - ] - }, - n1040: { - id: "n1040", - loc: [ - -85.638638, - 41.943078 - ] - }, - n1041: { - id: "n1041", - loc: [ - -85.638813, - 41.943163 - ] - }, - n1042: { - id: "n1042", - loc: [ - -85.638684, - 41.943165 - ] - }, - n1043: { - id: "n1043", - loc: [ - -85.638682, - 41.943105 - ] - }, - n1044: { - id: "n1044", - loc: [ - -85.638706, - 41.943105 - ] - }, - n1045: { - id: "n1045", - loc: [ - -85.638707, - 41.943117 - ] - }, - n1046: { - id: "n1046", - loc: [ - -85.638812, - 41.943115 - ] - }, - n1047: { - id: "n1047", - loc: [ - -85.638769, - 41.943407 - ] - }, - n1048: { - id: "n1048", - loc: [ - -85.638549, - 41.943407 - ] - }, - n1049: { - id: "n1049", - loc: [ - -85.638567, - 41.943555 - ] - }, - n105: { - id: "n105", - loc: [ - -85.637319, - 41.942125 - ] - }, - n1050: { - id: "n1050", - loc: [ - -85.638426, - 41.943554 - ] - }, - n1051: { - id: "n1051", - loc: [ - -85.638427, - 41.94346 - ] - }, - n1052: { - id: "n1052", - loc: [ - -85.638568, - 41.943461 - ] - }, - n1053: { - id: "n1053", - loc: [ - -85.639264, - 41.943415 - ] - }, - n1054: { - id: "n1054", - loc: [ - -85.639082, - 41.943417 - ] - }, - n1055: { - id: "n1055", - loc: [ - -85.63908, - 41.943331 - ] - }, - n1056: { - id: "n1056", - loc: [ - -85.639136, - 41.94333 - ] - }, - n1057: { - id: "n1057", - loc: [ - -85.639158, - 41.943312 - ] - }, - n1058: { - id: "n1058", - loc: [ - -85.639188, - 41.943313 - ] - }, - n1059: { - id: "n1059", - loc: [ - -85.639211, - 41.943331 - ] - }, - n106: { - id: "n106", - loc: [ - -85.637319, - 41.942137 - ] - }, - n1060: { - id: "n1060", - loc: [ - -85.639262, - 41.943331 - ] - }, - n1061: { - id: "n1061", - loc: [ - -85.638986, - 41.943515 - ] - }, - n1062: { - id: "n1062", - loc: [ - -85.63888, - 41.943521 - ] - }, - n1063: { - id: "n1063", - loc: [ - -85.638871, - 41.943436 - ] - }, - n1064: { - id: "n1064", - loc: [ - -85.638958, - 41.943431 - ] - }, - n1065: { - id: "n1065", - loc: [ - -85.638979, - 41.943443 - ] - }, - n1066: { - id: "n1066", - loc: [ - -85.63926, - 41.943703 - ] - }, - n1067: { - id: "n1067", - loc: [ - -85.639152, - 41.943704 - ] - }, - n1068: { - id: "n1068", - loc: [ - -85.639152, - 41.943691 - ] - }, - n1069: { - id: "n1069", - loc: [ - -85.639063, - 41.943691 - ] - }, - n107: { - id: "n107", - loc: [ - -85.637259, - 41.942137 - ] - }, - n1070: { - id: "n1070", - loc: [ - -85.639062, - 41.943613 - ] - }, - n1071: { - id: "n1071", - loc: [ - -85.639259, - 41.943611 - ] - }, - n1072: { - id: "n1072", - loc: [ - -85.639117, - 41.943726 - ] - }, - n1073: { - id: "n1073", - loc: [ - -85.639118, - 41.943767 - ] - }, - n1074: { - id: "n1074", - loc: [ - -85.639051, - 41.943768 - ] - }, - n1075: { - id: "n1075", - loc: [ - -85.63905, - 41.943727 - ] - }, - n1076: { - id: "n1076", - loc: [ - -85.638627, - 41.943716 - ] - }, - n1077: { - id: "n1077", - loc: [ - -85.63863, - 41.943634 - ] - }, - n1078: { - id: "n1078", - loc: [ - -85.63844, - 41.943631 - ] - }, - n1079: { - id: "n1079", - loc: [ - -85.638437, - 41.943729 - ] - }, - n108: { - id: "n108", - loc: [ - -85.637259, - 41.942126 - ] - }, - n1080: { - id: "n1080", - loc: [ - -85.638533, - 41.94373 - ] - }, - n1081: { - id: "n1081", - loc: [ - -85.638534, - 41.943715 - ] - }, - n1082: { - id: "n1082", - loc: [ - -85.638678, - 41.943941 - ] - }, - n1083: { - id: "n1083", - loc: [ - -85.638522, - 41.943944 - ] - }, - n1084: { - id: "n1084", - loc: [ - -85.63852, - 41.943864 - ] - }, - n1085: { - id: "n1085", - loc: [ - -85.638676, - 41.943861 - ] - }, - n1086: { - id: "n1086", - loc: [ - -85.638663, - 41.944059 - ] - }, - n1087: { - id: "n1087", - loc: [ - -85.638513, - 41.944061 - ] - }, - n1088: { - id: "n1088", - loc: [ - -85.638511, - 41.943991 - ] - }, - n1089: { - id: "n1089", - loc: [ - -85.638661, - 41.943989 - ] - }, - n109: { - id: "n109", - loc: [ - -85.637193, - 41.942126 - ] - }, - n1090: { - id: "n1090", - loc: [ - -85.63865, - 41.944134 - ] - }, - n1091: { - id: "n1091", - loc: [ - -85.638429, - 41.944144 - ] - }, - n1092: { - id: "n1092", - loc: [ - -85.638426, - 41.944106 - ] - }, - n1093: { - id: "n1093", - loc: [ - -85.638476, - 41.944104 - ] - }, - n1094: { - id: "n1094", - loc: [ - -85.638475, - 41.94409 - ] - }, - n1095: { - id: "n1095", - loc: [ - -85.638594, - 41.944084 - ] - }, - n1096: { - id: "n1096", - loc: [ - -85.638595, - 41.944101 - ] - }, - n1097: { - id: "n1097", - loc: [ - -85.638647, - 41.944099 - ] - }, - n1098: { - id: "n1098", - loc: [ - -85.63829, - 41.944154 - ] - }, - n1099: { - id: "n1099", - loc: [ - -85.638558, - 41.944155 - ] - }, - n11: { - id: "n11", - loc: [ - -85.634602, - 41.941523 - ] - }, - n110: { - id: "n110", - loc: [ - -85.637192, - 41.942053 - ] - }, - n1100: { - id: "n1100", - loc: [ - -85.638558, - 41.944338 - ] - }, - n1101: { - id: "n1101", - loc: [ - -85.638851, - 41.944408 - ] - }, - n1102: { - id: "n1102", - loc: [ - -85.637771, - 41.943989 - ] - }, - n1103: { - id: "n1103", - loc: [ - -85.639345, - 41.943964 - ] - }, - n1104: { - id: "n1104", - loc: [ - -85.638515, - 41.94397 - ] - }, - n1105: { - id: "n1105", - loc: [ - -85.639256, - 41.943928 - ] - }, - n1106: { - id: "n1106", - loc: [ - -85.639157, - 41.943929 - ] - }, - n1107: { - id: "n1107", - loc: [ - -85.639156, - 41.9439 - ] - }, - n1108: { - id: "n1108", - loc: [ - -85.639118, - 41.9439 - ] - }, - n1109: { - id: "n1109", - loc: [ - -85.639116, - 41.94382 - ] - }, - n111: { - id: "n111", - loc: [ - -85.637248, - 41.942053 - ] - }, - n1110: { - id: "n1110", - loc: [ - -85.639202, - 41.943819 - ] - }, - n1111: { - id: "n1111", - loc: [ - -85.639202, - 41.943837 - ] - }, - n1112: { - id: "n1112", - loc: [ - -85.639293, - 41.943836 - ] - }, - n1113: { - id: "n1113", - loc: [ - -85.639295, - 41.943898 - ] - }, - n1114: { - id: "n1114", - loc: [ - -85.639255, - 41.943898 - ] - }, - n1115: { - id: "n1115", - loc: [ - -85.639296, - 41.944083 - ] - }, - n1116: { - id: "n1116", - loc: [ - -85.639144, - 41.944084 - ] - }, - n1117: { - id: "n1117", - loc: [ - -85.639143, - 41.944026 - ] - }, - n1118: { - id: "n1118", - loc: [ - -85.639162, - 41.944026 - ] - }, - n1119: { - id: "n1119", - loc: [ - -85.639162, - 41.944 - ] - }, - n112: { - id: "n112", - loc: [ - -85.637248, - 41.942042 - ] - }, - n1120: { - id: "n1120", - loc: [ - -85.639295, - 41.943999 - ] - }, - n1121: { - id: "n1121", - loc: [ - -85.639131, - 41.944139 - ] - }, - n1122: { - id: "n1122", - loc: [ - -85.63901, - 41.94414 - ] - }, - n1123: { - id: "n1123", - loc: [ - -85.63901, - 41.944076 - ] - }, - n1124: { - id: "n1124", - loc: [ - -85.63913, - 41.944075 - ] - }, - n1125: { - id: "n1125", - loc: [ - -85.639092, - 41.944155 - ] - }, - n1126: { - id: "n1126", - loc: [ - -85.639093, - 41.944308 - ] - }, - n1127: { - id: "n1127", - loc: [ - -85.639225, - 41.944308 - ] - }, - n1128: { - id: "n1128", - loc: [ - -85.639225, - 41.94429 - ] - }, - n1129: { - id: "n1129", - loc: [ - -85.639253, - 41.944289 - ] - }, - n113: { - id: "n113", - loc: [ - -85.637338, - 41.942041 - ] - }, - n1130: { - id: "n1130", - loc: [ - -85.639253, - 41.944269 - ] - }, - n1131: { - id: "n1131", - loc: [ - -85.639243, - 41.944269 - ] - }, - n1132: { - id: "n1132", - loc: [ - -85.639243, - 41.944229 - ] - }, - n1133: { - id: "n1133", - loc: [ - -85.639224, - 41.944229 - ] - }, - n1134: { - id: "n1134", - loc: [ - -85.639224, - 41.944196 - ] - }, - n1135: { - id: "n1135", - loc: [ - -85.639195, - 41.944196 - ] - }, - n1136: { - id: "n1136", - loc: [ - -85.639195, - 41.944155 - ] - }, - n1137: { - id: "n1137", - loc: [ - -85.639072, - 41.944154 - ] - }, - n1138: { - id: "n1138", - loc: [ - -85.638865, - 41.944154 - ] - }, - n1139: { - id: "n1139", - loc: [ - -85.638863, - 41.943967 - ] - }, - n114: { - id: "n114", - loc: [ - -85.637338, - 41.942055 - ] - }, - n1140: { - id: "n1140", - loc: [ - -85.6386, - 41.942698 - ] - }, - n1141: { - id: "n1141", - loc: [ - -85.639348, - 41.942698 - ] - }, - n1142: { - id: "n1142", - loc: [ - -85.639377, - 41.944984 - ] - }, - n1143: { - id: "n1143", - loc: [ - -85.63937, - 41.945013 - ] - }, - n1144: { - id: "n1144", - loc: [ - -85.639357, - 41.945033 - ] - }, - n1145: { - id: "n1145", - loc: [ - -85.639353, - 41.945053 - ] - }, - n1146: { - id: "n1146", - loc: [ - -85.639352, - 41.945084 - ] - }, - n1147: { - id: "n1147", - loc: [ - -85.638278, - 41.945516 - ] - }, - n1148: { - id: "n1148", - loc: [ - -85.637505, - 41.945801 - ] - }, - n1149: { - id: "n1149", - loc: [ - -85.637327, - 41.945857 - ] - }, - n115: { - id: "n115", - loc: [ - -85.637583, - 41.941943 - ] - }, - n1150: { - id: "n1150", - loc: [ - -85.637168, - 41.945899 - ] - }, - n1151: { - id: "n1151", - loc: [ - -85.637017, - 41.94593 - ] - }, - n1152: { - id: "n1152", - loc: [ - -85.637185, - 41.945938 - ] - }, - n1153: { - id: "n1153", - loc: [ - -85.63682, - 41.945963 - ] - }, - n1154: { - id: "n1154", - loc: [ - -85.636639, - 41.945984 - ] - }, - n1155: { - id: "n1155", - loc: [ - -85.636439, - 41.945999 - ] - }, - n1156: { - id: "n1156", - loc: [ - -85.635801, - 41.945999 - ] - }, - n1157: { - id: "n1157", - loc: [ - -85.635769, - 41.945908 - ] - }, - n1158: { - id: "n1158", - loc: [ - -85.635953, - 41.946154 - ] - }, - n1159: { - id: "n1159", - loc: [ - -85.635472, - 41.94598 - ] - }, - n116: { - id: "n116", - loc: [ - -85.637584, - 41.941983 - ] - }, - n1160: { - id: "n1160", - loc: [ - -85.635409, - 41.945981 - ] - }, - n1161: { - id: "n1161", - loc: [ - -85.635583, - 41.945987 - ] - }, - n1162: { - id: "n1162", - loc: [ - -85.636452, - 41.945805 - ] - }, - n1163: { - id: "n1163", - loc: [ - -85.636425, - 41.94582 - ] - }, - n1164: { - id: "n1164", - loc: [ - -85.636396, - 41.945817 - ] - }, - n1165: { - id: "n1165", - loc: [ - -85.636368, - 41.945797 - ] - }, - n1166: { - id: "n1166", - loc: [ - -85.636346, - 41.945767 - ] - }, - n1167: { - id: "n1167", - loc: [ - -85.636307, - 41.945745 - ] - }, - n1168: { - id: "n1168", - loc: [ - -85.636194, - 41.94565 - ] - }, - n1169: { - id: "n1169", - loc: [ - -85.636121, - 41.945579 - ] - }, - n117: { - id: "n117", - loc: [ - -85.63751, - 41.941983 - ] - }, - n1170: { - id: "n1170", - loc: [ - -85.635995, - 41.945432 - ] - }, - n1171: { - id: "n1171", - loc: [ - -85.637564, - 41.943538 - ] - }, - n1172: { - id: "n1172", - loc: [ - -85.63756, - 41.943505 - ] - }, - n1173: { - id: "n1173", - loc: [ - -85.637435, - 41.943489 - ] - }, - n1174: { - id: "n1174", - loc: [ - -85.637093, - 41.943556 - ] - }, - n1175: { - id: "n1175", - loc: [ - -85.634836, - 41.941574 - ] - }, - n1176: { - id: "n1176", - loc: [ - -85.634692, - 41.9415 - ] - }, - n1177: { - id: "n1177", - loc: [ - -85.634261, - 41.941337 - ] - }, - n1178: { - id: "n1178", - loc: [ - -85.634208, - 41.940962 - ] - }, - n1179: { - id: "n1179", - loc: [ - -85.635247, - 41.940968 - ] - }, - n118: { - id: "n118", - loc: [ - -85.637509, - 41.941944 - ] - }, - n1180: { - id: "n1180", - loc: [ - -85.63514, - 41.941205 - ] - }, - n1181: { - id: "n1181", - loc: [ - -85.634858, - 41.941511 - ] - }, - n1182: { - id: "n1182", - loc: [ - -85.630725, - 41.943465 - ] - }, - n1183: { - id: "n1183", - loc: [ - -85.632591, - 41.942826 - ] - }, - n1184: { - id: "n1184", - loc: [ - -85.634487, - 41.941928 - ] - }, - n1185: { - id: "n1185", - loc: [ - -85.634499, - 41.942056 - ] - }, - n1186: { - id: "n1186", - loc: [ - -85.63433, - 41.943102 - ] - }, - n1187: { - id: "n1187", - loc: [ - -85.634158, - 41.943151 - ] - }, - n1188: { - id: "n1188", - loc: [ - -85.634107, - 41.94305 - ] - }, - n1189: { - id: "n1189", - loc: [ - -85.634279, - 41.943002 - ] - }, - n119: { - id: "n119", - loc: [ - -85.637724, - 41.941973 - ] - }, - n1190: { - id: "n1190", - loc: [ - -85.634362, - 41.943762 - ] - }, - n1191: { - id: "n1191", - loc: [ - -85.634331, - 41.943731 - ] - }, - n1192: { - id: "n1192", - loc: [ - -85.634396, - 41.943695 - ] - }, - n1193: { - id: "n1193", - loc: [ - -85.634426, - 41.943726 - ] - }, - n1194: { - id: "n1194", - loc: [ - -85.621569, - 41.956021 - ] - }, - n1195: { - id: "n1195", - loc: [ - -85.621574, - 41.956164 - ] - }, - n1196: { - id: "n1196", - loc: [ - -85.621489, - 41.956165 - ] - }, - n1197: { - id: "n1197", - loc: [ - -85.621488, - 41.956136 - ] - }, - n1198: { - id: "n1198", - loc: [ - -85.621372, - 41.956139 - ] - }, - n1199: { - id: "n1199", - loc: [ - -85.621369, - 41.956049 - ] - }, - n12: { - id: "n12", - loc: [ - -85.63359, - 41.941093 - ] - }, - n120: { - id: "n120", - loc: [ - -85.637633, - 41.941973 - ] - }, - n1200: { - id: "n1200", - loc: [ - -85.621493, - 41.956047 - ] - }, - n1201: { - id: "n1201", - loc: [ - -85.621492, - 41.956022 - ] - }, - n1202: { - id: "n1202", - loc: [ - -85.619744, - 41.953192 - ] - }, - n1203: { - id: "n1203", - loc: [ - -85.619059, - 41.953902 - ] - }, - n1204: { - id: "n1204", - loc: [ - -85.623984, - 41.95469 - ] - }, - n1205: { - id: "n1205", - loc: [ - -85.630159, - 41.958208 - ] - }, - n1206: { - id: "n1206", - loc: [ - -85.63002, - 41.958208 - ] - }, - n1207: { - id: "n1207", - loc: [ - -85.630021, - 41.95814 - ] - }, - n1208: { - id: "n1208", - loc: [ - -85.63, - 41.95814 - ] - }, - n1209: { - id: "n1209", - loc: [ - -85.63, - 41.958043 - ] - }, - n121: { - id: "n121", - loc: [ - -85.637633, - 41.941853 - ] - }, - n1210: { - id: "n1210", - loc: [ - -85.630159, - 41.958043 - ] - }, - n1211: { - id: "n1211", - loc: [ - -85.630304, - 41.957566 - ] - }, - n1212: { - id: "n1212", - loc: [ - -85.630303, - 41.957684 - ] - }, - n1213: { - id: "n1213", - loc: [ - -85.630073, - 41.957683 - ] - }, - n1214: { - id: "n1214", - loc: [ - -85.630072, - 41.957721 - ] - }, - n1215: { - id: "n1215", - loc: [ - -85.629993, - 41.95772 - ] - }, - n1216: { - id: "n1216", - loc: [ - -85.629993, - 41.95768 - ] - }, - n1217: { - id: "n1217", - loc: [ - -85.629968, - 41.95768 - ] - }, - n1218: { - id: "n1218", - loc: [ - -85.629969, - 41.957588 - ] - }, - n1219: { - id: "n1219", - loc: [ - -85.630219, - 41.95759 - ] - }, - n122: { - id: "n122", - loc: [ - -85.637724, - 41.941853 - ] - }, - n1220: { - id: "n1220", - loc: [ - -85.630219, - 41.957566 - ] - }, - n1221: { - id: "n1221", - loc: [ - -85.630717, - 41.957744 - ] - }, - n1222: { - id: "n1222", - loc: [ - -85.630596, - 41.957745 - ] - }, - n1223: { - id: "n1223", - loc: [ - -85.630598, - 41.957553 - ] - }, - n1224: { - id: "n1224", - loc: [ - -85.630717, - 41.957555 - ] - }, - n1225: { - id: "n1225", - loc: [ - -85.630609, - 41.957745 - ] - }, - n1226: { - id: "n1226", - loc: [ - -85.63061, - 41.957789 - ] - }, - n1227: { - id: "n1227", - loc: [ - -85.630327, - 41.957791 - ] - }, - n1228: { - id: "n1228", - loc: [ - -85.630324, - 41.95752 - ] - }, - n1229: { - id: "n1229", - loc: [ - -85.630325, - 41.95756 - ] - }, - n123: { - id: "n123", - loc: [ - -85.637773, - 41.941988 - ] - }, - n1230: { - id: "n1230", - loc: [ - -85.63057, - 41.95756 - ] - }, - n1231: { - id: "n1231", - loc: [ - -85.63069, - 41.958016 - ] - }, - n1232: { - id: "n1232", - loc: [ - -85.630586, - 41.958017 - ] - }, - n1233: { - id: "n1233", - loc: [ - -85.630584, - 41.957956 - ] - }, - n1234: { - id: "n1234", - loc: [ - -85.630614, - 41.957956 - ] - }, - n1235: { - id: "n1235", - loc: [ - -85.630611, - 41.957835 - ] - }, - n1236: { - id: "n1236", - loc: [ - -85.630737, - 41.957833 - ] - }, - n1237: { - id: "n1237", - loc: [ - -85.630739, - 41.957921 - ] - }, - n1238: { - id: "n1238", - loc: [ - -85.630688, - 41.957922 - ] - }, - n1239: { - id: "n1239", - loc: [ - -85.630719, - 41.958291 - ] - }, - n124: { - id: "n124", - loc: [ - -85.637773, - 41.942046 - ] - }, - n1240: { - id: "n1240", - loc: [ - -85.630592, - 41.958291 - ] - }, - n1241: { - id: "n1241", - loc: [ - -85.630593, - 41.958108 - ] - }, - n1242: { - id: "n1242", - loc: [ - -85.630701, - 41.958109 - ] - }, - n1243: { - id: "n1243", - loc: [ - -85.6307, - 41.958173 - ] - }, - n1244: { - id: "n1244", - loc: [ - -85.630711, - 41.958173 - ] - }, - n1245: { - id: "n1245", - loc: [ - -85.630711, - 41.958233 - ] - }, - n1246: { - id: "n1246", - loc: [ - -85.630719, - 41.958233 - ] - }, - n1247: { - id: "n1247", - loc: [ - -85.630523, - 41.958329 - ] - }, - n1248: { - id: "n1248", - loc: [ - -85.630388, - 41.958329 - ] - }, - n1249: { - id: "n1249", - loc: [ - -85.630387, - 41.958262 - ] - }, - n125: { - id: "n125", - loc: [ - -85.637693, - 41.942047 - ] - }, - n1250: { - id: "n1250", - loc: [ - -85.630523, - 41.958261 - ] - }, - n1251: { - id: "n1251", - loc: [ - -85.63072, - 41.958636 - ] - }, - n1252: { - id: "n1252", - loc: [ - -85.630721, - 41.958709 - ] - }, - n1253: { - id: "n1253", - loc: [ - -85.630503, - 41.958712 - ] - }, - n1254: { - id: "n1254", - loc: [ - -85.630498, - 41.958511 - ] - }, - n1255: { - id: "n1255", - loc: [ - -85.630635, - 41.95851 - ] - }, - n1256: { - id: "n1256", - loc: [ - -85.630638, - 41.958636 - ] - }, - n1257: { - id: "n1257", - loc: [ - -85.630437, - 41.958822 - ] - }, - n1258: { - id: "n1258", - loc: [ - -85.630437, - 41.958849 - ] - }, - n1259: { - id: "n1259", - loc: [ - -85.630393, - 41.958849 - ] - }, - n126: { - id: "n126", - loc: [ - -85.637692, - 41.941988 - ] - }, - n1260: { - id: "n1260", - loc: [ - -85.630393, - 41.958822 - ] - }, - n1261: { - id: "n1261", - loc: [ - -85.630605, - 41.959102 - ] - }, - n1262: { - id: "n1262", - loc: [ - -85.63049, - 41.959104 - ] - }, - n1263: { - id: "n1263", - loc: [ - -85.630487, - 41.958996 - ] - }, - n1264: { - id: "n1264", - loc: [ - -85.630462, - 41.958996 - ] - }, - n1265: { - id: "n1265", - loc: [ - -85.63046, - 41.958922 - ] - }, - n1266: { - id: "n1266", - loc: [ - -85.630562, - 41.958921 - ] - }, - n1267: { - id: "n1267", - loc: [ - -85.630564, - 41.958992 - ] - }, - n1268: { - id: "n1268", - loc: [ - -85.630602, - 41.958992 - ] - }, - n1269: { - id: "n1269", - loc: [ - -85.630126, - 41.957096 - ] - }, - n127: { - id: "n127", - loc: [ - -85.637604, - 41.941994 - ] - }, - n1270: { - id: "n1270", - loc: [ - -85.630129, - 41.957283 - ] - }, - n1271: { - id: "n1271", - loc: [ - -85.629993, - 41.957284 - ] - }, - n1272: { - id: "n1272", - loc: [ - -85.629992, - 41.957216 - ] - }, - n1273: { - id: "n1273", - loc: [ - -85.630015, - 41.957215 - ] - }, - n1274: { - id: "n1274", - loc: [ - -85.630013, - 41.957097 - ] - }, - n1275: { - id: "n1275", - loc: [ - -85.630211, - 41.956592 - ] - }, - n1276: { - id: "n1276", - loc: [ - -85.630211, - 41.956676 - ] - }, - n1277: { - id: "n1277", - loc: [ - -85.630162, - 41.956676 - ] - }, - n1278: { - id: "n1278", - loc: [ - -85.630162, - 41.95676 - ] - }, - n1279: { - id: "n1279", - loc: [ - -85.630037, - 41.956761 - ] - }, - n128: { - id: "n128", - loc: [ - -85.637604, - 41.942057 - ] - }, - n1280: { - id: "n1280", - loc: [ - -85.630037, - 41.956592 - ] - }, - n1281: { - id: "n1281", - loc: [ - -85.630309, - 41.95653 - ] - }, - n1282: { - id: "n1282", - loc: [ - -85.630326, - 41.957065 - ] - }, - n1283: { - id: "n1283", - loc: [ - -85.630118, - 41.957065 - ] - }, - n1284: { - id: "n1284", - loc: [ - -85.630119, - 41.957096 - ] - }, - n1285: { - id: "n1285", - loc: [ - -85.63067, - 41.957307 - ] - }, - n1286: { - id: "n1286", - loc: [ - -85.630536, - 41.957308 - ] - }, - n1287: { - id: "n1287", - loc: [ - -85.630533, - 41.957111 - ] - }, - n1288: { - id: "n1288", - loc: [ - -85.630667, - 41.95711 - ] - }, - n1289: { - id: "n1289", - loc: [ - -85.630676, - 41.956808 - ] - }, - n129: { - id: "n129", - loc: [ - -85.63748, - 41.942057 - ] - }, - n1290: { - id: "n1290", - loc: [ - -85.630551, - 41.956808 - ] - }, - n1291: { - id: "n1291", - loc: [ - -85.630552, - 41.956982 - ] - }, - n1292: { - id: "n1292", - loc: [ - -85.63059, - 41.956982 - ] - }, - n1293: { - id: "n1293", - loc: [ - -85.63059, - 41.957001 - ] - }, - n1294: { - id: "n1294", - loc: [ - -85.630692, - 41.957001 - ] - }, - n1295: { - id: "n1295", - loc: [ - -85.630692, - 41.956936 - ] - }, - n1296: { - id: "n1296", - loc: [ - -85.630676, - 41.956936 - ] - }, - n1297: { - id: "n1297", - loc: [ - -85.630496, - 41.956889 - ] - }, - n1298: { - id: "n1298", - loc: [ - -85.630501, - 41.956947 - ] - }, - n1299: { - id: "n1299", - loc: [ - -85.630377, - 41.956953 - ] - }, - n13: { - id: "n13", - loc: [ - -85.633643, - 41.941143 - ] - }, - n130: { - id: "n130", - loc: [ - -85.63748, - 41.941994 - ] - }, - n1300: { - id: "n1300", - loc: [ - -85.630359, - 41.956938 - ] - }, - n1301: { - id: "n1301", - loc: [ - -85.630359, - 41.956912 - ] - }, - n1302: { - id: "n1302", - loc: [ - -85.63038, - 41.956894 - ] - }, - n1303: { - id: "n1303", - loc: [ - -85.630679, - 41.956747 - ] - }, - n1304: { - id: "n1304", - loc: [ - -85.630572, - 41.956748 - ] - }, - n1305: { - id: "n1305", - loc: [ - -85.63057, - 41.956668 - ] - }, - n1306: { - id: "n1306", - loc: [ - -85.630501, - 41.956669 - ] - }, - n1307: { - id: "n1307", - loc: [ - -85.630499, - 41.95659 - ] - }, - n1308: { - id: "n1308", - loc: [ - -85.630565, - 41.956589 - ] - }, - n1309: { - id: "n1309", - loc: [ - -85.630564, - 41.956541 - ] - }, - n131: { - id: "n131", - loc: [ - -85.637431, - 41.941832 - ] - }, - n1310: { - id: "n1310", - loc: [ - -85.630686, - 41.956539 - ] - }, - n1311: { - id: "n1311", - loc: [ - -85.630688, - 41.956631 - ] - }, - n1312: { - id: "n1312", - loc: [ - -85.630676, - 41.956631 - ] - }, - n1313: { - id: "n1313", - loc: [ - -85.630686, - 41.956487 - ] - }, - n1314: { - id: "n1314", - loc: [ - -85.63059, - 41.956487 - ] - }, - n1315: { - id: "n1315", - loc: [ - -85.63059, - 41.956396 - ] - }, - n1316: { - id: "n1316", - loc: [ - -85.630686, - 41.956396 - ] - }, - n1317: { - id: "n1317", - loc: [ - -85.630643, - 41.9563 - ] - }, - n1318: { - id: "n1318", - loc: [ - -85.630548, - 41.956301 - ] - }, - n1319: { - id: "n1319", - loc: [ - -85.630545, - 41.956217 - ] - }, - n132: { - id: "n132", - loc: [ - -85.637432, - 41.94189 - ] - }, - n1320: { - id: "n1320", - loc: [ - -85.630529, - 41.956214 - ] - }, - n1321: { - id: "n1321", - loc: [ - -85.630521, - 41.956202 - ] - }, - n1322: { - id: "n1322", - loc: [ - -85.63052, - 41.95618 - ] - }, - n1323: { - id: "n1323", - loc: [ - -85.630527, - 41.956169 - ] - }, - n1324: { - id: "n1324", - loc: [ - -85.630544, - 41.956163 - ] - }, - n1325: { - id: "n1325", - loc: [ - -85.630543, - 41.956094 - ] - }, - n1326: { - id: "n1326", - loc: [ - -85.630641, - 41.956093 - ] - }, - n1327: { - id: "n1327", - loc: [ - -85.630642, - 41.956134 - ] - }, - n1328: { - id: "n1328", - loc: [ - -85.630656, - 41.956134 - ] - }, - n1329: { - id: "n1329", - loc: [ - -85.630657, - 41.956252 - ] - }, - n133: { - id: "n133", - loc: [ - -85.637412, - 41.94189 - ] - }, - n1330: { - id: "n1330", - loc: [ - -85.630643, - 41.956252 - ] - }, - n1331: { - id: "n1331", - loc: [ - -85.630409, - 41.956044 - ] - }, - n1332: { - id: "n1332", - loc: [ - -85.630409, - 41.956075 - ] - }, - n1333: { - id: "n1333", - loc: [ - -85.630195, - 41.956078 - ] - }, - n1334: { - id: "n1334", - loc: [ - -85.630195, - 41.9561 - ] - }, - n1335: { - id: "n1335", - loc: [ - -85.630088, - 41.956101 - ] - }, - n1336: { - id: "n1336", - loc: [ - -85.630087, - 41.956048 - ] - }, - n1337: { - id: "n1337", - loc: [ - -85.630345, - 41.956114 - ] - }, - n1338: { - id: "n1338", - loc: [ - -85.630328, - 41.956113 - ] - }, - n1339: { - id: "n1339", - loc: [ - -85.63034, - 41.956189 - ] - }, - n134: { - id: "n134", - loc: [ - -85.637413, - 41.941938 - ] - }, - n1340: { - id: "n1340", - loc: [ - -85.630355, - 41.956185 - ] - }, - n1341: { - id: "n1341", - loc: [ - -85.630311, - 41.956117 - ] - }, - n1342: { - id: "n1342", - loc: [ - -85.630297, - 41.956125 - ] - }, - n1343: { - id: "n1343", - loc: [ - -85.630287, - 41.956136 - ] - }, - n1344: { - id: "n1344", - loc: [ - -85.630283, - 41.956149 - ] - }, - n1345: { - id: "n1345", - loc: [ - -85.630285, - 41.956162 - ] - }, - n1346: { - id: "n1346", - loc: [ - -85.630293, - 41.956174 - ] - }, - n1347: { - id: "n1347", - loc: [ - -85.630306, - 41.956183 - ] - }, - n1348: { - id: "n1348", - loc: [ - -85.630322, - 41.956188 - ] - }, - n1349: { - id: "n1349", - loc: [ - -85.630368, - 41.956179 - ] - }, - n135: { - id: "n135", - loc: [ - -85.637342, - 41.941939 - ] - }, - n1350: { - id: "n1350", - loc: [ - -85.630378, - 41.95617 - ] - }, - n1351: { - id: "n1351", - loc: [ - -85.630384, - 41.956159 - ] - }, - n1352: { - id: "n1352", - loc: [ - -85.630385, - 41.956147 - ] - }, - n1353: { - id: "n1353", - loc: [ - -85.630381, - 41.956136 - ] - }, - n1354: { - id: "n1354", - loc: [ - -85.630372, - 41.956126 - ] - }, - n1355: { - id: "n1355", - loc: [ - -85.63036, - 41.956118 - ] - }, - n1356: { - id: "n1356", - loc: [ - -85.630776, - 41.956041 - ] - }, - n1357: { - id: "n1357", - loc: [ - -85.630195, - 41.956036 - ] - }, - n1358: { - id: "n1358", - loc: [ - -85.630137, - 41.956037 - ] - }, - n1359: { - id: "n1359", - loc: [ - -85.630136, - 41.956006 - ] - }, - n136: { - id: "n136", - loc: [ - -85.637342, - 41.941914 - ] - }, - n1360: { - id: "n1360", - loc: [ - -85.630194, - 41.956005 - ] - }, - n1361: { - id: "n1361", - loc: [ - -85.629864, - 41.956039 - ] - }, - n1362: { - id: "n1362", - loc: [ - -85.629864, - 41.955862 - ] - }, - n1363: { - id: "n1363", - loc: [ - -85.629541, - 41.958291 - ] - }, - n1364: { - id: "n1364", - loc: [ - -85.629419, - 41.958292 - ] - }, - n1365: { - id: "n1365", - loc: [ - -85.629417, - 41.958168 - ] - }, - n1366: { - id: "n1366", - loc: [ - -85.629445, - 41.958168 - ] - }, - n1367: { - id: "n1367", - loc: [ - -85.629444, - 41.958109 - ] - }, - n1368: { - id: "n1368", - loc: [ - -85.629537, - 41.958108 - ] - }, - n1369: { - id: "n1369", - loc: [ - -85.629351, - 41.958136 - ] - }, - n137: { - id: "n137", - loc: [ - -85.637212, - 41.941916 - ] - }, - n1370: { - id: "n1370", - loc: [ - -85.629352, - 41.958202 - ] - }, - n1371: { - id: "n1371", - loc: [ - -85.629365, - 41.958202 - ] - }, - n1372: { - id: "n1372", - loc: [ - -85.629365, - 41.958223 - ] - }, - n1373: { - id: "n1373", - loc: [ - -85.629291, - 41.958224 - ] - }, - n1374: { - id: "n1374", - loc: [ - -85.62929, - 41.958137 - ] - }, - n1375: { - id: "n1375", - loc: [ - -85.629443, - 41.958073 - ] - }, - n1376: { - id: "n1376", - loc: [ - -85.629252, - 41.958075 - ] - }, - n1377: { - id: "n1377", - loc: [ - -85.629253, - 41.95827 - ] - }, - n1378: { - id: "n1378", - loc: [ - -85.629566, - 41.957585 - ] - }, - n1379: { - id: "n1379", - loc: [ - -85.629566, - 41.957692 - ] - }, - n138: { - id: "n138", - loc: [ - -85.637211, - 41.941835 - ] - }, - n1380: { - id: "n1380", - loc: [ - -85.629281, - 41.957693 - ] - }, - n1381: { - id: "n1381", - loc: [ - -85.62928, - 41.957585 - ] - }, - n1382: { - id: "n1382", - loc: [ - -85.629004, - 41.957599 - ] - }, - n1383: { - id: "n1383", - loc: [ - -85.629004, - 41.957682 - ] - }, - n1384: { - id: "n1384", - loc: [ - -85.628902, - 41.957682 - ] - }, - n1385: { - id: "n1385", - loc: [ - -85.628902, - 41.957723 - ] - }, - n1386: { - id: "n1386", - loc: [ - -85.628731, - 41.957724 - ] - }, - n1387: { - id: "n1387", - loc: [ - -85.628731, - 41.9576 - ] - }, - n1388: { - id: "n1388", - loc: [ - -85.62836, - 41.957679 - ] - }, - n1389: { - id: "n1389", - loc: [ - -85.628359, - 41.957759 - ] - }, - n139: { - id: "n139", - loc: [ - -85.637293, - 41.941834 - ] - }, - n1390: { - id: "n1390", - loc: [ - -85.628062, - 41.957757 - ] - }, - n1391: { - id: "n1391", - loc: [ - -85.628063, - 41.957657 - ] - }, - n1392: { - id: "n1392", - loc: [ - -85.628198, - 41.957657 - ] - }, - n1393: { - id: "n1393", - loc: [ - -85.628198, - 41.957678 - ] - }, - n1394: { - id: "n1394", - loc: [ - -85.627775, - 41.958095 - ] - }, - n1395: { - id: "n1395", - loc: [ - -85.627608, - 41.958095 - ] - }, - n1396: { - id: "n1396", - loc: [ - -85.627606, - 41.957829 - ] - }, - n1397: { - id: "n1397", - loc: [ - -85.627774, - 41.957829 - ] - }, - n1398: { - id: "n1398", - loc: [ - -85.626816, - 41.957636 - ] - }, - n1399: { - id: "n1399", - loc: [ - -85.626787, - 41.957681 - ] - }, - n14: { - id: "n14", - loc: [ - -85.633643, - 41.940122 - ] - }, - n140: { - id: "n140", - loc: [ - -85.637293, - 41.941823 - ] - }, - n1400: { - id: "n1400", - loc: [ - -85.626673, - 41.95764 - ] - }, - n1401: { - id: "n1401", - loc: [ - -85.626703, - 41.957594 - ] - }, - n1402: { - id: "n1402", - loc: [ - -85.62694, - 41.95752 - ] - }, - n1403: { - id: "n1403", - loc: [ - -85.62688, - 41.957611 - ] - }, - n1404: { - id: "n1404", - loc: [ - -85.626798, - 41.957582 - ] - }, - n1405: { - id: "n1405", - loc: [ - -85.626793, - 41.95759 - ] - }, - n1406: { - id: "n1406", - loc: [ - -85.626657, - 41.95754 - ] - }, - n1407: { - id: "n1407", - loc: [ - -85.626666, - 41.957526 - ] - }, - n1408: { - id: "n1408", - loc: [ - -85.626584, - 41.957497 - ] - }, - n1409: { - id: "n1409", - loc: [ - -85.626638, - 41.957415 - ] - }, - n141: { - id: "n141", - loc: [ - -85.637363, - 41.941822 - ] - }, - n1410: { - id: "n1410", - loc: [ - -85.626731, - 41.957449 - ] - }, - n1411: { - id: "n1411", - loc: [ - -85.626725, - 41.957457 - ] - }, - n1412: { - id: "n1412", - loc: [ - -85.626843, - 41.9575 - ] - }, - n1413: { - id: "n1413", - loc: [ - -85.626851, - 41.957487 - ] - }, - n1414: { - id: "n1414", - loc: [ - -85.626579, - 41.957521 - ] - }, - n1415: { - id: "n1415", - loc: [ - -85.626537, - 41.957587 - ] - }, - n1416: { - id: "n1416", - loc: [ - -85.626427, - 41.957551 - ] - }, - n1417: { - id: "n1417", - loc: [ - -85.626468, - 41.957483 - ] - }, - n1418: { - id: "n1418", - loc: [ - -85.626592, - 41.957639 - ] - }, - n1419: { - id: "n1419", - loc: [ - -85.626807, - 41.957713 - ] - }, - n142: { - id: "n142", - loc: [ - -85.637364, - 41.941833 - ] - }, - n1420: { - id: "n1420", - loc: [ - -85.627129, - 41.957401 - ] - }, - n1421: { - id: "n1421", - loc: [ - -85.627209, - 41.95742 - ] - }, - n1422: { - id: "n1422", - loc: [ - -85.627302, - 41.957435 - ] - }, - n1423: { - id: "n1423", - loc: [ - -85.629566, - 41.957048 - ] - }, - n1424: { - id: "n1424", - loc: [ - -85.629568, - 41.957215 - ] - }, - n1425: { - id: "n1425", - loc: [ - -85.629383, - 41.957216 - ] - }, - n1426: { - id: "n1426", - loc: [ - -85.629384, - 41.95727 - ] - }, - n1427: { - id: "n1427", - loc: [ - -85.629231, - 41.957271 - ] - }, - n1428: { - id: "n1428", - loc: [ - -85.62923, - 41.957198 - ] - }, - n1429: { - id: "n1429", - loc: [ - -85.629322, - 41.957198 - ] - }, - n143: { - id: "n143", - loc: [ - -85.637559, - 41.942448 - ] - }, - n1430: { - id: "n1430", - loc: [ - -85.629321, - 41.957108 - ] - }, - n1431: { - id: "n1431", - loc: [ - -85.629441, - 41.957108 - ] - }, - n1432: { - id: "n1432", - loc: [ - -85.62944, - 41.957049 - ] - }, - n1433: { - id: "n1433", - loc: [ - -85.629337, - 41.957018 - ] - }, - n1434: { - id: "n1434", - loc: [ - -85.629366, - 41.957028 - ] - }, - n1435: { - id: "n1435", - loc: [ - -85.629375, - 41.957044 - ] - }, - n1436: { - id: "n1436", - loc: [ - -85.629354, - 41.957071 - ] - }, - n1437: { - id: "n1437", - loc: [ - -85.629317, - 41.957071 - ] - }, - n1438: { - id: "n1438", - loc: [ - -85.62929, - 41.957074 - ] - }, - n1439: { - id: "n1439", - loc: [ - -85.62927, - 41.957084 - ] - }, - n144: { - id: "n144", - loc: [ - -85.637036, - 41.942454 - ] - }, - n1440: { - id: "n1440", - loc: [ - -85.629232, - 41.957081 - ] - }, - n1441: { - id: "n1441", - loc: [ - -85.629222, - 41.957057 - ] - }, - n1442: { - id: "n1442", - loc: [ - -85.629259, - 41.957025 - ] - }, - n1443: { - id: "n1443", - loc: [ - -85.629293, - 41.957017 - ] - }, - n1444: { - id: "n1444", - loc: [ - -85.629251, - 41.957085 - ] - }, - n1445: { - id: "n1445", - loc: [ - -85.629235, - 41.957041 - ] - }, - n1446: { - id: "n1446", - loc: [ - -85.62937, - 41.95706 - ] - }, - n1447: { - id: "n1447", - loc: [ - -85.629531, - 41.956909 - ] - }, - n1448: { - id: "n1448", - loc: [ - -85.629408, - 41.956909 - ] - }, - n1449: { - id: "n1449", - loc: [ - -85.629402, - 41.956681 - ] - }, - n145: { - id: "n145", - loc: [ - -85.636692, - 41.942828 - ] - }, - n1450: { - id: "n1450", - loc: [ - -85.62953, - 41.956681 - ] - }, - n1451: { - id: "n1451", - loc: [ - -85.629402, - 41.956728 - ] - }, - n1452: { - id: "n1452", - loc: [ - -85.629408, - 41.956845 - ] - }, - n1453: { - id: "n1453", - loc: [ - -85.629385, - 41.956845 - ] - }, - n1454: { - id: "n1454", - loc: [ - -85.629384, - 41.956728 - ] - }, - n1455: { - id: "n1455", - loc: [ - -85.629063, - 41.956973 - ] - }, - n1456: { - id: "n1456", - loc: [ - -85.629064, - 41.957009 - ] - }, - n1457: { - id: "n1457", - loc: [ - -85.62902, - 41.957009 - ] - }, - n1458: { - id: "n1458", - loc: [ - -85.629019, - 41.956973 - ] - }, - n1459: { - id: "n1459", - loc: [ - -85.629136, - 41.956633 - ] - }, - n146: { - id: "n146", - loc: [ - -85.635929, - 41.942826 - ] - }, - n1460: { - id: "n1460", - loc: [ - -85.629084, - 41.956632 - ] - }, - n1461: { - id: "n1461", - loc: [ - -85.629084, - 41.956605 - ] - }, - n1462: { - id: "n1462", - loc: [ - -85.629136, - 41.956605 - ] - }, - n1463: { - id: "n1463", - loc: [ - -85.629153, - 41.956657 - ] - }, - n1464: { - id: "n1464", - loc: [ - -85.627914, - 41.956661 - ] - }, - n1465: { - id: "n1465", - loc: [ - -85.630096, - 41.956101 - ] - }, - n1466: { - id: "n1466", - loc: [ - -85.630097, - 41.95612 - ] - }, - n1467: { - id: "n1467", - loc: [ - -85.630011, - 41.956121 - ] - }, - n1468: { - id: "n1468", - loc: [ - -85.630015, - 41.956374 - ] - }, - n1469: { - id: "n1469", - loc: [ - -85.629148, - 41.95626 - ] - }, - n147: { - id: "n147", - loc: [ - -85.636433, - 41.942828 - ] - }, - n1470: { - id: "n1470", - loc: [ - -85.629527, - 41.956591 - ] - }, - n1471: { - id: "n1471", - loc: [ - -85.629405, - 41.956591 - ] - }, - n1472: { - id: "n1472", - loc: [ - -85.629405, - 41.956459 - ] - }, - n1473: { - id: "n1473", - loc: [ - -85.629369, - 41.956459 - ] - }, - n1474: { - id: "n1474", - loc: [ - -85.629369, - 41.956424 - ] - }, - n1475: { - id: "n1475", - loc: [ - -85.629413, - 41.956424 - ] - }, - n1476: { - id: "n1476", - loc: [ - -85.629414, - 41.956326 - ] - }, - n1477: { - id: "n1477", - loc: [ - -85.629522, - 41.956326 - ] - }, - n1478: { - id: "n1478", - loc: [ - -85.629522, - 41.956487 - ] - }, - n1479: { - id: "n1479", - loc: [ - -85.629527, - 41.956487 - ] - }, - n148: { - id: "n148", - loc: [ - -85.636435, - 41.942864 - ], - tags: { - entrance: "yes" - } - }, - n1480: { - id: "n1480", - loc: [ - -85.629414, - 41.95634 - ] - }, - n1481: { - id: "n1481", - loc: [ - -85.629149, - 41.956338 - ] - }, - n1482: { - id: "n1482", - loc: [ - -85.62931, - 41.956531 - ] - }, - n1483: { - id: "n1483", - loc: [ - -85.629291, - 41.95655 - ] - }, - n1484: { - id: "n1484", - loc: [ - -85.629255, - 41.95655 - ] - }, - n1485: { - id: "n1485", - loc: [ - -85.629236, - 41.956533 - ] - }, - n1486: { - id: "n1486", - loc: [ - -85.629237, - 41.956461 - ] - }, - n1487: { - id: "n1487", - loc: [ - -85.629257, - 41.956445 - ] - }, - n1488: { - id: "n1488", - loc: [ - -85.629257, - 41.956428 - ] - }, - n1489: { - id: "n1489", - loc: [ - -85.629287, - 41.956428 - ] - }, - n149: { - id: "n149", - loc: [ - -85.637235, - 41.942622 - ] - }, - n1490: { - id: "n1490", - loc: [ - -85.629287, - 41.956445 - ] - }, - n1491: { - id: "n1491", - loc: [ - -85.62931, - 41.95646 - ] - }, - n1492: { - id: "n1492", - loc: [ - -85.629049, - 41.956425 - ] - }, - n1493: { - id: "n1493", - loc: [ - -85.628907, - 41.956427 - ] - }, - n1494: { - id: "n1494", - loc: [ - -85.628907, - 41.956455 - ] - }, - n1495: { - id: "n1495", - loc: [ - -85.628841, - 41.956455 - ] - }, - n1496: { - id: "n1496", - loc: [ - -85.62884, - 41.956424 - ] - }, - n1497: { - id: "n1497", - loc: [ - -85.628764, - 41.956425 - ] - }, - n1498: { - id: "n1498", - loc: [ - -85.628762, - 41.956323 - ] - }, - n1499: { - id: "n1499", - loc: [ - -85.628808, - 41.956323 - ] - }, - n15: { - id: "n15", - loc: [ - -85.633477, - 41.940187 - ] - }, - n150: { - id: "n150", - loc: [ - -85.637247, - 41.943116 - ] - }, - n1500: { - id: "n1500", - loc: [ - -85.628808, - 41.956314 - ] - }, - n1501: { - id: "n1501", - loc: [ - -85.628911, - 41.956313 - ] - }, - n1502: { - id: "n1502", - loc: [ - -85.628911, - 41.956322 - ] - }, - n1503: { - id: "n1503", - loc: [ - -85.62896, - 41.956322 - ] - }, - n1504: { - id: "n1504", - loc: [ - -85.62896, - 41.956348 - ] - }, - n1505: { - id: "n1505", - loc: [ - -85.629047, - 41.956347 - ] - }, - n1506: { - id: "n1506", - loc: [ - -85.628893, - 41.957263 - ] - }, - n1507: { - id: "n1507", - loc: [ - -85.628788, - 41.957264 - ] - }, - n1508: { - id: "n1508", - loc: [ - -85.628786, - 41.95711 - ] - }, - n1509: { - id: "n1509", - loc: [ - -85.628894, - 41.957109 - ] - }, - n151: { - id: "n151", - loc: [ - -85.637564, - 41.943116 - ] - }, - n1510: { - id: "n1510", - loc: [ - -85.628893, - 41.957075 - ] - }, - n1511: { - id: "n1511", - loc: [ - -85.628965, - 41.957075 - ] - }, - n1512: { - id: "n1512", - loc: [ - -85.628965, - 41.957111 - ] - }, - n1513: { - id: "n1513", - loc: [ - -85.629035, - 41.95711 - ] - }, - n1514: { - id: "n1514", - loc: [ - -85.629036, - 41.957209 - ] - }, - n1515: { - id: "n1515", - loc: [ - -85.628893, - 41.95721 - ] - }, - n1516: { - id: "n1516", - loc: [ - -85.631348, - 41.95773 - ] - }, - n1517: { - id: "n1517", - loc: [ - -85.631101, - 41.957732 - ] - }, - n1518: { - id: "n1518", - loc: [ - -85.631099, - 41.957558 - ] - }, - n1519: { - id: "n1519", - loc: [ - -85.63123, - 41.957557 - ] - }, - n152: { - id: "n152", - loc: [ - -85.637552, - 41.942619 - ] - }, - n1520: { - id: "n1520", - loc: [ - -85.631231, - 41.957618 - ] - }, - n1521: { - id: "n1521", - loc: [ - -85.63129, - 41.957618 - ] - }, - n1522: { - id: "n1522", - loc: [ - -85.63129, - 41.957651 - ] - }, - n1523: { - id: "n1523", - loc: [ - -85.631346, - 41.957651 - ] - }, - n1524: { - id: "n1524", - loc: [ - -85.631366, - 41.95802 - ] - }, - n1525: { - id: "n1525", - loc: [ - -85.631141, - 41.958021 - ] - }, - n1526: { - id: "n1526", - loc: [ - -85.63114, - 41.957943 - ] - }, - n1527: { - id: "n1527", - loc: [ - -85.631167, - 41.957943 - ] - }, - n1528: { - id: "n1528", - loc: [ - -85.631166, - 41.957808 - ] - }, - n1529: { - id: "n1529", - loc: [ - -85.631301, - 41.957807 - ] - }, - n153: { - id: "n153", - loc: [ - -85.63763, - 41.942528 - ] - }, - n1530: { - id: "n1530", - loc: [ - -85.631302, - 41.95789 - ] - }, - n1531: { - id: "n1531", - loc: [ - -85.631364, - 41.95789 - ] - }, - n1532: { - id: "n1532", - loc: [ - -85.631539, - 41.957754 - ] - }, - n1533: { - id: "n1533", - loc: [ - -85.631069, - 41.957756 - ] - }, - n1534: { - id: "n1534", - loc: [ - -85.631536, - 41.957518 - ] - }, - n1535: { - id: "n1535", - loc: [ - -85.631543, - 41.957995 - ] - }, - n1536: { - id: "n1536", - loc: [ - -85.631531, - 41.957748 - ] - }, - n1537: { - id: "n1537", - loc: [ - -85.631485, - 41.957748 - ] - }, - n1538: { - id: "n1538", - loc: [ - -85.631484, - 41.957698 - ] - }, - n1539: { - id: "n1539", - loc: [ - -85.631531, - 41.957698 - ] - }, - n154: { - id: "n154", - loc: [ - -85.637151, - 41.94253 - ] - }, - n1540: { - id: "n1540", - loc: [ - -85.631586, - 41.957742 - ] - }, - n1541: { - id: "n1541", - loc: [ - -85.63155, - 41.957742 - ] - }, - n1542: { - id: "n1542", - loc: [ - -85.631551, - 41.957702 - ] - }, - n1543: { - id: "n1543", - loc: [ - -85.631587, - 41.957702 - ] - }, - n1544: { - id: "n1544", - loc: [ - -85.631534, - 41.95807 - ] - }, - n1545: { - id: "n1545", - loc: [ - -85.631534, - 41.958097 - ] - }, - n1546: { - id: "n1546", - loc: [ - -85.631491, - 41.958097 - ] - }, - n1547: { - id: "n1547", - loc: [ - -85.631491, - 41.95807 - ] - }, - n1548: { - id: "n1548", - loc: [ - -85.631304, - 41.958861 - ] - }, - n1549: { - id: "n1549", - loc: [ - -85.631186, - 41.958862 - ] - }, - n155: { - id: "n155", - loc: [ - -85.63715, - 41.942424 - ] - }, - n1550: { - id: "n1550", - loc: [ - -85.631182, - 41.958653 - ] - }, - n1551: { - id: "n1551", - loc: [ - -85.6313, - 41.958651 - ] - }, - n1552: { - id: "n1552", - loc: [ - -85.631293, - 41.95854 - ] - }, - n1553: { - id: "n1553", - loc: [ - -85.631176, - 41.958539 - ] - }, - n1554: { - id: "n1554", - loc: [ - -85.631176, - 41.958377 - ] - }, - n1555: { - id: "n1555", - loc: [ - -85.631297, - 41.958377 - ] - }, - n1556: { - id: "n1556", - loc: [ - -85.631297, - 41.958422 - ] - }, - n1557: { - id: "n1557", - loc: [ - -85.631333, - 41.958422 - ] - }, - n1558: { - id: "n1558", - loc: [ - -85.631333, - 41.958479 - ] - }, - n1559: { - id: "n1559", - loc: [ - -85.631293, - 41.958479 - ] - }, - n156: { - id: "n156", - loc: [ - -85.637629, - 41.942422 - ] - }, - n1560: { - id: "n1560", - loc: [ - -85.631951, - 41.958908 - ] - }, - n1561: { - id: "n1561", - loc: [ - -85.631838, - 41.958909 - ] - }, - n1562: { - id: "n1562", - loc: [ - -85.631837, - 41.958847 - ] - }, - n1563: { - id: "n1563", - loc: [ - -85.631859, - 41.958847 - ] - }, - n1564: { - id: "n1564", - loc: [ - -85.631858, - 41.958746 - ] - }, - n1565: { - id: "n1565", - loc: [ - -85.631961, - 41.958745 - ] - }, - n1566: { - id: "n1566", - loc: [ - -85.631962, - 41.958812 - ] - }, - n1567: { - id: "n1567", - loc: [ - -85.631949, - 41.958813 - ] - }, - n1568: { - id: "n1568", - loc: [ - -85.631579, - 41.958913 - ] - }, - n1569: { - id: "n1569", - loc: [ - -85.631567, - 41.95864 - ] - }, - n157: { - id: "n157", - loc: [ - -85.638232, - 41.942477 - ] - }, - n1570: { - id: "n1570", - loc: [ - -85.631942, - 41.958639 - ] - }, - n1571: { - id: "n1571", - loc: [ - -85.631543, - 41.958594 - ] - }, - n1572: { - id: "n1572", - loc: [ - -85.631543, - 41.958065 - ] - }, - n1573: { - id: "n1573", - loc: [ - -85.631888, - 41.958546 - ] - }, - n1574: { - id: "n1574", - loc: [ - -85.631804, - 41.958546 - ] - }, - n1575: { - id: "n1575", - loc: [ - -85.631803, - 41.95841 - ] - }, - n1576: { - id: "n1576", - loc: [ - -85.631886, - 41.958409 - ] - }, - n1577: { - id: "n1577", - loc: [ - -85.631897, - 41.958125 - ] - }, - n1578: { - id: "n1578", - loc: [ - -85.631755, - 41.958126 - ] - }, - n1579: { - id: "n1579", - loc: [ - -85.631756, - 41.958174 - ] - }, - n158: { - id: "n158", - loc: [ - -85.637775, - 41.942483 - ] - }, - n1580: { - id: "n1580", - loc: [ - -85.63178, - 41.958174 - ] - }, - n1581: { - id: "n1581", - loc: [ - -85.631782, - 41.958272 - ] - }, - n1582: { - id: "n1582", - loc: [ - -85.631922, - 41.958271 - ] - }, - n1583: { - id: "n1583", - loc: [ - -85.631922, - 41.958244 - ] - }, - n1584: { - id: "n1584", - loc: [ - -85.631883, - 41.958245 - ] - }, - n1585: { - id: "n1585", - loc: [ - -85.631882, - 41.958175 - ] - }, - n1586: { - id: "n1586", - loc: [ - -85.631898, - 41.958175 - ] - }, - n1587: { - id: "n1587", - loc: [ - -85.631924, - 41.958032 - ] - }, - n1588: { - id: "n1588", - loc: [ - -85.631762, - 41.958032 - ] - }, - n1589: { - id: "n1589", - loc: [ - -85.63176, - 41.957827 - ] - }, - n159: { - id: "n159", - loc: [ - -85.638107, - 41.942512 - ] - }, - n1590: { - id: "n1590", - loc: [ - -85.631888, - 41.957826 - ] - }, - n1591: { - id: "n1591", - loc: [ - -85.631888, - 41.957892 - ] - }, - n1592: { - id: "n1592", - loc: [ - -85.631871, - 41.957892 - ] - }, - n1593: { - id: "n1593", - loc: [ - -85.631872, - 41.957949 - ] - }, - n1594: { - id: "n1594", - loc: [ - -85.631923, - 41.957949 - ] - }, - n1595: { - id: "n1595", - loc: [ - -85.631695, - 41.95795 - ] - }, - n1596: { - id: "n1596", - loc: [ - -85.631666, - 41.957975 - ] - }, - n1597: { - id: "n1597", - loc: [ - -85.63163, - 41.957975 - ] - }, - n1598: { - id: "n1598", - loc: [ - -85.6316, - 41.957951 - ] - }, - n1599: { - id: "n1599", - loc: [ - -85.6316, - 41.95785 - ] - }, - n16: { - id: "n16", - loc: [ - -85.63341, - 41.94032 - ] - }, - n160: { - id: "n160", - loc: [ - -85.637763, - 41.942514 - ] - }, - n1600: { - id: "n1600", - loc: [ - -85.63166, - 41.95785 - ] - }, - n1601: { - id: "n1601", - loc: [ - -85.631696, - 41.957873 - ] - }, - n1602: { - id: "n1602", - loc: [ - -85.631924, - 41.957762 - ] - }, - n1603: { - id: "n1603", - loc: [ - -85.631762, - 41.957762 - ] - }, - n1604: { - id: "n1604", - loc: [ - -85.631762, - 41.957708 - ] - }, - n1605: { - id: "n1605", - loc: [ - -85.631785, - 41.957708 - ] - }, - n1606: { - id: "n1606", - loc: [ - -85.631785, - 41.957606 - ] - }, - n1607: { - id: "n1607", - loc: [ - -85.631734, - 41.957606 - ] - }, - n1608: { - id: "n1608", - loc: [ - -85.631734, - 41.957538 - ] - }, - n1609: { - id: "n1609", - loc: [ - -85.631821, - 41.957538 - ] - }, - n161: { - id: "n161", - loc: [ - -85.637763, - 41.942445 - ] - }, - n1610: { - id: "n1610", - loc: [ - -85.631935, - 41.957545 - ] - }, - n1611: { - id: "n1611", - loc: [ - -85.631821, - 41.957544 - ] - }, - n1612: { - id: "n1612", - loc: [ - -85.631935, - 41.957645 - ] - }, - n1613: { - id: "n1613", - loc: [ - -85.631924, - 41.957645 - ] - }, - n1614: { - id: "n1614", - loc: [ - -85.627135, - 41.953828 - ] - }, - n1615: { - id: "n1615", - loc: [ - -85.633517, - 41.941353 - ], - tags: { - man_made: "lighthouse" - } - }, - n1616: { - id: "n1616", - loc: [ - -85.633659, - 41.942041 - ], - tags: { - amenity: "bbq" - } - }, - n1617: { - id: "n1617", - loc: [ - -85.63662, - 41.942911 - ], - tags: { - amenity: "toilets" - } - }, - n1618: { - id: "n1618", - loc: [ - -85.637487, - 41.943876 - ], - tags: { - amenity: "toilets" - } - }, - n1619: { - id: "n1619", - loc: [ - -85.634938, - 41.941917 - ], - tags: { - amenity: "toilets" - } - }, - n162: { - id: "n162", - loc: [ - -85.638107, - 41.942443 - ] - }, - n1620: { - id: "n1620", - loc: [ - -85.632427, - 41.941678 - ], - tags: { - amenity: "bbq" - } - }, - n1621: { - id: "n1621", - loc: [ - -85.638033, - 41.944568 - ], - tags: { - amenity: "bbq" - } - }, - n1622: { - id: "n1622", - loc: [ - -85.638052, - 41.944522 - ], - tags: { - amenity: "bbq" - } - }, - n1623: { - id: "n1623", - loc: [ - -85.635001, - 41.941965 - ] - }, - n1624: { - id: "n1624", - loc: [ - -85.634635, - 41.941884 - ] - }, - n1625: { - id: "n1625", - loc: [ - -85.634667, - 41.941894 - ] - }, - n1626: { - id: "n1626", - loc: [ - -85.634791, - 41.942011 - ] - }, - n1627: { - id: "n1627", - loc: [ - -85.634749, - 41.941938 - ] - }, - n1628: { - id: "n1628", - loc: [ - -85.627295, - 41.953946 - ], - tags: { - barrier: "gate" - } - }, - n1629: { - id: "n1629", - loc: [ - -85.629076, - 41.954689 - ] - }, - n163: { - id: "n163", - loc: [ - -85.638813, - 41.942475 - ] - }, - n1630: { - id: "n1630", - loc: [ - -85.640667, - 41.942595 - ] - }, - n1631: { - id: "n1631", - loc: [ - -85.639455, - 41.94261 - ] - }, - n1632: { - id: "n1632", - loc: [ - -85.643407, - 41.942336 - ] - }, - n1633: { - id: "n1633", - loc: [ - -85.641845, - 41.941316 - ] - }, - n1634: { - id: "n1634", - loc: [ - -85.643322, - 41.942224 - ] - }, - n1635: { - id: "n1635", - loc: [ - -85.643301, - 41.942124 - ] - }, - n1636: { - id: "n1636", - loc: [ - -85.640639, - 41.941326 - ] - }, - n1637: { - id: "n1637", - loc: [ - -85.640614, - 41.940058 - ] - }, - n1638: { - id: "n1638", - loc: [ - -85.639428, - 41.941335 - ] - }, - n1639: { - id: "n1639", - loc: [ - -85.643078, - 41.941293 - ] - }, - n164: { - id: "n164", - loc: [ - -85.63883, - 41.942422 - ] - }, - n1640: { - id: "n1640", - loc: [ - -85.64371, - 41.942302 - ] - }, - n1641: { - id: "n1641", - loc: [ - -85.643056, - 41.94001 - ] - }, - n1642: { - id: "n1642", - loc: [ - -85.643097, - 41.942575 - ], - tags: { - highway: "traffic_signals", - traffic_signals: "signal", - "traffic_signals:direction": "both" - } - }, - n1643: { - id: "n1643", - loc: [ - -85.641855, - 41.942586 - ] - }, - n1644: { - id: "n1644", - loc: [ - -85.643549, - 41.942209 - ] - }, - n1645: { - id: "n1645", - loc: [ - -85.639359, - 41.94007 - ] - }, - n1646: { - id: "n1646", - loc: [ - -85.642797, - 41.940522 - ] - }, - n1647: { - id: "n1647", - loc: [ - -85.642589, - 41.940523 - ] - }, - n1648: { - id: "n1648", - loc: [ - -85.642587, - 41.940287 - ] - }, - n1649: { - id: "n1649", - loc: [ - -85.642797, - 41.940286 - ] - }, - n165: { - id: "n165", - loc: [ - -85.63883, - 41.942508 - ] - }, - n1650: { - id: "n1650", - loc: [ - -85.642571, - 41.940523 - ] - }, - n1651: { - id: "n1651", - loc: [ - -85.642568, - 41.940286 - ] - }, - n1652: { - id: "n1652", - loc: [ - -85.642316, - 41.940289 - ] - }, - n1653: { - id: "n1653", - loc: [ - -85.642321, - 41.940436 - ] - }, - n1654: { - id: "n1654", - loc: [ - -85.642292, - 41.940458 - ] - }, - n1655: { - id: "n1655", - loc: [ - -85.642287, - 41.940483 - ] - }, - n1656: { - id: "n1656", - loc: [ - -85.642323, - 41.940509 - ] - }, - n1657: { - id: "n1657", - loc: [ - -85.642385, - 41.940511 - ] - }, - n1658: { - id: "n1658", - loc: [ - -85.642408, - 41.940526 - ] - }, - n1659: { - id: "n1659", - loc: [ - -85.641962, - 41.94109 - ] - }, - n166: { - id: "n166", - loc: [ - -85.638364, - 41.942508 - ] - }, - n1660: { - id: "n1660", - loc: [ - -85.642753, - 41.941084 - ] - }, - n1661: { - id: "n1661", - loc: [ - -85.642752, - 41.941004 - ] - }, - n1662: { - id: "n1662", - loc: [ - -85.642806, - 41.941003 - ] - }, - n1663: { - id: "n1663", - loc: [ - -85.642803, - 41.940731 - ] - }, - n1664: { - id: "n1664", - loc: [ - -85.642741, - 41.940732 - ] - }, - n1665: { - id: "n1665", - loc: [ - -85.64274, - 41.940645 - ] - }, - n1666: { - id: "n1666", - loc: [ - -85.641957, - 41.940651 - ] - }, - n1667: { - id: "n1667", - loc: [ - -85.642937, - 41.941241 - ] - }, - n1668: { - id: "n1668", - loc: [ - -85.641776, - 41.941253 - ] - }, - n1669: { - id: "n1669", - loc: [ - -85.641766, - 41.940598 - ] - }, - n167: { - id: "n167", - loc: [ - -85.638836, - 41.942167 - ] - }, - n1670: { - id: "n1670", - loc: [ - -85.64198, - 41.940598 - ] - }, - n1671: { - id: "n1671", - loc: [ - -85.641961, - 41.940137 - ] - }, - n1672: { - id: "n1672", - loc: [ - -85.642934, - 41.94012 - ] - }, - n1673: { - id: "n1673", - loc: [ - -85.643074, - 41.941173 - ] - }, - n1674: { - id: "n1674", - loc: [ - -85.642841, - 41.940997 - ] - }, - n1675: { - id: "n1675", - loc: [ - -85.642839, - 41.940721 - ] - }, - n1676: { - id: "n1676", - loc: [ - -85.643065, - 41.940552 - ] - }, - n1677: { - id: "n1677", - loc: [ - -85.642732, - 41.94124 - ] - }, - n1678: { - id: "n1678", - loc: [ - -85.641815, - 41.941246 - ] - }, - n1679: { - id: "n1679", - loc: [ - -85.641813, - 41.941132 - ] - }, - n168: { - id: "n168", - loc: [ - -85.638836, - 41.94229 - ] - }, - n1680: { - id: "n1680", - loc: [ - -85.641839, - 41.941111 - ] - }, - n1681: { - id: "n1681", - loc: [ - -85.641884, - 41.941098 - ] - }, - n1682: { - id: "n1682", - loc: [ - -85.642732, - 41.941092 - ] - }, - n1683: { - id: "n1683", - loc: [ - -85.642776, - 41.941302 - ] - }, - n1684: { - id: "n1684", - loc: [ - -85.632788, - 41.946236 - ] - }, - n1685: { - id: "n1685", - loc: [ - -85.622342, - 41.953127 - ] - }, - n1686: { - id: "n1686", - loc: [ - -85.641848, - 41.941167 - ] - }, - n1687: { - id: "n1687", - loc: [ - -85.643753, - 41.941503 - ] - }, - n1688: { - id: "n1688", - loc: [ - -85.643762, - 41.942119 - ] - }, - n1689: { - id: "n1689", - loc: [ - -85.64238, - 41.942262 - ] - }, - n169: { - id: "n169", - loc: [ - -85.638594, - 41.94229 - ] - }, - n1690: { - id: "n1690", - loc: [ - -85.642374, - 41.941944 - ] - }, - n1691: { - id: "n1691", - loc: [ - -85.642518, - 41.941943 - ] - }, - n1692: { - id: "n1692", - loc: [ - -85.642519, - 41.94198 - ] - }, - n1693: { - id: "n1693", - loc: [ - -85.642831, - 41.941977 - ] - }, - n1694: { - id: "n1694", - loc: [ - -85.642837, - 41.942312 - ] - }, - n1695: { - id: "n1695", - loc: [ - -85.642495, - 41.942315 - ] - }, - n1696: { - id: "n1696", - loc: [ - -85.642494, - 41.942261 - ] - }, - n1697: { - id: "n1697", - loc: [ - -85.641087, - 41.942433 - ] - }, - n1698: { - id: "n1698", - loc: [ - -85.641081, - 41.942006 - ] - }, - n1699: { - id: "n1699", - loc: [ - -85.641244, - 41.942005 - ] - }, - n17: { - id: "n17", - loc: [ - -85.633478, - 41.94081 - ] - }, - n170: { - id: "n170", - loc: [ - -85.638594, - 41.942422 - ] - }, - n1700: { - id: "n1700", - loc: [ - -85.64125, - 41.942431 - ] - }, - n1701: { - id: "n1701", - loc: [ - -85.641331, - 41.942968 - ] - }, - n1702: { - id: "n1702", - loc: [ - -85.641328, - 41.942713 - ] - }, - n1703: { - id: "n1703", - loc: [ - -85.641521, - 41.942712 - ] - }, - n1704: { - id: "n1704", - loc: [ - -85.641523, - 41.942924 - ] - }, - n1705: { - id: "n1705", - loc: [ - -85.641504, - 41.942924 - ] - }, - n1706: { - id: "n1706", - loc: [ - -85.641505, - 41.942967 - ] - }, - n1707: { - id: "n1707", - loc: [ - -85.638612, - 41.942408 - ] - }, - n1708: { - id: "n1708", - loc: [ - -85.638612, - 41.942327 - ] - }, - n1709: { - id: "n1709", - loc: [ - -85.638775, - 41.942327 - ] - }, - n171: { - id: "n171", - loc: [ - -85.638364, - 41.942356 - ] - }, - n1710: { - id: "n1710", - loc: [ - -85.638775, - 41.942299 - ] - }, - n1711: { - id: "n1711", - loc: [ - -85.638835, - 41.942298 - ] - }, - n1712: { - id: "n1712", - loc: [ - -85.638835, - 41.942407 - ] - }, - n1713: { - id: "n1713", - loc: [ - -85.639116, - 41.942444 - ] - }, - n1714: { - id: "n1714", - loc: [ - -85.639114, - 41.942362 - ] - }, - n1715: { - id: "n1715", - loc: [ - -85.639294, - 41.94236 - ] - }, - n1716: { - id: "n1716", - loc: [ - -85.639296, - 41.942442 - ] - }, - n1717: { - id: "n1717", - loc: [ - -85.639808, - 41.942385 - ] - }, - n1718: { - id: "n1718", - loc: [ - -85.639805, - 41.942285 - ] - }, - n1719: { - id: "n1719", - loc: [ - -85.639988, - 41.942283 - ] - }, - n172: { - id: "n172", - loc: [ - -85.638364, - 41.942167 - ] - }, - n1720: { - id: "n1720", - loc: [ - -85.63999, - 41.942383 - ] - }, - n1721: { - id: "n1721", - loc: [ - -85.639633, - 41.943023 - ] - }, - n1722: { - id: "n1722", - loc: [ - -85.639867, - 41.943019 - ] - }, - n1723: { - id: "n1723", - loc: [ - -85.639866, - 41.942964 - ] - }, - n1724: { - id: "n1724", - loc: [ - -85.639888, - 41.942963 - ] - }, - n1725: { - id: "n1725", - loc: [ - -85.639883, - 41.942779 - ] - }, - n1726: { - id: "n1726", - loc: [ - -85.639851, - 41.94278 - ] - }, - n1727: { - id: "n1727", - loc: [ - -85.63985, - 41.94274 - ] - }, - n1728: { - id: "n1728", - loc: [ - -85.639789, - 41.942741 - ] - }, - n1729: { - id: "n1729", - loc: [ - -85.639789, - 41.942753 - ] - }, - n173: { - id: "n173", - loc: [ - -85.639038, - 41.942463 - ] - }, - n1730: { - id: "n1730", - loc: [ - -85.639698, - 41.942754 - ] - }, - n1731: { - id: "n1731", - loc: [ - -85.639699, - 41.942788 - ] - }, - n1732: { - id: "n1732", - loc: [ - -85.639675, - 41.942789 - ] - }, - n1733: { - id: "n1733", - loc: [ - -85.639676, - 41.94283 - ] - }, - n1734: { - id: "n1734", - loc: [ - -85.639701, - 41.942829 - ] - }, - n1735: { - id: "n1735", - loc: [ - -85.639702, - 41.942869 - ] - }, - n1736: { - id: "n1736", - loc: [ - -85.639629, - 41.94287 - ] - }, - n1737: { - id: "n1737", - loc: [ - -85.643568, - 41.942946 - ] - }, - n1738: { - id: "n1738", - loc: [ - -85.643568, - 41.942777 - ] - }, - n1739: { - id: "n1739", - loc: [ - -85.643401, - 41.942777 - ] - }, - n174: { - id: "n174", - loc: [ - -85.638897, - 41.942464 - ] - }, - n1740: { - id: "n1740", - loc: [ - -85.643401, - 41.942863 - ] - }, - n1741: { - id: "n1741", - loc: [ - -85.643448, - 41.942863 - ] - }, - n1742: { - id: "n1742", - loc: [ - -85.643448, - 41.942946 - ] - }, - n1743: { - id: "n1743", - loc: [ - -85.642836, - 41.942981 - ] - }, - n1744: { - id: "n1744", - loc: [ - -85.642917, - 41.942979 - ] - }, - n1745: { - id: "n1745", - loc: [ - -85.642914, - 41.942904 - ] - }, - n1746: { - id: "n1746", - loc: [ - -85.642938, - 41.942903 - ] - }, - n1747: { - id: "n1747", - loc: [ - -85.642935, - 41.942813 - ] - }, - n1748: { - id: "n1748", - loc: [ - -85.642775, - 41.942816 - ] - }, - n1749: { - id: "n1749", - loc: [ - -85.642778, - 41.942906 - ] - }, - n175: { - id: "n175", - loc: [ - -85.638897, - 41.942423 - ] - }, - n1750: { - id: "n1750", - loc: [ - -85.642833, - 41.942905 - ] - }, - n1751: { - id: "n1751", - loc: [ - -85.642302, - 41.942886 - ] - }, - n1752: { - id: "n1752", - loc: [ - -85.642299, - 41.942721 - ] - }, - n1753: { - id: "n1753", - loc: [ - -85.642422, - 41.94272 - ] - }, - n1754: { - id: "n1754", - loc: [ - -85.642425, - 41.942868 - ] - }, - n1755: { - id: "n1755", - loc: [ - -85.642385, - 41.942869 - ] - }, - n1756: { - id: "n1756", - loc: [ - -85.642385, - 41.942885 - ] - }, - n1757: { - id: "n1757", - loc: [ - -85.641533, - 41.942939 - ] - }, - n1758: { - id: "n1758", - loc: [ - -85.64161, - 41.942877 - ] - }, - n1759: { - id: "n1759", - loc: [ - -85.641676, - 41.942922 - ] - }, - n176: { - id: "n176", - loc: [ - -85.638853, - 41.942423 - ] - }, - n1760: { - id: "n1760", - loc: [ - -85.6416, - 41.942985 - ] - }, - n1761: { - id: "n1761", - loc: [ - -85.64206, - 41.942802 - ] - }, - n1762: { - id: "n1762", - loc: [ - -85.642059, - 41.942741 - ] - }, - n1763: { - id: "n1763", - loc: [ - -85.642196, - 41.942741 - ] - }, - n1764: { - id: "n1764", - loc: [ - -85.642196, - 41.942818 - ] - }, - n1765: { - id: "n1765", - loc: [ - -85.642128, - 41.942819 - ] - }, - n1766: { - id: "n1766", - loc: [ - -85.642128, - 41.942801 - ] - }, - n1767: { - id: "n1767", - loc: [ - -85.640943, - 41.942934 - ] - }, - n1768: { - id: "n1768", - loc: [ - -85.641035, - 41.942933 - ] - }, - n1769: { - id: "n1769", - loc: [ - -85.641032, - 41.942797 - ] - }, - n177: { - id: "n177", - loc: [ - -85.638852, - 41.94237 - ] - }, - n1770: { - id: "n1770", - loc: [ - -85.640997, - 41.942798 - ] - }, - n1771: { - id: "n1771", - loc: [ - -85.640996, - 41.942764 - ] - }, - n1772: { - id: "n1772", - loc: [ - -85.640861, - 41.942766 - ] - }, - n1773: { - id: "n1773", - loc: [ - -85.640862, - 41.942848 - ] - }, - n1774: { - id: "n1774", - loc: [ - -85.640941, - 41.942847 - ] - }, - n1775: { - id: "n1775", - loc: [ - -85.643766, - 41.942226 - ] - }, - n1776: { - id: "n1776", - loc: [ - -85.643768, - 41.942407 - ] - }, - n1777: { - id: "n1777", - loc: [ - -85.643218, - 41.94177 - ] - }, - n1778: { - id: "n1778", - loc: [ - -85.64321, - 41.941327 - ] - }, - n1779: { - id: "n1779", - loc: [ - -85.643649, - 41.941323 - ] - }, - n178: { - id: "n178", - loc: [ - -85.638892, - 41.94237 - ] - }, - n1780: { - id: "n1780", - loc: [ - -85.643656, - 41.941716 - ] - }, - n1781: { - id: "n1781", - loc: [ - -85.64358, - 41.941717 - ] - }, - n1782: { - id: "n1782", - loc: [ - -85.64358, - 41.941767 - ] - }, - n1783: { - id: "n1783", - loc: [ - -85.64382, - 41.941495 - ] - }, - n1784: { - id: "n1784", - loc: [ - -85.643817, - 41.941317 - ] - }, - n1785: { - id: "n1785", - loc: [ - -85.643235, - 41.941833 - ] - }, - n1786: { - id: "n1786", - loc: [ - -85.64335, - 41.941842 - ] - }, - n1787: { - id: "n1787", - loc: [ - -85.643504, - 41.941903 - ] - }, - n1788: { - id: "n1788", - loc: [ - -85.643554, - 41.941946 - ] - }, - n1789: { - id: "n1789", - loc: [ - -85.643618, - 41.942015 - ] - }, - n179: { - id: "n179", - loc: [ - -85.638891, - 41.942334 - ] - }, - n1790: { - id: "n1790", - loc: [ - -85.64346, - 41.941971 - ] - }, - n1791: { - id: "n1791", - loc: [ - -85.643528, - 41.942468 - ] - }, - n1792: { - id: "n1792", - loc: [ - -85.643621, - 41.942363 - ] - }, - n1793: { - id: "n1793", - loc: [ - -85.643496, - 41.942297 - ] - }, - n1794: { - id: "n1794", - loc: [ - -85.643446, - 41.942246 - ] - }, - n1795: { - id: "n1795", - loc: [ - -85.643398, - 41.942177 - ] - }, - n1796: { - id: "n1796", - loc: [ - -85.643398, - 41.942031 - ] - }, - n1797: { - id: "n1797", - loc: [ - -85.621531, - 41.952693 - ] - }, - n1798: { - id: "n1798", - loc: [ - -85.643221, - 41.942028 - ] - }, - n1799: { - id: "n1799", - loc: [ - -85.643225, - 41.942276 - ] - }, - n18: { - id: "n18", - loc: [ - -85.63345, - 41.94071 - ] - }, - n180: { - id: "n180", - loc: [ - -85.639037, - 41.942334 - ] - }, - n1800: { - id: "n1800", - loc: [ - -85.643265, - 41.942347 - ] - }, - n1801: { - id: "n1801", - loc: [ - -85.643323, - 41.942413 - ] - }, - n1802: { - id: "n1802", - loc: [ - -85.643411, - 41.94247 - ] - }, - n1803: { - id: "n1803", - loc: [ - -85.643459, - 41.942435 - ] - }, - n1804: { - id: "n1804", - loc: [ - -85.643767, - 41.942307 - ] - }, - n1805: { - id: "n1805", - loc: [ - -85.643661, - 41.942293 - ] - }, - n1806: { - id: "n1806", - loc: [ - -85.643578, - 41.942247 - ] - }, - n1807: { - id: "n1807", - loc: [ - -85.643522, - 41.942125 - ] - }, - n1808: { - id: "n1808", - loc: [ - -85.643515, - 41.942061 - ] - }, - n1809: { - id: "n1809", - loc: [ - -85.643346, - 41.941924 - ] - }, - n181: { - id: "n181", - loc: [ - -85.638074, - 41.941839 - ] - }, - n1810: { - id: "n1810", - loc: [ - -85.643086, - 41.94192 - ] - }, - n1811: { - id: "n1811", - loc: [ - -85.643529, - 41.94217 - ] - }, - n1812: { - id: "n1812", - loc: [ - -85.643489, - 41.942003 - ] - }, - n1813: { - id: "n1813", - loc: [ - -85.643295, - 41.941919 - ] - }, - n1814: { - id: "n1814", - loc: [ - -85.643305, - 41.942163 - ] - }, - n1815: { - id: "n1815", - loc: [ - -85.643354, - 41.942285 - ] - }, - n1816: { - id: "n1816", - loc: [ - -85.643472, - 41.942389 - ] - }, - n1817: { - id: "n1817", - loc: [ - -85.643608, - 41.942271 - ] - }, - n1818: { - id: "n1818", - loc: [ - -85.643876, - 41.941402 - ] - }, - n1819: { - id: "n1819", - loc: [ - -85.643818, - 41.941369 - ] - }, - n182: { - id: "n182", - loc: [ - -85.638076, - 41.941942 - ] - }, - n1820: { - id: "n1820", - loc: [ - -85.643682, - 41.941304 - ] - }, - n1821: { - id: "n1821", - loc: [ - -85.64359, - 41.941286 - ] - }, - n1822: { - id: "n1822", - loc: [ - -85.643317, - 41.941727 - ] - }, - n1823: { - id: "n1823", - loc: [ - -85.643301, - 41.941286 - ] - }, - n1824: { - id: "n1824", - loc: [ - -85.643553, - 41.941698 - ] - }, - n1825: { - id: "n1825", - loc: [ - -85.643543, - 41.941286 - ] - }, - n1826: { - id: "n1826", - loc: [ - -85.636967, - 41.940118 - ] - }, - n1827: { - id: "n1827", - loc: [ - -85.63378, - 41.940114 - ] - }, - n1828: { - id: "n1828", - loc: [ - -85.637254, - 41.940075 - ] - }, - n1829: { - id: "n1829", - loc: [ - -85.637002, - 41.941355 - ] - }, - n183: { - id: "n183", - loc: [ - -85.637955, - 41.941944 - ] - }, - n1830: { - id: "n1830", - loc: [ - -85.643532, - 41.94204 - ] - }, - n1831: { - id: "n1831", - loc: [ - -85.638235, - 41.942615 - ] - }, - n1832: { - id: "n1832", - loc: [ - -85.637039, - 41.942624 - ] - }, - n1833: { - id: "n1833", - loc: [ - -85.636369, - 41.94266 - ] - }, - n1834: { - id: "n1834", - loc: [ - -85.63582, - 41.942771 - ], - tags: { - highway: "traffic_signals", - traffic_signals: "emergency", - "traffic_signals:direction": "both" - } - }, - n1835: { - id: "n1835", - loc: [ - -85.634873, - 41.943044 - ] - }, - n1836: { - id: "n1836", - loc: [ - -85.643482, - 41.941976 - ] - }, - n1837: { - id: "n1837", - loc: [ - -85.64345, - 41.941945 - ] - }, - n1838: { - id: "n1838", - loc: [ - -85.641885, - 41.943851 - ] - }, - n1839: { - id: "n1839", - loc: [ - -85.641915, - 41.945121 - ] - }, - n184: { - id: "n184", - loc: [ - -85.637953, - 41.94184 - ] - }, - n1840: { - id: "n1840", - loc: [ - -85.639454, - 41.943871 - ] - }, - n1841: { - id: "n1841", - loc: [ - -85.639491, - 41.945191 - ] - }, - n1842: { - id: "n1842", - loc: [ - -85.635768, - 41.940113 - ] - }, - n1843: { - id: "n1843", - loc: [ - -85.638206, - 41.941345 - ] - }, - n1844: { - id: "n1844", - loc: [ - -85.640721, - 41.94513 - ] - }, - n1845: { - id: "n1845", - loc: [ - -85.643137, - 41.945103 - ] - }, - n1846: { - id: "n1846", - loc: [ - -85.638199, - 41.940079 - ] - }, - n1847: { - id: "n1847", - loc: [ - -85.640688, - 41.943861 - ] - }, - n1848: { - id: "n1848", - loc: [ - -85.643397, - 41.941924 - ] - }, - n1849: { - id: "n1849", - loc: [ - -85.643117, - 41.943841 - ] - }, - n185: { - id: "n185", - loc: [ - -85.637953, - 41.941866 - ] - }, - n1850: { - id: "n1850", - loc: [ - -85.636731, - 41.94263 - ] - }, - n1851: { - id: "n1851", - loc: [ - -85.63518, - 41.942955 - ], - tags: { - highway: "crossing" - } - }, - n1852: { - id: "n1852", - loc: [ - -85.636152, - 41.942695 - ] - }, - n1853: { - id: "n1853", - loc: [ - -85.644202, - 41.941499 - ] - }, - n1854: { - id: "n1854", - loc: [ - -85.644211, - 41.942116 - ] - }, - n1855: { - id: "n1855", - loc: [ - -85.644233, - 41.942404 - ] - }, - n1856: { - id: "n1856", - loc: [ - -85.644231, - 41.942223 - ] - }, - n1857: { - id: "n1857", - loc: [ - -85.644133, - 41.941315 - ] - }, - n1858: { - id: "n1858", - loc: [ - -85.644136, - 41.941493 - ] - }, - n1859: { - id: "n1859", - loc: [ - -85.644345, - 41.942307 - ] - }, - n186: { - id: "n186", - loc: [ - -85.637873, - 41.941867 - ] - }, - n1860: { - id: "n1860", - loc: [ - -85.644232, - 41.942304 - ] - }, - n1861: { - id: "n1861", - loc: [ - -85.644134, - 41.941403 - ] - }, - n1862: { - id: "n1862", - loc: [ - -85.63607, - 41.943005 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "333", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Michigan Avenue", - amenity: "fire_station", - name: "Three Rivers Fire Department" - } - }, - n1863: { - id: "n1863", - loc: [ - -85.637, - 41.941236 - ] - }, - n1864: { - id: "n1864", - loc: [ - -85.634476, - 41.941475 - ] - }, - n1865: { - id: "n1865", - loc: [ - -85.635036, - 41.941858 - ] - }, - n1866: { - id: "n1866", - loc: [ - -85.635362, - 41.941962 - ] - }, - n1867: { - id: "n1867", - loc: [ - -85.635796, - 41.941962 - ] - }, - n1868: { - id: "n1868", - loc: [ - -85.63295, - 41.943006 - ] - }, - n1869: { - id: "n1869", - loc: [ - -85.634692, - 41.943098 - ] - }, - n187: { - id: "n187", - loc: [ - -85.637877, - 41.941975 - ] - }, - n1870: { - id: "n1870", - loc: [ - -85.633128, - 41.940484 - ] - }, - n1871: { - id: "n1871", - loc: [ - -85.633117, - 41.942798 - ] - }, - n1872: { - id: "n1872", - loc: [ - -85.633303, - 41.942412 - ] - }, - n1873: { - id: "n1873", - loc: [ - -85.633482, - 41.941912 - ] - }, - n1874: { - id: "n1874", - loc: [ - -85.633455, - 41.941359 - ] - }, - n1875: { - id: "n1875", - loc: [ - -85.633162, - 41.942679 - ] - }, - n1876: { - id: "n1876", - loc: [ - -85.634274, - 41.943479 - ] - }, - n1877: { - id: "n1877", - loc: [ - -85.634678, - 41.942909 - ] - }, - n1878: { - id: "n1878", - loc: [ - -85.6339, - 41.941453 - ] - }, - n1879: { - id: "n1879", - loc: [ - -85.634571, - 41.942774 - ] - }, - n188: { - id: "n188", - loc: [ - -85.636855, - 41.942488 - ] - }, - n1880: { - id: "n1880", - loc: [ - -85.63419, - 41.941732 - ] - }, - n1881: { - id: "n1881", - loc: [ - -85.634067, - 41.941565 - ] - }, - n1882: { - id: "n1882", - loc: [ - -85.63436, - 41.942358 - ] - }, - n1883: { - id: "n1883", - loc: [ - -85.634327, - 41.942247 - ] - }, - n1884: { - id: "n1884", - loc: [ - -85.633391, - 41.941231 - ] - }, - n1885: { - id: "n1885", - loc: [ - -85.634303, - 41.941972 - ] - }, - n1886: { - id: "n1886", - loc: [ - -85.633541, - 41.940147 - ] - }, - n1887: { - id: "n1887", - loc: [ - -85.633433, - 41.940252 - ] - }, - n1888: { - id: "n1888", - loc: [ - -85.633402, - 41.940411 - ] - }, - n1889: { - id: "n1889", - loc: [ - -85.633551, - 41.941023 - ] - }, - n189: { - id: "n189", - loc: [ - -85.636702, - 41.942488 - ] - }, - n1890: { - id: "n1890", - loc: [ - -85.633719, - 41.941186 - ] - }, - n1891: { - id: "n1891", - loc: [ - -85.633067, - 41.941845 - ] - }, - n1892: { - id: "n1892", - loc: [ - -85.634902, - 41.942766 - ] - }, - n1893: { - id: "n1893", - loc: [ - -85.634603, - 41.942202 - ] - }, - n1894: { - id: "n1894", - loc: [ - -85.634858, - 41.942152 - ] - }, - n1895: { - id: "n1895", - loc: [ - -85.634842, - 41.942269 - ] - }, - n1896: { - id: "n1896", - loc: [ - -85.634907, - 41.942313 - ] - }, - n1897: { - id: "n1897", - loc: [ - -85.635049, - 41.942331 - ] - }, - n1898: { - id: "n1898", - loc: [ - -85.635101, - 41.942281 - ] - }, - n1899: { - id: "n1899", - loc: [ - -85.635129, - 41.942144 - ] - }, - n19: { - id: "n19", - loc: [ - -85.633009, - 41.942229 - ] - }, - n190: { - id: "n190", - loc: [ - -85.636702, - 41.942434 - ] - }, - n1900: { - id: "n1900", - loc: [ - -85.635531, - 41.942143 - ] - }, - n1901: { - id: "n1901", - loc: [ - -85.635534, - 41.942577 - ] - }, - n1902: { - id: "n1902", - loc: [ - -85.635158, - 41.942656 - ] - }, - n1903: { - id: "n1903", - loc: [ - -85.635121, - 41.942703 - ] - }, - n1904: { - id: "n1904", - loc: [ - -85.635087, - 41.941508 - ] - }, - n1905: { - id: "n1905", - loc: [ - -85.63536, - 41.941106 - ] - }, - n1906: { - id: "n1906", - loc: [ - -85.635442, - 41.941094 - ] - }, - n1907: { - id: "n1907", - loc: [ - -85.635508, - 41.941104 - ] - }, - n1908: { - id: "n1908", - loc: [ - -85.635569, - 41.941125 - ] - }, - n1909: { - id: "n1909", - loc: [ - -85.635583, - 41.941106 - ] - }, - n191: { - id: "n191", - loc: [ - -85.636761, - 41.942434 - ] - }, - n1910: { - id: "n1910", - loc: [ - -85.635555, - 41.940976 - ] - }, - n1911: { - id: "n1911", - loc: [ - -85.635501, - 41.940915 - ] - }, - n1912: { - id: "n1912", - loc: [ - -85.635392, - 41.940922 - ] - }, - n1913: { - id: "n1913", - loc: [ - -85.635276, - 41.940974 - ] - }, - n1914: { - id: "n1914", - loc: [ - -85.63517, - 41.941204 - ] - }, - n1915: { - id: "n1915", - loc: [ - -85.634888, - 41.941517 - ] - }, - n1916: { - id: "n1916", - loc: [ - -85.634897, - 41.941576 - ] - }, - n1917: { - id: "n1917", - loc: [ - -85.634961, - 41.94164 - ] - }, - n1918: { - id: "n1918", - loc: [ - -85.635028, - 41.941659 - ] - }, - n1919: { - id: "n1919", - loc: [ - -85.635118, - 41.941621 - ] - }, - n192: { - id: "n192", - loc: [ - -85.636761, - 41.942369 - ] - }, - n1920: { - id: "n1920", - loc: [ - -85.635085, - 41.941558 - ] - }, - n1921: { - id: "n1921", - loc: [ - -85.63504, - 41.94136 - ] - }, - n1922: { - id: "n1922", - loc: [ - -85.635221, - 41.941077 - ] - }, - n1923: { - id: "n1923", - loc: [ - -85.634387, - 41.941559 - ] - }, - n1924: { - id: "n1924", - loc: [ - -85.634351, - 41.941587 - ] - }, - n1925: { - id: "n1925", - loc: [ - -85.634416, - 41.941756 - ] - }, - n1926: { - id: "n1926", - loc: [ - -85.634461, - 41.941797 - ] - }, - n1927: { - id: "n1927", - loc: [ - -85.634501, - 41.941819 - ] - }, - n1928: { - id: "n1928", - loc: [ - -85.634597, - 41.941816 - ] - }, - n1929: { - id: "n1929", - loc: [ - -85.634732, - 41.941724 - ] - }, - n193: { - id: "n193", - loc: [ - -85.636855, - 41.942369 - ] - }, - n1930: { - id: "n1930", - loc: [ - -85.634672, - 41.941775 - ] - }, - n1931: { - id: "n1931", - loc: [ - -85.633403, - 41.939101 - ] - }, - n1932: { - id: "n1932", - loc: [ - -85.633297, - 41.939397 - ] - }, - n1933: { - id: "n1933", - loc: [ - -85.633205, - 41.939674 - ] - }, - n1934: { - id: "n1934", - loc: [ - -85.63322, - 41.939777 - ] - }, - n1935: { - id: "n1935", - loc: [ - -85.633345, - 41.939936 - ] - }, - n1936: { - id: "n1936", - loc: [ - -85.633376, - 41.940002 - ] - }, - n1937: { - id: "n1937", - loc: [ - -85.633266, - 41.940228 - ] - }, - n1938: { - id: "n1938", - loc: [ - -85.633236, - 41.940352 - ] - }, - n1939: { - id: "n1939", - loc: [ - -85.633282, - 41.94063 - ] - }, - n194: { - id: "n194", - loc: [ - -85.636645, - 41.94249 - ] - }, - n1940: { - id: "n1940", - loc: [ - -85.633364, - 41.940874 - ] - }, - n1941: { - id: "n1941", - loc: [ - -85.633439, - 41.941052 - ] - }, - n1942: { - id: "n1942", - loc: [ - -85.633582, - 41.941172 - ] - }, - n1943: { - id: "n1943", - loc: [ - -85.633748, - 41.941273 - ] - }, - n1944: { - id: "n1944", - loc: [ - -85.634317, - 41.941527 - ] - }, - n1945: { - id: "n1945", - loc: [ - -85.634389, - 41.94174 - ] - }, - n1946: { - id: "n1946", - loc: [ - -85.634441, - 41.941801 - ] - }, - n1947: { - id: "n1947", - loc: [ - -85.634514, - 41.941837 - ] - }, - n1948: { - id: "n1948", - loc: [ - -85.634485, - 41.942005 - ] - }, - n1949: { - id: "n1949", - loc: [ - -85.63457, - 41.942202 - ] - }, - n195: { - id: "n195", - loc: [ - -85.636565, - 41.94249 - ] - }, - n1950: { - id: "n1950", - loc: [ - -85.634869, - 41.942769 - ] - }, - n1951: { - id: "n1951", - loc: [ - -85.634943, - 41.942792 - ] - }, - n1952: { - id: "n1952", - loc: [ - -85.635139, - 41.942882 - ] - }, - n1953: { - id: "n1953", - loc: [ - -85.634962, - 41.943161 - ] - }, - n1954: { - id: "n1954", - loc: [ - -85.635002, - 41.943131 - ] - }, - n1955: { - id: "n1955", - loc: [ - -85.635005, - 41.943091 - ] - }, - n1956: { - id: "n1956", - loc: [ - -85.635216, - 41.943033 - ] - }, - n1957: { - id: "n1957", - loc: [ - -85.634817, - 41.94267 - ] - }, - n1958: { - id: "n1958", - loc: [ - -85.634614, - 41.942599 - ] - }, - n1959: { - id: "n1959", - loc: [ - -85.634494, - 41.942381 - ] - }, - n196: { - id: "n196", - loc: [ - -85.636565, - 41.942474 - ] - }, - n1960: { - id: "n1960", - loc: [ - -85.634486, - 41.9423 - ] - }, - n1961: { - id: "n1961", - loc: [ - -85.634671, - 41.941795 - ] - }, - n1962: { - id: "n1962", - loc: [ - -85.634595, - 41.941831 - ] - }, - n1963: { - id: "n1963", - loc: [ - -85.634332, - 41.941866 - ] - }, - n1964: { - id: "n1964", - loc: [ - -85.634207, - 41.941885 - ] - }, - n1965: { - id: "n1965", - loc: [ - -85.634133, - 41.941892 - ] - }, - n1966: { - id: "n1966", - loc: [ - -85.634131, - 41.942203 - ] - }, - n1967: { - id: "n1967", - loc: [ - -85.634047, - 41.942327 - ] - }, - n1968: { - id: "n1968", - loc: [ - -85.634219, - 41.942793 - ] - }, - n1969: { - id: "n1969", - loc: [ - -85.634061, - 41.942392 - ] - }, - n197: { - id: "n197", - loc: [ - -85.636514, - 41.942474 - ] - }, - n1970: { - id: "n1970", - loc: [ - -85.633989, - 41.942407 - ] - }, - n1971: { - id: "n1971", - loc: [ - -85.633971, - 41.942356 - ] - }, - n1972: { - id: "n1972", - loc: [ - -85.63361, - 41.942423 - ] - }, - n1973: { - id: "n1973", - loc: [ - -85.633714, - 41.942682 - ] - }, - n1974: { - id: "n1974", - loc: [ - -85.633698, - 41.942863 - ] - }, - n1975: { - id: "n1975", - loc: [ - -85.633882, - 41.942865 - ] - }, - n1976: { - id: "n1976", - loc: [ - -85.633941, - 41.943007 - ] - }, - n1977: { - id: "n1977", - loc: [ - -85.633887, - 41.943035 - ] - }, - n1978: { - id: "n1978", - loc: [ - -85.633768, - 41.942815 - ] - }, - n1979: { - id: "n1979", - loc: [ - -85.633682, - 41.942351 - ] - }, - n198: { - id: "n198", - loc: [ - -85.636514, - 41.942326 - ] - }, - n1980: { - id: "n1980", - loc: [ - -85.634037, - 41.942273 - ] - }, - n1981: { - id: "n1981", - loc: [ - -85.634029, - 41.942252 - ] - }, - n1982: { - id: "n1982", - loc: [ - -85.633673, - 41.942331 - ] - }, - n1983: { - id: "n1983", - loc: [ - -85.634219, - 41.942571 - ] - }, - n1984: { - id: "n1984", - loc: [ - -85.634252, - 41.942565 - ] - }, - n1985: { - id: "n1985", - loc: [ - -85.634144, - 41.942299 - ] - }, - n1986: { - id: "n1986", - loc: [ - -85.634115, - 41.942306 - ] - }, - n1987: { - id: "n1987", - loc: [ - -85.634059, - 41.943094 - ] - }, - n1988: { - id: "n1988", - loc: [ - -85.633944, - 41.942903 - ] - }, - n1989: { - id: "n1989", - loc: [ - -85.634311, - 41.942821 - ] - }, - n199: { - id: "n199", - loc: [ - -85.636561, - 41.942326 - ] - }, - n1990: { - id: "n1990", - loc: [ - -85.634351, - 41.94277 - ] - }, - n1991: { - id: "n1991", - loc: [ - -85.634153, - 41.942254 - ] - }, - n1992: { - id: "n1992", - loc: [ - -85.634092, - 41.94222 - ] - }, - n1993: { - id: "n1993", - loc: [ - -85.633571, - 41.942336 - ] - }, - n1994: { - id: "n1994", - loc: [ - -85.633513, - 41.942387 - ] - }, - n1995: { - id: "n1995", - loc: [ - -85.633509, - 41.942455 - ] - }, - n1996: { - id: "n1996", - loc: [ - -85.63363, - 41.942665 - ] - }, - n1997: { - id: "n1997", - loc: [ - -85.63414, - 41.94286 - ] - }, - n1998: { - id: "n1998", - loc: [ - -85.63397, - 41.942449 - ] - }, - n1999: { - id: "n1999", - loc: [ - -85.633551, - 41.942529 - ] - }, - n2: { - id: "n2", - loc: [ - -85.627421, - 41.953877 - ] - }, - n20: { - id: "n20", - loc: [ - -85.633013, - 41.941438 - ] - }, - n200: { - id: "n200", - loc: [ - -85.636561, - 41.942311 - ] - }, - n2000: { - id: "n2000", - loc: [ - -85.633741, - 41.942493 - ] - }, - n2001: { - id: "n2001", - loc: [ - -85.633894, - 41.942869 - ] - }, - n2002: { - id: "n2002", - loc: [ - -85.634132, - 41.941954 - ] - }, - n2003: { - id: "n2003", - loc: [ - -85.634032, - 41.942038 - ] - }, - n2004: { - id: "n2004", - loc: [ - -85.633765, - 41.942238 - ] - }, - n2005: { - id: "n2005", - loc: [ - -85.63376, - 41.942268 - ] - }, - n2006: { - id: "n2006", - loc: [ - -85.633768, - 41.942293 - ] - }, - n2007: { - id: "n2007", - loc: [ - -85.633808, - 41.942386 - ] - }, - n2008: { - id: "n2008", - loc: [ - -85.634946, - 41.941663 - ] - }, - n2009: { - id: "n2009", - loc: [ - -85.63511, - 41.941697 - ] - }, - n201: { - id: "n201", - loc: [ - -85.636621, - 41.942311 - ] - }, - n2010: { - id: "n2010", - loc: [ - -85.635337, - 41.94168 - ] - }, - n2011: { - id: "n2011", - loc: [ - -85.634997, - 41.942251 - ] - }, - n2012: { - id: "n2012", - loc: [ - -85.635013, - 41.942173 - ] - }, - n2013: { - id: "n2013", - loc: [ - -85.634876, - 41.942157 - ] - }, - n2014: { - id: "n2014", - loc: [ - -85.634859, - 41.942235 - ] - }, - n2015: { - id: "n2015", - loc: [ - -85.634992, - 41.941951 - ] - }, - n2016: { - id: "n2016", - loc: [ - -85.634952, - 41.941877 - ] - }, - n2017: { - id: "n2017", - loc: [ - -85.634844, - 41.94191 - ] - }, - n2018: { - id: "n2018", - loc: [ - -85.634884, - 41.941983 - ] - }, - n2019: { - id: "n2019", - loc: [ - -85.635189, - 41.941691 - ] - }, - n202: { - id: "n202", - loc: [ - -85.636621, - 41.942351 - ] - }, - n2020: { - id: "n2020", - loc: [ - -85.635089, - 41.941896 - ] - }, - n2021: { - id: "n2021", - loc: [ - -85.635077, - 41.941964 - ] - }, - n2022: { - id: "n2022", - loc: [ - -85.635058, - 41.942147 - ] - }, - n2023: { - id: "n2023", - loc: [ - -85.635099, - 41.942161 - ] - }, - n2024: { - id: "n2024", - loc: [ - -85.635099, - 41.942213 - ] - }, - n2025: { - id: "n2025", - loc: [ - -85.635079, - 41.942285 - ] - }, - n2026: { - id: "n2026", - loc: [ - -85.635047, - 41.942316 - ] - }, - n2027: { - id: "n2027", - loc: [ - -85.634925, - 41.9423 - ] - }, - n2028: { - id: "n2028", - loc: [ - -85.634911, - 41.942276 - ] - }, - n2029: { - id: "n2029", - loc: [ - -85.634917, - 41.942242 - ] - }, - n203: { - id: "n203", - loc: [ - -85.63666, - 41.942351 - ] - }, - n2030: { - id: "n2030", - loc: [ - -85.634698, - 41.941898 - ] - }, - n2031: { - id: "n2031", - loc: [ - -85.634964, - 41.941878 - ] - }, - n2032: { - id: "n2032", - loc: [ - -85.635025, - 41.941929 - ] - }, - n2033: { - id: "n2033", - loc: [ - -85.634862, - 41.941887 - ] - }, - n2034: { - id: "n2034", - loc: [ - -85.634811, - 41.94181 - ] - }, - n2035: { - id: "n2035", - loc: [ - -85.634731, - 41.941745 - ] - }, - n2036: { - id: "n2036", - loc: [ - -85.634933, - 41.94176 - ] - }, - n2037: { - id: "n2037", - loc: [ - -85.634942, - 41.942145 - ] - }, - n2038: { - id: "n2038", - loc: [ - -85.634944, - 41.942065 - ] - }, - n2039: { - id: "n2039", - loc: [ - -85.634914, - 41.941996 - ] - }, - n204: { - id: "n204", - loc: [ - -85.63666, - 41.942453 - ] - }, - n2040: { - id: "n2040", - loc: [ - -85.634981, - 41.941979 - ] - }, - n2041: { - id: "n2041", - loc: [ - -85.633419, - 41.942172 - ] - }, - n2042: { - id: "n2042", - loc: [ - -85.633509, - 41.941631 - ] - }, - n2043: { - id: "n2043", - loc: [ - -85.633686, - 41.942937 - ] - }, - n2044: { - id: "n2044", - loc: [ - -85.633371, - 41.942722 - ] - }, - n2045: { - id: "n2045", - loc: [ - -85.633291, - 41.942538 - ] - }, - n2046: { - id: "n2046", - loc: [ - -85.633902, - 41.940941 - ] - }, - n2047: { - id: "n2047", - loc: [ - -85.635254, - 41.940939 - ] - }, - n2048: { - id: "n2048", - loc: [ - -85.635686, - 41.940829 - ] - }, - n2049: { - id: "n2049", - loc: [ - -85.635712, - 41.942681 - ] - }, - n205: { - id: "n205", - loc: [ - -85.636645, - 41.942453 - ] - }, - n2050: { - id: "n2050", - loc: [ - -85.633721, - 41.942118 - ] - }, - n2051: { - id: "n2051", - loc: [ - -85.633698, - 41.942057 - ] - }, - n2052: { - id: "n2052", - loc: [ - -85.633591, - 41.942079 - ] - }, - n2053: { - id: "n2053", - loc: [ - -85.633614, - 41.94214 - ] - }, - n2054: { - id: "n2054", - loc: [ - -85.633968, - 41.941099 - ] - }, - n2055: { - id: "n2055", - loc: [ - -85.633907, - 41.941138 - ] - }, - n2056: { - id: "n2056", - loc: [ - -85.633968, - 41.941197 - ] - }, - n2057: { - id: "n2057", - loc: [ - -85.63404, - 41.941162 - ] - }, - n2058: { - id: "n2058", - loc: [ - -85.634839, - 41.941665 - ] - }, - n2059: { - id: "n2059", - loc: [ - -85.635314, - 41.943035 - ] - }, - n206: { - id: "n206", - loc: [ - -85.636394, - 41.942471 - ] - }, - n2060: { - id: "n2060", - loc: [ - -85.634919, - 41.943142 - ] - }, - n2061: { - id: "n2061", - loc: [ - -85.636433, - 41.942959 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "333", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Michigan Avenue", - amenity: "townhall", - name: "Three Rivers City Hall" - } - }, - n2062: { - id: "n2062", - loc: [ - -85.637039, - 41.942789 - ] - }, - n2063: { - id: "n2063", - loc: [ - -85.636333, - 41.94279 - ] - }, - n2064: { - id: "n2064", - loc: [ - -85.634484, - 41.940726 - ] - }, - n2065: { - id: "n2065", - loc: [ - -85.634483, - 41.940603 - ] - }, - n2066: { - id: "n2066", - loc: [ - -85.634908, - 41.940601 - ] - }, - n2067: { - id: "n2067", - loc: [ - -85.634908, - 41.94053 - ] - }, - n2068: { - id: "n2068", - loc: [ - -85.634934, - 41.94053 - ] - }, - n2069: { - id: "n2069", - loc: [ - -85.634934, - 41.940496 - ] - }, - n207: { - id: "n207", - loc: [ - -85.636262, - 41.942472 - ] - }, - n2070: { - id: "n2070", - loc: [ - -85.63504, - 41.940495 - ] - }, - n2071: { - id: "n2071", - loc: [ - -85.63504, - 41.940531 - ] - }, - n2072: { - id: "n2072", - loc: [ - -85.635068, - 41.940531 - ] - }, - n2073: { - id: "n2073", - loc: [ - -85.635071, - 41.940794 - ] - }, - n2074: { - id: "n2074", - loc: [ - -85.635183, - 41.940793 - ] - }, - n2075: { - id: "n2075", - loc: [ - -85.635185, - 41.940916 - ] - }, - n2076: { - id: "n2076", - loc: [ - -85.634799, - 41.940919 - ] - }, - n2077: { - id: "n2077", - loc: [ - -85.634798, - 41.940798 - ] - }, - n2078: { - id: "n2078", - loc: [ - -85.634925, - 41.940797 - ] - }, - n2079: { - id: "n2079", - loc: [ - -85.634924, - 41.940724 - ] - }, - n208: { - id: "n208", - loc: [ - -85.636261, - 41.94233 - ] - }, - n2080: { - id: "n2080", - loc: [ - -85.637448, - 41.938233 - ] - }, - n2081: { - id: "n2081", - loc: [ - -85.634168, - 41.943279 - ] - }, - n2082: { - id: "n2082", - loc: [ - -85.635744, - 41.938248 - ] - }, - n2083: { - id: "n2083", - loc: [ - -85.638744, - 41.951211 - ] - }, - n2084: { - id: "n2084", - loc: [ - -85.636421, - 41.946392 - ] - }, - n2085: { - id: "n2085", - loc: [ - -85.635965, - 41.945809 - ] - }, - n2086: { - id: "n2086", - loc: [ - -85.635683, - 41.945449 - ] - }, - n2087: { - id: "n2087", - loc: [ - -85.635281, - 41.945025 - ] - }, - n2088: { - id: "n2088", - loc: [ - -85.632443, - 41.942574 - ] - }, - n2089: { - id: "n2089", - loc: [ - -85.638243, - 41.943674 - ] - }, - n209: { - id: "n209", - loc: [ - -85.636353, - 41.942329 - ] - }, - n2090: { - id: "n2090", - loc: [ - -85.638228, - 41.943747 - ] - }, - n2091: { - id: "n2091", - loc: [ - -85.638163, - 41.943797 - ] - }, - n2092: { - id: "n2092", - loc: [ - -85.638089, - 41.943832 - ] - }, - n2093: { - id: "n2093", - loc: [ - -85.637969, - 41.943841 - ] - }, - n2094: { - id: "n2094", - loc: [ - -85.637841, - 41.943833 - ] - }, - n2095: { - id: "n2095", - loc: [ - -85.637342, - 41.943734 - ] - }, - n2096: { - id: "n2096", - loc: [ - -85.637232, - 41.943707 - ] - }, - n2097: { - id: "n2097", - loc: [ - -85.637163, - 41.943668 - ] - }, - n2098: { - id: "n2098", - loc: [ - -85.637118, - 41.943615 - ] - }, - n2099: { - id: "n2099", - loc: [ - -85.637078, - 41.943494 - ] - }, - n21: { - id: "n21", - loc: [ - -85.634126, - 41.942228 - ] - }, - n210: { - id: "n210", - loc: [ - -85.636354, - 41.94239 - ] - }, - n2100: { - id: "n2100", - loc: [ - -85.632903, - 41.998429 - ], - tags: { - railway: "level_crossing" - } - }, - n2101: { - id: "n2101", - loc: [ - -85.633616, - 41.943581 - ], - tags: { - railway: "level_crossing" - } - }, - n2102: { - id: "n2102", - loc: [ - -85.636943, - 41.947311 - ] - }, - n2103: { - id: "n2103", - loc: [ - -85.6376, - 41.94854 - ] - }, - n2104: { - id: "n2104", - loc: [ - -85.634565, - 41.93631 - ] - }, - n2105: { - id: "n2105", - loc: [ - -85.629597, - 41.942562 - ] - }, - n2106: { - id: "n2106", - loc: [ - -85.630821, - 41.943077 - ] - }, - n2107: { - id: "n2107", - loc: [ - -85.627473, - 41.940659 - ] - }, - n2108: { - id: "n2108", - loc: [ - -85.629708, - 41.942872 - ] - }, - n2109: { - id: "n2109", - loc: [ - -85.634093, - 41.935448 - ] - }, - n211: { - id: "n211", - loc: [ - -85.636393, - 41.94239 - ] - }, - n2110: { - id: "n2110", - loc: [ - -85.630413, - 41.94366 - ] - }, - n2111: { - id: "n2111", - loc: [ - -85.630488, - 41.942662 - ] - }, - n2112: { - id: "n2112", - loc: [ - -85.63361, - 41.936749 - ] - }, - n2113: { - id: "n2113", - loc: [ - -85.630038, - 41.941808 - ] - }, - n2114: { - id: "n2114", - loc: [ - -85.632016, - 41.942922 - ] - }, - n2115: { - id: "n2115", - loc: [ - -85.631525, - 41.944303 - ] - }, - n2116: { - id: "n2116", - loc: [ - -85.626862, - 41.94022 - ] - }, - n2117: { - id: "n2117", - loc: [ - -85.629673, - 41.94121 - ] - }, - n2118: { - id: "n2118", - loc: [ - -85.632752, - 41.943101 - ] - }, - n2119: { - id: "n2119", - loc: [ - -85.631147, - 41.943201 - ] - }, - n212: { - id: "n212", - loc: [ - -85.63444, - 41.943176 - ] - }, - n2120: { - id: "n2120", - loc: [ - -85.624974, - 41.940579 - ] - }, - n2121: { - id: "n2121", - loc: [ - -85.629518, - 41.941783 - ] - }, - n2122: { - id: "n2122", - loc: [ - -85.632349, - 41.942699 - ] - }, - n2123: { - id: "n2123", - loc: [ - -85.628418, - 41.940356 - ] - }, - n2124: { - id: "n2124", - loc: [ - -85.629147, - 41.94129 - ] - }, - n2125: { - id: "n2125", - loc: [ - -85.631111, - 41.943979 - ] - }, - n2126: { - id: "n2126", - loc: [ - -85.632087, - 41.940013 - ] - }, - n2127: { - id: "n2127", - loc: [ - -85.634469, - 41.935057 - ] - }, - n2128: { - id: "n2128", - loc: [ - -85.630097, - 41.943449 - ] - }, - n2129: { - id: "n2129", - loc: [ - -85.6331, - 41.937878 - ] - }, - n213: { - id: "n213", - loc: [ - -85.63375, - 41.942814 - ] - }, - n2130: { - id: "n2130", - loc: [ - -85.625274, - 41.941114 - ] - }, - n2131: { - id: "n2131", - loc: [ - -85.632632, - 41.941217 - ] - }, - n2132: { - id: "n2132", - loc: [ - -85.632739, - 41.941926 - ] - }, - n2133: { - id: "n2133", - loc: [ - -85.631647, - 41.94366 - ] - }, - n2134: { - id: "n2134", - loc: [ - -85.635059, - 41.935456 - ] - }, - n2135: { - id: "n2135", - loc: [ - -85.631259, - 41.944349 - ] - }, - n2136: { - id: "n2136", - loc: [ - -85.626336, - 41.940811 - ] - }, - n2137: { - id: "n2137", - loc: [ - -85.631507, - 41.943875 - ] - }, - n2138: { - id: "n2138", - loc: [ - -85.625081, - 41.940859 - ] - }, - n2139: { - id: "n2139", - loc: [ - -85.625778, - 41.940093 - ] - }, - n214: { - id: "n214", - loc: [ - -85.633674, - 41.942869 - ] - }, - n2140: { - id: "n2140", - loc: [ - -85.632641, - 41.942436 - ] - }, - n2141: { - id: "n2141", - loc: [ - -85.628825, - 41.941034 - ] - }, - n2142: { - id: "n2142", - loc: [ - -85.627913, - 41.940292 - ] - }, - n2143: { - id: "n2143", - loc: [ - -85.628943, - 41.940516 - ] - }, - n2144: { - id: "n2144", - loc: [ - -85.63139, - 41.943941 - ] - }, - n2145: { - id: "n2145", - loc: [ - -85.630081, - 41.94204 - ] - }, - n2146: { - id: "n2146", - loc: [ - -85.632194, - 41.93963 - ] - }, - n2147: { - id: "n2147", - loc: [ - -85.632913, - 41.93939 - ] - }, - n2148: { - id: "n2148", - loc: [ - -85.632001, - 41.943492 - ] - }, - n2149: { - id: "n2149", - loc: [ - -85.63149, - 41.943154 - ] - }, - n215: { - id: "n215", - loc: [ - -85.633542, - 41.942768 - ] - }, - n2150: { - id: "n2150", - loc: [ - -85.625167, - 41.940117 - ] - }, - n2151: { - id: "n2151", - loc: [ - -85.63287, - 41.939941 - ] - }, - n2152: { - id: "n2152", - loc: [ - -85.630789, - 41.943732 - ] - }, - n2153: { - id: "n2153", - loc: [ - -85.632173, - 41.940348 - ] - }, - n2154: { - id: "n2154", - loc: [ - -85.626587, - 41.940113 - ] - }, - n2155: { - id: "n2155", - loc: [ - -85.62684, - 41.940667 - ] - }, - n2156: { - id: "n2156", - loc: [ - -85.632527, - 41.938904 - ] - }, - n2157: { - id: "n2157", - loc: [ - -85.624866, - 41.94018 - ] - }, - n2158: { - id: "n2158", - loc: [ - -85.633267, - 41.93872 - ] - }, - n2159: { - id: "n2159", - loc: [ - -85.62934, - 41.940843 - ] - }, - n216: { - id: "n216", - loc: [ - -85.633618, - 41.942714 - ] - }, - n2160: { - id: "n2160", - loc: [ - -85.62272, - 41.953817 - ] - }, - n2161: { - id: "n2161", - loc: [ - -85.622555, - 41.954453 - ] - }, - n2162: { - id: "n2162", - loc: [ - -85.637225, - 41.944128 - ] - }, - n2163: { - id: "n2163", - loc: [ - -85.622628, - 41.953683 - ] - }, - n2164: { - id: "n2164", - loc: [ - -85.635441, - 41.943989 - ] - }, - n2165: { - id: "n2165", - loc: [ - -85.622629, - 41.953807 - ] - }, - n2166: { - id: "n2166", - loc: [ - -85.62262, - 41.953807 - ] - }, - n2167: { - id: "n2167", - loc: [ - -85.62262, - 41.953837 - ] - }, - n2168: { - id: "n2168", - loc: [ - -85.622532, - 41.953838 - ] - }, - n2169: { - id: "n2169", - loc: [ - -85.637469, - 41.944579 - ] - }, - n217: { - id: "n217", - loc: [ - -85.634001, - 41.942336 - ] - }, - n2170: { - id: "n2170", - loc: [ - -85.63688, - 41.943935 - ] - }, - n2171: { - id: "n2171", - loc: [ - -85.638263, - 41.946367 - ] - }, - n2172: { - id: "n2172", - loc: [ - -85.622532, - 41.953807 - ] - }, - n2173: { - id: "n2173", - loc: [ - -85.622353, - 41.953808 - ] - }, - n2174: { - id: "n2174", - loc: [ - -85.622352, - 41.953685 - ] - }, - n2175: { - id: "n2175", - loc: [ - -85.622464, - 41.953684 - ] - }, - n2176: { - id: "n2176", - loc: [ - -85.622464, - 41.953648 - ] - }, - n2177: { - id: "n2177", - loc: [ - -85.637136, - 41.94576 - ] - }, - n2178: { - id: "n2178", - loc: [ - -85.622521, - 41.953648 - ] - }, - n2179: { - id: "n2179", - loc: [ - -85.637129, - 41.945415 - ] - }, - n218: { - id: "n218", - loc: [ - -85.633825, - 41.942376 - ] - }, - n2180: { - id: "n2180", - loc: [ - -85.637473, - 41.94607 - ] - }, - n2181: { - id: "n2181", - loc: [ - -85.622521, - 41.953683 - ] - }, - n2182: { - id: "n2182", - loc: [ - -85.622717, - 41.954104 - ] - }, - n2183: { - id: "n2183", - loc: [ - -85.637769, - 41.946095 - ] - }, - n2184: { - id: "n2184", - loc: [ - -85.623872, - 41.953515 - ] - }, - n2185: { - id: "n2185", - loc: [ - -85.623851, - 41.953588 - ] - }, - n2186: { - id: "n2186", - loc: [ - -85.631385, - 41.94433 - ] - }, - n2187: { - id: "n2187", - loc: [ - -85.623608, - 41.953543 - ] - }, - n2188: { - id: "n2188", - loc: [ - -85.637308, - 41.944882 - ] - }, - n2189: { - id: "n2189", - loc: [ - -85.634898, - 41.944041 - ] - }, - n219: { - id: "n219", - loc: [ - -85.633807, - 41.942334 - ] - }, - n2190: { - id: "n2190", - loc: [ - -85.623604, - 41.953442 - ] - }, - n2191: { - id: "n2191", - loc: [ - -85.623705, - 41.953442 - ] - }, - n2192: { - id: "n2192", - loc: [ - -85.623708, - 41.953493 - ] - }, - n2193: { - id: "n2193", - loc: [ - -85.624064, - 41.952655 - ] - }, - n2194: { - id: "n2194", - loc: [ - -85.62395, - 41.952654 - ] - }, - n2195: { - id: "n2195", - loc: [ - -85.623951, - 41.952579 - ] - }, - n2196: { - id: "n2196", - loc: [ - -85.637435, - 41.944342 - ] - }, - n2197: { - id: "n2197", - loc: [ - -85.624064, - 41.952579 - ] - }, - n2198: { - id: "n2198", - loc: [ - -85.623812, - 41.952648 - ] - }, - n2199: { - id: "n2199", - loc: [ - -85.623813, - 41.952705 - ] - }, - n22: { - id: "n22", - loc: [ - -85.633531, - 41.942357 - ] - }, - n220: { - id: "n220", - loc: [ - -85.633983, - 41.942294 - ] - }, - n2200: { - id: "n2200", - loc: [ - -85.637169, - 41.945098 - ] - }, - n2201: { - id: "n2201", - loc: [ - -85.623552, - 41.952707 - ] - }, - n2202: { - id: "n2202", - loc: [ - -85.623551, - 41.95263 - ] - }, - n2203: { - id: "n2203", - loc: [ - -85.623701, - 41.952629 - ] - }, - n2204: { - id: "n2204", - loc: [ - -85.635894, - 41.943719 - ] - }, - n2205: { - id: "n2205", - loc: [ - -85.637297, - 41.945992 - ] - }, - n2206: { - id: "n2206", - loc: [ - -85.623724, - 41.952648 - ] - }, - n2207: { - id: "n2207", - loc: [ - -85.623812, - 41.952438 - ] - }, - n2208: { - id: "n2208", - loc: [ - -85.625239, - 41.952197 - ] - }, - n2209: { - id: "n2209", - loc: [ - -85.625232, - 41.952257 - ] - }, - n221: { - id: "n221", - loc: [ - -85.634182, - 41.942495 - ] - }, - n2210: { - id: "n2210", - loc: [ - -85.635175, - 41.94408 - ] - }, - n2211: { - id: "n2211", - loc: [ - -85.636381, - 41.943761 - ] - }, - n2212: { - id: "n2212", - loc: [ - -85.625115, - 41.952249 - ] - }, - n2213: { - id: "n2213", - loc: [ - -85.638578, - 41.946644 - ] - }, - n2214: { - id: "n2214", - loc: [ - -85.625122, - 41.952189 - ] - }, - n2215: { - id: "n2215", - loc: [ - -85.625085, - 41.952031 - ] - }, - n2216: { - id: "n2216", - loc: [ - -85.636126, - 41.943713 - ] - }, - n2217: { - id: "n2217", - loc: [ - -85.635005, - 41.944041 - ] - }, - n2218: { - id: "n2218", - loc: [ - -85.63714, - 41.945328 - ] - }, - n2219: { - id: "n2219", - loc: [ - -85.634871, - 41.943292 - ] - }, - n222: { - id: "n222", - loc: [ - -85.634149, - 41.942503 - ] - }, - n2220: { - id: "n2220", - loc: [ - -85.635705, - 41.943799 - ] - }, - n2221: { - id: "n2221", - loc: [ - -85.634995, - 41.943576 - ] - }, - n2222: { - id: "n2222", - loc: [ - -85.635026, - 41.943829 - ] - }, - n2223: { - id: "n2223", - loc: [ - -85.632874, - 41.941031 - ] - }, - n2224: { - id: "n2224", - loc: [ - -85.632531, - 41.940233 - ] - }, - n2225: { - id: "n2225", - loc: [ - -85.634247, - 41.936003 - ] - }, - n2226: { - id: "n2226", - loc: [ - -85.62929, - 41.941127 - ] - }, - n2227: { - id: "n2227", - loc: [ - -85.630428, - 41.943266 - ] - }, - n2228: { - id: "n2228", - loc: [ - -85.631608, - 41.943425 - ] - }, - n2229: { - id: "n2229", - loc: [ - -85.632316, - 41.943042 - ] - }, - n223: { - id: "n223", - loc: [ - -85.634098, - 41.942373 - ] - }, - n2230: { - id: "n2230", - loc: [ - -85.628711, - 41.940744 - ] - }, - n2231: { - id: "n2231", - loc: [ - -85.627831, - 41.940536 - ] - }, - n2232: { - id: "n2232", - loc: [ - -85.625514, - 41.94052 - ] - }, - n2233: { - id: "n2233", - loc: [ - -85.631127, - 41.943545 - ] - }, - n2234: { - id: "n2234", - loc: [ - -85.632909, - 41.942531 - ] - }, - n2235: { - id: "n2235", - loc: [ - -85.632917, - 41.938796 - ] - }, - n2236: { - id: "n2236", - loc: [ - -85.626716, - 41.94044 - ] - }, - n2237: { - id: "n2237", - loc: [ - -85.630122, - 41.942852 - ] - }, - n2238: { - id: "n2238", - loc: [ - -85.632509, - 41.939674 - ] - }, - n2239: { - id: "n2239", - loc: [ - -85.634762, - 41.935237 - ] - }, - n224: { - id: "n224", - loc: [ - -85.634131, - 41.942366 - ] - }, - n2240: { - id: "n2240", - loc: [ - -85.63384, - 41.937025 - ] - }, - n2241: { - id: "n2241", - loc: [ - -85.629741, - 41.941909 - ] - }, - n2242: { - id: "n2242", - loc: [ - -85.635254, - 41.945001 - ], - tags: { - railway: "level_crossing" - } - }, - n2243: { - id: "n2243", - loc: [ - -85.634005, - 41.938168 - ] - }, - n2244: { - id: "n2244", - loc: [ - -85.63393, - 41.938335 - ] - }, - n2245: { - id: "n2245", - loc: [ - -85.633859, - 41.93846 - ] - }, - n2246: { - id: "n2246", - loc: [ - -85.633663, - 41.938776 - ] - }, - n2247: { - id: "n2247", - loc: [ - -85.633513, - 41.938936 - ] - }, - n2248: { - id: "n2248", - loc: [ - -85.635295, - 41.943225 - ] - }, - n2249: { - id: "n2249", - loc: [ - -85.635393, - 41.943293 - ] - }, - n225: { - id: "n225", - loc: [ - -85.635986, - 41.94177 - ] - }, - n2250: { - id: "n2250", - loc: [ - -85.635645, - 41.94332 - ] - }, - n2251: { - id: "n2251", - loc: [ - -85.63629, - 41.943328 - ] - }, - n2252: { - id: "n2252", - loc: [ - -85.636554, - 41.943372 - ] - }, - n2253: { - id: "n2253", - loc: [ - -85.636869, - 41.943526 - ] - }, - n2254: { - id: "n2254", - loc: [ - -85.637099, - 41.943704 - ] - }, - n2255: { - id: "n2255", - loc: [ - -85.637268, - 41.943773 - ] - }, - n2256: { - id: "n2256", - loc: [ - -85.637483, - 41.943821 - ] - }, - n2257: { - id: "n2257", - loc: [ - -85.637616, - 41.943929 - ] - }, - n2258: { - id: "n2258", - loc: [ - -85.637752, - 41.944114 - ] - }, - n2259: { - id: "n2259", - loc: [ - -85.638399, - 41.944308 - ] - }, - n226: { - id: "n226", - loc: [ - -85.635982, - 41.941523 - ] - }, - n2260: { - id: "n2260", - loc: [ - -85.638573, - 41.944451 - ] - }, - n2261: { - id: "n2261", - loc: [ - -85.638702, - 41.944574 - ] - }, - n2262: { - id: "n2262", - loc: [ - -85.638718, - 41.944652 - ] - }, - n2263: { - id: "n2263", - loc: [ - -85.638715, - 41.944809 - ] - }, - n2264: { - id: "n2264", - loc: [ - -85.638766, - 41.944988 - ] - }, - n2265: { - id: "n2265", - loc: [ - -85.638773, - 41.945136 - ] - }, - n2266: { - id: "n2266", - loc: [ - -85.638705, - 41.945251 - ] - }, - n2267: { - id: "n2267", - loc: [ - -85.638335, - 41.944291 - ] - }, - n2268: { - id: "n2268", - loc: [ - -85.638474, - 41.944352 - ] - }, - n2269: { - id: "n2269", - loc: [ - -85.635408, - 41.943429 - ] - }, - n227: { - id: "n227", - loc: [ - -85.636108, - 41.941521 - ] - }, - n2270: { - id: "n2270", - loc: [ - -85.635271, - 41.943654 - ] - }, - n2271: { - id: "n2271", - loc: [ - -85.635266, - 41.943744 - ] - }, - n2272: { - id: "n2272", - loc: [ - -85.635271, - 41.943819 - ] - }, - n2273: { - id: "n2273", - loc: [ - -85.635192, - 41.943876 - ] - }, - n2274: { - id: "n2274", - loc: [ - -85.635129, - 41.943857 - ] - }, - n2275: { - id: "n2275", - loc: [ - -85.635122, - 41.943764 - ] - }, - n2276: { - id: "n2276", - loc: [ - -85.635124, - 41.943664 - ] - }, - n2277: { - id: "n2277", - loc: [ - -85.63515, - 41.943611 - ] - }, - n2278: { - id: "n2278", - loc: [ - -85.635106, - 41.943534 - ] - }, - n2279: { - id: "n2279", - loc: [ - -85.634972, - 41.943197 - ] - }, - n228: { - id: "n228", - loc: [ - -85.636109, - 41.941559 - ] - }, - n2280: { - id: "n2280", - loc: [ - -85.633978, - 41.938227 - ] - }, - n2281: { - id: "n2281", - loc: [ - -85.634216, - 41.943255 - ] - }, - n2282: { - id: "n2282", - loc: [ - -85.634434, - 41.943622 - ] - }, - n2283: { - id: "n2283", - loc: [ - -85.632406, - 41.940854 - ] - }, - n2284: { - id: "n2284", - loc: [ - -85.632488, - 41.941063 - ], - tags: { - leisure: "slipway" - } - }, - n2285: { - id: "n2285", - loc: [ - -85.632726, - 41.941537 - ] - }, - n2286: { - id: "n2286", - loc: [ - -85.632639, - 41.94136 - ] - }, - n2287: { - id: "n2287", - loc: [ - -85.632704, - 41.941439 - ] - }, - n2288: { - id: "n2288", - loc: [ - -85.632289, - 41.940601 - ] - }, - n2289: { - id: "n2289", - loc: [ - -85.632541, - 41.942526 - ] - }, - n229: { - id: "n229", - loc: [ - -85.636145, - 41.941559 - ] - }, - n2290: { - id: "n2290", - loc: [ - -85.634058, - 41.943173 - ] - }, - n2291: { - id: "n2291", - loc: [ - -85.636175, - 41.945974 - ] - }, - n2292: { - id: "n2292", - loc: [ - -85.636528, - 41.945975 - ] - }, - n2293: { - id: "n2293", - loc: [ - -85.637092, - 41.945893 - ] - }, - n2294: { - id: "n2294", - loc: [ - -85.637881, - 41.945647 - ] - }, - n2295: { - id: "n2295", - loc: [ - -85.639329, - 41.945162 - ] - }, - n2296: { - id: "n2296", - loc: [ - -85.639323, - 41.945026 - ] - }, - n2297: { - id: "n2297", - loc: [ - -85.638826, - 41.945032 - ] - }, - n2298: { - id: "n2298", - loc: [ - -85.638817, - 41.944174 - ] - }, - n2299: { - id: "n2299", - loc: [ - -85.638291, - 41.94418 - ] - }, - n23: { - id: "n23", - loc: [ - -85.633504, - 41.942418 - ] - }, - n230: { - id: "n230", - loc: [ - -85.636145, - 41.941551 - ] - }, - n2300: { - id: "n2300", - loc: [ - -85.63828, - 41.943811 - ] - }, - n2301: { - id: "n2301", - loc: [ - -85.638195, - 41.943601 - ] - }, - n2302: { - id: "n2302", - loc: [ - -85.63719, - 41.943592 - ] - }, - n2303: { - id: "n2303", - loc: [ - -85.636697, - 41.943273 - ] - }, - n2304: { - id: "n2304", - loc: [ - -85.635375, - 41.943274 - ] - }, - n2305: { - id: "n2305", - loc: [ - -85.635091, - 41.943547 - ] - }, - n2306: { - id: "n2306", - loc: [ - -85.63442, - 41.944117 - ] - }, - n2307: { - id: "n2307", - loc: [ - -85.635117, - 41.943717 - ] - }, - n2308: { - id: "n2308", - loc: [ - -85.635601, - 41.945177 - ] - }, - n2309: { - id: "n2309", - loc: [ - -85.635819, - 41.945494 - ] - }, - n231: { - id: "n231", - loc: [ - -85.636312, - 41.941549 - ] - }, - n2310: { - id: "n2310", - loc: [ - -85.635303, - 41.944891 - ] - }, - n2311: { - id: "n2311", - loc: [ - -85.637674, - 41.943802 - ] - }, - n2312: { - id: "n2312", - loc: [ - -85.638263, - 41.944272 - ] - }, - n2313: { - id: "n2313", - loc: [ - -85.634267, - 41.935266 - ] - }, - n2314: { - id: "n2314", - loc: [ - -85.639788, - 41.945152 - ] - }, - n2315: { - id: "n2315", - loc: [ - -85.639645, - 41.945167 - ] - }, - n2316: { - id: "n2316", - loc: [ - -85.639362, - 41.945233 - ] - }, - n2317: { - id: "n2317", - loc: [ - -85.638616, - 41.945163 - ] - }, - n2318: { - id: "n2318", - loc: [ - -85.638514, - 41.944936 - ] - }, - n2319: { - id: "n2319", - loc: [ - -85.638578, - 41.94503 - ] - }, - n232: { - id: "n232", - loc: [ - -85.636314, - 41.941649 - ] - }, - n2320: { - id: "n2320", - loc: [ - -85.638578, - 41.945215 - ] - }, - n2321: { - id: "n2321", - loc: [ - -85.640495, - 41.947015 - ] - }, - n2322: { - id: "n2322", - loc: [ - -85.639577, - 41.946495 - ] - }, - n2323: { - id: "n2323", - loc: [ - -85.638935, - 41.946087 - ] - }, - n2324: { - id: "n2324", - loc: [ - -85.637535, - 41.94584 - ] - }, - n2325: { - id: "n2325", - loc: [ - -85.638357, - 41.945404 - ] - }, - n2326: { - id: "n2326", - loc: [ - -85.638051, - 41.94553 - ] - }, - n2327: { - id: "n2327", - loc: [ - -85.637732, - 41.945555 - ] - }, - n2328: { - id: "n2328", - loc: [ - -85.637657, - 41.945524 - ] - }, - n2329: { - id: "n2329", - loc: [ - -85.637598, - 41.945467 - ] - }, - n233: { - id: "n233", - loc: [ - -85.636152, - 41.94165 - ] - }, - n2330: { - id: "n2330", - loc: [ - -85.637669, - 41.945318 - ] - }, - n2331: { - id: "n2331", - loc: [ - -85.637894, - 41.945171 - ] - }, - n2332: { - id: "n2332", - loc: [ - -85.637923, - 41.945082 - ] - }, - n2333: { - id: "n2333", - loc: [ - -85.63793, - 41.944756 - ] - }, - n2334: { - id: "n2334", - loc: [ - -85.637976, - 41.944696 - ] - }, - n2335: { - id: "n2335", - loc: [ - -85.638044, - 41.944671 - ] - }, - n2336: { - id: "n2336", - loc: [ - -85.638129, - 41.944597 - ] - }, - n2337: { - id: "n2337", - loc: [ - -85.638252, - 41.944413 - ] - }, - n2338: { - id: "n2338", - loc: [ - -85.638092, - 41.945442 - ] - }, - n2339: { - id: "n2339", - loc: [ - -85.638409, - 41.945315 - ] - }, - n234: { - id: "n234", - loc: [ - -85.636152, - 41.941628 - ] - }, - n2340: { - id: "n2340", - loc: [ - -85.638325, - 41.944771 - ] - }, - n2341: { - id: "n2341", - loc: [ - -85.638103, - 41.944744 - ] - }, - n2342: { - id: "n2342", - loc: [ - -85.637976, - 41.944781 - ] - }, - n2343: { - id: "n2343", - loc: [ - -85.637983, - 41.944865 - ] - }, - n2344: { - id: "n2344", - loc: [ - -85.638063, - 41.945074 - ] - }, - n2345: { - id: "n2345", - loc: [ - -85.638041, - 41.945206 - ] - }, - n2346: { - id: "n2346", - loc: [ - -85.637907, - 41.945309 - ] - }, - n2347: { - id: "n2347", - loc: [ - -85.637925, - 41.94539 - ] - }, - n2348: { - id: "n2348", - loc: [ - -85.637998, - 41.94545 - ] - }, - n2349: { - id: "n2349", - loc: [ - -85.637135, - 41.946254 - ] - }, - n235: { - id: "n235", - loc: [ - -85.63611, - 41.941628 - ] - }, - n2350: { - id: "n2350", - loc: [ - -85.636837, - 41.946615 - ] - }, - n2351: { - id: "n2351", - loc: [ - -85.637954, - 41.948909 - ] - }, - n2352: { - id: "n2352", - loc: [ - -85.638382, - 41.949786 - ] - }, - n2353: { - id: "n2353", - loc: [ - -85.639367, - 41.951242 - ] - }, - n2354: { - id: "n2354", - loc: [ - -85.640554, - 41.951777 - ] - }, - n2355: { - id: "n2355", - loc: [ - -85.6411, - 41.952234 - ] - }, - n2356: { - id: "n2356", - loc: [ - -85.641742, - 41.952657 - ] - }, - n2357: { - id: "n2357", - loc: [ - -85.642321, - 41.952941 - ] - }, - n2358: { - id: "n2358", - loc: [ - -85.64277, - 41.953228 - ] - }, - n2359: { - id: "n2359", - loc: [ - -85.643333, - 41.953825 - ] - }, - n236: { - id: "n236", - loc: [ - -85.636113, - 41.941768 - ] - }, - n2360: { - id: "n2360", - loc: [ - -85.643579, - 41.954365 - ] - }, - n2361: { - id: "n2361", - loc: [ - -85.644439, - 41.954105 - ] - }, - n2362: { - id: "n2362", - loc: [ - -85.64506, - 41.954 - ] - }, - n2363: { - id: "n2363", - loc: [ - -85.645483, - 41.953911 - ] - }, - n2364: { - id: "n2364", - loc: [ - -85.646046, - 41.953853 - ] - }, - n2365: { - id: "n2365", - loc: [ - -85.646318, - 41.953717 - ] - }, - n2366: { - id: "n2366", - loc: [ - -85.646276, - 41.953414 - ] - }, - n2367: { - id: "n2367", - loc: [ - -85.631063, - 41.957478 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2368: { - id: "n2368", - loc: [ - -85.630996, - 41.955857 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2369: { - id: "n2369", - loc: [ - -85.630976, - 41.954608 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n237: { - id: "n237", - loc: [ - -85.635983, - 41.941589 - ], - tags: { - entrance: "yes" - } - }, - n2370: { - id: "n2370", - loc: [ - -85.646, - 41.953154 - ] - }, - n2371: { - id: "n2371", - loc: [ - -85.645222, - 41.953193 - ] - }, - n2372: { - id: "n2372", - loc: [ - -85.644732, - 41.953181 - ] - }, - n2373: { - id: "n2373", - loc: [ - -85.644064, - 41.953298 - ] - }, - n2374: { - id: "n2374", - loc: [ - -85.643818, - 41.953177 - ] - }, - n2375: { - id: "n2375", - loc: [ - -85.644001, - 41.95284 - ] - }, - n2376: { - id: "n2376", - loc: [ - -85.628174, - 41.95456 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2377: { - id: "n2377", - loc: [ - -85.644267, - 41.952591 - ] - }, - n2378: { - id: "n2378", - loc: [ - -85.644288, - 41.952328 - ] - }, - n2379: { - id: "n2379", - loc: [ - -85.627276, - 41.953987 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n238: { - id: "n238", - loc: [ - -85.635906, - 41.94159 - ] - }, - n2380: { - id: "n2380", - loc: [ - -85.644262, - 41.952153 - ] - }, - n2381: { - id: "n2381", - loc: [ - -85.644168, - 41.95204 - ] - }, - n2382: { - id: "n2382", - loc: [ - -85.64421, - 41.951749 - ] - }, - n2383: { - id: "n2383", - loc: [ - -85.64385, - 41.951586 - ] - }, - n2384: { - id: "n2384", - loc: [ - -85.62736, - 41.955964 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2385: { - id: "n2385", - loc: [ - -85.626307, - 41.957198 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2386: { - id: "n2386", - loc: [ - -85.643589, - 41.951323 - ] - }, - n2387: { - id: "n2387", - loc: [ - -85.62747, - 41.957509 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2388: { - id: "n2388", - loc: [ - -85.628665, - 41.957492 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2389: { - id: "n2389", - loc: [ - -85.642535, - 41.951031 - ] - }, - n239: { - id: "n239", - loc: [ - -85.635883, - 41.940182 - ] - }, - n2390: { - id: "n2390", - loc: [ - -85.642269, - 41.95088 - ] - }, - n2391: { - id: "n2391", - loc: [ - -85.641878, - 41.950814 - ] - }, - n2392: { - id: "n2392", - loc: [ - -85.641549, - 41.950806 - ] - }, - n2393: { - id: "n2393", - loc: [ - -85.641103, - 41.950549 - ] - }, - n2394: { - id: "n2394", - loc: [ - -85.630864, - 41.959046 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2395: { - id: "n2395", - loc: [ - -85.632249, - 41.958969 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2396: { - id: "n2396", - loc: [ - -85.641037, - 41.949821 - ] - }, - n2397: { - id: "n2397", - loc: [ - -85.641006, - 41.949433 - ] - }, - n2398: { - id: "n2398", - loc: [ - -85.632232, - 41.95859 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2399: { - id: "n2399", - loc: [ - -85.632071, - 41.958345 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n24: { - id: "n24", - loc: [ - -85.634346, - 41.942792 - ] - }, - n240: { - id: "n240", - loc: [ - -85.635916, - 41.94264 - ] - }, - n2400: { - id: "n2400", - loc: [ - -85.632228, - 41.9573 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2401: { - id: "n2401", - loc: [ - -85.641152, - 41.948257 - ] - }, - n2402: { - id: "n2402", - loc: [ - -85.641055, - 41.947304 - ] - }, - n2403: { - id: "n2403", - loc: [ - -85.638022, - 41.945897 - ] - }, - n2404: { - id: "n2404", - loc: [ - -85.638672, - 41.950778 - ] - }, - n2405: { - id: "n2405", - loc: [ - -85.63666, - 41.944492 - ], - tags: { - name: "Memory Isle", - place: "island" - } - }, - n2406: { - id: "n2406", - loc: [ - -85.635, - 41.946389 - ], - tags: { - amenity: "post_office", - name: "Three Rivers Post Office" - } - }, - n2407: { - id: "n2407", - loc: [ - -85.633676, - 41.946036 - ] - }, - n2408: { - id: "n2408", - loc: [ - -85.633736, - 41.946078 - ] - }, - n2409: { - id: "n2409", - loc: [ - -85.633997, - 41.946185 - ] - }, - n241: { - id: "n241", - loc: [ - -85.635795, - 41.941906 - ] - }, - n2410: { - id: "n2410", - loc: [ - -85.634448, - 41.945626 - ], - tags: { - highway: "traffic_signals", - traffic_signals: "signal" - } - }, - n2411: { - id: "n2411", - loc: [ - -85.63456, - 41.945731 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n2412: { - id: "n2412", - loc: [ - -85.634592, - 41.94578 - ] - }, - n2413: { - id: "n2413", - loc: [ - -85.634607, - 41.945815 - ] - }, - n2414: { - id: "n2414", - loc: [ - -85.634614, - 41.945864 - ] - }, - n2415: { - id: "n2415", - loc: [ - -85.636066, - 41.946185 - ] - }, - n2416: { - id: "n2416", - loc: [ - -85.636128, - 41.946352 - ] - }, - n2417: { - id: "n2417", - loc: [ - -85.636142, - 41.946452 - ] - }, - n2418: { - id: "n2418", - loc: [ - -85.635327, - 41.945292 - ] - }, - n2419: { - id: "n2419", - loc: [ - -85.635648, - 41.94558 - ] - }, - n242: { - id: "n242", - loc: [ - -85.635909, - 41.941906 - ] - }, - n2420: { - id: "n2420", - loc: [ - -85.635769, - 41.945729 - ] - }, - n2421: { - id: "n2421", - loc: [ - -85.637349, - 41.945897 - ] - }, - n2422: { - id: "n2422", - loc: [ - -85.632211, - 41.95596 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n2423: { - id: "n2423", - loc: [ - -85.635942, - 41.94598 - ] - }, - n2424: { - id: "n2424", - loc: [ - -85.636443, - 41.946042 - ] - }, - n2425: { - id: "n2425", - loc: [ - -85.635819, - 41.946052 - ] - }, - n2426: { - id: "n2426", - loc: [ - -85.636669, - 41.946025 - ] - }, - n2427: { - id: "n2427", - loc: [ - -85.636832, - 41.946005 - ] - }, - n2428: { - id: "n2428", - loc: [ - -85.637039, - 41.945968 - ] - }, - n2429: { - id: "n2429", - loc: [ - -85.636291, - 41.946046 - ] - }, - n243: { - id: "n243", - loc: [ - -85.636359, - 41.941904 - ] - }, - n2430: { - id: "n2430", - loc: [ - -85.634005, - 41.943367 - ] - }, - n2431: { - id: "n2431", - loc: [ - -85.633366, - 41.943724 - ] - }, - n2432: { - id: "n2432", - loc: [ - -85.634617, - 41.946057 - ] - }, - n2433: { - id: "n2433", - loc: [ - -85.636534, - 41.944793 - ] - }, - n2434: { - id: "n2434", - loc: [ - -85.637055, - 41.945188 - ] - }, - n2435: { - id: "n2435", - loc: [ - -85.636153, - 41.944618 - ] - }, - n2436: { - id: "n2436", - loc: [ - -85.636803, - 41.944944 - ] - }, - n2437: { - id: "n2437", - loc: [ - -85.633389, - 41.945735 - ] - }, - n2438: { - id: "n2438", - loc: [ - -85.633536, - 41.94585 - ] - }, - n2439: { - id: "n2439", - loc: [ - -85.63363, - 41.945993 - ] - }, - n244: { - id: "n244", - loc: [ - -85.636351, - 41.941438 - ] - }, - n2440: { - id: "n2440", - loc: [ - -85.633268, - 41.94568 - ] - }, - n2441: { - id: "n2441", - loc: [ - -85.635947, - 41.94546 - ] - }, - n2442: { - id: "n2442", - loc: [ - -85.636277, - 41.945268 - ] - }, - n2443: { - id: "n2443", - loc: [ - -85.635203, - 41.944287 - ] - }, - n2444: { - id: "n2444", - loc: [ - -85.634876, - 41.944477 - ] - }, - n2445: { - id: "n2445", - loc: [ - -85.634975, - 41.944419 - ] - }, - n2446: { - id: "n2446", - loc: [ - -85.633877, - 41.943438 - ] - }, - n2447: { - id: "n2447", - loc: [ - -85.63508, - 41.945113 - ] - }, - n2448: { - id: "n2448", - loc: [ - -85.635372, - 41.944932 - ] - }, - n2449: { - id: "n2449", - loc: [ - -85.636594, - 41.945935 - ] - }, - n245: { - id: "n245", - loc: [ - -85.635903, - 41.941436 - ] - }, - n2450: { - id: "n2450", - loc: [ - -85.636901, - 41.945747 - ] - }, - n2451: { - id: "n2451", - loc: [ - -85.636329, - 41.945228 - ] - }, - n2452: { - id: "n2452", - loc: [ - -85.636025, - 41.945417 - ] - }, - n2453: { - id: "n2453", - loc: [ - -85.634002, - 41.944644 - ] - }, - n2454: { - id: "n2454", - loc: [ - -85.63407, - 41.944692 - ] - }, - n2455: { - id: "n2455", - loc: [ - -85.634114, - 41.944756 - ] - }, - n2456: { - id: "n2456", - loc: [ - -85.633762, - 41.944809 - ] - }, - n2457: { - id: "n2457", - loc: [ - -85.634184, - 41.944807 - ] - }, - n2458: { - id: "n2458", - loc: [ - -85.634291, - 41.944819 - ] - }, - n2459: { - id: "n2459", - loc: [ - -85.634639, - 41.944845 - ] - }, - n246: { - id: "n246", - loc: [ - -85.635788, - 41.941436 - ] - }, - n2460: { - id: "n2460", - loc: [ - -85.633822, - 41.944861 - ] - }, - n2461: { - id: "n2461", - loc: [ - -85.63411, - 41.944855 - ] - }, - n2462: { - id: "n2462", - loc: [ - -85.63435, - 41.944872 - ] - }, - n2463: { - id: "n2463", - loc: [ - -85.63441, - 41.944903 - ] - }, - n2464: { - id: "n2464", - loc: [ - -85.633883, - 41.944913 - ] - }, - n2465: { - id: "n2465", - loc: [ - -85.634164, - 41.944896 - ] - }, - n2466: { - id: "n2466", - loc: [ - -85.633487, - 41.944926 - ] - }, - n2467: { - id: "n2467", - loc: [ - -85.634736, - 41.944929 - ] - }, - n2468: { - id: "n2468", - loc: [ - -85.633944, - 41.944965 - ] - }, - n2469: { - id: "n2469", - loc: [ - -85.633555, - 41.944983 - ] - }, - n247: { - id: "n247", - loc: [ - -85.635929, - 41.941511 - ] - }, - n2470: { - id: "n2470", - loc: [ - -85.633995, - 41.945013 - ] - }, - n2471: { - id: "n2471", - loc: [ - -85.633614, - 41.945037 - ] - }, - n2472: { - id: "n2472", - loc: [ - -85.634848, - 41.945031 - ] - }, - n2473: { - id: "n2473", - loc: [ - -85.634049, - 41.945061 - ] - }, - n2474: { - id: "n2474", - loc: [ - -85.633678, - 41.945094 - ] - }, - n2475: { - id: "n2475", - loc: [ - -85.63317, - 41.945111 - ] - }, - n2476: { - id: "n2476", - loc: [ - -85.633357, - 41.945103 - ] - }, - n2477: { - id: "n2477", - loc: [ - -85.633728, - 41.945136 - ] - }, - n2478: { - id: "n2478", - loc: [ - -85.634146, - 41.945148 - ] - }, - n2479: { - id: "n2479", - loc: [ - -85.633416, - 41.945157 - ] - }, - n248: { - id: "n248", - loc: [ - -85.635929, - 41.941317 - ] - }, - n2480: { - id: "n2480", - loc: [ - -85.634625, - 41.945172 - ] - }, - n2481: { - id: "n2481", - loc: [ - -85.633239, - 41.945174 - ] - }, - n2482: { - id: "n2482", - loc: [ - -85.63469, - 41.945185 - ] - }, - n2483: { - id: "n2483", - loc: [ - -85.634661, - 41.945203 - ] - }, - n2484: { - id: "n2484", - loc: [ - -85.63348, - 41.945214 - ] - }, - n2485: { - id: "n2485", - loc: [ - -85.633578, - 41.945221 - ] - }, - n2486: { - id: "n2486", - loc: [ - -85.634742, - 41.945231 - ] - }, - n2487: { - id: "n2487", - loc: [ - -85.634251, - 41.94525 - ] - }, - n2488: { - id: "n2488", - loc: [ - -85.633524, - 41.945254 - ] - }, - n2489: { - id: "n2489", - loc: [ - -85.63468, - 41.945271 - ] - }, - n249: { - id: "n249", - loc: [ - -85.636414, - 41.941316 - ] - }, - n2490: { - id: "n2490", - loc: [ - -85.633885, - 41.945272 - ] - }, - n2491: { - id: "n2491", - loc: [ - -85.634795, - 41.945288 - ] - }, - n2492: { - id: "n2492", - loc: [ - -85.634742, - 41.94532 - ] - }, - n2493: { - id: "n2493", - loc: [ - -85.633946, - 41.945327 - ] - }, - n2494: { - id: "n2494", - loc: [ - -85.634844, - 41.945331 - ] - }, - n2495: { - id: "n2495", - loc: [ - -85.63435, - 41.945349 - ] - }, - n2496: { - id: "n2496", - loc: [ - -85.633733, - 41.945357 - ] - }, - n2497: { - id: "n2497", - loc: [ - -85.633987, - 41.945375 - ] - }, - n2498: { - id: "n2498", - loc: [ - -85.634911, - 41.945419 - ] - }, - n2499: { - id: "n2499", - loc: [ - -85.634049, - 41.945431 - ] - }, - n25: { - id: "n25", - loc: [ - -85.634333, - 41.942809 - ] - }, - n250: { - id: "n250", - loc: [ - -85.636414, - 41.941511 - ] - }, - n2500: { - id: "n2500", - loc: [ - -85.633705, - 41.945461 - ] - }, - n2501: { - id: "n2501", - loc: [ - -85.633642, - 41.945408 - ] - }, - n2502: { - id: "n2502", - loc: [ - -85.634493, - 41.945475 - ] - }, - n2503: { - id: "n2503", - loc: [ - -85.634106, - 41.945484 - ] - }, - n2504: { - id: "n2504", - loc: [ - -85.635008, - 41.945505 - ] - }, - n2505: { - id: "n2505", - loc: [ - -85.633757, - 41.945506 - ] - }, - n2506: { - id: "n2506", - loc: [ - -85.634542, - 41.945519 - ] - }, - n2507: { - id: "n2507", - loc: [ - -85.634162, - 41.945536 - ] - }, - n2508: { - id: "n2508", - loc: [ - -85.633843, - 41.945547 - ] - }, - n2509: { - id: "n2509", - loc: [ - -85.634919, - 41.94556 - ] - }, - n251: { - id: "n251", - loc: [ - -85.636819, - 41.941617 - ] - }, - n2510: { - id: "n2510", - loc: [ - -85.633818, - 41.945561 - ] - }, - n2511: { - id: "n2511", - loc: [ - -85.634638, - 41.94559 - ] - }, - n2512: { - id: "n2512", - loc: [ - -85.633901, - 41.945598 - ] - }, - n2513: { - id: "n2513", - loc: [ - -85.634257, - 41.945626 - ] - }, - n2514: { - id: "n2514", - loc: [ - -85.633967, - 41.945652 - ] - }, - n2515: { - id: "n2515", - loc: [ - -85.634735, - 41.945676 - ] - }, - n2516: { - id: "n2516", - loc: [ - -85.635057, - 41.945683 - ] - }, - n2517: { - id: "n2517", - loc: [ - -85.635296, - 41.945703 - ] - }, - n2518: { - id: "n2518", - loc: [ - -85.635112, - 41.945703 - ] - }, - n2519: { - id: "n2519", - loc: [ - -85.634782, - 41.945729 - ] - }, - n252: { - id: "n252", - loc: [ - -85.636718, - 41.941619 - ] - }, - n2520: { - id: "n2520", - loc: [ - -85.634052, - 41.945747 - ] - }, - n2521: { - id: "n2521", - loc: [ - -85.635296, - 41.945757 - ] - }, - n2522: { - id: "n2522", - loc: [ - -85.635314, - 41.945757 - ] - }, - n2523: { - id: "n2523", - loc: [ - -85.635112, - 41.945761 - ] - }, - n2524: { - id: "n2524", - loc: [ - -85.63484, - 41.945778 - ] - }, - n2525: { - id: "n2525", - loc: [ - -85.635314, - 41.945938 - ] - }, - n2526: { - id: "n2526", - loc: [ - -85.63484, - 41.945922 - ] - }, - n2527: { - id: "n2527", - loc: [ - -85.635461, - 41.944879 - ] - }, - n2528: { - id: "n2528", - loc: [ - -85.636024, - 41.945384 - ] - }, - n2529: { - id: "n2529", - loc: [ - -85.636145, - 41.945312 - ] - }, - n253: { - id: "n253", - loc: [ - -85.636716, - 41.941509 - ] - }, - n2530: { - id: "n2530", - loc: [ - -85.6356, - 41.944797 - ] - }, - n2531: { - id: "n2531", - loc: [ - -85.635135, - 41.944354 - ] - }, - n2532: { - id: "n2532", - loc: [ - -85.632988, - 41.945369 - ] - }, - n2533: { - id: "n2533", - loc: [ - -85.633376, - 41.94563 - ] - }, - n2534: { - id: "n2534", - loc: [ - -85.633539, - 41.945534 - ] - }, - n2535: { - id: "n2535", - loc: [ - -85.633238, - 41.945248 - ] - }, - n2536: { - id: "n2536", - loc: [ - -85.633166, - 41.945216 - ] - }, - n2537: { - id: "n2537", - loc: [ - -85.633114, - 41.945188 - ] - }, - n2538: { - id: "n2538", - loc: [ - -85.633078, - 41.945127 - ] - }, - n2539: { - id: "n2539", - loc: [ - -85.633066, - 41.94508 - ] - }, - n254: { - id: "n254", - loc: [ - -85.636732, - 41.941509 - ] - }, - n2540: { - id: "n2540", - loc: [ - -85.633222, - 41.945358 - ] - }, - n2541: { - id: "n2541", - loc: [ - -85.633425, - 41.945541 - ] - }, - n2542: { - id: "n2542", - loc: [ - -85.63299, - 41.9455 - ] - }, - n2543: { - id: "n2543", - loc: [ - -85.634374, - 41.944327 - ] - }, - n2544: { - id: "n2544", - loc: [ - -85.633648, - 41.943697 - ] - }, - n2545: { - id: "n2545", - loc: [ - -85.633533, - 41.943764 - ] - }, - n2546: { - id: "n2546", - loc: [ - -85.634239, - 41.944417 - ] - }, - n2547: { - id: "n2547", - loc: [ - -85.634122, - 41.944395 - ] - }, - n2548: { - id: "n2548", - loc: [ - -85.634235, - 41.944326 - ] - }, - n2549: { - id: "n2549", - loc: [ - -85.633613, - 41.943787 - ] - }, - n255: { - id: "n255", - loc: [ - -85.636731, - 41.941461 - ] - }, - n2550: { - id: "n2550", - loc: [ - -85.633915, - 41.943613 - ] - }, - n2551: { - id: "n2551", - loc: [ - -85.634015, - 41.943555 - ] - }, - n2552: { - id: "n2552", - loc: [ - -85.63433, - 41.943839 - ] - }, - n2553: { - id: "n2553", - loc: [ - -85.634236, - 41.943894 - ] - }, - n2554: { - id: "n2554", - loc: [ - -85.635413, - 41.946052 - ] - }, - n2555: { - id: "n2555", - loc: [ - -85.635405, - 41.94569 - ] - }, - n2556: { - id: "n2556", - loc: [ - -85.635684, - 41.945925 - ] - }, - n2557: { - id: "n2557", - loc: [ - -85.635614, - 41.945742 - ] - }, - n2558: { - id: "n2558", - loc: [ - -85.635401, - 41.945745 - ] - }, - n2559: { - id: "n2559", - loc: [ - -85.635406, - 41.945928 - ] - }, - n256: { - id: "n256", - loc: [ - -85.636799, - 41.941461 - ] - }, - n2560: { - id: "n2560", - loc: [ - -85.633478, - 41.943663 - ] - }, - n2561: { - id: "n2561", - loc: [ - -85.633291, - 41.943526 - ] - }, - n2562: { - id: "n2562", - loc: [ - -85.633094, - 41.943541 - ] - }, - n2563: { - id: "n2563", - loc: [ - -85.633302, - 41.943492 - ] - }, - n2564: { - id: "n2564", - loc: [ - -85.633047, - 41.943623 - ] - }, - n2565: { - id: "n2565", - loc: [ - -85.633275, - 41.943562 - ] - }, - n2566: { - id: "n2566", - loc: [ - -85.633351, - 41.943518 - ] - }, - n2567: { - id: "n2567", - loc: [ - -85.633224, - 41.9434 - ] - }, - n2568: { - id: "n2568", - loc: [ - -85.633235, - 41.943369 - ] - }, - n2569: { - id: "n2569", - loc: [ - -85.635179, - 41.943911 - ] - }, - n257: { - id: "n257", - loc: [ - -85.6368, - 41.9415 - ] - }, - n2570: { - id: "n2570", - loc: [ - -85.635146, - 41.943918 - ] - }, - n2571: { - id: "n2571", - loc: [ - -85.634888, - 41.943905 - ] - }, - n2572: { - id: "n2572", - loc: [ - -85.634832, - 41.943911 - ] - }, - n2573: { - id: "n2573", - loc: [ - -85.634638, - 41.944007 - ] - }, - n2574: { - id: "n2574", - loc: [ - -85.634568, - 41.94405 - ] - }, - n2575: { - id: "n2575", - loc: [ - -85.635994, - 41.94501 - ] - }, - n2576: { - id: "n2576", - loc: [ - -85.636388, - 41.944608 - ] - }, - n2577: { - id: "n2577", - loc: [ - -85.636215, - 41.944787 - ] - }, - n2578: { - id: "n2578", - loc: [ - -85.637948, - 41.944587 - ] - }, - n2579: { - id: "n2579", - loc: [ - -85.637849, - 41.944567 - ] - }, - n258: { - id: "n258", - loc: [ - -85.636814, - 41.9415 - ] - }, - n2580: { - id: "n2580", - loc: [ - -85.637895, - 41.944455 - ] - }, - n2581: { - id: "n2581", - loc: [ - -85.637996, - 41.944477 - ] - }, - n2582: { - id: "n2582", - loc: [ - -85.635525, - 41.94337 - ] - }, - n2583: { - id: "n2583", - loc: [ - -85.637847, - 41.943923 - ] - }, - n2584: { - id: "n2584", - loc: [ - -85.637891, - 41.944124 - ] - }, - n2585: { - id: "n2585", - loc: [ - -85.638167, - 41.944229 - ] - }, - n2586: { - id: "n2586", - loc: [ - -85.638236, - 41.944097 - ] - }, - n2587: { - id: "n2587", - loc: [ - -85.638207, - 41.944025 - ] - }, - n2588: { - id: "n2588", - loc: [ - -85.638141, - 41.943997 - ] - }, - n2589: { - id: "n2589", - loc: [ - -85.638057, - 41.944015 - ] - }, - n259: { - id: "n259", - loc: [ - -85.636815, - 41.941538 - ] - }, - n2590: { - id: "n2590", - loc: [ - -85.637902, - 41.944231 - ] - }, - n2591: { - id: "n2591", - loc: [ - -85.638134, - 41.944307 - ] - }, - n2592: { - id: "n2592", - loc: [ - -85.638242, - 41.944294 - ] - }, - n2593: { - id: "n2593", - loc: [ - -85.638274, - 41.944222 - ] - }, - n2594: { - id: "n2594", - loc: [ - -85.638236, - 41.944174 - ] - }, - n2595: { - id: "n2595", - loc: [ - -85.638207, - 41.944157 - ] - }, - n2596: { - id: "n2596", - loc: [ - -85.637818, - 41.943984 - ] - }, - n2597: { - id: "n2597", - loc: [ - -85.634996, - 41.944439 - ] - }, - n2598: { - id: "n2598", - loc: [ - -85.633946, - 41.945804 - ] - }, - n2599: { - id: "n2599", - loc: [ - -85.634102, - 41.945864 - ] - }, - n26: { - id: "n26", - loc: [ - -85.634346, - 41.942744 - ] - }, - n260: { - id: "n260", - loc: [ - -85.636827, - 41.941538 - ] - }, - n2600: { - id: "n2600", - loc: [ - -85.633819, - 41.945756 - ] - }, - n2601: { - id: "n2601", - loc: [ - -85.634025, - 41.945975 - ] - }, - n2602: { - id: "n2602", - loc: [ - -85.633742, - 41.945867 - ] - }, - n2603: { - id: "n2603", - loc: [ - -85.63373, - 41.946004 - ] - }, - n2604: { - id: "n2604", - loc: [ - -85.633947, - 41.946081 - ] - }, - n2605: { - id: "n2605", - loc: [ - -85.633872, - 41.945917 - ] - }, - n2606: { - id: "n2606", - loc: [ - -85.633825, - 41.945985 - ] - }, - n2607: { - id: "n2607", - loc: [ - -85.633762, - 41.94596 - ] - }, - n2608: { - id: "n2608", - loc: [ - -85.634224, - 41.946037 - ] - }, - n2609: { - id: "n2609", - loc: [ - -85.634357, - 41.945851 - ] - }, - n261: { - id: "n261", - loc: [ - -85.636828, - 41.941584 - ] - }, - n2610: { - id: "n2610", - loc: [ - -85.634398, - 41.945813 - ] - }, - n2611: { - id: "n2611", - loc: [ - -85.634461, - 41.945812 - ] - }, - n2612: { - id: "n2612", - loc: [ - -85.634501, - 41.945852 - ] - }, - n2613: { - id: "n2613", - loc: [ - -85.634503, - 41.94597 - ] - }, - n2614: { - id: "n2614", - loc: [ - -85.634462, - 41.945971 - ] - }, - n2615: { - id: "n2615", - loc: [ - -85.634465, - 41.946036 - ] - }, - n2616: { - id: "n2616", - loc: [ - -85.634235, - 41.946072 - ] - }, - n2617: { - id: "n2617", - loc: [ - -85.634447, - 41.946036 - ] - }, - n2618: { - id: "n2618", - loc: [ - -85.634448, - 41.946052 - ] - }, - n2619: { - id: "n2619", - loc: [ - -85.634494, - 41.946051 - ] - }, - n262: { - id: "n262", - loc: [ - -85.636819, - 41.941585 - ] - }, - n2620: { - id: "n2620", - loc: [ - -85.634497, - 41.946144 - ] - }, - n2621: { - id: "n2621", - loc: [ - -85.634453, - 41.946144 - ] - }, - n2622: { - id: "n2622", - loc: [ - -85.634454, - 41.94616 - ] - }, - n2623: { - id: "n2623", - loc: [ - -85.634393, - 41.946161 - ] - }, - n2624: { - id: "n2624", - loc: [ - -85.634394, - 41.94618 - ] - }, - n2625: { - id: "n2625", - loc: [ - -85.634345, - 41.94618 - ] - }, - n2626: { - id: "n2626", - loc: [ - -85.634344, - 41.946162 - ] - }, - n2627: { - id: "n2627", - loc: [ - -85.63427, - 41.946163 - ] - }, - n2628: { - id: "n2628", - loc: [ - -85.634266, - 41.946071 - ] - }, - n2629: { - id: "n2629", - loc: [ - -85.634148, - 41.946163 - ] - }, - n263: { - id: "n263", - loc: [ - -85.636854, - 41.941714 - ] - }, - n2630: { - id: "n2630", - loc: [ - -85.634213, - 41.946072 - ] - }, - n2631: { - id: "n2631", - loc: [ - -85.633293, - 41.946309 - ] - }, - n2632: { - id: "n2632", - loc: [ - -85.633122, - 41.946239 - ] - }, - n2633: { - id: "n2633", - loc: [ - -85.633295, - 41.946005 - ] - }, - n2634: { - id: "n2634", - loc: [ - -85.633395, - 41.946047 - ] - }, - n2635: { - id: "n2635", - loc: [ - -85.633404, - 41.946035 - ] - }, - n2636: { - id: "n2636", - loc: [ - -85.633459, - 41.946057 - ] - }, - n2637: { - id: "n2637", - loc: [ - -85.633387, - 41.946154 - ] - }, - n2638: { - id: "n2638", - loc: [ - -85.633403, - 41.946161 - ] - }, - n2639: { - id: "n2639", - loc: [ - -85.634176, - 41.946415 - ] - }, - n264: { - id: "n264", - loc: [ - -85.636855, - 41.941774 - ] - }, - n2640: { - id: "n2640", - loc: [ - -85.634179, - 41.946339 - ] - }, - n2641: { - id: "n2641", - loc: [ - -85.634455, - 41.946345 - ] - }, - n2642: { - id: "n2642", - loc: [ - -85.634452, - 41.946422 - ] - }, - n2643: { - id: "n2643", - loc: [ - -85.63437, - 41.946421 - ] - }, - n2644: { - id: "n2644", - loc: [ - -85.634367, - 41.946497 - ] - }, - n2645: { - id: "n2645", - loc: [ - -85.634289, - 41.946495 - ] - }, - n2646: { - id: "n2646", - loc: [ - -85.634291, - 41.946448 - ] - }, - n2647: { - id: "n2647", - loc: [ - -85.634269, - 41.946448 - ] - }, - n2648: { - id: "n2648", - loc: [ - -85.63427, - 41.946417 - ] - }, - n2649: { - id: "n2649", - loc: [ - -85.63484, - 41.946328 - ] - }, - n265: { - id: "n265", - loc: [ - -85.636822, - 41.941774 - ] - }, - n2650: { - id: "n2650", - loc: [ - -85.634839, - 41.946187 - ] - }, - n2651: { - id: "n2651", - loc: [ - -85.635148, - 41.946186 - ] - }, - n2652: { - id: "n2652", - loc: [ - -85.635148, - 41.946216 - ] - }, - n2653: { - id: "n2653", - loc: [ - -85.63521, - 41.946216 - ] - }, - n2654: { - id: "n2654", - loc: [ - -85.63521, - 41.946348 - ] - }, - n2655: { - id: "n2655", - loc: [ - -85.635154, - 41.946348 - ] - }, - n2656: { - id: "n2656", - loc: [ - -85.635153, - 41.946327 - ] - }, - n2657: { - id: "n2657", - loc: [ - -85.634037, - 41.946957 - ] - }, - n2658: { - id: "n2658", - loc: [ - -85.634253, - 41.946953 - ] - }, - n2659: { - id: "n2659", - loc: [ - -85.63481, - 41.946543 - ] - }, - n266: { - id: "n266", - loc: [ - -85.636822, - 41.941778 - ] - }, - n2660: { - id: "n2660", - loc: [ - -85.634809, - 41.946459 - ] - }, - n2661: { - id: "n2661", - loc: [ - -85.635154, - 41.946458 - ] - }, - n2662: { - id: "n2662", - loc: [ - -85.635155, - 41.946554 - ] - }, - n2663: { - id: "n2663", - loc: [ - -85.635022, - 41.946547 - ] - }, - n2664: { - id: "n2664", - loc: [ - -85.635022, - 41.946573 - ] - }, - n2665: { - id: "n2665", - loc: [ - -85.634909, - 41.946574 - ] - }, - n2666: { - id: "n2666", - loc: [ - -85.634909, - 41.946561 - ] - }, - n2667: { - id: "n2667", - loc: [ - -85.634896, - 41.947159 - ] - }, - n2668: { - id: "n2668", - loc: [ - -85.634894, - 41.947032 - ] - }, - n2669: { - id: "n2669", - loc: [ - -85.635024, - 41.947031 - ] - }, - n267: { - id: "n267", - loc: [ - -85.636756, - 41.941779 - ] - }, - n2670: { - id: "n2670", - loc: [ - -85.635026, - 41.947158 - ] - }, - n2671: { - id: "n2671", - loc: [ - -85.635233, - 41.947105 - ] - }, - n2672: { - id: "n2672", - loc: [ - -85.635236, - 41.946991 - ] - }, - n2673: { - id: "n2673", - loc: [ - -85.635369, - 41.946993 - ] - }, - n2674: { - id: "n2674", - loc: [ - -85.635366, - 41.947107 - ] - }, - n2675: { - id: "n2675", - loc: [ - -85.634824, - 41.946929 - ] - }, - n2676: { - id: "n2676", - loc: [ - -85.634825, - 41.946818 - ] - }, - n2677: { - id: "n2677", - loc: [ - -85.63512, - 41.946819 - ] - }, - n2678: { - id: "n2678", - loc: [ - -85.635119, - 41.94693 - ] - }, - n2679: { - id: "n2679", - loc: [ - -85.634796, - 41.946806 - ] - }, - n268: { - id: "n268", - loc: [ - -85.636756, - 41.941774 - ] - }, - n2680: { - id: "n2680", - loc: [ - -85.634792, - 41.946604 - ] - }, - n2681: { - id: "n2681", - loc: [ - -85.634948, - 41.946602 - ] - }, - n2682: { - id: "n2682", - loc: [ - -85.634949, - 41.946645 - ] - }, - n2683: { - id: "n2683", - loc: [ - -85.634975, - 41.946644 - ] - }, - n2684: { - id: "n2684", - loc: [ - -85.634974, - 41.946599 - ] - }, - n2685: { - id: "n2685", - loc: [ - -85.635117, - 41.946598 - ] - }, - n2686: { - id: "n2686", - loc: [ - -85.635122, - 41.946801 - ] - }, - n2687: { - id: "n2687", - loc: [ - -85.634981, - 41.946803 - ] - }, - n2688: { - id: "n2688", - loc: [ - -85.634979, - 41.946752 - ] - }, - n2689: { - id: "n2689", - loc: [ - -85.634952, - 41.946752 - ] - }, - n269: { - id: "n269", - loc: [ - -85.636721, - 41.941774 - ] - }, - n2690: { - id: "n2690", - loc: [ - -85.634953, - 41.946804 - ] - }, - n2691: { - id: "n2691", - loc: [ - -85.634649, - 41.946841 - ] - }, - n2692: { - id: "n2692", - loc: [ - -85.634331, - 41.94684 - ] - }, - n2693: { - id: "n2693", - loc: [ - -85.634183, - 41.946809 - ] - }, - n2694: { - id: "n2694", - loc: [ - -85.633699, - 41.946607 - ] - }, - n2695: { - id: "n2695", - loc: [ - -85.634487, - 41.946664 - ] - }, - n2696: { - id: "n2696", - loc: [ - -85.634486, - 41.946598 - ] - }, - n2697: { - id: "n2697", - loc: [ - -85.63423, - 41.946599 - ] - }, - n2698: { - id: "n2698", - loc: [ - -85.634231, - 41.946662 - ] - }, - n2699: { - id: "n2699", - loc: [ - -85.634284, - 41.946662 - ] - }, - n27: { - id: "n27", - loc: [ - -85.634136, - 41.943183 - ] - }, - n270: { - id: "n270", - loc: [ - -85.63672, - 41.941714 - ] - }, - n2700: { - id: "n2700", - loc: [ - -85.634284, - 41.946679 - ] - }, - n2701: { - id: "n2701", - loc: [ - -85.634365, - 41.946679 - ] - }, - n2702: { - id: "n2702", - loc: [ - -85.634365, - 41.946664 - ] - }, - n2703: { - id: "n2703", - loc: [ - -85.635443, - 41.947015 - ] - }, - n2704: { - id: "n2704", - loc: [ - -85.635442, - 41.946801 - ] - }, - n2705: { - id: "n2705", - loc: [ - -85.63603, - 41.9468 - ] - }, - n2706: { - id: "n2706", - loc: [ - -85.636028, - 41.947016 - ] - }, - n2707: { - id: "n2707", - loc: [ - -85.635457, - 41.946582 - ] - }, - n2708: { - id: "n2708", - loc: [ - -85.635455, - 41.946211 - ] - }, - n2709: { - id: "n2709", - loc: [ - -85.635636, - 41.946579 - ] - }, - n271: { - id: "n271", - loc: [ - -85.636767, - 41.941713 - ] - }, - n2710: { - id: "n2710", - loc: [ - -85.635716, - 41.9468 - ] - }, - n2711: { - id: "n2711", - loc: [ - -85.635969, - 41.9468 - ] - }, - n2712: { - id: "n2712", - loc: [ - -85.635973, - 41.946295 - ] - }, - n2713: { - id: "n2713", - loc: [ - -85.636019, - 41.946484 - ] - }, - n2714: { - id: "n2714", - loc: [ - -85.636022, - 41.946388 - ] - }, - n2715: { - id: "n2715", - loc: [ - -85.635961, - 41.946493 - ] - }, - n2716: { - id: "n2716", - loc: [ - -85.635713, - 41.94621 - ] - }, - n2717: { - id: "n2717", - loc: [ - -85.635416, - 41.946142 - ] - }, - n2718: { - id: "n2718", - loc: [ - -85.635759, - 41.946203 - ] - }, - n2719: { - id: "n2719", - loc: [ - -85.636153, - 41.946747 - ] - }, - n272: { - id: "n272", - loc: [ - -85.636767, - 41.941706 - ] - }, - n2720: { - id: "n2720", - loc: [ - -85.635417, - 41.946915 - ] - }, - n2721: { - id: "n2721", - loc: [ - -85.636154, - 41.946915 - ] - }, - n2722: { - id: "n2722", - loc: [ - -85.635866, - 41.946473 - ] - }, - n2723: { - id: "n2723", - loc: [ - -85.635717, - 41.946633 - ] - }, - n2724: { - id: "n2724", - loc: [ - -85.635556, - 41.946166 - ] - }, - n2725: { - id: "n2725", - loc: [ - -85.63556, - 41.946556 - ] - }, - n2726: { - id: "n2726", - loc: [ - -85.635731, - 41.946594 - ] - }, - n2727: { - id: "n2727", - loc: [ - -85.635866, - 41.946595 - ] - }, - n2728: { - id: "n2728", - loc: [ - -85.635456, - 41.947028 - ] - }, - n2729: { - id: "n2729", - loc: [ - -85.635796, - 41.947023 - ] - }, - n273: { - id: "n273", - loc: [ - -85.636779, - 41.941698 - ] - }, - n2730: { - id: "n2730", - loc: [ - -85.635798, - 41.947091 - ] - }, - n2731: { - id: "n2731", - loc: [ - -85.63573, - 41.947092 - ] - }, - n2732: { - id: "n2732", - loc: [ - -85.635733, - 41.947233 - ] - }, - n2733: { - id: "n2733", - loc: [ - -85.636283, - 41.946863 - ] - }, - n2734: { - id: "n2734", - loc: [ - -85.63628, - 41.946706 - ] - }, - n2735: { - id: "n2735", - loc: [ - -85.636341, - 41.946705 - ] - }, - n2736: { - id: "n2736", - loc: [ - -85.636273, - 41.946584 - ] - }, - n2737: { - id: "n2737", - loc: [ - -85.636396, - 41.946545 - ] - }, - n2738: { - id: "n2738", - loc: [ - -85.636474, - 41.946684 - ] - }, - n2739: { - id: "n2739", - loc: [ - -85.636511, - 41.946861 - ] - }, - n274: { - id: "n274", - loc: [ - -85.636798, - 41.941697 - ] - }, - n2740: { - id: "n2740", - loc: [ - -85.633713, - 41.947184 - ] - }, - n2741: { - id: "n2741", - loc: [ - -85.633651, - 41.94716 - ] - }, - n2742: { - id: "n2742", - loc: [ - -85.633704, - 41.947085 - ] - }, - n2743: { - id: "n2743", - loc: [ - -85.6336, - 41.947044 - ] - }, - n2744: { - id: "n2744", - loc: [ - -85.633506, - 41.947177 - ] - }, - n2745: { - id: "n2745", - loc: [ - -85.629586, - 41.952469 - ] - }, - n2746: { - id: "n2746", - loc: [ - -85.634723, - 41.953681 - ] - }, - n2747: { - id: "n2747", - loc: [ - -85.63478, - 41.959007 - ] - }, - n2748: { - id: "n2748", - loc: [ - -85.632793, - 41.94405 - ], - tags: { - highway: "traffic_signals", - traffic_signals: "signal", - "traffic_signals:direction": "both" - } - }, - n2749: { - id: "n2749", - loc: [ - -85.634648, - 41.947325 - ] - }, - n275: { - id: "n275", - loc: [ - -85.63681, - 41.941705 - ] - }, - n2750: { - id: "n2750", - loc: [ - -85.625078, - 41.952097 - ] - }, - n2751: { - id: "n2751", - loc: [ - -85.633195, - 41.94734 - ] - }, - n2752: { - id: "n2752", - loc: [ - -85.626447, - 41.957168 - ] - }, - n2753: { - id: "n2753", - loc: [ - -85.632023, - 41.949012 - ] - }, - n2754: { - id: "n2754", - loc: [ - -85.630835, - 41.950656 - ] - }, - n2755: { - id: "n2755", - loc: [ - -85.634655, - 41.948612 - ] - }, - n2756: { - id: "n2756", - loc: [ - -85.636182, - 41.948605 - ] - }, - n2757: { - id: "n2757", - loc: [ - -85.634729, - 41.954667 - ] - }, - n2758: { - id: "n2758", - loc: [ - -85.634686, - 41.951159 - ] - }, - n2759: { - id: "n2759", - loc: [ - -85.636206, - 41.951146 - ] - }, - n276: { - id: "n276", - loc: [ - -85.63681, - 41.941714 - ] - }, - n2760: { - id: "n2760", - loc: [ - -85.634668, - 41.949891 - ] - }, - n2761: { - id: "n2761", - loc: [ - -85.634701, - 41.952422 - ] - }, - n2762: { - id: "n2762", - loc: [ - -85.634747, - 41.955907 - ] - }, - n2763: { - id: "n2763", - loc: [ - -85.627975, - 41.954695 - ] - }, - n2764: { - id: "n2764", - loc: [ - -85.626832, - 41.954698 - ] - }, - n2765: { - id: "n2765", - loc: [ - -85.632278, - 41.948624 - ] - }, - n2766: { - id: "n2766", - loc: [ - -85.628639, - 41.953725 - ] - }, - n2767: { - id: "n2767", - loc: [ - -85.636233, - 41.95241 - ] - }, - n2768: { - id: "n2768", - loc: [ - -85.631385, - 41.949913 - ] - }, - n2769: { - id: "n2769", - loc: [ - -85.630486, - 41.951194 - ] - }, - n277: { - id: "n277", - loc: [ - -85.636861, - 41.942041 - ] - }, - n2770: { - id: "n2770", - loc: [ - -85.624937, - 41.952088 - ] - }, - n2771: { - id: "n2771", - loc: [ - -85.624945, - 41.952022 - ] - }, - n2772: { - id: "n2772", - loc: [ - -85.636162, - 41.94731 - ] - }, - n2773: { - id: "n2773", - loc: [ - -85.636188, - 41.949881 - ] - }, - n2774: { - id: "n2774", - loc: [ - -85.631422, - 41.948294 - ] - }, - n2775: { - id: "n2775", - loc: [ - -85.632844, - 41.945547 - ] - }, - n2776: { - id: "n2776", - loc: [ - -85.632484, - 41.945344 - ] - }, - n2777: { - id: "n2777", - loc: [ - -85.631775, - 41.944636 - ] - }, - n2778: { - id: "n2778", - loc: [ - -85.632656, - 41.945471 - ] - }, - n2779: { - id: "n2779", - loc: [ - -85.631959, - 41.944827 - ] - }, - n278: { - id: "n278", - loc: [ - -85.636862, - 41.942099 - ] - }, - n2780: { - id: "n2780", - loc: [ - -85.631679, - 41.94438 - ] - }, - n2781: { - id: "n2781", - loc: [ - -85.625129, - 41.959272 - ] - }, - n2782: { - id: "n2782", - loc: [ - -85.632446, - 41.944861 - ] - }, - n2783: { - id: "n2783", - loc: [ - -85.632804, - 41.945477 - ] - }, - n2784: { - id: "n2784", - loc: [ - -85.632255, - 41.944962 - ] - }, - n2785: { - id: "n2785", - loc: [ - -85.632736, - 41.944757 - ] - }, - n2786: { - id: "n2786", - loc: [ - -85.632543, - 41.94486 - ] - }, - n2787: { - id: "n2787", - loc: [ - -85.632889, - 41.945561 - ] - }, - n2788: { - id: "n2788", - loc: [ - -85.632091, - 41.944949 - ] - }, - n2789: { - id: "n2789", - loc: [ - -85.632537, - 41.944713 - ] - }, - n279: { - id: "n279", - loc: [ - -85.636807, - 41.942099 - ] - }, - n2790: { - id: "n2790", - loc: [ - -85.632279, - 41.94485 - ] - }, - n2791: { - id: "n2791", - loc: [ - -85.632749, - 41.943247 - ] - }, - n2792: { - id: "n2792", - loc: [ - -85.632824, - 41.943152 - ] - }, - n2793: { - id: "n2793", - loc: [ - -85.632929, - 41.94317 - ] - }, - n2794: { - id: "n2794", - loc: [ - -85.632897, - 41.943078 - ] - }, - n2795: { - id: "n2795", - loc: [ - -85.632626, - 41.943231 - ] - }, - n2796: { - id: "n2796", - loc: [ - -85.634048, - 41.947257 - ] - }, - n2797: { - id: "n2797", - loc: [ - -85.634264, - 41.947252 - ] - }, - n2798: { - id: "n2798", - loc: [ - -85.635418, - 41.947317 - ] - }, - n2799: { - id: "n2799", - loc: [ - -85.635461, - 41.947237 - ] - }, - n28: { - id: "n28", - loc: [ - -85.63821, - 41.944308 - ] - }, - n280: { - id: "n280", - loc: [ - -85.636807, - 41.942126 - ] - }, - n2800: { - id: "n2800", - loc: [ - -85.632868, - 41.946229 - ] - }, - n2801: { - id: "n2801", - loc: [ - -85.633673, - 41.947242 - ] - }, - n2802: { - id: "n2802", - loc: [ - -85.623604, - 41.945881 - ], - tags: { - amenity: "school", - name: "Barrows School" - } - }, - n2803: { - id: "n2803", - loc: [ - -85.627401, - 41.943496 - ] - }, - n2804: { - id: "n2804", - loc: [ - -85.627403, - 41.943625 - ] - }, - n2805: { - id: "n2805", - loc: [ - -85.626409, - 41.943215 - ] - }, - n2806: { - id: "n2806", - loc: [ - -85.624884, - 41.943508 - ] - }, - n2807: { - id: "n2807", - loc: [ - -85.625191, - 41.943509 - ] - }, - n2808: { - id: "n2808", - loc: [ - -85.624882, - 41.94382 - ] - }, - n2809: { - id: "n2809", - loc: [ - -85.624893, - 41.945618 - ] - }, - n281: { - id: "n281", - loc: [ - -85.636726, - 41.942126 - ] - }, - n2810: { - id: "n2810", - loc: [ - -85.624912, - 41.946524 - ] - }, - n2811: { - id: "n2811", - loc: [ - -85.622721, - 41.946535 - ] - }, - n2812: { - id: "n2812", - loc: [ - -85.627399, - 41.94469 - ] - }, - n2813: { - id: "n2813", - loc: [ - -85.622716, - 41.945622 - ] - }, - n2814: { - id: "n2814", - loc: [ - -85.624886, - 41.944724 - ] - }, - n2815: { - id: "n2815", - loc: [ - -85.622674, - 41.944737 - ] - }, - n2816: { - id: "n2816", - loc: [ - -85.625092, - 41.945063 - ] - }, - n2817: { - id: "n2817", - loc: [ - -85.625233, - 41.945064 - ] - }, - n2818: { - id: "n2818", - loc: [ - -85.625229, - 41.944871 - ] - }, - n2819: { - id: "n2819", - loc: [ - -85.625066, - 41.944871 - ] - }, - n282: { - id: "n282", - loc: [ - -85.636726, - 41.942098 - ] - }, - n2820: { - id: "n2820", - loc: [ - -85.625024, - 41.944901 - ] - }, - n2821: { - id: "n2821", - loc: [ - -85.625025, - 41.944924 - ] - }, - n2822: { - id: "n2822", - loc: [ - -85.625087, - 41.944926 - ] - }, - n2823: { - id: "n2823", - loc: [ - -85.625349, - 41.944506 - ] - }, - n2824: { - id: "n2824", - loc: [ - -85.625347, - 41.944388 - ] - }, - n2825: { - id: "n2825", - loc: [ - -85.625152, - 41.94439 - ] - }, - n2826: { - id: "n2826", - loc: [ - -85.625152, - 41.944431 - ] - }, - n2827: { - id: "n2827", - loc: [ - -85.625134, - 41.944431 - ] - }, - n2828: { - id: "n2828", - loc: [ - -85.625136, - 41.944508 - ] - }, - n2829: { - id: "n2829", - loc: [ - -85.623236, - 41.946341 - ] - }, - n283: { - id: "n283", - loc: [ - -85.636708, - 41.942098 - ] - }, - n2830: { - id: "n2830", - loc: [ - -85.623241, - 41.946067 - ] - }, - n2831: { - id: "n2831", - loc: [ - -85.623207, - 41.946067 - ] - }, - n2832: { - id: "n2832", - loc: [ - -85.623212, - 41.945827 - ] - }, - n2833: { - id: "n2833", - loc: [ - -85.622981, - 41.945825 - ] - }, - n2834: { - id: "n2834", - loc: [ - -85.622976, - 41.946063 - ] - }, - n2835: { - id: "n2835", - loc: [ - -85.623006, - 41.946063 - ] - }, - n2836: { - id: "n2836", - loc: [ - -85.623002, - 41.946256 - ] - }, - n2837: { - id: "n2837", - loc: [ - -85.623075, - 41.946256 - ] - }, - n2838: { - id: "n2838", - loc: [ - -85.623074, - 41.946339 - ] - }, - n2839: { - id: "n2839", - loc: [ - -85.624574, - 41.951755 - ] - }, - n284: { - id: "n284", - loc: [ - -85.636708, - 41.942041 - ] - }, - n2840: { - id: "n2840", - loc: [ - -85.62498, - 41.951844 - ] - }, - n2841: { - id: "n2841", - loc: [ - -85.625086, - 41.95188 - ] - }, - n2842: { - id: "n2842", - loc: [ - -85.625135, - 41.951922 - ] - }, - n2843: { - id: "n2843", - loc: [ - -85.615273, - 41.945637 - ] - }, - n2844: { - id: "n2844", - loc: [ - -85.620172, - 41.945627 - ] - }, - n2845: { - id: "n2845", - loc: [ - -85.625167, - 41.951985 - ] - }, - n2846: { - id: "n2846", - loc: [ - -85.622741, - 41.947437 - ] - }, - n2847: { - id: "n2847", - loc: [ - -85.624907, - 41.947428 - ] - }, - n2848: { - id: "n2848", - loc: [ - -85.627046, - 41.940995 - ] - }, - n2849: { - id: "n2849", - loc: [ - -85.627295, - 41.941304 - ] - }, - n285: { - id: "n285", - loc: [ - -85.635618, - 41.941852 - ] - }, - n2850: { - id: "n2850", - loc: [ - -85.627352, - 41.94148 - ] - }, - n2851: { - id: "n2851", - loc: [ - -85.62737, - 41.942261 - ] - }, - n2852: { - id: "n2852", - loc: [ - -85.6264, - 41.942263 - ] - }, - n2853: { - id: "n2853", - loc: [ - -85.622769, - 41.949228 - ] - }, - n2854: { - id: "n2854", - loc: [ - -85.624937, - 41.949218 - ] - }, - n2855: { - id: "n2855", - loc: [ - -85.630001, - 41.944664 - ] - }, - n2856: { - id: "n2856", - loc: [ - -85.624873, - 41.942022 - ] - }, - n2857: { - id: "n2857", - loc: [ - -85.622761, - 41.948333 - ] - }, - n2858: { - id: "n2858", - loc: [ - -85.624924, - 41.948334 - ] - }, - n2859: { - id: "n2859", - loc: [ - -85.620051, - 41.94383 - ] - }, - n286: { - id: "n286", - loc: [ - -85.635621, - 41.94202 - ] - }, - n2860: { - id: "n2860", - loc: [ - -85.627629, - 41.946498 - ] - }, - n2861: { - id: "n2861", - loc: [ - -85.622757, - 41.950111 - ] - }, - n2862: { - id: "n2862", - loc: [ - -85.623685, - 41.954624 - ] - }, - n2863: { - id: "n2863", - loc: [ - -85.621459, - 41.944756 - ] - }, - n2864: { - id: "n2864", - loc: [ - -85.628637, - 41.944676 - ] - }, - n2865: { - id: "n2865", - loc: [ - -85.630125, - 41.944654 - ] - }, - n2866: { - id: "n2866", - loc: [ - -85.625196, - 41.952097 - ] - }, - n2867: { - id: "n2867", - loc: [ - -85.630257, - 41.944637 - ] - }, - n2868: { - id: "n2868", - loc: [ - -85.631247, - 41.944459 - ] - }, - n2869: { - id: "n2869", - loc: [ - -85.624867, - 41.94159 - ] - }, - n287: { - id: "n287", - loc: [ - -85.63524, - 41.942023 - ] - }, - n2870: { - id: "n2870", - loc: [ - -85.624958, - 41.950343 - ] - }, - n2871: { - id: "n2871", - loc: [ - -85.624948, - 41.950484 - ] - }, - n2872: { - id: "n2872", - loc: [ - -85.624813, - 41.950983 - ] - }, - n2873: { - id: "n2873", - loc: [ - -85.624723, - 41.951789 - ] - }, - n2874: { - id: "n2874", - loc: [ - -85.624262, - 41.9512 - ] - }, - n2875: { - id: "n2875", - loc: [ - -85.62414, - 41.951201 - ] - }, - n2876: { - id: "n2876", - loc: [ - -85.624139, - 41.95112 - ] - }, - n2877: { - id: "n2877", - loc: [ - -85.628481, - 41.945611 - ] - }, - n2878: { - id: "n2878", - loc: [ - -85.620072, - 41.946538 - ] - }, - n2879: { - id: "n2879", - loc: [ - -85.622763, - 41.95099 - ] - }, - n288: { - id: "n288", - loc: [ - -85.635237, - 41.941855 - ] - }, - n2880: { - id: "n2880", - loc: [ - -85.62814, - 41.946963 - ] - }, - n2881: { - id: "n2881", - loc: [ - -85.628245, - 41.947031 - ] - }, - n2882: { - id: "n2882", - loc: [ - -85.628331, - 41.947066 - ] - }, - n2883: { - id: "n2883", - loc: [ - -85.629722, - 41.944444 - ], - tags: { - leisure: "park", - name: "Scouter Park" - } - }, - n2884: { - id: "n2884", - loc: [ - -85.629977, - 41.943907 - ] - }, - n2885: { - id: "n2885", - loc: [ - -85.629947, - 41.943775 - ] - }, - n2886: { - id: "n2886", - loc: [ - -85.629899, - 41.943625 - ] - }, - n2887: { - id: "n2887", - loc: [ - -85.632286, - 41.944257 - ] - }, - n2888: { - id: "n2888", - loc: [ - -85.632523, - 41.944179 - ] - }, - n2889: { - id: "n2889", - loc: [ - -85.632141, - 41.944293 - ] - }, - n289: { - id: "n289", - loc: [ - -85.635568, - 41.940475 - ] - }, - n2890: { - id: "n2890", - loc: [ - -85.631571, - 41.9444 - ] - }, - n2891: { - id: "n2891", - loc: [ - -85.643236, - 41.941895 - ] - }, - n2892: { - id: "n2892", - loc: [ - -85.62865, - 41.945353 - ] - }, - n2893: { - id: "n2893", - loc: [ - -85.628594, - 41.945481 - ] - }, - n2894: { - id: "n2894", - loc: [ - -85.628581, - 41.947169 - ] - }, - n2895: { - id: "n2895", - loc: [ - -85.631843, - 41.943793 - ] - }, - n2896: { - id: "n2896", - loc: [ - -85.632299, - 41.943472 - ] - }, - n2897: { - id: "n2897", - loc: [ - -85.631519, - 41.944881 - ] - }, - n2898: { - id: "n2898", - loc: [ - -85.628429, - 41.947219 - ] - }, - n2899: { - id: "n2899", - loc: [ - -85.63145, - 41.945162 - ] - }, - n29: { - id: "n29", - loc: [ - -85.637963, - 41.944263 - ] - }, - n290: { - id: "n290", - loc: [ - -85.634584, - 41.940477 - ] - }, - n2900: { - id: "n2900", - loc: [ - -85.630939, - 41.945519 - ] - }, - n2901: { - id: "n2901", - loc: [ - -85.62903, - 41.945719 - ] - }, - n2902: { - id: "n2902", - loc: [ - -85.630521, - 41.945559 - ] - }, - n2903: { - id: "n2903", - loc: [ - -85.629294, - 41.945585 - ] - }, - n2904: { - id: "n2904", - loc: [ - -85.629845, - 41.945543 - ] - }, - n2905: { - id: "n2905", - loc: [ - -85.631497, - 41.944625 - ] - }, - n2906: { - id: "n2906", - loc: [ - -85.630281, - 41.945553 - ] - }, - n2907: { - id: "n2907", - loc: [ - -85.628553, - 41.946973 - ] - }, - n2908: { - id: "n2908", - loc: [ - -85.631383, - 41.945338 - ] - }, - n2909: { - id: "n2909", - loc: [ - -85.628843, - 41.946103 - ] - }, - n291: { - id: "n291", - loc: [ - -85.634583, - 41.940203 - ] - }, - n2910: { - id: "n2910", - loc: [ - -85.631193, - 41.945473 - ] - }, - n2911: { - id: "n2911", - loc: [ - -85.628897, - 41.945944 - ] - }, - n2912: { - id: "n2912", - loc: [ - -85.628789, - 41.946454 - ] - }, - n2913: { - id: "n2913", - loc: [ - -85.632548, - 41.944563 - ] - }, - n2914: { - id: "n2914", - loc: [ - -85.627527, - 41.944555 - ] - }, - n2915: { - id: "n2915", - loc: [ - -85.62752, - 41.943726 - ] - }, - n2916: { - id: "n2916", - loc: [ - -85.627894, - 41.943723 - ] - }, - n2917: { - id: "n2917", - loc: [ - -85.627897, - 41.943919 - ] - }, - n2918: { - id: "n2918", - loc: [ - -85.627991, - 41.943934 - ] - }, - n2919: { - id: "n2919", - loc: [ - -85.628082, - 41.943966 - ] - }, - n292: { - id: "n292", - loc: [ - -85.635567, - 41.940201 - ] - }, - n2920: { - id: "n2920", - loc: [ - -85.628177, - 41.944015 - ] - }, - n2921: { - id: "n2921", - loc: [ - -85.628193, - 41.944048 - ] - }, - n2922: { - id: "n2922", - loc: [ - -85.628167, - 41.944054 - ] - }, - n2923: { - id: "n2923", - loc: [ - -85.628193, - 41.944094 - ] - }, - n2924: { - id: "n2924", - loc: [ - -85.628213, - 41.944144 - ] - }, - n2925: { - id: "n2925", - loc: [ - -85.628214, - 41.944199 - ] - }, - n2926: { - id: "n2926", - loc: [ - -85.62833, - 41.944196 - ] - }, - n2927: { - id: "n2927", - loc: [ - -85.628328, - 41.944262 - ] - }, - n2928: { - id: "n2928", - loc: [ - -85.628173, - 41.944262 - ] - }, - n2929: { - id: "n2929", - loc: [ - -85.628171, - 41.944293 - ] - }, - n293: { - id: "n293", - loc: [ - -85.635816, - 41.942673 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n2930: { - id: "n2930", - loc: [ - -85.628039, - 41.944296 - ] - }, - n2931: { - id: "n2931", - loc: [ - -85.62804, - 41.944329 - ] - }, - n2932: { - id: "n2932", - loc: [ - -85.627829, - 41.944335 - ] - }, - n2933: { - id: "n2933", - loc: [ - -85.627835, - 41.94455 - ] - }, - n2936: { - id: "n2936", - loc: [ - -85.632823, - 41.945994 - ] - }, - n294: { - id: "n294", - loc: [ - -85.635696, - 41.942712 - ] - }, - n2940: { - id: "n2940", - loc: [ - -85.632192, - 41.945973 - ] - }, - n2941: { - id: "n2941", - loc: [ - -85.63226, - 41.94587 - ] - }, - n2942: { - id: "n2942", - loc: [ - -85.632721, - 41.946036 - ] - }, - n2943: { - id: "n2943", - loc: [ - -85.632641, - 41.946142 - ] - }, - n2944: { - id: "n2944", - loc: [ - -85.62937, - 41.947467 - ] - }, - n2945: { - id: "n2945", - loc: [ - -85.62959, - 41.942936 - ] - }, - n2946: { - id: "n2946", - loc: [ - -85.629551, - 41.94284 - ] - }, - n2947: { - id: "n2947", - loc: [ - -85.629501, - 41.942704 - ] - }, - n2948: { - id: "n2948", - loc: [ - -85.629472, - 41.942578 - ] - }, - n2949: { - id: "n2949", - loc: [ - -85.629361, - 41.941801 - ] - }, - n295: { - id: "n295", - loc: [ - -85.635679, - 41.941962 - ] - }, - n2950: { - id: "n2950", - loc: [ - -85.629339, - 41.941716 - ] - }, - n2951: { - id: "n2951", - loc: [ - -85.629315, - 41.94166 - ] - }, - n2952: { - id: "n2952", - loc: [ - -85.629279, - 41.941602 - ] - }, - n2953: { - id: "n2953", - loc: [ - -85.629227, - 41.941556 - ] - }, - n2954: { - id: "n2954", - loc: [ - -85.624261, - 41.95112 - ] - }, - n2955: { - id: "n2955", - loc: [ - -85.629153, - 41.941524 - ] - }, - n2956: { - id: "n2956", - loc: [ - -85.626904, - 41.941098 - ] - }, - n2957: { - id: "n2957", - loc: [ - -85.624588, - 41.951294 - ] - }, - n2958: { - id: "n2958", - loc: [ - -85.631844, - 41.942945 - ] - }, - n2959: { - id: "n2959", - loc: [ - -85.625854, - 41.949222 - ] - }, - n296: { - id: "n296", - loc: [ - -85.635672, - 41.941337 - ] - }, - n2960: { - id: "n2960", - loc: [ - -85.625146, - 41.955238 - ] - }, - n2961: { - id: "n2961", - loc: [ - -85.626745, - 41.948296 - ] - }, - n2962: { - id: "n2962", - loc: [ - -85.625721, - 41.95524 - ] - }, - n2963: { - id: "n2963", - loc: [ - -85.624706, - 41.952317 - ] - }, - n2964: { - id: "n2964", - loc: [ - -85.62609, - 41.956147 - ] - }, - n2965: { - id: "n2965", - loc: [ - -85.624401, - 41.954928 - ] - }, - n2966: { - id: "n2966", - loc: [ - -85.626558, - 41.955367 - ] - }, - n2967: { - id: "n2967", - loc: [ - -85.62468, - 41.955096 - ] - }, - n2968: { - id: "n2968", - loc: [ - -85.624159, - 41.953929 - ] - }, - n2969: { - id: "n2969", - loc: [ - -85.62506, - 41.951113 - ] - }, - n297: { - id: "n297", - loc: [ - -85.635658, - 41.941284 - ] - }, - n2970: { - id: "n2970", - loc: [ - -85.624942, - 41.951591 - ] - }, - n2971: { - id: "n2971", - loc: [ - -85.627399, - 41.947546 - ] - }, - n2972: { - id: "n2972", - loc: [ - -85.627695, - 41.947404 - ] - }, - n2973: { - id: "n2973", - loc: [ - -85.625925, - 41.94896 - ] - }, - n2974: { - id: "n2974", - loc: [ - -85.625725, - 41.950211 - ] - }, - n2975: { - id: "n2975", - loc: [ - -85.627008, - 41.947963 - ] - }, - n2976: { - id: "n2976", - loc: [ - -85.624373, - 41.953458 - ] - }, - n2977: { - id: "n2977", - loc: [ - -85.624137, - 41.954392 - ] - }, - n2978: { - id: "n2978", - loc: [ - -85.628257, - 41.947307 - ] - }, - n2979: { - id: "n2979", - loc: [ - -85.625281, - 41.95066 - ] - }, - n298: { - id: "n298", - loc: [ - -85.635602, - 41.941166 - ] - }, - n2980: { - id: "n2980", - loc: [ - -85.625865, - 41.949804 - ] - }, - n2981: { - id: "n2981", - loc: [ - -85.626508, - 41.955932 - ] - }, - n2982: { - id: "n2982", - loc: [ - -85.626333, - 41.955216 - ] - }, - n2983: { - id: "n2983", - loc: [ - -85.626637, - 41.955676 - ] - }, - n2984: { - id: "n2984", - loc: [ - -85.624223, - 41.954599 - ] - }, - n2985: { - id: "n2985", - loc: [ - -85.626219, - 41.948671 - ] - }, - n2986: { - id: "n2986", - loc: [ - -85.624556, - 41.953043 - ] - }, - n2987: { - id: "n2987", - loc: [ - -85.625598, - 41.956302 - ] - }, - n2988: { - id: "n2988", - loc: [ - -85.624571, - 41.952971 - ] - }, - n2989: { - id: "n2989", - loc: [ - -85.627141, - 41.940727 - ] - }, - n299: { - id: "n299", - loc: [ - -85.635598, - 41.941138 - ] - }, - n2990: { - id: "n2990", - loc: [ - -85.627102, - 41.939144 - ] - }, - n2991: { - id: "n2991", - loc: [ - -85.627127, - 41.940086 - ] - }, - n2992: { - id: "n2992", - loc: [ - -85.627116, - 41.940843 - ] - }, - n2993: { - id: "n2993", - loc: [ - -85.627132, - 41.9402 - ] - }, - n2994: { - id: "n2994", - loc: [ - -85.629734, - 41.940078 - ] - }, - n2995: { - id: "n2995", - loc: [ - -85.6276, - 41.937412 - ] - }, - n2996: { - id: "n2996", - loc: [ - -85.627451, - 41.937549 - ] - }, - n2997: { - id: "n2997", - loc: [ - -85.627375, - 41.937618 - ] - }, - n2998: { - id: "n2998", - loc: [ - -85.627278, - 41.937728 - ] - }, - n2999: { - id: "n2999", - loc: [ - -85.627199, - 41.937842 - ] - }, - n3: { - id: "n3", - loc: [ - -85.627345, - 41.953983 - ] - }, - n30: { - id: "n30", - loc: [ - -85.637882, - 41.944205 - ] - }, - n300: { - id: "n300", - loc: [ - -85.635614, - 41.941076 - ] - }, - n3000: { - id: "n3000", - loc: [ - -85.627141, - 41.937981 - ] - }, - n3001: { - id: "n3001", - loc: [ - -85.627109, - 41.938153 - ] - }, - n3002: { - id: "n3002", - loc: [ - -85.627101, - 41.938699 - ] - }, - n3003: { - id: "n3003", - loc: [ - -85.628311, - 41.942261 - ] - }, - n3004: { - id: "n3004", - loc: [ - -85.628439, - 41.940082 - ] - }, - n3005: { - id: "n3005", - loc: [ - -85.619538, - 41.942622 - ], - tags: { - leisure: "slipway" - } - }, - n3006: { - id: "n3006", - loc: [ - -85.619872, - 41.942618 - ] - }, - n3007: { - id: "n3007", - loc: [ - -85.619755, - 41.942612 - ] - }, - n3008: { - id: "n3008", - loc: [ - -85.619647, - 41.942628 - ] - }, - n3009: { - id: "n3009", - loc: [ - -85.619415, - 41.942626 - ] - }, - n301: { - id: "n301", - loc: [ - -85.635659, - 41.940956 - ] - }, - n3010: { - id: "n3010", - loc: [ - -85.619212, - 41.942623 - ] - }, - n3011: { - id: "n3011", - loc: [ - -85.631485, - 41.942472 - ] - }, - n3012: { - id: "n3012", - loc: [ - -85.630986, - 41.941786 - ] - }, - n3013: { - id: "n3013", - loc: [ - -85.631797, - 41.942006 - ] - }, - n3014: { - id: "n3014", - loc: [ - -85.630972, - 41.941162 - ] - }, - n3015: { - id: "n3015", - loc: [ - -85.631396, - 41.941611 - ], - tags: { - railway: "level_crossing" - } - }, - n3016: { - id: "n3016", - loc: [ - -85.631878, - 41.941545 - ] - }, - n3017: { - id: "n3017", - loc: [ - -85.630461, - 41.94055 - ] - }, - n3018: { - id: "n3018", - loc: [ - -85.629751, - 41.939539 - ], - tags: { - railway: "level_crossing" - } - }, - n3019: { - id: "n3019", - loc: [ - -85.631663, - 41.941513 - ] - }, - n302: { - id: "n302", - loc: [ - -85.635666, - 41.940922 - ] - }, - n3020: { - id: "n3020", - loc: [ - -85.631328, - 41.941375 - ] - }, - n3021: { - id: "n3021", - loc: [ - -85.632554, - 41.941779 - ] - }, - n3022: { - id: "n3022", - loc: [ - -85.63245, - 41.941769 - ] - }, - n3023: { - id: "n3023", - loc: [ - -85.632475, - 41.941644 - ] - }, - n3024: { - id: "n3024", - loc: [ - -85.632581, - 41.941654 - ] - }, - n3025: { - id: "n3025", - loc: [ - -85.631957, - 41.941352 - ] - }, - n3026: { - id: "n3026", - loc: [ - -85.632293, - 41.941139 - ] - }, - n3027: { - id: "n3027", - loc: [ - -85.632315, - 41.941153 - ] - }, - n3028: { - id: "n3028", - loc: [ - -85.632302, - 41.941262 - ] - }, - n3029: { - id: "n3029", - loc: [ - -85.63237, - 41.941267 - ] - }, - n303: { - id: "n303", - loc: [ - -85.635667, - 41.940877 - ] - }, - n3030: { - id: "n3030", - loc: [ - -85.632356, - 41.941538 - ] - }, - n3031: { - id: "n3031", - loc: [ - -85.632134, - 41.941678 - ] - }, - n3032: { - id: "n3032", - loc: [ - -85.631942, - 41.941687 - ] - }, - n3033: { - id: "n3033", - loc: [ - -85.63203, - 41.941694 - ] - }, - n3034: { - id: "n3034", - loc: [ - -85.632166, - 41.941555 - ] - }, - n3035: { - id: "n3035", - loc: [ - -85.632412, - 41.941416 - ] - }, - n3036: { - id: "n3036", - loc: [ - -85.63248, - 41.941342 - ] - }, - n3037: { - id: "n3037", - loc: [ - -85.632502, - 41.941259 - ] - }, - n3038: { - id: "n3038", - loc: [ - -85.632453, - 41.941161 - ] - }, - n3039: { - id: "n3039", - loc: [ - -85.63235, - 41.941103 - ] - }, - n304: { - id: "n304", - loc: [ - -85.635668, - 41.940655 - ] - }, - n3040: { - id: "n3040", - loc: [ - -85.632236, - 41.941118 - ] - }, - n3041: { - id: "n3041", - loc: [ - -85.631894, - 41.941355 - ] - }, - n3042: { - id: "n3042", - loc: [ - -85.631859, - 41.941411 - ] - }, - n3043: { - id: "n3043", - loc: [ - -85.632011, - 41.941587 - ] - }, - n3044: { - id: "n3044", - loc: [ - -85.632446, - 41.941379 - ] - }, - n3045: { - id: "n3045", - loc: [ - -85.632511, - 41.941416 - ] - }, - n3046: { - id: "n3046", - loc: [ - -85.632545, - 41.941634 - ] - }, - n3047: { - id: "n3047", - loc: [ - -85.632612, - 41.94164 - ] - }, - n3048: { - id: "n3048", - loc: [ - -85.632595, - 41.942197 - ] - }, - n3049: { - id: "n3049", - loc: [ - -85.632565, - 41.942241 - ] - }, - n305: { - id: "n305", - loc: [ - -85.635628, - 41.940617 - ] - }, - n3050: { - id: "n3050", - loc: [ - -85.632515, - 41.942256 - ] - }, - n3051: { - id: "n3051", - loc: [ - -85.63245, - 41.94223 - ] - }, - n3052: { - id: "n3052", - loc: [ - -85.632401, - 41.942174 - ] - }, - n3053: { - id: "n3053", - loc: [ - -85.632391, - 41.942115 - ] - }, - n3054: { - id: "n3054", - loc: [ - -85.632029, - 41.941859 - ] - }, - n3055: { - id: "n3055", - loc: [ - -85.631828, - 41.941639 - ] - }, - n3056: { - id: "n3056", - loc: [ - -85.631829, - 41.941508 - ] - }, - n3057: { - id: "n3057", - loc: [ - -85.631281, - 41.94312 - ] - }, - n3058: { - id: "n3058", - loc: [ - -85.631421, - 41.943065 - ] - }, - n3059: { - id: "n3059", - loc: [ - -85.631339, - 41.942949 - ] - }, - n306: { - id: "n306", - loc: [ - -85.635623, - 41.940272 - ] - }, - n3060: { - id: "n3060", - loc: [ - -85.631199, - 41.943004 - ] - }, - n3061: { - id: "n3061", - loc: [ - -85.631102, - 41.942931 - ] - }, - n3062: { - id: "n3062", - loc: [ - -85.631009, - 41.942809 - ] - }, - n3063: { - id: "n3063", - loc: [ - -85.631383, - 41.94265 - ] - }, - n3064: { - id: "n3064", - loc: [ - -85.631477, - 41.942773 - ] - }, - n3065: { - id: "n3065", - loc: [ - -85.630638, - 41.942809 - ] - }, - n3066: { - id: "n3066", - loc: [ - -85.630738, - 41.942943 - ] - }, - n3067: { - id: "n3067", - loc: [ - -85.630841, - 41.9429 - ] - }, - n3068: { - id: "n3068", - loc: [ - -85.630741, - 41.942766 - ] - }, - n3069: { - id: "n3069", - loc: [ - -85.63054, - 41.942603 - ] - }, - n307: { - id: "n307", - loc: [ - -85.635651, - 41.940183 - ] - }, - n3070: { - id: "n3070", - loc: [ - -85.630498, - 41.942619 - ] - }, - n3071: { - id: "n3071", - loc: [ - -85.630567, - 41.942718 - ] - }, - n3072: { - id: "n3072", - loc: [ - -85.630616, - 41.942698 - ] - }, - n3073: { - id: "n3073", - loc: [ - -85.630642, - 41.94273 - ] - }, - n3074: { - id: "n3074", - loc: [ - -85.630686, - 41.942714 - ] - }, - n3075: { - id: "n3075", - loc: [ - -85.630715, - 41.942754 - ] - }, - n3076: { - id: "n3076", - loc: [ - -85.6309, - 41.942681 - ] - }, - n3077: { - id: "n3077", - loc: [ - -85.630843, - 41.942605 - ] - }, - n3078: { - id: "n3078", - loc: [ - -85.6309, - 41.942581 - ] - }, - n3079: { - id: "n3079", - loc: [ - -85.630832, - 41.942487 - ] - }, - n308: { - id: "n308", - loc: [ - -85.63577, - 41.940183 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n3080: { - id: "n3080", - loc: [ - -85.630773, - 41.942509 - ] - }, - n3081: { - id: "n3081", - loc: [ - -85.630718, - 41.942436 - ] - }, - n3082: { - id: "n3082", - loc: [ - -85.630485, - 41.942524 - ] - }, - n3083: { - id: "n3083", - loc: [ - -85.631468, - 41.941233 - ] - }, - n3084: { - id: "n3084", - loc: [ - -85.631334, - 41.94114 - ] - }, - n3085: { - id: "n3085", - loc: [ - -85.632052, - 41.940568 - ] - }, - n3086: { - id: "n3086", - loc: [ - -85.63219, - 41.940663 - ] - }, - n3087: { - id: "n3087", - loc: [ - -85.631323, - 41.940834 - ] - }, - n3088: { - id: "n3088", - loc: [ - -85.631122, - 41.941002 - ] - }, - n3089: { - id: "n3089", - loc: [ - -85.631321, - 41.941133 - ] - }, - n309: { - id: "n309", - loc: [ - -85.636939, - 41.942544 - ] - }, - n3090: { - id: "n3090", - loc: [ - -85.631521, - 41.940966 - ] - }, - n3091: { - id: "n3091", - loc: [ - -85.631103, - 41.940253 - ] - }, - n3092: { - id: "n3092", - loc: [ - -85.631226, - 41.940211 - ] - }, - n3093: { - id: "n3093", - loc: [ - -85.631597, - 41.940805 - ] - }, - n3094: { - id: "n3094", - loc: [ - -85.631474, - 41.940847 - ] - }, - n3095: { - id: "n3095", - loc: [ - -85.631811, - 41.940534 - ] - }, - n3096: { - id: "n3096", - loc: [ - -85.631588, - 41.94061 - ] - }, - n3097: { - id: "n3097", - loc: [ - -85.631438, - 41.940366 - ] - }, - n3098: { - id: "n3098", - loc: [ - -85.631661, - 41.94029 - ] - }, - n3099: { - id: "n3099", - loc: [ - -85.630621, - 41.940041 - ] - }, - n31: { - id: "n31", - loc: [ - -85.63827, - 41.944203 - ] - }, - n310: { - id: "n310", - loc: [ - -85.636323, - 41.942552 - ] - }, - n3100: { - id: "n3100", - loc: [ - -85.630436, - 41.939773 - ] - }, - n3101: { - id: "n3101", - loc: [ - -85.63059, - 41.939714 - ] - }, - n3102: { - id: "n3102", - loc: [ - -85.630775, - 41.939983 - ] - }, - n3103: { - id: "n3103", - loc: [ - -85.63047, - 41.940167 - ] - }, - n3104: { - id: "n3104", - loc: [ - -85.63013, - 41.939686 - ] - }, - n3105: { - id: "n3105", - loc: [ - -85.630302, - 41.939618 - ] - }, - n3106: { - id: "n3106", - loc: [ - -85.630641, - 41.9401 - ] - }, - n3107: { - id: "n3107", - loc: [ - -85.630966, - 41.940619 - ] - }, - n3108: { - id: "n3108", - loc: [ - -85.630874, - 41.940493 - ] - }, - n3109: { - id: "n3109", - loc: [ - -85.630933, - 41.940469 - ] - }, - n311: { - id: "n311", - loc: [ - -85.636257, - 41.942555 - ] - }, - n3110: { - id: "n3110", - loc: [ - -85.630763, - 41.940236 - ] - }, - n3111: { - id: "n3111", - loc: [ - -85.63088, - 41.940189 - ] - }, - n3112: { - id: "n3112", - loc: [ - -85.631142, - 41.940548 - ] - }, - n3113: { - id: "n3113", - loc: [ - -85.630958, - 41.940871 - ] - }, - n3114: { - id: "n3114", - loc: [ - -85.630874, - 41.940778 - ] - }, - n3115: { - id: "n3115", - loc: [ - -85.631062, - 41.940684 - ] - }, - n3116: { - id: "n3116", - loc: [ - -85.631146, - 41.940777 - ] - }, - n3117: { - id: "n3117", - loc: [ - -85.632031, - 41.940575 - ] - }, - n3118: { - id: "n3118", - loc: [ - -85.631777, - 41.940186 - ] - }, - n3119: { - id: "n3119", - loc: [ - -85.631346, - 41.940179 - ] - }, - n312: { - id: "n312", - loc: [ - -85.636208, - 41.942561 - ] - }, - n3120: { - id: "n3120", - loc: [ - -85.631342, - 41.94012 - ] - }, - n3121: { - id: "n3121", - loc: [ - -85.631831, - 41.940118 - ] - }, - n3122: { - id: "n3122", - loc: [ - -85.632115, - 41.940543 - ] - }, - n3123: { - id: "n3123", - loc: [ - -85.631031, - 41.941683 - ] - }, - n3124: { - id: "n3124", - loc: [ - -85.630981, - 41.941608 - ] - }, - n3125: { - id: "n3125", - loc: [ - -85.631209, - 41.941516 - ] - }, - n3126: { - id: "n3126", - loc: [ - -85.631264, - 41.941586 - ] - }, - n3127: { - id: "n3127", - loc: [ - -85.630938, - 41.94155 - ] - }, - n3128: { - id: "n3128", - loc: [ - -85.631156, - 41.941462 - ] - }, - n3129: { - id: "n3129", - loc: [ - -85.631197, - 41.94152 - ] - }, - n313: { - id: "n313", - loc: [ - -85.636159, - 41.942573 - ] - }, - n3130: { - id: "n3130", - loc: [ - -85.630895, - 41.941485 - ] - }, - n3131: { - id: "n3131", - loc: [ - -85.630824, - 41.941389 - ] - }, - n3132: { - id: "n3132", - loc: [ - -85.630986, - 41.941323 - ] - }, - n3133: { - id: "n3133", - loc: [ - -85.631057, - 41.941419 - ] - }, - n3134: { - id: "n3134", - loc: [ - -85.630777, - 41.941328 - ] - }, - n3135: { - id: "n3135", - loc: [ - -85.630907, - 41.941274 - ] - }, - n3136: { - id: "n3136", - loc: [ - -85.630953, - 41.941335 - ] - }, - n3137: { - id: "n3137", - loc: [ - -85.630797, - 41.941247 - ] - }, - n3138: { - id: "n3138", - loc: [ - -85.630701, - 41.94117 - ] - }, - n3139: { - id: "n3139", - loc: [ - -85.630829, - 41.941113 - ] - }, - n314: { - id: "n314", - loc: [ - -85.635743, - 41.942881 - ] - }, - n3140: { - id: "n3140", - loc: [ - -85.6309, - 41.941201 - ] - }, - n3141: { - id: "n3141", - loc: [ - -85.630765, - 41.941206 - ] - }, - n3142: { - id: "n3142", - loc: [ - -85.630739, - 41.941218 - ] - }, - n3143: { - id: "n3143", - loc: [ - -85.630582, - 41.941039 - ] - }, - n3144: { - id: "n3144", - loc: [ - -85.630412, - 41.940818 - ] - }, - n3145: { - id: "n3145", - loc: [ - -85.630509, - 41.940777 - ] - }, - n3146: { - id: "n3146", - loc: [ - -85.630678, - 41.941004 - ] - }, - n3147: { - id: "n3147", - loc: [ - -85.630773, - 41.942166 - ] - }, - n3148: { - id: "n3148", - loc: [ - -85.630708, - 41.942074 - ] - }, - n3149: { - id: "n3149", - loc: [ - -85.630863, - 41.942013 - ] - }, - n315: { - id: "n315", - loc: [ - -85.635452, - 41.942966 - ] - }, - n3150: { - id: "n3150", - loc: [ - -85.630928, - 41.942105 - ] - }, - n3151: { - id: "n3151", - loc: [ - -85.630701, - 41.942026 - ] - }, - n3152: { - id: "n3152", - loc: [ - -85.630665, - 41.941971 - ] - }, - n3153: { - id: "n3153", - loc: [ - -85.630793, - 41.941918 - ] - }, - n3154: { - id: "n3154", - loc: [ - -85.630837, - 41.94197 - ] - }, - n3155: { - id: "n3155", - loc: [ - -85.630757, - 41.941871 - ] - }, - n3156: { - id: "n3156", - loc: [ - -85.630629, - 41.941923 - ] - }, - n3157: { - id: "n3157", - loc: [ - -85.630694, - 41.941783 - ] - }, - n3158: { - id: "n3158", - loc: [ - -85.630534, - 41.941847 - ] - }, - n3159: { - id: "n3159", - loc: [ - -85.630598, - 41.941935 - ] - }, - n316: { - id: "n316", - loc: [ - -85.634911, - 41.943118 - ] - }, - n3160: { - id: "n3160", - loc: [ - -85.631548, - 41.93938 - ] - }, - n3161: { - id: "n3161", - loc: [ - -85.631525, - 41.939919 - ] - }, - n3162: { - id: "n3162", - loc: [ - -85.631648, - 41.940043 - ] - }, - n3163: { - id: "n3163", - loc: [ - -85.624586, - 41.951121 - ] - }, - n3164: { - id: "n3164", - loc: [ - -85.622139, - 41.952064 - ] - }, - n3165: { - id: "n3165", - loc: [ - -85.622141, - 41.952144 - ] - }, - n3166: { - id: "n3166", - loc: [ - -85.621977, - 41.952146 - ] - }, - n3167: { - id: "n3167", - loc: [ - -85.621978, - 41.952211 - ] - }, - n3168: { - id: "n3168", - loc: [ - -85.62191, - 41.952212 - ] - }, - n3169: { - id: "n3169", - loc: [ - -85.633628, - 41.935437 - ] - }, - n317: { - id: "n317", - loc: [ - -85.634743, - 41.943167 - ] - }, - n3170: { - id: "n3170", - loc: [ - -85.632849, - 41.935518 - ] - }, - n3171: { - id: "n3171", - loc: [ - -85.632376, - 41.93574 - ] - }, - n3172: { - id: "n3172", - loc: [ - -85.631517, - 41.935897 - ] - }, - n3173: { - id: "n3173", - loc: [ - -85.630433, - 41.936124 - ] - }, - n3174: { - id: "n3174", - loc: [ - -85.630207, - 41.936427 - ] - }, - n3175: { - id: "n3175", - loc: [ - -85.630346, - 41.936795 - ] - }, - n3176: { - id: "n3176", - loc: [ - -85.62996, - 41.936974 - ] - }, - n3177: { - id: "n3177", - loc: [ - -85.629916, - 41.937488 - ] - }, - n3178: { - id: "n3178", - loc: [ - -85.629946, - 41.937802 - ] - }, - n3179: { - id: "n3179", - loc: [ - -85.629977, - 41.937905 - ] - }, - n318: { - id: "n318", - loc: [ - -85.634401, - 41.94328 - ] - }, - n3180: { - id: "n3180", - loc: [ - -85.63016, - 41.937909 - ] - }, - n3181: { - id: "n3181", - loc: [ - -85.630804, - 41.937791 - ] - }, - n3182: { - id: "n3182", - loc: [ - -85.631688, - 41.937808 - ] - }, - n3183: { - id: "n3183", - loc: [ - -85.631685, - 41.938008 - ] - }, - n3184: { - id: "n3184", - loc: [ - -85.631845, - 41.938116 - ] - }, - n3185: { - id: "n3185", - loc: [ - -85.63207, - 41.938181 - ] - }, - n3186: { - id: "n3186", - loc: [ - -85.632143, - 41.938371 - ] - }, - n3187: { - id: "n3187", - loc: [ - -85.632056, - 41.938435 - ] - }, - n3188: { - id: "n3188", - loc: [ - -85.631787, - 41.938457 - ] - }, - n3189: { - id: "n3189", - loc: [ - -85.631657, - 41.938728 - ] - }, - n319: { - id: "n319", - loc: [ - -85.634345, - 41.943299 - ] - }, - n3190: { - id: "n3190", - loc: [ - -85.631595, - 41.93775 - ] - }, - n3191: { - id: "n3191", - loc: [ - -85.630264, - 41.937839 - ] - }, - n3192: { - id: "n3192", - loc: [ - -85.628591, - 41.948536 - ] - }, - n3193: { - id: "n3193", - loc: [ - -85.63205, - 41.951181 - ] - }, - n3194: { - id: "n3194", - loc: [ - -85.632034, - 41.949909 - ] - }, - n3195: { - id: "n3195", - loc: [ - -85.630841, - 41.951191 - ] - }, - n3196: { - id: "n3196", - loc: [ - -85.632083, - 41.9537 - ] - }, - n3197: { - id: "n3197", - loc: [ - -85.630929, - 41.959037 - ] - }, - n3198: { - id: "n3198", - loc: [ - -85.632151, - 41.959028 - ] - }, - n3199: { - id: "n3199", - loc: [ - -85.630911, - 41.957428 - ] - }, - n32: { - id: "n32", - loc: [ - -85.638273, - 41.944246 - ] - }, - n320: { - id: "n320", - loc: [ - -85.634287, - 41.943326 - ] - }, - n3200: { - id: "n3200", - loc: [ - -85.63213, - 41.957427 - ] - }, - n3201: { - id: "n3201", - loc: [ - -85.632072, - 41.952447 - ] - }, - n3202: { - id: "n3202", - loc: [ - -85.632095, - 41.954677 - ] - }, - n3203: { - id: "n3203", - loc: [ - -85.632111, - 41.955911 - ] - }, - n3204: { - id: "n3204", - loc: [ - -85.630855, - 41.952457 - ] - }, - n3205: { - id: "n3205", - loc: [ - -85.630869, - 41.953709 - ] - }, - n3206: { - id: "n3206", - loc: [ - -85.63088, - 41.954682 - ] - }, - n3207: { - id: "n3207", - loc: [ - -85.630894, - 41.955913 - ] - }, - n3208: { - id: "n3208", - loc: [ - -85.633214, - 41.948619 - ] - }, - n3209: { - id: "n3209", - loc: [ - -85.633253, - 41.951171 - ] - }, - n321: { - id: "n321", - loc: [ - -85.634233, - 41.943354 - ] - }, - n3210: { - id: "n3210", - loc: [ - -85.633234, - 41.949901 - ] - }, - n3211: { - id: "n3211", - loc: [ - -85.633922, - 41.948616 - ] - }, - n3212: { - id: "n3212", - loc: [ - -85.625188, - 41.947832 - ] - }, - n3213: { - id: "n3213", - loc: [ - -85.625208, - 41.947775 - ] - }, - n3214: { - id: "n3214", - loc: [ - -85.625229, - 41.94776 - ] - }, - n3215: { - id: "n3215", - loc: [ - -85.625201, - 41.947749 - ] - }, - n3216: { - id: "n3216", - loc: [ - -85.625168, - 41.947707 - ] - }, - n3217: { - id: "n3217", - loc: [ - -85.625171, - 41.947609 - ] - }, - n3218: { - id: "n3218", - loc: [ - -85.625213, - 41.947564 - ] - }, - n3219: { - id: "n3219", - loc: [ - -85.62529, - 41.94756 - ] - }, - n322: { - id: "n322", - loc: [ - -85.634099, - 41.943429 - ] - }, - n3220: { - id: "n3220", - loc: [ - -85.625303, - 41.947533 - ] - }, - n3221: { - id: "n3221", - loc: [ - -85.625344, - 41.947482 - ] - }, - n3222: { - id: "n3222", - loc: [ - -85.625442, - 41.947468 - ] - }, - n3223: { - id: "n3223", - loc: [ - -85.62565, - 41.947494 - ] - }, - n3224: { - id: "n3224", - loc: [ - -85.625726, - 41.947613 - ] - }, - n3225: { - id: "n3225", - loc: [ - -85.625703, - 41.947728 - ] - }, - n3226: { - id: "n3226", - loc: [ - -85.625534, - 41.94781 - ] - }, - n3227: { - id: "n3227", - loc: [ - -85.625391, - 41.947822 - ] - }, - n3228: { - id: "n3228", - loc: [ - -85.625304, - 41.947859 - ] - }, - n3229: { - id: "n3229", - loc: [ - -85.625203, - 41.947885 - ] - }, - n323: { - id: "n323", - loc: [ - -85.633958, - 41.943507 - ], - tags: { - highway: "crossing" - } - }, - n3230: { - id: "n3230", - loc: [ - -85.624691, - 41.948659 - ] - }, - n3231: { - id: "n3231", - loc: [ - -85.624328, - 41.948661 - ] - }, - n3232: { - id: "n3232", - loc: [ - -85.624331, - 41.949046 - ] - }, - n3233: { - id: "n3233", - loc: [ - -85.624694, - 41.949045 - ] - }, - n3234: { - id: "n3234", - loc: [ - -85.623623, - 41.949606 - ] - }, - n3235: { - id: "n3235", - loc: [ - -85.623623, - 41.9497 - ] - }, - n3236: { - id: "n3236", - loc: [ - -85.623357, - 41.9497 - ] - }, - n3237: { - id: "n3237", - loc: [ - -85.623357, - 41.949614 - ] - }, - n3238: { - id: "n3238", - loc: [ - -85.623974, - 41.949429 - ] - }, - n3239: { - id: "n3239", - loc: [ - -85.623974, - 41.949605 - ] - }, - n324: { - id: "n324", - loc: [ - -85.633698, - 41.943651 - ], - tags: { - railway: "crossing" - } - }, - n3240: { - id: "n3240", - loc: [ - -85.624501, - 41.951226 - ] - }, - n3241: { - id: "n3241", - loc: [ - -85.624501, - 41.951123 - ] - }, - n3242: { - id: "n3242", - loc: [ - -85.624319, - 41.951123 - ] - }, - n3243: { - id: "n3243", - loc: [ - -85.624319, - 41.951226 - ] - }, - n3244: { - id: "n3244", - loc: [ - -85.624121, - 41.950866 - ] - }, - n3245: { - id: "n3245", - loc: [ - -85.624115, - 41.950525 - ] - }, - n3246: { - id: "n3246", - loc: [ - -85.624315, - 41.950523 - ] - }, - n3247: { - id: "n3247", - loc: [ - -85.62432, - 41.950865 - ] - }, - n3248: { - id: "n3248", - loc: [ - -85.624393, - 41.950867 - ] - }, - n3249: { - id: "n3249", - loc: [ - -85.62439, - 41.950596 - ] - }, - n325: { - id: "n325", - loc: [ - -85.633508, - 41.943757 - ] - }, - n3250: { - id: "n3250", - loc: [ - -85.624673, - 41.950594 - ] - }, - n3251: { - id: "n3251", - loc: [ - -85.624675, - 41.95082 - ] - }, - n3252: { - id: "n3252", - loc: [ - -85.62451, - 41.950821 - ] - }, - n3253: { - id: "n3253", - loc: [ - -85.62451, - 41.950866 - ] - }, - n3254: { - id: "n3254", - loc: [ - -85.624101, - 41.949346 - ] - }, - n3255: { - id: "n3255", - loc: [ - -85.624244, - 41.949346 - ] - }, - n3256: { - id: "n3256", - loc: [ - -85.624244, - 41.949368 - ] - }, - n3257: { - id: "n3257", - loc: [ - -85.62434, - 41.949368 - ] - }, - n3258: { - id: "n3258", - loc: [ - -85.624342, - 41.949351 - ] - }, - n3259: { - id: "n3259", - loc: [ - -85.624725, - 41.949348 - ] - }, - n326: { - id: "n326", - loc: [ - -85.634839, - 41.942974 - ] - }, - n3260: { - id: "n3260", - loc: [ - -85.624755, - 41.950495 - ] - }, - n3261: { - id: "n3261", - loc: [ - -85.624121, - 41.950502 - ] - }, - n3262: { - id: "n3262", - loc: [ - -85.625453, - 41.950163 - ] - }, - n3263: { - id: "n3263", - loc: [ - -85.625454, - 41.949976 - ] - }, - n3264: { - id: "n3264", - loc: [ - -85.625549, - 41.949977 - ] - }, - n3265: { - id: "n3265", - loc: [ - -85.62555, - 41.949833 - ] - }, - n3266: { - id: "n3266", - loc: [ - -85.625577, - 41.949833 - ] - }, - n3267: { - id: "n3267", - loc: [ - -85.625578, - 41.949656 - ] - }, - n3268: { - id: "n3268", - loc: [ - -85.625195, - 41.949655 - ] - }, - n3269: { - id: "n3269", - loc: [ - -85.625192, - 41.950162 - ] - }, - n327: { - id: "n327", - loc: [ - -85.634657, - 41.943028 - ] - }, - n3270: { - id: "n3270", - loc: [ - -85.622992, - 41.949614 - ] - }, - n3271: { - id: "n3271", - loc: [ - -85.622991, - 41.949431 - ] - }, - n3272: { - id: "n3272", - loc: [ - -85.620103, - 41.951 - ] - }, - n3273: { - id: "n3273", - loc: [ - -85.605644, - 41.947468 - ] - }, - n3274: { - id: "n3274", - loc: [ - -85.617421, - 41.947457 - ] - }, - n3275: { - id: "n3275", - loc: [ - -85.620078, - 41.947444 - ] - }, - n3276: { - id: "n3276", - loc: [ - -85.620087, - 41.94924 - ] - }, - n3277: { - id: "n3277", - loc: [ - -85.62156, - 41.948333 - ] - }, - n3278: { - id: "n3278", - loc: [ - -85.620106, - 41.950132 - ] - }, - n3279: { - id: "n3279", - loc: [ - -85.637412, - 41.951136 - ] - }, - n328: { - id: "n328", - loc: [ - -85.634222, - 41.943152 - ] - }, - n3280: { - id: "n3280", - loc: [ - -85.635429, - 41.948608 - ] - }, - n3281: { - id: "n3281", - loc: [ - -85.635047, - 41.947788 - ] - }, - n3282: { - id: "n3282", - loc: [ - -85.635048, - 41.947796 - ] - }, - n3283: { - id: "n3283", - loc: [ - -85.635002, - 41.947797 - ] - }, - n3284: { - id: "n3284", - loc: [ - -85.635002, - 41.947788 - ] - }, - n3285: { - id: "n3285", - loc: [ - -85.634914, - 41.94779 - ] - }, - n3286: { - id: "n3286", - loc: [ - -85.634913, - 41.947753 - ] - }, - n3287: { - id: "n3287", - loc: [ - -85.63494, - 41.947753 - ] - }, - n3288: { - id: "n3288", - loc: [ - -85.634938, - 41.947708 - ] - }, - n3289: { - id: "n3289", - loc: [ - -85.635124, - 41.947705 - ] - }, - n329: { - id: "n329", - loc: [ - -85.634099, - 41.943202 - ] - }, - n3290: { - id: "n3290", - loc: [ - -85.635126, - 41.947787 - ] - }, - n3291: { - id: "n3291", - loc: [ - -85.634972, - 41.947599 - ] - }, - n3292: { - id: "n3292", - loc: [ - -85.634921, - 41.9476 - ] - }, - n3293: { - id: "n3293", - loc: [ - -85.63485, - 41.947546 - ] - }, - n3294: { - id: "n3294", - loc: [ - -85.63485, - 41.947508 - ] - }, - n3295: { - id: "n3295", - loc: [ - -85.634924, - 41.947457 - ] - }, - n3296: { - id: "n3296", - loc: [ - -85.634967, - 41.947456 - ] - }, - n3297: { - id: "n3297", - loc: [ - -85.635041, - 41.947512 - ] - }, - n3298: { - id: "n3298", - loc: [ - -85.635041, - 41.947542 - ] - }, - n3299: { - id: "n3299", - loc: [ - -85.634244, - 41.947839 - ] - }, - n33: { - id: "n33", - loc: [ - -85.638257, - 41.944188 - ] - }, - n330: { - id: "n330", - loc: [ - -85.634093, - 41.943138 - ] - }, - n3300: { - id: "n3300", - loc: [ - -85.634243, - 41.947793 - ] - }, - n3301: { - id: "n3301", - loc: [ - -85.634244, - 41.947686 - ] - }, - n3302: { - id: "n3302", - loc: [ - -85.634243, - 41.947657 - ] - }, - n3303: { - id: "n3303", - loc: [ - -85.634462, - 41.947653 - ] - }, - n3304: { - id: "n3304", - loc: [ - -85.634468, - 41.947835 - ] - }, - n3305: { - id: "n3305", - loc: [ - -85.634416, - 41.948006 - ] - }, - n3306: { - id: "n3306", - loc: [ - -85.634415, - 41.947898 - ] - }, - n3307: { - id: "n3307", - loc: [ - -85.634275, - 41.947899 - ] - }, - n3308: { - id: "n3308", - loc: [ - -85.634275, - 41.947927 - ] - }, - n3309: { - id: "n3309", - loc: [ - -85.63425, - 41.947927 - ] - }, - n331: { - id: "n331", - loc: [ - -85.633938, - 41.943291 - ] - }, - n3310: { - id: "n3310", - loc: [ - -85.63425, - 41.947976 - ] - }, - n3311: { - id: "n3311", - loc: [ - -85.634274, - 41.947976 - ] - }, - n3312: { - id: "n3312", - loc: [ - -85.634275, - 41.948007 - ] - }, - n3313: { - id: "n3313", - loc: [ - -85.634342, - 41.947635 - ] - }, - n3314: { - id: "n3314", - loc: [ - -85.634339, - 41.947497 - ] - }, - n3315: { - id: "n3315", - loc: [ - -85.634313, - 41.94748 - ] - }, - n3316: { - id: "n3316", - loc: [ - -85.634287, - 41.947474 - ] - }, - n3317: { - id: "n3317", - loc: [ - -85.63498, - 41.94815 - ] - }, - n3318: { - id: "n3318", - loc: [ - -85.634891, - 41.94815 - ] - }, - n3319: { - id: "n3319", - loc: [ - -85.634892, - 41.948169 - ] - }, - n332: { - id: "n332", - loc: [ - -85.633535, - 41.943511 - ], - tags: { - railway: "crossing" - } - }, - n3320: { - id: "n3320", - loc: [ - -85.634852, - 41.948169 - ] - }, - n3321: { - id: "n3321", - loc: [ - -85.634853, - 41.948268 - ] - }, - n3322: { - id: "n3322", - loc: [ - -85.634832, - 41.948268 - ] - }, - n3323: { - id: "n3323", - loc: [ - -85.634832, - 41.948296 - ] - }, - n3324: { - id: "n3324", - loc: [ - -85.634965, - 41.948295 - ] - }, - n3325: { - id: "n3325", - loc: [ - -85.634966, - 41.948321 - ] - }, - n3326: { - id: "n3326", - loc: [ - -85.634999, - 41.948321 - ] - }, - n3327: { - id: "n3327", - loc: [ - -85.634999, - 41.948295 - ] - }, - n3328: { - id: "n3328", - loc: [ - -85.635175, - 41.948293 - ] - }, - n3329: { - id: "n3329", - loc: [ - -85.635175, - 41.948262 - ] - }, - n333: { - id: "n333", - loc: [ - -85.63339, - 41.943596 - ] - }, - n3330: { - id: "n3330", - loc: [ - -85.635159, - 41.948262 - ] - }, - n3331: { - id: "n3331", - loc: [ - -85.635158, - 41.948152 - ] - }, - n3332: { - id: "n3332", - loc: [ - -85.635067, - 41.948152 - ] - }, - n3333: { - id: "n3333", - loc: [ - -85.635065, - 41.947966 - ] - }, - n3334: { - id: "n3334", - loc: [ - -85.634979, - 41.947966 - ] - }, - n3335: { - id: "n3335", - loc: [ - -85.634307, - 41.948326 - ] - }, - n3336: { - id: "n3336", - loc: [ - -85.634305, - 41.948298 - ] - }, - n3337: { - id: "n3337", - loc: [ - -85.634331, - 41.948055 - ] - }, - n3338: { - id: "n3338", - loc: [ - -85.634331, - 41.948046 - ] - }, - n3339: { - id: "n3339", - loc: [ - -85.634435, - 41.948047 - ] - }, - n334: { - id: "n334", - loc: [ - -85.632842, - 41.943895 - ] - }, - n3340: { - id: "n3340", - loc: [ - -85.634434, - 41.948375 - ] - }, - n3341: { - id: "n3341", - loc: [ - -85.634463, - 41.948373 - ] - }, - n3342: { - id: "n3342", - loc: [ - -85.634464, - 41.948456 - ] - }, - n3343: { - id: "n3343", - loc: [ - -85.63443, - 41.948457 - ] - }, - n3344: { - id: "n3344", - loc: [ - -85.634432, - 41.948505 - ] - }, - n3345: { - id: "n3345", - loc: [ - -85.637386, - 41.94906 - ] - }, - n3346: { - id: "n3346", - loc: [ - -85.637113, - 41.9486 - ] - }, - n3347: { - id: "n3347", - loc: [ - -85.635448, - 41.949424 - ] - }, - n335: { - id: "n335", - loc: [ - -85.633856, - 41.943315 - ] - }, - n3352: { - id: "n3352", - loc: [ - -85.635457, - 41.949787 - ] - }, - n3353: { - id: "n3353", - loc: [ - -85.635459, - 41.949886 - ] - }, - n336: { - id: "n336", - loc: [ - -85.633697, - 41.943405 - ] - }, - n337: { - id: "n337", - loc: [ - -85.63347, - 41.943181 - ] - }, - n3372: { - id: "n3372", - loc: [ - -85.634423, - 41.950964 - ] - }, - n3373: { - id: "n3373", - loc: [ - -85.634424, - 41.95074 - ] - }, - n3374: { - id: "n3374", - loc: [ - -85.634394, - 41.950284 - ] - }, - n3375: { - id: "n3375", - loc: [ - -85.634398, - 41.950626 - ] - }, - n3376: { - id: "n3376", - loc: [ - -85.63452, - 41.951063 - ] - }, - n3377: { - id: "n3377", - loc: [ - -85.634511, - 41.949977 - ] - }, - n3378: { - id: "n3378", - loc: [ - -85.637409, - 41.949873 - ] - }, - n3379: { - id: "n3379", - loc: [ - -85.634824, - 41.94996 - ] - }, - n338: { - id: "n338", - loc: [ - -85.633597, - 41.943109 - ] - }, - n3380: { - id: "n3380", - loc: [ - -85.635437, - 41.949954 - ] - }, - n3381: { - id: "n3381", - loc: [ - -85.634844, - 41.951064 - ] - }, - n3382: { - id: "n3382", - loc: [ - -85.635458, - 41.951058 - ] - }, - n3383: { - id: "n3383", - loc: [ - -85.633921, - 41.947333 - ] - }, - n3384: { - id: "n3384", - loc: [ - -85.634208, - 41.947793 - ] - }, - n3385: { - id: "n3385", - loc: [ - -85.634204, - 41.947687 - ] - }, - n3386: { - id: "n3386", - loc: [ - -85.63424, - 41.947475 - ] - }, - n3387: { - id: "n3387", - loc: [ - -85.63424, - 41.947635 - ] - }, - n3388: { - id: "n3388", - loc: [ - -85.634089, - 41.948328 - ] - }, - n3389: { - id: "n3389", - loc: [ - -85.63424, - 41.948299 - ] - }, - n339: { - id: "n339", - loc: [ - -85.633673, - 41.943184 - ] - }, - n3390: { - id: "n3390", - loc: [ - -85.634239, - 41.948212 - ] - }, - n3391: { - id: "n3391", - loc: [ - -85.634086, - 41.948214 - ] - }, - n3392: { - id: "n3392", - loc: [ - -85.63408, - 41.948056 - ] - }, - n3393: { - id: "n3393", - loc: [ - -85.634093, - 41.948506 - ] - }, - n3394: { - id: "n3394", - loc: [ - -85.64344, - 41.941866 - ] - }, - n3395: { - id: "n3395", - loc: [ - -85.63378, - 41.95099 - ] - }, - n3396: { - id: "n3396", - loc: [ - -85.633779, - 41.950967 - ] - }, - n3397: { - id: "n3397", - loc: [ - -85.63375, - 41.950746 - ] - }, - n3398: { - id: "n3398", - loc: [ - -85.63375, - 41.950697 - ] - }, - n3399: { - id: "n3399", - loc: [ - -85.633903, - 41.950696 - ] - }, - n34: { - id: "n34", - loc: [ - -85.638176, - 41.944312 - ] - }, - n340: { - id: "n340", - loc: [ - -85.633714, - 41.94316 - ] - }, - n3400: { - id: "n3400", - loc: [ - -85.633901, - 41.950436 - ] - }, - n3401: { - id: "n3401", - loc: [ - -85.633492, - 41.950438 - ] - }, - n3402: { - id: "n3402", - loc: [ - -85.633494, - 41.950756 - ] - }, - n3403: { - id: "n3403", - loc: [ - -85.633454, - 41.950756 - ] - }, - n3404: { - id: "n3404", - loc: [ - -85.633456, - 41.950992 - ] - }, - n3405: { - id: "n3405", - loc: [ - -85.633994, - 41.950284 - ] - }, - n3406: { - id: "n3406", - loc: [ - -85.633998, - 41.950628 - ] - }, - n3407: { - id: "n3407", - loc: [ - -85.633364, - 41.951068 - ] - }, - n3408: { - id: "n3408", - loc: [ - -85.633356, - 41.949982 - ] - }, - n3409: { - id: "n3409", - loc: [ - -85.643327, - 41.941903 - ] - }, - n341: { - id: "n341", - loc: [ - -85.633811, - 41.943256 - ] - }, - n3410: { - id: "n3410", - loc: [ - -85.633292, - 41.953691 - ] - }, - n3411: { - id: "n3411", - loc: [ - -85.637432, - 41.952399 - ] - }, - n3412: { - id: "n3412", - loc: [ - -85.633349, - 41.957422 - ] - }, - n3413: { - id: "n3413", - loc: [ - -85.633326, - 41.955909 - ] - }, - n3414: { - id: "n3414", - loc: [ - -85.633307, - 41.954673 - ] - }, - n3415: { - id: "n3415", - loc: [ - -85.633273, - 41.952436 - ] - }, - n3416: { - id: "n3416", - loc: [ - -85.633361, - 41.95823 - ], - tags: { - highway: "turning_circle" - } - }, - n3417: { - id: "n3417", - loc: [ - -85.619899, - 41.945527 - ] - }, - n3418: { - id: "n3418", - loc: [ - -85.643422, - 41.941946 - ] - }, - n3419: { - id: "n3419", - loc: [ - -85.643505, - 41.942033 - ] - }, - n342: { - id: "n342", - loc: [ - -85.633801, - 41.943261 - ] - }, - n3420: { - id: "n3420", - loc: [ - -85.620088, - 41.945571 - ] - }, - n3421: { - id: "n3421", - loc: [ - -85.620051, - 41.945505 - ] - }, - n3422: { - id: "n3422", - loc: [ - -85.62001, - 41.94541 - ] - }, - n3423: { - id: "n3423", - loc: [ - -85.620982, - 41.944742 - ] - }, - n3424: { - id: "n3424", - loc: [ - -85.621305, - 41.944782 - ] - }, - n3425: { - id: "n3425", - loc: [ - -85.621174, - 41.944819 - ] - }, - n3426: { - id: "n3426", - loc: [ - -85.621029, - 41.944871 - ] - }, - n3427: { - id: "n3427", - loc: [ - -85.620741, - 41.945011 - ] - }, - n3428: { - id: "n3428", - loc: [ - -85.620616, - 41.945085 - ] - }, - n3429: { - id: "n3429", - loc: [ - -85.620506, - 41.945172 - ] - }, - n343: { - id: "n343", - loc: [ - -85.63374, - 41.943514 - ] - }, - n3430: { - id: "n3430", - loc: [ - -85.620394, - 41.945273 - ] - }, - n3431: { - id: "n3431", - loc: [ - -85.620316, - 41.94536 - ] - }, - n3432: { - id: "n3432", - loc: [ - -85.620257, - 41.945452 - ] - }, - n3433: { - id: "n3433", - loc: [ - -85.620212, - 41.945535 - ] - }, - n3434: { - id: "n3434", - loc: [ - -85.620101, - 41.945811 - ] - }, - n3435: { - id: "n3435", - loc: [ - -85.620081, - 41.945937 - ] - }, - n3436: { - id: "n3436", - loc: [ - -85.619899, - 41.943718 - ] - }, - n3437: { - id: "n3437", - loc: [ - -85.619969, - 41.943211 - ] - }, - n3438: { - id: "n3438", - loc: [ - -85.619894, - 41.943292 - ] - }, - n3439: { - id: "n3439", - loc: [ - -85.620047, - 41.944738 - ] - }, - n344: { - id: "n344", - loc: [ - -85.633665, - 41.943441 - ] - }, - n3440: { - id: "n3440", - loc: [ - -85.620226, - 41.946088 - ] - }, - n3441: { - id: "n3441", - loc: [ - -85.620225, - 41.945864 - ] - }, - n3442: { - id: "n3442", - loc: [ - -85.620518, - 41.945863 - ] - }, - n3443: { - id: "n3443", - loc: [ - -85.620519, - 41.945944 - ] - }, - n3444: { - id: "n3444", - loc: [ - -85.620388, - 41.945944 - ] - }, - n3445: { - id: "n3445", - loc: [ - -85.620389, - 41.946088 - ] - }, - n3446: { - id: "n3446", - loc: [ - -85.618405, - 41.946566 - ] - }, - n3447: { - id: "n3447", - loc: [ - -85.619156, - 41.946562 - ] - }, - n3448: { - id: "n3448", - loc: [ - -85.619154, - 41.946319 - ] - }, - n3449: { - id: "n3449", - loc: [ - -85.618736, - 41.946322 - ] - }, - n345: { - id: "n345", - loc: [ - -85.633162, - 41.942947 - ] - }, - n3450: { - id: "n3450", - loc: [ - -85.618733, - 41.94612 - ] - }, - n3451: { - id: "n3451", - loc: [ - -85.619317, - 41.946116 - ] - }, - n3452: { - id: "n3452", - loc: [ - -85.619316, - 41.946023 - ] - }, - n3453: { - id: "n3453", - loc: [ - -85.619622, - 41.946021 - ] - }, - n3454: { - id: "n3454", - loc: [ - -85.619624, - 41.946171 - ] - }, - n3455: { - id: "n3455", - loc: [ - -85.61977, - 41.94617 - ] - }, - n3456: { - id: "n3456", - loc: [ - -85.619769, - 41.94602 - ] - }, - n3457: { - id: "n3457", - loc: [ - -85.619732, - 41.94602 - ] - }, - n3458: { - id: "n3458", - loc: [ - -85.619731, - 41.945856 - ] - }, - n3459: { - id: "n3459", - loc: [ - -85.619617, - 41.945857 - ] - }, - n346: { - id: "n346", - loc: [ - -85.633598, - 41.943083 - ] - }, - n3460: { - id: "n3460", - loc: [ - -85.619616, - 41.945776 - ] - }, - n3461: { - id: "n3461", - loc: [ - -85.619447, - 41.945777 - ] - }, - n3462: { - id: "n3462", - loc: [ - -85.619415, - 41.945778 - ] - }, - n3463: { - id: "n3463", - loc: [ - -85.618378, - 41.945788 - ] - }, - n3464: { - id: "n3464", - loc: [ - -85.618384, - 41.946132 - ] - }, - n3465: { - id: "n3465", - loc: [ - -85.618503, - 41.94613 - ] - }, - n3466: { - id: "n3466", - loc: [ - -85.618506, - 41.946319 - ] - }, - n3467: { - id: "n3467", - loc: [ - -85.6184, - 41.94632 - ] - }, - n3468: { - id: "n3468", - loc: [ - -85.618248, - 41.946416 - ] - }, - n3469: { - id: "n3469", - loc: [ - -85.618247, - 41.946319 - ] - }, - n347: { - id: "n347", - loc: [ - -85.63343, - 41.943179 - ] - }, - n3470: { - id: "n3470", - loc: [ - -85.618039, - 41.946321 - ] - }, - n3471: { - id: "n3471", - loc: [ - -85.61804, - 41.946418 - ] - }, - n3472: { - id: "n3472", - loc: [ - -85.620118, - 41.951895 - ] - }, - n3473: { - id: "n3473", - loc: [ - -85.617075, - 41.95469 - ] - }, - n3474: { - id: "n3474", - loc: [ - -85.620107, - 41.952113 - ] - }, - n3475: { - id: "n3475", - loc: [ - -85.620091, - 41.95232 - ] - }, - n3476: { - id: "n3476", - loc: [ - -85.620047, - 41.952505 - ] - }, - n3477: { - id: "n3477", - loc: [ - -85.61998, - 41.952715 - ] - }, - n3478: { - id: "n3478", - loc: [ - -85.619861, - 41.952986 - ] - }, - n3479: { - id: "n3479", - loc: [ - -85.619622, - 41.953365 - ] - }, - n348: { - id: "n348", - loc: [ - -85.633669, - 41.94341 - ] - }, - n3480: { - id: "n3480", - loc: [ - -85.619441, - 41.953567 - ] - }, - n3481: { - id: "n3481", - loc: [ - -85.619259, - 41.953741 - ] - }, - n3482: { - id: "n3482", - loc: [ - -85.618835, - 41.954056 - ] - }, - n3483: { - id: "n3483", - loc: [ - -85.618602, - 41.954194 - ] - }, - n3484: { - id: "n3484", - loc: [ - -85.618305, - 41.954347 - ] - }, - n3485: { - id: "n3485", - loc: [ - -85.618006, - 41.954466 - ] - }, - n3486: { - id: "n3486", - loc: [ - -85.617611, - 41.954587 - ] - }, - n3487: { - id: "n3487", - loc: [ - -85.615094, - 41.943412 - ] - }, - n3488: { - id: "n3488", - loc: [ - -85.619337, - 41.943025 - ] - }, - n3489: { - id: "n3489", - loc: [ - -85.610477, - 41.945527 - ] - }, - n349: { - id: "n349", - loc: [ - -85.633566, - 41.943466 - ] - }, - n3490: { - id: "n3490", - loc: [ - -85.610477, - 41.943718 - ] - }, - n3491: { - id: "n3491", - loc: [ - -85.619804, - 41.942976 - ] - }, - n3492: { - id: "n3492", - loc: [ - -85.61921, - 41.942672 - ] - }, - n3493: { - id: "n3493", - loc: [ - -85.619862, - 41.942836 - ] - }, - n3494: { - id: "n3494", - loc: [ - -85.616326, - 41.942769 - ] - }, - n3495: { - id: "n3495", - loc: [ - -85.617953, - 41.942917 - ] - }, - n3496: { - id: "n3496", - loc: [ - -85.61972, - 41.942728 - ] - }, - n3497: { - id: "n3497", - loc: [ - -85.61944, - 41.942784 - ] - }, - n3498: { - id: "n3498", - loc: [ - -85.615323, - 41.942841 - ] - }, - n3499: { - id: "n3499", - loc: [ - -85.612923, - 41.943718 - ] - }, - n35: { - id: "n35", - loc: [ - -85.637928, - 41.944249 - ] - }, - n350: { - id: "n350", - loc: [ - -85.633031, - 41.942986 - ] - }, - n3500: { - id: "n3500", - loc: [ - -85.61958, - 41.942756 - ] - }, - n3501: { - id: "n3501", - loc: [ - -85.619643, - 41.942647 - ], - tags: { - leisure: "fishing" - } - }, - n3502: { - id: "n3502", - loc: [ - -85.619935, - 41.942962 - ] - }, - n3503: { - id: "n3503", - loc: [ - -85.629677, - 41.954687 - ] - }, - n3504: { - id: "n3504", - loc: [ - -85.629083, - 41.953722 - ] - }, - n3505: { - id: "n3505", - loc: [ - -85.621907, - 41.952067 - ] - }, - n3506: { - id: "n3506", - loc: [ - -85.621788, - 41.952058 - ] - }, - n3507: { - id: "n3507", - loc: [ - -85.629665, - 41.953718 - ] - }, - n3508: { - id: "n3508", - loc: [ - -85.624454, - 41.954707 - ] - }, - n3509: { - id: "n3509", - loc: [ - -85.634609, - 41.954585 - ] - }, - n351: { - id: "n351", - loc: [ - -85.633238, - 41.94283 - ] - }, - n3510: { - id: "n3510", - loc: [ - -85.634595, - 41.953772 - ] - }, - n3511: { - id: "n3511", - loc: [ - -85.633425, - 41.953783 - ] - }, - n3512: { - id: "n3512", - loc: [ - -85.633439, - 41.954596 - ] - }, - n3517: { - id: "n3517", - loc: [ - -85.621789, - 41.952179 - ] - }, - n3518: { - id: "n3518", - loc: [ - -85.624105, - 41.954704 - ] - }, - n3519: { - id: "n3519", - loc: [ - -85.623306, - 41.954542 - ] - }, - n352: { - id: "n352", - loc: [ - -85.633173, - 41.943556 - ] - }, - n3520: { - id: "n3520", - loc: [ - -85.623123, - 41.954502 - ] - }, - n3521: { - id: "n3521", - loc: [ - -85.622965, - 41.954473 - ] - }, - n3522: { - id: "n3522", - loc: [ - -85.622822, - 41.954455 - ] - }, - n3523: { - id: "n3523", - loc: [ - -85.62269, - 41.954448 - ] - }, - n3524: { - id: "n3524", - loc: [ - -85.622388, - 41.954467 - ] - }, - n3525: { - id: "n3525", - loc: [ - -85.62403, - 41.954895 - ] - }, - n3526: { - id: "n3526", - loc: [ - -85.623579, - 41.954855 - ] - }, - n3527: { - id: "n3527", - loc: [ - -85.623836, - 41.954951 - ] - }, - n3528: { - id: "n3528", - loc: [ - -85.622473, - 41.954592 - ] - }, - n3529: { - id: "n3529", - loc: [ - -85.622753, - 41.95458 - ] - }, - n353: { - id: "n353", - loc: [ - -85.633127, - 41.943552 - ] - }, - n3530: { - id: "n3530", - loc: [ - -85.62404, - 41.955078 - ] - }, - n3531: { - id: "n3531", - loc: [ - -85.624126, - 41.954999 - ] - }, - n3532: { - id: "n3532", - loc: [ - -85.623171, - 41.954687 - ] - }, - n3533: { - id: "n3533", - loc: [ - -85.624276, - 41.955206 - ] - }, - n3534: { - id: "n3534", - loc: [ - -85.62491, - 41.952801 - ] - }, - n3535: { - id: "n3535", - loc: [ - -85.625186, - 41.952756 - ] - }, - n3536: { - id: "n3536", - loc: [ - -85.625552, - 41.952792 - ] - }, - n3537: { - id: "n3537", - loc: [ - -85.626001, - 41.952948 - ] - }, - n3538: { - id: "n3538", - loc: [ - -85.626528, - 41.952984 - ] - }, - n3539: { - id: "n3539", - loc: [ - -85.626942, - 41.952886 - ] - }, - n354: { - id: "n354", - loc: [ - -85.632745, - 41.943222 - ] - }, - n3540: { - id: "n3540", - loc: [ - -85.627092, - 41.952685 - ] - }, - n3541: { - id: "n3541", - loc: [ - -85.627212, - 41.95244 - ] - }, - n3542: { - id: "n3542", - loc: [ - -85.627158, - 41.952226 - ] - }, - n3543: { - id: "n3543", - loc: [ - -85.627002, - 41.951972 - ] - }, - n3544: { - id: "n3544", - loc: [ - -85.626822, - 41.951838 - ] - }, - n3545: { - id: "n3545", - loc: [ - -85.626528, - 41.951807 - ] - }, - n3546: { - id: "n3546", - loc: [ - -85.625653, - 41.951852 - ] - }, - n3547: { - id: "n3547", - loc: [ - -85.625348, - 41.951834 - ] - }, - n3548: { - id: "n3548", - loc: [ - -85.625114, - 41.951767 - ] - }, - n3549: { - id: "n3549", - loc: [ - -85.620627, - 41.954682 - ] - }, - n355: { - id: "n355", - loc: [ - -85.632756, - 41.943199 - ] - }, - n3550: { - id: "n3550", - loc: [ - -85.622758, - 41.951884 - ] - }, - n3551: { - id: "n3551", - loc: [ - -85.618135, - 41.954734 - ] - }, - n3552: { - id: "n3552", - loc: [ - -85.620229, - 41.95472 - ] - }, - n3553: { - id: "n3553", - loc: [ - -85.624491, - 41.955573 - ] - }, - n3554: { - id: "n3554", - loc: [ - -85.621792, - 41.958314 - ] - }, - n3555: { - id: "n3555", - loc: [ - -85.623395, - 41.960001 - ] - }, - n3556: { - id: "n3556", - loc: [ - -85.620461, - 41.956212 - ] - }, - n3557: { - id: "n3557", - loc: [ - -85.62109, - 41.956766 - ] - }, - n3558: { - id: "n3558", - loc: [ - -85.620246, - 41.956224 - ] - }, - n3559: { - id: "n3559", - loc: [ - -85.625017, - 41.956068 - ] - }, - n356: { - id: "n356", - loc: [ - -85.632855, - 41.943147 - ] - }, - n3560: { - id: "n3560", - loc: [ - -85.622795, - 41.959702 - ] - }, - n3561: { - id: "n3561", - loc: [ - -85.621573, - 41.958457 - ] - }, - n3562: { - id: "n3562", - loc: [ - -85.619631, - 41.9573 - ] - }, - n3563: { - id: "n3563", - loc: [ - -85.62095, - 41.956311 - ] - }, - n3564: { - id: "n3564", - loc: [ - -85.619694, - 41.957408 - ] - }, - n3565: { - id: "n3565", - loc: [ - -85.621079, - 41.957751 - ] - }, - n3566: { - id: "n3566", - loc: [ - -85.622426, - 41.961142 - ] - }, - n3567: { - id: "n3567", - loc: [ - -85.623251, - 41.960484 - ] - }, - n3568: { - id: "n3568", - loc: [ - -85.619084, - 41.956291 - ] - }, - n3569: { - id: "n3569", - loc: [ - -85.622227, - 41.959303 - ] - }, - n357: { - id: "n357", - loc: [ - -85.632888, - 41.94315 - ] - }, - n3570: { - id: "n3570", - loc: [ - -85.620976, - 41.959104 - ] - }, - n3571: { - id: "n3571", - loc: [ - -85.621208, - 41.95653 - ] - }, - n3572: { - id: "n3572", - loc: [ - -85.623531, - 41.95951 - ] - }, - n3573: { - id: "n3573", - loc: [ - -85.623556, - 41.957935 - ] - }, - n3574: { - id: "n3574", - loc: [ - -85.623037, - 41.95746 - ] - }, - n3575: { - id: "n3575", - loc: [ - -85.621175, - 41.956427 - ] - }, - n3576: { - id: "n3576", - loc: [ - -85.622651, - 41.960109 - ] - }, - n3577: { - id: "n3577", - loc: [ - -85.621803, - 41.960747 - ] - }, - n3578: { - id: "n3578", - loc: [ - -85.620791, - 41.961874 - ] - }, - n3579: { - id: "n3579", - loc: [ - -85.625295, - 41.956786 - ] - }, - n358: { - id: "n358", - loc: [ - -85.633232, - 41.943547 - ] - }, - n3580: { - id: "n3580", - loc: [ - -85.619662, - 41.956894 - ] - }, - n3581: { - id: "n3581", - loc: [ - -85.622442, - 41.958708 - ] - }, - n3582: { - id: "n3582", - loc: [ - -85.621744, - 41.955864 - ] - }, - n3583: { - id: "n3583", - loc: [ - -85.621336, - 41.959212 - ] - }, - n3584: { - id: "n3584", - loc: [ - -85.622801, - 41.957304 - ] - }, - n3585: { - id: "n3585", - loc: [ - -85.619973, - 41.957433 - ] - }, - n3586: { - id: "n3586", - loc: [ - -85.619556, - 41.955717 - ] - }, - n3587: { - id: "n3587", - loc: [ - -85.622978, - 41.958601 - ] - }, - n3588: { - id: "n3588", - loc: [ - -85.625396, - 41.956264 - ] - }, - n3589: { - id: "n3589", - loc: [ - -85.623525, - 41.958034 - ] - }, - n359: { - id: "n359", - loc: [ - -85.633302, - 41.94351 - ] - }, - n3590: { - id: "n3590", - loc: [ - -85.623299, - 41.959631 - ] - }, - n3591: { - id: "n3591", - loc: [ - -85.622678, - 41.959873 - ] - }, - n3592: { - id: "n3592", - loc: [ - -85.625553, - 41.956179 - ] - }, - n3593: { - id: "n3593", - loc: [ - -85.623557, - 41.959231 - ] - }, - n3594: { - id: "n3594", - loc: [ - -85.622843, - 41.957373 - ] - }, - n3595: { - id: "n3595", - loc: [ - -85.619378, - 41.955677 - ] - }, - n3596: { - id: "n3596", - loc: [ - -85.620092, - 41.955425 - ] - }, - n3597: { - id: "n3597", - loc: [ - -85.622666, - 41.96044 - ] - }, - n3598: { - id: "n3598", - loc: [ - -85.621996, - 41.960256 - ] - }, - n3599: { - id: "n3599", - loc: [ - -85.623273, - 41.959997 - ] - }, - n36: { - id: "n36", - loc: [ - -85.637894, - 41.945551 - ] - }, - n360: { - id: "n360", - loc: [ - -85.633442, - 41.943794 - ], - tags: { - highway: "crossing" - } - }, - n3600: { - id: "n3600", - loc: [ - -85.62477, - 41.95689 - ] - }, - n3601: { - id: "n3601", - loc: [ - -85.621641, - 41.955015 - ] - }, - n3602: { - id: "n3602", - loc: [ - -85.622495, - 41.960392 - ] - }, - n3603: { - id: "n3603", - loc: [ - -85.61918, - 41.955565 - ] - }, - n3604: { - id: "n3604", - loc: [ - -85.620017, - 41.955505 - ] - }, - n3605: { - id: "n3605", - loc: [ - -85.621739, - 41.956315 - ] - }, - n3606: { - id: "n3606", - loc: [ - -85.622957, - 41.959837 - ] - }, - n3607: { - id: "n3607", - loc: [ - -85.620912, - 41.960919 - ] - }, - n3608: { - id: "n3608", - loc: [ - -85.625231, - 41.956235 - ] - }, - n3609: { - id: "n3609", - loc: [ - -85.620976, - 41.961868 - ] - }, - n361: { - id: "n361", - loc: [ - -85.633381, - 41.94383 - ] - }, - n3610: { - id: "n3610", - loc: [ - -85.620956, - 41.958908 - ] - }, - n3611: { - id: "n3611", - loc: [ - -85.619035, - 41.956139 - ] - }, - n3612: { - id: "n3612", - loc: [ - -85.623643, - 41.958669 - ] - }, - n3613: { - id: "n3613", - loc: [ - -85.61949, - 41.956539 - ] - }, - n3614: { - id: "n3614", - loc: [ - -85.621927, - 41.958242 - ] - }, - n3615: { - id: "n3615", - loc: [ - -85.620826, - 41.955721 - ] - }, - n3616: { - id: "n3616", - loc: [ - -85.621202, - 41.961321 - ] - }, - n3617: { - id: "n3617", - loc: [ - -85.624877, - 41.95594 - ] - }, - n3618: { - id: "n3618", - loc: [ - -85.62065, - 41.958369 - ] - }, - n3619: { - id: "n3619", - loc: [ - -85.621524, - 41.956279 - ] - }, - n362: { - id: "n362", - loc: [ - -85.632977, - 41.944053 - ] - }, - n3620: { - id: "n3620", - loc: [ - -85.624662, - 41.955932 - ] - }, - n3621: { - id: "n3621", - loc: [ - -85.623048, - 41.958509 - ] - }, - n3622: { - id: "n3622", - loc: [ - -85.62111, - 41.95754 - ] - }, - n3623: { - id: "n3623", - loc: [ - -85.621508, - 41.954847 - ] - }, - n3624: { - id: "n3624", - loc: [ - -85.620655, - 41.958601 - ] - }, - n3625: { - id: "n3625", - loc: [ - -85.62154, - 41.954971 - ] - }, - n3626: { - id: "n3626", - loc: [ - -85.621691, - 41.955521 - ] - }, - n3627: { - id: "n3627", - loc: [ - -85.62154, - 41.954739 - ] - }, - n3628: { - id: "n3628", - loc: [ - -85.621996, - 41.959913 - ] - }, - n3629: { - id: "n3629", - loc: [ - -85.622286, - 41.960699 - ] - }, - n363: { - id: "n363", - loc: [ - -85.632915, - 41.943981 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n3630: { - id: "n3630", - loc: [ - -85.622844, - 41.9572 - ] - }, - n3631: { - id: "n3631", - loc: [ - -85.620252, - 41.955446 - ] - }, - n3632: { - id: "n3632", - loc: [ - -85.623434, - 41.957528 - ] - }, - n3633: { - id: "n3633", - loc: [ - -85.623429, - 41.956858 - ] - }, - n3634: { - id: "n3634", - loc: [ - -85.622957, - 41.957137 - ] - }, - n3635: { - id: "n3635", - loc: [ - -85.622554, - 41.959027 - ] - }, - n3636: { - id: "n3636", - loc: [ - -85.623289, - 41.958314 - ] - }, - n3637: { - id: "n3637", - loc: [ - -85.622977, - 41.960855 - ] - }, - n3638: { - id: "n3638", - loc: [ - -85.624008, - 41.956953 - ] - }, - n3639: { - id: "n3639", - loc: [ - -85.621278, - 41.960855 - ] - }, - n364: { - id: "n364", - loc: [ - -85.632724, - 41.943969 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n3640: { - id: "n3640", - loc: [ - -85.623128, - 41.956993 - ] - }, - n3641: { - id: "n3641", - loc: [ - -85.622452, - 41.959183 - ] - }, - n3642: { - id: "n3642", - loc: [ - -85.621095, - 41.961082 - ] - }, - n3643: { - id: "n3643", - loc: [ - -85.622011, - 41.960544 - ] - }, - n3644: { - id: "n3644", - loc: [ - -85.621637, - 41.955385 - ] - }, - n3645: { - id: "n3645", - loc: [ - -85.620999, - 41.959271 - ] - }, - n3646: { - id: "n3646", - loc: [ - -85.620044, - 41.956347 - ] - }, - n3647: { - id: "n3647", - loc: [ - -85.621936, - 41.959682 - ] - }, - n3648: { - id: "n3648", - loc: [ - -85.623761, - 41.95685 - ] - }, - n3649: { - id: "n3649", - loc: [ - -85.621239, - 41.959343 - ] - }, - n365: { - id: "n365", - loc: [ - -85.632621, - 41.944034 - ] - }, - n3650: { - id: "n3650", - loc: [ - -85.621073, - 41.956012 - ] - }, - n3651: { - id: "n3651", - loc: [ - -85.621271, - 41.956184 - ] - }, - n3652: { - id: "n3652", - loc: [ - -85.623444, - 41.95778 - ] - }, - n3653: { - id: "n3653", - loc: [ - -85.62125, - 41.96186 - ] - }, - n3654: { - id: "n3654", - loc: [ - -85.62169, - 41.961059 - ] - }, - n3655: { - id: "n3655", - loc: [ - -85.620012, - 41.955637 - ] - }, - n3656: { - id: "n3656", - loc: [ - -85.621058, - 41.9573 - ] - }, - n3657: { - id: "n3657", - loc: [ - -85.621138, - 41.957663 - ] - }, - n3658: { - id: "n3658", - loc: [ - -85.620773, - 41.957895 - ] - }, - n3659: { - id: "n3659", - loc: [ - -85.62007, - 41.957157 - ] - }, - n366: { - id: "n366", - loc: [ - -85.632684, - 41.944109 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n3660: { - id: "n3660", - loc: [ - -85.624534, - 41.955844 - ] - }, - n3661: { - id: "n3661", - loc: [ - -85.621932, - 41.960807 - ] - }, - n3662: { - id: "n3662", - loc: [ - -85.623358, - 41.958138 - ] - }, - n3663: { - id: "n3663", - loc: [ - -85.620456, - 41.955514 - ] - }, - n3664: { - id: "n3664", - loc: [ - -85.623504, - 41.957607 - ] - }, - n3665: { - id: "n3665", - loc: [ - -85.621444, - 41.960751 - ] - }, - n3666: { - id: "n3666", - loc: [ - -85.623492, - 41.960213 - ] - }, - n3667: { - id: "n3667", - loc: [ - -85.621669, - 41.954655 - ] - }, - n3668: { - id: "n3668", - loc: [ - -85.623106, - 41.958685 - ] - }, - n3669: { - id: "n3669", - loc: [ - -85.620922, - 41.957867 - ] - }, - n367: { - id: "n367", - loc: [ - -85.632738, - 41.944172 - ] - }, - n3670: { - id: "n3670", - loc: [ - -85.620092, - 41.957296 - ] - }, - n3671: { - id: "n3671", - loc: [ - -85.621669, - 41.955222 - ] - }, - n3672: { - id: "n3672", - loc: [ - -85.621614, - 41.960967 - ] - }, - n3673: { - id: "n3673", - loc: [ - -85.621691, - 41.955732 - ] - }, - n3674: { - id: "n3674", - loc: [ - -85.619207, - 41.956419 - ] - }, - n3675: { - id: "n3675", - loc: [ - -85.621116, - 41.956603 - ] - }, - n3676: { - id: "n3676", - loc: [ - -85.623311, - 41.956929 - ] - }, - n3677: { - id: "n3677", - loc: [ - -85.625671, - 41.956499 - ] - }, - n3678: { - id: "n3678", - loc: [ - -85.623525, - 41.956738 - ] - }, - n3679: { - id: "n3679", - loc: [ - -85.625381, - 41.956634 - ] - }, - n368: { - id: "n368", - loc: [ - -85.63287, - 41.944135 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n3680: { - id: "n3680", - loc: [ - -85.620096, - 41.95677 - ] - }, - n3681: { - id: "n3681", - loc: [ - -85.623803, - 41.958745 - ] - }, - n3682: { - id: "n3682", - loc: [ - -85.623498, - 41.958457 - ] - }, - n3683: { - id: "n3683", - loc: [ - -85.624223, - 41.957009 - ] - }, - n3684: { - id: "n3684", - loc: [ - -85.620026, - 41.956946 - ] - }, - n3685: { - id: "n3685", - loc: [ - -85.623005, - 41.960124 - ] - }, - n3686: { - id: "n3686", - loc: [ - -85.619073, - 41.955832 - ] - }, - n3687: { - id: "n3687", - loc: [ - -85.621744, - 41.95501 - ] - }, - n3688: { - id: "n3688", - loc: [ - -85.620804, - 41.958781 - ] - }, - n3689: { - id: "n3689", - loc: [ - -85.619844, - 41.957448 - ] - }, - n369: { - id: "n369", - loc: [ - -85.63298, - 41.944076 - ] - }, - n3690: { - id: "n3690", - loc: [ - -85.623713, - 41.958872 - ] - }, - n3691: { - id: "n3691", - loc: [ - -85.622329, - 41.960507 - ] - }, - n3692: { - id: "n3692", - loc: [ - -85.620804, - 41.956244 - ] - }, - n3693: { - id: "n3693", - loc: [ - -85.621818, - 41.955968 - ] - }, - n3694: { - id: "n3694", - loc: [ - -85.621405, - 41.958697 - ] - }, - n3695: { - id: "n3695", - loc: [ - -85.620998, - 41.960996 - ] - }, - n3696: { - id: "n3696", - loc: [ - -85.621621, - 41.960444 - ] - }, - n3697: { - id: "n3697", - loc: [ - -85.620941, - 41.961637 - ] - }, - n3698: { - id: "n3698", - loc: [ - -85.622195, - 41.958333 - ] - }, - n3699: { - id: "n3699", - loc: [ - -85.621668, - 41.961529 - ] - }, - n37: { - id: "n37", - loc: [ - -85.637611, - 41.945383 - ] - }, - n370: { - id: "n370", - loc: [ - -85.633191, - 41.944471 - ] - }, - n3700: { - id: "n3700", - loc: [ - -85.621015, - 41.957049 - ] - }, - n3701: { - id: "n3701", - loc: [ - -85.619368, - 41.955521 - ] - }, - n3702: { - id: "n3702", - loc: [ - -85.651578, - 41.942534 - ] - }, - n3703: { - id: "n3703", - loc: [ - -85.651541, - 41.943847 - ] - }, - n3704: { - id: "n3704", - loc: [ - -85.651365, - 41.944817 - ] - }, - n3705: { - id: "n3705", - loc: [ - -85.651076, - 41.945985 - ] - }, - n3706: { - id: "n3706", - loc: [ - -85.650626, - 41.947213 - ] - }, - n3707: { - id: "n3707", - loc: [ - -85.649669, - 41.949161 - ] - }, - n3708: { - id: "n3708", - loc: [ - -85.641802, - 41.961801 - ] - }, - n3709: { - id: "n3709", - loc: [ - -85.623333, - 41.961987 - ] - }, - n371: { - id: "n371", - loc: [ - -85.633132, - 41.94372 - ] - }, - n3710: { - id: "n3710", - loc: [ - -85.620621, - 41.965658 - ] - }, - n3711: { - id: "n3711", - loc: [ - -85.605673, - 41.965764 - ] - }, - n3712: { - id: "n3712", - loc: [ - -85.605664, - 41.962094 - ] - }, - n3713: { - id: "n3713", - loc: [ - -85.583774, - 41.962178 - ] - }, - n3714: { - id: "n3714", - loc: [ - -85.583774, - 41.961789 - ] - }, - n3715: { - id: "n3715", - loc: [ - -85.581303, - 41.961783 - ] - }, - n3716: { - id: "n3716", - loc: [ - -85.581245, - 41.958394 - ] - }, - n3717: { - id: "n3717", - loc: [ - -85.585299, - 41.955483 - ] - }, - n3718: { - id: "n3718", - loc: [ - -85.585588, - 41.955331 - ] - }, - n3719: { - id: "n3719", - loc: [ - -85.586053, - 41.955163 - ] - }, - n372: { - id: "n372", - loc: [ - -85.633011, - 41.943788 - ] - }, - n3720: { - id: "n3720", - loc: [ - -85.58632, - 41.955076 - ] - }, - n3721: { - id: "n3721", - loc: [ - -85.586478, - 41.955025 - ] - }, - n3722: { - id: "n3722", - loc: [ - -85.58692, - 41.954947 - ] - }, - n3723: { - id: "n3723", - loc: [ - -85.587345, - 41.954913 - ] - }, - n3724: { - id: "n3724", - loc: [ - -85.605592, - 41.954766 - ] - }, - n3725: { - id: "n3725", - loc: [ - -85.605303, - 41.936236 - ] - }, - n3726: { - id: "n3726", - loc: [ - -85.606941, - 41.936117 - ] - }, - n3727: { - id: "n3727", - loc: [ - -85.60876, - 41.935856 - ] - }, - n3728: { - id: "n3728", - loc: [ - -85.610092, - 41.935451 - ] - }, - n3729: { - id: "n3729", - loc: [ - -85.610681, - 41.935247 - ] - }, - n373: { - id: "n373", - loc: [ - -85.632854, - 41.943632 - ] - }, - n3730: { - id: "n3730", - loc: [ - -85.611446, - 41.934955 - ] - }, - n3731: { - id: "n3731", - loc: [ - -85.612057, - 41.934696 - ] - }, - n3732: { - id: "n3732", - loc: [ - -85.613256, - 41.934084 - ] - }, - n3733: { - id: "n3733", - loc: [ - -85.613948, - 41.933682 - ] - }, - n3734: { - id: "n3734", - loc: [ - -85.614638, - 41.933212 - ] - }, - n3735: { - id: "n3735", - loc: [ - -85.619801, - 41.929305 - ] - }, - n3736: { - id: "n3736", - loc: [ - -85.619768, - 41.925548 - ] - }, - n3737: { - id: "n3737", - loc: [ - -85.625761, - 41.925597 - ] - }, - n3738: { - id: "n3738", - loc: [ - -85.6263, - 41.927323 - ] - }, - n3739: { - id: "n3739", - loc: [ - -85.633708, - 41.927402 - ] - }, - n374: { - id: "n374", - loc: [ - -85.632974, - 41.943565 - ] - }, - n3740: { - id: "n3740", - loc: [ - -85.633927, - 41.929109 - ] - }, - n3741: { - id: "n3741", - loc: [ - -85.639213, - 41.929088 - ] - }, - n3742: { - id: "n3742", - loc: [ - -85.639204, - 41.925488 - ] - }, - n3743: { - id: "n3743", - loc: [ - -85.651425, - 41.925406 - ] - }, - n3744: { - id: "n3744", - loc: [ - -85.643386, - 41.941933 - ] - }, - n3745: { - id: "n3745", - loc: [ - -85.642776, - 41.941161 - ] - }, - n3746: { - id: "n3746", - loc: [ - -85.637277, - 41.948812 - ] - }, - n3747: { - id: "n3747", - loc: [ - -85.637366, - 41.94897 - ] - }, - n3748: { - id: "n3748", - loc: [ - -85.637329, - 41.94889 - ] - }, - n3749: { - id: "n3749", - loc: [ - -85.629649, - 41.952596 - ] - }, - n375: { - id: "n375", - loc: [ - -85.632741, - 41.943351 - ] - }, - n3750: { - id: "n3750", - loc: [ - -85.630291, - 41.954684 - ] - }, - n3751: { - id: "n3751", - loc: [ - -85.630284, - 41.953713 - ] - }, - n3752: { - id: "n3752", - loc: [ - -85.630269, - 41.952463 - ] - }, - n3753: { - id: "n3753", - loc: [ - -85.633933, - 41.949896 - ] - }, - n3754: { - id: "n3754", - loc: [ - -85.629339, - 41.941467 - ] - }, - n3755: { - id: "n3755", - loc: [ - -85.629857, - 41.94316 - ] - }, - n3756: { - id: "n3756", - loc: [ - -85.629987, - 41.944025 - ] - }, - n3757: { - id: "n3757", - loc: [ - -85.628538, - 41.948604 - ] - }, - n3758: { - id: "n3758", - loc: [ - -85.627415, - 41.957442 - ] - }, - n3759: { - id: "n3759", - loc: [ - -85.627019, - 41.957369 - ] - }, - n376: { - id: "n376", - loc: [ - -85.63251, - 41.943481 - ] - }, - n3760: { - id: "n3760", - loc: [ - -85.62167, - 41.952179 - ] - }, - n3761: { - id: "n3761", - loc: [ - -85.62167, - 41.952138 - ] - }, - n3762: { - id: "n3762", - loc: [ - -85.621562, - 41.952139 - ] - }, - n3763: { - id: "n3763", - loc: [ - -85.621562, - 41.952058 - ] - }, - n3764: { - id: "n3764", - loc: [ - -85.621476, - 41.952043 - ] - }, - n3765: { - id: "n3765", - loc: [ - -85.621477, - 41.952132 - ] - }, - n3766: { - id: "n3766", - loc: [ - -85.621386, - 41.952132 - ] - }, - n3767: { - id: "n3767", - loc: [ - -85.621387, - 41.95214 - ] - }, - n3768: { - id: "n3768", - loc: [ - -85.621262, - 41.95214 - ] - }, - n3769: { - id: "n3769", - loc: [ - -85.621261, - 41.952038 - ] - }, - n377: { - id: "n377", - loc: [ - -85.632706, - 41.943715 - ] - }, - n3770: { - id: "n3770", - loc: [ - -85.621389, - 41.952038 - ] - }, - n3771: { - id: "n3771", - loc: [ - -85.621389, - 41.952043 - ] - }, - n3772: { - id: "n3772", - loc: [ - -85.620898, - 41.952024 - ] - }, - n3773: { - id: "n3773", - loc: [ - -85.620898, - 41.952085 - ] - }, - n3774: { - id: "n3774", - loc: [ - -85.620774, - 41.952084 - ] - }, - n3775: { - id: "n3775", - loc: [ - -85.620774, - 41.952023 - ] - }, - n3776: { - id: "n3776", - loc: [ - -85.620749, - 41.952036 - ] - }, - n3777: { - id: "n3777", - loc: [ - -85.620723, - 41.952097 - ] - }, - n3778: { - id: "n3778", - loc: [ - -85.626158, - 41.958996 - ] - }, - n3779: { - id: "n3779", - loc: [ - -85.626319, - 41.958686 - ] - }, - n378: { - id: "n378", - loc: [ - -85.638683, - 41.943295 - ] - }, - n3780: { - id: "n3780", - loc: [ - -85.626119, - 41.958629 - ] - }, - n3781: { - id: "n3781", - loc: [ - -85.626064, - 41.958733 - ] - }, - n3782: { - id: "n3782", - loc: [ - -85.626155, - 41.958759 - ] - }, - n3783: { - id: "n3783", - loc: [ - -85.626048, - 41.958965 - ] - }, - n3784: { - id: "n3784", - loc: [ - -85.620648, - 41.952079 - ] - }, - n3785: { - id: "n3785", - loc: [ - -85.63826, - 41.961213 - ] - }, - n3786: { - id: "n3786", - loc: [ - -85.638003, - 41.961614 - ] - }, - n3787: { - id: "n3787", - loc: [ - -85.638817, - 41.961902 - ] - }, - n3788: { - id: "n3788", - loc: [ - -85.639073, - 41.961501 - ] - }, - n3789: { - id: "n3789", - loc: [ - -85.620674, - 41.952018 - ] - }, - n379: { - id: "n379", - loc: [ - -85.638684, - 41.94323 - ] - }, - n3790: { - id: "n3790", - loc: [ - -85.62082, - 41.952106 - ] - }, - n3791: { - id: "n3791", - loc: [ - -85.620819, - 41.952143 - ] - }, - n3792: { - id: "n3792", - loc: [ - -85.620778, - 41.952143 - ] - }, - n3793: { - id: "n3793", - loc: [ - -85.620778, - 41.952106 - ] - }, - n3794: { - id: "n3794", - loc: [ - -85.620563, - 41.952276 - ] - }, - n3795: { - id: "n3795", - loc: [ - -85.620543, - 41.95238 - ] - }, - n3796: { - id: "n3796", - loc: [ - -85.620422, - 41.952367 - ] - }, - n3797: { - id: "n3797", - loc: [ - -85.620441, - 41.952263 - ] - }, - n3798: { - id: "n3798", - loc: [ - -85.620561, - 41.952266 - ] - }, - n3799: { - id: "n3799", - loc: [ - -85.620444, - 41.952254 - ] - }, - n38: { - id: "n38", - loc: [ - -85.63879, - 41.943295 - ] - }, - n380: { - id: "n380", - loc: [ - -85.638627, - 41.94322 - ] - }, - n3800: { - id: "n3800", - loc: [ - -85.620773, - 41.955585 - ] - }, - n3801: { - id: "n3801", - loc: [ - -85.621265, - 41.955989 - ] - }, - n3802: { - id: "n3802", - loc: [ - -85.620692, - 41.954969 - ] - }, - n3803: { - id: "n3803", - loc: [ - -85.620691, - 41.955367 - ] - }, - n3804: { - id: "n3804", - loc: [ - -85.620458, - 41.952178 - ] - }, - n3805: { - id: "n3805", - loc: [ - -85.620575, - 41.95219 - ] - }, - n3806: { - id: "n3806", - loc: [ - -85.617609, - 41.952712 - ] - }, - n3807: { - id: "n3807", - loc: [ - -85.617533, - 41.952801 - ], - tags: { - entrance: "yes" - } - }, - n3808: { - id: "n3808", - loc: [ - -85.616816, - 41.952911 - ] - }, - n3809: { - id: "n3809", - loc: [ - -85.616797, - 41.952901 - ] - }, - n381: { - id: "n381", - loc: [ - -85.638624, - 41.943294 - ] - }, - n3810: { - id: "n3810", - loc: [ - -85.616343, - 41.952694 - ] - }, - n3811: { - id: "n3811", - loc: [ - -85.616336, - 41.952729 - ] - }, - n3812: { - id: "n3812", - loc: [ - -85.616343, - 41.952772 - ] - }, - n3813: { - id: "n3813", - loc: [ - -85.628479, - 41.948649 - ] - }, - n3814: { - id: "n3814", - loc: [ - -85.628413, - 41.948679 - ] - }, - n3815: { - id: "n3815", - loc: [ - -85.628336, - 41.948694 - ] - }, - n3816: { - id: "n3816", - loc: [ - -85.62826, - 41.948694 - ] - }, - n3817: { - id: "n3817", - loc: [ - -85.628185, - 41.948679 - ] - }, - n3818: { - id: "n3818", - loc: [ - -85.628103, - 41.948649 - ] - }, - n3819: { - id: "n3819", - loc: [ - -85.627482, - 41.948395 - ] - }, - n382: { - id: "n382", - loc: [ - -85.638437, - 41.943291 - ] - }, - n3820: { - id: "n3820", - loc: [ - -85.619957, - 41.951168 - ] - }, - n3821: { - id: "n3821", - loc: [ - -85.619955, - 41.952077 - ] - }, - n3822: { - id: "n3822", - loc: [ - -85.619843, - 41.952666 - ] - }, - n3823: { - id: "n3823", - loc: [ - -85.619513, - 41.95324 - ] - }, - n3824: { - id: "n3824", - loc: [ - -85.619163, - 41.953668 - ] - }, - n3825: { - id: "n3825", - loc: [ - -85.618813, - 41.953947 - ] - }, - n3826: { - id: "n3826", - loc: [ - -85.618265, - 41.954252 - ] - }, - n3827: { - id: "n3827", - loc: [ - -85.617691, - 41.954458 - ] - }, - n3828: { - id: "n3828", - loc: [ - -85.616978, - 41.95459 - ] - }, - n3829: { - id: "n3829", - loc: [ - -85.615408, - 41.954628 - ] - }, - n383: { - id: "n383", - loc: [ - -85.63844, - 41.943209 - ] - }, - n3830: { - id: "n3830", - loc: [ - -85.615374, - 41.951076 - ] - }, - n3831: { - id: "n3831", - loc: [ - -85.61932, - 41.947564 - ] - }, - n3832: { - id: "n3832", - loc: [ - -85.610553, - 41.94755 - ] - }, - n3833: { - id: "n3833", - loc: [ - -85.610572, - 41.951065 - ] - }, - n3834: { - id: "n3834", - loc: [ - -85.617548, - 41.94757 - ] - }, - n3835: { - id: "n3835", - loc: [ - -85.619842, - 41.947939 - ] - }, - n3836: { - id: "n3836", - loc: [ - -85.619874, - 41.950905 - ] - }, - n3837: { - id: "n3837", - loc: [ - -85.619695, - 41.950911 - ] - }, - n3838: { - id: "n3838", - loc: [ - -85.617591, - 41.951078 - ] - }, - n3839: { - id: "n3839", - loc: [ - -85.619551, - 41.951065 - ] - }, - n384: { - id: "n384", - loc: [ - -85.632616, - 41.944021 - ] - }, - n3840: { - id: "n3840", - loc: [ - -85.626813, - 41.947337 - ] - }, - n3841: { - id: "n3841", - loc: [ - -85.616371, - 41.952814 - ] - }, - n3842: { - id: "n3842", - loc: [ - -85.617205, - 41.951308 - ] - }, - n3843: { - id: "n3843", - loc: [ - -85.616795, - 41.950953 - ] - }, - n3844: { - id: "n3844", - loc: [ - -85.617441, - 41.950889 - ] - }, - n3845: { - id: "n3845", - loc: [ - -85.619155, - 41.949377 - ] - }, - n3846: { - id: "n3846", - loc: [ - -85.618556, - 41.949377 - ] - }, - n3847: { - id: "n3847", - loc: [ - -85.618557, - 41.948372 - ] - }, - n3848: { - id: "n3848", - loc: [ - -85.619156, - 41.948372 - ] - }, - n3849: { - id: "n3849", - loc: [ - -85.61927, - 41.949796 - ] - }, - n385: { - id: "n385", - loc: [ - -85.632319, - 41.944172 - ] - }, - n3850: { - id: "n3850", - loc: [ - -85.61926, - 41.948344 - ] - }, - n3851: { - id: "n3851", - loc: [ - -85.619219, - 41.948264 - ] - }, - n3852: { - id: "n3852", - loc: [ - -85.619147, - 41.948196 - ] - }, - n3853: { - id: "n3853", - loc: [ - -85.619049, - 41.948144 - ] - }, - n3854: { - id: "n3854", - loc: [ - -85.618942, - 41.948116 - ] - }, - n3855: { - id: "n3855", - loc: [ - -85.618822, - 41.948109 - ] - }, - n3856: { - id: "n3856", - loc: [ - -85.618699, - 41.94813 - ] - }, - n3857: { - id: "n3857", - loc: [ - -85.618937, - 41.951943 - ] - }, - n3858: { - id: "n3858", - loc: [ - -85.616762, - 41.952222 - ] - }, - n3859: { - id: "n3859", - loc: [ - -85.616799, - 41.95472 - ] - }, - n386: { - id: "n386", - loc: [ - -85.63221, - 41.944066 - ] - }, - n3860: { - id: "n3860", - loc: [ - -85.616458, - 41.954735 - ] - }, - n3861: { - id: "n3861", - loc: [ - -85.61763, - 41.951515 - ] - }, - n3862: { - id: "n3862", - loc: [ - -85.617735, - 41.951572 - ] - }, - n3863: { - id: "n3863", - loc: [ - -85.61929, - 41.951573 - ] - }, - n3864: { - id: "n3864", - loc: [ - -85.617134, - 41.951348 - ] - }, - n3865: { - id: "n3865", - loc: [ - -85.616598, - 41.95192 - ] - }, - n3866: { - id: "n3866", - loc: [ - -85.616557, - 41.951997 - ] - }, - n3867: { - id: "n3867", - loc: [ - -85.61658, - 41.952093 - ] - }, - n3868: { - id: "n3868", - loc: [ - -85.616636, - 41.952145 - ] - }, - n3869: { - id: "n3869", - loc: [ - -85.616918, - 41.952276 - ] - }, - n387: { - id: "n387", - loc: [ - -85.632524, - 41.943912 - ] - }, - n3870: { - id: "n3870", - loc: [ - -85.617098, - 41.952235 - ] - }, - n3871: { - id: "n3871", - loc: [ - -85.61892, - 41.951467 - ] - }, - n3872: { - id: "n3872", - loc: [ - -85.618035, - 41.951473 - ] - }, - n3873: { - id: "n3873", - loc: [ - -85.618036, - 41.951572 - ] - }, - n3874: { - id: "n3874", - loc: [ - -85.61892, - 41.951573 - ] - }, - n3875: { - id: "n3875", - loc: [ - -85.618919, - 41.951957 - ] - }, - n3876: { - id: "n3876", - loc: [ - -85.619457, - 41.952237 - ] - }, - n3877: { - id: "n3877", - loc: [ - -85.618178, - 41.953618 - ] - }, - n3878: { - id: "n3878", - loc: [ - -85.617658, - 41.953366 - ] - }, - n3879: { - id: "n3879", - loc: [ - -85.617987, - 41.953024 - ] - }, - n388: { - id: "n388", - loc: [ - -85.632268, - 41.943621 - ] - }, - n3880: { - id: "n3880", - loc: [ - -85.618429, - 41.953248 - ] - }, - n3881: { - id: "n3881", - loc: [ - -85.618554, - 41.953119 - ] - }, - n3882: { - id: "n3882", - loc: [ - -85.618077, - 41.952868 - ] - }, - n3883: { - id: "n3883", - loc: [ - -85.618039, - 41.952886 - ] - }, - n3884: { - id: "n3884", - loc: [ - -85.619375, - 41.952169 - ] - }, - n3885: { - id: "n3885", - loc: [ - -85.618137, - 41.953538 - ] - }, - n3886: { - id: "n3886", - loc: [ - -85.61799, - 41.953555 - ] - }, - n3887: { - id: "n3887", - loc: [ - -85.617729, - 41.953423 - ] - }, - n3888: { - id: "n3888", - loc: [ - -85.618101, - 41.953029 - ] - }, - n3889: { - id: "n3889", - loc: [ - -85.618516, - 41.953119 - ] - }, - n389: { - id: "n389", - loc: [ - -85.631951, - 41.943773 - ] - }, - n3890: { - id: "n3890", - loc: [ - -85.619132, - 41.952042 - ] - }, - n3891: { - id: "n3891", - loc: [ - -85.618235, - 41.952981 - ] - }, - n3892: { - id: "n3892", - loc: [ - -85.618485, - 41.952425 - ] - }, - n3893: { - id: "n3893", - loc: [ - -85.618676, - 41.952519 - ] - }, - n3894: { - id: "n3894", - loc: [ - -85.618942, - 41.952648 - ] - }, - n3895: { - id: "n3895", - loc: [ - -85.618287, - 41.953122 - ] - }, - n3896: { - id: "n3896", - loc: [ - -85.617914, - 41.953516 - ] - }, - n3897: { - id: "n3897", - loc: [ - -85.617836, - 41.953573 - ] - }, - n3898: { - id: "n3898", - loc: [ - -85.616477, - 41.95289 - ] - }, - n3899: { - id: "n3899", - loc: [ - -85.618441, - 41.953201 - ] - }, - n39: { - id: "n39", - loc: [ - -85.619931, - 41.951013 - ] - }, - n390: { - id: "n390", - loc: [ - -85.631981, - 41.943654 - ] - }, - n3900: { - id: "n3900", - loc: [ - -85.617537, - 41.953335 - ] - }, - n3901: { - id: "n3901", - loc: [ - -85.617221, - 41.953166 - ] - }, - n3902: { - id: "n3902", - loc: [ - -85.617253, - 41.953135 - ] - }, - n3903: { - id: "n3903", - loc: [ - -85.617211, - 41.953114 - ] - }, - n3904: { - id: "n3904", - loc: [ - -85.617197, - 41.95313 - ] - }, - n3905: { - id: "n3905", - loc: [ - -85.616802, - 41.952925 - ] - }, - n3906: { - id: "n3906", - loc: [ - -85.616771, - 41.952928 - ] - }, - n3907: { - id: "n3907", - loc: [ - -85.616493, - 41.952785 - ] - }, - n3908: { - id: "n3908", - loc: [ - -85.616823, - 41.952426 - ] - }, - n3909: { - id: "n3909", - loc: [ - -85.617191, - 41.952616 - ] - }, - n391: { - id: "n391", - loc: [ - -85.631886, - 41.943699 - ] - }, - n3910: { - id: "n3910", - loc: [ - -85.61724, - 41.952559 - ] - }, - n3911: { - id: "n3911", - loc: [ - -85.61721, - 41.952542 - ] - }, - n3912: { - id: "n3912", - loc: [ - -85.617395, - 41.952351 - ] - }, - n3913: { - id: "n3913", - loc: [ - -85.617426, - 41.952368 - ] - }, - n3914: { - id: "n3914", - loc: [ - -85.617483, - 41.952309 - ] - }, - n3915: { - id: "n3915", - loc: [ - -85.617332, - 41.952229 - ] - }, - n3916: { - id: "n3916", - loc: [ - -85.617451, - 41.952102 - ] - }, - n3917: { - id: "n3917", - loc: [ - -85.617477, - 41.952115 - ] - }, - n3918: { - id: "n3918", - loc: [ - -85.617658, - 41.951923 - ] - }, - n3919: { - id: "n3919", - loc: [ - -85.617634, - 41.95191 - ] - }, - n392: { - id: "n392", - loc: [ - -85.631807, - 41.943606 - ] - }, - n3920: { - id: "n3920", - loc: [ - -85.617747, - 41.951786 - ] - }, - n3921: { - id: "n3921", - loc: [ - -85.618268, - 41.952056 - ] - }, - n3922: { - id: "n3922", - loc: [ - -85.618211, - 41.952122 - ] - }, - n3923: { - id: "n3923", - loc: [ - -85.618386, - 41.95222 - ] - }, - n3924: { - id: "n3924", - loc: [ - -85.618098, - 41.952527 - ] - }, - n3925: { - id: "n3925", - loc: [ - -85.617916, - 41.95243 - ] - }, - n3926: { - id: "n3926", - loc: [ - -85.617854, - 41.952498 - ] - }, - n3927: { - id: "n3927", - loc: [ - -85.617769, - 41.952453 - ] - }, - n3928: { - id: "n3928", - loc: [ - -85.617476, - 41.952773 - ] - }, - n3929: { - id: "n3929", - loc: [ - -85.617876, - 41.952973 - ] - }, - n393: { - id: "n393", - loc: [ - -85.631902, - 41.943561 - ] - }, - n3930: { - id: "n3930", - loc: [ - -85.617174, - 41.953638 - ] - }, - n3931: { - id: "n3931", - loc: [ - -85.618016, - 41.953578 - ] - }, - n3932: { - id: "n3932", - loc: [ - -85.618107, - 41.953628 - ] - }, - n3933: { - id: "n3933", - loc: [ - -85.618067, - 41.954268 - ] - }, - n3934: { - id: "n3934", - loc: [ - -85.617864, - 41.954263 - ] - }, - n3935: { - id: "n3935", - loc: [ - -85.61762, - 41.954205 - ] - }, - n3936: { - id: "n3936", - loc: [ - -85.617437, - 41.954103 - ] - }, - n3937: { - id: "n3937", - loc: [ - -85.617294, - 41.953978 - ] - }, - n3938: { - id: "n3938", - loc: [ - -85.617217, - 41.95384 - ] - }, - n3939: { - id: "n3939", - loc: [ - -85.616814, - 41.954327 - ] - }, - n394: { - id: "n394", - loc: [ - -85.63236, - 41.943543 - ] - }, - n3940: { - id: "n3940", - loc: [ - -85.616778, - 41.95381 - ] - }, - n3941: { - id: "n3941", - loc: [ - -85.616585, - 41.953707 - ] - }, - n3942: { - id: "n3942", - loc: [ - -85.616458, - 41.954318 - ] - }, - n3943: { - id: "n3943", - loc: [ - -85.616643, - 41.954345 - ] - }, - n3944: { - id: "n3944", - loc: [ - -85.618133, - 41.951412 - ] - }, - n3945: { - id: "n3945", - loc: [ - -85.618326, - 41.951411 - ] - }, - n3946: { - id: "n3946", - loc: [ - -85.618503, - 41.95141 - ] - }, - n3947: { - id: "n3947", - loc: [ - -85.618681, - 41.951409 - ] - }, - n3948: { - id: "n3948", - loc: [ - -85.618868, - 41.951408 - ] - }, - n3949: { - id: "n3949", - loc: [ - -85.617047, - 41.95136 - ] - }, - n395: { - id: "n395", - loc: [ - -85.633839, - 41.944082 - ] - }, - n3950: { - id: "n3950", - loc: [ - -85.616502, - 41.951946 - ] - }, - n3951: { - id: "n3951", - loc: [ - -85.616497, - 41.952072 - ] - }, - n3952: { - id: "n3952", - loc: [ - -85.616565, - 41.952165 - ] - }, - n3953: { - id: "n3953", - loc: [ - -85.616663, - 41.952218 - ] - }, - n3954: { - id: "n3954", - loc: [ - -85.616733, - 41.952255 - ] - }, - n3955: { - id: "n3955", - loc: [ - -85.617238, - 41.952512 - ], - tags: { - entrance: "yes" - } - }, - n3956: { - id: "n3956", - loc: [ - -85.617043, - 41.952406 - ] - }, - n3957: { - id: "n3957", - loc: [ - -85.617691, - 41.951711 - ] - }, - n3958: { - id: "n3958", - loc: [ - -85.617773, - 41.951679 - ] - }, - n3959: { - id: "n3959", - loc: [ - -85.619085, - 41.951681 - ] - }, - n396: { - id: "n396", - loc: [ - -85.63376, - 41.944097 - ] - }, - n3960: { - id: "n3960", - loc: [ - -85.617943, - 41.952895 - ] - }, - n3961: { - id: "n3961", - loc: [ - -85.618039, - 41.952938 - ] - }, - n3962: { - id: "n3962", - loc: [ - -85.61763, - 41.95336 - ] - }, - n3963: { - id: "n3963", - loc: [ - -85.617554, - 41.95344 - ] - }, - n3964: { - id: "n3964", - loc: [ - -85.617381, - 41.952366 - ], - tags: { - entrance: "yes" - } - }, - n3965: { - id: "n3965", - loc: [ - -85.617184, - 41.952254 - ] - }, - n3966: { - id: "n3966", - loc: [ - -85.617208, - 41.952496 - ] - }, - n3967: { - id: "n3967", - loc: [ - -85.617124, - 41.952581 - ], - tags: { - entrance: "yes" - } - }, - n3968: { - id: "n3968", - loc: [ - -85.618094, - 41.952735 - ] - }, - n3969: { - id: "n3969", - loc: [ - -85.617702, - 41.952525 - ], - tags: { - entrance: "yes" - } - }, - n397: { - id: "n397", - loc: [ - -85.63361, - 41.943957 - ] - }, - n3970: { - id: "n3970", - loc: [ - -85.617554, - 41.952686 - ], - tags: { - entrance: "yes" - } - }, - n3971: { - id: "n3971", - loc: [ - -85.617959, - 41.952878 - ] - }, - n3972: { - id: "n3972", - loc: [ - -85.616367, - 41.952655 - ] - }, - n3973: { - id: "n3973", - loc: [ - -85.616416, - 41.952851 - ] - }, - n3974: { - id: "n3974", - loc: [ - -85.619777, - 41.951075 - ] - }, - n3975: { - id: "n3975", - loc: [ - -85.618611, - 41.94817 - ] - }, - n3976: { - id: "n3976", - loc: [ - -85.618538, - 41.948229 - ] - }, - n3977: { - id: "n3977", - loc: [ - -85.617421, - 41.947559 - ] - }, - n3978: { - id: "n3978", - loc: [ - -85.617395, - 41.951039 - ] - }, - n3979: { - id: "n3979", - loc: [ - -85.618488, - 41.94829 - ] - }, - n398: { - id: "n398", - loc: [ - -85.633309, - 41.943886 - ] - }, - n3980: { - id: "n3980", - loc: [ - -85.610238, - 41.954774 - ] - }, - n3981: { - id: "n3981", - loc: [ - -85.617449, - 41.950756 - ] - }, - n3982: { - id: "n3982", - loc: [ - -85.617288, - 41.951286 - ] - }, - n3983: { - id: "n3983", - loc: [ - -85.61745, - 41.950197 - ] - }, - n3984: { - id: "n3984", - loc: [ - -85.617436, - 41.948908 - ] - }, - n3985: { - id: "n3985", - loc: [ - -85.615915, - 41.953804 - ] - }, - n3986: { - id: "n3986", - loc: [ - -85.615953, - 41.953968 - ] - }, - n3987: { - id: "n3987", - loc: [ - -85.616031, - 41.954085 - ] - }, - n3988: { - id: "n3988", - loc: [ - -85.616135, - 41.954181 - ] - }, - n3989: { - id: "n3989", - loc: [ - -85.616273, - 41.954263 - ] - }, - n399: { - id: "n399", - loc: [ - -85.633226, - 41.943931 - ] - }, - n3990: { - id: "n3990", - loc: [ - -85.618327, - 41.951083 - ] - }, - n3991: { - id: "n3991", - loc: [ - -85.618135, - 41.951084 - ] - }, - n3992: { - id: "n3992", - loc: [ - -85.618503, - 41.951082 - ] - }, - n3993: { - id: "n3993", - loc: [ - -85.618682, - 41.951081 - ] - }, - n3994: { - id: "n3994", - loc: [ - -85.618864, - 41.951082 - ] - }, - n3995: { - id: "n3995", - loc: [ - -85.616761, - 41.950101 - ] - }, - n3996: { - id: "n3996", - loc: [ - -85.617317, - 41.947558 - ] - }, - n3997: { - id: "n3997", - loc: [ - -85.617336, - 41.948883 - ] - }, - n3998: { - id: "n3998", - loc: [ - -85.616779, - 41.949295 - ] - }, - n3999: { - id: "n3999", - loc: [ - -85.616754, - 41.949349 - ] - }, - n4: { - id: "n4", - loc: [ - -85.622764, - 41.950892 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n40: { - id: "n40", - loc: [ - -85.619841, - 41.951037 - ] - }, - n400: { - id: "n400", - loc: [ - -85.63326, - 41.943966 - ] - }, - n4000: { - id: "n4000", - loc: [ - -85.616761, - 41.950865 - ] - }, - n4001: { - id: "n4001", - loc: [ - -85.616883, - 41.951041 - ] - }, - n4002: { - id: "n4002", - loc: [ - -85.617004, - 41.951142 - ] - }, - n4003: { - id: "n4003", - loc: [ - -85.617062, - 41.951248 - ] - }, - n4004: { - id: "n4004", - loc: [ - -85.616809, - 41.949273 - ] - }, - n4005: { - id: "n4005", - loc: [ - -85.616755, - 41.949489 - ] - }, - n4006: { - id: "n4006", - loc: [ - -85.616759, - 41.949971 - ] - }, - n4007: { - id: "n4007", - loc: [ - -85.616757, - 41.949702 - ] - }, - n4008: { - id: "n4008", - loc: [ - -85.618456, - 41.94836 - ] - }, - n4009: { - id: "n4009", - loc: [ - -85.618447, - 41.948428 - ] - }, - n401: { - id: "n401", - loc: [ - -85.63324, - 41.943976 - ] - }, - n4010: { - id: "n4010", - loc: [ - -85.618437, - 41.949322 - ] - }, - n4011: { - id: "n4011", - loc: [ - -85.618447, - 41.949418 - ] - }, - n4012: { - id: "n4012", - loc: [ - -85.618478, - 41.949491 - ] - }, - n4013: { - id: "n4013", - loc: [ - -85.618535, - 41.949559 - ] - }, - n4014: { - id: "n4014", - loc: [ - -85.618623, - 41.94962 - ] - }, - n4015: { - id: "n4015", - loc: [ - -85.618721, - 41.94966 - ] - }, - n4016: { - id: "n4016", - loc: [ - -85.618838, - 41.949674 - ] - }, - n4017: { - id: "n4017", - loc: [ - -85.618967, - 41.949667 - ] - }, - n4018: { - id: "n4018", - loc: [ - -85.619065, - 41.949632 - ] - }, - n4019: { - id: "n4019", - loc: [ - -85.61915, - 41.949578 - ] - }, - n402: { - id: "n402", - loc: [ - -85.63327, - 41.944006 - ] - }, - n4020: { - id: "n4020", - loc: [ - -85.619216, - 41.949507 - ] - }, - n4021: { - id: "n4021", - loc: [ - -85.61927, - 41.949399 - ] - }, - n4022: { - id: "n4022", - loc: [ - -85.619074, - 41.947639 - ] - }, - n4023: { - id: "n4023", - loc: [ - -85.619073, - 41.947793 - ] - }, - n4024: { - id: "n4024", - loc: [ - -85.618912, - 41.947793 - ] - }, - n4025: { - id: "n4025", - loc: [ - -85.618911, - 41.947947 - ] - }, - n4026: { - id: "n4026", - loc: [ - -85.618752, - 41.947947 - ] - }, - n4027: { - id: "n4027", - loc: [ - -85.618754, - 41.947637 - ] - }, - n4028: { - id: "n4028", - loc: [ - -85.617896, - 41.947599 - ] - }, - n4029: { - id: "n4029", - loc: [ - -85.617898, - 41.947811 - ] - }, - n403: { - id: "n403", - loc: [ - -85.633278, - 41.944002 - ] - }, - n4030: { - id: "n4030", - loc: [ - -85.617717, - 41.947812 - ] - }, - n4031: { - id: "n4031", - loc: [ - -85.617715, - 41.9476 - ] - }, - n4032: { - id: "n4032", - loc: [ - -85.619003, - 41.949828 - ] - }, - n4033: { - id: "n4033", - loc: [ - -85.619003, - 41.949882 - ] - }, - n4034: { - id: "n4034", - loc: [ - -85.618926, - 41.949882 - ] - }, - n4035: { - id: "n4035", - loc: [ - -85.618926, - 41.949828 - ] - }, - n4036: { - id: "n4036", - loc: [ - -85.618861, - 41.949809 - ] - }, - n4037: { - id: "n4037", - loc: [ - -85.618861, - 41.949898 - ] - }, - n4038: { - id: "n4038", - loc: [ - -85.618688, - 41.949898 - ] - }, - n4039: { - id: "n4039", - loc: [ - -85.618687, - 41.94981 - ] - }, - n404: { - id: "n404", - loc: [ - -85.63331, - 41.944036 - ] - }, - n4040: { - id: "n4040", - loc: [ - -85.618349, - 41.949473 - ] - }, - n4041: { - id: "n4041", - loc: [ - -85.618287, - 41.949473 - ] - }, - n4042: { - id: "n4042", - loc: [ - -85.618287, - 41.94942 - ] - }, - n4043: { - id: "n4043", - loc: [ - -85.618348, - 41.949419 - ] - }, - n4044: { - id: "n4044", - loc: [ - -85.62316, - 41.951604 - ] - }, - n4045: { - id: "n4045", - loc: [ - -85.623026, - 41.951605 - ] - }, - n4046: { - id: "n4046", - loc: [ - -85.623023, - 41.951466 - ] - }, - n4047: { - id: "n4047", - loc: [ - -85.623134, - 41.951465 - ] - }, - n4048: { - id: "n4048", - loc: [ - -85.623136, - 41.951539 - ] - }, - n4049: { - id: "n4049", - loc: [ - -85.623159, - 41.951539 - ] - }, - n405: { - id: "n405", - loc: [ - -85.633348, - 41.944015 - ] - }, - n4050: { - id: "n4050", - loc: [ - -85.623025, - 41.95155 - ] - }, - n4051: { - id: "n4051", - loc: [ - -85.622955, - 41.951551 - ] - }, - n4052: { - id: "n4052", - loc: [ - -85.622953, - 41.951507 - ] - }, - n4053: { - id: "n4053", - loc: [ - -85.623024, - 41.951506 - ] - }, - n4054: { - id: "n4054", - loc: [ - -85.623318, - 41.951242 - ] - }, - n4055: { - id: "n4055", - loc: [ - -85.623175, - 41.951241 - ] - }, - n4056: { - id: "n4056", - loc: [ - -85.623176, - 41.951153 - ] - }, - n4057: { - id: "n4057", - loc: [ - -85.623319, - 41.951154 - ] - }, - n4058: { - id: "n4058", - loc: [ - -85.623077, - 41.951191 - ] - }, - n4059: { - id: "n4059", - loc: [ - -85.622973, - 41.951191 - ] - }, - n406: { - id: "n406", - loc: [ - -85.63338, - 41.944048 - ] - }, - n4060: { - id: "n4060", - loc: [ - -85.622972, - 41.951349 - ] - }, - n4061: { - id: "n4061", - loc: [ - -85.623059, - 41.95135 - ] - }, - n4062: { - id: "n4062", - loc: [ - -85.62306, - 41.951301 - ] - }, - n4063: { - id: "n4063", - loc: [ - -85.623077, - 41.951301 - ] - }, - n4064: { - id: "n4064", - loc: [ - -85.623117, - 41.951405 - ] - }, - n4065: { - id: "n4065", - loc: [ - -85.62312, - 41.951087 - ] - }, - n4066: { - id: "n4066", - loc: [ - -85.623118, - 41.951274 - ] - }, - n4067: { - id: "n4067", - loc: [ - -85.62328, - 41.951275 - ] - }, - n4068: { - id: "n4068", - loc: [ - -85.62328, - 41.951242 - ] - }, - n4069: { - id: "n4069", - loc: [ - -85.623179, - 41.951392 - ] - }, - n407: { - id: "n407", - loc: [ - -85.633431, - 41.94402 - ] - }, - n4070: { - id: "n4070", - loc: [ - -85.623141, - 41.951392 - ] - }, - n4071: { - id: "n4071", - loc: [ - -85.623142, - 41.95136 - ] - }, - n4072: { - id: "n4072", - loc: [ - -85.623179, - 41.951361 - ] - }, - n4073: { - id: "n4073", - loc: [ - -85.622565, - 41.951639 - ] - }, - n4074: { - id: "n4074", - loc: [ - -85.622565, - 41.951741 - ] - }, - n4075: { - id: "n4075", - loc: [ - -85.622463, - 41.95174 - ] - }, - n4076: { - id: "n4076", - loc: [ - -85.622463, - 41.95173 - ] - }, - n4077: { - id: "n4077", - loc: [ - -85.622442, - 41.95173 - ] - }, - n4078: { - id: "n4078", - loc: [ - -85.622442, - 41.951742 - ] - }, - n4079: { - id: "n4079", - loc: [ - -85.622361, - 41.951742 - ] - }, - n408: { - id: "n408", - loc: [ - -85.633425, - 41.944014 - ] - }, - n4080: { - id: "n4080", - loc: [ - -85.622362, - 41.951667 - ] - }, - n4081: { - id: "n4081", - loc: [ - -85.622441, - 41.951667 - ] - }, - n4082: { - id: "n4082", - loc: [ - -85.622441, - 41.951688 - ] - }, - n4083: { - id: "n4083", - loc: [ - -85.622461, - 41.951688 - ] - }, - n4084: { - id: "n4084", - loc: [ - -85.622461, - 41.951638 - ] - }, - n4085: { - id: "n4085", - loc: [ - -85.62255, - 41.951587 - ] - }, - n4086: { - id: "n4086", - loc: [ - -85.622449, - 41.95159 - ] - }, - n4087: { - id: "n4087", - loc: [ - -85.622441, - 41.951448 - ] - }, - n4088: { - id: "n4088", - loc: [ - -85.62253, - 41.951445 - ] - }, - n4089: { - id: "n4089", - loc: [ - -85.622532, - 41.951486 - ] - }, - n409: { - id: "n409", - loc: [ - -85.633457, - 41.943997 - ] - }, - n4090: { - id: "n4090", - loc: [ - -85.622555, - 41.951485 - ] - }, - n4091: { - id: "n4091", - loc: [ - -85.622558, - 41.951531 - ] - }, - n4092: { - id: "n4092", - loc: [ - -85.622547, - 41.951531 - ] - }, - n4093: { - id: "n4093", - loc: [ - -85.622451, - 41.95159 - ] - }, - n4094: { - id: "n4094", - loc: [ - -85.622452, - 41.95161 - ] - }, - n4095: { - id: "n4095", - loc: [ - -85.622106, - 41.951617 - ] - }, - n4096: { - id: "n4096", - loc: [ - -85.622133, - 41.951443 - ] - }, - n4097: { - id: "n4097", - loc: [ - -85.622552, - 41.951379 - ] - }, - n4098: { - id: "n4098", - loc: [ - -85.622443, - 41.95138 - ] - }, - n4099: { - id: "n4099", - loc: [ - -85.622441, - 41.951281 - ] - }, - n41: { - id: "n41", - loc: [ - -85.636233, - 41.942764 - ] - }, - n410: { - id: "n410", - loc: [ - -85.633429, - 41.943969 - ] - }, - n4100: { - id: "n4100", - loc: [ - -85.62255, - 41.95128 - ] - }, - n4101: { - id: "n4101", - loc: [ - -85.622541, - 41.951437 - ] - }, - n4102: { - id: "n4102", - loc: [ - -85.622441, - 41.951438 - ] - }, - n4103: { - id: "n4103", - loc: [ - -85.621561, - 41.951444 - ] - }, - n4104: { - id: "n4104", - loc: [ - -85.622302, - 41.951479 - ] - }, - n4105: { - id: "n4105", - loc: [ - -85.6223, - 41.95152 - ] - }, - n4106: { - id: "n4106", - loc: [ - -85.622169, - 41.951517 - ] - }, - n4107: { - id: "n4107", - loc: [ - -85.622171, - 41.951476 - ] - }, - n4108: { - id: "n4108", - loc: [ - -85.622543, - 41.951228 - ] - }, - n4109: { - id: "n4109", - loc: [ - -85.622433, - 41.951228 - ] - }, - n411: { - id: "n411", - loc: [ - -85.633442, - 41.943962 - ] - }, - n4110: { - id: "n4110", - loc: [ - -85.622433, - 41.951133 - ] - }, - n4111: { - id: "n4111", - loc: [ - -85.622543, - 41.951133 - ] - }, - n4112: { - id: "n4112", - loc: [ - -85.622356, - 41.951256 - ] - }, - n4113: { - id: "n4113", - loc: [ - -85.622293, - 41.951256 - ] - }, - n4114: { - id: "n4114", - loc: [ - -85.622292, - 41.9512 - ] - }, - n4115: { - id: "n4115", - loc: [ - -85.622313, - 41.9512 - ] - }, - n4116: { - id: "n4116", - loc: [ - -85.622312, - 41.951173 - ] - }, - n4117: { - id: "n4117", - loc: [ - -85.622364, - 41.951173 - ] - }, - n4118: { - id: "n4118", - loc: [ - -85.622365, - 41.951231 - ] - }, - n4119: { - id: "n4119", - loc: [ - -85.622355, - 41.951231 - ] - }, - n412: { - id: "n412", - loc: [ - -85.633411, - 41.943932 - ] - }, - n4120: { - id: "n4120", - loc: [ - -85.62197, - 41.951155 - ] - }, - n4121: { - id: "n4121", - loc: [ - -85.62197, - 41.951213 - ] - }, - n4122: { - id: "n4122", - loc: [ - -85.621848, - 41.951213 - ] - }, - n4123: { - id: "n4123", - loc: [ - -85.621848, - 41.951155 - ] - }, - n4124: { - id: "n4124", - loc: [ - -85.622193, - 41.951268 - ] - }, - n4125: { - id: "n4125", - loc: [ - -85.622194, - 41.951305 - ] - }, - n4126: { - id: "n4126", - loc: [ - -85.622121, - 41.951306 - ] - }, - n4127: { - id: "n4127", - loc: [ - -85.622121, - 41.951322 - ] - }, - n4128: { - id: "n4128", - loc: [ - -85.621984, - 41.951324 - ] - }, - n4129: { - id: "n4129", - loc: [ - -85.621983, - 41.951271 - ] - }, - n413: { - id: "n413", - loc: [ - -85.633421, - 41.943926 - ] - }, - n4130: { - id: "n4130", - loc: [ - -85.622171, - 41.9514 - ] - }, - n4131: { - id: "n4131", - loc: [ - -85.622148, - 41.951382 - ] - }, - n4132: { - id: "n4132", - loc: [ - -85.6221, - 41.951414 - ] - }, - n4133: { - id: "n4133", - loc: [ - -85.622122, - 41.951433 - ] - }, - n4134: { - id: "n4134", - loc: [ - -85.621782, - 41.951148 - ] - }, - n4135: { - id: "n4135", - loc: [ - -85.621783, - 41.951219 - ] - }, - n4136: { - id: "n4136", - loc: [ - -85.62164, - 41.951221 - ] - }, - n4137: { - id: "n4137", - loc: [ - -85.62164, - 41.951236 - ] - }, - n4138: { - id: "n4138", - loc: [ - -85.621556, - 41.951237 - ] - }, - n4139: { - id: "n4139", - loc: [ - -85.621555, - 41.95117 - ] - }, - n414: { - id: "n414", - loc: [ - -85.633376, - 41.94388 - ] - }, - n4140: { - id: "n4140", - loc: [ - -85.621644, - 41.951169 - ] - }, - n4141: { - id: "n4141", - loc: [ - -85.621643, - 41.951139 - ] - }, - n4142: { - id: "n4142", - loc: [ - -85.621719, - 41.951138 - ] - }, - n4143: { - id: "n4143", - loc: [ - -85.621719, - 41.951148 - ] - }, - n4144: { - id: "n4144", - loc: [ - -85.621409, - 41.951322 - ] - }, - n4145: { - id: "n4145", - loc: [ - -85.621338, - 41.951322 - ] - }, - n4146: { - id: "n4146", - loc: [ - -85.621336, - 41.95115 - ] - }, - n4147: { - id: "n4147", - loc: [ - -85.621521, - 41.951149 - ] - }, - n4148: { - id: "n4148", - loc: [ - -85.621522, - 41.951228 - ] - }, - n4149: { - id: "n4149", - loc: [ - -85.621408, - 41.951228 - ] - }, - n415: { - id: "n415", - loc: [ - -85.633348, - 41.943895 - ] - }, - n4150: { - id: "n4150", - loc: [ - -85.621284, - 41.951219 - ] - }, - n4151: { - id: "n4151", - loc: [ - -85.621153, - 41.951219 - ] - }, - n4152: { - id: "n4152", - loc: [ - -85.621152, - 41.951152 - ] - }, - n4153: { - id: "n4153", - loc: [ - -85.621283, - 41.951152 - ] - }, - n4154: { - id: "n4154", - loc: [ - -85.621159, - 41.951241 - ] - }, - n4155: { - id: "n4155", - loc: [ - -85.62116, - 41.951301 - ] - }, - n4156: { - id: "n4156", - loc: [ - -85.621088, - 41.951302 - ] - }, - n4157: { - id: "n4157", - loc: [ - -85.621088, - 41.951241 - ] - }, - n4158: { - id: "n4158", - loc: [ - -85.621049, - 41.951158 - ] - }, - n4159: { - id: "n4159", - loc: [ - -85.62105, - 41.951229 - ] - }, - n416: { - id: "n416", - loc: [ - -85.633341, - 41.943888 - ] - }, - n4160: { - id: "n4160", - loc: [ - -85.620976, - 41.951229 - ] - }, - n4161: { - id: "n4161", - loc: [ - -85.620977, - 41.951295 - ] - }, - n4162: { - id: "n4162", - loc: [ - -85.620887, - 41.951296 - ] - }, - n4163: { - id: "n4163", - loc: [ - -85.620886, - 41.951229 - ] - }, - n4164: { - id: "n4164", - loc: [ - -85.620862, - 41.951229 - ] - }, - n4165: { - id: "n4165", - loc: [ - -85.620861, - 41.951159 - ] - }, - n4166: { - id: "n4166", - loc: [ - -85.620626, - 41.951133 - ] - }, - n4167: { - id: "n4167", - loc: [ - -85.620626, - 41.951205 - ] - }, - n4168: { - id: "n4168", - loc: [ - -85.620412, - 41.951206 - ] - }, - n4169: { - id: "n4169", - loc: [ - -85.620411, - 41.951134 - ] - }, - n417: { - id: "n417", - loc: [ - -85.633321, - 41.943898 - ] - }, - n4170: { - id: "n4170", - loc: [ - -85.621775, - 41.951443 - ] - }, - n4171: { - id: "n4171", - loc: [ - -85.621777, - 41.951264 - ] - }, - n4172: { - id: "n4172", - loc: [ - -85.621565, - 41.951654 - ] - }, - n4173: { - id: "n4173", - loc: [ - -85.621331, - 41.951439 - ] - }, - n4174: { - id: "n4174", - loc: [ - -85.621031, - 41.951443 - ] - }, - n4175: { - id: "n4175", - loc: [ - -85.621836, - 41.951724 - ] - }, - n4176: { - id: "n4176", - loc: [ - -85.621834, - 41.951621 - ] - }, - n4177: { - id: "n4177", - loc: [ - -85.62197, - 41.951619 - ] - }, - n4178: { - id: "n4178", - loc: [ - -85.621972, - 41.951722 - ] - }, - n4179: { - id: "n4179", - loc: [ - -85.621772, - 41.951638 - ] - }, - n418: { - id: "n418", - loc: [ - -85.633547, - 41.943896 - ] - }, - n4180: { - id: "n4180", - loc: [ - -85.621772, - 41.951715 - ] - }, - n4181: { - id: "n4181", - loc: [ - -85.621699, - 41.951716 - ] - }, - n4182: { - id: "n4182", - loc: [ - -85.6217, - 41.951722 - ] - }, - n4183: { - id: "n4183", - loc: [ - -85.621641, - 41.951722 - ] - }, - n4184: { - id: "n4184", - loc: [ - -85.62164, - 41.951639 - ] - }, - n4185: { - id: "n4185", - loc: [ - -85.621505, - 41.951655 - ] - }, - n4186: { - id: "n4186", - loc: [ - -85.621505, - 41.951729 - ] - }, - n4187: { - id: "n4187", - loc: [ - -85.621389, - 41.951729 - ] - }, - n4188: { - id: "n4188", - loc: [ - -85.62139, - 41.951654 - ] - }, - n4189: { - id: "n4189", - loc: [ - -85.621105, - 41.951635 - ] - }, - n419: { - id: "n419", - loc: [ - -85.633467, - 41.944075 - ] - }, - n4190: { - id: "n4190", - loc: [ - -85.621104, - 41.951576 - ] - }, - n4191: { - id: "n4191", - loc: [ - -85.621168, - 41.951576 - ] - }, - n4192: { - id: "n4192", - loc: [ - -85.621168, - 41.951595 - ] - }, - n4193: { - id: "n4193", - loc: [ - -85.621261, - 41.951595 - ] - }, - n4194: { - id: "n4194", - loc: [ - -85.621261, - 41.951646 - ] - }, - n4195: { - id: "n4195", - loc: [ - -85.621294, - 41.951646 - ] - }, - n4196: { - id: "n4196", - loc: [ - -85.621294, - 41.951732 - ] - }, - n4197: { - id: "n4197", - loc: [ - -85.621251, - 41.951732 - ] - }, - n4198: { - id: "n4198", - loc: [ - -85.621251, - 41.95174 - ] - }, - n4199: { - id: "n4199", - loc: [ - -85.621175, - 41.951741 - ] - }, - n42: { - id: "n42", - loc: [ - -85.635996, - 41.942727 - ] - }, - n420: { - id: "n420", - loc: [ - -85.633578, - 41.944055 - ] - }, - n4200: { - id: "n4200", - loc: [ - -85.621175, - 41.951651 - ] - }, - n4201: { - id: "n4201", - loc: [ - -85.621189, - 41.951651 - ] - }, - n4202: { - id: "n4202", - loc: [ - -85.621189, - 41.951635 - ] - }, - n4203: { - id: "n4203", - loc: [ - -85.620554, - 41.951641 - ] - }, - n4204: { - id: "n4204", - loc: [ - -85.620555, - 41.951742 - ] - }, - n4205: { - id: "n4205", - loc: [ - -85.620719, - 41.951742 - ] - }, - n4206: { - id: "n4206", - loc: [ - -85.620719, - 41.951731 - ] - }, - n4207: { - id: "n4207", - loc: [ - -85.620803, - 41.95173 - ] - }, - n4208: { - id: "n4208", - loc: [ - -85.620803, - 41.951603 - ] - }, - n4209: { - id: "n4209", - loc: [ - -85.62072, - 41.951603 - ] - }, - n421: { - id: "n421", - loc: [ - -85.633462, - 41.944125 - ] - }, - n4210: { - id: "n4210", - loc: [ - -85.620721, - 41.951641 - ] - }, - n4211: { - id: "n4211", - loc: [ - -85.620269, - 41.953053 - ] - }, - n4212: { - id: "n4212", - loc: [ - -85.620229, - 41.953051 - ] - }, - n4213: { - id: "n4213", - loc: [ - -85.620231, - 41.953013 - ] - }, - n4214: { - id: "n4214", - loc: [ - -85.620271, - 41.953015 - ] - }, - n4215: { - id: "n4215", - loc: [ - -85.620215, - 41.953133 - ] - }, - n4216: { - id: "n4216", - loc: [ - -85.62013, - 41.953134 - ] - }, - n4217: { - id: "n4217", - loc: [ - -85.620129, - 41.953083 - ] - }, - n4218: { - id: "n4218", - loc: [ - -85.620214, - 41.953082 - ] - }, - n4219: { - id: "n4219", - loc: [ - -85.62016, - 41.953272 - ] - }, - n422: { - id: "n422", - loc: [ - -85.633372, - 41.944061 - ] - }, - n4220: { - id: "n4220", - loc: [ - -85.620046, - 41.953273 - ] - }, - n4221: { - id: "n4221", - loc: [ - -85.620045, - 41.953171 - ] - }, - n4222: { - id: "n4222", - loc: [ - -85.620088, - 41.953171 - ] - }, - n4223: { - id: "n4223", - loc: [ - -85.620087, - 41.953162 - ] - }, - n4224: { - id: "n4224", - loc: [ - -85.620121, - 41.953162 - ] - }, - n4225: { - id: "n4225", - loc: [ - -85.620121, - 41.953173 - ] - }, - n4226: { - id: "n4226", - loc: [ - -85.620157, - 41.953173 - ] - }, - n4227: { - id: "n4227", - loc: [ - -85.620158, - 41.953196 - ] - }, - n4228: { - id: "n4228", - loc: [ - -85.620189, - 41.953196 - ] - }, - n4229: { - id: "n4229", - loc: [ - -85.620189, - 41.953246 - ] - }, - n423: { - id: "n423", - loc: [ - -85.633509, - 41.943981 - ] - }, - n4230: { - id: "n4230", - loc: [ - -85.62016, - 41.953246 - ] - }, - n4231: { - id: "n4231", - loc: [ - -85.6195, - 41.954012 - ] - }, - n4232: { - id: "n4232", - loc: [ - -85.619438, - 41.954057 - ] - }, - n4233: { - id: "n4233", - loc: [ - -85.619418, - 41.954043 - ] - }, - n4234: { - id: "n4234", - loc: [ - -85.619381, - 41.954069 - ] - }, - n4235: { - id: "n4235", - loc: [ - -85.619399, - 41.954083 - ] - }, - n4236: { - id: "n4236", - loc: [ - -85.619339, - 41.954126 - ] - }, - n4237: { - id: "n4237", - loc: [ - -85.619584, - 41.954313 - ] - }, - n4238: { - id: "n4238", - loc: [ - -85.619743, - 41.954198 - ] - }, - n4239: { - id: "n4239", - loc: [ - -85.619453, - 41.954727 - ] - }, - n424: { - id: "n424", - loc: [ - -85.635421, - 41.945367 - ] - }, - n4240: { - id: "n4240", - loc: [ - -85.619503, - 41.954581 - ] - }, - n4241: { - id: "n4241", - loc: [ - -85.619597, - 41.954472 - ] - }, - n4242: { - id: "n4242", - loc: [ - -85.619862, - 41.95419 - ] - }, - n4243: { - id: "n4243", - loc: [ - -85.619506, - 41.953907 - ] - }, - n4244: { - id: "n4244", - loc: [ - -85.619261, - 41.9541 - ] - }, - n4245: { - id: "n4245", - loc: [ - -85.619246, - 41.954139 - ] - }, - n4246: { - id: "n4246", - loc: [ - -85.619244, - 41.9542 - ] - }, - n4247: { - id: "n4247", - loc: [ - -85.619259, - 41.954243 - ] - }, - n4248: { - id: "n4248", - loc: [ - -85.619285, - 41.954274 - ] - }, - n4249: { - id: "n4249", - loc: [ - -85.619123, - 41.954381 - ] - }, - n425: { - id: "n425", - loc: [ - -85.634425, - 41.943552 - ] - }, - n4250: { - id: "n4250", - loc: [ - -85.619641, - 41.954607 - ] - }, - n4251: { - id: "n4251", - loc: [ - -85.619383, - 41.954615 - ] - }, - n4252: { - id: "n4252", - loc: [ - -85.61896, - 41.954391 - ] - }, - n4253: { - id: "n4253", - loc: [ - -85.619211, - 41.954178 - ] - }, - n4254: { - id: "n4254", - loc: [ - -85.619115, - 41.954102 - ] - }, - n4255: { - id: "n4255", - loc: [ - -85.619519, - 41.953821 - ] - }, - n4256: { - id: "n4256", - loc: [ - -85.619956, - 41.954156 - ] - }, - n4257: { - id: "n4257", - loc: [ - -85.619851, - 41.954266 - ] - }, - n4258: { - id: "n4258", - loc: [ - -85.619779, - 41.95436 - ] - }, - n4259: { - id: "n4259", - loc: [ - -85.620525, - 41.954364 - ] - }, - n426: { - id: "n426", - loc: [ - -85.634248, - 41.943654 - ] - }, - n4260: { - id: "n4260", - loc: [ - -85.620398, - 41.954365 - ] - }, - n4261: { - id: "n4261", - loc: [ - -85.620398, - 41.954324 - ] - }, - n4262: { - id: "n4262", - loc: [ - -85.620525, - 41.954323 - ] - }, - n4263: { - id: "n4263", - loc: [ - -85.620359, - 41.954588 - ] - }, - n4264: { - id: "n4264", - loc: [ - -85.620321, - 41.954588 - ] - }, - n4265: { - id: "n4265", - loc: [ - -85.620321, - 41.954599 - ] - }, - n4266: { - id: "n4266", - loc: [ - -85.620296, - 41.954599 - ] - }, - n4267: { - id: "n4267", - loc: [ - -85.620296, - 41.954587 - ] - }, - n4268: { - id: "n4268", - loc: [ - -85.620262, - 41.954588 - ] - }, - n4269: { - id: "n4269", - loc: [ - -85.620261, - 41.954516 - ] - }, - n427: { - id: "n427", - loc: [ - -85.634177, - 41.943585 - ] - }, - n4270: { - id: "n4270", - loc: [ - -85.620282, - 41.954516 - ] - }, - n4271: { - id: "n4271", - loc: [ - -85.620282, - 41.954373 - ] - }, - n4272: { - id: "n4272", - loc: [ - -85.620378, - 41.954373 - ] - }, - n4273: { - id: "n4273", - loc: [ - -85.620379, - 41.954486 - ] - }, - n4274: { - id: "n4274", - loc: [ - -85.620348, - 41.954486 - ] - }, - n4275: { - id: "n4275", - loc: [ - -85.620348, - 41.954537 - ] - }, - n4276: { - id: "n4276", - loc: [ - -85.620359, - 41.954537 - ] - }, - n4277: { - id: "n4277", - loc: [ - -85.620463, - 41.95521 - ] - }, - n4278: { - id: "n4278", - loc: [ - -85.620409, - 41.955273 - ] - }, - n4279: { - id: "n4279", - loc: [ - -85.620205, - 41.955177 - ] - }, - n428: { - id: "n428", - loc: [ - -85.634354, - 41.943484 - ] - }, - n4280: { - id: "n4280", - loc: [ - -85.620288, - 41.955079 - ] - }, - n4281: { - id: "n4281", - loc: [ - -85.620379, - 41.955121 - ] - }, - n4282: { - id: "n4282", - loc: [ - -85.620349, - 41.955157 - ] - }, - n4283: { - id: "n4283", - loc: [ - -85.620083, - 41.955101 - ] - }, - n4284: { - id: "n4284", - loc: [ - -85.620083, - 41.954986 - ] - }, - n4285: { - id: "n4285", - loc: [ - -85.620016, - 41.954986 - ] - }, - n4286: { - id: "n4286", - loc: [ - -85.620016, - 41.954999 - ] - }, - n4287: { - id: "n4287", - loc: [ - -85.619941, - 41.954999 - ] - }, - n4288: { - id: "n4288", - loc: [ - -85.619941, - 41.954988 - ] - }, - n4289: { - id: "n4289", - loc: [ - -85.619815, - 41.954988 - ] - }, - n429: { - id: "n429", - loc: [ - -85.638577, - 41.943212 - ] - }, - n4290: { - id: "n4290", - loc: [ - -85.619815, - 41.955075 - ] - }, - n4291: { - id: "n4291", - loc: [ - -85.619948, - 41.955075 - ] - }, - n4292: { - id: "n4292", - loc: [ - -85.619948, - 41.955082 - ] - }, - n4293: { - id: "n4293", - loc: [ - -85.620004, - 41.955082 - ] - }, - n4294: { - id: "n4294", - loc: [ - -85.620004, - 41.955101 - ] - }, - n4295: { - id: "n4295", - loc: [ - -85.619293, - 41.955127 - ] - }, - n4296: { - id: "n4296", - loc: [ - -85.619208, - 41.955124 - ] - }, - n4297: { - id: "n4297", - loc: [ - -85.619212, - 41.955061 - ] - }, - n4298: { - id: "n4298", - loc: [ - -85.619297, - 41.955064 - ] - }, - n4299: { - id: "n4299", - loc: [ - -85.619068, - 41.954936 - ] - }, - n43: { - id: "n43", - loc: [ - -85.637047, - 41.943054 - ] - }, - n430: { - id: "n430", - loc: [ - -85.638576, - 41.943219 - ] - }, - n4300: { - id: "n4300", - loc: [ - -85.619003, - 41.954936 - ] - }, - n4301: { - id: "n4301", - loc: [ - -85.619004, - 41.955003 - ] - }, - n4302: { - id: "n4302", - loc: [ - -85.618994, - 41.955003 - ] - }, - n4303: { - id: "n4303", - loc: [ - -85.618994, - 41.955016 - ] - }, - n4304: { - id: "n4304", - loc: [ - -85.618973, - 41.955016 - ] - }, - n4305: { - id: "n4305", - loc: [ - -85.618973, - 41.955071 - ] - }, - n4306: { - id: "n4306", - loc: [ - -85.619061, - 41.955071 - ] - }, - n4307: { - id: "n4307", - loc: [ - -85.61906, - 41.955024 - ] - }, - n4308: { - id: "n4308", - loc: [ - -85.619105, - 41.955024 - ] - }, - n4309: { - id: "n4309", - loc: [ - -85.619105, - 41.954956 - ] - }, - n431: { - id: "n431", - loc: [ - -85.638653, - 41.943078 - ] - }, - n4310: { - id: "n4310", - loc: [ - -85.619068, - 41.954956 - ] - }, - n4311: { - id: "n4311", - loc: [ - -85.618294, - 41.954596 - ] - }, - n4312: { - id: "n4312", - loc: [ - -85.618235, - 41.954602 - ] - }, - n4313: { - id: "n4313", - loc: [ - -85.618222, - 41.954535 - ] - }, - n4314: { - id: "n4314", - loc: [ - -85.618281, - 41.954529 - ] - }, - n4315: { - id: "n4315", - loc: [ - -85.618593, - 41.954556 - ] - }, - n4316: { - id: "n4316", - loc: [ - -85.618551, - 41.954565 - ] - }, - n4317: { - id: "n4317", - loc: [ - -85.618545, - 41.954552 - ] - }, - n4318: { - id: "n4318", - loc: [ - -85.618493, - 41.954563 - ] - }, - n4319: { - id: "n4319", - loc: [ - -85.618449, - 41.954455 - ] - }, - n432: { - id: "n432", - loc: [ - -85.638654, - 41.943148 - ] - }, - n4320: { - id: "n4320", - loc: [ - -85.618544, - 41.954434 - ] - }, - n4321: { - id: "n4321", - loc: [ - -85.622545, - 41.950775 - ] - }, - n4322: { - id: "n4322", - loc: [ - -85.622546, - 41.950843 - ] - }, - n4323: { - id: "n4323", - loc: [ - -85.622503, - 41.950844 - ] - }, - n4324: { - id: "n4324", - loc: [ - -85.622503, - 41.950853 - ] - }, - n4325: { - id: "n4325", - loc: [ - -85.622479, - 41.950853 - ] - }, - n4326: { - id: "n4326", - loc: [ - -85.622478, - 41.950843 - ] - }, - n4327: { - id: "n4327", - loc: [ - -85.622425, - 41.950843 - ] - }, - n4328: { - id: "n4328", - loc: [ - -85.622425, - 41.950808 - ] - }, - n4329: { - id: "n4329", - loc: [ - -85.622366, - 41.950809 - ] - }, - n433: { - id: "n433", - loc: [ - -85.638387, - 41.943151 - ] - }, - n4330: { - id: "n4330", - loc: [ - -85.622364, - 41.950673 - ] - }, - n4331: { - id: "n4331", - loc: [ - -85.622448, - 41.950673 - ] - }, - n4332: { - id: "n4332", - loc: [ - -85.622449, - 41.950732 - ] - }, - n4333: { - id: "n4333", - loc: [ - -85.622479, - 41.950731 - ] - }, - n4334: { - id: "n4334", - loc: [ - -85.622479, - 41.950775 - ] - }, - n4335: { - id: "n4335", - loc: [ - -85.621909, - 41.950641 - ] - }, - n4336: { - id: "n4336", - loc: [ - -85.621864, - 41.950641 - ] - }, - n4337: { - id: "n4337", - loc: [ - -85.621865, - 41.950567 - ] - }, - n4338: { - id: "n4338", - loc: [ - -85.62191, - 41.950567 - ] - }, - n4339: { - id: "n4339", - loc: [ - -85.621787, - 41.950829 - ] - }, - n434: { - id: "n434", - loc: [ - -85.638386, - 41.94308 - ] - }, - n4340: { - id: "n4340", - loc: [ - -85.621786, - 41.950775 - ] - }, - n4341: { - id: "n4341", - loc: [ - -85.621588, - 41.950776 - ] - }, - n4342: { - id: "n4342", - loc: [ - -85.621589, - 41.950848 - ] - }, - n4343: { - id: "n4343", - loc: [ - -85.621737, - 41.950847 - ] - }, - n4344: { - id: "n4344", - loc: [ - -85.621737, - 41.950829 - ] - }, - n4345: { - id: "n4345", - loc: [ - -85.621509, - 41.950846 - ] - }, - n4346: { - id: "n4346", - loc: [ - -85.621399, - 41.950846 - ] - }, - n4347: { - id: "n4347", - loc: [ - -85.621398, - 41.95073 - ] - }, - n4348: { - id: "n4348", - loc: [ - -85.621509, - 41.95073 - ] - }, - n4349: { - id: "n4349", - loc: [ - -85.621217, - 41.950841 - ] - }, - n435: { - id: "n435", - loc: [ - -85.634427, - 41.943533 - ] - }, - n4350: { - id: "n4350", - loc: [ - -85.6211, - 41.95084 - ] - }, - n4351: { - id: "n4351", - loc: [ - -85.6211, - 41.950777 - ] - }, - n4352: { - id: "n4352", - loc: [ - -85.621218, - 41.950778 - ] - }, - n4353: { - id: "n4353", - loc: [ - -85.621055, - 41.950764 - ] - }, - n4354: { - id: "n4354", - loc: [ - -85.621054, - 41.950826 - ] - }, - n4355: { - id: "n4355", - loc: [ - -85.620988, - 41.950826 - ] - }, - n4356: { - id: "n4356", - loc: [ - -85.620988, - 41.950843 - ] - }, - n4357: { - id: "n4357", - loc: [ - -85.620842, - 41.950843 - ] - }, - n4358: { - id: "n4358", - loc: [ - -85.620842, - 41.950764 - ] - }, - n4359: { - id: "n4359", - loc: [ - -85.620825, - 41.950922 - ] - }, - n436: { - id: "n436", - loc: [ - -85.63428, - 41.943229 - ] - }, - n4360: { - id: "n4360", - loc: [ - -85.620824, - 41.950553 - ] - }, - n4361: { - id: "n4361", - loc: [ - -85.620543, - 41.950771 - ] - }, - n4362: { - id: "n4362", - loc: [ - -85.620431, - 41.950772 - ] - }, - n4363: { - id: "n4363", - loc: [ - -85.62043, - 41.950585 - ] - }, - n4364: { - id: "n4364", - loc: [ - -85.620542, - 41.950585 - ] - }, - n4365: { - id: "n4365", - loc: [ - -85.62068, - 41.950505 - ] - }, - n4366: { - id: "n4366", - loc: [ - -85.620681, - 41.950552 - ] - }, - n4367: { - id: "n4367", - loc: [ - -85.620589, - 41.950553 - ] - }, - n4368: { - id: "n4368", - loc: [ - -85.620588, - 41.950506 - ] - }, - n4369: { - id: "n4369", - loc: [ - -85.620539, - 41.950407 - ] - }, - n437: { - id: "n437", - loc: [ - -85.634499, - 41.943461 - ] - }, - n4370: { - id: "n4370", - loc: [ - -85.62054, - 41.950504 - ] - }, - n4371: { - id: "n4371", - loc: [ - -85.620416, - 41.950504 - ] - }, - n4372: { - id: "n4372", - loc: [ - -85.620416, - 41.950408 - ] - }, - n4373: { - id: "n4373", - loc: [ - -85.620742, - 41.95038 - ] - }, - n4374: { - id: "n4374", - loc: [ - -85.620527, - 41.95038 - ] - }, - n4375: { - id: "n4375", - loc: [ - -85.620528, - 41.950408 - ] - }, - n4376: { - id: "n4376", - loc: [ - -85.622449, - 41.950373 - ] - }, - n4377: { - id: "n4377", - loc: [ - -85.622452, - 41.950397 - ] - }, - n4378: { - id: "n4378", - loc: [ - -85.622336, - 41.950404 - ] - }, - n4379: { - id: "n4379", - loc: [ - -85.622333, - 41.950379 - ] - }, - n438: { - id: "n438", - loc: [ - -85.634514, - 41.943486 - ] - }, - n4380: { - id: "n4380", - loc: [ - -85.622263, - 41.950324 - ] - }, - n4381: { - id: "n4381", - loc: [ - -85.622261, - 41.950256 - ] - }, - n4382: { - id: "n4382", - loc: [ - -85.62236, - 41.950254 - ] - }, - n4383: { - id: "n4383", - loc: [ - -85.62236, - 41.95027 - ] - }, - n4384: { - id: "n4384", - loc: [ - -85.622402, - 41.950281 - ] - }, - n4385: { - id: "n4385", - loc: [ - -85.622403, - 41.9503 - ] - }, - n4386: { - id: "n4386", - loc: [ - -85.622439, - 41.950299 - ] - }, - n4387: { - id: "n4387", - loc: [ - -85.62244, - 41.950334 - ] - }, - n4388: { - id: "n4388", - loc: [ - -85.622414, - 41.950335 - ] - }, - n4389: { - id: "n4389", - loc: [ - -85.622414, - 41.95036 - ] - }, - n439: { - id: "n439", - loc: [ - -85.63452, - 41.943511 - ] - }, - n4390: { - id: "n4390", - loc: [ - -85.62231, - 41.950362 - ] - }, - n4391: { - id: "n4391", - loc: [ - -85.622309, - 41.950323 - ] - }, - n4392: { - id: "n4392", - loc: [ - -85.622015, - 41.950539 - ] - }, - n4393: { - id: "n4393", - loc: [ - -85.621909, - 41.95054 - ] - }, - n4394: { - id: "n4394", - loc: [ - -85.621909, - 41.950472 - ] - }, - n4395: { - id: "n4395", - loc: [ - -85.622015, - 41.950471 - ] - }, - n4396: { - id: "n4396", - loc: [ - -85.62199, - 41.950439 - ] - }, - n4397: { - id: "n4397", - loc: [ - -85.621956, - 41.95044 - ] - }, - n4398: { - id: "n4398", - loc: [ - -85.621955, - 41.950405 - ] - }, - n4399: { - id: "n4399", - loc: [ - -85.621988, - 41.950404 - ] - }, - n44: { - id: "n44", - loc: [ - -85.636799, - 41.943055 - ] - }, - n440: { - id: "n440", - loc: [ - -85.63451, - 41.943534 - ] - }, - n4400: { - id: "n4400", - loc: [ - -85.621668, - 41.950418 - ] - }, - n4401: { - id: "n4401", - loc: [ - -85.621667, - 41.950343 - ] - }, - n4402: { - id: "n4402", - loc: [ - -85.621745, - 41.950342 - ] - }, - n4403: { - id: "n4403", - loc: [ - -85.621744, - 41.950306 - ] - }, - n4404: { - id: "n4404", - loc: [ - -85.621764, - 41.950306 - ] - }, - n4405: { - id: "n4405", - loc: [ - -85.621763, - 41.950254 - ] - }, - n4406: { - id: "n4406", - loc: [ - -85.621861, - 41.950253 - ] - }, - n4407: { - id: "n4407", - loc: [ - -85.621861, - 41.950274 - ] - }, - n4408: { - id: "n4408", - loc: [ - -85.621896, - 41.950273 - ] - }, - n4409: { - id: "n4409", - loc: [ - -85.621898, - 41.950389 - ] - }, - n441: { - id: "n441", - loc: [ - -85.634483, - 41.943556 - ] - }, - n4410: { - id: "n4410", - loc: [ - -85.621843, - 41.95039 - ] - }, - n4411: { - id: "n4411", - loc: [ - -85.621843, - 41.950425 - ] - }, - n4412: { - id: "n4412", - loc: [ - -85.621789, - 41.950425 - ] - }, - n4413: { - id: "n4413", - loc: [ - -85.621789, - 41.950386 - ] - }, - n4414: { - id: "n4414", - loc: [ - -85.621752, - 41.950387 - ] - }, - n4415: { - id: "n4415", - loc: [ - -85.621753, - 41.950417 - ] - }, - n4416: { - id: "n4416", - loc: [ - -85.621556, - 41.950562 - ] - }, - n4417: { - id: "n4417", - loc: [ - -85.621552, - 41.950217 - ] - }, - n4418: { - id: "n4418", - loc: [ - -85.621788, - 41.950562 - ] - }, - n4419: { - id: "n4419", - loc: [ - -85.621155, - 41.950562 - ] - }, - n442: { - id: "n442", - loc: [ - -85.63419, - 41.943713 - ] - }, - n4420: { - id: "n4420", - loc: [ - -85.622473, - 41.950551 - ] - }, - n4421: { - id: "n4421", - loc: [ - -85.622043, - 41.950551 - ] - }, - n4422: { - id: "n4422", - loc: [ - -85.62142, - 41.950454 - ] - }, - n4423: { - id: "n4423", - loc: [ - -85.621315, - 41.950455 - ] - }, - n4424: { - id: "n4424", - loc: [ - -85.621313, - 41.950311 - ] - }, - n4425: { - id: "n4425", - loc: [ - -85.621388, - 41.950311 - ] - }, - n4426: { - id: "n4426", - loc: [ - -85.621387, - 41.950261 - ] - }, - n4427: { - id: "n4427", - loc: [ - -85.621468, - 41.95026 - ] - }, - n4428: { - id: "n4428", - loc: [ - -85.621468, - 41.950271 - ] - }, - n4429: { - id: "n4429", - loc: [ - -85.621503, - 41.95027 - ] - }, - n443: { - id: "n443", - loc: [ - -85.634462, - 41.943294 - ] - }, - n4430: { - id: "n4430", - loc: [ - -85.621505, - 41.950353 - ] - }, - n4431: { - id: "n4431", - loc: [ - -85.621483, - 41.950354 - ] - }, - n4432: { - id: "n4432", - loc: [ - -85.621483, - 41.950392 - ] - }, - n4433: { - id: "n4433", - loc: [ - -85.621419, - 41.950393 - ] - }, - n4434: { - id: "n4434", - loc: [ - -85.621213, - 41.95039 - ] - }, - n4435: { - id: "n4435", - loc: [ - -85.621127, - 41.950391 - ] - }, - n4436: { - id: "n4436", - loc: [ - -85.621126, - 41.950357 - ] - }, - n4437: { - id: "n4437", - loc: [ - -85.621094, - 41.950357 - ] - }, - n4438: { - id: "n4438", - loc: [ - -85.621094, - 41.950391 - ] - }, - n4439: { - id: "n4439", - loc: [ - -85.620977, - 41.950392 - ] - }, - n444: { - id: "n444", - loc: [ - -85.634298, - 41.943389 - ] - }, - n4440: { - id: "n4440", - loc: [ - -85.620975, - 41.950278 - ] - }, - n4441: { - id: "n4441", - loc: [ - -85.621087, - 41.950277 - ] - }, - n4442: { - id: "n4442", - loc: [ - -85.621088, - 41.950331 - ] - }, - n4443: { - id: "n4443", - loc: [ - -85.621211, - 41.950312 - ] - }, - n4444: { - id: "n4444", - loc: [ - -85.621104, - 41.950313 - ] - }, - n4445: { - id: "n4445", - loc: [ - -85.621105, - 41.950331 - ] - }, - n4446: { - id: "n4446", - loc: [ - -85.620706, - 41.950328 - ] - }, - n4447: { - id: "n4447", - loc: [ - -85.620606, - 41.950327 - ] - }, - n4448: { - id: "n4448", - loc: [ - -85.620607, - 41.950261 - ] - }, - n4449: { - id: "n4449", - loc: [ - -85.620707, - 41.950262 - ] - }, - n445: { - id: "n445", - loc: [ - -85.634527, - 41.943623 - ] - }, - n4450: { - id: "n4450", - loc: [ - -85.620599, - 41.950336 - ] - }, - n4451: { - id: "n4451", - loc: [ - -85.620559, - 41.950336 - ] - }, - n4452: { - id: "n4452", - loc: [ - -85.620559, - 41.950299 - ] - }, - n4453: { - id: "n4453", - loc: [ - -85.620599, - 41.950299 - ] - }, - n4454: { - id: "n4454", - loc: [ - -85.620545, - 41.950357 - ] - }, - n4455: { - id: "n4455", - loc: [ - -85.620418, - 41.950357 - ] - }, - n4456: { - id: "n4456", - loc: [ - -85.620417, - 41.950257 - ] - }, - n4457: { - id: "n4457", - loc: [ - -85.620544, - 41.950256 - ] - }, - n4458: { - id: "n4458", - loc: [ - -85.620246, - 41.950131 - ], - tags: { - highway: "crossing" - } - }, - n4459: { - id: "n4459", - loc: [ - -85.620252, - 41.950956 - ] - }, - n446: { - id: "n446", - loc: [ - -85.634608, - 41.943577 - ] - }, - n4460: { - id: "n4460", - loc: [ - -85.620245, - 41.950179 - ] - }, - n4461: { - id: "n4461", - loc: [ - -85.620246, - 41.950088 - ] - }, - n4462: { - id: "n4462", - loc: [ - -85.620251, - 41.950885 - ] - }, - n4463: { - id: "n4463", - loc: [ - -85.620103, - 41.950884 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n4464: { - id: "n4464", - loc: [ - -85.619992, - 41.950884 - ] - }, - n4465: { - id: "n4465", - loc: [ - -85.619704, - 41.951008 - ] - }, - n4466: { - id: "n4466", - loc: [ - -85.619599, - 41.951122 - ] - }, - n4467: { - id: "n4467", - loc: [ - -85.619264, - 41.951486 - ] - }, - n4468: { - id: "n4468", - loc: [ - -85.619179, - 41.951573 - ], - tags: { - highway: "crossing" - } - }, - n4469: { - id: "n4469", - loc: [ - -85.620251, - 41.950999 - ], - tags: { - highway: "crossing" - } - }, - n447: { - id: "n447", - loc: [ - -85.634555, - 41.943531 - ] - }, - n4470: { - id: "n4470", - loc: [ - -85.620249, - 41.951066 - ] - }, - n4471: { - id: "n4471", - loc: [ - -85.620256, - 41.951374 - ] - }, - n4472: { - id: "n4472", - loc: [ - -85.620249, - 41.951389 - ] - }, - n4473: { - id: "n4473", - loc: [ - -85.620249, - 41.951407 - ] - }, - n4474: { - id: "n4474", - loc: [ - -85.620255, - 41.951423 - ] - }, - n4475: { - id: "n4475", - loc: [ - -85.62026, - 41.951853 - ] - }, - n4476: { - id: "n4476", - loc: [ - -85.620262, - 41.951894 - ], - tags: { - highway: "crossing" - } - }, - n4477: { - id: "n4477", - loc: [ - -85.620265, - 41.951957 - ] - }, - n4478: { - id: "n4478", - loc: [ - -85.620262, - 41.952135 - ] - }, - n4479: { - id: "n4479", - loc: [ - -85.620241, - 41.952424 - ] - }, - n448: { - id: "n448", - loc: [ - -85.634555, - 41.943482 - ] - }, - n4480: { - id: "n4480", - loc: [ - -85.620213, - 41.952583 - ] - }, - n4481: { - id: "n4481", - loc: [ - -85.620158, - 41.952754 - ] - }, - n4482: { - id: "n4482", - loc: [ - -85.620065, - 41.952942 - ] - }, - n4483: { - id: "n4483", - loc: [ - -85.619753, - 41.953439 - ] - }, - n4484: { - id: "n4484", - loc: [ - -85.619605, - 41.953626 - ] - }, - n4485: { - id: "n4485", - loc: [ - -85.619381, - 41.953834 - ] - }, - n4486: { - id: "n4486", - loc: [ - -85.619069, - 41.954066 - ] - }, - n4487: { - id: "n4487", - loc: [ - -85.618674, - 41.95429 - ] - }, - n4488: { - id: "n4488", - loc: [ - -85.621816, - 41.952389 - ] - }, - n4489: { - id: "n4489", - loc: [ - -85.6217, - 41.952386 - ] - }, - n449: { - id: "n449", - loc: [ - -85.634509, - 41.943427 - ] - }, - n4490: { - id: "n4490", - loc: [ - -85.621705, - 41.952306 - ] - }, - n4491: { - id: "n4491", - loc: [ - -85.621821, - 41.95231 - ] - }, - n4492: { - id: "n4492", - loc: [ - -85.621819, - 41.952272 - ] - }, - n4493: { - id: "n4493", - loc: [ - -85.621778, - 41.952272 - ] - }, - n4494: { - id: "n4494", - loc: [ - -85.621778, - 41.952199 - ] - }, - n4495: { - id: "n4495", - loc: [ - -85.621818, - 41.952199 - ] - }, - n4496: { - id: "n4496", - loc: [ - -85.621754, - 41.952281 - ] - }, - n4497: { - id: "n4497", - loc: [ - -85.621701, - 41.95228 - ] - }, - n4498: { - id: "n4498", - loc: [ - -85.621702, - 41.952197 - ] - }, - n4499: { - id: "n4499", - loc: [ - -85.621755, - 41.952197 - ] - }, - n45: { - id: "n45", - loc: [ - -85.636791, - 41.942792 - ] - }, - n450: { - id: "n450", - loc: [ - -85.63453, - 41.943365 - ] - }, - n4500: { - id: "n4500", - loc: [ - -85.628201, - 41.954694 - ], - tags: { - highway: "stop", - stop: "all", - direction: "forward" - } - }, - n4501: { - id: "n4501", - loc: [ - -85.627921, - 41.954783 - ], - tags: { - highway: "stop", - stop: "all", - direction: "backward" - } - }, - n4502: { - id: "n4502", - loc: [ - -85.62775, - 41.954696 - ], - tags: { - highway: "stop", - stop: "all", - direction: "backward" - } - }, - n4503: { - id: "n4503", - loc: [ - -85.628046, - 41.954591 - ], - tags: { - highway: "stop", - stop: "all", - direction: "forward" - } - }, - n4504: { - id: "n4504", - loc: [ - -85.631074, - 41.957428 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4505: { - id: "n4505", - loc: [ - -85.630768, - 41.957429 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4506: { - id: "n4506", - loc: [ - -85.629888, - 41.957432 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4507: { - id: "n4507", - loc: [ - -85.629565, - 41.957433 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "forward" - } - }, - n4508: { - id: "n4508", - loc: [ - -85.629559, - 41.957343 - ] - }, - n4509: { - id: "n4509", - loc: [ - -85.628723, - 41.95735 - ] - }, - n451: { - id: "n451", - loc: [ - -85.634356, - 41.943468 - ] - }, - n4510: { - id: "n4510", - loc: [ - -85.62842, - 41.957515 - ] - }, - n4511: { - id: "n4511", - loc: [ - -85.627561, - 41.957525 - ] - }, - n4512: { - id: "n4512", - loc: [ - -85.630323, - 41.957508 - ] - }, - n4513: { - id: "n4513", - loc: [ - -85.630811, - 41.957506 - ] - }, - n4514: { - id: "n4514", - loc: [ - -85.630839, - 41.960874 - ] - }, - n4515: { - id: "n4515", - loc: [ - -85.631035, - 41.957506 - ] - }, - n4516: { - id: "n4516", - loc: [ - -85.632027, - 41.9575 - ] - }, - n4517: { - id: "n4517", - loc: [ - -85.631038, - 41.958066 - ] - }, - n4518: { - id: "n4518", - loc: [ - -85.630787, - 41.954769 - ] - }, - n4519: { - id: "n4519", - loc: [ - -85.630806, - 41.957342 - ] - }, - n452: { - id: "n452", - loc: [ - -85.634123, - 41.943596 - ] - }, - n4520: { - id: "n4520", - loc: [ - -85.630809, - 41.957428 - ], - tags: { - highway: "crossing" - } - }, - n4521: { - id: "n4521", - loc: [ - -85.630912, - 41.957506 - ], - tags: { - highway: "crossing" - } - }, - n4522: { - id: "n4522", - loc: [ - -85.631033, - 41.957428 - ], - tags: { - highway: "crossing" - } - }, - n4523: { - id: "n4523", - loc: [ - -85.631032, - 41.957341 - ] - }, - n4524: { - id: "n4524", - loc: [ - -85.63091, - 41.957341 - ], - tags: { - highway: "crossing" - } - }, - n4525: { - id: "n4525", - loc: [ - -85.631027, - 41.95597 - ] - }, - n4526: { - id: "n4526", - loc: [ - -85.631027, - 41.955913 - ], - tags: { - highway: "crossing" - } - }, - n4527: { - id: "n4527", - loc: [ - -85.631025, - 41.955873 - ] - }, - n4528: { - id: "n4528", - loc: [ - -85.631073, - 41.955913 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4529: { - id: "n4529", - loc: [ - -85.631007, - 41.954766 - ] - }, - n453: { - id: "n453", - loc: [ - -85.634709, - 41.943926 - ] - }, - n4530: { - id: "n4530", - loc: [ - -85.630881, - 41.954768 - ], - tags: { - highway: "crossing" - } - }, - n4531: { - id: "n4531", - loc: [ - -85.628022, - 41.954776 - ] - }, - n4532: { - id: "n4532", - loc: [ - -85.627385, - 41.95584 - ] - }, - n4533: { - id: "n4533", - loc: [ - -85.627329, - 41.955937 - ] - }, - n4534: { - id: "n4534", - loc: [ - -85.626583, - 41.957153 - ] - }, - n4535: { - id: "n4535", - loc: [ - -85.629675, - 41.954564 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4536: { - id: "n4536", - loc: [ - -85.630881, - 41.954806 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4537: { - id: "n4537", - loc: [ - -85.630879, - 41.954564 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "forward" - } - }, - n4538: { - id: "n4538", - loc: [ - -85.630784, - 41.954682 - ], - tags: { - highway: "crossing" - } - }, - n4539: { - id: "n4539", - loc: [ - -85.63078, - 41.954595 - ] - }, - n454: { - id: "n454", - loc: [ - -85.63525, - 41.943855 - ] - }, - n4540: { - id: "n4540", - loc: [ - -85.630879, - 41.954595 - ], - tags: { - highway: "crossing" - } - }, - n4541: { - id: "n4541", - loc: [ - -85.631004, - 41.954594 - ] - }, - n4542: { - id: "n4542", - loc: [ - -85.631006, - 41.954681 - ], - tags: { - highway: "crossing" - } - }, - n4543: { - id: "n4543", - loc: [ - -85.631045, - 41.959036 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4544: { - id: "n4544", - loc: [ - -85.632071, - 41.959029 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "forward" - } - }, - n4545: { - id: "n4545", - loc: [ - -85.632257, - 41.959027 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4546: { - id: "n4546", - loc: [ - -85.631966, - 41.957427 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4547: { - id: "n4547", - loc: [ - -85.632297, - 41.957426 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4548: { - id: "n4548", - loc: [ - -85.631976, - 41.955911 - ], - tags: { - highway: "give_way", - direction: "forward" - } - }, - n4549: { - id: "n4549", - loc: [ - -85.632272, - 41.955911 - ], - tags: { - highway: "give_way", - direction: "backward" - } - }, - n455: { - id: "n455", - loc: [ - -85.635224, - 41.943869 - ] - }, - n4550: { - id: "n4550", - loc: [ - -85.632097, - 41.954805 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4551: { - id: "n4551", - loc: [ - -85.632094, - 41.954566 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "forward" - } - }, - n4552: { - id: "n4552", - loc: [ - -85.626519, - 41.957256 - ] - }, - n4553: { - id: "n4553", - loc: [ - -85.625334, - 41.959165 - ] - }, - n4554: { - id: "n4554", - loc: [ - -85.626483, - 41.95806 - ] - }, - n4555: { - id: "n4555", - loc: [ - -85.626481, - 41.958175 - ] - }, - n4556: { - id: "n4556", - loc: [ - -85.626412, - 41.958174 - ] - }, - n4557: { - id: "n4557", - loc: [ - -85.626412, - 41.958202 - ] - }, - n4558: { - id: "n4558", - loc: [ - -85.62628, - 41.958201 - ] - }, - n4559: { - id: "n4559", - loc: [ - -85.626283, - 41.958057 - ] - }, - n456: { - id: "n456", - loc: [ - -85.638854, - 41.943104 - ] - }, - n4560: { - id: "n4560", - loc: [ - -85.622763, - 41.95109 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4561: { - id: "n4561", - loc: [ - -85.622858, - 41.950876 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4562: { - id: "n4562", - loc: [ - -85.624073, - 41.950393 - ] - }, - n4563: { - id: "n4563", - loc: [ - -85.624077, - 41.950924 - ] - }, - n4564: { - id: "n4564", - loc: [ - -85.624599, - 41.950984 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4565: { - id: "n4565", - loc: [ - -85.624831, - 41.95119 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4566: { - id: "n4566", - loc: [ - -85.624437, - 41.952568 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4567: { - id: "n4567", - loc: [ - -85.624077, - 41.954606 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4568: { - id: "n4568", - loc: [ - -85.624263, - 41.954888 - ] - }, - n4569: { - id: "n4569", - loc: [ - -85.624206, - 41.954919 - ] - }, - n457: { - id: "n457", - loc: [ - -85.635186, - 41.943901 - ] - }, - n4570: { - id: "n4570", - loc: [ - -85.624154, - 41.954865 - ] - }, - n4571: { - id: "n4571", - loc: [ - -85.624212, - 41.954835 - ] - }, - n4572: { - id: "n4572", - loc: [ - -85.622442, - 41.954401 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4573: { - id: "n4573", - loc: [ - -85.619751, - 41.954658 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4574: { - id: "n4574", - loc: [ - -85.617785, - 41.954534 - ] - }, - n4575: { - id: "n4575", - loc: [ - -85.617416, - 41.954721 - ] - }, - n4576: { - id: "n4576", - loc: [ - -85.617662, - 41.95474 - ] - }, - n4577: { - id: "n4577", - loc: [ - -85.618014, - 41.954717 - ] - }, - n4578: { - id: "n4578", - loc: [ - -85.617886, - 41.954671 - ] - }, - n4579: { - id: "n4579", - loc: [ - -85.617831, - 41.954612 - ] - }, - n458: { - id: "n458", - loc: [ - -85.635162, - 41.943917 - ] - }, - n4580: { - id: "n4580", - loc: [ - -85.617968, - 41.954752 - ] - }, - n4581: { - id: "n4581", - loc: [ - -85.617815, - 41.954752 - ] - }, - n4582: { - id: "n4582", - loc: [ - -85.617938, - 41.954695 - ] - }, - n4583: { - id: "n4583", - loc: [ - -85.617856, - 41.954642 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4584: { - id: "n4584", - loc: [ - -85.619116, - 41.954164 - ], - tags: { - man_made: "flagpole" - } - }, - n4585: { - id: "n4585", - loc: [ - -85.619569, - 41.953255 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4586: { - id: "n4586", - loc: [ - -85.620352, - 41.951894 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4587: { - id: "n4587", - loc: [ - -85.620485, - 41.951948 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4588: { - id: "n4588", - loc: [ - -85.620316, - 41.950999 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4589: { - id: "n4589", - loc: [ - -85.620311, - 41.950131 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n459: { - id: "n459", - loc: [ - -85.634856, - 41.943905 - ] - }, - n4590: { - id: "n4590", - loc: [ - -85.620374, - 41.95018 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4591: { - id: "n4591", - loc: [ - -85.620301, - 41.949239 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4592: { - id: "n4592", - loc: [ - -85.620278, - 41.947443 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4593: { - id: "n4593", - loc: [ - -85.619844, - 41.947444 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4594: { - id: "n4594", - loc: [ - -85.620191, - 41.947352 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4595: { - id: "n4595", - loc: [ - -85.622819, - 41.947493 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4596: { - id: "n4596", - loc: [ - -85.622744, - 41.947541 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4597: { - id: "n4597", - loc: [ - -85.622739, - 41.947316 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4598: { - id: "n4598", - loc: [ - -85.622909, - 41.948333 - ], - tags: { - highway: "give_way" - } - }, - n4599: { - id: "n4599", - loc: [ - -85.622593, - 41.948333 - ], - tags: { - highway: "give_way" - } - }, - n46: { - id: "n46", - loc: [ - -85.637131, - 41.94307 - ] - }, - n460: { - id: "n460", - loc: [ - -85.634811, - 41.944007 - ] - }, - n4600: { - id: "n4600", - loc: [ - -85.622835, - 41.948387 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4601: { - id: "n4601", - loc: [ - -85.622768, - 41.949125 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4602: { - id: "n4602", - loc: [ - -85.622769, - 41.949325 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4603: { - id: "n4603", - loc: [ - -85.622837, - 41.949329 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4604: { - id: "n4604", - loc: [ - -85.622614, - 41.950113 - ], - tags: { - highway: "give_way", - direction: "forward" - } - }, - n4605: { - id: "n4605", - loc: [ - -85.624777, - 41.949219 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4606: { - id: "n4606", - loc: [ - -85.624849, - 41.949106 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4607: { - id: "n4607", - loc: [ - -85.624858, - 41.950119 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4608: { - id: "n4608", - loc: [ - -85.624752, - 41.948334 - ], - tags: { - highway: "give_way" - } - }, - n4609: { - id: "n4609", - loc: [ - -85.624845, - 41.948422 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n461: { - id: "n461", - loc: [ - -85.634987, - 41.943112 - ] - }, - n4610: { - id: "n4610", - loc: [ - -85.62484, - 41.947539 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4611: { - id: "n4611", - loc: [ - -85.62476, - 41.947428 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "forward" - } - }, - n4612: { - id: "n4612", - loc: [ - -85.620286, - 41.950926 - ] - }, - n4613: { - id: "n4613", - loc: [ - -85.618237, - 41.950963 - ] - }, - n4614: { - id: "n4614", - loc: [ - -85.618107, - 41.950876 - ] - }, - n4615: { - id: "n4615", - loc: [ - -85.618131, - 41.950393 - ] - }, - n4616: { - id: "n4616", - loc: [ - -85.618232, - 41.949913 - ] - }, - n4617: { - id: "n4617", - loc: [ - -85.619138, - 41.950212 - ] - }, - n4618: { - id: "n4618", - loc: [ - -85.619299, - 41.950388 - ] - }, - n4619: { - id: "n4619", - loc: [ - -85.619306, - 41.950897 - ] - }, - n462: { - id: "n462", - loc: [ - -85.634698, - 41.943194 - ] - }, - n4620: { - id: "n4620", - loc: [ - -85.619155, - 41.950958 - ] - }, - n4621: { - id: "n4621", - loc: [ - -85.620079, - 41.947715 - ] - }, - n4622: { - id: "n4622", - loc: [ - -85.619674, - 41.947728 - ] - }, - n4623: { - id: "n4623", - loc: [ - -85.619634, - 41.947735 - ] - }, - n4624: { - id: "n4624", - loc: [ - -85.619587, - 41.947756 - ], - tags: { - barrier: "gate" - } - }, - n4625: { - id: "n4625", - loc: [ - -85.61953, - 41.947796 - ] - }, - n4626: { - id: "n4626", - loc: [ - -85.619475, - 41.947847 - ] - }, - n4627: { - id: "n4627", - loc: [ - -85.619433, - 41.947903 - ] - }, - n4628: { - id: "n4628", - loc: [ - -85.619402, - 41.947982 - ] - }, - n4629: { - id: "n4629", - loc: [ - -85.619394, - 41.948043 - ] - }, - n463: { - id: "n463", - loc: [ - -85.634632, - 41.943219 - ] - }, - n4630: { - id: "n4630", - loc: [ - -85.619395, - 41.948476 - ] - }, - n4631: { - id: "n4631", - loc: [ - -85.618367, - 41.947452 - ] - }, - n4632: { - id: "n4632", - loc: [ - -85.618371, - 41.947567 - ], - tags: { - barrier: "gate" - } - }, - n4633: { - id: "n4633", - loc: [ - -85.618341, - 41.947622 - ] - }, - n4634: { - id: "n4634", - loc: [ - -85.618138, - 41.94773 - ] - }, - n4635: { - id: "n4635", - loc: [ - -85.618078, - 41.947814 - ] - }, - n4636: { - id: "n4636", - loc: [ - -85.618072, - 41.948009 - ] - }, - n4637: { - id: "n4637", - loc: [ - -85.618269, - 41.947666 - ] - }, - n4638: { - id: "n4638", - loc: [ - -85.618099, - 41.947765 - ] - }, - n4639: { - id: "n4639", - loc: [ - -85.618378, - 41.954453 - ] - }, - n464: { - id: "n464", - loc: [ - -85.63459, - 41.943239 - ] - }, - n4640: { - id: "n4640", - loc: [ - -85.618198, - 41.95453 - ] - }, - n4641: { - id: "n4641", - loc: [ - -85.618212, - 41.954623 - ] - }, - n4642: { - id: "n4642", - loc: [ - -85.635211, - 41.943103 - ], - tags: { - leisure: "picnic_table" - } - }, - n4643: { - id: "n4643", - loc: [ - -85.635345, - 41.943448 - ], - tags: { - leisure: "picnic_table" - } - }, - n4644: { - id: "n4644", - loc: [ - -85.635901, - 41.943353 - ], - tags: { - amenity: "bench" - } - }, - n4645: { - id: "n4645", - loc: [ - -85.635815, - 41.942638 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4646: { - id: "n4646", - loc: [ - -85.635355, - 41.942044 - ], - tags: { - leisure: "picnic_table" - } - }, - n4647: { - id: "n4647", - loc: [ - -85.635206, - 41.942045 - ], - tags: { - leisure: "picnic_table" - } - }, - n4648: { - id: "n4648", - loc: [ - -85.63504, - 41.941992 - ], - tags: { - leisure: "picnic_table" - } - }, - n4649: { - id: "n4649", - loc: [ - -85.635185, - 41.942001 - ] - }, - n465: { - id: "n465", - loc: [ - -85.634555, - 41.943263 - ] - }, - n4650: { - id: "n4650", - loc: [ - -85.635176, - 41.942021 - ] - }, - n4651: { - id: "n4651", - loc: [ - -85.635127, - 41.942008 - ] - }, - n4652: { - id: "n4652", - loc: [ - -85.635136, - 41.941988 - ] - }, - n4653: { - id: "n4653", - loc: [ - -85.635, - 41.941709 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4654: { - id: "n4654", - loc: [ - -85.634893, - 41.941801 - ] - }, - n4655: { - id: "n4655", - loc: [ - -85.634937, - 41.941843 - ] - }, - n4656: { - id: "n4656", - loc: [ - -85.634963, - 41.941859 - ] - }, - n4657: { - id: "n4657", - loc: [ - -85.635027, - 41.941904 - ] - }, - n4658: { - id: "n4658", - loc: [ - -85.63494, - 41.94187 - ] - }, - n4659: { - id: "n4659", - loc: [ - -85.634951, - 41.941871 - ] - }, - n466: { - id: "n466", - loc: [ - -85.634526, - 41.943289 - ] - }, - n4660: { - id: "n4660", - loc: [ - -85.634753, - 41.941701 - ], - tags: { - amenity: "drinking_water" - } - }, - n4661: { - id: "n4661", - loc: [ - -85.634717, - 41.941804 - ], - tags: { - amenity: "bench" - } - }, - n4662: { - id: "n4662", - loc: [ - -85.634554, - 41.941883 - ], - tags: { - amenity: "bench" - } - }, - n4663: { - id: "n4663", - loc: [ - -85.635002, - 41.941579 - ], - tags: { - amenity: "fountain" - } - }, - n4664: { - id: "n4664", - loc: [ - -85.635258, - 41.94188 - ], - tags: { - amenity: "waste_basket" - } - }, - n4665: { - id: "n4665", - loc: [ - -85.635262, - 41.941581 - ], - tags: { - amenity: "bench" - } - }, - n4666: { - id: "n4666", - loc: [ - -85.635319, - 41.941744 - ], - tags: { - amenity: "bench" - } - }, - n4667: { - id: "n4667", - loc: [ - -85.634702, - 41.941473 - ], - tags: { - amenity: "waste_basket" - } - }, - n4668: { - id: "n4668", - loc: [ - -85.633981, - 41.941966 - ], - tags: { - amenity: "bench" - } - }, - n4669: { - id: "n4669", - loc: [ - -85.63388, - 41.941743 - ] - }, - n467: { - id: "n467", - loc: [ - -85.635163, - 41.944985 - ] - }, - n4670: { - id: "n4670", - loc: [ - -85.633746, - 41.941741 - ] - }, - n4671: { - id: "n4671", - loc: [ - -85.633749, - 41.941664 - ] - }, - n4672: { - id: "n4672", - loc: [ - -85.633883, - 41.941667 - ] - }, - n4673: { - id: "n4673", - loc: [ - -85.634283, - 41.941183 - ], - tags: { - leisure: "picnic_table" - } - }, - n4674: { - id: "n4674", - loc: [ - -85.634046, - 41.941102 - ], - tags: { - amenity: "bbq" - } - }, - n4675: { - id: "n4675", - loc: [ - -85.63401, - 41.941093 - ], - tags: { - amenity: "bbq" - } - }, - n4676: { - id: "n4676", - loc: [ - -85.633408, - 41.940862 - ], - tags: { - amenity: "bench" - } - }, - n4677: { - id: "n4677", - loc: [ - -85.633359, - 41.940651 - ], - tags: { - amenity: "bench" - } - }, - n4678: { - id: "n4678", - loc: [ - -85.634109, - 41.940831 - ] - }, - n4679: { - id: "n4679", - loc: [ - -85.63396, - 41.940867 - ] - }, - n468: { - id: "n468", - loc: [ - -85.635095, - 41.945035 - ] - }, - n4680: { - id: "n4680", - loc: [ - -85.633816, - 41.940913 - ] - }, - n4681: { - id: "n4681", - loc: [ - -85.633237, - 41.940455 - ] - }, - n4682: { - id: "n4682", - loc: [ - -85.634453, - 41.940025 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4683: { - id: "n4683", - loc: [ - -85.635692, - 41.940218 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4684: { - id: "n4684", - loc: [ - -85.635566, - 41.940102 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4685: { - id: "n4685", - loc: [ - -85.635961, - 41.940125 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4686: { - id: "n4686", - loc: [ - -85.635883, - 41.94012 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n4687: { - id: "n4687", - loc: [ - -85.635883, - 41.94006 - ] - }, - n4688: { - id: "n4688", - loc: [ - -85.635768, - 41.940051 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n4689: { - id: "n4689", - loc: [ - -85.635669, - 41.940043 - ] - }, - n469: { - id: "n469", - loc: [ - -85.634269, - 41.944431 - ] - }, - n4690: { - id: "n4690", - loc: [ - -85.635661, - 41.940107 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n4691: { - id: "n4691", - loc: [ - -85.635424, - 41.941005 - ], - tags: { - amenity: "fountain" - } - }, - n4692: { - id: "n4692", - loc: [ - -85.635542, - 41.941371 - ], - tags: { - amenity: "bench" - } - }, - n4693: { - id: "n4693", - loc: [ - -85.635709, - 41.941341 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4694: { - id: "n4694", - loc: [ - -85.637038, - 41.942513 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4695: { - id: "n4695", - loc: [ - -85.637174, - 41.941354 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4696: { - id: "n4696", - loc: [ - -85.637091, - 41.941273 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4697: { - id: "n4697", - loc: [ - -85.638058, - 41.941346 - ], - tags: { - highway: "give_way", - direction: "forward" - } - }, - n4698: { - id: "n4698", - loc: [ - -85.638359, - 41.941344 - ], - tags: { - highway: "give_way", - direction: "backward" - } - }, - n4699: { - id: "n4699", - loc: [ - -85.638288, - 41.941236 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n47: { - id: "n47", - loc: [ - -85.636693, - 41.943073 - ] - }, - n470: { - id: "n470", - loc: [ - -85.634352, - 41.944376 - ] - }, - n4700: { - id: "n4700", - loc: [ - -85.63935, - 41.94128 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4701: { - id: "n4701", - loc: [ - -85.639277, - 41.941337 - ], - tags: { - highway: "give_way", - direction: "forward" - } - }, - n4702: { - id: "n4702", - loc: [ - -85.639548, - 41.941334 - ], - tags: { - highway: "give_way", - direction: "backward" - } - }, - n4703: { - id: "n4703", - loc: [ - -85.642191, - 41.940039 - ] - }, - n4704: { - id: "n4704", - loc: [ - -85.640585, - 41.941263 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4705: { - id: "n4705", - loc: [ - -85.64049, - 41.941327 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4706: { - id: "n4706", - loc: [ - -85.640803, - 41.941324 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4707: { - id: "n4707", - loc: [ - -85.641717, - 41.941317 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "all" - } - }, - n4708: { - id: "n4708", - loc: [ - -85.641846, - 41.941415 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "all" - } - }, - n4709: { - id: "n4709", - loc: [ - -85.641756, - 41.941392 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n471: { - id: "n471", - loc: [ - -85.634747, - 41.944561 - ], - tags: { - railway: "crossing" - } - }, - n4710: { - id: "n4710", - loc: [ - -85.642014, - 41.941313 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "all" - } - }, - n4711: { - id: "n4711", - loc: [ - -85.641854, - 41.942455 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4712: { - id: "n4712", - loc: [ - -85.641859, - 41.942739 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4713: { - id: "n4713", - loc: [ - -85.640754, - 41.942707 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4714: { - id: "n4714", - loc: [ - -85.640669, - 41.942716 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4715: { - id: "n4715", - loc: [ - -85.640664, - 41.942478 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4716: { - id: "n4716", - loc: [ - -85.63964, - 41.94274 - ], - tags: { - man_made: "flagpole" - } - }, - n4717: { - id: "n4717", - loc: [ - -85.639455, - 41.942731 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4718: { - id: "n4718", - loc: [ - -85.63945, - 41.942492 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4719: { - id: "n4719", - loc: [ - -85.639527, - 41.942505 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n472: { - id: "n472", - loc: [ - -85.634667, - 41.944613 - ] - }, - n4720: { - id: "n4720", - loc: [ - -85.638238, - 41.942745 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "minor" - } - }, - n4721: { - id: "n4721", - loc: [ - -85.638233, - 41.942511 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4722: { - id: "n4722", - loc: [ - -85.638018, - 41.94299 - ], - tags: { - amenity: "waste_disposal" - } - }, - n4723: { - id: "n4723", - loc: [ - -85.637918, - 41.944152 - ], - tags: { - amenity: "waste_basket" - } - }, - n4724: { - id: "n4724", - loc: [ - -85.635902, - 41.943291 - ], - tags: { - leisure: "picnic_table" - } - }, - n4725: { - id: "n4725", - loc: [ - -85.63704, - 41.942741 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4726: { - id: "n4726", - loc: [ - -85.633467, - 41.943818 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4727: { - id: "n4727", - loc: [ - -85.633987, - 41.943531 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4728: { - id: "n4728", - loc: [ - -85.632154, - 41.943539 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4729: { - id: "n4729", - loc: [ - -85.633567, - 41.944641 - ], - tags: { - amenity: "bench" - } - }, - n473: { - id: "n473", - loc: [ - -85.634161, - 41.944371 - ] - }, - n4730: { - id: "n4730", - loc: [ - -85.633127, - 41.944574 - ], - tags: { - amenity: "bench" - } - }, - n4731: { - id: "n4731", - loc: [ - -85.633439, - 41.944871 - ], - tags: { - amenity: "bench" - } - }, - n4732: { - id: "n4732", - loc: [ - -85.633676, - 41.944799 - ], - tags: { - amenity: "waste_basket" - } - }, - n4733: { - id: "n4733", - loc: [ - -85.633466, - 41.944862 - ], - tags: { - amenity: "waste_basket" - } - }, - n4734: { - id: "n4734", - loc: [ - -85.633451, - 41.944847 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4735: { - id: "n4735", - loc: [ - -85.634202, - 41.945543 - ], - tags: { - amenity: "waste_basket" - } - }, - n4736: { - id: "n4736", - loc: [ - -85.634652, - 41.945472 - ], - tags: { - leisure: "picnic_table" - } - }, - n4737: { - id: "n4737", - loc: [ - -85.6347, - 41.945445 - ], - tags: { - leisure: "picnic_table" - } - }, - n4738: { - id: "n4738", - loc: [ - -85.634646, - 41.945662 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4739: { - id: "n4739", - loc: [ - -85.634673, - 41.945687 - ], - tags: { - amenity: "waste_basket" - } - }, - n474: { - id: "n474", - loc: [ - -85.633861, - 41.944117 - ] - }, - n4740: { - id: "n4740", - loc: [ - -85.63449, - 41.945827 - ], - tags: { - amenity: "clock", - display: "analog" - } - }, - n4741: { - id: "n4741", - loc: [ - -85.63481, - 41.946056 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4742: { - id: "n4742", - loc: [ - -85.634814, - 41.946176 - ], - tags: { - amenity: "post_box" - } - }, - n4743: { - id: "n4743", - loc: [ - -85.638744, - 41.945328 - ] - }, - n4744: { - id: "n4744", - loc: [ - -85.63867, - 41.945228 - ], - tags: { - amenity: "bench" - } - }, - n4745: { - id: "n4745", - loc: [ - -85.639487, - 41.945042 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4746: { - id: "n4746", - loc: [ - -85.639635, - 41.94387 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n4747: { - id: "n4747", - loc: [ - -85.639549, - 41.943756 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4748: { - id: "n4748", - loc: [ - -85.64055, - 41.943862 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4749: { - id: "n4749", - loc: [ - -85.640864, - 41.943859 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "backward" - } - }, - n475: { - id: "n475", - loc: [ - -85.633906, - 41.943535 - ] - }, - n4750: { - id: "n4750", - loc: [ - -85.640718, - 41.945022 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4751: { - id: "n4751", - loc: [ - -85.640664, - 41.945076 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4752: { - id: "n4752", - loc: [ - -85.641913, - 41.94502 - ], - tags: { - highway: "stop", - direction: "forward", - stop: "minor" - } - }, - n4753: { - id: "n4753", - loc: [ - -85.641838, - 41.945076 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4754: { - id: "n4754", - loc: [ - -85.642045, - 41.94385 - ], - tags: { - highway: "give_way", - direction: "backward" - } - }, - n4755: { - id: "n4755", - loc: [ - -85.641738, - 41.943852 - ], - tags: { - highway: "give_way", - direction: "forward" - } - }, - n4756: { - id: "n4756", - loc: [ - -85.642928, - 41.943843 - ], - tags: { - highway: "stop", - stop: "minor", - direction: "forward" - } - }, - n4757: { - id: "n4757", - loc: [ - -85.64305, - 41.943902 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n4758: { - id: "n4758", - loc: [ - -85.642986, - 41.945105 - ], - tags: { - highway: "stop", - direction: "backward", - stop: "all" - } - }, - n4759: { - id: "n4759", - loc: [ - -85.643136, - 41.94502 - ], - tags: { - highway: "stop", - stop: "all", - direction: "forward" - } - }, - n476: { - id: "n476", - loc: [ - -85.63423, - 41.943692 - ] - }, - n4760: { - id: "n4760", - loc: [ - -85.63169, - 41.947812 - ] - }, - n4761: { - id: "n4761", - loc: [ - -85.631307, - 41.947655 - ] - }, - n4762: { - id: "n4762", - loc: [ - -85.631407, - 41.947413 - ] - }, - n4763: { - id: "n4763", - loc: [ - -85.631173, - 41.947306 - ] - }, - n4764: { - id: "n4764", - loc: [ - -85.631316, - 41.947145 - ] - }, - n4765: { - id: "n4765", - loc: [ - -85.631476, - 41.947087 - ] - }, - n4766: { - id: "n4766", - loc: [ - -85.631793, - 41.946871 - ] - }, - n4767: { - id: "n4767", - loc: [ - -85.631884, - 41.946723 - ] - }, - n4768: { - id: "n4768", - loc: [ - -85.631814, - 41.946397 - ] - }, - n4769: { - id: "n4769", - loc: [ - -85.631382, - 41.947685 - ] - }, - n477: { - id: "n477", - loc: [ - -85.635096, - 41.942814 - ] - }, - n4770: { - id: "n4770", - loc: [ - -85.63109, - 41.947819 - ] - }, - n4771: { - id: "n4771", - loc: [ - -85.630921, - 41.947961 - ] - }, - n4772: { - id: "n4772", - loc: [ - -85.630249, - 41.947709 - ] - }, - n4773: { - id: "n4773", - loc: [ - -85.630149, - 41.947451 - ] - }, - n4774: { - id: "n4774", - loc: [ - -85.629733, - 41.947339 - ] - }, - n4775: { - id: "n4775", - loc: [ - -85.629755, - 41.946948 - ] - }, - n4776: { - id: "n4776", - loc: [ - -85.630457, - 41.947103 - ] - }, - n4777: { - id: "n4777", - loc: [ - -85.630934, - 41.946939 - ] - }, - n4778: { - id: "n4778", - loc: [ - -85.631277, - 41.946852 - ] - }, - n4779: { - id: "n4779", - loc: [ - -85.63142, - 41.946781 - ] - }, - n478: { - id: "n478", - loc: [ - -85.635058, - 41.942795 - ] - }, - n4780: { - id: "n4780", - loc: [ - -85.631116, - 41.946474 - ] - }, - n4781: { - id: "n4781", - loc: [ - -85.63073, - 41.945965 - ] - }, - n4782: { - id: "n4782", - loc: [ - -85.631337, - 41.94571 - ] - }, - n4783: { - id: "n4783", - loc: [ - -85.631589, - 41.945487 - ] - }, - n4784: { - id: "n4784", - loc: [ - -85.632278, - 41.945784 - ] - }, - n4785: { - id: "n4785", - loc: [ - -85.632105, - 41.946034 - ] - }, - n4786: { - id: "n4786", - loc: [ - -85.632532, - 41.946198 - ] - }, - n4787: { - id: "n4787", - loc: [ - -85.632566, - 41.946151 - ] - }, - n4788: { - id: "n4788", - loc: [ - -85.632684, - 41.946196 - ] - }, - n4789: { - id: "n4789", - loc: [ - -85.628676, - 41.947106 - ] - }, - n479: { - id: "n479", - loc: [ - -85.635002, - 41.94279 - ] - }, - n4790: { - id: "n4790", - loc: [ - -85.628973, - 41.946476 - ] - }, - n4791: { - id: "n4791", - loc: [ - -85.629094, - 41.946079 - ] - }, - n4792: { - id: "n4792", - loc: [ - -85.629226, - 41.94578 - ] - }, - n4793: { - id: "n4793", - loc: [ - -85.629479, - 41.945682 - ] - }, - n4794: { - id: "n4794", - loc: [ - -85.630606, - 41.94569 - ] - }, - n4795: { - id: "n4795", - loc: [ - -85.631255, - 41.945588 - ] - }, - n4796: { - id: "n4796", - loc: [ - -85.631546, - 41.945281 - ] - }, - n4797: { - id: "n4797", - loc: [ - -85.631629, - 41.944823 - ] - }, - n4798: { - id: "n4798", - loc: [ - -85.631766, - 41.944958 - ] - }, - n4799: { - id: "n4799", - loc: [ - -85.631689, - 41.945318 - ] - }, - n48: { - id: "n48", - loc: [ - -85.636689, - 41.94276 - ] - }, - n480: { - id: "n480", - loc: [ - -85.634908, - 41.94279 - ] - }, - n4800: { - id: "n4800", - loc: [ - -85.615069, - 41.945527 - ] - }, - n4801: { - id: "n4801", - loc: [ - -85.615058, - 41.946677 - ] - }, - n4802: { - id: "n4802", - loc: [ - -85.613692, - 41.946689 - ] - }, - n4803: { - id: "n4803", - loc: [ - -85.613475, - 41.946531 - ] - }, - n4804: { - id: "n4804", - loc: [ - -85.611717, - 41.946252 - ] - }, - n4805: { - id: "n4805", - loc: [ - -85.611353, - 41.946385 - ] - }, - n4806: { - id: "n4806", - loc: [ - -85.611304, - 41.947397 - ] - }, - n4807: { - id: "n4807", - loc: [ - -85.610564, - 41.947401 - ] - }, - n4808: { - id: "n4808", - loc: [ - -85.610553, - 41.947122 - ] - }, - n4809: { - id: "n4809", - loc: [ - -85.610194, - 41.946992 - ] - }, - n481: { - id: "n481", - loc: [ - -85.634478, - 41.942342 - ] - }, - n4810: { - id: "n4810", - loc: [ - -85.609976, - 41.946628 - ] - }, - n4811: { - id: "n4811", - loc: [ - -85.609769, - 41.946523 - ] - }, - n4812: { - id: "n4812", - loc: [ - -85.609307, - 41.946523 - ] - }, - n4813: { - id: "n4813", - loc: [ - -85.609035, - 41.946462 - ] - }, - n4814: { - id: "n4814", - loc: [ - -85.609018, - 41.943277 - ] - }, - n4815: { - id: "n4815", - loc: [ - -85.609617, - 41.943423 - ] - }, - n4816: { - id: "n4816", - loc: [ - -85.610471, - 41.943447 - ] - }, - n4817: { - id: "n4817", - loc: [ - -85.621491, - 41.949168 - ] - }, - n4818: { - id: "n4818", - loc: [ - -85.620266, - 41.94917 - ] - }, - n4819: { - id: "n4819", - loc: [ - -85.620262, - 41.947557 - ] - }, - n482: { - id: "n482", - loc: [ - -85.634521, - 41.942254 - ] - }, - n4820: { - id: "n4820", - loc: [ - -85.620825, - 41.947556 - ] - }, - n4821: { - id: "n4821", - loc: [ - -85.620827, - 41.948371 - ] - }, - n4822: { - id: "n4822", - loc: [ - -85.621489, - 41.94837 - ] - }, - n4823: { - id: "n4823", - loc: [ - -85.622865, - 41.950928 - ] - }, - n4824: { - id: "n4824", - loc: [ - -85.622858, - 41.949744 - ] - }, - n4825: { - id: "n4825", - loc: [ - -85.623696, - 41.949714 - ] - }, - n4826: { - id: "n4826", - loc: [ - -85.623696, - 41.949647 - ] - }, - n4827: { - id: "n4827", - loc: [ - -85.624019, - 41.949647 - ] - }, - n4828: { - id: "n4828", - loc: [ - -85.624024, - 41.950093 - ] - }, - n4829: { - id: "n4829", - loc: [ - -85.622885, - 41.949711 - ] - }, - n483: { - id: "n483", - loc: [ - -85.63425, - 41.941819 - ] - }, - n4830: { - id: "n4830", - loc: [ - -85.624584, - 41.951049 - ] - }, - n4831: { - id: "n4831", - loc: [ - -85.624669, - 41.9511 - ] - }, - n4832: { - id: "n4832", - loc: [ - -85.624316, - 41.952218 - ] - }, - n4833: { - id: "n4833", - loc: [ - -85.623819, - 41.952094 - ] - }, - n4834: { - id: "n4834", - loc: [ - -85.623385, - 41.952101 - ] - }, - n4835: { - id: "n4835", - loc: [ - -85.623456, - 41.951238 - ] - }, - n4836: { - id: "n4836", - loc: [ - -85.623535, - 41.951051 - ] - }, - n4837: { - id: "n4837", - loc: [ - -85.624693, - 41.950921 - ] - }, - n4838: { - id: "n4838", - loc: [ - -85.624727, - 41.950897 - ] - }, - n4839: { - id: "n4839", - loc: [ - -85.624869, - 41.950341 - ] - }, - n484: { - id: "n484", - loc: [ - -85.634324, - 41.942131 - ] - }, - n4840: { - id: "n4840", - loc: [ - -85.624859, - 41.949284 - ] - }, - n4841: { - id: "n4841", - loc: [ - -85.624788, - 41.949262 - ] - }, - n4842: { - id: "n4842", - loc: [ - -85.62402, - 41.949265 - ] - }, - n4843: { - id: "n4843", - loc: [ - -85.610382, - 41.954663 - ] - }, - n4844: { - id: "n4844", - loc: [ - -85.605675, - 41.954667 - ] - }, - n4845: { - id: "n4845", - loc: [ - -85.605669, - 41.949407 - ] - }, - n4846: { - id: "n4846", - loc: [ - -85.610376, - 41.949404 - ] - }, - n4847: { - id: "n4847", - loc: [ - -85.605552, - 41.958536 - ] - }, - n4848: { - id: "n4848", - loc: [ - -85.595755, - 41.958588 - ] - }, - n4849: { - id: "n4849", - loc: [ - -85.595732, - 41.956419 - ] - }, - n485: { - id: "n485", - loc: [ - -85.634211, - 41.941374 - ] - }, - n4850: { - id: "n4850", - loc: [ - -85.596908, - 41.955605 - ] - }, - n4851: { - id: "n4851", - loc: [ - -85.597723, - 41.955596 - ] - }, - n4852: { - id: "n4852", - loc: [ - -85.597715, - 41.954967 - ] - }, - n4853: { - id: "n4853", - loc: [ - -85.5874, - 41.955018 - ] - }, - n4854: { - id: "n4854", - loc: [ - -85.586615, - 41.955124 - ] - }, - n4855: { - id: "n4855", - loc: [ - -85.58613, - 41.955293 - ] - }, - n4856: { - id: "n4856", - loc: [ - -85.586166, - 41.962122 - ] - }, - n4857: { - id: "n4857", - loc: [ - -85.587008, - 41.955052 - ] - }, - n4858: { - id: "n4858", - loc: [ - -85.591685, - 41.95499 - ] - }, - n4859: { - id: "n4859", - loc: [ - -85.591718, - 41.956649 - ] - }, - n486: { - id: "n486", - loc: [ - -85.634085, - 41.940704 - ] - }, - n4860: { - id: "n4860", - loc: [ - -85.591133, - 41.956649 - ] - }, - n4861: { - id: "n4861", - loc: [ - -85.591061, - 41.95582 - ] - }, - n4862: { - id: "n4862", - loc: [ - -85.590677, - 41.95613 - ] - }, - n4863: { - id: "n4863", - loc: [ - -85.590826, - 41.956369 - ] - }, - n4864: { - id: "n4864", - loc: [ - -85.591016, - 41.954991 - ] - }, - n4865: { - id: "n4865", - loc: [ - -85.587656, - 41.954855 - ] - }, - n4866: { - id: "n4866", - loc: [ - -85.5964, - 41.955274 - ] - }, - n4867: { - id: "n4867", - loc: [ - -85.58776, - 41.96178 - ] - }, - n4868: { - id: "n4868", - loc: [ - -85.601172, - 41.960448 - ] - }, - n4869: { - id: "n4869", - loc: [ - -85.589489, - 41.960478 - ] - }, - n487: { - id: "n487", - loc: [ - -85.635567, - 41.940944 - ] - }, - n4870: { - id: "n4870", - loc: [ - -85.586664, - 41.960493 - ] - }, - n4871: { - id: "n4871", - loc: [ - -85.591227, - 41.95676 - ] - }, - n4872: { - id: "n4872", - loc: [ - -85.589424, - 41.958093 - ] - }, - n4873: { - id: "n4873", - loc: [ - -85.588779, - 41.957611 - ] - }, - n4874: { - id: "n4874", - loc: [ - -85.590583, - 41.956278 - ] - }, - n4875: { - id: "n4875", - loc: [ - -85.590759, - 41.957106 - ] - }, - n4876: { - id: "n4876", - loc: [ - -85.592213, - 41.958218 - ] - }, - n4877: { - id: "n4877", - loc: [ - -85.592262, - 41.958279 - ] - }, - n4878: { - id: "n4878", - loc: [ - -85.592304, - 41.958358 - ] - }, - n4879: { - id: "n4879", - loc: [ - -85.592351, - 41.95849 - ] - }, - n488: { - id: "n488", - loc: [ - -85.635542, - 41.940919 - ] - }, - n4880: { - id: "n4880", - loc: [ - -85.592363, - 41.958605 - ] - }, - n4881: { - id: "n4881", - loc: [ - -85.592383, - 41.96047 - ] - }, - n4882: { - id: "n4882", - loc: [ - -85.592376, - 41.959808 - ] - }, - n4883: { - id: "n4883", - loc: [ - -85.600825, - 41.959779 - ] - }, - n4884: { - id: "n4884", - loc: [ - -85.601084, - 41.959844 - ] - }, - n4885: { - id: "n4885", - loc: [ - -85.601144, - 41.959908 - ] - }, - n4886: { - id: "n4886", - loc: [ - -85.601164, - 41.960008 - ] - }, - n4887: { - id: "n4887", - loc: [ - -85.601162, - 41.960125 - ] - }, - n4888: { - id: "n4888", - loc: [ - -85.601134, - 41.960221 - ] - }, - n4889: { - id: "n4889", - loc: [ - -85.600993, - 41.960353 - ] - }, - n489: { - id: "n489", - loc: [ - -85.635514, - 41.940906 - ] - }, - n4890: { - id: "n4890", - loc: [ - -85.600794, - 41.960449 - ] - }, - n4891: { - id: "n4891", - loc: [ - -85.60098, - 41.959792 - ] - }, - n4892: { - id: "n4892", - loc: [ - -85.601067, - 41.960294 - ] - }, - n4893: { - id: "n4893", - loc: [ - -85.596829, - 41.959793 - ] - }, - n4894: { - id: "n4894", - loc: [ - -85.596839, - 41.960459 - ] - }, - n4895: { - id: "n4895", - loc: [ - -85.589364, - 41.958048 - ] - }, - n4896: { - id: "n4896", - loc: [ - -85.587374, - 41.959511 - ] - }, - n4897: { - id: "n4897", - loc: [ - -85.587286, - 41.959564 - ] - }, - n4898: { - id: "n4898", - loc: [ - -85.587163, - 41.959632 - ] - }, - n4899: { - id: "n4899", - loc: [ - -85.586694, - 41.959865 - ] - }, - n49: { - id: "n49", - loc: [ - -85.637127, - 41.942757 - ] - }, - n490: { - id: "n490", - loc: [ - -85.635469, - 41.940896 - ] - }, - n4900: { - id: "n4900", - loc: [ - -85.586634, - 41.959921 - ] - }, - n4901: { - id: "n4901", - loc: [ - -85.586607, - 41.960001 - ] - }, - n4902: { - id: "n4902", - loc: [ - -85.586599, - 41.960099 - ] - }, - n4903: { - id: "n4903", - loc: [ - -85.586602, - 41.96034 - ] - }, - n4904: { - id: "n4904", - loc: [ - -85.586669, - 41.960439 - ] - }, - n4905: { - id: "n4905", - loc: [ - -85.586758, - 41.960493 - ] - }, - n4906: { - id: "n4906", - loc: [ - -85.586618, - 41.960391 - ] - }, - n4907: { - id: "n4907", - loc: [ - -85.591201, - 41.956352 - ] - }, - n4908: { - id: "n4908", - loc: [ - -85.59112, - 41.954843 - ] - }, - n4909: { - id: "n4909", - loc: [ - -85.591536, - 41.956349 - ] - }, - n491: { - id: "n491", - loc: [ - -85.635667, - 41.940826 - ] - }, - n4910: { - id: "n4910", - loc: [ - -85.590953, - 41.956354 - ] - }, - n4911: { - id: "n4911", - loc: [ - -85.591468, - 41.956406 - ] - }, - n4912: { - id: "n4912", - loc: [ - -85.591469, - 41.956478 - ] - }, - n4913: { - id: "n4913", - loc: [ - -85.591123, - 41.956481 - ] - }, - n4914: { - id: "n4914", - loc: [ - -85.591121, - 41.956409 - ] - }, - n4915: { - id: "n4915", - loc: [ - -85.590826, - 41.955954 - ] - }, - n4916: { - id: "n4916", - loc: [ - -85.590612, - 41.956115 - ] - }, - n4917: { - id: "n4917", - loc: [ - -85.590402, - 41.955962 - ] - }, - n4918: { - id: "n4918", - loc: [ - -85.590622, - 41.955804 - ] - }, - n4919: { - id: "n4919", - loc: [ - -85.59011, - 41.956502 - ] - }, - n492: { - id: "n492", - loc: [ - -85.636197, - 41.940599 - ] - }, - n4920: { - id: "n4920", - loc: [ - -85.589877, - 41.956668 - ] - }, - n4921: { - id: "n4921", - loc: [ - -85.589777, - 41.95659 - ] - }, - n4922: { - id: "n4922", - loc: [ - -85.59001, - 41.956424 - ] - }, - n4923: { - id: "n4923", - loc: [ - -85.589595, - 41.956427 - ] - }, - n4924: { - id: "n4924", - loc: [ - -85.589434, - 41.956549 - ] - }, - n4925: { - id: "n4925", - loc: [ - -85.589262, - 41.956424 - ] - }, - n4926: { - id: "n4926", - loc: [ - -85.589422, - 41.956302 - ] - }, - n4927: { - id: "n4927", - loc: [ - -85.589358, - 41.956286 - ] - }, - n4928: { - id: "n4928", - loc: [ - -85.5892, - 41.956408 - ] - }, - n4929: { - id: "n4929", - loc: [ - -85.589032, - 41.956288 - ] - }, - n493: { - id: "n493", - loc: [ - -85.6362, - 41.940686 - ] - }, - n4930: { - id: "n4930", - loc: [ - -85.58919, - 41.956166 - ] - }, - n4931: { - id: "n4931", - loc: [ - -85.589165, - 41.956132 - ] - }, - n4932: { - id: "n4932", - loc: [ - -85.589002, - 41.956253 - ] - }, - n4933: { - id: "n4933", - loc: [ - -85.588826, - 41.956122 - ] - }, - n4934: { - id: "n4934", - loc: [ - -85.588989, - 41.956001 - ] - }, - n4935: { - id: "n4935", - loc: [ - -85.588673, - 41.955757 - ] - }, - n4936: { - id: "n4936", - loc: [ - -85.588502, - 41.955882 - ] - }, - n4937: { - id: "n4937", - loc: [ - -85.588339, - 41.955759 - ] - }, - n4938: { - id: "n4938", - loc: [ - -85.58851, - 41.955633 - ] - }, - n4939: { - id: "n4939", - loc: [ - -85.590382, - 41.955892 - ] - }, - n494: { - id: "n494", - loc: [ - -85.635969, - 41.94069 - ] - }, - n4940: { - id: "n4940", - loc: [ - -85.589923, - 41.956231 - ] - }, - n4941: { - id: "n4941", - loc: [ - -85.58984, - 41.956168 - ] - }, - n4942: { - id: "n4942", - loc: [ - -85.5903, - 41.95583 - ] - }, - n4943: { - id: "n4943", - loc: [ - -85.589636, - 41.956038 - ] - }, - n4944: { - id: "n4944", - loc: [ - -85.589546, - 41.956105 - ] - }, - n4945: { - id: "n4945", - loc: [ - -85.589045, - 41.955729 - ] - }, - n4946: { - id: "n4946", - loc: [ - -85.589135, - 41.955662 - ] - }, - n4947: { - id: "n4947", - loc: [ - -85.590718, - 41.955293 - ] - }, - n4948: { - id: "n4948", - loc: [ - -85.590718, - 41.955374 - ] - }, - n4949: { - id: "n4949", - loc: [ - -85.589211, - 41.955369 - ] - }, - n495: { - id: "n495", - loc: [ - -85.635965, - 41.940561 - ] - }, - n4950: { - id: "n4950", - loc: [ - -85.589212, - 41.955287 - ] - }, - n4951: { - id: "n4951", - loc: [ - -85.589675, - 41.956817 - ] - }, - n4952: { - id: "n4952", - loc: [ - -85.58947, - 41.95697 - ] - }, - n4953: { - id: "n4953", - loc: [ - -85.589219, - 41.956784 - ] - }, - n4954: { - id: "n4954", - loc: [ - -85.589425, - 41.95663 - ] - }, - n4955: { - id: "n4955", - loc: [ - -85.589373, - 41.95702 - ] - }, - n4956: { - id: "n4956", - loc: [ - -85.589171, - 41.957172 - ] - }, - n4957: { - id: "n4957", - loc: [ - -85.588962, - 41.957019 - ] - }, - n4958: { - id: "n4958", - loc: [ - -85.589164, - 41.956867 - ] - }, - n4959: { - id: "n4959", - loc: [ - -85.588881, - 41.955006 - ] - }, - n496: { - id: "n496", - loc: [ - -85.636031, - 41.94056 - ] - }, - n4960: { - id: "n4960", - loc: [ - -85.588804, - 41.955006 - ] - }, - n4961: { - id: "n4961", - loc: [ - -85.604773, - 41.954521 - ] - }, - n4962: { - id: "n4962", - loc: [ - -85.601603, - 41.954527 - ] - }, - n4963: { - id: "n4963", - loc: [ - -85.600823, - 41.954169 - ] - }, - n4964: { - id: "n4964", - loc: [ - -85.600828, - 41.950191 - ] - }, - n4965: { - id: "n4965", - loc: [ - -85.601673, - 41.949457 - ] - }, - n4966: { - id: "n4966", - loc: [ - -85.604464, - 41.949488 - ] - }, - n4967: { - id: "n4967", - loc: [ - -85.60538, - 41.950212 - ] - }, - n4968: { - id: "n4968", - loc: [ - -85.605395, - 41.954108 - ] - }, - n4969: { - id: "n4969", - loc: [ - -85.604771, - 41.954109 - ] - }, - n497: { - id: "n497", - loc: [ - -85.636032, - 41.940602 - ] - }, - n4970: { - id: "n4970", - loc: [ - -85.600613, - 41.953916 - ] - }, - n4971: { - id: "n4971", - loc: [ - -85.599758, - 41.954649 - ] - }, - n4972: { - id: "n4972", - loc: [ - -85.591194, - 41.954663 - ] - }, - n4973: { - id: "n4973", - loc: [ - -85.591182, - 41.950465 - ] - }, - n4974: { - id: "n4974", - loc: [ - -85.591871, - 41.950464 - ] - }, - n4975: { - id: "n4975", - loc: [ - -85.591868, - 41.949209 - ] - }, - n4976: { - id: "n4976", - loc: [ - -85.592155, - 41.949209 - ] - }, - n4977: { - id: "n4977", - loc: [ - -85.592155, - 41.94848 - ] - }, - n4978: { - id: "n4978", - loc: [ - -85.600615, - 41.948482 - ] - }, - n4979: { - id: "n4979", - loc: [ - -85.605421, - 41.949378 - ] - }, - n498: { - id: "n498", - loc: [ - -85.635776, - 41.940583 - ] - }, - n4980: { - id: "n4980", - loc: [ - -85.600614, - 41.949373 - ] - }, - n4981: { - id: "n4981", - loc: [ - -85.601316, - 41.94849 - ] - }, - n4982: { - id: "n4982", - loc: [ - -85.601592, - 41.947641 - ] - }, - n4983: { - id: "n4983", - loc: [ - -85.60395, - 41.947618 - ] - }, - n4984: { - id: "n4984", - loc: [ - -85.603973, - 41.948114 - ] - }, - n4985: { - id: "n4985", - loc: [ - -85.605398, - 41.948103 - ] - }, - n4986: { - id: "n4986", - loc: [ - -85.614017, - 41.965566 - ] - }, - n4987: { - id: "n4987", - loc: [ - -85.605787, - 41.965619 - ] - }, - n4988: { - id: "n4988", - loc: [ - -85.60577, - 41.963821 - ] - }, - n4989: { - id: "n4989", - loc: [ - -85.612886, - 41.963808 - ] - }, - n499: { - id: "n499", - loc: [ - -85.63589, - 41.940578 - ] - }, - n4990: { - id: "n4990", - loc: [ - -85.613207, - 41.963705 - ] - }, - n4991: { - id: "n4991", - loc: [ - -85.613511, - 41.963525 - ] - }, - n4992: { - id: "n4992", - loc: [ - -85.613667, - 41.963305 - ] - }, - n4993: { - id: "n4993", - loc: [ - -85.613779, - 41.962983 - ] - }, - n4994: { - id: "n4994", - loc: [ - -85.613797, - 41.959709 - ] - }, - n4995: { - id: "n4995", - loc: [ - -85.613663, - 41.95936 - ] - }, - n4996: { - id: "n4996", - loc: [ - -85.61339, - 41.959064 - ] - }, - n4997: { - id: "n4997", - loc: [ - -85.610503, - 41.956898 - ] - }, - n4998: { - id: "n4998", - loc: [ - -85.610485, - 41.956595 - ] - }, - n4999: { - id: "n4999", - loc: [ - -85.613892, - 41.956621 - ] - }, - n5: { - id: "n5", - loc: [ - -85.622744, - 41.95268 - ] - }, - n50: { - id: "n50", - loc: [ - -85.636673, - 41.943143 - ] - }, - n500: { - id: "n500", - loc: [ - -85.636198, - 41.940578 - ] - }, - n5000: { - id: "n5000", - loc: [ - -85.613866, - 41.958574 - ] - }, - n5001: { - id: "n5001", - loc: [ - -85.615262, - 41.958561 - ] - }, - n5002: { - id: "n5002", - loc: [ - -85.615279, - 41.959541 - ] - }, - n5003: { - id: "n5003", - loc: [ - -85.615314, - 41.95597 - ] - }, - n5004: { - id: "n5004", - loc: [ - -85.613887, - 41.955988 - ] - }, - n5005: { - id: "n5005", - loc: [ - -85.613074, - 41.962244 - ] - }, - n5006: { - id: "n5006", - loc: [ - -85.611678, - 41.963354 - ] - }, - n5007: { - id: "n5007", - loc: [ - -85.611678, - 41.963487 - ] - }, - n5008: { - id: "n5008", - loc: [ - -85.606906, - 41.963502 - ] - }, - n5009: { - id: "n5009", - loc: [ - -85.605777, - 41.962657 - ] - }, - n501: { - id: "n501", - loc: [ - -85.636251, - 41.940584 - ] - }, - n5010: { - id: "n5010", - loc: [ - -85.605711, - 41.9599 - ] - }, - n5011: { - id: "n5011", - loc: [ - -85.608139, - 41.9585 - ] - }, - n5012: { - id: "n5012", - loc: [ - -85.60814, - 41.956306 - ] - }, - n5013: { - id: "n5013", - loc: [ - -85.608854, - 41.95581 - ] - }, - n5014: { - id: "n5014", - loc: [ - -85.610039, - 41.955883 - ] - }, - n5015: { - id: "n5015", - loc: [ - -85.610068, - 41.956754 - ] - }, - n5016: { - id: "n5016", - loc: [ - -85.613058, - 41.959411 - ] - }, - n5017: { - id: "n5017", - loc: [ - -85.610234, - 41.957068 - ] - }, - n5018: { - id: "n5018", - loc: [ - -85.609826, - 41.95581 - ] - }, - n5019: { - id: "n5019", - loc: [ - -85.606987, - 41.958505 - ] - }, - n502: { - id: "n502", - loc: [ - -85.636279, - 41.940605 - ] - }, - n5020: { - id: "n5020", - loc: [ - -85.606498, - 41.958846 - ] - }, - n5021: { - id: "n5021", - loc: [ - -85.606013, - 41.959342 - ] - }, - n5022: { - id: "n5022", - loc: [ - -85.614553, - 41.961581 - ] - }, - n5023: { - id: "n5023", - loc: [ - -85.61465, - 41.96214 - ] - }, - n5024: { - id: "n5024", - loc: [ - -85.615277, - 41.962442 - ] - }, - n5025: { - id: "n5025", - loc: [ - -85.615451, - 41.962972 - ] - }, - n5026: { - id: "n5026", - loc: [ - -85.614355, - 41.964826 - ] - }, - n5027: { - id: "n5027", - loc: [ - -85.615133, - 41.964589 - ] - }, - n5028: { - id: "n5028", - loc: [ - -85.615342, - 41.963818 - ] - }, - n5029: { - id: "n5029", - loc: [ - -85.615971, - 41.963792 - ] - }, - n503: { - id: "n503", - loc: [ - -85.636285, - 41.940633 - ] - }, - n5030: { - id: "n5030", - loc: [ - -85.615751, - 41.963122 - ] - }, - n5031: { - id: "n5031", - loc: [ - -85.616575, - 41.963123 - ] - }, - n5032: { - id: "n5032", - loc: [ - -85.612527, - 41.963846 - ] - }, - n5033: { - id: "n5033", - loc: [ - -85.630653, - 41.940709 - ] - }, - n5034: { - id: "n5034", - loc: [ - -85.629858, - 41.939568 - ] - }, - n5035: { - id: "n5035", - loc: [ - -85.629847, - 41.937926 - ] - }, - n504: { - id: "n504", - loc: [ - -85.636281, - 41.940662 - ] - }, - n505: { - id: "n505", - loc: [ - -85.636266, - 41.940688 - ] - }, - n506: { - id: "n506", - loc: [ - -85.636236, - 41.940701 - ] - }, - n507: { - id: "n507", - loc: [ - -85.63619, - 41.940706 - ] - }, - n508: { - id: "n508", - loc: [ - -85.635892, - 41.940707 - ] - }, - n509: { - id: "n509", - loc: [ - -85.635777, - 41.9407 - ] - }, - n51: { - id: "n51", - loc: [ - -85.636673, - 41.942864 - ] - }, - n510: { - id: "n510", - loc: [ - -85.636044, - 41.940578 - ] - }, - n511: { - id: "n511", - loc: [ - -85.635946, - 41.940578 - ] - }, - n512: { - id: "n512", - loc: [ - -85.636475, - 41.940732 - ] - }, - n513: { - id: "n513", - loc: [ - -85.636475, - 41.940777 - ] - }, - n514: { - id: "n514", - loc: [ - -85.636405, - 41.940777 - ] - }, - n515: { - id: "n515", - loc: [ - -85.636405, - 41.940732 - ] - }, - n516: { - id: "n516", - loc: [ - -85.636471, - 41.940916 - ] - }, - n517: { - id: "n517", - loc: [ - -85.636471, - 41.940961 - ] - }, - n518: { - id: "n518", - loc: [ - -85.636404, - 41.940961 - ] - }, - n519: { - id: "n519", - loc: [ - -85.636404, - 41.940916 - ] - }, - n52: { - id: "n52", - loc: [ - -85.636227, - 41.942864 - ] - }, - n520: { - id: "n520", - loc: [ - -85.636286, - 41.941127 - ] - }, - n521: { - id: "n521", - loc: [ - -85.636203, - 41.941126 - ] - }, - n522: { - id: "n522", - loc: [ - -85.636204, - 41.941083 - ] - }, - n523: { - id: "n523", - loc: [ - -85.636287, - 41.941083 - ] - }, - n524: { - id: "n524", - loc: [ - -85.636124, - 41.941064 - ] - }, - n525: { - id: "n525", - loc: [ - -85.636, - 41.941065 - ] - }, - n526: { - id: "n526", - loc: [ - -85.636, - 41.940964 - ] - }, - n527: { - id: "n527", - loc: [ - -85.636045, - 41.940964 - ] - }, - n528: { - id: "n528", - loc: [ - -85.636045, - 41.940928 - ] - }, - n529: { - id: "n529", - loc: [ - -85.636111, - 41.940928 - ] - }, - n53: { - id: "n53", - loc: [ - -85.636227, - 41.943143 - ] - }, - n530: { - id: "n530", - loc: [ - -85.636111, - 41.940961 - ] - }, - n531: { - id: "n531", - loc: [ - -85.636123, - 41.940961 - ] - }, - n532: { - id: "n532", - loc: [ - -85.636124, - 41.940997 - ] - }, - n533: { - id: "n533", - loc: [ - -85.636164, - 41.940997 - ] - }, - n534: { - id: "n534", - loc: [ - -85.636164, - 41.941044 - ] - }, - n535: { - id: "n535", - loc: [ - -85.636124, - 41.941044 - ] - }, - n536: { - id: "n536", - loc: [ - -85.636534, - 41.941256 - ] - }, - n537: { - id: "n537", - loc: [ - -85.63645, - 41.941246 - ] - }, - n538: { - id: "n538", - loc: [ - -85.636462, - 41.941189 - ] - }, - n539: { - id: "n539", - loc: [ - -85.636546, - 41.941199 - ] - }, - n54: { - id: "n54", - loc: [ - -85.636198, - 41.943119 - ] - }, - n540: { - id: "n540", - loc: [ - -85.636802, - 41.941226 - ] - }, - n541: { - id: "n541", - loc: [ - -85.636701, - 41.941215 - ] - }, - n542: { - id: "n542", - loc: [ - -85.636709, - 41.941174 - ] - }, - n543: { - id: "n543", - loc: [ - -85.636656, - 41.941168 - ] - }, - n544: { - id: "n544", - loc: [ - -85.636666, - 41.941122 - ] - }, - n545: { - id: "n545", - loc: [ - -85.636781, - 41.941136 - ] - }, - n546: { - id: "n546", - loc: [ - -85.636774, - 41.94117 - ] - }, - n547: { - id: "n547", - loc: [ - -85.636812, - 41.941175 - ] - }, - n548: { - id: "n548", - loc: [ - -85.636803, - 41.941047 - ] - }, - n549: { - id: "n549", - loc: [ - -85.636785, - 41.941047 - ] - }, - n55: { - id: "n55", - loc: [ - -85.635945, - 41.94312 - ] - }, - n550: { - id: "n550", - loc: [ - -85.636785, - 41.941058 - ] - }, - n551: { - id: "n551", - loc: [ - -85.636644, - 41.941059 - ] - }, - n552: { - id: "n552", - loc: [ - -85.636644, - 41.941038 - ] - }, - n553: { - id: "n553", - loc: [ - -85.636581, - 41.941039 - ] - }, - n554: { - id: "n554", - loc: [ - -85.636581, - 41.940995 - ] - }, - n555: { - id: "n555", - loc: [ - -85.636746, - 41.940995 - ] - }, - n556: { - id: "n556", - loc: [ - -85.636746, - 41.940978 - ] - }, - n557: { - id: "n557", - loc: [ - -85.636803, - 41.940978 - ] - }, - n558: { - id: "n558", - loc: [ - -85.636781, - 41.940768 - ] - }, - n559: { - id: "n559", - loc: [ - -85.636783, - 41.940828 - ] - }, - n56: { - id: "n56", - loc: [ - -85.635943, - 41.942909 - ] - }, - n560: { - id: "n560", - loc: [ - -85.636761, - 41.940828 - ] - }, - n561: { - id: "n561", - loc: [ - -85.636762, - 41.940857 - ] - }, - n562: { - id: "n562", - loc: [ - -85.636641, - 41.940859 - ] - }, - n563: { - id: "n563", - loc: [ - -85.63664, - 41.940805 - ] - }, - n564: { - id: "n564", - loc: [ - -85.636676, - 41.940804 - ] - }, - n565: { - id: "n565", - loc: [ - -85.636675, - 41.940769 - ] - }, - n566: { - id: "n566", - loc: [ - -85.636733, - 41.94033 - ] - }, - n567: { - id: "n567", - loc: [ - -85.636471, - 41.940334 - ] - }, - n568: { - id: "n568", - loc: [ - -85.636469, - 41.940262 - ] - }, - n569: { - id: "n569", - loc: [ - -85.636731, - 41.940257 - ] - }, - n57: { - id: "n57", - loc: [ - -85.636227, - 41.942909 - ] - }, - n570: { - id: "n570", - loc: [ - -85.636798, - 41.940419 - ] - }, - n571: { - id: "n571", - loc: [ - -85.6368, - 41.940524 - ] - }, - n572: { - id: "n572", - loc: [ - -85.63664, - 41.940526 - ] - }, - n573: { - id: "n573", - loc: [ - -85.636638, - 41.940421 - ] - }, - n574: { - id: "n574", - loc: [ - -85.636372, - 41.940551 - ] - }, - n575: { - id: "n575", - loc: [ - -85.636338, - 41.94055 - ] - }, - n576: { - id: "n576", - loc: [ - -85.636339, - 41.940524 - ] - }, - n577: { - id: "n577", - loc: [ - -85.636373, - 41.940525 - ] - }, - n578: { - id: "n578", - loc: [ - -85.636388, - 41.940435 - ] - }, - n579: { - id: "n579", - loc: [ - -85.636222, - 41.940436 - ] - }, - n58: { - id: "n58", - loc: [ - -85.63627, - 41.943175 - ] - }, - n580: { - id: "n580", - loc: [ - -85.636222, - 41.940366 - ] - }, - n581: { - id: "n581", - loc: [ - -85.636387, - 41.940365 - ] - }, - n582: { - id: "n582", - loc: [ - -85.636158, - 41.940482 - ] - }, - n583: { - id: "n583", - loc: [ - -85.635963, - 41.940484 - ] - }, - n584: { - id: "n584", - loc: [ - -85.635961, - 41.940399 - ] - }, - n585: { - id: "n585", - loc: [ - -85.636156, - 41.940397 - ] - }, - n586: { - id: "n586", - loc: [ - -85.635987, - 41.940314 - ] - }, - n587: { - id: "n587", - loc: [ - -85.635987, - 41.940268 - ] - }, - n588: { - id: "n588", - loc: [ - -85.635968, - 41.940268 - ] - }, - n589: { - id: "n589", - loc: [ - -85.635967, - 41.940212 - ] - }, - n59: { - id: "n59", - loc: [ - -85.635531, - 41.943176 - ] - }, - n590: { - id: "n590", - loc: [ - -85.636082, - 41.940211 - ] - }, - n591: { - id: "n591", - loc: [ - -85.636083, - 41.94027 - ] - }, - n592: { - id: "n592", - loc: [ - -85.636064, - 41.94027 - ] - }, - n593: { - id: "n593", - loc: [ - -85.636064, - 41.940313 - ] - }, - n594: { - id: "n594", - loc: [ - -85.638071, - 41.941562 - ] - }, - n595: { - id: "n595", - loc: [ - -85.637953, - 41.941562 - ] - }, - n596: { - id: "n596", - loc: [ - -85.637952, - 41.941522 - ] - }, - n597: { - id: "n597", - loc: [ - -85.637876, - 41.941523 - ] - }, - n598: { - id: "n598", - loc: [ - -85.637876, - 41.941471 - ] - }, - n599: { - id: "n599", - loc: [ - -85.638035, - 41.94147 - ] - }, - n6: { - id: "n6", - loc: [ - -85.624925, - 41.950604 - ] - }, - n60: { - id: "n60", - loc: [ - -85.63542, - 41.942883 - ] - }, - n600: { - id: "n600", - loc: [ - -85.638035, - 41.941513 - ] - }, - n601: { - id: "n601", - loc: [ - -85.638071, - 41.941512 - ] - }, - n602: { - id: "n602", - loc: [ - -85.637038, - 41.942543 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n603: { - id: "n603", - loc: [ - -85.637134, - 41.942542 - ] - }, - n604: { - id: "n604", - loc: [ - -85.638122, - 41.942532 - ] - }, - n605: { - id: "n605", - loc: [ - -85.638121, - 41.942478 - ] - }, - n606: { - id: "n606", - loc: [ - -85.638104, - 41.941424 - ] - }, - n607: { - id: "n607", - loc: [ - -85.637115, - 41.941438 - ] - }, - n608: { - id: "n608", - loc: [ - -85.637133, - 41.942453 - ] - }, - n609: { - id: "n609", - loc: [ - -85.637429, - 41.942004 - ] - }, - n61: { - id: "n61", - loc: [ - -85.635701, - 41.942802 - ] - }, - n610: { - id: "n610", - loc: [ - -85.637125, - 41.942004 - ] - }, - n611: { - id: "n611", - loc: [ - -85.637022, - 41.942004 - ] - }, - n612: { - id: "n612", - loc: [ - -85.635952, - 41.943579 - ] - }, - n613: { - id: "n613", - loc: [ - -85.635872, - 41.943594 - ] - }, - n614: { - id: "n614", - loc: [ - -85.635857, - 41.943551 - ] - }, - n615: { - id: "n615", - loc: [ - -85.635937, - 41.943535 - ] - }, - n616: { - id: "n616", - loc: [ - -85.63671, - 41.94344 - ] - }, - n617: { - id: "n617", - loc: [ - -85.636427, - 41.94334 - ] - }, - n618: { - id: "n618", - loc: [ - -85.635353, - 41.943279 - ] - }, - n619: { - id: "n619", - loc: [ - -85.635319, - 41.943257 - ] - }, - n62: { - id: "n62", - loc: [ - -85.6358, - 41.942997 - ] - }, - n620: { - id: "n620", - loc: [ - -85.638786, - 41.943105 - ] - }, - n621: { - id: "n621", - loc: [ - -85.634957, - 41.943146 - ] - }, - n622: { - id: "n622", - loc: [ - -85.635012, - 41.943119 - ] - }, - n623: { - id: "n623", - loc: [ - -85.632409, - 41.944222 - ] - }, - n624: { - id: "n624", - loc: [ - -85.631863, - 41.944749 - ] - }, - n625: { - id: "n625", - loc: [ - -85.631915, - 41.944722 - ] - }, - n626: { - id: "n626", - loc: [ - -85.631884, - 41.94464 - ] - }, - n627: { - id: "n627", - loc: [ - -85.631792, - 41.944359 - ] - }, - n628: { - id: "n628", - loc: [ - -85.631817, - 41.944703 - ] - }, - n629: { - id: "n629", - loc: [ - -85.633464, - 41.945787 - ] - }, - n63: { - id: "n63", - loc: [ - -85.635808, - 41.943176 - ] - }, - n630: { - id: "n630", - loc: [ - -85.633583, - 41.945919 - ] - }, - n631: { - id: "n631", - loc: [ - -85.63382, - 41.945698 - ] - }, - n632: { - id: "n632", - loc: [ - -85.633681, - 41.945571 - ] - }, - n633: { - id: "n633", - loc: [ - -85.634217, - 41.946824 - ] - }, - n634: { - id: "n634", - loc: [ - -85.634271, - 41.946836 - ] - }, - n635: { - id: "n635", - loc: [ - -85.634319, - 41.94573 - ] - }, - n636: { - id: "n636", - loc: [ - -85.634377, - 41.945672 - ] - }, - n637: { - id: "n637", - loc: [ - -85.634909, - 41.945354 - ] - }, - n638: { - id: "n638", - loc: [ - -85.634726, - 41.945493 - ], - tags: { - artwork_type: "mural", - tourism: "artwork" - } - }, - n639: { - id: "n639", - loc: [ - -85.63546, - 41.945612 - ] - }, - n64: { - id: "n64", - loc: [ - -85.63631, - 41.943253 - ] - }, - n640: { - id: "n640", - loc: [ - -85.635561, - 41.945493 - ] - }, - n641: { - id: "n641", - loc: [ - -85.635417, - 41.945565 - ] - }, - n642: { - id: "n642", - loc: [ - -85.635315, - 41.945583 - ] - }, - n643: { - id: "n643", - loc: [ - -85.63506, - 41.945383 - ] - }, - n644: { - id: "n644", - loc: [ - -85.635198, - 41.945199 - ] - }, - n645: { - id: "n645", - loc: [ - -85.635361, - 41.94558 - ] - }, - n646: { - id: "n646", - loc: [ - -85.635017, - 41.945066 - ] - }, - n647: { - id: "n647", - loc: [ - -85.634779, - 41.945206 - ] - }, - n648: { - id: "n648", - loc: [ - -85.63425, - 41.945655 - ] - }, - n649: { - id: "n649", - loc: [ - -85.634247, - 41.945631 - ] - }, - n65: { - id: "n65", - loc: [ - -85.635398, - 41.943259 - ] - }, - n650: { - id: "n650", - loc: [ - -85.634889, - 41.945921 - ] - }, - n651: { - id: "n651", - loc: [ - -85.634889, - 41.945939 - ] - }, - n652: { - id: "n652", - loc: [ - -85.634889, - 41.945761 - ] - }, - n653: { - id: "n653", - loc: [ - -85.634889, - 41.945778 - ] - }, - n654: { - id: "n654", - loc: [ - -85.635112, - 41.945715 - ] - }, - n655: { - id: "n655", - loc: [ - -85.635025, - 41.945714 - ] - }, - n656: { - id: "n656", - loc: [ - -85.635027, - 41.945761 - ] - }, - n657: { - id: "n657", - loc: [ - -85.635438, - 41.945665 - ] - }, - n658: { - id: "n658", - loc: [ - -85.635416, - 41.945676 - ] - }, - n659: { - id: "n659", - loc: [ - -85.635401, - 41.945709 - ] - }, - n66: { - id: "n66", - loc: [ - -85.635336, - 41.943036 - ] - }, - n660: { - id: "n660", - loc: [ - -85.635271, - 41.945566 - ] - }, - n661: { - id: "n661", - loc: [ - -85.636106, - 41.946268 - ] - }, - n662: { - id: "n662", - loc: [ - -85.635867, - 41.946747 - ] - }, - n663: { - id: "n663", - loc: [ - -85.636476, - 41.946797 - ] - }, - n664: { - id: "n664", - loc: [ - -85.63651, - 41.946796 - ] - }, - n665: { - id: "n665", - loc: [ - -85.635367, - 41.946389 - ] - }, - n666: { - id: "n666", - loc: [ - -85.635367, - 41.946437 - ] - }, - n667: { - id: "n667", - loc: [ - -85.634787, - 41.946441 - ] - }, - n668: { - id: "n668", - loc: [ - -85.6358, - 41.946243 - ] - }, - n669: { - id: "n669", - loc: [ - -85.635784, - 41.94622 - ] - }, - n67: { - id: "n67", - loc: [ - -85.635911, - 41.942899 - ] - }, - n670: { - id: "n670", - loc: [ - -85.635727, - 41.946195 - ] - }, - n671: { - id: "n671", - loc: [ - -85.635708, - 41.946588 - ] - }, - n672: { - id: "n672", - loc: [ - -85.635648, - 41.946561 - ] - }, - n673: { - id: "n673", - loc: [ - -85.635624, - 41.946555 - ] - }, - n674: { - id: "n674", - loc: [ - -85.635417, - 41.946559 - ] - }, - n675: { - id: "n675", - loc: [ - -85.634866, - 41.946561 - ] - }, - n676: { - id: "n676", - loc: [ - -85.634866, - 41.946543 - ] - }, - n677: { - id: "n677", - loc: [ - -85.635085, - 41.946546 - ] - }, - n678: { - id: "n678", - loc: [ - -85.635085, - 41.946554 - ] - }, - n679: { - id: "n679", - loc: [ - -85.634584, - 41.94488 - ] - }, - n68: { - id: "n68", - loc: [ - -85.635915, - 41.943156 - ] - }, - n680: { - id: "n680", - loc: [ - -85.634557, - 41.944882 - ] - }, - n681: { - id: "n681", - loc: [ - -85.634455, - 41.944943 - ] - }, - n682: { - id: "n682", - loc: [ - -85.634305, - 41.944968 - ] - }, - n683: { - id: "n683", - loc: [ - -85.634261, - 41.944927 - ] - }, - n684: { - id: "n684", - loc: [ - -85.634132, - 41.944741 - ] - }, - n685: { - id: "n685", - loc: [ - -85.633705, - 41.944759 - ] - }, - n686: { - id: "n686", - loc: [ - -85.633918, - 41.944616 - ] - }, - n687: { - id: "n687", - loc: [ - -85.633974, - 41.944663 - ] - }, - n688: { - id: "n688", - loc: [ - -85.6336, - 41.944665 - ] - }, - n689: { - id: "n689", - loc: [ - -85.633817, - 41.944528 - ] - }, - n69: { - id: "n69", - loc: [ - -85.63631, - 41.943157 - ] - }, - n690: { - id: "n690", - loc: [ - -85.633889, - 41.944485 - ] - }, - n691: { - id: "n691", - loc: [ - -85.633931, - 41.944525 - ] - }, - n692: { - id: "n692", - loc: [ - -85.633864, - 41.944563 - ] - }, - n693: { - id: "n693", - loc: [ - -85.633456, - 41.944524 - ] - }, - n694: { - id: "n694", - loc: [ - -85.633676, - 41.944399 - ] - }, - n695: { - id: "n695", - loc: [ - -85.633352, - 41.944415 - ] - }, - n696: { - id: "n696", - loc: [ - -85.633655, - 41.944234 - ] - }, - n697: { - id: "n697", - loc: [ - -85.633761, - 41.94435 - ] - }, - n698: { - id: "n698", - loc: [ - -85.633254, - 41.944318 - ] - }, - n699: { - id: "n699", - loc: [ - -85.633472, - 41.944188 - ] - }, - n7: { - id: "n7", - loc: [ - -85.638791, - 41.943231 - ] - }, - n70: { - id: "n70", - loc: [ - -85.63579, - 41.942967 - ] - }, - n700: { - id: "n700", - loc: [ - -85.633524, - 41.944237 - ] - }, - n701: { - id: "n701", - loc: [ - -85.633583, - 41.944202 - ] - }, - n702: { - id: "n702", - loc: [ - -85.633632, - 41.944247 - ] - }, - n703: { - id: "n703", - loc: [ - -85.633165, - 41.944228 - ] - }, - n704: { - id: "n704", - loc: [ - -85.633388, - 41.944105 - ] - }, - n705: { - id: "n705", - loc: [ - -85.633117, - 41.944175 - ] - }, - n706: { - id: "n706", - loc: [ - -85.633302, - 41.944077 - ] - }, - n707: { - id: "n707", - loc: [ - -85.633352, - 41.944126 - ] - }, - n708: { - id: "n708", - loc: [ - -85.633052, - 41.944107 - ] - }, - n709: { - id: "n709", - loc: [ - -85.633237, - 41.944009 - ] - }, - n71: { - id: "n71", - loc: [ - -85.637506, - 41.942824 - ] - }, - n710: { - id: "n710", - loc: [ - -85.633187, - 41.943955 - ] - }, - n711: { - id: "n711", - loc: [ - -85.633, - 41.944054 - ] - }, - n712: { - id: "n712", - loc: [ - -85.633155, - 41.944265 - ] - }, - n713: { - id: "n713", - loc: [ - -85.633669, - 41.944765 - ] - }, - n714: { - id: "n714", - loc: [ - -85.634468, - 41.945503 - ] - }, - n715: { - id: "n715", - loc: [ - -85.63455, - 41.945566 - ] - }, - n716: { - id: "n716", - loc: [ - -85.634737, - 41.945729 - ] - }, - n717: { - id: "n717", - loc: [ - -85.634753, - 41.945752 - ] - }, - n718: { - id: "n718", - loc: [ - -85.634756, - 41.945781 - ] - }, - n719: { - id: "n719", - loc: [ - -85.634758, - 41.945978 - ] - }, - n72: { - id: "n72", - loc: [ - -85.637511, - 41.943056 - ] - }, - n720: { - id: "n720", - loc: [ - -85.634363, - 41.945548 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n721: { - id: "n721", - loc: [ - -85.634245, - 41.945599 - ] - }, - n722: { - id: "n722", - loc: [ - -85.633474, - 41.944889 - ] - }, - n723: { - id: "n723", - loc: [ - -85.632997, - 41.944418 - ] - }, - n724: { - id: "n724", - loc: [ - -85.63278, - 41.944183 - ] - }, - n725: { - id: "n725", - loc: [ - -85.63331, - 41.944429 - ] - }, - n726: { - id: "n726", - loc: [ - -85.633568, - 41.944829 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n727: { - id: "n727", - loc: [ - -85.634669, - 41.94567 - ] - }, - n728: { - id: "n728", - loc: [ - -85.634462, - 41.945787 - ] - }, - n729: { - id: "n729", - loc: [ - -85.634272, - 41.945625 - ] - }, - n73: { - id: "n73", - loc: [ - -85.637361, - 41.943058 - ] - }, - n730: { - id: "n730", - loc: [ - -85.634344, - 41.945699 - ], - tags: { - crossing: "zebra", - highway: "crossing" - } - }, - n731: { - id: "n731", - loc: [ - -85.634426, - 41.945783 - ] - }, - n732: { - id: "n732", - loc: [ - -85.632425, - 41.944137 - ] - }, - n733: { - id: "n733", - loc: [ - -85.632302, - 41.944192 - ] - }, - n734: { - id: "n734", - loc: [ - -85.632762, - 41.944174 - ] - }, - n735: { - id: "n735", - loc: [ - -85.632713, - 41.944179 - ] - }, - n736: { - id: "n736", - loc: [ - -85.632411, - 41.944327 - ] - }, - n737: { - id: "n737", - loc: [ - -85.632362, - 41.944341 - ] - }, - n738: { - id: "n738", - loc: [ - -85.632236, - 41.944204 - ] - }, - n739: { - id: "n739", - loc: [ - -85.634939, - 41.942165 - ] - }, - n74: { - id: "n74", - loc: [ - -85.637356, - 41.942825 - ] - }, - n740: { - id: "n740", - loc: [ - -85.635079, - 41.941535 - ] - }, - n741: { - id: "n741", - loc: [ - -85.635112, - 41.941595 - ] - }, - n742: { - id: "n742", - loc: [ - -85.635113, - 41.941633 - ] - }, - n743: { - id: "n743", - loc: [ - -85.635067, - 41.941652 - ] - }, - n744: { - id: "n744", - loc: [ - -85.634989, - 41.941651 - ] - }, - n745: { - id: "n745", - loc: [ - -85.634921, - 41.941609 - ] - }, - n746: { - id: "n746", - loc: [ - -85.634881, - 41.941544 - ] - }, - n747: { - id: "n747", - loc: [ - -85.635537, - 41.940939 - ] - }, - n748: { - id: "n748", - loc: [ - -85.635573, - 41.941048 - ] - }, - n749: { - id: "n749", - loc: [ - -85.635453, - 41.94091 - ] - }, - n75: { - id: "n75", - loc: [ - -85.638097, - 41.942833 - ] - }, - n750: { - id: "n750", - loc: [ - -85.635319, - 41.940943 - ] - }, - n751: { - id: "n751", - loc: [ - -85.637057, - 41.943224 - ] - }, - n752: { - id: "n752", - loc: [ - -85.636989, - 41.943296 - ] - }, - n753: { - id: "n753", - loc: [ - -85.636851, - 41.943299 - ] - }, - n754: { - id: "n754", - loc: [ - -85.636848, - 41.94322 - ] - }, - n755: { - id: "n755", - loc: [ - -85.636986, - 41.943217 - ] - }, - n756: { - id: "n756", - loc: [ - -85.637569, - 41.943454 - ] - }, - n757: { - id: "n757", - loc: [ - -85.637437, - 41.943458 - ] - }, - n758: { - id: "n758", - loc: [ - -85.637432, - 41.943384 - ] - }, - n759: { - id: "n759", - loc: [ - -85.637564, - 41.94338 - ] - }, - n76: { - id: "n76", - loc: [ - -85.638098, - 41.942912 - ] - }, - n760: { - id: "n760", - loc: [ - -85.637213, - 41.943378 - ] - }, - n761: { - id: "n761", - loc: [ - -85.637217, - 41.943435 - ] - }, - n762: { - id: "n762", - loc: [ - -85.637235, - 41.943434 - ] - }, - n763: { - id: "n763", - loc: [ - -85.637237, - 41.943465 - ] - }, - n764: { - id: "n764", - loc: [ - -85.637424, - 41.943459 - ] - }, - n765: { - id: "n765", - loc: [ - -85.637418, - 41.943371 - ] - }, - n766: { - id: "n766", - loc: [ - -85.638094, - 41.943149 - ] - }, - n767: { - id: "n767", - loc: [ - -85.638096, - 41.943201 - ] - }, - n768: { - id: "n768", - loc: [ - -85.638041, - 41.943202 - ] - }, - n769: { - id: "n769", - loc: [ - -85.638042, - 41.943216 - ] - }, - n77: { - id: "n77", - loc: [ - -85.637705, - 41.942913 - ] - }, - n770: { - id: "n770", - loc: [ - -85.637927, - 41.943218 - ] - }, - n771: { - id: "n771", - loc: [ - -85.637926, - 41.943201 - ] - }, - n772: { - id: "n772", - loc: [ - -85.637897, - 41.943201 - ] - }, - n773: { - id: "n773", - loc: [ - -85.637896, - 41.943155 - ] - }, - n774: { - id: "n774", - loc: [ - -85.637962, - 41.943153 - ] - }, - n775: { - id: "n775", - loc: [ - -85.637962, - 41.943134 - ] - }, - n776: { - id: "n776", - loc: [ - -85.638017, - 41.943132 - ] - }, - n777: { - id: "n777", - loc: [ - -85.638018, - 41.943151 - ] - }, - n778: { - id: "n778", - loc: [ - -85.638045, - 41.943289 - ] - }, - n779: { - id: "n779", - loc: [ - -85.638048, - 41.943363 - ] - }, - n78: { - id: "n78", - loc: [ - -85.637705, - 41.942834 - ] - }, - n780: { - id: "n780", - loc: [ - -85.637842, - 41.943367 - ] - }, - n781: { - id: "n781", - loc: [ - -85.637839, - 41.943296 - ] - }, - n782: { - id: "n782", - loc: [ - -85.637896, - 41.943295 - ] - }, - n783: { - id: "n783", - loc: [ - -85.637897, - 41.943314 - ] - }, - n784: { - id: "n784", - loc: [ - -85.637957, - 41.943312 - ] - }, - n785: { - id: "n785", - loc: [ - -85.637957, - 41.943291 - ] - }, - n786: { - id: "n786", - loc: [ - -85.637816, - 41.943375 - ] - }, - n787: { - id: "n787", - loc: [ - -85.637815, - 41.943416 - ] - }, - n788: { - id: "n788", - loc: [ - -85.637715, - 41.943415 - ] - }, - n789: { - id: "n789", - loc: [ - -85.637716, - 41.943374 - ] - }, - n79: { - id: "n79", - loc: [ - -85.638071, - 41.942298 - ] - }, - n790: { - id: "n790", - loc: [ - -85.637912, - 41.943545 - ] - }, - n791: { - id: "n791", - loc: [ - -85.637909, - 41.943479 - ] - }, - n792: { - id: "n792", - loc: [ - -85.637967, - 41.943477 - ] - }, - n793: { - id: "n793", - loc: [ - -85.637967, - 41.94346 - ] - }, - n794: { - id: "n794", - loc: [ - -85.638077, - 41.943457 - ] - }, - n795: { - id: "n795", - loc: [ - -85.638078, - 41.943473 - ] - }, - n796: { - id: "n796", - loc: [ - -85.638124, - 41.943471 - ] - }, - n797: { - id: "n797", - loc: [ - -85.638126, - 41.943514 - ] - }, - n798: { - id: "n798", - loc: [ - -85.638079, - 41.943515 - ] - }, - n799: { - id: "n799", - loc: [ - -85.638079, - 41.943532 - ] - }, - n8: { - id: "n8", - loc: [ - -85.635241, - 41.941948 - ] - }, - n80: { - id: "n80", - loc: [ - -85.638074, - 41.942431 - ] - }, - n800: { - id: "n800", - loc: [ - -85.638028, - 41.943534 - ] - }, - n801: { - id: "n801", - loc: [ - -85.638028, - 41.943542 - ] - }, - n802: { - id: "n802", - loc: [ - -85.638845, - 41.942983 - ] - }, - n803: { - id: "n803", - loc: [ - -85.638846, - 41.94305 - ] - }, - n804: { - id: "n804", - loc: [ - -85.638661, - 41.943052 - ] - }, - n805: { - id: "n805", - loc: [ - -85.63866, - 41.942984 - ] - }, - n806: { - id: "n806", - loc: [ - -85.638579, - 41.942753 - ] - }, - n807: { - id: "n807", - loc: [ - -85.638445, - 41.942755 - ] - }, - n808: { - id: "n808", - loc: [ - -85.638452, - 41.942978 - ] - }, - n809: { - id: "n809", - loc: [ - -85.638545, - 41.942976 - ] - }, - n81: { - id: "n81", - loc: [ - -85.637836, - 41.942433 - ] - }, - n810: { - id: "n810", - loc: [ - -85.638543, - 41.942935 - ] - }, - n811: { - id: "n811", - loc: [ - -85.638571, - 41.942934 - ] - }, - n812: { - id: "n812", - loc: [ - -85.63857, - 41.942901 - ] - }, - n813: { - id: "n813", - loc: [ - -85.638611, - 41.9429 - ] - }, - n814: { - id: "n814", - loc: [ - -85.638607, - 41.942769 - ] - }, - n815: { - id: "n815", - loc: [ - -85.63858, - 41.94277 - ] - }, - n816: { - id: "n816", - loc: [ - -85.638597, - 41.942614 - ] - }, - n817: { - id: "n817", - loc: [ - -85.638601, - 41.94273 - ] - }, - n818: { - id: "n818", - loc: [ - -85.638686, - 41.942731 - ] - }, - n819: { - id: "n819", - loc: [ - -85.638689, - 41.942917 - ] - }, - n82: { - id: "n82", - loc: [ - -85.637835, - 41.94242 - ] - }, - n820: { - id: "n820", - loc: [ - -85.638558, - 41.943018 - ] - }, - n821: { - id: "n821", - loc: [ - -85.638243, - 41.943019 - ] - }, - n822: { - id: "n822", - loc: [ - -85.637536, - 41.943887 - ] - }, - n823: { - id: "n823", - loc: [ - -85.63749, - 41.943926 - ] - }, - n824: { - id: "n824", - loc: [ - -85.63743, - 41.943886 - ] - }, - n825: { - id: "n825", - loc: [ - -85.637476, - 41.943847 - ] - }, - n826: { - id: "n826", - loc: [ - -85.637527, - 41.943846 - ] - }, - n827: { - id: "n827", - loc: [ - -85.637141, - 41.943728 - ] - }, - n828: { - id: "n828", - loc: [ - -85.637201, - 41.943755 - ] - }, - n829: { - id: "n829", - loc: [ - -85.636987, - 41.943608 - ] - }, - n83: { - id: "n83", - loc: [ - -85.63776, - 41.942421 - ] - }, - n830: { - id: "n830", - loc: [ - -85.637441, - 41.943807 - ] - }, - n831: { - id: "n831", - loc: [ - -85.637673, - 41.94399 - ] - }, - n832: { - id: "n832", - loc: [ - -85.637783, - 41.944137 - ] - }, - n833: { - id: "n833", - loc: [ - -85.63845, - 41.944333 - ] - }, - n834: { - id: "n834", - loc: [ - -85.638159, - 41.944248 - ] - }, - n835: { - id: "n835", - loc: [ - -85.637859, - 41.94416 - ] - }, - n836: { - id: "n836", - loc: [ - -85.638685, - 41.944542 - ] - }, - n837: { - id: "n837", - loc: [ - -85.638714, - 41.944611 - ] - }, - n838: { - id: "n838", - loc: [ - -85.638711, - 41.944757 - ] - }, - n839: { - id: "n839", - loc: [ - -85.638774, - 41.945069 - ] - }, - n84: { - id: "n84", - loc: [ - -85.637758, - 41.942339 - ] - }, - n840: { - id: "n840", - loc: [ - -85.638742, - 41.945205 - ] - }, - n841: { - id: "n841", - loc: [ - -85.640267, - 41.942403 - ] - }, - n842: { - id: "n842", - loc: [ - -85.640154, - 41.942404 - ] - }, - n843: { - id: "n843", - loc: [ - -85.640152, - 41.942249 - ] - }, - n844: { - id: "n844", - loc: [ - -85.640266, - 41.942248 - ] - }, - n845: { - id: "n845", - loc: [ - -85.640366, - 41.942599 - ] - }, - n846: { - id: "n846", - loc: [ - -85.640362, - 41.942192 - ] - }, - n847: { - id: "n847", - loc: [ - -85.640146, - 41.942191 - ] - }, - n848: { - id: "n848", - loc: [ - -85.640122, - 41.942196 - ] - }, - n849: { - id: "n849", - loc: [ - -85.640108, - 41.942211 - ] - }, - n85: { - id: "n85", - loc: [ - -85.637836, - 41.942339 - ] - }, - n850: { - id: "n850", - loc: [ - -85.640101, - 41.942236 - ] - }, - n851: { - id: "n851", - loc: [ - -85.640103, - 41.94241 - ] - }, - n852: { - id: "n852", - loc: [ - -85.64011, - 41.942435 - ] - }, - n853: { - id: "n853", - loc: [ - -85.640126, - 41.942445 - ] - }, - n854: { - id: "n854", - loc: [ - -85.640153, - 41.942451 - ] - }, - n855: { - id: "n855", - loc: [ - -85.640183, - 41.942452 - ] - }, - n856: { - id: "n856", - loc: [ - -85.640364, - 41.942452 - ] - }, - n857: { - id: "n857", - loc: [ - -85.640007, - 41.942452 - ] - }, - n858: { - id: "n858", - loc: [ - -85.639449, - 41.942461 - ] - }, - n859: { - id: "n859", - loc: [ - -85.640049, - 41.942391 - ] - }, - n86: { - id: "n86", - loc: [ - -85.637835, - 41.942301 - ] - }, - n860: { - id: "n860", - loc: [ - -85.640052, - 41.942503 - ] - }, - n861: { - id: "n861", - loc: [ - -85.639575, - 41.94251 - ] - }, - n862: { - id: "n862", - loc: [ - -85.639572, - 41.942398 - ] - }, - n863: { - id: "n863", - loc: [ - -85.638782, - 41.942227 - ] - }, - n864: { - id: "n864", - loc: [ - -85.63843, - 41.942226 - ] - }, - n865: { - id: "n865", - loc: [ - -85.63823, - 41.942183 - ] - }, - n866: { - id: "n866", - loc: [ - -85.638363, - 41.942216 - ], - tags: { - barrier: "gate" - } - }, - n867: { - id: "n867", - loc: [ - -85.6384, - 41.942223 - ] - }, - n868: { - id: "n868", - loc: [ - -85.636042, - 41.942797 - ] - }, - n869: { - id: "n869", - loc: [ - -85.636308, - 41.942752 - ] - }, - n87: { - id: "n87", - loc: [ - -85.637566, - 41.942367 - ] - }, - n870: { - id: "n870", - loc: [ - -85.636516, - 41.942729 - ] - }, - n871: { - id: "n871", - loc: [ - -85.636782, - 41.942712 - ] - }, - n872: { - id: "n872", - loc: [ - -85.636944, - 41.942706 - ] - }, - n873: { - id: "n873", - loc: [ - -85.63704, - 41.942706 - ] - }, - n874: { - id: "n874", - loc: [ - -85.637237, - 41.942703 - ] - }, - n875: { - id: "n875", - loc: [ - -85.637553, - 41.9427 - ] - }, - n876: { - id: "n876", - loc: [ - -85.638236, - 41.942697 - ] - }, - n877: { - id: "n877", - loc: [ - -85.636284, - 41.942781 - ] - }, - n878: { - id: "n878", - loc: [ - -85.636551, - 41.942641 - ] - }, - n879: { - id: "n879", - loc: [ - -85.633914, - 41.943693 - ] - }, - n88: { - id: "n88", - loc: [ - -85.637566, - 41.94241 - ] - }, - n880: { - id: "n880", - loc: [ - -85.63389, - 41.943708 - ] - }, - n881: { - id: "n881", - loc: [ - -85.633866, - 41.943686 - ] - }, - n882: { - id: "n882", - loc: [ - -85.63389, - 41.943671 - ] - }, - n883: { - id: "n883", - loc: [ - -85.633857, - 41.943609 - ] - }, - n884: { - id: "n884", - loc: [ - -85.634858, - 41.944474 - ] - }, - n885: { - id: "n885", - loc: [ - -85.633988, - 41.943234 - ] - }, - n886: { - id: "n886", - loc: [ - -85.633999, - 41.943485 - ] - }, - n887: { - id: "n887", - loc: [ - -85.634109, - 41.943449 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n888: { - id: "n888", - loc: [ - -85.635728, - 41.942655 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n889: { - id: "n889", - loc: [ - -85.636499, - 41.942845 - ], - tags: { - man_made: "flagpole" - } - }, - n89: { - id: "n89", - loc: [ - -85.637455, - 41.94241 - ] - }, - n890: { - id: "n890", - loc: [ - -85.636197, - 41.943073 - ] - }, - n891: { - id: "n891", - loc: [ - -85.636227, - 41.943073 - ] - }, - n892: { - id: "n892", - loc: [ - -85.637433, - 41.942933 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "401", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Michigan Avenue", - amenity: "restaurant", - cuisine: "pizza", - name: "Pizza Hut" - } - }, - n893: { - id: "n893", - loc: [ - -85.637907, - 41.942879 - ], - tags: { - amenity: "car_wash" - } - }, - n894: { - id: "n894", - loc: [ - -85.637661, - 41.943018 - ] - }, - n895: { - id: "n895", - loc: [ - -85.636933, - 41.942733 - ], - tags: { - emergency: "fire_hydrant" - } - }, - n896: { - id: "n896", - loc: [ - -85.637661, - 41.94304 - ] - }, - n897: { - id: "n897", - loc: [ - -85.637562, - 41.943041 - ] - }, - n898: { - id: "n898", - loc: [ - -85.637556, - 41.942725 - ] - }, - n899: { - id: "n899", - loc: [ - -85.637656, - 41.942724 - ] - }, - n9: { - id: "n9", - loc: [ - -85.635159, - 41.941926 - ] - }, - n90: { - id: "n90", - loc: [ - -85.637454, - 41.942367 - ] - }, - n900: { - id: "n900", - loc: [ - -85.637657, - 41.942779 - ] - }, - n901: { - id: "n901", - loc: [ - -85.637983, - 41.942777 - ] - }, - n902: { - id: "n902", - loc: [ - -85.637982, - 41.942616 - ] - }, - n903: { - id: "n903", - loc: [ - -85.637777, - 41.942778 - ] - }, - n904: { - id: "n904", - loc: [ - -85.637775, - 41.942699 - ] - }, - n905: { - id: "n905", - loc: [ - -85.637772, - 41.942618 - ] - }, - n906: { - id: "n906", - loc: [ - -85.637982, - 41.942698 - ] - }, - n907: { - id: "n907", - loc: [ - -85.637941, - 41.942378 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "416", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Michigan Avenue", - name: "Gem Pawnbroker", - shop: "pawnbroker" - } - }, - n908: { - id: "n908", - loc: [ - -85.637515, - 41.942394 - ], - tags: { - second_hand: "only", - shop: "car" - } - }, - n909: { - id: "n909", - loc: [ - -85.638743, - 41.942374 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "500", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Michigan Avenue", - name: "William Towing", - "service:vehicle:towing": "yes", - "service:vehicle:tyres": "yes", - shop: "car_repair" - } - }, - n91: { - id: "n91", - loc: [ - -85.637565, - 41.942341 - ] - }, - n910: { - id: "n910", - loc: [ - -85.638594, - 41.942357 - ] - }, - n911: { - id: "n911", - loc: [ - -85.634312, - 41.943562 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "145", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Michigan Avenue", - amenity: "cafe", - cuisine: "coffee_shop", - name: "L.A.'s Coffee Cafe", - outdoor_seating: "yes" - } - }, - n912: { - id: "n912", - loc: [ - -85.634404, - 41.943512 - ] - }, - n913: { - id: "n913", - loc: [ - -85.634391, - 41.943519 - ], - tags: { - entrance: "yes" - } - }, - n914: { - id: "n914", - loc: [ - -85.634259, - 41.943538 - ], - tags: { - entrance: "yes" - } - }, - n915: { - id: "n915", - loc: [ - -85.634247, - 41.943528 - ] - }, - n916: { - id: "n916", - loc: [ - -85.633747, - 41.943322 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "132", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Michigan Avenue", - name: "Preferred Insurance Services", - office: "insurance" - } - }, - n917: { - id: "n917", - loc: [ - -85.63299, - 41.943686 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "101", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Lynn's Garage", - "service:vehicle:tyres": "yes", - shop: "car_repair" - } - }, - n918: { - id: "n918", - loc: [ - -85.633438, - 41.944883 - ] - }, - n919: { - id: "n919", - loc: [ - -85.633265, - 41.944983 - ] - }, - n92: { - id: "n92", - loc: [ - -85.637481, - 41.942341 - ] - }, - n920: { - id: "n920", - loc: [ - -85.633315, - 41.945027 - ] - }, - n921: { - id: "n921", - loc: [ - -85.633376, - 41.944827 - ] - }, - n922: { - id: "n922", - loc: [ - -85.633199, - 41.944922 - ] - }, - n923: { - id: "n923", - loc: [ - -85.633316, - 41.944772 - ] - }, - n924: { - id: "n924", - loc: [ - -85.633147, - 41.944867 - ] - }, - n925: { - id: "n925", - loc: [ - -85.633261, - 41.944719 - ] - }, - n926: { - id: "n926", - loc: [ - -85.633096, - 41.944812 - ] - }, - n927: { - id: "n927", - loc: [ - -85.633191, - 41.944645 - ] - }, - n928: { - id: "n928", - loc: [ - -85.632981, - 41.94476 - ] - }, - n929: { - id: "n929", - loc: [ - -85.633062, - 41.94483 - ] - }, - n93: { - id: "n93", - loc: [ - -85.637481, - 41.94226 - ] - }, - n930: { - id: "n930", - loc: [ - -85.633146, - 41.944602 - ] - }, - n931: { - id: "n931", - loc: [ - -85.632969, - 41.944703 - ] - }, - n932: { - id: "n932", - loc: [ - -85.633008, - 41.944745 - ] - }, - n933: { - id: "n933", - loc: [ - -85.633088, - 41.944545 - ] - }, - n934: { - id: "n934", - loc: [ - -85.632868, - 41.944655 - ] - }, - n935: { - id: "n935", - loc: [ - -85.632941, - 41.944718 - ] - }, - n936: { - id: "n936", - loc: [ - -85.633028, - 41.944483 - ] - }, - n937: { - id: "n937", - loc: [ - -85.632817, - 41.944605 - ] - }, - n938: { - id: "n938", - loc: [ - -85.632923, - 41.944373 - ] - }, - n939: { - id: "n939", - loc: [ - -85.632692, - 41.944485 - ] - }, - n94: { - id: "n94", - loc: [ - -85.637565, - 41.94226 - ] - }, - n940: { - id: "n940", - loc: [ - -85.632871, - 41.944316 - ] - }, - n941: { - id: "n941", - loc: [ - -85.632655, - 41.944421 - ] - }, - n942: { - id: "n942", - loc: [ - -85.632711, - 41.944478 - ] - }, - n943: { - id: "n943", - loc: [ - -85.632825, - 41.94426 - ] - }, - n944: { - id: "n944", - loc: [ - -85.632606, - 41.944363 - ] - }, - n945: { - id: "n945", - loc: [ - -85.63275, - 41.94418 - ] - }, - n946: { - id: "n946", - loc: [ - -85.632588, - 41.944256 - ] - }, - n947: { - id: "n947", - loc: [ - -85.632611, - 41.944279 - ] - }, - n948: { - id: "n948", - loc: [ - -85.632548, - 41.944306 - ] - }, - n949: { - id: "n949", - loc: [ - -85.632512, - 41.944406 - ] - }, - n95: { - id: "n95", - loc: [ - -85.637188, - 41.942217 - ] - }, - n950: { - id: "n950", - loc: [ - -85.632565, - 41.944463 - ] - }, - n951: { - id: "n951", - loc: [ - -85.632579, - 41.944456 - ] - }, - n952: { - id: "n952", - loc: [ - -85.632634, - 41.944518 - ] - }, - n953: { - id: "n953", - loc: [ - -85.632686, - 41.944569 - ] - }, - n954: { - id: "n954", - loc: [ - -85.632745, - 41.944537 - ] - }, - n955: { - id: "n955", - loc: [ - -85.632659, - 41.944587 - ] - }, - n956: { - id: "n956", - loc: [ - -85.632778, - 41.944705 - ] - }, - n957: { - id: "n957", - loc: [ - -85.632815, - 41.944301 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "5", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Access Point Employment", - office: "employment_agency" - } - }, - n958: { - id: "n958", - loc: [ - -85.6332, - 41.944174 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "6", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Paisley Emporium", - shop: "second_hand" - } - }, - n959: { - id: "n959", - loc: [ - -85.633578, - 41.944568 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "22", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - name: "Lowry's Books", - shop: "books" - } - }, - n96: { - id: "n96", - loc: [ - -85.637189, - 41.942303 - ] - }, - n960: { - id: "n960", - loc: [ - -85.63344, - 41.944443 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "16", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - amenity: "restaurant", - cuisine: "pizza", - name: "Paisano's Bar and Grill" - } - }, - n961: { - id: "n961", - loc: [ - -85.633009, - 41.944542 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "13", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - amenity: "cafe", - cuisine: "american", - internet_access: "yes", - name: "Main Street Cafe" - } - }, - n962: { - id: "n962", - loc: [ - -85.633674, - 41.944682 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "28", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - leisure: "fitness_centre", - name: "Main Street Fitness" - } - }, - n963: { - id: "n963", - loc: [ - -85.633376, - 41.944868 - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "27", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Main Street", - leisure: "fitness_centre", - name: "Main Street Barbell" - } - }, - n964: { - id: "n964", - loc: [ - -85.633366, - 41.944783 - ] - }, - n965: { - id: "n965", - loc: [ - -85.633296, - 41.94482 - ] - }, - n966: { - id: "n966", - loc: [ - -85.633214, - 41.94487 - ] - }, - n967: { - id: "n967", - loc: [ - -85.633005, - 41.944988 - ] - }, - n968: { - id: "n968", - loc: [ - -85.633269, - 41.944816 - ] - }, - n969: { - id: "n969", - loc: [ - -85.633215, - 41.944842 - ] - }, - n97: { - id: "n97", - loc: [ - -85.637299, - 41.942302 - ] - }, - n970: { - id: "n970", - loc: [ - -85.633245, - 41.944871 - ] - }, - n971: { - id: "n971", - loc: [ - -85.633296, - 41.944845 - ] - }, - n972: { - id: "n972", - loc: [ - -85.633254, - 41.944845 - ], - tags: { - natural: "tree" - } - }, - n973: { - id: "n973", - loc: [ - -85.633557, - 41.945515 - ] - }, - n974: { - id: "n974", - loc: [ - -85.633279, - 41.945246 - ] - }, - n975: { - id: "n975", - loc: [ - -85.63324, - 41.945226 - ] - }, - n976: { - id: "n976", - loc: [ - -85.6332, - 41.945213 - ] - }, - n977: { - id: "n977", - loc: [ - -85.633133, - 41.945164 - ] - }, - n978: { - id: "n978", - loc: [ - -85.63312, - 41.945132 - ] - }, - n979: { - id: "n979", - loc: [ - -85.633095, - 41.945081 - ] - }, - n98: { - id: "n98", - loc: [ - -85.637299, - 41.942314 - ] - }, - n980: { - id: "n980", - loc: [ - -85.633064, - 41.945047 - ] - }, - n981: { - id: "n981", - loc: [ - -85.632739, - 41.944742 - ] - }, - n982: { - id: "n982", - loc: [ - -85.633281, - 41.945026 - ] - }, - n983: { - id: "n983", - loc: [ - -85.633155, - 41.944903 - ] - }, - n984: { - id: "n984", - loc: [ - -85.633079, - 41.944829 - ] - }, - n985: { - id: "n985", - loc: [ - -85.63304, - 41.944853 - ] - }, - n986: { - id: "n986", - loc: [ - -85.632949, - 41.944776 - ] - }, - n987: { - id: "n987", - loc: [ - -85.632921, - 41.944725 - ] - }, - n988: { - id: "n988", - loc: [ - -85.632859, - 41.944673 - ] - }, - n989: { - id: "n989", - loc: [ - -85.632895, - 41.94505 - ] - }, - n99: { - id: "n99", - loc: [ - -85.637396, - 41.942313 - ] - }, - n990: { - id: "n990", - loc: [ - -85.633336, - 41.945138 - ] - }, - n991: { - id: "n991", - loc: [ - -85.633466, - 41.945265 - ] - }, - n992: { - id: "n992", - loc: [ - -85.633367, - 41.945327 - ] - }, - n993: { - id: "n993", - loc: [ - -85.633163, - 41.945189 - ] - }, - n994: { - id: "n994", - loc: [ - -85.633678, - 41.945309 - ] - }, - n995: { - id: "n995", - loc: [ - -85.633619, - 41.945261 - ] - }, - n996: { - id: "n996", - loc: [ - -85.63355, - 41.945301 - ] - }, - n997: { - id: "n997", - loc: [ - -85.633607, - 41.945352 - ] - }, - n998: { - id: "n998", - loc: [ - -85.633579, - 41.945327 - ], - tags: { - entrance: "yes" - } - }, - n999: { - id: "n999", - loc: [ - -85.633445, - 41.945404 - ] - }, - r2: { - id: "r2", - members: [ - { - id: "w225", - role: "outer", - type: "way" - } - ], - tags: { - type: "multipolygon", - waterway: "riverbank" - } - }, - r5: { - id: "r5", - members: [ - { - id: "w642", - role: "outer", - type: "way" - } - ], - tags: { - admin_level: "8", - border_type: "city", - boundary: "administrative", - name: "Three Rivers", - place: "city", - type: "boundary" - } - }, - w1: { - id: "w1", - nodes: [ - "n5", - "n1797" - ], - tags: { - highway: "residential", - name: "12th Avenue" - } - }, - w10: { - id: "w10", - nodes: [ - "n54", - "n55", - "n56", - "n57", - "n891", - "n890", - "n54" - ], - tags: { - building: "yes" - } - }, - w100: { - id: "w100", - nodes: [ - "n451", - "n915", - "n452" - ], - tags: { - highway: "footway" - } - }, - w101: { - id: "w101", - nodes: [ - "n461", - "n462", - "n463", - "n464", - "n465", - "n466" - ], - tags: { - barrier: "fence" - } - }, - w102: { - id: "w102", - nodes: [ - "n467", - "n468", - "n469", - "n470", - "n472", - "n467" - ], - tags: { - amenity: "parking" - } - }, - w103: { - id: "w103", - nodes: [ - "n2597", - "n2444", - "n471", - "n472" - ], - tags: { - highway: "footway" - } - }, - w104: { - id: "w104", - nodes: [ - "n473", - "n474", - "n325" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w105: { - id: "w105", - nodes: [ - "n475", - "n324", - "n325" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w106: { - id: "w106", - nodes: [ - "n886", - "n452", - "n476" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w107: { - id: "w107", - nodes: [ - "n485", - "n4678", - "n486", - "n18" - ], - tags: { - highway: "service" - } - }, - w108: { - id: "w108", - nodes: [ - "n300", - "n487", - "n488", - "n489", - "n490" - ], - tags: { - highway: "footway" - } - }, - w109: { - id: "w109", - nodes: [ - "n490", - "n491" - ], - tags: { - highway: "footway" - } - }, - w11: { - id: "w11", - nodes: [ - "n58", - "n63", - "n59", - "n315", - "n60" - ], - tags: { - highway: "service" - } - }, - w110: { - id: "w110", - nodes: [ - "n492", - "n493", - "n494", - "n495", - "n496", - "n497", - "n492" - ], - tags: { - building: "yes" - } - }, - w111: { - id: "w111", - nodes: [ - "n498", - "n499", - "n511" - ], - tags: { - highway: "service" - } - }, - w112: { - id: "w112", - nodes: [ - "n510", - "n500", - "n501", - "n502", - "n503", - "n504", - "n505", - "n506", - "n507", - "n508", - "n509" - ], - tags: { - highway: "service" - } - }, - w113: { - id: "w113", - nodes: [ - "n511", - "n510" - ], - tags: { - covered: "yes", - highway: "service" - } - }, - w114: { - id: "w114", - nodes: [ - "n512", - "n513", - "n514", - "n515", - "n512" - ], - tags: { - building: "yes" - } - }, - w115: { - id: "w115", - nodes: [ - "n516", - "n517", - "n518", - "n519", - "n516" - ], - tags: { - building: "yes" - } - }, - w116: { - id: "w116", - nodes: [ - "n520", - "n521", - "n522", - "n523", - "n520" - ], - tags: { - building: "yes" - } - }, - w117: { - id: "w117", - nodes: [ - "n524", - "n525", - "n526", - "n527", - "n528", - "n529", - "n530", - "n531", - "n532", - "n533", - "n534", - "n535", - "n524" - ], - tags: { - building: "yes" - } - }, - w118: { - id: "w118", - nodes: [ - "n536", - "n537", - "n538", - "n539", - "n536" - ], - tags: { - building: "yes" - } - }, - w119: { - id: "w119", - nodes: [ - "n540", - "n541", - "n542", - "n543", - "n544", - "n545", - "n546", - "n547", - "n540" - ], - tags: { - building: "yes" - } - }, - w12: { - id: "w12", - nodes: [ - "n61", - "n314", - "n70", - "n62", - "n63" - ], - tags: { - highway: "service" - } - }, - w120: { - id: "w120", - nodes: [ - "n548", - "n549", - "n550", - "n551", - "n552", - "n553", - "n554", - "n555", - "n556", - "n557", - "n548" - ], - tags: { - building: "yes" - } - }, - w121: { - id: "w121", - nodes: [ - "n558", - "n559", - "n560", - "n561", - "n562", - "n563", - "n564", - "n565", - "n558" - ], - tags: { - building: "yes" - } - }, - w122: { - id: "w122", - nodes: [ - "n566", - "n567", - "n568", - "n569", - "n566" - ], - tags: { - building: "yes" - } - }, - w123: { - id: "w123", - nodes: [ - "n570", - "n571", - "n572", - "n573", - "n570" - ], - tags: { - building: "yes" - } - }, - w124: { - id: "w124", - nodes: [ - "n574", - "n575", - "n576", - "n577", - "n574" - ], - tags: { - building: "yes" - } - }, - w125: { - id: "w125", - nodes: [ - "n578", - "n579", - "n580", - "n581", - "n578" - ], - tags: { - building: "yes" - } - }, - w126: { - id: "w126", - nodes: [ - "n582", - "n583", - "n584", - "n585", - "n582" - ], - tags: { - building: "yes" - } - }, - w127: { - id: "w127", - nodes: [ - "n586", - "n587", - "n588", - "n589", - "n590", - "n591", - "n592", - "n593", - "n586" - ], - tags: { - building: "yes" - } - }, - w128: { - id: "w128", - nodes: [ - "n594", - "n595", - "n596", - "n597", - "n598", - "n599", - "n600", - "n601", - "n594" - ], - tags: { - building: "yes" - } - }, - w129: { - id: "w129", - nodes: [ - "n309", - "n602", - "n603" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w13: { - id: "w13", - nodes: [ - "n64", - "n65", - "n66", - "n67", - "n68", - "n69", - "n64" - ], - tags: { - amenity: "parking" - } - }, - w130: { - id: "w130", - nodes: [ - "n603", - "n604" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w131: { - id: "w131", - nodes: [ - "n604", - "n605", - "n606" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w132: { - id: "w132", - nodes: [ - "n606", - "n607" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w133: { - id: "w133", - nodes: [ - "n607", - "n610", - "n608", - "n603" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w134: { - id: "w134", - nodes: [ - "n609", - "n610", - "n611" - ], - tags: { - highway: "service", - service: "driveway", - surface: "unpaved" - } - }, - w135: { - id: "w135", - nodes: [ - "n244", - "n245", - "n246" - ], - tags: { - highway: "service" - } - }, - w136: { - id: "w136", - nodes: [ - "n612", - "n613", - "n614", - "n615", - "n612" - ], - tags: { - amenity: "shelter" - } - }, - w137: { - id: "w137", - nodes: [ - "n2779", - "n2788", - "n2776", - "n2778", - "n2775", - "n2787", - "n2440", - "n2437", - "n629", - "n2438", - "n630", - "n2439", - "n2407", - "n2408", - "n2409" - ], - tags: { - highway: "residential", - name: "Foster Street" - } - }, - w138: { - id: "w138", - nodes: [ - "n2779", - "n625", - "n626", - "n627" - ], - tags: { - highway: "residential", - name: "Foster Street", - oneway: "yes" - } - }, - w139: { - id: "w139", - nodes: [ - "n630", - "n631", - "n632", - "n2437" - ], - tags: { - highway: "service" - } - }, - w14: { - id: "w14", - nodes: [ - "n71", - "n72", - "n73", - "n74", - "n71" - ], - tags: { - building: "yes" - } - }, - w140: { - id: "w140", - nodes: [ - "n643", - "n637", - "n715", - "n2410" - ], - tags: { - highway: "footway", - name: "Mural Mall" - } - }, - w141: { - id: "w141", - nodes: [ - "n639", - "n2516" - ], - tags: { - barrier: "wall" - } - }, - w142: { - id: "w142", - nodes: [ - "n640", - "n641", - "n645", - "n642", - "n660", - "n643", - "n644" - ], - tags: { - highway: "service" - } - }, - w143: { - id: "w143", - nodes: [ - "n646", - "n647" - ], - tags: { - highway: "service" - } - }, - w144: { - id: "w144", - nodes: [ - "n654", - "n655", - "n656" - ], - tags: { - barrier: "wall" - } - }, - w145: { - id: "w145", - nodes: [ - "n665", - "n666", - "n667" - ], - tags: { - barrier: "wall" - } - }, - w146: { - id: "w146", - nodes: [ - "n2727", - "n662", - "n2719" - ], - tags: { - highway: "service", - oneway: "yes", - service: "parking_aisle" - } - }, - w147: { - id: "w147", - nodes: [ - "n2725", - "n674" - ], - tags: { - highway: "service", - oneway: "yes" - } - }, - w148: { - id: "w148", - nodes: [ - "n2464", - "n2460", - "n2454", - "n684", - "n2455", - "n2464" - ], - tags: { - building: "yes" - } - }, - w149: { - id: "w149", - nodes: [ - "n2456", - "n685", - "n686", - "n687", - "n2456" - ], - tags: { - building: "yes" - } - }, - w15: { - id: "w15", - nodes: [ - "n75", - "n76", - "n77", - "n78", - "n75" - ], - tags: { - building: "yes" - } - }, - w150: { - id: "w150", - nodes: [ - "n685", - "n688", - "n689", - "n690", - "n691", - "n692", - "n686", - "n685" - ], - tags: { - building: "yes" - } - }, - w151: { - id: "w151", - nodes: [ - "n688", - "n693", - "n694", - "n689", - "n688" - ], - tags: { - building: "yes" - } - }, - w152: { - id: "w152", - nodes: [ - "n693", - "n695", - "n702", - "n696", - "n697", - "n694", - "n693" - ], - tags: { - building: "yes" - } - }, - w153: { - id: "w153", - nodes: [ - "n695", - "n698", - "n699", - "n700", - "n701", - "n702", - "n695" - ], - tags: { - building: "yes" - } - }, - w154: { - id: "w154", - nodes: [ - "n698", - "n703", - "n707", - "n704", - "n699", - "n698" - ], - tags: { - building: "yes" - } - }, - w155: { - id: "w155", - nodes: [ - "n703", - "n705", - "n706", - "n707", - "n703" - ], - tags: { - building: "yes" - } - }, - w156: { - id: "w156", - nodes: [ - "n705", - "n708", - "n709", - "n706", - "n705" - ], - tags: { - building: "yes" - } - }, - w157: { - id: "w157", - nodes: [ - "n709", - "n710", - "n711", - "n708", - "n709" - ], - tags: { - building: "yes" - } - }, - w158: { - id: "w158", - nodes: [ - "n369", - "n712", - "n725", - "n713", - "n714", - "n715", - "n727", - "n716", - "n717", - "n718", - "n719" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w159: { - id: "w159", - nodes: [ - "n714", - "n720", - "n721" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w16: { - id: "w16", - nodes: [ - "n79", - "n80", - "n81", - "n82", - "n83", - "n84", - "n85", - "n86", - "n79" - ], - tags: { - building: "yes" - } - }, - w160: { - id: "w160", - nodes: [ - "n729", - "n721", - "n722", - "n964", - "n723", - "n724" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w161: { - id: "w161", - nodes: [ - "n713", - "n726", - "n722" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w162: { - id: "w162", - nodes: [ - "n727", - "n2411", - "n728" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w163: { - id: "w163", - nodes: [ - "n729", - "n730", - "n731" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w164: { - id: "w164", - nodes: [ - "n365", - "n732", - "n733", - "n738" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w165: { - id: "w165", - nodes: [ - "n724", - "n734", - "n367", - "n735", - "n736", - "n737" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w166: { - id: "w166", - nodes: [ - "n739", - "n2037", - "n2038", - "n2039", - "n2040", - "n1623", - "n2032" - ], - tags: { - highway: "footway" - } - }, - w167: { - id: "w167", - nodes: [ - "n150", - "n751" - ], - tags: { - highway: "service" - } - }, - w168: { - id: "w168", - nodes: [ - "n752", - "n753", - "n754", - "n755", - "n752" - ], - tags: { - building: "yes" - } - }, - w169: { - id: "w169", - nodes: [ - "n756", - "n757", - "n758", - "n759", - "n756" - ], - tags: { - building: "yes" - } - }, - w17: { - id: "w17", - nodes: [ - "n87", - "n88", - "n89", - "n90", - "n87" - ], - tags: { - building: "yes" - } - }, - w170: { - id: "w170", - nodes: [ - "n760", - "n761", - "n762", - "n763", - "n764", - "n765", - "n760" - ], - tags: { - building: "yes" - } - }, - w171: { - id: "w171", - nodes: [ - "n766", - "n767", - "n768", - "n769", - "n770", - "n771", - "n772", - "n773", - "n774", - "n775", - "n776", - "n777", - "n766" - ], - tags: { - building: "yes" - } - }, - w172: { - id: "w172", - nodes: [ - "n778", - "n779", - "n780", - "n781", - "n782", - "n783", - "n784", - "n785", - "n778" - ], - tags: { - building: "yes" - } - }, - w173: { - id: "w173", - nodes: [ - "n786", - "n787", - "n788", - "n789", - "n786" - ], - tags: { - building: "yes" - } - }, - w174: { - id: "w174", - nodes: [ - "n790", - "n791", - "n792", - "n793", - "n794", - "n795", - "n796", - "n797", - "n798", - "n799", - "n800", - "n801", - "n790" - ], - tags: { - building: "yes" - } - }, - w175: { - id: "w175", - nodes: [ - "n802", - "n803", - "n804", - "n805", - "n802" - ], - tags: { - building: "yes" - } - }, - w176: { - id: "w176", - nodes: [ - "n806", - "n807", - "n808", - "n809", - "n810", - "n811", - "n812", - "n813", - "n814", - "n815", - "n806" - ], - tags: { - building: "yes" - } - }, - w177: { - id: "w177", - nodes: [ - "n816", - "n1140", - "n817", - "n818", - "n819", - "n820", - "n821" - ], - tags: { - highway: "service" - } - }, - w178: { - id: "w178", - nodes: [ - "n822", - "n823", - "n824", - "n825", - "n822" - ], - tags: { - building: "yes" - } - }, - w179: { - id: "w179", - nodes: [ - "n841", - "n842", - "n843", - "n844", - "n841" - ], - tags: { - building: "yes" - } - }, - w18: { - id: "w18", - nodes: [ - "n91", - "n92", - "n93", - "n94", - "n91" - ], - tags: { - building: "yes" - } - }, - w180: { - id: "w180", - nodes: [ - "n845", - "n856", - "n846" - ], - tags: { - highway: "service" - } - }, - w181: { - id: "w181", - nodes: [ - "n846", - "n847", - "n848", - "n849", - "n850", - "n851", - "n852", - "n853", - "n854", - "n855", - "n856" - ], - tags: { - highway: "service", - oneway: "yes", - service: "drive-through" - } - }, - w182: { - id: "w182", - nodes: [ - "n857", - "n858" - ], - tags: { - highway: "service" - } - }, - w183: { - id: "w183", - nodes: [ - "n859", - "n860", - "n861", - "n862", - "n859" - ], - tags: { - amenity: "parking" - } - }, - w184: { - id: "w184", - nodes: [ - "n863", - "n864", - "n867", - "n866", - "n865" - ], - tags: { - highway: "service" - } - }, - w185: { - id: "w185", - nodes: [ - "n883", - "n884" - ], - tags: { - barrier: "fence" - } - }, - w186: { - id: "w186", - nodes: [ - "n1954", - "n622", - "n1955" - ], - tags: { - highway: "path", - name: "Riverwalk Trail" - } - }, - w187: { - id: "w187", - nodes: [ - "n621", - "n1954" - ], - tags: { - highway: "steps", - incline: "up", - name: "Riverwalk Trail", - surface: "wood" - } - }, - w188: { - id: "w188", - nodes: [ - "n2274", - "n2275", - "n2276", - "n2277", - "n2278", - "n2279", - "n1953", - "n621" - ], - tags: { - highway: "path", - name: "Riverwalk Trail", - surface: "wood" - } - }, - w189: { - id: "w189", - nodes: [ - "n2273", - "n2274" - ], - tags: { - highway: "steps", - incline: "down", - name: "Riverwalk Trail", - surface: "wood" - } - }, - w19: { - id: "w19", - nodes: [ - "n95", - "n96", - "n97", - "n98", - "n99", - "n100", - "n101", - "n102", - "n95" - ], - tags: { - building: "yes" - } - }, - w190: { - id: "w190", - nodes: [ - "n821", - "n894", - "n900", - "n903", - "n901" - ], - tags: { - highway: "service" - } - }, - w191: { - id: "w191", - nodes: [ - "n896", - "n897", - "n898", - "n899", - "n900", - "n894", - "n896" - ], - tags: { - amenity: "parking" - } - }, - w192: { - id: "w192", - nodes: [ - "n903", - "n904", - "n905" - ], - tags: { - highway: "service" - } - }, - w193: { - id: "w193", - nodes: [ - "n901", - "n906", - "n902" - ], - tags: { - highway: "service" - } - }, - w194: { - id: "w194", - nodes: [ - "n912", - "n913" - ], - tags: { - highway: "footway" - } - }, - w195: { - id: "w195", - nodes: [ - "n914", - "n915" - ], - tags: { - highway: "footway" - } - }, - w196: { - id: "w196", - nodes: [ - "n2466", - "n918", - "n919", - "n920", - "n2466" - ], - tags: { - building: "yes" - } - }, - w197: { - id: "w197", - nodes: [ - "n918", - "n921", - "n922", - "n919", - "n918" - ], - tags: { - building: "yes" - } - }, - w198: { - id: "w198", - nodes: [ - "n923", - "n925", - "n926", - "n924", - "n923" - ], - tags: { - building: "yes" - } - }, - w199: { - id: "w199", - nodes: [ - "n925", - "n927", - "n932", - "n928", - "n929", - "n926", - "n925" - ], - tags: { - building: "yes" - } - }, - w2: { - id: "w2", - nodes: [ - "n3523", - "n2182", - "n2160" - ], - tags: { - highway: "service" - } - }, - w20: { - id: "w20", - nodes: [ - "n103", - "n104", - "n105", - "n106", - "n107", - "n108", - "n109", - "n110", - "n111", - "n112", - "n113", - "n114", - "n103" - ], - tags: { - building: "yes" - } - }, - w200: { - id: "w200", - nodes: [ - "n927", - "n930", - "n931", - "n932", - "n927" - ], - tags: { - building: "yes" - } - }, - w201: { - id: "w201", - nodes: [ - "n930", - "n933", - "n934", - "n935", - "n931", - "n930" - ], - tags: { - building: "yes" - } - }, - w202: { - id: "w202", - nodes: [ - "n933", - "n936", - "n937", - "n934", - "n933" - ], - tags: { - building: "yes" - } - }, - w203: { - id: "w203", - nodes: [ - "n936", - "n938", - "n942", - "n939", - "n954", - "n937", - "n936" - ], - tags: { - building: "yes" - } - }, - w204: { - id: "w204", - nodes: [ - "n938", - "n940", - "n941", - "n942", - "n938" - ], - tags: { - building: "yes" - } - }, - w205: { - id: "w205", - nodes: [ - "n940", - "n943", - "n944", - "n941", - "n940" - ], - tags: { - building: "yes" - } - }, - w206: { - id: "w206", - nodes: [ - "n943", - "n945", - "n946", - "n947", - "n948", - "n944", - "n943" - ], - tags: { - building: "yes" - } - }, - w207: { - id: "w207", - nodes: [ - "n944", - "n949", - "n950", - "n951", - "n941", - "n944" - ], - tags: { - building: "yes" - } - }, - w208: { - id: "w208", - nodes: [ - "n941", - "n951", - "n952", - "n939", - "n942", - "n941" - ], - tags: { - building: "yes" - } - }, - w209: { - id: "w209", - nodes: [ - "n952", - "n953", - "n954", - "n939", - "n952" - ], - tags: { - building: "yes" - } - }, - w21: { - id: "w21", - nodes: [ - "n115", - "n116", - "n117", - "n118", - "n115" - ], - tags: { - building: "yes" - } - }, - w210: { - id: "w210", - nodes: [ - "n953", - "n955", - "n956", - "n934", - "n937", - "n954", - "n953" - ], - tags: { - building: "yes" - } - }, - w211: { - id: "w211", - nodes: [ - "n964", - "n965" - ], - tags: { - highway: "footway" - } - }, - w212: { - id: "w212", - nodes: [ - "n966", - "n983", - "n967", - "n989" - ], - tags: { - highway: "footway" - } - }, - w213: { - id: "w213", - nodes: [ - "n965", - "n968", - "n969", - "n966", - "n970", - "n971", - "n965" - ], - tags: { - highway: "footway" - } - }, - w214: { - id: "w214", - nodes: [ - "n973", - "n999", - "n992", - "n974", - "n975", - "n976", - "n993", - "n977", - "n978", - "n979", - "n980", - "n967", - "n981", - "n1000", - "n1001", - "n1002", - "n1003", - "n1004", - "n1005", - "n1006", - "n1007", - "n1008", - "n1009" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w215: { - id: "w215", - nodes: [ - "n978", - "n982", - "n983", - "n984", - "n985", - "n986", - "n987", - "n988", - "n981" - ], - tags: { - highway: "footway" - } - }, - w216: { - id: "w216", - nodes: [ - "n976", - "n990", - "n991", - "n992" - ], - tags: { - highway: "footway" - } - }, - w217: { - id: "w217", - nodes: [ - "n998", - "n999" - ], - tags: { - highway: "footway" - } - }, - w218: { - id: "w218", - nodes: [ - "n1019", - "n1020", - "n1021", - "n1022", - "n731", - "n728", - "n1023", - "n1025", - "n1024", - "n1019" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w219: { - id: "w219", - nodes: [ - "n719", - "n1026", - "n1027" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w22: { - id: "w22", - nodes: [ - "n119", - "n120", - "n121", - "n122", - "n119" - ], - tags: { - building: "yes" - } - }, - w220: { - id: "w220", - nodes: [ - "n1027", - "n1028", - "n1019" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w221: { - id: "w221", - nodes: [ - "n2080", - "n1828", - "n1863", - "n1829" - ], - tags: { - highway: "tertiary", - name: "Constantine Street" - } - }, - w222: { - id: "w222", - nodes: [ - "n1029", - "n1030", - "n1031" - ], - tags: { - highway: "service" - } - }, - w223: { - id: "w223", - nodes: [ - "n2213", - "n2171", - "n2183", - "n2180", - "n2205", - "n2177", - "n2179", - "n2218", - "n2200", - "n2188", - "n2169", - "n2196", - "n2162", - "n2170", - "n2211", - "n2216", - "n2204", - "n2220", - "n2164", - "n2210", - "n2217", - "n2189", - "n460", - "n453", - "n2282" - ], - tags: { - name: "Rocky River", - waterway: "river" - } - }, - w224: { - id: "w224", - nodes: [ - "n3750", - "n3751", - "n3752" - ], - tags: { - highway: "service", - service: "alley", - surface: "unpaved" - } - }, - w225: { - id: "w225", - nodes: [ - "n2134", - "n2127", - "n2313", - "n2109", - "n2112", - "n2129", - "n2156", - "n2146", - "n2126", - "n2153", - "n2288", - "n2283", - "n2284", - "n2131", - "n2286", - "n2287", - "n2285", - "n2132", - "n2140", - "n2289", - "n2122", - "n2114", - "n2149", - "n2119", - "n2106", - "n2111", - "n2145", - "n2113", - "n2117", - "n2159", - "n2143", - "n2123", - "n2142", - "n2116", - "n2154", - "n2139", - "n2150", - "n2157", - "n2120", - "n2138", - "n2130", - "n2136", - "n2155", - "n2107", - "n2141", - "n2124", - "n3754", - "n2121", - "n2105", - "n2108", - "n3755", - "n2128", - "n2110", - "n2152", - "n2125", - "n2135", - "n2186", - "n2115", - "n2144", - "n2137", - "n2133", - "n2148", - "n2118", - "n1871", - "n1875", - "n1872", - "n2041", - "n1873", - "n2042", - "n1874", - "n1884", - "n1870", - "n2151", - "n2147", - "n2158", - "n2104", - "n2134" - ] - }, - w226: { - id: "w226", - nodes: [ - "n2243", - "n2280", - "n2244", - "n2245", - "n2246", - "n2247", - "n1931", - "n1932", - "n1933", - "n1934", - "n1935", - "n1936", - "n1937", - "n1938", - "n4681", - "n1939", - "n1940", - "n1941", - "n1942", - "n1943", - "n1944", - "n1945", - "n1946", - "n1947" - ], - tags: { - highway: "path", - name: "Riverwalk Trail", - surface: "asphalt", - width: "3" - } - }, - w227: { - id: "w227", - nodes: [ - "n2994", - "n3012", - "n3011", - "n2958" - ], - tags: { - highway: "secondary", - name: "Main Street" - } - }, - w228: { - id: "w228", - nodes: [ - "n2747", - "n2762", - "n2757", - "n2746", - "n2761", - "n2758", - "n2760", - "n2755", - "n2749", - "n2691", - "n1028", - "n2432", - "n2414", - "n2413", - "n2412", - "n2411", - "n2410", - "n720", - "n726", - "n370", - "n368", - "n2748" - ], - tags: { - highway: "primary", - name: "Main Street" - } - }, - w229: { - id: "w229", - nodes: [ - "n2083", - "n2103", - "n2102", - "n2084", - "n2085", - "n2086", - "n2087", - "n2242", - "n471", - "n324", - "n2101", - "n332", - "n1868" - ], - tags: { - name: "Conrail Railroad", - railway: "rail" - } - }, - w23: { - id: "w23", - nodes: [ - "n123", - "n124", - "n125", - "n126", - "n123" - ], - tags: { - building: "yes" - } - }, - w230: { - id: "w230", - nodes: [ - "n2232", - "n2236", - "n2231", - "n2230", - "n2226", - "n2241", - "n2237", - "n2227", - "n1182", - "n2233", - "n2228", - "n2229", - "n1183", - "n2234", - "n19", - "n1891", - "n20", - "n2223", - "n2224", - "n2238", - "n2235", - "n2240", - "n2225", - "n2239" - ], - tags: { - name: "Saint Joseph River", - waterway: "river" - } - }, - w231: { - id: "w231", - nodes: [ - "n456", - "n1036", - "n1037", - "n1038" - ], - tags: { - barrier: "wall" - } - }, - w232: { - id: "w232", - nodes: [ - "n1034", - "n1039", - "n1040" - ], - tags: { - barrier: "wall" - } - }, - w233: { - id: "w233", - nodes: [ - "n1041", - "n1042", - "n1043", - "n1044", - "n1045", - "n1046", - "n1041" - ], - tags: { - access: "private", - leisure: "swimming_pool" - } - }, - w234: { - id: "w234", - nodes: [ - "n1047", - "n1048" - ], - tags: { - barrier: "hedge" - } - }, - w235: { - id: "w235", - nodes: [ - "n1049", - "n1050", - "n1051", - "n1052", - "n1049" - ], - tags: { - building: "yes" - } - }, - w236: { - id: "w236", - nodes: [ - "n1053", - "n1054", - "n1055", - "n1056", - "n1057", - "n1058", - "n1059", - "n1060", - "n1053" - ], - tags: { - building: "yes" - } - }, - w237: { - id: "w237", - nodes: [ - "n1061", - "n1062", - "n1063", - "n1064", - "n1065", - "n1061" - ], - tags: { - building: "yes" - } - }, - w238: { - id: "w238", - nodes: [ - "n1066", - "n1067", - "n1068", - "n1069", - "n1070", - "n1071", - "n1066" - ], - tags: { - building: "yes" - } - }, - w239: { - id: "w239", - nodes: [ - "n1072", - "n1073", - "n1074", - "n1075", - "n1072" - ], - tags: { - building: "yes" - } - }, - w24: { - id: "w24", - nodes: [ - "n127", - "n128", - "n129", - "n130", - "n127" - ], - tags: { - building: "yes" - } - }, - w240: { - id: "w240", - nodes: [ - "n1076", - "n1077", - "n1078", - "n1079", - "n1080", - "n1081", - "n1076" - ], - tags: { - building: "yes" - } - }, - w241: { - id: "w241", - nodes: [ - "n1082", - "n1083", - "n1084", - "n1085", - "n1082" - ], - tags: { - building: "yes" - } - }, - w242: { - id: "w242", - nodes: [ - "n1086", - "n1087", - "n1088", - "n1089", - "n1086" - ], - tags: { - building: "yes" - } - }, - w243: { - id: "w243", - nodes: [ - "n1090", - "n1091", - "n1092", - "n1093", - "n1094", - "n1095", - "n1096", - "n1097", - "n1090" - ], - tags: { - building: "yes" - } - }, - w244: { - id: "w244", - nodes: [ - "n1098", - "n1099", - "n1100", - "n1101" - ], - tags: { - barrier: "fence" - } - }, - w245: { - id: "w245", - nodes: [ - "n1102", - "n835", - "n30", - "n2590", - "n35", - "n29", - "n2591", - "n34", - "n28", - "n2592", - "n2312", - "n32", - "n2593", - "n31", - "n33", - "n2594", - "n2595", - "n1102" - ], - tags: { - highway: "service" - } - }, - w246: { - id: "w246", - nodes: [ - "n1103", - "n1139", - "n1104" - ], - tags: { - barrier: "fence" - } - }, - w247: { - id: "w247", - nodes: [ - "n1105", - "n1106", - "n1107", - "n1108", - "n1109", - "n1110", - "n1111", - "n1112", - "n1113", - "n1114", - "n1105" - ], - tags: { - building: "yes" - } - }, - w248: { - id: "w248", - nodes: [ - "n1115", - "n1116", - "n1117", - "n1118", - "n1119", - "n1120", - "n1115" - ], - tags: { - building: "yes" - } - }, - w249: { - id: "w249", - nodes: [ - "n1121", - "n1122", - "n1123", - "n1124", - "n1121" - ], - tags: { - building: "yes" - } - }, - w25: { - id: "w25", - nodes: [ - "n131", - "n132", - "n133", - "n134", - "n135", - "n136", - "n137", - "n138", - "n139", - "n140", - "n141", - "n142", - "n131" - ], - tags: { - building: "yes" - } - }, - w250: { - id: "w250", - nodes: [ - "n1125", - "n1126", - "n1127", - "n1128", - "n1129", - "n1130", - "n1131", - "n1132", - "n1133", - "n1134", - "n1135", - "n1136", - "n1125" - ], - tags: { - building: "yes" - } - }, - w251: { - id: "w251", - nodes: [ - "n1137", - "n1138", - "n1139" - ], - tags: { - barrier: "fence" - } - }, - w252: { - id: "w252", - nodes: [ - "n876", - "n1140", - "n1141" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w253: { - id: "w253", - nodes: [ - "n1141", - "n1142", - "n1143", - "n1144", - "n1145", - "n1146" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w254: { - id: "w254", - nodes: [ - "n1146", - "n4743", - "n1147", - "n1148" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w255: { - id: "w255", - nodes: [ - "n1148", - "n1149", - "n1150", - "n1151" - ], - tags: { - bridge: "yes", - footway: "sidewalk", - highway: "footway", - layer: "1" - } - }, - w256: { - id: "w256", - nodes: [ - "n1151", - "n1153", - "n1154", - "n1155" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w257: { - id: "w257", - nodes: [ - "n1155", - "n1156" - ], - tags: { - bridge: "yes", - footway: "sidewalk", - highway: "footway", - layer: "1" - } - }, - w258: { - id: "w258", - nodes: [ - "n1157", - "n1158" - ], - tags: { - barrier: "retaining_wall" - } - }, - w259: { - id: "w259", - nodes: [ - "n1156", - "n1161", - "n1159", - "n1160", - "n719" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w26: { - id: "w26", - nodes: [ - "n143", - "n608", - "n144" - ], - tags: { - highway: "service" - } - }, - w260: { - id: "w260", - nodes: [ - "n1162", - "n1163", - "n1164", - "n1165", - "n1166", - "n1167", - "n1168", - "n1169", - "n1170", - "n2528" - ], - tags: { - highway: "footway" - } - }, - w261: { - id: "w261", - nodes: [ - "n1171", - "n1172", - "n1173" - ], - tags: { - barrier: "wall" - } - }, - w262: { - id: "w262", - nodes: [ - "n1175", - "n1176", - "n1177", - "n1178", - "n1179", - "n1180", - "n1181", - "n1175" - ], - tags: { - natural: "wood" - } - }, - w263: { - id: "w263", - nodes: [ - "n1947", - "n1184", - "n1948", - "n1185", - "n1949", - "n1957", - "n1950", - "n480", - "n1951", - "n479", - "n478", - "n477", - "n1952", - "n1851", - "n1956", - "n2248", - "n619", - "n618", - "n2249", - "n2250", - "n2251", - "n617", - "n2252", - "n616", - "n2253", - "n829", - "n2254", - "n827", - "n828", - "n2255", - "n830", - "n2256", - "n826", - "n2257", - "n831", - "n2258", - "n832", - "n835", - "n834", - "n2312", - "n2267", - "n2259", - "n833", - "n2268", - "n2260", - "n836", - "n2261", - "n837", - "n2262", - "n838", - "n2263", - "n2264", - "n839", - "n2265", - "n840", - "n2266" - ], - tags: { - highway: "path", - name: "Riverwalk Trail", - surface: "asphalt", - width: "3" - } - }, - w264: { - id: "w264", - nodes: [ - "n1186", - "n1187", - "n1188", - "n1189", - "n1186" - ], - tags: { - building: "yes" - } - }, - w265: { - id: "w265", - nodes: [ - "n1190", - "n1191", - "n1192", - "n1193", - "n1190" - ], - tags: { - building: "yes" - } - }, - w266: { - id: "w266", - nodes: [ - "n1194", - "n1195", - "n1196", - "n1197", - "n1198", - "n1199", - "n1200", - "n1201", - "n1194" - ], - tags: { - building: "yes" - } - }, - w267: { - id: "w267", - nodes: [ - "n1205", - "n1206", - "n1207", - "n1208", - "n1209", - "n1210", - "n1205" - ], - tags: { - building: "house" - } - }, - w268: { - id: "w268", - nodes: [ - "n1211", - "n1212", - "n1213", - "n1214", - "n1215", - "n1216", - "n1217", - "n1218", - "n1219", - "n1220", - "n1211" - ], - tags: { - building: "house" - } - }, - w269: { - id: "w269", - nodes: [ - "n1221", - "n1225", - "n1222", - "n1223", - "n1224", - "n1221" - ], - tags: { - building: "house" - } - }, - w27: { - id: "w27", - nodes: [ - "n145", - "n147", - "n146" - ], - tags: { - highway: "footway" - } - }, - w270: { - id: "w270", - nodes: [ - "n1225", - "n1226", - "n1227", - "n1229", - "n1228" - ], - tags: { - barrier: "fence" - } - }, - w271: { - id: "w271", - nodes: [ - "n1229", - "n1230" - ], - tags: { - barrier: "fence" - } - }, - w272: { - id: "w272", - nodes: [ - "n1231", - "n1232", - "n1233", - "n1234", - "n1235", - "n1236", - "n1237", - "n1238", - "n1231" - ], - tags: { - building: "house" - } - }, - w273: { - id: "w273", - nodes: [ - "n1239", - "n1240", - "n1241", - "n1242", - "n1243", - "n1244", - "n1245", - "n1246", - "n1239" - ], - tags: { - building: "house" - } - }, - w274: { - id: "w274", - nodes: [ - "n1247", - "n1248", - "n1249", - "n1250", - "n1247" - ], - tags: { - building: "house" - } - }, - w275: { - id: "w275", - nodes: [ - "n1251", - "n1252", - "n1253", - "n1254", - "n1255", - "n1256", - "n1251" - ], - tags: { - building: "house" - } - }, - w276: { - id: "w276", - nodes: [ - "n1257", - "n1258", - "n1259", - "n1260", - "n1257" - ], - tags: { - building: "shed" - } - }, - w277: { - id: "w277", - nodes: [ - "n1261", - "n1262", - "n1263", - "n1264", - "n1265", - "n1266", - "n1267", - "n1268", - "n1261" - ], - tags: { - building: "house" - } - }, - w278: { - id: "w278", - nodes: [ - "n1269", - "n1270", - "n1271", - "n1272", - "n1273", - "n1274", - "n1284", - "n1269" - ], - tags: { - building: "house" - } - }, - w279: { - id: "w279", - nodes: [ - "n1275", - "n1276", - "n1277", - "n1278", - "n1279", - "n1280", - "n1275" - ], - tags: { - building: "house" - } - }, - w28: { - id: "w28", - nodes: [ - "n147", - "n148" - ], - tags: { - highway: "footway" - } - }, - w280: { - id: "w280", - nodes: [ - "n1281", - "n1282", - "n1283", - "n1284" - ], - tags: { - barrier: "fence" - } - }, - w281: { - id: "w281", - nodes: [ - "n1285", - "n1286", - "n1287", - "n1288", - "n1285" - ], - tags: { - building: "house" - } - }, - w282: { - id: "w282", - nodes: [ - "n1289", - "n1290", - "n1291", - "n1292", - "n1293", - "n1294", - "n1295", - "n1296", - "n1289" - ], - tags: { - building: "house" - } - }, - w283: { - id: "w283", - nodes: [ - "n1297", - "n1298", - "n1299", - "n1300", - "n1301", - "n1302", - "n1297" - ], - tags: { - access: "private", - leisure: "swimming_pool" - } - }, - w284: { - id: "w284", - nodes: [ - "n1303", - "n1304", - "n1305", - "n1306", - "n1307", - "n1308", - "n1309", - "n1310", - "n1311", - "n1312", - "n1303" - ], - tags: { - building: "house" - } - }, - w285: { - id: "w285", - nodes: [ - "n1313", - "n1314", - "n1315", - "n1316", - "n1313" - ], - tags: { - building: "house" - } - }, - w286: { - id: "w286", - nodes: [ - "n1317", - "n1318", - "n1319", - "n1320", - "n1321", - "n1322", - "n1323", - "n1324", - "n1325", - "n1326", - "n1327", - "n1328", - "n1329", - "n1330", - "n1317" - ], - tags: { - building: "house" - } - }, - w287: { - id: "w287", - nodes: [ - "n1331", - "n1332", - "n1333", - "n1334", - "n1465", - "n1335", - "n1336", - "n1331" - ], - tags: { - building: "yes" - } - }, - w288: { - id: "w288", - nodes: [ - "n1349", - "n1350", - "n1351", - "n1352", - "n1353", - "n1354", - "n1355", - "n1337", - "n1338", - "n1341", - "n1342", - "n1343", - "n1344", - "n1345", - "n1346", - "n1347", - "n1348", - "n1339", - "n1340", - "n1349" - ], - tags: { - access: "private", - leisure: "swimming_pool" - } - }, - w289: { - id: "w289", - nodes: [ - "n1356", - "n1331" - ], - tags: { - barrier: "fence" - } - }, - w29: { - id: "w29", - nodes: [ - "n149", - "n874", - "n150", - "n151", - "n897", - "n898", - "n875", - "n152" - ], - tags: { - highway: "service", - oneway: "yes" - } - }, - w290: { - id: "w290", - nodes: [ - "n1357", - "n1358", - "n1359", - "n1360", - "n1357" - ], - tags: { - building: "shed" - } - }, - w291: { - id: "w291", - nodes: [ - "n1358", - "n1361", - "n1362" - ], - tags: { - barrier: "fence" - } - }, - w292: { - id: "w292", - nodes: [ - "n1363", - "n1364", - "n1365", - "n1366", - "n1367", - "n1368", - "n1363" - ], - tags: { - building: "house" - } - }, - w293: { - id: "w293", - nodes: [ - "n1369", - "n1370", - "n1371", - "n1372", - "n1373", - "n1374", - "n1369" - ], - tags: { - leisure: "swimming_pool" - } - }, - w294: { - id: "w294", - nodes: [ - "n1367", - "n1375", - "n1376", - "n1377" - ], - tags: { - barrier: "fence" - } - }, - w295: { - id: "w295", - nodes: [ - "n1378", - "n1379", - "n1380", - "n1381", - "n1378" - ], - tags: { - building: "house" - } - }, - w296: { - id: "w296", - nodes: [ - "n1382", - "n1383", - "n1384", - "n1385", - "n1386", - "n1387", - "n1382" - ], - tags: { - building: "house" - } - }, - w297: { - id: "w297", - nodes: [ - "n1388", - "n1389", - "n1390", - "n1391", - "n1392", - "n1393", - "n1388" - ], - tags: { - building: "house" - } - }, - w298: { - id: "w298", - nodes: [ - "n1394", - "n1395", - "n1396", - "n1397", - "n1394" - ], - tags: { - building: "house" - } - }, - w299: { - id: "w299", - nodes: [ - "n1398", - "n1399", - "n1400", - "n1401", - "n1398" - ], - tags: { - access: "private3", - leisure: "swimming_pool" - } - }, - w3: { - id: "w3", - nodes: [ - "n1", - "n2" - ], - tags: { - highway: "track", - name: "Water Street" - } - }, - w30: { - id: "w30", - nodes: [ - "n153", - "n154", - "n155", - "n156", - "n153" - ], - tags: { - amenity: "parking" - } - }, - w300: { - id: "w300", - nodes: [ - "n1402", - "n1403", - "n1404", - "n1405", - "n1406", - "n1407", - "n1408", - "n1409", - "n1410", - "n1411", - "n1412", - "n1413", - "n1402" - ], - tags: { - building: "house" - } - }, - w301: { - id: "w301", - nodes: [ - "n1414", - "n1415", - "n1416", - "n1417", - "n1414" - ], - tags: { - building: "garage" - } - }, - w302: { - id: "w302", - nodes: [ - "n1406", - "n1418", - "n1419", - "n1403" - ], - tags: { - barrier: "fence" - } - }, - w303: { - id: "w303", - nodes: [ - "n1423", - "n1424", - "n1425", - "n1426", - "n1427", - "n1428", - "n1429", - "n1430", - "n1431", - "n1432", - "n1423" - ], - tags: { - building: "house" - } - }, - w304: { - id: "w304", - nodes: [ - "n1433", - "n1434", - "n1435", - "n1446", - "n1436", - "n1437", - "n1438", - "n1439", - "n1444", - "n1440", - "n1441", - "n1445", - "n1442", - "n1443", - "n1433" - ], - tags: { - access: "private", - leisure: "swimming_pool" - } - }, - w305: { - id: "w305", - nodes: [ - "n1447", - "n1448", - "n1452", - "n1453", - "n1454", - "n1451", - "n1449", - "n1450", - "n1447" - ], - tags: { - building: "house" - } - }, - w306: { - id: "w306", - nodes: [ - "n1455", - "n1456", - "n1457", - "n1458", - "n1455" - ], - tags: { - building: "shed" - } - }, - w307: { - id: "w307", - nodes: [ - "n1459", - "n1460", - "n1461", - "n1462", - "n1459" - ], - tags: { - building: "shed" - } - }, - w308: { - id: "w308", - nodes: [ - "n1463", - "n1464" - ], - tags: { - barrier: "fence" - } - }, - w309: { - id: "w309", - nodes: [ - "n1465", - "n1466", - "n1467", - "n1468" - ], - tags: { - barrier: "fence" - } - }, - w31: { - id: "w31", - nodes: [ - "n157", - "n605", - "n158" - ], - tags: { - highway: "service" - } - }, - w310: { - id: "w310", - nodes: [ - "n1469", - "n1481", - "n1463" - ], - tags: { - barrier: "hedge" - } - }, - w311: { - id: "w311", - nodes: [ - "n1470", - "n1471", - "n1472", - "n1473", - "n1474", - "n1475", - "n1480", - "n1476", - "n1477", - "n1478", - "n1479", - "n1470" - ], - tags: { - building: "house" - } - }, - w312: { - id: "w312", - nodes: [ - "n1480", - "n1481" - ], - tags: { - barrier: "wall" - } - }, - w313: { - id: "w313", - nodes: [ - "n1482", - "n1483", - "n1484", - "n1485", - "n1486", - "n1487", - "n1488", - "n1489", - "n1490", - "n1491", - "n1482" - ], - tags: { - access: "private", - leisure: "swimming_pool" - } - }, - w314: { - id: "w314", - nodes: [ - "n1492", - "n1493", - "n1494", - "n1495", - "n1496", - "n1497", - "n1498", - "n1499", - "n1500", - "n1501", - "n1502", - "n1503", - "n1504", - "n1505", - "n1492" - ], - tags: { - building: "house" - } - }, - w315: { - id: "w315", - nodes: [ - "n1506", - "n1507", - "n1508", - "n1509", - "n1510", - "n1511", - "n1512", - "n1513", - "n1514", - "n1515", - "n1506" - ], - tags: { - building: "house" - } - }, - w316: { - id: "w316", - nodes: [ - "n1516", - "n1517", - "n1518", - "n1519", - "n1520", - "n1521", - "n1522", - "n1523", - "n1516" - ], - tags: { - building: "house" - } - }, - w317: { - id: "w317", - nodes: [ - "n1524", - "n1525", - "n1526", - "n1527", - "n1528", - "n1529", - "n1530", - "n1531", - "n1524" - ], - tags: { - building: "house" - } - }, - w318: { - id: "w318", - nodes: [ - "n1532", - "n1533" - ], - tags: { - barrier: "fence" - } - }, - w319: { - id: "w319", - nodes: [ - "n1534", - "n1532", - "n1535" - ], - tags: { - barrier: "fence" - } - }, - w32: { - id: "w32", - nodes: [ - "n159", - "n160", - "n161", - "n162", - "n159" - ], - tags: { - amenity: "parking" - } - }, - w320: { - id: "w320", - nodes: [ - "n1536", - "n1537", - "n1538", - "n1539", - "n1536" - ], - tags: { - building: "shed" - } - }, - w321: { - id: "w321", - nodes: [ - "n1540", - "n1541", - "n1542", - "n1543", - "n1540" - ], - tags: { - building: "shed" - } - }, - w322: { - id: "w322", - nodes: [ - "n1544", - "n1545", - "n1546", - "n1547", - "n1544" - ], - tags: { - building: "shed" - } - }, - w323: { - id: "w323", - nodes: [ - "n1548", - "n1549", - "n1550", - "n1551", - "n1548" - ], - tags: { - building: "house" - } - }, - w324: { - id: "w324", - nodes: [ - "n1552", - "n1553", - "n1554", - "n1555", - "n1556", - "n1557", - "n1558", - "n1559", - "n1552" - ], - tags: { - building: "house" - } - }, - w325: { - id: "w325", - nodes: [ - "n1560", - "n1561", - "n1562", - "n1563", - "n1564", - "n1565", - "n1566", - "n1567", - "n1560" - ], - tags: { - building: "house" - } - }, - w326: { - id: "w326", - nodes: [ - "n1561", - "n1568", - "n1569", - "n1570" - ], - tags: { - barrier: "wall" - } - }, - w327: { - id: "w327", - nodes: [ - "n1571", - "n1572" - ], - tags: { - barrier: "fence" - } - }, - w328: { - id: "w328", - nodes: [ - "n1573", - "n1574", - "n1575", - "n1576", - "n1573" - ], - tags: { - building: "house" - } - }, - w329: { - id: "w329", - nodes: [ - "n1577", - "n1578", - "n1579", - "n1580", - "n1581", - "n1582", - "n1583", - "n1584", - "n1585", - "n1586", - "n1577" - ], - tags: { - building: "house" - } - }, - w33: { - id: "w33", - nodes: [ - "n157", - "n163" - ], - tags: { - highway: "service" - } - }, - w330: { - id: "w330", - nodes: [ - "n1587", - "n1588", - "n1589", - "n1590", - "n1591", - "n1592", - "n1593", - "n1594", - "n1587" - ], - tags: { - building: "house" - } - }, - w331: { - id: "w331", - nodes: [ - "n1595", - "n1596", - "n1597", - "n1598", - "n1599", - "n1600", - "n1601", - "n1595" - ], - tags: { - access: "private", - leisure: "swimming_pool" - } - }, - w332: { - id: "w332", - nodes: [ - "n1602", - "n1603", - "n1604", - "n1605", - "n1606", - "n1607", - "n1608", - "n1609", - "n1611", - "n1610", - "n1612", - "n1613", - "n1602" - ], - tags: { - building: "house" - } - }, - w333: { - id: "w333", - nodes: [ - "n2018", - "n1626", - "n1627", - "n2017", - "n2018" - ], - tags: { - amenity: "shelter", - shelter_type: "picnic_shelter" - } - }, - w334: { - id: "w334", - nodes: [ - "n2", - "n3", - "n2764" - ], - tags: { - highway: "service", - name: "Water Street" - } - }, - w335: { - id: "w335", - nodes: [ - "n3", - "n1628", - "n1614" - ], - tags: { - highway: "service" - } - }, - w336: { - id: "w336", - nodes: [ - "n3198", - "n4545", - "n2747" - ], - tags: { - highway: "residential", - name: "Morris Avenue" - } - }, - w337: { - id: "w337", - nodes: [ - "n1629", - "n3504" - ], - tags: { - highway: "service", - service: "alley", - surface: "unpaved" - } - }, - w338: { - id: "w338", - nodes: [ - "n1813", - "n1635", - "n1814", - "n1634", - "n1815", - "n1632", - "n1816", - "n1817" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w339: { - id: "w339", - nodes: [ - "n1827", - "n4684", - "n4690", - "n1842", - "n4686", - "n4685", - "n1826", - "n1828", - "n1846", - "n1645", - "n1637", - "n4703", - "n1641" - ], - tags: { - highway: "residential", - name: "Millard Street" - } - }, - w34: { - id: "w34", - nodes: [ - "n164", - "n165", - "n166", - "n171", - "n866", - "n172", - "n167", - "n168", - "n169", - "n910", - "n170", - "n164" - ], - tags: { - amenity: "parking" - } - }, - w340: { - id: "w340", - nodes: [ - "n1824", - "n1825" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w341: { - id: "w341", - nodes: [ - "n1701", - "n1702", - "n1703", - "n1704", - "n1705", - "n1706", - "n1701" - ], - tags: { - building: "yes" - } - }, - w342: { - id: "w342", - nodes: [ - "n1855", - "n1860", - "n1856", - "n1775", - "n1804", - "n1776", - "n1855" - ], - tags: { - amenity: "parking", - fee: "no" - } - }, - w343: { - id: "w343", - nodes: [ - "n1757", - "n1758", - "n1759", - "n1760", - "n1757" - ], - tags: { - building: "yes" - } - }, - w344: { - id: "w344", - nodes: [ - "n1659", - "n1660", - "n1661", - "n1662", - "n1663", - "n1664", - "n1665", - "n1666", - "n1659" - ], - tags: { - building: "school" - } - }, - w345: { - id: "w345", - nodes: [ - "n1751", - "n1752", - "n1753", - "n1754", - "n1755", - "n1756", - "n1751" - ], - tags: { - building: "yes" - } - }, - w346: { - id: "w346", - nodes: [ - "n1641", - "n1676", - "n1673", - "n1639", - "n1810", - "n1642", - "n1849", - "n4759", - "n1845" - ], - tags: { - highway: "residential", - name: "Douglas Avenue" - } - }, - w347: { - id: "w347", - nodes: [ - "n1642", - "n1643", - "n1031", - "n1630", - "n845", - "n1631", - "n816", - "n1831", - "n902", - "n905", - "n152", - "n149", - "n1832", - "n1850", - "n878", - "n1833", - "n1852", - "n42", - "n1834", - "n61", - "n60", - "n1851", - "n1835" - ], - tags: { - highway: "primary", - name: "Michigan Avenue" - } - }, - w348: { - id: "w348", - nodes: [ - "n1650", - "n1651", - "n1652", - "n1653", - "n1654", - "n1655", - "n1656", - "n1657", - "n1658", - "n1650" - ], - tags: { - leisure: "playground" - } - }, - w349: { - id: "w349", - nodes: [ - "n1861", - "n1818", - "n1819", - "n1820", - "n1821", - "n1825", - "n1823", - "n1639" - ], - tags: { - highway: "service" - } - }, - w35: { - id: "w35", - nodes: [ - "n168", - "n167", - "n172" - ], - tags: { - barrier: "fence", - fence_type: "chain_link" - } - }, - w350: { - id: "w350", - nodes: [ - "n1783", - "n1819", - "n1784", - "n1857", - "n1861", - "n1858", - "n1783" - ], - tags: { - amenity: "parking" - } - }, - w351: { - id: "w351", - nodes: [ - "n1717", - "n1718", - "n1719", - "n1720", - "n1717" - ], - tags: { - building: "yes" - } - }, - w352: { - id: "w352", - nodes: [ - "n1743", - "n1744", - "n1745", - "n1746", - "n1747", - "n1748", - "n1749", - "n1750", - "n1743" - ], - tags: { - building: "yes" - } - }, - w353: { - id: "w353", - nodes: [ - "n1637", - "n1636", - "n1029", - "n4715", - "n1630" - ], - tags: { - highway: "residential", - name: "Lincoln Avenue" - } - }, - w354: { - id: "w354", - nodes: [ - "n1713", - "n1714", - "n1715", - "n1716", - "n1713" - ], - tags: { - building: "yes" - } - }, - w355: { - id: "w355", - nodes: [ - "n1689", - "n1690", - "n1691", - "n1692", - "n1693", - "n1694", - "n1695", - "n1696", - "n1689" - ], - tags: { - building: "yes" - } - }, - w356: { - id: "w356", - nodes: [ - "n1631", - "n4717", - "n1840", - "n4745", - "n1841" - ], - tags: { - highway: "residential", - name: "Hook Avenue" - } - }, - w357: { - id: "w357", - nodes: [ - "n1737", - "n1738", - "n1739", - "n1740", - "n1741", - "n1742", - "n1737" - ], - tags: { - building: "yes" - } - }, - w358: { - id: "w358", - nodes: [ - "n1707", - "n1708", - "n1709", - "n1710", - "n1711", - "n1712", - "n1707" - ], - tags: { - building: "yes" - } - }, - w359: { - id: "w359", - nodes: [ - "n1829", - "n4695", - "n4697", - "n1843", - "n4698", - "n4701", - "n1638", - "n4702", - "n4705", - "n1636", - "n4706", - "n4707", - "n1633" - ], - tags: { - highway: "residential", - name: "South Street" - } - }, - w36: { - id: "w36", - nodes: [ - "n910", - "n171", - "n866", - "n172" - ], - tags: { - barrier: "fence", - fence_type: "chain_link" - } - }, - w360: { - id: "w360", - nodes: [ - "n1767", - "n1768", - "n1769", - "n1770", - "n1771", - "n1772", - "n1773", - "n1774", - "n1767" - ], - tags: { - building: "yes" - } - }, - w361: { - id: "w361", - nodes: [ - "n1859", - "n1860", - "n1804", - "n1640", - "n1805", - "n1817", - "n1806", - "n1644", - "n1811", - "n1807", - "n1808", - "n3419", - "n1812", - "n1790", - "n3418", - "n3744", - "n1809", - "n1813", - "n1810" - ], - tags: { - highway: "service" - } - }, - w362: { - id: "w362", - nodes: [ - "n1639", - "n1683", - "n4710", - "n1633" - ], - tags: { - highway: "residential", - name: "South Street", - oneway: "yes" - } - }, - w363: { - id: "w363", - nodes: [ - "n1646", - "n1647", - "n1648", - "n1649", - "n1646" - ], - tags: { - leisure: "pitch", - pitch: "basketball" - } - }, - w364: { - id: "w364", - nodes: [ - "n3820", - "n3821", - "n3822", - "n3823", - "n3824", - "n3825", - "n3826", - "n3827", - "n3828", - "n3829", - "n3830", - "n3838", - "n3839", - "n3820" - ], - tags: { - amenity: "school", - name: "Three Rivers Middle School" - } - }, - w365: { - id: "w365", - nodes: [ - "n1721", - "n1722", - "n1723", - "n1724", - "n1725", - "n1726", - "n1727", - "n1728", - "n1729", - "n1730", - "n1731", - "n1732", - "n1733", - "n1734", - "n1735", - "n1736", - "n1721" - ], - tags: { - building: "yes" - } - }, - w366: { - id: "w366", - nodes: [ - "n1791", - "n1792", - "n1793", - "n1794", - "n1795", - "n1796", - "n1798", - "n1799", - "n1800", - "n1801", - "n1802", - "n1803", - "n1791" - ], - tags: { - amenity: "parking" - } - }, - w367: { - id: "w367", - nodes: [ - "n1633", - "n4708", - "n4711", - "n1643", - "n4712", - "n1838", - "n4752", - "n1839" - ], - tags: { - highway: "residential", - name: "Grant Avenue" - } - }, - w368: { - id: "w368", - nodes: [ - "n1853", - "n1687", - "n1688", - "n1854", - "n1853" - ], - tags: { - amenity: "library", - building: "yes", - name: "Three Rivers Public Library" - } - }, - w369: { - id: "w369", - nodes: [ - "n1777", - "n1778", - "n1779", - "n1780", - "n1781", - "n1782", - "n1777" - ], - tags: { - amenity: "parking" - } - }, - w37: { - id: "w37", - nodes: [ - "n173", - "n174", - "n175", - "n176", - "n177", - "n178", - "n179", - "n180", - "n173" - ], - tags: { - building: "yes" - } - }, - w370: { - id: "w370", - nodes: [ - "n1645", - "n1638", - "n858", - "n4718", - "n1631" - ], - tags: { - highway: "residential", - name: "Hook Avenue" - } - }, - w371: { - id: "w371", - nodes: [ - "n3836", - "n3835", - "n4624", - "n3831", - "n4632", - "n3834", - "n3832", - "n3833", - "n3830", - "n3838", - "n3839", - "n3837", - "n3836" - ], - tags: { - amenity: "school", - name: "Three Rivers High School" - } - }, - w372: { - id: "w372", - nodes: [ - "n1697", - "n1698", - "n1699", - "n1700", - "n1697" - ], - tags: { - building: "yes" - } - }, - w373: { - id: "w373", - nodes: [ - "n2891", - "n1785", - "n1786", - "n3394", - "n1787", - "n1788", - "n1789", - "n1830", - "n1836", - "n1837", - "n1848", - "n3409", - "n2891" - ], - tags: { - amenity: "parking" - } - }, - w374: { - id: "w374", - nodes: [ - "n1761", - "n1762", - "n1763", - "n1764", - "n1765", - "n1766", - "n1761" - ], - tags: { - building: "yes" - } - }, - w375: { - id: "w375", - nodes: [ - "n1822", - "n1823" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w376: { - id: "w376", - nodes: [ - "n1677", - "n1678", - "n1679", - "n1680", - "n1681", - "n1682", - "n1677" - ], - tags: { - amenity: "parking" - } - }, - w377: { - id: "w377", - nodes: [ - "n1676", - "n1675", - "n1674", - "n1673" - ], - tags: { - highway: "service", - oneway: "yes" - } - }, - w378: { - id: "w378", - nodes: [ - "n1667", - "n1668", - "n1669", - "n1670", - "n1671", - "n1672", - "n1667" - ], - tags: { - amenity: "school", - name: "Andrews Elementary School" - } - }, - w379: { - id: "w379", - nodes: [ - "n1630", - "n4714", - "n1847", - "n4750", - "n1844" - ], - tags: { - highway: "residential", - name: "Lincoln Avenue" - } - }, - w38: { - id: "w38", - nodes: [ - "n181", - "n182", - "n183", - "n185", - "n184", - "n181" - ], - tags: { - building: "yes" - } - }, - w380: { - id: "w380", - nodes: [ - "n1683", - "n3745", - "n1686", - "n1633" - ], - tags: { - highway: "service", - oneway: "yes", - service: "parking_aisle" - } - }, - w381: { - id: "w381", - nodes: [ - "n2022", - "n2037" - ], - tags: { - highway: "footway" - } - }, - w382: { - id: "w382", - nodes: [ - "n1826", - "n1863" - ], - tags: { - highway: "residential" - } - }, - w383: { - id: "w383", - nodes: [ - "n2011", - "n2012", - "n739", - "n2013", - "n2014", - "n2029", - "n2011" - ], - tags: { - amenity: "shelter", - building: "yes", - shelter_type: "picnic_shelter" - } - }, - w384: { - id: "w384", - nodes: [ - "n2064", - "n2065", - "n2066", - "n2067", - "n2068", - "n2069", - "n2070", - "n2071", - "n2072", - "n2073", - "n2074", - "n2075", - "n2076", - "n2077", - "n2078", - "n2079", - "n2064" - ], - tags: { - building: "yes" - } - }, - w385: { - id: "w385", - nodes: [ - "n1923", - "n1924", - "n1925", - "n1926", - "n1927", - "n1928", - "n1930", - "n1929", - "n1923" - ], - tags: { - natural: "water" - } - }, - w386: { - id: "w386", - nodes: [ - "n1827", - "n14", - "n1886", - "n15", - "n1887", - "n16", - "n1888", - "n18", - "n17", - "n1889", - "n12", - "n13", - "n1890", - "n485", - "n1864", - "n11", - "n10", - "n2058", - "n2036", - "n1865", - "n2020", - "n9", - "n8", - "n1866", - "n295", - "n1867" - ], - tags: { - highway: "service" - } - }, - w387: { - id: "w387", - nodes: [ - "n1846", - "n1843", - "n865", - "n157", - "n4721", - "n1831" - ], - tags: { - highway: "residential", - name: "Andrews Street" - } - }, - w388: { - id: "w388", - nodes: [ - "n2019", - "n2020", - "n2021", - "n2022", - "n2023", - "n2024", - "n2025", - "n2026", - "n2027", - "n2028", - "n2029" - ], - tags: { - highway: "footway" - } - }, - w389: { - id: "w389", - nodes: [ - "n2217", - "n2222", - "n2221", - "n2219", - "n1877", - "n1879", - "n1882", - "n1883", - "n484", - "n1885", - "n483", - "n1880", - "n1881", - "n1878", - "n1884", - "n2223" - ], - tags: { - name: "Rocky River", - waterway: "river" - } - }, - w39: { - id: "w39", - nodes: [ - "n185", - "n186", - "n187" - ], - tags: { - barrier: "fence" - } - }, - w390: { - id: "w390", - nodes: [ - "n2050", - "n2051", - "n2052", - "n2053", - "n2050" - ], - tags: { - amenity: "shelter", - shelter_type: "picnic_shelter" - } - }, - w391: { - id: "w391", - nodes: [ - "n2089", - "n2090", - "n2091", - "n2092", - "n2093", - "n2094", - "n2311", - "n2095", - "n2096", - "n2097", - "n2098", - "n1174", - "n2099", - "n751", - "n43", - "n2062", - "n4725", - "n873", - "n1832" - ], - tags: { - highway: "residential", - name: "Constantine Street" - } - }, - w392: { - id: "w392", - nodes: [ - "n1869", - "n212", - "n436", - "n2281", - "n2081" - ], - tags: { - highway: "primary", - name: "Michigan Avenue" - } - }, - w393: { - id: "w393", - nodes: [ - "n1829", - "n611", - "n144", - "n4694", - "n602", - "n1832" - ], - tags: { - highway: "tertiary", - name: "Constantine Street" - } - }, - w394: { - id: "w394", - nodes: [ - "n1997", - "n1998", - "n2000", - "n1999" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w395: { - id: "w395", - nodes: [ - "n1835", - "n1869" - ], - tags: { - bridge: "yes", - highway: "primary", - name: "Michigan Avenue" - } - }, - w396: { - id: "w396", - nodes: [ - "n2000", - "n2001" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w397: { - id: "w397", - nodes: [ - "n2082", - "n4688", - "n1842", - "n308", - "n498", - "n509", - "n246", - "n241", - "n1867", - "n4645", - "n293", - "n1834" - ], - tags: { - highway: "residential", - name: "Spring Street" - } - }, - w398: { - id: "w398", - nodes: [ - "n2015", - "n2016", - "n2017", - "n2018", - "n2015" - ], - tags: { - building: "yes" - } - }, - w399: { - id: "w399", - nodes: [ - "n2062", - "n45", - "n2063", - "n877", - "n41", - "n1852" - ], - tags: { - highway: "service" - } - }, - w4: { - id: "w4", - nodes: [ - "n7", - "n38", - "n378", - "n379", - "n7" - ], - tags: { - building: "yes" - } - }, - w40: { - id: "w40", - nodes: [ - "n188", - "n189", - "n190", - "n191", - "n192", - "n193", - "n188" - ], - tags: { - building: "house" - } - }, - w400: { - id: "w400", - nodes: [ - "n1968", - "n1969", - "n1970", - "n1971", - "n2007", - "n1972", - "n1973", - "n1978", - "n1974", - "n1977", - "n1976", - "n1975", - "n1968" - ], - tags: { - amenity: "parking" - } - }, - w401: { - id: "w401", - nodes: [ - "n1963", - "n1964" - ], - tags: { - bridge: "yes", - highway: "footway" - } - }, - w402: { - id: "w402", - nodes: [ - "n1892", - "n1893", - "n1894", - "n1895", - "n1896", - "n1897", - "n1898", - "n1899", - "n1900", - "n1901", - "n1902", - "n1903", - "n1892" - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "112", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Spring Street", - barrier: "fence", - name: "Scidmore Park Petting Zoo", - tourism: "zoo", - zoo: "petting_zoo" - } - }, - w403: { - id: "w403", - nodes: [ - "n1957", - "n1958", - "n1959", - "n481", - "n1960", - "n482", - "n1949" - ], - tags: { - highway: "path" - } - }, - w404: { - id: "w404", - nodes: [ - "n2281", - "n27", - "n330", - "n1987", - "n1988" - ], - tags: { - highway: "service" - } - }, - w405: { - id: "w405", - nodes: [ - "n2249", - "n2269", - "n2270", - "n2271", - "n2272", - "n454", - "n455", - "n2273" - ], - tags: { - highway: "path", - name: "Riverwalk Trail" - } - }, - w406: { - id: "w406", - nodes: [ - "n1947", - "n1624", - "n1625", - "n2030", - "n2033", - "n4658", - "n4659", - "n2031", - "n2032", - "n2021" - ], - tags: { - highway: "footway" - } - }, - w407: { - id: "w407", - nodes: [ - "n2034", - "n2036", - "n2009" - ], - tags: { - highway: "footway" - } - }, - w408: { - id: "w408", - nodes: [ - "n1964", - "n1965", - "n2002", - "n1966", - "n21", - "n1967", - "n1969" - ], - tags: { - highway: "footway" - } - }, - w409: { - id: "w409", - nodes: [ - "n1904", - "n1905", - "n1906", - "n1907", - "n1908", - "n1909", - "n748", - "n1910", - "n747", - "n1911", - "n749", - "n1912", - "n750", - "n1913", - "n1922", - "n1914", - "n1921", - "n1915", - "n746", - "n1916", - "n745", - "n1917", - "n744", - "n1918", - "n743", - "n742", - "n1919", - "n741", - "n1920", - "n740", - "n1904" - ], - tags: { - natural: "water" - } - }, - w41: { - id: "w41", - nodes: [ - "n194", - "n195", - "n196", - "n197", - "n198", - "n199", - "n200", - "n201", - "n202", - "n203", - "n204", - "n205", - "n194" - ], - tags: { - building: "house" - } - }, - w410: { - id: "w410", - nodes: [ - "n1868", - "n2088" - ], - tags: { - bridge: "yes", - name: "Conrail Railroad", - railway: "rail" - } - }, - w411: { - id: "w411", - nodes: [ - "n2010", - "n2019", - "n2009", - "n2008", - "n2058", - "n2035", - "n1961", - "n1962", - "n1947", - "n1963" - ], - tags: { - highway: "footway" - } - }, - w412: { - id: "w412", - nodes: [ - "n2290", - "n2043", - "n2044", - "n2045", - "n1872", - "n2041", - "n1873", - "n2042", - "n1874", - "n2046", - "n2047", - "n2048", - "n2049", - "n2290" - ], - tags: { - "addr:city": "Three Rivers", - "addr:housenumber": "112", - "addr:postcode": "49093", - "addr:state": "MI", - "addr:street": "Spring Street", - leisure: "park", - name: "Scidmore Park" - } - }, - w413: { - id: "w413", - nodes: [ - "n1831", - "n876", - "n4720", - "n821", - "n2089" - ], - tags: { - highway: "residential", - name: "Andrews Street" - } - }, - w414: { - id: "w414", - nodes: [ - "n2002", - "n2003", - "n2004", - "n2005", - "n2006", - "n2007" - ], - tags: { - highway: "footway" - } - }, - w415: { - id: "w415", - nodes: [ - "n1979", - "n1980", - "n1981", - "n1982", - "n1979" - ], - tags: { - amenity: "parking" - } - }, - w416: { - id: "w416", - nodes: [ - "n2054", - "n2055", - "n2056", - "n2057", - "n2054" - ], - tags: { - amenity: "shelter", - shelter_type: "picnic_shelter" - } - }, - w417: { - id: "w417", - nodes: [ - "n2291", - "n2292", - "n2293", - "n2294", - "n2295", - "n2296", - "n2297", - "n2298", - "n2299", - "n1098", - "n2300", - "n2301", - "n2302", - "n2303", - "n2304", - "n2059", - "n2060", - "n2305", - "n2307", - "n2306", - "n2310", - "n2308", - "n2309", - "n2291" - ], - tags: { - leisure: "park", - name: "Memory Isle Park" - } - }, - w418: { - id: "w418", - nodes: [ - "n2033", - "n2034", - "n2035" - ], - tags: { - highway: "footway" - } - }, - w419: { - id: "w419", - nodes: [ - "n1983", - "n1984", - "n1985", - "n1986", - "n1983" - ], - tags: { - amenity: "parking" - } - }, - w42: { - id: "w42", - nodes: [ - "n206", - "n207", - "n208", - "n209", - "n210", - "n211", - "n206" - ], - tags: { - building: "house" - } - }, - w420: { - id: "w420", - nodes: [ - "n1840", - "n4746", - "n4748", - "n1847", - "n4749", - "n4755", - "n1838", - "n4754", - "n4756", - "n1849" - ], - tags: { - highway: "residential", - name: "French Street" - } - }, - w421: { - id: "w421", - nodes: [ - "n2337", - "n2268" - ], - tags: { - highway: "path" - } - }, - w422: { - id: "w422", - nodes: [ - "n2338", - "n2339", - "n2320", - "n2317", - "n2319", - "n2318", - "n2340", - "n2341", - "n2342", - "n2343", - "n2344", - "n2345", - "n2346", - "n2347", - "n2348", - "n2338" - ], - tags: { - natural: "water" - } - }, - w423: { - id: "w423", - nodes: [ - "n2180", - "n2349", - "n2350", - "n2351", - "n2352", - "n2404", - "n2353", - "n2354", - "n2355", - "n2356", - "n2357", - "n2358", - "n2359", - "n2360", - "n2361", - "n2362", - "n2363", - "n2364", - "n2365", - "n2366", - "n2370", - "n2371", - "n2372", - "n2373", - "n2374", - "n2375", - "n2377", - "n2378", - "n2380", - "n2381", - "n2382", - "n2383", - "n2386", - "n2389", - "n2390", - "n2391", - "n2392", - "n2393", - "n2396", - "n2397", - "n2401", - "n2402", - "n2321", - "n2322", - "n2323", - "n2403", - "n2180" - ], - tags: { - natural: "wetland" - } - }, - w424: { - id: "w424", - nodes: [ - "n2324", - "n2316", - "n1841", - "n2315", - "n2314", - "n1844", - "n1839", - "n4758", - "n1845" - ], - tags: { - highway: "residential", - name: "Pealer Street" - } - }, - w425: { - id: "w425", - nodes: [ - "n2267", - "n2337", - "n2336", - "n2335", - "n2334", - "n2333", - "n2332", - "n2331", - "n2330", - "n37", - "n2329", - "n2328", - "n2327", - "n36", - "n2326", - "n2325", - "n2266" - ], - tags: { - highway: "path", - name: "Riverwalk Trail" - } - }, - w426: { - id: "w426", - nodes: [ - "n2478", - "n681", - "n680", - "n679", - "n2459", - "n2467", - "n2487", - "n2478" - ], - tags: { - building: "yes" - } - }, - w427: { - id: "w427", - nodes: [ - "n2671", - "n2672", - "n2673", - "n2674", - "n2671" - ], - tags: { - building: "yes" - } - }, - w428: { - id: "w428", - nodes: [ - "n2483", - "n2482", - "n2486", - "n2489", - "n2492", - "n2502", - "n2495", - "n2480", - "n2483" - ], - tags: { - building: "yes" - } - }, - w429: { - id: "w429", - nodes: [ - "n2707", - "n2708", - "n2716", - "n2712", - "n2714", - "n2713", - "n2715", - "n2711", - "n2710", - "n2723", - "n2709", - "n2707" - ], - tags: { - amenity: "parking" - } - }, - w43: { - id: "w43", - nodes: [ - "n1955", - "n1956" - ], - tags: { - footway: "sidewalk", - highway: "footway", - name: "Riverwalk Trail" - } - }, - w430: { - id: "w430", - nodes: [ - "n2471", - "n2474", - "n2484", - "n2479", - "n2471" - ], - tags: { - building: "yes" - } - }, - w431: { - id: "w431", - nodes: [ - "n2218", - "n2434", - "n2436", - "n2433", - "n2435", - "n2210" - ], - tags: { - name: "Rocky River", - waterway: "river" - } - }, - w432: { - id: "w432", - nodes: [ - "n2782", - "n2532", - "n2783", - "n2784", - "n2782" - ], - tags: { - amenity: "parking" - } - }, - w433: { - id: "w433", - nodes: [ - "n2513", - "n649", - "n2520", - "n2514", - "n2507", - "n2513" - ], - tags: { - building: "yes" - } - }, - w434: { - id: "w434", - nodes: [ - "n2470", - "n2468", - "n2461", - "n2465", - "n2470" - ], - tags: { - building: "yes" - } - }, - w435: { - id: "w435", - nodes: [ - "n2598", - "n2599", - "n648", - "n649", - "n2520", - "n2598" - ], - tags: { - building: "yes" - } - }, - w436: { - id: "w436", - nodes: [ - "n2639", - "n2640", - "n2641", - "n2642", - "n2643", - "n2644", - "n2645", - "n2646", - "n2647", - "n2648", - "n2639" - ], - tags: { - building: "yes" - } - }, - w437: { - id: "w437", - nodes: [ - "n2503", - "n2512", - "n2508", - "n2499", - "n2503" - ], - tags: { - building: "yes" - } - }, - w438: { - id: "w438", - nodes: [ - "n2440", - "n2800", - "n2774", - "n1" - ], - tags: { - highway: "residential", - name: "Water Street" - } - }, - w439: { - id: "w439", - nodes: [ - "n2675", - "n2676", - "n2677", - "n2678", - "n2675" - ], - tags: { - building: "yes" - } - }, - w44: { - id: "w44", - nodes: [ - "n213", - "n214", - "n215", - "n216", - "n213" - ], - tags: { - building: "yes" - } - }, - w440: { - id: "w440", - nodes: [ - "n2512", - "n2503", - "n2507", - "n2514", - "n2512" - ], - tags: { - building: "yes" - } - }, - w441: { - id: "w441", - nodes: [ - "n2554", - "n2717", - "n674", - "n2720", - "n2798" - ], - tags: { - highway: "service", - oneway: "yes" - } - }, - w442: { - id: "w442", - nodes: [ - "n2583", - "n2596", - "n2584", - "n2585", - "n2595", - "n2586", - "n2587", - "n2588", - "n2589", - "n2583" - ], - tags: { - amenity: "parking" - } - }, - w443: { - id: "w443", - nodes: [ - "n2629", - "n2627", - "n2628", - "n2616", - "n2630", - "n2629" - ], - tags: { - building: "yes" - } - }, - w444: { - id: "w444", - nodes: [ - "n2717", - "n2724", - "n670", - "n2718", - "n669", - "n668", - "n2722", - "n2727" - ], - tags: { - highway: "service", - oneway: "yes", - service: "parking_aisle" - } - }, - w445: { - id: "w445", - nodes: [ - "n2572", - "n2573" - ], - tags: { - bridge: "yes", - highway: "path", - name: "Riverwalk Trail" - } - }, - w446: { - id: "w446", - nodes: [ - "n2603", - "n2604", - "n2601", - "n2605", - "n2606", - "n2607", - "n2603" - ], - tags: { - building: "yes" - } - }, - w447: { - id: "w447", - nodes: [ - "n2780", - "n2777", - "n628", - "n624", - "n2779" - ], - tags: { - highway: "residential", - name: "Foster Street", - oneway: "yes" - } - }, - w448: { - id: "w448", - nodes: [ - "n2733", - "n2734", - "n2735", - "n2736", - "n2737", - "n2738", - "n663", - "n664", - "n2739", - "n2733" - ], - tags: { - building: "yes" - } - }, - w449: { - id: "w449", - nodes: [ - "n2564", - "n2565", - "n2566", - "n2567", - "n2568", - "n2794", - "n2795", - "n2564" - ], - tags: { - amenity: "parking" - } - }, - w45: { - id: "w45", - nodes: [ - "n217", - "n218", - "n219", - "n220", - "n217" - ], - tags: { - amenity: "shelter", - shelter_type: "picnic_shelter" - } - }, - w450: { - id: "w450", - nodes: [ - "n2799", - "n2728", - "n2729", - "n2730", - "n2731", - "n2732", - "n2799" - ], - tags: { - building: "yes" - } - }, - w451: { - id: "w451", - nodes: [ - "n2441", - "n1170", - "n2442", - "n2575", - "n2443", - "n2445", - "n2444", - "n2448", - "n2441" - ], - tags: { - amenity: "parking" - } - }, - w452: { - id: "w452", - nodes: [ - "n2273", - "n457", - "n2569", - "n458", - "n2570" - ], - tags: { - highway: "path", - name: "Riverwalk Trail" - } - }, - w453: { - id: "w453", - nodes: [ - "n2447", - "n2242", - "n2448", - "n2527", - "n2530" - ], - tags: { - highway: "service" - } - }, - w454: { - id: "w454", - nodes: [ - "n2560", - "n333", - "n2561" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w455: { - id: "w455", - nodes: [ - "n2679", - "n2680", - "n2681", - "n2682", - "n2683", - "n2684", - "n2685", - "n2686", - "n2687", - "n2688", - "n2689", - "n2690", - "n2679" - ], - tags: { - building: "yes" - } - }, - w456: { - id: "w456", - nodes: [ - "n2425", - "n2429", - "n2424" - ], - tags: { - bridge: "yes", - highway: "residential", - name: "Moore Street" - } - }, - w457: { - id: "w457", - nodes: [ - "n2487", - "n2467", - "n2472", - "n2480", - "n2495", - "n2487" - ], - tags: { - building: "yes" - } - }, - w458: { - id: "w458", - nodes: [ - "n2659", - "n2660", - "n2661", - "n2662", - "n678", - "n677", - "n2663", - "n2664", - "n2665", - "n2666", - "n675", - "n676", - "n2659" - ], - tags: { - building: "yes" - } - }, - w459: { - id: "w459", - nodes: [ - "n2600", - "n2598", - "n2599", - "n2601", - "n2605", - "n2602", - "n2600" - ], - tags: { - building: "yes" - } - }, - w46: { - id: "w46", - nodes: [ - "n221", - "n222", - "n223", - "n224", - "n221" - ], - tags: { - amenity: "shelter", - shelter_type: "picnic_shelter" - } - }, - w460: { - id: "w460", - nodes: [ - "n2468", - "n2464", - "n2455", - "n2457", - "n2461", - "n2468" - ], - tags: { - building: "yes" - } - }, - w461: { - id: "w461", - nodes: [ - "n2478", - "n2473", - "n683", - "n682", - "n2463", - "n681", - "n2478" - ], - tags: { - building: "yes" - } - }, - w462: { - id: "w462", - nodes: [ - "n2547", - "n473", - "n2548", - "n2549" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w463: { - id: "w463", - nodes: [ - "n2573", - "n2574" - ], - tags: { - highway: "path", - name: "Riverwalk Trail" - } - }, - w464: { - id: "w464", - nodes: [ - "n2445", - "n2597", - "n2527", - "n2528", - "n2529", - "n2530", - "n2531", - "n2597" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w465: { - id: "w465", - nodes: [ - "n2571", - "n459", - "n2572" - ], - tags: { - highway: "path", - name: "Riverwalk Trail" - } - }, - w466: { - id: "w466", - nodes: [ - "n2445", - "n2574", - "n2552", - "n442", - "n2551", - "n4727", - "n323", - "n2446" - ], - tags: { - highway: "service" - } - }, - w467: { - id: "w467", - nodes: [ - "n2484", - "n2474", - "n2477", - "n2485", - "n2488", - "n2484" - ], - tags: { - building: "yes" - } - }, - w468: { - id: "w468", - nodes: [ - "n2695", - "n2696", - "n2697", - "n2698", - "n2699", - "n2700", - "n2701", - "n2702", - "n2695" - ], - tags: { - building: "yes" - } - }, - w469: { - id: "w469", - nodes: [ - "n2469", - "n2476", - "n2481", - "n2475", - "n920", - "n2466", - "n2469" - ], - tags: { - building: "yes" - } - }, - w47: { - id: "w47", - nodes: [ - "n1988", - "n1997", - "n1989", - "n25", - "n24", - "n1990", - "n26", - "n1991", - "n21", - "n1992", - "n2006", - "n1993", - "n22", - "n1994", - "n23", - "n1995", - "n1999", - "n1996", - "n2001", - "n1988" - ], - tags: { - highway: "service" - } - }, - w470: { - id: "w470", - nodes: [ - "n2473", - "n2470", - "n2465", - "n2458", - "n2462", - "n683", - "n2473" - ], - tags: { - building: "yes" - } - }, - w471: { - id: "w471", - nodes: [ - "n2490", - "n2496", - "n994", - "n997", - "n998", - "n996", - "n995", - "n2485", - "n2477", - "n2490" - ], - tags: { - building: "yes" - } - }, - w472: { - id: "w472", - nodes: [ - "n2424", - "n2426", - "n2427", - "n2428" - ], - tags: { - highway: "residential", - name: "Moore Street" - } - }, - w473: { - id: "w473", - nodes: [ - "n2432", - "n1026", - "n4741", - "n2554", - "n2425" - ], - tags: { - highway: "residential", - name: "Moore Street" - } - }, - w474: { - id: "w474", - nodes: [ - "n2577", - "n2576" - ], - tags: { - bridge: "yes", - highway: "footway" - } - }, - w475: { - id: "w475", - nodes: [ - "n2497", - "n2505", - "n2500", - "n2493", - "n2497" - ], - tags: { - building: "yes" - } - }, - w476: { - id: "w476", - nodes: [ - "n2493", - "n2500", - "n2501", - "n2496", - "n2490", - "n2493" - ], - tags: { - building: "yes" - } - }, - w477: { - id: "w477", - nodes: [ - "n2431", - "n360", - "n4726", - "n418", - "n397", - "n396", - "n2547", - "n646", - "n2447", - "n644", - "n2418", - "n424", - "n640", - "n2419", - "n2420", - "n2423" - ], - tags: { - highway: "residential", - name: "Railroad Drive" - } - }, - w478: { - id: "w478", - nodes: [ - "n2515", - "n2511", - "n2498", - "n2504", - "n2509", - "n2515" - ], - tags: { - building: "yes" - } - }, - w479: { - id: "w479", - nodes: [ - "n2525", - "n651", - "n650", - "n2526", - "n2524", - "n653", - "n652", - "n656", - "n2523", - "n654", - "n2518", - "n2517", - "n2521", - "n2522", - "n2525" - ], - tags: { - building: "yes" - } - }, - w48: { - id: "w48", - nodes: [ - "n225", - "n237", - "n226", - "n227", - "n228", - "n229", - "n230", - "n231", - "n232", - "n233", - "n234", - "n235", - "n236", - "n225" - ], - tags: { - building: "yes" - } - }, - w480: { - id: "w480", - nodes: [ - "n2703", - "n2704", - "n2710", - "n2711", - "n2705", - "n2706", - "n2703" - ], - tags: { - amenity: "parking" - } - }, - w481: { - id: "w481", - nodes: [ - "n2796", - "n2657", - "n2658", - "n2797", - "n2796" - ], - tags: { - building: "yes" - } - }, - w482: { - id: "w482", - nodes: [ - "n2550", - "n2551", - "n442", - "n2552", - "n2553", - "n2550" - ], - tags: { - amenity: "parking" - } - }, - w483: { - id: "w483", - nodes: [ - "n2790", - "n2542" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w484: { - id: "w484", - nodes: [ - "n2311", - "n1102" - ], - tags: { - highway: "service" - } - }, - w485: { - id: "w485", - nodes: [ - "n2515", - "n2509", - "n2516", - "n2519", - "n2515" - ], - tags: { - building: "yes" - } - }, - w486: { - id: "w486", - nodes: [ - "n2506", - "n2502", - "n2492", - "n2491", - "n2494", - "n2506" - ], - tags: { - building: "yes" - } - }, - w487: { - id: "w487", - nodes: [ - "n2667", - "n2668", - "n2669", - "n2670", - "n2667" - ], - tags: { - building: "yes" - } - }, - w488: { - id: "w488", - nodes: [ - "n2616", - "n2608", - "n2617", - "n2618", - "n2619", - "n2620", - "n2621", - "n2622", - "n2623", - "n2624", - "n2625", - "n2626", - "n2627", - "n2628", - "n2616" - ], - tags: { - building: "yes" - } - }, - w489: { - id: "w489", - nodes: [ - "n2081", - "n2430" - ], - tags: { - bridge: "yes", - highway: "primary", - name: "Michigan Avenue" - } - }, - w49: { - id: "w49", - nodes: [ - "n237", - "n238" - ], - tags: { - highway: "footway" - } - }, - w490: { - id: "w490", - nodes: [ - "n2410", - "n636", - "n730", - "n635", - "n2409", - "n2694", - "n2751", - "n2765", - "n2753", - "n2768", - "n2754", - "n2769", - "n2745", - "n2766", - "n4503", - "n2763", - "n4501", - "n2752", - "n2781" - ], - tags: { - highway: "residential", - name: "Portage Avenue" - } - }, - w491: { - id: "w491", - nodes: [ - "n2578", - "n2579", - "n2580", - "n2581", - "n2578" - ], - tags: { - amenity: "shelter", - building: "yes", - shelter_type: "picnic_shelter" - } - }, - w492: { - id: "w492", - nodes: [ - "n2556", - "n2557", - "n2558", - "n2559", - "n2556" - ], - tags: { - amenity: "parking" - } - }, - w493: { - id: "w493", - nodes: [ - "n2460", - "n2456", - "n687", - "n2453", - "n2454", - "n2460" - ], - tags: { - building: "yes" - } - }, - w494: { - id: "w494", - nodes: [ - "n2471", - "n2479", - "n2476", - "n2469", - "n2471" - ], - tags: { - building: "yes" - } - }, - w495: { - id: "w495", - nodes: [ - "n2724", - "n2725", - "n673", - "n672", - "n671", - "n2726", - "n2727" - ], - tags: { - highway: "service", - oneway: "yes", - service: "parking_aisle" - } - }, - w496: { - id: "w496", - nodes: [ - "n2649", - "n2650", - "n2651", - "n2652", - "n2653", - "n2654", - "n2655", - "n2656", - "n2649" - ], - tags: { - building: "yes" - } - }, - w497: { - id: "w497", - nodes: [ - "n2430", - "n2446", - "n343", - "n2101", - "n2560", - "n2431", - "n363", - "n2748" - ], - tags: { - highway: "primary", - name: "Michigan Avenue" - } - }, - w498: { - id: "w498", - nodes: [ - "n2691", - "n2692", - "n634", - "n633", - "n2693", - "n2694" - ], - tags: { - highway: "service" - } - }, - w499: { - id: "w499", - nodes: [ - "n2423", - "n2415", - "n661", - "n2416", - "n2417", - "n2719", - "n2721", - "n2772", - "n2756", - "n2773", - "n2759", - "n2767" - ], - tags: { - highway: "residential", - name: "West Street" - } - }, - w5: { - id: "w5", - nodes: [ - "n380", - "n381", - "n382", - "n383", - "n429", - "n430", - "n380" - ], - tags: { - building: "yes" - } - }, - w50: { - id: "w50", - nodes: [ - "n239", - "n499", - "n508", - "n245", - "n238", - "n242", - "n240" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w500: { - id: "w500", - nodes: [ - "n2428", - "n1152", - "n2421", - "n2324" - ], - tags: { - bridge: "yes", - highway: "residential", - name: "Moore Street" - } - }, - w501: { - id: "w501", - nodes: [ - "n2608", - "n2609", - "n2610", - "n2611", - "n2612", - "n2613", - "n2614", - "n2615", - "n2617", - "n2608" - ], - tags: { - building: "yes" - } - }, - w502: { - id: "w502", - nodes: [ - "n2570", - "n2571" - ], - tags: { - bridge: "yes", - highway: "path", - name: "Riverwalk Trail" - } - }, - w503: { - id: "w503", - nodes: [ - "n2540", - "n2542", - "n2787" - ], - tags: { - highway: "service" - } - }, - w504: { - id: "w504", - nodes: [ - "n2269", - "n2582", - "n2250" - ], - tags: { - highway: "path" - } - }, - w505: { - id: "w505", - nodes: [ - "n2631", - "n2632", - "n2633", - "n2634", - "n2635", - "n2636", - "n2637", - "n2638", - "n2631" - ], - tags: { - building: "yes" - } - }, - w506: { - id: "w506", - nodes: [ - "n2543", - "n2544", - "n2545", - "n395", - "n2546", - "n2543" - ], - tags: { - amenity: "parking" - } - }, - w507: { - id: "w507", - nodes: [ - "n2449", - "n2450", - "n2451", - "n2452", - "n1162", - "n2449" - ], - tags: { - leisure: "pitch", - sport: "tennis" - } - }, - w508: { - id: "w508", - nodes: [ - "n2554", - "n1160", - "n2559", - "n2558", - "n659", - "n2555", - "n658", - "n657", - "n2419" - ], - tags: { - highway: "service" - } - }, - w509: { - id: "w509", - nodes: [ - "n2499", - "n2508", - "n2510", - "n2505", - "n2497", - "n2499" - ], - tags: { - building: "yes" - } - }, - w51: { - id: "w51", - nodes: [ - "n241", - "n242", - "n243", - "n244" - ], - tags: { - highway: "service", - surface: "unpaved" - } - }, - w510: { - id: "w510", - nodes: [ - "n2575", - "n2577" - ], - tags: { - highway: "footway" - } - }, - w511: { - id: "w511", - nodes: [ - "n2533", - "n2534", - "n2535", - "n2536", - "n2537", - "n2538", - "n2539", - "n2785", - "n2786", - "n2533" - ], - tags: { - amenity: "parking" - } - }, - w512: { - id: "w512", - nodes: [ - "n2801", - "n2740", - "n2741", - "n2742", - "n2743", - "n2744", - "n2801" - ], - tags: { - building: "yes" - } - }, - w513: { - id: "w513", - nodes: [ - "n2720", - "n2721" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w514: { - id: "w514", - nodes: [ - "n2788", - "n2790", - "n2789", - "n989", - "n2540", - "n2541" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w515: { - id: "w515", - nodes: [ - "n2848", - "n2849", - "n2850", - "n2851", - "n2803", - "n2804", - "n2812" - ], - tags: { - highway: "residential", - name: "Middle Street" - } - }, - w516: { - id: "w516", - nodes: [ - "n2852", - "n2805" - ], - tags: { - access: "private", - highway: "service", - name: "Battle Street" - } - }, - w517: { - id: "w517", - nodes: [ - "n2863", - "n2815", - "n2814", - "n2812", - "n2864", - "n2855", - "n2865", - "n2867", - "n2868" - ], - tags: { - highway: "secondary", - name: "Michigan Avenue", - name_1: "State Highway 60", - ref: "M 60" - } - }, - w518: { - id: "w518", - nodes: [ - "n2859", - "n2808" - ], - tags: { - highway: "residential", - name: "2nd Avenue" - } - }, - w519: { - id: "w519", - nodes: [ - "n2823", - "n2824", - "n2825", - "n2826", - "n2827", - "n2828", - "n2823" - ], - tags: { - building: "yes" - } - }, - w52: { - id: "w52", - nodes: [ - "n247", - "n248", - "n249", - "n250", - "n247" - ], - tags: { - amenity: "parking" - } - }, - w520: { - id: "w520", - nodes: [ - "n2806", - "n2807", - "n2803" - ], - tags: { - highway: "residential", - name: "2nd Avenue" - } - }, - w521: { - id: "w521", - nodes: [ - "n2829", - "n2830", - "n2831", - "n2832", - "n2833", - "n2834", - "n2835", - "n2836", - "n2837", - "n2838", - "n2829" - ], - tags: { - building: "yes" - } - }, - w522: { - id: "w522", - nodes: [ - "n2815", - "n2813", - "n2811", - "n4597", - "n2846", - "n4596", - "n2857", - "n4601", - "n2853", - "n4602", - "n2861", - "n4", - "n2879", - "n4560", - "n3550", - "n5", - "n1685" - ], - tags: { - highway: "residential", - name: "Washington Street" - } - }, - w523: { - id: "w523", - nodes: [ - "n2878", - "n2811", - "n2810", - "n2860", - "n2880", - "n2881", - "n2882" - ], - tags: { - highway: "residential", - name: "5th Avenue" - } - }, - w524: { - id: "w524", - nodes: [ - "n2816", - "n2817", - "n2818", - "n2819", - "n2820", - "n2821", - "n2822", - "n2816" - ], - tags: { - building: "yes" - } - }, - w525: { - id: "w525", - nodes: [ - "n2869", - "n2856", - "n2806", - "n2808", - "n2814", - "n2809", - "n2810", - "n2847", - "n2858", - "n2854", - "n2870", - "n2871", - "n6", - "n2872", - "n2839", - "n2862" - ], - tags: { - highway: "residential", - name: "Wood Street" - } - }, - w526: { - id: "w526", - nodes: [ - "n2877", - "n2809", - "n2813", - "n2844", - "n2843" - ], - tags: { - highway: "residential", - name: "4th Avenue" - } - }, - w527: { - id: "w527", - nodes: [ - "n4785", - "n4784", - "n2936", - "n4788", - "n4787", - "n4786", - "n4785" - ], - tags: { - amenity: "parking" - } - }, - w528: { - id: "w528", - nodes: [ - "n2864", - "n2892", - "n2893", - "n2877", - "n2860", - "n3840" - ], - tags: { - highway: "residential", - name: "Garden Street" - } - }, - w529: { - id: "w529", - nodes: [ - "n2868", - "n2890" - ], - tags: { - bridge: "yes", - highway: "secondary", - name: "Michigan Avenue", - name_1: "State Highway 60", - ref: "M 60" - } - }, - w53: { - id: "w53", - nodes: [ - "n251", - "n252", - "n253", - "n254", - "n255", - "n256", - "n257", - "n258", - "n259", - "n260", - "n261", - "n262", - "n251" - ], - tags: { - building: "yes" - } - }, - w530: { - id: "w530", - nodes: [ - "n2914", - "n2915", - "n2916", - "n2917", - "n2918", - "n2919", - "n2920", - "n2921", - "n2922", - "n2923", - "n2924", - "n2925", - "n2926", - "n2927", - "n2928", - "n2929", - "n2930", - "n2931", - "n2932", - "n2933", - "n2914" - ], - tags: { - building: "yes" - } - }, - w531: { - id: "w531", - nodes: [ - "n2958", - "n2896" - ], - tags: { - bridge: "yes", - highway: "secondary", - name: "Main Street" - } - }, - w532: { - id: "w532", - nodes: [ - "n2896", - "n394", - "n364", - "n2748" - ], - tags: { - highway: "secondary", - name: "Main Street" - } - }, - w533: { - id: "w533", - nodes: [ - "n2800", - "n2943", - "n2940", - "n2941", - "n2942", - "n2943" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w534: { - id: "w534", - nodes: [ - "n3836", - "n3837", - "n3839", - "n3838", - "n3834", - "n4632", - "n3831", - "n4624", - "n3835", - "n3836" - ], - tags: { - barrier: "fence" - } - }, - w535: { - id: "w535", - nodes: [ - "n2894", - "n2944", - "n2774", - "n2765" - ], - tags: { - highway: "residential", - name: "5th Avenue" - } - }, - w536: { - id: "w536", - nodes: [ - "n2890", - "n2780", - "n627", - "n2889", - "n2887", - "n623", - "n2888", - "n366", - "n2748" - ], - tags: { - highway: "secondary", - name: "Michigan Avenue", - name_1: "State Highway 60", - ref: "M 60" - } - }, - w537: { - id: "w537", - nodes: [ - "n2895", - "n738", - "n2887", - "n737", - "n2913" - ], - tags: { - highway: "residential", - name: "Water Street" - } - }, - w538: { - id: "w538", - nodes: [ - "n2855", - "n3756", - "n2884", - "n2885", - "n2886", - "n2945", - "n2946", - "n2947", - "n2948", - "n2949", - "n2950", - "n2951", - "n2952", - "n2953", - "n2955", - "n2848", - "n2956", - "n2856" - ], - tags: { - highway: "residential", - name: "River Drive" - } - }, - w539: { - id: "w539", - nodes: [ - "n2882", - "n2894" - ], - tags: { - bridge: "yes", - highway: "residential", - name: "5th Avenue" - } - }, - w54: { - id: "w54", - nodes: [ - "n263", - "n264", - "n265", - "n266", - "n267", - "n268", - "n269", - "n270", - "n271", - "n272", - "n273", - "n274", - "n275", - "n276", - "n263" - ], - tags: { - building: "yes" - } - }, - w540: { - id: "w540", - nodes: [ - "n2987", - "n2964", - "n2981", - "n2983", - "n2966", - "n2982", - "n2962", - "n2960", - "n2967", - "n2965", - "n2984", - "n2977", - "n2968", - "n2976", - "n2986", - "n2988", - "n2963", - "n2970", - "n2969", - "n2979", - "n2974", - "n2980", - "n2959", - "n2973", - "n2985", - "n2961", - "n2975", - "n2971", - "n2972", - "n2978", - "n2898", - "n2907", - "n2912", - "n2909", - "n2911", - "n2901", - "n2903", - "n2904", - "n2906", - "n2902", - "n2900", - "n2910", - "n2908", - "n2899", - "n2897", - "n2905", - "n2186", - "n2233" - ], - tags: { - name: "Portage River", - waterway: "river" - } - }, - w541: { - id: "w541", - nodes: [ - "n2852", - "n2851", - "n3003" - ], - tags: { - highway: "residential", - name: "1st Avenue" - } - }, - w542: { - id: "w542", - nodes: [ - "n2991", - "n3004", - "n2994" - ], - tags: { - highway: "residential", - name: "River Street" - } - }, - w543: { - id: "w543", - nodes: [ - "n2993", - "n2989" - ], - tags: { - bridge: "yes", - highway: "residential", - name: "6th Street" - } - }, - w544: { - id: "w544", - nodes: [ - "n2995", - "n2996", - "n2997", - "n2998", - "n2999", - "n3000", - "n3001", - "n3002", - "n2990", - "n2991", - "n2993" - ], - tags: { - highway: "residential", - name: "6th Street" - } - }, - w545: { - id: "w545", - nodes: [ - "n2989", - "n2992", - "n2848" - ], - tags: { - highway: "residential", - name: "6th Street" - } - }, - w546: { - id: "w546", - nodes: [ - "n2313", - "n3169", - "n3170", - "n3171", - "n3172", - "n3173", - "n3174", - "n3175", - "n3176", - "n3177", - "n3178", - "n3179", - "n3180", - "n3191", - "n3181", - "n3190", - "n3182", - "n3183", - "n3184", - "n3185", - "n3186", - "n3187", - "n3188", - "n3189", - "n3160", - "n3161", - "n3162", - "n2126", - "n2146", - "n2156", - "n2129", - "n2112", - "n2109", - "n2313" - ], - tags: { - natural: "wetland" - } - }, - w547: { - id: "w547", - nodes: [ - "n2088", - "n3013", - "n3015", - "n3014", - "n3017", - "n3018" - ], - tags: { - name: "Conrail Railroad", - railway: "rail" - } - }, - w548: { - id: "w548", - nodes: [ - "n3083", - "n3084", - "n3085", - "n3086", - "n3083" - ], - tags: { - building: "yes" - } - }, - w549: { - id: "w549", - nodes: [ - "n3020", - "n2288", - "n2283", - "n2284", - "n2131", - "n2286", - "n2287", - "n2285", - "n2132", - "n2140", - "n2289", - "n3020" - ], - tags: { - leisure: "park", - name: "Conservation Park" - } - }, - w55: { - id: "w55", - nodes: [ - "n277", - "n278", - "n279", - "n280", - "n281", - "n282", - "n283", - "n284", - "n277" - ], - tags: { - building: "yes" - } - }, - w550: { - id: "w550", - nodes: [ - "n3056", - "n3042", - "n3041", - "n3040", - "n3039", - "n3038", - "n3037", - "n3036", - "n3044", - "n3035", - "n3034", - "n3043", - "n3016", - "n3056", - "n3019", - "n3015", - "n3012" - ], - tags: { - highway: "service" - } - }, - w551: { - id: "w551", - nodes: [ - "n3044", - "n3045", - "n3046", - "n3047", - "n3048", - "n3049", - "n3050", - "n3051", - "n3052", - "n3053", - "n3054", - "n3055", - "n3016" - ], - tags: { - highway: "footway" - } - }, - w552: { - id: "w552", - nodes: [ - "n3117", - "n3118", - "n3119", - "n3120", - "n3121", - "n3122", - "n3117" - ], - tags: { - building: "yes" - } - }, - w553: { - id: "w553", - nodes: [ - "n3123", - "n3124", - "n3129", - "n3125", - "n3126", - "n3123" - ], - tags: { - building: "yes" - } - }, - w554: { - id: "w554", - nodes: [ - "n3069", - "n3070", - "n3071", - "n3072", - "n3073", - "n3074", - "n3075", - "n3076", - "n3077", - "n3078", - "n3079", - "n3080", - "n3081", - "n3082", - "n3069" - ], - tags: { - building: "yes" - } - }, - w555: { - id: "w555", - nodes: [ - "n3087", - "n3088", - "n3089", - "n3090", - "n3087" - ], - tags: { - building: "yes" - } - }, - w556: { - id: "w556", - nodes: [ - "n3113", - "n3114", - "n3115", - "n3116", - "n3113" - ], - tags: { - building: "yes" - } - }, - w557: { - id: "w557", - nodes: [ - "n3103", - "n3104", - "n3105", - "n3106", - "n3103" - ], - tags: { - building: "yes" - } - }, - w558: { - id: "w558", - nodes: [ - "n3127", - "n3128", - "n3129", - "n3124", - "n3127" - ], - tags: { - building: "yes" - } - }, - w559: { - id: "w559", - nodes: [ - "n3137", - "n3141", - "n3142", - "n3138", - "n3139", - "n3140", - "n3137" - ], - tags: { - building: "yes" - } - }, - w56: { - id: "w56", - nodes: [ - "n285", - "n286", - "n287", - "n288", - "n285" - ], - tags: { - amenity: "parking" - } - }, - w560: { - id: "w560", - nodes: [ - "n3091", - "n3092", - "n3093", - "n3094", - "n3091" - ], - tags: { - building: "yes" - } - }, - w561: { - id: "w561", - nodes: [ - "n3155", - "n3157", - "n3158", - "n3159", - "n3156", - "n3155" - ], - tags: { - building: "yes" - } - }, - w562: { - id: "w562", - nodes: [ - "n3057", - "n3058", - "n3059", - "n3060", - "n3057" - ], - tags: { - building: "yes" - } - }, - w563: { - id: "w563", - nodes: [ - "n3107", - "n3108", - "n3109", - "n3110", - "n3111", - "n3112", - "n3107" - ], - tags: { - building: "yes" - } - }, - w564: { - id: "w564", - nodes: [ - "n3134", - "n3135", - "n3136", - "n3131", - "n3134" - ], - tags: { - building: "yes" - } - }, - w565: { - id: "w565", - nodes: [ - "n3143", - "n3144", - "n3145", - "n3146", - "n3143" - ], - tags: { - building: "yes" - } - }, - w566: { - id: "w566", - nodes: [ - "n3095", - "n3096", - "n3097", - "n3098", - "n3095" - ], - tags: { - building: "yes" - } - }, - w567: { - id: "w567", - nodes: [ - "n3130", - "n3131", - "n3136", - "n3132", - "n3133", - "n3130" - ], - tags: { - building: "yes" - } - }, - w568: { - id: "w568", - nodes: [ - "n3025", - "n3026", - "n3027", - "n3028", - "n3029", - "n3030", - "n3031", - "n3033", - "n3032", - "n3025" - ], - tags: { - amenity: "parking" - } - }, - w569: { - id: "w569", - nodes: [ - "n3061", - "n3062", - "n3063", - "n3064", - "n3061" - ], - tags: { - building: "yes" - } - }, - w57: { - id: "w57", - nodes: [ - "n289", - "n290", - "n291", - "n292", - "n289" - ], - tags: { - amenity: "parking" - } - }, - w570: { - id: "w570", - nodes: [ - "n3155", - "n3156", - "n3152", - "n3153", - "n3155" - ], - tags: { - building: "yes" - } - }, - w571: { - id: "w571", - nodes: [ - "n3099", - "n3100", - "n3101", - "n3102", - "n3099" - ], - tags: { - building: "yes" - } - }, - w572: { - id: "w572", - nodes: [ - "n3147", - "n3148", - "n3149", - "n3150", - "n3147" - ], - tags: { - building: "yes" - } - }, - w573: { - id: "w573", - nodes: [ - "n3039", - "n2284" - ], - tags: { - highway: "service" - } - }, - w574: { - id: "w574", - nodes: [ - "n3151", - "n3152", - "n3153", - "n3154", - "n3151" - ], - tags: { - building: "yes" - } - }, - w575: { - id: "w575", - nodes: [ - "n3021", - "n3022", - "n3023", - "n3024", - "n3021" - ], - tags: { - amenity: "shelter", - shelter_type: "picnic_shelter" - } - }, - w576: { - id: "w576", - nodes: [ - "n3065", - "n3066", - "n3067", - "n3068", - "n3065" - ], - tags: { - building: "yes" - } - }, - w577: { - id: "w577", - nodes: [ - "n2944", - "n3192", - "n3757", - "n3813", - "n3814", - "n3815", - "n3816", - "n3817", - "n3818", - "n3819" - ], - tags: { - highway: "service", - name: "Willow Drive", - service: "driveway", - surface: "unpaved" - } - }, - w578: { - id: "w578", - nodes: [ - "n2163", - "n2165", - "n2166", - "n2167", - "n2168", - "n2172", - "n2173", - "n2174", - "n2175", - "n2176", - "n2178", - "n2181", - "n2163" - ], - tags: { - building: "yes" - } - }, - w579: { - id: "w579", - nodes: [ - "n2754", - "n3195", - "n3204", - "n3205", - "n4537", - "n4540", - "n3206", - "n4530", - "n4536", - "n3207", - "n4524", - "n3199", - "n4521", - "n3197", - "n1032" - ], - tags: { - highway: "residential", - name: "Elm Street" - } - }, - w58: { - id: "w58", - nodes: [ - "n240", - "n293", - "n294" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w580: { - id: "w580", - nodes: [ - "n2184", - "n2185", - "n2187", - "n2190", - "n2191", - "n2192", - "n2184" - ], - tags: { - building: "yes" - } - }, - w581: { - id: "w581", - nodes: [ - "n2765", - "n3208", - "n3211", - "n2755", - "n3280", - "n2756", - "n3346" - ], - tags: { - highway: "residential", - name: "Kelsey Street" - } - }, - w582: { - id: "w582", - nodes: [ - "n2753", - "n3194", - "n3193", - "n3201", - "n3196", - "n4551", - "n3202", - "n4550", - "n3203", - "n3200", - "n3198", - "n1033" - ], - tags: { - highway: "residential", - name: "Walnut Street" - } - }, - w583: { - id: "w583", - nodes: [ - "n3272", - "n4469", - "n4588", - "n2879", - "n4564", - "n2872" - ], - tags: { - highway: "residential", - name: "10th Avenue" - } - }, - w584: { - id: "w584", - nodes: [ - "n3243", - "n3242", - "n3241", - "n3240", - "n3243" - ], - tags: { - building: "industrial" - } - }, - w585: { - id: "w585", - nodes: [ - "n3273", - "n3274", - "n4631", - "n4593", - "n3275", - "n4592", - "n2846", - "n4611", - "n2847" - ], - tags: { - highway: "residential", - name: "6th Avenue" - } - }, - w586: { - id: "w586", - nodes: [ - "n3276", - "n4591", - "n2853", - "n4605", - "n2854" - ], - tags: { - highway: "residential", - name: "8th Avenue" - } - }, - w587: { - id: "w587", - nodes: [ - "n3269", - "n3268", - "n3267", - "n3266", - "n3265", - "n3264", - "n3263", - "n3262", - "n3269" - ], - tags: { - building: "industrial" - } - }, - w588: { - id: "w588", - nodes: [ - "n3277", - "n4599", - "n2857", - "n4598", - "n4608", - "n2858" - ], - tags: { - highway: "residential", - name: "7th Avenue" - } - }, - w589: { - id: "w589", - nodes: [ - "n3239", - "n3238", - "n3271", - "n3270", - "n3237", - "n3236", - "n3235", - "n3234", - "n3239" - ], - tags: { - building: "yes" - } - }, - w59: { - id: "w59", - nodes: [ - "n294", - "n295", - "n296", - "n297", - "n298", - "n299", - "n300", - "n301", - "n302", - "n303", - "n491", - "n304", - "n305", - "n306", - "n307" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w590: { - id: "w590", - nodes: [ - "n3278", - "n4458", - "n4589", - "n4604", - "n2861" - ], - tags: { - highway: "residential", - name: "9th Avenue" - } - }, - w591: { - id: "w591", - nodes: [ - "n3253", - "n3252", - "n3251", - "n3250", - "n3249", - "n3248", - "n3253" - ], - tags: { - building: "industrial" - } - }, - w592: { - id: "w592", - nodes: [ - "n3229", - "n3228", - "n3227", - "n3226", - "n3225", - "n3224", - "n3223", - "n3222", - "n3221", - "n3220", - "n3219", - "n3218", - "n3217", - "n3216", - "n3215", - "n3214", - "n3213", - "n3212", - "n3229" - ], - tags: { - natural: "water", - water: "pond" - } - }, - w593: { - id: "w593", - nodes: [ - "n3261", - "n3260", - "n3259", - "n3258", - "n3257", - "n3256", - "n3255", - "n3254", - "n3261" - ], - tags: { - building: "industrial" - } - }, - w594: { - id: "w594", - nodes: [ - "n3233", - "n3232", - "n3231", - "n3230", - "n3233" - ], - tags: { - building: "yes" - } - }, - w595: { - id: "w595", - nodes: [ - "n3247", - "n3246", - "n3245", - "n3244", - "n3247" - ], - tags: { - building: "industrial" - } - }, - w596: { - id: "w596", - nodes: [ - "n2769", - "n3195", - "n3193", - "n3209", - "n2758", - "n2759", - "n3279" - ], - tags: { - highway: "residential", - name: "Armitage Street" - } - }, - w597: { - id: "w597", - nodes: [ - "n2193", - "n2194", - "n2195", - "n2197", - "n2193" - ], - tags: { - building: "yes" - } - }, - w598: { - id: "w598", - nodes: [ - "n3404", - "n3403", - "n3402", - "n3401", - "n3400", - "n3399", - "n3398", - "n3397", - "n3373", - "n3372", - "n3396", - "n3395", - "n3404" - ], - tags: { - building: "school" - } - }, - w6: { - id: "w6", - nodes: [ - "n879", - "n880", - "n881", - "n882", - "n879" - ], - tags: { - building: "shed" - } - }, - w60: { - id: "w60", - nodes: [ - "n239", - "n308", - "n307" - ], - tags: { - crossing: "zebra", - footway: "crossing", - highway: "footway" - } - }, - w600: { - id: "w600", - nodes: [ - "n3387", - "n3386", - "n3316", - "n3315", - "n3314", - "n3313", - "n3387" - ], - tags: { - building: "yes" - } - }, - w601: { - id: "w601", - nodes: [ - "n3304", - "n3303", - "n3302", - "n3301", - "n3385", - "n3384", - "n3300", - "n3299", - "n3304" - ], - tags: { - building: "yes" - } - }, - w602: { - id: "w602", - nodes: [ - "n3334", - "n3333", - "n3332", - "n3331", - "n3330", - "n3329", - "n3328", - "n3327", - "n3326", - "n3325", - "n3324", - "n3323", - "n3322", - "n3321", - "n3320", - "n3319", - "n3318", - "n3317", - "n3334" - ], - tags: { - building: "yes" - } - }, - w603: { - id: "w603", - nodes: [ - "n3353", - "n3352", - "n3347", - "n3280", - "n2798" - ], - tags: { - highway: "service", - service: "alley", - surface: "unpaved" - } - }, - w604: { - id: "w604", - nodes: [ - "n3753", - "n3211", - "n3383" - ], - tags: { - highway: "service", - service: "alley" - } - }, - w605: { - id: "w605", - nodes: [ - "n3290", - "n3289", - "n3288", - "n3287", - "n3286", - "n3285", - "n3284", - "n3283", - "n3282", - "n3281", - "n3290" - ], - tags: { - building: "yes" - } - }, - w606: { - id: "w606", - nodes: [ - "n2198", - "n2199", - "n2201", - "n2202", - "n2203", - "n2206", - "n2198" - ], - tags: { - building: "yes" - } - }, - w607: { - id: "w607", - nodes: [ - "n2198", - "n2207" - ], - tags: { - barrier: "wall" - } - }, - w608: { - id: "w608", - nodes: [ - "n2751", - "n3208", - "n3210", - "n3209", - "n3415", - "n3410", - "n3414", - "n3413", - "n3412", - "n3416" - ], - tags: { - highway: "residential", - name: "East Street" - } - }, - w609: { - id: "w609", - nodes: [ - "n2772", - "n3346", - "n3746", - "n3748", - "n3747", - "n3345", - "n3378", - "n3279", - "n3411" - ], - tags: { - highway: "residential", - name: "Maple Street" - } - }, - w61: { - id: "w61", - nodes: [ - "n309", - "n310", - "n311", - "n312", - "n313", - "n240" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w610: { - id: "w610", - nodes: [ - "n3379", - "n3380", - "n3382", - "n3381", - "n3379" - ], - tags: { - leisure: "park", - name: "LaFayette Park" - } - }, - w611: { - id: "w611", - nodes: [ - "n2768", - "n3194", - "n3210", - "n3753", - "n2760", - "n3353", - "n2773", - "n3378" - ], - tags: { - highway: "residential", - name: "Bennett Street" - } - }, - w612: { - id: "w612", - nodes: [ - "n2751", - "n3383", - "n2749", - "n2798", - "n2772" - ], - tags: { - highway: "residential", - name: "Market Street" - } - }, - w613: { - id: "w613", - nodes: [ - "n3298", - "n3297", - "n3296", - "n3295", - "n3294", - "n3293", - "n3292", - "n3291", - "n3298" - ], - tags: { - building: "yes" - } - }, - w614: { - id: "w614", - nodes: [ - "n3375", - "n3406", - "n3405", - "n3374", - "n3375" - ], - tags: { - leisure: "playground" - } - }, - w615: { - id: "w615", - nodes: [ - "n3393", - "n3344", - "n3343", - "n3342", - "n3341", - "n3340", - "n3339", - "n3338", - "n3337", - "n3392", - "n3391", - "n3390", - "n3389", - "n3336", - "n3335", - "n3388", - "n3393" - ], - tags: { - building: "yes" - } - }, - w616: { - id: "w616", - nodes: [ - "n3376", - "n3407", - "n3408", - "n3377", - "n3376" - ], - tags: { - amenity: "school", - name: "Three Rivers Elementary School" - } - }, - w617: { - id: "w617", - nodes: [ - "n3312", - "n3311", - "n3310", - "n3309", - "n3308", - "n3307", - "n3306", - "n3305", - "n3312" - ], - tags: { - building: "yes" - } - }, - w619: { - id: "w619", - nodes: [ - "n2863", - "n3424", - "n3425", - "n3426", - "n3427", - "n3428", - "n3429", - "n3430", - "n3431", - "n3432", - "n3433", - "n2844" - ], - tags: { - highway: "secondary", - name: "Michigan Avenue", - ref: "M 60" - } - }, - w62: { - id: "w62", - nodes: [ - "n876", - "n906", - "n904", - "n875", - "n874", - "n873", - "n872", - "n871", - "n870", - "n869", - "n41", - "n868", - "n146", - "n314", - "n315", - "n1956" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w620: { - id: "w620", - nodes: [ - "n2844", - "n3420", - "n3421", - "n3422", - "n3439", - "n2859", - "n3437", - "n3493", - "n3496", - "n3500", - "n3497" - ], - tags: { - highway: "residential" - } - }, - w621: { - id: "w621", - nodes: [ - "n3468", - "n3469", - "n3470", - "n3471", - "n3468" - ], - tags: { - building: "yes" - } - }, - w622: { - id: "w622", - nodes: [ - "n3417", - "n3436", - "n3438", - "n3491", - "n3488", - "n3492", - "n3495", - "n3494", - "n3498", - "n3487", - "n3499", - "n3490", - "n3489", - "n4800", - "n3417" - ], - tags: { - landuse: "cemetery", - name: "Riverside Cemetery" - } - }, - w623: { - id: "w623", - nodes: [ - "n3440", - "n3441", - "n3442", - "n3443", - "n3444", - "n3445", - "n3440" - ], - tags: { - building: "yes" - } - }, - w624: { - id: "w624", - nodes: [ - "n3446", - "n3447", - "n3448", - "n3449", - "n3450", - "n3451", - "n3452", - "n3453", - "n3454", - "n3455", - "n3456", - "n3457", - "n3458", - "n3459", - "n3460", - "n3461", - "n3462", - "n3463", - "n3464", - "n3465", - "n3466", - "n3467", - "n3446" - ], - tags: { - building: "yes" - } - }, - w625: { - id: "w625", - nodes: [ - "n2844", - "n3434", - "n3435", - "n2878", - "n3275", - "n4621", - "n3276", - "n3278", - "n4463", - "n3272", - "n3472", - "n3474", - "n3475", - "n3476", - "n3477", - "n3478", - "n1202", - "n3479", - "n3480", - "n3481", - "n1203", - "n3482", - "n3483", - "n3484", - "n3485", - "n4574", - "n3486", - "n3473" - ], - tags: { - highway: "secondary", - name: "Jefferson Street", - name_1: "State Highway 60", - ref: "M 60" - } - }, - w626: { - id: "w626", - nodes: [ - "n3439", - "n3423", - "n2863" - ], - tags: { - highway: "unclassified", - name: "Michigan Avenue", - name_1: "State Highway 60" - } - }, - w627: { - id: "w627", - nodes: [ - "n3500", - "n3005" - ], - tags: { - highway: "service" - } - }, - w628: { - id: "w628", - nodes: [ - "n3491", - "n3488", - "n3492", - "n3010", - "n3009", - "n3005", - "n3008", - "n3007", - "n3006", - "n3502", - "n3491" - ], - tags: { - leisure: "park", - name: "Marina Park" - } - }, - w629: { - id: "w629", - nodes: [ - "n2208", - "n2209", - "n2212", - "n2214", - "n2208" - ], - tags: { - building: "yes" - } - }, - w63: { - id: "w63", - nodes: [ - "n1955", - "n316" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w630: { - id: "w630", - nodes: [ - "n2757", - "n3414", - "n3202", - "n4542", - "n3206", - "n4538", - "n3750", - "n3503", - "n1629", - "n4500", - "n2763", - "n4502", - "n2764", - "n3508" - ], - tags: { - highway: "residential", - name: "Hoffman Street" - } - }, - w631: { - id: "w631", - nodes: [ - "n2215", - "n2750", - "n2770", - "n2771", - "n2215" - ], - tags: { - building: "yes" - } - }, - w632: { - id: "w632", - nodes: [ - "n2766", - "n3504", - "n3507", - "n3751", - "n3205", - "n3196", - "n3410", - "n2746" - ], - tags: { - highway: "residential", - name: "Cushman Street" - } - }, - w633: { - id: "w633", - nodes: [ - "n2745", - "n3749", - "n3507", - "n4535", - "n3503" - ], - tags: { - highway: "residential", - name: "Pine Street" - } - }, - w634: { - id: "w634", - nodes: [ - "n3510", - "n3511", - "n3512", - "n3509", - "n3510" - ], - tags: { - leisure: "park", - name: "Bowman Park" - } - }, - w636: { - id: "w636", - nodes: [ - "n2745", - "n3752", - "n3204", - "n3201", - "n3415", - "n2761", - "n2767", - "n3411" - ], - tags: { - highway: "residential", - name: "Wheeler Street" - } - }, - w637: { - id: "w637", - nodes: [ - "n3550", - "n4586", - "n4476", - "n3472" - ], - tags: { - highway: "residential", - name: "11th Avenue" - } - }, - w638: { - id: "w638", - nodes: [ - "n3508", - "n3518" - ], - tags: { - bridge: "yes", - highway: "residential", - name: "Hoffman Street" - } - }, - w639: { - id: "w639", - nodes: [ - "n3518", - "n1204", - "n2862", - "n3519", - "n3520", - "n3521", - "n3522", - "n3523", - "n2161", - "n3524", - "n3549", - "n3552", - "n4239", - "n3551", - "n4577", - "n4582", - "n4578", - "n4583", - "n4579", - "n4574" - ], - tags: { - highway: "residential", - name: "Hoffman Street" - } - }, - w64: { - id: "w64", - nodes: [ - "n316", - "n317" - ], - tags: { - bridge: "yes", - footway: "sidewalk", - highway: "footway", - layer: "1" - } - }, - w640: { - id: "w640", - nodes: [ - "n3634", - "n3640", - "n3676", - "n3633", - "n3678", - "n3648", - "n3638", - "n3683", - "n3600", - "n3579", - "n3679", - "n3677", - "n2987", - "n3592", - "n3588", - "n3608", - "n3559", - "n3617", - "n3620", - "n3660", - "n3553", - "n3533", - "n3530", - "n3531", - "n3525", - "n3527", - "n3526", - "n3532", - "n3529", - "n3528", - "n3667", - "n3627", - "n3623", - "n3625", - "n3601", - "n3687", - "n3671", - "n3644", - "n3626", - "n3673", - "n3582", - "n3693", - "n3605", - "n3619", - "n3651", - "n3650", - "n3615", - "n3663", - "n3631", - "n3596", - "n3604", - "n3655", - "n3586", - "n3595", - "n3701", - "n3603", - "n3686", - "n3611", - "n3568", - "n3674", - "n3613", - "n3580", - "n3562", - "n3564", - "n3689", - "n3585", - "n3670", - "n3659", - "n3684", - "n3680", - "n3646", - "n3558", - "n3556", - "n3692", - "n3563", - "n3575", - "n3571", - "n3675", - "n3557", - "n3700", - "n3656", - "n3622", - "n3657", - "n3565", - "n3669", - "n3658", - "n3618", - "n3624", - "n3688", - "n3610", - "n3570", - "n3645", - "n3649", - "n3583", - "n3694", - "n3561", - "n3554", - "n3614", - "n3698", - "n3581", - "n3635", - "n3641", - "n3569", - "n3647", - "n3628", - "n3598", - "n3696", - "n3665", - "n3639", - "n3607", - "n3695", - "n3642", - "n3672", - "n3577", - "n3643", - "n3691", - "n3602", - "n3576", - "n3591", - "n3560", - "n3606", - "n3685", - "n3597", - "n3629", - "n3661", - "n3654", - "n3616", - "n3697", - "n3578", - "n3609", - "n3653", - "n3699", - "n3566", - "n3637", - "n3567", - "n3666", - "n3555", - "n3599", - "n3590", - "n3572", - "n3593", - "n3690", - "n3681", - "n3612", - "n3682", - "n3668", - "n3587", - "n3621", - "n3636", - "n3662", - "n3589", - "n3573", - "n3652", - "n3664", - "n3632", - "n3574", - "n3594", - "n3584", - "n3630", - "n3634" - ], - tags: { - landuse: "reservoir", - name: "Hoffman Pond", - natural: "water" - } - }, - w641: { - id: "w641", - nodes: [ - "n2988", - "n3534", - "n3535", - "n3536", - "n3537", - "n3538", - "n3539", - "n3540", - "n3541", - "n3542", - "n3543", - "n3544", - "n3545", - "n3546", - "n3547", - "n3548", - "n2970" - ], - tags: { - waterway: "river" - } - }, - w642: { - id: "w642", - nodes: [ - "n3702", - "n3703", - "n3704", - "n3705", - "n3706", - "n3707", - "n3708", - "n3709", - "n3710", - "n3711", - "n3712", - "n3713", - "n3714", - "n3715", - "n3716", - "n3717", - "n3718", - "n3719", - "n3720", - "n3721", - "n3722", - "n3723", - "n3724", - "n3725", - "n3726", - "n3727", - "n3728", - "n3729", - "n3730", - "n3731", - "n3732", - "n3733", - "n3734", - "n3735", - "n3736", - "n3737", - "n3738", - "n3739", - "n3740", - "n3741", - "n3742", - "n3743", - "n3702" - ], - tags: { - admin_level: "8", - boundary: "administrative" - } - }, - w643: { - id: "w643", - nodes: [ - "n2839", - "n2873" - ], - tags: { - highway: "service", - service: "driveway" - } - }, - w644: { - id: "w644", - nodes: [ - "n2873", - "n2840" - ], - tags: { - bridge: "yes", - highway: "service", - layer: "1", - service: "driveway" - } - }, - w645: { - id: "w645", - nodes: [ - "n2840", - "n2841", - "n2842", - "n2845", - "n2866" - ], - tags: { - highway: "service", - service: "driveway", - surface: "unpaved" - } - }, - w646: { - id: "w646", - nodes: [ - "n2752", - "n3759", - "n1420", - "n1421", - "n1422", - "n3758", - "n4507", - "n4506", - "n4505", - "n4520", - "n3199", - "n4522", - "n4504", - "n4546", - "n3200", - "n4547", - "n3412" - ], - tags: { - highway: "residential", - name: "Flower Street" - } - }, - w647: { - id: "w647", - nodes: [ - "n2874", - "n2875", - "n2876", - "n2954", - "n2874" - ], - tags: { - building: "industrial" - } - }, - w648: { - id: "w648", - nodes: [ - "n3778", - "n3779", - "n3780", - "n3781", - "n3782", - "n3783", - "n3778" - ], - tags: { - building: "yes" - } - }, - w649: { - id: "w649", - nodes: [ - "n3197", - "n4543", - "n4544", - "n3198" - ], - tags: { - highway: "residential", - name: "Morris Avenue", - surface: "unpaved" - } - }, - w65: { - id: "w65", - nodes: [ - "n317", - "n318", - "n319", - "n320", - "n321" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w650: { - id: "w650", - nodes: [ - "n3207", - "n4526", - "n4528", - "n4548", - "n3203", - "n4549", - "n3413", - "n2762" - ], - tags: { - highway: "residential", - name: "Adams Street" - } - }, - w651: { - id: "w651", - nodes: [ - "n3788", - "n3785", - "n3786", - "n3787", - "n3788" - ], - tags: { - power: "station" - } - }, - w652: { - id: "w652", - nodes: [ - "n2957", - "n3163", - "n3241" - ], - tags: { - barrier: "wall" - } - }, - w653: { - id: "w653", - nodes: [ - "n3549", - "n3802", - "n3803", - "n3800", - "n3801" - ], - tags: { - highway: "service", - surface: "unpaved" - } - }, - w654: { - id: "w654", - nodes: [ - "n3164", - "n3165", - "n3166", - "n3167", - "n3168", - "n3505", - "n3164" - ], - tags: { - building: "yes" - } - }, - w655: { - id: "w655", - nodes: [ - "n3506", - "n3517", - "n3760", - "n3761", - "n3762", - "n3763", - "n3506" - ], - tags: { - building: "yes" - } - }, - w656: { - id: "w656", - nodes: [ - "n3764", - "n3765", - "n3766", - "n3767", - "n3768", - "n3769", - "n3770", - "n3771", - "n3764" - ], - tags: { - building: "yes" - } - }, - w657: { - id: "w657", - nodes: [ - "n3772", - "n3773", - "n3774", - "n3775", - "n3772" - ], - tags: { - building: "yes" - } - }, - w658: { - id: "w658", - nodes: [ - "n3776", - "n3777", - "n3784", - "n3789", - "n3776" - ], - tags: { - building: "yes" - } - }, - w659: { - id: "w659", - nodes: [ - "n3930", - "n3931", - "n3932", - "n3933", - "n3934", - "n3935", - "n3936", - "n3937", - "n3938", - "n3930" - ], - tags: { - leisure: "pitch", - sport: "baseball" - } - }, - w66: { - id: "w66", - nodes: [ - "n321", - "n322" - ], - tags: { - bridge: "yes", - footway: "sidewalk", - highway: "footway", - layer: "1" - } - }, - w660: { - id: "w660", - nodes: [ - "n3982", - "n3842", - "n3864", - "n3865", - "n2938", - "n3866", - "n2939", - "n3867", - "n3868", - "n3858", - "n2937", - "n3869", - "n2935", - "n2934", - "n3870", - "n3348", - "n3862" - ], - tags: { - highway: "service" - } - }, - w661: { - id: "w661", - nodes: [ - "n3968", - "n3969" - ], - tags: { - highway: "footway" - } - }, - w662: { - id: "w662", - nodes: [ - "n3875", - "n3876", - "n3877", - "n3878", - "n3879", - "n3880", - "n3881", - "n3882", - "n3875" - ], - tags: { - amenity: "parking" - } - }, - w663: { - id: "w663", - nodes: [ - "n3964", - "n3965" - ], - tags: { - highway: "footway" - } - }, - w664: { - id: "w664", - nodes: [ - "n3966", - "n3967" - ], - tags: { - highway: "footway" - } - }, - w665: { - id: "w665", - nodes: [ - "n3857", - "n3890", - "n3884", - "n3894", - "n3889", - "n3899", - "n3885", - "n3886", - "n3896", - "n3887" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w666: { - id: "w666", - nodes: [ - "n3895", - "n3896" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w667: { - id: "w667", - nodes: [ - "n3274", - "n3977", - "n3984", - "n3983", - "n3981", - "n3844", - "n3978", - "n3982", - "n3861", - "n3862", - "n3873", - "n3874", - "n4468", - "n3863" - ], - tags: { - access: "private", - highway: "service", - name: "Collins Drive" - } - }, - w668: { - id: "w668", - nodes: [ - "n3900", - "n3901", - "n3902", - "n3903", - "n3904", - "n3905", - "n3808", - "n3809", - "n3906", - "n3907", - "n3908", - "n3967", - "n3909", - "n3910", - "n3911", - "n3955", - "n3964", - "n3912", - "n3913", - "n3914", - "n3915", - "n3916", - "n3917", - "n3918", - "n3919", - "n3920", - "n3921", - "n3922", - "n3923", - "n3924", - "n3925", - "n3926", - "n3927", - "n3969", - "n3970", - "n3928", - "n3807", - "n3929", - "n3900" - ], - tags: { - building: "school" - } - }, - w669: { - id: "w669", - nodes: [ - "n3272", - "n39", - "n40", - "n3974", - "n3863", - "n3857", - "n3892", - "n3883", - "n3891", - "n3889" - ], - tags: { - highway: "service" - } - }, - w67: { - id: "w67", - nodes: [ - "n322", - "n886", - "n323", - "n475" - ], - tags: { - footway: "crossing", - highway: "footway" - } - }, - w670: { - id: "w670", - nodes: [ - "n3473", - "n3859", - "n3860", - "n3980", - "n4908", - "n4865" - ], - tags: { - highway: "secondary", - name: "Hoffman Street", - ref: "M 60" - } - }, - w671: { - id: "w671", - nodes: [ - "n3970", - "n3806", - "n3971" - ], - tags: { - highway: "footway" - } - }, - w672: { - id: "w672", - nodes: [ - "n3892", - "n3893", - "n3894" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w673: { - id: "w673", - nodes: [ - "n3945", - "n3946", - "n3992", - "n3990", - "n3945" - ], - tags: { - leisure: "pitch", - sport: "tennis" - } - }, - w674: { - id: "w674", - nodes: [ - "n3890", - "n3893", - "n3891" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w675: { - id: "w675", - nodes: [ - "n3947", - "n3948", - "n3994", - "n3993", - "n3947" - ], - tags: { - leisure: "pitch", - sport: "tennis" - } - }, - w676: { - id: "w676", - nodes: [ - "n3858", - "n3954", - "n3972", - "n3810", - "n3811", - "n3812", - "n3841", - "n3973", - "n3898", - "n3963", - "n3897", - "n3896" - ], - tags: { - highway: "service" - } - }, - w677: { - id: "w677", - nodes: [ - "n3977", - "n3996", - "n3997", - "n4004", - "n3998", - "n3999", - "n4005", - "n4007", - "n4006", - "n3995", - "n4000", - "n3843", - "n4001", - "n4002", - "n4003", - "n3949", - "n3351", - "n3950", - "n3354", - "n3350", - "n3951", - "n3349", - "n3952", - "n3953", - "n3954", - "n3956", - "n3966", - "n3955" - ], - tags: { - highway: "footway" - } - }, - w678: { - id: "w678", - nodes: [ - "n3887", - "n3888", - "n3895", - "n3899" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w679: { - id: "w679", - nodes: [ - "n3946", - "n3947", - "n3993", - "n3992", - "n3946" - ], - tags: { - leisure: "pitch", - sport: "tennis" - } - }, - w68: { - id: "w68", - nodes: [ - "n294", - "n1952", - "n326" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w680: { - id: "w680", - nodes: [ - "n3939", - "n3940", - "n3941", - "n3985", - "n3986", - "n3987", - "n3988", - "n3989", - "n3942", - "n3943", - "n3939" - ], - tags: { - leisure: "pitch", - sport: "baseball" - } - }, - w681: { - id: "w681", - nodes: [ - "n3990", - "n3991", - "n3944", - "n3945", - "n3990" - ], - tags: { - leisure: "pitch", - sport: "tennis" - } - }, - w682: { - id: "w682", - nodes: [ - "n3871", - "n3872", - "n3873", - "n3874", - "n3871" - ], - tags: { - amenity: "parking" - } - }, - w683: { - id: "w683", - nodes: [ - "n3956", - "n3965", - "n3957", - "n3958", - "n3959" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w684: { - id: "w684", - nodes: [ - "n3790", - "n3791", - "n3792", - "n3793", - "n3790" - ], - tags: { - building: "shed" - } - }, - w685: { - id: "w685", - nodes: [ - "n3794", - "n3795", - "n3796", - "n3797", - "n3794" - ], - tags: { - building: "yes" - } - }, - w686: { - id: "w686", - nodes: [ - "n3798", - "n3799", - "n3804", - "n3805", - "n3798" - ], - tags: { - building: "yes" - } - }, - w687: { - id: "w687", - nodes: [ - "n3806", - "n3807" - ], - tags: { - highway: "footway" - } - }, - w688: { - id: "w688", - nodes: [ - "n3845", - "n3846", - "n3847", - "n3848", - "n3845" - ], - tags: { - leisure: "pitch", - sport: "american_football" - } - }, - w689: { - id: "w689", - nodes: [ - "n3849", - "n4021", - "n3850", - "n3851", - "n3852", - "n3853", - "n3854", - "n3855", - "n3856", - "n3975", - "n3976", - "n3979", - "n4008", - "n4009", - "n4010", - "n4011", - "n4012", - "n4013", - "n4014", - "n4015", - "n4016", - "n4017", - "n4018", - "n4019", - "n4020", - "n4021" - ], - tags: { - leisure: "track", - sport: "running" - } - }, - w69: { - id: "w69", - nodes: [ - "n326", - "n327" - ], - tags: { - bridge: "yes", - footway: "sidewalk", - highway: "footway", - layer: "1" - } - }, - w690: { - id: "w690", - nodes: [ - "n4022", - "n4023", - "n4024", - "n4025", - "n4026", - "n4027", - "n4022" - ], - tags: { - building: "yes" - } - }, - w691: { - id: "w691", - nodes: [ - "n4028", - "n4029", - "n4030", - "n4031", - "n4028" - ], - tags: { - building: "yes" - } - }, - w692: { - id: "w692", - nodes: [ - "n4032", - "n4033", - "n4034", - "n4035", - "n4032" - ], - tags: { - building: "yes" - } - }, - w693: { - id: "w693", - nodes: [ - "n4036", - "n4037", - "n4038", - "n4039", - "n4036" - ], - tags: { - building: "yes" - } - }, - w694: { - id: "w694", - nodes: [ - "n4040", - "n4041", - "n4042", - "n4043", - "n4040" - ], - tags: { - building: "yes" - } - }, - w695: { - id: "w695", - nodes: [ - "n4044", - "n4045", - "n4050", - "n4053", - "n4046", - "n4047", - "n4048", - "n4049", - "n4044" - ], - tags: { - building: "yes" - } - }, - w696: { - id: "w696", - nodes: [ - "n4050", - "n4051", - "n4052", - "n4053", - "n4050" - ], - tags: { - building: "roof" - } - }, - w697: { - id: "w697", - nodes: [ - "n4054", - "n4068", - "n4055", - "n4056", - "n4057", - "n4054" - ], - tags: { - building: "yes" - } - }, - w698: { - id: "w698", - nodes: [ - "n4058", - "n4059", - "n4060", - "n4061", - "n4062", - "n4063", - "n4058" - ], - tags: { - building: "yes" - } - }, - w699: { - id: "w699", - nodes: [ - "n4064", - "n4066", - "n4065" - ], - tags: { - barrier: "fence" - } - }, - w7: { - id: "w7", - nodes: [ - "n43", - "n44", - "n45" - ], - tags: { - highway: "service" - } - }, - w70: { - id: "w70", - nodes: [ - "n327", - "n328", - "n27", - "n329" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w700: { - id: "w700", - nodes: [ - "n4066", - "n4067", - "n4068" - ], - tags: { - barrier: "fence" - } - }, - w701: { - id: "w701", - nodes: [ - "n4069", - "n4070", - "n4071", - "n4072", - "n4069" - ], - tags: { - building: "shed" - } - }, - w702: { - id: "w702", - nodes: [ - "n4073", - "n4074", - "n4075", - "n4076", - "n4077", - "n4078", - "n4079", - "n4080", - "n4081", - "n4082", - "n4083", - "n4084", - "n4073" - ], - tags: { - building: "yes" - } - }, - w703: { - id: "w703", - nodes: [ - "n4085", - "n4093", - "n4086", - "n4087", - "n4088", - "n4089", - "n4090", - "n4091", - "n4092", - "n4085" - ], - tags: { - building: "yes" - } - }, - w704: { - id: "w704", - nodes: [ - "n4093", - "n4094", - "n4095", - "n4096" - ], - tags: { - barrier: "fence" - } - }, - w705: { - id: "w705", - nodes: [ - "n4097", - "n4098", - "n4099", - "n4100", - "n4097" - ], - tags: { - building: "yes" - } - }, - w706: { - id: "w706", - nodes: [ - "n4098", - "n4102", - "n4087" - ], - tags: { - barrier: "fence" - } - }, - w707: { - id: "w707", - nodes: [ - "n4101", - "n4102", - "n4096", - "n4170", - "n4103" - ], - tags: { - barrier: "fence" - } - }, - w708: { - id: "w708", - nodes: [ - "n4104", - "n4105", - "n4106", - "n4107", - "n4104" - ], - tags: { - access: "private", - leisure: "swimming_pool" - } - }, - w709: { - id: "w709", - nodes: [ - "n4108", - "n4109", - "n4110", - "n4111", - "n4108" - ], - tags: { - building: "yes" - } - }, - w71: { - id: "w71", - nodes: [ - "n329", - "n331" - ], - tags: { - bridge: "yes", - footway: "sidewalk", - highway: "footway", - layer: "1" - } - }, - w710: { - id: "w710", - nodes: [ - "n4112", - "n4113", - "n4114", - "n4115", - "n4116", - "n4117", - "n4118", - "n4119", - "n4112" - ], - tags: { - building: "yes" - } - }, - w711: { - id: "w711", - nodes: [ - "n4120", - "n4121", - "n4122", - "n4123", - "n4120" - ], - tags: { - building: "yes" - } - }, - w712: { - id: "w712", - nodes: [ - "n4124", - "n4125", - "n4126", - "n4127", - "n4128", - "n4129", - "n4124" - ], - tags: { - building: "yes" - } - }, - w713: { - id: "w713", - nodes: [ - "n4130", - "n4131", - "n4132", - "n4133", - "n4130" - ], - tags: { - building: "shed" - } - }, - w714: { - id: "w714", - nodes: [ - "n4134", - "n4135", - "n4136", - "n4137", - "n4138", - "n4139", - "n4140", - "n4141", - "n4142", - "n4143", - "n4134" - ], - tags: { - building: "yes" - } - }, - w715: { - id: "w715", - nodes: [ - "n4144", - "n4145", - "n4146", - "n4147", - "n4148", - "n4149", - "n4144" - ], - tags: { - building: "yes" - } - }, - w716: { - id: "w716", - nodes: [ - "n4150", - "n4151", - "n4152", - "n4153", - "n4150" - ], - tags: { - building: "yes" - } - }, - w717: { - id: "w717", - nodes: [ - "n4154", - "n4155", - "n4156", - "n4157", - "n4154" - ], - tags: { - building: "yes" - } - }, - w718: { - id: "w718", - nodes: [ - "n4158", - "n4159", - "n4160", - "n4161", - "n4162", - "n4163", - "n4164", - "n4165", - "n4158" - ], - tags: { - building: "yes" - } - }, - w719: { - id: "w719", - nodes: [ - "n4166", - "n4167", - "n4168", - "n4169", - "n4166" - ], - tags: { - building: "yes" - } - }, - w72: { - id: "w72", - nodes: [ - "n331", - "n344", - "n332", - "n333", - "n334" - ], - tags: { - footway: "sidewalk", - highway: "footway" - } - }, - w720: { - id: "w720", - nodes: [ - "n4170", - "n4171" - ], - tags: { - barrier: "fence" - } - }, - w721: { - id: "w721", - nodes: [ - "n4138", - "n4103" - ], - tags: { - barrier: "fence" - } - }, - w722: { - id: "w722", - nodes: [ - "n4103", - "n4172" - ], - tags: { - barrier: "fence" - } - }, - w723: { - id: "w723", - nodes: [ - "n4173", - "n4174" - ], - tags: { - barrier: "fence" - } - }, - w724: { - id: "w724", - nodes: [ - "n4175", - "n4176", - "n4177", - "n4178", - "n4175" - ], - tags: { - building: "yes" - } - }, - w725: { - id: "w725", - nodes: [ - "n4179", - "n4180", - "n4181", - "n4182", - "n4183", - "n4184", - "n4179" - ], - tags: { - building: "yes" - } - }, - w726: { - id: "w726", - nodes: [ - "n4185", - "n4186", - "n4187", - "n4188", - "n4185" - ], - tags: { - building: "yes" - } - }, - w727: { - id: "w727", - nodes: [ - "n4189", - "n4190", - "n4191", - "n4192", - "n4193", - "n4194", - "n4195", - "n4196", - "n4197", - "n4198", - "n4199", - "n4200", - "n4201", - "n4202", - "n4189" - ], - tags: { - building: "yes" - } - }, - w728: { - id: "w728", - nodes: [ - "n4203", - "n4204", - "n4205", - "n4206", - "n4207", - "n4208", - "n4209", - "n4210", - "n4203" - ], - tags: { - building: "yes" - } - }, - w729: { - id: "w729", - nodes: [ - "n4211", - "n4212", - "n4213", - "n4214", - "n4211" - ], - tags: { - building: "shed" - } - }, - w73: { - id: "w73", - nodes: [ - "n335", - "n336", - "n337", - "n338", - "n339", - "n340", - "n341", - "n342", - "n335" - ], - tags: { - building: "yes" - } - }, - w730: { - id: "w730", - nodes: [ - "n4215", - "n4216", - "n4217", - "n4218", - "n4215" - ], - tags: { - building: "yes" - } - }, - w731: { - id: "w731", - nodes: [ - "n4219", - "n4220", - "n4221", - "n4222", - "n4223", - "n4224", - "n4225", - "n4226", - "n4227", - "n4228", - "n4229", - "n4230", - "n4219" - ], - tags: { - building: "yes" - } - }, - w732: { - id: "w732", - nodes: [ - "n4231", - "n4232", - "n4233", - "n4234", - "n4235", - "n4236", - "n4237", - "n4238", - "n4231" - ], - tags: { - building: "yes" - } - }, - w733: { - id: "w733", - nodes: [ - "n4239", - "n4240", - "n4241", - "n4242", - "n4243", - "n4244", - "n4245", - "n4246", - "n4247", - "n4248", - "n4241" - ], - tags: { - highway: "service" - } - }, - w734: { - id: "w734", - nodes: [ - "n4240", - "n4249", - "n4248" - ], - tags: { - highway: "service", - service: "parking_aisle" - } - }, - w735: { - id: "w735", - nodes: [ - "n4250", - "n4251", - "n4252", - "n4253", - "n4254", - "n4255", - "n4256", - "n4257", - "n4258", - "n4250" - ], - tags: { - amenity: "parking" - } - }, - w736: { - id: "w736", - nodes: [ - "n4259", - "n4260", - "n4261", - "n4262", - "n4259" - ], - tags: { - building: "yes" - } - }, - w737: { - id: "w737", - nodes: [ - "n4263", - "n4264", - "n4265", - "n4266", - "n4267", - "n4268", - "n4269", - "n4270", - "n4271", - "n4272", - "n4273", - "n4274", - "n4275", - "n4276", - "n4263" - ], - tags: { - building: "yes" - } - }, - w738: { - id: "w738", - nodes: [ - "n4277", - "n4278", - "n4279", - "n4280", - "n4281", - "n4282", - "n4277" - ], - tags: { - building: "yes" - } - }, - w739: { - id: "w739", - nodes: [ - "n4283", - "n4284", - "n4285", - "n4286", - "n4287", - "n4288", - "n4289", - "n4290", - "n4291", - "n4292", - "n4293", - "n4294", - "n4283" - ], - tags: { - building: "yes" - } - }, - w74: { - id: "w74", - nodes: [ - "n343", - "n344", - "n345" - ], - tags: { - highway: "service" - } - }, - w740: { - id: "w740", - nodes: [ - "n4295", - "n4296", - "n4297", - "n4298", - "n4295" - ], - tags: { - building: "yes" - } - }, - w741: { - id: "w741", - nodes: [ - "n4299", - "n4300", - "n4301", - "n4302", - "n4303", - "n4304", - "n4305", - "n4306", - "n4307", - "n4308", - "n4309", - "n4310", - "n4299" - ], - tags: { - building: "yes" - } - }, - w742: { - id: "w742", - nodes: [ - "n4311", - "n4312", - "n4313", - "n4314", - "n4311" - ], - tags: { - building: "shed" - } - }, - w743: { - id: "w743", - nodes: [ - "n4315", - "n4316", - "n4317", - "n4318", - "n4319", - "n4320", - "n4315" - ], - tags: { - building: "yes" - } - }, - w744: { - id: "w744", - nodes: [ - "n4321", - "n4322", - "n4323", - "n4324", - "n4325", - "n4326", - "n4327", - "n4328", - "n4329", - "n4330", - "n4331", - "n4332", - "n4333", - "n4334", - "n4321" - ], - tags: { - building: "yes" - } - }, - w745: { - id: "w745", - nodes: [ - "n4335", - "n4336", - "n4337", - "n4338", - "n4335" - ], - tags: { - building: "shed" - } - }, - w746: { - id: "w746", - nodes: [ - "n4339", - "n4340", - "n4341", - "n4342", - "n4343", - "n4344", - "n4339" - ], - tags: { - building: "yes" - } - }, - w747: { - id: "w747", - nodes: [ - "n4345", - "n4346", - "n4347", - "n4348", - "n4345" - ], - tags: { - building: "yes" - } - }, - w748: { - id: "w748", - nodes: [ - "n4349", - "n4350", - "n4351", - "n4352", - "n4349" - ], - tags: { - building: "yes" - } - }, - w749: { - id: "w749", - nodes: [ - "n4353", - "n4354", - "n4355", - "n4356", - "n4357", - "n4358", - "n4353" - ], - tags: { - building: "yes" - } - }, - w75: { - id: "w75", - nodes: [ - "n346", - "n347", - "n348", - "n349", - "n350", - "n351", - "n346" - ], - tags: { - amenity: "parking" - } - }, - w750: { - id: "w750", - nodes: [ - "n4612", - "n4359", - "n4360" - ], - tags: { - barrier: "fence" - } - }, - w751: { - id: "w751", - nodes: [ - "n4361", - "n4362", - "n4363", - "n4364", - "n4361" - ], - tags: { - building: "yes" - } - }, - w752: { - id: "w752", - nodes: [ - "n4365", - "n4366", - "n4367", - "n4368", - "n4365" - ], - tags: { - building: "yes" - } - }, - w753: { - id: "w753", - nodes: [ - "n4369", - "n4370", - "n4371", - "n4372", - "n4375", - "n4369" - ], - tags: { - building: "yes" - } - }, - w754: { - id: "w754", - nodes: [ - "n4373", - "n4374", - "n4375" - ], - tags: { - barrier: "fence" - } - }, - w755: { - id: "w755", - nodes: [ - "n4376", - "n4377", - "n4378", - "n4379", - "n4376" - ], - tags: { - building: "shed" - } - }, - w756: { - id: "w756", - nodes: [ - "n4380", - "n4381", - "n4382", - "n4383", - "n4384", - "n4385", - "n4386", - "n4387", - "n4388", - "n4389", - "n4390", - "n4391", - "n4380" - ], - tags: { - building: "yes" + var amenity = {arts_centre:{"Świetlica wiejska":{count:62},"Дом культуры":{count:182}},bank:{ABANCA:{count:83},"ABN AMRO":{count:152},ABSA:{count:105},AIB:{count:85},ANZ:{count:378},"ASB Bank":{count:51},"ATB Financial":{count:68},AXA:{count:106},Agribank:{count:58},Akbank:{count:129},"Alior Bank":{count:180},"Allahabad Bank":{count:52},"Allied Bank":{count:67},"Alpha Bank":{count:329},"Andhra Bank":{count:97},Antonveneta:{count:56},Argenta:{count:125},"Asia United Bank":{count:57},"Askari Bank":{count:71},"Associated Bank":{count:55},"Axis Bank":{count:198},BAC:{count:77},"BAWAG PSK":{count:97},"BB&T":{count:418},BBBank:{count:58},BBK:{count:122},BBVA:{count:1445},"BBVA Bancomer":{count:157},"BBVA Compass":{count:80},"BBVA Continental":{count:74},"BBVA Francés":{count:158},BCA:{count:135},BCI:{count:140},BCP:{count:226},BCR:{count:232},BDO:{count:538},"BGŻ BNP Paribas":{count:74},BMCE:{count:53},BMN:{count:88},BMO:{count:339},"BMO Harris Bank":{count:72},BNA:{count:70},BNI:{count:136},BNL:{count:159},"BNP Paribas":{count:1165},"BNP Paribas Fortis":{count:303},BOC:{count:95},BPH:{count:63},BPI:{count:579},"BPI Family Savings Bank":{count:54},BRD:{count:276},BRED:{count:70},BRI:{count:209},"BW-Bank":{count:95},"BZ WBK":{count:156},Banamex:{count:356},"Banc Sabadell":{count:175},"Banca Intesa":{count:92},"Banca March":{count:51},"Banca Popolare di Milano":{count:99},"Banca Popolare di Novara":{count:79},"Banca Popolare di Sondrio":{count:105},"Banca Popolare di Verona":{count:59},"Banca Popolare di Vicenza":{count:119},"Banca Românească":{count:61},"Banca Sella":{count:56},"Banca Transilvania":{count:167},"Banco Agrario":{count:58},"Banco Azteca":{count:119},"Banco BCI":{count:74},"Banco Continental":{count:64},"Banco Estado":{count:153},"Banco Fassil":{count:59},"Banco G&T Continental":{count:84},"Banco General":{count:53},"Banco Industrial":{count:91},"Banco Internacional":{count:62},"Banco Nacional":{count:143},"Banco Nación":{count:149},"Banco Pastor":{count:74},"Banco Pichincha":{count:109},"Banco Popular":{count:619},"Banco Provincia":{count:138},"Banco Sabadell":{count:189},"Banco Santander":{count:112},"Banco Sol":{count:74},"Banco de Bogotá":{count:74},"Banco de Chile":{count:175},"Banco de Costa Rica":{count:123},"Banco de Desarrollo Banrural":{count:85},"Banco de Occidente":{count:67},"Banco de Venezuela":{count:76},"Banco de la Nación":{count:156},"Banco de la Nación Argentina":{count:166},"Banco di Napoli":{count:79},"Banco di Sardegna":{count:79},"Banco do Brasil":{count:1313},"Banco do Nordeste":{count:56},BancoEstado:{count:121},Bancolombia:{count:170},Bancomer:{count:227},Bancpost:{count:77},Banesco:{count:209},"Bangkok Bank":{count:69},"Bank Al Habib":{count:52},"Bank Alfalah":{count:63},"Bank Austria":{count:123},"Bank BCA":{count:71},"Bank BNI":{count:67},"Bank BPH":{count:56},"Bank BRI":{count:196},"Bank Danamon":{count:60},"Bank Mandiri":{count:232},"Bank Mega":{count:54},"Bank Spółdzielczy":{count:395},"Bank Zachodni WBK":{count:103},"Bank of Africa":{count:59},"Bank of America":{count:1787},"Bank of Baroda":{count:122},"Bank of Ceylon":{count:74},"Bank of China":{count:152},"Bank of Commerce":{count:69},"Bank of India":{count:113},"Bank of Ireland":{count:151},"Bank of Montreal":{count:157},"Bank of New Zealand":{count:63},"Bank of Scotland":{count:122},"Bank of the West":{count:173},Bankia:{count:613},Bankinter:{count:139},"Banner Bank":{count:53},Banorte:{count:260},"Banque Atlantique":{count:57},"Banque Nationale":{count:137},"Banque Populaire":{count:919},Banrisul:{count:101},Banrural:{count:84},Barclays:{count:1243},Bcc:{count:54},Belfius:{count:285},"Bendigo Bank":{count:140},"Berliner Volksbank":{count:73},Bicentenario:{count:173},Bradesco:{count:977},"Budapest Bank":{count:56},CBAO:{count:53},"CEC Bank":{count:121},CGD:{count:52},"CIB Bank":{count:64},CIBC:{count:574},CIC:{count:742},"CIMB Bank":{count:64},CNEP:{count:52},"Caisse Desjardins":{count:69},"Caisse d'Épargne":{count:1607},Caixa:{count:239},"Caixa Econômica Federal":{count:573},"Caixa Geral de Depósitos":{count:231},CaixaBank:{count:343},"Caja Círculo":{count:68},"Caja Duero":{count:90},"Caja España":{count:74},"Caja Rural":{count:216},"Caja Rural de Jaén":{count:55},CajaSur:{count:73},Cajamar:{count:216},"Cajero Automatico Bancared":{count:123},"Canara Bank":{count:270},"Capital One":{count:199},Carige:{count:57},Cariparma:{count:69},"Cassa di Risparmio del Veneto":{count:102},CatalunyaCaixa:{count:107},"Central Bank of India":{count:60},Chase:{count:1658},"China Bank":{count:156},"China Bank Savings":{count:54},"China Construction Bank":{count:68},Citibank:{count:485},"Citizens Bank":{count:248},"Clydesdale Bank":{count:55},"Columbia Bank":{count:79},"Comerica Bank":{count:67},"Commerce Bank":{count:61},"Commercial Bank":{count:75},"Commercial Bank of Ceylon PLC":{count:100},Commerzbank:{count:879},"Commonwealth Bank":{count:376},"Corporation Bank":{count:92},Credem:{count:77},Credicoop:{count:111},"Credit Agricole":{count:104},"Credit Suisse":{count:93},Crelan:{count:53},"Crédit Agricole":{count:2544},"Crédit Mutuel":{count:1129},"Crédit Mutuel de Bretagne":{count:368},"Crédit du Nord":{count:148},"Crédito Agrícola":{count:87},"Cбербанк":{count:74},"Danske Bank":{count:157},Davivienda:{count:172},"De Venezuela":{count:87},Denizbank:{count:58},Desjardins:{count:80},"Deutsche Bank":{count:995},"Dubai Islamic Bank":{count:71},"EastWest Bank":{count:127},Ecobank:{count:197},"Erste Bank":{count:200},Eurobank:{count:261},"Express Union":{count:58},FNB:{count:143},"Federal Bank":{count:88},"Fifth Third Bank":{count:234},Finansbank:{count:68},"First Bank":{count:91},"First Citizens Bank":{count:88},"First National Bank":{count:209},Galicia:{count:179},Garanti:{count:58},"Garanti Bankası":{count:82},"Getin Bank":{count:112},Groupama:{count:61},"HDFC Bank":{count:219},HNB:{count:67},HSBC:{count:1748},Halifax:{count:367},Halkbank:{count:74},"Hamburger Sparkasse":{count:159},Handelsbanken:{count:250},"Hong Leong Bank":{count:51},"Hrvatska poštanska banka":{count:54},"Huntington Bank":{count:110},HypoVereinsbank:{count:408},ICBC:{count:158},"ICICI Bank":{count:224},"IDBI Bank":{count:73},ING:{count:654},"ING Bank Śląski":{count:128},IberCaja:{count:209},"Indian Bank":{count:98},"Indian Overseas Bank":{count:108},Interbank:{count:131},"Intesa San Paolo":{count:257},"Itaú":{count:1077},"K&H Bank":{count:75},KBC:{count:273},"Kasa Stefczyka":{count:65},"Key Bank":{count:382},"Komerční banka":{count:180},Kreissparkasse:{count:600},"Kreissparkasse Köln":{count:69},Kutxabank:{count:68},LCL:{count:903},"La Banque Postale":{count:124},"La Caixa":{count:1144},"Laboral Kutxa":{count:66},Landbank:{count:115},Liberbank:{count:164},"Lloyds Bank":{count:612},"M&T Bank":{count:184},MCB:{count:62},"MCB Bank":{count:54},"MONETA Money Bank":{count:92},Macro:{count:174},Maybank:{count:234},"Meezan Bank":{count:63},Mercantil:{count:132},"Metro Bank":{count:57},Metrobank:{count:434},"Millennium BCP":{count:119},"Millennium Bank":{count:386},"Monte dei Paschi di Siena":{count:265},Montepio:{count:113},NAB:{count:205},NSB:{count:51},NatWest:{count:800},"National Bank":{count:147},Nationwide:{count:337},Nedbank:{count:100},Nordea:{count:331},"Novo Banco":{count:101},OLB:{count:57},OTP:{count:362},Oberbank:{count:103},"Occidental de Descuento":{count:68},"Oldenburgische Landesbank":{count:68},"One Network Bank":{count:91},Osuuspankki:{count:89},PBZ:{count:65},PKO:{count:58},"PKO BP":{count:561},PNB:{count:323},PNC:{count:52},"PNC Bank":{count:639},PSBank:{count:108},Patagonia:{count:94},"Pekao SA":{count:155},"Peoples Bank":{count:254},"Philippine National Bank":{count:69},"Piraeus Bank":{count:96},Popular:{count:104},Postbank:{count:567},"Postbank Finanzcenter":{count:65},Provincial:{count:135},"Public Bank":{count:90},"Punjab National Bank":{count:134},RBC:{count:487},"RBC Financial Group":{count:59},RBS:{count:190},RCBC:{count:144},"RCBC Savings Bank":{count:84},Rabobank:{count:557},"Raiffeisen Polbank":{count:78},Raiffeisenbank:{count:2705},"Regions Bank":{count:204},"Republic Bank":{count:85},"Royal Bank":{count:90},"Royal Bank of Canada":{count:56},"Royal Bank of Scotland":{count:129},SEB:{count:129},"SNS Bank":{count:58},Sabadell:{count:97},"Sampath Bank":{count:87},Santander:{count:3268},"Santander Consumer Bank":{count:109},"Santander Río":{count:239},"Santander Totta":{count:201},Sberbank:{count:135},Scotiabank:{count:1144},"Security Bank":{count:171},Sicredi:{count:94},"Slovenská sporiteľňa":{count:165},"Société Générale":{count:1136},"Sparda-Bank":{count:277},Sparkasse:{count:4667},"Sparkasse Aachen":{count:56},"Sparkasse KölnBonn":{count:76},Stadtsparkasse:{count:68},"Stanbic Bank":{count:63},"Standard Bank":{count:165},"Standard Chartered":{count:95},"Standard Chartered Bank":{count:74},"State Bank of India":{count:1013},SunTrust:{count:322},Supervielle:{count:72},Swedbank:{count:252},"Syndicate Bank":{count:118},"TCF Bank":{count:85},"TD Bank":{count:425},"TD Canada Trust":{count:675},TEB:{count:56},TSB:{count:259},"Takarékszövetkezet":{count:120},Targobank:{count:279},"Tatra banka":{count:70},"Türkiye İş Bankası":{count:53},UBS:{count:169},"UCO Bank":{count:51},UCPB:{count:122},UOB:{count:126},"US Bank":{count:723},"Ulster Bank":{count:100},"Umpqua Bank":{count:103},"UniCredit Bank":{count:548},"Unicaja Banco":{count:182},"Unicredit Banca":{count:496},"Union Bank":{count:304},"United Bank":{count:68},"VR-Bank":{count:506},"Vakıfbank":{count:85},"Veneto Banca":{count:73},"Vijaya Bank":{count:56},"Volks- und Raiffeisenbank":{count:53},Volksbank:{count:2665},"Volksbank Mittelhessen":{count:53},"Volksbank Raiffeisenbank":{count:63},"VÚB":{count:105},"Washington Federal":{count:65},"Wells Fargo":{count:1947},"Western Union":{count:440},Westpac:{count:322},"Yorkshire Bank":{count:95},"Yorkshire Building Society":{count:69},"Zagrebačka banka":{count:54},"Ziraat Bankası":{count:172},mBank:{count:70},"ČSOB":{count:211},"Česká spořitelna":{count:243},"İş Bankası":{count:112},"Εθνική Τράπεζα":{count:103},"Πειραιώς":{count:120},"Τράπεζα Πειραιώς":{count:104},"Авангард":{count:76},"Альфа-Банк":{count:301},"Банк Москвы":{count:176},"Банка ДСК":{count:63},"Белагропромбанк":{count:184},"Беларусбанк":{count:570},"Белинвестбанк":{count:78},"Бинбанк":{count:114},"ВТБ":{count:80},"ВТБ24":{count:545},"Возрождение":{count:81},"Газпромбанк":{count:161},"Генбанк":{count:83},"Казкоммерцбанк":{count:74},"МДМ Банк":{count:52},"Московский индустриальный банк":{count:53},"Мособлбанк":{count:54},"Народный банк":{count:63},"ОТП Банк":{count:54},"Открытие":{count:92},"Ощадбанк":{count:883},"ПУМБ":{count:78},"Почта Банк":{count:65},"ПриватБанк":{count:1018},"Приватбанк":{count:76},"Приднестровский Сбербанк":{count:59},"Приорбанк":{count:69},"Промсвязьбанк":{count:133},"РНКБ":{count:124},"Райффайзен":{count:65},"Райффайзен Банк Аваль":{count:125},"Райффайзенбанк":{count:52},"Росбанк":{count:218},"Россельхозбанк":{count:374},"Русский стандарт":{count:55},"Сбербанк":{count:6921},"Совкомбанк":{count:186},"УкрСиббанк":{count:213},"Укрсоцбанк":{count:57},"Уралсиб":{count:130},"Хоум Кредит":{count:53},"בנק הפועלים":{count:112},"בנק לאומי":{count:83},"بانک":{count:219},"بانک آینده":{count:58},"بانک اقتصاد نوین":{count:78},"بانک انصار":{count:99},"بانک تجارت":{count:365},"بانک رفاه":{count:138},"بانک رفاه کارگران":{count:72},"بانک سپه":{count:348},"بانک شهر":{count:93},"بانک صادرات":{count:492},"بانک قوامین":{count:110},"بانک مسکن":{count:263},"بانک ملت":{count:428},"بانک ملی":{count:561},"بانک ملی ایران":{count:80},"بانک مهر اقتصاد":{count:92},"بانک پارسیان":{count:103},"بانک پاسارگاد":{count:107},"بانک کشاورزی":{count:277},"صادرات":{count:85},"ملی":{count:67},"پست بانک":{count:71},"ธนาคารกรุงเทพ":{count:121},"ธนาคารกรุงไทย":{count:85},"ธนาคารกสิกรไทย":{count:108},"ธนาคารออมสิน":{count:71},"ธนาคารไทยพาณิชย์":{count:95},"みずほ銀行":{count:255},"りそな銀行":{count:135},"三井住友銀行":{count:204},"三菱東京UFJ銀行":{count:235},"中国农业银行":{count:198},"中国工商银行":{count:181},"中国建设银行":{count:158},"中国邮政储蓄银行":{count:76},"中国银行":{count:275},"交通银行":{count:68},"京都中央信用金庫":{count:53},"京都銀行":{count:66},"农业银行":{count:78},"北海道銀行":{count:51},"合作金庫銀行":{count:55},"土地銀行":{count:54},"工商银行":{count:160},"建设银行":{count:89},"彰化銀行":{count:53},"招商银行":{count:94},"横浜銀行":{count:92},"第一銀行":{count:78},"華南銀行":{count:52},"국민은행":{count:199,tags:{"name:en":"Gungmin Bank"}},"기업은행":{count:53},"농협":{count:148},"새마을금고":{count:102},"신한은행":{count:245,tags:{"name:en":"Sinhan Bank"}},"우리은행":{count:316,tags:{"name:en":"Uri Bank"}},"하나은행":{count:85}},bar:{"Bar Centrale":{count:141},"Bar Sport":{count:90},"Beach Bar":{count:80},"Pool Bar":{count:54}},bicycle_rental:{Bicing:{count:130},"Call a Bike":{count:95},Grid:{count:51},Mibici:{count:116},metropolradruhr:{count:91}},bureau_de_change:{Abitab:{count:55},Change:{count:51},Travelex:{count:75},"Western Union":{count:189}},cafe:{"85度C":{count:128},"Bar Centrale":{count:77},"Bar Kafe":{count:253},Barista:{count:65},Bistro:{count:60},Bonafide:{count:63},"Cafe Coffee Day":{count:239},"Cafe Nero":{count:52},Cafeteria:{count:579},"Cafetería":{count:61},"Caffè Nero":{count:316},"Café Amazon":{count:241},"Café Central":{count:115},"Café de la Place":{count:55},"Café des Sports":{count:71},"Caribou Coffee":{count:184},"Coffee Fellows":{count:77},"Coffee House":{count:71},"Coffee Island":{count:51},"Coffee Time":{count:133},Costa:{count:1403},"Country Style":{count:58},"Dolce Vita":{count:55},"Dunkin' Donuts":{count:1662,tags:{cuisine:"donut"}},"Eiscafe Dolomiti":{count:51},"Eiscafe Venezia":{count:237},"Espresso House":{count:122},Havanna:{count:81},"Internet Cafe":{count:95},"Jamba Juice":{count:86},Kafe:{count:55},"Krispy Kreme":{count:63},"Le Pain Quotidien":{count:59},"McCafé":{count:72,tags:{amenity:"cafe",cuisine:"coffee_shop"}},"Peet's Coffee & Tea":{count:82},"Pret A Manger":{count:174},Prime:{count:51},"Second Cup":{count:234},Segafredo:{count:103},Starbucks:{count:8463,tags:{cuisine:"coffee_shop"}},Subway:{count:114},Tchibo:{count:168},"The Coffee Bean & Tea Leaf":{count:93},"The Coffee Club":{count:81},"Tim Hortons":{count:1945},"Traveler's Coffee":{count:70},Venezia:{count:55},"Wayne's Coffee":{count:52},"Берёзка":{count:52},"Бистро":{count:84},"Буфет":{count:56},"Встреча":{count:83},"Даблби":{count:59},"Закусочная":{count:101},"Кофе Хауз":{count:119},"Кофейня":{count:78},"Лакомка":{count:62},"Летнее кафе":{count:61},"Оазис":{count:54},"Пельменная":{count:63},"Пиццерия":{count:60},"Рандеву":{count:54},"Сказка":{count:66},"Смак":{count:62},"Старбакс":{count:55},"Столовая":{count:1181},"Теремок":{count:64},"Уют":{count:115},"Хуторок":{count:59},"Шашлычная":{count:153},"Шоколад":{count:54},"Шоколадница":{count:252},"ארומה":{count:64},"مقهى":{count:136},"คาเฟ่ อเมซอน":{count:59},"エクセルシオール カフェ":{count:61},"カフェ・ド・クリエ":{count:80,tags:{"name:en":"Cafe de CRIE"}},"カフェ・ベローチェ":{count:105},"コメダ珈琲店":{count:179},"サンマルクカフェ":{count:156},"スターバックス":{count:558,tags:{"name:en":"Starbucks"}},"タリーズコーヒー":{count:243},"ドトールコーヒーショップ":{count:489,tags:{"name:en":"Doutor"}},"星巴克":{count:146},"스타벅스":{count:52}},car_rental:{Alamo:{count:57},Avis:{count:604},Budget:{count:218},Enterprise:{count:594},"Enterprise Rent-a-Car":{count:51},Europcar:{count:611},Hertz:{count:654},Localiza:{count:59},Sixt:{count:323},Thrifty:{count:81},"U-Haul":{count:94},"オリックスレンタカー":{count:54},"トヨタレンタカー":{count:57},"トヨタレンタリース":{count:63},"ニッポンレンタカー":{count:113}},car_wash:{Aral:{count:88},Autolavaggio:{count:52},BP:{count:63},Esso:{count:55},"H-E-B Car Wash":{count:71},"Intermarché":{count:60},"Lavage Auto":{count:60},Lavazh:{count:52},Myjnia:{count:54},"Myjnia bezdotykowa":{count:93},"Myjnia samochodowa":{count:66},Shell:{count:162},"Spălătorie Auto":{count:69},"Spălătorie auto":{count:52},"Автомийка":{count:63}},cinema:{"Cinema City":{count:61},Cinemark:{count:87},Cinemex:{count:70},Cinepolis:{count:59},Cineworld:{count:64},Odeon:{count:81}},clinic:{"ФАП":{count:162}},dentist:{"Aspen Dental":{count:73},"Family Dentistry":{count:51},Vitaldent:{count:54},"Стоматолог":{count:72},"Стоматологія":{count:66}},doctors:{"Háziorvosi rendelő":{count:54},"Инвитро":{count:115},"ФАП":{count:147}},driving_school:{"Автодром":{count:55}},fast_food:{"A&W":{count:614},"Ali Baba":{count:101},"Angel's Burger":{count:66},Antalya:{count:53},"Arby's":{count:1432},"Asia Bistro":{count:53},"Asia Wok":{count:53},"Baskin-Robbins":{count:262,tags:{amenity:"ice_cream"}},Bistro:{count:80},"Bob's":{count:83},Bojangles:{count:89},"Booster Juice":{count:76},"Boston Market":{count:107},"Braum's":{count:58},"Burger King":{count:6601,tags:{cuisine:"burger"}},"Burger Machine":{count:55},"Büfé":{count:72},"Captain D's":{count:56},"Carl's Jr.":{count:593,tags:{cuisine:"burger"}},Checkers:{count:102},"Chick-fil-A":{count:906,tags:{cuisine:"chicken"}},"Chicken Express":{count:67},Chipotle:{count:688,tags:{cuisine:"mexican"}},Chowking:{count:250},"Church's Chicken":{count:249},"CoCo壱番屋":{count:218},"Cold Stone Creamery":{count:72},"Cook Out":{count:81},"Culver's":{count:541},DQ:{count:66},"Dairy Queen":{count:1485},"Del Taco":{count:244},Ditsch:{count:55},"Domino's Pizza":{count:2577,tags:{cuisine:"pizza"}},"Dunkin' Donuts":{count:747,tags:{cuisine:"donut"}},"El Pollo Loco":{count:132},Everest:{count:59},"Extreme Pita":{count:58},"Fazoli's":{count:53},"Firehouse Subs":{count:147},"Fish & Chips":{count:185},"Fish and Chips":{count:55},"Five Guys":{count:457},Greenwich:{count:83},"Habib's":{count:87},"Hallo Pizza":{count:98},"Hardee's":{count:634,tags:{cuisine:"burger"}},"Harvey's":{count:158},Hesburger:{count:164},"Hungry Jacks":{count:261,tags:{cuisine:"burger"}},"In-N-Out Burger":{count:211},Istanbul:{count:96},"Istanbul Kebab":{count:59},"Jack in the Box":{count:951,tags:{cuisine:"burger"}},"Jamba Juice":{count:148},"Jersey Mike's Subs":{count:88},"Jimmy John's":{count:519,tags:{cuisine:"sandwich"}},Jollibee:{count:740},KFC:{count:6003,tags:{cuisine:"chicken"}},"KFC/Taco Bell":{count:70},"Kebab House":{count:74},Kebabai:{count:64},"Kochlöffel":{count:78},Kotipizza:{count:89},"Krispy Kreme":{count:63},Krystal:{count:53},"Little Caesars":{count:567},"Little Caesars Pizza":{count:82},"Long John Silver's":{count:200},Lotteria:{count:67},Max:{count:54},"McDonald's":{count:18327,tags:{cuisine:"burger"}},"Minute Burger":{count:53},"Mr. Sub":{count:153},"New York Pizza":{count:65},Nordsee:{count:198},"Panda Express":{count:593,tags:{cuisine:"chinese"}},"Panera Bread":{count:120},"Papa John's":{count:820,tags:{cuisine:"pizza"}},"Papa Murphy's":{count:100},Pinulito:{count:58},"Pita Pit":{count:150},"Pizza Hut":{count:1503,tags:{cuisine:"pizza"}},"Pizza Hut Delivery":{count:70},"Pizza King":{count:56},"Pizza Nova":{count:90},"Pizza Pizza":{count:411},"Pollo Campero":{count:134},"Pollo Granjero":{count:66},"Popeye's":{count:521,tags:{cuisine:"chicken"}},"Popeyes Louisiana Kitchen":{count:51},Qdoba:{count:91},Quick:{count:434},Quiznos:{count:401},"Rally's":{count:68},"Red Rooster":{count:192},Sbarro:{count:65},"Schlotzsky's Deli":{count:348},Sibylla:{count:74},Sonic:{count:1166,tags:{cuisine:"burger"}},Starbucks:{count:60,tags:{cuisine:"coffee_shop"}},Steers:{count:190},Subway:{count:11431},"Taco Bell":{count:2947,tags:{cuisine:"mexican"}},"Taco Bueno":{count:59},"Taco Cabana":{count:57},"Taco Del Mar":{count:57},"Taco John's":{count:141},"Taco Time":{count:171},Telepizza:{count:323},"Thai Express":{count:63},"The Pizza Company":{count:62},"Waffle House":{count:86},"Wendy's":{count:3036,tags:{cuisine:"burger"}},Whataburger:{count:815},"White Castle":{count:149},Wienerschnitzel:{count:61},Wimpy:{count:168},"Zaxby's":{count:185},"Γρηγόρης":{count:59},"Бистро":{count:61},"Бургер Кинг":{count:181},"Крошка Картошка":{count:77},"Макдоналдс":{count:469,tags:{"name:en":"McDonald's"}},"Робин Сдобин":{count:131},"Русский Аппетит":{count:129},"Сабвэй":{count:73},"Стардог!s":{count:66},"Теремок":{count:155},"Шаверма":{count:93},"Шаурма":{count:265},"かっぱ寿司":{count:84},"かつや":{count:58},"くら寿司":{count:99},"すき家":{count:571,tags:{"name:en":"Sukiya"}},"なか卯":{count:180},"ほっかほっか亭":{count:57},"ほっともっと":{count:168},"オリジン弁当":{count:93},"ケンタッキーフライドチキン":{count:334,tags:{cuisine:"chicken","name:en":"KFC"}},"サブウェイ":{count:74},"スシロー":{count:94},"マクドナルド":{count:1261,tags:{cuisine:"burger","name:en":"McDonald's"}},"ミスタードーナツ":{count:188},"モスバーガー":{count:507,tags:{"name:en":"Mos Burger"}},"ロッテリア":{count:97},"丸亀製麺":{count:57},"吉野家":{count:461},"幸楽苑":{count:80},"摩斯漢堡":{count:86},"松屋":{count:574,tags:{"name:en":"Matsuya"}},"肯德基":{count:197},"麥當勞":{count:224},"麦当劳":{count:97},"롯데리아":{count:83}},fuel:{"76":{count:603},"1-2-3":{count:75},"7-Eleven":{count:1013},ABC:{count:83},ADNOC:{count:76},ANP:{count:202},ARAL:{count:68},Aegean:{count:56},Afriquia:{count:134},Agip:{count:2348},Agrola:{count:99},Alon:{count:54},Alpet:{count:61},Api:{count:234},Aral:{count:1708},Arco:{count:585},Asda:{count:51},Auchan:{count:84},Avanti:{count:112},Avia:{count:1061},BEBECO:{count:77},BFT:{count:102},BHPetrol:{count:60},BP:{count:4069},BR:{count:874},Bangchak:{count:106},Benzina:{count:167},"Bharat Petroleum":{count:230},Bliska:{count:141},CAMPSA:{count:420},CARREFOUR:{count:61},CEPSA:{count:892},CNG:{count:373},Caltex:{count:1574},Campsa:{count:64},"Canadian Tire":{count:97},Carrefour:{count:372},"Casey's General Store":{count:385},Cenex:{count:222},Cepsa:{count:305},Ceypetco:{count:70},Chevron:{count:1781},"Circle K":{count:730},Citgo:{count:692},Clark:{count:56},"Co-op":{count:52},"Coles Express":{count:305},Conoco:{count:398},Coop:{count:71},Copec:{count:566},Copetrol:{count:119},Cosmo:{count:68},"Costco Gasoline":{count:203},"Couche-Tard":{count:54},Crodux:{count:51},"Cumberland Farms":{count:93},Delta:{count:157},"Diamond Shamrock":{count:51},"Drummed Fuel":{count:178},"E. Leclerc":{count:136},EKO:{count:224},ENEOS:{count:1600},ENI:{count:92},ERG:{count:71},Elan:{count:208},Eneos:{count:130},Engen:{count:383},Eni:{count:681},Erg:{count:469},Esso:{count:4742},"Esso Express":{count:176},EuroOil:{count:52},Exxon:{count:1064},F24:{count:67},Firezone:{count:66},"Flying V":{count:175},GALP:{count:788},Gazprom:{count:68},GetGo:{count:54},Goil:{count:78},Gulf:{count:416},"H-E-B Fuel":{count:51},"H-E-B Gas":{count:155},HEM:{count:276},HP:{count:163},"HP Petrol Pump":{count:53},Helios:{count:63},Hess:{count:195},"Hindustan Petroleum":{count:82},Holiday:{count:156},Husky:{count:244},IES:{count:57},IP:{count:993},"Independent Fuel Station":{count:52},"Indian Oil":{count:416},"Indipend.":{count:129},Ingo:{count:62},"Intermarché":{count:556},"Intermarché Super":{count:102},Ipiranga:{count:173},Irving:{count:194},"JA-SS":{count:74},JOMO:{count:51},Jet:{count:707},Jetti:{count:61},Kangaroo:{count:115},Kobil:{count:87},Kroger:{count:59},"Kroger Fuel":{count:68},"Kum & Go":{count:136},"Kwik Trip":{count:210},LPG:{count:349},"LPG Station":{count:51},LUKOIL:{count:61},Liberty:{count:93},Lotos:{count:284},"Lotos Optima":{count:71},"Love's":{count:52},Lukoil:{count:908},MEROIL:{count:70},MOL:{count:436},MRS:{count:65},Marathon:{count:694},Maverik:{count:66},Maxol:{count:57},Metano:{count:248},Migrol:{count:71},Minipump:{count:140},Mobil:{count:1387},Mobile:{count:62},Mol:{count:64},Morrisons:{count:128},Moya:{count:62},"Murphy USA":{count:190},NP:{count:63},Neste:{count:166},"OIL!":{count:110},OK:{count:269},OKQ8:{count:218},OMV:{count:936},Oilibya:{count:127,tags:{brand:"Oilibya","name:ar":"أويليبيا"}},Opet:{count:117},Orlen:{count:1185},PETRONOR:{count:182},PSO:{count:121},"PSO Petrol Pump":{count:56},PT:{count:306},PTT:{count:423},"PV Oil":{count:100},"Pacific Pride":{count:54},Pecsa:{count:130},Pemex:{count:2023},Pertamina:{count:324},Petro:{count:54},"Petro-Canada":{count:893},Petrochina:{count:116},Petroecuador:{count:64},"Petrol Ofisi":{count:237},Petrolimex:{count:325},Petrom:{count:381},Petron:{count:1485},Petronas:{count:387},Petroperu:{count:110},"Phillips 66":{count:424},Phoenix:{count:210},Pilot:{count:69},Pioneer:{count:104},Posto:{count:52},"Posto Atem":{count:68},"Posto Ipiranga":{count:177},"Posto Shell":{count:104},Primax:{count:288},Prio:{count:52},Puma:{count:442},Q1:{count:53},Q8:{count:1467},"Q8 Easy":{count:66},QuikTrip:{count:251},REPSOL:{count:1380},RaceTrac:{count:80},Raiffeisenbank:{count:130},Repsol:{count:1099},Rompetrol:{count:234},"Royal Farms":{count:79},Rubis:{count:108},"SB Tank":{count:62},SPBU:{count:203},Safeway:{count:74},"Sainsbury's":{count:75},"Sam's Club":{count:57},Sasol:{count:90},"Sea Oil":{count:142},Sheetz:{count:304},Shell:{count:12317},"Shell Express":{count:135},Sinclair:{count:201},Sinopec:{count:106},"Sinopec Fuel":{count:116},Slovnaft:{count:259},Socar:{count:86},Sokimex:{count:85},Speedway:{count:556},St1:{count:141},Star:{count:419},"Star Oil":{count:100},"Station Service E. Leclerc":{count:423},Statoil:{count:495},"Stewart's":{count:72},Sunoco:{count:853},"Super U":{count:174},Tamoil:{count:959},Tango:{count:146},Teboil:{count:100},Tela:{count:191},Terpel:{count:367},Tesco:{count:218},Texaco:{count:1167},Tinq:{count:219},Topaz:{count:111},Total:{count:3591},"Total Access":{count:226},"Total Erg":{count:59},TotalErg:{count:267},"Turkey Hill":{count:80},"Turmöl":{count:80},Ultramar:{count:372},United:{count:197},Uno:{count:134},"Uno-X":{count:69},Valero:{count:778},Vito:{count:91},WOG:{count:350},Wawa:{count:173},Westfalen:{count:94},"Woolworths Petrol":{count:187},Z:{count:98},bft:{count:202},eni:{count:71},"ΕΚΟ":{count:58},"АГЗС":{count:1020},"АЗС":{count:86},"Авіас":{count:116},"БРСМ-Нафта":{count:64},"Башнефть":{count:272},"Белоруснефть":{count:71},"Газовая заправка":{count:57},"Газпромнефть":{count:1242},"Гелиос":{count:61},"ЕКА":{count:78},"Заправка":{count:63},"КазМунайГаз":{count:150},"Лукойл":{count:2327},"Макпетрол":{count:108},"НК Альянс":{count:105},"Нефтьмагистраль":{count:66},"ОККО":{count:316},"ОМВ":{count:55},"Октан":{count:53},"ПТК":{count:104},"Петрол":{count:124},"Пропан":{count:83},"Роснефть":{count:957},"Сибнефть":{count:51},"Сургутнефтегаз":{count:95},"ТНК":{count:588},"Татнефтепродукт":{count:58},"Татнефть":{count:331},"Укрнафта":{count:228},"דור אלון":{count:126},"דלק":{count:160},"סונול":{count:159},"פז":{count:209},"محطة وقود":{count:221},"محطه وقود":{count:98},"پمپ بنزین":{count:559},"پمپ گاز":{count:152},"บางจาก":{count:214},"ป.ต.ท.":{count:414},"เชลล์":{count:90},"เอสโซ่":{count:82},"エッソ":{count:70},"エネオス":{count:301},"コスモ石油":{count:415},"ゼネラル":{count:75},"中国石化":{count:104},"中国石化 Sinopec":{count:61},"中国石油":{count:82},"中油":{count:64},"出光":{count:620,tags:{"name:en":"Idemitsu"}},"加油站":{count:60},"台灣中油":{count:257},"昭和シェル":{count:274}},hospital:{"Cruz Roja":{count:93},IMSS:{count:64},"Инфекционное отделение":{count:91},"Кожно-венерологический диспансер":{count:57},"Районная больница":{count:88},"Роддом":{count:133},"Родильный дом":{count:75},"Скорая помощь":{count:75},"ФАП":{count:108},"ЦРБ":{count:122},"Центральная районная больница":{count:144},"โรงพยาบาลส่งเสริมสุขภาพตำบล":{count:69}},ice_cream:{"Baskin-Robbins":{count:69,tags:{amenity:"ice_cream"}},"Cold Stone Creamery":{count:66},Grido:{count:163}},kindergarten:{"Amado Nervo":{count:64},Anganwadi:{count:85},"Arche Noah":{count:67},"Benito Juarez":{count:89},"CONAFE Preescolar":{count:90},Cuauhtemoc:{count:54},"Cursos Comunitarios":{count:74},"Educacion Inicial de CONAFE No Escolarizado":{count:184},"Emiliano Zapata":{count:60},"Estefania Casta�eda":{count:53},"Evangelischer Kindergarten":{count:320},"Federico Froebel":{count:88},"Gabriela Mistral":{count:129},"Jean Piaget":{count:82},"Jose Vasconcelos":{count:71},"Juan Escutia":{count:82},"Katholischer Kindergarten":{count:99},"Kindergarten Regenbogen":{count:62},"Kindergarten St. Josef":{count:55},"Kindergarten St. Martin":{count:55},"Maria Montessori":{count:93},"Miguel Hidalgo Y Costilla":{count:57},"Ni�os Heroes":{count:68},PAUD:{count:82},Pusteblume:{count:54},"Rosaura Zapata":{count:68},"Sor Juana Ines De La Cruz":{count:76},Spatzennest:{count:54},"Städtischer Kindergarten":{count:103},"Villa Kunterbunt":{count:88},Waldkindergarten:{count:111},Waldorfkindergarten:{count:71},"Óvoda":{count:72},"Детсад":{count:65},"Детский сад \"Солнышко\"":{count:83},"Детский сад № 1":{count:54},"Детский сад №1":{count:150},"Детский сад №10":{count:77},"Детский сад №11":{count:81},"Детский сад №12":{count:57},"Детский сад №13":{count:57},"Детский сад №14":{count:76},"Детский сад №15":{count:72},"Детский сад №16":{count:58},"Детский сад №17":{count:67},"Детский сад №18":{count:77},"Детский сад №19":{count:62},"Детский сад №2":{count:155},"Детский сад №22":{count:60},"Детский сад №24":{count:53},"Детский сад №25":{count:56},"Детский сад №27":{count:54},"Детский сад №29":{count:57},"Детский сад №3":{count:129},"Детский сад №33":{count:55},"Детский сад №4":{count:86},"Детский сад №5":{count:106},"Детский сад №6":{count:93},"Детский сад №7":{count:98},"Детский сад №8":{count:80},"Детский сад №9":{count:80},"Дитячий садок":{count:58},"Сказка":{count:52},"Солнышко":{count:99},"Теремок":{count:59},"საბავშვო ბაღი":{count:69},"中央保育所":{count:56}},library:{"Biblioteca Comunale":{count:212},"Biblioteca comunale":{count:187},"Biblioteka Publiczna":{count:78},"Bibliothèque Municipale":{count:299},"Bibliothèque municipale":{count:247},"Bücherei":{count:113},"Central Library":{count:65},"Gemeindebücherei":{count:150},"Gminna Biblioteka Publiczna":{count:71},"Miejska Biblioteka Publiczna":{count:66},"Médiathèque":{count:287},"Městská knihovna":{count:60},"Public Library":{count:91},Stadtbibliothek:{count:232},"Stadtbücherei":{count:289},"Городская библиотека":{count:69},"Детская библиотека":{count:260},"Центральная библиотека":{count:83},"Центральная городская библиотека":{count:61},"图书馆":{count:65}},pharmacy:{"36.6":{count:57},"Adler-Apotheke":{count:375},"Alte Apotheke":{count:99},"Apollo Pharmacy":{count:87},Apotek:{count:62},"Apotek Hjärtat":{count:51},"Apotheke am Markt":{count:83},"Bahnhof Apotheke":{count:51},"Bahnhof-Apotheke":{count:90},"Bartell Drugs":{count:53},Benavides:{count:83},Benu:{count:61},Boots:{count:1348},Botica:{count:118},"Brunnen-Apotheke":{count:77},"Burg-Apotheke":{count:76},"Bären-Apotheke":{count:111},CVS:{count:3228},Camelia:{count:54},Catena:{count:112},"Chemist Warehouse":{count:82},Clicks:{count:123},"Cruz Azul":{count:97},"Cruz Verde":{count:223},"Dbam o Zdrowie":{count:68},"Dr. Max":{count:324},"Droga Raia":{count:152},"Drogaria São Paulo":{count:87},Drogasil:{count:157},"Duane Reade":{count:91},Eczane:{count:88},"Engel-Apotheke":{count:143},"Eurovaistinė":{count:89},Familiprix:{count:70},Farmacenter:{count:65},"Farmacia Centrale":{count:61},"Farmacia Comunale":{count:196},"Farmacia Guadalajara":{count:146},"Farmacia del Ahorro":{count:65},"Farmacias Ahumada":{count:182},"Farmacias Cruz Azul":{count:134},"Farmacias Cruz Verde":{count:162},"Farmacias Económicas":{count:63},"Farmacias Guadalajara":{count:107},"Farmacias SalcoBrand":{count:140},"Farmacias Sana Sana":{count:111},"Farmacias Similares":{count:137},"Farmacias del Ahorro":{count:187},Farmacity:{count:191},Farmahorro:{count:53},Farmatodo:{count:165},Felicia:{count:56},Fybeca:{count:52},"Generika Drugstore":{count:52},"Gintarinė vaistinė":{count:121},Guardian:{count:71},"Gyógyszertár":{count:59},"H-E-B Pharmacy":{count:239},"Hirsch-Apotheke":{count:180},"Hubertus Apotheke":{count:120},Inkafarma:{count:234},"Jean Coutu":{count:132},"Kinney Drugs":{count:74},"Kur-Apotheke":{count:52},"Linden-Apotheke":{count:224},Ljekarna:{count:77},"Lloyds Pharmacy":{count:539},"Lékárna":{count:52},"Löwen-Apotheke":{count:397},"Marien-Apotheke":{count:370},"Markt-Apotheke":{count:207},"Mercury Drug":{count:584},Mifarma:{count:195},"Mēness aptieka":{count:64},"Neue Apotheke":{count:129},"Pague Menos":{count:74},Panvel:{count:77},"Park-Apotheke":{count:54},"Pharmacie Centrale":{count:218},"Pharmacie Principale":{count:62},"Pharmacie de l'Hôtel de Ville":{count:52},"Pharmacie de la Gare":{count:114},"Pharmacie de la Mairie":{count:71},"Pharmacie de la Poste":{count:68},"Pharmacie du Centre":{count:154},"Pharmacie du Marché":{count:110},"Pharmacie du Parc":{count:60},Pharmaprix:{count:99},Pharmasave:{count:129},"Punkt Apteczny":{count:53},"Rathaus-Apotheke":{count:181},"Rats-Apotheke":{count:126},Rexall:{count:109},"Rite Aid":{count:1481},"Rose Pharmacy":{count:99},"Rosen-Apotheke":{count:205},"Rowlands Pharmacy":{count:127},SalcoBrand:{count:112},"Sana Sana":{count:95},"Schloss-Apotheke":{count:62},Sensiblu:{count:115},"Shoppers Drug Mart":{count:713},"Sonnen-Apotheke":{count:372},"South Star Drug":{count:69},"Stadt-Apotheke":{count:397},"Stern-Apotheke":{count:83},Superdrug:{count:177},"São João":{count:54},"The Generics Pharmacy":{count:211},Uniprix:{count:63},Walgreens:{count:3314},"Walgreens Pharmacy":{count:76},"Walmart Pharmacy":{count:99},Watsons:{count:110},"Well Pharmacy":{count:61},"centro naturista":{count:123},"А5":{count:94},"Айболит":{count:88},"Аптека 36,6":{count:285},"Аптека низких цен":{count:65},"Аптека низьких цін":{count:88},"Аптека от склада":{count:83},"Аптека №1":{count:92},"Аптечный пункт":{count:285},"Арніка":{count:124},"Бережная аптека":{count:67},"Будь здоров":{count:63},"Вита":{count:140},"Горздрав":{count:395},"Живика":{count:105},"Здоровье":{count:87},"Имплозия":{count:84},"Классика":{count:102},"Ладушка":{count:53},"Мед-сервіс":{count:59},"Мелодия здоровья":{count:60},"Невис":{count:151},"Норма":{count:89},"Озерки":{count:54},"Панацея":{count:68},"Первая помощь":{count:132},"Планета здоровья":{count:140},"Радуга":{count:139},"Ригла":{count:215},"Семейная":{count:52},"Социальная аптека":{count:62},"Столички":{count:83},"Фармакопейка":{count:85},"Фармакор":{count:106},"Фармация":{count:187},"Фармленд":{count:108},"Центральная аптека":{count:57},"סופר-פארם":{count:93},"داروخانه":{count:264},"داروخانه شبانه روزی":{count:54},"صيدلية":{count:148},"くすりの福太郎":{count:51},"さくら薬局":{count:52},"ウエルシア":{count:84},"カワチ薬品":{count:52},"クリエイト":{count:53},"サンドラッグ":{count:130},"スギ薬局":{count:134},"セイジョー":{count:58},"ツルハドラッグ":{count:185},"ドラッグてらしま (Drug Terashima)":{count:58},"マツモトキヨシ":{count:221},"丁丁藥局":{count:75}},pub:{"Black Bull":{count:55},"Commercial Hotel":{count:62},"Cross Keys":{count:64},"Irish Pub":{count:107},"Kings Arms":{count:81},"Kings Head":{count:65},"New Inn":{count:100},"Prince of Wales":{count:89},"Queens Head":{count:55},"Red Lion":{count:201},"Rose & Crown":{count:63},"Rose and Crown":{count:82},"Royal Hotel":{count:64},"Royal Oak":{count:172},"The Albion":{count:51},"The Anchor":{count:68},"The Angel":{count:55},"The Beehive":{count:52},"The Bell":{count:128},"The Bell Inn":{count:58},"The Black Horse":{count:100},"The Bull":{count:82},"The Castle":{count:63},"The Chequers":{count:74},"The Cricketers":{count:56},"The Cross Keys":{count:58},"The Crown":{count:252},"The Crown Inn":{count:88},"The Fox":{count:76},"The George":{count:119},"The Green Man":{count:59},"The Greyhound":{count:99},"The Kings Arms":{count:65},"The Kings Head":{count:68},"The New Inn":{count:126},"The Plough":{count:182},"The Plough Inn":{count:57},"The Queens Head":{count:61},"The Railway":{count:112},"The Red Lion":{count:271},"The Rising Sun":{count:74},"The Royal Oak":{count:223},"The Ship":{count:92},"The Ship Inn":{count:98},"The Star":{count:72},"The Star Inn":{count:53},"The Sun Inn":{count:51},"The Swan":{count:155},"The Swan Inn":{count:59},"The Victoria":{count:72},"The Wheatsheaf":{count:126},"The White Hart":{count:247},"The White Horse":{count:234},"The White Lion":{count:75},"The White Swan":{count:55},"魚民":{count:119},"鳥貴族":{count:57}},restaurant:{Adler:{count:228},Adria:{count:60},"Adyar Ananda Bhavan":{count:60},Akropolis:{count:212},"Ali Baba":{count:59},"Alte Post":{count:68},"Applebee's":{count:977},Asia:{count:78},Athen:{count:75},Athos:{count:61},Autogrill:{count:60},Bahnhof:{count:56},"Bella Italia":{count:194},"Bella Napoli":{count:88},"Big Boy":{count:58},Bistro:{count:64},"Bob Evans":{count:269},"Bonefish Grill":{count:73},"Boston Market":{count:91},"Boston Pizza":{count:278},"Buffalo Grill":{count:282},"Buffalo Wild Wings":{count:454},"Bären":{count:75},Cafeteria:{count:65},"California Pizza Kitchen":{count:116},Campanile:{count:55},Canteen:{count:91},Capri:{count:56},"Captain D's":{count:54},"Carluccio's":{count:57},"Carpe Diem":{count:60},"Carrabba's Italian Grill":{count:62},"Casa Mia":{count:64},Casablanca:{count:61},"Cheesecake Factory":{count:52},Chifa:{count:86},"Chili's":{count:698},"China Buffet":{count:54},"China Garden":{count:114},"China House":{count:72},"China Town":{count:117},"China Wok":{count:100},Chiquito:{count:55},"Chuck E. Cheese's":{count:54},"Cici's Pizza":{count:51},"CoCo壱番屋":{count:77},"Cold Stone Creamery":{count:67},Comedor:{count:60},"Comida China":{count:52},Courtepaille:{count:170},"Cracker Barrel":{count:392},"Da Grasso":{count:63},"Da Vinci":{count:88},Delphi:{count:105},"Denny's":{count:850},"Deutsches Haus":{count:93},Dionysos:{count:75},"Dolce Vita":{count:121},Dorfkrug:{count:60},"Dunkin' Donuts":{count:94,tags:{cuisine:"donut"}},"East Side Mario's":{count:53},"El Greco":{count:112},"El Paso":{count:60},"El Rancho":{count:82},Europa:{count:61},"Famous Dave's":{count:62},"Firehouse Subs":{count:85},"Five Guys":{count:91},Flunch:{count:179},"Frankie & Benny's":{count:151},"Friendly's":{count:113},"Gasthaus Krone":{count:93},"Gasthaus zur Linde":{count:59},"Gasthof zur Post":{count:109},"Golden Corral":{count:209},"Golden Dragon":{count:62},"Great Wall":{count:54},"Grüner Baum":{count:122},Gusto:{count:74},"Hard Rock Cafe":{count:96},"Hardee's":{count:56,tags:{cuisine:"burger"}},Harvester:{count:75},Hellas:{count:66},Hippopotamus:{count:115},Hirsch:{count:83},Hirschen:{count:86},"Hong Kong":{count:126},Hooters:{count:190},IHOP:{count:758},"IL Патио":{count:51},"Jason's Deli":{count:73},"Jimmy John's":{count:150,tags:{cuisine:"sandwich"}},"Joe's Crab Shack":{count:70},"Jägerhof":{count:54},Kantine:{count:104},"Kelsey's":{count:66},Kirchenwirt:{count:94},Kreta:{count:70},Kreuz:{count:85},Krone:{count:179},Kudu:{count:172},"L'Escale":{count:66},"L'Osteria":{count:80},"La Bodega":{count:55},"La Boucherie":{count:80},"La Cantina":{count:105},"La Casa":{count:66},"La Casona":{count:62},"La Dolce Vita":{count:129},"La Fontana":{count:62},"La Gondola":{count:60},"La Hacienda":{count:54},"La Pataterie":{count:116},"La Pergola":{count:87},"La Perla":{count:85},"La Piazza":{count:123},"La Piazzetta":{count:77},"La Place":{count:55},"La Scala":{count:62},"La Strada":{count:74},"La Tagliatella":{count:69},"La Tasca":{count:56},"La Taverna":{count:58},"La Terrasse":{count:82},"La Terraza":{count:56},"La Terrazza":{count:57},"La Trattoria":{count:91},Lamm:{count:69},Linde:{count:114},Lindenhof:{count:95},"Little Caesars":{count:80},"Little Chef":{count:62},"Little Italy":{count:90},"Logan's Roadhouse":{count:89},"LongHorn Steakhouse":{count:183},Lotus:{count:87},"Léon de Bruxelles":{count:63},"Löwen":{count:141},"MK Restaurants":{count:65},Maharaja:{count:52},"Mamma Mia":{count:130},Mandarin:{count:90},"Mang Inasal":{count:128},"Marco Polo":{count:62},"Marco's Pizza":{count:53},"McAlister's Deli":{count:51},Mediterraneo:{count:55},"Mellow Mushroom":{count:73},Mensa:{count:148},Milano:{count:77},"Mimi's Cafe":{count:52},"Moe's Southwest Grill":{count:79},Mykonos:{count:89},Mythos:{count:61},"Nando's":{count:412},"Noodles & Company":{count:106},"O'Charley's":{count:61},Oasis:{count:73},"Ocean Basket":{count:71},Ochsen:{count:94},"Old Chicago":{count:54},"Olive Garden":{count:504},Olympia:{count:86},Osaka:{count:52},"Outback Steakhouse":{count:399},"P.F. Chang's":{count:53},"Pancake House":{count:79},Panda:{count:52},"Panera Bread":{count:582},Panorama:{count:102},"Papa Murphy's":{count:66},Parrilla:{count:62},Peking:{count:68},Perkins:{count:157},Pinocchio:{count:63},"Pizza Express":{count:417},"Pizza Factory":{count:59},"Pizza House":{count:56},"Pizza Hut":{count:2688,tags:{cuisine:"pizza"}},"Pizza Ranch":{count:77},"Pizzeria Italia":{count:65},"Pizzeria Milano":{count:51},"Pizzeria Napoli":{count:53},"Pizzeria Roma":{count:86},"Pizzeria Venezia":{count:54},"Poivre Rouge":{count:56},"Pollo Campero":{count:53},Pomodoro:{count:62},Portofino:{count:67},Poseidon:{count:145},Prezzo:{count:147},Qdoba:{count:81},"Qdoba Mexican Grill":{count:54},Ratskeller:{count:161},"Red Lobster":{count:419},"Red Robin":{count:312},"Restaurante Universitário":{count:53},Rhodos:{count:94},"Ristorante Del Arte":{count:160},Roma:{count:85},Rose:{count:51},"Round Table Pizza":{count:100},"Ruby Tuesday":{count:303},"Rössle":{count:54},"Rössli":{count:93},Saigon:{count:51},Sakura:{count:139},"San Marco":{count:88},Santorini:{count:59},"Schwarzer Adler":{count:65},"Schützenhaus":{count:151},"Shakey's":{count:64},Shalimar:{count:53},Shanghai:{count:96},"Shari's":{count:75},"Shoney's":{count:55},Sizzler:{count:90},Sonic:{count:80,tags:{cuisine:"burger"}},Sonne:{count:121},Sphinx:{count:66},Sportheim:{count:113},Spur:{count:70},Starbucks:{count:54,tags:{cuisine:"coffee_shop"}},"Steak 'n Shake":{count:86,tags:{cuisine:"burger"}},Sternen:{count:85},Subway:{count:1108},"Sunset Grill":{count:55},Sushi:{count:88},"Sushi Bar":{count:68},"Swiss Chalet":{count:162},Syrtaki:{count:65},"TGI Friday's":{count:364},"Taj Mahal":{count:183},"Taste of India":{count:68},Taverna:{count:69},Telepizza:{count:109},"Texas Roadhouse":{count:232},"The Cheesecake Factory":{count:52},"Tim Hortons":{count:61},"Toby Carvery":{count:51},"Tony Roma's":{count:63},Toscana:{count:76},Trattoria:{count:70},Traube:{count:68},Vapiano:{count:136},Venezia:{count:68},"Village Inn":{count:149},Vips:{count:109},"Waffle House":{count:521},Wagamama:{count:111},"Waldschänke":{count:52},Warung:{count:73},Wasabi:{count:70},Wimpy:{count:66},"Zaxby's":{count:60},Zizzi:{count:102},Zorbas:{count:62},"Zum Hirschen":{count:52},"Zum Löwen":{count:80},"Zur Krone":{count:96},"Zur Linde":{count:228},"Zur Post":{count:125},"Zur Sonne":{count:77},"Евразия":{count:93},"Ресторан":{count:60},"Тануки":{count:62},"Якитория":{count:84},"رستوران":{count:72},"مطعم":{count:52},"すき家":{count:61,tags:{"name:en":"Sukiya"}},"はま寿司":{count:67},"びっくりドンキー":{count:120},"やよい軒":{count:71},"ガスト":{count:512,tags:{"name:en":"Gusto"}},"ココス":{count:142},"サイゼリア":{count:54},"サイゼリヤ":{count:285},"ジョイフル":{count:83},"ジョナサン":{count:139},"ジョリーパスタ":{count:75},"デニーズ":{count:199},"バーミヤン":{count:130},"ロイヤルホスト":{count:108},"丸亀製麺":{count:98},"八方雲集":{count:145},"吉野家":{count:61},"夢庵":{count:67},"大戸屋":{count:68},"大阪王将":{count:68},"天下一品":{count:70},"安楽亭":{count:60},"牛角":{count:107},"食堂":{count:63},"餃子の王将":{count:212},"바다횟집 (Bada Fish Restaurant)":{count:52}},school:{"Adolfo Lopez Mateos":{count:137},"Agustin Ya�ez":{count:57},"Albert-Schweitzer-Schule":{count:81},"Amado Nervo":{count:85},"Astrid-Lindgren-Schule":{count:77},"Benito Juarez":{count:294},"Brown School":{count:54},CEM:{count:215},"Center School":{count:115},"Central Elementary School":{count:179},"Central High School":{count:130},"Central School":{count:215},"Colegio San José":{count:74},"Collège Jean Moulin":{count:68},"Collège privé Saint-Joseph":{count:60},Cuauhtemoc:{count:152},"Curso Comunitario":{count:57},"Cursos Comunitarios":{count:116},EPP:{count:112},"Emiliano Zapata":{count:286},"Fairview Elementary School":{count:64},"Fairview School":{count:164},"Francisco I Madero":{count:86},"Francisco I. Madero":{count:52},"Francisco Villa":{count:116},"Franklin Elementary School":{count:96},"Franklin School":{count:126},"Garfield Elementary School":{count:69},"Garfield School":{count:58},"Gimnazjum nr 1":{count:59},"Government School":{count:60},"Gregorio Torres Quintero":{count:53},"Groupe Scolaire":{count:57},"Guadalupe Victoria":{count:58},"Highland School":{count:71},"Hillcrest Elementary School":{count:63},"Holy Cross School":{count:68},"Holy Family School":{count:77},"Holy Trinity School":{count:59},"Ignacio Allende":{count:51},"Ignacio Zaragoza":{count:98},"Immaculate Conception School":{count:83},"Jackson Elementary School":{count:53},"Jackson School":{count:56},"Jefferson Elementary School":{count:177},"Jefferson School":{count:108},"Jose Clemente Orozco":{count:59},"Jose Ma Morelos Y Pavon":{count:120},"Jose Vasconcelos":{count:73},"Josefa Ortiz De Dominguez":{count:78},"Juan Escutia":{count:121},"Justo Sierra":{count:118},Kumon:{count:66},"Lazaro Cardenas":{count:68},"Lazaro Cardenas Del Rio":{count:153},"Leona Vicario":{count:64},"Liberty Elementary School":{count:56},"Liberty School":{count:84},"Lincoln Elementary School":{count:264},"Lincoln School":{count:269},"Longfellow Elementary School":{count:55},"Longfellow School":{count:53},"Madison Elementary School":{count:55},"Manuel Lopez Cotilla":{count:107},"Maple Grove School":{count:51},"McKinley Elementary School":{count:62},"McKinley School":{count:63},"Miguel Hidalgo":{count:86},"Miguel Hidalgo Y Costilla":{count:213},"Miller School":{count:66},"Mount Pleasant School":{count:61},"Mount Zion School":{count:53},"Mountain View Elementary School":{count:52},"New Hope School":{count:51},"Nicolas Bravo":{count:58},"Ni�os Heroes":{count:155},"Nombre En Tramite":{count:126},"North Elementary School":{count:57},"Oak Grove School":{count:148},"Pedro Moreno":{count:69},Pestalozzischule:{count:84},"Pine Grove School":{count:63},"Pleasant Hill School":{count:110},"Pleasant Valley School":{count:85},"Pleasant View School":{count:61},"Primaria Comunitaria":{count:59},"Ramon Corona":{count:54},"Ricardo Flores Magon":{count:91},"Riverside School":{count:76},"Roosevelt Elementary School":{count:112},"Roosevelt School":{count:114},SD:{count:76},SDN:{count:290},"Sacred Heart School":{count:206},"Saint Francis School":{count:56},"Saint James School":{count:83},"Saint Johns School":{count:173},"Saint Joseph School":{count:147},"Saint Josephs School":{count:157},"Saint Kizito Primary School":{count:61},"Saint Mary School":{count:54},"Saint Marys School":{count:256},"Saint Patricks School":{count:80},"Saint Paul School":{count:53},"Saint Pauls School":{count:74},"Saint Peters School":{count:81},Schillerschule:{count:61},"School Number 1":{count:233},"School Number 2":{count:206},"School Number 3":{count:184},"School Number 4":{count:126},"Smith School":{count:60},"Sor Juana Ines De La Cruz":{count:56},"South Elementary School":{count:53},"Sunnyside School":{count:60},"Szkoła Podstawowa nr 1":{count:78},"Szkoła Podstawowa nr 2":{count:75},"Szkoła Podstawowa nr 3":{count:60},"Trinity School":{count:85},"UNIDAD EDUCATIVA":{count:106},"Union School":{count:128},"Valentin Gomez Farias":{count:71},"Venustiano Carranza":{count:64},"Vicente Guerrero":{count:159},Volkshochschule:{count:105},Volksschule:{count:366},"Washington Elementary School":{count:192},"Washington School":{count:213},"West Elementary School":{count:58},"White School":{count:51},"Wilson Elementary School":{count:66},"Wilson School":{count:80},"Általános iskola":{count:105},"École Jules Ferry":{count:51},"École Notre-Dame":{count:61},"École Saint-Joseph":{count:96},"École primaire Jean Jaurès":{count:71},"École primaire Jules Ferry":{count:82},"École primaire privée Notre-Dame":{count:69},"École primaire privée Saint-Joseph":{count:132},"École primaire privée Sainte-Marie":{count:63},"École élémentaire Jules Ferry":{count:52},"Școala Generală":{count:51},"Școală":{count:53},"Вечерняя школа":{count:53},"Гимназия №1":{count:96},"ДЮСШ":{count:63},"Средняя школа №1":{count:80},"Средняя школа №2":{count:86},"Средняя школа №3":{count:58},"Школа № 1":{count:130},"Школа № 2":{count:117},"Школа № 3":{count:80},"Школа № 4":{count:77},"Школа № 5":{count:55},"Школа №1":{count:576},"Школа №10":{count:167},"Школа №11":{count:148},"Школа №12":{count:136},"Школа №13":{count:129},"Школа №14":{count:123},"Школа №15":{count:129},"Школа №16":{count:99},"Школа №17":{count:117},"Школа №18":{count:111},"Школа №19":{count:98},"Школа №2":{count:509},"Школа №20":{count:100},"Школа №21":{count:72},"Школа №22":{count:72},"Школа №23":{count:75},"Школа №24":{count:78},"Школа №25":{count:57},"Школа №26":{count:64},"Школа №27":{count:58},"Школа №28":{count:53},"Школа №3":{count:393},"Школа №31":{count:55},"Школа №35":{count:54},"Школа №4":{count:281},"Школа №5":{count:275},"Школа №6":{count:217},"Школа №7":{count:215},"Школа №8":{count:188},"Школа №9":{count:183},"مدرسة":{count:92},"مدرسه":{count:500},"市立南中学校":{count:53},"市立南小学校":{count:56},"市立東中学校":{count:54}},social_facility:{"Safe Haven":{count:92},"Детский дом":{count:70},"Социальный участковый":{count:195}},theatre:{Amfiteatr:{count:97},Amphitheater:{count:110},Amphitheatre:{count:109},"Freilichtbühne":{count:78},"Teatro Comunale":{count:56}}}; + var leisure = {fitness_centre:{"Anytime Fitness":{count:143},"Gold's Gym":{count:61},"LA Fitness":{count:126},"Planet Fitness":{count:106},"Snap Fitness":{count:67}},playground:{"Çocuk Parkı":{count:60},"놀이터":{count:292}},sports_centre:{"Anytime Fitness":{count:152},"Complejo Municipal de Deportes":{count:88},"Complexe Sportif":{count:51},Curves:{count:91},"Fitness First":{count:70},"Gold's Gym":{count:82},"Kieser Training":{count:90},"LA Fitness":{count:72},"Life Time Fitness":{count:76},McFit:{count:60},"Mrs. Sporty":{count:76},Orlik:{count:82},"Pabellón Municipal de Deportes":{count:109},"Palestra Comunale":{count:81},"Planet Fitness":{count:106},"Salle Omnisport":{count:57},"Schützenhaus":{count:79},"Snap Fitness":{count:51},"Virgin Active":{count:69},YMCA:{count:174},"ДЮСШ":{count:82},"Ледовый дворец":{count:54},"体育館":{count:80}},swimming_pool:{Schwimmerbecken:{count:57},"Yüzme Havuzu":{count:51},"プール":{count:56},"游泳池":{count:55}}}; + var man_made = {windmill:{"De Hoop":{count:57}}}; + var shop = {alcohol:{Alko:{count:170},"BC Liquor Store":{count:66},BWS:{count:157},"Bargain Booze":{count:140},"Beer Store":{count:66},Botilleria:{count:121},"Dan Murphy's":{count:61},"Gall & Gall":{count:511},LCBO:{count:430},"Liquor Depot":{count:53},"Liquor Store":{count:72},Liquorland:{count:112},Mitra:{count:60},Nicolas:{count:253},SAQ:{count:169},Systembolaget:{count:271},"The Beer Store":{count:231},Vinmonopolet:{count:66},"Алкомаркет":{count:67},"Ароматный мир":{count:196},"Бристоль":{count:329},"Градус":{count:52},"Живое пиво":{count:182},"Красное & Белое":{count:989},"Кристалл":{count:56},"Норман":{count:146},"Отдохни":{count:75},"Пиво":{count:73},"Разливное пиво":{count:143}},baby_goods:{Aubert:{count:56},"Babies R Us":{count:80},BabyOne:{count:52},"西松屋":{count:53}},bakery:{AILI:{count:53},Anker:{count:85},Awiteks:{count:53},Backshop:{count:57},Backwerk:{count:161},Baguette:{count:72},"Bakers Delight":{count:75},"Bakker Bart":{count:97},Banette:{count:111},"Bäckerei Fuchs":{count:62},"Bäckerei Grimminger":{count:51},"Bäckerei Müller":{count:68},"Bäckerei Schmidt":{count:103},"Bäckerei Schneider":{count:52},Cooplands:{count:63},"Dat Backhus":{count:81},"Der Beck":{count:114},"Der Mann":{count:53},Ditsch:{count:70},"Dunkin' Donuts":{count:55,tags:{cuisine:"donut"}},Fornetti:{count:113},"Goeken backen":{count:53},Goldilocks:{count:124},Greggs:{count:613},Hofpfisterei:{count:134},Ihle:{count:108},"Julie's Bakeshop":{count:57},"K&U":{count:117},"K&U Bäckerei":{count:54},Kamps:{count:268},"La Mie Câline":{count:56},"Le Crobag":{count:54},"Le Fournil":{count:57},"Lila Bäcker":{count:107},"Lipóti Pékség":{count:54},"Marie Blachère":{count:89},Mlinar:{count:80},Musmanni:{count:81},Oebel:{count:65},Paul:{count:186},"Red Ribbon":{count:72},"Schäfer's":{count:146},Sehne:{count:91},"Stadtbäckerei":{count:60},Steinecke:{count:268},"Sternenbäck":{count:89},"Ströck":{count:62},"Wiener Feinbäcker":{count:55},"von Allwörden":{count:65},"Булочная":{count:71},"Горячий хлеб":{count:54},"Каравай":{count:56},"Кулиничи":{count:121},"Кулиничі":{count:59},"Свежий хлеб":{count:68},"Хлеб":{count:177},"مخبز":{count:72},"مخبزة":{count:55},"نان لواش":{count:54},"نانوایی":{count:665},"نانوایی بربری":{count:140},"نانوایی سنگک":{count:68},"نانوایی سنگکی":{count:52},"نانوایی لواش":{count:63}},beauty:{Marionnaud:{count:54},"Sally Beauty Supply":{count:151},"Yves Rocher":{count:654}},bed:{"Dänisches Bettenlager":{count:157},"Matratzen Concord":{count:361},"Mattress Firm":{count:173},"Sleepy's":{count:52}},beverages:{"50嵐":{count:101},Dursty:{count:77},"Edeka Getränkemarkt":{count:69},Fristo:{count:88},"Getränke Hoffmann":{count:187},"Getränkeland":{count:81},"Getränkemarkt":{count:110},"Orterer Getränkemarkt":{count:64},"Rewe Getränkemarkt":{count:256},Trinkgut:{count:112},"茶湯會":{count:56}},bicycle:{Giant:{count:52},Halfords:{count:158},"Веломарка":{count:51},"サイクルベースあさひ":{count:87}},bookmaker:{Betfred:{count:320},Coral:{count:466},Ladbrokes:{count:629},"Paddy Power":{count:127},"William Hill":{count:634},"ΟΠΑΠ":{count:102}},butcher:{"Boucherie Charcuterie":{count:51},"Carnicería":{count:78},"Fleischerei Richter":{count:51},"Húsbolt":{count:52},Macelleria:{count:84},Vinzenzmurr:{count:55},"Ариант":{count:84},"Великолукский мясокомбинат":{count:173},"Мясная лавка":{count:226},"Мясницкий ряд":{count:64},"Мясной":{count:53},"Мясо":{count:156},"Наша Ряба":{count:60},"Свежее мясо":{count:111}},car:{Audi:{count:191},BMW:{count:216},Chevrolet:{count:259},"Citroën":{count:445},Dacia:{count:56},Fiat:{count:167},Ford:{count:446},Honda:{count:348},Hyundai:{count:421},Isuzu:{count:66},Kia:{count:456},"Land Rover":{count:54},Lexus:{count:76},Mazda:{count:193},"Mercedes-Benz":{count:447},Mitsubishi:{count:176},"Mitsubishi Motors":{count:60},NISSAN:{count:51},Nissan:{count:424},Opel:{count:218},Peugeot:{count:527},Porsche:{count:97},Renault:{count:701},Seat:{count:90},Skoda:{count:143},Subaru:{count:118},Suzuki:{count:178},Toyota:{count:597},Volkswagen:{count:371},Volvo:{count:180}},car_parts:{"Advance Auto Parts":{count:306},AutoZone:{count:759},Brezan:{count:95},Halfords:{count:95},"NAPA Auto Parts":{count:250},"Napa Auto Parts":{count:61},"O'Reilly Auto Parts":{count:374},Repco:{count:77},"Tokić":{count:61},"repuestos automotrices":{count:56},"Автозапчастини":{count:61},"Автомир":{count:53},"イエローハット":{count:80},"オートバックス":{count:91},"タイヤ館":{count:83}},car_repair:{"A.T.U":{count:457},"Advance Auto Parts":{count:290},Borracharia:{count:56},"Bosch Car Service":{count:65},Carglass:{count:234},"Citroën":{count:108},Euromaster:{count:142},"Feu Vert":{count:178},Firestone:{count:224},"Firestone Complete Auto Care":{count:73},Ford:{count:61},"Garage Renault":{count:84},Gomeria:{count:153},"Gomería":{count:107},Goodyear:{count:97},"Grease Monkey":{count:57},Halfords:{count:56},"Jiffy Lube":{count:464},"Kwik Fit":{count:249},Lubricentro:{count:83},Meineke:{count:52},Mekonomen:{count:59},Midas:{count:462},"Mr. Lube":{count:56},"NAPA Auto Parts":{count:82},Norauto:{count:257},"O'Reilly Auto Parts":{count:227},"Pep Boys":{count:79},Peugeot:{count:152},"Pit Stop":{count:84},"Point S":{count:59},Renault:{count:294},Roady:{count:82},"Sears Auto Center":{count:59},Speedy:{count:192},"Stacja Kontroli Pojazdów":{count:70},Taller:{count:63},Toyota:{count:63},Valvoline:{count:52},"Valvoline Instant Oil Change":{count:92},Wulkanizacja:{count:84},"ÖAMTC":{count:52},"Автомастерская":{count:93},"Авторемонт":{count:57},"Автосервис":{count:799},"Автосервис+шиномонтаж":{count:66},"Вулканизация":{count:72},"Замена масла":{count:98},"СТО":{count:1058},"Шиномонтаж":{count:3591},"шиномонтаж":{count:173}},carpet:{"Carpet Right":{count:111},Carpetright:{count:53}},charity:{"Age UK":{count:116},"Barnardo's":{count:56},"British Heart Foundation":{count:189},"Cancer Research UK":{count:129},Goodwill:{count:120},Oxfam:{count:216},"Salvation Army":{count:63},Scope:{count:74},"Sue Ryder":{count:83}},chemist:{"7 Дней":{count:55},Bipa:{count:485},Budnikowsky:{count:114},CVS:{count:58},Etos:{count:486},Kruidvat:{count:1169},Matas:{count:74},"Müller":{count:350},Rossmann:{count:2516},Schlecker:{count:51},Teta:{count:120},Trekpleister:{count:185},Walgreens:{count:142},Watsons:{count:123},dm:{count:1877},"Бытовая химия":{count:73},"Магнит Косметик":{count:233},"Мила":{count:70},"Остров чистоты":{count:110},"Рубль Бум":{count:68},"Улыбка радуги":{count:110},"スギ薬局":{count:51},"丁丁藥局":{count:72},"屈臣氏":{count:134},"康是美":{count:81}},clothes:{AOKI:{count:119},AWG:{count:95},Ackermans:{count:98},Adidas:{count:224},Adler:{count:83},"American Apparel":{count:89},"American Eagle Outfitters":{count:93},Anthropologie:{count:55},Ardene:{count:55},"Armand Thiery":{count:89},"Banana Republic":{count:120},Benetton:{count:190},Bershka:{count:166},Bonita:{count:315},Bonobo:{count:59},"Brooks Brothers":{count:55},Burberry:{count:63},"Burlington Coat Factory":{count:104},Burton:{count:94},"C&A":{count:860},"Cache Cache":{count:59},"Calvin Klein":{count:78},Calzedonia:{count:264},"Camaïeu":{count:167},Caroll:{count:75},"Carter's":{count:64},Cecil:{count:119},Celio:{count:206},"Charles Vögele":{count:133},"Chico's":{count:96},Cropp:{count:68},Cubus:{count:65},Desigual:{count:175},Devred:{count:59},Didi:{count:72},Diesel:{count:77},"Dorothy Perkins":{count:85},"Dress Barn":{count:135},Dressmann:{count:67},"Eddie Bauer":{count:54},Edgars:{count:117},Engbers:{count:64},"Ernsting's family":{count:720},Esprit:{count:404},Etam:{count:121},Express:{count:56},"Fat Face":{count:82},"Forever 21":{count:124},Gant:{count:78},Gap:{count:258},"Gerry Weber":{count:220},"Gina Laura":{count:80},Goodwill:{count:65},Guess:{count:146},Gymboree:{count:60},"Gémo":{count:99},"H&M":{count:1467},Hallhuber:{count:63},House:{count:67},"Hugo Boss":{count:109},Humana:{count:83},"Hunkemöller":{count:224},Intimissimi:{count:173},JBC:{count:54},"Jack & Jones":{count:174},"Jack Wolfskin":{count:68},"Jeans Fritz":{count:110},Jennyfer:{count:81},Jet:{count:68},Jigsaw:{count:51},Jules:{count:120},Justice:{count:81},KappAhl:{count:68},KiK:{count:1862},Kiabi:{count:276},"La Halle":{count:148},Lacoste:{count:193},"Lane Bryant":{count:86},"Levi's":{count:197},Lindex:{count:120},Loft:{count:62},Mango:{count:339},"Marc O'Polo":{count:82},"Mark's":{count:76},"Marks & Spencer":{count:53},Marshalls:{count:218},"Massimo Dutti":{count:109},Matalan:{count:144},Maurices:{count:70},"Max Mara":{count:55},"Men's Wearhouse":{count:128},Mexx:{count:68},"Michael Kors":{count:55},Mim:{count:57},Monsoon:{count:75},"Mr Price":{count:99},NKD:{count:783},"New Look":{count:280},"New Yorker":{count:350},NewYorker:{count:54},Next:{count:313},Nike:{count:122},"Nordstrom Rack":{count:57},OVS:{count:92},"Okaïdi":{count:63},"Old Navy":{count:361},Only:{count:94},Orchestra:{count:117},"Original Marines":{count:60},Orsay:{count:168},Outfit:{count:51},Outlet:{count:63},Palmers:{count:78},Peacocks:{count:178},"Peek & Cloppenburg":{count:69},Pep:{count:139},Pepco:{count:153},"Petit Bateau":{count:67},Pimkie:{count:163},"Plato's Closet":{count:53},Primark:{count:177},Promod:{count:195},"Pull & Bear":{count:63},Puma:{count:65},Reitmans:{count:71},Reserved:{count:150},"River Island":{count:125},Ross:{count:363},Sela:{count:58},"Sergent Major":{count:77},Shoeby:{count:109},Sisley:{count:82},Springfield:{count:83},Stefanel:{count:63},Steps:{count:56},Stradivarius:{count:103},"Street One":{count:153},Superdry:{count:82},"TJ Maxx":{count:200},"TK Maxx":{count:209},Takko:{count:843},Talbots:{count:54},"Tally Weijl":{count:151},Tati:{count:64},Terranova:{count:63},Tesha:{count:76},Tezenis:{count:98},"The Children's Place":{count:71},"The North Face":{count:56},"The Sting":{count:53},Timberland:{count:87},"Toko Pakaian":{count:72},"Tom Tailor":{count:120},"Tommy Hilfiger":{count:206},Topshop:{count:62},Triumph:{count:132},Truworths:{count:72},"Ulla Popken":{count:117},Uniqlo:{count:63},"United Colors of Benetton":{count:210},"Urban Outfitters":{count:130},"Vero Moda":{count:222},"Victoria's Secret":{count:143},"Vögele":{count:191},WE:{count:68},Wibra:{count:99},Winners:{count:112},Woolworths:{count:119},Yamamay:{count:65},Zara:{count:540},Zeeman:{count:379},"mister*lady":{count:59},"s.Oliver":{count:103},"Детская одежда":{count:59},"Женская одежда":{count:65},"Липненски":{count:81},"Московская ярмарка":{count:51},"Одежда":{count:163},"Смешные цены":{count:86},"Спецодежда":{count:85},"しまむら":{count:213},"ユニクロ":{count:201},"ワークマン":{count:65},"洋服の青山":{count:242},"西松屋":{count:113}},coffee:{"Café Amazon":{count:212},Nespresso:{count:74},Starbucks:{count:264,tags:{cuisine:"coffee_shop"}},Tchibo:{count:197}},computer:{"Apple Store":{count:75},DNS:{count:234},"PC World":{count:59},"ДНС":{count:55}},confectionery:{"Fagyizó":{count:58},Hussel:{count:78},Leonidas:{count:84},"T. SN":{count:77},Thorntons:{count:66}},convenience:{"711":{count:64},"777":{count:58},"24 часа":{count:85},"7-Eleven":{count:11418},"8 à Huit":{count:82},"99 Speedmart":{count:85},ABC:{count:716},AMPM:{count:125},"Aibė":{count:112},Alepa:{count:60},Alfamart:{count:427},Alimentara:{count:63},Almacen:{count:405},"Almacén":{count:94},Aral:{count:93},BP:{count:273},"BP Shop":{count:70},Baqala:{count:181},"Best One":{count:57},"Best-One":{count:63},Biedronka:{count:98},Bodega:{count:83},Bonjour:{count:71},CBA:{count:299},COOP:{count:470},"COOP Jednota":{count:381},CU:{count:324},"Carrefour City":{count:91},"Carrefour Express":{count:255},"Casey's General Store":{count:225},"Casino Shop":{count:56},Centra:{count:139},"Central Convenience Store":{count:69},Chevron:{count:110},"Circle K":{count:790},Citgo:{count:73},"Co-Op":{count:54},"Co-op":{count:161},"Coles Express":{count:217},Coop:{count:492},"Coop Jednota":{count:128},"Corner Store":{count:109},Costcutter:{count:435},"Couche-Tard":{count:139},"Cumberland Farms":{count:109},"Daisy Mart":{count:57},Delikatesy:{count:148},"Delikatesy Centrum":{count:182},"Dollar General":{count:646},"Dollar Tree":{count:67},"Dépanneur":{count:53},Esso:{count:143},Express:{count:53},Extra:{count:86},Exxon:{count:51},"Family Dollar":{count:85},FamilyMart:{count:919},"Food Mart":{count:512},"Four Square":{count:99},Franprix:{count:96},Fresh:{count:67},Freshmarket:{count:224},GS25:{count:343},Groszek:{count:254},"Hasty Market":{count:87},Holiday:{count:67},"Hruška":{count:89},Indomaret:{count:483},Jednota:{count:66},Joker:{count:56},"K-Market":{count:104},Kangaroo:{count:54},"Kangaroo Express":{count:51},Kisbolt:{count:94},Konzum:{count:229},"Kum & Go":{count:127},"Kwik Trip":{count:134},Lawson:{count:311},Lewiatan:{count:565},"Lifestyle Express":{count:114},Londis:{count:505},"M&S Simply Food":{count:72},"Mac's":{count:295},Mace:{count:166},Magazin:{count:81},"Magazin Mixt":{count:139},"Magazin Non-Stop":{count:62},"Magazin mixt":{count:57},Marathon:{count:59},Maxikiosco:{count:86},"Małpka Express":{count:71},"McColl's":{count:289},Mercator:{count:122},Migrolino:{count:63},"Mini ABC":{count:77},"Mini Market":{count:1312},"Mini Market Non-Stop":{count:134},"Mini Mart":{count:78},"Mini Stop":{count:466},Minimercado:{count:77},"Mlin i pekare":{count:63},Mobil:{count:82},"Nasz Sklep":{count:92},Nisa:{count:70},"Nisa Local":{count:164},OK:{count:107},"OK-Mart":{count:51},"OK便利商店":{count:96},"OK便利店 Circle K":{count:92},Odido:{count:148},"On The Run":{count:53},"On the Run":{count:111},"One Stop":{count:294},Oxxo:{count:2261},"Parduotuvė":{count:102},"Petit Casino":{count:297},"Plaid Pantry":{count:69},Potraviny:{count:438},Prehrana:{count:88},Premier:{count:321},Proxi:{count:249},"Proxy":{count:53},Pulperia:{count:56},"Pulpería":{count:51},QuikTrip:{count:161},"Rite Aid":{count:72},"Royal Farms":{count:90},"Sainsbury's Local":{count:208},Sale:{count:89},"Sari-sari Store":{count:82},Select:{count:133},Sheetz:{count:137},Shell:{count:479},"Shell Select":{count:71},"Shop & Go":{count:80},Siwa:{count:157},"Sklep spożywczy":{count:151},"Smíšené zboží":{count:57},Spar:{count:1472},Speedway:{count:108},"Społem":{count:199},"Spätkauf":{count:60},Statoil:{count:62},"Stewart's":{count:255},Stores:{count:70},Stripes:{count:63},Studenac:{count:113},Sunkus:{count:51},Sunoco:{count:65},"Słoneczko":{count:61},"TESCO Lotus Express":{count:55},Tchibo:{count:75},Tesco:{count:54},"Tesco Express":{count:661},"Tesco Lotus Express":{count:107},"The Co-operative Food":{count:341},"Tom Market 89":{count:232},Total:{count:172},"United Dairy Farmers":{count:55},Utile:{count:63},Valero:{count:71},Vegyesbolt:{count:391},"Večerka":{count:131},Vival:{count:381},Volg:{count:149},Wawa:{count:279},Weltladen:{count:64},"Woolworths Petrol":{count:97},abc:{count:374},ampm:{count:152},"best-one":{count:52},odido:{count:77},"Élelmiszer":{count:59},"Élelmiszerbolt":{count:65},"Żabka":{count:1656},"Žabka":{count:61},"АТБ":{count:56},"Августина":{count:52},"Авоська":{count:115},"Агрокомплекс":{count:79},"Альянс":{count:51},"Апельсин":{count:72},"Ассорти":{count:118},"Белорусские продукты":{count:58},"Берёзка":{count:193},"Везунчик":{count:66},"Верный":{count:61},"Весна":{count:101},"Ветеран":{count:56},"Визит":{count:99},"Виктория":{count:164},"ВкусВилл":{count:131},"Гастроном":{count:383},"Гермес":{count:68},"Гроздь":{count:52},"Гурман":{count:92},"Дикси":{count:270},"Домашний":{count:77},"Евроопт":{count:152},"Елена":{count:68},"Ермолино":{count:51},"КазМунайГаз":{count:117},"Калинка":{count:61},"Каравай":{count:52},"Квартал":{count:57},"Кировский":{count:86},"Колобок":{count:51},"Колосок":{count:58},"Копеечка":{count:99},"Копейка":{count:65},"Корзинка":{count:54},"Крамниця":{count:64},"Кристалл":{count:57},"Кулинария":{count:134},"Купец":{count:64},"Ласточка":{count:51},"Лидер":{count:60},"Любимый":{count:84},"Люкс":{count:59},"Магазин при АЗС":{count:54},"Магнит":{count:1991},"Магнолия":{count:88},"Мария-Ра":{count:197},"Маяк":{count:76},"Меркурий":{count:77},"Мечта":{count:103},"Минимаркет":{count:424},"Мираж":{count:56},"Монетка":{count:165},"Надежда":{count:115},"Ника":{count:57},"Оазис":{count:57},"Олимп":{count:51},"Перекресток":{count:157},"Подсолнух":{count:69},"Престиж":{count:58},"Продукти":{count:1446},"Продуктовый":{count:307},"Продуктовый магазин":{count:803},"Продукты":{count:8416},"Продукты 24":{count:65},"Пятёрочка":{count:1324},"Радуга":{count:165},"Родны кут":{count:90},"Ромашка":{count:83},"Русь":{count:61},"Светлана":{count:96},"Сказка":{count:62},"Смак":{count:151},"Солнечный":{count:54},"Солнышко":{count:54},"Татьяна":{count:68},"Теремок":{count:105},"Тройка":{count:62},"У Палыча":{count:69},"Универсам":{count:153},"Фортуна":{count:97},"Хороший":{count:55},"Центральный":{count:73},"Чайка":{count:57},"Шанс":{count:60},"Эконом":{count:72},"Юбилейный":{count:56},"Юлия":{count:58},"продукты":{count:157},"მარკეტი":{count:134},"მარკეტი (Market)":{count:71},"サンクス":{count:970,tags:{"name:en":"Sunkus"}},"サークルK":{count:1109,tags:{"name:en":"Circle K"}},"スリーエフ":{count:228},"セイコーマート":{count:449},"セブン-イレブン":{count:7859,tags:{"name:en":"7-Eleven"}},"セブンイレブン(Seven-Eleven)":{count:332},"セーブオン":{count:71},"デイリーヤマザキ":{count:421},"ファミリーマート":{count:4457,tags:{"name:en":"FamilyMart"}},"ポプラ":{count:101},"ミニストップ":{count:773,tags:{"name:en":"MINISTOP"}},"ヤマザキショップ":{count:106},"ローソン":{count:4247,tags:{"name:en":"Lawson"}},"ローソンストア100":{count:272},"全家":{count:482},"全家便利商店":{count:833},"萊爾富":{count:405},"세븐일레븐":{count:157}},copyshop:{"FedEx Office":{count:53},"FedEx Office Print and Ship Center":{count:170}},cosmetics:{Douglas:{count:58},Lush:{count:80},Marionnaud:{count:55},Sephora:{count:184},"The Body Shop":{count:95},"Yves Rocher":{count:111},"Л'Этуаль":{count:111},"Магнит Косметик":{count:116},"Магнит косметик":{count:63},"Магнит-Косметик":{count:55},"Мила":{count:68},"Подружка":{count:51}},craft:{"Hobby Lobby":{count:96},Michaels:{count:222}},deli:{"ほっともっと":{count:58}},department_store:{Argos:{count:90},"Bed Bath & Beyond":{count:72},"Big Lots":{count:142},"Big W":{count:120},"Canadian Tire":{count:176},Coppel:{count:55},Debenhams:{count:118},"Dillard's":{count:86},"Dollar General":{count:62},"Dollar Tree":{count:64},"El Corte Inglés":{count:61},"Family Dollar":{count:76},"Fred Meyer":{count:51},"Galeria Kaufhof":{count:60},HEMA:{count:248},"Harvey Norman":{count:62},JCPenney:{count:365},Karstadt:{count:66},Kmart:{count:390},"Kohl's":{count:371},"Lojas Americanas":{count:63},"Macy's":{count:292},"Marks & Spencer":{count:136},Marshalls:{count:58},Myer:{count:51},Nordstrom:{count:54},"Sam's Club":{count:103},Sears:{count:462},Shopko:{count:65},Target:{count:1104},"The Warehouse":{count:68},Walmart:{count:847},"Walmart Supercenter":{count:234},Woolworth:{count:153},"Магнит":{count:88},"Универмаг":{count:170}},doityourself:{"Ace Hardware":{count:300},"B&Q":{count:229},Bauhaus:{count:223},Biltema:{count:64},Brico:{count:126},"Bricomarché":{count:425},Bricorama:{count:117},"Bunnings Warehouse":{count:210},"Canadian Tire":{count:138},Castorama:{count:168},Easy:{count:53},Gamma:{count:133},"Globus Baumarkt":{count:52},Hagebaumarkt:{count:132},Hellweg:{count:70},"Home Depot":{count:1345},"Home Hardware":{count:172},Homebase:{count:205},Hornbach:{count:134},Hubo:{count:107},Karwei:{count:77},Lagerhaus:{count:116},"Leroy Merlin":{count:285},"Lowe's":{count:1236},Lowes:{count:95},Menards:{count:132},"Mr Bricolage":{count:112},"Mr.Bricolage":{count:139},OBI:{count:501},"Point P":{count:125},Praktiker:{count:54},Praxis:{count:61},Rona:{count:77},Screwfix:{count:80},"Sonderpreis Baumarkt":{count:68},Tekzen:{count:112},"Toom Baumarkt":{count:155},Weldom:{count:110},Wickes:{count:159},"Леруа Мерлен":{count:54},"Мастер":{count:59},"Сантехника":{count:51},"Строитель":{count:67},"Стройматериалы":{count:506},"Хозтовары":{count:137},"カインズホーム":{count:51},"コメリ":{count:137},"コーナン":{count:77}},dry_cleaning:{Cleaners:{count:103},Pressing:{count:58},"Диана":{count:88},"Химчистка":{count:73},"ホワイト急便":{count:136}},electronics:{"Apple Store":{count:63},BCC:{count:54},"Batteries Plus Bulbs":{count:74},Bell:{count:73},"Best Buy":{count:706},Boulanger:{count:71},Currys:{count:109},"Currys PC World":{count:70},DNS:{count:111},Darty:{count:168},Elektra:{count:64},Elgiganten:{count:67},Euronics:{count:247},Expert:{count:224},Hartlauer:{count:64},Interdiscount:{count:57},"La Curacao":{count:69},Maplin:{count:114},"Media Expert":{count:163},"Media Markt":{count:422},Musimundo:{count:53},Neonet:{count:97},"RTV Euro AGD":{count:68},"Radio Shack":{count:485},Rogers:{count:61},Samsung:{count:164},Saturn:{count:155},Sony:{count:51},"The Source":{count:91},Unieuro:{count:66},"М.Видео":{count:121},"Фокстрот":{count:76},"Эксперт":{count:70},"Эльдорадо":{count:313},"エディオン":{count:74},"ケーズデンキ":{count:136},"コジマ":{count:53},"ヤマダ電機":{count:162},"全國電子":{count:72},"燦坤3C":{count:52}},erotic:{Orion:{count:85}},fabric:{"Ткани":{count:121}},farm:{Hofladen:{count:63}},florist:{"Blume 2000":{count:94},"Blumen Risse":{count:69},Fleuriste:{count:54},Interflora:{count:78},"Monceau Fleurs":{count:69},"Virágbolt":{count:64},"Квіти":{count:86},"Цветочный магазин":{count:57},"Цветы":{count:1098}},frame:{"rumah penduduk":{count:316}},funeral_directors:{"The Co-operative Funeralcare":{count:82},"Ритуальные услуги":{count:133}},furniture:{"Aaron's":{count:57},"Black Red White":{count:79},Bodzio:{count:61},But:{count:162},Casa:{count:62},Conforama:{count:174},DFS:{count:52},"Dänisches Bettenlager":{count:464},Fly:{count:53},Harveys:{count:58},IKEA:{count:234},JYSK:{count:431},Kwantum:{count:54},"Leen Bakker":{count:72},"Pier 1 Imports":{count:95},Roller:{count:99},"The Brick":{count:68},"Меблі":{count:70},"ニトリ":{count:93}},garden_centre:{Dehner:{count:59},"Gamm Vert":{count:210},Jardiland:{count:124},"Point Vert":{count:68},Welkoop:{count:97},"Семена":{count:53}},gift:{"Card Factory":{count:116},Hallmark:{count:163},"Подарки":{count:56}},greengrocer:{"Frutería":{count:60},"Овощи и фрукты":{count:71}},hairdresser:{Berber:{count:71},"Cost Cutters":{count:69},"Fantastic Sams":{count:53},Figaro:{count:79},"First Choice Haircutters":{count:51},"Franck Provost":{count:136},Frizerie:{count:59},"Great Clips":{count:578},Haarmonie:{count:79},Haarscharf:{count:59},"Hair Cuttery":{count:121},Hairkiller:{count:73},"Jean Louis David":{count:90},"Jean-Louis David":{count:59},Klier:{count:239},Klipp:{count:76},"Le Salon":{count:55},"Marco Aldany":{count:55},"Peluquería":{count:165},"Salon fryzjerski":{count:52},"Sport Clips":{count:114},"Super Cuts":{count:55},Supercuts:{count:359},Tchip:{count:62},"The Barber Shop":{count:130},"Toni & Guy":{count:77},"Top Hair":{count:74},"Виктория":{count:53},"Елена":{count:53},"Локон":{count:67},"Парикмахерская":{count:798},"Перукарня":{count:119},"Салон красоты":{count:58},"Стиль":{count:94},"Шарм":{count:79},"حلاق":{count:65}},hardware:{"1000 мелочей":{count:125},"Ferretería":{count:295},"Harbor Freight Tools":{count:57},"Home Hardware":{count:94},"Lowe's":{count:74},Quincaillerie:{count:105},"True Value":{count:52},"Würth":{count:51},"Промтовары":{count:67},"Сантехника":{count:87},"Стройматериалы":{count:142},"Товары для дома":{count:69},"Хозтовары":{count:477}},hearing_aids:{Amplifon:{count:124},Geers:{count:66},"Kind Hörgeräte":{count:74},amplifon:{count:52}},hifi:{"Bang & Olufsen":{count:51}},houseware:{Blokker:{count:264},Marskramer:{count:72},Xenos:{count:119}},interior_decoration:{Casa:{count:65},Depot:{count:97}},jewelry:{"585":{count:94},Apart:{count:53},"Bijou Brigitte":{count:172},Christ:{count:116},"Claire's":{count:99},"Ernest Jones":{count:53},"H Samuel":{count:55},"James Avery Jewelry":{count:99},"Julien d'Orcel":{count:123},"Kay Jewelers":{count:78},Pandora:{count:280},Swarovski:{count:240},"Адамас":{count:60},"Золото":{count:51}},kiosk:{Aral:{count:76},Edicola:{count:94},Esso:{count:51},KIOS:{count:288},Kiosko:{count:62},Kiosque:{count:68},Kolporter:{count:88},"Lietuvos spauda":{count:62},Narvesen:{count:188},"Pressbyrån":{count:117},"Pulpería":{count:61},"R-Kioski":{count:352},Relay:{count:61},Ruch:{count:187},Shell:{count:122},"Tabak Trafik":{count:83},Tisak:{count:245},Trafik:{count:221},Trafika:{count:64},Trinkhalle:{count:98},Warung:{count:73},"Белсоюзпечать":{count:59},"Киоск":{count:143},"Продукты":{count:212},"Роспечать":{count:233},"Союзпечать":{count:94},"მარკეტი (Market)":{count:94}},kitchen:{Cuisinella:{count:60},"Home Utensils":{count:65}},laundry:{Launderette:{count:51},"Lavandería":{count:84},"コインランドリー":{count:64}},lottery:{"Loteria de la Provincia":{count:63},"Lotería Nacional":{count:221},"Lotería de la Provincia":{count:349},Lotto:{count:192},"Lottózó":{count:69},ONCE:{count:91}},mall:{"Торговый центр":{count:57}},massage:{"Massage Envy":{count:80}},medical_supply:{"Pofam-Poznań":{count:61}},mobile_phone:{"3 Store":{count:90},"AT&T":{count:558},Bell:{count:140},"Bitė":{count:66},"Boost Mobile":{count:151},"Carphone Warehouse":{count:357},Claro:{count:446},"Cricket Wireless":{count:73},Digicel:{count:152},EE:{count:190},MetroPCS:{count:201},Movistar:{count:411},O2:{count:527},Orange:{count:730},Personal:{count:54},Play:{count:150},Plus:{count:122},Rogers:{count:52},SFR:{count:156},Samsung:{count:71},Sprint:{count:394},"T-Mobile":{count:665},TIM:{count:67},Telcel:{count:52},Tele2:{count:186},Telekom:{count:148},"Telekom Shop":{count:99},Telenor:{count:99},Telus:{count:69},"The Phone House":{count:137},Three:{count:57},Tim:{count:51},"Télécentre":{count:76},Verizon:{count:152},"Verizon Wireless":{count:629},Vodafone:{count:1168},"Vodafone Shop":{count:52},Wind:{count:156},Yoigo:{count:61},au:{count:136},"auショップ":{count:340},"mobilcom debitel":{count:63},"Алло":{count:86},"Билайн":{count:441},"Евросеть":{count:1020},"Київстар":{count:57},"МТС":{count:1012},"Мегафон":{count:687},"Связной":{count:842},"Теле2":{count:70},"ソフトバンクショップ":{count:482},"ドコモショップ":{count:426}},money_lender:{"Money Mart":{count:95}},motorcycle:{"Harley Davidson":{count:81},Honda:{count:238},Suzuki:{count:90},Yamaha:{count:235}},music:{HMV:{count:81},TSUTAYA:{count:53}},musical_instrument:{"Guitar Center":{count:51}},newsagent:{Edicola:{count:111},Kolporter:{count:56},"Maison de la Presse":{count:132},Relay:{count:246},"Tabac Presse":{count:82},Trafika:{count:60},WHSmith:{count:160},"Белсоюзпечать":{count:52},"Витебскоблсоюзпечать":{count:56},"Первая полоса":{count:57},"Печать":{count:74},"Роспечать":{count:371},"Союзпечать":{count:130}},optician:{"Alain Afflelou":{count:204},Apollo:{count:441},Atol:{count:124},"Boots Opticians":{count:101},Fielmann:{count:477},"General Óptica":{count:53},"Grand Optical":{count:57},"Générale d'Optique":{count:94},"Hakim Optical":{count:73},"Hans Anders":{count:105},Krys:{count:192},"Les Opticiens Mutualistes":{count:103},"Optic 2000":{count:281},"Optical Center":{count:125},Pearle:{count:199},"Pearle Vision":{count:52},Specsavers:{count:384},"Sunglass Hut":{count:61},Synoptik:{count:55},"Vision Express":{count:183},"แว่นท็อปเจริญ":{count:97},"メガネスーパー":{count:62},"眼鏡市場":{count:206}},outdoor:{"Jack Wolfskin":{count:51},"Mountain Warehouse":{count:74},REI:{count:77},"Рыболов":{count:70}},paint:{"Benjamin Moore":{count:58},Comex:{count:68},Jotun:{count:51},"National Paints":{count:53},"Sherwin Williams":{count:323},"Sherwin-Williams Paints":{count:59}},pawnbroker:{"Cash Converters":{count:83},Lombard:{count:55},"Palawan Pawnshop":{count:52}},pet:{"Das Futterhaus":{count:158},Fressnapf:{count:620},"Global Pet Foods":{count:54},"Maxi Zoo":{count:65},"Pet Valu":{count:112},PetSmart:{count:491},Petco:{count:377},"Pets at Home":{count:170},"Бетховен":{count:60},"Зоотовары":{count:79},"Четыре лапы":{count:56}},second_hand:{Goodwill:{count:235},"Value Village":{count:53}},shoes:{Adidas:{count:51},Aldo:{count:74},Bata:{count:281},"Besson Chaussures":{count:124},Brantano:{count:132},CCC:{count:245},Camper:{count:51},Chaussea:{count:102},Clarks:{count:268},Converse:{count:58},Crocs:{count:64},DSW:{count:52},Deichmann:{count:1231},Dosenbach:{count:58},Ecco:{count:185},"Famous Footwear":{count:178},"Foot Locker":{count:240},Geox:{count:151},Kari:{count:66},"La Halle aux Chaussures":{count:158},Mephisto:{count:57},Minelli:{count:55},"New Balance":{count:52},Payless:{count:56},"Payless Shoe Source":{count:316},"Payless ShoeSource":{count:133},"Quick Schuh":{count:116},"Rack Room Shoes":{count:51},Reno:{count:233},Rieker:{count:83},Salamander:{count:103},"San Marina":{count:54},Scapino:{count:67},"Shoe Carnival":{count:66},"Shoe Zone":{count:161},"Siemes Schuhcenter":{count:69},Skechers:{count:83},Tamaris:{count:99},Timberland:{count:51},vanHaren:{count:98},"Éram":{count:88},"Ремонт обуви":{count:71},"ЦентрОбувь":{count:76},"Юничел":{count:73},"東京靴流通センター":{count:81}},sports:{Adidas:{count:132},Aktiesport:{count:61},"Big 5 Sporting Goods":{count:93},Decathlon:{count:409},"Dick's Sporting Goods":{count:222},Hervis:{count:66},Intersport:{count:737},"JD Sports":{count:58},Nike:{count:95},"Sport 2000":{count:209},"Sports Authority":{count:108},"Sports Direct":{count:217},"Спортмастер":{count:208},"Спорттовары":{count:68}},stationery:{"Bureau Vallée":{count:64},Libro:{count:73},McPaper:{count:158},"Office Depot":{count:378},"Office Max":{count:169},Officeworks:{count:73},Pagro:{count:64},Paperchase:{count:54},Ryman:{count:85},Staples:{count:671},"Канцтовары":{count:140}},supermarket:{"7-Eleven":{count:60},"A&O":{count:67},A101:{count:388},"AD Delhaize":{count:80},ADEG:{count:85},"Ahorramás":{count:66},Albert:{count:245},"Albert Heijn":{count:766},Albertsons:{count:316},Aldi:{count:6323},"Aldi Nord":{count:356},"Aldi Süd":{count:916},Alfamart:{count:109},Alimerka:{count:96},Alnatura:{count:97},Asda:{count:474},Atac:{count:53},"Atacadão":{count:80},Auchan:{count:229},BM:{count:52},Biedronka:{count:2348},"Big C":{count:53},Billa:{count:1592},Bim:{count:678},Biocoop:{count:159},"Bodega Aurrera":{count:264},Budgens:{count:77},"Bulk Barn":{count:54},Bunnpris:{count:69},CBA:{count:236},CONAD:{count:67},COOP:{count:255},"COOP Jednota":{count:177},CRAI:{count:66},CU:{count:64},Caprabo:{count:144},"Cargills Food City":{count:79},Carrefour:{count:2544},"Carrefour City":{count:349},"Carrefour Contact":{count:270},"Carrefour Express":{count:921},Centra:{count:63},"Centre Commercial E. Leclerc":{count:385},Checkers:{count:140},Chedraui:{count:80},"Co-Op":{count:62},"Co-op":{count:352},"Co-operative":{count:51},Coles:{count:583},Colmado:{count:103},Colruyt:{count:212},Combi:{count:127},"Comercial Mexicana":{count:59},Conad:{count:560},"Conad City":{count:95},Condis:{count:126},Consum:{count:236},Continente:{count:111},Coop:{count:1665},"Coop Extra":{count:88},"Coop Jednota":{count:101},"Coop Konsum":{count:96},"Costco Gasoline":{count:295},Costcutter:{count:93},Coto:{count:65},Countdown:{count:135},Coviran:{count:124},"Covirán":{count:51},Crai:{count:119},"Cub Foods":{count:57},"Dagli'Brugsen":{count:135},Deen:{count:55},Delhaize:{count:228},"Delikatesy Centrum":{count:209},Denner:{count:412},Despar:{count:209},"Despensa Familiar":{count:81},Dia:{count:1329},"Dia %":{count:181},"Dia Market":{count:60},Dino:{count:298},"Dirk van den Broek":{count:66},Disco:{count:74},Diska:{count:68},"Dollar General":{count:106},"Dollar Tree":{count:52},"Dunnes Stores":{count:72},"E-Center":{count:66},"E. Leclerc":{count:186},"E. Leclerc Drive":{count:97},EKO:{count:78},"EMTÉ":{count:74},Edeka:{count:2231},Ekom:{count:64},Ekono:{count:68},"El Árbol":{count:86},Eroski:{count:351},Esselunga:{count:106},EuroSpin:{count:81},Eurospar:{count:340},Eurospin:{count:328},Extra:{count:149},"Famiglia Cooperativa":{count:89},Famila:{count:167},"Family Dollar":{count:72},Fareway:{count:51},Farmfoods:{count:141},Feneberg:{count:64},"Food Basics":{count:116},"Food Lion":{count:425},Foodland:{count:192},Foodworks:{count:90},Franprix:{count:401},"Fred Meyer":{count:70},Freshmarket:{count:86},Froiz:{count:97},"Føtex":{count:74},G20:{count:71},GS25:{count:72},Gadis:{count:126},Game:{count:59},Giant:{count:276},"Giant Eagle":{count:134},"Grand Frais":{count:70},"Grocery Outlet":{count:128},"Géant Casino":{count:75},"H-E-B":{count:274},HIT:{count:64},Hannaford:{count:95},"Harris Teeter":{count:158},"Hemköp":{count:87},"Heron Foods":{count:55},Hofer:{count:484},Hoogvliet:{count:66},"Hruška":{count:54},"Hy-Vee":{count:121},ICA:{count:255},"ICA Kvantum":{count:51},IDEA:{count:52},IGA:{count:568},Iceland:{count:538},Indomaret:{count:124},"Intermarché":{count:1477},"Intermarché Contact":{count:122},"Intermarché Super":{count:261},Interspar:{count:117},Irma:{count:69},"Jewel-Osco":{count:72},Jumbo:{count:476},"K+K":{count:119},Kaufland:{count:1172},"King Soopers":{count:99},Kiwi:{count:178},Konsum:{count:144},Konzum:{count:370},Kroger:{count:627},Kvickly:{count:60},"La Vie Claire":{count:65},Landi:{count:54},"Leader Price":{count:502},"Leclerc Drive":{count:120},Lewiatan:{count:255},Lider:{count:78},Lidl:{count:8927},Londis:{count:52},Lupa:{count:79},"M&S Simply Food":{count:52},MPREIS:{count:187},Makro:{count:226},Markant:{count:98},"Market Basket":{count:57},Marktkauf:{count:117},Match:{count:139},Maxi:{count:198},"Maxi Dia":{count:52},Maxima:{count:111},"Maxima X":{count:158},"Maxima XX":{count:69},"Mega Image":{count:97},Mego:{count:52},Meijer:{count:129},Meny:{count:105},"Mercado Municipal":{count:52},"Mercado de Abastos":{count:57},Mercadona:{count:1228},Mercator:{count:155},Merkur:{count:132},Metro:{count:395},Migros:{count:641},Mila:{count:90},"Mini Market":{count:81},"Minipreço":{count:213},"Mix Markt":{count:60},Monoprix:{count:283},More:{count:61},Morrisons:{count:443},NORMA:{count:144},NP:{count:251},"Nah & Frisch":{count:107},Nahkauf:{count:324},Netto:{count:4429},"Netto Marken-Discount":{count:706},"New World":{count:89},"No Frills":{count:177},"Norfa XL":{count:66},Norma:{count:1162},Oxxo:{count:278},PENNY:{count:89},PLUS:{count:92},POLOmarket:{count:172},"Palí":{count:69},Pam:{count:77},Penny:{count:2819},"Penny Markt":{count:77},"Petit Casino":{count:146},"Pick n Pay":{count:268},"Piggly Wiggly":{count:103},"Pingo Doce":{count:308},"Piotr i Paweł":{count:112},"Plaza Vea":{count:68},Plodine:{count:67},Poiesz:{count:53},"Price Chopper":{count:132},Prix:{count:53},Profi:{count:203},Proxi:{count:75},"Proxy Delhaize":{count:63},Publix:{count:645},"Punto Simply":{count:54},Puregold:{count:75},"Pão de Açúcar":{count:76},QFC:{count:54},"REMA 1000":{count:89},Ralphs:{count:81},Real:{count:210},"Real Canadian Superstore":{count:69},"Reliance Fresh":{count:95},"Rema 1000":{count:394},Rewe:{count:2808},"Rewe City":{count:78},Rimi:{count:115},"S-Market":{count:110},Safeway:{count:619},"Sainsbury's":{count:595},"Sainsbury's Local":{count:248},"Sam's Club":{count:303},"Santa Isabel":{count:174},"Save-A-Lot":{count:100,tags:{shop:"supermarket"}},ShopRite:{count:53},Shoprite:{count:337},Sigma:{count:107},"Simply Market":{count:541},Sky:{count:113},"Smith's":{count:56},Sobeys:{count:186},Soriana:{count:194},Spar:{count:3381},"Społem":{count:120},"Sprouts Farmers Market":{count:71},Stokrotka:{count:227},"Stop & Shop":{count:147},"Super C":{count:57},"Super U":{count:654},SuperBrugsen:{count:183},SuperValu:{count:80},Superama:{count:51},Supersol:{count:51},Superspar:{count:54},Tegut:{count:118},Tengelmann:{count:155},Tesco:{count:1373},"Tesco Express":{count:566},"Tesco Extra":{count:200},"Tesco Lotus":{count:95},"Tesco Metro":{count:153},"The Co-operative":{count:79},"The Co-operative Food":{count:1261},Tommy:{count:56},Tottus:{count:82},"Trader Joe's":{count:345},"Treff 3000":{count:134},"U Express":{count:129},Unimarc:{count:256},Unimarkt:{count:104},Utile:{count:68},Vea:{count:67},Vival:{count:80},Volg:{count:231},Waitrose:{count:301},Walmart:{count:1164},"Walmart Neighborhood Market":{count:171},"Walmart Supercenter":{count:688},Wasgau:{count:51},Wegmans:{count:89},Wellcome:{count:51},"Whole Foods Market":{count:379,tags:{shop:"supermarket"}},Willys:{count:89},"WinCo Foods":{count:53},"Winn Dixie":{count:168},Woolworths:{count:816},"denn's Biomarkt":{count:147},fakta:{count:296},real:{count:58},tegut:{count:89},"Şok":{count:271},"ΑΒ Βασιλόπουλος":{count:82},"Γαλαξίας":{count:54},"Μασούτης":{count:85},"Σκλαβενίτης":{count:92},"АТБ":{count:618},"Абсолют":{count:51},"Авоська":{count:60},"Азбука Вкуса":{count:66},"Атак":{count:85},"Ашан":{count:80},"Верный":{count:226},"Виктория":{count:74},"Вопак":{count:59},"Гастроном":{count:54},"Гроздь":{count:63},"Десяточка":{count:52},"Дикси":{count:1670},"Евроопт":{count:201},"Карусель":{count:68},"Квартал":{count:77},"Кировский":{count:54},"Командор":{count:75},"Красный Яр":{count:58},"Лента":{count:165},"Магнит":{count:4289},"Магнолия":{count:121},"Мария-Ра":{count:159},"Монетка":{count:363},"Народная 7Я семьЯ":{count:199},"Перекресток":{count:501},"Покупочка":{count:73},"Полушка":{count:213},"Пятёрочка":{count:3622},"Радеж":{count:64},"Рукавичка":{count:78},"Светофор":{count:73},"Седьмой континент":{count:69},"Семейный":{count:52},"Семья":{count:85},"Супермаркет":{count:65},"Сільпо":{count:203},"Таврія‑В":{count:66},"Универсам":{count:77},"Фора":{count:162},"Фуршет":{count:86},"Хүнсний дэлгүүр":{count:63},"Эдельвейс":{count:55},"хүнсний дэлгүүр":{count:73},"بقالة":{count:74},"سوپر مارکت":{count:75},"سوپرمارکت":{count:79},"いなげや":{count:66},"まいばすけっと":{count:162},"イオン":{count:95},"イトーヨーカドー":{count:67},"カスミ":{count:56},"マックスバリュ":{count:143},"マルエツ":{count:99},"ライフ":{count:125},"全聯":{count:74},"全聯福利中心":{count:241},"惠康 Wellcome":{count:57},"業務スーパー":{count:176},"美廉社":{count:74},"西友":{count:137}},tailor:{"Atelier de couture":{count:63}},ticket:{"Boutique Grandes Lignes":{count:60},"Guichet Transilien":{count:243},"Касса":{count:61},"Проездные билеты":{count:65}},tobacco:{"Dohánybolt":{count:109},Estanco:{count:134},"Nemzeti Dohánybolt":{count:926},Tabacos:{count:62},"Табакерка":{count:73}},toys:{"Dráčik":{count:63},Intertoys:{count:242},"King Jouet":{count:102},"La Grande Récré":{count:112},"Maxi Toys":{count:63},"Toys R Us":{count:410,tags:{shop:"toys"}},"Детский мир":{count:186},"Игрушки":{count:95}},travel_agency:{"D-reizen":{count:64},"DER Reisebüro":{count:52},"First Reisebüro":{count:57},"Flight Centre":{count:159},Reiseland:{count:52},TUI:{count:262},"The Co-operative Travel":{count:58},"Thomas Cook":{count:298},Thomson:{count:144}},tyres:{Borracharia:{count:98},Bridgestone:{count:65},"Discount Tire":{count:94},Euromaster:{count:76},Firestone:{count:57},Gomeria:{count:71},"Les Schwab Tire Center":{count:59},Vianor:{count:52},"Вулканизация":{count:113},"Шиномонтаж":{count:419}},variety_store:{Action:{count:147},Bazar:{count:56},"Big Bazar":{count:60},"Big Lots":{count:65},"Dollar General":{count:345},"Dollar Tree":{count:753},Dollarama:{count:404},EuroShop:{count:59},"Family Dollar":{count:590},"Fix Price":{count:97},"Fix price":{count:127},FixPrice:{count:62},GiFi:{count:229},"Home Bargains":{count:68},"Mäc-Geiz":{count:59},NOZ:{count:82},Poundland:{count:197},Poundworld:{count:70},Tedi:{count:611},"ダイソー":{count:226}},video:{Blockbuster:{count:75},"Family Video":{count:113},TSUTAYA:{count:122},"World of Video":{count:53},"ゲオ":{count:81}},video_games:{"EB Games":{count:101},Game:{count:76},GameStop:{count:676},Micromania:{count:83}}}; + var tourism = {alpine_hut:{"КОШ":{count:105}},apartment:{"Двухкомнатная квартира на сутки":{count:52}},attraction:{Arch:{count:51},"Kursächsische Postmeilensäule":{count:54},Maibaum:{count:52},"Moab trail":{count:55},Moai:{count:702},"OWŚ":{count:102},Sommerrodelbahn:{count:54},"path contiunes":{count:75},"white blaze":{count:53},"Кладбище еврейское":{count:89},"Колесо обозрения":{count:69},"Приусадебный парк":{count:69},"Усадьба":{count:53},"Хозяйственный двор":{count:72},"Часовня":{count:64},"дольмен":{count:86}},camp_site:{"Camping Municipal":{count:198},"Camping municipal":{count:80}},guest_house:{Casa:{count:61},Home:{count:68},"OW \"Bielanka\"":{count:54}},hostel:{"Albergue de Peregrinos":{count:67},Hospedaje:{count:70},Hostal:{count:124}},hotel:{"B&B Hôtel":{count:104},"B&b Hôtel":{count:78},"Best Western":{count:242},Campanile:{count:145},"Central Hotel":{count:51},"City Hotel":{count:74},"Comfort Inn":{count:283},"Comfort Inn & Suites":{count:67},"Comfort Suites":{count:148},"Country Inn & Suites":{count:83},"Courtyard by Marriott":{count:155},"Crowne Plaza":{count:85},"Days Inn":{count:245},"Econo Lodge":{count:70},"Embassy Suites":{count:68},"Extended Stay America":{count:102},"Fairfield Inn":{count:60},"Fairfield Inn & Suites":{count:67},"Formule 1":{count:74},"Grand Hotel":{count:90},"Hampton Inn":{count:376},"Hampton Inn & Suites":{count:96},"Hilton Garden Inn":{count:183},"Holiday Inn":{count:411},"Holiday Inn Express":{count:479},"Holiday Inn Express & Suites":{count:72},"Homewood Suites":{count:61},"Hotel Central":{count:92},"Hotel Europa":{count:91},"Hotel Ibis":{count:67},"Hotel Krone":{count:58},"Hotel Panorama":{count:61},"Hotel Plaza":{count:62},"Hotel Post":{count:60},"Hotel Royal":{count:62},"Hotel Victoria":{count:71},"Hotel zur Post":{count:60},"Hôtel Ibis":{count:70},"Hôtel de France":{count:61},Ibis:{count:215},"Ibis Budget":{count:188},"Ibis Styles":{count:53},Krone:{count:68},Kyriad:{count:65},"La Quinta":{count:54},Marriott:{count:57},Mercure:{count:109},"Motel 6":{count:83},Novotel:{count:180},"Palace Hotel":{count:54},"Park Hotel":{count:88},Parkhotel:{count:64},"Premier Inn":{count:400},"Première Classe":{count:62},"Quality Inn":{count:178},"Quality Inn & Suites":{count:80},Ramada:{count:97},"Residence Inn":{count:89},"Royal Hotel":{count:94},Sheraton:{count:56},"Sleep Inn":{count:68},"Staybridge Suites":{count:54},"Super 8":{count:229},Travelodge:{count:284},"Гостиница":{count:166},"Уют":{count:58},"東横イン":{count:57}},motel:{"Best Western":{count:59},"Budget Inn":{count:76},"Comfort Inn":{count:131},"Days Inn":{count:103},"Econo Lodge":{count:117},"Motel 6":{count:214},"Quality Inn":{count:113},"Rodeway Inn":{count:102},"Super 8":{count:173},Travelodge:{count:68}},museum:{Heimatmuseum:{count:336},Stadtmuseum:{count:86},"Tájház":{count:93},"Краеведческий музей":{count:247},"Музей":{count:99}}}; + var dataSuggestions = { + amenity: amenity, + leisure: leisure, + man_made: man_made, + shop: shop, + tourism: tourism + }; + + var dataAddressFormats = [{format:[["housenumber","street"],["city","postcode"]]},{countryCodes:["au"],format:[["unit","housenumber","street"],["suburb","state","postcode"]]},{countryCodes:["gb"],format:[["housename"],["housenumber","street"],["city","postcode"]]},{countryCodes:["ie"],format:[["housename"],["housenumber","street"],["city"],["postcode"]]},{countryCodes:["at","ch","de","si","pl"],format:[["street","housenumber"],["postcode","city"]]},{countryCodes:["ad","ba","be","cz","dk","es","fi","gr","hr","is","it","li","nl","no","pt","se","sk","sm","va"],format:[["street","housenumber","unit"],["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:["ca"],format:[["housenumber","street","unit"],["city","province","postcode"]]},{countryCodes:["us"],format:[["housenumber","street","unit"],["city","state","postcode"]]},{countryCodes:["tw"],format:[["postcode","city","district"],["place","street"],["housenumber","floor","unit"]]},{countryCodes:["jp"],format:[["postcode","province","county"],["city","suburb"],["quarter","neighbourhood"],["block_number","housenumber"]],dropdowns:["postcode","province","county","city","suburb","quarter","neighbourhood","block_number"],widths:{postcode:0.3,province:0.35,county:0.35,city:0.65,suburb:0.35,quarter:0.5,neighbourhood:0.5,block_number:0.5,housenumber:0.5}},{countryCodes:["tr"],format:[["neighbourhood"],["street","housenumber"],["postcode","district","city"]]},{countryCodes:["ua"],format:[["housenumber","postcode"],["street"]]},{countryCodes:["cn"],format:[["postcode","province"],["city","district"],["street","housenumber"]]}]; + + var dataDeprecated = [{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"}}]; + + var dataDiscarded = {created_by:true,odbl:true,"odbl:note":true,"tiger:upload_uuid":true,"tiger:tlid":true,"tiger:source":true,"tiger:separated":true,"geobase:datasetName":true,"geobase:uuid":true,"sub_sea:type":true,"KSJ2:ADS":true,"KSJ2:ARE":true,"KSJ2:AdminArea":true,"KSJ2:COP_label":true,"KSJ2:DFD":true,"KSJ2:INT":true,"KSJ2:INT_label":true,"KSJ2:LOC":true,"KSJ2:LPN":true,"KSJ2:OPC":true,"KSJ2:PubFacAdmin":true,"KSJ2:RAC":true,"KSJ2:RAC_label":true,"KSJ2:RIC":true,"KSJ2:RIN":true,"KSJ2:WSC":true,"KSJ2:coordinate":true,"KSJ2:curve_id":true,"KSJ2:curve_type":true,"KSJ2:filename":true,"KSJ2:lake_id":true,"KSJ2:lat":true,"KSJ2:long":true,"KSJ2:river_id":true,"yh:LINE_NAME":true,"yh:LINE_NUM":true,"yh:STRUCTURE":true,"yh:TOTYUMONO":true,"yh:TYPE":true,"yh:WIDTH":true,"yh:WIDTH_RANK":true,"SK53_bulk:load":true}; + + var dataLocales = {af:{rtl:false},ar:{rtl:true},"ar-AA":{rtl:true},ast:{rtl:false},be:{rtl:false},bg:{rtl:false},bn:{rtl:false},bs:{rtl:false},ca:{rtl:false},ckb:{rtl:true},cs:{rtl:false},cy:{rtl:false},da:{rtl:false},de:{rtl:false},dv:{rtl:true},el:{rtl:false},"en-GB":{rtl:false},eo:{rtl:false},es:{rtl:false},et:{rtl:false},eu:{rtl:false},fa:{rtl:true},fi:{rtl:false},fr:{rtl:false},gan:{rtl:false},gl:{rtl:false},gu:{rtl:false},he:{rtl:true},hi:{rtl:false},hr:{rtl:false},hu:{rtl:false},hy:{rtl:false},ia:{rtl:false},id:{rtl:false},is:{rtl:false},it:{rtl:false},ja:{rtl:false},jv:{rtl:false},km:{rtl:false},kn:{rtl:false},ko:{rtl:false},ku:{rtl:false},lij:{rtl:false},lt:{rtl:false},lv:{rtl:false},mg:{rtl:false},mk:{rtl:false},ml:{rtl:false},mn:{rtl:false},ms:{rtl:false},ne:{rtl:false},nl:{rtl:false},nn:{rtl:false},no:{rtl:false},nv:{rtl:false},pl:{rtl:false},pt:{rtl:false},"pt-BR":{rtl:false},rm:{rtl:false},ro:{rtl:false},ru:{rtl:false},sc:{rtl:false},si:{rtl:false},sk:{rtl:false},sl:{rtl:false},so:{rtl:false},sq:{rtl:false},sr:{rtl:false},sv:{rtl:false},ta:{rtl:false},te:{rtl:false},th:{rtl:false},tl:{rtl:false},tr:{rtl:false},uk:{rtl:false},ur:{rtl:true},vi:{rtl:false},yue:{rtl:false},zh:{rtl:false},"zh-CN":{rtl:false},"zh-HK":{rtl:false},"zh-TW":{rtl:false}}; + + var dataPhoneFormats = {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",ie:"+353 20 912 3456",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 1632 961234",gg:"+44 1632 961234",im:"+44 1632 961234",je:"+44 1632 961234",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 1234 5678",cn:"+86 10 12345678",tw:"+886 1 2345 6789",tr:"+90 312 123 4567",ua:"+380 44 123 4567",at:"+43 1 123 45 67",ci:"+225 20 12 34 56",bj:"+229 20 12 34 56"}; + + var dataShortcuts = [{tab:"browsing",text:"shortcuts.browsing.title",columns:[{rows:[{section:"navigation",text:"shortcuts.browsing.navigation.title"},{shortcuts:["↓","↑","←","→"],text:"shortcuts.browsing.navigation.pan",separator:","},{modifiers:["⌘"],shortcuts:["↓","↑","←","→"],text:"shortcuts.browsing.navigation.pan_more",separator:","},{shortcuts:["+","-"],text:"shortcuts.browsing.navigation.zoom",separator:","},{modifiers:["⌘"],shortcuts:["+","-"],text:"shortcuts.browsing.navigation.zoom_more",separator:","},{section:"help",text:"shortcuts.browsing.help.title"},{shortcuts:["help.key"],text:"shortcuts.browsing.help.help"},{shortcuts:["shortcuts.toggle.key"],text:"shortcuts.browsing.help.keyboard"},{section:"display_options",text:"shortcuts.browsing.display_options.title"},{shortcuts:["background.key"],text:"shortcuts.browsing.display_options.background"},{modifiers:["⌘"],shortcuts:["background.key"],text:"shortcuts.browsing.display_options.background_switch"},{shortcuts:["map_data.key"],text:"shortcuts.browsing.display_options.map_data"},{modifiers:["⌃","⌘"],shortcuts:["F","F11"],text:"shortcuts.browsing.display_options.fullscreen"},{shortcuts:["area_fill.wireframe.key"],text:"shortcuts.browsing.display_options.wireframe"},{shortcuts:["background.minimap.key"],text:"shortcuts.browsing.display_options.minimap"}]},{rows:[{section:"selecting",text:"shortcuts.browsing.selecting.title"},{shortcuts:["Left-click"],text:"shortcuts.browsing.selecting.select_one"},{modifiers:["⇧"],shortcuts:["Left-click"],text:"shortcuts.browsing.selecting.select_multi"},{modifiers:["⇧"],shortcuts:["Left-click"],gesture:"shortcuts.gesture.drag",text:"shortcuts.browsing.selecting.lasso"},{modifiers:["⌘"],shortcuts:["F"],text:"shortcuts.browsing.selecting.search"},{section:"with_selected",text:"shortcuts.browsing.with_selected.title"},{shortcuts:["Right-click","shortcuts.key.space"],text:"shortcuts.browsing.with_selected.edit_menu"},{shortcuts:[],text:""},{section:"vertex_selected",text:"shortcuts.browsing.vertex_selected.title"},{shortcuts:["[","↖"],text:"shortcuts.browsing.vertex_selected.previous"},{shortcuts:["]","↘"],text:"shortcuts.browsing.vertex_selected.next"},{shortcuts:["{","⇞"],text:"shortcuts.browsing.vertex_selected.first"},{shortcuts:["}","⇟"],text:"shortcuts.browsing.vertex_selected.last"},{shortcuts:["\\","shortcuts.key.pause"],text:"shortcuts.browsing.vertex_selected.change_parent"}]}]},{tab:"editing",text:"shortcuts.editing.title",columns:[{rows:[{section:"drawing",text:"shortcuts.editing.drawing.title"},{shortcuts:["1"],text:"shortcuts.editing.drawing.add_point"},{shortcuts:["2"],text:"shortcuts.editing.drawing.add_line"},{shortcuts:["3"],text:"shortcuts.editing.drawing.add_area"},{shortcuts:["Left-click","shortcuts.key.space"],text:"shortcuts.editing.drawing.place_point"},{shortcuts:["⌥"],text:"shortcuts.editing.drawing.disable_snap"},{shortcuts:["↵","⎋"],text:"shortcuts.editing.drawing.stop_line"},{section:"commands",text:"shortcuts.editing.commands.title"},{modifiers:["⌘"],shortcuts:["C"],text:"shortcuts.editing.commands.copy"},{modifiers:["⌘"],shortcuts:["V"],text:"shortcuts.editing.commands.paste"},{modifiers:["⌘"],shortcuts:["Z"],text:"shortcuts.editing.commands.undo"},{modifiers:["⌘","⇧"],shortcuts:["Z"],text:"shortcuts.editing.commands.redo"},{modifiers:["⌘"],shortcuts:["S"],text:"shortcuts.editing.commands.save"}]},{rows:[{section:"operations",text:"shortcuts.editing.operations.title"},{shortcuts:["operations.continue.key"],text:"shortcuts.editing.operations.continue_line"},{shortcuts:["operations.merge.key"],text:"shortcuts.editing.operations.merge"},{shortcuts:["operations.disconnect.key"],text:"shortcuts.editing.operations.disconnect"},{shortcuts:["operations.split.key"],text:"shortcuts.editing.operations.split"},{shortcuts:["operations.reverse.key"],text:"shortcuts.editing.operations.reverse"},{shortcuts:["operations.move.key"],text:"shortcuts.editing.operations.move"},{shortcuts:["operations.rotate.key"],text:"shortcuts.editing.operations.rotate"},{shortcuts:["operations.orthogonalize.key"],text:"shortcuts.editing.operations.orthogonalize"},{shortcuts:["operations.circularize.key"],text:"shortcuts.editing.operations.circularize"},{shortcuts:["operations.reflect.key.long"],text:"shortcuts.editing.operations.reflect_long"},{shortcuts:["operations.reflect.key.short"],text:"shortcuts.editing.operations.reflect_short"},{modifiers:["⌘"],shortcuts:["⌫"],text:"shortcuts.editing.operations.delete"}]}]},{tab:"tools",text:"shortcuts.tools.title",columns:[{rows:[{section:"info",text:"shortcuts.tools.info.title"},{modifiers:["⌘"],shortcuts:["info_panels.key"],text:"shortcuts.tools.info.all"},{modifiers:["⌘","⇧"],shortcuts:["info_panels.background.key"],text:"shortcuts.tools.info.background"},{modifiers:["⌘","⇧"],shortcuts:["info_panels.history.key"],text:"shortcuts.tools.info.history"},{modifiers:["⌘","⇧"],shortcuts:["info_panels.location.key"],text:"shortcuts.tools.info.location"},{modifiers:["⌘","⇧"],shortcuts:["info_panels.measurement.key"],text:"shortcuts.tools.info.measurement"}]}]}]; + + var type$2 = "FeatureCollection"; + var 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]]]}}]; + var dataImperial = { + type: type$2, + features: features + }; + + var type$3 = "FeatureCollection"; + var features$1 = [{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]]]}}]; + var dataDriveLeft = { + type: type$3, + features: features$1 + }; + + var en = {icons:{information:"info",remove:"remove",undo:"undo"},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."},drag_node:{connected_to_hidden:"This can't be edited because it is connected to a hidden feature."}},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:{single:"Delete this feature permanently.",multiple:"Delete these features 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} features."},too_large:{single:"This feature can't be deleted because not enough of it is currently visible.",multiple:"These features can't be deleted because not enough of them are currently visible."},incomplete_relation:{single:"This feature can't be deleted because it hasn't been fully downloaded.",multiple:"These features can't be deleted because they haven't been fully downloaded."},part_of_relation:{single:"This feature can't be deleted because it is part of a larger relation. You must remove it from the relation first.",multiple:"These features can't be deleted because they are part of larger relations. You must remove them from the relations first."},connected_to_hidden:{single:"This feature can't be deleted because it is connected to a hidden feature.",multiple:"These features can't be deleted because some are connected to hidden features."}},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."},relation:"These features can't be connected because they have conflicting relation roles.",restriction:"These features can't be connected because it would damage a \"{relation}\" relation."},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 their endpoints aren't connected.",restriction:"These features can't be merged because it would damage a \"{relation}\" relation.",relation:"These features can't be merged because they have conflicting relation roles.",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:{single:"Move this feature to a different location.",multiple:"Move these features 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 features."},incomplete_relation:{single:"This feature can't be moved because it hasn't been fully downloaded.",multiple:"These features can't be moved because they haven't been fully downloaded."},too_large:{single:"This feature can't be moved because not enough of it is currently visible.",multiple:"These features can't be moved because not enough of them are currently visible."},connected_to_hidden:{single:"This feature can't be moved because it is connected to a hidden feature.",multiple:"These features can't be moved because some are connected to hidden features."}},reflect:{title:{long:"Reflect Long",short:"Reflect Short"},description:{long:{single:"Reflect this feature across its long axis.",multiple:"Reflect these features across their long axis."},short:{single:"Reflect this feature across its short axis.",multiple:"Reflect these features across their short axis."}},key:{long:"T",short:"Y"},annotation:{long:{single:"Reflected a feature across its long axis.",multiple:"Reflected multiple features across their long axis."},short:{single:"Reflected a feature across its short axis.",multiple:"Reflected multiple features across their short axis."}},incomplete_relation:{single:"This feature can't be reflected because it hasn't been fully downloaded.",multiple:"These features can't be reflected because they haven't been fully downloaded."},too_large:{single:"This feature can't be reflected because not enough of it is currently visible.",multiple:"These features can't be reflected because not enough of them are currently visible."},connected_to_hidden:{single:"This feature can't be reflected because it is connected to a hidden feature.",multiple:"These features can't be reflected because some are connected to hidden features."}},rotate:{title:"Rotate",description:{single:"Rotate this feature around its center point.",multiple:"Rotate these features around their center point."},key:"R",annotation:{line:"Rotated a line.",area:"Rotated an area.",multiple:"Rotated multiple features."},incomplete_relation:{single:"This feature can't be rotated because it hasn't been fully downloaded.",multiple:"These features can't be rotated because they haven't been fully downloaded."},too_large:{single:"This feature can't be rotated because not enough of it is currently visible.",multiple:"These features can't be rotated because not enough of them are currently visible."},connected_to_hidden:{single:"This feature can't be rotated because it is connected to a hidden feature.",multiple:"These features can't be rotated because some are connected to hidden features."}},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:{annotation:{create:"Added a turn restriction","delete":"Deleted a turn restriction"}}},restriction:{controls:{distance:"Distance",distance_up_to:"Up to {distance}",via:"Via",via_node_only:"Node only",via_up_to_one:"Up to 1 way",via_up_to_two:"Up to 2 ways"},help:{indirect:"(indirect)",turn:{no_left_turn:"NO Left Turn {indirect}",no_right_turn:"NO Right Turn {indirect}",no_u_turn:"NO U-Turn {indirect}",no_straight_on:"NO Straight On {indirect}",only_left_turn:"ONLY Left Turn {indirect}",only_right_turn:"ONLY Right Turn {indirect}",only_u_turn:"ONLY U-Turn {indirect}",only_straight_on:"ONLY Straight On {indirect}",allowed_left_turn:"Left Turn Allowed {indirect}",allowed_right_turn:"Right Turn Allowed {indirect}",allowed_u_turn:"U-Turn Allowed {indirect}",allowed_straight_on:"Straight On Allowed {indirect}"},from:"FROM",via:"VIA",to:"TO",from_name:"{from} {fromName}",from_name_to_name:"{from} {fromName} {to} {toName}",via_names:"{via} {viaNames}",select_from:"Click to select a {from} segment",select_from_name:"Click to select {from} {fromName}",toggle:"Click for \"{turn}\""}},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",login:"login",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.",rateLimit:"The API is limiting anonymous connections. You can fix this by logging in."},commit:{title:"Upload to OpenStreetMap",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.",request_review:"I would like someone to review my edits.",save:"Upload",cancel:"Cancel",changes:"{count} Changes",download_changes:"Download osmChange file",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:"https://www.openstreetmap.org/copyright"},contributors:{list:"Edits by {users}",truncated_list:"Edits by {users} and {count} others"},info_panels:{key:"I",background:{key:"B",title:"Background",zoom:"Zoom",vintage:"Vintage",source:"Source",description:"Description",resolution:"Resolution",accuracy:"Accuracy",unknown:"Unknown",show_tiles:"Show Tiles",hide_tiles:"Hide Tiles",show_vintage:"Show Vintage",hide_vintage:"Hide Vintage"},history:{key:"H",title:"History",selected:"{n} selected",no_history:"No History (New Feature)",version:"Version",last_edit:"Last Edit",edited_by:"Edited By",changeset:"Changeset",unknown:"Unknown",link_text:"History on openstreetmap.org"},location:{key:"L",title:"Location",unknown_location:"Unknown Location"},measurement:{key:"M",title:"Measurement",selected:"{n} selected",geometry:"Geometry",closed_line:"closed line",closed_area:"closed area",center:"Center",perimeter:"Perimeter",length:"Length",area:"Area",centroid:"Centroid",location:"Location",metric:"Metric",imperial:"Imperial",node_count:"Number of nodes"}},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",documentation_redirect:"This documentation has been redirected to a new page",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 features",unknown:"Unknown",incomplete:"",feature_list:"Search features",edit:"Edit feature",check:{yes:"Yes",no:"No",reverser:"Change Direction"},radio:{structure:{type:"Type","default":"Default",layer:"Layer"}},add:"Add",none:"None",node:"Node",way:"Way",relation:"Relation",location:"Location",add_fields:"Add field:"},background:{title:"Background",description:"Background settings",key:"B",backgrounds:"Backgrounds",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:\n - {zoom} or {z}, {x}, {y} for Z/X/Y tile scheme\n - {-y} or {ty} for flipped TMS-style Y coordinates\n - {u} for quadtile scheme\n - {switch:a,b,c} for DNS server multiplexing\n\nExample:\n{example}",overlays:"Overlays",imagery_source_faq:"Imagery Info / Report a Problem",reset:"reset",display_options:"Display Options",brightness:"Brightness",contrast:"Contrast",saturation:"Saturation",sharpness:"Sharpness",minimap:{description:"Show Minimap",tooltip:"Show a zoomed out map to help locate the area currently displayed.",key:"/"},fix_misalignment:"Adjust imagery offset",offset:"Drag anywhere in the gray area below to adjust the imagery offset, or enter the offset values in meters."},map_data:{title:"Map Data",description:"Map Data",key:"F",data_layers:"Data Layers",layers:{osm:{tooltip:"Map data from OpenStreetMap",title:"OpenStreetMap data"}},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.",osmhidden:"These features have been automatically hidden because the OpenStreetMap layer is hidden."},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.",key:"W"},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 my changes",reset:"Discard my changes"},save:{title:"Save",help:"Review your changes and upload them 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...",conflict_progress:"Checking for conflicts: {num} of {total}",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 osmChange file",done:"All conflicts resolved!",help:"Another user changed some of the same map features you changed.\nClick on each feature 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 feature has been deleted by {user}.",location:"This feature 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 {tag} tag to \"{local}\" and {user} changed it to \"{remote}\"."}},success:{just_edited:"You just edited OpenStreetMap!",thank_you:"Thank you for improving the map.",thank_you_location:"Thank you for improving the map around {where}.",help_html:"Your changes should appear on OpenStreetMap within a few minutes. It may take longer for maps elsewhere to receive updates.",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",view_on_osm:"View Changes on OSM",changeset_id:"Your changeset #: {changeset_id}",like_osm:"Like OpenStreetMap? Connect with others:",more:"More",events:"Events",languages:"Languages: {languages}",missing:"Is something missing from this list?",tell_us:"Tell us!"},confirm:{okay:"OK",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"},version:{whats_new:"What's new in iD {version}"},tag_reference:{description:"Description",on_wiki:"{tag} on wiki.osm.org",used_with:"used with {type}"},validations:{disconnected_highway:"Disconnected highway",disconnected_highway_tooltip:"Roads should be connected to other roads or building entrances.",old_multipolygon:"Multipolygon tags on outer way",old_multipolygon_tooltip:"This style of multipolygon is deprecated. Please assign the tags to the parent multipolygon instead of the outer way.",untagged_point:"Untagged point",untagged_point_tooltip:"Select a feature type that describes what this point is.",untagged_line:"Untagged line",untagged_line_tooltip:"Select a feature type that describes what this line is.",untagged_area:"Untagged area",untagged_area_tooltip:"Select a feature type that describes what this area is.",untagged_relation:"Untagged relation",untagged_relation_tooltip:"Select a feature type that describes what this relation is.",many_deletions:"You're deleting {n} features: {p} nodes, {l} lines, {a} areas, {r} relations. 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",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 file",drag_drop:"Drag and drop a .gpx, .geojson or .kml file on the page, or click the button to the right to browse",zoom:"Zoom to layer",browse:"Browse for a file"},streetside:{tooltip:"Streetside photos from Microsoft",title:"Photo Overlay (Bing Streetside)",report:"Report a privacy concern with this image"},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"},openstreetcam_images:{tooltip:"Street-level photos from OpenStreetCam",title:"Photo Overlay (OpenStreetCam)"},openstreetcam:{view_on_openstreetcam:"View this image on OpenStreetCam"},help:{title:"Help",key:"H",help:{title:"Help",welcome:"Welcome to the iD editor for [OpenStreetMap](https://www.openstreetmap.org/). With this editor you can update OpenStreetMap right from your web browser.",open_data_h:"Open Data",open_data:"Edits that you make on this map will be visible to everyone who uses OpenStreetMap. Your edits can be based on personal knowledge, on-the-ground surveying, or imagery collected from aerial or street level photos. Copying from commercial sources, like Google Maps, [is strictly forbidden](https://www.openstreetmap.org/copyright).",before_start_h:"Before you start",before_start:"You should be familiar with OpenStreetMap and this editor before you start editing. iD contains a walkthrough to teach you the basics of editing OpenStreetMap. Click \"Start the Walkthrough\" on this screen to take the tutorial - it takes only about 15 minutes.",open_source_h:"Open Source",open_source:"The iD editor is a collaborative open source project, and you are using version {version} now. The source code is available [on GitHub](https://github.com/openstreetmap/iD).",open_source_help:"You can help iD by [translating](https://github.com/openstreetmap/iD/blob/master/CONTRIBUTING.md#translating) or [reporting bugs](https://github.com/openstreetmap/iD/issues)."},overview:{title:"Overview",navigation_h:"Navigation",navigation_drag:"You can drag the map by pressing and holding down the {leftclick} left mouse button and moving the mouse around. You can also use the `↓`, `↑`, `←`, `→` arrow keys on your keyboard.",navigation_zoom:"You can zoom in or out by scrolling with the mouse wheel or trackpad, or by clicking the {plus} / {minus} buttons along the side of the map. You can also use the `+`, `-` keys on your keyboard.",features_h:"Map Features",features:"We use the word *features* to describe things that appear on the map, such as roads, buildings, or points of interest. Anything in the real world can be mapped as a feature on OpenStreetMap. Map features are represented on the map using *points*, *lines*, or *areas*.",nodes_ways:"In OpenStreetmap, points are sometimes called *nodes*, and lines and areas are sometimes called *ways*."},editing:{title:"Editing & Saving",select_h:"Select",select_left_click:"{leftclick} Left-click on a feature to select it. This will highlight it with a pulsing glow, and the sidebar will display details about that feature, such as its name or address.",select_right_click:"{rightclick} Right-click on a feature to display the editing menu, which shows the commands that are available, such as rotating, moving, and deleting.",multiselect_h:"Multiselect",multiselect_shift_click:"`{shift}`+{leftclick} left-click to select several features together. This makes it easier to move or delete multiple items.",multiselect_lasso:"Another way to select multiple features is to hold down the `{shift}` key, then press and hold down the {leftclick} left mouse button and drag the mouse to draw a selection lasso. All of the points inside the lasso area will be selected.",undo_redo_h:"Undo & Redo",undo_redo:"Your edits are stored locally in your browser until you choose to save them to the OpenStreetMap server. You can undo edits by clicking the {undo} **Undo** button, and redo them by clicking the {redo} **Redo** button.",save_h:"Save",save:"Click {save} **Save** to finish your edits and send them to OpenStreetMap. You should remember to save your work frequently!",save_validation:"On the save screen, you'll have a chance to review what you've done. iD will also perform some basic checks for missing data and may offer helpful suggestions and warnings if something doesn't seem right.",upload_h:"Upload",upload:"Before uploading your changes you must enter a [changeset comment](https://wiki.openstreetmap.org/wiki/Good_changeset_comments). Then click **Upload** to send your changes to OpenStreetMap, where they will be merged into the map and publicly visible to everyone.",backups_h:"Automatic Backups",backups:"If you can't finish your edits in one sitting, for example if your computer crashes or you close the browser tab, your edits are still saved in your browser's storage. You can come back later (on the same browser and computer), and iD will offer to restore your work.",keyboard_h:"Keyboard Shortcuts",keyboard:"You can view a list of keyboard shortcuts by pressing the `?` key."},feature_editor:{title:"Feature Editor",intro:"The *feature editor* appears alongside the map, and allows you to see and edit all of the information for the selected feature.",definitions:"The top section displays the feature's type. The middle section contains *fields* showing the feature's attributes, such as its name or address.",type_h:"Feature Type",type:"You can click on the feature type to change the feature to a different type. Everything that exists in the real world can be added to OpenStreetMap, so there are thousands of feature types to choose from.",type_picker:"The type picker displays the most common feature types, such as parks, hospitals, restaurants, roads, and buildings. You can search for anything by typing what you're looking for in the search box. You can also click the {inspect} **Info** icon next to the feature type to learn more about it.",fields_h:"Fields",fields_all_fields:"The \"All fields\" section contains all of the feature's details that you may edit. In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.",fields_example:"Each feature type will display different fields. For example, a road may display fields for its surface and speed limit, but a restaurant may display fields for the type of food it serves and the hours it is open.",fields_add_field:"You can also click the \"Add field\" dropdown to add more fields, such as a description, Wikipedia link, wheelchair access, and more.",tags_h:"Tags",tags_all_tags:"Below the fields section, you can expand the \"All tags\" section to edit any of the OpenStreetMap *tags* for the selected feature. Each tag consists of a *key* and *value*, data elements that define all of the features stored in OpenStreetMap.",tags_resources:"Editing a feature's tags requires intermediate knowledge about OpenStreetMap. You should consult resources like the [OpenStreetMap Wiki](https://wiki.openstreetmap.org/wiki/Main_Page) or [Taginfo](https://taginfo.openstreetmap.org/) to learn more about accepted OpenStreetMap tagging practices."},points:{title:"Points",intro:"*Points* can be used to represent features such as shops, restaurants, and monuments. They mark a specific location, and describe what's there.",add_point_h:"Adding Points",add_point:"To add a point, click the {point} **Point** button on the toolbar above the map, or press the shortcut key `1`. This will change the mouse cursor to a cross symbol.",add_point_finish:"To place the new point on the map, position the mouse cursor where the point should go, then {leftclick} left-click or press `Space`.",move_point_h:"Moving Points",move_point:"To move a point, place the mouse cursor over the point, then press and hold the {leftclick} left mouse button while dragging the point to its new location.",delete_point_h:"Deleting Points",delete_point:"It's OK to delete features that don't exist in the real world. Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it.",delete_point_command:"To delete a point, {rightclick} right-click on the point to select it and show the edit menu, then use the {delete} **Delete** command."},lines:{title:"Lines",intro:"*Lines* are used to represent features such as roads, railroads, and rivers. Lines should be drawn down the center of the feature that they represent.",add_line_h:"Adding Lines",add_line:"To add a line, click the {line} **Line** button on the toolbar above the map, or press the shortcut key `2`. This will change the mouse cursor to a cross symbol.",add_line_draw:"Next, position the mouse cursor where the line should begin and {leftclick} left-click or press `Space` to begin placing nodes along the line. Continue placing more nodes by clicking or pressing `Space`. While drawing, you can zoom in or drag the map in order to add more detail.",add_line_finish:"To finish a line, press `{return}` or click again on the last node.",modify_line_h:"Modifying Lines",modify_line_dragnode:"Often you'll see lines that aren't shaped correctly, for example a road that does not match up with the background imagery. To adjust the shape of a line, first {leftclick} left-click to select it. All nodes of the line will be drawn as small circles. You can then drag the nodes to better locations.",modify_line_addnode:"You can also create new nodes along a line either by {leftclick}**x2** double-clicking on the line or by dragging the small triangles at the midpoints between nodes.",connect_line_h:"Connecting Lines",connect_line:"Having roads connected properly is important for the map and essential for providing driving directions.",connect_line_display:"The connections between roads are drawn with gray circles. The endpoints of a line are drawn with larger white circles if they don't connect to anything.",connect_line_drag:"To connect a line to another feature, drag one of the line's nodes onto the other feature until both features snap together. Tip: You can hold down the `{alt}` key to prevent nodes from connecting to other features.",connect_line_tag:"If you know that the connection has traffic lights or crosswalks, you can add them by selecting the connecting node and using the feature editor to select the correct feature's type.",disconnect_line_h:"Disconnecting Lines",disconnect_line_command:"To disconnect a road from another feature, {rightclick} right-click the connecting node and select the {disconnect} **Disconnect** command from the editing menu.",move_line_h:"Moving Lines",move_line_command:"To move an entire line, {rightclick} right-click the line and select the {move} **Move** command from the editing menu. Then move the mouse, and {leftclick} left-click to place the line in a new location.",move_line_connected:"Lines that are connected to other features will stay connected as you move the line to a new location. iD may prevent you from moving a line across another connected line.",delete_line_h:"Deleting Lines",delete_line:"If a line is entirely incorrect, for example a road that doesn't exist in the real world, it's OK to delete it. Be careful when deleting features: the background imagery you are using might be outdated, and a road that looks wrong could simply be newly built.",delete_line_command:"To delete a line, {rightclick} right-click on the line to select it and show the edit menu, then use the {delete} **Delete** command."},areas:{title:"Areas",intro:"*Areas* are used to show the boundaries of features like lakes, buildings, and residential areas. Areas should be traced around the edge of the feature that they represent, for example, around the base of a building.",point_or_area_h:"Points or Areas?",point_or_area:"Many features can be represented as points or areas. You should map buildings and property outlines as areas whenever possible. Place points inside a building area to represent businesses, amenities, and other features located inside the building.",add_area_h:"Adding Areas",add_area_command:"To add an area, click the {area} **Area** button on the toolbar above the map, or press the shortcut key `3`. This will change the mouse cursor to a cross symbol.",add_area_draw:"Next, position the mouse cursor at one of the corners of the feature and {leftclick} left-click or press `Space` to begin placing nodes around the outer edge of the area. Continue placing more nodes by clicking or pressing `Space`. While drawing, you can zoom in or drag the map in order to add more detail.",add_area_finish:"To finish an area, press `{return}` or click again on either the first or last node.",square_area_h:"Square Corners",square_area_command:"Many area features like buildings have square corners. To square the corners of an area, {rightclick} right-click the edge of the area and select the {orthogonalize} **Square** command from the editing menu.",modify_area_h:"Modifying Areas",modify_area_dragnode:"Often you'll see areas that aren't shaped correctly, for example a building that does not match up with the background imagery. To adjust the shape of an area, first {leftclick} left-click to select it. All nodes of the area will be drawn as small circles. You can then drag the nodes to better locations.",modify_area_addnode:"You can also create new nodes along an area either by {leftclick}**x2** double-clicking on the edge of the area or by dragging the small triangles at the midpoints between nodes.",delete_area_h:"Deleting Areas",delete_area:"If an area is entirely incorrect, for example a building that doesn't exist in the real world, it's OK to delete it. Be cautious when deleting features - the background imagery you are using might be outdated, and a building that looks wrong could simply be newly built.",delete_area_command:"To delete an area, {rightclick} right-click on the area to select it and show the edit menu, then use the {delete} **Delete** command."},relations:{title:"Relations",intro:"A *relation* is a special type of feature in OpenStreetMap that groups together other features. The features that belong to a relation are called *members*, and each member can have a *role* in the relation.",edit_relation_h:"Editing Relations",edit_relation:"At the bottom of the feature editor, you can expand the \"All relations\" section to see if the selected feature is a member of any relations. You can then click on the relation to select and edit it.",edit_relation_add:"To add a feature to a relation, select the feature, then click the {plus} add button in the \"All relations\" section of the feature editor. You can choose from a list of nearby relations, or choose the \"New relation...\" option.",edit_relation_delete:"You can also click the {delete} **Delete** button to remove the selected feature from the relation. If you remove all of the members from a relation, the relation will be deleted automatically.",maintain_relation_h:"Maintaining Relations",maintain_relation:"For the most part, iD will maintain relations automatically as you edit. You should take care when replacing features that might be members of relations. For example if you delete a section of road and draw a new section of road to replace it, you should add the new section to the same relations (routes, turn restrictions, etc.) as the original.",relation_types_h:"Relation Types",multipolygon_h:"Multipolygons",multipolygon:"A *multipolygon* relation is a group of one or more *outer* features and one or more inner features. The outer features define the outer edges of the multipolygon, and the inner features define sub-areas or holes cut out from the inside of the multipolygon.",multipolygon_create:"To create a multipolygon, for example a building with a hole in it, draw the outer edge as an area and the inner edge as a line or different kind of area. Then `{shift}`+{leftclick} left-click to select both features, {rightclick} right-click to show the edit menu, and select the {merge} **Merge** command.",multipolygon_merge:"Merging several lines or areas will create a new multipolygon relation with all selected areas as members. iD will choose the inner and outer roles automatically, based on which features are contained inside other features.",turn_restriction_h:"Turn restrictions",turn_restriction:"A *turn restriction* relation is a group of several road segments in an intersection. Turn restrictions consist of a *from* road, *via* node or roads, and a *to* road.",turn_restriction_field:"To edit turn restrictions, select a junction node where two or more roads meet. The feature editor will display a special \"Turn Restrictions\" field containing a model of the intersection.",turn_restriction_editing:"In the \"Turn Restrictions\" field, click to select a \"from\" road, and see whether turns are allowed or restricted to any of the \"to\" roads. You can click on the turn icons to toggle them between allowed and restricted. iD will create relations automatically and set the from, via, and to roles based on your choices.",route_h:"Routes",route:"A *route* relation is a group of one or more line features that together form a route network, like a bus route, train route, or highway route.",route_add:"To add a feature to a route relation, select the feature and scroll down to the \"All relations\" section of the feature editor, then click the {plus} add button to add this feature to a nearby existing relation or a new relation.",boundary_h:"Boundaries",boundary:"A *boundary* relation is a group of one or more line features that together form an administrative boundary.",boundary_add:"To add a feature to a boundary relation, select the feature and scroll down to the \"All relations\" section of the feature editor, then click the {plus} add button to add this feature to a nearby existing relation or a new relation."},imagery:{title:"Background Imagery",intro:"The background imagery that appears beneath the map data is an important resource for mapping. This imagery can be aerial photos collected from satellites, airplanes, and drones, or it can be scanned historical maps or other freely available source data.",sources_h:"Imagery Sources",choosing:"To see which imagery sources are available for editing, click the {layers} **Background settings** button on the side of the map.",sources:"By default, a [Bing Maps](https://www.bing.com/maps/) satellite layer is chosen as the background image. Depending on where you are editing, other imagery sources will be available. Some may be newer or have higher resolution, so it is always useful to check and see which layer is the best one to use as a mapping reference.",offsets_h:"Adjusting Imagery Offset",offset:"Imagery is sometimes offset slightly from accurate map data. If you see a lot of roads or buildings shifted from the background imagery, it may be the imagery that's incorrect, so don't move them all to match the background. Instead, you can adjust the background so that it matches the existing data by expanding the \"Adjust Imagery Offset\" section at the bottom of the Background Settings pane.",offset_change:"Click on the small triangles to adjust the imagery offset in small steps, or hold the left mouse button and drag within the gray square to slide the imagery into alignment."},streetlevel:{title:"Street Level Photos",intro:"Street level photos are useful for mapping traffic signs, businesses, and other details that you can't see from satellite and aerial images. The iD editor supports street level photos from [Mapillary](https://www.mapillary.com) and [OpenStreetCam](https://www.openstreetcam.org).",using_h:"Using Street Level Photos",using:"To use street level photos for mapping, click the {data} **Map data** panel on the side of the map to enable or disable the available photo layers.",photos:"When enabled, the photo layer displays a line along the sequence of photos. At higher zoom levels, a circle marks at each photo location, and at even higher zoom levels, a cone indicates the direction the camera was facing when the photo was taken.",viewer:"When you click on one of the photo locations, a photo viewer appears in the bottom corner of the map. The photo viewer contains controls to step forward and backward in the image sequence. It also shows the username of the person who captured the image, the date it was captured, and a link to view the image on the original site."},gps:{title:"GPS Traces",intro:"Collected GPS traces are a valuable source of data for OpenStreetMap. This editor supports *.gpx*, *.geojson*, and *.kml* files on your local computer. You can collect GPS traces with a smartphone, sports watch, or other GPS device.",survey:"For information on how to perform a GPS survey, read [Mapping with a smartphone, GPS, or paper](http://learnosm.org/en/mobile-mapping/).",using_h:"Using GPS Traces",using:"To use a GPS trace for mapping, drag and drop the data file onto the map editor. If it's recognized, it will be drawn on the map as a bright purple line. Click the {data} **Map data** panel on the side of the map to enable, disable, or zoom to your GPS data.",tracing:"The GPS track isn't sent to OpenStreetMap - the best way to use it is to draw on the map, using it as a guide for the new features that you add.",upload:"You can also [upload your GPS data to OpenStreetMap](https://www.openstreetmap.org/trace/create) for other users to use."},field:{restrictions:{title:"Turn Restrictions Help",about:{title:"About",about:"This field allows you to inspect and modify turn restrictions. It displays a model of the selected intersection including other nearby connected roads.",from_via_to:"A turn restriction always contains: one **FROM way**, one **TO way**, and either one **VIA node** or one or more **VIA ways**.",maxdist:"The \"{distField}\" slider controls how far to search for additional connected roads.",maxvia:"The \"{viaField}\" slider adjusts how many via ways may be included in the search. (Tip: simple is better)"},inspecting:{title:"Inspecting",about:"Hover over any **FROM** segment to see whether it has any turn restrictions. Each possible **TO** destination will be drawn with a colored shadow showing whether a restriction exists.",from_shadow:"{fromShadow} **FROM segment**",allow_shadow:"{allowShadow} **TO Allowed**",restrict_shadow:"{restrictShadow} **TO Restricted**",only_shadow:"{onlyShadow} **TO Only**",restricted:"\"Restricted\" means that there is a turn restriction, for example \"No Left Turn\".",only:"\"Only\" means that a vehicle taking that path may only make that choice, for example \"Only Straight On\"."},modifying:{title:"Modifying",about:"To modify turn restrictions, first click on any starting **FROM** segment to select it. The selected segment will pulse, and all possible **TO** destinations will appear as turn symbols.",indicators:"Then, click on a turn symbol to toggle it between \"Allowed\", \"Restricted\", and \"Only\".",allow_turn:"{allowTurn} **TO Allowed**",restrict_turn:"{restrictTurn} **TO Restricted**",only_turn:"{onlyTurn} **TO Only**"},tips:{title:"Tips",simple:"**Prefer simple restrictions over complex ones.**",simple_example:"For example, avoid creating a via-way restriction if a simpler via-node turn restriction will do.",indirect:"**Some restrictions display the text \"(indirect)\" and are drawn lighter.**",indirect_example:"These restrictions exist because of another nearby restriction. For example, an \"Only Straight On\" restriction will indirectly create \"No Turn\" restrictions for all other paths through the intersection.",indirect_noedit:"You may not edit indirect restrictions. Instead, edit the nearby direct restriction."}}}},intro:{done:"done",ok:"OK",graph:{block_number:"",city:"Three Rivers",county:"",district:"",hamlet:"",neighbourhood:"",postcode:"49093",province:"",quarter:"",state:"MI",subdistrict:"",suburb:"",countrycode:"us",name:{"1st-avenue":"1st Avenue","2nd-avenue":"2nd Avenue","4th-avenue":"4th Avenue","5th-avenue":"5th Avenue","6th-avenue":"6th Avenue","6th-street":"6th Street","7th-avenue":"7th Avenue","8th-avenue":"8th Avenue","9th-avenue":"9th Avenue","10th-avenue":"10th Avenue","11th-avenue":"11th Avenue","12th-avenue":"12th Avenue","access-point-employment":"Access Point Employment","adams-street":"Adams Street","andrews-elementary-school":"Andrews Elementary School","andrews-street":"Andrews Street","armitage-street":"Armitage Street","barrows-school":"Barrows School","battle-street":"Battle Street","bennett-street":"Bennett Street","bowman-park":"Bowman Park","collins-drive":"Collins Drive","conrail-railroad":"Conrail Railroad","conservation-park":"Conservation Park","constantine-street":"Constantine Street","cushman-street":"Cushman Street","dollar-tree":"Dollar Tree","douglas-avenue":"Douglas Avenue","east-street":"East Street","elm-street":"Elm Street","flower-street":"Flower Street","foster-street":"Foster Street","french-street":"French Street","garden-street":"Garden Street","gem-pawnbroker":"Gem Pawnbroker","golden-finch-framing":"Golden Finch Framing","grant-avenue":"Grant Avenue","hoffman-pond":"Hoffman Pond","hoffman-street":"Hoffman Street","hook-avenue":"Hook Avenue","jefferson-street":"Jefferson Street","kelsey-street":"Kelsey Street","lafayette-park":"LaFayette Park","las-coffee-cafe":"L.A.'s Coffee Cafe","lincoln-avenue":"Lincoln Avenue","lowrys-books":"Lowry's Books","lynns-garage":"Lynn's Garage","main-street-barbell":"Main Street Barbell","main-street-cafe":"Main Street Cafe","main-street-fitness":"Main Street Fitness","main-street":"Main Street","maple-street":"Maple Street","marina-park":"Marina Park","market-street":"Market Street","memory-isle-park":"Memory Isle Park","memory-isle":"Memory Isle","michigan-avenue":"Michigan Avenue","middle-street":"Middle Street","millard-street":"Millard Street","moore-street":"Moore Street","morris-avenue":"Morris Avenue","mural-mall":"Mural Mall","paisanos-bar-and-grill":"Paisano's Bar and Grill","paisley-emporium":"Paisley Emporium","paparazzi-tattoo":"Paparazzi Tattoo","pealer-street":"Pealer Street","pine-street":"Pine Street","pizza-hut":"Pizza Hut","portage-avenue":"Portage Avenue","portage-river":"Portage River","preferred-insurance-services":"Preferred Insurance Services","railroad-drive":"Railroad Drive","river-city-appliance":"River City Appliance","river-drive":"River Drive","river-road":"River Road","river-street":"River Street","riverside-cemetery":"Riverside Cemetery","riverwalk-trail":"Riverwalk Trail","riviera-theatre":"Riviera Theatre","rocky-river":"Rocky River","saint-joseph-river":"Saint Joseph River","scidmore-park-petting-zoo":"Scidmore Park Petting Zoo","scidmore-park":"Scidmore Park","scouter-park":"Scouter Park","sherwin-williams":"Sherwin-Williams","south-street":"South Street","southern-michigan-bank":"Southern Michigan Bank","spring-street":"Spring Street","sturgeon-river-road":"Sturgeon River Road","three-rivers-city-hall":"Three Rivers City Hall","three-rivers-elementary-school":"Three Rivers Elementary School","three-rivers-fire-department":"Three Rivers Fire Department","three-rivers-high-school":"Three Rivers High School","three-rivers-middle-school":"Three Rivers Middle School","three-rivers-municipal-airport":"Three Rivers Municipal Airport","three-rivers-post-office":"Three Rivers Post Office","three-rivers-public-library":"Three Rivers Public Library","three-rivers":"Three Rivers","unique-jewelry":"Unique Jewelry","walnut-street":"Walnut Street","washington-street":"Washington Street","water-street":"Water Street","west-street":"West Street","wheeler-street":"Wheeler Street","william-towing":"William Towing","willow-drive":"Willow Drive","wood-street":"Wood Street","world-fare":"World Fare"}},welcome:{title:"Welcome",welcome:"Welcome! This walkthrough will teach you the basics of editing on OpenStreetMap.",practice:"All of the data in this walkthrough is just for practicing, and any edits that you make in the walkthrough will not be saved.",words:"This walkthrough will introduce some new words and concepts. When we introduce a new word, we'll use *italics*.",mouse:"You can use any input device to edit the map, but this walkthrough assumes you have a mouse with left and right buttons. **If you want to attach a mouse, do so now, then click OK.**",leftclick:"When this tutorial asks you to click or double-click, we mean with the left button. On a trackpad it might be a single-click or single-finger tap. **Left-click {num} times.**",rightclick:"Sometimes we'll also ask you to right-click. This might be the same as control-click, or two-finger tap on a trackpad. Your keyboard might even have a 'menu' key that works like right-click. **Right-click {num} times.**",chapters:"So far, so good! You can use the buttons below to skip chapters at any time or to restart a chapter if you get stuck. Let's begin! **Click '{next}' to continue.**"},navigation:{title:"Navigation",drag:"The main map area shows OpenStreetMap data on top of a background.{br}You can drag the map by pressing and holding the left mouse button while moving the mouse around. You can also use the arrow keys on your keyboard. **Drag the map!**",zoom:"You can zoom in or out by scrolling with the mouse wheel or trackpad, or by clicking the {plus} / {minus} buttons. **Zoom the map!**",features:"We use the word *features* to describe the things that appear on the map. Anything in the real world can be mapped as a feature on OpenStreetMap.",points_lines_areas:"Map features are represented using *points, lines, or areas.*",nodes_ways:"In OpenStreetMap, points are sometimes called *nodes*, and lines and areas are sometimes called *ways*.",click_townhall:"All features on the map can be selected by clicking on them. **Click on the point to select it.**",selected_townhall:"Great! The point is now selected. Selected features are drawn with a pulsing glow.",editor_townhall:"When a feature is selected, the *feature editor* is displayed alongside the map.",preset_townhall:"The top part of the feature editor shows the feature's type. This point is a {preset}.",fields_townhall:"The middle part of the feature editor contains *fields* showing the feature's attributes, such as its name and address.",close_townhall:"**Close the feature editor by hitting escape or pressing the {button} button in the upper corner.**",search_street:"You can also search for features in the current view, or worldwide. **Search for '{name}'.**",choose_street:"**Choose {name} from the list to select it.**",selected_street:"Great! {name} is now selected.",editor_street:"The fields shown for a street are different than the fields that were shown for the town hall.{br}For this selected street, the feature editor shows fields like '{field1}' and '{field2}'. **Close the feature editor by hitting escape or pressing the {button} button.**",play:"Try moving the map and clicking on some other features to see what kinds of things can be added to OpenStreetMap. **When you are ready to continue to the next chapter, click '{next}'.**"},points:{title:"Points",add_point:"*Points* can be used to represent features such as shops, restaurants, and monuments.{br}They mark a specific location, and describe what's there. **Click the {button} Point button to add a new point.**",place_point:"To place the new point on the map, position your mouse cursor where the point should go, then left-click or press the spacebar. **Move the mouse pointer over this building, then left-click or press the spacebar.**",search_cafe:"There are many different features that can be represented by points. The point you just added is a cafe. **Search for '{preset}'.**",choose_cafe:"**Choose {preset} from the list.**",feature_editor:"The point is now marked as a cafe. Using the feature editor, we can add more information about the cafe.",add_name:"In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.{br}Let's pretend that you have local knowledge of this cafe, and you know its name. **Add a name for the cafe.**",add_close:"The feature editor will remember all of your changes automatically. **When you are finished adding the name, hit escape, enter, or 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 cafe you just created.**",update:"Let's fill in some more details for this cafe. You can change its name, add a cuisine, or add an address. **Change the cafe details.**",update_close:"**When you are finished updating the cafe, hit escape, enter, or click the {button} button to close the feature editor.**",rightclick:"You can right-click on any feature to see the *edit menu*, which shows a list of editing operations that can be performed. **Right-click to select the point you created and show the edit menu.**","delete":"It's OK to delete features that don't exist in the real world.{br}Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it. **Click on the {button} button to delete the point.**",undo:"You can always undo any changes up until you save your edits to OpenStreetMap. **Click on the {button} button to undo the delete and get the point back.**",play:"Now that you know how to create and edit points, try creating a few more points for practice! **When you are ready to continue to the next chapter, click '{next}'.**"},areas:{title:"Areas",add_playground:"*Areas* are used to show the boundaries of features like lakes, buildings, and residential areas.{br}They can 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.**",start_playground:"Let's add this playground to the map by drawing an area. Areas are drawn by placing *nodes* along the outer edge of the feature. **Click or press spacebar to place a starting node on one of the corners of the playground.**",continue_playground:"Continue drawing the area by placing more nodes along the playground's edge. It is OK to connect the area to the existing walking paths.{br}Tip: You can hold down the '{alt}' key to prevent nodes from connecting to other features. **Continue drawing an area for the playground.**",finish_playground:"Finish the area by pressing enter, or clicking again on either the first or last node. **Finish drawing an area for the playground.**",search_playground:"**Search for '{preset}'.**",choose_playground:"**Choose {preset} from the list.**",add_field:"This playground doesn't have an official name, so we won't add anything in the Name field.{br}Instead let's add some additional details about the playground to the Description field. **Open the Add Field list.**",choose_field:"**Choose {field} from the list.**",retry_add_field:"You didn't select the {field} field. Let's try again.",describe_playground:"**Add a description, then click the {button} button to close the feature editor.**",play:"Good job! Try drawing a few more areas, and see what other kinds of area features you can add to OpenStreetMap. **When you are ready to continue to the next chapter, click '{next}'.**"},lines:{title:"Lines",add_line:"*Lines* are used to represent features such as roads, railroads, and rivers. **Click the {button} Line button to add a new line.**",start_line:"Here is a road that is missing. Let's add it!{br}In OpenStreetMap, lines should be drawn down the center of the road. You can drag and zoom the map while drawing if necessary. **Start a new line by clicking at the top end of this missing road.**",intersect:"Click or press spacebar to add more nodes to the line.{br}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.**",retry_intersect:"The road needs to intersect {name}. Let's try again!",continue_line:"Continue drawing the line for the new road. Remember that you can drag and zoom the map if needed.{br}When you are finished drawing, click on the last node again. **Finish drawing the road.**",choose_category_road:"**Select {category} from the list.**",choose_preset_residential:"There are many different types of roads, but this one is a residential road. **Choose the {preset} type.**",retry_preset_residential:"You didn't select the {preset} type. **Click here to choose again.**",name_road:"**Give this road a name, then hit escape, enter, or click the {button} button to close the feature editor.**",did_name_road:"Looks good! Next we will learn how to update the shape of a line.",update_line:"Sometimes you will need to change the shape of an existing line. Here is a road that doesn't look quite right.",add_node:"We can add some nodes to this line to improve its shape. One way to add a node is to double-click the line where you want to add a node. **Double-click on the line to create a new node.**",start_drag_endpoint:"When a line is selected, you can drag any of its nodes by clicking and holding down the left mouse button while you drag. **Drag the endpoint to the place where these roads should intersect.**",finish_drag_endpoint:"This spot looks good. **Release the left mouse button to finish dragging.**",start_drag_midpoint:"Small triangles are drawn at the *midpoints* between nodes. Another way to create a new node is to drag a midpoint to a new location. **Drag the midpoint triangle to create a new node along the curve of the road.**",continue_drag_midpoint:"This line is looking much better! Continue to adjust this line by double-clicking or dragging midpoints until the curve matches the road shape. **When you're happy with how the line looks, click OK.**",delete_lines:"It's OK to delete lines for roads that don't exist in the real world.{br}Here's an example where the city planned a {street} but never built it. We can improve this part of the map by deleting the extra lines.",rightclick_intersection:"The last real street is {street1}, so we will *split* {street2} at this intersection and remove everything above it. **Right click on the intersection node.**",split_intersection:"**Click on the {button} button to split {street}.**",retry_split:"You didn't click the Split button. Try again.",did_split_multi:"Good job! {street1} is now split into two pieces. The top part can be removed. **Click the top part of {street2} to select it.**",did_split_single:"**Click the top part of {street2} to select it.**",multi_select:"{selected} is now selected. Let's also select {other1}. You can shift-click to select multiple things. **Shift-click on {other2}.**",multi_rightclick:"Good! Both lines to delete are now selected. **Right-click on one of the lines to show the edit menu.**",multi_delete:"**Click on the {button} button to delete the extra lines.**",retry_delete:"You didn't click the Delete button. Try again.",play:"Great! Use the skills that you've learned in this chapter to practice editing some more lines. **When you are ready to continue to the next chapter, click '{next}'.**"},buildings:{title:"Buildings",add_building:"OpenStreetMap is the world's largest database of buildings.{br}You can help improve this database by tracing buildings that aren't already mapped. **Click the {button} Area button to add a new area.**",start_building:"Let's add this house to the map by tracing its outline.{br}Buildings should be traced around their footprint as accurately as possible. **Click or press spacebar to place a starting node on one of the corners of the building.**",continue_building:"Continue adding more nodes to trace the outline of the building. Remember that you can zoom in if you want to add more details.{br}Finish the building by pressing enter, or clicking again on either the first or last node. **Finish tracing the building.**",retry_building:"It looks like you had some trouble placing the nodes at the building corners. Try again!",choose_category_building:"**Choose {category} from the list.**",choose_preset_house:"There are many different types of buildings, but this one is clearly a house.{br}If you're not sure of the type, it's OK to just choose the generic Building type. **Choose the {preset} type.**",close:"**Hit escape or click the {button} button to close the feature editor.**",rightclick_building:"**Right-click to select the building you created and show the edit menu.**",square_building:"The house that you just added will look even better with perfectly square corners. **Click on the {button} button to square the building shape.**",retry_square:"You didn't click the Square button. Try again.",done_square:"See how the corners of the building moved into place? Let's learn another useful trick.",add_tank:"Next we'll trace this circular storage tank. **Click the {button} Area button to add a new area.**",start_tank:"Don't worry, you won't need to draw a perfect circle. Just draw an area inside the tank that touches its edge. **Click or press spacebar to place a starting node on the edge of the tank.**",continue_tank:"Add a few more nodes around the edge. The circle will be created outside the nodes that you draw.{br}Finish the area by pressing enter, or clicking again on either the first or last node. **Finish tracing the tank.**",search_tank:"**Search for '{preset}'.**",choose_tank:"**Choose {preset} from the list.**",rightclick_tank:"**Right-click to select the storage tank you created and show the edit menu.**",circle_tank:"**Click on the {button} button to make the tank a circle.**",retry_circle:"You didn't click the Circularize button. Try again.",play:"Great Job! Practice tracing a few more buildings, and try some of the other commands on the edit menu. **When you are ready to continue to the next chapter, click '{next}'.**"},startediting:{title:"Start Editing",help:"You're now ready to edit OpenStreetMap!{br}You can replay this walkthrough anytime or view more documentation by clicking the {button} Help button or pressing the '{key}' key.",shortcuts:"You can view a list of commands along with their keyboard shortcuts by pressing the '{key}' key.",save:"Don't forget to regularly save your changes!",start:"Start mapping!"}},shortcuts:{title:"Keyboard shortcuts",tooltip:"Show the keyboard shortcuts screen.",toggle:{key:"?"},key:{alt:"Alt",backspace:"Backspace",cmd:"Cmd",ctrl:"Ctrl","delete":"Delete",del:"Del",end:"End",enter:"Enter",esc:"Esc",home:"Home",option:"Option",pause:"Pause",pgdn:"PgDn",pgup:"PgUp","return":"Return",shift:"Shift",space:"Space"},gesture:{drag:"drag"},or:"-or-",browsing:{title:"Browsing",navigation:{title:"Navigation",pan:"Pan map",pan_more:"Pan map by one screenful",zoom:"Zoom in / Zoom out",zoom_more:"Zoom in / Zoom out by a lot"},help:{title:"Help",help:"Show help/documentation",keyboard:"Show keyboard shortcuts"},display_options:{title:"Display options",background:"Show background options",background_switch:"Switch back to last background",map_data:"Show map data options",fullscreen:"Enter full screen mode",wireframe:"Toggle wireframe mode",minimap:"Toggle minimap"},selecting:{title:"Selecting features",select_one:"Select a single feature",select_multi:"Select multiple features",lasso:"Draw a selection lasso around features",search:"Find features matching search text"},with_selected:{title:"With feature selected",edit_menu:"Toggle edit menu"},vertex_selected:{title:"With node selected",previous:"Jump to previous node",next:"Jump to next node",first:"Jump to first node",last:"Jump to last node",change_parent:"Switch parent way"}},editing:{title:"Editing",drawing:{title:"Drawing",add_point:"'Add point' mode",add_line:"'Add line' mode",add_area:"'Add area' mode",place_point:"Place a point",disable_snap:"Hold to disable point snapping",stop_line:"Finish drawing a line or area"},operations:{title:"Operations",continue_line:"Continue a line at the selected node",merge:"Combine (merge) selected features",disconnect:"Disconnect features at the selected node",split:"Split a line into two at the selected node",reverse:"Reverse a line",move:"Move selected features",rotate:"Rotate selected features",orthogonalize:"Straighten line / Square area corners",circularize:"Circularize a closed line or area",reflect_long:"Reflect features across the longer axis",reflect_short:"Reflect features across the shorter axis","delete":"Delete selected features"},commands:{title:"Commands",copy:"Copy selected features",paste:"Paste copied features",undo:"Undo last action",redo:"Redo last action",save:"Save changes"}},tools:{title:"Tools",info:{title:"Information",all:"Toggle all information panels",background:"Toggle background panel",history:"Toggle history panel",location:"Toggle location panel",measurement:"Toggle measurement panel"}}},units:{feet:"{quantity} ft",miles:"{quantity} mi",square_feet:"{quantity} sq ft",square_miles:"{quantity} sq mi",acres:"{quantity} ac",meters:"{quantity} m",kilometers:"{quantity} km",square_meters:"{quantity} m²",square_kilometers:"{quantity} km²",hectares:"{quantity} ha",area_pair:"{area1} ({area2})",arcdegrees:"{quantity}°",arcminutes:"{quantity}′",arcseconds:"{quantity}″",north:"N",south:"S",east:"E",west:"W",coordinate:"{coordinate}{direction}",coordinate_pair:"{latitude}, {longitude}"},presets:{categories:{"category-barrier":{name:"Barrier Features"},"category-building":{name:"Building Features"},"category-golf":{name:"Golf Features"},"category-landuse":{name:"Land Use Features"},"category-natural-area":{name:"Natural Features"},"category-natural-line":{name:"Natural Features"},"category-natural-point":{name:"Natural 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_simple:{label:"Allowed Access"},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"}}},address:{label:"Address",placeholders:{block_number:"Block Number","block_number!jp":"Block No.",city:"City","city!jp":"City/Town/Village/Tokyo Special Ward","city!vn":"City/Town",conscriptionnumber:"123",country:"Country",county:"County","county!jp":"District",district:"District","district!vn":"Arrondissement/Town/District",floor:"Floor",hamlet:"Hamlet",housename:"Housename",housenumber:"123","housenumber!jp":"Building No./Lot No.",neighbourhood:"Neighbourhood","neighbourhood!jp":"Chōme/Aza/Koaza",place:"Place",postcode:"Postcode",province:"Province","province!jp":"Prefecture",quarter:"Quarter","quarter!jp":"Ōaza/Machi",state:"State",street:"Street",subdistrict:"Subdistrict","subdistrict!vn":"Ward/Commune/Townlet",suburb:"Suburb","suburb!jp":"Ward",unit:"Unit"}},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"},agrarian:{label:"Products"},amenity:{label:"Type"},animal_boarding:{label:"For Animals"},animal_breeding:{label:"For Animals"},animal_shelter:{label:"For Animals"},"area/highway":{label:"Type"},artist:{label:"Artist"},artwork_type:{label:"Type"},atm:{label:"ATM"},backrest:{label:"Backrest"},barrier:{label:"Type"},"bath/open_air":{label:"Open Air"},"bath/sand_bath":{label:"Sand Bath"},"bath/type":{label:"Specialty",options:{onsen:"Japanese Onsen",foot_bath:"Foot Bath",hot_spring:"Hot Spring"}},beauty:{label:"Shop Type"},bench:{label:"Bench"},bicycle_parking:{label:"Type"},bin:{label:"Waste Bin"},blood_components:{label:"Blood Components",options:{whole:"whole blood",plasma:"plasma",platelets:"platelets",stemcells:"stem cell samples"}},board_type:{label:"Type"},boules:{label:"Type"},boundary:{label:"Type"},brand:{label:"Brand"},brewery:{label:"Draft Beers"},bridge:{label:"Type",placeholder:"Default"},building_area:{label:"Building"},building:{label:"Building"},bunker_type:{label:"Type"},cables:{label:"Cables",placeholder:"1, 2, 3..."},"camera/direction":{label:"Direction (Degrees Clockwise)",placeholder:"45, 90, 180, 270"},"camera/mount":{label:"Camera Mount"},"camera/type":{label:"Camera Type",options:{fixed:"Fixed",panning:"Panning",dome:"Dome"}},capacity:{label:"Capacity",placeholder:"50, 100, 200..."},castle_type:{label:"Type"},clothes:{label:"Clothes"},club:{label:"Type"},collection_times:{label:"Collection Times"},comment:{label:"Changeset Comment",placeholder:"Brief description of your contributions (required)"},communication_multi:{label:"Communication Types"},construction:{label:"Type"},"contact/webcam":{label:"Webcam URL",placeholder:"http://example.com/"},content:{label:"Content"},country:{label:"Country"},covered:{label:"Covered"},craft:{label:"Type"},"crane/type":{label:"Crane Type",options:{portal_crane:"Portal Crane","floor-mounted_crane":"Floor-mounted Crane",travel_lift:"Travel Lift"}},crop:{label:"Crops"},crossing:{label:"Type"},cuisine:{label:"Cuisines"},currency_multi:{label:"Currency Types"},cutting:{label:"Type",placeholder:"Default"},cycle_network:{label:"Network"},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"}}},"dance/style":{label:"Dance Styles"},date:{label:"Date"},delivery:{label:"Delivery"},denomination:{label:"Denomination"},denotation:{label:"Denotation"},description:{label:"Description"},devices:{label:"Devices",placeholder:"1, 2, 3..."},diaper:{label:"Diaper Changing Available"},direction_cardinal:{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"}},direction_clock:{label:"Direction",options:{clockwise:"Clockwise",anticlockwise:"Counterclockwise"}},direction_vertex:{label:"Direction",options:{forward:"Forward",backward:"Backward",both:"Both / All"}},direction:{label:"Direction (Degrees Clockwise)",placeholder:"45, 90, 180, 270"},dispensing:{label:"Dispenses Prescriptions"},display:{label:"Display"},distance:{label:"Total Distance"},dock:{label:"Type"},drive_through:{label:"Drive-Through"},duration:{label:"Duration",placeholder:"00:00"},electrified:{label:"Electrification",placeholder:"Contact Line, Electrified Rail...",options:{contact_line:"Contact Line",rail:"Electrified Rail",yes:"Yes (unspecified)",no:"No"}},elevation:{label:"Elevation"},email:{label:"Email",placeholder:"example@example.com"},embankment:{label:"Type",placeholder:"Default"},emergency:{label:"Emergency"},entrance:{label:"Type"},except:{label:"Exceptions"},faces:{label:"Faces"},fax:{label:"Fax",placeholder:"+31 42 123 4567"},fee:{label:"Fee"},fence_type:{label:"Type"},"fire_hydrant/position":{label:"Position",options:{lane:"Lane",parking_lot:"Parking Lot",sidewalk:"Sidewalk",green:"Green"}},"fire_hydrant/type":{label:"Type",options:{pillar:"Pillar/Aboveground",underground:"Underground",wall:"Wall",pond:"Pond"}},fitness_station:{label:"Equipment Type"},fixme:{label:"Fix Me"},ford:{label:"Type",placeholder:"Default"},frequency:{label:"Operating Frequency"},fuel_multi:{label:"Fuel Types"},fuel:{label:"Fuel"},gauge:{label:"Gauge"},gender:{label:"Gender",placeholder:"Unknown",options:{male:"Male",female:"Female",unisex:"Unisex"}},"generator/method":{label:"Method"},"generator/output/electricity":{label:"Power Output",placeholder:"50 MW, 100 MW, 200 MW..."},"generator/source":{label:"Source"},"generator/type":{label:"Type"},government:{label:"Type"},grape_variety:{label:"Grape Varieties"},handicap:{label:"Handicap",placeholder:"1-18"},handrail:{label:"Handrail"},hashtags:{label:"Suggested Hashtags",placeholder:"#example"},healthcare:{label:"Type"},"healthcare/speciality":{label:"Specialties"},height:{label:"Height (Meters)"},highway:{label:"Type"},historic:{label:"Type"},"historic/civilization":{label:"Historic Civilization"},hoops:{label:"Hoops",placeholder:"1, 2, 4..."},horse_dressage:{label:"Dressage Riding",options:{"undefined":"No",equestrian:"Yes"}},horse_riding:{label:"Horseback Riding",options:{"undefined":"No",horse_riding:"Yes"}},horse_scale:{label:"Horseback Riding Difficulty",placeholder:"Difficult, Dangerous...",options:{common:"Easy: No problems or difficulties. (default)",demanding:"Use with caution: Uneven way, occasional difficult passages.",difficult:"Difficult: Way narrow and exposed. May contain obstacles to step over and narrow passages.",critical:"Borderline: Passable only for experienced riders and horses. Major obstacles. Bridges should be examined carefully.",dangerous:"Dangerous: Passable only for very experienced riders and horses and only in good weather. Dismount.",impossible:"Impassable: Way or bridge not passable for horses. Too narrow, insuffient support, obstacles like ladders. Danger of life."}},horse_stables:{label:"Riding Stable",options:{"undefined":"No",stables:"Yes"}},iata:{label:"IATA"},icao:{label:"ICAO"},incline_steps:{label:"Incline",options:{up:"Up",down:"Down"}},incline:{label:"Incline"},indoor:{label:"Indoor"},industrial:{label:"Type"},information:{label:"Type"},inscription:{label:"Inscription"},intermittent:{label:"Intermittent"},internet_access:{label:"Internet Access",options:{yes:"Yes",no:"No",wlan:"Wifi",wired:"Wired",terminal:"Terminal"}},"internet_access/fee":{label:"Internet Access Fee"},"internet_access/ssid":{label:"SSID (Network Name)"},kerb:{label:"Curb"},label:{label:"Label"},lamp_type:{label:"Type"},landuse:{label:"Type"},lanes:{label:"Lanes",placeholder:"1, 2, 3..."},layer:{label:"Layer",placeholder:"0"},leaf_cycle_singular:{label:"Leaf Cycle",options:{evergreen:"Evergreen",deciduous:"Deciduous",semi_evergreen:"Semi-Evergreen",semi_deciduous:"Semi-Deciduous"}},leaf_cycle:{label:"Leaf Cycle",options:{evergreen:"Evergreen",deciduous:"Deciduous",semi_evergreen:"Semi-Evergreen",semi_deciduous:"Semi-Deciduous",mixed:"Mixed"}},leaf_type_singular:{label:"Leaf Type",options:{broadleaved:"Broadleaved",needleleaved:"Needleleaved",leafless:"Leafless"}},leaf_type:{label:"Leaf Type",options:{broadleaved:"Broadleaved",needleleaved:"Needleleaved",mixed:"Mixed",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"},manhole:{label:"Type"},map_size:{label:"Coverage"},map_type:{label:"Type"},maxheight:{label:"Max Height",placeholder:"4, 4.5, 5, 14'0\", 14'6\", 15'0\""},maxspeed:{label:"Speed Limit",placeholder:"40, 50, 60..."},"maxspeed/advisory":{label:"Advisory Speed Limit",placeholder:"40, 50, 60..."},maxstay:{label:"Max Stay"},maxweight:{label:"Max Weight"},memorial:{label:"Type"},monitoring_multi:{label:"Monitoring"},"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_bicycle:{label:"Network Type",placeholder:"Local, Regional, National, International",options:{lcn:"Local",rcn:"Regional",ncn:"National",icn:"International"}},network_foot:{label:"Network Type",placeholder:"Local, Regional, National, International",options:{lwn:"Local",rwn:"Regional",nwn:"National",iwn:"International"}},network_horse:{label:"Network Type",placeholder:"Local, Regional, National, International",options:{lhn:"Local",rhn:"Regional",nhn:"National",ihn:"International"}},network_road:{label:"Network"},network:{label:"Network"},note:{label:"Note"},office:{label:"Type"},oneway_yes:{label:"One Way",options:{"undefined":"Assumed to be Yes",yes:"Yes",no:"No",reversible:"Reversible",alternating:"Alternating"}},oneway:{label:"One Way",options:{"undefined":"Assumed to be No",yes:"Yes",no:"No",reversible:"Reversible",alternating:"Alternating"}},opening_hours:{label:"Hours"},operator:{label:"Operator"},outdoor_seating:{label:"Outdoor Seating"},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"},phases:{label:"Phases",placeholder:"1, 2, 3..."},phone:{label:"Telephone",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"},plant:{label:"Plant"},"plant/output/electricity":{label:"Power Output",placeholder:"500 MW, 1000 MW, 2000 MW..."},"playground/baby":{label:"Baby Seat"},"playground/max_age":{label:"Maximum Age"},"playground/min_age":{label:"Minimum Age"},population:{label:"Population"},power_supply:{label:"Power Supply"},power:{label:"Type"},produce:{label:"Produce"},product:{label:"Products"},railway:{label:"Type"},"railway/position":{label:"Milestone Position",placeholder:"Distance to one decimal (123.4)"},"railway/signal/direction":{label:"Direction",options:{forward:"Forward",backward:"Backward",both:"Both / All"}},rating:{label:"Power Rating"},recycling_accepts:{label:"Accepts"},ref_aeroway_gate:{label:"Gate Number"},ref_golf_hole:{label:"Hole Number",placeholder:"1-18"},ref_highway_junction:{label:"Junction Number"},ref_platform:{label:"Platform Number"},ref_road_number:{label:"Road Number"},ref_route:{label:"Route Number"},ref_runway:{label:"Runway Number",placeholder:"e.g. 01L/19R"},ref_stop_position:{label:"Stop Number"},ref_taxiway:{label:"Taxiway Name",placeholder:"e.g. A5"},ref:{label:"Reference Code"},"ref/isil":{label:"ISIL Code"},relation:{label:"Type"},religion:{label:"Religion"},restriction:{label:"Type"},restrictions:{label:"Turn Restrictions"},rooms:{label:"Rooms"},route_master:{label:"Type"},route:{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"},second_hand:{label:"Sells Used",placeholder:"Yes, No, Only",options:{yes:"Yes",no:"No",only:"Only"}},service_rail:{label:"Service Type",options:{spur:"Spur",yard:"Yard",siding:"Siding",crossover:"Crossover"}},service_times:{label:"Service Times"},service:{label:"Type"},"service/bicycle":{label:"Services"},"service/vehicle":{label:"Services"},shelter_type:{label:"Type"},shelter:{label:"Shelter"},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"},social_facility:{label:"Type"},source:{label:"Sources"},sport_ice:{label:"Sports"},sport_racing_motor:{label:"Sports"},sport_racing_nonmotor:{label:"Sports"},sport:{label:"Sports"},stars:{label:"Stars"},start_date:{label:"Start Date"},step_count:{label:"Number of Steps"},stop:{label:"Stop Type",options:{all:"All Ways",minor:"Minor Road"}},structure_waterway:{label:"Structure",placeholder:"Unknown",options:{tunnel:"Tunnel"}},structure:{label:"Structure",placeholder:"Unknown",options:{bridge:"Bridge",tunnel:"Tunnel",embankment:"Embankment",cutting:"Cutting",ford:"Ford"}},studio:{label:"Type"},substance:{label:"Substance"},substation:{label:"Type"},supervised:{label:"Supervised"},support:{label:"Support"},surface:{label:"Surface"},surveillance:{label:"Surveillance Kind"},"surveillance/type":{label:"Surveillance Type",options:{camera:"Camera",guard:"Guard",ALPR:"Automatic License Plate Reader"}},"surveillance/zone":{label:"Surveillance Zone"},"switch":{label:"Type",options:{mechanical:"Mechanical",circuit_breaker:"Circuit Breaker",disconnector:"Disconnector",earthing:"Earthing"}},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"}},toll:{label:"Toll"},tomb:{label:"Type"},tourism_attraction:{label:"Tourism"},tourism:{label:"Type"},"tower/construction":{label:"Construction",placeholder:"Guyed, Lattice, Concealed, ..."},"tower/type":{label:"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"}},trade:{label:"Type"},traffic_calming:{label:"Type"},traffic_signals:{label:"Type"},"traffic_signals/direction":{label:"Direction",options:{forward:"Forward",backward:"Backward",both:"Both / All"}},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"}},transformer:{label:"Type",options:{distribution:"Distribution",generator:"Generator",converter:"Converter",traction:"Traction",auto:"Autotransformer",phase_angle_regulator:"Phase Angle Regulator",auxiliary:"Auxiliary",yes:"Unknown"}},trees:{label:"Trees"},tunnel:{label:"Type",placeholder:"Default"},usage_rail:{label:"Usage Type",options:{main:"Main",branch:"Branch",industrial:"Industrial",military:"Military",test:"Test",tourism:"Tourism"}},vending:{label:"Types of Goods"},visibility:{label:"Visibility",options:{house:"Up to 5m (16ft)",street:"5 to 20m (16 to 65ft)",area:"Over 20m (65ft)"}},"volcano/status":{label:"Volcano Status",options:{active:"Active",dormant:"Dormant",extinct:"Extinct"}},"volcano/type":{label:"Volcano Type",options:{stratovolcano:"Stratovolcano",shield:"Shield",scoria:"Scoria"}},voltage:{label:"Voltage"},"voltage/primary":{label:"Primary Voltage"},"voltage/secondary":{label:"Secondary Voltage"},"voltage/tertiary":{label:"Tertiary Voltage"},wall:{label:"Type"},water_point:{label:"Water Point"},water:{label:"Type"},waterway:{label:"Type"},website:{label:"Website",placeholder:"http://example.com/"},wetland:{label:"Type"},wheelchair:{label:"Wheelchair Access"},wholesale:{label:"Wholesale"},width:{label:"Width (Meters)"},wikipedia:{label:"Wikipedia"},windings:{label:"Windings",placeholder:"1, 2, 3..."},"windings/configuration":{label:"Windings Configuration",options:{star:"Star / Wye",delta:"Delta","open-delta":"Open Delta",zigzag:"Zig Zag",open:"Open",scott:"Scott",leblanc:"Leblanc"}}},presets:{aerialway:{name:"Aerialway",terms:"ski lift,funifor,funitel"},aeroway:{name:"Aeroway",terms:""},amenity:{name:"Amenity",terms:""},circular:{name:"Traffic Circle",terms:""},highway:{name:"Highway",terms:""},place:{name:"Place",terms:""},power:{name:"Power",terms:""},railway:{name:"Railway",terms:""},roundabout:{name:"Roundabout",terms:""},waterway:{name:"Waterway",terms:""},address:{name:"Address",terms:""},"advertising/billboard":{name:"Billboard",terms:""},"advertising/column":{name:"Advertising Column",terms:""},"aerialway/station":{name:"Aerialway Station",terms:""},"aerialway/cable_car":{name:"Cable Car",terms:"tramway,ropeway"},"aerialway/chair_lift":{name:"Chair Lift",terms:""},"aerialway/drag_lift":{name:"Drag Lift",terms:""},"aerialway/gondola":{name:"Gondola",terms:""},"aerialway/goods":{name:"Goods Aerialway",terms:""},"aerialway/magic_carpet":{name:"Magic Carpet Lift",terms:""},"aerialway/mixed_lift":{name:"Mixed 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/t-bar":{name:"T-bar Lift",terms:"tbar"},"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"},"allotments/plot":{name:"Community Garden Plot",terms:""},"amenity/bus_station":{name:"Bus Station / Terminal",terms:""},"amenity/coworking_space":{name:"Coworking Space",terms:""},"amenity/ferry_terminal":{name:"Ferry Station / Terminal",terms:""},"amenity/nursing_home":{name:"Nursing Home",terms:""},"amenity/register_office":{name:"Register Office",terms:""},"amenity/scrapyard":{name:"Scrap Yard",terms:""},"amenity/swimming_pool":{name:"Swimming Pool",terms:""},"amenity/animal_boarding":{name:"Animal Boarding Facility",terms:"boarding,cat,cattery,dog,horse,kennel,kitten,pet,pet boarding,pet care,pet hotel,puppy,reptile"},"amenity/animal_breeding":{name:"Animal Breeding Facility",terms:"breeding,bull,cat,cow,dog,horse,husbandry,kitten,livestock,pet breeding,puppy,reptile"},"amenity/animal_shelter":{name:"Animal Shelter",terms:"adoption,aspca,cat,dog,horse,kitten,pet care,pet rescue,puppy,raptor,reptile,rescue,spca"},"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/cafe":{name:"Cafe",terms:"bistro,coffee,tea"},"amenity/car_pooling":{name:"Car Pooling",terms:""},"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/clinic/abortion":{name:"Abortion Clinic",terms:""},"amenity/clinic/fertility":{name:"Fertility Clinic",terms:"egg,fertility,reproductive,sperm,ovulation"},"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/crematorium":{name:"Crematorium",terms:"cemetery,funeral"},"amenity/dentist":{name:"Dentist",terms:"tooth,teeth"},"amenity/doctors":{name:"Doctor",terms:"medic*,physician"},"amenity/dojo":{name:"Dojo / Martial Arts Academy",terms:"martial arts,dojang"},"amenity/drinking_water":{name:"Drinking Water",terms:"fountain,potable"},"amenity/driving_school":{name:"Driving School",terms:""},"amenity/embassy":{name:"Embassy",terms:""},"amenity/fast_food":{name:"Fast Food",terms:"restaurant,takeaway"},"amenity/fire_station":{name:"Fire Station",terms:""},"amenity/food_court":{name:"Food Court",terms:"fast food,restaurant,food"},"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,infirmary,institution,sanatorium,sanitarium,sick,surgery,ward"},"amenity/hunting_stand":{name:"Hunting Stand",terms:"game,gun,lookout,rifle,shoot*,wild,watch"},"amenity/ice_cream":{name:"Ice Cream Shop",terms:"gelato,sorbet,sherbet,frozen,yogurt"},"amenity/internet_cafe":{name:"Internet Cafe",terms:"cybercafe,taxiphone,teleboutique,coffee,cafe,net,lanhouse"},"amenity/kindergarten":{name:"Preschool/Kindergarten Grounds",terms:"kindergarden,pre-school"},"amenity/library":{name:"Library",terms:"book"},"amenity/love_hotel":{name:"Love Hotel",terms:""},"amenity/marketplace":{name:"Marketplace",terms:""},"amenity/monastery":{name:"Monastery Grounds",terms:"abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,monastery,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"},"amenity/motorcycle_parking":{name:"Motorcycle Parking",terms:""},"amenity/music_school":{name:"Music School",terms:"school of music"},"amenity/nightclub":{name:"Nightclub",terms:"disco*,night club,dancing,dance club"},"amenity/parking_entrance":{name:"Parking Garage Entrance/Exit",terms:""},"amenity/parking_space":{name:"Parking Space",terms:""},"amenity/parking":{name:"Car Parking",terms:""},"amenity/pavilion":{name:"Pavilion",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/hindu":{name:"Hindu Temple",terms:"kovil,devasthana,mandir,kshetram,alayam,shrine,temple"},"amenity/place_of_worship/jewish":{name:"Synagogue",terms:"jewish"},"amenity/place_of_worship/muslim":{name:"Mosque",terms:"muslim"},"amenity/place_of_worship/shinto":{name:"Shinto Shrine",terms:"kami,torii"},"amenity/place_of_worship/sikh":{name:"Sikh Temple",terms:"gurudwara,temple"},"amenity/place_of_worship/taoist":{name:"Taoist Temple",terms:"daoist,monastery,temple"},"amenity/planetarium":{name:"Planetarium",terms:"museum,astronomy,observatory"},"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:"alcohol,drink,dive,beer,bier,booze"},"amenity/public_bath":{name:"Public Bath",terms:"onsen,foot bath,hot springs"},"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_centre":{name:"Recycling Center",terms:"bottle,can,dump,glass,garbage,rubbish,scrap,trash"},"amenity/recycling":{name:"Recycling Container",terms:"bin,can,bottle,glass,garbage,rubbish,scrap,trash"},"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/shower":{name:"Shower",terms:"rain closet"},"amenity/smoking_area":{name:"Smoking Area",terms:""},"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,care home,assisted living"},"amenity/social_facility/homeless_shelter":{name:"Homeless Shelter",terms:"houseless,unhoused,displaced"},"amenity/social_facility/nursing_home":{name:"Nursing Home",terms:"elderly,living,nursing,old,senior,assisted living"},"amenity/studio":{name:"Studio",terms:"recording,radio,television"},"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":{name:"Vending Machine",terms:""},"amenity/vending_machine/news_papers":{name:"Newspaper Vending Machine",terms:"newspaper"},"amenity/vending_machine/cigarettes":{name:"Cigarette Vending Machine",terms:"cigarette"},"amenity/vending_machine/coffee":{name:"Coffee Vending Machine",terms:"coffee"},"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/electronics":{name:"Electronics Vending Machine",terms:"cable,charger,earbud,headphone,phone,tablet"},"amenity/vending_machine/elongated_coin":{name:"Flat Coin Vending Machine",terms:"coin,crush,elongated,flatten,penny,souvenir"},"amenity/vending_machine/excrement_bags":{name:"Excrement Bag Vending Machine",terms:"excrement bags,poop,dog,animal"},"amenity/vending_machine/feminine_hygiene":{name:"Feminine Hygiene Vending Machine",terms:"condom,tampon,pad,woman,women,menstrual hygiene products,personal care"},"amenity/vending_machine/food":{name:"Food Vending Machine",terms:"food"},"amenity/vending_machine/fuel":{name:"Gas Pump",terms:"petrol,fuel,gasoline,propane,diesel,lng,cng,biodiesel"},"amenity/vending_machine/ice_cream":{name:"Ice Cream Vending Machine",terms:"chocolate,ice cream,frozen,popsicle,vanilla"},"amenity/vending_machine/newspapers":{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/stamps":{name:"Postage Vending Machine",terms:"mail,postage,stamp"},"amenity/vending_machine/sweets":{name:"Snack Vending Machine",terms:"candy,gum,chip,pretzel,cookie,cracker"},"amenity/veterinary":{name:"Veterinary",terms:"pet clinic,veterinarian,animal hospital,pet doctor"},"amenity/waste_basket":{name:"Waste Basket",terms:"bin,garbage,rubbish,litter,trash"},"amenity/waste_disposal":{name:"Garbage Dumpster",terms:"garbage,rubbish,litter,trash"},"amenity/waste_transfer_station":{name:"Waste Transfer Station",terms:"dump,garbage,recycling,rubbish,scrap,trash"},"amenity/waste/dog_excrement":{name:"Dog Excrement Bin",terms:"bin,garbage,rubbish,litter,trash,poo,dog"},"amenity/water_point":{name:"RV Drinking Water",terms:""},"amenity/watering_place":{name:"Animal Watering Place",terms:""},area:{name:"Area",terms:""},"area/highway":{name:"Road Surface",terms:""},"attraction/amusement_ride":{name:"Amusement Ride",terms:"theme park,carnival ride"},"attraction/animal":{name:"Animal",terms:"zoo,theme park,animal park,lion,tiger,bear"},"attraction/big_wheel":{name:"Big Wheel",terms:"ferris wheel,theme park,amusement ride"},"attraction/bumper_car":{name:"Bumper Car",terms:"theme park,dodgem cars,autoscooter"},"attraction/bungee_jumping":{name:"Bungee Jumping",terms:"theme park,bungy jumping,jumping platform"},"attraction/carousel":{name:"Carousel",terms:"theme park,roundabout,merry-go-round,galloper,jumper,horseabout,flying horses"},"attraction/dark_ride":{name:"Dark Ride",terms:"theme park,ghost train"},"attraction/drop_tower":{name:"Drop Tower",terms:"theme park,amusement ride,gondola,tower,big drop"},"attraction/maze":{name:"Maze",terms:"theme park,amusement ride,labyrinth"},"attraction/pirate_ship":{name:"Pirate Ship",terms:"theme park,carnival ride,amusement ride"},"attraction/river_rafting":{name:"River Rafting",terms:"theme park,aquatic park,water park,rafting simulator,river rafting ride,river rapids ride"},"attraction/roller_coaster":{name:"Roller Coaster",terms:"theme park,amusement ride"},"attraction/train":{name:"Tourist Train",terms:"theme park,rackless train,road train,Tschu-Tschu train,dotto train,park train"},"attraction/water_slide":{name:"Water Slide",terms:"theme park,aquatic park,water park,flumes,water chutes,hydroslides"},barrier:{name:"Barrier",terms:""},"barrier/entrance":{name:"Entrance",terms:""},"barrier/block":{name:"Block",terms:""},"barrier/bollard":{name:"Bollard",terms:""},"barrier/border_control":{name:"Border Control",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/fence":{name:"Fence",terms:""},"barrier/gate":{name:"Gate",terms:""},"barrier/hedge":{name:"Hedge",terms:""},"barrier/kerb":{name:"Kerb",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/bunker":{name:"Bunker",terms:""},"building/entrance":{name:"Entrance/Exit",terms:""},"building/train_station":{name:"Train Station",terms:""},"building/apartments":{name:"Apartments",terms:""},"building/barn":{name:"Barn",terms:""},"building/boathouse":{name:"Boathouse",terms:""},"building/bungalow":{name:"Bungalow",terms:"home,detached"},"building/cabin":{name:"Cabin",terms:""},"building/cathedral":{name:"Cathedral Building",terms:""},"building/chapel":{name:"Chapel Building",terms:""},"building/church":{name:"Church Building",terms:""},"building/civic":{name:"Civic 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/farm_auxiliary":{name:"Farm Building",terms:""},"building/farm":{name:"Farm House",terms:""},"building/garage":{name:"Garage",terms:""},"building/garages":{name:"Garages",terms:""},"building/grandstand":{name:"Grandstand",terms:"tribune,stand,stands,bleachers"},"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/mosque":{name:"Mosque Building",terms:""},"building/public":{name:"Public Building",terms:""},"building/residential":{name:"Residential Building",terms:""},"building/retail":{name:"Retail Building",terms:""},"building/roof":{name:"Roof",terms:""},"building/ruins":{name:"Building Ruins",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/service":{name:"Service Building",terms:""},"building/shed":{name:"Shed",terms:""},"building/stable":{name:"Stable",terms:""},"building/stadium":{name:"Stadium Building",terms:""},"building/static_caravan":{name:"Static Mobile Home",terms:""},"building/temple":{name:"Temple Building",terms:""},"building/terrace":{name:"Row Houses",terms:"home,terrace,brownstone,family,residence,dwelling"},"building/transportation":{name:"Transportation Building",terms:""},"building/university":{name:"University Building",terms:"college"},"building/warehouse":{name:"Warehouse",terms:""},"camp_site/camp_pitch":{name:"Camp Pitch",terms:"tent,rv"},club:{name:"Club",terms:"social"},craft:{name:"Craft",terms:""},"craft/jeweler":{name:"Jeweler",terms:""},"craft/locksmith":{name:"Locksmith",terms:""},"craft/optician":{name:"Optician",terms:""},"craft/tailor":{name:"Tailor",terms:"clothes,suit"},"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:"alcohol,beer,beverage,bier,booze,cider"},"craft/carpenter":{name:"Carpenter",terms:"woodworker"},"craft/carpet_layer":{name:"Carpet Layer",terms:""},"craft/caterer":{name:"Caterer",terms:""},"craft/chimney_sweeper":{name:"Chimney Sweeper",terms:""},"craft/clockmaker":{name:"Clockmaker",terms:""},"craft/confectionery":{name:"Candy Maker",terms:"sweet,candy"},"craft/distillery":{name:"Distillery",terms:"alcohol,beverage,bourbon,booze,brandy,gin,hooch,liquor,mezcal,moonshine,rum,scotch,spirits,still,tequila,vodka,whiskey,whisky"},"craft/dressmaker":{name:"Dressmaker",terms:"seamstress"},"craft/electrician":{name:"Electrician",terms:"power,wire"},"craft/electronics_repair":{name:"Electronics Repair Shop",terms:""},"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/key_cutter":{name:"Key Cutter",terms:""},"craft/metal_construction":{name:"Metal Construction",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/sculptor":{name:"Sculptor",terms:""},"craft/shoemaker":{name:"Shoemaker",terms:"cobbler"},"craft/stonemason":{name:"Stonemason",terms:"masonry"},"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/designated":{name:"Emergency Access Designated",terms:""},"emergency/destination":{name:"Emergency Access Destination",terms:""},"emergency/no":{name:"Emergency Access No",terms:""},"emergency/official":{name:"Emergency Access Official",terms:""},"emergency/private":{name:"Emergency Access Private",terms:""},"emergency/yes":{name:"Emergency Access Yes",terms:""},"emergency/ambulance_station":{name:"Ambulance Station",terms:"EMS,EMT,rescue"},"emergency/defibrillator":{name:"Defibrillator",terms:"AED"},"emergency/fire_extinguisher":{name:"Fire Extinguisher",terms:""},"emergency/fire_hydrant":{name:"Fire Hydrant",terms:"fire plug"},"emergency/life_ring":{name:"Life Ring",terms:"life buoy,kisby ring,kisbie ring,perry buoy"},"emergency/phone":{name:"Emergency Phone",terms:""},"emergency/water_tank":{name:"Emergency Water Tank",terms:"water tank,cistern,reservoir"},entrance:{name:"Entrance/Exit",terms:""},"footway/crossing-raised":{name:"Raised Street Crossing",terms:"flat top,hump,speed,slow"},"footway/crossing":{name:"Street Crossing",terms:""},"footway/crosswalk-raised":{name:"Raised Pedestrian Crosswalk",terms:"zebra crossing,flat top,hump,speed,slow"},"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_area":{name:"Lateral Water Hazard",terms:""},"golf/lateral_water_hazard_line":{name:"Lateral Water Hazard",terms:""},"golf/rough":{name:"Rough",terms:""},"golf/tee":{name:"Tee Box",terms:"teeing ground"},"golf/water_hazard_area":{name:"Water Hazard",terms:""},"golf/water_hazard_line":{name:"Water Hazard",terms:""},healthcare:{name:"Healthcare Facility",terms:"clinic,doctor,disease,health,institution,sick,surgery,wellness"},"healthcare/alternative":{name:"Alternative Medicine",terms:"acupuncture,anthroposophical,applied kinesiology,aromatherapy,ayurveda,herbalism,homeopathy,hydrotherapy,hypnosis,naturopathy,osteopathy,reflexology,reiki,shiatsu,traditional,tuina,unani"},"healthcare/alternative/chiropractic":{name:"Chiropractor",terms:"back,pain,spine"},"healthcare/audiologist":{name:"Audiologist",terms:"ear,hearing,sound"},"healthcare/birthing_center":{name:"Birthing Center",terms:"baby,childbirth,delivery,labour,labor,pregnancy"},"healthcare/blood_donation":{name:"Blood Donor Center",terms:"blood bank,blood donation,blood transfusion,apheresis,plasmapheresis,plateletpheresis,stem cell donation"},"healthcare/hospice":{name:"Hospice",terms:"terminal,illness"},"healthcare/laboratory":{name:"Medical Laboratory",terms:"medical_laboratory,medical_lab,blood_check"},"healthcare/midwife":{name:"Midwife",terms:"baby,childbirth,delivery,labour,labor,pregnancy"},"healthcare/occupational_therapist":{name:"Occupational Therapist",terms:"therapist,therapy"},"healthcare/optometrist":{name:"Optometrist",terms:"eye,glasses,lasik,lenses,vision"},"healthcare/physiotherapist":{name:"Physiotherapist",terms:"physical,therapist,therapy"},"healthcare/podiatrist":{name:"Podiatrist",terms:"foot,feet,nails"},"healthcare/psychotherapist":{name:"Psychotherapist",terms:"anxiety,counselor,depression,mental health,mind,suicide,therapist,therapy"},"healthcare/rehabilitation":{name:"Rehabilitation Facility",terms:"rehab,therapist,therapy"},"healthcare/speech_therapist":{name:"Speech Therapist",terms:"speech,therapist,therapy,voice"},"highway/bus_stop":{name:"Bus Stop / Platform",terms:""},"highway/bridleway":{name:"Bridle Path",terms:"bridleway,equestrian,horse"},"highway/bus_guideway":{name:"Bus Guideway",terms:""},"highway/corridor":{name:"Indoor Corridor",terms:"gallery,hall,hallway,indoor,passage,passageway"},"highway/crossing-raised":{name:"Raised Street Crossing",terms:"flat top,hump,speed,slow"},"highway/crossing":{name:"Street Crossing",terms:""},"highway/crosswalk-raised":{name:"Raised Pedestrian Crosswalk",terms:"zebra crossing,flat top,hump,speed,slow"},"highway/crosswalk":{name:"Pedestrian Crosswalk",terms:"zebra crossing"},"highway/cycleway":{name:"Cycle Path",terms:"bike"},"highway/elevator":{name:"Elevator",terms:"lift"},"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_junction":{name:"Motorway Junction / Exit",terms:""},"highway/motorway_link":{name:"Motorway Link",terms:"ramp,on ramp,off ramp"},"highway/motorway":{name:"Motorway",terms:"autobahn,expressway,freeway,highway,interstate,parkway,thruway,turnpike"},"highway/passing_place":{name:"Passing Place",terms:"turnout, pullout"},"highway/path":{name:"Path",terms:"hike,hiking,trackway,trail,walk"},"highway/pedestrian_area":{name:"Pedestrian Area",terms:"center,centre,plaza,quad,square,walkway"},"highway/pedestrian_line":{name:"Pedestrian Street",terms:"center,centre,plaza,quad,square,walkway"},"highway/primary_link":{name:"Primary Link",terms:"ramp,on ramp,off ramp"},"highway/primary":{name:"Primary Road",terms:""},"highway/raceway":{name:"Racetrack (Motorsport)",terms:"auto*,formula one,kart,motocross,nascar,race*,track"},"highway/residential":{name:"Residential Road",terms:""},"highway/rest_area":{name:"Rest Area",terms:"rest stop"},"highway/road":{name:"Unknown Road",terms:""},"highway/secondary_link":{name:"Secondary Link",terms:"ramp,on ramp,off ramp"},"highway/secondary":{name:"Secondary Road",terms:""},"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/speed_camera":{name:"Speed Camera",terms:""},"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_link":{name:"Tertiary Link",terms:"ramp,on ramp,off ramp"},"highway/tertiary":{name:"Tertiary Road",terms:""},"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_mirror":{name:"Traffic Mirror",terms:"blind spot,convex,corner,curved,roadside,round,safety,sphere,visibility"},"highway/traffic_signals":{name:"Traffic Signals",terms:"light,stoplight,traffic light"},"highway/trunk_link":{name:"Trunk Link",terms:"ramp,on ramp,off ramp"},"highway/trunk":{name:"Trunk Road",terms:""},"highway/turning_circle":{name:"Turning Circle",terms:"cul-de-sac"},"highway/turning_loop":{name:"Turning Loop (Island)",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:"dedicatory,epitaph,remember,remembrance,memory,monument,stolperstein"},"historic/monument":{name:"Monument",terms:""},"historic/ruins":{name:"Ruins",terms:""},"historic/tomb":{name:"Tomb",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/farm":{name:"Farmland",terms:""},"landuse/allotments":{name:"Community Garden",terms:"allotment,garden"},"landuse/aquaculture":{name:"Aquaculture",terms:"fish farm,crustacean,algae,aquafarming,shrimp farm,oyster farm,mariculture,algaculture"},"landuse/basin":{name:"Basin",terms:""},"landuse/brownfield":{name:"Brownfield",terms:""},"landuse/cemetery":{name:"Cemetery",terms:""},"landuse/churchyard":{name:"Churchyard",terms:""},"landuse/commercial":{name:"Commercial Area",terms:""},"landuse/construction":{name:"Construction",terms:""},"landuse/farmland":{name:"Farmland",terms:"crop,grow,plant"},"landuse/farmyard":{name:"Farmyard",terms:"crop,grow,plant"},"landuse/forest":{name:"Forest",terms:"cut,forest,lumber,tree"},"landuse/garages":{name:"Garage Landuse",terms:""},"landuse/grass":{name:"Grass",terms:""},"landuse/greenfield":{name:"Greenfield",terms:""},"landuse/greenhouse_horticulture":{name:"Greenhouse Horticulture",terms:"flower,greenhouse,horticulture,grow,vivero"},"landuse/harbour":{name:"Harbor",terms:"boat"},"landuse/industrial":{name:"Industrial Area",terms:""},"landuse/industrial/scrap_yard":{name:"Scrap Yard",terms:"car,junk,metal,salvage,scrap,u-pull-it,vehicle,wreck,yard"},"landuse/industrial/slaughterhouse":{name:"Slaughterhouse",terms:"abattoir,beef,butchery,calf,chicken,cow,killing house,meat,pig,pork,poultry,shambles,stockyard"},"landuse/landfill":{name:"Landfill",terms:"dump"},"landuse/meadow":{name:"Meadow",terms:""},"landuse/military":{name:"Military Area",terms:""},"landuse/military/airfield":{name:"Military Airfield",terms:"air force,army,base,bomb,fight,force,guard,heli*,jet,marine,navy,plane,troop,war"},"landuse/military/barracks":{name:"Barracks",terms:"air force,army,base,fight,force,guard,marine,navy,troop,war"},"landuse/military/bunker":{name:"Military Bunker",terms:"air force,army,base,fight,force,guard,marine,navy,troop,war"},"landuse/military/checkpoint":{name:"Checkpoint",terms:"air force,army,base,force,guard,marine,navy,troop,war"},"landuse/military/danger_area":{name:"Danger Area",terms:"air force,army,base,blast,bomb,explo*,force,guard,mine,marine,navy,troop,war"},"landuse/military/naval_base":{name:"Naval Base",terms:"base,fight,force,guard,marine,navy,ship,sub,troop,war"},"landuse/military/nuclear_explosion_site":{name:"Nuclear Explosion Site",terms:"atom,blast,bomb,detonat*,nuke,site,test"},"landuse/military/obstacle_course":{name:"Obstacle Course",terms:"army,base,force,guard,marine,navy,troop,war"},"landuse/military/office":{name:"Military Office",terms:"air force,army,base,enlist,fight,force,guard,marine,navy,recruit,troop,war"},"landuse/military/range":{name:"Military Range",terms:"air force,army,base,fight,fire,force,guard,gun,marine,navy,rifle,shoot*,snip*,train,troop,war"},"landuse/military/training_area":{name:"Training Area",terms:"air force,army,base,fight,fire,force,guard,gun,marine,navy,rifle,shoot*,snip*,train,troop,war"},"landuse/orchard":{name:"Orchard",terms:"fruit"},"landuse/plant_nursery":{name:"Plant Nursery",terms:"flower,garden,grow,vivero"},"landuse/quarry":{name:"Quarry",terms:""},"landuse/railway":{name:"Railway Corridor",terms:"rail,train,track"},"landuse/recreation_ground":{name:"Recreation Ground",terms:"playing fields"},"landuse/religious":{name:"Religious Area",terms:""},"landuse/residential":{name:"Residential Area",terms:""},"landuse/retail":{name:"Retail Area",terms:""},"landuse/vineyard":{name:"Vineyard",terms:"grape,wine"},leisure:{name:"Leisure",terms:""},"leisure/adult_gaming_centre":{name:"Adult Gaming Center",terms:"gambling,slot machine"},"leisure/amusement_arcade":{name:"Amusement Arcade",terms:"pay-to-play games,video games,driving simulators,pinball machines"},"leisure/beach_resort":{name:"Beach Resort",terms:""},"leisure/bird_hide":{name:"Bird Hide",terms:"machan,ornithology"},"leisure/bleachers":{name:"Bleachers",terms:"crowd,bench,sports,stand,stands,seat,seating"},"leisure/bowling_alley":{name:"Bowling Alley",terms:"bowling center"},"leisure/common":{name:"Common",terms:"open space"},"leisure/dance":{name:"Dance Hall",terms:"ballroom,jive,swing,tango,waltz"},"leisure/dancing_school":{name:"Dance School",terms:"jive,swing,tango,waltz,dance teaching"},"leisure/dog_park":{name:"Dog Park",terms:""},"leisure/firepit":{name:"Firepit",terms:"fireplace,campfire"},"leisure/fitness_centre":{name:"Gym / Fitness Center",terms:"health,gym,leisure,studio"},"leisure/fitness_centre/yoga":{name:"Yoga Studio",terms:"studio"},"leisure/fitness_station":{name:"Outdoor Fitness Station",terms:"exercise,fitness,gym,trim trail"},"leisure/fitness_station/balance_beam":{name:"Exercise Balance Beam",terms:"balance,exercise,fitness,gym,trim trail"},"leisure/fitness_station/box":{name:"Exercise Box",terms:"box,exercise,fitness,gym,jump,trim trail"},"leisure/fitness_station/horizontal_bar":{name:"Exercise Horizontal Bar",terms:"bar,chinup,chin up,exercise,fitness,gym,pullup,pull up,trim trail"},"leisure/fitness_station/horizontal_ladder":{name:"Exercise Monkey Bars",terms:"bar,chinup,chin up,exercise,fitness,gym,ladder,monkey bars,pullup,pull up,trim trail"},"leisure/fitness_station/hyperextension":{name:"Hyperextension Station",terms:"back,exercise,extension,fitness,gym,roman chair,trim trail"},"leisure/fitness_station/parallel_bars":{name:"Parallel Bars",terms:"bar,dip,exercise,fitness,gym,trim trail"},"leisure/fitness_station/push-up":{name:"Push-Up Station",terms:"bar,exercise,fitness,gym,pushup,push up,trim trail"},"leisure/fitness_station/rings":{name:"Exercise Rings",terms:"exercise,fitness,gym,muscle up,pullup,pull up,trim trail"},"leisure/fitness_station/sign":{name:"Exercise Instruction Sign",terms:"exercise,fitness,gym,trim trail"},"leisure/fitness_station/sit-up":{name:"Sit-Up Station",terms:"crunch,exercise,fitness,gym,situp,sit up,trim trail"},"leisure/fitness_station/stairs":{name:"Exercise Stairs",terms:"exercise,fitness,gym,steps,trim trail"},"leisure/garden":{name:"Garden",terms:""},"leisure/golf_course":{name:"Golf Course",terms:"links"},"leisure/hackerspace":{name:"Hackerspace",terms:"makerspace,hackspace,hacklab"},"leisure/horse_riding":{name:"Horseback Riding Facility",terms:"equestrian,stable"},"leisure/ice_rink":{name:"Ice Rink",terms:"hockey,skating,curling"},"leisure/marina":{name:"Marina",terms:"boat"},"leisure/miniature_golf":{name:"Miniature Golf",terms:"crazy golf,mini golf,putt-putt"},"leisure/nature_reserve":{name:"Nature Reserve",terms:"protected,wildlife"},"leisure/outdoor_seating":{name:"Outdoor Seating Area",terms:"al fresco,beer garden,dining,cafe,restaurant,pub,bar,patio"},"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/beachvolleyball":{name:"Beach Volleyball Court",terms:"volleyball"},"leisure/pitch/boules":{name:"Boules/Bocce Court",terms:"bocce,lyonnaise,pétanque"},"leisure/pitch/bowls":{name:"Bowling Green",terms:""},"leisure/pitch/cricket":{name:"Cricket Field",terms:""},"leisure/pitch/equestrian":{name:"Riding Arena",terms:"dressage,equestrian,horse,horseback,riding"},"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:"football"},"leisure/pitch/table_tennis":{name:"Ping Pong Table",terms:"table tennis,ping pong"},"leisure/pitch/tennis":{name:"Tennis Court",terms:""},"leisure/pitch/volleyball":{name:"Volleyball Court",terms:""},"leisure/playground":{name:"Playground",terms:"jungle gym,play area"},"leisure/resort":{name:"Resort",terms:""},"leisure/running_track":{name:"Racetrack (Running)",terms:"race*,running,sprint,track"},"leisure/sauna":{name:"Sauna",terms:""},"leisure/slipway":{name:"Slipway",terms:"boat launch,boat ramp"},"leisure/sports_centre":{name:"Sports Center / Complex",terms:""},"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:"cycle,dog,greyhound,horse,race*,track"},"leisure/water_park":{name:"Water Park",terms:"swim,pool,dive"},line:{name:"Line",terms:""},man_made:{name:"Man Made",terms:""},"man_made/embankment":{name:"Embankment",terms:""},"man_made/adit":{name:"Adit",terms:"entrance,underground,mine,cave"},"man_made/antenna":{name:"Antenna",terms:"broadcast,cell phone,cell,communication,mobile phone,radio,television,transmission,tv"},"man_made/breakwater":{name:"Breakwater",terms:""},"man_made/bridge":{name:"Bridge",terms:""},"man_made/chimney":{name:"Chimney",terms:""},"man_made/clearcut":{name:"Clearcut Forest",terms:"cut,forest,lumber,tree,wood"},"man_made/crane":{name:"Crane",terms:""},"man_made/cutline":{name:"Cut line",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:"Mast",terms:"antenna,broadcast tower,cell phone tower,cell tower,communication mast,communication tower,guyed tower,mobile phone tower,radio mast,radio tower,television tower,transmission mast,transmission tower,tv tower"},"man_made/monitoring_station":{name:"Monitoring Station",terms:"weather,earthquake,seismology,air,gps"},"man_made/observation":{name:"Observation Tower",terms:"lookout tower,fire tower"},"man_made/observatory":{name:"Observatory",terms:"astronomical,meteorological"},"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,jetty"},"man_made/pipeline":{name:"Pipeline",terms:""},"man_made/pumping_station":{name:"Pumping Station",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_camera":{name:"Surveillance Camera",terms:"anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam"},"man_made/surveillance":{name:"Surveillance",terms:"anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam"},"man_made/survey_point":{name:"Survey Point",terms:"trig point,triangulation pillar,trigonometrical station"},"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/watermill":{name:"Watermill",terms:"water,wheel,mill"},"man_made/windmill":{name:"Windmill",terms:"wind,wheel,mill"},"man_made/works":{name:"Factory",terms:"assembly,build,brewery,car,plant,plastic,processing,manufacture,refinery"},manhole:{name:"Manhole",terms:"cover,hole,sewer,sewage,telecom"},"manhole/drain":{name:"Storm Drain",terms:"cover,drain,hole,rain,sewer,sewage,storm"},"manhole/telecom":{name:"Telecom Manhole",terms:"cover,phone,hole,telecom,telephone,bt"},natural:{name:"Natural",terms:""},"natural/bare_rock":{name:"Bare Rock",terms:"rock"},"natural/bay":{name:"Bay",terms:""},"natural/beach":{name:"Beach",terms:"shore"},"natural/cave_entrance":{name:"Cave Entrance",terms:"cavern,hollow,grotto,shelter,cavity"},"natural/cliff":{name:"Cliff",terms:"escarpment"},"natural/coastline":{name:"Coastline",terms:"shore"},"natural/fell":{name:"Fell",terms:""},"natural/glacier":{name:"Glacier",terms:""},"natural/grassland":{name:"Grassland",terms:"prairie,savanna"},"natural/heath":{name:"Heath",terms:""},"natural/mud":{name:"Mud",terms:"wetland"},"natural/peak":{name:"Peak",terms:"acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"},"natural/reef":{name:"Reef",terms:"barrier,coral,ocean,sand,shoal"},"natural/ridge":{name:"Ridge",terms:"crest"},"natural/saddle":{name:"Saddle",terms:"pass,mountain pass,top"},"natural/sand":{name:"Sand",terms:"desert"},"natural/scree":{name:"Scree",terms:"loose rocks"},"natural/scrub":{name:"Scrub",terms:"bush,shrubs"},"natural/spring":{name:"Spring",terms:""},"natural/tree_row":{name:"Tree row",terms:""},"natural/tree":{name:"Tree",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:"bog,marsh,reedbed,swamp,tidalflat"},"natural/wood":{name:"Wood",terms:"tree"},"noexit/yes":{name:"No Exit",terms:"no exit,road end,dead end"},office:{name:"Office",terms:""},"office/administrative":{name:"Administrative Office",terms:""},"office/physician":{name:"Physician",terms:""},"office/travel_agent":{name:"Travel Agency",terms:""},"office/accountant":{name:"Accountant Office",terms:""},"office/adoption_agency":{name:"Adoption Agency",terms:""},"office/advertising_agency":{name:"Advertising Agency",terms:"ad,ad agency,advert agency,advertising,marketing"},"office/architect":{name:"Architect Office",terms:""},"office/association":{name:"Nonprofit Organization Office",terms:"association,non-profit,nonprofit,organization,society"},"office/charity":{name:"Charity Office",terms:"charitable organization"},"office/company":{name:"Corporate Office",terms:""},"office/coworking":{name:"Coworking Space",terms:"coworking,office"},"office/educational_institution":{name:"Educational Institution",terms:""},"office/employment_agency":{name:"Employment Agency",terms:"job"},"office/energy_supplier":{name:"Energy Supplier Office",terms:"electricity,energy company,energy utility,gas utility"},"office/estate_agent":{name:"Real Estate Office",terms:""},"office/financial":{name:"Financial Office",terms:""},"office/forestry":{name:"Forestry Office",terms:"forest,ranger"},"office/foundation":{name:"Foundation Office",terms:""},"office/government":{name:"Government Office",terms:""},"office/government/register_office":{name:"Register Office",terms:"clerk,marriage,death,birth,certificate"},"office/government/tax":{name:"Tax and Revenue Office",terms:"fiscal authorities,revenue office,tax office"},"office/guide":{name:"Tour Guide Office",terms:"dive guide,mountain guide,tour guide"},"office/insurance":{name:"Insurance Office",terms:""},"office/it":{name:"Information Technology Office",terms:"computer,information,software,technology"},"office/lawyer":{name:"Law Office",terms:""},"office/lawyer/notary":{name:"Notary Office",terms:""},"office/moving_company":{name:"Moving Company Office",terms:"relocation"},"office/newspaper":{name:"Newspaper Office",terms:""},"office/ngo":{name:"NGO Office",terms:"ngo,non government,non-government,organization,organisation"},"office/notary":{name:"Notary Office",terms:"clerk,deeds,estate,signature,wills"},"office/political_party":{name:"Political Party",terms:""},"office/private_investigator":{name:"Private Investigator Office",terms:"PI,private eye,private detective"},"office/quango":{name:"Quasi-NGO Office",terms:"ngo,non government,non-government,organization,organisation,quasi autonomous,quasi-autonomous"},"office/research":{name:"Research Office",terms:""},"office/surveyor":{name:"Surveyor Office",terms:""},"office/tax_advisor":{name:"Tax Advisor Office",terms:"tax,tax consultant"},"office/telecommunication":{name:"Telecom Office",terms:"communication,internet,phone,voice"},"office/therapist":{name:"Therapist Office",terms:"therapy"},"office/water_utility":{name:"Water Utility Office",terms:"water board,utility"},piste:{name:"Piste/Ski Trail",terms:"ski,sled,sleigh,snowboard,nordic,downhill,snowmobile"},"place/farm":{name:"Farm",terms:""},"place/city":{name:"City",terms:""},"place/hamlet":{name:"Hamlet",terms:""},"place/island":{name:"Island",terms:"archipelago,atoll,bar,cay,isle,islet,key,reef"},"place/islet":{name:"Islet",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/plot":{name:"Plot",terms:"tract,land,lot,parcel"},"place/quarter":{name:"Sub-Borough / Quarter",terms:"boro,borough,quarter"},"place/square":{name:"Square",terms:""},"place/suburb":{name:"Borough / Suburb",terms:"boro,borough,quarter"},"place/town":{name:"Town",terms:""},"place/village":{name:"Village",terms:""},"playground/balance_beam":{name:"Play Balance Beam",terms:""},"playground/basket_spinner":{name:"Basket Spinner",terms:"basket rotator"},"playground/basket_swing":{name:"Basket Swing",terms:""},"playground/climbing_frame":{name:"Climbing Frame",terms:""},"playground/cushion":{name:"Bouncy Cushion",terms:""},"playground/horizontal_bar":{name:"Play Horizontal Bar",terms:"high bar"},"playground/rocker":{name:"Spring Rider",terms:"spring rocker,springy rocker"},"playground/roundabout":{name:"Play Roundabout",terms:"merry-go-round"},"playground/sandpit":{name:"Sandpit",terms:""},"playground/seesaw":{name:"Seesaw",terms:""},"playground/slide":{name:"Slide",terms:""},"playground/structure":{name:"Play Structure",terms:""},"playground/swing":{name:"Swing",terms:""},"playground/zipwire":{name:"Zip Wire",terms:""},point:{name:"Point",terms:""},"power/sub_station":{name:"Substation",terms:""},"power/generator":{name:"Power Generator",terms:"hydro,solar,turbine,wind"},"power/generator/source_nuclear":{name:"Nuclear Reactor",terms:"fission,generator,nuclear,nuke,reactor"},"power/generator/source_wind":{name:"Wind Turbine",terms:"generator,turbine,windmill,wind"},"power/line":{name:"Power Line",terms:""},"power/minor_line":{name:"Minor Power Line",terms:""},"power/plant":{name:"Power Station Grounds",terms:"coal,gas,generat*,hydro,nuclear,power,station"},"power/pole":{name:"Power Pole",terms:""},"power/substation":{name:"Substation",terms:""},"power/switch":{name:"Power Switch",terms:""},"power/tower":{name:"High-Voltage Tower",terms:""},"power/transformer":{name:"Transformer",terms:""},"public_transport/linear_platform_aerialway":{name:"Aerialway Stop / Platform",terms:"aerialway,cable car,platform,public transit,public transportation,transit,transportation"},"public_transport/linear_platform_bus":{name:"Bus Stop / Platform",terms:"bus,platform,public transit,public transportation,transit,transportation"},"public_transport/linear_platform_ferry":{name:"Ferry Stop / Platform",terms:"boat,dock,ferry,pier,platform,public transit,public transportation,transit,transportation"},"public_transport/linear_platform_light_rail":{name:"Light Rail Stop / Platform",terms:"electric,light rail,platform,public transit,public transportation,rail,track,tram,trolley,transit,transportation"},"public_transport/linear_platform_monorail":{name:"Monorail Stop / Platform",terms:"monorail,platform,public transit,public transportation,rail,transit,transportation"},"public_transport/linear_platform_subway":{name:"Subway Stop / Platform",terms:"metro,platform,public transit,public transportation,rail,subway,track,transit,transportation,underground"},"public_transport/linear_platform_train":{name:"Train Stop / Platform",terms:"platform,public transit,public transportation,rail,track,train,transit,transportation"},"public_transport/linear_platform_tram":{name:"Tram Stop / Platform",terms:"electric,light rail,platform,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation"},"public_transport/linear_platform_trolleybus":{name:"Trolleybus Stop / Platform",terms:"bus,electric,platform,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation"},"public_transport/linear_platform":{name:"Transit Stop / Platform",terms:"platform,public transit,public transportation,transit,transportation"},"public_transport/platform_aerialway":{name:"Aerialway Stop / Platform",terms:"aerialway,cable car,platform,public transit,public transportation,transit,transportation"},"public_transport/platform_bus":{name:"Bus Stop / Platform",terms:"bus,platform,public transit,public transportation,transit,transportation"},"public_transport/platform_ferry":{name:"Ferry Stop / Platform",terms:"boat,dock,ferry,pier,platform,public transit,public transportation,transit,transportation"},"public_transport/platform_light_rail":{name:"Light Rail Stop / Platform",terms:"electric,light rail,platform,public transit,public transportation,rail,track,tram,trolley,transit,transportation"},"public_transport/platform_monorail":{name:"Monorail Stop / Platform",terms:"monorail,platform,public transit,public transportation,rail,transit,transportation"},"public_transport/platform_subway":{name:"Subway Stop / Platform",terms:"metro,platform,public transit,public transportation,rail,subway,track,transit,transportation,underground"},"public_transport/platform_train":{name:"Train Stop / Platform",terms:"platform,public transit,public transportation,rail,track,train,transit,transportation"},"public_transport/platform_tram":{name:"Tram Stop / Platform",terms:"electric,light rail,platform,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation"},"public_transport/platform_trolleybus":{name:"Trolleybus Stop / Platform",terms:"bus,electric,platform,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation"},"public_transport/platform":{name:"Transit Stop / Platform",terms:"platform,public transit,public transportation,transit,transportation"},"public_transport/station_aerialway":{name:"Aerialway Station",terms:"aerialway,cable car,public transit,public transportation,station,terminal,transit,transportation"},"public_transport/station_bus":{name:"Bus Station / Terminal",terms:"bus,public transit,public transportation,station,terminal,transit,transportation"},"public_transport/station_ferry":{name:"Ferry Station / Terminal",terms:"boat,dock,ferry,pier,public transit,public transportation,station,terminal,transit,transportation"},"public_transport/station_light_rail":{name:"Light Rail Station",terms:"electric,light rail,public transit,public transportation,rail,station,terminal,track,tram,trolley,transit,transportation"},"public_transport/station_monorail":{name:"Monorail Station",terms:"monorail,public transit,public transportation,rail,station,terminal,transit,transportation"},"public_transport/station_subway":{name:"Subway Station",terms:"metro,public transit,public transportation,rail,station,subway,terminal,track,transit,transportation,underground"},"public_transport/station_train_halt":{name:"Train Station (Halt / Request)",terms:"halt,public transit,public transportation,rail,station,track,train,transit,transportation,whistle stop"},"public_transport/station_train":{name:"Train Station",terms:"public transit,public transportation,rail,station,terminal,track,train,transit,transportation"},"public_transport/station_tram":{name:"Tram Station",terms:"electric,light rail,public transit,public transportation,rail,station,streetcar,terminal,track,tram,trolley,transit,transportation"},"public_transport/station_trolleybus":{name:"Trolleybus Station / Terminal",terms:"bus,electric,public transit,public transportation,station,streetcar,terminal,trackless,tram,trolley,transit,transportation"},"public_transport/station":{name:"Transit Station",terms:"public transit,public transportation,station,terminal,transit,transportation"},"public_transport/stop_area":{name:"Transit Stop Area",terms:""},"public_transport/stop_position_aerialway":{name:"Aerialway Stopping Location",terms:"aerialway,cable car,public transit,public transportation,transit,transportation"},"public_transport/stop_position_bus":{name:"Bus Stopping Location",terms:"bus,public transit,public transportation,transit,transportation"},"public_transport/stop_position_ferry":{name:"Ferry Stopping Location",terms:"boat,dock,ferry,pier,public transit,public transportation,transit,transportation"},"public_transport/stop_position_light_rail":{name:"Light Rail Stopping Location",terms:"electric,light rail,public transit,public transportation,rail,track,tram,trolley,transit,transportation"},"public_transport/stop_position_monorail":{name:"Monorail Stopping Location",terms:"monorail,public transit,public transportation,rail,transit,transportation"},"public_transport/stop_position_subway":{name:"Subway Stopping Location",terms:"metro,public transit,public transportation,rail,subway,track,transit,transportation,underground"},"public_transport/stop_position_train":{name:"Train Stopping Location",terms:"public transit,public transportation,rail,track,train,transit,transportation"},"public_transport/stop_position_tram":{name:"Tram Stopping Location",terms:"electric,light rail,public transit,public transportation,rail,streetcar,track,tram,trolley,transit,transportation"},"public_transport/stop_position_trolleybus":{name:"Trolleybus Stopping Location",terms:"bus,electric,public transit,public transportation,streetcar,trackless,tram,trolley,transit,transportation"},"public_transport/stop_position":{name:"Transit Stopping Location",terms:"public transit,public transportation,transit,transportation"},"railway/halt":{name:"Train Station (Halt / Request)",terms:"break,interrupt,rest,wait,interruption"},"railway/platform":{name:"Train Stop / Platform",terms:""},"railway/station":{name:"Train Station",terms:"train station,station"},"railway/tram_stop":{name:"Tram Stopping Position",terms:"light rail,streetcar,tram,trolley"},"railway/abandoned":{name:"Abandoned Railway",terms:""},"railway/buffer_stop":{name:"Buffer Stop",terms:"stop,halt,buffer"},"railway/crossing":{name:"Railway Crossing (Path)",terms:"crossing,pedestrian crossing,railroad crossing,level crossing,grade crossing,path through railroad,train crossing"},"railway/derail":{name:"Railway Derailer",terms:"derailer"},"railway/disused":{name:"Disused Railway",terms:""},"railway/funicular":{name:"Funicular",terms:"venicular,cliff railway,cable car,cable railway,funicular railway"},"railway/level_crossing":{name:"Railway Crossing (Road)",terms:"crossing,railroad crossing,level crossing,grade crossing,road through railroad,train crossing"},"railway/light_rail":{name:"Light Rail",terms:"light rail,streetcar,trolley"},"railway/milestone":{name:"Railway Milestone",terms:"milestone,marker"},"railway/miniature":{name:"Miniature Railway",terms:"rideable miniature railway,narrow gauge railway,minimum gauge railway"},"railway/monorail":{name:"Monorail",terms:""},"railway/narrow_gauge":{name:"Narrow Gauge Rail",terms:"narrow gauge railway,narrow gauge railroad"},"railway/rail":{name:"Rail",terms:""},"railway/signal":{name:"Railway Signal",terms:"signal,lights"},"railway/subway_entrance":{name:"Subway Entrance",terms:"metro,transit"},"railway/subway":{name:"Subway",terms:"metro,transit"},"railway/switch":{name:"Railway Switch",terms:"switch,points"},"railway/train_wash":{name:"Train Wash",terms:"wash,clean"},"railway/tram":{name:"Tram",terms:"light rail,streetcar,tram,trolley"},relation:{name:"Relation",terms:""},"route/ferry":{name:"Ferry Route",terms:""},shop:{name:"Shop",terms:""},"shop/fishmonger":{name:"Fishmonger",terms:""},"shop/furnace":{name:"Furnace Store",terms:"oven,stove"},"shop/vacant":{name:"Vacant Shop",terms:""},"shop/agrarian":{name:"Farm Supply Shop",terms:"agricultural inputs,agricultural machines,seeds,pesticides,fertilizer,agricultural tools"},"shop/alcohol":{name:"Liquor Store",terms:"alcohol,beer,booze,wine"},"shop/anime":{name:"Anime Shop",terms:"manga,japan,cosplay,figurine,dakimakura"},"shop/antiques":{name:"Antiques Shop",terms:""},"shop/appliance":{name:"Appliance Store",terms:"air conditioner,appliance,dishwasher,dryer,freezer,fridge,grill,kitchen,oven,refrigerator,stove,washer,washing machine"},"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:"spa,salon,tanning"},"shop/beauty/nails":{name:"Nail Salon",terms:"manicure,pedicure"},"shop/beauty/tanning":{name:"Tanning Salon",terms:""},"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:"betting"},"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_parts":{name:"Car Parts Store",terms:"auto"},"shop/car_repair":{name:"Car Repair Shop",terms:"auto,garage,service"},"shop/car":{name:"Car Dealership",terms:"auto"},"shop/carpet":{name:"Carpet Store",terms:"rug"},"shop/charity":{name:"Charity Store",terms:"thrift,op shop,nonprofit"},"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:"sweet"},"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/e-cigarette":{name:"E-Cigarette Shop",terms:"electronic,vapor"},"shop/electronics":{name:"Electronics Store",terms:"appliance,audio,blueray,camera,computer,dvd,home theater,radio,speaker,tv,video"},"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/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/furniture":{name:"Furniture Store",terms:"chair,sofa,table"},"shop/garden_centre":{name:"Garden Center",terms:"landscape,mulch,shrub,tree"},"shop/gas":{name:"Bottled Gas Shop",terms:"cng,lpg,natural gas,propane,refill,tank"},"shop/gift":{name:"Gift Shop",terms:"souvenir"},"shop/greengrocer":{name:"Greengrocer",terms:"fruit,vegetable"},"shop/hairdresser":{name:"Hairdresser",terms:"barber"},"shop/hardware":{name:"Hardware Store",terms:""},"shop/health_food":{name:"Health Food Shop",terms:"wholefood,vitamins,vegetarian,vegan"},"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:"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:"shopping"},"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_repair":{name:"Motorcycle Repair Shop",terms:"auto,bike,garage,motorcycle,repair,service"},"shop/motorcycle":{name:"Motorcycle Dealership",terms:"bike"},"shop/music":{name:"Music Store",terms:"CD,vinyl"},"shop/musical_instrument":{name:"Musical Instrument Store",terms:"guitar"},"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/pastry":{name:"Pastry Shop",terms:"patisserie,cake shop,cakery"},"shop/pawnbroker":{name:"Pawn Shop",terms:""},"shop/perfumery":{name:"Perfume Store",terms:""},"shop/pet_grooming":{name:"Pet Grooming Store",terms:"dog"},"shop/pet":{name:"Pet Store",terms:"animal,cat,dog,fish,kitten,puppy,reptile"},"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/tiles":{name:"Tile Shop",terms:""},"shop/tobacco":{name:"Tobacco Shop",terms:""},"shop/toys":{name:"Toy Store",terms:""},"shop/trade":{name:"Trade Shop",terms:""},"shop/travel_agency":{name:"Travel Agency",terms:""},"shop/tyres":{name:"Tire Store",terms:""},"shop/vacuum_cleaner":{name:"Vacuum Cleaner Store",terms:""},"shop/variety_store":{name:"Variety Store",terms:""},"shop/video_games":{name:"Video Game Store",terms:""},"shop/video":{name:"Video Store",terms:"DVD"},"shop/watches":{name:"Watches Shop",terms:""},"shop/water_sports":{name:"Watersport/Swim Shop",terms:""},"shop/weapons":{name:"Weapon Shop",terms:"ammo,gun,knife,knives"},"shop/wholesale":{name:"Wholesale Store",terms:"warehouse club,cash and carry"},"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:"climbing hut"},"tourism/apartment":{name:"Guest Apartment / Condo",terms:""},"tourism/aquarium":{name:"Aquarium",terms:"fish,sea,water"},"tourism/artwork":{name:"Artwork",terms:"mural,sculpture,statue"},"tourism/attraction":{name:"Tourist Attraction",terms:""},"tourism/camp_site":{name:"Campground",terms:"tent,rv"},"tourism/caravan_site":{name:"RV Park",terms:"Motor Home,Camper"},"tourism/chalet":{name:"Holiday Cottage",terms:"holiday,holiday cottage,holiday home,vacation,vacation home"},"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/information/board":{name:"Information Board",terms:""},"tourism/information/guidepost":{name:"Guidepost",terms:"signpost"},"tourism/information/map":{name:"Map",terms:""},"tourism/information/office":{name:"Tourist Information Office",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/trail_riding_station":{name:"Trail Riding Station",terms:""},"tourism/viewpoint":{name:"Viewpoint",terms:""},"tourism/wilderness_hut":{name:"Wilderness Hut",terms:"wilderness hut,backcountry hut,bothy"},"tourism/zoo":{name:"Zoo",terms:"animal"},traffic_calming:{name:"Traffic Calming",terms:"bump,hump,slow,speed"},"traffic_calming/bump":{name:"Speed Bump",terms:"hump,speed,slow"},"traffic_calming/chicane":{name:"Traffic Chicane",terms:"driveway link,speed,slow"},"traffic_calming/choker":{name:"Traffic Choker",terms:"speed,slow"},"traffic_calming/cushion":{name:"Speed Cushion",terms:"bump,hump,speed,slow"},"traffic_calming/dip":{name:"Dip",terms:"speed,slow"},"traffic_calming/hump":{name:"Speed Hump",terms:"bump,speed,slow"},"traffic_calming/island":{name:"Traffic Island",terms:"circle,roundabout,slow"},"traffic_calming/rumble_strip":{name:"Rumble Strip",terms:"audible lines,sleeper lines,growlers"},"traffic_calming/table":{name:"Speed Table",terms:"flat top,hump,speed,slow"},"type/multipolygon":{name:"Multipolygon",terms:""},"type/boundary":{name:"Boundary",terms:""},"type/boundary/administrative":{name:"Administrative Boundary",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:"Only Left Turn",terms:""},"type/restriction/only_right_turn":{name:"Only Right Turn",terms:""},"type/restriction/only_straight_on":{name:"Only Straight On",terms:""},"type/restriction/only_u_turn":{name:"Only U-turn",terms:""},"type/route_master":{name:"Route Master",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/light_rail":{name:"Light Rail Route",terms:""},"type/route/pipeline":{name:"Pipeline Route",terms:""},"type/route/piste":{name:"Piste/Ski Route",terms:""},"type/route/power":{name:"Power Route",terms:""},"type/route/road":{name:"Road Route",terms:""},"type/route/subway":{name:"Subway Route",terms:""},"type/route/train":{name:"Train Route",terms:""},"type/route/tram":{name:"Tram Route",terms:""},"type/site":{name:"Site",terms:""},"type/waterway":{name:"Waterway",terms:""},vertex:{name:"Other",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_intermittent":{name:"Intermittent Stream",terms:"arroyo,beck,branch,brook,burn,course,creek,drift,flood,flow,gully,run,runnel,rush,spate,spritz,tributary,wadi,wash,watercourse"},"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/waterfall":{name:"Waterfall",terms:"fall"},"waterway/weir":{name:"Weir",terms:""}}},imagery:{AGIV:{attribution:{text:"Orthophoto Flanders most recent © AGIV"},name:"AGIV Flanders most recent aerial imagery"},AGIV10cm:{attribution:{text:"Orthophoto Flanders © AGIV"},name:"AGIV Flanders 2013-2015 aerial imagery 10cm"},AGIVFlandersGRB:{attribution:{text:"GRB Flanders © AGIV"},name:"AGIV Flanders GRB"},Bing:{description:"Satellite and aerial imagery.",name:"Bing aerial imagery"},"DigitalGlobe-Premium":{attribution:{text:"Terms & Feedback"},description:"Premium DigitalGlobe satellite imagery.",name:"DigitalGlobe Premium Imagery"},"DigitalGlobe-Premium-vintage":{attribution:{text:"Terms & Feedback"},description:"Imagery boundaries and capture dates. Labels appear at zoom level 13 and higher.",name:"DigitalGlobe Premium Imagery Vintage"},"DigitalGlobe-Standard":{attribution:{text:"Terms & Feedback"},description:"Standard DigitalGlobe satellite imagery.",name:"DigitalGlobe Standard Imagery"},"DigitalGlobe-Standard-vintage":{attribution:{text:"Terms & Feedback"},description:"Imagery boundaries and capture dates. Labels appear at zoom level 13 and higher.",name:"DigitalGlobe Standard Imagery Vintage"},EsriWorldImagery:{attribution:{text:"Terms & Feedback"},description:"Esri world imagery.",name:"Esri World Imagery"},EsriWorldImageryClarity:{attribution:{text:"Terms & Feedback"},description:"Esri archive imagery that may be clearer and more accurate than the default layer.",name:"Esri World Imagery (Clarity) Beta"},MAPNIK:{attribution:{text:"© OpenStreetMap contributors, CC-BY-SA"},description:"The default OpenStreetMap layer.",name:"OpenStreetMap (Standard)"},Mapbox:{attribution:{text:"Terms & Feedback"},description:"Satellite and aerial imagery.",name:"Mapbox Satellite"},"OSM_Inspector-Addresses":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Addresses"},"OSM_Inspector-Geometry":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Geometry"},"OSM_Inspector-Highways":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Highways"},"OSM_Inspector-Multipolygon":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Area"},"OSM_Inspector-Places":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Places"},"OSM_Inspector-Routing":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Routing"},"OSM_Inspector-Tagging":{attribution:{text:"© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA"},name:"OSM Inspector: Tagging"},SPW_ORTHO_LAST:{name:"SPW(allonie) most recent aerial imagery"},SPW_PICC:{name:"SPW(allonie) PICC numerical imagery"},"US-TIGER-Roads-2012":{name:"TIGER Roads 2012"},"US-TIGER-Roads-2014":{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",name:"TIGER Roads 2014"},"US-TIGER-Roads-2017":{description:"Yellow = Public domain map data from the US Census. Red = Data not found in OpenStreetMap",name:"TIGER Roads 2017"},US_Forest_Service_roads_overlay:{description:"Highway: Green casing = unclassified. Brown casing = track. Surface: gravel = light brown fill, Asphalt = black, paved = gray, ground =white, concrete = blue, grass = green. Seasonal = white bars",name:"U.S. Forest Roads Overlay"},UrbISOrtho2016:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbIS-Ortho 2016"},UrbISOrtho2017:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbIS-Ortho 2017"},UrbisAdmFR:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbisAdm FR"},UrbisAdmNL:{attribution:{text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB"},name:"UrbisAdm NL"},"Waymarked_Trails-Cycling":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: Cycling"},"Waymarked_Trails-Hiking":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: Hiking"},"Waymarked_Trails-MTB":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: MTB"},"Waymarked_Trails-Skating":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: Skating"},"Waymarked_Trails-Winter_Sports":{attribution:{text:"© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0"},name:"Waymarked Trails: Winter Sports"},"basemap.at":{attribution:{text:"basemap.at"},description:"Basemap of Austria, based on government data.",name:"basemap.at"},"basemap.at-orthofoto":{attribution:{text:"basemap.at"},description:"Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.",name:"basemap.at Orthofoto"},hike_n_bike:{attribution:{text:"© OpenStreetMap contributors"},name:"Hike & Bike"},mapbox_locator_overlay:{attribution:{text:"Terms & Feedback"},description:"Shows major features to help orient you.",name:"Locator Overlay"},openpt_map:{attribution:{text:"© OpenStreetMap contributors, CC-BY-SA"},name:"OpenPT Map (overlay)"},"osm-gps":{attribution:{text:"© OpenStreetMap contributors"},description:"Public GPS traces uploaded to OpenStreetMap.",name:"OpenStreetMap GPS traces"},"osm-mapnik-black_and_white":{attribution:{text:"© OpenStreetMap contributors, CC-BY-SA"},name:"OpenStreetMap (Standard Black & White)"},"osm-mapnik-german_style":{attribution:{text:"© OpenStreetMap contributors, CC-BY-SA"},name:"OpenStreetMap (German Style)"},qa_no_address:{attribution:{text:"Simon Poole, Data ©OpenStreetMap contributors"},name:"QA No Address"},skobbler:{attribution:{text:"© Tiles: skobbler Map data: OpenStreetMap contributors"},name:"skobbler"},"stamen-terrain-background":{attribution:{text:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL"},name:"Stamen Terrain"},"tf-cycle":{attribution:{text:"Maps © Thunderforest, Data © OpenStreetMap contributors"},name:"Thunderforest OpenCycleMap"},"tf-landscape":{attribution:{text:"Maps © Thunderforest, Data © OpenStreetMap contributors"},name:"Thunderforest Landscape"}},community:{"cape-coast-youthmappers":{name:"University of Cape Coast YouthMappers",description:"Follow us on Twitter: {url}",extendedDescription:"This is the official handle for the Youth Mappers chapter of the University of Cape Coast, Ghana. we love maps, open data and helping the vulnerable."},"osm-gh-facebook":{name:"OpenStreetMap Ghana on Facebook",description:"Facebook group for people interested in OpenStreetMap.",extendedDescription:"Mappers in Ghana community, promoting OpenStreetMap and Humanitarian OpenStreetMap Team (HOT) projects in Ghana. Join us."},"osm-gh-twitter":{name:"OpenStreetMap Ghana on Twitter",description:"Follow us on Twitter: {url}"},"talk-gh":{name:"Talk-gh Mailing List",description:"Talk-gh is the official mailing list for Ghana OSM community."},"osm-mg-facebook":{name:"OpenStreetMap Madagascar Facebook Group",description:"Malagasy Facebook group for people interested in OpenStreetMap."},"talk-mg":{name:"Talk-mg Mailing List",description:"Place for OpenStreetMap contributors, communities and users in Madagascar to share and discuss."},"OSM-BGD-facebook":{name:"OpenStreetMap Bangladesh",description:"Improve OpenStreetMap in Bangladesh",extendedDescription:"Mapping in Bangladesh? Have questions, want to connect with the community here? Join us at {url}. All are welcome!"},"OSM-India-facebook":{name:"OpenStreetMap India - Participatory neighborhood mapping",description:"Improve OpenStreetMap in India",extendedDescription:"Mapping in India? Have questions, want to connect with the community here? Join us at {url}. All are welcome!",events:{sotmasia2018:{name:"State of the Map Asia 2018",description:"Join the 2018 OpenStreetMap region-wide event at State of the Map Asia in India",where:"Indian Institute of Management, Bangalore, India"}}},"OSM-india-mailinglist":{name:"OpenStreetMap India Mailinglist",description:"Talk-in is the official Mailinglist for Indian Community"},"OSM-india-twitter":{name:"OpenStreetMap India Twitter",description:"We are just a tweet away: {url}"},"OSM-India-Puducherry-Facebook":{name:"Free Software Hardware Movement - Facebook",description:"FSHM Facebook page to know about community events, activities",extendedDescription:"FSHM organizes events relating to free software/hardware, technology, activism and OpenStreetMap. Its FB page is the best way to keep in contact with its events."},"OSM-India-Puducherry-Matrix":{name:"Free Software Hardware Movement - Matrix",description:"FSHM Riot group to discuss, share and update mapping activities, events in and around Puducherry",extendedDescription:"FSHM community members share their OSM mapping updates / experiences through the Riot.im group, this group is also used to discuss things related to free software / hardware, technology and activism."},"OSM-IDN-facebook":{name:"OpenStreetMap Indonesia",description:"Improve OpenStreetMap in Indonesia",extendedDescription:"Mapping in Indonesia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"OSM-japan-facebook":{name:"OpenStreetMap Japan Community",description:"Mappers and OpenStreetMap users in Japan"},"OSM-japan-mailinglist":{name:"OpenStreetMap Japan Mailinglist",description:"Talk-ja is an Official Mailinglist for Japanese Community"},"OSM-japan-twitter":{name:"OpenStreetMap Japan Twitter",description:"Hashtag on Twitter: {url}"},"OSM-japan-website":{name:"OpenStreetMap Japan",description:"Mappers and OpenStreetMap users in Japan"},"OSM-korea-telegram":{name:"OSM Korea Telegram Channel",description:"Unofficial Channnel for OpenStreetMap contributors, communities and users in Korea to share and discuss."},"OSM-MY-facebook":{name:"OpenStreetMap Malaysia on Facebook",description:"For chat about anything related to OpenStreetMap!"},"OSM-MY-forum":{name:"OpenStreetMap Malaysia Forum",description:"Official OpenStreetMap Malaysia Forum"},"OSM-MY-matrix":{name:"OpenStreetMap Malaysia Riot channel",description:"All mappers are welcome! Sign up at {signupUrl}"},"OSM-MNG-facebook":{name:"OpenStreetMap Mongolia",description:"Improve OpenStreetMap in Mongolia",extendedDescription:"Mapping in Mongolia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"OSM-MMR-facebook":{name:"OpenStreetMap Myanmar",description:"Improve OpenStreetMap in Myanmar",extendedDescription:"Mapping in Myanmar? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"OSM-Nepal-facebook":{name:"OpenStreetMap Nepal",description:"Improve OpenStreetMap in Nepal",extendedDescription:"Mapping in Nepal? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"OSM-PH-facebook":{name:"OpenStreetMap PH Facebook",description:"Welcome to OpenStreetMap Philippines, where we encourage all fellow Filipinos to contribute to the OpenStreetMap project."},"OSM-PH-mailinglist":{name:"Talk-ph Mailing List",description:"A mailing list to discuss OpenStreetMap in the Philippines"},"OSM-PH-slack":{name:"OpenStreetMap PH Slack",description:"All are welcome! Sign up at {signupUrl}"},"OSM-PH-telegram":{name:"OpenStreetMap PH Telegram",description:"Un-official, Telegram local community of OpenStreetMap contributors and friends in the Philippines"},"OSM-RU-forum":{name:"OpenStreetMap RU forum",description:"OpenStreetMap Russia web forum"},"OSM-RU-telegram":{name:"OpenStreetMap RU telegram",description:"OpenStreetMap Russia telegram chat"},"OSM-LKA-facebook":{name:"OpenStreetMap Sri Lanka",description:"Improve OpenStreetMap in Sri Lanka",extendedDescription:"Mapping in Sri Lanka? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!"},"OSM-TW-facebook":{name:"OpenStreetMap Taiwan Community",description:"Facebook Group for Mappers and OpenStreetMap users to discuss matters about Taiwan."},"OSM-TW-mailinglist":{name:"OpenStreetMap Taiwan Mailinglist",description:"Talk-tw is an Official Mailinglist for the Communities to dicuss matters about Taiwan"},"OSM-TH-CNX-meetup":{name:"OSM Meetup Chiang Mai",description:"Irregular meeting of the OpenStreetMap community in Chiang Mai",extendedDescription:"Members of the OpenStreetMap community meet every few months in Chiang Mai. Get in contact and check out {url} to see when the next meetup is scheduled"},"OSM-TH-facebook":{name:"OpenStreetMap TH Facebook group",description:"Facebook group for OpenStreetMappers in Thailand"},"OSM-TH-forum":{name:"OpenStreetMap TH forum",description:"OpenStreetMap Thailand web forum"},"al-forum":{name:"OSM Albania Forum",description:"OpenStreetMap Albania Forum"},"al-maptime-tirana":{name:"Maptime Tirana",description:"Social events organized around mapping - beginners most welcome!",extendedDescription:"Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time."},"al-telegram":{name:"OSM Albania Telegram channel",description:"OpenStreetMap Albania Telegram channel"},"at-forum":{name:"OpenStreetMap Austria Forum",description:"The official forum for OpenStreetMap questions in and around Austria"},"at-mailinglist":{name:"Talk-at Mailing List",description:"Talk-at is the official mailing list for the Austrian OSM community"},"at-twitter":{name:"OpenStreetMap Austria Twitter",description:"OpenStreetMap Austria On Twitter: {url}"},"osmgraz-meetup":{name:"OSM community meetup Graz",description:"Monthly meetup of the OpenStreetMap community in Graz"},"osmgraz-twitter":{name:"OSM community Graz on twitter",description:"OpenStreetMap community in Graz on twitter"},"osm-at":{name:"OpenStreetMap Austria",description:"The platform for information on OpenStreetMap in Austria"},byosm:{name:"OpenStreetMap Belarus",description:"OpenStreetMap Belarus telegram chat"},"be-facebook":{name:"OpenStreetMap BE Community",description:"Mappers and OpenStreetMap on Facebook in Belgium"},"be-forum":{name:"OpenStreetMap BE forum",description:"OpenStreetMap Belgium web forum"},"be-irc":{name:"OpenStreetMap Belgium IRC",description:"Join #osmbe on irc.oftc.net (port 6667)",extendedDescription:"Join #osmbe on irc.oftc.net (port 6667), it is bridged with the Matrix chat channel"},"be-mailinglist":{name:"Talk-be Mailing List",description:"Talk-be is the official mailing list for the Belgian OSM community"},"be-maptime":{name:"Maptime Belgium",description:"Social events organized around mapping - beginners most welcome!",extendedDescription:"Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time."},"be-matrix":{name:"OpenStreetMap BE Matrix channel",description:"All mappers are welcome!",extendedDescription:"Most talk is happening at the \"OpenStreetMap Belgium\" channel. You can ask anything there! The other rooms are for specific subjects."},"be-meetup":{name:"OpenStreetMap Belgium Meetup",description:"Real life meetups of everyone who is interested in OpenStreetMap",extendedDescription:"Physical meetups are great to meet other mappers, ask them questions and to learn a lot. Especially new contributors are very welcome!"},"be-twitter":{name:"OpenStreetMap Belgium Twitter",description:"OSM Belgium on Twitter: @osm_be"},"czech-community":{name:"Czech OSM community",description:"Map portal, website and contacts on OSM members in Czechia"},"osmcz-facebook":{name:"OpenStreetMap CZ on Facebook",description:"Follow czech community on Facebook - including translated WeeklyOSM!"},"osmcz-twitter":{name:"Czech twitter @osmcz",description:"Follow czech community on Twitter - including translated WeeklyOSM!"},"talk-cz-mailinglist":{name:"Czech mailing list (talk-cz)",description:"Talk-cz is the official mailing list for Czech community"},"dk-forum":{name:"OpenStreetMap Denmark Web Forum",description:"OpenStreetMap Denmark web forum"},"dk-irc":{name:"OpenStreetMap Denmark IRC",description:"Join #osm-dk on irc.oftc.net (port 6667)"},"dk-mailinglist":{name:"Talk-dk Mailing List",description:"A mailing list to discuss OpenStreetMap in Denmark"},"fi-forum":{name:"OpenStreetMap FI forum",description:"OpenStreetMap Finland web forum"},"fi-irc":{name:"OpenStreetMap Finland IRC",description:"Join #osm-fi on irc.oftc.net (port 6667)"},"fi-mailinglist":{name:"Talk-fi Mailing List",description:"Talk-fi is the official mailing list for the Finnish OSM community"},"fr-facebook":{name:"OpenStreetMap France Facebook page",description:"OpenStreetMap France Facebook page"},"fr-forum":{name:"OpenStreetMap France web forum",description:"OpenStreetMap France web forum"},"fr-irc":{name:"OpenStreetMap France on IRC",description:"Join #osm-fr on irc.oftc.net (port 6667)"},"fr-mailinglist":{name:"Talk-fr Mailing List",description:"Talk-fr mailing list"},"fr-twitter":{name:"OpenStreetMap France on Twitter",description:"OpenStreetMap France on Twitter: {url}"},"de-berlin-mailinglist":{name:"Berlin Mailing List",description:"This is the mailing list for the Berlin OSM community"},"de-berlin-meetup":{name:"OpenStreetMap Berlin-Brandenburg Meetup",description:"Mappers and OpenStreetMap users in the Berlin area"},"de-berlin-telegram":{name:"@osmberlin on Telegram",description:"OpenStreetMap Berlin Telegram chat"},"de-berlin-twitter":{name:"OpenStreetMap Berlin Twitter",description:"Follow us on Twitter: {url}"},"de-forum":{name:"OpenStreetMap DE forum",description:"OpenStreetMap Germany web forum"},"de-irc":{name:"OpenStreetMap Germany IRC",description:"Join #osm-de on irc.oftc.net (port 6667)"},"de-mailinglist":{name:"Talk-de Mailing List",description:"Talk-de is the official mailing list for the German OSM community"},"de-ostwestfalen-lippe-mailinglist":{name:"OWL Mailing List",description:"This is the mailing list for the Ostwestfalen-Lippe OSM community"},"de-telegram":{name:"OpenStreetMap Germany Telegram",description:"Join the OpenStreetMap Germany Telegram supergroup at {url}"},"osm-de":{name:"OpenStreetMap Germany",description:"The platform for information on OpenStreetMap in Germany"},"hu-facebook":{name:"OpenStreetMap HU on Facebook",description:"Mappers and OpenStreetMap Facebook in Hungary"},"hu-forum":{name:"OpenStreetMap HU forum",description:"OpenStreetMap Hungary web forum"},"hu-meetup":{name:"OpenStreetMap Hungary Meetup",description:"The platform for organizing meetups in Hungary"},"it-facebook":{name:"OpenStreetMap Italy Facebook",description:"Join the OpenStreetMap Italy community on Facebook"},"it-irc":{name:"OpenStreetMap Italy IRC",description:"Join #osm-it on irc.oftc.net (port 6667)"},"it-mailinglist":{name:"Talk-it Mailing List",description:"Talk-it is the official mailing list for the Italian OSM community"},"it-telegram":{name:"@OpenStreetMapItalia on Telegram",description:"OpenStreetMap Italy Telegram chat"},"it-twitter":{name:"OpenStreetMap Italy Twitter",description:"Follow us on Twitter at {url}"},"OSM-Rome-meetup":{name:"Incontro Mappatori Romani",description:"Improve OpenStreetMap in the Rome area",extendedDescription:"We aim to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Lazio."},"South-Tyrol-Mailing-List":{name:"OpenStreetMap mailing list for South Tyrol",description:"OpenStreetMap Italy regional talk list for South Tyrol"},"talk-it-lazio":{name:"OpenStreetMap IT Lazio",description:"All are welcome! Sign up at {signupUrl}",extendedDescription:"Mailinglist for Rome and Lazio area."},"Trentino-Mailing-List":{name:"OpenStreetMap mailing list for Trentino",description:"OpenStreetMap Italy regional talk list for Trentino"},"no-forum":{name:"OpenStreetMap Norway Web Forum",description:"OpenStreetMap Norway web forum"},"no-irc":{name:"OpenStreetMap Norway on IRC",description:"Chat room for mappers and OpenStreetMap users, developers and enthusiasts in Norway"},"no-mailinglist":{name:"OpenStreetMap Norway mailing list",description:"Mailing list for mappers and OpenStreetMap users, developers and enthusiasts in Norway"},"OSM-PL-facebook-group":{name:"OpenStreetMap Poland Facebook group",description:"Group for mappers and users of OpenStreetMap in Poland"},"OSM-PL-forum":{name:"OpenStreetMap Poland Forum",description:"Forum of Polish OpenStreetMap community"},"OSM-ES-mailinglist":{name:"Talk-es mailing list",description:"A mailing list to discuss OpenStreetMap in Spain"},"OSM-ES-telegram":{name:"@OSMes on Telegram",description:"OpenStreetMap Spain Telegram chat"},"osm-se":{name:"OpenStreetMap.se",description:"Provide OSM services and information for the local community in Sweden"},"se-facebook":{name:"OpenStreetMap Sweden Facebook",description:"OpenStreetMap Sweden on Facebook"},"se-forum":{name:"OpenStreetMap Sweden Web Forum",description:"OpenStreetMap Sweden web forum"},"se-irc":{name:"OpenStreetMap Sweden IRC",description:"Join #osm.se on irc.oftc.net (port 6667)"},"se-mailinglist":{name:"Talk-se Mailing List",description:"A mailing list to discuss OpenStreetMap in Sweden"},"se-twitter":{name:"OpenStreetMap Sweden on Twitter",description:"Follow us on Twitter: {url}"},"Nottingham-OSM-pub-meetup":{name:"East Midlands (Nottingham) Monthly pub meet-up",description:"Social gathering for East Midlands mappers and users",extendedDescription:"A group have been meeting since March 2011, initially in Nottingham, and, more recently in Derby, and from time to time elsewhere in the East Midlands. These are social gatherings, but are an excellent place to come and ask specific questions about OSM either in the area or in general. In the summer months we usually do some light mapping for an hour in the vicinity of our meeting place. The group as a whole has a special interest in mapping public rights of way and from time to time has mapping meetings for this purpose."},"gb-mailinglist":{name:"Talk-gb Mailing List",description:"Talk-gb is the main communication forum list for the British (including Northern Ireland) OSM community"},"mappa-mercia-group":{name:"Mappa Mercia local group",description:"A home for OpenStreetMap enthusiasts in the Midlands",extendedDescription:"Mappa Mercia is a project to grow OpenStreetMap in the West Midlands, UK. We run community events, provide training and support local organisations wishing to open up their data."},"gb-irc":{name:"OpenStreetMap United Kingdom IRC",description:"Join #osm-gb on irc.oftc.net (port 6667)",extendedDescription:"Join #osm-gb on irc.oftc.net (port 6667), please be patient and wait for a few minutes if you ask a question"},"OSM-CA-Slack":{name:"OSM-CA Slack",description:"All are welcome! Sign up at {signupUrl}."},"OSM-Vancouver-meetup":{name:"OpenStreetMap Vancouver",description:"Mappers and OpenStreetMap users in the Vancouver, BC area"},"OSM-CU-telegram":{name:"OSM Cuba on Telegram",description:"OpenStreetMap Cuba Telegram chat"},"OSM-NI-telegram":{name:"OSM Nicaragua on Telegram",description:"OpenStreetMap Nicaragua Telegram chat"},"Bay-Area-OpenStreetMappers":{name:"Bay Area OpenStreetMappers",description:"Improve OpenStreetMap in the Bay Area",extendedDescription:"This group is about growing the OpenStreetMap community here in the Bay Area. Our events are open to everyone, from open source enthusiasts, cyclists, GIS professionals, geocachers, and beyond. Anyone and everyone who is interested in maps, map making and free map data is welcome to join our group as well as attend our events."},"Central-Pennsylvania-OSM":{name:"Central Pennsylvania OSM",description:"Online mapping community based out of State College, PA"},"Code-for-San-Jose-Slack":{name:"Code for San Jose Slack",description:"All are welcome! Sign up at {signupUrl}, then join the #osm channel."},"Dallas-Fort-Worth-OSM":{name:"Dallas-Fort Worth OSM",description:"The OpenStreetMap user group for Dallas-Fort Worth",extendedDescription:"Dallas, Fort Worth, and all the cities in between are abounding with creative and tech-savvy people. The vision for this usergroup is to find new ways to use the amazing resource of OSM."},GeoPhilly:{name:"GeoPhilly",description:"Meetup for map enthusiasts in the Philadelphia area",extendedDescription:"GeoPhilly unites developers, geographers, data geeks, open source enthusiasts, civic hackers and map addicts in our shared love of maps and the stories they tell. If you use maps as part of your work or just want to learn more, this is the meetup for you! Our events aim to be open, friendly, educational and social and range from happy hours to lightning talks or even workshops. Come create a diverse, inspiring geospatial community in the Philadelphia with us!"},MapMinnesota:{name:"MapMinnesota",description:"Mappers and OpenStreetMap enthusiasts in the Twin Cities area",extendedDescription:"Connecting OpenStreetMap enthusiasts in Minnesota and the Twin Cities!"},"Mapping-DC-meetup":{name:"Mapping DC",description:"Improve OpenStreetMap in the DC area",extendedDescription:"We are a group of volunteer mappers who aim to improve the OpenStreetMap in the DC area. We also aim to teach others about the OSM ecosystem, data analytics, cartography, and GIS. We gather every other month at meetups to focus on one area of our city."},"Maptime-ME-meetup":{name:"MaptimeME",description:"Mappers and OpenStreetMap users, around Portland, ME",extendedDescription:"Maptime is, rather literally, time for mapmaking. Our mission is to open the doors of cartographic possibility to anyone interested by creating a time and space for collaborative learning, exploration, and map creation using mapping tools and technologies."},"OpenCleveland-meetup":{name:"Open Cleveland",description:"Improve OpenStreetMap in the Cleveland area",extendedDescription:"Open Geo Cleveland aims to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Northeast Ohio. We're also a maptime chapter =)"},"OSM-Boston":{name:"OpenStreetMap Boston",description:"Mappers and OpenStreetMap users in the Boston area",extendedDescription:"OpenStreetMap is the free and open, wiki-style map of the world, with hundreds of thousands of contributions every day from people like you. Editing the map is simple, and fun! Join us both indoors and outdoors in our effort to create the best map of the Boston area and the rest of the world!"},"OSM-Central-Salish-Sea":{name:"OpenStreetMap Central Salish Sea",description:"Mappers and OpenStreetMap users around Mount Vernon, WA",extendedDescription:"OpenStreetMap is an map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more. We meet all the time to talk maps, make maps and have fun!"},"OSM-Chattanooga":{name:"OSM Chattanooga",description:"The OpenStreetMap user group for Chattanooga"},"OSM-Colorado":{name:"OpenStreetMap Colorado",description:"Mappers and OpenStreetMap users in the state of Colorado, USA",extendedDescription:"OpenStreetMap (OSM) Colorado is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties."},"OSM-NYC":{name:"OpenStreetMap NYC",description:"Mappers and OpenStreetMap users, developers and enthusiasts in the New York Metropolitan area"},"OSM-Portland":{name:"OpenStreetMap Portland",description:"Mappers and OpenStreetMap users in the Portland area",extendedDescription:"OpenStreetMap (OSM) is a map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more, and come join us at a meetup to talk maps, contribute to OSM, and have fun!"},"OSM-Seattle":{name:"OpenStreetMap Seattle",description:"Mappers and OpenStreetMap users in the Seattle area"},"OSM-SoCal":{name:"OpenStreetMap Southern California",description:"Let's have some fun, contribute something to Los Angeles, and learn about mapping!",extendedDescription:"OpenStreetMap (OSM) Southern California is for anyone interested in mapping to get together to work with OpenStreetMap. OpenStreetMap, the Wikipedia of maps, is a free open-source map of the world being created by more than 1,000,000 volunteers around the globe. Everyone is welcome. If you don't know OpenStreetMap, we'll teach you. If you have an idea for a mapping project or even a field trip that the group can do, great!"},"OSM-South-Bay":{name:"OSM South Bay",description:"Map Nights hosted by Code for San Jose",extendedDescription:"Code for San Jose, the local Code for America brigade, hosts monthly Map Nights on Thursday nights in downtown San José. Meet fellow South Bay mappers, help out with local mapping projects, and hear about other civic tech projects. Programming and GIS skills are not required."},"OSM-Tampa-Bay":{name:"OpenStreetMap Tampa Bay",description:"Mappers and OpenStreetMap users in the Tampa Bay area",extendedDescription:"OSM Tampa Bay group for local residents to get together and build out the definitive map of Tampa Bay with OpenStreetMap, the free and editable map of the world. If you're into maps, data, open source, GPS, hiking, cycling, et cetera, you'll love working with OpenStreetMap -- so join in! We'll get together and map and talk about new topics once-a-month or so."},"OSM-US-Slack":{name:"OpenStreetMap US Slack",description:"All are welcome! Sign up at {signupUrl}"},"OSM-US":{name:"OpenStreetMap US",description:"We help grow and improve OpenStreetMap in the United States.",extendedDescription:"We support OpenStreetMap by holding annual conferences, providing community resources, building partnerships, and by spreading the word. Join OpenStreetMap US here: {signupUrl}"},"OSM-Utah":{name:"OpenStreetMap Utah",description:"Mappers and OpenStreetMap users in the Salt Lake City area",extendedDescription:"Activities may include things like Learn To Map workshops, mapping parties and outdoor data collection. The events will take place in the SLC area, at least initially. We are looking for seasoned mappers as well as people new to OSM. Join and let's do some mapping!"},"OSM-Wyoming":{name:"OpenStreetMap Wyoming",description:"Mappers and OpenStreetMap users in the state of Wyoming",extendedDescription:"OpenStreetMap (OSM) Wyoming is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties."},"PHXGeo-meetup":{name:"PHXGeo Meetup",description:"Mappers and OpenStreetMap users in the Phoenix, AZ area",extendedDescription:"This is a meetup group for those in the Phoenix area who like maps, GIS, OpenStreetMap, cartography and anything in between."},"PHXGeo-twitter":{name:"PHXGeo Twitter",description:"Follow us on Twitter at {url}"},"Western-Slope-facebook":{name:"Western Slope OSM Facebook",description:"Mappers and OpenStreetMap users around Grand Junction, CO"},"Western-Slope-meetup":{name:"Western Slope OSM Meetup",description:"Mappers and OpenStreetMap users around Grand Junction, CO",extendedDescription:"The goal of this group is to introduce OpenStreetMap to the community, develop a community of mappers, create the most amazing geodata possible using whatever method we can and finally strategize in order to get this data out into our community. Imagine accurate trail signage! Imagine further development of bike paths! Imagine anything you want, that's the joy of OpenStreetMap!"},"Maptime-Australia-Slack":{name:"Maptime Australia Slack",description:"Sign up at {signupUrl}"},"talk-au":{name:"Talk-au Mailing List",description:"Place for Aussie mappers to chat"},"OSM-AR-facebook":{name:"OpenStreetMap Argentina Facebook",description:"Join the OpenStreetMap Argentina community on Facebook",extendedDescription:"News from the local community"},"OSM-AR-forum":{name:"OpenStreetMap Argentina web forum",description:"Join the OpenStreetMap Argentina web forum",extendedDescription:"Ideal for long or important discussions. Slow response time."},"OSM-AR-irc":{name:"OpenStreetMap Argentina IRC",description:"Join #osm-ar on irc.oftc.net (port 6667)",extendedDescription:"You may find the most geeky user in the community."},"OSM-AR-mailinglist":{name:"Talk-ar Mailing List",description:"Historic mailing list. Almost unused today."},"OSM-AR-telegram":{name:"OpenStreetMap Argentina Telegram",description:"Join the OpenStreetMap Argentina community on Telegram",extendedDescription:"The most active channel in the community, ideal for chatting and getting answers to your questions instantly. Everyone is welcome!"},"OSM-AR-twitter":{name:"OpenStreetMap Argentina Twitter",description:"Follow us on Twitter at {url}",extendedDescription:"News from the local community and OpenStreetMap in general."},"OSM-BO-mailinglist":{name:"Talk-bo Mailing List",description:"Talk-bo is the official mailing list for the Bolivian OpenStreetMap community",extendedDescription:"Mapping in Bolivia? Have questions, want to connect with the community here? Join us at {url}. All are welcome!"},"Bahia-telegram":{name:"OpenStreetMap Bahia Telegram Group",description:"Join the OpenStreetMap Bahia community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"DF-telegram":{name:"OpenStreetMap Brasília Telegram Group",description:"Join the OpenStreetMap Brasília community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-br-mailinglist":{name:"Talk-br Mailing List",description:"A mailing list to discuss OpenStreetMap in Brazil"},"OSM-br-telegram":{name:"OpenStreetMap Brasil Telegram",description:"Join the OpenStreetMap Brasil community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-br-twitter":{name:"OpenStreetMap Brasil Twitter",description:"Follow us on Twitter at {url}"},"OSM-CL-facebook":{name:"OpenStreetMap Chile Facebook",description:"Join the OpenStreetMap Chile community on Facebook",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-CL-mailinglist":{name:"Talk-cl Mailing List",description:"A mailing list to discuss OpenStreetMap in Chile"},"OSM-CL-telegram":{name:"OpenStreetMap Chile Telegram",description:"Join the OpenStreetMap Chile community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!"},"OSM-CL-twitter":{name:"OpenStreetMap Chile Twitter",description:"Follow us on Twitter at {url}"},"Maptime-Bogota":{name:"Maptime Bogotá",description:"We're a group of mappers interested in mapping in OpenStreetMap around Bogotá.",extendedDescription:"Learn to collect data in the field and digitize onto OpenStreetMap. It is not necessary to have previous knowledge! You just need the desire to participate, learn, and have fun."},"OSM-CO-facebook":{name:"OpenStreetMap Colombia Facebook",description:"Join the OpenStreetMap Colombia community on Facebook",extendedDescription:"Join the community to learn more about OpenStreetMap. Everyone is welcome!"},"OSM-CO-mailinglist":{name:"Talk-co Mailing List",description:"A mailing list to discuss OpenStreetMap in Colombia"},"OSM-CO-telegram":{name:"OSM Colombia on Telegram",description:"OpenStreetMap Colombia Telegram chat"},"OSM-CO-twitter":{name:"OpenStreetMap Colombia Twitter",description:"Follow us on Twitter at {url}"},"OSM-CO":{name:"OpenStreetMap Colombia",description:"News of the OpenStreetMap Colombia community and the OSMCo Foundation"},"OSM-EC-telegram":{name:"OSM Ecuador on Telegram",description:"OpenStreetMap Ecuador Telegram chat"},"OSM-PY-telegram":{name:"OSM Paraguay on Telegram",description:"OpenStreetMap Paraguay Telegram chat"},"OSM-PE-facebook":{name:"OpenStreetMap Peru Facebook",description:"Join the OpenStreetMap Peru community on Facebook"},"OSM-PE-mailinglist":{name:"Talk-pe Mailing List",description:"The official mailing list for the OpenStreetMap Peru community"},"OSM-PE-matrix":{name:"OpenStreetMap Peru Matrix Chat",description:"Chat with other members of the OpenStreetMap Peru community in Matrix."},"OSM-PE-telegram":{name:"OpenStreetMap Peru Telegram",description:"Join the OpenStreetMap Peru community on Telegram"},"OSM-PE-twitter":{name:"OpenStreetMap Peru Twitter",description:"Follow us on Twitter at {url}"},"OSM-PE":{name:"OpenStreetMap Peru",description:"News and resources for the OpenStreetMap Peru community"},"OSM-Facebook":{name:"OpenStreetMap on Facebook",description:"Like us on Facebook for news and updates about OpenStreetMap."},"OSM-help":{name:"OpenStreetMap Help",description:"Ask a question and get answers on OSM's community-driven question and answer site.",extendedDescription:"{url} is for everyone who needs help with OpenStreetMap. Whether you are a beginner mapper or have a technical question, we're here to help!"},"OSM-Reddit":{name:"OpenStreetMap on Reddit",description:"/r/openstreetmap/ is a great place to learn more about OpenStreetMap. Ask us anything!"},"OSM-Telegram":{name:"OpenStreetMap Telegram",description:"Join the OpenStreetMap Telegram global supergroup at {url}"},"OSM-Twitter":{name:"OpenStreetMap Twitter",description:"Follow us on Twitter at {url}"},OSMF:{name:"OpenStreetMap Foundation",description:"OSMF is a UK-based not-for-profit that supports the OpenStreetMap Project",extendedDescription:"OSMF supports the OpenStreetMap by fundraising, maintaining the servers which power OSM, organizing the annual State of the Map conference, and coordinating the volunteers who keep OSM running. You can show your support and have a voice in the direction of OpenStreetMap by joining as an OSMF member here: {signupUrl}",events:{sotm2018:{name:"State of the Map 2018",description:"Join us for 3 days in Milan, Italy for the annual worldwide OpenStreetMap conference, bringing together everyone in the community to socialize, share, and learn.",where:"Milan, Italy"}}}}}; + + var features$2 = {cape_coast_gh:{type:"Feature",id:"cape_coast_gh",properties:{},geometry:{type:"Polygon",coordinates:[[[-1.6,5],[-1.6,5.4],[-1,5.4],[-1,5],[-1.6,5]]]}},ghana:{type:"Feature",properties:{},id:"ghana",geometry:{type:"Polygon",coordinates:[[[-3.11256,5.13335],[-2.97215,5.11112],[-2.94811,5.12753],[-2.75757,5.10599],[-2.7253,5.14087],[-2.78641,5.28242],[-2.78297,5.29541],[-2.76993,5.2937],[-2.76546,5.31797],[-2.77748,5.33079],[-2.77319,5.35557],[-2.72495,5.34224],[-2.78023,5.60642],[-2.86022,5.65049],[-2.92889,5.61838],[-2.96631,5.64127],[-2.95292,5.71643],[-3.02639,5.7096],[-3.01987,5.8575],[-3.07411,5.98624],[-3.10226,6.15284],[-3.15514,6.25114],[-3.17574,6.25182],[-3.17162,6.29755],[-3.23753,6.54183],[-3.23341,6.60049],[-3.26157,6.61959],[-3.21007,6.73417],[-3.24028,6.83031],[-2.95326,7.23817],[-2.97558,7.27018],[-2.92236,7.61436],[-2.77611,7.94432],[-2.60513,8.03747],[-2.62985,8.11769],[-2.48978,8.20877],[-2.64221,9.00988],[-2.77679,9.03972],[-2.76581,9.15633],[-2.66968,9.26478],[-2.93884,10.66601],[-2.82898,11.0113],[-0.68939,11.00051],[-0.60974,10.91962],[-0.43121,11.04095],[-0.43396,11.10295],[-0.27843,11.17672],[-0.13424,11.13967],[-0.14214,11.10632],[-0.05905,11.08341],[-0.0388,11.10733],[-0.01339,11.11204],[0.02369,11.05308],[0.03296,10.97793],[-0.00549,10.96411],[-0.02266,10.81914],[-0.07141,10.76856],[-0.07999,10.69806],[-0.05905,10.63294],[0.04257,10.60257],[0.0618,10.56207],[0.14351,10.52629],[0.17097,10.42265],[0.26711,10.41151],[0.28633,10.42096],[0.34264,10.31357],[0.39757,10.31492],[0.39722,10.30546],[0.37148,10.28283],[0.35225,10.10746],[0.41817,10.06487],[0.40924,10.01822],[0.36461,10.03174],[0.34676,9.66506],[0.26779,9.64678],[0.24994,9.44771],[0.42847,9.48564],[0.56168,9.40977],[0.48203,8.80501],[0.3804,8.74122],[0.47653,8.59324],[0.65369,8.49546],[0.65781,8.42347],[0.70862,8.38339],[0.72784,8.28964],[0.60425,8.21693],[0.62004,7.70623],[0.59464,7.70283],[0.5809,7.62253],[0.52322,7.5953],[0.52734,7.45099],[0.56168,7.39243],[0.62759,7.40741],[0.66055,7.30935],[0.59395,7.11248],[0.61317,7.09306],[0.59601,7.00549],[0.52322,6.97823],[0.52322,6.94006],[0.56442,6.92234],[0.53284,6.82962],[0.65094,6.73962],[0.63446,6.63733],[0.74707,6.57048],[0.71411,6.51864],[0.90242,6.33355],[1.00405,6.33543],[1.02516,6.25319],[1.05537,6.22964],[1.1,6.17],[1.2,6.17],[1.2,4],[-3,4.5],[-3.11256,5.13335]]]}},madagascar:{type:"Feature",id:"madagascar",properties:{},geometry:{type:"Polygon",coordinates:[[[51,-15],[47.5,-26],[42,-26],[43.5,-16],[49.5,-11],[51,-15]]]}},BGD:{type:"Feature",id:"BGD",properties:{name:"Bangladesh"},geometry:{type:"Polygon",coordinates:[[[92.67272,22.04124],[92.65226,21.32405],[92.30323,21.47548],[92.36855,20.67088],[92.08289,21.1922],[92.02522,21.70157],[91.83489,22.18294],[91.41709,22.76502],[90.49601,22.80502],[90.58696,22.39279],[90.27297,21.83637],[89.84747,22.03915],[89.70205,21.85712],[89.41886,21.96618],[89.03196,22.05571],[88.87631,22.87915],[88.52977,23.63114],[88.69994,24.23372],[88.08442,24.50166],[88.30637,24.86608],[88.93155,25.23869],[88.20979,25.76807],[88.56305,26.44653],[89.35509,26.01441],[89.83248,25.96508],[89.92069,25.26975],[90.87221,25.1326],[91.7996,25.14743],[92.3762,24.97669],[91.91509,24.13041],[91.46773,24.07264],[91.15896,23.50353],[91.70647,22.98526],[91.86993,23.62435],[92.14603,23.6275],[92.67272,22.04124]]]}},india_full:{type:"Feature",id:"india_full",properties:{name:"India"},geometry:{type:"MultiPolygon",coordinates:[[[[77.83745,35.49401],[78.91227,34.32194],[78.81109,33.5062],[79.20889,32.99439],[79.17613,32.48378],[78.45845,32.61816],[78.73889,31.51591],[79.72137,30.88272],[81.11126,30.18348],[80.47672,29.72987],[80.08843,28.79447],[81.0572,28.41609],[81.99999,27.92548],[83.30425,27.36451],[84.67502,27.2349],[85.25178,26.7262],[86.02439,26.63098],[87.22747,26.3979],[88.06024,26.41462],[88.1748,26.8104],[88.04313,27.44582],[88.12044,27.87654],[88.73033,28.08686],[88.81425,27.29932],[88.83564,27.09897],[89.74453,26.7194],[90.37328,26.87572],[91.21751,26.80865],[92.03348,26.83831],[92.10371,27.45261],[91.69666,27.77174],[92.50312,27.89688],[93.41335,28.64063],[94.56599,29.27744],[95.4048,29.03172],[96.11768,29.4528],[96.58659,28.83098],[96.24883,28.41103],[97.32711,28.26158],[97.40256,27.88254],[97.05199,27.69906],[97.134,27.08377],[96.41937,27.26459],[95.12477,26.57357],[95.15515,26.00131],[94.60325,25.16249],[94.55266,24.67524],[94.10674,23.85074],[93.32519,24.07856],[93.28633,23.04366],[93.06029,22.70311],[93.16613,22.27846],[92.67272,22.04124],[92.14603,23.6275],[91.86993,23.62435],[91.70647,22.98526],[91.15896,23.50353],[91.46773,24.07264],[91.91509,24.13041],[92.3762,24.97669],[91.7996,25.14743],[90.87221,25.1326],[89.92069,25.26975],[89.83248,25.96508],[89.35509,26.01441],[88.56305,26.44653],[88.20979,25.76807],[88.93155,25.23869],[88.30637,24.86608],[88.08442,24.50166],[88.69994,24.23372],[88.52977,23.63114],[88.87631,22.87915],[89.03196,22.05571],[88.88877,21.69059],[88.2085,21.70317],[86.9757,21.49556],[87.03317,20.74331],[86.49935,20.15164],[85.06027,19.47858],[83.94101,18.30201],[83.18922,17.67122],[82.19279,17.01664],[82.19124,16.55666],[81.69272,16.31022],[80.792,15.95197],[80.3249,15.89918],[80.02507,15.13641],[80.23327,13.83577],[80.28629,13.00626],[79.86255,12.05621],[79.858,10.35727],[79.34051,10.30885],[78.88535,9.54614],[79.18972,9.21654],[78.27794,8.93305],[77.94116,8.25296],[77.5399,7.96554],[76.59298,8.89928],[76.13006,10.29963],[75.74647,11.30825],[75.3961,11.78125],[74.86482,12.74194],[74.61672,13.99258],[74.44386,14.61722],[73.5342,15.99065],[73.11991,17.92857],[72.82091,19.20823],[72.82448,20.4195],[72.63053,21.35601],[71.17527,20.75744],[70.47046,20.87733],[69.16413,22.0893],[69.64493,22.45078],[69.3496,22.84318],[68.17664,23.69196],[68.8426,24.35913],[71.04324,24.35652],[70.8447,25.2151],[70.28287,25.72223],[70.16893,26.49187],[69.51439,26.94097],[70.6165,27.9892],[71.77767,27.91318],[72.82375,28.96159],[73.45064,29.97641],[74.42138,30.97981],[74.40593,31.69264],[75.25864,32.2711],[74.45156,32.7649],[74.10429,33.44147],[73.74995,34.3177],[74.2402,34.74889],[75.75706,34.50492],[76.87172,34.65354],[77.83745,35.49401]]]]}},india_puducherry:{type:"Feature",id:"india_puducherry",properties:{name:"Puducherry"},geometry:{type:"Polygon",coordinates:[[[79.87782,12.04973],[79.84726,11.95536],[79.83593,11.90229],[79.81979,11.85761],[79.81464,11.79006],[79.79645,11.7736],[79.77036,11.77191],[79.74564,11.78065],[79.6804,11.7988],[79.61655,11.82434],[79.58702,11.88549],[79.65672,11.93152],[79.64745,11.9594],[79.6423,12.0138],[79.66599,12.03865],[79.72813,12.04201],[79.79885,12.0457],[79.8452,12.05644],[79.87782,12.04973]]]}},IDN:{type:"Feature",id:"IDN",properties:{},geometry:{type:"Polygon",coordinates:[[[109.538,1.92671],[109.58606,1.79192],[109.68554,1.78179],[109.66224,1.61881],[109.82759,1.48148],[109.93117,1.42466],[109.97919,1.29865],[110.09758,1.19756],[110.1922,1.18303],[110.30096,0.99575],[110.39497,0.99668],[110.49064,0.87637],[110.59486,0.858],[110.85815,0.94998],[110.9055,1.02835],[111.19759,1.06475],[111.22607,1.08799],[111.40504,1.0094],[111.48916,1.03442],[111.52219,0.95868],[111.66704,1.04281],[111.82599,0.98538],[111.934,1.10284],[112.13391,1.13752],[112.22581,1.39272],[112.20003,1.43709],[112.5171,1.57395],[112.77536,1.56153],[112.87744,1.58118],[113.05767,1.55877],[113.106,1.44495],[113.35493,1.35908],[113.41908,1.28549],[113.53549,1.32127],[113.63068,1.21597],[113.81508,1.30294],[113.85093,1.38715],[113.97573,1.45005],[114.14945,1.46149],[114.2027,1.4213],[114.41581,1.51111],[114.52646,1.44179],[114.58583,1.44665],[114.61498,1.57508],[114.71115,1.67148],[114.69469,1.81063],[114.74372,1.86954],[114.87834,1.91463],[114.80632,2.02438],[114.78024,2.14454],[114.79949,2.24936],[114.90604,2.25697],[114.95039,2.35132],[115.09508,2.41123],[115.13965,2.4776],[115.23743,2.50599],[115.09278,2.69409],[115.14115,2.74432],[115.11387,2.83327],[115.15001,2.90895],[115.24912,2.9667],[115.48328,3.01964],[115.56423,3.17109],[115.51617,3.26111],[115.53779,3.36201],[115.6344,3.45571],[115.57652,3.6094],[115.57965,3.74752],[115.61864,3.84247],[115.58177,3.88792],[115.64991,3.98828],[115.70731,4.19935],[115.8296,4.24118],[115.8779,4.39102],[116.00607,4.34818],[116.07901,4.27643],[116.18028,4.38255],[116.34851,4.39138],[116.43275,4.32567],[116.53602,4.37566],[116.61942,4.33622],[116.89887,4.36704],[116.97351,4.34488],[117.28899,4.31595],[117.52934,4.1615],[117.8992,4.16585],[117.95861,4.19058],[118.26478,4.09696],[127.3,5.2],[129,2.7],[141,-2.4],[141,-6.3],[140.83,-6.7],[141.02,-6.95],[141.02,-9.5],[128.5,-9.5],[127.3,-8.2],[125,-8.5],[123.96,-9.2],[124.11,-9.42],[124.22,-9.37],[124.269,-9.4],[124.287,-9.5],[124.358,-9.48564],[124.355,-9.43281],[124.383,-9.361],[124.444,-9.31899],[124.48,-9.15],[124.95,-8.9],[124.94064,-9.03565],[124.99695,-9.06413],[125.11368,-8.98275],[125.18234,-9.03293],[125.18234,-9.17396],[124.98459,-9.19429],[124.99283,-9.28646],[125.04913,-9.33254],[125.16,-9.7],[123,-11.4],[100,-7],[93.5,6.3],[96.6,6.1],[103,1.4],[103.75,1.14],[103.9,1.2],[104.5,1.3],[105,3],[108,5.1],[109.64501,2.08141],[109.62041,1.98321],[109.538,1.92671]]]}},japan:{type:"Feature",id:"japan",properties:{},geometry:{type:"Polygon",coordinates:[[[141.11938,45.69083],[142.28497,45.56863],[145.39307,44.48867],[145.57983,44.11125],[145.27222,43.79291],[145.47821,43.46289],[145.68695,43.4589],[145.91217,43.39108],[145.44903,42.69934],[143.91094,41.8376],[142.48272,39.3181],[142.1751,38.15265],[141.38409,35.69383],[140.94463,35.21056],[140.55908,32.1198],[139.38457,31.87843],[138.98907,33.1752],[138.01025,34.29807],[135.99976,33.17434],[133.53882,32.71336],[132.48516,32.06483],[131.56128,31.04352],[131.03497,29.53613],[129.94629,27.50827],[127.78301,25.4442],[126.47461,25.42343],[125.86487,24.52713],[124.92657,23.88678],[123.37921,23.82053],[122.67883,24.31456],[122.7293,24.64795],[124.67834,25.02588],[125.36602,25.52354],[126.24493,26.35342],[127.56329,27.13828],[128.57403,28.73003],[128.74981,31.46703],[128.36426,32.62087],[128.92559,33.76174],[129.21021,34.62417],[129.56177,34.84086],[136.69739,37.9312],[139.1209,38.85762],[139.04297,42.04929],[140.13165,43.58114],[140.5711,45.64549],[141.11938,45.69083]]]}},korea:{type:"Feature",id:"korea",properties:{},geometry:{type:"Polygon",coordinates:[[[125,33],[124,39.5],[124.38171,40.12429],[124.87061,40.47202],[126.04614,40.95294],[126.60095,41.57231],[126.90308,41.79179],[127.24915,41.50446],[128.19397,41.41802],[128.28186,41.56614],[128.0127,42.0097],[128.8751,42.04521],[129.2926,42.43967],[129.67438,42.45589],[129.87762,43],[130.19348,42.92023],[130.31433,42.66224],[130.50385,42.59555],[130.68237,42.2895],[131.3,36.6],[127.3,33],[125,33]]]}},malaysia:{type:"Feature",id:"malaysia",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[109.538,1.92671],[109.62041,1.98321],[109.64501,2.08141],[113.8,4.8],[114.26015,4.50701],[114.33278,4.34889],[114.31645,4.26363],[114.45418,4.24183],[114.49579,4.14668],[114.6492,4.00624],[114.80762,4.14929],[114.85775,4.26957],[114.87758,4.42656],[114.82955,4.42966],[114.80229,4.67536],[114.85851,4.79751],[114.97133,4.80824],[115.02238,4.74977],[115.09879,4.4685],[115.15547,4.38302],[115.24582,4.34118],[115.28924,4.60384],[115.2375,4.79584],[115.15038,4.87204],[115.15825,5.02512],[115,5.3],[116.9,7.6],[117.5,7.4],[119.35011,5.53088],[119.43909,5.11578],[118.83773,4.45269],[118.26478,4.09696],[117.95861,4.19058],[117.8992,4.16585],[117.52934,4.1615],[117.28899,4.31595],[116.97351,4.34488],[116.89887,4.36704],[116.61942,4.33622],[116.53602,4.37566],[116.43275,4.32567],[116.34851,4.39138],[116.18028,4.38255],[116.07901,4.27643],[116.00607,4.34818],[115.8779,4.39102],[115.8296,4.24118],[115.70731,4.19935],[115.64991,3.98828],[115.58177,3.88792],[115.61864,3.84247],[115.57965,3.74752],[115.57652,3.6094],[115.6344,3.45571],[115.53779,3.36201],[115.51617,3.26111],[115.56423,3.17109],[115.48328,3.01964],[115.24912,2.9667],[115.15001,2.90895],[115.11387,2.83327],[115.14115,2.74432],[115.09278,2.69409],[115.23743,2.50599],[115.13965,2.4776],[115.09508,2.41123],[114.95039,2.35132],[114.90604,2.25697],[114.79949,2.24936],[114.78024,2.14454],[114.80632,2.02438],[114.87834,1.91463],[114.74372,1.86954],[114.69469,1.81063],[114.71115,1.67148],[114.61498,1.57508],[114.58583,1.44665],[114.52646,1.44179],[114.41581,1.51111],[114.2027,1.4213],[114.14945,1.46149],[113.97573,1.45005],[113.85093,1.38715],[113.81508,1.30294],[113.63068,1.21597],[113.53549,1.32127],[113.41908,1.28549],[113.35493,1.35908],[113.106,1.44495],[113.05767,1.55877],[112.87744,1.58118],[112.77536,1.56153],[112.5171,1.57395],[112.20003,1.43709],[112.22581,1.39272],[112.13391,1.13752],[111.934,1.10284],[111.82599,0.98538],[111.66704,1.04281],[111.52219,0.95868],[111.48916,1.03442],[111.40504,1.0094],[111.22607,1.08799],[111.19759,1.06475],[110.9055,1.02835],[110.85815,0.94998],[110.59486,0.858],[110.49064,0.87637],[110.39497,0.99668],[110.30096,0.99575],[110.1922,1.18303],[110.09758,1.19756],[109.97919,1.29865],[109.93117,1.42466],[109.82759,1.48148],[109.66224,1.61881],[109.68554,1.78179],[109.58606,1.79192],[109.538,1.92671]]],[[[99.45833,6.30667],[99.51167,6.48167],[99.68908,6.47146],[99.91691,6.5233],[100.07588,6.40615],[100.15906,6.48065],[100.17157,6.69376],[100.32605,6.6597],[100.36648,6.53967],[100.4962,6.52128],[100.66237,6.45103],[100.73937,6.49207],[100.81258,6.44219],[100.83515,6.29654],[100.90398,6.23379],[100.98414,6.27884],[101.0943,6.26044],[101.12667,6.19264],[101.0868,5.9109],[101.03707,5.91804],[100.98946,5.78393],[101.1192,5.67031],[101.25999,5.71155],[101.27615,5.81155],[101.39691,5.87241],[101.48454,5.86993],[101.58131,5.93436],[101.66236,5.86871],[101.69082,5.75576],[101.79332,5.75066],[101.94402,5.87247],[101.94265,5.98109],[102.05204,6.0785],[102.08029,6.22537],[102.2,6.5],[103.6,5.8],[104.8,2.5],[104.5,1.5],[104.31571,1.28352],[104.12518,1.27582],[104.07647,1.43092],[103.89786,1.42794],[103.81267,1.47847],[103.67389,1.42814],[103.56667,1.1955],[103,1.325],[99,4.5],[99.45833,6.30667]]]]}},MNG:{type:"Feature",id:"MNG",properties:{name:"Mongolia"},geometry:{type:"Polygon",coordinates:[[[87.75126,49.2972],[88.80557,49.47052],[90.71367,50.33181],[92.23471,50.80217],[93.10422,50.49529],[94.14757,50.48054],[94.81595,50.01343],[95.81403,49.97747],[97.25973,49.72606],[98.23176,50.4224],[97.82574,51.011],[98.86149,52.04737],[99.98173,51.63401],[100.88948,51.51686],[102.06522,51.25992],[102.25591,50.51056],[103.67655,50.08997],[104.62155,50.27533],[105.88659,50.40602],[106.8888,50.2743],[107.86818,49.79371],[108.47517,49.28255],[109.40245,49.29296],[110.66201,49.13013],[111.58123,49.37797],[112.89774,49.54357],[114.36246,50.2483],[114.96211,50.14025],[115.4857,49.80518],[116.6788,49.88853],[116.1918,49.1346],[115.48528,48.13538],[115.74284,47.72655],[116.30895,47.85341],[117.29551,47.69771],[118.06414,48.06673],[118.86657,47.74706],[119.77282,47.04806],[119.66327,46.69268],[118.87433,46.80541],[117.4217,46.67273],[116.71787,46.3882],[115.9851,45.72724],[114.46033,45.33982],[113.46391,44.80889],[112.43606,45.01165],[111.87331,45.10208],[111.34838,44.45744],[111.66774,44.07318],[111.82959,43.74312],[111.12968,43.40683],[110.4121,42.87123],[109.2436,42.51945],[107.74477,42.48152],[106.12932,42.13433],[104.96499,41.59741],[104.52228,41.90835],[103.31228,41.90747],[101.83304,42.51487],[100.84587,42.6638],[99.51582,42.52469],[97.45176,42.74889],[96.3494,42.72563],[95.76246,43.31945],[95.30688,44.24133],[94.68893,44.35233],[93.48073,44.97547],[92.13389,45.11508],[90.94554,45.28607],[90.58577,45.71972],[90.97081,46.88815],[90.28083,47.69355],[88.8543,48.06908],[88.01383,48.59946],[87.75126,49.2972]]]}},MMR:{type:"Feature",id:"MMR",properties:{name:"Myanmar"},geometry:{type:"Polygon",coordinates:[[[92.10937,20.85881],[92.3291,21.49396],[92.68066,21.28937],[92.63672,22.08564],[92.98828,22.06528],[93.18604,22.22809],[93.14209,23.09994],[93.38379,23.22115],[93.36182,24.1267],[94.19678,23.92601],[94.70215,25.04579],[94.57031,25.26457],[95.20752,26.03704],[95.05371,26.49024],[97.66846,28.51697],[98.65723,27.50827],[98.56934,25.85922],[97.62451,24.8665],[97.73438,23.88584],[98.83301,24.14675],[98.85498,23.18076],[99.49219,23.05952],[99.1626,22.04491],[100.0415,21.96342],[100.32715,21.49396],[101.09619,21.71868],[101.16211,21.41216],[99.99756,20.36523],[97.91016,19.49766],[97.53662,18.29195],[98.83301,16.21467],[98.50342,15.32657],[98.21777,15.11455],[98.65723,14.24309],[99.18457,13.66734],[99.22852,12.85465],[99.66797,11.65224],[98.4375,9.90392],[97.77832,14.34955],[97.00928,16.80454],[95.42725,15.55954],[94.021,16.04581],[94.21875,18.0832],[92.10937,20.85881]]]}},NPL:{type:"Feature",id:"NPL",properties:{name:"Nepal"},geometry:{type:"Polygon",coordinates:[[[88.12044,27.87654],[88.04313,27.44582],[88.1748,26.8104],[88.06024,26.41462],[87.22747,26.3979],[86.02439,26.63098],[85.25178,26.7262],[84.67502,27.2349],[83.30425,27.36451],[81.99999,27.92548],[81.0572,28.41609],[80.08843,28.79447],[80.47672,29.72987],[81.11126,30.18348],[81.5258,30.42272],[82.32751,30.11527],[83.33711,29.46373],[83.89899,29.32023],[84.23458,28.83989],[85.01164,28.64277],[85.82332,28.20358],[86.95452,27.97426],[88.12044,27.87654]]]}},philippines:{type:"Feature",id:"philippines",properties:{},geometry:{type:"Polygon",coordinates:[[[114.93896,8.23324],[122.01416,21.71868],[127.6062,7.39515],[125.50781,5.14566],[118.89954,4.41761],[119.49829,5.28789],[117.53174,7.39515],[114.93896,8.23324]]]}},russia:{type:"Feature",id:"russia",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[22.7311,54.32754],[20.89224,54.31253],[19.66064,54.42608],[19.88848,54.86616],[21.26845,55.19048],[22.31572,55.0153],[22.75776,54.85657],[22.65105,54.58274],[22.7311,54.32754]]],[[[-180,83],[-169,66.5],[-171,64],[-180,64],[-180,83]]],[[[180,83],[180,64.97971],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.78,42.22],[130.64,42.395],[130.63387,42.90302],[131.14469,42.92999],[131.28856,44.11152],[131.02519,44.96796],[131.88345,45.32116],[133.09712,45.14409],[133.76964,46.11693],[134.11235,47.21248],[134.50081,47.57845],[135.02631,48.47823],[133.3736,48.18344],[132.50669,47.78896],[130.98726,47.79013],[130.58229,48.72969],[129.39782,49.4406],[127.6574,49.76027],[127.28746,50.7398],[126.93916,51.35389],[126.5644,51.78426],[125.94635,52.7928],[125.06821,53.16105],[123.57147,53.4588],[122.24575,53.43173],[121.00308,53.2514],[120.17709,52.75389],[120.72579,52.51623],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.28846,50.14288],[117.87924,49.51098],[116.6788,49.88853],[115.4857,49.80518],[114.96211,50.14025],[114.36246,50.2483],[112.89774,49.54357],[111.58123,49.37797],[110.66201,49.13013],[109.40245,49.29296],[108.47517,49.28255],[107.86818,49.79371],[106.8888,50.2743],[105.88659,50.40602],[104.62158,50.27532],[103.67655,50.08997],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.51686],[99.98173,51.63401],[98.86149,52.04737],[97.82574,51.011],[98.23176,50.4224],[97.25976,49.72605],[95.81402,49.97746],[94.81595,50.01343],[94.14757,50.48054],[93.10421,50.49529],[92.23471,50.80217],[90.71367,50.33181],[88.80557,49.47052],[87.75126,49.2972],[87.35997,49.21498],[86.82936,49.82668],[85.54127,49.69286],[85.11556,50.1173],[84.41638,50.3114],[83.93511,50.88925],[83.383,51.06918],[81.94599,50.8122],[80.56845,51.38834],[80.03556,50.86475],[77.80092,53.40442],[76.52518,54.177],[76.8911,54.49052],[74.38482,53.54685],[73.42568,53.48981],[73.50852,54.03562],[72.22415,54.37665],[71.18013,54.13329],[70.86527,55.16973],[69.06817,55.38525],[68.1691,54.97039],[65.66687,54.60125],[65.17853,54.35423],[61.4366,54.00625],[60.97807,53.66499],[61.69999,52.98],[60.73999,52.71999],[60.92727,52.44755],[59.96753,51.96042],[61.588,51.27266],[61.33742,50.79907],[59.93281,50.84219],[59.64228,50.54544],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.53288,51.02624],[52.32872,51.71865],[50.76665,51.69276],[48.70238,50.60513],[48.57784,49.87476],[47.54948,50.4547],[46.7516,49.35601],[47.04367,49.15204],[46.46645,48.39415],[47.31524,47.71585],[48.05725,47.74377],[48.69473,47.07563],[48.59325,46.56104],[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[47.98728,41.40582],[47.81567,41.15142],[47.37331,41.21973],[46.68607,41.82714],[46.40495,41.86068],[45.7764,42.09244],[45.47028,42.50278],[44.53762,42.71199],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.07697,43.5531],[39.95501,43.435],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.22354,47.10219],[38.25511,47.5464],[38.77057,47.82562],[39.73828,47.89894],[39.89562,48.23241],[39.67465,48.78382],[40.08079,49.30743],[40.06904,49.60105],[38.59499,49.92646],[38.01063,49.91566],[37.39346,50.38395],[36.62617,50.22559],[35.35612,50.5772],[35.37791,50.77394],[35.02218,51.20757],[34.22482,51.25599],[34.14198,51.56641],[34.39173,51.76888],[33.7527,52.33508],[32.71576,52.23846],[32.41206,52.28869],[32.15944,52.06125],[31.78597,52.10168],[31.54002,52.74205],[31.3052,53.074],[31.49764,53.16743],[32.30452,53.13273],[32.69364,53.35142],[32.4056,53.61805],[31.73127,53.79403],[31.79142,53.97464],[31.38447,54.15706],[30.75753,54.81177],[30.97184,55.08155],[30.87391,55.55098],[29.89629,55.78946],[29.37157,55.67009],[29.22951,55.91834],[28.17671,56.16913],[27.85528,56.75933],[27.77002,57.24426],[27.28818,57.47453],[27.71669,57.7919],[27.42015,58.72457],[28.1317,59.30083],[27.98112,59.47537],[29.1177,60.02805],[28.07,60.50352],[30.21111,61.78003],[31.13999,62.35769],[31.51609,62.86769],[30.03587,63.55281],[30.44468,64.20445],[29.54443,64.94867],[30.21765,65.80598],[29.05459,66.94429],[29.97743,67.6983],[28.44594,68.36461],[28.59193,69.06478],[35,71],[40,83],[180,83]]]]}},LKA:{type:"Feature",id:"LKA",properties:{name:"Sri Lanka"},geometry:{type:"Polygon",coordinates:[[[81.78796,7.52306],[81.63732,6.48177],[81.21802,6.19714],[80.34836,5.96837],[79.87247,6.76346],[79.69517,8.20084],[80.1478,9.82408],[80.83882,9.26843],[81.30432,8.56421],[81.78796,7.52306]]]}},taiwan:{type:"Feature",id:"taiwan",properties:{},geometry:{type:"Polygon",coordinates:[[[119,23.5],[121.7,26],[122.5,25.5],[121.8,21.8],[120,21.5],[119,23.5]]]}},thailand_cnx:{type:"Feature",id:"thailand_cnx",properties:{},geometry:{type:"Polygon",coordinates:[[[98.4375,18.2319],[98.4375,19.2255],[99.5306,19.2255],[99.5306,18.2319],[98.4375,18.2319]]]}},thailand_full:{type:"Feature",id:"thailand_full",properties:{},geometry:{type:"Polygon",coordinates:[[[97.50366,8.39358],[97.7124,9.60075],[99.47021,11.8566],[98.05298,14.84923],[98.32764,16.15137],[97.21802,18.39623],[97.38281,19.73568],[100.2832,20.66363],[101.37085,19.69431],[101.40381,18.27109],[104.08447,18.58377],[105.76538,16.06693],[105.52368,14.15788],[102.854,13.82741],[103.00781,11.69527],[102.12891,5.81276],[101.11542,5.4875],[100.66498,6.42448],[99.13788,6.34806],[97.50366,8.39358]]]}},"al-tirana":{type:"Feature",id:"al-tirana",properties:{},geometry:{type:"Polygon",coordinates:[[[19.77796,41.36244],[19.78028,41.36267],[19.78123,41.36014],[19.78004,41.35915],[19.78099,41.35803],[19.77752,41.35682],[19.78082,41.35409],[19.77658,41.35122],[19.78029,41.34936],[19.7832,41.35026],[19.7899,41.34976],[19.79536,41.34793],[19.80046,41.3502],[19.81074,41.35213],[19.81874,41.35044],[19.82238,41.35173],[19.83428,41.35186],[19.84174,41.35434],[19.84682,41.3589],[19.84829,41.35842],[19.85095,41.36008],[19.85159,41.35903],[19.8561,41.35843],[19.85488,41.3545],[19.85784,41.35167],[19.85518,41.35228],[19.85275,41.35145],[19.85276,41.34956],[19.85151,41.34955],[19.85462,41.34419],[19.85876,41.33995],[19.8642,41.33947],[19.86465,41.33789],[19.86829,41.33772],[19.86999,41.33882],[19.87262,41.33794],[19.87259,41.33606],[19.87543,41.3355],[19.87644,41.33126],[19.87554,41.33042],[19.87232,41.33102],[19.87095,41.32999],[19.86659,41.33088],[19.86535,41.32664],[19.86164,41.32543],[19.85813,41.3214],[19.85489,41.32066],[19.85575,41.31876],[19.84532,41.314],[19.84458,41.31212],[19.85095,41.30156],[19.84975,41.29748],[19.8457,41.29559],[19.83906,41.29791],[19.82955,41.29568],[19.82738,41.29791],[19.82504,41.29827],[19.82605,41.29986],[19.82333,41.30509],[19.82032,41.30525],[19.81821,41.3037],[19.81168,41.30787],[19.81162,41.31002],[19.80709,41.31302],[19.79827,41.31487],[19.79767,41.31238],[19.79374,41.313],[19.78954,41.31035],[19.7852,41.31117],[19.78057,41.3142],[19.77976,41.31244],[19.78765,41.30887],[19.78369,41.30473],[19.77721,41.30247],[19.77515,41.30039],[19.77077,41.30363],[19.76019,41.29972],[19.75706,41.30651],[19.75854,41.30874],[19.75473,41.31208],[19.75643,41.31314],[19.75571,41.31548],[19.76586,41.3199],[19.76813,41.32266],[19.77017,41.32139],[19.76811,41.31882],[19.76922,41.31754],[19.77559,41.31854],[19.77323,41.32284],[19.77378,41.32422],[19.77893,41.32349],[19.77968,41.32518],[19.78451,41.32399],[19.78734,41.32541],[19.78321,41.33328],[19.78343,41.33578],[19.77659,41.33783],[19.78083,41.34567],[19.76839,41.35239],[19.75832,41.35489],[19.76053,41.35931],[19.75484,41.3598],[19.75767,41.36542],[19.76169,41.36185],[19.76434,41.36249],[19.76411,41.36393],[19.76775,41.36369],[19.76857,41.36459],[19.77145,41.364],[19.77204,41.36125],[19.77796,41.36244]]]}},albania:{type:"Feature",id:"albania",properties:{},geometry:{type:"Polygon",coordinates:[[[19.39087,41.86138],[19.40186,42.09007],[19.27002,42.18376],[19.69849,42.67436],[19.81384,42.46399],[20.07202,42.55713],[20.25879,42.33824],[20.34668,42.32606],[20.51697,42.23665],[20.61584,41.92272],[20.52795,41.71803],[20.56091,41.57847],[20.44556,41.54559],[20.56091,41.40566],[20.50049,41.3397],[20.58289,41.09177],[20.65979,41.07521],[20.71472,40.90521],[20.95642,40.92181],[20.98389,40.7431],[21.07178,40.60978],[20.95093,40.47202],[20.85205,40.47202],[20.68726,40.10329],[20.43457,40.07387],[20.33569,39.99396],[20.43457,39.82119],[20.38513,39.77899],[20.28625,39.8001],[20.31921,39.72831],[20.20386,39.63954],[19.97314,39.69451],[20.0116,39.86759],[19.86328,40.04444],[19.35791,40.2921],[19.25354,40.51798],[19.4458,40.3298],[19.50073,40.43859],[19.31396,40.65564],[19.41833,40.90936],[19.53918,40.92181],[19.4458,41.00063],[19.43481,41.15384],[19.50623,41.2489],[19.4458,41.32733],[19.41284,41.4139],[19.51721,41.52092],[19.45129,41.60312],[19.52271,41.57847],[19.58862,41.62366],[19.59961,41.7836],[19.39087,41.86138]]]}},austria:{type:"Feature",id:"austria",properties:{},geometry:{type:"Polygon",coordinates:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]]}},graz:{type:"Feature",id:"graz",properties:{},geometry:{type:"Polygon",coordinates:[[[15.26276,46.94182],[15.26276,47.16918],[15.62943,47.16918],[15.62943,46.94182],[15.26276,46.94182]]]}},belarus:{type:"Feature",id:"belarus",properties:{},geometry:{type:"Polygon",coordinates:[[[23.19351,52.37811],[23.38715,52.57134],[23.67554,52.61806],[23.87329,52.72215],[23.75656,53.20027],[23.42148,53.83956],[23.43521,53.97467],[24.33609,53.99082],[24.73022,54.03762],[24.70825,54.16967],[24.95682,54.18253],[25.48004,54.37176],[25.63385,54.95239],[26.53748,55.24468],[26.27655,55.26973],[26.48804,55.71009],[26.89728,55.87993],[27.56195,55.82597],[27.56195,55.97226],[27.98218,56.20976],[29.64935,55.96304],[30.28107,55.89303],[30.95398,55.64815],[31.20941,54.67065],[32.47009,53.7617],[32.83539,53.3866],[32.22839,53.02635],[31.51978,53.16159],[31.84662,52.06262],[30.8139,51.93411],[30.4953,51.21032],[27.71301,51.46085],[25.85083,51.88666],[24.5874,51.81541],[23.51898,51.41634],[23.45581,51.99841],[23.15918,52.1874],[23.19351,52.37811]]]}},belgium:{type:"Feature",id:"belgium",properties:{},geometry:{type:"Polygon",coordinates:[[[3.08167,51.55146],[3.30963,51.43346],[3.36834,51.36996],[3.37761,51.35956],[3.37589,51.34841],[3.38482,51.34337],[3.38722,51.33887],[3.38688,51.33286],[3.36096,51.31527],[3.3819,51.30207],[3.37641,51.29928],[3.36782,51.29681],[3.38293,51.28726],[3.38327,51.2806],[3.37915,51.27824],[3.38121,51.27598],[3.39031,51.27416],[3.39598,51.26686],[3.40439,51.26449],[3.40937,51.25923],[3.41795,51.26127],[3.42138,51.25848],[3.4267,51.25482],[3.42894,51.24709],[3.44679,51.24279],[3.52592,51.24677],[3.51425,51.2878],[3.52927,51.28935],[3.53434,51.28474],[3.53811,51.28479],[3.54266,51.29177],[3.55717,51.29187],[3.5588,51.2959],[3.56163,51.29644],[3.56489,51.29569],[3.5727,51.29225],[3.57253,51.29107],[3.57571,51.28946],[3.57905,51.28951],[3.58206,51.28876],[3.58214,51.29247],[3.58618,51.29316],[3.58026,51.29869],[3.58987,51.30663],[3.62626,51.29413],[3.64145,51.28914],[3.64411,51.29069],[3.6581,51.29096],[3.6781,51.28345],[3.67905,51.28168],[3.69063,51.28173],[3.69424,51.27668],[3.71801,51.27217],[3.71827,51.27368],[3.72273,51.274],[3.75054,51.27061],[3.75286,51.27104],[3.75681,51.26986],[3.76342,51.26261],[3.76848,51.26106],[3.77123,51.26218],[3.77355,51.2646],[3.79698,51.25665],[3.79071,51.24553],[3.79063,51.21608],[3.80453,51.2143],[3.80796,51.21398],[3.82479,51.21086],[3.8356,51.21516],[3.85225,51.21484],[3.85895,51.21291],[3.89002,51.22473],[3.89568,51.21968],[3.89482,51.2143],[3.88298,51.20764],[3.88762,51.20301],[3.89345,51.20527],[3.89929,51.20398],[3.91542,51.20989],[3.91388,51.21764],[3.92349,51.21989],[3.93105,51.22194],[3.9374,51.21398],[3.94323,51.21721],[3.95748,51.21764],[3.96023,51.22527],[3.97654,51.22667],[3.9846,51.2357],[3.99473,51.23914],[4.00469,51.24311],[4.01636,51.24623],[4.03851,51.24687],[4.04125,51.24397],[4.05842,51.24505],[4.06082,51.24773],[4.16365,51.29391],[4.23815,51.35345],[4.22373,51.35881],[4.21686,51.36878],[4.21635,51.37435],[4.33685,51.37842],[4.34235,51.35988],[4.35093,51.35967],[4.36861,51.35795],[4.38543,51.35592],[4.39505,51.35753],[4.42114,51.36707],[4.42818,51.36642],[4.42337,51.37242],[4.42904,51.37521],[4.38852,51.40702],[4.38097,51.42137],[4.38904,51.42597],[4.39093,51.43304],[4.3935,51.43486],[4.39161,51.44416],[4.37891,51.44502],[4.37719,51.44716],[4.38131,51.45165],[4.38509,51.4508],[4.44157,51.47005],[4.46354,51.4723],[4.47487,51.47978],[4.48654,51.4786],[4.53856,51.48416],[4.55074,51.47283],[4.53238,51.44877],[4.53701,51.42522],[4.57512,51.43411],[4.63469,51.42651],[4.64087,51.42372],[4.65048,51.42747],[4.6673,51.42779],[4.66473,51.44556],[4.69236,51.45326],[4.70146,51.46845],[4.71416,51.47026],[4.71519,51.47304],[4.72781,51.48486],[4.74524,51.48988],[4.74721,51.49368],[4.74781,51.49651],[4.75047,51.49945],[4.75648,51.50196],[4.77253,51.50682],[4.79485,51.5034],[4.82025,51.49784],[4.82643,51.48609],[4.84737,51.48352],[4.84291,51.46449],[4.84909,51.46085],[4.84463,51.4478],[4.83089,51.44438],[4.83742,51.42683],[4.8563,51.41805],[4.88171,51.43325],[4.91741,51.4127],[4.93389,51.42083],[4.90162,51.44053],[4.9387,51.46192],[4.97646,51.44545],[5.02419,51.48523],[5.03225,51.48919],[5.04187,51.4878],[5.04135,51.48053],[5.04856,51.47433],[5.08032,51.47475],[5.10658,51.43047],[5.07294,51.39358],[5.11765,51.36149],[5.12074,51.35592],[5.13268,51.3475],[5.13525,51.31608],[5.1622,51.31135],[5.17241,51.31688],[5.19001,51.32069],[5.19585,51.32123],[5.19988,51.32348],[5.24331,51.30594],[5.2276,51.26841],[5.23842,51.26208],[5.26357,51.26782],[5.29584,51.26267],[5.31567,51.26449],[5.33755,51.26428],[5.34107,51.26686],[5.34399,51.27309],[5.34554,51.27668],[5.4172,51.2632],[5.43222,51.27706],[5.43806,51.27695],[5.44132,51.2827],[5.46398,51.28549],[5.47608,51.29209],[5.47608,51.29536],[5.48226,51.29923],[5.48201,51.301],[5.51625,51.29612],[5.52011,51.28957],[5.54363,51.27298],[5.55711,51.26718],[5.55874,51.2631],[5.55745,51.25316],[5.55651,51.24472],[5.56131,51.22301],[5.63667,51.20355],[5.65401,51.19812],[5.65513,51.1936],[5.65212,51.1929],[5.65753,51.1865],[5.66834,51.18671],[5.67624,51.18548],[5.67761,51.18435],[5.6856,51.18542],[5.68946,51.18623],[5.69815,51.1842],[5.70201,51.18397],[5.70165,51.18275],[5.70645,51.18248],[5.70815,51.18223],[5.70987,51.1812],[5.71431,51.1839],[5.7177,51.18475],[5.72948,51.18601],[5.73031,51.18553],[5.73274,51.18564],[5.73274,51.18615],[5.7345,51.18657],[5.73993,51.18757],[5.74576,51.19032],[5.75769,51.18618],[5.75821,51.1851],[5.76731,51.18413],[5.77821,51.1787],[5.77477,51.17337],[5.7801,51.17289],[5.78078,51.17208],[5.77992,51.17052],[5.77673,51.1702],[5.77585,51.17028],[5.77321,51.16967],[5.77274,51.16925],[5.77192,51.16924],[5.77093,51.1698],[5.76993,51.16905],[5.77059,51.16458],[5.77383,51.16453],[5.77385,51.16558],[5.77638,51.16565],[5.77701,51.16306],[5.7775,51.16298],[5.77808,51.16353],[5.77975,51.16356],[5.78025,51.15935],[5.77797,51.15803],[5.77677,51.15554],[5.77829,51.15502],[5.77907,51.15319],[5.78456,51.15421],[5.79005,51.15798],[5.79512,51.15798],[5.80095,51.15954],[5.80027,51.16094],[5.80361,51.1632],[5.80619,51.16352],[5.8134,51.16051],[5.8146,51.16325],[5.82473,51.16874],[5.83434,51.16314],[5.83589,51.15905],[5.84078,51.15819],[5.84129,51.15523],[5.8564,51.15071],[5.86258,51.14446],[5.85674,51.14037],[5.85159,51.13671],[5.84816,51.12938],[5.83374,51.12744],[5.82241,51.12249],[5.81211,51.11387],[5.82275,51.11171],[5.84026,51.10611],[5.83683,51.0936],[5.82584,51.08929],[5.80559,51.09102],[5.81142,51.07851],[5.80421,51.07031],[5.80868,51.06233],[5.797,51.05564],[5.77709,51.05693],[5.76576,51.03384],[5.78568,51.02412],[5.77263,51.01354],[5.77332,51.00555],[5.76885,50.99345],[5.7589,50.98912],[5.74654,50.97767],[5.72765,50.9647],[5.72834,50.95843],[5.73761,50.96145],[5.75306,50.96232],[5.76851,50.9541],[5.7589,50.94567],[5.73521,50.92446],[5.73177,50.91061],[5.7177,50.90563],[5.70362,50.9078],[5.70122,50.89545],[5.68954,50.88224],[5.68096,50.87726],[5.67169,50.87574],[5.65453,50.87054],[5.64766,50.86274],[5.64766,50.84757],[5.65453,50.83435],[5.66448,50.82437],[5.6971,50.81353],[5.71838,50.80333],[5.72113,50.77642],[5.78018,50.79639],[5.82962,50.77294],[5.9079,50.77381],[6.00403,50.76947],[6.04248,50.76252],[6.05621,50.75123],[6.129,50.73385],[6.16745,50.69037],[6.21689,50.66252],[6.2471,50.65991],[6.28143,50.64424],[6.28693,50.62333],[6.27045,50.59631],[6.24847,50.58542],[6.24058,50.56078],[6.22719,50.5538],[6.21586,50.54965],[6.20419,50.53591],[6.21552,50.52063],[6.22993,50.50295],[6.23989,50.50513],[6.2598,50.50338],[6.27766,50.50731],[6.29139,50.50076],[6.3089,50.50513],[6.3216,50.49923],[6.35078,50.49377],[6.35765,50.48722],[6.34838,50.47936],[6.35147,50.46188],[6.37756,50.45925],[6.38065,50.44657],[6.37619,50.40786],[6.36383,50.39561],[6.35387,50.38028],[6.36246,50.37634],[6.41155,50.34415],[6.41499,50.33363],[6.40675,50.31982],[6.38718,50.31763],[6.36829,50.3025],[6.35765,50.30338],[6.33018,50.31565],[6.31645,50.31478],[6.30444,50.30601],[6.29585,50.29044],[6.29414,50.27354],[6.27628,50.26411],[6.22856,50.25511],[6.21483,50.25094],[6.20659,50.24062],[6.19869,50.23403],[6.17947,50.23139],[6.18221,50.22678],[6.17672,50.22151],[6.19251,50.21206],[6.19801,50.18437],[6.19217,50.17646],[6.15166,50.16656],[6.15509,50.15491],[6.16058,50.14633],[6.15578,50.13554],[6.14376,50.13224],[6.13243,50.12454],[6.10737,50.13378],[6.11012,50.16282],[6.09947,50.16502],[6.08677,50.15425],[6.06583,50.14875],[6.02943,50.15579],[6.01639,50.17294],[5.97931,50.16898],[5.96832,50.12542],[5.94566,50.12278],[5.90378,50.10473],[5.89073,50.06948],[5.86876,50.06243],[5.87837,50.03289],[5.83168,50.01039],[5.84404,49.99935],[5.84747,49.98214],[5.81932,49.95785],[5.78773,49.95255],[5.77263,49.91144],[5.74722,49.89994],[5.7843,49.88977],[5.7946,49.87473],[5.76645,49.86012],[5.75203,49.834],[5.76645,49.80121],[5.79941,49.79855],[5.84404,49.74977],[5.83923,49.72847],[5.87906,49.72892],[5.89622,49.70672],[5.87563,49.67963],[5.91176,49.66218],[5.90567,49.65779],[5.9073,49.65479],[5.90429,49.65213],[5.90507,49.64735],[5.90567,49.64262],[5.90876,49.63868],[5.89854,49.63362],[5.89374,49.63573],[5.88524,49.6319],[5.88799,49.62645],[5.87837,49.62],[5.87829,49.61305],[5.8776,49.60737],[5.84996,49.59675],[5.85202,49.58824],[5.86318,49.58773],[5.86524,49.58974],[5.86962,49.59013],[5.87279,49.58913],[5.87502,49.58295],[5.87073,49.58134],[5.87288,49.57961],[5.87314,49.57677],[5.87451,49.5736],[5.86387,49.56965],[5.86164,49.56603],[5.85288,49.56347],[5.85168,49.56185],[5.84661,49.5608],[5.84773,49.55896],[5.84722,49.55567],[5.84224,49.55233],[5.8267,49.54933],[5.82524,49.55066],[5.82026,49.54599],[5.81623,49.54599],[5.81245,49.54582],[5.80765,49.5486],[5.79941,49.54816],[5.78859,49.55194],[5.77263,49.56141],[5.76181,49.55963],[5.75941,49.54203],[5.7407,49.53724],[5.73521,49.53813],[5.72971,49.54225],[5.7189,49.53802],[5.70156,49.5378],[5.6904,49.54392],[5.67993,49.54348],[5.67787,49.54715],[5.66757,49.54682],[5.66002,49.5505],[5.64526,49.54437],[5.62878,49.53579],[5.6262,49.52287],[5.62346,49.5144],[5.61298,49.50292],[5.60217,49.50671],[5.59359,49.51953],[5.56904,49.52565],[5.56372,49.52409],[5.55462,49.52744],[5.54192,49.51384],[5.50329,49.50504],[5.4875,49.50526],[5.48458,49.50113],[5.47085,49.49322],[5.46209,49.49679],[5.46055,49.50738],[5.45214,49.51083],[5.44304,49.51841],[5.46158,49.52788],[5.46209,49.53735],[5.4372,49.55283],[5.45368,49.56542],[5.44458,49.56586],[5.43549,49.56887],[5.42673,49.5899],[5.42862,49.59358],[5.41523,49.59947],[5.40871,49.60748],[5.39892,49.6096],[5.39652,49.6146],[5.3742,49.62128],[5.37025,49.62105],[5.36047,49.62428],[5.34897,49.62895],[5.34279,49.61505],[5.33781,49.61427],[5.32957,49.61494],[5.32064,49.61271],[5.31378,49.6096],[5.31034,49.61071],[5.30863,49.61694],[5.30279,49.62317],[5.30245,49.62962],[5.30794,49.63851],[5.31738,49.64807],[5.33043,49.65318],[5.30708,49.67085],[5.29284,49.67607],[5.27962,49.68496],[5.2791,49.6884],[5.26829,49.69495],[5.25782,49.69295],[5.2482,49.68529],[5.24117,49.68429],[5.24134,49.68851],[5.23104,49.69007],[5.2173,49.6864],[5.21421,49.68784],[5.20666,49.69451],[5.19722,49.69062],[5.18932,49.6924],[5.17542,49.6924],[5.16306,49.69218],[5.1622,49.6995],[5.1646,49.71083],[5.15963,49.71438],[5.15327,49.71671],[5.15087,49.71249],[5.14263,49.70739],[5.14006,49.71194],[5.13147,49.71205],[5.12529,49.71105],[5.12032,49.71704],[5.12358,49.72637],[5.11723,49.73757],[5.09302,49.76297],[5.08796,49.76475],[5.08452,49.76186],[5.07963,49.76164],[5.07611,49.76109],[5.07139,49.75987],[5.06727,49.76081],[5.06144,49.76192],[5.06092,49.76624],[5.04908,49.76741],[5.00599,49.7816],[5.00547,49.7832],[5.00504,49.78719],[5.00041,49.79312],[4.99741,49.79379],[4.99603,49.79506],[4.99715,49.79672],[4.99672,49.79955],[4.9938,49.79977],[4.98539,49.79888],[4.97895,49.79972],[4.96977,49.8011],[4.96779,49.79756],[4.96179,49.79717],[4.95569,49.80027],[4.94865,49.79811],[4.94814,49.79473],[4.94368,49.79035],[4.94213,49.79035],[4.94132,49.79226],[4.93887,49.7926],[4.93286,49.78977],[4.9329,49.78825],[4.93114,49.78661],[4.92939,49.78686],[4.92102,49.78805],[4.91793,49.78708],[4.91269,49.78573],[4.90475,49.78492],[4.89947,49.78597],[4.89741,49.78836],[4.88913,49.78769],[4.88724,49.78786],[4.88244,49.79049],[4.87939,49.79249],[4.87591,49.79282],[4.87068,49.79268],[4.87188,49.78922],[4.87081,49.78839],[4.86227,49.78805],[4.85712,49.78966],[4.85201,49.79035],[4.84909,49.79368],[4.8563,49.79722],[4.86076,49.80354],[4.86214,49.81373],[4.87364,49.81883],[4.86712,49.82071],[4.86712,49.82625],[4.86506,49.83444],[4.8654,49.83964],[4.85304,49.84042],[4.84943,49.84894],[4.84789,49.86278],[4.84463,49.8703],[4.85561,49.87096],[4.87484,49.89618],[4.87347,49.90459],[4.87999,49.90879],[4.87553,49.92006],[4.85424,49.92957],[4.84325,49.94636],[4.82849,49.94724],[4.78558,49.9563],[4.78523,49.9828],[4.80995,49.99626],[4.81647,50.02671],[4.83021,50.04127],[4.81441,50.04788],[4.8127,50.06794],[4.8357,50.07014],[4.83192,50.09085],[4.84291,50.10363],[4.86626,50.10318],[4.85836,50.1164],[4.88274,50.13664],[4.87072,50.14875],[4.8278,50.14963],[4.82025,50.15579],[4.76875,50.1296],[4.75262,50.10539],[4.70352,50.08424],[4.70112,50.01502],[4.69803,49.99229],[4.63383,49.98037],[4.56963,49.96712],[4.53255,49.94857],[4.51401,49.93973],[4.44122,49.93178],[4.35745,49.94327],[4.31145,49.95564],[4.22974,49.94945],[4.18785,49.95034],[4.16725,49.96801],[4.12331,49.97286],[4.12193,50.01215],[4.14734,50.05273],[4.18167,50.05493],[4.22012,50.07301],[4.1906,50.10252],[4.18922,50.1263],[4.16382,50.1219],[4.11644,50.13158],[4.13841,50.21734],[4.20708,50.25555],[4.1827,50.27025],[4.16382,50.28298],[4.15901,50.27596],[4.17309,50.2685],[4.17309,50.25994],[4.16519,50.25401],[4.13258,50.25489],[4.1312,50.26433],[4.13017,50.27091],[4.11644,50.27464],[4.12262,50.2821],[4.1185,50.2957],[4.09653,50.30864],[4.07696,50.30579],[4.07215,50.31807],[4.05533,50.32946],[4.03679,50.33998],[4.02512,50.35291],[3.98598,50.33911],[3.95748,50.33845],[3.8974,50.32267],[3.88264,50.32377],[3.88092,50.33494],[3.85448,50.33911],[3.84933,50.34875],[3.82942,50.35028],[3.82633,50.34217],[3.80711,50.3413],[3.80608,50.35072],[3.74256,50.34393],[3.73604,50.31149],[3.72437,50.30272],[3.70583,50.29921],[3.68076,50.31894],[3.66428,50.34152],[3.65227,50.37087],[3.66634,50.39123],[3.66325,50.42143],[3.65398,50.4551],[3.62995,50.46712],[3.60832,50.49006],[3.59974,50.48657],[3.55476,50.48853],[3.49915,50.47936],[3.48198,50.48635],[3.50945,50.52085],[3.4758,50.52478],[3.45726,50.50513],[3.43735,50.49945],[3.36662,50.48416],[3.27324,50.52609],[3.25951,50.60154],[3.2341,50.65251],[3.24097,50.67862],[3.24783,50.70037],[3.19565,50.70776],[3.1311,50.77642],[3.06725,50.76296],[2.99652,50.74428],[2.95807,50.67035],[2.82898,50.68602],[2.68341,50.77816],[2.57629,50.81114],[2.5708,50.93939],[2.51862,51.05866],[2.36755,51.2516],[3.08167,51.55146]]]}},be_brussels:{type:"Feature",id:"be_brussels",properties:{},geometry:{type:"Polygon",coordinates:[[[4.37973,50.76382],[4.37853,50.76811],[4.34522,50.77337],[4.34205,50.77164],[4.32952,50.77381],[4.31621,50.78624],[4.31458,50.79454],[4.30282,50.79709],[4.29802,50.80593],[4.28901,50.80691],[4.2854,50.80506],[4.27579,50.80696],[4.27218,50.81011],[4.25802,50.80935],[4.25519,50.8151],[4.24403,50.81548],[4.24343,50.82182],[4.25227,50.82697],[4.25107,50.83288],[4.25467,50.83695],[4.27193,50.84036],[4.28094,50.84215],[4.28042,50.85721],[4.27802,50.85911],[4.27699,50.86713],[4.28274,50.87227],[4.29561,50.88094],[4.29553,50.88262],[4.29149,50.88495],[4.29004,50.88982],[4.30634,50.89274],[4.31647,50.89605],[4.32892,50.90249],[4.34025,50.90411],[4.34857,50.90341],[4.36213,50.9033],[4.3726,50.90032],[4.38119,50.90319],[4.38462,50.91093],[4.39578,50.91407],[4.41543,50.91342],[4.41655,50.90757],[4.4296,50.90103],[4.43595,50.89502],[4.43106,50.89014],[4.44007,50.87845],[4.43183,50.87628],[4.4253,50.86615],[4.44599,50.85992],[4.44968,50.85591],[4.46238,50.85396],[4.46899,50.84573],[4.46959,50.83537],[4.47972,50.82036],[4.45947,50.81661],[4.45921,50.80626],[4.48238,50.79617],[4.4817,50.79134],[4.46427,50.78645],[4.435,50.775],[4.43028,50.77517],[4.38917,50.76377],[4.37973,50.76382]]]}},be_flanders:{type:"Feature",id:"be_flanders",properties:{},geometry:{type:"Polygon",coordinates:[[[2.52239,51.10172],[3.12606,51.34118],[3.17493,51.38246],[3.37615,51.38784],[3.41065,51.3304],[3.40202,51.28548],[3.49114,51.2567],[3.48251,51.30345],[3.57737,51.32322],[3.81309,51.27289],[3.82172,51.23691],[3.93095,51.23691],[4.05456,51.27469],[4.20116,51.35195],[4.16954,51.38067],[4.34202,51.39502],[4.36502,51.46491],[4.53749,51.50072],[4.57199,51.47924],[4.56049,51.44879],[4.63811,51.45058],[4.75022,51.52397],[4.83645,51.50787],[5.0808,51.49893],[5.13541,51.447],[5.10667,51.39143],[5.26477,51.31783],[5.26477,51.28727],[5.4085,51.29267],[5.48612,51.32501],[5.58098,51.28368],[5.58385,51.23511],[5.76783,51.2045],[5.87706,51.16125],[5.70459,50.80293],[5.90581,50.78657],[5.93743,50.73202],[5.90293,50.70108],[5.81382,50.69379],[5.61547,50.76112],[5.50049,50.712],[5.2044,50.7029],[5.16416,50.67558],[5.03768,50.70108],[4.98881,50.75021],[4.91694,50.72656],[4.79046,50.76658],[4.68122,50.77021],[4.66973,50.73566],[4.2874,50.67922],[3.91083,50.6774],[3.71823,50.75203],[3.65499,50.712],[3.53426,50.71018],[3.51413,50.74112],[3.45664,50.74384],[3.37328,50.69562],[3.31004,50.70745],[3.28991,50.73657],[3.16487,50.74294],[3.13181,50.77203],[3.08007,50.76021],[2.87453,50.7393],[2.89609,50.71109],[2.87453,50.69562],[2.79692,50.7029],[2.69918,50.8002],[2.62013,50.79747],[2.56982,50.8583],[2.56695,50.92358],[2.60288,50.94985],[2.5497,50.99601],[2.52239,51.10172]]]}},be_wallonia:{type:"Feature",id:"be_wallonia",properties:{},geometry:{type:"Polygon",coordinates:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]]]}},czechia:{type:"Feature",id:"czechia",properties:{},geometry:{type:"Polygon",coordinates:[[[14.3811,51.06902],[15.13916,51.08282],[16.42456,50.70863],[16.68823,50.32442],[16.78711,50.49246],[17.75391,50.35247],[18.58887,49.96536],[18.92944,49.51808],[18.1604,48.98022],[17.00684,48.61839],[15.13916,48.85749],[14.67773,48.55298],[13.85376,48.58206],[12.00806,50.05008],[11.92017,50.35948],[14.3811,51.06902]]]}},denmark:{type:"Feature",id:"denmark",properties:{},geometry:{type:"Polygon",coordinates:[[[7.99805,55.11608],[7.9541,56.94497],[10.62378,57.94401],[12.65625,56.01681],[12.65625,55.91535],[12.82928,55.5566],[12.60956,55.42122],[12.66449,55.25095],[14.82605,55.37911],[15.28198,55.22902],[15.11719,54.85448],[12.87598,54.85922],[12.07672,54.44769],[10.849,54.73414],[10.67871,54.58002],[9.88083,54.83708],[9.73972,54.82265],[9.60823,54.8525],[9.63158,54.87996],[9.59038,54.88668],[9.4994,54.83886],[9.43176,54.82601],[9.41013,54.84242],[9.38198,54.83827],[9.37443,54.82047],[9.34422,54.80108],[9.25152,54.80979],[9.23985,54.84993],[9.13822,54.87483],[9.06338,54.87048],[8.90167,54.90386],[8.85532,54.89517],[8.82408,54.90662],[8.79765,54.90445],[8.77602,54.893],[8.72761,54.89181],[8.67645,54.91195],[8.66066,54.90859],[8.55698,54.92063],[8.47355,55.05537],[7.99805,55.11608]]]}},finland:{type:"Feature",id:"finland",properties:{},geometry:{type:"Polygon",coordinates:[[[24.16992,65.34851],[23.90625,66.14274],[23.68652,66.44311],[23.99414,66.80922],[23.51074,67.27204],[23.37891,67.44123],[23.73047,67.97463],[20.74219,69.03714],[21.18164,69.28726],[21.70898,69.27171],[22.45605,68.73638],[23.15918,68.65655],[23.90625,68.8318],[25.00488,68.59249],[25.40039,68.87936],[25.75195,68.95839],[25.97168,69.70287],[26.45508,69.96044],[27.20215,69.90012],[27.50977,70.0506],[27.86133,70.08056],[28.38867,69.82447],[29.04785,69.71811],[29.26758,69.53452],[28.87207,69.225],[29.0918,69.02141],[28.52051,68.89519],[28.78418,68.84767],[28.52051,68.56038],[28.69629,68.17156],[29.26758,68.0733],[30.05859,67.69277],[29.17969,67.0503],[29.0918,66.8956],[30.14648,65.73063],[29.66309,65.20147],[29.70703,64.79285],[30.05859,64.79285],[30.10254,64.41592],[30.4541,64.30182],[30.05859,63.74363],[31.59668,63.01511],[30.27832,61.89758],[27.81738,60.56538],[27.33398,60.19616],[24.65332,59.88894],[21.84082,59.46741],[20.43457,59.46741],[19.11621,60.19616],[19.2041,60.58697],[20.08301,60.75916],[20.69824,61.14324],[20.96191,61.73153],[19.99512,63.27318],[21.44531,63.66576],[22.93945,64.20638],[23.24707,64.51064],[23.81836,64.66152],[24.16992,65.34851]]]}},france:{type:"Feature",id:"france",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[9.9,42.64836],[9.9,42.02785],[9.63227,41.43244],[9.36968,41.35052],[9.32602,41.3036],[9.27311,41.29196],[9.07196,41.26129],[8.94186,41.27688],[8.8742,41.26232],[8.84542,41.26311],[8.78782,41.25725],[7.3114,41.4242],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24593,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.26331,50.92504],[1.76605,51.17762],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.26696,43.39308],[9.8,43.1],[9.9,42.64836]]]]}},"de-berlin-brandenburg":{type:"Feature",id:"de-berlin-brandenburg",properties:{},geometry:{type:"Polygon",coordinates:[[[11.32141,53.11711],[12.09595,53.36694],[12.88147,53.20274],[13.78235,53.50765],[14.16687,53.41608],[14.10645,53.28164],[14.29871,53.27507],[14.41956,53.32431],[14.19434,52.93871],[14.19434,52.82932],[14.57336,52.60972],[14.57336,52.36218],[14.71619,52.05249],[14.61182,51.84257],[14.76563,51.54975],[14.36462,51.519],[14.1449,51.54975],[13.99109,51.36835],[13.2605,51.39578],[13.07373,51.65211],[13.13965,51.86971],[12.67273,52.01532],[12.40356,52.03222],[12.22229,52.14697],[12.32117,52.50619],[12.16736,52.51956],[12.23877,52.87245],[11.60156,52.96849],[11.32141,53.11711]]]}},"de-ostwestfalen-lippe":{type:"Feature",id:"de-ostwestfalen-lippe",properties:{},geometry:{type:"Polygon",coordinates:[[[8.04337,52.05756],[8.42583,52.19919],[8.43846,52.35394],[8.30866,52.39929],[8.28438,52.4581],[8.67096,52.56967],[9.22028,52.49616],[9.06097,52.28328],[9.47365,51.86716],[9.46266,51.64103],[9.26285,51.46641],[9.15648,51.43569],[8.80348,51.43218],[8.54444,51.46003],[8.42239,51.55658],[8.31076,51.72252],[8.12645,51.86844],[8.04337,52.05756]]]}},germany:{type:"Feature",id:"germany",properties:{},geometry:{type:"Polygon",coordinates:[[[7.05048,52.62973],[7.21252,53.20274],[6.56982,53.61858],[8.30772,55.1467],[8.6483,54.96421],[9.45305,54.83313],[9.95018,54.82838],[11.99913,54.44689],[13.3889,54.89162],[14.15245,54.47562],[14.26231,53.78037],[14.44359,53.27096],[14.36119,53.0668],[14.16344,52.97097],[14.13597,52.84508],[14.62486,52.60555],[14.5919,52.35463],[14.71825,52.24042],[14.74571,52.06516],[14.60838,51.83153],[14.74571,51.69554],[14.76768,51.54206],[14.98741,51.43261],[15.03136,51.27824],[14.94347,51.04744],[14.85558,50.88138],[14.77867,50.81548],[14.64684,50.85017],[14.5974,50.99215],[14.32823,51.07506],[14.32823,50.88138],[13.01537,50.49508],[12.48253,50.38663],[12.33421,50.18305],[12.1804,50.30952],[12.12547,50.25686],[12.22984,50.09856],[12.55394,49.92912],[12.4276,49.75199],[12.5045,49.68807],[12.77916,49.35286],[12.93297,49.36002],[13.03185,49.28841],[13.57018,48.96489],[13.80089,48.81319],[13.75694,48.52297],[13.52074,48.58842],[13.45482,48.57388],[13.40538,48.36994],[13.23509,48.28959],[12.99889,48.24571],[12.75169,48.12118],[12.9879,47.86385],[12.91649,47.71623],[13.04832,47.72362],[13.09776,47.67186],[13.0648,47.50885],[12.93846,47.47173],[12.77367,47.5793],[12.8286,47.60894],[12.70226,47.70144],[12.1859,47.70514],[12.16942,47.62005],[11.86729,47.60524],[11.63109,47.59412],[11.25755,47.40114],[10.98839,47.40486],[10.88402,47.52369],[10.67528,47.55707],[10.45006,47.54594],[10.46654,47.41973],[10.34019,47.3081],[10.19737,47.27457],[10.21385,47.38998],[10.10948,47.3751],[10.08202,47.46431],[9.84581,47.55336],[9.40636,47.55336],[9.09874,47.68388],[8.90236,47.65521],[8.85292,47.70329],[8.80348,47.74025],[8.76915,47.71993],[8.80486,47.70329],[8.79524,47.68388],[8.7307,47.69867],[8.73482,47.7227],[8.71284,47.7384],[8.7513,47.76887],[8.69637,47.76425],[8.65654,47.8067],[8.63594,47.76518],[8.61122,47.80947],[8.57002,47.79286],[8.48763,47.77902],[8.41621,47.71808],[8.41347,47.68111],[8.46428,47.65891],[8.53706,47.67001],[8.60985,47.67741],[8.63457,47.64966],[8.59886,47.64319],[8.61122,47.6219],[8.56865,47.60061],[8.56865,47.6219],[8.52745,47.64041],[8.45879,47.60801],[8.50273,47.58672],[8.38463,47.57004],[8.33107,47.57375],[8.29399,47.61542],[8.2061,47.62653],[8.10173,47.56819],[7.96852,47.5617],[7.92046,47.55429],[7.89024,47.59505],[7.8257,47.58949],[7.81197,47.56726],[7.6815,47.54038],[7.6403,47.56448],[7.69386,47.5756],[7.6815,47.59412],[7.64854,47.60061],[7.61421,47.58394],[7.50641,47.70237],[7.79205,48.60749],[8.22876,48.97481],[6.84174,49.17093],[6.37482,49.48597],[6.53961,49.80963],[6.1441,50.01833],[6.19835,50.21119],[6.41808,50.35159],[6.19835,50.63117],[6.02257,50.77034],[6.02257,51.07506],[6.24229,51.37778],[5.97862,51.81456],[6.1496,51.90022],[6.44073,51.85105],[6.828,51.95611],[6.68518,52.05587],[7.04773,52.23957],[6.99554,52.45768],[6.70166,52.48445],[6.72913,52.64973],[7.05048,52.62973]]]}},hungary:{type:"Feature",id:"hungary",properties:{},geometry:{type:"Polygon",coordinates:[[[18.43643,45.73111],[17.67426,45.83454],[17.57675,45.92823],[17.35153,45.94303],[17.14966,46.16081],[16.52756,46.50028],[16.3147,46.86582],[16.11969,46.86582],[16.28448,46.99337],[16.48224,47.01584],[16.5152,47.1505],[16.42731,47.2177],[16.43829,47.41136],[16.66763,47.44852],[16.67587,47.60616],[16.43829,47.65614],[16.54816,47.75964],[16.71844,47.73563],[16.75003,47.68111],[17.08099,47.70791],[17.04254,47.86293],[17.09473,47.96234],[17.20734,48.02484],[17.75665,47.74486],[18.71246,47.76702],[18.85529,47.82606],[18.77838,47.87767],[18.75641,47.98808],[18.82233,48.04687],[19.50348,48.1056],[19.55566,48.25028],[19.92096,48.14227],[20.34943,48.30329],[20.54718,48.54389],[20.82184,48.58751],[21.14044,48.50751],[21.47003,48.58751],[21.70074,48.36902],[21.8367,48.34073],[22.2171,48.42282],[22.38327,48.24205],[22.50549,48.24845],[22.61948,48.1056],[22.83371,48.11843],[22.90649,47.95406],[22.59064,47.75779],[22.48077,47.81131],[22.42584,47.74486],[22.32147,47.75779],[22.02759,47.51442],[22.03033,47.38161],[21.9397,47.3658],[21.48926,46.75868],[21.52908,46.73233],[21.4151,46.61737],[21.33133,46.61549],[21.10611,46.23875],[20.79575,46.27863],[20.7106,46.15035],[20.25055,46.13227],[19.82758,46.16461],[19.54742,46.17793],[19.51447,46.1018],[18.80997,45.87567],[18.70285,45.91294],[18.43643,45.73111]]]}},italy:{type:"Feature",id:"italy",properties:{},geometry:{type:"Polygon",coordinates:[[[7.6,43.5],[7.49542,43.86523],[7.69043,44.0718],[7.69043,44.19796],[7.42676,44.15068],[6.9873,44.26094],[6.85547,44.55916],[7.03125,44.73113],[7.00928,44.87144],[6.72363,44.91814],[6.5918,45.12005],[7.09717,45.25942],[7.14111,45.41388],[6.96533,45.61404],[6.76758,45.79817],[7.03125,45.9053],[7.55859,45.9817],[7.77832,45.93587],[8.12988,46.13417],[8.08594,46.30141],[8.48145,46.46813],[8.61328,46.13417],[8.81104,46.10371],[9.05273,45.8288],[9.07471,46.11894],[9.27246,46.25585],[9.25049,46.43786],[9.44824,46.49839],[9.49219,46.31658],[9.68994,46.31658],[9.95361,46.36209],[10.06348,46.17983],[10.17334,46.25585],[10.0415,46.453],[10.08545,46.60417],[10.26123,46.66452],[10.45898,46.49839],[10.50293,46.61926],[10.39307,46.70974],[10.41504,46.86019],[10.61279,46.87521],[11.03027,46.76997],[11.16211,46.93526],[11.27197,46.99524],[11.53564,47.01023],[11.7334,46.99524],[12.2168,47.10004],[12.15088,46.93526],[12.43652,46.70974],[12.96387,46.61926],[13.73291,46.54375],[13.71094,46.42271],[13.40332,46.33176],[13.40332,46.22545],[13.66699,46.17983],[13.51318,46.05799],[13.64502,45.96642],[13.5791,45.85941],[13.93066,45.64477],[13.82629,45.5756],[13.6,45.6294],[12.9,45.4],[12.8,45],[18.9,40.3],[18.5,39],[15,36],[11,38],[9.6,43.2],[7.6,43.5]]]}},IT_Lazio:{type:"Feature",id:"IT_Lazio",properties:{},geometry:{type:"Polygon",coordinates:[[[13.23814,42.1301],[13.19363,42.15923],[13.17062,42.15169],[13.12434,42.17797],[13.08798,42.17886],[13.08575,42.14318],[13.0317,42.12309],[13.01946,42.07634],[13.05545,42.01736],[13.10194,42.00898],[13.10589,42.02698],[13.36437,41.92475],[13.384,41.90419],[13.35751,41.8694],[13.38052,41.81709],[13.4169,41.83467],[13.50508,41.8016],[13.52044,41.77297],[13.57182,41.7543],[13.66214,41.81144],[13.70555,41.78747],[13.72956,41.7989],[13.7629,41.7488],[13.81162,41.75426],[13.85645,41.73124],[13.89541,41.73405],[13.98311,41.66238],[14.01182,41.60835],[13.99895,41.57448],[14.02596,41.55567],[14.00526,41.53875],[14.0275,41.52321],[13.97291,41.49404],[13.99278,41.48208],[13.9779,41.46249],[13.90257,41.42273],[13.86123,41.41763],[13.8886,41.40081],[13.8688,41.36272],[13.88974,41.29748],[13.82898,41.28154],[13.83083,41.2502],[13.77126,41.24136],[13.45667,40.77769],[11.52381,41.03693],[11.44922,42.37798],[11.48889,42.43937],[11.61771,42.43604],[11.61626,42.48862],[11.56011,42.51595],[11.58852,42.54226],[11.57917,42.56803],[11.61401,42.55723],[11.64337,42.56635],[11.71111,42.61091],[11.73597,42.60666],[11.74975,42.63965],[11.80478,42.644],[11.77554,42.70951],[11.80156,42.70719],[11.81949,42.74543],[11.74602,42.78576],[11.77424,42.82107],[11.80685,42.79485],[11.8137,42.82267],[11.84851,42.84008],[11.90558,42.8325],[11.92743,42.78092],[11.97948,42.76459],[11.96293,42.72669],[11.9301,42.71295],[11.94133,42.6833],[12.03,42.64324],[12.10666,42.66464],[12.12406,42.64929],[12.16101,42.67691],[12.20434,42.66046],[12.24292,42.62906],[12.22819,42.61077],[12.24626,42.60256],[12.23866,42.57218],[12.27504,42.55991],[12.26676,42.53347],[12.29027,42.51904],[12.27477,42.50921],[12.30735,42.4973],[12.29041,42.49164],[12.32537,42.49476],[12.35123,42.47365],[12.39017,42.49819],[12.41905,42.49765],[12.41244,42.46756],[12.43038,42.45802],[12.41368,42.45517],[12.41365,42.4256],[12.4636,42.42909],[12.44469,42.39882],[12.51169,42.40311],[12.52874,42.36445],[12.60642,42.40245],[12.61481,42.46511],[12.64109,42.4678],[12.6495,42.44331],[12.67465,42.44242],[12.74156,42.47053],[12.71114,42.50079],[12.89273,42.5635],[12.88052,42.60935],[13.00524,42.61622],[13.02522,42.64],[13.06423,42.62427],[13.13,42.66053],[13.14645,42.64714],[13.17506,42.66707],[13.19025,42.73363],[13.25415,42.72145],[13.2645,42.74019],[13.28589,42.74049],[13.35851,42.69533],[13.35059,42.66968],[13.37022,42.6507],[13.4092,42.64383],[13.39493,42.59223],[13.29421,42.5705],[13.28454,42.58349],[13.24686,42.57367],[13.19228,42.58849],[13.15673,42.54102],[13.17934,42.48031],[13.11708,42.44489],[13.19508,42.39017],[13.15427,42.35797],[13.22737,42.32031],[13.23563,42.27871],[13.28229,42.23874],[13.33653,42.22338],[13.34238,42.19939],[13.3808,42.18142],[13.34871,42.17689],[13.35488,42.16769],[13.32819,42.16483],[13.30621,42.13923],[13.23814,42.1301]]]}},IT_Roma_Capitale:{type:"Feature",id:"IT_Roma_Capitale",properties:{},geometry:{type:"Polygon",coordinates:[[[11.6,42.16],[12.28,42.2],[12.52,42.31],[13.27,41.92],[13.15,41.58],[12.6,41.16],[11.6,42.16]]]}},south_tyrol:{type:"Feature",id:"south_tyrol",properties:{},geometry:{type:"Polygon",coordinates:[[[10.45624,46.86582],[10.73639,46.89211],[10.82977,46.80946],[10.96161,46.81322],[11.1319,46.99149],[11.49067,47.01233],[11.68121,47.04018],[11.7691,47.01023],[12.16736,47.115],[12.28546,47.08322],[12.18384,46.98213],[12.30469,46.85831],[12.37335,46.73421],[12.49969,46.67017],[12.34039,46.61737],[12.08771,46.64944],[12.0163,46.52297],[11.8515,46.49272],[11.66336,46.48657],[11.56929,46.34077],[11.399,46.25585],[11.18958,46.21072],[11.13739,46.2867],[11.20193,46.44732],[10.91904,46.42603],[10.61966,46.43833],[10.44113,46.49036],[10.36766,46.68854],[10.45624,46.86582]]]}},trentino:{type:"Feature",id:"trentino",properties:{},geometry:{type:"Polygon",coordinates:[[[10.49332,46.35641],[10.59219,46.46624],[10.76317,46.49697],[10.84076,46.45536],[11.07971,46.54469],[11.23627,46.50123],[11.21086,46.32559],[11.1779,46.27341],[11.23352,46.2473],[11.32416,46.30235],[11.5583,46.40378],[11.62628,46.5069],[11.83502,46.54233],[11.91399,46.44306],[11.85356,46.34124],[11.99158,46.18363],[11.84464,46.08466],[11.72791,46.07704],[11.69907,45.95592],[11.51093,45.97979],[11.28845,45.8814],[11.21567,45.76273],[11.16074,45.68316],[10.90256,45.66013],[10.82016,45.71097],[10.84076,45.81827],[10.51529,45.76752],[10.41504,46.00269],[10.51941,46.2112],[10.49332,46.35641]]]}},norway:{type:"Feature",id:"norway",properties:{},geometry:{type:"Polygon",coordinates:[[[25.98816,69.6179],[25.24109,68.60752],[20.42908,68.97318],[16.9519,67.9499],[13.77686,64.59561],[14.28223,64.47279],[14.08447,63.99524],[13.02979,64.10101],[12.00806,63.2633],[12.14813,61.6586],[12.87323,61.31245],[12.67548,61.0636],[12.26074,61.00241],[12.60681,60.50593],[12.49146,60.08128],[12.17285,59.88756],[11.87622,59.84895],[11.94214,59.69547],[11.6922,59.58998],[11.84601,59.25044],[11.64276,58.89471],[11.45325,58.88194],[11.44775,59.00168],[11.34888,59.11254],[11.18134,59.08009],[11.06186,58.97054],[8,57.5],[3,57.5],[3,83],[40,83],[35,71],[29.61365,69.28629],[27.98767,69.99711],[25.98816,69.6179]]]}},poland:{type:"Feature",id:"poland",properties:{},geometry:{type:"Polygon",coordinates:[[[14.03,52.84],[14.34,53.26],[14.13,54.16],[15.95,54.52],[16.31,54.76],[17.13,54.97],[18.29,55.08],[18.9,54.98],[19.69,54.5],[21.47,54.37],[22.9,54.46],[23.39,54.3],[24.01,53.17],[24.03,52.71],[23.29,52.3],[23.74,52.09],[23.64,51.61],[24.24,50.86],[24.11,50.41],[23.78,50.34],[22.77,49.55],[22.96,48.97],[22.18,49.1],[21.6,49.38],[20.93,49.24],[20.47,49.34],[20.12,49.13],[19.76,49.14],[19.45,49.51],[18.94,49.34],[18.48,49.85],[17.83,49.92],[17.54,50.21],[17.06,50.35],[17.08,50.18],[16.65,50.05],[16.11,50.41],[16.3,50.6],[16.01,50.54],[15.34,50.73],[15.14,50.93],[14.78,50.82],[14.94,51.27],[14.5,51.81],[14.66,52.05],[14.53,52.57],[14.03,52.84]]]}},spain:{type:"Feature",id:"spain",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[-19,29],[-13,30],[-13,29],[-14,27.8],[-19,27],[-19,29]]],[[[-8.89106,41.82289],[-10,44],[-4,44],[-1.77005,43.37605],[-1.71005,43.37569],[-1.71135,43.33125],[-1.72259,43.31318],[-1.68904,43.31291],[-1.68811,43.33413],[-1.64467,43.33372],[-1.64498,43.31332],[-1.60299,43.31295],[-1.60344,43.29266],[-1.56359,43.29212],[-1.56305,43.31338],[-1.47799,43.31284],[-1.36677,43.27614],[-1.35688,43.23815],[-1.37037,43.1713],[-1.44231,43.08336],[-1.41983,43.06036],[-1.37307,43.05117],[-1.36407,43.11159],[-1.30203,43.13522],[-1.23549,43.13325],[-1.27955,43.07744],[-1.19232,43.06496],[-1.00619,43.00778],[-0.94234,42.9749],[-0.7562,42.98213],[-0.71484,42.96108],[-0.69685,42.90314],[-0.55118,42.82207],[-0.50442,42.84845],[-0.42889,42.82009],[-0.31648,42.86558],[-0.14563,42.81086],[-0.03143,42.71249],[0.18618,42.7541],[0.30218,42.71777],[0.36422,42.74287],[0.44875,42.71447],[0.62769,42.7224],[0.64118,42.85767],[0.71492,42.88272],[0.9676,42.81811],[1.10878,42.79898],[1.17532,42.73429],[1.36326,42.74155],[1.41137,42.70939],[1.48061,42.71034],[1.4813,42.50107],[1.64436,42.50203],[1.64328,42.54245],[1.73041,42.54342],[1.73164,42.50118],[2.06386,42.50164],[2.06456,42.45902],[2.39693,42.45994],[2.39768,42.41784],[2.48048,42.41797],[2.48098,42.37594],[2.64479,42.37626],[2.64448,42.45924],[2.81133,42.45961],[2.81126,42.50104],[3.06388,42.50085],[3.06388,42.45915],[3.23078,42.45934],[5,40],[4,39],[-2.2,36.5],[-5.6,35.95],[-6,36],[-7.37535,37.15354],[-7.40832,37.16822],[-7.4481,37.39094],[-7.46963,37.40758],[-7.4647,37.45305],[-7.50197,37.51641],[-7.51916,37.52292],[-7.52196,37.57237],[-7.45013,37.66958],[-7.4249,37.75992],[-7.31666,37.83997],[-7.26833,37.98895],[-7.15368,38.01552],[-7.11771,38.05536],[-7.0143,38.02438],[-6.99632,38.10756],[-6.96147,38.20125],[-7.08062,38.15708],[-7.34027,38.44024],[-7.26383,38.73807],[-7.04352,38.87297],[-7.06151,38.90796],[-6.96934,39.01983],[-7.00081,39.08879],[-7.15368,39.09577],[-7.15255,39.16029],[-7.24472,39.19689],[-7.25596,39.28133],[-7.33689,39.35351],[-7.3279,39.45599],[-7.51449,39.58865],[-7.55271,39.67954],[-7.05027,39.67522],[-6.99519,39.81954],[-6.92213,39.87909],[-6.88616,40.02299],[-7.04128,40.13479],[-7.01767,40.26615],[-6.8086,40.34501],[-6.86818,40.44516],[-6.85356,40.60664],[-6.83783,40.87576],[-6.9536,41.03704],[-6.80186,41.03959],[-6.76814,41.13871],[-6.64112,41.26556],[-6.56244,41.26303],[-6.21737,41.5791],[-6.31628,41.64465],[-6.51523,41.64129],[-6.58717,41.68832],[-6.54783,41.85597],[-6.62988,41.91121],[-7.13345,41.94048],[-7.16829,41.87188],[-7.42569,41.78477],[-7.95398,41.84593],[-8.13045,41.78058],[-8.25185,41.90786],[-8.12933,42.03488],[-8.24848,42.1008],[-8.36762,42.05575],[-8.60704,42.03405],[-8.89106,41.82289]]]]}},sweden:{type:"Feature",id:"sweden",properties:{},geometry:{type:"Polygon",coordinates:[[[10.57159,58.2445],[10.63202,58.9245],[11.35712,59.12804],[11.53839,58.91174],[11.62079,58.92308],[11.75812,59.24341],[11.65649,59.61777],[11.85974,59.7121],[11.82129,59.84481],[11.95862,59.91098],[12.15363,59.91235],[12.44476,60.0895],[12.48322,60.32151],[12.56012,60.50458],[12.36511,60.71217],[12.19482,61.01572],[12.64801,61.09415],[12.82928,61.34276],[12.55463,61.55018],[12.42828,61.54495],[12.12341,61.71331],[12.28546,62.26664],[12.03278,62.60851],[12.10968,62.74718],[12.06024,62.89772],[12.18658,62.99765],[11.95587,63.28183],[12.18109,63.47873],[12.1344,63.59012],[12.659,63.9856],[12.90619,64.0722],[13.20831,64.10461],[13.9801,64.03014],[14.06525,64.46214],[13.60382,64.56968],[14.26025,65.11608],[14.31519,65.23831],[14.45251,65.31412],[14.47998,65.62656],[14.57886,65.80953],[14.49097,66.15163],[14.99634,66.17161],[15.4248,66.29337],[15.33691,66.51107],[16.04004,66.93221],[16.37512,67.06743],[16.35864,67.21467],[16.06201,67.42015],[16.1499,67.52957],[16.37512,67.55266],[16.70471,67.91688],[17.25952,68.13067],[17.88025,67.99523],[18.09448,68.19809],[18.06702,68.54432],[18.39661,68.58848],[19.00085,68.52019],[19.89075,68.39109],[20.13245,68.48798],[19.89075,68.55637],[20.28076,68.78613],[19.99512,69.06268],[20.62134,69.08033],[20.86853,69.03518],[21.24756,68.8437],[21.92322,68.60652],[22.90649,68.39514],[23.73596,67.96639],[23.5437,67.8362],[23.62061,67.47492],[23.79639,67.44544],[23.81287,67.26992],[23.63159,67.23806],[24.04358,66.82868],[23.91174,66.57448],[23.71399,66.31986],[24.22485,65.97333],[24.04358,65.64469],[21.00586,63.63894],[18.57239,61.83023],[19.18762,60.53297],[19.11346,60.18387],[19.66827,59.82687],[19.90173,58.07788],[18.78662,56.9869],[16.73218,56.05977],[15.0238,55.72711],[14.36462,55.31977],[13.1163,55.22276],[12.7002,55.30414],[12.82654,55.57834],[12.84851,55.72402],[12.79358,55.83214],[12.6123,56.0751],[12.49146,56.13331],[12.07947,56.30435],[11.35437,57.67185],[10.57159,58.2445]]]}},east_midlands_uk:{type:"Feature",id:"east_midlands_uk",properties:{},geometry:{type:"Polygon",coordinates:[[[0.03031,53.53488],[0.28564,53.56315],[0.48889,53.10722],[0.27299,52.82421],[0.24507,52.7845],[0.27219,52.77279],[0.18631,52.73533],[0.14206,52.7399],[0.08901,52.72361],[0.06361,52.72737],[0.04413,52.71436],[0.04883,52.68175],[0.02104,52.66476],[-0.03129,52.66151],[-0.06373,52.67521],[-0.08777,52.66676],[-0.10221,52.67218],[-0.14108,52.65149],[-0.18003,52.66054],[-0.19288,52.65242],[-0.20605,52.66805],[-0.26064,52.65139],[-0.28925,52.67025],[-0.335,52.67485],[-0.35023,52.66159],[-0.40569,52.64802],[-0.45065,52.65411],[-0.49897,52.63931],[-0.52006,52.64143],[-0.55014,52.61223],[-0.54419,52.59287],[-0.55813,52.59447],[-0.57192,52.58579],[-0.58149,52.59587],[-0.58865,52.58679],[-0.60303,52.58857],[-0.66093,52.56893],[-0.69783,52.5457],[-0.71564,52.52237],[-0.75723,52.51093],[-0.77488,52.51826],[-0.82013,52.51552],[-0.86871,52.52699],[-0.88346,52.51395],[-0.88214,52.49315],[-0.89806,52.4869],[-0.88241,52.47127],[-0.90065,52.45994],[-0.94219,52.46777],[-0.95192,52.47741],[-1.0007,52.47092],[-1.04452,52.44573],[-1.03429,52.43627],[-1.04987,52.42225],[-1.08439,52.43628],[-1.12928,52.41609],[-1.14947,52.39701],[-1.20141,52.39648],[-1.30715,52.49423],[-1.52226,52.57033],[-1.52716,52.58272],[-1.56075,52.59612],[-1.55447,52.61472],[-1.57139,52.6353],[-1.54714,52.64218],[-1.54245,52.65362],[-1.55281,52.66845],[-1.58965,52.68724],[-1.59082,52.69801],[-1.65505,52.69878],[-1.65662,52.72173],[-1.70372,52.7298],[-1.69687,52.75272],[-1.66654,52.78471],[-1.61113,52.78139],[-1.61435,52.78826],[-1.58887,52.79985],[-1.59183,52.80947],[-1.6105,52.81639],[-1.58536,52.8317],[-1.62672,52.85441],[-1.69028,52.86445],[-1.70061,52.86057],[-1.70435,52.86666],[-1.72527,52.85964],[-1.77712,52.88377],[-1.79092,52.88023],[-1.80186,52.88613],[-1.81171,52.88058],[-1.83295,52.8869],[-1.85422,52.93063],[-1.82982,52.94565],[-1.82678,52.97707],[-1.76257,52.99965],[-1.75775,53.01698],[-1.75978,53.03869],[-1.7847,53.04991],[-1.77566,53.05933],[-1.79424,53.08837],[-1.78373,53.10281],[-1.82144,53.13579],[-1.81254,53.15432],[-1.8393,53.1769],[-1.87403,53.19536],[-1.95671,53.21373],[-1.96237,53.22622],[-1.9896,53.21572],[-1.97486,53.23106],[-2.00948,53.26065],[-2.00679,53.35457],[-2.009,53.36201],[-2.03173,53.36573],[-2.03385,53.37517],[-2.00464,53.38633],[-1.99233,53.41519],[-2.02371,53.42055],[-2.02738,53.43233],[-2.01366,53.43988],[-2.00422,53.43592],[-2.00823,53.44155],[-1.98579,53.45523],[-1.98809,53.48033],[-1.97428,53.48838],[-1.97159,53.50434],[-1.92197,53.50995],[-1.92678,53.52095],[-1.91189,53.53803],[-1.89411,53.5336],[-1.87349,53.54041],[-1.84182,53.51989],[-1.82223,53.52108],[-1.80428,53.537],[-1.77188,53.53384],[-1.74155,53.54105],[-1.72318,53.55991],[-1.66945,53.5532],[-1.65103,53.56166],[-1.61581,53.56305],[-1.59636,53.57692],[-1.59109,53.60677],[-1.55023,53.60421],[-1.53078,53.59311],[-1.51867,53.5997],[-1.49656,53.59736],[-1.49512,53.60317],[-1.48371,53.59485],[-1.44763,53.61272],[-1.40036,53.59865],[-1.3767,53.60646],[-1.35612,53.59535],[-1.35143,53.58106],[-1.30782,53.57535],[-1.25803,53.59198],[-1.24825,53.61634],[-1.21778,53.62429],[-1.21602,53.642],[-1.1886,53.63583],[-1.15503,53.64319],[-1.13504,53.63254],[-1.12095,53.64688],[-0.99046,53.6612],[-0.94448,53.65868],[-0.86533,53.63769],[-0.89792,53.58325],[-0.90111,53.5687],[-0.89099,53.56654],[-0.90126,53.54788],[-0.89233,53.53738],[-0.94654,53.52732],[-0.95001,53.51363],[-0.93209,53.51065],[-0.93557,53.5025],[-0.90047,53.47513],[-0.92046,53.46446],[-0.87373,53.46146],[-0.87192,53.46629],[-0.79748,53.45504],[-0.78436,53.46336],[-0.78439,53.47665],[-0.77157,53.47918],[-0.76811,53.4989],[-0.75211,53.50051],[-0.73959,53.51991],[-0.62449,53.51282],[-0.62975,53.45819],[-0.55179,53.4595],[-0.47175,53.47485],[-0.48663,53.48045],[-0.48838,53.50484],[-0.40507,53.51759],[-0.40814,53.53208],[-0.43066,53.54631],[-0.50123,53.53744],[-0.46702,53.54894],[-0.429,53.5745],[-0.41967,53.56375],[-0.33594,53.5586],[-0.30342,53.59077],[-0.30093,53.61636],[-0.24847,53.59364],[-0.25139,53.58463],[-0.23466,53.58623],[-0.22255,53.56799],[-0.19169,53.56844],[-0.21988,53.53258],[-0.21059,53.53168],[-0.20408,53.51174],[-0.2106,53.48626],[-0.18856,53.48451],[-0.1818,53.46862],[-0.15368,53.46565],[-0.14923,53.44667],[-0.13188,53.43591],[-0.12034,53.43357],[-0.08221,53.45112],[-0.10786,53.46987],[-0.0898,53.47765],[-0.09548,53.48596],[-0.07526,53.48931],[-0.06493,53.51878],[-0.01452,53.51538],[0.03031,53.53488]]]}},"england-west-midlands":{type:"Feature",id:"england-west-midlands",properties:{},geometry:{type:"Polygon",coordinates:[[[-3.28493,52.44175],[-3.12706,52.96995],[-1.95817,53.27605],[-1.1222,52.36367],[-1.59859,51.90733],[-2.65611,51.7761],[-3.10848,51.95414],[-3.28493,52.44175]]]}},london_uk:{type:"Feature",id:"london_uk",properties:{},geometry:{type:"Polygon",coordinates:[[[0.23926,51.43251],[0.23923,51.43329],[0.23926,51.43251],[0.23717,51.4241],[0.205,51.39919],[0.18385,51.37628],[0.16188,51.36621],[0.15614,51.3539],[0.1603,51.31026],[0.14958,51.30173],[0.14213,51.29098],[0.06692,51.27361],[-0.01594,51.26864],[-0.05766,51.2586],[-0.10949,51.25943],[-0.16628,51.26848],[-0.19872,51.25854],[-0.22666,51.2587],[-0.27352,51.28757],[-0.31813,51.30077],[-0.33644,51.31532],[-0.40313,51.30581],[-0.44436,51.31987],[-0.47985,51.3302],[-0.50762,51.37142],[-0.53414,51.39494],[-0.54109,51.42774],[-0.53264,51.43923],[-0.5152,51.46248],[-0.49617,51.48894],[-0.50203,51.53945],[-0.5278,51.55474],[-0.53166,51.5611],[-0.53569,51.57289],[-0.53596,51.5778],[-0.53455,51.58275],[-0.53376,51.58792],[-0.51516,51.6337],[-0.49776,51.65205],[-0.4901,51.66912],[-0.45924,51.67692],[-0.44684,51.69442],[-0.42579,51.71213],[-0.39306,51.715],[-0.38079,51.71654],[-0.34459,51.70948],[-0.2838,51.71515],[-0.26707,51.71395],[-0.23509,51.69056],[-0.22093,51.68445],[-0.17729,51.68441],[-0.10644,51.69165],[-0.05899,51.68257],[0.02324,51.678],[0.0691,51.68854],[0.10856,51.68336],[0.19863,51.65015],[0.25714,51.61353],[0.28187,51.57813],[0.29039,51.55903],[0.26811,51.50265],[0.26882,51.49783],[0.26782,51.49042],[0.2659,51.47443],[0.25509,51.46053],[0.23586,51.44791],[0.23926,51.43251]]]}},united_kingdom:{type:"Feature",id:"united_kingdom",properties:{name:"United Kingdom",source:"OpenStreetMap"},geometry:{type:"Polygon",coordinates:[[[-7.24863,55.06999],[-6.96705,55.19847],[-6.59182,55.36664],[-9.93166,58.01975],[0.32957,61.43878],[2.43894,51.64531],[0.72508,50.42953],[-7.66848,49.03788],[-5.93264,51.46771],[-5.4053,53.54032],[-6.07527,54.0096],[-6.28173,54.11135],[-6.309,54.10669],[-6.31788,54.09098],[-6.33629,54.09472],[-6.33993,54.11189],[-6.3662,54.11374],[-6.36237,54.0766],[-6.37492,54.06914],[-6.37907,54.06909],[-6.37911,54.06907],[-6.37918,54.06902],[-6.39105,54.05885],[-6.41198,54.06306],[-6.44345,54.05649],[-6.45607,54.07252],[-6.47779,54.07709],[-6.4713,54.0663],[-6.51051,54.05268],[-6.53187,54.05968],[-6.55772,54.04917],[-6.58643,54.05757],[-6.59499,54.04462],[-6.62381,54.03646],[-6.66426,54.06917],[-6.66202,54.09283],[-6.64506,54.096],[-6.66127,54.12266],[-6.64886,54.12138],[-6.63961,54.13187],[-6.63436,54.16317],[-6.66539,54.19316],[-6.70601,54.20005],[-6.72106,54.18197],[-6.74076,54.18192],[-6.75617,54.19926],[-6.77562,54.19895],[-6.80097,54.21317],[-6.80042,54.2211],[-6.81617,54.22302],[-6.82774,54.26149],[-6.87804,54.27924],[-6.87229,54.28794],[-6.859,54.28191],[-6.85087,54.29728],[-6.87594,54.34641],[-6.90626,54.3503],[-6.91129,54.37474],[-6.93074,54.37575],[-6.9237,54.38284],[-6.95963,54.39221],[-6.98165,54.40946],[-6.99601,54.40538],[-7.0291,54.42137],[-7.05724,54.41108],[-7.07234,54.38839],[-7.10979,54.36824],[-7.10388,54.35574],[-7.15344,54.33501],[-7.18882,54.33765],[-7.17974,54.32046],[-7.17949,54.30924],[-7.19789,54.31106],[-7.21219,54.29962],[-7.17302,54.28613],[-7.17937,54.2726],[-7.16092,54.27371],[-7.14225,54.25559],[-7.15893,54.24396],[-7.14594,54.23957],[-7.14503,54.22473],[-7.17104,54.2176],[-7.18808,54.22492],[-7.1986,54.21578],[-7.22085,54.21581],[-7.23182,54.20557],[-7.24806,54.20446],[-7.24915,54.19817],[-7.233,54.19784],[-7.25942,54.19225],[-7.25828,54.17737],[-7.24028,54.1697],[-7.25812,54.16451],[-7.26296,54.13741],[-7.29195,54.11911],[-7.30891,54.13211],[-7.28551,54.13626],[-7.30149,54.14421],[-7.28379,54.15386],[-7.27997,54.16797],[-7.2913,54.17196],[-7.33956,54.14672],[-7.30533,54.12336],[-7.31867,54.11329],[-7.32713,54.12458],[-7.34602,54.11645],[-7.3632,54.1316],[-7.39181,54.12013],[-7.37279,54.13963],[-7.42078,54.13705],[-7.40959,54.15646],[-7.44192,54.15409],[-7.46841,54.14081],[-7.47919,54.12227],[-7.5281,54.13574],[-7.54738,54.12214],[-7.56576,54.12659],[-7.57454,54.14151],[-7.61043,54.14378],[-7.62966,54.1703],[-7.66425,54.18797],[-7.67659,54.18196],[-7.68829,54.20197],[-7.68543,54.20776],[-7.7394,54.20353],[-7.74858,54.20942],[-7.80368,54.20707],[-7.81173,54.20073],[-7.86017,54.21728],[-7.86046,54.26026],[-7.87322,54.27945],[-7.86187,54.29343],[-7.88087,54.29188],[-7.9017,54.30143],[-7.91095,54.29595],[-7.9616,54.31247],[-8.00093,54.35846],[-8.03129,54.35671],[-8.05733,54.36572],[-8.08416,54.39741],[-8.16026,54.44028],[-8.14291,54.45092],[-8.17751,54.46476],[-8.11467,54.46903],[-8.11324,54.4764],[-8.09148,54.47653],[-8.09868,54.48433],[-8.08933,54.48708],[-8.04265,54.48763],[-8.04185,54.50638],[-8.00601,54.54594],[-7.9703,54.54705],[-7.94973,54.53363],[-7.85055,54.53313],[-7.82402,54.54427],[-7.83325,54.55223],[-7.79659,54.57163],[-7.79341,54.58188],[-7.76212,54.58588],[-7.75151,54.59878],[-7.69725,54.61007],[-7.70877,54.63495],[-7.74165,54.61797],[-7.75797,54.62503],[-7.77236,54.62149],[-7.81366,54.64411],[-7.82828,54.63305],[-7.85213,54.63078],[-7.85669,54.65057],[-7.89164,54.65594],[-7.9099,54.66828],[-7.91381,54.67596],[-7.89766,54.68701],[-7.92089,54.69596],[-7.91804,54.70282],[-7.8796,54.70269],[-7.83665,54.73642],[-7.81761,54.73378],[-7.8047,54.7186],[-7.78875,54.71964],[-7.75006,54.70428],[-7.73551,54.71683],[-7.7116,54.72611],[-7.69723,54.72356],[-7.63657,54.75151],[-7.60944,54.74415],[-7.59117,54.74438],[-7.57919,54.75047],[-7.57865,54.74191],[-7.5698,54.74384],[-7.54826,54.74101],[-7.53859,54.751],[-7.54804,54.75711],[-7.54795,54.78835],[-7.52847,54.80757],[-7.47096,54.8348],[-7.44188,54.87561],[-7.45258,54.89849],[-7.44727,54.93524],[-7.39202,54.94545],[-7.4072,54.95521],[-7.4027,54.96689],[-7.40705,54.98294],[-7.39135,54.99774],[-7.40558,55.00332],[-7.37023,55.03476],[-7.34516,55.05083],[-7.31828,55.04507],[-7.29947,55.0561],[-7.28944,55.04771],[-7.27251,55.06357],[-7.24863,55.06999]]]}},canada_full:{type:"Feature",id:"canada_full",properties:{},geometry:{type:"Polygon",coordinates:[[[-140.99854,69.64945],[-120.9375,78.7335],[-91.05469,82.7432],[-75.58594,83.40004],[-63.45703,83.15311],[-59.32617,82.37915],[-63.76465,81.42049],[-67.19238,80.79583],[-73.21289,78.85307],[-74.9707,76.33114],[-61.34766,70.75797],[-50.1416,46.67959],[-65.98389,42.85181],[-66.95892,44.48769],[-66.9397,44.81692],[-67.13745,45.15493],[-67.26379,45.18591],[-67.31873,45.1278],[-67.43958,45.21881],[-67.44507,45.58329],[-67.79114,45.67164],[-67.78015,47.07012],[-68.19763,47.35743],[-68.39539,47.35743],[-68.37891,47.29413],[-68.90625,47.17478],[-69.06006,47.23449],[-69.08203,47.43552],[-69.22485,47.46524],[-70.00488,46.70974],[-70.05981,46.41514],[-70.18066,46.36209],[-70.3125,46.21025],[-70.24658,46.14178],[-70.3125,45.97406],[-70.26855,45.91294],[-70.42236,45.80583],[-70.42236,45.72152],[-70.71899,45.49865],[-70.62012,45.38302],[-70.80688,45.4293],[-70.85083,45.22848],[-71.00464,45.3367],[-71.1145,45.25169],[-71.26831,45.29035],[-71.41113,45.24395],[-71.5155,45.0153],[-74.81689,45.0153],[-75.31128,44.84808],[-75.7782,44.51218],[-75.82214,44.4377],[-76.43188,44.09942],[-76.79993,43.63011],[-78.68683,43.63806],[-79.19495,43.45292],[-79.07204,43.26521],[-79.05693,43.25671],[-79.04594,43.13807],[-79.06998,43.12103],[-79.06311,43.11652],[-79.05693,43.10951],[-79.07616,43.08393],[-79.07684,43.07691],[-79.01505,43.06839],[-78.99719,43.05785],[-79.02672,43.02071],[-79.01779,42.98456],[-78.98003,42.97099],[-78.96423,42.95843],[-78.93402,42.95542],[-78.91136,42.93883],[-78.90518,42.90011],[-78.93127,42.82361],[-80.07935,42.38289],[-81.27686,42.20818],[-82.39197,41.68112],[-82.68311,41.67701],[-83.07861,41.86547],[-83.15552,42.03909],[-83.12531,42.12064],[-83.13904,42.23462],[-83.07587,42.31185],[-82.98523,42.33418],[-82.81219,42.37478],[-82.63916,42.56117],[-82.59521,42.54903],[-82.52655,42.61375],[-82.41669,43.00063],[-82.13379,43.59631],[-82.51831,45.34442],[-83.59772,45.82114],[-83.43567,45.99696],[-83.57162,46.10847],[-83.65402,46.12275],[-83.76663,46.10466],[-83.82843,46.11989],[-83.89984,46.06084],[-83.95615,46.05989],[-83.974,46.1018],[-84.00833,46.11609],[-84.00696,46.14559],[-84.07974,46.18934],[-84.10995,46.24065],[-84.0976,46.25585],[-84.11545,46.26724],[-84.12094,46.31564],[-84.10309,46.32038],[-84.13467,46.36115],[-84.14841,46.42082],[-84.10995,46.50359],[-84.12781,46.531],[-84.14085,46.53241],[-84.17313,46.52722],[-84.19373,46.54092],[-84.226,46.53525],[-84.26582,46.49603],[-84.2926,46.49225],[-84.34135,46.50595],[-84.37225,46.50879],[-84.44023,46.49036],[-84.47662,46.45489],[-84.55353,46.45867],[-84.76776,46.62492],[-84.84741,46.88272],[-88.38501,48.31243],[-89.32983,47.96786],[-93.21899,48.64743],[-93.80127,48.5166],[-93.83423,48.63291],[-94.6637,48.75257],[-94.8175,49.32691],[-95.15259,49.38595],[-95.15533,49.00184],[-123.31879,49.00004],[-122.99469,48.7761],[-123.2666,48.69096],[-123.11279,48.37815],[-123.44238,48.22467],[-124.7168,48.49477],[-128.49609,48.74895],[-131.2207,53.61858],[-130.75928,54.73731],[-129.99023,55.27912],[-130.07813,56.10881],[-131.74805,56.63206],[-135.53833,59.80063],[-137.47192,58.90465],[-138.67493,59.78958],[-138.6969,59.90822],[-139.20227,60.09772],[-139.08142,60.35141],[-139.71863,60.33239],[-139.98779,60.18523],[-140.46021,60.30791],[-140.52063,60.22618],[-141.01501,60.30519],[-140.99854,69.64945]]]}},ottawa_gatineau:{type:"Feature",id:"ottawa_gatineau",properties:{},geometry:{type:"Polygon",coordinates:[[[-76.23413,45.50827],[-76.12839,45.55829],[-75.26184,45.58041],[-75.13412,45.39652],[-75.42938,45.32512],[-75.35385,45.17816],[-75.82489,44.93564],[-76.34537,45.36855],[-76.23413,45.50827]]]}},vancouver_metro:{type:"Feature",id:"vancouver_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-123.32,49],[-123.45,49.38],[-123.26,49.47],[-122.24,49.27],[-122.2,49],[-123.32,49]]]}},cuba:{type:"Feature",id:"cuba",properties:{},geometry:{type:"Polygon",coordinates:[[[-85.5,21.75],[-83.5,23.5],[-80,23.5],[-73.5,20.4],[-74.5,19.5],[-78,19.5],[-85.5,21.75]]]}},nicaragua:{type:"Feature",id:"nicaragua",properties:{},geometry:{type:"Polygon",coordinates:[[[-88,13],[-87.56104,13.13298],[-87.36877,12.99921],[-86.97876,13.02597],[-86.88538,13.28272],[-86.7041,13.29876],[-86.77002,13.76873],[-86.31409,13.77407],[-86.1438,14.046],[-86.01746,14.05133],[-85.75378,13.89141],[-85.16602,14.31761],[-84.96277,14.80144],[-84.4574,14.63674],[-83.39722,15.03499],[-82.5,14.9],[-82.8,12],[-83.676,10.95],[-83.66,10.8],[-83.92,10.7],[-84.688,11.076],[-84.91,10.945],[-85.615,11.215],[-85.7,11.06],[-86,11.06],[-88,13]]]}},boston_metro:{type:"Feature",id:"boston_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-70.5,41.91],[-71,41.91],[-71.42,42.05],[-71.57,42.18],[-71.64,42.4],[-71.57,42.52],[-71.35,42.64],[-71.1,42.7],[-70.5,42.7],[-70.5,41.91]]]}},central_pa:{type:"Feature",id:"central_pa",properties:{},geometry:{type:"Polygon",coordinates:[[[-78.7,41.5],[-77,41.5],[-76,40],[-76,39.72],[-79.3,39.72],[-78.7,41.5]]]}},chattanooga:{type:"Feature",id:"chattanooga",properties:{},geometry:{type:"Polygon",coordinates:[[[-85.634,34.743],[-85.634,35.282],[-84.933,35.282],[-84.933,34.743],[-85.634,34.743]]]}},cleveland:{type:"Feature",id:"cleveland",properties:{},geometry:{type:"Polygon",coordinates:[[[-82.5,41.5],[-80.95,42],[-80.95,41],[-82.5,41],[-82.5,41.5]]]}},colorado:{type:"Feature",id:"colorado",properties:{},geometry:{type:"Polygon",coordinates:[[[-109.05,37],[-109.05,41],[-102.05,41],[-102.05,37],[-109.05,37]]]}},dc_metro:{type:"Feature",id:"dc_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-77.04437,38.70266],[-77.27783,38.69409],[-77.57172,38.91668],[-77.61017,39.1258],[-77.27509,39.21523],[-77.08694,39.21204],[-76.87546,39.05119],[-76.69968,38.97863],[-76.71066,38.77657],[-76.84662,38.7048],[-77.04437,38.70266]]]}},dfw_metro:{type:"Feature",id:"dfw_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-97.75,32.25],[-97.75,33.4],[-96,33.4],[-96,32.25],[-97.75,32.25]]]}},grand_junction_co:{type:"Feature",id:"grand_junction_co",properties:{},geometry:{type:"Polygon",coordinates:[[[-109,39.4],[-108.1,39.4],[-107.8,39.16],[-107.8,38.7],[-108.1,38.5],[-109,39],[-109,39.4]]]}},la_metro:{type:"Feature",id:"la_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-118.5,33.7],[-118.68,34.23],[-118.5,34.35],[-118,34.2],[-117.3,34.2],[-117.2,34.1],[-117.37,33.9],[-117.74,33.5],[-118.5,33.7]]]}},minneapolis_st_paul_metro:{type:"Feature",id:"minneapolis_st_paul_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-93.801,44.578],[-93.801,45.348],[-92.666,45.348],[-92.666,44.578],[-93.801,44.578]]]}},mt_vernon_wa:{type:"Feature",id:"mt_vernon_wa",properties:{},geometry:{type:"Polygon",coordinates:[[[-123.3,49],[-122,49],[-122,48],[-123.2,48.4],[-123.3,49]]]}},nyc_metro:{type:"Feature",id:"nyc_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-74.73,40.64],[-73.95,41.38],[-73.6,40.95],[-73.25,41],[-73.25,40.6],[-74.43,40.43],[-74.73,40.64]]]}},philly_metro:{type:"Feature",id:"philly_metro",properties:{},geometry:{type:"Polygon",coordinates:[[[-75.7,40.3],[-75.3,40.4],[-74.7,40.3],[-74.45,40.1],[-74.9,39.55],[-75.5,39.55],[-75.8,39.7218],[-76.23,39.7211],[-75.7,40.3]]]}},phoenix:{type:"Feature",id:"phoenix",properties:{},geometry:{type:"Polygon",coordinates:[[[-113,32.7],[-113,34],[-111.1,34],[-111.1,32.7],[-113,32.7]]]}},portland_me:{type:"Feature",id:"portland_me",properties:{},geometry:{type:"Polygon",coordinates:[[[-70.5,42.9],[-71,43.3],[-71,44.2],[-69.6,44.5],[-69,44],[-70.5,42.9]]]}},portland_or:{type:"Feature",id:"portland_or",properties:{},geometry:{type:"Polygon",coordinates:[[[-124.4,44.8],[-124.4,46.3],[-121.5,46.3],[-121.5,44.8],[-124.4,44.8]]]}},salt_lake_city:{type:"Feature",id:"salt_lake_city",properties:{},geometry:{type:"Polygon",coordinates:[[[-112.6,40.75],[-112.3,41.4],[-111.5,41.4],[-111.1,40.3],[-112,39.75],[-112.6,40.75]]]}},seattle:{type:"Feature",id:"seattle",properties:{},geometry:{type:"Polygon",coordinates:[[[-122.15,47.26],[-122.33,47.26],[-122.54,47.33],[-122.52,47.46],[-122.45,47.55],[-122.45,47.8],[-121.2,47.8],[-121.43,47.38],[-121.43,47.14],[-121.94,47.14],[-122,47.17],[-122,47.17],[-122.1,47.19],[-122.15,47.26]]]}},sf_bay_area:{type:"Feature",id:"sf_bay_area",properties:{},geometry:{type:"Polygon",coordinates:[[[-123.5,38.5],[-122.8,38.8],[-121.7,38.2],[-121.5,36.9],[-123,36.9],[-123.5,38.5]]]}},south_sf_bay_area:{type:"Feature",id:"south_sf_bay_area",properties:{},geometry:{type:"Polygon",coordinates:[[[-121.4566,37.48249],[-121.21628,37.17673],[-121.20529,36.95757],[-121.49368,36.95757],[-121.5596,36.8928],[-121.98257,37.12419],[-122.27234,37.39635],[-122.13501,37.48903],[-121.4566,37.48249]]]}},st_louis:{type:"Feature",id:"st_louis",properties:{},geometry:{type:"Polygon",coordinates:[[[-90.28,39.1],[-89.57,39.05],[-89.57,38.18],[-90.58,38],[-91.37,38.2],[-91.37,38.75],[-90.28,39.1]]]}},tampa_bay:{type:"Feature",id:"tampa_bay",properties:{},geometry:{type:"Polygon",coordinates:[[[-83,28.2],[-82.2,28.2],[-82.2,27.55],[-83,27.55],[-83,28.2]]]}},usa_full:{type:"Feature",id:"usa_full",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[-124.76179,48.41301],[-123.22752,48.18499],[-123.32289,49.00429],[-96.01312,49.00605],[-95.11054,49.412],[-93.99811,49.00671],[-89.43531,47.98378],[-88.34922,48.29633],[-87.50645,48.01427],[-83.2814,46.13885],[-82.17616,43.58854],[-82.66248,41.68895],[-79.00601,42.80053],[-79.15798,43.44626],[-78.76239,43.62496],[-76.90231,43.80246],[-75.07988,44.98029],[-72.02225,45.00598],[-71.41227,45.25488],[-70.46149,46.21766],[-69.25051,47.51223],[-67.75966,47.099],[-66.94528,44.71049],[-69.84893,43.26199],[-69.87974,40.99205],[-72.00202,40.99125],[-74.02112,39.57279],[-75.41474,35.05319],[-80.02453,32.01613],[-79.89011,26.85507],[-80.02,24.0071],[-84.01601,24.00527],[-84.01656,25.01258],[-81.99666,25.01349],[-81.9972,25.98268],[-84.01879,28.99618],[-86.02775,30.00475],[-88.01625,30.00389],[-88.01567,28.99443],[-90.90285,28.85645],[-93.74053,29.47421],[-95.55633,28.58761],[-96.80617,27.79782],[-96.95553,25.98216],[-97.43502,25.8266],[-98.01091,25.9928],[-99.23511,26.4476],[-100.00624,28.00822],[-101.25529,29.48105],[-102.1514,29.74757],[-102.71736,29.39206],[-103.25189,28.89087],[-104.58819,29.69979],[-105.02053,30.5361],[-106.20525,31.4467],[-106.28689,31.56133],[-106.42932,31.75206],[-106.48421,31.74645],[-106.53072,31.78209],[-108.18711,31.77551],[-108.19927,31.326],[-111.00893,31.33601],[-114.86123,32.47999],[-117.67593,32.46302],[-119.97759,33.00641],[-122.53697,36.85661],[-124.99343,40.05576],[-124.60595,45.90245],[-124.76179,48.41301]]],[[[-160.57876,22.50629],[-159.00937,22.50702],[-157.50474,21.9985],[-156.29276,21.22259],[-154.68902,19.88057],[-154.62178,18.7587],[-155.99619,18.77902],[-157.50832,20.9958],[-158.74706,21.24398],[-160.57822,21.49846],[-160.57876,22.50629]]],[[[-167.1572,68.722],[-164.9717,68.9947],[-163.0218,69.9707],[-160.4136,70.7398],[-156.1769,71.5633],[-140.9684,69.9535],[-140.9874,61.0119],[-139.1716,60.4127],[-138.0072,59.9918],[-135.123,59.7566],[-131.9759,56.9995],[-130.0071,57.0001],[-130.0044,54.0043],[-133.9948,54.0032],[-138.515,57.9986],[-138.516,58.9953],[-151.5013,58.992],[-151.5003,57.9988],[-151.9963,55.9992],[-158.0191,55.0028],[-159.0076,55.0025],[-162.4025,53.9567],[-171.4689,51.8215],[-177.9993,51.2554],[-178.0001,52.2446],[-173.8197,59.7401],[-172.5143,63.8767],[-169.0075,64.9988],[-169.0087,66.0015],[-168.0022,66.0018],[-164.8554,67.0255],[-167.1572,68.722]]],[[[-68.2,17.8],[-67.9,18.67],[-65.33,18.57],[-64.64,18.36],[-64.32,17.38],[-68.2,17.8]]],[[[146.2,15.4],[144.8,12.9],[144.2,13.2],[145.7,15.6],[146.2,15.4]]],[[[180,52.2],[180,51],[172,52.5],[172,53.5],[180,52.2]]]]}},wyoming:{type:"Feature",id:"wyoming",properties:{},geometry:{type:"Polygon",coordinates:[[[-111.05,41],[-111.05,45],[-104.05,45],[-104.05,41],[-111.05,41]]]}},australia_full:{type:"Feature",id:"australia_full",properties:{},geometry:{type:"Polygon",coordinates:[[[146.07422,-44.43378],[131.66016,-44.65302],[124.54102,-41.44273],[116.45508,-39.36828],[108.80859,-39.16414],[103.18359,-27.60567],[95.27344,-24.04646],[96.30615,-11.15685],[106.25977,-9.92557],[116.47705,-13.98738],[122.77222,-11.65224],[126.43066,-11.48002],[129.26514,-9.92557],[134.89014,-9.92557],[139.46045,-10.14193],[141.55334,-9.99861],[141.7868,-9.77132],[142.229,-9.67115],[142.72614,-9.552],[143.30017,-9.39216],[144.24774,-9.24851],[144.44824,-9.59533],[149.5459,-12.68321],[154.90723,-18.02053],[156.42334,-21.55528],[158.02734,-24.68695],[160.0708,-26.03704],[167.34375,-26.6671],[170.354,-29.11378],[168.2666,-30.63791],[160.15869,-34.03445],[152.18262,-38.41056],[149.94141,-43.51669],[146.07422,-44.43378]]]}},argentina:{type:"Feature",id:"argentina",properties:{},geometry:{type:"Polygon",coordinates:[[[-73.14602,-49.18818],[-72.91615,-48.93261],[-72.53201,-48.80072],[-72.58755,-48.48542],[-72.22624,-48.32339],[-72.49784,-47.96155],[-72.33315,-47.44938],[-71.86801,-47.23376],[-71.94851,-46.80983],[-71.64665,-46.68783],[-71.79939,-46.19141],[-71.6147,-45.97522],[-71.79762,-45.62288],[-71.46813,-45.4921],[-71.32472,-45.306],[-71.56043,-44.97863],[-72.04094,-44.90019],[-72.07396,-44.78023],[-71.46969,-44.73753],[-71.23704,-44.79082],[-71.13226,-44.4711],[-71.36469,-44.38958],[-71.80731,-44.42036],[-71.84736,-44.11002],[-71.64902,-43.94552],[-71.75129,-43.78527],[-71.60784,-43.62836],[-71.93082,-43.45685],[-71.76157,-43.1645],[-72.14281,-42.8979],[-72.1812,-42.69735],[-72.023,-42.41766],[-72.17288,-42.14043],[-71.72931,-42.12447],[-71.91021,-41.34113],[-71.8196,-41.06038],[-71.96387,-40.71955],[-71.8414,-40.4521],[-71.65704,-40.36426],[-71.82818,-40.20778],[-71.59266,-39.90123],[-71.67811,-39.56486],[-71.39497,-39.34179],[-71.42542,-38.92164],[-70.92524,-38.76298],[-70.84044,-38.54138],[-70.97623,-38.44222],[-70.98292,-38.10477],[-71.21191,-37.68901],[-71.11983,-37.4585],[-71.21555,-37.27261],[-71.09237,-37.11444],[-71.11982,-36.69792],[-71.03513,-36.47333],[-70.71285,-36.42687],[-70.70501,-36.27229],[-70.42451,-36.15581],[-70.38755,-35.60868],[-70.43201,-35.31842],[-70.58358,-35.27831],[-70.36203,-35.13645],[-70.21683,-34.61145],[-70.01089,-34.41389],[-70.03094,-34.28805],[-69.79507,-34.24304],[-69.90417,-33.77143],[-69.7705,-33.3611],[-70.00282,-33.32294],[-70.08089,-33.02919],[-70.00121,-32.8846],[-70.17038,-32.62555],[-70.14899,-32.46585],[-70.31918,-32.27335],[-70.35277,-32.0257],[-70.2106,-31.95769],[-70.46072,-31.84116],[-70.56691,-31.60016],[-70.49734,-31.12216],[-70.40805,-31.16633],[-70.23998,-30.61575],[-70.11719,-30.43102],[-69.89853,-30.35557],[-69.87492,-29.7043],[-70.01808,-29.38321],[-69.78724,-29.13008],[-69.68114,-28.47172],[-69.45679,-28.18357],[-69.17254,-27.97088],[-68.94231,-27.52325],[-68.8412,-27.15464],[-68.29854,-27.0389],[-68.2638,-26.91623],[-68.58734,-26.49294],[-68.55754,-26.2871],[-68.38108,-26.17822],[-68.57599,-25.42894],[-68.4999,-25.16149],[-68.34279,-25.1124],[-68.56789,-24.79739],[-68.26201,-24.40457],[-67.32231,-24.0344],[-66.99052,-23.00044],[-67.18066,-22.8138],[-67.02827,-22.54089],[-66.78247,-22.43778],[-66.73899,-22.23893],[-66.28793,-22.08605],[-66.24277,-21.79408],[-66.07589,-21.83493],[-65.74764,-22.10912],[-64.99322,-22.08239],[-64.53579,-22.29137],[-64.29933,-22.86509],[-64.24332,-22.56039],[-63.93139,-22],[-62.80617,-22],[-62.7913,-22.16193],[-62.3009,-22.48659],[-62.20671,-22.70418],[-61.73612,-23.23432],[-61.08824,-23.61393],[-60.9899,-23.81808],[-60.37353,-24.024],[-60.03941,-24.01156],[-59.47554,-24.33261],[-59.35397,-24.47821],[-58.67243,-24.83192],[-58.24167,-24.92801],[-57.76089,-25.17193],[-57.555,-25.4484],[-57.74064,-25.65045],[-57.89112,-25.9662],[-58.08473,-26.11185],[-58.22103,-26.41403],[-58.18996,-26.64518],[-58.31991,-26.85821],[-58.64913,-27.12662],[-58.59905,-27.29984],[-57.87482,-27.27527],[-57.48754,-27.44418],[-56.96564,-27.50202],[-56.84926,-27.6063],[-56.60117,-27.42102],[-56.3749,-27.58903],[-56.29432,-27.42003],[-56.06276,-27.306],[-55.73692,-27.44516],[-55.6057,-27.16241],[-55.42284,-26.99528],[-54.78695,-26.63111],[-54.61874,-26.20893],[-54.67933,-25.99524],[-54.65698,-25.67619],[-54.5842,-25.58952],[-54.4812,-25.62543],[-54.108,-25.495],[-53.86217,-25.65902],[-53.83619,-25.97166],[-53.6411,-26.21559],[-53.73094,-26.5097],[-53.67249,-26.91252],[-53.84355,-27.16453],[-53.959,-27.15804],[-54.21736,-27.38603],[-54.673,-27.57],[-54.814,-27.533],[-54.936,-27.772],[-55.38728,-27.98524],[-55.76677,-28.23982],[-55.69902,-28.42637],[-55.88091,-28.4715],[-56.29651,-28.80272],[-56.42475,-29.07897],[-56.59315,-29.12516],[-56.70164,-29.35913],[-57.328,-29.972],[-57.64923,-30.20184],[-57.63687,-30.33197],[-57.85924,-30.47701],[-57.8096,-30.91332],[-58.08141,-31.45457],[-57.98082,-31.58691],[-58.20653,-31.86773],[-58.10645,-32.24002],[-58.20464,-32.46055],[-58.0841,-32.99782],[-58.36693,-33.12177],[-58.49375,-33.57857],[-58.29507,-34.17809],[-57.9345,-34.4519],[-55.9,-35.6],[-57,-39],[-61,-41],[-63.5,-55],[-66.67094,-55.11906],[-67.27285,-54.90511],[-67.95071,-54.87373],[-68.60967,-54.91369],[-68.60676,-52.65902],[-68.41869,-52.3325],[-69.19014,-52.15044],[-69.48632,-52.15165],[-69.9955,-52.00074],[-71.92259,-51.99991],[-72.29907,-51.69791],[-72.28621,-50.65987],[-72.72636,-50.61667],[-73.06995,-50.78909],[-73.32848,-50.5716],[-73.52199,-50.15397],[-73.44481,-49.79226],[-73.53933,-49.49825],[-73.47299,-49.20464],[-73.14602,-49.18818]]]}},bolivia:{type:"Feature",id:"bolivia",properties:{},geometry:{type:"Polygon",coordinates:[[[-60.17487,-16.26675],[-58.32092,-16.31948],[-58.47336,-16.74472],[-58.39371,-17.18081],[-57.79152,-17.55501],[-57.71187,-17.73103],[-57.55463,-18.22348],[-57.72079,-18.89914],[-57.70775,-19.0381],[-58.11768,-19.75313],[-57.85675,-19.96754],[-58.15338,-20.15201],[-58.17535,-19.83066],[-59.07074,-19.28846],[-59.97025,-19.29494],[-61.78848,-19.65358],[-62.57401,-21.99972],[-63.93082,-22.00736],[-64.24942,-22.60957],[-64.31808,-22.8806],[-64.56528,-22.36595],[-64.62021,-22.21856],[-64.99649,-22.08628],[-65.77446,-22.10027],[-65.92552,-21.93222],[-66.04774,-21.91884],[-66.04225,-21.86022],[-66.2273,-21.78437],[-66.3121,-22.1219],[-66.74057,-22.23635],[-66.7955,-22.44213],[-67.18002,-22.81353],[-67.56351,-22.90085],[-67.81174,-22.87934],[-68.17566,-21.3252],[-68.405,-20.9499],[-68.54095,-20.92681],[-68.55606,-20.7285],[-68.43796,-20.63857],[-68.74557,-20.46369],[-68.72772,-20.08173],[-68.56293,-20.05077],[-68.53134,-19.85779],[-68.69064,-19.74667],[-68.41873,-19.41544],[-68.9296,-18.97448],[-69.12186,-18.14128],[-69.46793,-17.50852],[-69.46793,-17.37489],[-69.63547,-17.27787],[-69.01199,-16.66053],[-69.03877,-16.58487],[-68.93509,-16.2061],[-69.16718,-16.22259],[-69.40201,-15.62634],[-69.13422,-15.23516],[-69.35806,-14.96933],[-68.97903,-14.21979],[-68.87466,-12.88745],[-68.65768,-12.49088],[-69.57264,-10.94456],[-68.74806,-11.00835],[-68.75167,-11.01762],[-68.75201,-11.03716],[-68.76592,-11.04963],[-68.70815,-11.14253],[-68.54576,-11.11036],[-68.24295,-10.95872],[-68.08502,-10.69165],[-67.86736,-10.64036],[-67.71629,-10.71459],[-67.6775,-10.60341],[-67.65947,-10.61792],[-67.58446,-10.50402],[-67.43614,-10.44966],[-67.40593,-10.38314],[-67.31461,-10.37774],[-67.32216,-10.32438],[-67.1953,-10.32277],[-67.18869,-10.33983],[-67.17093,-10.33814],[-66.57921,-9.90392],[-65.86441,-9.75981],[-65.56503,-9.82477],[-65.44968,-9.67318],[-65.29449,-9.85589],[-65.39474,-10.54722],[-65.35629,-10.78474],[-65.2684,-10.88658],[-65.29861,-11.32656],[-65.14481,-11.70939],[-64.36752,-12.4587],[-63.67538,-12.46675],[-61.64841,-13.53453],[-61.06339,-13.52919],[-60.4303,-13.88608],[-60.23804,-15.09864],[-60.57312,-15.09599],[-60.24353,-15.47221],[-60.17487,-16.26675]]]}},bahia:{id:"bahia",type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-46.26343,-11.52309],[-46.40625,-11.53923],[-46.51062,-11.50425],[-46.604,-11.3481],[-46.61224,-11.25653],[-46.46668,-11.1811],[-46.42822,-11.02208],[-46.32935,-10.9331],[-46.19751,-10.65521],[-45.84045,-10.47701],[-45.82672,-10.35275],[-45.74707,-10.34194],[-45.70038,-10.26087],[-45.72784,-10.15815],[-45.59326,-10.09326],[-45.41199,-10.43379],[-45.45593,-10.55262],[-45.37903,-10.72538],[-45.15381,-10.8387],[-44.90112,-10.90883],[-44.60999,-10.66601],[-44.34631,-10.54182],[-44.13757,-10.63362],[-44.05518,-10.39057],[-43.96179,-10.42839],[-43.78601,-10.15275],[-43.69263,-10.03918],[-43.69812,-9.95262],[-43.64868,-9.82274],[-43.76404,-9.76861],[-43.8794,-9.54117],[-43.68713,-9.41655],[-43.4729,-9.24851],[-43.3081,-9.37861],[-43.04443,-9.36235],[-42.8302,-9.60617],[-42.33581,-9.31899],[-41.90735,-9.23767],[-41.7865,-9.09125],[-41.40198,-8.71136],[-41.14929,-8.70593],[-41.03943,-8.83351],[-41.01471,-8.82808],[-40.92407,-8.83894],[-40.8197,-9.07226],[-40.68237,-9.14277],[-40.66864,-9.26478],[-40.7428,-9.30002],[-40.75653,-9.42197],[-40.62744,-9.47615],[-40.53131,-9.41384],[-40.47363,-9.39758],[-40.42694,-9.34338],[-40.36102,-9.37319],[-40.29785,-9.09396],[-40.23468,-9.04243],[-40.14679,-9.10481],[-40.07813,-9.05057],[-39.98749,-9.05599],[-39.8996,-8.95833],[-39.90509,-8.82808],[-39.68262,-8.77923],[-39.70459,-8.67063],[-39.65241,-8.65977],[-39.41345,-8.50769],[-39.2926,-8.54843],[-39.23492,-8.6299],[-38.96576,-8.76837],[-38.86963,-8.76837],[-38.71307,-8.83622],[-38.68835,-8.90678],[-38.66913,-8.98275],[-38.61694,-8.96376],[-38.60596,-8.86065],[-38.5675,-8.81723],[-38.47687,-8.84708],[-38.50983,-8.94205],[-38.42194,-9.037],[-38.33679,-8.97461],[-38.28461,-9.00716],[-38.31757,-9.06684],[-38.21045,-9.36235],[-38.04565,-9.4599],[-38.02368,-9.8498],[-37.89185,-9.96885],[-37.74902,-10.31492],[-37.8479,-10.37977],[-37.78198,-10.64981],[-37.93579,-10.73617],[-38.13354,-10.6822],[-38.26538,-10.79014],[-38.02368,-11.31848],[-37.73804,-11.57691],[-37.3645,-11.48002],[-38.50159,-18.11975],[-39.65515,-18.35453],[-40.25391,-17.96828],[-40.23193,-17.79053],[-40.61646,-17.38209],[-40.51758,-16.89917],[-40.13306,-16.45716],[-39.90234,-16.04581],[-40.68237,-15.68651],[-41.08887,-15.73939],[-41.35254,-15.73939],[-41.37451,-15.49603],[-41.80298,-15.09334],[-42.04468,-15.18878],[-43.24219,-14.67925],[-43.50586,-14.78551],[-43.92334,-14.63674],[-43.7915,-14.31761],[-44.35181,-14.24309],[-44.65942,-14.38148],[-45.78003,-15.13576],[-46.10962,-15.29478],[-46.06567,-14.87047],[-45.92285,-14.38148],[-46.24146,-14.14723],[-46.32935,-13.11158],[-46.38428,-12.02858],[-46.26343,-11.52309]]]}},brazil:{type:"Feature",id:"brazil",properties:{},geometry:{type:"Polygon",coordinates:[[[-51.56433,4.29711],[-28.4491,1.04914],[-37.67761,-21.04862],[-52.94861,-34.05721],[-53.56384,-33.71063],[-53.58581,-33.23409],[-53.16833,-32.81036],[-54.11316,-32.08723],[-55.73914,-30.85036],[-56.11267,-31.18931],[-56.11267,-30.90694],[-57.0575,-30.14988],[-57.23328,-30.32073],[-57.73865,-30.26381],[-55.98083,-28.5411],[-54.94812,-27.68839],[-53.80554,-27.18136],[-53.7616,-26.73089],[-53.87146,-26.00249],[-54.20105,-25.88394],[-54.6405,-25.88394],[-54.28894,-24.13171],[-55.43701,-24.18685],[-55.87647,-22.3704],[-58.07373,-22.08564],[-58.24402,-20.06109],[-57.71668,-17.98396],[-58.43628,-17.18278],[-58.50769,-16.38866],[-60.1831,-16.29905],[-60.26001,-15.14637],[-60.49072,-14.09396],[-60.94116,-13.63531],[-61.85303,-13.5926],[-63.58887,-12.56529],[-64.22058,-12.55992],[-65.20386,-11.8996],[-65.4126,-9.74154],[-66.82983,-10.1203],[-68.17566,-10.92501],[-70.6366,-11.18379],[-70.6366,-9.62783],[-71.42761,-9.97426],[-72.74597,-9.88769],[-73.97644,-7.10634],[-72.70752,-4.67498],[-70.15869,-4.23686],[-69.67529,-1.03266],[-70.19714,1.75205],[-67.56042,1.83989],[-66.94519,0.69761],[-63.78113,1.83989],[-64.84131,4.36832],[-63.25378,3.59566],[-60.24353,5.20584],[-60.03479,4.98698],[-59.57886,3.81493],[-59.89746,3.26118],[-60.05676,2.76199],[-59.9469,2.2626],[-59.77661,2.23515],[-59.77661,1.75754],[-58.64502,1.55987],[-55.87647,2.61384],[-53.10791,2.35041],[-51.56433,4.29711]]]}},df_br:{id:"df_br",type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[-48.20114,-15.49868],[-47.42111,-15.5],[-47.38953,-15.56484],[-47.32361,-15.58865],[-47.33047,-15.63891],[-47.31125,-15.73278],[-47.36755,-15.83189],[-47.3703,-15.927],[-47.36893,-15.99698],[-47.30988,-16.04317],[-48.27805,-16.04713],[-48.24921,-15.94152],[-48.2753,-15.93096],[-48.29041,-15.83189],[-48.22998,-15.77772],[-48.21899,-15.71163],[-48.24097,-15.70898],[-48.23547,-15.66535],[-48.22449,-15.63097],[-48.20251,-15.62568],[-48.20114,-15.49868]]]}},chile:{type:"Feature",id:"chile",properties:{},geometry:{type:"MultiPolygon",coordinates:[[[[-110,-28],[-110,-26],[-109,-26],[-109,-28],[-110,-28]],[[-69.46999,-17.50394],[-69.67049,-17.66692],[-69.80164,-17.65253],[-69.83047,-17.71337],[-69.82704,-17.75196],[-69.80919,-17.8023],[-69.75494,-17.98135],[-69.82018,-18.1191],[-69.86618,-18.17325],[-69.96918,-18.26065],[-70.19165,-18.33106],[-72.5,-18.3],[-78,-53],[-68,-58],[-65.80412,-55.20392],[-67.30412,-54.90395],[-68.60412,-54.90395],[-68.60412,-52.65417],[-68.42212,-52.39063],[-68.42268,-52.33665],[-68.57786,-52.32931],[-68.58833,-52.31016],[-68.84205,-52.28181],[-69.19421,-52.15445],[-69.49016,-52.15561],[-70.00412,-52.00423],[-71.92097,-52.00391],[-71.95221,-51.97896],[-72.04212,-51.96756],[-71.93324,-51.91854],[-72.03255,-51.8118],[-72.32412,-51.60426],[-72.34531,-50.65403],[-73.32687,-50.52827],[-73.51742,-49.89065],[-72.98733,-48.99351],[-72.68005,-48.89271],[-72.53174,-48.77746],[-72.56195,-48.50569],[-72.24472,-48.34986],[-72.46788,-47.7451],[-72.0504,-47.34557],[-71.87325,-47.12505],[-71.9426,-46.81204],[-71.64974,-46.68289],[-71.82037,-46.1256],[-71.64459,-46.00936],[-71.75291,-45.55168],[-71.47104,-45.49829],[-71.54383,-45.40436],[-71.3895,-45.35287],[-71.33354,-45.28286],[-71.41148,-45.19486],[-71.56494,-44.98326],[-72.03323,-44.88409],[-72.03495,-44.76989],[-71.24908,-44.80425],[-71.07056,-44.47985],[-71.81213,-44.30714],[-71.58417,-43.64303],[-71.8856,-43.45765],[-71.72596,-43.19066],[-72.14344,-42.90363],[-72.04765,-42.54322],[-72.04182,-42.40546],[-72.17194,-42.14686],[-71.73051,-42.11516],[-71.92612,-40.72332],[-71.80252,-40.42081],[-71.70639,-40.425],[-71.66794,-40.30571],[-71.77643,-40.268],[-71.39465,-38.92843],[-70.90816,-38.67251],[-71.189,-37.74167],[-71.04858,-36.49087],[-70.95932,-36.50246],[-70.37876,-36.04743],[-70.43884,-35.32549],[-70.58441,-35.27646],[-70.53875,-35.20551],[-70.3791,-35.17241],[-69.87854,-34.15614],[-69.8703,-33.57458],[-69.78207,-33.33282],[-69.86721,-33.28663],[-69.99561,-33.3268],[-70.08453,-33.03716],[-70.3125,-32.12562],[-70.22736,-31.93934],[-70.46185,-31.84548],[-70.53102,-31.3724],[-70.07904,-30.38828],[-69.88678,-30.35747],[-69.81262,-30.14869],[-69.93347,-30.10118],[-69.94308,-29.24087],[-68.78609,-27.10803],[-68.56567,-27.17525],[-68.25256,-26.96492],[-68.57666,-26.49147],[-68.5437,-26.27987],[-68.37067,-26.17639],[-68.48328,-25.15399],[-68.32397,-25.09928],[-68.5437,-24.79047],[-68.46405,-24.62829],[-68.24432,-24.39338],[-67.32216,-24.03768],[-66.98639,-23.00012],[-67.17728,-22.81416],[-67.55768,-22.89642],[-67.81586,-22.86099],[-68.19489,-21.27018],[-68.405,-20.93964],[-68.53546,-20.8524],[-68.47504,-20.64949],[-68.72772,-20.46948],[-68.73322,-20.38454],[-68.67279,-20.34591],[-68.76549,-20.08237],[-68.56842,-20.05658],[-68.52997,-19.85262],[-68.68309,-19.72793],[-68.40225,-19.41091],[-68.92548,-18.97253],[-69.11087,-18.1328],[-69.06143,-18.06231],[-69.29352,-17.96698],[-69.30931,-17.9121],[-69.30794,-17.83956],[-69.34708,-17.7343],[-69.47205,-17.61065],[-69.46999,-17.50394]]]]}},bogota:{type:"Feature",id:"bogota",properties:{},geometry:{type:"Polygon",coordinates:[[[-74.38,4.7],[-74.17,5],[-73.75,5],[-73.9,4.37],[-74.25,4.31],[-74.38,4.7]]]}},colombia:{type:"Feature",id:"colombia",properties:{},geometry:{type:"Polygon",coordinates:[[[-75.8,11.8],[-71.3,12.7],[-70.9,11.9],[-71.98242,11.65762],[-72.2406,11.14607],[-72.45483,11.10295],[-72.8833,10.43379],[-72.94922,9.83898],[-73.31177,9.20514],[-72.99866,9.29189],[-72.94373,9.09125],[-72.76245,9.12379],[-72.65259,8.61633],[-72.39716,8.36098],[-72.34497,8.00484],[-72.4054,8.04563],[-72.49054,7.945],[-72.4411,7.89875],[-72.45209,7.53676],[-72.43835,7.40605],[-72.18567,7.38426],[-72.14996,7.32161],[-72.18018,7.24532],[-72.03461,7.0273],[-71.12,7.02457],[-71.09528,6.98641],[-70.9964,6.98641],[-70.77942,7.09817],[-70.5542,7.07636],[-70.30701,6.93461],[-70.11475,6.98095],[-69.43016,6.10778],[-69.34914,6.13987],[-69.31,6.0873],[-69.23378,6.08047],[-69.17404,6.15011],[-69.03877,6.22384],[-68.66455,6.14055],[-67.80762,6.288],[-67.45056,6.21155],[-67.47803,6.10232],[-67.40662,6.00946],[-67.60437,5.7909],[-67.63184,5.4629],[-67.82959,5.31524],[-67.79114,4.28068],[-67.62085,3.74915],[-67.5,3.78204],[-67.29126,3.36537],[-67.86255,2.82234],[-67.58789,2.79491],[-67.1759,2.33395],[-66.85181,1.23037],[-67.08801,1.16172],[-67.16766,1.83989],[-67.34894,1.97715],[-67.36816,2.22417],[-67.44781,2.21868],[-67.56866,2.054],[-67.80487,1.98813],[-67.91199,1.81793],[-68.18939,2.01009],[-68.2663,1.85087],[-68.16193,1.73008],[-69.83459,1.71361],[-69.8291,1.08209],[-69.19739,1.06561],[-69.15344,0.62621],[-69.48303,0.73057],[-69.79065,0.58776],[-70.02686,0.57128],[-70.04059,-0.19226],[-69.60937,-0.50262],[-69.55719,-0.65367],[-69.61212,-0.7498],[-69.41986,-1.03541],[-69.40338,-1.37041],[-69.9321,-4.21974],[-69.94995,-4.23275],[-70.06531,-4.08071],[-70.1841,-3.93893],[-70.28641,-3.82246],[-70.35027,-3.80054],[-70.50613,-3.87796],[-70.71075,-3.793],[-70.04883,-2.75102],[-70.8783,-2.23241],[-71.41113,-2.37786],[-71.75171,-2.19124],[-72.36694,-2.48762],[-72.63336,-2.36688],[-72.67456,-2.4595],[-72.93274,-2.4492],[-73.1813,-2.22692],[-73.10028,-2.0842],[-73.14697,-1.79597],[-73.55347,-1.69439],[-73.47382,-1.55437],[-73.64136,-1.26607],[-73.85834,-1.22763],[-74.27582,-0.97774],[-74.42139,-0.51086],[-74.79492,-0.23621],[-75.20142,-0.06592],[-75.27832,-0.12909],[-75.80566,0.04669],[-76.09955,0.32959],[-76.32751,0.42572],[-76.40991,0.37903],[-76.41266,0.23621],[-76.96198,0.27191],[-77.11029,0.36529],[-77.53601,0.40649],[-77.48383,0.65093],[-77.69257,0.73606],[-77.66441,0.81296],[-77.7166,0.85141],[-77.74544,0.83562],[-77.77565,0.83974],[-77.80861,0.82738],[-77.8196,0.80678],[-77.96173,0.82257],[-78.19794,0.94478],[-78.19931,0.99284],[-78.28308,1.05325],[-78.2515,1.08346],[-78.31741,1.19193],[-78.43002,1.1425],[-78.55499,1.2496],[-78.61816,1.24685],[-80,2.5],[-77.7,7.7],[-77.55524,7.51498],[-77.32178,7.87971],[-77.17896,7.93956],[-77.5,8.5],[-75.8,11.8]]]}},ecuador:{type:"Feature",id:"ecuador",properties:{},geometry:{type:"Polygon",coordinates:[[[-82,-3],[-80,2.2],[-77.86079,0.80404],[-77.72072,0.85484],[-77.66287,0.81794],[-77.66424,0.80884],[-77.67385,0.80215],[-77.67729,0.79099],[-77.66184,0.78979],[-77.68587,0.77365],[-77.6972,0.74241],[-77.67523,0.73778],[-77.5573,0.65058],[-77.47353,0.6626],[-77.52159,0.44837],[-76.47583,0.20874],[-76.32202,0.4422],[-76.0199,0.30487],[-75.81665,0.09064],[-75.26733,-0.1181],[-75.31265,-0.16617],[-75.50629,-0.21698],[-75.22888,-0.56441],[-75.20279,-0.97362],[-75.28931,-0.99147],[-75.36072,-0.95027],[-75.64087,-1.62576],[-76.63376,-2.59052],[-77.84637,-3],[-78.2872,-3.42158],[-79.01917,-5.01844],[-79.24301,-4.96581],[-79.62753,-4.42656],[-79.79233,-4.48954],[-80.12535,-4.29784],[-80.36018,-4.49775],[-80.44584,-4.45086],[-80.44739,-4.37692],[-80.33409,-4.21841],[-80.45013,-4.20968],[-80.44928,-4.13024],[-80.48035,-4.09445],[-80.47297,-4.05079],[-80.44739,-3.99719],[-80.39915,-3.98281],[-80.29701,-4.01843],[-80.12878,-3.89718],[-80.16106,-3.86704],[-80.19264,-3.60256],[-80.21633,-3.582],[-80.20706,-3.54705],[-80.21745,-3.5],[-80.22878,-3.50181],[-80.2335,-3.4899],[-80.2456,-3.48759],[-80.24545,-3.48481],[-80.24416,-3.48461],[-80.24386,-3.48247],[-80.24313,-3.48142],[-80.24393,-3.47881],[-80.24079,-3.47723],[-80.2438,-3.46463],[-80.22217,-3.44047],[-80.25238,-3.41],[-82,-3]]]}},paraguay:{type:"Feature",id:"paraguay",properties:{},geometry:{type:"Polygon",coordinates:[[[-54.25873,-24.35961],[-54.58403,-25.58921],[-54.65681,-25.67588],[-54.67916,-25.99493],[-54.61857,-26.20862],[-54.78678,-26.6308],[-55.42267,-26.99497],[-55.60553,-27.1621],[-55.73675,-27.44486],[-55.78857,-27.44309],[-55.89775,-27.34371],[-55.97809,-27.35591],[-56.06259,-27.30569],[-56.29415,-27.41973],[-56.37473,-27.58873],[-56.601,-27.42072],[-56.84909,-27.606],[-56.96547,-27.50172],[-57.48737,-27.44388],[-57.87465,-27.27496],[-58.59888,-27.29953],[-58.64896,-27.12631],[-58.31974,-26.8579],[-58.18979,-26.64487],[-58.22086,-26.41372],[-58.08456,-26.11154],[-57.89095,-25.96589],[-57.74047,-25.65014],[-57.55483,-25.44809],[-57.76072,-25.17162],[-58.2415,-24.9277],[-58.67226,-24.83161],[-59.3538,-24.4779],[-59.47537,-24.3323],[-60.03924,-24.01125],[-60.37336,-24.02369],[-60.98973,-23.81777],[-61.08807,-23.61362],[-61.73595,-23.234],[-62.20654,-22.70386],[-62.30073,-22.48627],[-62.64387,-22.24906],[-62.26072,-21.05983],[-62.26622,-20.56305],[-61.92152,-20.08915],[-61.73647,-19.63289],[-59.97488,-19.29332],[-59.06988,-19.28619],[-58.20814,-19.80515],[-57.83186,-20.9842],[-57.92507,-21.63334],[-57.88113,-21.68734],[-57.90602,-21.71294],[-57.97194,-22.07832],[-56.81013,-22.27099],[-56.56363,-22.20044],[-56.49462,-22.08659],[-56.39677,-22.07641],[-56.26631,-22.24811],[-56.01774,-22.29259],[-55.8526,-22.28227],[-55.78935,-22.38413],[-55.74034,-22.38913],[-55.75132,-22.47989],[-55.7472,-22.50653],[-55.72347,-22.5514],[-55.69845,-22.56298],[-55.69365,-22.57788],[-55.62361,-22.62986],[-55.38191,-24.00601],[-54.65973,-23.82806],[-54.31366,-24.01762],[-54.25873,-24.35961]]]}},peru:{type:"Feature",id:"peru",properties:{},geometry:{type:"Polygon",coordinates:[[[-83,-3],[-80.25238,-3.41],[-80.22217,-3.44047],[-80.2438,-3.46463],[-80.24079,-3.47723],[-80.24393,-3.47881],[-80.24313,-3.48142],[-80.24386,-3.48247],[-80.24416,-3.48461],[-80.24545,-3.48481],[-80.2456,-3.48759],[-80.2335,-3.4899],[-80.22878,-3.50181],[-80.21745,-3.5001],[-80.20706,-3.54705],[-80.21633,-3.582],[-80.19264,-3.60256],[-80.16106,-3.86704],[-80.12878,-3.89718],[-80.29701,-4.01843],[-80.39915,-3.98281],[-80.44739,-3.99719],[-80.47297,-4.05079],[-80.48035,-4.09445],[-80.44928,-4.13024],[-80.45013,-4.20968],[-80.33409,-4.21841],[-80.44739,-4.37692],[-80.44584,-4.45086],[-80.36018,-4.49775],[-80.12535,-4.29784],[-79.79233,-4.48954],[-79.62753,-4.42656],[-79.24301,-4.96581],[-79.01917,-5.01844],[-78.2872,-3.42158],[-77.84637,-3],[-76.63376,-2.59052],[-75.64087,-1.62576],[-75.36072,-0.95027],[-75.56534,-0.13806],[-75.15884,-0.06665],[-74.40628,-0.55553],[-72.92862,-2.39505],[-70.9552,-2.25162],[-70.02686,-2.70987],[-70.70595,-3.78478],[-70.49789,-3.88142],[-70.32349,-3.8088],[-69.95819,-4.23211],[-69.94446,-4.29784],[-69.99802,-4.37316],[-70.10376,-4.29164],[-70.19028,-4.35946],[-71.82999,-4.5662],[-72.86133,-5.25507],[-73.94348,-7.4932],[-72.19116,-9.95803],[-70.61188,-9.57638],[-70.62149,-10.96681],[-69.57161,-10.94557],[-68.65494,-12.49629],[-69.01886,-13.62196],[-68.83896,-14.22445],[-69.38141,-14.86251],[-69.14795,-15.24444],[-69.39926,-15.6151],[-69.19189,-16.17449],[-69.10177,-16.22555],[-68.96152,-16.19456],[-68.78952,-16.34254],[-68.98865,-16.42357],[-69.04015,-16.57368],[-69.01886,-16.65198],[-69.61075,-17.26542],[-69.46896,-17.37423],[-69.46827,-17.49919],[-69.66654,-17.66071],[-69.81262,-17.67281],[-69.75,-18],[-70,-18.27],[-75,-19],[-83,-3]]]}}}; + + var resources = {"cape-coast-youthmappers":{id:"cape-coast-youthmappers",featureId:"cape_coast_gh",type:"twitter",name:"University of Cape Coast YouthMappers",countryCodes:["gh"],languageCodes:["en"],description:"Follow us on Twitter: {url}",extendedDescription:"This is the official handle for the Youth Mappers chapter of the University of Cape Coast, Ghana. we love maps, open data and helping the vulnerable.",url:"https://twitter.com/YouthmappersUCC",contacts:[{name:"Enock Seth Nyamador",email:"kwadzo459@gmail.com"}]},"osm-gh-facebook":{id:"osm-gh-facebook",featureId:"ghana",type:"facebook",name:"OpenStreetMap Ghana on Facebook",countryCodes:["gh"],languageCodes:["en"],description:"Facebook group for people interested in OpenStreetMap.",extendedDescription:"Mappers in Ghana community, promoting OpenStreetMap and Humanitarian OpenStreetMap Team (HOT) projects in Ghana. Join us.",url:"https://www.facebook.com/OSMGhana/",contacts:[{name:"Enock Seth Nyamador",email:"kwadzo459@gmail.com"}]},"osm-gh-twitter":{id:"osm-gh-twitter",featureId:"ghana",type:"twitter",name:"OpenStreetMap Ghana on Twitter",countryCodes:["gh"],languageCodes:["en"],description:"Follow us on Twitter: {url}",url:"https://twitter.com/osmghana",contacts:[{name:"Enock Seth Nyamador",email:"kwadzo459@gmail.com"}]},"talk-gh":{id:"talk-gh",featureId:"ghana",type:"mailinglist",name:"Talk-gh Mailing List",countryCodes:["gh"],languageCodes:["en"],description:"Talk-gh is the official mailing list for Ghana OSM community.",url:"https://lists.openstreetmap.org/listinfo/talk-gh",contacts:[{name:"Enock Seth Nyamador",email:"kwadzo459@gmail.com"}]},"osm-mg-facebook":{id:"osm-mg-facebook",featureId:"madagascar",type:"facebook",name:"OpenStreetMap Madagascar Facebook Group",countryCodes:["mg"],languageCodes:["mg","fr"],description:"Malagasy Facebook group for people interested in OpenStreetMap.",url:"https://www.facebook.com/groups/1601381123461284/",contacts:[{name:"Brice Ramamonjy",email:"rafaby21@gmail.com"},{name:"Dolly Andriatsiferana",email:"privatemajory@gmail.com"}]},"talk-mg":{id:"talk-mg",featureId:"madagascar",type:"mailinglist",countryCodes:["mg"],languageCodes:["mg","fr"],name:"Talk-mg Mailing List",description:"Place for OpenStreetMap contributors, communities and users in Madagascar to share and discuss.",url:"https://lists.openstreetmap.org/listinfo/talk-mg",contacts:[{name:"Brice Ramamonjy",email:"rafaby21@gmail.com"},{name:"Dolly Andriatsiferana",email:"privatemajory@gmail.com"}]},"OSM-BGD-facebook":{id:"OSM-BGD-facebook",featureId:"BGD",type:"facebook",name:"OpenStreetMap Bangladesh",description:"Improve OpenStreetMap in Bangladesh",extendedDescription:"Mapping in Bangladesh? Have questions, want to connect with the community here? Join us at {url}. All are welcome!",url:"https://www.facebook.com/groups/osmbd/",contacts:[{name:"Ahasanul Hoque",email:"hoque.ahasan@gmail.com"}]},"OSM-India-facebook":{id:"OSM-India-facebook",featureId:"india_full",type:"facebook",name:"OpenStreetMap India - Participatory neighborhood mapping",description:"Improve OpenStreetMap in India",extendedDescription:"Mapping in India? Have questions, want to connect with the community here? Join us at {url}. All are welcome!",url:"https://www.facebook.com/groups/mappingindia/",contacts:[{name:"Jinal Foflia",email:"fofliajinal@gmail.com"},{name:"Arun Ganesh",email:"arun.planemad@gmail.com"}],events:[{id:"sotmasia2018",i18n:true,name:"State of the Map Asia 2018",description:"Join the 2018 OpenStreetMap region-wide event at State of the Map Asia in India",where:"Indian Institute of Management, Bangalore, India",when:"2018-11-17",url:"http://stateofthemap.asia/"}]},"OSM-india-mailinglist":{id:"OSM-india-mailinglist",featureId:"india_full",type:"mailinglist",name:"OpenStreetMap India Mailinglist",description:"Talk-in is the official Mailinglist for Indian Community",url:"https://lists.openstreetmap.org/listinfo/talk-in",contacts:[{name:"Arun Ganesh",email:"arun.planemad@gmail.com"}]},"OSM-india-twitter":{id:"OSM-india-twitter",featureId:"india_full",type:"twitter",name:"OpenStreetMap India Twitter",description:"We are just a tweet away: {url}",url:"https://twitter.com/osm_in",contacts:[{name:"Jinal Foflia",email:"fofliajinal@gmail.com"}]},"OSM-India-Puducherry-Facebook":{id:"OSM-India-Puducherry-Facebook",featureId:"india_puducherry",type:"facebook",name:"Free Software Hardware Movement - Facebook",description:"FSHM Facebook page to know about community events, activities",extendedDescription:"FSHM organizes events relating to free software/hardware, technology, activism and OpenStreetMap. Its FB page is the best way to keep in contact with its events.",url:"https://www.facebook.com/FSHMP",contacts:[{name:"Kamalavelan",email:"sskamalavelan@gmail.com",osm:"demonshreder"},{name:"Prasanna",email:"prasmailme@gmail.com",osm:"Prashere"}]},"OSM-India-Puducherry-Matrix":{id:"OSM-India-Puducherry-Matrix",featureId:"india_puducherry",type:"matrix",name:"Free Software Hardware Movement - Matrix",description:"FSHM Riot group to discuss, share and update mapping activities, events in and around Puducherry",extendedDescription:"FSHM community members share their OSM mapping updates / experiences through the Riot.im group, this group is also used to discuss things related to free software / hardware, technology and activism.",url:"https://riot.im/app/#/room/#fshm:matrix.org",contacts:[{name:"Kamalavelan",email:"sskamalavelan@gmail.com",osm:"demonshreder"},{name:"Prasanna",email:"prasmailme@gmail.com",osm:"Prashere"}]},"OSM-IDN-facebook":{id:"OSM-IDN-facebook",featureId:"IDN",type:"facebook",name:"OpenStreetMap Indonesia",description:"Improve OpenStreetMap in Indonesia",extendedDescription:"Mapping in Indonesia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/osm.id/",contacts:[{name:"Yantisa Akhadi",email:"yantisa.akhadi@hotosm.org"}]},"OSM-japan-facebook":{id:"OSM-japan-facebook",featureId:"japan",type:"facebook",name:"OpenStreetMap Japan Community",countryCodes:["jp"],languageCodes:["jp"],description:"Mappers and OpenStreetMap users in Japan",url:"https://www.facebook.com/groups/osmjapan/",contacts:[{name:"Satoshi IIDA",email:"nyampire@gmail.com"}]},"OSM-japan-mailinglist":{id:"OSM-japan-mailinglist",featureId:"japan",type:"mailinglist",name:"OpenStreetMap Japan Mailinglist",countryCodes:["jp"],languageCodes:["jp"],description:"Talk-ja is an Official Mailinglist for Japanese Community",url:"https://lists.openstreetmap.org/listinfo/talk-ja",contacts:[{name:"OSMF Japan",email:"info@osmf.jp"}]},"OSM-japan-twitter":{id:"OSM-japan-twitter",featureId:"japan",type:"twitter",name:"OpenStreetMap Japan Twitter",countryCodes:["jp"],languageCodes:["jp"],description:"Hashtag on Twitter: {url}",url:"https://twitter.com/hashtag/osmjp",contacts:[{name:"Satoshi IIDA",email:"nyampire@gmail.com"}]},"OSM-japan-website":{id:"OSM-japan-website",featureId:"japan",type:"group",name:"OpenStreetMap Japan",countryCodes:["jp"],languageCodes:["jp"],description:"Mappers and OpenStreetMap users in Japan",url:"https://openstreetmap.jp/",contacts:[{name:"Satoshi IIDA",email:"nyampire@gmail.com"}]},"OSM-korea-telegram":{id:"OSM-korea-telegram",featureId:"korea",type:"telegram",countryCodes:["ko"],languageCodes:["ko","en"],name:"OSM Korea Telegram Channel",description:"Unofficial Channnel for OpenStreetMap contributors, communities and users in Korea to share and discuss.",url:"https://t.me/osmKorea",contacts:[{name:"Yongmin Hong",email:"revi@pobox.com"},{name:"Max N",email:"abonnements@revolwear.com"}]},"OSM-MY-facebook":{id:"OSM-MY-facebook",featureId:"malaysia",type:"facebook",countryCodes:["my"],languageCodes:["ms","en"],name:"OpenStreetMap Malaysia on Facebook",description:"For chat about anything related to OpenStreetMap!",url:"https://www.facebook.com/groups/openstreetmapMY/",contacts:[{name:"Mohd Saidin",email:"projekopenstreetmap@hotmail.com"}]},"OSM-MY-forum":{id:"OSM-MY-forum",featureId:"malaysia",type:"forum",countryCodes:["my"],languageCodes:["ms","en"],name:"OpenStreetMap Malaysia Forum",description:"Official OpenStreetMap Malaysia Forum",url:"https://forum.openstreetmap.org/viewforum.php?id=60",contacts:[{name:"Mohd Saidin",email:"projekopenstreetmap@hotmail.com"}]},"OSM-MY-matrix":{id:"OSM-MY-matrix",featureId:"malaysia",type:"matrix",countryCodes:["my"],languageCodes:["ms","en"],name:"OpenStreetMap Malaysia Riot channel",description:"All mappers are welcome! Sign up at {signupUrl}",signupUrl:"https://riot.im/app/#/register",url:"https://riot.im/app/#/room/#OpenstreetmapMalaysia:matrix.org",contacts:[{name:"Ahmad Amsyar",email:"OfficiallyAhmad@protonmail.ch"}]},"OSM-MNG-facebook":{id:"OSM-MNG-facebook",featureId:"MNG",type:"facebook",name:"OpenStreetMap Mongolia",description:"Improve OpenStreetMap in Mongolia",extendedDescription:"Mapping in Mongolia? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/OSM.Mongolia/",contacts:[{name:" ",email:"talk-mn@openstreetmap.org"}]},"OSM-MMR-facebook":{id:"OSM-MMR-facebook",featureId:"MMR",type:"facebook",name:"OpenStreetMap Myanmar",description:"Improve OpenStreetMap in Myanmar",extendedDescription:"Mapping in Myanmar? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/osmmm/",contacts:[{name:"Yan Naung Oak",email:"yan@phandeeyar.org"},{name:"Patrick Oswald",email:"patrickoswald.omm@gmail.com"},{name:"Set Khaing Oo",email:"setkhaing@phandeeyar.org"}]},"OSM-Nepal-facebook":{id:"OSM-Nepal-facebook",featureId:"NPL",type:"facebook",name:"OpenStreetMap Nepal",description:"Improve OpenStreetMap in Nepal",extendedDescription:"Mapping in Nepal? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/mapkathmandu/",contacts:[{name:"Kshitiz Khanal",email:"khanal1990@gmail.com"}]},"OSM-PH-facebook":{id:"OSM-PH-facebook",featureId:"philippines",type:"facebook",countryCodes:["ph"],name:"OpenStreetMap PH Facebook",description:"Welcome to OpenStreetMap Philippines, where we encourage all fellow Filipinos to contribute to the OpenStreetMap project.",url:"https://www.facebook.com/OSMPH/",contacts:[{name:"Maning Sambale",email:"emmanuel.sambale@gmail.com"},{name:"OSM PH Group",email:"osm.pilipinas@gmail.com"}]},"OSM-PH-mailinglist":{id:"OSM-PH-mailinglist",featureId:"philippines",type:"mailinglist",countryCodes:["ph"],name:"Talk-ph Mailing List",description:"A mailing list to discuss OpenStreetMap in the Philippines",url:"https://lists.openstreetmap.org/pipermail/talk-ph/",contacts:[{name:"Maning Sambale",email:"emmanuel.sambale@gmail.com"},{name:"OSM PH Group",email:"osm.pilipinas@gmail.com"}]},"OSM-PH-slack":{id:"OSM-PH-slack",featureId:"philippines",type:"slack",countryCodes:["ph"],name:"OpenStreetMap PH Slack",description:"All are welcome! Sign up at {signupUrl}",signupUrl:"https://osmph-chat.herokuapp.com/",url:"https://osmph.slack.com",contacts:[{name:"Maning Sambale",email:"emmanuel.sambale@gmail.com"},{name:"OSM PH Group",email:"osm.pilipinas@gmail.com"}]},"OSM-PH-telegram":{id:"OSM-PH-telegram",featureId:"philippines",type:"telegram",countryCodes:["ph"],languageCodes:["tl","en"],name:"OpenStreetMap PH Telegram",description:"Un-official, Telegram local community of OpenStreetMap contributors and friends in the Philippines",url:"https://t.me/osmph",contacts:[{name:"Erwin Olario",email:"govvin@gmail.com"},{name:"OSM PH Group",email:"osm.pilipinas@gmail.com"}]},"OSM-RU-forum":{id:"OSM-RU-forum",type:"forum",featureId:"russia",countryCodes:["ru"],languageCodes:["ru"],name:"OpenStreetMap RU forum",description:"OpenStreetMap Russia web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=21",contacts:[{name:"Ilya Zverev",email:"ilya@zverev.info"}]},"OSM-RU-telegram":{id:"OSM-RU-telegram",type:"telegram",featureId:"russia",countryCodes:["ru"],languageCodes:["ru"],name:"OpenStreetMap RU telegram",description:"OpenStreetMap Russia telegram chat",url:"https://t.me/ruosm",contacts:[{name:"Ilya Zverev",email:"ilya@zverev.info"}]},"OSM-LKA-facebook":{id:"OSM-LKA-facebook",featureId:"LKA",type:"facebook",name:"OpenStreetMap Sri Lanka",description:"Improve OpenStreetMap in Sri Lanka",extendedDescription:"Mapping in Sri Lanka? Have questions, want to connect with the community here? Join us at {Url}. All are welcome!",url:"https://www.facebook.com/groups/142058222659672/",contacts:[{name:"Karan Suthakaran",email:"karansuthakaran@yahoo.com"}]},"OSM-TW-facebook":{id:"OSM-TW-facebook",featureId:"taiwan",type:"facebook",name:"OpenStreetMap Taiwan Community",countryCodes:["tw"],languageCodes:["zh-tw"],description:"Facebook Group for Mappers and OpenStreetMap users to discuss matters about Taiwan.",url:"https://www.facebook.com/groups/OpenStreetMap.TW/",contacts:[{name:"Nobody 沒有人 (Public mail)",email:"hiboard@openstreetmap.tw"}]},"OSM-TW-mailinglist":{id:"OSM-TW-mailinglist",featureId:"taiwan",type:"mailinglist",name:"OpenStreetMap Taiwan Mailinglist",countryCodes:["tw"],languageCodes:["zh-tw","en"],description:"Talk-tw is an Official Mailinglist for the Communities to dicuss matters about Taiwan",url:"https://lists.openstreetmap.org/listinfo/talk-tw",contacts:[{name:"Nobody 沒有人 (Public email)",email:"hiboard@openstreetmap.tw"}]},"OSM-TH-CNX-meetup":{id:"OSM-TH-CNX-meetup",featureId:"thailand_cnx",type:"meetup",countryCodes:["th"],languageCodes:["en"],name:"OSM Meetup Chiang Mai",description:"Irregular meeting of the OpenStreetMap community in Chiang Mai",extendedDescription:"Members of the OpenStreetMap community meet every few months in Chiang Mai. Get in contact and check out {url} to see when the next meetup is scheduled",url:"https://forum.openstreetmap.org/viewforum.php?id=46",contacts:[{name:"Team Chiang Mai",email:"meetup-cnx@openstreetmap.in.th"}]},"OSM-TH-facebook":{id:"OSM-TH-facebook",featureId:"thailand_full",type:"facebook",countryCodes:["th"],languageCodes:["en","th"],name:"OpenStreetMap TH Facebook group",description:"Facebook group for OpenStreetMappers in Thailand",url:"https://www.facebook.com/groups/thaiosm/",contacts:[{name:"Theppitak Karoonboonyanan",email:"theppitak@gmail.com"}]},"OSM-TH-forum":{id:"OSM-TH-forum",featureId:"thailand_full",type:"forum",countryCodes:["th"],languageCodes:["en","th"],name:"OpenStreetMap TH forum",description:"OpenStreetMap Thailand web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=46",contacts:[{name:"Stephan Knauss",email:"osm@stephans-server.de"}]},"al-forum":{id:"al-forum",featureId:"albania",type:"forum",countryCodes:["al"],languageCodes:["sq","en"],name:"OSM Albania Forum",description:"OpenStreetMap Albania Forum",url:"https://forum.openstreetmap.org/viewforum.php?id=91",contacts:[{name:"Jonathan Beliën",email:"dev@jbelien.be"},{name:"Amanti Lulo",email:"amanti.lulo@gmail.com"}]},"al-maptime-tirana":{id:"al-maptime-tirana",featureId:"al-tirana",type:"group",countryCodes:["al"],languageCodes:["sq","en"],name:"Maptime Tirana",description:"Social events organized around mapping - beginners most welcome!",extendedDescription:"Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time.",url:"http://maptime.io/tirana/",contacts:[{name:"Jonathan Beliën",email:"dev@jbelien.be"},{name:"Amanti Lulo",email:"amanti.lulo@gmail.com"}]},"al-telegram":{id:"al-telegram",featureId:"albania",type:"telegram",countryCodes:["al"],languageCodes:["sq","en"],name:"OSM Albania Telegram channel",description:"OpenStreetMap Albania Telegram channel",url:"https://telegram.me/OpenStreetMapAL",contacts:[{name:"Jonathan Beliën",email:"dev@jbelien.be"},{name:"Amanti Lulo",email:"amanti.lulo@gmail.com"}]},"at-forum":{id:"at-forum",featureId:"austria",type:"forum",name:"OpenStreetMap Austria Forum",countryCodes:["at"],languageCodes:["en","de"],description:"The official forum for OpenStreetMap questions in and around Austria",url:"https://forum.openstreetmap.org/viewforum.php?id=89",contacts:[{name:"emga",email:"emgaosm@gmail.com"}]},"at-mailinglist":{id:"at-mailinglist",featureId:"austria",type:"mailinglist",name:"Talk-at Mailing List",countryCodes:["at"],languageCodes:["de"],description:"Talk-at is the official mailing list for the Austrian OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-at",contacts:[{name:"AT community",email:"info@openstreetmap.at"}]},"at-twitter":{id:"at-twitter",featureId:"austria",type:"twitter",name:"OpenStreetMap Austria Twitter",countryCodes:["at"],languageCodes:["de"],description:"OpenStreetMap Austria On Twitter: {url}",url:"https://twitter.com/osm_at",contacts:[{name:"AT Community",email:"info@openstreetmap.at"}]},"osmgraz-meetup":{id:"osmgraz-meetup",featureId:"graz",type:"meetup",countryCodes:["at"],languageCodes:["de","en"],name:"OSM community meetup Graz",description:"Monthly meetup of the OpenStreetMap community in Graz",url:"https://wiki.openstreetmap.org/wiki/Graz/Stammtisch",contacts:[{name:"Michael Maier",email:"michael.maier@secure.mailbox.org"}]},"osmgraz-twitter":{id:"osmgraz-twitter",featureId:"graz",type:"twitter",countryCodes:["at"],languageCodes:["de","en"],name:"OSM community Graz on twitter",description:"OpenStreetMap community in Graz on twitter",url:"https://twitter.com/osmgraz",contacts:[{name:"Michael Maier",email:"michael.maier@secure.mailbox.org"}]},"osm-at":{id:"osm-at",featureId:"austria",type:"group",countryCodes:["at"],languageCodes:["de"],name:"OpenStreetMap Austria",description:"The platform for information on OpenStreetMap in Austria",url:"https://www.openstreetmap.at/",contacts:[{name:"AT community",email:"info@openstreetmap.at"}]},byosm:{id:"byosm",type:"telegram",featureId:"belarus",languageCodes:["ru","be","en"],name:"OpenStreetMap Belarus",description:"OpenStreetMap Belarus telegram chat",url:"https://t.me/byosm",contacts:[{name:"Darafei Praliaskouski",email:"me@komzpa.net"}]},"be-facebook":{id:"be-facebook",featureId:"belgium",type:"facebook",name:"OpenStreetMap BE Community",countryCodes:["be"],languageCodes:["en","nl","fr","de"],description:"Mappers and OpenStreetMap on Facebook in Belgium",url:"https://www.facebook.com/groups/1419016881706058/",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-forum":{id:"be-forum",type:"forum",featureId:"belgium",countryCodes:["be"],languageCodes:["en","nl","fr","de"],name:"OpenStreetMap BE forum",description:"OpenStreetMap Belgium web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=29",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-irc":{id:"be-irc",featureId:"belgium",type:"irc",name:"OpenStreetMap Belgium IRC",countryCodes:["be"],languageCodes:["en","nl","fr","de"],description:"Join #osmbe on irc.oftc.net (port 6667)",extendedDescription:"Join #osmbe on irc.oftc.net (port 6667), it is bridged with the Matrix chat channel",url:"https://webchat.oftc.net/?channels=osmbe",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-mailinglist":{id:"be-mailinglist",featureId:"belgium",type:"mailinglist",name:"Talk-be Mailing List",countryCodes:["be"],languageCodes:["en","nl","fr","de"],description:"Talk-be is the official mailing list for the Belgian OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-be",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-maptime":{id:"be-maptime",featureId:"belgium",type:"group",countryCodes:["be"],languageCodes:["en","nl","fr","de"],name:"Maptime Belgium",description:"Social events organized around mapping - beginners most welcome!",extendedDescription:"Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time.",url:"http://maptime.io/belgium/",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-matrix":{id:"be-matrix",featureId:"belgium",type:"matrix",countryCodes:["be"],languageCodes:["en","nl","fr","de"],name:"OpenStreetMap BE Matrix channel",description:"All mappers are welcome!",extendedDescription:"Most talk is happening at the \"OpenStreetMap Belgium\" channel. You can ask anything there! The other rooms are for specific subjects.",url:"https://riot.im/app/#/group/+osmbe:matrix.org",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-meetup":{id:"be-meetup",featureId:"belgium",type:"meetup",countryCodes:["be"],languageCodes:["en","nl","fr","de"],name:"OpenStreetMap Belgium Meetup",description:"Real life meetups of everyone who is interested in OpenStreetMap",extendedDescription:"Physical meetups are great to meet other mappers, ask them questions and to learn a lot. Especially new contributors are very welcome!",url:"https://meetup.com/OpenStreetMap-Belgium/",contacts:[{name:"BE community",email:"community@osm.be"}]},"be-twitter":{id:"be-twitter",featureId:"belgium",type:"twitter",name:"OpenStreetMap Belgium Twitter",countryCodes:["be"],languageCodes:["en","nl","fr","de"],description:"OSM Belgium on Twitter: @osm_be",url:"https://twitter.com/osm_be",contacts:[{name:"BE community",email:"community@osm.be"}]},"czech-community":{id:"czech-community",featureId:"czechia",type:"group",name:"Czech OSM community",countryCodes:["cz"],languageCodes:["cs","sk","en"],description:"Map portal, website and contacts on OSM members in Czechia",url:"https://openstreetmap.cz/komunita",contacts:[{name:"osmcz",email:"dev@openstreetmap.cz"}]},"osmcz-facebook":{id:"osmcz-facebook",featureId:"czechia",type:"facebook",name:"OpenStreetMap CZ on Facebook",countryCodes:["cz"],languageCodes:["cs","sk","en"],description:"Follow czech community on Facebook - including translated WeeklyOSM!",url:"https://www.facebook.com/osmcz",contacts:[{name:"osmcz",email:"dev@openstreetmap.cz"}]},"osmcz-twitter":{id:"osmcz-twitter",featureId:"czechia",type:"twitter",name:"Czech twitter @osmcz",countryCodes:["cz"],languageCodes:["cs","sk","en"],description:"Follow czech community on Twitter - including translated WeeklyOSM!",url:"https://twitter.com/osmcz",contacts:[{name:"osmcz",email:"dev@openstreetmap.cz"}]},"talk-cz-mailinglist":{id:"talk-cz-mailinglist",featureId:"czechia",type:"mailinglist",name:"Czech mailing list (talk-cz)",countryCodes:["cz"],languageCodes:["cs","sk","en"],description:"Talk-cz is the official mailing list for Czech community",url:"https://openstreetmap.cz/talkcz",contacts:[{name:"osmcz",email:"dev@openstreetmap.cz"}]},"dk-forum":{id:"dk-forum",type:"forum",featureId:"denmark",countryCodes:["dk"],languageCodes:["da"],name:"OpenStreetMap Denmark Web Forum",description:"OpenStreetMap Denmark web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=48",contacts:[{name:"Talk-dk-owner",email:"talk-dk-owner@openstreetmap.org"}]},"dk-irc":{id:"dk-irc",featureId:"denmark",type:"irc",name:"OpenStreetMap Denmark IRC",countryCodes:["dk"],languageCodes:["da"],description:"Join #osm-dk on irc.oftc.net (port 6667)",url:"https://irc.openstreetmap.org/?chan=osm-dk",contacts:[{name:"Talk-dk-owner",email:"talk-dk-owner@openstreetmap.org"}]},"dk-mailinglist":{id:"dk-mailinglist",featureId:"denmark",type:"mailinglist",name:"Talk-dk Mailing List",countryCodes:["dk"],languageCodes:["da"],description:"A mailing list to discuss OpenStreetMap in Denmark",url:"https://lists.openstreetmap.org/listinfo/talk-dk",contacts:[{name:"Talk-dk-owner",email:"talk-dk-owner@openstreetmap.org"}]},"fi-forum":{id:"fi-forum",featureId:"finland",type:"forum",countryCodes:["fi"],languageCodes:["fi"],name:"OpenStreetMap FI forum",description:"OpenStreetMap Finland web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=15",contacts:[{name:"Talk-fi administrator",email:"talk-fi-owner@openstreetmap.org"}]},"fi-irc":{id:"fi-irc",featureId:"finland",type:"irc",name:"OpenStreetMap Finland IRC",countryCodes:["fi"],languageCodes:["fi"],description:"Join #osm-fi on irc.oftc.net (port 6667)",url:"https://irc.openstreetmap.org/?chan=osm-fi",contacts:[{name:"Talk-fi administrator",email:"talk-fi-owner@openstreetmap.org"}]},"fi-mailinglist":{id:"fi-mailinglist",featureId:"finland",type:"mailinglist",name:"Talk-fi Mailing List",countryCodes:["fi"],languageCodes:["fi"],description:"Talk-fi is the official mailing list for the Finnish OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-fi",contacts:[{name:"Talk-fi administrator",email:"talk-fi-owner@openstreetmap.org"}]},"fr-facebook":{id:"fr-facebook",featureId:"france",type:"facebook",name:"OpenStreetMap France Facebook page",countryCodes:["fr"],languageCodes:["fr"],description:"OpenStreetMap France Facebook page",url:"https://www.facebook.com/osmfr",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"fr-forum":{id:"fr-forum",type:"forum",featureId:"france",countryCodes:["fr"],languageCodes:["fr"],name:"OpenStreetMap France web forum",description:"OpenStreetMap France web forum",url:"https://forum.openstreetmap.fr/",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"fr-irc":{id:"fr-irc",featureId:"france",type:"irc",name:"OpenStreetMap France on IRC",countryCodes:["fr"],languageCodes:["fr"],description:"Join #osm-fr on irc.oftc.net (port 6667)",url:"https://irc.openstreetmap.org/?chan=osm-fr",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"fr-mailinglist":{id:"fr-mailinglist",featureId:"france",type:"mailinglist",name:"Talk-fr Mailing List",countryCodes:["fr"],languageCodes:["fr"],description:"Talk-fr mailing list",url:"https://lists.openstreetmap.org/listinfo/talk-fr",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"fr-twitter":{id:"fr-twitter",featureId:"france",type:"twitter",name:"OpenStreetMap France on Twitter",countryCodes:["fr"],languageCodes:["fr"],description:"OpenStreetMap France on Twitter: {url}",url:"https://twitter.com/osm_fr",contacts:[{name:"OpenStreetMap France",email:"contact@openstreetmap.fr"}]},"de-berlin-mailinglist":{id:"de-berlin-mailinglist",featureId:"de-berlin-brandenburg",type:"mailinglist",name:"Berlin Mailing List",countryCodes:["de"],languageCodes:["de"],description:"This is the mailing list for the Berlin OSM community",url:"https://lists.openstreetmap.de/listinfo/berlin",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"de-berlin-meetup":{id:"de-berlin-meetup",featureId:"de-berlin-brandenburg",type:"meetup",name:"OpenStreetMap Berlin-Brandenburg Meetup",countryCodes:["de"],languageCodes:["de"],description:"Mappers and OpenStreetMap users in the Berlin area",url:"https://www.meetup.com/OSM-Berlin-Brandenburg/",contacts:[{name:"Christopher Lorenz",email:"osm@lorenz.lu"}]},"de-berlin-telegram":{id:"de-berlin-telegram",featureId:"de-berlin-brandenburg",type:"telegram",name:"@osmberlin on Telegram",countryCodes:["de"],languageCodes:["de"],description:"OpenStreetMap Berlin Telegram chat",url:"https://t.me/osmberlin",contacts:[{name:"Christopher Lorenz",email:"osm@lorenz.lu"}]},"de-berlin-twitter":{id:"de-berlin-twitter",featureId:"de-berlin-brandenburg",type:"twitter",name:"OpenStreetMap Berlin Twitter",countryCodes:["de"],languageCodes:["de"],description:"Follow us on Twitter: {url}",url:"https://twitter.com/osmberlin",contacts:[{name:"Christopher Lorenz",email:"osm@lorenz.lu"}]},"de-forum":{id:"de-forum",featureId:"germany",type:"forum",countryCodes:["de"],languageCodes:["de"],name:"OpenStreetMap DE forum",description:"OpenStreetMap Germany web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=14",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"de-irc":{id:"de-irc",featureId:"germany",type:"irc",name:"OpenStreetMap Germany IRC",countryCodes:["de"],languageCodes:["de"],description:"Join #osm-de on irc.oftc.net (port 6667)",url:"https://irc.openstreetmap.org/?chan=osm-de",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"de-mailinglist":{id:"de-mailinglist",featureId:"germany",type:"mailinglist",name:"Talk-de Mailing List",countryCodes:["de"],languageCodes:["de"],description:"Talk-de is the official mailing list for the German OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-de",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"de-ostwestfalen-lippe-mailinglist":{id:"de-ostwestfalen-lippe-mailinglist",featureId:"de-ostwestfalen-lippe",type:"mailinglist",name:"OWL Mailing List",countryCodes:["de"],languageCodes:["de"],description:"This is the mailing list for the Ostwestfalen-Lippe OSM community",url:"https://gt.owl.de/mailman/listinfo/osm",contacts:[{name:"Florian Lohoff",email:"osm-owner@gt.owl.de"}]},"de-telegram":{id:"de-telegram",featureId:"germany",type:"telegram",name:"OpenStreetMap Germany Telegram",countryCodes:["de"],languageCodes:["de"],description:"Join the OpenStreetMap Germany Telegram supergroup at {url}",url:"https://t.me/OSM_de",contacts:[{name:"Max N",email:"abonnements@revolwear.com"}]},"osm-de":{id:"osm-de",featureId:"germany",type:"group",countryCodes:["de"],languageCodes:["de"],name:"OpenStreetMap Germany",description:"The platform for information on OpenStreetMap in Germany",url:"https://www.openstreetmap.de/",contacts:[{name:"FOSSGIS e.V.",email:"info@fossgis.de"}]},"hu-facebook":{id:"hu-facebook",featureId:"hungary",type:"facebook",name:"OpenStreetMap HU on Facebook",countryCodes:["hu"],languageCodes:["hu"],description:"Mappers and OpenStreetMap Facebook in Hungary",url:"https://www.facebook.com/groups/osm.hu/",contacts:[{name:"Ferenc Veres",email:"info@openstreetmap.hu"}]},"hu-forum":{id:"hu-forum",featureId:"hungary",type:"forum",countryCodes:["hu"],languageCodes:["hu"],name:"OpenStreetMap HU forum",description:"OpenStreetMap Hungary web forum",url:"https://groups.google.com/forum/#!forum/openstreetmap-hungary",contacts:[{name:"Ferenc Veres",email:"info@openstreetmap.hu"}]},"hu-meetup":{id:"hu-meetup",featureId:"hungary",type:"meetup",countryCodes:["hu"],languageCodes:["hu"],name:"OpenStreetMap Hungary Meetup",description:"The platform for organizing meetups in Hungary",url:"https://www.meetup.com/OpenStreetMap-Hungary",contacts:[{name:"Ferenc Veres",email:"info@openstreetmap.hu"}]},"it-facebook":{id:"it-facebook",featureId:"italy",type:"facebook",name:"OpenStreetMap Italy Facebook",countryCodes:["it"],languageCodes:["it"],description:"Join the OpenStreetMap Italy community on Facebook",url:"https://www.facebook.com/OpenStreetMap.Italia/",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"it-irc":{id:"it-irc",featureId:"italy",type:"irc",name:"OpenStreetMap Italy IRC",countryCodes:["it"],languageCodes:["it"],description:"Join #osm-it on irc.oftc.net (port 6667)",url:"https://irc.openstreetmap.org/?chan=osm-it",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"it-mailinglist":{id:"it-mailinglist",featureId:"italy",type:"mailinglist",name:"Talk-it Mailing List",countryCodes:["it"],languageCodes:["it"],description:"Talk-it is the official mailing list for the Italian OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-it",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"it-telegram":{id:"it-telegram",type:"telegram",featureId:"italy",countryCodes:["it"],languageCodes:["it"],name:"@OpenStreetMapItalia on Telegram",description:"OpenStreetMap Italy Telegram chat",url:"https://t.me/OpenStreetMapItalia",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"it-twitter":{id:"it-twitter",featureId:"italy",type:"twitter",name:"OpenStreetMap Italy Twitter",countryCodes:["it"],languageCodes:["it"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/OpenStreetMapIt",contacts:[{name:"Simone Cortesi",email:"simone@cortesi.com"},{name:"Stefano",email:"sabas88@gmail.com"},{name:"Alessandro Palmas",email:"alessandro.palmas@wikimedia.it"}]},"OSM-Rome-meetup":{id:"OSM-Rome-meetup",featureId:"IT_Roma_Capitale",type:"group",name:"Incontro Mappatori Romani",countryCodes:["it"],languageCodes:["it"],description:"Improve OpenStreetMap in the Rome area",extendedDescription:"We aim to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Lazio.",url:"https://wiki.openstreetmap.org/wiki/Rome/Incontro",contacts:[{name:"Martin Koppenhoefer",email:"dieterdreist@gmail.com"}]},"South-Tyrol-Mailing-List":{id:"South-Tyrol-Mailing-List",featureId:"south_tyrol",type:"mailinglist",countryCodes:["it"],languageCodes:["de","it","lld","en"],name:"OpenStreetMap mailing list for South Tyrol",description:"OpenStreetMap Italy regional talk list for South Tyrol",url:"https://lists.openstreetmap.org/listinfo/talk-it-southtyrol",contacts:[{name:"Martin Raifer",email:"tyr.asd@gmail.com"}]},"talk-it-lazio":{id:"talk-it-lazio",featureId:"IT_Lazio",type:"mailinglist",countryCodes:["it"],languageCodes:["it"],name:"OpenStreetMap IT Lazio",description:"All are welcome! Sign up at {signupUrl}",extendedDescription:"Mailinglist for Rome and Lazio area.",signupUrl:"https://lists.openstreetmap.org/listinfo/talk-it-lazio",url:"https://lists.openstreetmap.org/listinfo/talk-it-lazio",contacts:[{name:"Martin Koppenhoefer",email:"dieterdreist@gmail.com"}]},"Trentino-Mailing-List":{id:"Trentino-Mailing-List",featureId:"trentino",type:"mailinglist",countryCodes:["it"],languageCodes:["it"],name:"OpenStreetMap mailing list for Trentino",description:"OpenStreetMap Italy regional talk list for Trentino",url:"https://lists.openstreetmap.org/listinfo/talk-it-trentino",contacts:[{name:"Luca Delucchi",email:"lucadeluge@gmail.com"}]},"no-forum":{id:"no-forum",type:"forum",featureId:"norway",countryCodes:["no"],languageCodes:["no"],name:"OpenStreetMap Norway Web Forum",description:"OpenStreetMap Norway web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=68",contacts:[{name:"OpenStreetMap Norway",email:"kart@nuug.no"}]},"no-irc":{id:"no-irc",featureId:"norway",type:"irc",name:"OpenStreetMap Norway on IRC",countryCodes:["no"],languageCodes:["no"],description:"Chat room for mappers and OpenStreetMap users, developers and enthusiasts in Norway",contacts:[{name:"OpenStreetMap Norway",email:"kart@nuug.no"}],url:"https://webchat.oftc.net/?channels=osm-no"},"no-mailinglist":{id:"no-mailinglist",featureId:"norway",type:"mailinglist",name:"OpenStreetMap Norway mailing list",countryCodes:["no"],languageCodes:["no"],description:"Mailing list for mappers and OpenStreetMap users, developers and enthusiasts in Norway",contacts:[{name:"OpenStreetMap Norway",email:"kart@nuug.no"}],url:"https://lists.nuug.no/mailman/listinfo/kart"},"OSM-PL-facebook-group":{id:"OSM-PL-facebook-group",type:"facebook",featureId:"poland",countryCodes:["pl"],languageCodes:["pl"],name:"OpenStreetMap Poland Facebook group",description:"Group for mappers and users of OpenStreetMap in Poland",url:"https://www.facebook.com/groups/500589303317858/",contacts:[{name:"Michał Brzozowski",email:"www.haxor@gmail.com"}]},"OSM-PL-forum":{id:"OSM-PL-forum",type:"forum",featureId:"poland",countryCodes:["pl"],languageCodes:["pl","en"],name:"OpenStreetMap Poland Forum",description:"Forum of Polish OpenStreetMap community",url:"https://forum.openstreetmap.org/viewforum.php?id=23",contacts:[{name:"Daniel Koć",email:"daniel@xn--ko-wla.pl"},{name:"Ryszard Mikke",email:"ryszard.mikke@gmail.com"}]},"OSM-ES-mailinglist":{id:"OSM-ES-mailinglist",type:"mailinglist",featureId:"spain",languageCodes:["es"],name:"Talk-es mailing list",description:"A mailing list to discuss OpenStreetMap in Spain",url:"https://lists.openstreetmap.org/listinfo/talk-es",contacts:[{name:"Iván Sánchez",email:"ivansanchez@escomposlinux.org"}]},"OSM-ES-telegram":{id:"OSM-ES-telegram",type:"telegram",featureId:"spain",languageCodes:["es"],name:"@OSMes on Telegram",description:"OpenStreetMap Spain Telegram chat",url:"https://t.me/OSMes",contacts:[{name:"Jorge Sanz",email:"sanchi2@gmail.com"}]},"osm-se":{id:"osm-se",featureId:"sweden",type:"group",countryCodes:["se"],languageCodes:["sv"],name:"OpenStreetMap.se",description:"Provide OSM services and information for the local community in Sweden",url:"http://openstreetmap.se/",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-facebook":{id:"se-facebook",featureId:"sweden",type:"facebook",name:"OpenStreetMap Sweden Facebook",countryCodes:["se"],languageCodes:["sv"],description:"OpenStreetMap Sweden on Facebook",url:"https://www.facebook.com/groups/osmsweden/",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-forum":{id:"se-forum",type:"forum",featureId:"sweden",countryCodes:["se"],languageCodes:["sv"],name:"OpenStreetMap Sweden Web Forum",description:"OpenStreetMap Sweden web forum",url:"https://forum.openstreetmap.org/viewforum.php?id=4",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-irc":{id:"se-irc",featureId:"sweden",type:"irc",name:"OpenStreetMap Sweden IRC",countryCodes:["se"],languageCodes:["sv"],description:"Join #osm.se on irc.oftc.net (port 6667)",url:"https://irc.openstreetmap.org/?chan=osm.se",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-mailinglist":{id:"se-mailinglist",featureId:"sweden",type:"mailinglist",name:"Talk-se Mailing List",countryCodes:["se"],languageCodes:["sv"],description:"A mailing list to discuss OpenStreetMap in Sweden",url:"https://lists.openstreetmap.org/listinfo/talk-se",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"se-twitter":{id:"se-twitter",featureId:"sweden",type:"twitter",name:"OpenStreetMap Sweden on Twitter",countryCodes:["se"],languageCodes:["sv"],description:"Follow us on Twitter: {url}",url:"https://twitter.com/openstreetmapse",contacts:[{name:"Talk-se-owner",email:"talk-se-owner@openstreetmap.org"}]},"Nottingham-OSM-pub-meetup":{id:"Nottingham-OSM-pub-meetup",featureId:"east_midlands_uk",type:"group",name:"East Midlands (Nottingham) Monthly pub meet-up",countryCodes:["gb"],languageCodes:["en"],description:"Social gathering for East Midlands mappers and users",extendedDescription:"A group have been meeting since March 2011, initially in Nottingham, and, more recently in Derby, and from time to time elsewhere in the East Midlands. These are social gatherings, but are an excellent place to come and ask specific questions about OSM either in the area or in general. In the summer months we usually do some light mapping for an hour in the vicinity of our meeting place. The group as a whole has a special interest in mapping public rights of way and from time to time has mapping meetings for this purpose.",url:"https://wiki.openstreetmap.org/wiki/Nottingham/Pub-meetup",contacts:[{name:"Jerry Clough",email:"SK53.osm@gmail.com"}]},"gb-mailinglist":{id:"gb-mailinglist",featureId:"united_kingdom",type:"mailinglist",name:"Talk-gb Mailing List",countryCodes:["gb"],languageCodes:["en","cy"],description:"Talk-gb is the main communication forum list for the British (including Northern Ireland) OSM community",url:"https://lists.openstreetmap.org/listinfo/talk-gb",contacts:[{name:"UK mailing list",email:"talk-gb-owner@lists.openstreetmap.org"}]},"mappa-mercia-group":{id:"mappa-mercia-group",featureId:"england-west-midlands",type:"group",countryCodes:["gb"],languageCodes:["en"],name:"Mappa Mercia local group",description:"A home for OpenStreetMap enthusiasts in the Midlands",extendedDescription:"Mappa Mercia is a project to grow OpenStreetMap in the West Midlands, UK. We run community events, provide training and support local organisations wishing to open up their data.",url:"http://www.mappa-mercia.org/",contacts:[{name:"Brian Prangle",email:"community@mappa-mercia.org"}]},"gb-irc":{id:"gb-irc",featureId:"united_kingdom",type:"irc",name:"OpenStreetMap United Kingdom IRC",countryCodes:["gb"],languageCodes:["en","cy"],description:"Join #osm-gb on irc.oftc.net (port 6667)",extendedDescription:"Join #osm-gb on irc.oftc.net (port 6667), please be patient and wait for a few minutes if you ask a question",url:"https://irc.openstreetmap.org/?chan=osm-gb",contacts:[{name:"UK mailing list",email:"talk-gb-owner@lists.openstreetmap.org"}]},"OSM-CA-Slack":{id:"OSM-CA-Slack",featureId:"canada_full",type:"slack",countryCodes:["ca"],languageCodes:["en","fr"],name:"OSM-CA Slack",description:"All are welcome! Sign up at {signupUrl}.",signupUrl:"https://slackinviteosmcanada.herokuapp.com/",url:"https://osm-ca.slack.com/",contacts:[{name:"Denis Carriere",email:"carriere.denis@gmail.com"}]},"OSM-Vancouver-meetup":{id:"OSM-Vancouver-meetup",featureId:"vancouver_metro",type:"meetup",name:"OpenStreetMap Vancouver",countryCodes:["ca"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Vancouver, BC area",url:"https://www.meetup.com/OpenStreetMap-Vancouver/",contacts:[{name:"Paul Norman",email:"penorman@mac.com"},{name:"Peter Chin",email:"bpchin@gmail.com"}],events:[{name:"April Metrotown Mappy Hour",description:"Mappy Hour is the time and place for discussion of OpenStreetMap, from surveying data to consuming data. Beginners welcome. Bring your questions.",when:"2018-04-27 18:30",where:"Firefighters' Public House, 6515 Bonsor Avenue, Burnaby, BC",url:"https://www.meetup.com/OpenStreetMap-Vancouver/events/qzsbsmyxgbkc/"}]},"OSM-CU-telegram":{id:"OSM-CU-telegram",type:"telegram",featureId:"cuba",countryCodes:["cu"],languageCodes:["es"],name:"OSM Cuba on Telegram",description:"OpenStreetMap Cuba Telegram chat",url:"https://telegram.me/OSM_Cuba",contacts:[{name:"Talk-cu Owner",email:"talk-cu-owner@openstreetmap.org"}]},"OSM-NI-telegram":{id:"OSM-NI-telegram",type:"telegram",featureId:"nicaragua",countryCodes:["ni"],languageCodes:["es"],name:"OSM Nicaragua on Telegram",description:"OpenStreetMap Nicaragua Telegram chat",url:"https://telegram.me/MapaNica",contacts:[{name:"Talk-ni Owner",email:"talk-ni-owner@openstreetmap.org"}]},"Bay-Area-OpenStreetMappers":{id:"Bay-Area-OpenStreetMappers",featureId:"sf_bay_area",type:"meetup",name:"Bay Area OpenStreetMappers",countryCodes:["us"],languageCodes:["en"],description:"Improve OpenStreetMap in the Bay Area",extendedDescription:"This group is about growing the OpenStreetMap community here in the Bay Area. Our events are open to everyone, from open source enthusiasts, cyclists, GIS professionals, geocachers, and beyond. Anyone and everyone who is interested in maps, map making and free map data is welcome to join our group as well as attend our events.",url:"https://www.meetup.com/Bay-Area-OpenStreetMappers/",contacts:[{name:"Ben Discoe",email:"bdiscoe@gmail.com"}]},"Central-Pennsylvania-OSM":{id:"Central-Pennsylvania-OSM",featureId:"central_pa",type:"facebook",name:"Central Pennsylvania OSM",countryCodes:["us"],languageCodes:["en"],description:"Online mapping community based out of State College, PA",url:"https://www.facebook.com/CentralPennsylvaniaOSM",contacts:[{name:"Sterling Quinn",email:"sdq107@psu.edu"}]},"Code-for-San-Jose-Slack":{id:"Code-for-San-Jose-Slack",featureId:"south_sf_bay_area",type:"slack",countryCodes:["us"],languageCodes:["en"],name:"Code for San Jose Slack",description:"All are welcome! Sign up at {signupUrl}, then join the #osm channel.",signupUrl:"https://slackin-c4sj.herokuapp.com/",url:"https://codeforsanjose.slack.com/",contacts:[{name:"OSM Bay Area mailing list",email:"talk-us-sfbay@openstreetmap.org"}]},"Dallas-Fort-Worth-OSM":{id:"Dallas-Fort-Worth-OSM",featureId:"dfw_metro",type:"group",name:"Dallas-Fort Worth OSM",countryCodes:["us"],languageCodes:["en"],description:"The OpenStreetMap user group for Dallas-Fort Worth",extendedDescription:"Dallas, Fort Worth, and all the cities in between are abounding with creative and tech-savvy people. The vision for this usergroup is to find new ways to use the amazing resource of OSM.",url:"http://dfwosm.org/",contacts:[{name:"Andrew Matheny",email:"andrewdmatheny@gmail.com"}]},GeoPhilly:{id:"GeoPhilly",featureId:"philly_metro",type:"meetup",name:"GeoPhilly",countryCodes:["us"],languageCodes:["en"],description:"Meetup for map enthusiasts in the Philadelphia area",extendedDescription:"GeoPhilly unites developers, geographers, data geeks, open source enthusiasts, civic hackers and map addicts in our shared love of maps and the stories they tell. If you use maps as part of your work or just want to learn more, this is the meetup for you! Our events aim to be open, friendly, educational and social and range from happy hours to lightning talks or even workshops. Come create a diverse, inspiring geospatial community in the Philadelphia with us!",url:"https://www.meetup.com/GeoPhilly/",contacts:[{name:"Dan Ford",email:"dford@azavea.com"}]},MapMinnesota:{id:"MapMinnesota",featureId:"minneapolis_st_paul_metro",type:"meetup",name:"MapMinnesota",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap enthusiasts in the Twin Cities area",extendedDescription:"Connecting OpenStreetMap enthusiasts in Minnesota and the Twin Cities!",url:"https://www.meetup.com/Map-Minnesota/",contacts:[{name:"Ian Dees",email:"ian.dees@gmail.com"}]},"Mapping-DC-meetup":{id:"Mapping-DC-meetup",featureId:"dc_metro",type:"meetup",name:"Mapping DC",countryCodes:["us"],languageCodes:["en"],description:"Improve OpenStreetMap in the DC area",extendedDescription:"We are a group of volunteer mappers who aim to improve the OpenStreetMap in the DC area. We also aim to teach others about the OSM ecosystem, data analytics, cartography, and GIS. We gather every other month at meetups to focus on one area of our city.",url:"https://mappingdc.org/",contacts:[{name:"Brian DeRocher",email:"brian@derocher.org"}],events:[{name:"April Meetup",description:"Meets every other month on the 2nd Tuesday",when:"2018-04-10 18:00",where:"Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC",url:"https://www.meetup.com/MappingDC/events/qqvnvhyxgbnb/"},{name:"June Meetup",description:"Meets every other month on the 2nd Tuesday",when:"2018-06-12 18:00",where:"Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC",url:"https://www.meetup.com/MappingDC/events/qqvnvhyxjbqb/"},{name:"August Meetup",description:"Meets every other month on the 2nd Tuesday",when:"2018-08-14 18:00",where:"Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC",url:"https://www.meetup.com/MappingDC/events/qqvnvhyxlbsb/"},{name:"October Meetup",description:"Meets every other month on the 2nd Tuesday",when:"2018-10-09 18:00",where:"Capitol City Brewing Company, 1100 New York Ave NW, Washington, DC",url:"https://www.meetup.com/MappingDC/events/qqvnvhyxnbmb/"}]},"Maptime-ME-meetup":{id:"Maptime-ME-meetup",featureId:"portland_me",type:"meetup",name:"MaptimeME",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users, around Portland, ME",extendedDescription:"Maptime is, rather literally, time for mapmaking. Our mission is to open the doors of cartographic possibility to anyone interested by creating a time and space for collaborative learning, exploration, and map creation using mapping tools and technologies.",url:"https://www.meetup.com/MaptimeME/",contacts:[{name:"Malcolm Toon",email:"malcolm@foreflight.com"}]},"OpenCleveland-meetup":{id:"OpenCleveland-meetup",featureId:"cleveland",type:"meetup",name:"Open Cleveland",countryCodes:["us"],languageCodes:["en"],description:"Improve OpenStreetMap in the Cleveland area",extendedDescription:"Open Geo Cleveland aims to be a resource for people to discuss and share knowledge on utilizing free geographic data sets especially OpenStreetMap, and Open geo-spatial software that manages, edits, and displays geographic data, and advocate for its use in Northeast Ohio. We're also a maptime chapter =)",url:"https://www.meetup.com/open-cleveland/",contacts:[{name:"Will Skora",email:"skorasaurus@gmail.com"},{name:"Anastasia Diamond-Ortiz",email:"anastasia.diamond@gmail.com"}],events:[{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-04-18 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxgbxb/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-04-25 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxgbhc/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-02 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbdb/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-09 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbmb/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-16 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbvb/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-23 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbfc/"},{name:"Wednesday Meetup / Hack Night",description:"Meets weekly - programming experience is not necessary!",when:"2018-05-30 18:00",where:"The Tech Hive, 6815 Euclid Ave, Cleveland, OH",url:"https://www.meetup.com/open-cleveland/events/lcjdnpyxhbnc/"}]},"OSM-Boston":{id:"OSM-Boston",featureId:"boston_metro",type:"meetup",name:"OpenStreetMap Boston",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Boston area",extendedDescription:"OpenStreetMap is the free and open, wiki-style map of the world, with hundreds of thousands of contributions every day from people like you. Editing the map is simple, and fun! Join us both indoors and outdoors in our effort to create the best map of the Boston area and the rest of the world!",url:"https://www.meetup.com/OpenStreetMap-Boston/",contacts:[{name:"Lars Ahlzen",email:"lars@ahlzen.com"}]},"OSM-Central-Salish-Sea":{id:"OSM-Central-Salish-Sea",featureId:"mt_vernon_wa",type:"meetup",name:"OpenStreetMap Central Salish Sea",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users around Mount Vernon, WA",extendedDescription:"OpenStreetMap is an map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more. We meet all the time to talk maps, make maps and have fun!",url:"https://www.meetup.com/OpenStreetMap-Central-Salish-Sea/",contacts:[{name:"Clifford Snow",email:"clifford@snowandsnow.us"}]},"OSM-Chattanooga":{id:"OSM-Chattanooga",featureId:"chattanooga",type:"facebook",name:"OSM Chattanooga",countryCodes:["us"],languageCodes:["en"],description:"The OpenStreetMap user group for Chattanooga",url:"https://www.facebook.com/groups/123483951073256",contacts:[{name:"Jenny Park",email:"tennessee@tpl.org"},{name:"Randal Hale",email:"rjhale@northrivergeographic.com"}]},"OSM-Colorado":{id:"OSM-Colorado",featureId:"colorado",type:"meetup",name:"OpenStreetMap Colorado",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the state of Colorado, USA",extendedDescription:"OpenStreetMap (OSM) Colorado is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties.",url:"https://www.meetup.com/OSM-Colorado/",contacts:[{name:"Russell Deffner",email:"russdeffner@gmail.com"}]},"OSM-NYC":{id:"OSM-NYC",featureId:"nyc_metro",type:"meetup",name:"OpenStreetMap NYC",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users, developers and enthusiasts in the New York Metropolitan area",url:"https://www.meetup.com/osm-nyc/",contacts:[{name:"Jeff Ferzoco",email:"jferzoco@carto.com"}]},"OSM-Portland":{id:"OSM-Portland",featureId:"portland_or",type:"meetup",name:"OpenStreetMap Portland",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Portland area",extendedDescription:"OpenStreetMap (OSM) is a map of the world made by people like you. It's a map that you build, that's given away for free like wikipedia. Check out osm.org for more, and come join us at a meetup to talk maps, contribute to OSM, and have fun!",url:"https://www.meetup.com/OpenStreetMap-Portland/",contacts:[{name:"Madeline Steele",email:"madeline.steele@gmail.com"}]},"OSM-Seattle":{id:"OSM-Seattle",featureId:"seattle",type:"meetup",name:"OpenStreetMap Seattle",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Seattle area",url:"https://www.meetup.com/OpenStreetMap-Seattle/",contacts:[{name:"Clifford Snow",email:"clifford@snowandsnow.us"},{name:"Chase Stephens",email:"seattlefyi@gmail.com"},{name:"Paul McCombs",email:"pablo@imperium.org"}]},"OSM-SoCal":{id:"OSM-SoCal",featureId:"la_metro",type:"meetup",name:"OpenStreetMap Southern California",countryCodes:["us"],languageCodes:["en"],description:"Let's have some fun, contribute something to Los Angeles, and learn about mapping!",extendedDescription:"OpenStreetMap (OSM) Southern California is for anyone interested in mapping to get together to work with OpenStreetMap. OpenStreetMap, the Wikipedia of maps, is a free open-source map of the world being created by more than 1,000,000 volunteers around the globe. Everyone is welcome. If you don't know OpenStreetMap, we'll teach you. If you have an idea for a mapping project or even a field trip that the group can do, great!",url:"https://www.meetup.com/OSM-Southern-California/",contacts:[{name:"Charlotte Wolter",email:"techlady@techlady.com"}]},"OSM-South-Bay":{id:"OSM-South-Bay",featureId:"south_sf_bay_area",type:"meetup",name:"OSM South Bay",countryCodes:["us"],languageCodes:["en"],description:"Map Nights hosted by Code for San Jose",extendedDescription:"Code for San Jose, the local Code for America brigade, hosts monthly Map Nights on Thursday nights in downtown San José. Meet fellow South Bay mappers, help out with local mapping projects, and hear about other civic tech projects. Programming and GIS skills are not required.",url:"https://www.meetup.com/Code-for-San-Jose/",contacts:[{name:"OSM Bay Area mailing list",email:"talk-us-sfbay@openstreetmap.org"}]},"OSM-Tampa-Bay":{id:"OSM-Tampa-Bay",featureId:"tampa_bay",type:"meetup",name:"OpenStreetMap Tampa Bay",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Tampa Bay area",extendedDescription:"OSM Tampa Bay group for local residents to get together and build out the definitive map of Tampa Bay with OpenStreetMap, the free and editable map of the world. If you're into maps, data, open source, GPS, hiking, cycling, et cetera, you'll love working with OpenStreetMap -- so join in! We'll get together and map and talk about new topics once-a-month or so.",url:"https://www.meetup.com/osmtampabay/",contacts:[{name:"Coleman McCormick",email:"cmccormick@gmail.com"}]},"OSM-US-Slack":{id:"OSM-US-Slack",featureId:"usa_full",type:"slack",countryCodes:["us"],languageCodes:["en"],name:"OpenStreetMap US Slack",description:"All are welcome! Sign up at {signupUrl}",signupUrl:"https://osmus-slack.herokuapp.com/",url:"https://osmus.slack.com",contacts:[{name:"Ian Dees",email:"ian@openstreetmap.us"},{name:"Clifford Snow",email:"clifford@snowandsnow.us"}]},"OSM-US":{id:"OSM-US",featureId:"usa_full",type:"group",countryCodes:["us"],languageCodes:["en"],name:"OpenStreetMap US",description:"We help grow and improve OpenStreetMap in the United States.",extendedDescription:"We support OpenStreetMap by holding annual conferences, providing community resources, building partnerships, and by spreading the word. Join OpenStreetMap US here: {signupUrl}",signupUrl:"https://www.openstreetmap.us/join",url:"https://www.openstreetmap.us/",contacts:[{name:"Ian Dees",email:"ian@openstreetmap.us"},{name:"Bryan Housel",email:"bryan@openstreetmap.us"}]},"OSM-Utah":{id:"OSM-Utah",featureId:"salt_lake_city",type:"meetup",name:"OpenStreetMap Utah",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Salt Lake City area",extendedDescription:"Activities may include things like Learn To Map workshops, mapping parties and outdoor data collection. The events will take place in the SLC area, at least initially. We are looking for seasoned mappers as well as people new to OSM. Join and let's do some mapping!",url:"https://www.meetup.com/OpenStreetMap-Utah/",contacts:[{name:"Martijn van Exel",email:"m@rtijn.org"}]},"OSM-Wyoming":{id:"OSM-Wyoming",featureId:"wyoming",type:"meetup",name:"OpenStreetMap Wyoming",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the state of Wyoming",extendedDescription:"OpenStreetMap (OSM) Wyoming is a local collaboration of people interested in contributing their efforts to create free maps. We encourage all of our mappers to organize or suggest mapping events throughout the state. Meetup activities can be simple social mixers, OSM basic to advanced training, or community mapping parties.",url:"https://www.meetup.com/OSM-Wyoming/",contacts:[{name:"Russell Deffner",email:"russdeffner@gmail.com"}]},"PHXGeo-meetup":{id:"PHXGeo-meetup",featureId:"phoenix",type:"meetup",name:"PHXGeo Meetup",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users in the Phoenix, AZ area",extendedDescription:"This is a meetup group for those in the Phoenix area who like maps, GIS, OpenStreetMap, cartography and anything in between.",url:"https://www.meetup.com/PHXGeo/",contacts:[{name:"Ryan Arp",email:"ryan@arpconsultinggroup.com"}]},"PHXGeo-twitter":{id:"PHXGeo-twitter",featureId:"phoenix",type:"twitter",name:"PHXGeo Twitter",countryCodes:["us"],languageCodes:["en"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/phxgeo",contacts:[{name:"Ryan Arp",email:"ryan@arpconsultinggroup.com"}]},"Western-Slope-facebook":{id:"Western-Slope-facebook",featureId:"grand_junction_co",type:"facebook",name:"Western Slope OSM Facebook",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users around Grand Junction, CO",url:"https://www.facebook.com/wsosm/",contacts:[{name:"Aaron Young",email:"aaron@kaartgroup.com"}]},"Western-Slope-meetup":{id:"Western-Slope-meetup",featureId:"grand_junction_co",type:"meetup",name:"Western Slope OSM Meetup",countryCodes:["us"],languageCodes:["en"],description:"Mappers and OpenStreetMap users around Grand Junction, CO",extendedDescription:"The goal of this group is to introduce OpenStreetMap to the community, develop a community of mappers, create the most amazing geodata possible using whatever method we can and finally strategize in order to get this data out into our community. Imagine accurate trail signage! Imagine further development of bike paths! Imagine anything you want, that's the joy of OpenStreetMap!",url:"https://www.meetup.com/Western-Slope-OpenStreetMap/",contacts:[{name:"Aaron Young",email:"aaron@kaartgroup.com"}]},"Maptime-Australia-Slack":{id:"Maptime-Australia-Slack",featureId:"australia_full",type:"slack",countryCodes:["au"],languageCodes:["en"],name:"Maptime Australia Slack",description:"Sign up at {signupUrl}",signupUrl:"https://bit.ly/maptimeau",url:"https://maptimeaustralia.slack.com",contacts:[{name:"David Dean",email:"ddean@ieee.org"},{name:"Philip Mallis",email:"philip.mallis@unimelb.edu.au"},{name:"Edoardo Neerhut",email:"ed@mapillary.com"}]},"talk-au":{id:"talk-au",featureId:"australia_full",type:"mailinglist",countryCodes:["au"],languageCodes:["en"],name:"Talk-au Mailing List",description:"Place for Aussie mappers to chat",url:"https://lists.openstreetmap.org/listinfo/talk-au",contacts:[{name:"Ben Kelley",email:"ben.kelley@gmail.com"},{name:"Steve Bennett",email:"stevagewp@gmail.com"},{name:"Ian Sergeant",email:"inas66+osm@gmail.com"}]},"OSM-AR-facebook":{id:"OSM-AR-facebook",featureId:"argentina",type:"facebook",name:"OpenStreetMap Argentina Facebook",countryCodes:["ar"],languageCodes:["es"],description:"Join the OpenStreetMap Argentina community on Facebook",extendedDescription:"News from the local community",url:"https://www.facebook.com/OpenStreetMapArgentina/",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-forum":{id:"OSM-AR-forum",featureId:"argentina",type:"forum",name:"OpenStreetMap Argentina web forum",countryCodes:["ar"],languageCodes:["es"],description:"Join the OpenStreetMap Argentina web forum",extendedDescription:"Ideal for long or important discussions. Slow response time.",url:"https://forum.openstreetmap.org/viewforum.php?id=49",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-irc":{id:"OSM-AR-irc",featureId:"argentina",type:"irc",name:"OpenStreetMap Argentina IRC",countryCodes:["ar"],languageCodes:["es"],description:"Join #osm-ar on irc.oftc.net (port 6667)",extendedDescription:"You may find the most geeky user in the community.",url:"https://irc.openstreetmap.org/?chan=osm-ar",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-mailinglist":{id:"OSM-AR-mailinglist",featureId:"argentina",type:"mailinglist",name:"Talk-ar Mailing List",countryCodes:["ar"],languageCodes:["es"],description:"Historic mailing list. Almost unused today.",url:"https://lists.openstreetmap.org/pipermail/talk-ar/",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-telegram":{id:"OSM-AR-telegram",featureId:"argentina",type:"telegram",name:"OpenStreetMap Argentina Telegram",countryCodes:["ar"],languageCodes:["es"],description:"Join the OpenStreetMap Argentina community on Telegram",extendedDescription:"The most active channel in the community, ideal for chatting and getting answers to your questions instantly. Everyone is welcome!",url:"https://telegram.me/osm_ar",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-AR-twitter":{id:"OSM-AR-twitter",featureId:"argentina",type:"twitter",name:"OpenStreetMap Argentina Twitter",countryCodes:["ar"],languageCodes:["es"],description:"Follow us on Twitter at {url}",extendedDescription:"News from the local community and OpenStreetMap in general.",url:"https://twitter.com/OpenStreetMapAr",contacts:[{name:"OpenStreetMap Argentina",email:"openstreetmap.org.ar@gmail.com"}]},"OSM-BO-mailinglist":{id:"OSM-BO-mailinglist",featureId:"bolivia",type:"mailinglist",name:"Talk-bo Mailing List",countryCodes:["bo"],languageCodes:["es"],description:"Talk-bo is the official mailing list for the Bolivian OpenStreetMap community",extendedDescription:"Mapping in Bolivia? Have questions, want to connect with the community here? Join us at {url}. All are welcome!",url:"https://lists.openstreetmap.org/pipermail/talk-bo/",contacts:[{name:"Marco Antonio",email:"marcoantoniofrias@gmail.com"}]},"Bahia-telegram":{id:"Bahia-telegram",featureId:"bahia",type:"telegram",name:"OpenStreetMap Bahia Telegram Group",countryCodes:["br"],languageCodes:["pt"],description:"Join the OpenStreetMap Bahia community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/OSMBA",contacts:[{name:"Wille Marcel",email:"wille@wille.blog.br"}]},"DF-telegram":{id:"DF-telegram",featureId:"df_br",type:"telegram",name:"OpenStreetMap Brasília Telegram Group",countryCodes:["br"],languageCodes:["pt"],description:"Join the OpenStreetMap Brasília community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/osmbsb",contacts:[{name:"Wille Marcel",email:"wille@wille.blog.br"}]},"OSM-br-mailinglist":{id:"OSM-br-mailinglist",featureId:"brazil",type:"mailinglist",name:"Talk-br Mailing List",countryCodes:["br"],languageCodes:["pt"],description:"A mailing list to discuss OpenStreetMap in Brazil",url:"https://lists.openstreetmap.org/pipermail/talk-br/",contacts:[{name:"Arlindo Pereira",email:"nighto@gmail.com"}]},"OSM-br-telegram":{id:"OSM-br-telegram",featureId:"brazil",type:"telegram",name:"OpenStreetMap Brasil Telegram",countryCodes:["br"],languageCodes:["pt"],description:"Join the OpenStreetMap Brasil community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/OSMBrasil_Comunidade",contacts:[{name:"Vitor George",email:"vitor.george@gmail.com"}],events:[{id:"webinar_mundogeo",name:"Webinar: OpenStreetMap em Prefeituras e Empresas",description:"Participe do webinar sobre como utilizar o OpenStreeMap em prefeituras e empresas.",where:"Online",when:"2018-05-02 14:30",url:"http://mundogeo.com/webinar/webinar.html"},{id:"mundogeo",name:"Painel OpenStreetMap no MundoGeo #connect",description:"Participe do painel sobre o OpenStreetMap no MundoGeo #connect.",where:"São Paulo, SP, Brasil",when:"2018-05-16 11:00",url:"http://mundogeoconnect.com/2018/atividades-especiais/"}]},"OSM-br-twitter":{id:"OSM-br-twitter",featureId:"brazil",type:"twitter",name:"OpenStreetMap Brasil Twitter",countryCodes:["br"],languageCodes:["pt"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/OpenStreetMapBR",contacts:[{name:"Wille Marcel",email:"wille@wille.blog.br"}]},"OSM-CL-facebook":{id:"OSM-CL-facebook",featureId:"chile",type:"facebook",name:"OpenStreetMap Chile Facebook",countryCodes:["cl"],languageCodes:["es"],description:"Join the OpenStreetMap Chile community on Facebook",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://www.facebook.com/OpenStreetMap-Chile-145127198882915/",contacts:[{name:"Julio Costa",email:"julio.costa@openstreetmap.cl"}]},"OSM-CL-mailinglist":{id:"OSM-CL-mailinglist",featureId:"chile",type:"mailinglist",name:"Talk-cl Mailing List",countryCodes:["cl"],languageCodes:["es"],description:"A mailing list to discuss OpenStreetMap in Chile",url:"https://lists.openstreetmap.org/pipermail/talk-cl/",contacts:[{name:"Julio Costa",email:"julio.costa@openstreetmap.cl"}]},"OSM-CL-telegram":{id:"OSM-CL-telegram",featureId:"chile",type:"telegram",name:"OpenStreetMap Chile Telegram",countryCodes:["cl"],languageCodes:["es"],description:"Join the OpenStreetMap Chile community on Telegram",extendedDescription:"Join the community to learn more about OpenStreetMap, ask questions or participate in our meetings. Everyone is welcome!",url:"https://t.me/OSMcl",contacts:[{name:"Julio Costa",email:"julio.costa@openstreetmap.cl"}]},"OSM-CL-twitter":{id:"OSM-CL-twitter",featureId:"chile",type:"twitter",name:"OpenStreetMap Chile Twitter",countryCodes:["cl"],languageCodes:["es"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/osmCL",contacts:[{name:"Julio Costa",email:"julio.costa@openstreetmap.cl"}]},"Maptime-Bogota":{id:"Maptime-Bogota",featureId:"bogota",type:"meetup",name:"Maptime Bogotá",countryCodes:["co"],languageCodes:["es"],description:"We're a group of mappers interested in mapping in OpenStreetMap around Bogotá.",extendedDescription:"Learn to collect data in the field and digitize onto OpenStreetMap. It is not necessary to have previous knowledge! You just need the desire to participate, learn, and have fun.",url:"https://www.meetup.com/Maptime-Colombia-OSM/",contacts:[{name:"Andrés Gómez Casanova",email:"angoca@gmail.com"}]},"OSM-CO-facebook":{id:"OSM-CO-facebook",featureId:"colombia",type:"facebook",name:"OpenStreetMap Colombia Facebook",countryCodes:["co"],languageCodes:["es"],description:"Join the OpenStreetMap Colombia community on Facebook",extendedDescription:"Join the community to learn more about OpenStreetMap. Everyone is welcome!",url:"https://www.facebook.com/groups/OsmCol/",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-CO-mailinglist":{id:"OSM-CO-mailinglist",featureId:"colombia",type:"mailinglist",name:"Talk-co Mailing List",countryCodes:["co"],languageCodes:["es"],description:"A mailing list to discuss OpenStreetMap in Colombia",url:"https://lists.openstreetmap.org/pipermail/talk-co/",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-CO-telegram":{id:"OSM-CO-telegram",type:"telegram",featureId:"colombia",countryCodes:["co"],languageCodes:["es"],name:"OSM Colombia on Telegram",description:"OpenStreetMap Colombia Telegram chat",url:"https://telegram.me/osmco",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-CO-twitter":{id:"OSM-CO-twitter",featureId:"colombia",type:"twitter",name:"OpenStreetMap Colombia Twitter",countryCodes:["co"],languageCodes:["es"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/OpenStreetMapCo",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-CO":{id:"OSM-CO",featureId:"colombia",type:"group",countryCodes:["co"],languageCodes:["es"],name:"OpenStreetMap Colombia",description:"News of the OpenStreetMap Colombia community and the OSMCo Foundation",url:"https://blog.openstreetmap.co/s657",contacts:[{name:"Fredy Rivera",email:"fredyrivera@gmail.com"}]},"OSM-EC-telegram":{id:"OSM-EC-telegram",type:"telegram",featureId:"ecuador",languageCodes:["es"],countryCodes:["ec"],name:"OSM Ecuador on Telegram",description:"OpenStreetMap Ecuador Telegram chat",url:"https://telegram.me/MappingEcuador",contacts:[{name:"Talk-ec Owner",email:"talk-ec-owner@openstreetmap.org"}]},"OSM-PY-telegram":{id:"OSM-PY-telegram",type:"telegram",featureId:"paraguay",languageCodes:["es"],countryCodes:["py"],name:"OSM Paraguay on Telegram",description:"OpenStreetMap Paraguay Telegram chat",url:"https://telegram.me/osm_py",contacts:[{name:"Talk-py Owner",email:"talk-py-owner@openstreetmap.org"}]},"OSM-PE-facebook":{id:"OSM-PE-facebook",featureId:"peru",type:"facebook",name:"OpenStreetMap Peru Facebook",countryCodes:["pe"],languageCodes:["es"],description:"Join the OpenStreetMap Peru community on Facebook",url:"https://www.facebook.com/Osmpe",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE-mailinglist":{id:"OSM-PE-mailinglist",featureId:"peru",type:"mailinglist",name:"Talk-pe Mailing List",countryCodes:["pe"],languageCodes:["es"],description:"The official mailing list for the OpenStreetMap Peru community",url:"https://lists.openstreetmap.org/pipermail/talk-pe/",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE-matrix":{id:"OSM-PE-matrix",featureId:"peru",type:"matrix",name:"OpenStreetMap Peru Matrix Chat",countryCodes:["pe"],languageCodes:["es"],description:"Chat with other members of the OpenStreetMap Peru community in Matrix.",url:"https://matrix.to/#/#osmpe:matrix.org",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE-telegram":{id:"OSM-PE-telegram",featureId:"peru",type:"telegram",name:"OpenStreetMap Peru Telegram",countryCodes:["pe"],languageCodes:["es"],description:"Join the OpenStreetMap Peru community on Telegram",url:"https://telegram.me/osmPe",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE-twitter":{id:"OSM-PE-twitter",featureId:"peru",type:"twitter",name:"OpenStreetMap Peru Twitter",countryCodes:["pe"],languageCodes:["es"],description:"Follow us on Twitter at {url}",url:"https://twitter.com/osmpe",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-PE":{id:"OSM-PE",featureId:"peru",type:"group",name:"OpenStreetMap Peru",countryCodes:["ar"],languageCodes:["es"],description:"News and resources for the OpenStreetMap Peru community",url:"http://osmpe.ourproject.org/",contacts:[{name:"Diego Sangunietti",email:"diego.sanguinetti@hotmail.com"},{name:"Ruben Lopez M.",email:"rub2106@gmail.com"}]},"OSM-Facebook":{id:"OSM-Facebook",type:"facebook",languageCodes:["en"],name:"OpenStreetMap on Facebook",description:"Like us on Facebook for news and updates about OpenStreetMap.",url:"https://www.facebook.com/OpenStreetMap",contacts:[{name:"Harry Wood",email:"mail@harrywood.co.uk"}]},"OSM-help":{id:"OSM-help",type:"forum",languageCodes:["en"],name:"OpenStreetMap Help",description:"Ask a question and get answers on OSM's community-driven question and answer site.",extendedDescription:"{url} is for everyone who needs help with OpenStreetMap. Whether you are a beginner mapper or have a technical question, we're here to help!",url:"https://help.openstreetmap.org/",contacts:[{name:"OSMF Operations",email:"operations@osmfoundation.org"}]},"OSM-Reddit":{id:"OSM-Reddit",type:"reddit",languageCodes:["en"],name:"OpenStreetMap on Reddit",description:"/r/openstreetmap/ is a great place to learn more about OpenStreetMap. Ask us anything!",url:"https://www.reddit.com/r/openstreetmap/",contacts:[{name:"Serge Wroclawski",email:"emacsen@gmail.com"}]},"OSM-Telegram":{id:"OSM-Telegram",type:"telegram",languageCodes:["en"],name:"OpenStreetMap Telegram",description:"Join the OpenStreetMap Telegram global supergroup at {url}",url:"https://t.me/OpenStreetMapOrg",contacts:[{name:"Max N",email:"abonnements@revolwear.com"}]},"OSM-Twitter":{id:"OSM-Twitter",type:"twitter",languageCodes:["en"],name:"OpenStreetMap Twitter",description:"Follow us on Twitter at {url}",url:"https://twitter.com/openstreetmap",contacts:[{name:"Harry Wood",email:"mail@harrywood.co.uk"}]},OSMF:{id:"OSMF",type:"group",languageCodes:["en","nl","fr","it","jp","ru"],name:"OpenStreetMap Foundation",description:"OSMF is a UK-based not-for-profit that supports the OpenStreetMap Project",extendedDescription:"OSMF supports the OpenStreetMap by fundraising, maintaining the servers which power OSM, organizing the annual State of the Map conference, and coordinating the volunteers who keep OSM running. You can show your support and have a voice in the direction of OpenStreetMap by joining as an OSMF member here: {signupUrl}",url:"https://wiki.osmfoundation.org/wiki/Main_Page",signupUrl:"https://join.osmfoundation.org/",contacts:[{name:"OSMF Board",email:"board@osmfoundation.org"}],events:[{id:"sotm2018",i18n:true,name:"State of the Map 2018",description:"Join us for 3 days in Milan, Italy for the annual worldwide OpenStreetMap conference, bringing together everyone in the community to socialize, share, and learn.",where:"Milan, Italy",when:"2018-jul-28",url:"https://2018.stateofthemap.org/"}]}}; + + var dataImagery = [{id:"sjcgis.org-Aerials_2013_WM",name:"2013 aerial imagery for San Juan County WA",type:"tms",template:"https://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2013_WM/MapServer/tile/{zoom}/{y}/{x}",endDate:"2013-06-01T00:00:00.000Z",startDate:"2013-05-01T00:00:00.000Z",scaleExtent:[0,19],polygon:[[[-123.02167,48.44667],[-122.94666,48.44781],[-122.90151,48.41307],[-122.80263,48.40771],[-122.79199,48.4428],[-122.80881,48.47866],[-122.73912,48.49572],[-122.78547,48.62161],[-122.73088,48.63613],[-122.7556,48.71208],[-122.95747,48.71593],[-122.97086,48.69577],[-122.9997,48.6978],[-123.00348,48.73427],[-123.0433,48.7431],[-123.07626,48.70528],[-123.08485,48.66335],[-123.12845,48.6638],[-123.22698,48.70302],[-123.24655,48.68353],[-123.17445,48.64702],[-123.21514,48.60107],[-123.21393,48.57336],[-123.1808,48.56575],[-123.16621,48.52006],[-123.10235,48.47684],[-123.02167,48.44667]],[[-122.98339,48.78214],[-122.93498,48.76653],[-122.91181,48.73858],[-122.80229,48.73982],[-122.81946,48.75499],[-122.9343,48.79572],[-122.98374,48.79436],[-122.98339,48.78214]]],terms_url:"https://www.arcgis.com/home/item.html?id=7bf69831861d438d8365cf9f46662523",terms_text:"Pictometry Inc, San Juan County GIS",description:"Public domain aerial imagery taken in May/June 2013 from San Juan County, WA. Resolution is 9 inch."},{id:"sjcgis.org-Aerials_2016_WM",name:"2016 aerial imagery for San Juan County WA",type:"tms",template:"https://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2016_WM/MapServer/tile/{zoom}/{y}/{x}",endDate:"2016-07-01T00:00:00.000Z",startDate:"2016-05-01T00:00:00.000Z",scaleExtent:[0,19],polygon:[[[-123.02167,48.44667],[-122.94666,48.44781],[-122.90151,48.41307],[-122.80263,48.40771],[-122.79199,48.4428],[-122.80881,48.47866],[-122.73912,48.49572],[-122.78547,48.62161],[-122.73088,48.63613],[-122.7556,48.71208],[-122.95747,48.71593],[-122.97086,48.69577],[-122.9997,48.6978],[-123.00348,48.73427],[-123.0433,48.7431],[-123.07626,48.70528],[-123.08485,48.66335],[-123.12845,48.6638],[-123.22698,48.70302],[-123.24655,48.68353],[-123.17445,48.64702],[-123.21514,48.60107],[-123.21393,48.57336],[-123.1808,48.56575],[-123.16621,48.52006],[-123.10235,48.47684],[-123.02167,48.44667]],[[-122.98339,48.78214],[-122.93498,48.76653],[-122.91181,48.73858],[-122.80229,48.73982],[-122.81946,48.75499],[-122.9343,48.79572],[-122.98374,48.79436],[-122.98339,48.78214]]],best:true,description:"Public domain aerial imagery taken in May, June, and July from San Juan County, WA. Resolution is 6 inch countywide."},{id:"OS7",name:"7th Series (OS7)",type:"tms",template:"https://ooc.openstreetmap.org/os7/{zoom}/{x}/{y}.jpg",polygon:[[[-3.04697,54.83947],[-3.05864,55.24157],[-4.04466,55.23296],[-4.07076,55.63654],[-4.61904,55.6253],[-4.64926,56.02834],[-4.48961,56.03217],[-4.52394,56.4367],[-3.86751,56.44581],[-3.84176,56.04944],[-3.44591,56.04982],[-3.43492,55.64429],[-2.79497,55.65049],[-2.80802,56.05749],[-3.20661,56.05327],[-3.21417,56.45682],[-3.73808,56.45075],[-3.74185,56.86175],[-5.07669,56.83171],[-5.03652,56.42949],[-5.16012,56.42493],[-5.12991,56.01798],[-5.92607,55.99456],[-5.85518,55.23335],[-5.2281,55.25136],[-5.21024,55.02765],[-4.65956,55.04181],[-4.64548,54.81633],[-3.04697,54.83947]],[[-1.74835,57.76428],[-1.74065,57.36],[-2.58022,57.35537],[-2.57437,57.04526],[-2.08408,57.04799],[-2.07651,56.64276],[-2.7345,56.63906],[-2.73781,56.81718],[-3.23885,56.81437],[-3.24896,57.35168],[-3.75629,57.34889],[-3.76219,57.65868],[-4.76587,57.64473],[-4.81008,58.26984],[-5.2511,58.26547],[-5.27376,58.66767],[-3.55818,58.69887],[-3.56607,58.9316],[-3.37656,58.93444],[-3.38584,59.20171],[-3.18713,59.20215],[-3.18747,59.24176],[-3.06757,59.24203],[-3.07855,59.42135],[-2.37131,59.42763],[-2.36856,59.0222],[-2.67893,59.02078],[-2.67343,58.83935],[-2.86569,58.83651],[-2.8602,58.53531],[-3.03461,58.53316],[-3.0195,58.13159],[-3.6156,58.11982],[-3.61276,57.97754],[-3.71092,57.97562],[-3.69932,57.75364],[-1.74835,57.76428]],[[-7.07492,56.76319],[-7.73471,56.73566],[-7.7911,57.13994],[-7.70662,57.14343],[-7.76299,57.54311],[-7.60218,57.54968],[-7.62134,57.68452],[-7.72499,57.6803],[-7.73017,57.71673],[-7.60264,57.72191],[-7.59964,57.70083],[-7.48634,57.70544],[-7.49528,57.76813],[-7.37493,57.77301],[-7.39337,57.90201],[-7.23591,57.90838],[-7.24323,57.95948],[-7.13916,57.96369],[-7.14508,58.00495],[-7.23742,58.00122],[-7.23297,57.97018],[-7.31133,57.96702],[-7.31538,57.99525],[-7.24904,57.99792],[-7.28082,58.21856],[-7.07355,58.22687],[-7.0827,58.29018],[-6.80743,58.30119],[-6.82768,58.44074],[-6.50305,58.45366],[-6.51532,58.53792],[-6.16474,58.55184],[-6.10631,58.14894],[-6.33469,58.13976],[-6.27759,57.74145],[-6.96138,57.71366],[-6.93332,57.51615],[-7.10017,57.50933],[-7.05218,57.169],[-7.13111,57.16575],[-7.07492,56.76319]],[[0.41076,50.82087],[0.98102,50.80612],[0.99437,51.01173],[1.45062,50.99998],[1.47712,51.40552],[0.89619,51.42035],[0.88243,51.21039],[0.505,51.22007],[0.52273,51.49042],[-0.63397,51.51063],[-0.63671,51.44563],[-1.09951,51.45248],[-1.11485,51.04814],[-0.52987,51.0394],[-0.52751,51.10203],[0.42806,51.08778],[0.41076,50.82087]],[[-5.39457,51.9619],[-4.79581,51.98051],[-4.78873,51.89403],[-4.20265,51.91228],[-4.22941,52.23828],[-3.6552,52.25602],[-3.62228,51.85483],[-4.21342,51.8364],[-4.18551,51.49342],[-4.77661,51.47485],[-4.78476,51.57525],[-5.08799,51.56574],[-5.09422,51.64242],[-5.3678,51.63385],[-5.39457,51.9619]],[[-1.2389,54.03537],[-0.62779,54.02811],[-0.62004,54.25257],[-0.57268,54.25201],[-0.55865,54.65542],[-1.17998,54.66269],[-1.18782,54.43788],[-1.23221,54.4384],[-1.2389,54.03537]],[[-2.67227,50.97677],[-2.09961,50.98023],[-2.10572,51.37949],[-1.58877,51.38259],[-1.59499,51.78589],[-2.17563,51.78891],[-2.17154,51.38392],[-2.67846,51.38088],[-2.67227,50.97677]],[[-2.60155,53.27155],[-3.22973,53.2685],[-3.23522,53.67231],[-2.60704,53.67533],[-2.60155,53.27155]],[[-0.03942,51.7728],[-0.61563,51.77577],[-0.60465,52.58414],[-0.02843,52.58122],[-0.03942,51.7728]],[[-2.91529,54.03523],[-3.53229,54.02866],[-3.54484,54.43397],[-2.92785,54.44047],[-2.91529,54.03523]],[[-6.30583,57.19689],[-6.3539,57.60015],[-5.69111,57.62295],[-5.64305,57.21995],[-6.30583,57.19689]],[[1.17115,52.57236],[1.19865,52.97594],[1.79788,52.96106],[1.77037,52.55734],[1.17115,52.57236]],[[-2.40225,55.56317],[-2.40088,55.9657],[-1.76084,55.96501],[-1.76222,55.56248],[-2.40225,55.56317]],[[-6.32574,56.38537],[-7.0196,56.35747],[-7.07316,56.76384],[-6.3793,56.79145],[-6.32574,56.38537]],[[-2.42258,54.4431],[-2.42574,54.84188],[-1.79931,54.84354],[-1.79614,54.44477],[-2.42258,54.4431]],[[-3.02701,51.37935],[-3.60589,51.37017],[-3.62237,51.77304],[-3.04349,51.78215],[-3.02701,51.37935]],[[-3.05379,52.18979],[-3.06615,52.59374],[-2.48364,52.60034],[-2.47128,52.19646],[-3.05379,52.18979]],[[-5.67673,51.70425],[-5.67886,51.73101],[-5.4636,51.7376],[-5.46146,51.71084],[-5.67673,51.70425]],[[-5.84427,59.10882],[-5.8469,59.13578],[-5.79558,59.1371],[-5.79294,59.11014],[-5.84427,59.10882]],[[-8.64844,57.77861],[-8.66597,57.87717],[-8.46649,57.88721],[-8.44897,57.78867],[-8.64844,57.77861]],[[-4.52711,59.01532],[-4.52859,59.03319],[-4.47623,59.03434],[-4.47475,59.01646],[-4.52711,59.01532]],[[-7.68062,58.25838],[-7.68655,58.2938],[-7.53445,58.30084],[-7.52852,58.26542],[-7.68062,58.25838]],[[-6.19102,59.08009],[-6.19546,59.11586],[-6.12542,59.11815],[-6.12099,59.08238],[-6.19102,59.08009]],[[-4.42669,59.07112],[-4.42805,59.0887],[-4.37621,59.08976],[-4.37485,59.07218],[-4.42669,59.07112]]]},{id:"ACT2017",name:"ACTmapi Imagery 2017",type:"wms",template:"https://data.actmapi.act.gov.au/arcgis/services/actmapi/imagery2017mga/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2017-05-01T00:00:00.000Z",startDate:"2017-05-01T00:00:00.000Z",scaleExtent:[0,21],polygon:[[[149.085,-35.1171],[149.1509,-35.1157],[149.1509,-35.1335],[149.1736,-35.1335],[149.1739,-35.1512],[149.1957,-35.1512],[149.1962,-35.1689],[149.2177,-35.1683],[149.2192,-35.2048],[149.241,-35.2043],[149.2419,-35.2223],[149.2632,-35.2222],[149.2644,-35.2575],[149.3085,-35.2571],[149.309,-35.2751],[149.3531,-35.2742],[149.3536,-35.2921],[149.3974,-35.2917],[149.3988,-35.3452],[149.3777,-35.3457],[149.3772,-35.3641],[149.3341,-35.3648],[149.3385,-35.5451],[149.1624,-35.5487],[149.1727,-35.9271],[149.0175,-35.9294],[149.0172,-35.9113],[148.9506,-35.9125],[148.9499,-35.8946],[148.9277,-35.8949],[148.9272,-35.8768],[148.9053,-35.8768],[148.9042,-35.8586],[148.8826,-35.859],[148.8805,-35.7695],[148.8361,-35.7698],[148.8359,-35.7521],[148.8138,-35.7524],[148.8131,-35.7343],[148.7909,-35.7347],[148.7911,-35.7167],[148.7688,-35.7167],[148.7617,-35.3924],[148.7839,-35.3921],[148.7822,-35.3022],[148.8041,-35.302],[148.8033,-35.2836],[148.8474,-35.2832],[148.8469,-35.2652],[148.8689,-35.2643],[148.8687,-35.2466],[148.9128,-35.246],[148.9123,-35.2282],[148.9341,-35.228],[148.9329,-35.1919],[148.999,-35.1904],[148.9986,-35.1724],[149.0206,-35.172],[149.0204,-35.154],[149.0637,-35.1532],[149.0635,-35.1355],[149.0857,-35.1348],[149.085,-35.1171]]],terms_url:"https://actmapi-actgov.opendata.arcgis.com/datasets/884456bde6fd46d68e0c05479f55d548",terms_text:"© Jacobs Group (Australia) Pty Ltd and Australian Capital Territory",best:true},{id:"AGIV10cm",name:"AGIV Flanders 2013-2015 aerial imagery 10cm",type:"wms",template:"https://geoservices.informatievlaanderen.be/raadpleegdiensten/OGW/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OGWRGB13_15VL&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[5.98494,50.70723],[5.98494,50.7672],[5.91079,50.82275],[5.75561,50.83533],[5.75423,50.86264],[5.8332,50.93323],[5.85517,51.02661],[5.90941,51.07754],[5.91216,51.18225],[5.87851,51.20807],[5.77414,51.23689],[5.68419,51.24075],[5.62308,51.26998],[5.62308,51.29789],[5.54,51.34724],[5.4473,51.34853],[5.39855,51.32107],[5.31203,51.32322],[5.26671,51.36182],[5.19942,51.37254],[5.18294,51.39611],[5.15891,51.4924],[5.08338,51.53086],[5.03257,51.53983],[4.95566,51.50522],[4.90142,51.50565],[4.83825,51.54367],[4.77096,51.55862],[4.7119,51.54709],[4.64049,51.49667],[4.6144,51.4971],[4.56565,51.53171],[4.48256,51.53043],[4.42626,51.52189],[4.3006,51.46974],[4.29511,51.42566],[4.18113,51.42437],[4.13718,51.39525],[4.13856,51.35067],[4.05204,51.30047],[3.93325,51.27298],[3.86527,51.27084],[3.86321,51.29016],[3.76296,51.32407],[3.59336,51.35925],[3.47732,51.33137],[3.42582,51.39739],[3.23562,51.35153],[3.226,51.36568],[3.17794,51.36182],[3.16009,51.33223],[3.06258,51.30219],[2.75084,51.1702],[2.47001,51.07452],[2.49267,50.99378],[2.53112,50.95573],[2.50915,50.91159],[2.53043,50.82145],[2.5991,50.76416],[2.66501,50.76459],[2.77007,50.66677],[2.8971,50.65894],[2.99186,50.72549],[3.11339,50.72636],[3.23699,50.70592],[3.36265,50.6585],[3.47114,50.70201],[3.63936,50.66721],[3.69842,50.68156],[3.72794,50.71245],[3.81858,50.68418],[3.87488,50.64152],[4.09255,50.64283],[4.15023,50.66329],[4.20653,50.64413],[4.31365,50.64283],[4.45235,50.68766],[4.53475,50.67808],[4.61303,50.69549],[4.67689,50.69592],[4.72701,50.73201],[4.78057,50.73201],[4.79979,50.71288],[4.86228,50.71288],[4.88563,50.69549],[4.96116,50.69549],[5.03119,50.65763],[5.10741,50.65023],[5.2008,50.64892],[5.23581,50.66546],[5.32508,50.6659],[5.36696,50.682],[5.42121,50.66416],[5.52215,50.6746],[5.6224,50.72418],[5.67527,50.69853],[5.73981,50.69723],[5.77277,50.67199],[5.8126,50.66024],[5.90804,50.65981],[5.98494,50.70723]]],terms_text:"Orthophoto Flanders © AGIV",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABm0lEQVQ4y6WTPUgCYRjHf5oFJVfRUZKVHYFBoBAUFLZE0FBD0NQHRENESzS019LSFNHWx1DQEhGRg0JFREM11FJuLWem4GB5HULdwdkgHprn5LO97/O8v+fj/7y2bDabpQKzFx5S6ntlgE81xvHtclHAbuSNloNT5q/uywP021cAvO4hAPYu5/hI5e6GWpsBCEfjxNSMNUALPvJ7eA3AQPcML3KIzbNhlvdEWmu+6RCcAISiCWtA3fosPztBfrYvAGgX/QCIggdR8DDe6Qbg5E0uAdjyKhhykq+uBeySi9qVCfSAB61HRBQ8RFJpRs6vALiZHMUnNpYO0Ujn+jPkJJnVfbTBNeqfFQB8YqP56H8VJqBKcuHcWsQuuXIOyUX1sN8MnPJKlnOwWS2SIScx0hkcvV3mXUzN0HcSAuBoNMBYZxsADittVXcT/XcPKE/PltqHowkTYLcMkOMoml52+wr9jnIZAJZ8XjYGe0vaUDSdsBxnulsqrUDRdMLReNHg8tYhOAs2M2HdQiSVBqChprpI7/9q5JPYKv3OfxL1n52ATYYBAAAAAElFTkSuQmCC"},{id:"AGIVFlandersGRB",name:"AGIV Flanders GRB",type:"tms",template:"https://tile.informatievlaanderen.be/ws/raadpleegdiensten/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=grb_bsk&STYLE=&FORMAT=image/png&tileMatrixSet=GoogleMapsVL&tileMatrix={zoom}&tileRow={y}&tileCol={x}",scaleExtent:[0,21],polygon:[[[4.40434,50.78177],[4.45538,50.79328],[4.40268,50.8961],[4.331,50.90094],[4.27142,50.82002],[4.30648,50.81244],[4.36348,50.77251],[4.40434,50.78177],[4.43104,50.73831],[4.31859,50.72022],[4.29031,50.69402],[4.14853,50.72834],[3.95877,50.68947],[3.9097,50.69245],[3.89113,50.74333],[3.77568,50.74789],[3.75857,50.78045],[3.67752,50.77062],[3.64047,50.72242],[3.54139,50.73377],[3.54062,50.76307],[3.46005,50.76556],[3.3522,50.70614],[3.30562,50.75466],[3.17839,50.75609],[3.15329,50.78564],[3.02008,50.77312],[2.99943,50.81035],[2.91648,50.75356],[2.85476,50.75745],[2.86521,50.70565],[2.78473,50.7369],[2.713,50.81534],[2.63518,50.8129],[2.59909,50.85306],[2.59031,50.91893],[2.63262,50.94575],[2.57372,51.00842],[2.54165,51.09345],[3.15582,51.32714],[3.18307,51.37128],[3.23443,51.34669],[3.36356,51.37228],[3.38101,51.27446],[3.44201,51.24313],[3.52759,51.24604],[3.51511,51.28753],[3.58984,51.30577],[3.7783,51.26235],[3.79088,51.21429],[3.92412,51.21938],[4.16613,51.2929],[4.26163,51.37647],[4.42065,51.36473],[4.39108,51.45149],[4.54747,51.48571],[4.53541,51.42303],[4.64953,51.42758],[4.76359,51.5088],[4.84188,51.48074],[4.8383,51.42174],[4.89366,51.41698],[4.92785,51.39544],[5.02894,51.48789],[5.08018,51.46948],[5.10202,51.42892],[5.07117,51.3935],[5.13109,51.35137],[5.13448,51.31547],[5.20031,51.32172],[5.24189,51.30534],[5.23036,51.26436],[5.34828,51.27492],[5.41741,51.26229],[5.4863,51.30197],[5.5556,51.26986],[5.56045,51.22233],[5.76027,51.18505],[5.85578,51.14463],[5.75909,51.03588],[5.72665,50.91307],[5.64522,50.8372],[5.68732,50.804],[5.47863,50.72352],[5.41196,50.72368],[5.38908,50.74775],[5.30912,50.71802],[5.16984,50.72257],[5.16508,50.6957],[5.05642,50.71567],[5.00339,50.76594],[4.92545,50.74275],[4.90869,50.76968],[4.83106,50.77028],[4.76014,50.80544],[4.64309,50.79755],[4.65486,50.7552],[4.62021,50.74348],[4.59727,50.76359],[4.52399,50.72724],[4.49455,50.75679],[4.43104,50.73831],[4.40434,50.78177]],[[5.67393,50.75373],[5.88438,50.70114],[5.94172,50.76524],[5.76662,50.78761],[5.67393,50.75373]],[[4.91171,51.43492],[4.93711,51.42614],[4.95891,51.45471],[4.92801,51.46049],[4.91171,51.43492]]],terms_text:"GRB Flanders © AGIV",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABm0lEQVQ4y6WTPUgCYRjHf5oFJVfRUZKVHYFBoBAUFLZE0FBD0NQHRENESzS019LSFNHWx1DQEhGRg0JFREM11FJuLWem4GB5HULdwdkgHprn5LO97/O8v+fj/7y2bDabpQKzFx5S6ntlgE81xvHtclHAbuSNloNT5q/uywP021cAvO4hAPYu5/hI5e6GWpsBCEfjxNSMNUALPvJ7eA3AQPcML3KIzbNhlvdEWmu+6RCcAISiCWtA3fosPztBfrYvAGgX/QCIggdR8DDe6Qbg5E0uAdjyKhhykq+uBeySi9qVCfSAB61HRBQ8RFJpRs6vALiZHMUnNpYO0Ujn+jPkJJnVfbTBNeqfFQB8YqP56H8VJqBKcuHcWsQuuXIOyUX1sN8MnPJKlnOwWS2SIScx0hkcvV3mXUzN0HcSAuBoNMBYZxsADittVXcT/XcPKE/PltqHowkTYLcMkOMoml52+wr9jnIZAJZ8XjYGe0vaUDSdsBxnulsqrUDRdMLReNHg8tYhOAs2M2HdQiSVBqChprpI7/9q5JPYKv3OfxL1n52ATYYBAAAAAElFTkSuQmCC"},{id:"AGIV",name:"AGIV Flanders most recent aerial imagery",type:"tms",template:"https://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:[[[4.7737,50.79368],[4.8379,50.75916],[4.92511,50.73483],[4.98862,50.76264],[5.036,50.73527],[5.0645,50.69875],[5.1644,50.69005],[5.19393,50.71179],[5.3086,50.71245],[5.36422,50.74396],[5.43391,50.70766],[5.54378,50.74396],[5.61141,50.73527],[5.71166,50.73505],[5.77105,50.74092],[5.81946,50.70484],[5.89568,50.70614],[5.9204,50.72831],[5.91971,50.74504],[5.89843,50.77675],[5.81569,50.76351],[5.77517,50.79216],[5.69552,50.79737],[5.69072,50.82319],[5.66325,50.82904],[5.65467,50.86481],[5.72368,50.9012],[5.77174,50.95443],[5.75114,50.97368],[5.78273,51.00048],[5.78032,51.0523],[5.80848,51.05338],[5.80951,51.07668],[5.84315,51.09372],[5.84418,51.1101],[5.82599,51.11851],[5.86959,51.14953],[5.8277,51.17365],[5.792,51.16891],[5.7738,51.19344],[5.666,51.1928],[5.64059,51.21065],[5.5709,51.22829],[5.56231,51.27535],[5.49811,51.30605],[5.47099,51.30219],[5.45794,51.2893],[5.43048,51.28823],[5.41434,51.27363],[5.36593,51.282],[5.33641,51.28265],[5.32577,51.26718],[5.24337,51.27406],[5.24989,51.31335],[5.20972,51.32794],[5.14174,51.31914],[5.14209,51.35367],[5.08647,51.39482],[5.11565,51.43615],[5.08853,51.47508],[5.05214,51.47636],[5.04561,51.4939],[5.02364,51.4939],[5.01609,51.48663],[4.82966,51.48663],[4.83001,51.50009],[4.76855,51.51099],[4.74727,51.50394],[4.658,51.4492],[4.65663,51.43144],[4.53956,51.43379],[4.55466,51.48171],[4.5296,51.48748],[4.46368,51.48235],[4.37167,51.45562],[4.37751,51.40553],[4.4139,51.37511],[4.39776,51.36118],[4.34798,51.36675],[4.34627,51.38497],[4.20344,51.38111],[4.2213,51.3511],[4.15641,51.29832],[4.05101,51.25193],[4.00638,51.25279],[3.95144,51.22205],[3.88484,51.22936],[3.81926,51.21797],[3.80038,51.22872],[3.80107,51.26074],[3.74442,51.28007],[3.63593,51.29746],[3.58615,51.31378],[3.5065,51.28308],[3.51371,51.25021],[3.43921,51.25064],[3.39766,51.27513],[3.37329,51.31678],[3.39114,51.34274],[3.3623,51.37961],[3.24283,51.35474],[3.20266,51.37039],[3.15631,51.35196],[3.14223,51.33051],[2.53318,51.09092],[2.56476,50.9968],[2.61832,50.9527],[2.57781,50.91852],[2.5936,50.88431],[2.58948,50.85051],[2.6245,50.80757],[2.71033,50.8054],[2.78449,50.71853],[2.87375,50.69983],[2.86483,50.74765],[2.92525,50.75156],[2.97263,50.77024],[2.97332,50.79889],[3.00078,50.79759],[3.01383,50.76676],[3.09863,50.76611],[3.13537,50.78196],[3.16832,50.75004],[3.30428,50.74613],[3.31561,50.71484],[3.3678,50.70179],[3.44848,50.75091],[3.53293,50.75156],[3.53328,50.72549],[3.63902,50.7131],[3.69086,50.7672],[3.75163,50.76177],[3.7712,50.73874],[3.87729,50.73983],[3.87969,50.70418],[3.9202,50.68352],[3.99951,50.682],[4.06749,50.68961],[4.16018,50.72049],[4.17632,50.70331],[4.24739,50.68222],[4.31708,50.69418],[4.31846,50.70962],[4.38403,50.71027],[4.38437,50.72353],[4.47226,50.74743],[4.52617,50.71853],[4.55226,50.73766],[4.64908,50.73722],[4.6532,50.78717],[4.72426,50.78218],[4.73731,50.79585],[4.7737,50.79368]]],terms_text:"Orthophoto Flanders most recent © AGIV",best:true,icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABm0lEQVQ4y6WTPUgCYRjHf5oFJVfRUZKVHYFBoBAUFLZE0FBD0NQHRENESzS019LSFNHWx1DQEhGRg0JFREM11FJuLWem4GB5HULdwdkgHprn5LO97/O8v+fj/7y2bDabpQKzFx5S6ntlgE81xvHtclHAbuSNloNT5q/uywP021cAvO4hAPYu5/hI5e6GWpsBCEfjxNSMNUALPvJ7eA3AQPcML3KIzbNhlvdEWmu+6RCcAISiCWtA3fosPztBfrYvAGgX/QCIggdR8DDe6Qbg5E0uAdjyKhhykq+uBeySi9qVCfSAB61HRBQ8RFJpRs6vALiZHMUnNpYO0Ujn+jPkJJnVfbTBNeqfFQB8YqP56H8VJqBKcuHcWsQuuXIOyUX1sN8MnPJKlnOwWS2SIScx0hkcvV3mXUzN0HcSAuBoNMBYZxsADittVXcT/XcPKE/PltqHowkTYLcMkOMoml52+wr9jnIZAJZ8XjYGe0vaUDSdsBxnulsqrUDRdMLReNHg8tYhOAs2M2HdQiSVBqChprpI7/9q5JPYKv3OfxL1n52ATYYBAAAAAElFTkSuQmCC"},{id:"AGRI-black_and_white-2.5m",name:"AGRI black-and-white 2.5m",type:"tms",template:"https://{switch:a,b,c}.agri.openstreetmap.org/layer/au_ga_agri/{zoom}/{x}/{y}.png",endDate:"2011-01-01T00:00:00.000Z",startDate:"2006-01-01T00:00:00.000Z",polygon:[[[112.28778,-28.78459],[112.71488,-31.13894],[114.11263,-34.17829],[113.60788,-37.39012],[117.17992,-37.45179],[119.31538,-37.42096],[121.72262,-36.70839],[123.81925,-35.76893],[125.9547,-34.3066],[127.97368,-33.7274],[130.07031,-33.24166],[130.10913,-33.8887],[131.00214,-34.04971],[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.36829],[142.3783,-40.64702],[142.49478,-42.07487],[144.009,-44.06013],[147.23161,-44.03222],[149.05645,-42.53431],[149.52237,-40.99959],[149.9494,-40.85292],[150.8036,-38.09627],[151.81313,-38.12682],[156.20052,-22.66771],[156.20052,-20.10109],[156.62761,-17.41763],[155.26869,-17.19521],[154.14272,-19.51662],[153.5215,-18.34139],[153.05558,-16.5636],[152.78379,-15.25677],[152.27905,-13.4135],[151.3472,-12.39177],[149.48354,-12.05024],[146.9598,-9.99241],[135.9719,-9.99241],[130.3032,-10.33636],[128.09016,-12.16414],[125.91588,-12.31591],[124.3239,-11.86033],[122.03323,-11.97429],[118.26706,-16.9353],[115.93747,-19.11357],[114.0738,-21.11863],[113.49141,-22.59603],[112.28778,-28.78459]]],terms_url:"https://data.gov.au/dataset/agri-the-australian-geographic-reference-image",terms_text:"AGRI, Geoscience Australia"},{id:"alagoas_litoral",name:"Alagoas Litoral 2006",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Ortofotos%202006&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-35.52384,-9.48089],[-35.5236,-9.44515],[-35.51572,-9.44518],[-35.51584,-9.44229],[-35.50542,-9.44238],[-35.50518,-9.43064],[-35.49334,-9.43073],[-35.49304,-9.3982],[-35.4893,-9.39817],[-35.48921,-9.38628],[-35.4854,-9.38634],[-35.48525,-9.37809],[-35.48127,-9.37812],[-35.48114,-9.36987],[-35.47698,-9.36996],[-35.47686,-9.36385],[-35.47459,-9.36388],[-35.47447,-9.36153],[-35.47212,-9.36141],[-35.47206,-9.35917],[-35.46976,-9.3592],[-35.46967,-9.35682],[-35.46653,-9.35676],[-35.46641,-9.35289],[-35.46387,-9.35277],[-35.46387,-9.35119],[-35.44135,-9.35131],[-35.44125,-9.34541],[-35.43177,-9.34538],[-35.43171,-9.33602],[-35.39463,-9.33632],[-35.39442,-9.30125],[-35.38165,-9.30143],[-35.38147,-9.28638],[-35.37799,-9.28626],[-35.37796,-9.2811],[-35.36942,-9.28122],[-35.36921,-9.27261],[-35.35966,-9.27276],[-35.35969,-9.26465],[-35.35051,-9.26474],[-35.35036,-9.25562],[-35.34115,-9.25565],[-35.34118,-9.24501],[-35.31775,-9.24519],[-35.3176,-9.22567],[-35.30292,-9.22579],[-35.30283,-9.2113],[-35.30794,-9.21136],[-35.30785,-9.19979],[-35.29103,-9.19988],[-35.29091,-9.1966],[-35.29018,-9.19669],[-35.28997,-9.16516],[-35.27759,-9.16522],[-35.2775,-9.16417],[-35.27541,-9.1642],[-35.27535,-9.16152],[-35.27375,-9.16149],[-35.27366,-9.15839],[-35.27182,-9.15842],[-35.27185,-9.15729],[-35.27149,-9.15729],[-35.27143,-9.15469],[-35.26965,-9.15463],[-35.26959,-9.15362],[-35.26919,-9.15362],[-35.26907,-9.13159],[-35.26403,-9.13165],[-35.264,-9.12318],[-35.26056,-9.12321],[-35.26053,-9.11781],[-35.256,-9.11784],[-35.25573,-9.08946],[-35.25114,-9.08955],[-35.25108,-9.08651],[-35.25026,-9.08648],[-35.25029,-9.08475],[-35.24449,-9.08478],[-35.24449,-9.07989],[-35.24093,-9.07997],[-35.24081,-9.07312],[-35.23734,-9.07312],[-35.23719,-9.06322],[-35.23655,-9.06322],[-35.23652,-9.04655],[-35.23323,-9.04652],[-35.23332,-9.04345],[-35.2306,-9.04348],[-35.2306,-9.04014],[-35.22897,-9.04008],[-35.229,-9.03835],[-35.22505,-9.03826],[-35.22502,-9.03167],[-35.2223,-9.03161],[-35.22233,-9.02012],[-35.21834,-9.02009],[-35.21831,-9.01341],[-35.21671,-9.01341],[-35.21668,-9.00998],[-35.21176,-9.00998],[-35.21173,-9.00647],[-35.20971,-9.00653],[-35.20974,-9.00438],[-35.20765,-9.00432],[-35.20768,-9.00226],[-35.20566,-9.00226],[-35.20563,-8.99987],[-35.20391,-8.99987],[-35.20394,-8.99785],[-35.20213,-8.99791],[-35.20213,-8.99579],[-35.19844,-8.99582],[-35.19844,-8.99361],[-35.19434,-8.99361],[-35.19428,-8.99122],[-35.19065,-8.99131],[-35.19062,-8.98833],[-35.18766,-8.98842],[-35.18763,-8.98544],[-35.18473,-8.98541],[-35.18467,-8.98255],[-35.18238,-8.98252],[-35.18235,-8.98052],[-35.17951,-8.98061],[-35.17948,-8.97742],[-35.17809,-8.97745],[-35.17803,-8.97306],[-35.17558,-8.97303],[-35.17549,-8.96912],[-35.17293,-8.96909],[-35.17284,-8.96292],[-35.17063,-8.96289],[-35.17048,-8.95579],[-35.16852,-8.95564],[-35.16852,-8.94806],[-35.16794,-8.948],[-35.16791,-8.93995],[-35.16245,-8.93995],[-35.16242,-8.92978],[-35.1587,-8.92981],[-35.15873,-8.92662],[-35.15547,-8.92668],[-35.1555,-8.92378],[-35.15348,-8.92381],[-35.15339,-8.92065],[-35.15131,-8.92062],[-35.15122,-8.91194],[-35.15263,-8.91194],[-35.15263,-8.90821],[-35.15439,-8.90824],[-35.1543,-8.90215],[-35.15593,-8.90212],[-35.15593,-8.90051],[-35.15768,-8.90048],[-35.15774,-8.89905],[-35.15958,-8.89908],[-35.15955,-8.89747],[-35.16139,-8.8975],[-35.16133,-8.89625],[-35.16363,-8.89625],[-35.1636,-8.89526],[-35.16553,-8.89526],[-35.1655,-8.89315],[-35.16794,-8.89315],[-35.16791,-8.89147],[-35.17024,-8.89153],[-35.17027,-8.8904],[-35.17302,-8.89043],[-35.17302,-8.88876],[-35.17791,-8.88876],[-35.17794,-8.88795],[-35.17894,-8.88792],[-35.17894,-8.88891],[-35.17966,-8.88894],[-35.17978,-8.88858],[-35.18099,-8.88861],[-35.18099,-8.88816],[-35.18519,-8.88816],[-35.18519,-8.88897],[-35.18591,-8.889],[-35.18591,-8.88971],[-35.18932,-8.88971],[-35.18947,-8.8893],[-35.19014,-8.88927],[-35.19017,-8.88831],[-35.19071,-8.88831],[-35.19077,-8.88789],[-35.19153,-8.88792],[-35.19156,-8.88619],[-35.19754,-8.88607],[-35.19757,-8.8873],[-35.19968,-8.8873],[-35.19974,-8.88777],[-35.2008,-8.88777],[-35.2008,-8.88822],[-35.2033,-8.88822],[-35.20337,-8.8887],[-35.20563,-8.88861],[-35.20557,-8.88983],[-35.20741,-8.8898],[-35.20744,-8.89022],[-35.21125,-8.89025],[-35.21128,-8.88769],[-35.21245,-8.88777],[-35.21248,-8.88861],[-35.21623,-8.88858],[-35.21623,-8.88748],[-35.21871,-8.88745],[-35.21871,-8.88897],[-35.22136,-8.88897],[-35.22263,-8.88792],[-35.22402,-8.88748],[-35.22453,-8.88763],[-35.22644,-8.88718],[-35.22707,-8.88598],[-35.23311,-8.88446],[-35.23933,-8.88339],[-35.24129,-8.88416],[-35.25011,-8.88515],[-35.25624,-8.88506],[-35.26168,-8.88294],[-35.26161,-8.88094],[-35.26406,-8.88109],[-35.26877,-8.8793],[-35.27421,-8.87748],[-35.2781,-8.87518],[-35.28499,-8.87507],[-35.28502,-8.87581],[-35.2881,-8.87578],[-35.29405,-8.87545],[-35.30782,-8.87208],[-35.31757,-8.86961],[-35.32784,-8.86716],[-35.33206,-8.86614],[-35.34103,-8.86376],[-35.3471,-8.86244],[-35.3522,-8.86113],[-35.35257,-8.86391],[-35.34903,-8.86611],[-35.34496,-8.87205],[-35.34327,-8.87489],[-35.34318,-8.87569],[-35.34381,-8.87668],[-35.34481,-8.8768],[-35.34888,-8.87721],[-35.35042,-8.87781],[-35.35254,-8.87891],[-35.35399,-8.88011],[-35.35577,-8.88252],[-35.35755,-8.88396],[-35.36036,-8.88512],[-35.36114,-8.88509],[-35.3612,-8.88587],[-35.36175,-8.8859],[-35.36178,-8.88777],[-35.36253,-8.88783],[-35.36247,-8.891],[-35.36311,-8.89112],[-35.36311,-8.89482],[-35.3644,-8.89488],[-35.36507,-8.8967],[-35.36637,-8.90022],[-35.36754,-8.90427],[-35.36794,-8.90782],[-35.36863,-8.90917],[-35.37207,-8.91155],[-35.3741,-8.91349],[-35.37277,-8.916],[-35.37262,-8.91817],[-35.37084,-8.92229],[-35.37062,-8.92486],[-35.37235,-8.93038],[-35.37153,-8.93193],[-35.37153,-8.93363],[-35.37171,-8.93387],[-35.37171,-8.94362],[-35.36818,-8.94377],[-35.36815,-8.94505],[-35.36927,-8.94511],[-35.36921,-8.94863],[-35.37078,-8.94872],[-35.37081,-8.95182],[-35.37219,-8.95176],[-35.37222,-8.95528],[-35.37319,-8.95531],[-35.37313,-8.95737],[-35.3744,-8.95737],[-35.37446,-8.96012],[-35.37567,-8.96018],[-35.3757,-8.96205],[-35.37688,-8.96208],[-35.37694,-8.96444],[-35.37781,-8.96444],[-35.37775,-8.96617],[-35.38074,-8.96617],[-35.38074,-8.96331],[-35.38288,-8.96328],[-35.38291,-8.95982],[-35.38542,-8.95985],[-35.38542,-8.95722],[-35.38723,-8.95722],[-35.3872,-8.95406],[-35.38947,-8.95409],[-35.38947,-8.95084],[-35.39158,-8.95087],[-35.39158,-8.94792],[-35.39587,-8.94792],[-35.39581,-8.94651],[-35.3972,-8.94654],[-35.39711,-8.94472],[-35.39838,-8.94469],[-35.39838,-8.93915],[-35.40107,-8.93915],[-35.40106,-8.93895],[-35.40167,-8.93894],[-35.40173,-8.93688],[-35.40236,-8.93688],[-35.40236,-8.93628],[-35.40324,-8.9364],[-35.4033,-8.93583],[-35.40426,-8.9358],[-35.4042,-8.93363],[-35.40574,-8.9336],[-35.40577,-8.93124],[-35.4081,-8.93133],[-35.40804,-8.92927],[-35.40937,-8.9293],[-35.40928,-8.92739],[-35.41085,-8.92742],[-35.41085,-8.92542],[-35.41239,-8.92545],[-35.41236,-8.9239],[-35.41335,-8.92387],[-35.41329,-8.92193],[-35.41523,-8.92196],[-35.41523,-8.91999],[-35.41655,-8.92002],[-35.41655,-8.91755],[-35.4196,-8.91755],[-35.41966,-8.91964],[-35.42184,-8.91964],[-35.42187,-8.92265],[-35.42389,-8.92268],[-35.42392,-8.92513],[-35.42537,-8.92513],[-35.42537,-8.92766],[-35.42724,-8.92766],[-35.42727,-8.92987],[-35.42815,-8.92984],[-35.42818,-8.9316],[-35.42987,-8.93154],[-35.4299,-8.93407],[-35.43141,-8.93407],[-35.43141,-8.9356],[-35.43226,-8.93557],[-35.43229,-8.93586],[-35.4334,-8.93583],[-35.4334,-8.94001],[-35.43434,-8.94004],[-35.43434,-8.94097],[-35.43531,-8.94097],[-35.43534,-8.94261],[-35.43567,-8.94264],[-35.4357,-8.94329],[-35.43627,-8.94332],[-35.43624,-8.94422],[-35.4373,-8.94422],[-35.43727,-8.9452],[-35.43823,-8.9452],[-35.43827,-8.94684],[-35.43902,-8.94687],[-35.43902,-8.94798],[-35.44026,-8.94798],[-35.44032,-8.94953],[-35.44159,-8.94956],[-35.44165,-8.95152],[-35.44273,-8.95152],[-35.44273,-8.95334],[-35.44436,-8.95334],[-35.44436,-8.95498],[-35.44569,-8.95501],[-35.44563,-8.95674],[-35.4472,-8.9568],[-35.44717,-8.95865],[-35.44895,-8.95871],[-35.44892,-8.96],[-35.45101,-8.95994],[-35.45098,-8.96101],[-35.45469,-8.96095],[-35.45466,-8.96235],[-35.46049,-8.96235],[-35.46055,-8.96557],[-35.46653,-8.96548],[-35.46659,-8.96885],[-35.46771,-8.96883],[-35.46774,-8.97053],[-35.4739,-8.97053],[-35.47399,-8.9753],[-35.47791,-8.97521],[-35.47797,-8.97816],[-35.4841,-8.97813],[-35.48416,-8.98201],[-35.49084,-8.98195],[-35.49084,-8.98562],[-35.49721,-8.98562],[-35.49721,-8.99069],[-35.50225,-8.99057],[-35.50234,-8.99567],[-35.50648,-8.99567],[-35.50651,-8.99856],[-35.51204,-8.9985],[-35.51207,-9.00163],[-35.51663,-9.00166],[-35.51666,-9.00617],[-35.52119,-9.00614],[-35.52122,-9.00739],[-35.53127,-9.00733],[-35.53127,-9.01064],[-35.54818,-9.01049],[-35.54818,-9.01359],[-35.56968,-9.01344],[-35.56974,-9.01738],[-35.58575,-9.01732],[-35.58578,-9.01995],[-35.60957,-9.01983],[-35.60954,-9.02302],[-35.62911,-9.02287],[-35.62905,-9.02508],[-35.65221,-9.0249],[-35.65224,-9.02758],[-35.67552,-9.0274],[-35.67555,-9.03056],[-35.68295,-9.03056],[-35.68298,-9.03435],[-35.69128,-9.03432],[-35.69128,-9.03766],[-35.6995,-9.0376],[-35.6995,-9.04034],[-35.70668,-9.04031],[-35.70671,-9.04518],[-35.71115,-9.04518],[-35.71133,-9.06691],[-35.70871,-9.06691],[-35.70877,-9.07869],[-35.70656,-9.07872],[-35.70656,-9.08653],[-35.7043,-9.08653],[-35.70433,-9.09104],[-35.69992,-9.09107],[-35.69989,-9.0956],[-35.69536,-9.09557],[-35.69542,-9.10001],[-35.69092,-9.10013],[-35.69101,-9.10207],[-35.63367,-9.10246],[-35.6337,-9.10541],[-35.62585,-9.10553],[-35.62591,-9.10964],[-35.62231,-9.10964],[-35.62234,-9.11203],[-35.6199,-9.112],[-35.6199,-9.11501],[-35.61473,-9.11507],[-35.61473,-9.11707],[-35.61177,-9.11701],[-35.61181,-9.1182],[-35.6096,-9.11826],[-35.60963,-9.12571],[-35.59976,-9.12583],[-35.59979,-9.12923],[-35.59634,-9.12926],[-35.5964,-9.13502],[-35.59197,-9.13507],[-35.59209,-9.149],[-35.59018,-9.14897],[-35.59015,-9.15108],[-35.6016,-9.15105],[-35.60154,-9.14912],[-35.60552,-9.14912],[-35.60549,-9.14557],[-35.61184,-9.14554],[-35.61184,-9.14235],[-35.6176,-9.14238],[-35.61757,-9.13853],[-35.624,-9.13853],[-35.62397,-9.13466],[-35.63177,-9.13466],[-35.63164,-9.13063],[-35.63922,-9.1306],[-35.63919,-9.12878],[-35.66386,-9.12869],[-35.6638,-9.1261],[-35.71278,-9.12577],[-35.71275,-9.12407],[-35.72426,-9.12401],[-35.71964,-9.15323],[-35.72112,-9.1532],[-35.72124,-9.17258],[-35.72066,-9.17255],[-35.72082,-9.18558],[-35.71212,-9.18566],[-35.7133,-9.34416],[-35.69041,-9.34433],[-35.69065,-9.37189],[-35.68899,-9.37189],[-35.68902,-9.37598],[-35.68757,-9.37598],[-35.68766,-9.38232],[-35.68497,-9.38235],[-35.68503,-9.39093],[-35.68168,-9.39099],[-35.68177,-9.39936],[-35.67715,-9.39933],[-35.67724,-9.4089],[-35.67292,-9.40893],[-35.67301,-9.41754],[-35.66972,-9.4176],[-35.66978,-9.42498],[-35.66722,-9.42498],[-35.66728,-9.4327],[-35.66075,-9.43288],[-35.66075,-9.43705],[-35.6513,-9.43708],[-35.65142,-9.44211],[-35.64514,-9.44217],[-35.64523,-9.44652],[-35.63645,-9.44661],[-35.63645,-9.44992],[-35.62711,-9.45],[-35.62727,-9.46505],[-35.62086,-9.46511],[-35.62092,-9.4722],[-35.60939,-9.47222],[-35.60939,-9.47529],[-35.59674,-9.47535],[-35.59674,-9.47351],[-35.57844,-9.47371],[-35.57847,-9.47595],[-35.57267,-9.47604],[-35.5727,-9.48042],[-35.56823,-9.48048],[-35.56826,-9.48881],[-35.54169,-9.48893],[-35.54163,-9.48071],[-35.52384,-9.48089]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"arapiraca_al",name:"Arapiraca AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Arapiraca&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.60875,-9.83072],[-36.60784,-9.74047],[-36.61718,-9.74051],[-36.61631,-9.65075],[-36.70737,-9.64977],[-36.70832,-9.74043],[-36.69898,-9.74047],[-36.69997,-9.82968],[-36.60875,-9.83072]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"CRAIG-Auvergne-2013",name:"Auvergne 2013 25cm CRAIG",type:"tms",template:"https://tiles.craig.fr/osm/wmts/1.0.0/ortho_2013/webmercator/{zoom}/{x}/{y}.jpeg",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[2.94012,44.63388],[2.99719,44.63393],[2.99717,44.64734],[3.01597,44.64735],[3.01593,44.67412],[3.03495,44.67413],[3.0349,44.70152],[3.05363,44.70154],[3.05357,44.7419],[3.07233,44.74191],[3.07222,44.80917],[3.09216,44.80919],[3.09214,44.82213],[3.13014,44.82216],[3.13005,44.87707],[3.14856,44.87709],[3.14858,44.8637],[3.16823,44.86371],[3.16825,44.85003],[3.2064,44.85006],[3.20638,44.86284],[3.24395,44.86287],[3.24393,44.87679],[3.26315,44.87681],[3.26308,44.91752],[3.32004,44.91757],[3.32002,44.93033],[3.33908,44.93035],[3.33906,44.9442],[3.377,44.94423],[3.37702,44.93029],[3.39603,44.9303],[3.39612,44.87627],[3.41483,44.87629],[3.41489,44.83553],[3.43334,44.83554],[3.43338,44.80828],[3.45255,44.80829],[3.45258,44.79463],[3.50893,44.79468],[3.5089,44.80815],[3.60426,44.80823],[3.60422,44.83482],[3.62361,44.83484],[3.62357,44.86166],[3.64248,44.86167],[3.64255,44.8211],[3.66101,44.82112],[3.66103,44.80777],[3.6993,44.8078],[3.69928,44.82099],[3.73611,44.82102],[3.73618,44.77971],[3.77511,44.77974],[3.77515,44.75223],[3.81184,44.75226],[3.81186,44.7392],[3.83118,44.73922],[3.83121,44.72468],[3.88782,44.72472],[3.8878,44.73818],[3.92563,44.73821],[3.9256,44.75167],[3.94541,44.75168],[3.94537,44.77847],[3.96437,44.77848],[3.96435,44.79193],[4.00332,44.79196],[4.0033,44.80526],[4.02169,44.80527],[4.02167,44.81857],[4.05965,44.8186],[4.05961,44.84492],[4.07981,44.84494],[4.07979,44.85735],[4.17388,44.85743],[4.17386,44.87055],[4.19326,44.87056],[4.19323,44.88427],[4.21404,44.88429],[4.214,44.91002],[4.23241,44.91004],[4.23237,44.93731],[4.27155,44.93734],[4.27153,44.9503],[4.32887,44.95034],[4.32878,45.00367],[4.34893,45.00368],[4.3489,45.01707],[4.40608,45.01711],[4.40599,45.071],[4.38847,45.07099],[4.38845,45.0846],[4.40794,45.08461],[4.40792,45.09663],[4.48436,45.09669],[4.48429,45.13705],[4.46636,45.13703],[4.46634,45.1502],[4.48645,45.15022],[4.4864,45.17724],[4.50655,45.17726],[4.50644,45.24501],[4.48813,45.24499],[4.48811,45.25921],[4.46986,45.25919],[4.46984,45.27298],[4.45088,45.27297],[4.45086,45.28642],[4.39368,45.28637],[4.39363,45.31352],[4.37509,45.3135],[4.37507,45.32741],[4.39507,45.32742],[4.39503,45.35458],[4.37679,45.35457],[4.37676,45.36855],[4.35766,45.36853],[4.35763,45.38234],[4.28146,45.38227],[4.28143,45.39688],[4.24446,45.39685],[4.24443,45.41079],[4.14812,45.41071],[4.14814,45.39807],[4.12919,45.39805],[4.12921,45.38409],[4.09021,45.38406],[4.09024,45.37121],[4.01355,45.37115],[4.01353,45.3861],[3.91709,45.38602],[3.91707,45.39974],[3.93757,45.39975],[3.93755,45.41311],[3.97528,45.41315],[3.97526,45.42621],[3.99537,45.42622],[3.9957,45.52096],[3.97778,45.52094],[3.97769,45.57439],[3.95818,45.57437],[3.95815,45.58837],[3.9396,45.58835],[3.93958,45.60262],[3.92023,45.60261],[3.9202,45.61646],[3.88189,45.61643],[3.88185,45.64328],[3.84413,45.64325],[3.84411,45.65709],[3.82617,45.65707],[3.82612,45.68389],[3.80722,45.68387],[3.80713,45.73758],[3.78821,45.73756],[3.78819,45.7518],[3.76885,45.75178],[3.7688,45.77897],[3.75072,45.77895],[3.75058,45.86066],[3.76967,45.86067],[3.76958,45.91433],[3.75166,45.91432],[3.75164,45.92809],[3.7329,45.92807],[3.73285,45.95472],[3.81018,45.95478],[3.81016,45.96823],[3.8496,45.96826],[3.84951,46.02162],[3.83188,46.0216],[3.83179,46.07591],[3.8505,46.07592],[3.85046,46.10295],[3.83247,46.10294],[3.83234,46.18456],[3.81422,46.18455],[3.81415,46.22442],[3.83369,46.22444],[3.83366,46.2381],[3.85289,46.23812],[3.85287,46.25147],[3.89314,46.25151],[3.89312,46.26447],[3.91306,46.26448],[3.91303,46.27793],[3.95189,46.27796],[3.95187,46.29082],[3.97152,46.29084],[3.9715,46.30369],[4.0105,46.30373],[4.01048,46.31776],[4.02983,46.31778],[4.02978,46.34428],[4.0116,46.34427],[4.01146,46.42534],[4.03153,46.42536],[4.03146,46.4658],[4.01324,46.46578],[4.01322,46.47938],[3.99437,46.47936],[3.99435,46.49361],[3.9746,46.4936],[3.97457,46.50753],[3.87754,46.50745],[3.8775,46.53478],[3.85836,46.53476],[3.85833,46.54832],[3.81869,46.54828],[3.81871,46.53553],[3.79924,46.53552],[3.79922,46.54907],[3.76104,46.54904],[3.76092,46.61681],[3.74233,46.61679],[3.74228,46.64396],[3.72286,46.64395],[3.72281,46.67104],[3.70387,46.67102],[3.70385,46.68467],[3.68411,46.68466],[3.68406,46.712],[3.66484,46.71198],[3.66479,46.73904],[3.64576,46.73902],[3.64572,46.76634],[3.62575,46.76632],[3.62573,46.77971],[3.56723,46.77966],[3.56725,46.76631],[3.54715,46.76629],[3.54719,46.73928],[3.52716,46.73927],[3.52723,46.6989],[3.48774,46.69887],[3.48776,46.68594],[3.46796,46.68593],[3.46794,46.69941],[3.46792,46.71279],[3.44865,46.71278],[3.44863,46.72679],[3.35043,46.72671],[3.35048,46.6999],[3.33039,46.69988],[3.33034,46.7272],[3.23272,46.72712],[3.23274,46.71351],[3.2129,46.7135],[3.21293,46.70013],[3.17354,46.7001],[3.1735,46.72751],[3.15412,46.72749],[3.1541,46.74073],[3.11478,46.7407],[3.11475,46.75428],[3.07534,46.75424],[3.0753,46.78135],[3.05597,46.78134],[3.05592,46.80831],[2.99704,46.80826],[2.99702,46.82196],[2.93794,46.82191],[2.93797,46.80826],[2.89866,46.80823],[2.89869,46.79424],[2.87899,46.79422],[2.87901,46.78104],[2.85942,46.78103],[2.85944,46.76771],[2.84004,46.76769],[2.84007,46.75447],[2.7414,46.75439],[2.74138,46.76682],[2.70234,46.76679],[2.70236,46.75389],[2.68266,46.75387],[2.68268,46.74048],[2.66349,46.74046],[2.66351,46.7259],[2.64342,46.72588],[2.64344,46.71309],[2.62414,46.71308],[2.62417,46.69981],[2.60397,46.69979],[2.60399,46.68584],[2.56512,46.68581],[2.56515,46.67261],[2.54593,46.6726],[2.546,46.63215],[2.56592,46.63217],[2.56595,46.61811],[2.54564,46.61809],[2.54569,46.59072],[2.56642,46.59074],[2.56644,46.57754],[2.5855,46.57756],[2.58552,46.56472],[2.56613,46.5647],[2.56616,46.55062],[2.46828,46.55055],[2.4683,46.53582],[2.33212,46.53571],[2.33217,46.50886],[2.31265,46.50884],[2.31267,46.49534],[2.29288,46.49533],[2.2929,46.48182],[2.27487,46.4818],[2.27492,46.45442],[2.25539,46.4544],[2.25553,46.37349],[2.27595,46.37351],[2.27604,46.32087],[2.31456,46.32091],[2.31458,46.30704],[2.35371,46.30707],[2.35373,46.29297],[2.39384,46.293],[2.39389,46.26729],[2.45157,46.26733],[2.4516,46.25349],[2.47094,46.25351],[2.47098,46.22656],[2.49151,46.22657],[2.49155,46.19933],[2.51088,46.19934],[2.51093,46.17278],[2.53117,46.1728],[2.53138,46.05135],[2.55163,46.05137],[2.55166,46.03777],[2.57056,46.03778],[2.57068,45.96994],[2.55144,45.96993],[2.55146,45.95662],[2.53226,45.9566],[2.53228,45.94301],[2.51307,45.94299],[2.51313,45.90203],[2.47494,45.902],[2.47496,45.88882],[2.43619,45.88879],[2.43622,45.87533],[2.41721,45.87531],[2.41725,45.84794],[2.37847,45.84791],[2.3785,45.83397],[2.35952,45.83396],[2.35956,45.80708],[2.37873,45.8071],[2.37875,45.79358],[2.3987,45.79359],[2.39872,45.78035],[2.41825,45.78036],[2.41832,45.74],[2.45722,45.74003],[2.45724,45.7267],[2.47589,45.72671],[2.47591,45.71324],[2.49533,45.71325],[2.49542,45.65913],[2.45769,45.6591],[2.45776,45.61834],[2.43912,45.61833],[2.43919,45.57766],[2.4585,45.57768],[2.45855,45.55053],[2.47809,45.55055],[2.47811,45.53725],[2.49755,45.53726],[2.49759,45.51068],[2.47855,45.51066],[2.47864,45.45613],[2.45978,45.45612],[2.45987,45.40176],[2.42249,45.40173],[2.42247,45.41528],[2.40232,45.41527],[2.40229,45.42882],[2.3256,45.42876],[2.32567,45.38796],[2.34562,45.38798],[2.34566,45.36111],[2.32626,45.36109],[2.32628,45.34721],[2.30738,45.3472],[2.3074,45.3336],[2.28811,45.33358],[2.28813,45.32082],[2.26963,45.3208],[2.26966,45.30621],[2.25066,45.3062],[2.25068,45.29251],[2.23169,45.2925],[2.23171,45.27924],[2.213,45.27922],[2.21305,45.25204],[2.19374,45.25202],[2.19376,45.23811],[2.17561,45.2381],[2.17574,45.15768],[2.15735,45.15767],[2.15744,45.10295],[2.12024,45.10292],[2.12026,45.08955],[2.10067,45.08953],[2.10069,45.07544],[2.08246,45.07543],[2.08255,45.0216],[2.10255,45.02161],[2.1026,44.99445],[2.04574,44.99441],[2.04585,44.92753],[2.06578,44.92755],[2.06589,44.85969],[2.0857,44.8597],[2.08572,44.84581],[2.10556,44.84583],[2.1056,44.81933],[2.12474,44.81934],[2.12477,44.80551],[2.14351,44.80553],[2.14355,44.7786],[2.12561,44.77858],[2.1257,44.72427],[2.10665,44.72426],[2.10671,44.68423],[2.12634,44.68424],[2.12636,44.67074],[2.14598,44.67075],[2.14607,44.61644],[2.18396,44.61648],[2.18398,44.60378],[2.24042,44.60383],[2.24037,44.63095],[2.25948,44.63097],[2.25946,44.64493],[2.31668,44.64498],[2.3167,44.63088],[2.33615,44.6309],[2.33617,44.61758],[2.37242,44.61761],[2.3724,44.63158],[2.41105,44.63161],[2.41107,44.61907],[2.44922,44.61911],[2.4492,44.63232],[2.50486,44.63237],[2.50481,44.65976],[2.52461,44.65977],[2.52457,44.68717],[2.54225,44.68719],[2.54223,44.70122],[2.58071,44.70125],[2.5806,44.76834],[2.61769,44.76837],[2.61762,44.80884],[2.63676,44.80885],[2.63669,44.84929],[2.67331,44.84933],[2.67329,44.86252],[2.69338,44.86253],[2.69333,44.88943],[2.73052,44.88946],[2.73048,44.91645],[2.74992,44.91646],[2.75005,44.83647],[2.80733,44.83652],[2.80731,44.8491],[2.82638,44.84912],[2.8264,44.83628],[2.8457,44.8363],[2.84577,44.79571],[2.86422,44.79573],[2.86426,44.76865],[2.88399,44.76866],[2.88403,44.74197],[2.90203,44.74198],[2.90214,44.67432],[2.92198,44.67434],[2.92202,44.6473],[2.9401,44.64731],[2.94012,44.63388]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_France/CRAIG",terms_text:"Orthophotographie CRAIG/Sintegra/IGN 2013"},{id:"CRAIG-Auvergne-2016",name:"Auvergne 2016 25cm CRAIG",type:"tms",template:"https://tiles.craig.fr/ortho/wmts/1.0.0/ortho_2016/webmercator/{zoom}/{x}/{y}.jpeg",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",polygon:[[[2.49389,46.66829],[2.71362,46.84141],[3.64746,46.80758],[4.04846,46.48327],[4.03747,46.24825],[4.46044,46.25965],[4.4934,46.14559],[4.38354,46.09229],[4.45495,45.69084],[4.76257,45.57176],[4.81201,45.34443],[4.22424,44.84419],[3.86169,44.696],[3.37829,44.80523],[3.33435,44.89091],[3.18054,44.82471],[3.03222,44.60612],[2.92785,44.60221],[2.71911,44.85198],[2.51037,44.60221],[2.12585,44.58265],[2.005,44.97257],[2.30712,45.46784],[2.43347,45.44087],[2.41149,45.72919],[2.34558,45.82402],[2.54882,45.97979],[2.46093,46.22166],[2.21374,46.33935],[2.27828,46.53903],[2.54882,46.56642],[2.49389,46.66829]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_France/CRAIG",terms_text:"CRAIG - IGN -TopoGEODIS - Feder Auvergne-Rhône-Alpes 2016"},{id:"BANO",name:"BANO",type:"tms",template:"https://{switch:a,b,c}.layers.openstreetmap.fr/bano/{zoom}/{x}/{y}.png",scaleExtent:[12,20],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]]],terms_url:"https://wiki.openstreetmap.org/wiki/FR:WikiProject_France/WikiProject_Base_Adresses_Nationale_Ouverte_(BANO)#Licence_du_r.C3.A9sultat",terms_text:"Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL",description:"French address registry or Base Adresses Nationale Ouverte",overlay:true},{id:"lu.geoportail.opendata.basemap",name:"Basemap geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/basemap/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png",endDate:"2010-07-20T00:00:00.000Z",startDate:"2013-07-19T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,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",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"basemap.at",name:"basemap.at",type:"tms",template:"https://maps{switch:1,2,3,4}.wien.gv.at/basemap/geolandbasemap/normal/google3857/{zoom}/{y}/{x}.png",scaleExtent:[0,19],polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"https://basemap.at",terms_text:"basemap.at",description:"Basemap of Austria, based on government data.",icon:"https://www.basemap.at/images/logo_basemap.jpg"},{id:"basemap.at-orthofoto",name:"basemap.at Orthofoto",type:"tms",template:"https://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{zoom}/{y}/{x}.jpeg",scaleExtent:[0,19],polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"https://basemap.at",terms_text:"basemap.at",best:true,description:"Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.",icon:"https://www.basemap.at/images/logo_basemap.jpg"},{id:"bavaria-2m",name:"Bavaria (2 m)",type:"wms",template:"https://geodaten.bayern.de/ogc/ogc_dop200_oa.cgi?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=adv_dop200c&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",scaleExtent:[8,18],polygon:[[[10.12359,50.56846],[10.14286,50.55078],[10.20281,50.55742],[10.25205,50.51796],[10.32698,50.49345],[10.41048,50.41848],[10.60317,50.33109],[10.62244,50.2271],[10.72521,50.21066],[10.72949,50.24765],[10.85153,50.24354],[10.71879,50.32015],[10.71236,50.36524],[10.85581,50.39664],[10.93717,50.39664],[10.99069,50.36661],[11.12772,50.36661],[11.1791,50.31332],[11.16197,50.29417],[11.24119,50.2928],[11.24975,50.37344],[11.24119,50.47982],[11.35895,50.5234],[11.43816,50.50979],[11.44244,50.48936],[11.42532,50.4771],[11.42532,50.44166],[11.48955,50.42257],[11.49169,50.39801],[11.51952,50.39801],[11.52594,50.37617],[11.59874,50.40347],[11.63727,50.38845],[11.79357,50.4212],[11.83639,50.39255],[11.92203,50.42802],[11.98626,50.38709],[11.98412,50.35705],[12.04835,50.33109],[12.09331,50.32972],[12.1297,50.29828],[12.14041,50.27228],[12.10615,50.25586],[12.11258,50.23532],[12.14897,50.23669],[12.19822,50.20107],[12.22391,50.16406],[12.20464,50.14348],[12.20678,50.10779],[12.24318,50.09955],[12.27743,50.07208],[12.49367,49.98543],[12.49796,49.94136],[12.55576,49.92206],[12.54934,49.86827],[12.48083,49.78817],[12.41018,49.75775],[12.46156,49.70655],[12.5472,49.68023],[12.58788,49.55261],[12.65425,49.53455],[12.66281,49.43302],[12.75274,49.41073],[12.7977,49.34661],[12.90475,49.35638],[12.99681,49.33685],[13.05462,49.27543],[13.13169,49.21952],[13.19164,49.14395],[13.2366,49.12153],[13.29655,49.12293],[13.37148,49.08088],[13.4143,49.02897],[13.4143,48.97981],[13.57916,48.96997],[13.63483,48.94326],[13.67765,48.88698],[13.73759,48.89261],[13.7847,48.83346],[13.84036,48.77423],[13.81681,48.70646],[13.84464,48.70081],[13.8425,48.60038],[13.76543,48.5423],[13.75258,48.50401],[13.67122,48.50543],[13.64339,48.54371],[13.45712,48.5508],[13.45712,48.41598],[13.40574,48.36053],[13.2837,48.27511],[13.09315,48.26941],[12.95827,48.19097],[12.87691,48.18526],[12.772,48.09382],[12.86407,48.01368],[12.89832,47.95492],[12.94543,47.95636],[12.99681,47.88461],[13.01394,47.83434],[12.93472,47.7322],[13.0589,47.72499],[13.11885,47.63851],[13.06532,47.56922],[13.05676,47.47379],[13.00323,47.45208],[12.76772,47.55044],[12.76986,47.63274],[12.73989,47.67312],[12.6671,47.67024],[12.57503,47.6212],[12.48083,47.61975],[12.41446,47.67024],[12.24318,47.67745],[12.2132,47.69186],[12.19179,47.68177],[12.2132,47.66591],[12.21106,47.60388],[12.17467,47.59521],[12.13827,47.60388],[11.89205,47.60388],[11.85137,47.57933],[11.63942,47.58222],[11.59445,47.54899],[11.59017,47.51285],[11.51738,47.49839],[11.4403,47.50417],[11.39534,47.47524],[11.42746,47.44484],[11.3461,47.44339],[11.27973,47.39559],[11.21336,47.38834],[11.24761,47.43181],[11.10203,47.39269],[10.965,47.38979],[10.97785,47.43615],[10.9179,47.47524],[10.8708,47.47524],[10.85581,47.49405],[10.90077,47.5143],[10.87294,47.53598],[10.81085,47.51285],[10.64385,47.54899],[10.59461,47.55477],[10.57962,47.52876],[10.46187,47.54032],[10.46615,47.48392],[10.48756,47.47813],[10.48756,47.41298],[10.45973,47.40283],[10.45973,47.37529],[10.41048,47.37384],[10.40834,47.34339],[10.32056,47.28678],[10.28202,47.27806],[10.28416,47.26208],[10.14714,47.26208],[10.1921,47.30275],[10.19424,47.37384],[10.16641,47.37384],[10.16641,47.34629],[10.10004,47.34339],[10.0615,47.36369],[10.06792,47.41877],[10.09361,47.42601],[10.09576,47.44194],[9.978,47.48537],[9.95659,47.52731],[9.8945,47.52876],[9.85596,47.50851],[9.81743,47.54465],[9.82171,47.57644],[9.77461,47.58222],[9.73821,47.52586],[9.67398,47.53454],[9.58406,47.56488],[9.63972,47.60532],[9.7168,47.60388],[9.85596,47.676],[9.978,47.65582],[10.02938,47.68177],[10.10004,47.66735],[10.13215,47.676],[10.14286,47.70195],[10.0615,47.7725],[10.11288,47.8099],[10.08291,47.85302],[10.1086,47.90902],[10.07649,47.96496],[10.13001,48.02084],[10.13429,48.10669],[10.10004,48.12813],[10.05508,48.26228],[9.96944,48.36765],[10.03153,48.42593],[10.02938,48.46144],[10.12359,48.47705],[10.15356,48.4515],[10.23492,48.51252],[10.31628,48.51678],[10.29915,48.61878],[10.24563,48.6683],[10.27346,48.70646],[10.3698,48.68385],[10.43189,48.69939],[10.45116,48.72765],[10.40192,48.746],[10.44046,48.84896],[10.43403,48.95873],[10.33769,49.02055],[10.24991,49.03599],[10.24991,49.07387],[10.20066,49.10331],[10.25205,49.13274],[10.12359,49.19714],[10.11931,49.26285],[10.15142,49.28939],[10.10432,49.34522],[10.14072,49.39401],[10.1086,49.44555],[10.11074,49.50537],[10.0722,49.53316],[10.01654,49.47616],[9.92662,49.47894],[9.92448,49.55678],[9.89878,49.58177],[9.85596,49.53872],[9.80672,49.55678],[9.86667,49.60675],[9.85382,49.6442],[9.81743,49.66083],[9.83455,49.68993],[9.79602,49.72039],[9.75748,49.70793],[9.74035,49.68577],[9.70609,49.71624],[9.67826,49.71624],[9.68254,49.68854],[9.62045,49.69131],[9.64615,49.78955],[9.55836,49.77434],[9.57121,49.73561],[9.50698,49.75222],[9.49199,49.77987],[9.46844,49.76051],[9.42562,49.77849],[9.40421,49.76466],[9.33356,49.7702],[9.32928,49.73423],[9.4085,49.72593],[9.42776,49.69824],[9.41492,49.6442],[9.38066,49.63865],[9.35925,49.64974],[9.33998,49.63727],[9.31215,49.64836],[9.27789,49.62617],[9.28432,49.60814],[9.2415,49.57483],[9.09805,49.57205],[9.06594,49.60814],[9.10019,49.65113],[9.09163,49.6927],[9.13017,49.71208],[9.13873,49.74253],[9.10876,49.75637],[9.13659,49.79093],[9.10019,49.78955],[9.07236,49.82824],[9.03596,49.83514],[9.01669,50.02671],[8.96317,50.03084],[8.95674,50.05971],[9.00171,50.0707],[9.02097,50.11054],[9.1216,50.12289],[9.15586,50.11328],[9.19654,50.11878],[9.18583,50.13525],[9.23507,50.1476],[9.37638,50.12701],[9.4085,50.0817],[9.52197,50.09543],[9.50484,50.14211],[9.53267,50.16406],[9.48985,50.16954],[9.49413,50.24354],[9.61403,50.22163],[9.66541,50.23532],[9.63544,50.24901],[9.66756,50.27228],[9.74249,50.30922],[9.72964,50.35841],[9.77032,50.42939],[9.86881,50.40074],[9.91805,50.40893],[10.03581,50.47982],[10.03795,50.51115],[10.12359,50.56846]]],terms_url:"https://www.ldbv.bayern.de/",terms_text:"Bayerische Vermessungsverwaltung"},{id:"bavaria-DOP80",name:"Bavaria DOP 80cm",type:"tms",template:"https://mapproxy.osm.ch/tiles/BAYERNDOP80/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",scaleExtent:[7,18],polygon:[[[10.12359,50.56846],[10.14286,50.55078],[10.20281,50.55742],[10.25205,50.51796],[10.32698,50.49345],[10.41048,50.41848],[10.60317,50.33109],[10.62244,50.2271],[10.72521,50.21066],[10.72949,50.24765],[10.85153,50.24354],[10.71879,50.32015],[10.71236,50.36524],[10.85581,50.39664],[10.93717,50.39664],[10.99069,50.36661],[11.12772,50.36661],[11.1791,50.31332],[11.16197,50.29417],[11.24119,50.2928],[11.24975,50.37344],[11.24119,50.47982],[11.35895,50.5234],[11.43816,50.50979],[11.44244,50.48936],[11.42532,50.4771],[11.42532,50.44166],[11.48955,50.42257],[11.49169,50.39801],[11.51952,50.39801],[11.52594,50.37617],[11.59874,50.40347],[11.63727,50.38845],[11.79357,50.4212],[11.83639,50.39255],[11.92203,50.42802],[11.98626,50.38709],[11.98412,50.35705],[12.04835,50.33109],[12.09331,50.32972],[12.1297,50.29828],[12.14041,50.27228],[12.10615,50.25586],[12.11258,50.23532],[12.14897,50.23669],[12.19822,50.20107],[12.22391,50.16406],[12.20464,50.14348],[12.20678,50.10779],[12.24318,50.09955],[12.27743,50.07208],[12.49367,49.98543],[12.49796,49.94136],[12.55576,49.92206],[12.54934,49.86827],[12.48083,49.78817],[12.41018,49.75775],[12.46156,49.70655],[12.5472,49.68023],[12.58788,49.55261],[12.65425,49.53455],[12.66281,49.43302],[12.75274,49.41073],[12.7977,49.34661],[12.90475,49.35638],[12.99681,49.33685],[13.05462,49.27543],[13.13169,49.21952],[13.19164,49.14395],[13.2366,49.12153],[13.29655,49.12293],[13.37148,49.08088],[13.4143,49.02897],[13.4143,48.97981],[13.57916,48.96997],[13.63483,48.94326],[13.67765,48.88698],[13.73759,48.89261],[13.7847,48.83346],[13.84036,48.77423],[13.81681,48.70646],[13.84464,48.70081],[13.8425,48.60038],[13.76543,48.5423],[13.75258,48.50401],[13.67122,48.50543],[13.64339,48.54371],[13.45712,48.5508],[13.45712,48.41598],[13.40574,48.36053],[13.2837,48.27511],[13.09315,48.26941],[12.95827,48.19097],[12.87691,48.18526],[12.772,48.09382],[12.86407,48.01368],[12.89832,47.95492],[12.94543,47.95636],[12.99681,47.88461],[13.01394,47.83434],[12.93472,47.7322],[13.0589,47.72499],[13.11885,47.63851],[13.06532,47.56922],[13.05676,47.47379],[13.00323,47.45208],[12.76772,47.55044],[12.76986,47.63274],[12.73989,47.67312],[12.6671,47.67024],[12.57503,47.6212],[12.48083,47.61975],[12.41446,47.67024],[12.24318,47.67745],[12.2132,47.69186],[12.19179,47.68177],[12.2132,47.66591],[12.21106,47.60388],[12.17467,47.59521],[12.13827,47.60388],[11.89205,47.60388],[11.85137,47.57933],[11.63942,47.58222],[11.59445,47.54899],[11.59017,47.51285],[11.51738,47.49839],[11.4403,47.50417],[11.39534,47.47524],[11.42746,47.44484],[11.3461,47.44339],[11.27973,47.39559],[11.21336,47.38834],[11.24761,47.43181],[11.10203,47.39269],[10.965,47.38979],[10.97785,47.43615],[10.9179,47.47524],[10.8708,47.47524],[10.85581,47.49405],[10.90077,47.5143],[10.87294,47.53598],[10.81085,47.51285],[10.64385,47.54899],[10.59461,47.55477],[10.57962,47.52876],[10.46187,47.54032],[10.46615,47.48392],[10.48756,47.47813],[10.48756,47.41298],[10.45973,47.40283],[10.45973,47.37529],[10.41048,47.37384],[10.40834,47.34339],[10.32056,47.28678],[10.28202,47.27806],[10.28416,47.26208],[10.14714,47.26208],[10.1921,47.30275],[10.19424,47.37384],[10.16641,47.37384],[10.16641,47.34629],[10.10004,47.34339],[10.0615,47.36369],[10.06792,47.41877],[10.09361,47.42601],[10.09576,47.44194],[9.978,47.48537],[9.95659,47.52731],[9.8945,47.52876],[9.85596,47.50851],[9.81743,47.54465],[9.82171,47.57644],[9.77461,47.58222],[9.73821,47.52586],[9.67398,47.53454],[9.58406,47.56488],[9.63972,47.60532],[9.7168,47.60388],[9.85596,47.676],[9.978,47.65582],[10.02938,47.68177],[10.10004,47.66735],[10.13215,47.676],[10.14286,47.70195],[10.0615,47.7725],[10.11288,47.8099],[10.08291,47.85302],[10.1086,47.90902],[10.07649,47.96496],[10.13001,48.02084],[10.13429,48.10669],[10.10004,48.12813],[10.05508,48.26228],[9.96944,48.36765],[10.03153,48.42593],[10.02938,48.46144],[10.12359,48.47705],[10.15356,48.4515],[10.23492,48.51252],[10.31628,48.51678],[10.29915,48.61878],[10.24563,48.6683],[10.27346,48.70646],[10.3698,48.68385],[10.43189,48.69939],[10.45116,48.72765],[10.40192,48.746],[10.44046,48.84896],[10.43403,48.95873],[10.33769,49.02055],[10.24991,49.03599],[10.24991,49.07387],[10.20066,49.10331],[10.25205,49.13274],[10.12359,49.19714],[10.11931,49.26285],[10.15142,49.28939],[10.10432,49.34522],[10.14072,49.39401],[10.1086,49.44555],[10.11074,49.50537],[10.0722,49.53316],[10.01654,49.47616],[9.92662,49.47894],[9.92448,49.55678],[9.89878,49.58177],[9.85596,49.53872],[9.80672,49.55678],[9.86667,49.60675],[9.85382,49.6442],[9.81743,49.66083],[9.83455,49.68993],[9.79602,49.72039],[9.75748,49.70793],[9.74035,49.68577],[9.70609,49.71624],[9.67826,49.71624],[9.68254,49.68854],[9.62045,49.69131],[9.64615,49.78955],[9.55836,49.77434],[9.57121,49.73561],[9.50698,49.75222],[9.49199,49.77987],[9.46844,49.76051],[9.42562,49.77849],[9.40421,49.76466],[9.33356,49.7702],[9.32928,49.73423],[9.4085,49.72593],[9.42776,49.69824],[9.41492,49.6442],[9.38066,49.63865],[9.35925,49.64974],[9.33998,49.63727],[9.31215,49.64836],[9.27789,49.62617],[9.28432,49.60814],[9.2415,49.57483],[9.09805,49.57205],[9.06594,49.60814],[9.10019,49.65113],[9.09163,49.6927],[9.13017,49.71208],[9.13873,49.74253],[9.10876,49.75637],[9.13659,49.79093],[9.10019,49.78955],[9.07236,49.82824],[9.03596,49.83514],[9.01669,50.02671],[8.96317,50.03084],[8.95674,50.05971],[9.00171,50.0707],[9.02097,50.11054],[9.1216,50.12289],[9.15586,50.11328],[9.19654,50.11878],[9.18583,50.13525],[9.23507,50.1476],[9.37638,50.12701],[9.4085,50.0817],[9.52197,50.09543],[9.50484,50.14211],[9.53267,50.16406],[9.48985,50.16954],[9.49413,50.24354],[9.61403,50.22163],[9.66541,50.23532],[9.63544,50.24901],[9.66756,50.27228],[9.74249,50.30922],[9.72964,50.35841],[9.77032,50.42939],[9.86881,50.40074],[9.91805,50.40893],[10.03581,50.47982],[10.03795,50.51115],[10.12359,50.56846]]],terms_url:"https://www.ldbv.bayern.de/",terms_text:"Bayerische Vermessungsverwaltung",best:true},{id:"route500hydro",name:"BD Carthage",type:"tms",template:"https://{switch:a,b,c}.tile.openstreetmap.fr/route500hydro/{zoom}/{x}/{y}.png",scaleExtent:[6,20],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]]],terms_url:"http://www.sandre.eaufrance.fr/actualite/la-bd-carthage-en-licence-ouverte-open-licence",terms_text:"Tiles © cquest@Openstreetmap France, data © Onema - IGN, LO/OL",description:"Réseau hydrographique: cours et plans d'eau et POI",overlay:true},{id:"fr.ign.bdortho",name:"BDOrtho IGN",type:"tms",template:"https://proxy-ign.openstreetmap.fr/94GjiyqD/bdortho/{zoom}/{x}/{y}.jpg",scaleExtent:[2,21],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]],[[-61.27501,14.90218],[-60.72368,14.90101],[-60.72489,14.36686],[-61.27622,14.36803],[-61.27501,14.90218]],[[-61.92802,16.58618],[-61.92686,15.7394],[-60.88128,15.74072],[-60.88243,16.5875],[-61.92802,16.58618]],[[-53.89344,6.004],[-52.46522,5.4465],[-51.52039,4.51072],[-51.53687,4.11633],[-52.2345,3.10213],[-52.641,2.25162],[-52.92664,2.07597],[-53.72864,2.21869],[-54.20106,2.03205],[-54.8053,2.27358],[-54.31092,2.80589],[-54.31641,3.20085],[-54.12415,3.46408],[-54.12964,3.59567],[-54.42078,4.00127],[-54.58008,4.95962],[-53.89344,6.004]],[[55.08816,-20.77935],[55.95959,-20.77281],[55.96576,-21.49],[55.09434,-21.49651],[55.08816,-20.77935]],[[44.92054,-12.57363],[45.34826,-12.57029],[45.35274,-13.1163],[44.92502,-13.11963],[44.92054,-12.57363]],[[-178.57728,-14.70582],[-178.42568,-14.00334],[-176.34156,-12.83858],[-175.71534,-12.9189],[-175.91858,-13.58726],[-177.84638,-14.64983],[-178.57728,-14.70582]]],terms_url:"https://openstreetmap.fr/bdortho",terms_text:"BDOrtho IGN",best:true,icon:"http://www.ign.fr/institut/sites/all/themes/ign_institut/logo.png"},{id:"Benin_cotonou_pleiade_2016",name:"Benin: Cotonou Pleiade 2016",type:"tms",template:"https://geoxxx.agrocampus-ouest.fr/owsifl/gwc/service/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Benin:cotonou_pleiade_2016&STYLE=&FORMAT=image/jpeg&tileMatrixSet=EPSG:3857&tileMatrix=EPSG:3857:{zoom}&tileRow={y}&tileCol={x}",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",scaleExtent:[0,21],polygon:[[[2.31954,6.55745],[2.33645,6.56024],[2.36377,6.56211],[2.36738,6.56068],[2.37777,6.5494],[2.37779,6.53485],[2.36994,6.49332],[2.37038,6.45527],[2.36958,6.45269],[2.36188,6.44177],[2.35392,6.40545],[2.36749,6.4015],[2.39526,6.40072],[2.40128,6.40374],[2.40588,6.40341],[2.42046,6.39383],[2.42485,6.39794],[2.42949,6.39887],[2.43625,6.39628],[2.43958,6.40042],[2.44439,6.40189],[2.45376,6.39899],[2.47145,6.39632],[2.48162,6.39106],[2.49453,6.3874],[2.50893,6.38888],[2.50719,6.39229],[2.5012,6.39162],[2.4963,6.39521],[2.4951,6.40123],[2.49543,6.40401],[2.4983,6.41022],[2.50191,6.41282],[2.51087,6.41321],[2.52219,6.40849],[2.53352,6.40517],[2.5381,6.40961],[2.54111,6.4109],[2.54651,6.41099],[2.54654,6.40651],[2.57639,6.40724],[2.57642,6.41177],[2.58576,6.41196],[2.58868,6.41095],[2.60877,6.39414],[2.6257,6.39488],[2.64555,6.39729],[2.65039,6.39339],[2.65367,6.36823],[2.64312,6.36659],[2.61251,6.36289],[2.56868,6.3607],[2.54683,6.36055],[2.54687,6.35546],[2.50207,6.35461],[2.47064,6.35596],[2.46777,6.35203],[2.46423,6.3502],[2.45254,6.35006],[2.45113,6.34813],[2.44737,6.34629],[2.43757,6.34654],[2.43298,6.33841],[2.43016,6.33707],[2.42245,6.33707],[2.39236,6.34115],[2.39315,6.34115],[2.36528,6.34445],[2.35386,6.3453],[2.34377,6.34458],[2.34094,6.34534],[2.31086,6.36567],[2.28435,6.37465],[2.28147,6.37762],[2.27599,6.39517],[2.27612,6.3982],[2.31529,6.49261],[2.3158,6.55307],[2.31954,6.55745]],[[1.69563,6.25076],[1.7001,6.24712],[1.70418,6.24697],[1.75875,6.25836],[1.77079,6.25995],[1.81712,6.27161],[1.84457,6.27657],[1.85768,6.27945],[1.88843,6.28326],[1.90482,6.28595],[1.90618,6.29435],[1.90083,6.29721],[1.89881,6.29954],[1.89404,6.30085],[1.89048,6.2997],[1.88748,6.29636],[1.88344,6.29622],[1.8697,6.29227],[1.8564,6.29198],[1.85207,6.28675],[1.84991,6.28906],[1.84691,6.29203],[1.84353,6.29333],[1.84041,6.29315],[1.83627,6.29129],[1.8341,6.28733],[1.83417,6.2852],[1.8323,6.28456],[1.82786,6.28644],[1.82182,6.29084],[1.81563,6.28998],[1.81211,6.29143],[1.80758,6.29571],[1.80472,6.29693],[1.80074,6.2971],[1.79776,6.29612],[1.79625,6.29492],[1.7949,6.28965],[1.79641,6.28608],[1.80098,6.28338],[1.79567,6.28013],[1.79156,6.28174],[1.78499,6.28122],[1.78092,6.27753],[1.77588,6.2755],[1.76745,6.27696],[1.75653,6.27496],[1.74833,6.27239],[1.74762,6.27726],[1.74572,6.27938],[1.73948,6.27985],[1.7368,6.27761],[1.73572,6.27892],[1.72902,6.27911],[1.72435,6.27422],[1.72449,6.26786],[1.72556,6.26683],[1.69934,6.26159],[1.69573,6.25726],[1.69563,6.25076]]],best:true},{id:"Bing",name:"Bing aerial imagery",type:"bing",template:"https://www.bing.com/maps",scaleExtent:[0,22],"default":true,description:"Satellite and aerial imagery.",icon:"data:image/png;base64,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"},{id:"Bologna-Orthophoto-2017",name:"Bologna ortofoto 2017",type:"tms",template:"https://sitmappe.comune.bologna.it/tms/tileserver/Ortofoto2017/{zoom}/{x}/{y}.png",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",scaleExtent:[0,19],polygon:[[[11.24485,44.555],[11.23043,44.5298],[11.23215,44.52442],[11.23627,44.52466],[11.24176,44.52246],[11.23867,44.51218],[11.23386,44.51071],[11.2373,44.50263],[11.25069,44.50189],[11.24897,44.49602],[11.25755,44.49724],[11.25687,44.49357],[11.28262,44.48842],[11.29463,44.48965],[11.29738,44.48328],[11.2912,44.4801],[11.29292,44.46074],[11.28639,44.45829],[11.28193,44.42593],[11.2936,44.42716],[11.29463,44.4328],[11.31248,44.42201],[11.31695,44.42103],[11.33686,44.42741],[11.33686,44.43059],[11.33102,44.43206],[11.33343,44.4377],[11.34338,44.43672],[11.36192,44.4502],[11.37016,44.44824],[11.37394,44.44922],[11.37394,44.45829],[11.39351,44.46221],[11.40003,44.4605],[11.40278,44.46246],[11.39488,44.46736],[11.41514,44.48377],[11.42406,44.48524],[11.42578,44.48916],[11.41685,44.49063],[11.43196,44.51413],[11.40862,44.52809],[11.41273,44.53983],[11.36467,44.55427],[11.34407,44.55231],[11.33617,44.54473],[11.31317,44.54669],[11.30888,44.53604],[11.30854,44.52992],[11.28965,44.5358],[11.29257,44.53898],[11.28021,44.54779],[11.26923,44.53225],[11.25172,44.55427],[11.24485,44.555]]],terms_url:"http://dati.comune.bologna.it/node/3449",terms_text:"© Comune di Bologna cc-by 4.0 ODbL compliant",best:true},{id:"Bonvillars-2013",name:"Bonvillars Orthophoto 2013",type:"tms",template:"http://osmdata.asitvd.ch/tiles/bonvillars2013/{zoom}/{x}/{y}.png",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[14,20],polygon:[[[6.66713,46.83358],[6.66313,46.83833],[6.67213,46.84191],[6.6749,46.84226],[6.67843,46.83807],[6.66713,46.83358]]],terms_url:"http://osmdata.asitvd.ch/",terms_text:"Bonvillars - Orthophoto technique 2013"},{id:"Bordeaux_2012",name:"Bordeaux - 2012",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/bordeaux_2012/{zoom}/{x}/{y}",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[-0.59923,45.04193],[-0.54231,45.02757],[-0.50979,45.00601],[-0.47727,45.00206],[-0.47066,44.97367],[-0.45542,44.95102],[-0.46456,44.91792],[-0.4732,44.91936],[-0.48794,44.90928],[-0.4981,44.89057],[-0.48946,44.87797],[-0.4666,44.87076],[-0.47625,44.84735],[-0.49505,44.83978],[-0.49099,44.83186],[-0.46965,44.82537],[-0.49709,44.80446],[-0.52453,44.80013],[-0.5103,44.76767],[-0.53469,44.76515],[-0.56213,44.75107],[-0.5601,44.74169],[-0.5728,44.74133],[-0.59465,44.7601],[-0.63429,44.73989],[-0.65004,44.77705],[-0.67901,44.77489],[-0.68816,44.77922],[-0.71509,44.76839],[-0.75168,44.7471],[-0.76336,44.75577],[-0.73846,44.77561],[-0.74202,44.78571],[-0.72779,44.81239],[-0.73999,44.82861],[-0.76438,44.82933],[-0.803,44.82176],[-0.8401,44.82753],[-0.83908,44.84014],[-0.87567,44.85023],[-0.88532,44.85852],[-0.88685,44.88769],[-0.86601,44.88697],[-0.84569,44.89669],[-0.83349,44.92764],[-0.81825,44.92764],[-0.80198,44.92224],[-0.79843,44.9485],[-0.78725,44.94814],[-0.75574,44.97007],[-0.72169,44.95785],[-0.69578,44.93087],[-0.68866,44.93447],[-0.67139,44.93267],[-0.66935,44.94095],[-0.62514,44.95066],[-0.63226,44.95893],[-0.63124,44.9672],[-0.60024,44.96756],[-0.55146,44.97834],[-0.54079,44.97726],[-0.55451,44.99739],[-0.59364,45.01751],[-0.60787,45.03403],[-0.59923,45.04193]]],terms_text:"Communauté urbaine de Bordeaux - 2012"},{id:"Bordeaux_2016",name:"Bordeaux 2016",type:"tms",template:"http://tms.bordeaux.inria.fr/bdx2016/{zoom}/{x}/{y}.jpg",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",scaleExtent:[14,20],polygon:[[[-0.59923,45.04193],[-0.54231,45.02757],[-0.50979,45.00601],[-0.47727,45.00206],[-0.47066,44.97367],[-0.45542,44.95102],[-0.46456,44.91792],[-0.4732,44.91936],[-0.48794,44.90928],[-0.4981,44.89057],[-0.48946,44.87797],[-0.4666,44.87076],[-0.47625,44.84735],[-0.49505,44.83978],[-0.49099,44.83186],[-0.46965,44.82537],[-0.49709,44.80446],[-0.52453,44.80013],[-0.5103,44.76767],[-0.53469,44.76515],[-0.56213,44.75107],[-0.5601,44.74169],[-0.5728,44.74133],[-0.59465,44.7601],[-0.63429,44.73989],[-0.65004,44.77705],[-0.67901,44.77489],[-0.68816,44.77922],[-0.71509,44.76839],[-0.75168,44.7471],[-0.76336,44.75577],[-0.73846,44.77561],[-0.74202,44.78571],[-0.72779,44.81239],[-0.73999,44.82861],[-0.76438,44.82933],[-0.803,44.82176],[-0.8401,44.82753],[-0.83908,44.84014],[-0.87567,44.85023],[-0.88532,44.85852],[-0.88685,44.88769],[-0.86601,44.88697],[-0.84569,44.89669],[-0.83349,44.92764],[-0.81825,44.92764],[-0.80198,44.92224],[-0.79843,44.9485],[-0.78725,44.94814],[-0.75574,44.97007],[-0.72169,44.95785],[-0.69578,44.93087],[-0.68866,44.93447],[-0.67139,44.93267],[-0.66935,44.94095],[-0.62514,44.95066],[-0.63226,44.95893],[-0.63124,44.9672],[-0.60024,44.96756],[-0.55146,44.97834],[-0.54079,44.97726],[-0.55451,44.99739],[-0.59364,45.01751],[-0.60787,45.03403],[-0.59923,45.04193]]],terms_text:"Bordeaux Métropole - 2016"},{id:"branquinha_al",name:"Branquinha AL",type:"wms",template:"http://geoserver.dados.al.gov.br:8080/geoserver/Alagoas/ows?service=WMS&version=1.1.0&request=GetMap&layers=Branquinha&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-35.96968,-9.2928],[-35.97063,-9.20261],[-35.97727,-9.20264],[-35.98365,-9.2027],[-35.98765,-9.20266],[-35.99159,-9.20274],[-36.00498,-9.20284],[-36.01473,-9.20293],[-36.01651,-9.20296],[-36.01871,-9.20293],[-36.02487,-9.20286],[-36.02892,-9.20297],[-36.03308,-9.20289],[-36.03769,-9.20294],[-36.04581,-9.203],[-36.05161,-9.20305],[-36.05457,-9.20301],[-36.06022,-9.20304],[-36.06191,-9.20304],[-36.0618,-9.21319],[-36.06167,-9.21806],[-36.06156,-9.21915],[-36.06163,-9.22156],[-36.06144,-9.22277],[-36.06139,-9.22716],[-36.06134,-9.23227],[-36.0614,-9.23391],[-36.06145,-9.23494],[-36.06131,-9.23646],[-36.06133,-9.23773],[-36.06142,-9.23905],[-36.06145,-9.24133],[-36.06136,-9.2423],[-36.06141,-9.24358],[-36.06139,-9.2453],[-36.06126,-9.24726],[-36.06123,-9.24949],[-36.06127,-9.25107],[-36.06121,-9.25517],[-36.06119,-9.25795],[-36.06107,-9.25945],[-36.06109,-9.26183],[-36.06106,-9.26493],[-36.06086,-9.27146],[-36.06083,-9.2751],[-36.06074,-9.28274],[-36.0608,-9.29234],[-36.06074,-9.29363],[-36.05477,-9.29357],[-36.04621,-9.29349],[-36.03941,-9.29348],[-36.03501,-9.29339],[-36.02979,-9.29341],[-36.02167,-9.29332],[-36.01278,-9.29328],[-36.00468,-9.29321],[-35.99678,-9.29314],[-35.98969,-9.29312],[-35.98483,-9.29305],[-35.98305,-9.29289],[-35.98173,-9.29294],[-35.97884,-9.29282],[-35.96968,-9.2928]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"British_Columbia_Mosaic",name:"British Columbia Mosaic",type:"tms",template:"http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/bc_mosaic/{zoom}/{x}/{y}.png",endDate:"2013-06-01T00:00:00.000Z",startDate:"2009-01-01T00:00:00.000Z",scaleExtent:[9,20],polygon:[[[-123.3176,49.32726],[-123.44053,49.32682],[-123.44072,49.33844],[-123.43984,49.34304],[-123.44013,49.34354],[-123.44011,49.34399],[-123.44063,49.34445],[-123.44047,49.34558],[-123.43978,49.34606],[-123.43897,49.34613],[-123.43729,49.35672],[-123.43748,49.37108],[-123.43353,49.37094],[-123.43304,49.37373],[-123.43327,49.37512],[-123.43228,49.3761],[-123.43175,49.37917],[-123.43143,49.37959],[-123.43078,49.38239],[-123.43134,49.38274],[-123.43121,49.38385],[-123.43004,49.38459],[-123.41899,49.38471],[-123.41922,49.41352],[-123.39725,49.41357],[-123.39728,49.42435],[-123.40069,49.42433],[-123.40077,49.57035],[-123.40008,49.57035],[-123.40108,49.59338],[-123.37604,49.59328],[-123.37698,49.67561],[-123.35073,49.67564],[-123.3508,49.70868],[-123.33289,49.70872],[-123.33279,49.72563],[-123.30071,49.72556],[-123.30092,49.73754],[-123.2886,49.73764],[-123.28878,49.82492],[-123.2998,49.82492],[-123.30117,49.84978],[-123.32182,49.85067],[-123.32733,49.85777],[-123.32767,49.97589],[-123.30083,49.97522],[-123.30072,50.0997],[-123.25017,50.10074],[-123.25091,50.27549],[-123.02243,50.27556],[-123.02249,50.32549],[-123.00093,50.32547],[-123.00078,50.34239],[-122.9775,50.34234],[-122.97748,50.35043],[-122.95081,50.3505],[-122.95079,50.3712],[-122.93252,50.37115],[-122.9321,50.39979],[-122.88742,50.39997],[-122.88734,50.42561],[-122.66202,50.4257],[-122.66231,50.39945],[-122.59903,50.39924],[-122.59883,50.37552],[-122.57248,50.37537],[-122.57356,50.24939],[-122.59904,50.24946],[-122.59915,50.22657],[-122.6185,50.22664],[-122.61857,50.22441],[-122.64906,50.22451],[-122.64922,50.19935],[-122.73086,50.19938],[-122.73116,50.12443],[-122.74904,50.12451],[-122.74905,50.0903],[-122.76878,50.09034],[-122.76898,49.94945],[-122.99905,49.94947],[-122.99912,49.87546],[-122.97759,49.87546],[-122.97781,49.69951],[-122.99924,49.69948],[-122.99925,49.65165],[-123.02215,49.65165],[-123.02212,49.59951],[-123.04919,49.59946],[-123.04919,49.59405],[-123.06646,49.59404],[-123.06636,49.54519],[-123.06999,49.54512],[-123.0699,49.54132],[-123.07068,49.53928],[-123.07089,49.53799],[-123.07115,49.53688],[-123.07111,49.53581],[-123.07138,49.53282],[-123.07165,49.53211],[-123.07171,49.53139],[-123.07203,49.53042],[-123.07396,49.53035],[-123.0748,49.5295],[-123.07482,49.52881],[-123.07434,49.52806],[-123.07353,49.52746],[-123.07337,49.52704],[-123.07329,49.52559],[-123.07371,49.52496],[-123.07362,49.52449],[-123.09926,49.52449],[-123.09916,49.47545],[-123.07105,49.47553],[-123.07109,49.4663],[-123.07392,49.46631],[-123.07422,49.4505],[-123.07463,49.45009],[-123.07465,49.44933],[-123.0746,49.44902],[-123.07446,49.44869],[-123.07433,49.44799],[-123.07424,49.44777],[-123.07431,49.44475],[-123.07471,49.44476],[-123.07464,49.43773],[-122.99965,49.43774],[-122.99965,49.43692],[-122.86062,49.44153],[-122.81026,49.4424],[-122.8099,49.37667],[-122.40361,49.37666],[-122.40363,49.37719],[-122.26474,49.3773],[-122.26354,49.23601],[-122.21557,49.23614],[-122.0581,49.23588],[-121.95383,49.29665],[-121.94009,49.30454],[-121.92358,49.31423],[-121.89909,49.32254],[-121.88834,49.32598],[-121.8553,49.33636],[-121.8327,49.34415],[-121.76713,49.36544],[-121.67367,49.36546],[-121.64042,49.37438],[-121.5962,49.38605],[-121.58612,49.38792],[-121.52137,49.39946],[-121.51174,49.40384],[-121.46793,49.4229],[-121.44168,49.43456],[-121.42243,49.43458],[-121.34629,49.39323],[-121.34801,49.34124],[-121.5135,49.32058],[-121.60317,49.27717],[-121.65841,49.18561],[-121.67995,49.16541],[-121.78158,49.07026],[-121.80762,49.06225],[-121.9394,49.06362],[-121.97255,49.04242],[-121.99214,49.03329],[-122.00353,49.02734],[-122.01786,49.02411],[-122.11086,48.99928],[-122.14931,48.99953],[-122.14927,48.99915],[-122.19914,48.9996],[-122.19918,48.9992],[-122.23436,48.99948],[-122.23436,49.00017],[-122.39947,49.00124],[-122.45213,49.00163],[-122.45213,49.00088],[-122.45841,49.00093],[-122.45848,48.99931],[-122.49925,48.9995],[-122.49925,48.99929],[-122.54926,48.99951],[-122.54926,48.99932],[-122.65808,48.99942],[-122.65811,48.9954],[-122.70676,48.99553],[-122.75198,48.99564],[-122.79221,48.99572],[-122.79219,48.99943],[-123.03504,48.99957],[-123.03504,49.0001],[-123.03971,49.00005],[-123.03974,49.00018],[-123.04855,49.00013],[-123.04853,49.00047],[-123.05571,49.00045],[-123.05563,49.00023],[-123.06414,49.00013],[-123.06416,48.99994],[-123.0749,48.99969],[-123.07507,49.00062],[-123.08996,49.00037],[-123.10923,48.99994],[-123.12712,49.0003],[-123.136,48.99987],[-123.13627,49.00058],[-123.15385,48.99981],[-123.15405,49.00068],[-123.171,49.00013],[-123.20009,48.99968],[-123.20034,49.04978],[-123.21088,49.04972],[-123.21122,49.05199],[-123.20705,49.05209],[-123.20789,49.06079],[-123.21917,49.0601],[-123.21896,49.06127],[-123.22518,49.06127],[-123.22539,49.06224],[-123.22971,49.06203],[-123.22981,49.06859],[-123.23319,49.06873],[-123.2335,49.07059],[-123.24931,49.07025],[-123.24973,49.08026],[-123.27514,49.0804],[-123.27514,49.08709],[-123.29948,49.0873],[-123.29944,49.08025],[-123.32545,49.08039],[-123.32544,49.11547],[-123.2751,49.15033],[-123.27518,49.18733],[-123.27881,49.18711],[-123.27889,49.19107],[-123.30048,49.19107],[-123.30042,49.26229],[-123.31262,49.26224],[-123.3126,49.27149],[-123.31543,49.27147],[-123.31566,49.28189],[-123.31747,49.28188],[-123.3175,49.29185],[-123.31904,49.29185],[-123.31907,49.2986],[-123.32023,49.29857],[-123.32028,49.30197],[-123.32227,49.30196],[-123.32239,49.31183],[-123.3254,49.31181],[-123.32539,49.32017],[-123.31927,49.3202],[-123.31922,49.32467],[-123.31794,49.32466],[-123.31799,49.32541],[-123.3176,49.32726]]],terms_url:"http://imagery.paulnorman.ca/tiles/about.html",terms_text:"Copyright Province of British Columbia, City of Surrey"},{id:"Budapest_XI_2015",name:"Budapest district XI orthophoto 2015",type:"wms",template:"http://terinfo.ujbuda.hu/mapproxy/service?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=orto2015_20160304&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[19.04767,47.48789],[19.05157,47.4899],[19.06434,47.4792],[19.0665,47.47632],[19.06766,47.47343],[19.06837,47.47077],[19.06846,47.46876],[19.06722,47.46501],[19.05683,47.45259],[19.0549,47.44906],[19.05176,47.43499],[19.04863,47.429],[19.04384,47.42968],[19.04023,47.42932],[19.03509,47.43818],[19.03221,47.43779],[19.0252,47.442],[19.0207,47.44576],[19.01915,47.44658],[19.01545,47.44759],[19.01347,47.44361],[19.01266,47.44271],[19.01178,47.44247],[19.0119,47.44188],[19.0098,47.43944],[19.0057,47.43111],[19.00046,47.43097],[18.99534,47.42821],[18.97545,47.42818],[18.97343,47.42904],[18.97361,47.42998],[18.97548,47.43067],[18.97719,47.43402],[18.97823,47.43817],[18.97733,47.44657],[18.97004,47.44988],[18.96861,47.45142],[18.97568,47.45506],[18.97586,47.45556],[18.97625,47.45584],[18.97658,47.45594],[18.97763,47.45597],[18.98017,47.45605],[18.98162,47.46067],[18.97793,47.46857],[18.96867,47.47643],[18.97745,47.48194],[18.98035,47.48169],[18.98565,47.4782],[18.98907,47.47838],[18.99117,47.47898],[18.99177,47.48102],[18.99288,47.48182],[18.99836,47.48238],[18.99902,47.483],[19.004,47.48189],[19.00416,47.48399],[19.01027,47.48535],[19.01237,47.48404],[19.0138,47.48351],[19.01674,47.48465],[19.0163,47.48539],[19.01689,47.48595],[19.01808,47.48605],[19.02108,47.48492],[19.02124,47.48612],[19.02301,47.48741],[19.02637,47.48885],[19.02995,47.48904],[19.03135,47.48855],[19.03189,47.48759],[19.03286,47.48712],[19.03364,47.48702],[19.03514,47.48725],[19.03585,47.48729],[19.03616,47.48751],[19.03665,47.48767],[19.03748,47.48774],[19.03847,47.48737],[19.03918,47.48679],[19.04105,47.48649],[19.04181,47.48737],[19.04387,47.4881],[19.04542,47.48817],[19.04695,47.4881],[19.04767,47.48789]]],terms_url:"http://terinfo.ujbuda.hu",terms_text:"Budapest XI. kerület önkormányzata",description:"5 cm resolution bald image"},{id:"Budapest_XI_2017",name:"Budapest district XI orthophoto 2017",type:"wms",template:"http://terinfo.ujbuda.hu/mapproxy/service?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=orto_2017&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2017-03-01T00:00:00.000Z",startDate:"2017-03-01T00:00:00.000Z",polygon:[[[19.04767,47.48789],[19.05157,47.4899],[19.06434,47.4792],[19.0665,47.47632],[19.06766,47.47343],[19.06837,47.47077],[19.06846,47.46876],[19.06722,47.46501],[19.05683,47.45259],[19.0549,47.44906],[19.05176,47.43499],[19.04863,47.429],[19.04384,47.42968],[19.04023,47.42932],[19.03509,47.43818],[19.03221,47.43779],[19.0252,47.442],[19.0207,47.44576],[19.01915,47.44658],[19.01545,47.44759],[19.01347,47.44361],[19.01266,47.44271],[19.01178,47.44247],[19.0119,47.44188],[19.0098,47.43944],[19.0057,47.43111],[19.00046,47.43097],[18.99534,47.42821],[18.97545,47.42818],[18.97343,47.42904],[18.97361,47.42998],[18.97548,47.43067],[18.97719,47.43402],[18.97823,47.43817],[18.97733,47.44657],[18.97004,47.44988],[18.96861,47.45142],[18.97568,47.45506],[18.97586,47.45556],[18.97625,47.45584],[18.97658,47.45594],[18.97763,47.45597],[18.98017,47.45605],[18.98162,47.46067],[18.97793,47.46857],[18.96867,47.47643],[18.97745,47.48194],[18.98035,47.48169],[18.98565,47.4782],[18.98907,47.47838],[18.99117,47.47898],[18.99177,47.48102],[18.99288,47.48182],[18.99836,47.48238],[18.99902,47.483],[19.004,47.48189],[19.00416,47.48399],[19.01027,47.48535],[19.01237,47.48404],[19.0138,47.48351],[19.01674,47.48465],[19.0163,47.48539],[19.01689,47.48595],[19.01808,47.48605],[19.02108,47.48492],[19.02124,47.48612],[19.02301,47.48741],[19.02637,47.48885],[19.02995,47.48904],[19.03135,47.48855],[19.03189,47.48759],[19.03286,47.48712],[19.03364,47.48702],[19.03514,47.48725],[19.03585,47.48729],[19.03616,47.48751],[19.03665,47.48767],[19.03748,47.48774],[19.03847,47.48737],[19.03918,47.48679],[19.04105,47.48649],[19.04181,47.48737],[19.04387,47.4881],[19.04542,47.48817],[19.04695,47.4881],[19.04767,47.48789]]],terms_url:"http://terinfo.ujbuda.hu",terms_text:"Budapest XI. kerület önkormányzata",best:true,description:"5 cm resolution bald image"},{id:"Cadastre",name:"Cadastre",type:"tms",template:"http://tms.cadastre.openstreetmap.fr/*/tout/{zoom}/{x}/{y}.png",scaleExtent:[12,22],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]]],terms_url:"https://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 : 2018",description:"French land registry",icon:"https://svn.openstreetmap.org/applications/editors/josm/plugins/cadastre-fr/images/cadastre_small.png"},{id:"lu.geoportail.opendata.cadastre",name:"Cadastre geoportail.lu",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.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,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",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"cajueiro_al",name:"Cajueiro AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Cajueiro&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.10753,-9.43884],[-36.10752,-9.43421],[-36.10767,-9.42959],[-36.10779,-9.42361],[-36.10769,-9.41927],[-36.10781,-9.41391],[-36.10803,-9.41094],[-36.1081,-9.40965],[-36.10811,-9.40747],[-36.10816,-9.40693],[-36.10819,-9.40418],[-36.10811,-9.40176],[-36.10817,-9.40002],[-36.10827,-9.39952],[-36.10827,-9.39646],[-36.10833,-9.39475],[-36.10832,-9.39273],[-36.10836,-9.3904],[-36.10841,-9.38447],[-36.10847,-9.38165],[-36.10846,-9.37767],[-36.10835,-9.37573],[-36.10845,-9.37432],[-36.10849,-9.37234],[-36.10845,-9.3697],[-36.10867,-9.36278],[-36.10863,-9.36102],[-36.10873,-9.35928],[-36.10874,-9.35736],[-36.10855,-9.35479],[-36.1087,-9.3523],[-36.10871,-9.34996],[-36.10873,-9.34893],[-36.11269,-9.34908],[-36.11726,-9.34912],[-36.12138,-9.34905],[-36.12806,-9.3491],[-36.13217,-9.34906],[-36.13694,-9.34915],[-36.14025,-9.34914],[-36.14134,-9.34932],[-36.14458,-9.34916],[-36.14684,-9.34914],[-36.14842,-9.34905],[-36.15276,-9.34907],[-36.154,-9.34922],[-36.15627,-9.34923],[-36.16026,-9.34921],[-36.16086,-9.34929],[-36.166,-9.34933],[-36.16938,-9.34942],[-36.17176,-9.34936],[-36.17628,-9.34945],[-36.18028,-9.34937],[-36.18227,-9.34946],[-36.18826,-9.34938],[-36.19039,-9.34945],[-36.19354,-9.34946],[-36.19552,-9.34941],[-36.19918,-9.34951],[-36.19926,-9.35146],[-36.19913,-9.35234],[-36.19912,-9.35353],[-36.19919,-9.35646],[-36.19922,-9.35771],[-36.1993,-9.35832],[-36.19933,-9.36112],[-36.19922,-9.36177],[-36.19918,-9.36258],[-36.19931,-9.364],[-36.19926,-9.36499],[-36.19922,-9.36563],[-36.19928,-9.3666],[-36.19917,-9.36796],[-36.19917,-9.36868],[-36.19922,-9.36911],[-36.19912,-9.37017],[-36.19887,-9.37149],[-36.19886,-9.37264],[-36.19902,-9.37322],[-36.19915,-9.37504],[-36.19911,-9.37688],[-36.19896,-9.37747],[-36.19899,-9.37915],[-36.19917,-9.38053],[-36.19919,-9.38124],[-36.19926,-9.38175],[-36.19928,-9.38302],[-36.19913,-9.38374],[-36.19908,-9.38592],[-36.19879,-9.38787],[-36.19881,-9.38935],[-36.19902,-9.39092],[-36.19904,-9.392],[-36.19899,-9.39348],[-36.1988,-9.39451],[-36.19867,-9.39705],[-36.19845,-9.39949],[-36.19864,-9.40313],[-36.19866,-9.40476],[-36.19865,-9.40836],[-36.19875,-9.40902],[-36.19857,-9.41058],[-36.19859,-9.41273],[-36.19874,-9.41446],[-36.19868,-9.41711],[-36.1986,-9.41902],[-36.19846,-9.41965],[-36.1985,-9.42235],[-36.19871,-9.42429],[-36.19858,-9.42697],[-36.1984,-9.42895],[-36.19857,-9.43412],[-36.19871,-9.4347],[-36.19865,-9.43595],[-36.19857,-9.43626],[-36.19859,-9.43667],[-36.19876,-9.43749],[-36.19889,-9.43905],[-36.19882,-9.43995],[-36.1785,-9.43977],[-36.17718,-9.43968],[-36.17265,-9.43967],[-36.17099,-9.43971],[-36.16396,-9.43963],[-36.15386,-9.4395],[-36.13983,-9.4393],[-36.12875,-9.43913],[-36.11497,-9.43892],[-36.10753,-9.43884]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"osm-cambodia_laos_thailand_vietnam-bilingual",name:"Cambodia, Laos, Thailand, Vietnam, Malaysia, Myanmar bilingual",type:"tms",template:"https://{switch:a,b,c,d}.tile.osm-tools.org/osm/{zoom}/{x}/{y}.png",scaleExtent:[0,20],polygon:[[[92.10238,20.81356],[93.56905,24.09755],[94.1733,23.92695],[95.19503,26.70727],[96.75509,27.52867],[97.58456,28.5806],[98.73812,27.51405],[98.74362,25.87992],[97.67794,24.75774],[97.96359,24.04238],[98.82052,24.16272],[99.52364,22.95934],[100.36959,21.50514],[101.79232,22.48305],[105.36288,23.33311],[106.81857,22.84801],[108.19735,21.36197],[107.43895,18.85398],[117.14537,7.46562],[119.6173,5.28754],[118.12315,4.05023],[117.25523,4.36249],[115.86546,4.34606],[115.50841,3.02498],[114.5526,1.5101],[113.54186,1.25748],[112.96507,1.5705],[112.24547,1.5101],[111.67418,1.01583],[110.4547,0.90049],[109.49889,1.9219],[103.22569,1.12568],[100.46263,3.23889],[97.6721,8.05888],[93.89281,15.93987],[92.10238,20.81356]]],terms_url:"http://www.osm-tools.org",terms_text:"© osm-tools.org & OpenStreetMap contributors, CC-BY-SA"},{id:"campo_alegre_al",name:"Campo Alegre AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Campo%20Alegre&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.30643,-9.82332],[-36.30603,-9.78597],[-36.30602,-9.78263],[-36.30609,-9.78168],[-36.30604,-9.78081],[-36.3059,-9.77531],[-36.30586,-9.76496],[-36.30545,-9.73336],[-36.39634,-9.73248],[-36.39627,-9.73744],[-36.39636,-9.74336],[-36.39644,-9.75535],[-36.3966,-9.75856],[-36.39665,-9.75979],[-36.39655,-9.76244],[-36.39661,-9.76489],[-36.39658,-9.76648],[-36.39661,-9.76684],[-36.39659,-9.7696],[-36.3967,-9.77896],[-36.39675,-9.78464],[-36.39684,-9.79067],[-36.39693,-9.79681],[-36.39703,-9.80298],[-36.39719,-9.82033],[-36.39722,-9.82234],[-36.39392,-9.82233],[-36.35375,-9.82279],[-36.34822,-9.82286],[-36.31697,-9.82317],[-36.31191,-9.82324],[-36.30879,-9.82327],[-36.30643,-9.82332]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"canaan_drone_red_cross_201712",name:"Canaan - American Red Cross, Dec-2017",type:"tms",template:"https://tiles.openaerialmap.org/5ac65a9f91b5310010e0d489/0/5ac65a9f91b5310010e0d48a/{zoom}/{x}/{y}.png",endDate:"2017-12-20T00:00:00.000Z",startDate:"2017-12-11T00:00:00.000Z",polygon:[[[-72.26734,18.63561],[-72.2636,18.6373],[-72.26116,18.64141],[-72.25983,18.64588],[-72.25811,18.64742],[-72.24502,18.64795],[-72.23433,18.64807],[-72.22734,18.6482],[-72.21953,18.65438],[-72.2161,18.65446],[-72.21584,18.66222],[-72.21725,18.66739],[-72.21889,18.67019],[-72.22309,18.66958],[-72.22343,18.67312],[-72.22502,18.6732],[-72.22545,18.67609],[-72.23288,18.67597],[-72.23339,18.67877],[-72.23674,18.67857],[-72.23854,18.67975],[-72.24,18.68129],[-72.24463,18.68207],[-72.24682,18.6817],[-72.24605,18.67698],[-72.25094,18.67698],[-72.25511,18.67902],[-72.25961,18.67898],[-72.26081,18.67743],[-72.27038,18.67711],[-72.27901,18.67682],[-72.28373,18.67893],[-72.28613,18.68154],[-72.29665,18.68178],[-72.30184,18.68568],[-72.3012,18.68824],[-72.30802,18.69324],[-72.30948,18.69308],[-72.31699,18.69682],[-72.32806,18.70528],[-72.3384,18.69902],[-72.34012,18.69666],[-72.33961,18.69426],[-72.33377,18.68357],[-72.33135,18.68192],[-72.32551,18.68093],[-72.32027,18.67741],[-72.31626,18.67477],[-72.31167,18.672],[-72.308,18.66995],[-72.30534,18.66926],[-72.30068,18.66499],[-72.29796,18.66479],[-72.29609,18.66129],[-72.29315,18.65999],[-72.29519,18.65497],[-72.28414,18.64962],[-72.27804,18.64523],[-72.27487,18.64212],[-72.27352,18.64057],[-72.2706,18.63901],[-72.26734,18.63561]]],terms_url:"http://americanredcross.github.io/",terms_text:"American Red Cross",description:"Drone imagery collected December 2017 for Canaan, Haiti by American Red Cross in coordination with the Haitian Red Cross."},{id:"Geneve-SITG-2011",name:"Canton de Génève 5cm (SITG 2011)",type:"wms",template:"https://ge.ch/ags2/services/Orthophotos_2011/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[6.18221,46.22618],[6.18348,46.22772],[6.18929,46.23329],[6.19196,46.23858],[6.19253,46.24239],[6.19061,46.24397],[6.19046,46.24654],[6.19256,46.25045],[6.19186,46.25262],[6.19325,46.256],[6.19287,46.25776],[6.19543,46.26181],[6.1979,46.26454],[6.20045,46.26569],[6.20917,46.26634],[6.21716,46.27388],[6.22046,46.27895],[6.2275,46.28649],[6.23433,46.28955],[6.23643,46.2932],[6.24074,46.29774],[6.23958,46.30396],[6.2413,46.30529],[6.2432,46.30453],[6.24513,46.30492],[6.24627,46.30372],[6.24983,46.3027],[6.25032,46.3014],[6.24938,46.30018],[6.25146,46.29647],[6.25063,46.29451],[6.25223,46.29382],[6.25429,46.2907],[6.25231,46.28735],[6.25032,46.2868],[6.24974,46.28574],[6.24636,46.28433],[6.24323,46.28428],[6.23985,46.28098],[6.23934,46.27627],[6.24372,46.27356],[6.25113,46.26258],[6.26244,46.2553],[6.26301,46.25457],[6.262,46.25215],[6.26736,46.24887],[6.27732,46.25211],[6.27725,46.25298],[6.2832,46.25503],[6.28231,46.25568],[6.28278,46.25677],[6.28868,46.26046],[6.29154,46.2644],[6.29457,46.26556],[6.29729,46.26489],[6.29783,46.2631],[6.29541,46.25827],[6.29663,46.2566],[6.3024,46.2558],[6.30678,46.25753],[6.311,46.25666],[6.30768,46.25184],[6.31046,46.25057],[6.31011,46.24749],[6.31156,46.24386],[6.29606,46.22501],[6.29012,46.22241],[6.27773,46.21493],[6.26707,46.21276],[6.25668,46.20926],[6.25089,46.20574],[6.25076,46.20456],[6.2495,46.20404],[6.24643,46.20454],[6.24251,46.20364],[6.23594,46.20541],[6.23347,46.20509],[6.22889,46.20172],[6.22323,46.20005],[6.22355,46.19881],[6.22257,46.19791],[6.21935,46.19765],[6.21688,46.19448],[6.21259,46.19189],[6.20727,46.19137],[6.20588,46.18908],[6.2034,46.18806],[6.20282,46.18642],[6.20035,46.18504],[6.19905,46.18296],[6.19615,46.18288],[6.1885,46.17967],[6.18751,46.17539],[6.18982,46.16584],[6.1748,46.15694],[6.1688,46.15624],[6.15829,46.15195],[6.15434,46.15141],[6.14952,46.14933],[6.14805,46.14748],[6.14832,46.14619],[6.14561,46.14417],[6.14244,46.14493],[6.13768,46.14217],[6.13692,46.14071],[6.13074,46.13946],[6.12598,46.13966],[6.12014,46.14181],[6.1077,46.14203],[6.10537,46.14313],[6.09746,46.14325],[6.09151,46.15095],[6.07476,46.14795],[6.07188,46.14908],[6.05295,46.15046],[6.04973,46.1468],[6.04862,46.14153],[6.04571,46.13916],[6.04287,46.14006],[6.04013,46.13894],[6.03783,46.13716],[6.03647,46.13381],[6.03531,46.13344],[6.03,46.13816],[6.02079,46.14024],[6.01693,46.14191],[6.01282,46.14119],[6.00814,46.14171],[6.00364,46.14088],[5.99338,46.1432],[5.98728,46.14171],[5.98464,46.14232],[5.98309,46.13712],[5.97603,46.1319],[5.97314,46.13081],[5.97037,46.13108],[5.96536,46.12882],[5.96163,46.12976],[5.9573,46.12767],[5.95575,46.12836],[5.95484,46.13214],[5.9589,46.13553],[5.96446,46.13738],[5.96517,46.13845],[5.9631,46.14241],[5.96383,46.14656],[5.97157,46.1558],[5.97884,46.16721],[5.98022,46.17354],[5.98322,46.17507],[5.98537,46.17478],[5.98754,46.17306],[5.99029,46.17955],[5.9936,46.18203],[5.98976,46.18692],[5.98287,46.18822],[5.98068,46.1904],[5.96282,46.1963],[5.96225,46.19719],[5.96465,46.20022],[5.97164,46.20302],[5.96985,46.20383],[5.96794,46.20675],[5.97227,46.21418],[5.97364,46.21563],[5.97897,46.21821],[6.00857,46.24444],[6.01422,46.24855],[6.06593,46.28345],[6.11511,46.31511],[6.12573,46.31843],[6.12972,46.31568],[6.12978,46.31407],[6.13604,46.30896],[6.14179,46.30555],[6.15393,46.30014],[6.17157,46.29507],[6.17125,46.29223],[6.17277,46.28629],[6.17018,46.28533],[6.16834,46.28109],[6.17201,46.27554],[6.1722,46.27301],[6.1691,46.26785],[6.16746,46.26217],[6.16531,46.26195],[6.16455,46.26274],[6.15943,46.25898],[6.15532,46.25216],[6.15387,46.25212],[6.15273,46.25037],[6.15311,46.2477],[6.15494,46.24591],[6.1521,46.23878],[6.15217,46.23273],[6.15034,46.22659],[6.15454,46.22191],[6.15483,46.22044],[6.15296,46.21738],[6.154,46.21355],[6.1571,46.21097],[6.16263,46.21043],[6.16387,46.2097],[6.16911,46.21191],[6.16867,46.21318],[6.17073,46.21478],[6.17471,46.21603],[6.18221,46.22618]],[[6.18834,46.34901],[6.18696,46.34862],[6.18195,46.35015],[6.17961,46.352],[6.17142,46.35444],[6.17022,46.35911],[6.17415,46.36036],[6.17272,46.36189],[6.17348,46.36288],[6.17999,46.36547],[6.1877,46.36132],[6.19447,46.36175],[6.19905,46.36086],[6.20113,46.35634],[6.20258,46.35567],[6.20791,46.35583],[6.21374,46.35379],[6.21247,46.35085],[6.20846,46.34665],[6.2086,46.33991],[6.20659,46.33792],[6.20493,46.33861],[6.20348,46.33793],[6.19181,46.34333],[6.19318,46.34787],[6.19076,46.3477],[6.18834,46.34901]],[[6.18182,46.34281],[6.18016,46.34318],[6.1752,46.34532],[6.17341,46.34398],[6.17324,46.34054],[6.1714,46.33952],[6.16588,46.34254],[6.16564,46.34339],[6.17091,46.35054],[6.17341,46.35029],[6.17458,46.35192],[6.17587,46.35205],[6.18579,46.34593],[6.18182,46.34281]]],terms_url:"http://ge.ch/sitg/donnees/conditions-d-utilisation/open-data",terms_text:"Orthophotos du SITG 2011"},{id:"CTFRIBOURG2016",name:"Canton Fribourg 2016",type:"tms",template:"https://mapproxy.osm.ch/tiles/fribourg_2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",scaleExtent:[1,21],polygon:[[[6.79478,46.57542],[6.79949,46.57407],[6.80256,46.57491],[6.80336,46.57687],[6.80427,46.57664],[6.80489,46.57792],[6.80794,46.57761],[6.8094,46.57885],[6.81084,46.57896],[6.81322,46.57823],[6.81153,46.58099],[6.8142,46.58396],[6.81411,46.58567],[6.8206,46.58368],[6.82371,46.57747],[6.82693,46.57796],[6.82927,46.57637],[6.83485,46.57533],[6.83744,46.57677],[6.83691,46.57748],[6.83982,46.57896],[6.84239,46.58244],[6.84532,46.58276],[6.84644,46.58394],[6.84857,46.58331],[6.85087,46.58113],[6.85262,46.58197],[6.85996,46.57987],[6.86554,46.57725],[6.86507,46.57623],[6.8679,46.57515],[6.87446,46.56497],[6.8845,46.56195],[6.88686,46.56341],[6.89214,46.5679],[6.89918,46.56671],[6.89885,46.56499],[6.89393,46.55991],[6.88822,46.55815],[6.86839,46.54164],[6.86498,46.53896],[6.86015,46.53597],[6.85563,46.54086],[6.85501,46.54144],[6.85087,46.54111],[6.8407,46.53819],[6.83032,46.53744],[6.82783,46.54298],[6.82553,46.54357],[6.81278,46.52707],[6.81088,46.52513],[6.81534,46.52139],[6.8181,46.5165],[6.82263,46.51411],[6.82429,46.51207],[6.83034,46.51246],[6.83239,46.50544],[6.83503,46.50231],[6.84126,46.49706],[6.84294,46.49632],[6.84554,46.49667],[6.84775,46.49369],[6.84891,46.49337],[6.85729,46.49305],[6.86276,46.49384],[6.86634,46.50079],[6.87244,46.50431],[6.88168,46.51257],[6.8967,46.52044],[6.89773,46.52005],[6.89711,46.51766],[6.89767,46.51483],[6.89522,46.51079],[6.89572,46.50773],[6.89974,46.51039],[6.90142,46.51233],[6.92517,46.50769],[6.92759,46.50467],[6.93363,46.50167],[6.93674,46.50096],[6.95614,46.49949],[6.97239,46.48879],[6.97581,46.4784],[6.97783,46.47289],[6.97815,46.46833],[6.97906,46.46107],[6.98016,46.45896],[6.99212,46.44891],[6.98361,46.43873],[6.98394,46.43799],[6.98746,46.43794],[7.01786,46.44707],[7.02103,46.45729],[7.06583,46.48904],[7.0724,46.4864],[7.10037,46.48699],[7.12279,46.49869],[7.1264,46.50317],[7.13096,46.50466],[7.13624,46.50861],[7.13704,46.51308],[7.14005,46.51688],[7.14044,46.51988],[7.14318,46.52183],[7.1437,46.52475],[7.1453,46.52701],[7.14835,46.52846],[7.15834,46.52681],[7.16346,46.52855],[7.16709,46.53101],[7.18234,46.53837],[7.19218,46.54656],[7.20081,46.54169],[7.20108,46.543],[7.20765,46.53291],[7.21417,46.53762],[7.21811,46.54211],[7.22171,46.54481],[7.22311,46.5476],[7.22543,46.54923],[7.2322,46.55123],[7.23614,46.554],[7.24047,46.55424],[7.24705,46.55623],[7.25574,46.56029],[7.26385,46.56752],[7.2681,46.57369],[7.28136,46.58411],[7.2992,46.5791],[7.30805,46.58132],[7.31254,46.58917],[7.3207,46.59183],[7.31479,46.60042],[7.3162,46.60937],[7.31826,46.61615],[7.3178,46.61856],[7.31213,46.6217],[7.31327,46.63662],[7.32284,46.63731],[7.32684,46.63873],[7.32975,46.64171],[7.32787,46.64616],[7.321,46.65465],[7.32345,46.65526],[7.32914,46.65459],[7.33116,46.65522],[7.33403,46.65471],[7.34549,46.6553],[7.34756,46.65307],[7.35063,46.65164],[7.35079,46.64799],[7.35456,46.64669],[7.3558,46.64533],[7.35528,46.64193],[7.35714,46.63927],[7.35877,46.64418],[7.36209,46.64683],[7.36229,46.64791],[7.36608,46.64898],[7.37747,46.65636],[7.36933,46.65564],[7.36953,46.65748],[7.37103,46.65907],[7.37083,46.66085],[7.37187,46.66283],[7.37122,46.66375],[7.37252,46.66757],[7.37108,46.66942],[7.37649,46.67503],[7.37293,46.68012],[7.37777,46.68357],[7.37587,46.68645],[7.376,46.6878],[7.38027,46.69018],[7.37693,46.69272],[7.3686,46.69265],[7.3649,46.69505],[7.36261,46.69928],[7.3598,46.69802],[7.34598,46.69895],[7.34604,46.7019],[7.34939,46.70555],[7.35037,46.70874],[7.35021,46.71119],[7.34903,46.71249],[7.34065,46.71464],[7.33277,46.71491],[7.32868,46.71641],[7.31011,46.71815],[7.30785,46.71717],[7.30002,46.72247],[7.29683,46.72737],[7.29685,46.73565],[7.29834,46.74013],[7.30304,46.74517],[7.30454,46.74816],[7.30486,46.75026],[7.30335,46.7514],[7.30309,46.75261],[7.30359,46.75919],[7.29987,46.76375],[7.29881,46.76513],[7.29307,46.77136],[7.29532,46.77537],[7.29639,46.77729],[7.30081,46.77905],[7.30053,46.78064],[7.30113,46.78134],[7.30447,46.78321],[7.30447,46.78415],[7.30207,46.78638],[7.30351,46.78887],[7.30201,46.79079],[7.30159,46.79283],[7.30732,46.79872],[7.31044,46.80823],[7.31537,46.81246],[7.32028,46.8149],[7.32047,46.81564],[7.32072,46.82011],[7.31981,46.82515],[7.32891,46.829],[7.3302,46.82968],[7.33123,46.83177],[7.33103,46.8328],[7.32926,46.83563],[7.32333,46.84041],[7.30755,46.84704],[7.30775,46.84808],[7.30613,46.84999],[7.31207,46.85557],[7.31351,46.85936],[7.31739,46.8606],[7.32087,46.86154],[7.32576,46.85681],[7.323,46.85476],[7.32603,46.85163],[7.33181,46.8512],[7.33536,46.85043],[7.33678,46.84979],[7.33821,46.84946],[7.34726,46.85375],[7.34934,46.85331],[7.35167,46.85502],[7.35444,46.85875],[7.35772,46.86065],[7.35925,46.86311],[7.35794,46.86513],[7.35838,46.8688],[7.35738,46.8701],[7.35386,46.87129],[7.35253,46.87555],[7.35339,46.88676],[7.34843,46.88934],[7.32573,46.89373],[7.30935,46.89152],[7.29618,46.89377],[7.28938,46.89377],[7.28639,46.89269],[7.28245,46.8898],[7.2802,46.8896],[7.27259,46.89249],[7.26634,46.89361],[7.25931,46.89797],[7.24433,46.90037],[7.24314,46.89792],[7.23633,46.89809],[7.23203,46.90029],[7.2309,46.9024],[7.23032,46.90394],[7.22351,46.90276],[7.21755,46.89735],[7.21244,46.90173],[7.2088,46.9026],[7.20781,46.90913],[7.20578,46.91477],[7.20692,46.92481],[7.2111,46.92527],[7.21854,46.92434],[7.2342,46.92939],[7.23411,46.93669],[7.23477,46.93827],[7.2302,46.93995],[7.2282,46.93881],[7.22555,46.93633],[7.2174,46.93307],[7.2093,46.93334],[7.20823,46.93323],[7.2058,46.94023],[7.2055,46.94112],[7.20951,46.94188],[7.21027,46.94302],[7.21044,46.94569],[7.21011,46.94781],[7.20885,46.95435],[7.21102,46.95652],[7.20838,46.95768],[7.20742,46.95967],[7.19764,46.96065],[7.19459,46.96135],[7.19463,46.9629],[7.19552,46.96416],[7.19633,46.96365],[7.19794,46.96445],[7.1993,46.9638],[7.20646,46.96413],[7.20745,46.96751],[7.21422,46.96692],[7.21467,46.97133],[7.21739,46.97147],[7.21686,46.97271],[7.22247,46.97454],[7.22163,46.97556],[7.22821,46.97836],[7.23569,46.98456],[7.23486,46.98675],[7.22594,46.9924],[7.22625,46.99868],[7.22575,46.99915],[7.21779,47.00641],[7.21299,47.0068],[7.09058,46.978],[7.03295,46.98265],[6.73785,46.81195],[6.73908,46.71021],[6.81908,46.65533],[6.82741,46.65982],[6.82089,46.65179],[6.81729,46.64923],[6.81851,46.6478],[6.81458,46.64747],[6.81344,46.64953],[6.81194,46.6492],[6.81081,46.65038],[6.80674,46.65059],[6.80203,46.64889],[6.79891,46.64914],[6.79879,46.64781],[6.80367,46.64567],[6.80325,46.6448],[6.8038,46.64451],[6.80321,46.64376],[6.80171,46.64421],[6.79895,46.63959],[6.79692,46.63314],[6.79838,46.63016],[6.80043,46.62991],[6.80065,46.62843],[6.80172,46.62854],[6.80228,46.62775],[6.80197,46.62507],[6.80355,46.62124],[6.80244,46.61877],[6.80296,46.61615],[6.80185,46.61555],[6.80389,46.60903],[6.80239,46.60142],[6.79833,46.59986],[6.8002,46.59362],[6.80124,46.5925],[6.79848,46.58616],[6.79948,46.58559],[6.79894,46.58205],[6.79611,46.57932],[6.79626,46.57728],[6.79478,46.57542]]],terms_text:"Canton Fribourg 2016 'orthophoto technique'"},{id:"Canvec",name:"Canvec - English",type:"wms",template:"https://maps.geogratis.gc.ca/wms/canvec_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=canvec&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]]},{id:"Canvec_French",name:"Canvec - French",type:"wms",template:"https://maps.geogratis.gc.ca/wms/canvec_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=canvec&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]]},{id:"capela_al",name:"Capela AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Capela&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.03321,-9.45741],[-36.03322,-9.45581],[-36.03336,-9.45483],[-36.0334,-9.45291],[-36.03327,-9.45141],[-36.03336,-9.44287],[-36.0335,-9.43821],[-36.03353,-9.42881],[-36.03363,-9.42027],[-36.03389,-9.41091],[-36.03389,-9.40032],[-36.03401,-9.3888],[-36.03413,-9.38528],[-36.03428,-9.38265],[-36.03417,-9.37849],[-36.03444,-9.36688],[-36.05246,-9.3671],[-36.05791,-9.36711],[-36.0716,-9.36727],[-36.08622,-9.36731],[-36.103,-9.3675],[-36.11652,-9.36755],[-36.12515,-9.36768],[-36.12522,-9.37473],[-36.12521,-9.37721],[-36.12511,-9.38038],[-36.12514,-9.38529],[-36.12505,-9.39026],[-36.12504,-9.39477],[-36.12506,-9.40172],[-36.12499,-9.40382],[-36.1248,-9.40679],[-36.12463,-9.41123],[-36.12474,-9.4136],[-36.12456,-9.4163],[-36.12459,-9.42461],[-36.12466,-9.42691],[-36.12465,-9.42925],[-36.12457,-9.4297],[-36.12464,-9.43538],[-36.12438,-9.44109],[-36.12446,-9.44387],[-36.12452,-9.44579],[-36.12438,-9.44736],[-36.12448,-9.44856],[-36.12448,-9.45095],[-36.12436,-9.45392],[-36.12434,-9.45791],[-36.11758,-9.45783],[-36.1089,-9.45778],[-36.10419,-9.4578],[-36.10116,-9.45773],[-36.0953,-9.45773],[-36.08461,-9.45767],[-36.07361,-9.45757],[-36.05726,-9.45741],[-36.04816,-9.45747],[-36.04177,-9.45739],[-36.03767,-9.45739],[-36.03321,-9.45741]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"Cartoriviera-2012",name:"Cartoriviera - Orthophoto 2012",type:"tms",template:"http://osmdata.asitvd.ch/tiles/cartoriviera2012/{zoom}/{x}/{y}.png",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",scaleExtent:[14,20],polygon:[[[7.02235,46.42856],[7.0224,46.42045],[7.02176,46.41955],[7.02225,46.41954],[7.02161,46.41749],[7.02242,46.4174],[7.02242,46.41681],[7.02113,46.41443],[7.02164,46.41259],[7.0216,46.41188],[7.01918,46.41055],[7.01896,46.41004],[7.01757,46.40826],[7.01426,46.40696],[7.00948,46.40695],[7.00952,46.40451],[7.00368,46.40153],[6.97052,46.40139],[6.97056,46.39354],[6.96507,46.38333],[6.89379,46.383],[6.89327,46.39209],[6.8968,46.4],[6.89678,46.40097],[6.89395,46.401],[6.89768,46.40888],[6.89246,46.41386],[6.89237,46.41807],[6.8949,46.4193],[6.89285,46.41948],[6.89395,46.42312],[6.89225,46.42339],[6.89219,46.42802],[6.88743,46.428],[6.87652,46.43163],[6.86624,46.43633],[6.84003,46.44591],[6.83504,46.44934],[6.827,46.45204],[6.82695,46.45379],[6.81953,46.45655],[6.80361,46.45993],[6.78775,46.46253],[6.78697,46.5246],[6.82604,46.5248],[6.82609,46.52662],[6.83907,46.5267],[6.83888,46.55006],[6.90658,46.55042],[6.912,46.54301],[6.91083,46.53983],[6.90979,46.53512],[6.90931,46.53517],[6.90867,46.53373],[6.91195,46.53297],[6.91335,46.53604],[6.9268,46.53364],[6.92723,46.5349],[6.93714,46.53311],[6.93691,46.5327],[6.94028,46.53196],[6.94164,46.53477],[6.94309,46.53455],[6.94345,46.53528],[6.95641,46.53003],[6.95632,46.52733],[6.95111,46.52725],[6.95301,46.52611],[6.94341,46.52605],[6.94343,46.52546],[7.01629,46.52568],[7.02158,46.52211],[7.02196,46.47355],[7.07099,46.47368],[7.07402,46.4719],[7.07383,46.4326],[7.05947,46.43233],[7.05278,46.42879],[7.02235,46.42856]]],terms_url:"https://map.cartoriviera.ch/?baselayer_ref=orthos_2012_mobile&baselayer_opacity=100",terms_text:"Cartoriviera"},{id:"Catastro-Spain",name:"Catastro Spain",type:"wms",template:"http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=Catastro&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-17.88463,28.44606],[-17.89395,28.52255],[-18.02125,28.74819],[-18.02241,28.80384],[-17.9424,28.87261],[-17.89118,28.87371],[-17.89033,28.85151],[-17.76759,28.85378],[-17.76698,28.83122],[-17.74127,28.832],[-17.73949,28.76422],[-17.71398,28.76497],[-17.71293,28.73037],[-17.75744,28.69318],[-17.75708,28.67413],[-17.74579,28.67435],[-17.74573,28.61656],[-17.75197,28.58337],[-17.76225,28.5592],[-17.78331,28.54167],[-17.78316,28.49366],[-17.80861,28.4925],[-17.80601,28.4469],[-17.88463,28.44606]],[[-18.1661,27.78516],[-18.16349,27.69492],[-18.08898,27.69634],[-18.08734,27.67387],[-18.03641,27.67537],[-18.03501,27.63026],[-17.959,27.6324],[-17.86033,27.7926],[-17.86303,27.83688],[-17.8884,27.83649],[-17.88913,27.85905],[-17.99065,27.85675],[-18.03868,27.76558],[-18.11464,27.76379],[-18.11546,27.78636],[-18.1661,27.78516]],[[-17.36038,28.06398],[-17.36297,28.17572],[-17.33756,28.17637],[-17.33846,28.2213],[-17.18579,28.22388],[-17.08208,28.13518],[-17.08084,28.068],[-17.13154,28.06681],[-17.15633,28.02146],[-17.23211,28.02037],[-17.23199,27.99804],[-17.25768,27.99784],[-17.25785,28.01997],[-17.30867,28.01923],[-17.36038,28.06398]],[[-16.92782,28.32758],[-16.92866,28.37219],[-16.87767,28.37293],[-16.87807,28.39542],[-16.52143,28.42261],[-16.44571,28.49113],[-16.44625,28.53597],[-16.42059,28.53627],[-16.42092,28.55884],[-16.34433,28.55976],[-16.3446,28.58221],[-16.19125,28.58372],[-16.19162,28.60684],[-16.12793,28.60782],[-16.1278,28.59218],[-16.09951,28.5925],[-16.09934,28.51638],[-16.16481,28.51612],[-16.16475,28.49386],[-16.23858,28.44847],[-16.26535,28.44761],[-16.26586,28.403],[-16.31675,28.40176],[-16.31631,28.38019],[-16.34208,28.37951],[-16.34083,28.2893],[-16.41584,28.19761],[-16.4151,28.13113],[-16.51533,28.01648],[-16.61684,28.01532],[-16.61681,27.99305],[-16.71842,27.99192],[-16.7191,28.03714],[-16.7447,28.03679],[-16.74534,28.08181],[-16.7707,28.08161],[-16.8224,28.1259],[-16.82317,28.17087],[-16.8487,28.17075],[-16.85028,28.26079],[-16.87565,28.26055],[-16.87608,28.28322],[-16.90151,28.28277],[-16.90239,28.32793],[-16.92782,28.32758]],[[-15.85374,27.90089],[-15.8542,27.99018],[-15.82895,27.99066],[-15.82911,28.03558],[-15.7783,28.03632],[-15.75328,28.08143],[-15.72788,28.08157],[-15.72826,28.17186],[-15.49897,28.1728],[-15.49874,28.15041],[-15.44978,28.15075],[-15.45016,28.19614],[-15.39728,28.19614],[-15.39644,28.03836],[-15.37103,28.03802],[-15.37065,28.01532],[-15.34578,28.01532],[-15.34548,27.92544],[-15.3708,27.92524],[-15.37057,27.83521],[-15.39598,27.83474],[-15.421,27.78797],[-15.47181,27.78939],[-15.47188,27.76665],[-15.52277,27.76678],[-15.54771,27.72161],[-15.62361,27.72134],[-15.62415,27.74199],[-15.70075,27.74335],[-15.80167,27.81105],[-15.85374,27.90089]],[[-14.52156,28.04678],[-14.52244,28.11841],[-14.41575,28.11561],[-14.21688,28.22788],[-14.21537,28.33903],[-14.16417,28.45283],[-14.11151,28.4748],[-14.03358,28.72267],[-13.95652,28.74494],[-13.95617,28.76659],[-13.82902,28.76643],[-13.82896,28.78798],[-13.80007,28.78793],[-13.8013,28.71899],[-13.82757,28.71935],[-13.82786,28.6518],[-13.80258,28.6519],[-13.80339,28.53842],[-13.82885,28.53847],[-13.83151,28.39702],[-13.91582,28.22414],[-13.98564,28.22357],[-14.03696,28.17958],[-14.13871,28.17999],[-14.13866,28.15791],[-14.21537,28.15781],[-14.21472,28.11189],[-14.29132,28.04524],[-14.33197,28.03687],[-14.44578,28.04698],[-14.44666,28.0658],[-14.49628,28.06826],[-14.49593,28.04585],[-14.52156,28.04678]],[[-13.80066,28.84566],[-13.80093,28.82311],[-13.77569,28.82305],[-13.69729,28.88982],[-13.69729,28.91277],[-13.60725,28.9118],[-13.43886,29.00024],[-13.43746,29.13513],[-13.4117,29.13499],[-13.41056,29.22298],[-13.45928,29.25559],[-13.45974,29.2942],[-13.50913,29.29456],[-13.51006,29.31635],[-13.56354,29.31729],[-13.56406,29.27138],[-13.53892,29.2712],[-13.53897,29.25004],[-13.56613,29.25013],[-13.5666,29.203],[-13.51565,29.20223],[-13.51565,29.18206],[-13.5398,29.18278],[-13.54089,29.13753],[-13.65782,29.13685],[-13.71322,29.09351],[-13.76634,29.09345],[-13.85025,29.01659],[-13.85182,28.98343],[-13.85244,28.91486],[-13.90131,28.89245],[-13.9024,28.84698],[-13.80066,28.84566]],[[1.64799,38.99907],[1.73217,38.99936],[1.73147,39.04417],[1.64895,39.04319],[1.64816,39.12764],[1.39486,39.12657],[1.39544,39.08642],[1.22811,39.08526],[1.22911,39.0029],[1.14487,39.0018],[1.14528,38.832],[1.31136,38.83316],[1.31219,38.79065],[1.39469,38.79162],[1.39519,38.75296],[1.31128,38.75193],[1.31259,38.62388],[1.6489,38.62511],[1.64807,38.71115],[1.58456,38.71012],[1.58116,38.70054],[1.54915,38.70028],[1.51972,38.70921],[1.50355,38.72532],[1.48133,38.91551],[1.55189,38.92544],[1.56673,38.95666],[1.64874,38.95833],[1.64799,38.99907]],[[2.54507,39.41667],[2.43933,39.41611],[2.43871,39.48469],[2.43902,39.49934],[2.31223,39.49934],[2.31192,39.54179],[2.22907,39.541],[2.22835,39.62606],[2.34601,39.62709],[2.92704,39.96016],[3.14566,39.96005],[3.14608,40.00198],[3.23139,40.00198],[3.23129,39.83292],[3.14823,39.83316],[3.14844,39.79357],[3.48148,39.79318],[3.48035,39.5959],[3.31506,39.47846],[3.31462,39.37855],[3.08302,39.24994],[2.97986,39.25015],[2.97904,39.3335],[2.72874,39.33342],[2.72885,39.45814],[2.64569,39.45774],[2.64538,39.49966],[2.54528,39.49942],[2.54507,39.41667]],[[3.81204,40.04344],[3.72908,40.0438],[3.72862,39.95842],[3.81266,39.9576],[3.81228,39.91644],[3.9609,39.91598],[4.19381,39.79131],[4.31503,39.79058],[4.31599,39.83293],[4.39874,39.83204],[4.39737,39.91858],[4.3158,39.91933],[4.31619,40.0434],[4.2319,40.04436],[4.23248,40.08478],[4.14915,40.08611],[4.14906,40.12552],[4.0628,40.12722],[4.06242,40.08499],[3.81287,40.08529],[3.81204,40.04344]],[[-8.89106,41.82289],[-9.1092,42.57511],[-9.03655,42.73066],[-9.08834,42.72696],[-9.14661,42.77503],[-9.21855,42.90163],[-9.2761,42.86051],[-9.30991,42.93113],[-9.27898,42.9822],[-9.30991,43.06004],[-9.25236,43.10417],[-9.2315,43.17032],[-9.14733,43.21018],[-9.06748,43.19916],[-9.03367,43.24267],[-8.99842,43.24477],[-8.99986,43.29558],[-8.93727,43.30553],[-8.92936,43.32699],[-8.8639,43.32908],[-8.87613,43.37407],[-8.82217,43.37354],[-8.78548,43.31914],[-8.70635,43.305],[-8.60996,43.3296],[-8.55097,43.32332],[-8.52435,43.3364],[-8.52507,43.36465],[-8.45745,43.39184],[-8.36105,43.41118],[-8.36033,43.46342],[-8.33444,43.57974],[-8.27761,43.57088],[-8.06467,43.72392],[-7.99921,43.7234],[-7.9172,43.78264],[-7.85605,43.79146],[-7.83591,43.73743],[-7.66284,43.80982],[-7.31889,43.67827],[-7.19975,43.58308],[-6.24882,43.6075],[-6.12293,43.57901],[-5.85204,43.6799],[-5.60363,43.57087],[-5.28553,43.56191],[-5.17875,43.49916],[-4.90899,43.48367],[-4.61562,43.4192],[-4.18399,43.42492],[-3.80295,43.51954],[-3.74,43.48693],[-3.56128,43.54236],[-3.1083,43.38163],[-2.93857,43.46246],[-2.74524,43.47551],[-2.30462,43.31706],[-1.9854,43.3563],[-1.85528,43.39725],[-1.7698,43.39644],[-1.77005,43.37605],[-1.71005,43.37569],[-1.71135,43.33125],[-1.72259,43.31318],[-1.68904,43.31291],[-1.68811,43.33413],[-1.64467,43.33372],[-1.64498,43.31332],[-1.60299,43.31295],[-1.60344,43.29266],[-1.56359,43.29212],[-1.56305,43.31338],[-1.47799,43.31284],[-1.36677,43.27614],[-1.35688,43.23815],[-1.37037,43.1713],[-1.44231,43.08336],[-1.41983,43.06036],[-1.37307,43.05117],[-1.36407,43.11159],[-1.30203,43.13522],[-1.23549,43.13325],[-1.27955,43.07744],[-1.19232,43.06496],[-1.00619,43.00778],[-0.94234,42.9749],[-0.7562,42.98213],[-0.71484,42.96108],[-0.69685,42.90314],[-0.55118,42.82207],[-0.50442,42.84845],[-0.42889,42.82009],[-0.31648,42.86558],[-0.14563,42.81086],[-0.03143,42.71249],[0.18618,42.7541],[0.30218,42.71777],[0.36422,42.74287],[0.44875,42.71447],[0.62769,42.7224],[0.64118,42.85767],[0.71492,42.88272],[0.9676,42.81811],[1.10878,42.79898],[1.17532,42.73429],[1.36326,42.74155],[1.41137,42.70939],[1.48061,42.71034],[1.4813,42.50107],[1.64436,42.50203],[1.64328,42.54245],[1.73041,42.54342],[1.73164,42.50118],[2.06386,42.50164],[2.06456,42.45902],[2.39693,42.45994],[2.39768,42.41784],[2.48048,42.41797],[2.48098,42.37594],[2.64479,42.37626],[2.64448,42.45924],[2.81133,42.45961],[2.81126,42.50104],[3.06388,42.50085],[3.06388,42.45915],[3.23078,42.45934],[3.23049,42.37644],[3.31415,42.37604],[3.31412,42.33399],[3.39785,42.33404],[3.39739,42.29009],[3.31389,42.29084],[3.31397,42.20702],[3.14759,42.2073],[3.14759,42.12606],[3.23055,42.126],[3.24668,41.95294],[3.19452,41.85589],[3.06054,41.76474],[2.78358,41.63718],[2.26293,41.42716],[2.16492,41.29893],[1.86008,41.22322],[1.3763,41.11627],[1.17937,41.04646],[1.08585,41.04849],[0.75854,40.81956],[0.9114,40.73376],[0.87813,40.67514],[0.66502,40.53587],[0.55801,40.55022],[0.43392,40.37576],[0.26756,40.19192],[0.16415,40.06472],[0.07513,40.01447],[0.01039,39.89522],[-0.09392,39.81169],[-0.18474,39.63117],[-0.29085,39.50363],[-0.28636,39.33343],[-0.18564,39.17746],[-0.21352,39.15585],[-0.11101,38.97222],[0.00949,38.88268],[0.12189,38.87218],[0.23429,38.79864],[0.25587,38.72642],[0.09581,38.61338],[-0.0022,38.60706],[-0.05705,38.52691],[-0.27197,38.47624],[-0.37987,38.39312],[-0.38347,38.33813],[-0.45091,38.33108],[-0.50487,38.28309],[-0.48238,38.19481],[-0.42933,38.16583],[-0.45451,38.14886],[-0.584,38.17219],[-0.61367,38.11986],[-0.63705,37.96122],[-0.68111,37.94562],[-0.73237,37.88107],[-0.72158,37.78306],[-0.68831,37.734],[-0.66415,37.62315],[-0.71939,37.58784],[-0.91963,37.53758],[-1.11071,37.51641],[-1.33832,37.52867],[-1.44089,37.39037],[-1.6767,37.27652],[-1.85408,36.91229],[-2.06835,36.69291],[-2.21588,36.66192],[-2.37219,36.78018],[-2.68129,36.65911],[-2.92015,36.66756],[-3.09402,36.71263],[-3.46108,36.65488],[-3.72804,36.69291],[-4.37435,36.66333],[-4.65712,36.44042],[-4.9188,36.45313],[-5.16995,36.35135],[-5.28411,36.19702],[-5.26809,36.12418],[-5.35248,36.12247],[-5.35161,36.04014],[-5.43658,36.03889],[-5.43532,36.00344],[-5.68886,36.00365],[-5.68996,36.04053],[-5.85506,36.03856],[-5.85668,36.12421],[-5.93848,36.12215],[-5.94003,36.16556],[-5.99834,36.1645],[-6.03573,36.1781],[-6.07752,36.22241],[-6.15061,36.28646],[-6.23154,36.37701],[-6.33585,36.53106],[-6.32146,36.58163],[-6.40419,36.6235],[-6.47433,36.74897],[-6.41588,36.79939],[-6.49052,36.91738],[-6.62989,37.0194],[-6.87448,37.10838],[-7.04264,37.18507],[-7.26474,37.18435],[-7.37535,37.15354],[-7.40832,37.16822],[-7.42029,37.21183],[-7.42492,37.23505],[-7.43805,37.2452],[-7.44597,37.33261],[-7.4481,37.39094],[-7.46963,37.40758],[-7.4647,37.45305],[-7.50197,37.51641],[-7.51916,37.52292],[-7.52196,37.57237],[-7.45013,37.66958],[-7.4249,37.75992],[-7.31666,37.83997],[-7.26833,37.98895],[-7.15368,38.01552],[-7.11771,38.05536],[-7.0143,38.02438],[-6.99632,38.10756],[-6.96147,38.20125],[-7.08062,38.15708],[-7.34027,38.44024],[-7.26383,38.73807],[-7.04352,38.87297],[-7.06151,38.90796],[-6.96934,39.01983],[-7.00081,39.08879],[-7.15368,39.09577],[-7.15255,39.16029],[-7.24472,39.19689],[-7.25596,39.28133],[-7.33689,39.35351],[-7.3279,39.45599],[-7.51449,39.58865],[-7.55271,39.67954],[-7.05027,39.67522],[-6.99519,39.81954],[-6.92213,39.87909],[-6.88616,40.02299],[-7.04128,40.13479],[-7.01767,40.26615],[-6.8086,40.34501],[-6.86818,40.44516],[-6.85356,40.60664],[-6.83783,40.87576],[-6.9536,41.03704],[-6.80186,41.03959],[-6.76814,41.13871],[-6.64112,41.26556],[-6.56244,41.26303],[-6.21737,41.5791],[-6.31628,41.64465],[-6.51523,41.64129],[-6.58717,41.68832],[-6.54783,41.85597],[-6.62988,41.91121],[-7.13345,41.94048],[-7.16829,41.87188],[-7.42569,41.78477],[-7.95398,41.84593],[-8.13045,41.78058],[-8.25185,41.90786],[-8.12933,42.03488],[-8.24848,42.1008],[-8.36762,42.05575],[-8.60704,42.03405],[-8.89106,41.82289]]]},{id:"South_Africa-CapeTown-Aerial-2013",name:"City of Cape Town 2013 Aerial",type:"tms",template:"https://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2013/{zoom}/{x}/{y}.jpg",endDate:"2015-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[1,21],polygon:[[[18.44866,-33.89362],[18.44859,-33.90264],[18.4702,-33.90277],[18.48139,-33.84724],[18.44925,-33.80107],[18.42815,-33.73564],[18.43914,-33.71772],[18.40719,-33.65899],[18.33224,-33.57752],[18.33245,-33.55045],[18.354,-33.55059],[18.35425,-33.5236],[18.36524,-33.52366],[18.36503,-33.5148],[18.37601,-33.51477],[18.37605,-33.5058],[18.42966,-33.50594],[18.4297,-33.48785],[18.44049,-33.48789],[18.4406,-33.46988],[18.49437,-33.4701],[18.49433,-33.47916],[18.51583,-33.47917],[18.51574,-33.48819],[18.52647,-33.4883],[18.52632,-33.52435],[18.54793,-33.52443],[18.54795,-33.51539],[18.56937,-33.5155],[18.56937,-33.52448],[18.58012,-33.52453],[18.58007,-33.5426],[18.59078,-33.5426],[18.59074,-33.56064],[18.57995,-33.56053],[18.57988,-33.56962],[18.5907,-33.56962],[18.59065,-33.57868],[18.62301,-33.57873],[18.62292,-33.58773],[18.66597,-33.58789],[18.66593,-33.61493],[18.67672,-33.61497],[18.67658,-33.65103],[18.6873,-33.65102],[18.68734,-33.66004],[18.69807,-33.66009],[18.69807,-33.66907],[18.75204,-33.66925],[18.75208,-33.64219],[18.77364,-33.64225],[18.77371,-33.63319],[18.82746,-33.6333],[18.82752,-33.6603],[18.81667,-33.66029],[18.8166,-33.67832],[18.80581,-33.67831],[18.80581,-33.70539],[18.8274,-33.70544],[18.82733,-33.72347],[18.83812,-33.72343],[18.83804,-33.74139],[18.81652,-33.74137],[18.81637,-33.79551],[18.80559,-33.79551],[18.80551,-33.81357],[18.79476,-33.81355],[18.79472,-33.83154],[18.77311,-33.83152],[18.77313,-33.84052],[18.76236,-33.84052],[18.76227,-33.90359],[18.75146,-33.90352],[18.75108,-33.98478],[18.76191,-33.9848],[18.76178,-34.02988],[18.7726,-34.0299],[18.77258,-34.03891],[18.79403,-34.03894],[18.79388,-34.0407],[18.79845,-34.04119],[18.80324,-34.04118],[18.80341,-34.03892],[18.81594,-34.03897],[18.81634,-34.02993],[18.83798,-34.03165],[18.838,-34.03],[18.84842,-34.03001],[18.84847,-34.02185],[18.85993,-34.02347],[18.85986,-34.02101],[18.86827,-34.02208],[18.86819,-34.02117],[18.88546,-34.02343],[18.88518,-34.02132],[18.90252,-34.02103],[18.90258,-34.012],[18.91342,-34.012],[18.91348,-33.99396],[18.94588,-33.99403],[18.94586,-34.0031],[18.96743,-34.003],[18.96747,-34.01208],[18.97822,-34.01208],[18.97833,-34.02114],[18.98914,-34.02114],[18.98916,-34.03913],[19.00002,-34.03913],[19.00002,-34.05718],[19.01084,-34.05725],[19.01079,-34.08414],[19,-34.08413],[19.00002,-34.0932],[18.98915,-34.09317],[18.98918,-34.1022],[18.97832,-34.10218],[18.97832,-34.11123],[18.9675,-34.11121],[18.96749,-34.12925],[18.9566,-34.12924],[18.95656,-34.13824],[18.96742,-34.13831],[18.96742,-34.14732],[18.98918,-34.1473],[18.98918,-34.1653],[18.97827,-34.16529],[18.97832,-34.17429],[18.96742,-34.17427],[18.96746,-34.1833],[18.95656,-34.18332],[18.95656,-34.19236],[18.94574,-34.19232],[18.9457,-34.20132],[18.93487,-34.20137],[18.93489,-34.21933],[18.90236,-34.21935],[18.90176,-34.23626],[18.88784,-34.23735],[18.88942,-34.25541],[18.88059,-34.25534],[18.87927,-34.26443],[18.86969,-34.26441],[18.86971,-34.27344],[18.83714,-34.27342],[18.83712,-34.26438],[18.84802,-34.2644],[18.84803,-34.23739],[18.81549,-34.21028],[18.81565,-34.17413],[18.85488,-34.15627],[18.76176,-34.08405],[18.65337,-34.07748],[18.47974,-34.11012],[18.44637,-34.13423],[18.44445,-34.16409],[18.436,-34.16405],[18.43597,-34.18202],[18.44681,-34.18211],[18.44673,-34.19111],[18.46593,-34.19121],[18.48662,-34.24539],[18.47889,-34.25437],[18.486,-34.25437],[18.46771,-34.29941],[18.48922,-34.34458],[18.50011,-34.34458],[18.49992,-34.36262],[18.46743,-34.36251],[18.46737,-34.35349],[18.3916,-34.31707],[18.39177,-34.29002],[18.37016,-34.28087],[18.37068,-34.21789],[18.34923,-34.18162],[18.32747,-34.18149],[18.32767,-34.16346],[18.31187,-34.15438],[18.3114,-34.14353],[18.32367,-34.13469],[18.34993,-34.10421],[18.33932,-34.08828],[18.36125,-34.05972],[18.35505,-34.05538],[18.34275,-34.06433],[18.32,-34.06443],[18.29607,-34.04513],[18.30682,-34.02526],[18.32877,-34.0192],[18.32892,-34.00125],[18.33974,-34.00127],[18.3398,-33.98663],[18.36287,-33.97351],[18.36381,-33.92925],[18.37262,-33.92927],[18.37284,-33.91776],[18.39773,-33.89335],[18.44866,-33.89362]]],terms_url:"https://www.capetown.gov.za",terms_text:"City of Cape Town Aerial - OPENSTREETMAP USE ONLY",description:"OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 12cm ground sample distance"},{id:"South_Africa-CapeTown-Aerial",name:"City of Cape Town 2015 Aerial",type:"tms",template:"https://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2015/{zoom}/{x}/{y}.jpg",endDate:"2016-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[1,21],polygon:[[[18.44866,-33.89362],[18.44859,-33.90264],[18.4702,-33.90277],[18.48139,-33.84724],[18.44925,-33.80107],[18.42815,-33.73564],[18.43914,-33.71772],[18.40719,-33.65899],[18.33224,-33.57752],[18.33245,-33.55045],[18.354,-33.55059],[18.35425,-33.5236],[18.36524,-33.52366],[18.36503,-33.5148],[18.37601,-33.51477],[18.37605,-33.5058],[18.42966,-33.50594],[18.4297,-33.48785],[18.44049,-33.48789],[18.4406,-33.46988],[18.49437,-33.4701],[18.49433,-33.47916],[18.51583,-33.47917],[18.51574,-33.48819],[18.52647,-33.4883],[18.52632,-33.52435],[18.54793,-33.52443],[18.54795,-33.51539],[18.56937,-33.5155],[18.56937,-33.52448],[18.58012,-33.52453],[18.58007,-33.5426],[18.59078,-33.5426],[18.59074,-33.56064],[18.57995,-33.56053],[18.57988,-33.56962],[18.5907,-33.56962],[18.59065,-33.57868],[18.62301,-33.57873],[18.62292,-33.58773],[18.66597,-33.58789],[18.66593,-33.61493],[18.67672,-33.61497],[18.67658,-33.65103],[18.6873,-33.65102],[18.68734,-33.66004],[18.69807,-33.66009],[18.69807,-33.66907],[18.75204,-33.66925],[18.75208,-33.64219],[18.77364,-33.64225],[18.77371,-33.63319],[18.82746,-33.6333],[18.82752,-33.6603],[18.81667,-33.66029],[18.8166,-33.67832],[18.80581,-33.67831],[18.80581,-33.70539],[18.8274,-33.70544],[18.82733,-33.72347],[18.83812,-33.72343],[18.83804,-33.74139],[18.81652,-33.74137],[18.81637,-33.79551],[18.80559,-33.79551],[18.80551,-33.81357],[18.79476,-33.81355],[18.79472,-33.83154],[18.77311,-33.83152],[18.77313,-33.84052],[18.76236,-33.84052],[18.76227,-33.90359],[18.75146,-33.90352],[18.75108,-33.98478],[18.76191,-33.9848],[18.76178,-34.02988],[18.7726,-34.0299],[18.77258,-34.03891],[18.79403,-34.03894],[18.79388,-34.0407],[18.79845,-34.04119],[18.80324,-34.04118],[18.80341,-34.03892],[18.81594,-34.03897],[18.81634,-34.02993],[18.83798,-34.03165],[18.838,-34.03],[18.84842,-34.03001],[18.84847,-34.02185],[18.85993,-34.02347],[18.85986,-34.02101],[18.86827,-34.02208],[18.86819,-34.02117],[18.88546,-34.02343],[18.88518,-34.02132],[18.90252,-34.02103],[18.90258,-34.012],[18.91342,-34.012],[18.91348,-33.99396],[18.94588,-33.99403],[18.94586,-34.0031],[18.96743,-34.003],[18.96747,-34.01208],[18.97822,-34.01208],[18.97833,-34.02114],[18.98914,-34.02114],[18.98916,-34.03913],[19.00002,-34.03913],[19.00002,-34.05718],[19.01084,-34.05725],[19.01079,-34.08414],[19,-34.08413],[19.00002,-34.0932],[18.98915,-34.09317],[18.98918,-34.1022],[18.97832,-34.10218],[18.97832,-34.11123],[18.9675,-34.11121],[18.96749,-34.12925],[18.9566,-34.12924],[18.95656,-34.13824],[18.96742,-34.13831],[18.96742,-34.14732],[18.98918,-34.1473],[18.98918,-34.1653],[18.97827,-34.16529],[18.97832,-34.17429],[18.96742,-34.17427],[18.96746,-34.1833],[18.95656,-34.18332],[18.95656,-34.19236],[18.94574,-34.19232],[18.9457,-34.20132],[18.93487,-34.20137],[18.93489,-34.21933],[18.90236,-34.21935],[18.90176,-34.23626],[18.88784,-34.23735],[18.88942,-34.25541],[18.88059,-34.25534],[18.87927,-34.26443],[18.86969,-34.26441],[18.86971,-34.27344],[18.83714,-34.27342],[18.83712,-34.26438],[18.84802,-34.2644],[18.84803,-34.23739],[18.81549,-34.21028],[18.81565,-34.17413],[18.85488,-34.15627],[18.76176,-34.08405],[18.65337,-34.07748],[18.47974,-34.11012],[18.44637,-34.13423],[18.44445,-34.16409],[18.436,-34.16405],[18.43597,-34.18202],[18.44681,-34.18211],[18.44673,-34.19111],[18.46593,-34.19121],[18.48662,-34.24539],[18.47889,-34.25437],[18.486,-34.25437],[18.46771,-34.29941],[18.48922,-34.34458],[18.50011,-34.34458],[18.49992,-34.36262],[18.46743,-34.36251],[18.46737,-34.35349],[18.3916,-34.31707],[18.39177,-34.29002],[18.37016,-34.28087],[18.37068,-34.21789],[18.34923,-34.18162],[18.32747,-34.18149],[18.32767,-34.16346],[18.31187,-34.15438],[18.3114,-34.14353],[18.32367,-34.13469],[18.34993,-34.10421],[18.33932,-34.08828],[18.36125,-34.05972],[18.35505,-34.05538],[18.34275,-34.06433],[18.32,-34.06443],[18.29607,-34.04513],[18.30682,-34.02526],[18.32877,-34.0192],[18.32892,-34.00125],[18.33974,-34.00127],[18.3398,-33.98663],[18.36287,-33.97351],[18.36381,-33.92925],[18.37262,-33.92927],[18.37284,-33.91776],[18.39773,-33.89335],[18.44866,-33.89362]]],terms_url:"https://www.capetown.gov.za",terms_text:"City of Cape Town Aerial - OPENSTREETMAP USE ONLY",best:true,description:"OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 8cm ground sample distance"},{id:"Czech_CUZK-KM",name:"Czech CUZK:KM",type:"wms",template:"https://wms.cuzk.cz/wms.asp?service=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&LAYERS=parcelni_cisla_i,obrazy_parcel_i,RST_KMD_I,hranice_parcel_i,DEF_BUDOVY,RST_KN_I,dalsi_p_mapy_i,prehledka_kat_prac,prehledka_kat_uz,prehledka_kraju-linie&FORMAT=image/png&transparent=TRUE&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]],overlay:true},{id:"Czech_CUZK-KM-tms",name:"Czech CUZK:KM tiles proxy",type:"tms",template:"https://osm-{switch:a,b,c}.zby.cz/tiles_cuzk.php/{zoom}/{x}/{y}.png",scaleExtent:[13,18],polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]],overlay:true},{id:"Czech_RUIAN-budovy",name:"Czech RUIAN budovy",type:"tms",template:"https://tile.poloha.net/budovy/{zoom}/{x}/{y}.png",scaleExtent:[12,20],polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]],terms_url:"https://poloha.net/",terms_text:"Czech RUIAN"},{id:"Czech_RUIAN-parcely",name:"Czech RUIAN parcely",type:"tms",template:"https://tile.poloha.net/parcely/{zoom}/{x}/{y}.png",scaleExtent:[12,20],polygon:[[[15.00637,49.01774],[15.15599,49.00138],[15.1909,48.94246],[15.31059,48.98829],[15.40535,48.9752],[15.54,48.91624],[15.71456,48.86706],[15.83425,48.88018],[15.9689,48.81782],[16.0886,48.74553],[16.39781,48.74553],[16.48758,48.81454],[16.6721,48.7784],[16.68208,48.73566],[16.90152,48.71263],[16.9464,48.6237],[17.11597,48.83752],[17.21072,48.88018],[17.40523,48.81782],[17.48004,48.85393],[17.52991,48.81782],[17.70446,48.86706],[17.81418,48.9359],[17.884,48.9359],[17.94385,49.02101],[18.06354,49.03409],[18.1184,49.09944],[18.1982,49.30473],[18.38771,49.33399],[18.57723,49.50917],[18.75677,49.49946],[18.84654,49.52536],[18.87646,49.57066],[18.79666,49.69341],[18.64206,49.70954],[18.5872,49.83515],[18.61214,49.88338],[18.56226,49.93477],[18.51239,49.90587],[18.36277,49.95403],[18.32786,49.92193],[18.26303,49.97328],[18.1184,50.00534],[18.06354,50.07581],[17.91392,49.97969],[17.77927,50.03098],[17.71444,50.12379],[17.60472,50.16534],[17.75932,50.21962],[17.73438,50.34391],[17.63963,50.28021],[17.38029,50.28021],[17.35037,50.34391],[17.28055,50.33754],[17.18579,50.40752],[16.90152,50.46152],[16.86661,50.41388],[16.96635,50.31844],[17.03617,50.23238],[16.83668,50.21962],[16.712,50.1046],[16.58233,50.15895],[16.56238,50.23876],[16.43272,50.33754],[16.35292,50.39163],[16.27811,50.39163],[16.20829,50.44565],[16.39781,50.53449],[16.44768,50.59785],[16.35292,50.6706],[16.23821,50.67692],[16.21827,50.63266],[16.1285,50.68324],[16.0487,50.60734],[15.98885,50.7022],[15.87415,50.68324],[15.82926,50.76533],[15.72952,50.74324],[15.45023,50.81577],[15.39039,50.77479],[15.38041,50.85987],[15.29563,50.88504],[15.29563,50.98876],[15.17095,51.02014],[14.99141,51.00131],[15.00637,50.88819],[14.84179,50.8756],[14.7969,50.82522],[14.63233,50.85672],[14.66225,50.93536],[14.57248,50.92278],[14.61238,50.98562],[14.49767,51.04837],[14.41788,51.02328],[14.30816,51.06717],[14.2533,51.00445],[14.40291,50.93221],[14.37299,50.89763],[14.24332,50.90706],[14.20841,50.84412],[14.03386,50.81262],[13.979,50.82522],[13.90419,50.79686],[13.87427,50.74009],[13.53514,50.7243],[13.53015,50.65796],[13.4703,50.61367],[13.39051,50.66428],[13.32567,50.58835],[13.25086,50.61051],[13.196,50.50595],[13.05137,50.52181],[12.96659,50.4107],[12.82695,50.47105],[12.70227,50.41388],[12.50777,50.40116],[12.34319,50.25471],[12.32324,50.18451],[12.24843,50.27384],[12.17362,50.33118],[12.09881,50.33436],[12.11876,50.25152],[12.22349,50.16534],[12.20354,50.12379],[12.50278,49.97328],[12.47784,49.93798],[12.54766,49.91551],[12.46787,49.80298],[12.40802,49.76111],[12.48283,49.68696],[12.5327,49.68696],[12.51774,49.62885],[12.60751,49.54155],[12.67234,49.43788],[12.81199,49.34699],[12.94664,49.34374],[13.23091,49.12882],[13.32567,49.10597],[13.43539,49.0439],[13.41544,48.99484],[13.50022,48.94901],[13.56506,48.98829],[13.68475,48.88346],[13.7446,48.90313],[13.82439,48.77511],[13.8992,48.77511],[14.05879,48.67642],[14.04383,48.63029],[14.14358,48.59072],[14.37299,48.56103],[14.48271,48.65007],[14.57747,48.60721],[14.62734,48.63359],[14.70713,48.58083],[14.74703,48.70276],[14.81187,48.73895],[14.81685,48.79483],[14.98642,48.76525],[15.00637,49.01774]]],terms_url:"https://poloha.net/",terms_text:"Czech RUIAN"},{id:"Duna_2013",name:"Danube flood orthophoto 2013",type:"tms",template:"http://e.tile.openstreetmap.hu/dunai-arviz-2013/{zoom}/{x}/{y}.jpg",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[10,20],polygon:[[[19.07732,47.69597],[19.07799,47.69598],[19.09462,47.69446],[19.08056,47.59587],[19.07434,47.58909],[19.07952,47.58883],[19.07717,47.57241],[19.05779,47.57209],[19.07732,47.69597]]],terms_url:"http://fototerkep.hu",terms_text:"Fotótérkép.hu",description:"Riverbank of Danube at Budapest, Szentendre and Szigetmonostor"},{id:"Delaware2012Orthophotography",name:"Delaware 2012 Orthophotography",type:"wms",template:"https://firstmap.delaware.gov/arcgis/services/DE_Imagery/DE_Imagery_2012/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[-75.01771,38.45189],[-75.74174,38.44996],[-75.807,39.73907],[-75.75559,39.80106],[-75.64692,39.85638],[-75.47115,39.84646],[-75.37726,39.81478],[-75.48746,39.67181],[-75.50901,39.43446],[-75.39327,39.27784],[-75.30707,39.01667],[-75.19317,38.82219],[-75.05341,38.80876],[-75.01771,38.45189]]],terms_url:"https://firstmap.delaware.gov/arcgis/rest/services/DE_Imagery/DE_Imagery_2012/ImageServer",terms_text:"Digital Aerial Solutions, LLC",description:"This data set consists of 0.3-meter pixel resolution (approximately 1-foot), 4-band true color and near infrared (R, G, B, IR) orthoimages covering New Castle, Kent and Sussex Counties in Delaware."},{id:"Delaware2017Orthophotography",name:"Delaware 2017 Orthophotography",type:"wms",template:"https://firstmap.delaware.gov/arcgis/services/DE_Imagery/DE_Imagery_2017/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",polygon:[[[-75.01771,38.45189],[-75.74174,38.44996],[-75.807,39.73907],[-75.75559,39.80106],[-75.64692,39.85638],[-75.47115,39.84646],[-75.37726,39.81478],[-75.48746,39.67181],[-75.50901,39.43446],[-75.39327,39.27784],[-75.30707,39.01667],[-75.19317,38.82219],[-75.05341,38.80876],[-75.01771,38.45189]]],terms_url:"https://firstmap.delaware.gov/arcgis/rest/services/DE_Imagery/DE_Imagery_2017/ImageServer",terms_text:"Digital Aerial Solutions, LLC",description:"This data set consists of 0.3-meter pixel resolution (approximately 1-foot), 4-band true color and near infrared (R, G, B, IR) orthoimages covering New Castle, Kent and Sussex Counties in Delaware."},{id:"delmiro_gouveia",name:"Delmiro Gouveia AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Delmiro%20Gouveia&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.94962,-9.42957],[-37.94834,-9.33972],[-38.03903,-9.33834],[-38.04034,-9.42846],[-37.94962,-9.42957]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"der-es",name:"DER-ES",type:"wms",template:"http://portal.der.es.gov.br/geoserver/wms?SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=deres-ext:TRECHOINFO&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-40.94577,-21.31404],[-40.6231,-20.86278],[-40.38882,-20.65177],[-40.22209,-20.29831],[-39.80383,-19.66412],[-39.69603,-19.42573],[-39.67304,-19.30437],[-39.70538,-18.61384],[-39.65292,-18.33096],[-40.22281,-17.97587],[-40.34282,-17.9198],[-40.45278,-17.91502],[-40.46499,-17.92049],[-40.48368,-17.90408],[-40.50164,-17.90681],[-40.51602,-17.88903],[-40.53326,-17.88903],[-40.54548,-17.90134],[-40.58932,-17.91502],[-40.58932,-17.93211],[-40.61519,-17.93416],[-40.62956,-17.9868],[-40.64609,-17.9868],[-40.65903,-18.00731],[-40.68777,-18.00594],[-40.70574,-18.01756],[-40.71365,-18.00184],[-40.72155,-17.99774],[-40.75102,-18.00252],[-40.76754,-17.99842],[-40.76754,-17.98133],[-40.80923,-17.94852],[-40.82432,-17.96014],[-40.83151,-17.94989],[-40.86528,-17.9827],[-40.88397,-17.96766],[-40.90912,-17.98475],[-40.77761,-18.10775],[-40.77832,-18.15146],[-40.79054,-18.15351],[-40.8351,-18.14531],[-40.89547,-18.10365],[-40.93283,-18.12755],[-40.95583,-18.1255],[-40.95296,-18.14463],[-40.96014,-18.15009],[-40.96374,-18.14326],[-40.97955,-18.13643],[-40.99248,-18.15009],[-40.99105,-18.16307],[-41.00901,-18.16307],[-41.05788,-18.1658],[-41.05788,-18.17536],[-41.09597,-18.19243],[-41.09597,-18.2054],[-41.1089,-18.21291],[-41.09812,-18.22997],[-41.10531,-18.2327],[-41.09884,-18.25591],[-41.12903,-18.27502],[-41.16137,-18.30572],[-41.15059,-18.37394],[-41.16424,-18.37939],[-41.16424,-18.4019],[-41.15059,-18.40735],[-41.15849,-18.41144],[-41.17358,-18.41144],[-41.18868,-18.44485],[-41.02123,-18.46667],[-41.04638,-18.60362],[-41.03776,-18.61452],[-41.05788,-18.62678],[-41.0471,-18.64857],[-41.03488,-18.65402],[-40.99895,-18.67716],[-40.94505,-18.69418],[-40.94433,-18.76973],[-40.92134,-18.81055],[-40.93715,-18.82347],[-40.94721,-18.82143],[-40.97092,-18.83572],[-41.08375,-18.83232],[-41.10675,-18.83572],[-41.11753,-18.80783],[-41.13118,-18.79286],[-41.23611,-18.7949],[-41.2512,-18.81667],[-41.2476,-18.85544],[-41.2203,-18.87992],[-41.20808,-18.87992],[-41.20664,-18.86632],[-41.16424,-18.867],[-41.15634,-18.88876],[-41.12903,-18.9044],[-41.12112,-18.92412],[-41.0392,-18.98665],[-41.07585,-19.00567],[-41.06507,-19.06342],[-40.96877,-19.12726],[-40.96158,-19.15102],[-40.92996,-19.206],[-40.94649,-19.22296],[-40.94793,-19.24264],[-40.92565,-19.26299],[-40.94936,-19.2786],[-40.92277,-19.31048],[-40.94361,-19.35252],[-40.93427,-19.381],[-40.95727,-19.39184],[-40.9738,-19.42641],[-40.95439,-19.46165],[-40.97883,-19.50298],[-41.01332,-19.50298],[-41.04638,-19.48333],[-41.05429,-19.48401],[-41.04135,-19.56664],[-41.09238,-19.58966],[-41.14627,-19.656],[-41.16496,-19.65871],[-41.17933,-19.6939],[-41.19658,-19.74599],[-41.16999,-19.80618],[-41.18939,-19.82375],[-41.18868,-19.88526],[-41.21239,-19.89743],[-41.22964,-19.90216],[-41.24689,-19.93324],[-41.25479,-19.92919],[-41.26988,-19.93797],[-41.30653,-19.93392],[-41.31516,-19.96972],[-41.3245,-19.97647],[-41.313,-20.01226],[-41.33672,-20.05548],[-41.34822,-20.08653],[-41.3554,-20.12094],[-41.37768,-20.15805],[-41.38702,-20.18638],[-41.41074,-20.19448],[-41.4208,-20.20257],[-41.7636,-20.2046],[-41.78516,-20.28483],[-41.85055,-20.3246],[-41.86349,-20.37513],[-41.85127,-20.38187],[-41.84337,-20.40949],[-41.80887,-20.42498],[-41.80672,-20.47211],[-41.83115,-20.47885],[-41.81103,-20.54212],[-41.83115,-20.55086],[-41.86205,-20.61814],[-41.82109,-20.64437],[-41.85343,-20.68068],[-41.87139,-20.72102],[-41.8678,-20.73849],[-41.88002,-20.73984],[-41.88289,-20.76739],[-41.85415,-20.77478],[-41.83331,-20.7983],[-41.80887,-20.80905],[-41.78444,-20.80569],[-41.75138,-20.82382],[-41.74707,-20.87487],[-41.72335,-20.87554],[-41.74132,-20.92723],[-41.72335,-20.97757],[-41.74347,-21.09763],[-41.7291,-21.12579],[-41.594,-21.16332],[-41.57244,-21.18678],[-41.49051,-21.18879],[-41.48332,-21.20085],[-41.43948,-21.22095],[-41.41289,-21.20956],[-41.34965,-21.21291],[-41.27994,-21.2464],[-41.24473,-21.23234],[-41.17718,-21.25511],[-41.09238,-21.2243],[-41.04854,-21.25913],[-41.01548,-21.25578],[-41.00254,-21.28726],[-40.94577,-21.31404]]],terms_url:"https://der.es.gov.br",terms_text:"Departamento de Estradas de Rodagem do Estado do Espírito Santo",overlay:true},{id:"DigitalGlobe-Premium",name:"DigitalGlobe Premium Imagery",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/digitalglobe.316c9a2e/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqZGFrZ2c2dzFlMWgyd2x0ZHdmMDB6NzYifQ.9Pl3XOO82ArX94fHV289Pg",scaleExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/DigitalGlobe",terms_text:"Terms & Feedback","default":true,description:"Premium DigitalGlobe satellite imagery.",icon:"data:image/png;base64,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"},{id:"DigitalGlobe-Premium-vintage",name:"DigitalGlobe Premium Imagery Vintage",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/digitalglobe.2850d66c/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqOTBkcmZjNzJ5ZnozNHF6NnVkOGd6ODYifQ.grAnqgpCjOaeq-ozqt4QNw",scaleExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/DigitalGlobe",terms_text:"Terms & Feedback",description:"Imagery boundaries and capture dates. Labels appear at zoom level 13 and higher.",icon:"data:image/png;base64,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",overlay:true},{id:"DigitalGlobe-Standard",name:"DigitalGlobe Standard Imagery",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/digitalglobe.0a8e44ba/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqZGFrZ3pjczNpaHYycXFyMGo0djY3N2IifQ.90uebT4-ow1uqZKTUrf6RQ",scaleExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/DigitalGlobe",terms_text:"Terms & Feedback","default":true,description:"Standard DigitalGlobe satellite imagery.",icon:"data:image/png;base64,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"},{id:"DigitalGlobe-Standard-vintage",name:"DigitalGlobe Standard Imagery Vintage",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/digitalglobe.1412531a/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqOTBlYWJ1ZDAza2YyeG14NWVodTA4OWUifQ.wVc8ZOuPuYVw39lhS2j3_g",scaleExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/DigitalGlobe",terms_text:"Terms & Feedback",description:"Imagery boundaries and capture dates. Labels appear at zoom level 13 and higher.",icon:"data:image/png;base64,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",overlay:true},{id:"Erlangen-2011",name:"Erlangen Luftbild (2011 5,0 cm)",type:"wms",template:"https://secure.erlangen.de/arcgiser/services/Luftbilder2011/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Erlangen_ratio10_5cm_gk4.jp2&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[10.92791,49.53196],[10.97194,49.52969],[10.97821,49.53568],[10.99934,49.53589],[11.03214,49.53089],[11.04425,49.54317],[11.03842,49.55239],[11.03663,49.57167],[11.04029,49.58572],[11.07287,49.58587],[11.07243,49.63486],[11.0054,49.6344],[11.00397,49.62599],[10.9748,49.62541],[10.94293,49.64563],[10.92532,49.64876],[10.91002,49.63793],[10.92235,49.60463],[10.91949,49.57823],[10.91135,49.57095],[10.91256,49.5606],[10.92907,49.55674],[10.92791,49.53196]]],terms_text:"© Stadt Erlangen | © Aerowest GmbH"},{id:"Erlangen-2013",name:"Erlangen Luftbild (2013 6,25 cm)",type:"wms",template:"https://secure.erlangen.de/arcgiser/services/Luftbilder2013/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Erlangen_ratio5_6.25cm.jp2&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[10.92791,49.53196],[10.9726,49.52939],[10.97909,49.53475],[10.99934,49.53589],[11.03214,49.53089],[11.04425,49.54317],[11.03842,49.55239],[11.03743,49.57873],[11.0568,49.592],[11.05748,49.61358],[11.04681,49.61447],[11.04788,49.6187],[11.00308,49.62367],[10.98107,49.62339],[10.98069,49.62617],[10.96737,49.62781],[10.96539,49.63415],[10.94293,49.64563],[10.92532,49.64876],[10.91002,49.63793],[10.92235,49.60463],[10.91949,49.57823],[10.91135,49.57095],[10.91256,49.5606],[10.92907,49.55674],[10.92791,49.53196]]],terms_text:"© Stadt Erlangen | © Aerowest GmbH"},{id:"Erlangen-2016",name:"Erlangen Luftbild (2016 5,0 cm)",type:"wms",template:"https://secure.erlangen.de/arcgiser/services/Luftbild2016/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-03-18T00:00:00.000Z",startDate:"2016-03-18T00:00:00.000Z",polygon:[[[10.97664,49.53765],[10.99101,49.53392],[10.99389,49.53835],[11.02784,49.53254],[11.0346,49.53462],[11.03407,49.53759],[11.04318,49.54321],[11.03557,49.55303],[11.0384,49.55842],[11.03508,49.56929],[11.03791,49.58659],[11.04797,49.5902],[11.04922,49.5937],[11.05749,49.59521],[11.05623,49.59905],[11.05127,49.6003],[11.05351,49.60904],[11.04309,49.61381],[11.04076,49.61823],[11.0285,49.61735],[11.01929,49.61896],[11.0152,49.61372],[11.00581,49.61448],[11.00639,49.61931],[11.00083,49.6221],[10.9856,49.61651],[10.97837,49.61753],[10.9737,49.62495],[10.96539,49.62557],[10.96063,49.62856],[10.96382,49.63176],[10.95474,49.6379],[10.94837,49.637],[10.94185,49.64377],[10.9273,49.64837],[10.92063,49.63963],[10.91136,49.63773],[10.92429,49.60505],[10.92205,49.58004],[10.91221,49.57008],[10.91441,49.5618],[10.92353,49.55842],[10.92712,49.55976],[10.93345,49.55892],[10.93071,49.54467],[10.93067,49.53225],[10.9406,49.53325],[10.95488,49.53021],[10.97199,49.53126],[10.97664,49.53765]]],terms_text:"© Stadt Erlangen | © Geocart GmbH",best:true},{id:"EsriWorldImagery",name:"Esri World Imagery",type:"tms",template:"https://{switch:services,server}.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}",scaleExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/Esri",terms_text:"Terms & Feedback","default":true,description:"Esri world imagery.",icon:"data:image/png;base64,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"},{id:"EsriWorldImageryClarity",name:"Esri World Imagery (Clarity) Beta",type:"tms",template:"https://clarity.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}",scaleExtent:[0,22],terms_url:"https://wiki.openstreetmap.org/wiki/Esri",terms_text:"Terms & Feedback","default":true,description:"Esri archive imagery that may be clearer and more accurate than the default layer.",icon:"data:image/png;base64,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"},{id:"maaamet.ee-pohi_vr2",name:"Estonia Basemap (Maaamet)",type:"wms",template:"https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=pohi_vr2&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[22.35364,58.85385],[22.09411,58.85038],[22.09179,58.8951],[22.00503,58.89371],[21.99979,58.98374],[22.34754,58.98845],[22.34535,59.03337],[22.51935,59.03538],[22.51556,59.1251],[22.69017,59.12686],[22.69212,59.08218],[22.77912,59.083],[22.78083,59.03814],[22.86808,59.03877],[22.8693,58.99399],[22.9563,58.99487],[22.95495,59.03959],[23.12895,59.04097],[23.12786,59.08582],[23.47671,59.0877],[23.47415,59.26726],[23.64924,59.26788],[23.64888,59.31281],[23.73698,59.313],[23.73649,59.3578],[23.91158,59.35787],[23.91207,59.4028],[24.176,59.4028],[24.17637,59.4478],[24.26446,59.44767],[24.26471,59.49236],[24.70605,59.49082],[24.70898,59.62553],[24.79744,59.62497],[24.79659,59.58009],[24.97327,59.57885],[24.97462,59.62386],[24.88603,59.62473],[24.88725,59.66918],[24.9762,59.66863],[24.9773,59.71346],[25.06601,59.71259],[25.0632,59.62306],[25.24037,59.62145],[25.24184,59.66647],[25.33055,59.66548],[25.32884,59.62078],[25.41755,59.61979],[25.41938,59.66468],[25.6855,59.66148],[25.68757,59.70613],[25.86511,59.70386],[25.86279,59.65901],[26.12855,59.65507],[26.12575,59.6101],[26.39114,59.60565],[26.38809,59.56099],[26.82967,59.55215],[26.82626,59.50729],[26.91423,59.50549],[26.91057,59.46051],[27.96689,59.43303],[27.9719,59.4778],[28.03669,59.4757],[28.04377,59.47223],[28.04767,59.46578],[28.05182,59.46342],[28.06915,59.46256],[28.08452,59.45939],[28.12174,59.44091],[28.13577,59.4277],[28.13711,59.42267],[28.14163,59.41901],[28.16652,59.41205],[28.17225,59.40789],[28.19275,59.4015],[28.21069,59.3836],[28.21069,59.37994],[28.20386,59.37459],[28.21057,59.37235],[28.21105,59.36937],[28.20678,59.36719],[28.20703,59.36377],[28.19971,59.36091],[28.20203,59.35731],[28.19263,59.35227],[28.19397,59.34642],[28.16969,59.33354],[28.13626,59.29244],[28.12515,59.28901],[28.11722,59.28895],[28.1099,59.29063],[28.05353,59.2902],[28.02022,59.28334],[27.99825,59.2753],[27.97983,59.27293],[27.96433,59.27268],[27.95335,59.26863],[27.9492,59.26533],[27.90564,59.24044],[27.90113,59.23488],[27.901,59.22639],[27.89783,59.21746],[27.90235,59.20728],[27.89234,59.19222],[27.88978,59.18379],[27.87648,59.17372],[27.87184,59.16841],[27.86818,59.16159],[27.84414,59.14814],[27.83206,59.14401],[27.82035,59.13362],[27.80986,59.12905],[27.80595,59.12166],[27.80534,59.1127],[27.81071,59.10819],[27.8101,59.10606],[27.80205,59.1028],[27.78887,59.0909],[27.7907,59.08112],[27.79375,59.07842],[27.79411,59.07566],[27.79277,59.0729],[27.79302,59.06927],[27.7885,59.06657],[27.78265,59.065],[27.77508,59.0581],[27.77313,59.05107],[27.77667,59.04743],[27.76983,59.03325],[27.76605,59.03155],[27.75153,59.03017],[27.74628,59.02716],[27.74567,59.01705],[27.74165,59.00951],[27.74787,58.99267],[27.74274,58.98845],[27.73213,58.9855],[27.6544,58.98783],[27.65501,58.99241],[27.39414,58.99964],[27.38974,58.95474],[27.12935,58.96135],[27.12557,58.9164],[27.03882,58.91841],[27.0271,58.7841],[27.11361,58.78183],[27.10934,58.73709],[27.19537,58.73512],[27.18731,58.64533],[27.27309,58.64305],[27.25259,58.41883],[27.53397,58.41142],[27.5552,58.36575],[27.51762,58.33265],[27.51408,58.32214],[27.49993,58.32246],[27.48687,58.18803],[27.52872,58.18687],[27.59205,58.11875],[27.63695,58.09735],[27.60938,58.05399],[27.62268,58.0058],[27.64489,58.00205],[27.65294,58.00644],[27.64781,58.01426],[27.64781,58.02086],[27.66172,58.01866],[27.66856,58.01045],[27.68393,58.00845],[27.6965,58.0045],[27.70065,57.99862],[27.69882,57.98827],[27.69125,57.98549],[27.68064,57.97449],[27.6821,57.9719],[27.68893,57.97184],[27.68588,57.95928],[27.65892,57.9554],[27.66758,57.951],[27.67161,57.94627],[27.66917,57.94174],[27.67649,57.93552],[27.68247,57.93655],[27.68613,57.92794],[27.68247,57.92437],[27.71078,57.92392],[27.72029,57.92036],[27.72054,57.91174],[27.70834,57.90616],[27.69882,57.90616],[27.70614,57.90136],[27.72896,57.90739],[27.74677,57.90169],[27.7536,57.90409],[27.75739,57.90318],[27.75592,57.89806],[27.76959,57.89566],[27.78094,57.89832],[27.799,57.89961],[27.81852,57.89579],[27.82096,57.89047],[27.81949,57.888],[27.81059,57.88612],[27.81827,57.88249],[27.81169,57.87204],[27.81583,57.87166],[27.8184,57.8651],[27.81632,57.86134],[27.79875,57.85205],[27.7946,57.84634],[27.80058,57.8442],[27.7957,57.84017],[27.78862,57.84186],[27.78411,57.83725],[27.77715,57.8325],[27.75849,57.83536],[27.74165,57.82679],[27.72383,57.83179],[27.70541,57.84192],[27.68771,57.83419],[27.66636,57.83653],[27.66026,57.83893],[27.64818,57.8377],[27.63634,57.83978],[27.62487,57.83751],[27.62207,57.83874],[27.59791,57.83328],[27.56252,57.83023],[27.5563,57.83127],[27.55227,57.82113],[27.54446,57.82204],[27.5452,57.81808],[27.55056,57.81769],[27.55667,57.81366],[27.5408,57.81288],[27.54471,57.808],[27.53726,57.80644],[27.53958,57.80144],[27.53592,57.79663],[27.53861,57.79396],[27.52921,57.78856],[27.5175,57.78876],[27.51847,57.79201],[27.50298,57.78798],[27.50005,57.78973],[27.4959,57.78869],[27.50774,57.78349],[27.51457,57.77516],[27.5081,57.77158],[27.51115,57.76416],[27.51591,57.7639],[27.52018,57.75993],[27.52811,57.75818],[27.53007,57.75368],[27.53116,57.74073],[27.548,57.7333],[27.5419,57.73037],[27.52799,57.72946],[27.5236,57.71616],[27.52762,57.70899],[27.5236,57.70802],[27.51652,57.70873],[27.51066,57.71101],[27.50859,57.70723],[27.49993,57.70495],[27.49529,57.70749],[27.48711,57.7191],[27.47357,57.71545],[27.47064,57.70802],[27.46149,57.70619],[27.44807,57.71616],[27.43086,57.70756],[27.42818,57.69902],[27.41341,57.69915],[27.41647,57.69524],[27.40744,57.69276],[27.40231,57.68493],[27.39133,57.68539],[27.39377,57.67913],[27.39145,57.67671],[27.38193,57.67332],[27.37779,57.66836],[27.38364,57.66059],[27.3801,57.65883],[27.38755,57.6555],[27.38047,57.6495],[27.38352,57.64799],[27.38157,57.64368],[27.39072,57.6431],[27.38816,57.64009],[27.40085,57.63742],[27.40317,57.62905],[27.40182,57.62376],[27.39597,57.62115],[27.39023,57.62036],[27.39084,57.6169],[27.40195,57.61775],[27.40634,57.61546],[27.40683,57.61246],[27.38572,57.60304],[27.37827,57.59513],[27.35692,57.59696],[27.3413,57.58984],[27.34179,57.58539],[27.32886,57.5797],[27.32141,57.57898],[27.3341,57.56596],[27.33178,57.56066],[27.33776,57.56007],[27.33886,57.54671],[27.34386,57.5454],[27.35472,57.52575],[27.35131,57.51632],[27.34569,57.52104],[27.32446,57.52274],[27.29664,57.53859],[27.28017,57.53643],[27.2737,57.54311],[27.26431,57.54377],[27.2637,57.54841],[27.25772,57.54979],[27.24796,57.54769],[27.2249,57.55385],[27.19329,57.54966],[27.16145,57.55922],[27.11654,57.56118],[27.10092,57.5653],[27.08506,57.57538],[27.07262,57.57734],[27.07225,57.57989],[27.0559,57.58251],[27.05285,57.58087],[27.04687,57.58048],[27.04492,57.58251],[27.0332,57.58532],[27.04126,57.58761],[27.04418,57.5967],[27.03101,57.60461],[26.99513,57.60461],[26.99233,57.61076],[26.98696,57.60867],[26.98366,57.61174],[26.97549,57.612],[26.97097,57.60448],[26.9595,57.60625],[26.9578,57.60468],[26.94596,57.60272],[26.93961,57.60932],[26.95133,57.61579],[26.94999,57.62056],[26.94059,57.61978],[26.92961,57.62376],[26.92644,57.6331],[26.90679,57.63304],[26.89971,57.63056],[26.90057,57.62918],[26.89581,57.62572],[26.88849,57.62357],[26.88898,57.62193],[26.87458,57.61906],[26.87275,57.61736],[26.86555,57.61592],[26.85786,57.60997],[26.86469,57.6084],[26.85811,57.60049],[26.85994,57.59598],[26.86433,57.59415],[26.86177,57.59108],[26.84688,57.5884],[26.83504,57.58244],[26.81589,57.58153],[26.80954,57.58473],[26.79685,57.58179],[26.79929,57.58002],[26.79295,57.57315],[26.78685,57.57525],[26.7766,57.55994],[26.76915,57.56039],[26.76354,57.56314],[26.75366,57.56249],[26.75817,57.5653],[26.76891,57.57041],[26.77379,57.57473],[26.76769,57.57754],[26.74804,57.5778],[26.75317,57.58009],[26.73816,57.58774],[26.72901,57.58016],[26.73828,57.57584],[26.73072,57.56903],[26.72388,57.57244],[26.71107,57.56596],[26.69972,57.57106],[26.69753,57.5706],[26.69741,57.56733],[26.69155,57.56615],[26.67569,57.56668],[26.67105,57.56327],[26.6719,57.55385],[26.66531,57.55287],[26.64652,57.55391],[26.64262,57.54658],[26.63444,57.54357],[26.61443,57.52909],[26.61712,57.50885],[26.60467,57.51212],[26.60479,57.51442],[26.5954,57.51376],[26.59479,57.51592],[26.58808,57.51619],[26.59015,57.52516],[26.58698,57.52621],[26.58771,57.53781],[26.58381,57.53957],[26.57978,57.53695],[26.57966,57.53375],[26.56123,57.5285],[26.56184,57.52261],[26.5666,57.51946],[26.55794,57.5137],[26.52585,57.51619],[26.49961,57.52451],[26.49095,57.54534],[26.46996,57.57551],[26.40151,57.57237],[26.34489,57.58408],[26.33476,57.5797],[26.32781,57.57963],[26.32635,57.58277],[26.3117,57.58473],[26.30853,57.59291],[26.3006,57.59343],[26.29291,57.59114],[26.28352,57.59232],[26.28217,57.5952],[26.27754,57.595],[26.27034,57.6001],[26.27022,57.60461],[26.25423,57.61383],[26.24715,57.62082],[26.24813,57.62775],[26.23947,57.63408],[26.24203,57.63539],[26.24667,57.63559],[26.23959,57.64649],[26.23239,57.6461],[26.23117,57.64904],[26.24215,57.65146],[26.2363,57.65753],[26.23032,57.65805],[26.21043,57.66601],[26.21372,57.66888],[26.21092,57.67071],[26.21018,57.67906],[26.20079,57.68102],[26.19896,57.68356],[26.19444,57.68519],[26.18541,57.68454],[26.17712,57.68761],[26.18871,57.69472],[26.19859,57.70906],[26.20567,57.71486],[26.1726,57.72867],[26.141,57.73278],[26.13563,57.73923],[26.13905,57.74548],[26.13551,57.7503],[26.10537,57.757],[26.08035,57.76547],[26.07974,57.76384],[26.07328,57.76371],[26.07047,57.7656],[26.05912,57.75987],[26.049,57.7611],[26.0435,57.76703],[26.03326,57.77054],[26.02374,57.76761],[26.01776,57.7723],[26.02459,57.77516],[26.02496,57.7816],[26.02252,57.78355],[26.02776,57.7898],[26.03081,57.79097],[26.03338,57.80105],[26.03679,57.80592],[26.03606,57.8108],[26.04851,57.82289],[26.05705,57.83842],[26.05558,57.84764],[26.03667,57.84926],[26.02008,57.84517],[26.00958,57.85731],[25.99848,57.85816],[25.96273,57.84491],[25.931,57.85244],[25.89537,57.84972],[25.8883,57.84595],[25.88085,57.84946],[25.88573,57.85277],[25.88427,57.85595],[25.87561,57.85796],[25.87475,57.86322],[25.8595,57.85614],[25.81923,57.86419],[25.78312,57.89948],[25.78629,57.90428],[25.77165,57.91206],[25.75102,57.91692],[25.73724,57.92295],[25.72833,57.92133],[25.72247,57.91245],[25.70356,57.90331],[25.67916,57.90461],[25.67549,57.91277],[25.66207,57.91511],[25.65609,57.91439],[25.64889,57.91666],[25.64987,57.91841],[25.63828,57.93059],[25.57983,57.9442],[25.59399,57.95961],[25.58935,57.96504],[25.58239,57.96783],[25.58044,57.9721],[25.57483,57.9741],[25.56556,57.96718],[25.56604,57.96258],[25.55714,57.96038],[25.55567,57.96711],[25.55079,57.97255],[25.53725,57.97139],[25.52566,57.97184],[25.5226,57.96802],[25.51638,57.96737],[25.51211,57.96977],[25.52212,57.97488],[25.51943,57.98031],[25.48539,57.97475],[25.47843,57.98006],[25.47843,57.98264],[25.44219,57.99616],[25.44817,58.00114],[25.46648,58.00515],[25.44817,58.01698],[25.40693,58.02893],[25.37155,58.02926],[25.36374,58.03171],[25.35336,58.04334],[25.34482,58.04676],[25.33604,58.05709],[25.3292,58.05858],[25.32664,58.0638],[25.31981,58.066],[25.31908,58.06929],[25.29553,58.08161],[25.28686,58.08149],[25.28113,58.07019],[25.266,58.06716],[25.26502,58.06],[25.27991,58.05063],[25.29309,58.0467],[25.30431,58.03449],[25.30114,58.01504],[25.29748,58.01459],[25.30285,58.00011],[25.29577,57.99972],[25.29736,57.99661],[25.30358,57.99396],[25.30138,57.99273],[25.29187,57.99286],[25.28308,57.98963],[25.26722,57.99454],[25.25611,57.9939],[25.25502,58.00347],[25.2455,58.00302],[25.22768,58.01782],[25.24587,58.01872],[25.23562,58.02286],[25.23635,58.02441],[25.22732,58.02435],[25.22537,58.02195],[25.21902,58.02977],[25.21658,58.04088],[25.22695,58.04799],[25.22817,58.05348],[25.22122,58.05302],[25.22146,58.05051],[25.2178,58.04908],[25.21597,58.05954],[25.21219,58.06226],[25.20523,58.06122],[25.20389,58.0651],[25.21621,58.07413],[25.21207,58.08052],[25.19962,58.08536],[25.18949,58.08007],[25.19169,58.07613],[25.1535,58.07478],[25.15154,58.07703],[25.13397,58.07974],[25.10579,58.07749],[25.10518,58.06645],[25.07662,58.06645],[25.02037,58.01769],[24.99512,58.01084],[24.94863,58.00942],[24.83234,57.97177],[24.80806,57.99066],[24.74229,57.98187],[24.74339,57.96491],[24.7329,57.96239],[24.71508,57.96271],[24.6919,57.94653],[24.67335,57.95896],[24.64468,57.95889],[24.64187,57.95423],[24.64577,57.95268],[24.62869,57.94193],[24.61612,57.94368],[24.60892,57.95125],[24.58464,57.96174],[24.57317,57.95436],[24.54792,57.94938],[24.54352,57.94478],[24.5301,57.94705],[24.5207,57.94303],[24.51839,57.93675],[24.5096,57.93442],[24.51326,57.93066],[24.4625,57.92496],[24.44579,57.90798],[24.46018,57.90662],[24.45225,57.89942],[24.46006,57.87977],[24.41138,57.86491],[24.40906,57.87191],[24.33707,57.87393],[24.33829,58.0109],[24.42272,58.01097],[24.42614,58.28002],[24.51155,58.2797],[24.51216,58.32471],[24.42638,58.32503],[24.42712,58.36972],[24.34182,58.37017],[24.34048,58.23547],[24.17014,58.23572],[24.17014,58.1908],[24.08485,58.19092],[24.0851,58.23605],[24.00066,58.23579],[23.99993,58.28092],[23.82971,58.28047],[23.82947,58.32554],[23.65864,58.32496],[23.65791,58.41493],[23.57225,58.41468],[23.57127,58.50436],[23.39935,58.50359],[23.40106,58.41391],[23.14421,58.41238],[23.14567,58.36735],[23.05989,58.36703],[23.06172,58.32221],[22.9757,58.32157],[22.97716,58.27681],[22.89187,58.27598],[22.89358,58.23103],[22.80865,58.2302],[22.81012,58.18539],[22.89529,58.1861],[22.89663,58.1413],[22.72641,58.13982],[22.72495,58.18475],[22.55522,58.18276],[22.55693,58.13744],[22.64173,58.13886],[22.64344,58.094],[22.38903,58.0909],[22.38525,58.18063],[22.29995,58.17967],[22.30679,58.04527],[22.22198,58.0436],[22.22626,57.95404],[22.14206,57.95281],[22.1445,57.90804],[22.06007,57.90681],[22.06263,57.86186],[21.97807,57.86043],[21.96831,58.04004],[22.05274,58.04134],[22.04506,58.17581],[21.96038,58.17471],[21.95781,58.21941],[21.78723,58.21638],[21.78211,58.30631],[21.69681,58.3049],[21.69401,58.34975],[21.77942,58.35122],[21.76795,58.53074],[22.02566,58.53488],[22.02797,58.49001],[22.11375,58.49167],[22.11144,58.53621],[22.19709,58.53742],[22.19453,58.5823],[22.45236,58.58573],[22.44638,58.7203],[22.36023,58.71916],[22.35364,58.85385]],[[23.47415,59.26726],[23.29868,59.26632],[23.29795,59.31138],[23.47293,59.31194],[23.47415,59.26726]],[[24.17014,58.1908],[24.25507,58.19073],[24.25458,58.14581],[24.17002,58.14588],[24.17014,58.1908]],[[24.08485,58.19092],[24.08497,58.10129],[23.99968,58.10116],[23.99993,58.05632],[23.91525,58.05612],[23.915,58.14613],[23.83032,58.146],[23.82971,58.23572],[23.91451,58.23585],[23.91476,58.19099],[24.08485,58.19092]],[[24.61854,59.53612],[24.44183,59.5368],[24.44309,59.62659],[24.62016,59.6258],[24.61854,59.53612]],[[26.40403,59.7852],[26.31501,59.78667],[26.31814,59.83152],[26.40732,59.82994],[26.40403,59.7852]],[[26.48308,59.649],[26.48647,59.69383],[26.57514,59.69202],[26.57166,59.64719],[26.48308,59.649]],[[23.15944,57.78408],[23.24346,57.78461],[23.24445,57.73971],[23.32848,57.74031],[23.32679,57.82998],[23.15845,57.82885],[23.15944,57.78408]]],terms_text:"Maa-Ameti põhikaart"},{id:"maaamet.ee-cir_ngr",name:"Estonia Forestry (Maaamet)",type:"wms",template:"https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=cir_ngr&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[21.69401,57.50255],[21.69401,59.82746],[28.21105,59.82746],[28.21105,57.50255],[21.69401,57.50255]]],terms_text:"Maa-Ameti metsanduslik ortofoto"},{id:"maaamet.ee-reljeef",name:"Estonia Hillshading (Maaamet)",type:"wms",template:"https://kaart.maaamet.ee/wms/alus-geo?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=reljeef&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[21.69401,57.50255],[21.69401,59.82746],[28.21105,59.82746],[28.21105,57.50255],[21.69401,57.50255]]],terms_text:"Maa-Ameti reljeefikaart"},{id:"maaamet.ee-orto",name:"Estonia Ortho (Maaamet)",type:"tms",template:"https://tiles.maaamet.ee/tm/tms/1.0.0/foto@GMC/{zoom}/{x}/{-y}.png",scaleExtent:[14,18],polygon:[[[21.69401,57.50255],[21.69401,59.82746],[28.21105,59.82746],[28.21105,57.50255],[21.69401,57.50255]]],terms_text:"Maa-Ameti ortofoto"},{id:"estrela_de_alagoas",name:"Estrela de Alagoas",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Estrela%20de%20Alagoas&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.71382,-9.43476],[-36.71477,-9.34443],[-36.80586,-9.34498],[-36.80525,-9.43542],[-36.71382,-9.43476]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"Fiez-2013",name:"Fiez Orthophoto 2013",type:"tms",template:"http://osmdata.asitvd.ch/tiles/fiez2013/{zoom}/{x}/{y}.png",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[14,20],polygon:[[[6.62313,46.82339],[6.62899,46.82484],[6.62882,46.82674],[6.62531,46.83274],[6.62382,46.83317],[6.61839,46.83194],[6.62313,46.82339]]],terms_url:"http://osmdata.asitvd.ch/",terms_text:"Fiez - Orthophoto technique 2013"},{id:"FOMI_2000",name:"FÖMI orthophoto 2000",type:"tms",template:"http://e.tile.openstreetmap.hu/ortofoto2000/{zoom}/{x}/{y}.jpg",endDate:"2000-01-01T00:00:00.000Z",startDate:"2000-01-01T00:00:00.000Z",scaleExtent:[0,17],polygon:[[[16.11391,46.8691],[16.17897,46.90662],[16.20004,46.94151],[16.22175,46.93554],[16.24628,46.94639],[16.25532,46.96421],[16.27647,46.96261],[16.29058,47.01398],[16.30162,46.99923],[16.34146,46.99652],[16.35052,47.01063],[16.3734,46.99859],[16.41277,47.00475],[16.43327,46.99274],[16.44781,47.00389],[16.48,46.99412],[16.5122,47.00117],[16.46356,47.03227],[16.44786,47.02275],[16.43912,47.02966],[16.44567,47.03887],[16.52032,47.0561],[16.47321,47.07362],[16.46372,47.09392],[16.5008,47.11006],[16.50004,47.12329],[16.52953,47.12874],[16.51716,47.14969],[16.45495,47.14259],[16.46487,47.16833],[16.45556,47.18756],[16.43056,47.1847],[16.4195,47.19491],[16.41892,47.21071],[16.43713,47.2097],[16.44263,47.23371],[16.43131,47.25276],[16.46715,47.25317],[16.48923,47.27989],[16.46463,47.33385],[16.4337,47.35281],[16.45851,47.36705],[16.44546,47.40702],[16.48317,47.40936],[16.49638,47.38927],[16.51709,47.41002],[16.57491,47.40542],[16.58073,47.41917],[16.66185,47.4556],[16.67064,47.47422],[16.65234,47.50034],[16.68956,47.51016],[16.71478,47.5402],[16.66354,47.56773],[16.6732,47.60495],[16.65953,47.6061],[16.65276,47.62285],[16.63142,47.62832],[16.57391,47.61967],[16.51474,47.6462],[16.49675,47.63931],[16.42546,47.66217],[16.44374,47.67421],[16.44805,47.69647],[16.4747,47.68116],[16.48722,47.69798],[16.55217,47.72255],[16.53638,47.73678],[16.54798,47.75154],[16.60952,47.76037],[16.63441,47.75908],[16.65729,47.74149],[16.72094,47.73536],[16.75341,47.68282],[16.83016,47.68106],[16.83943,47.70451],[16.86689,47.72115],[16.87668,47.68765],[17.09374,47.70777],[17.07066,47.72854],[17.0516,47.79385],[17.07495,47.8085],[17.04714,47.82856],[17.05195,47.83777],[17.01055,47.85818],[17.01639,47.86733],[17.08575,47.87462],[17.11317,47.92716],[17.09171,47.93429],[17.11838,47.96011],[17.09466,47.97088],[17.20103,48.01999],[17.24177,48.02247],[17.25795,47.99865],[17.33465,47.99312],[17.40299,47.94785],[17.45392,47.88526],[17.52674,47.86551],[17.56758,47.81513],[17.6084,47.82189],[17.70858,47.75668],[17.77987,47.73949],[17.8661,47.74575],[17.90013,47.73926],[17.94687,47.74467],[17.97087,47.75784],[18.00441,47.74634],[18.03806,47.75768],[18.29588,47.73146],[18.45407,47.76512],[18.49316,47.75276],[18.55908,47.766],[18.64609,47.75909],[18.72607,47.78904],[18.74118,47.81382],[18.792,47.82309],[18.84854,47.81672],[18.85588,47.82608],[18.82801,47.83429],[18.81357,47.85555],[18.76353,47.8716],[18.75686,47.89684],[18.77675,47.95509],[18.75525,47.97635],[18.81574,47.99344],[18.82,48.03968],[18.83327,48.04824],[18.87494,48.04707],[18.88667,48.05868],[18.90898,48.05114],[18.9439,48.05886],[18.98161,48.0536],[19.01486,48.07818],[19.05852,48.05735],[19.08436,48.07278],[19.1074,48.0656],[19.13529,48.07415],[19.24137,48.05365],[19.25578,48.07156],[19.30311,48.08871],[19.3866,48.09191],[19.40002,48.0823],[19.45405,48.10144],[19.46735,48.08393],[19.49442,48.10991],[19.49238,48.13966],[19.51282,48.15466],[19.50452,48.17344],[19.52897,48.19036],[19.52604,48.20313],[19.5775,48.21601],[19.63083,48.25007],[19.64452,48.23917],[19.66986,48.23921],[19.69122,48.20389],[19.72113,48.20147],[19.74618,48.21651],[19.78716,48.19253],[19.79873,48.19482],[19.80528,48.18373],[19.78242,48.16504],[19.79481,48.15353],[19.82133,48.16908],[19.84528,48.16274],[19.85517,48.17843],[19.86013,48.16941],[19.89875,48.16631],[19.91454,48.14686],[19.8983,48.1249],[19.93738,48.13112],[19.97439,48.166],[19.98871,48.16217],[20.02904,48.17768],[20.04945,48.1672],[20.07299,48.17961],[20.07004,48.1917],[20.13409,48.22518],[20.13319,48.25398],[20.20616,48.25098],[20.20383,48.26191],[20.22847,48.26278],[20.23495,48.27993],[20.28686,48.26164],[20.32571,48.27279],[20.33746,48.30167],[20.36566,48.31661],[20.38408,48.35118],[20.40983,48.36586],[20.40253,48.38256],[20.42053,48.40386],[20.41623,48.41854],[20.50793,48.48936],[20.50651,48.53442],[20.53747,48.52788],[20.54649,48.54429],[20.58659,48.53576],[20.65387,48.56141],[20.83636,48.58284],[20.8378,48.57421],[20.85044,48.58163],[20.84533,48.5665],[20.86815,48.55182],[20.92232,48.55945],[20.93463,48.53834],[20.95588,48.53396],[20.9562,48.52167],[20.98158,48.51777],[21.01511,48.53231],[21.06632,48.52589],[21.11745,48.49105],[21.16087,48.5215],[21.17963,48.51823],[21.22106,48.5375],[21.30549,48.52225],[21.31338,48.55084],[21.32688,48.55413],[21.31938,48.5612],[21.41545,48.55895],[21.42266,48.57882],[21.44061,48.5851],[21.51409,48.55107],[21.54202,48.5084],[21.61393,48.50942],[21.62019,48.46983],[21.66355,48.41796],[21.66456,48.39216],[21.70174,48.3807],[21.71187,48.35762],[21.81741,48.33279],[21.8352,48.33464],[21.83721,48.36325],[21.8843,48.35605],[21.88484,48.36754],[21.89788,48.36256],[21.8998,48.37022],[21.92819,48.3616],[21.92681,48.3709],[21.9492,48.37873],[21.99446,48.37732],[22.02133,48.39275],[22.0546,48.37753],[22.07649,48.38724],[22.08674,48.37156],[22.13591,48.38052],[22.13106,48.39123],[22.15277,48.39624],[22.15619,48.40931],[22.21257,48.42565],[22.23714,48.41004],[22.26549,48.40987],[22.23988,48.38701],[22.26757,48.36116],[22.31781,48.35454],[22.31329,48.32507],[22.33729,48.30791],[22.33843,48.27921],[22.38475,48.23396],[22.40064,48.2492],[22.43284,48.25252],[22.45639,48.24231],[22.4899,48.25342],[22.49722,48.23955],[22.51615,48.23797],[22.53111,48.20943],[22.57114,48.19614],[22.56164,48.18161],[22.59824,48.14476],[22.59028,48.10734],[22.67545,48.092],[22.73472,48.11985],[22.75762,48.12006],[22.77039,48.10902],[22.77232,48.12187],[22.80277,48.12211],[22.80253,48.10708],[22.82543,48.11751],[22.83644,48.08025],[22.86113,48.07503],[22.8678,48.05243],[22.88204,48.05481],[22.86597,48.01132],[22.83556,47.9906],[22.84076,47.98136],[22.87257,47.97527],[22.86973,47.96596],[22.89157,47.96724],[22.89744,47.95406],[22.84733,47.90776],[22.79281,47.89086],[22.75869,47.89414],[22.77775,47.84225],[22.71363,47.83609],[22.68019,47.78775],[22.61112,47.77175],[22.549,47.77222],[22.48121,47.81089],[22.45131,47.80339],[22.43133,47.73981],[22.35662,47.74862],[22.31777,47.76609],[22.31762,47.74337],[22.28514,47.72928],[22.26432,47.73107],[22.259,47.69791],[22.23068,47.6932],[22.17965,47.59161],[22.12892,47.5979],[22.09428,47.55836],[22.07826,47.56213],[22.05345,47.54748],[22.07122,47.53807],[22.06179,47.5288],[22.04513,47.53989],[22.03672,47.53267],[22.00719,47.48362],[22.03279,47.45084],[22.02388,47.39086],[22.01198,47.3758],[21.96274,47.38105],[21.93825,47.37253],[21.87779,47.28578],[21.88728,47.27305],[21.85349,47.23976],[21.85807,47.18736],[21.81248,47.16675],[21.79241,47.10598],[21.72683,47.09839],[21.6976,47.05792],[21.65042,47.04083],[21.68887,47.002],[21.66787,46.97123],[21.68149,46.96521],[21.6382,46.93305],[21.59845,46.92747],[21.61429,46.88673],[21.60167,46.86682],[21.52033,46.83737],[21.51861,46.80007],[21.48318,46.76502],[21.52634,46.73932],[21.52937,46.72097],[21.49233,46.68597],[21.47284,46.69591],[21.4299,46.69394],[21.43096,46.67814],[21.45467,46.66086],[21.41624,46.64262],[21.4098,46.62181],[21.3657,46.63795],[21.33005,46.63182],[21.31397,46.61767],[21.30124,46.59087],[21.32079,46.58286],[21.2743,46.54074],[21.26003,46.50216],[21.27442,46.47673],[21.29645,46.4763],[21.31743,46.45073],[21.28952,46.41548],[21.29633,46.40696],[21.22501,46.41369],[21.20642,46.40338],[21.19926,46.3479],[21.17623,46.33577],[21.1805,46.30445],[21.11554,46.30185],[21.10305,46.26246],[21.07088,46.2539],[21.06608,46.24294],[21.03662,46.24804],[21.02467,46.26653],[20.96082,46.2623],[20.94658,46.2793],[20.92507,46.27662],[20.92181,46.26181],[20.87327,46.28776],[20.77565,46.27596],[20.74905,46.25085],[20.76186,46.20456],[20.7274,46.20775],[20.73411,46.19394],[20.71405,46.16605],[20.68436,46.14478],[20.65492,46.14977],[20.63945,46.12676],[20.54505,46.17909],[20.50148,46.19033],[20.49494,46.17099],[20.45923,46.14288],[20.39751,46.15747],[20.36853,46.15286],[20.35571,46.16963],[20.29681,46.15215],[20.2549,46.11585],[20.24848,46.1301],[20.23301,46.12417],[20.18174,46.16011],[20.1365,46.14495],[20.10097,46.17728],[20.06362,46.14373],[20.03461,46.14589],[20.01581,46.17684],[19.93541,46.17642],[19.85335,46.15],[19.81797,46.12817],[19.75854,46.14798],[19.69821,46.18793],[19.68277,46.18004],[19.66151,46.19044],[19.63174,46.1693],[19.56765,46.17911],[19.5604,46.16658],[19.50266,46.14245],[19.52712,46.12103],[19.4645,46.09538],[19.46658,46.08204],[19.416,46.04605],[19.3804,46.03587],[19.36409,46.0523],[19.2819,46.0148],[19.29653,45.98812],[19.28565,45.9969],[19.14799,45.99634],[19.13384,46.0371],[19.10487,46.04017],[19.06604,46.0002],[19.07968,45.96364],[19.00598,45.95907],[19.00927,45.92366],[18.90613,45.93538],[18.87946,45.91668],[18.86471,45.92085],[18.86856,45.91134],[18.82768,45.90517],[18.822,45.91459],[18.80751,45.90361],[18.80925,45.87962],[18.79562,45.87845],[18.70489,45.91819],[18.67002,45.91084],[18.65966,45.91689],[18.66513,45.89928],[18.64128,45.88904],[18.65502,45.87424],[18.62777,45.87338],[18.61484,45.85314],[18.62367,45.83985],[18.57324,45.81376],[18.57498,45.80043],[18.55972,45.8038],[18.52235,45.78269],[18.49067,45.79472],[18.48219,45.7655],[18.45628,45.76952],[18.44508,45.76052],[18.44685,45.73713],[18.40763,45.73971],[18.39189,45.7617],[18.36423,45.77294],[18.33942,45.74716],[18.29682,45.76122],[18.24405,45.76123],[18.23073,45.77903],[18.19087,45.78788],[18.16819,45.77627],[18.12465,45.78963],[18.10681,45.77083],[18.08189,45.76452],[17.99588,45.79573],[17.93021,45.78633],[17.90668,45.79257],[17.86531,45.76701],[17.82627,45.81],[17.80898,45.8041],[17.78091,45.81749],[17.76034,45.81192],[17.74086,45.8296],[17.66329,45.83818],[17.62762,45.89794],[17.57007,45.93582],[17.43783,45.95038],[17.4259,45.92727],[17.41081,45.93997],[17.39215,45.93021],[17.38287,45.94757],[17.34762,45.94234],[17.34388,45.96053],[17.35377,45.9525],[17.39054,45.95819],[17.38742,45.96618],[17.35835,45.96427],[17.37549,45.96869],[17.37519,45.98811],[17.36357,45.99154],[17.35672,45.97358],[17.33396,45.99608],[17.33198,45.97289],[17.313,45.96653],[17.32365,45.98878],[17.29877,45.98387],[17.3042,46.00211],[17.25797,46.01103],[17.29632,46.02852],[17.25415,46.03001],[17.27096,46.05671],[17.23248,46.0592],[17.25251,46.06647],[17.23131,46.07903],[17.20199,46.07655],[17.23313,46.09896],[17.2104,46.10017],[17.21297,46.11386],[17.17593,46.10846],[17.17434,46.12876],[17.18652,46.13323],[17.1811,46.15055],[17.15623,46.15858],[17.15929,46.16968],[17.1261,46.16845],[17.12274,46.17898],[17.07525,46.18895],[17.06616,46.2023],[16.97354,46.2252],[16.97395,46.24311],[16.95041,46.24153],[16.88624,46.28146],[16.87137,46.32528],[16.88021,46.3357],[16.86154,46.34524],[16.86562,46.35565],[16.8522,46.35172],[16.84986,46.36262],[16.83529,46.36382],[16.83765,46.3748],[16.82617,46.3671],[16.79334,46.38739],[16.75921,46.37766],[16.72987,46.40149],[16.71821,46.38987],[16.67729,46.44945],[16.66318,46.4487],[16.66637,46.4583],[16.61879,46.46199],[16.60447,46.47608],[16.5236,46.50538],[16.53258,46.5314],[16.51767,46.53635],[16.50841,46.56527],[16.483,46.56604],[16.4834,46.5786],[16.44557,46.61095],[16.42486,46.61316],[16.38594,46.64425],[16.39154,46.66373],[16.41985,46.65848],[16.42863,46.69397],[16.36892,46.70401],[16.37983,46.71539],[16.37109,46.72229],[16.35706,46.71424],[16.3186,46.75414],[16.33054,46.77521],[16.31216,46.778],[16.31277,46.79731],[16.34064,46.80519],[16.35084,46.83006],[16.34033,46.84688],[16.3015,46.85951],[16.29139,46.87283],[16.23323,46.87667],[16.15609,46.85371],[16.12657,46.85691],[16.11391,46.8691]]],terms_url:"https://www.fomi.hu",terms_text:"Földmérési és Távérzékelési Intézet"},{id:"FOMI_2005",name:"FÖMI orthophoto 2005",type:"tms",template:"http://e.tile.openstreetmap.hu/ortofoto2005/{zoom}/{x}/{y}.jpg",endDate:"2005-01-01T00:00:00.000Z",startDate:"2005-01-01T00:00:00.000Z",scaleExtent:[0,17],polygon:[[[16.11391,46.8691],[16.17897,46.90662],[16.20004,46.94151],[16.22175,46.93554],[16.24628,46.94639],[16.25532,46.96421],[16.27647,46.96261],[16.29058,47.01398],[16.30162,46.99923],[16.34146,46.99652],[16.35052,47.01063],[16.3734,46.99859],[16.41277,47.00475],[16.43327,46.99274],[16.44781,47.00389],[16.48,46.99412],[16.5122,47.00117],[16.46356,47.03227],[16.44786,47.02275],[16.43912,47.02966],[16.44567,47.03887],[16.52032,47.0561],[16.47321,47.07362],[16.46372,47.09392],[16.5008,47.11006],[16.50004,47.12329],[16.52953,47.12874],[16.51716,47.14969],[16.45495,47.14259],[16.46487,47.16833],[16.45556,47.18756],[16.43056,47.1847],[16.4195,47.19491],[16.41892,47.21071],[16.43713,47.2097],[16.44263,47.23371],[16.43131,47.25276],[16.46715,47.25317],[16.48923,47.27989],[16.46463,47.33385],[16.4337,47.35281],[16.45851,47.36705],[16.44546,47.40702],[16.48317,47.40936],[16.49638,47.38927],[16.51709,47.41002],[16.57491,47.40542],[16.58073,47.41917],[16.66185,47.4556],[16.67064,47.47422],[16.65234,47.50034],[16.68956,47.51016],[16.71478,47.5402],[16.66354,47.56773],[16.6732,47.60495],[16.65953,47.6061],[16.65276,47.62285],[16.63142,47.62832],[16.57391,47.61967],[16.51474,47.6462],[16.49675,47.63931],[16.42546,47.66217],[16.44374,47.67421],[16.44805,47.69647],[16.4747,47.68116],[16.48722,47.69798],[16.55217,47.72255],[16.53638,47.73678],[16.54798,47.75154],[16.60952,47.76037],[16.63441,47.75908],[16.65729,47.74149],[16.72094,47.73536],[16.75341,47.68282],[16.83016,47.68106],[16.83943,47.70451],[16.86689,47.72115],[16.87668,47.68765],[17.09374,47.70777],[17.07066,47.72854],[17.0516,47.79385],[17.07495,47.8085],[17.04714,47.82856],[17.05195,47.83777],[17.01055,47.85818],[17.01639,47.86733],[17.08575,47.87462],[17.11317,47.92716],[17.09171,47.93429],[17.11838,47.96011],[17.09466,47.97088],[17.20103,48.01999],[17.24177,48.02247],[17.25795,47.99865],[17.33465,47.99312],[17.40299,47.94785],[17.45392,47.88526],[17.52674,47.86551],[17.56758,47.81513],[17.6084,47.82189],[17.70858,47.75668],[17.77987,47.73949],[17.8661,47.74575],[17.90013,47.73926],[17.94687,47.74467],[17.97087,47.75784],[18.00441,47.74634],[18.03806,47.75768],[18.29588,47.73146],[18.45407,47.76512],[18.49316,47.75276],[18.55908,47.766],[18.64609,47.75909],[18.72607,47.78904],[18.74118,47.81382],[18.792,47.82309],[18.84854,47.81672],[18.85588,47.82608],[18.82801,47.83429],[18.81357,47.85555],[18.76353,47.8716],[18.75686,47.89684],[18.77675,47.95509],[18.75525,47.97635],[18.81574,47.99344],[18.82,48.03968],[18.83327,48.04824],[18.87494,48.04707],[18.88667,48.05868],[18.90898,48.05114],[18.9439,48.05886],[18.98161,48.0536],[19.01486,48.07818],[19.05852,48.05735],[19.08436,48.07278],[19.1074,48.0656],[19.13529,48.07415],[19.24137,48.05365],[19.25578,48.07156],[19.30311,48.08871],[19.3866,48.09191],[19.40002,48.0823],[19.45405,48.10144],[19.46735,48.08393],[19.49442,48.10991],[19.49238,48.13966],[19.51282,48.15466],[19.50452,48.17344],[19.52897,48.19036],[19.52604,48.20313],[19.5775,48.21601],[19.63083,48.25007],[19.64452,48.23917],[19.66986,48.23921],[19.69122,48.20389],[19.72113,48.20147],[19.74618,48.21651],[19.78716,48.19253],[19.79873,48.19482],[19.80528,48.18373],[19.78242,48.16504],[19.79481,48.15353],[19.82133,48.16908],[19.84528,48.16274],[19.85517,48.17843],[19.86013,48.16941],[19.89875,48.16631],[19.91454,48.14686],[19.8983,48.1249],[19.93738,48.13112],[19.97439,48.166],[19.98871,48.16217],[20.02904,48.17768],[20.04945,48.1672],[20.07299,48.17961],[20.07004,48.1917],[20.13409,48.22518],[20.13319,48.25398],[20.20616,48.25098],[20.20383,48.26191],[20.22847,48.26278],[20.23495,48.27993],[20.28686,48.26164],[20.32571,48.27279],[20.33746,48.30167],[20.36566,48.31661],[20.38408,48.35118],[20.40983,48.36586],[20.40253,48.38256],[20.42053,48.40386],[20.41623,48.41854],[20.50793,48.48936],[20.50651,48.53442],[20.53747,48.52788],[20.54649,48.54429],[20.58659,48.53576],[20.65387,48.56141],[20.83636,48.58284],[20.8378,48.57421],[20.85044,48.58163],[20.84533,48.5665],[20.86815,48.55182],[20.92232,48.55945],[20.93463,48.53834],[20.95588,48.53396],[20.9562,48.52167],[20.98158,48.51777],[21.01511,48.53231],[21.06632,48.52589],[21.11745,48.49105],[21.16087,48.5215],[21.17963,48.51823],[21.22106,48.5375],[21.30549,48.52225],[21.31338,48.55084],[21.32688,48.55413],[21.31938,48.5612],[21.41545,48.55895],[21.42266,48.57882],[21.44061,48.5851],[21.51409,48.55107],[21.54202,48.5084],[21.61393,48.50942],[21.62019,48.46983],[21.66355,48.41796],[21.66456,48.39216],[21.70174,48.3807],[21.71187,48.35762],[21.81741,48.33279],[21.8352,48.33464],[21.83721,48.36325],[21.8843,48.35605],[21.88484,48.36754],[21.89788,48.36256],[21.8998,48.37022],[21.92819,48.3616],[21.92681,48.3709],[21.9492,48.37873],[21.99446,48.37732],[22.02133,48.39275],[22.0546,48.37753],[22.07649,48.38724],[22.08674,48.37156],[22.13591,48.38052],[22.13106,48.39123],[22.15277,48.39624],[22.15619,48.40931],[22.21257,48.42565],[22.23714,48.41004],[22.26549,48.40987],[22.23988,48.38701],[22.26757,48.36116],[22.31781,48.35454],[22.31329,48.32507],[22.33729,48.30791],[22.33843,48.27921],[22.38475,48.23396],[22.40064,48.2492],[22.43284,48.25252],[22.45639,48.24231],[22.4899,48.25342],[22.49722,48.23955],[22.51615,48.23797],[22.53111,48.20943],[22.57114,48.19614],[22.56164,48.18161],[22.59824,48.14476],[22.59028,48.10734],[22.67545,48.092],[22.73472,48.11985],[22.75762,48.12006],[22.77039,48.10902],[22.77232,48.12187],[22.80277,48.12211],[22.80253,48.10708],[22.82543,48.11751],[22.83644,48.08025],[22.86113,48.07503],[22.8678,48.05243],[22.88204,48.05481],[22.86597,48.01132],[22.83556,47.9906],[22.84076,47.98136],[22.87257,47.97527],[22.86973,47.96596],[22.89157,47.96724],[22.89744,47.95406],[22.84733,47.90776],[22.79281,47.89086],[22.75869,47.89414],[22.77775,47.84225],[22.71363,47.83609],[22.68019,47.78775],[22.61112,47.77175],[22.549,47.77222],[22.48121,47.81089],[22.45131,47.80339],[22.43133,47.73981],[22.35662,47.74862],[22.31777,47.76609],[22.31762,47.74337],[22.28514,47.72928],[22.26432,47.73107],[22.259,47.69791],[22.23068,47.6932],[22.17965,47.59161],[22.12892,47.5979],[22.09428,47.55836],[22.07826,47.56213],[22.05345,47.54748],[22.07122,47.53807],[22.06179,47.5288],[22.04513,47.53989],[22.03672,47.53267],[22.00719,47.48362],[22.03279,47.45084],[22.02388,47.39086],[22.01198,47.3758],[21.96274,47.38105],[21.93825,47.37253],[21.87779,47.28578],[21.88728,47.27305],[21.85349,47.23976],[21.85807,47.18736],[21.81248,47.16675],[21.79241,47.10598],[21.72683,47.09839],[21.6976,47.05792],[21.65042,47.04083],[21.68887,47.002],[21.66787,46.97123],[21.68149,46.96521],[21.6382,46.93305],[21.59845,46.92747],[21.61429,46.88673],[21.60167,46.86682],[21.52033,46.83737],[21.51861,46.80007],[21.48318,46.76502],[21.52634,46.73932],[21.52937,46.72097],[21.49233,46.68597],[21.47284,46.69591],[21.4299,46.69394],[21.43096,46.67814],[21.45467,46.66086],[21.41624,46.64262],[21.4098,46.62181],[21.3657,46.63795],[21.33005,46.63182],[21.31397,46.61767],[21.30124,46.59087],[21.32079,46.58286],[21.2743,46.54074],[21.26003,46.50216],[21.27442,46.47673],[21.29645,46.4763],[21.31743,46.45073],[21.28952,46.41548],[21.29633,46.40696],[21.22501,46.41369],[21.20642,46.40338],[21.19926,46.3479],[21.17623,46.33577],[21.1805,46.30445],[21.11554,46.30185],[21.10305,46.26246],[21.07088,46.2539],[21.06608,46.24294],[21.03662,46.24804],[21.02467,46.26653],[20.96082,46.2623],[20.94658,46.2793],[20.92507,46.27662],[20.92181,46.26181],[20.87327,46.28776],[20.77565,46.27596],[20.74905,46.25085],[20.76186,46.20456],[20.7274,46.20775],[20.73411,46.19394],[20.71405,46.16605],[20.68436,46.14478],[20.65492,46.14977],[20.63945,46.12676],[20.54505,46.17909],[20.50148,46.19033],[20.49494,46.17099],[20.45923,46.14288],[20.39751,46.15747],[20.36853,46.15286],[20.35571,46.16963],[20.29681,46.15215],[20.2549,46.11585],[20.24848,46.1301],[20.23301,46.12417],[20.18174,46.16011],[20.1365,46.14495],[20.10097,46.17728],[20.06362,46.14373],[20.03461,46.14589],[20.01581,46.17684],[19.93541,46.17642],[19.85335,46.15],[19.81797,46.12817],[19.75854,46.14798],[19.69821,46.18793],[19.68277,46.18004],[19.66151,46.19044],[19.63174,46.1693],[19.56765,46.17911],[19.5604,46.16658],[19.50266,46.14245],[19.52712,46.12103],[19.4645,46.09538],[19.46658,46.08204],[19.416,46.04605],[19.3804,46.03587],[19.36409,46.0523],[19.2819,46.0148],[19.29653,45.98812],[19.28565,45.9969],[19.14799,45.99634],[19.13384,46.0371],[19.10487,46.04017],[19.06604,46.0002],[19.07968,45.96364],[19.00598,45.95907],[19.00927,45.92366],[18.90613,45.93538],[18.87946,45.91668],[18.86471,45.92085],[18.86856,45.91134],[18.82768,45.90517],[18.822,45.91459],[18.80751,45.90361],[18.80925,45.87962],[18.79562,45.87845],[18.70489,45.91819],[18.67002,45.91084],[18.65966,45.91689],[18.66513,45.89928],[18.64128,45.88904],[18.65502,45.87424],[18.62777,45.87338],[18.61484,45.85314],[18.62367,45.83985],[18.57324,45.81376],[18.57498,45.80043],[18.55972,45.8038],[18.52235,45.78269],[18.49067,45.79472],[18.48219,45.7655],[18.45628,45.76952],[18.44508,45.76052],[18.44685,45.73713],[18.40763,45.73971],[18.39189,45.7617],[18.36423,45.77294],[18.33942,45.74716],[18.29682,45.76122],[18.24405,45.76123],[18.23073,45.77903],[18.19087,45.78788],[18.16819,45.77627],[18.12465,45.78963],[18.10681,45.77083],[18.08189,45.76452],[17.99588,45.79573],[17.93021,45.78633],[17.90668,45.79257],[17.86531,45.76701],[17.82627,45.81],[17.80898,45.8041],[17.78091,45.81749],[17.76034,45.81192],[17.74086,45.8296],[17.66329,45.83818],[17.62762,45.89794],[17.57007,45.93582],[17.43783,45.95038],[17.4259,45.92727],[17.41081,45.93997],[17.39215,45.93021],[17.38287,45.94757],[17.34762,45.94234],[17.34388,45.96053],[17.35377,45.9525],[17.39054,45.95819],[17.38742,45.96618],[17.35835,45.96427],[17.37549,45.96869],[17.37519,45.98811],[17.36357,45.99154],[17.35672,45.97358],[17.33396,45.99608],[17.33198,45.97289],[17.313,45.96653],[17.32365,45.98878],[17.29877,45.98387],[17.3042,46.00211],[17.25797,46.01103],[17.29632,46.02852],[17.25415,46.03001],[17.27096,46.05671],[17.23248,46.0592],[17.25251,46.06647],[17.23131,46.07903],[17.20199,46.07655],[17.23313,46.09896],[17.2104,46.10017],[17.21297,46.11386],[17.17593,46.10846],[17.17434,46.12876],[17.18652,46.13323],[17.1811,46.15055],[17.15623,46.15858],[17.15929,46.16968],[17.1261,46.16845],[17.12274,46.17898],[17.07525,46.18895],[17.06616,46.2023],[16.97354,46.2252],[16.97395,46.24311],[16.95041,46.24153],[16.88624,46.28146],[16.87137,46.32528],[16.88021,46.3357],[16.86154,46.34524],[16.86562,46.35565],[16.8522,46.35172],[16.84986,46.36262],[16.83529,46.36382],[16.83765,46.3748],[16.82617,46.3671],[16.79334,46.38739],[16.75921,46.37766],[16.72987,46.40149],[16.71821,46.38987],[16.67729,46.44945],[16.66318,46.4487],[16.66637,46.4583],[16.61879,46.46199],[16.60447,46.47608],[16.5236,46.50538],[16.53258,46.5314],[16.51767,46.53635],[16.50841,46.56527],[16.483,46.56604],[16.4834,46.5786],[16.44557,46.61095],[16.42486,46.61316],[16.38594,46.64425],[16.39154,46.66373],[16.41985,46.65848],[16.42863,46.69397],[16.36892,46.70401],[16.37983,46.71539],[16.37109,46.72229],[16.35706,46.71424],[16.3186,46.75414],[16.33054,46.77521],[16.31216,46.778],[16.31277,46.79731],[16.34064,46.80519],[16.35084,46.83006],[16.34033,46.84688],[16.3015,46.85951],[16.29139,46.87283],[16.23323,46.87667],[16.15609,46.85371],[16.12657,46.85691],[16.11391,46.8691]]],terms_url:"https://www.fomi.hu",terms_text:"Földmérési és Távérzékelési Intézet"},{id:"Freemap.sk-Car",name:"Freemap.sk Car",type:"tms",template:"https://{switch:a,b,c,d}.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.",icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"Freemap.sk-Cyclo",name:"Freemap.sk Cyclo",type:"tms",template:"https://{switch:a,b,c,d}.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.",icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"Freemap.sk-Hiking",name:"Freemap.sk Hiking",type:"tms",template:"https://{switch:a,b,c,d}.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.",icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"Freemap.sk-Ski",name:"Freemap.sk Ski",type:"tms",template:"https://{switch:a,b,c,d}.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.",icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"fta-digiroad-functional",name:"FTA Road Network",type:"wms",template:"https://extranet.liikennevirasto.fi/inspirepalvelu/beta/wms?SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=dr_tielinkki_toim_lk&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[3,20],polygon:[[[27.96569,70.0988],[27.57431,70.07728],[27.10876,69.93548],[26.70913,69.97549],[26.45507,69.94207],[25.87142,69.6671],[25.94833,69.61024],[25.83023,69.55323],[25.66955,69.20794],[25.73822,69.01797],[25.60089,68.90309],[25.45806,68.91199],[25.11749,68.80699],[25.07354,68.64355],[24.88128,68.62003],[23.97491,68.84568],[23.74969,68.8308],[23.63433,68.71645],[23.18939,68.68053],[22.52197,68.7553],[21.63894,69.28191],[21.26953,69.31783],[20.94131,69.21622],[21.08963,69.09307],[21.05941,69.04352],[20.72296,69.12491],[20.54443,69.0558],[20.84655,68.97416],[20.81634,68.91742],[21.38754,68.68461],[22.04734,68.47066],[22.80212,68.35464],[23.12072,68.13169],[23.5437,67.9633],[23.44757,67.8393],[23.48602,67.59352],[23.36517,67.46545],[23.71124,67.41592],[23.72772,67.32186],[23.54644,67.26885],[23.53128,67.16724],[23.89251,66.86863],[23.84582,66.57775],[23.61843,66.44562],[23.67171,66.20303],[23.87191,66.14551],[24.09988,65.87247],[24.1658,65.66959],[24.11636,65.39143],[21.37939,63.68037],[20.17639,63.29787],[19.08325,60.16064],[20.22033,59.44786],[22.29125,59.44507],[25.82336,59.933],[27.52075,60.23435],[27.83386,60.53229],[29.29641,61.26165],[31.20803,62.44759],[31.62826,62.90585],[31.2635,63.22106],[29.99605,63.75387],[30.28656,63.81704],[30.58319,64.0782],[30.5104,64.26428],[30.09979,64.39218],[30.02563,64.58736],[30.16845,64.63329],[30.09429,64.79518],[29.78393,64.79811],[29.65347,64.89733],[29.65759,65.05939],[29.91027,65.09527],[29.93225,65.20895],[29.72076,65.27853],[29.91577,65.63788],[30.1863,65.66223],[29.9913,66.09771],[29.07119,66.91983],[30.11077,67.63431],[29.3486,68.08099],[28.67568,68.20166],[28.46547,68.54039],[28.72375,68.72642],[28.82675,68.87341],[28.44985,68.90792],[28.95996,69.05089],[28.83324,69.10563],[28.87207,69.22132],[29.36096,69.46526],[29.15634,69.69667],[28.38455,69.83488],[28.35845,69.88312],[28.17169,69.92511],[28.00415,70.01495],[27.96569,70.0988]]],terms_url:"https://www.liikennevirasto.fi/web/en/open-data/digiroad/",terms_text:"© Liikennevirasto",description:"Digiroad national road network from the Finnish Transport Agency, functional road classes.",icon:"https://www.liikennevirasto.fi/livi-theme/images/general/liikennevirasto_logo_2x.png",overlay:true},{id:"Geobase_Hydrography",name:"Geobase Hydrography - English",type:"wms",template:"https://maps.geogratis.gc.ca/wms/hydro_network_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nhn:nhn&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]],overlay:true},{id:"Geobase_Hydrography_French",name:"Geobase Hydrography - French",type:"wms",template:"https://maps.geogratis.gc.ca/wms/hydro_network_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nhn:nhn&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]],overlay:true},{id:"Geobase_Roads",name:"Geobase Roads - English",type:"wms",template:"https://maps.geogratis.gc.ca/wms/roads_en?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=roads&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[4,20],polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]]},{id:"Geobase_Roads_French",name:"Geobase Roads - French",type:"wms",template:"https://cartes.geogratis.gc.ca/wms/roads_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=routes&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[4,20],polygon:[[[-141.0678,60.2442],[-139.3842,60.10331],[-137.4746,58.82791],[-135.4766,59.65971],[-134.399,58.86279],[-132.5239,57.08342],[-130.1435,55.27452],[-130.7734,54.75597],[-132.4355,54.71514],[-134.5711,54.38827],[-141.7761,53.58405],[-128.9768,46.41459],[-124.8087,48.42976],[-123.4286,48.17889],[-123.0256,48.40444],[-123.19237,48.65504],[-122.99582,48.51065],[-122.4869,48.4098],[-122.32915,48.4528],[-122.22939,48.50649],[-122.17908,48.52965],[-122.1842,48.5669],[-121.77833,48.57593],[-121.66578,48.42791],[-121.33068,48.35714],[-121.02713,48.34977],[-121.03054,48.49406],[-120.698,48.51497],[-120.51041,48.8718],[-119.97579,48.88134],[-119.95447,48.51497],[-119.90758,48.29421],[-119.73193,48.15503],[-119.74386,48.07419],[-119.62279,48.10951],[-119.60232,48.14707],[-119.25273,48.16243],[-114.1499,48.99487],[-95.12094,48.98405],[-95.13419,49.35564],[-94.94415,49.34356],[-94.8839,49.29522],[-94.71704,48.87631],[-94.71791,48.7485],[-93.83204,48.49765],[-93.43778,48.53066],[-93.38216,48.59507],[-92.98471,48.60312],[-92.73847,48.50725],[-92.7095,48.42081],[-92.54293,48.40158],[-92.38361,48.20406],[-92.11564,48.27641],[-91.58697,48.02516],[-91.24658,48.05422],[-90.86275,48.20889],[-90.78308,48.0639],[-90.0774,48.07435],[-89.93835,47.96584],[-89.75469,47.99609],[-89.32745,47.93943],[-88.41489,48.26677],[-84.9566,46.86086],[-84.84795,46.6762],[-84.55904,46.45441],[-84.47642,46.44972],[-84.43758,46.48872],[-84.3669,46.5055],[-84.34899,46.5055],[-84.29026,46.49077],[-84.25742,46.49386],[-84.22507,46.53187],[-84.1962,46.53804],[-84.18027,46.52468],[-84.15987,46.52468],[-84.13449,46.52879],[-84.11558,46.50653],[-84.15944,46.42769],[-84.10024,46.20338],[-83.95558,46.05132],[-83.8864,46.06125],[-83.8203,46.11181],[-83.76975,46.09563],[-83.67498,46.11391],[-83.58084,46.09921],[-83.44747,45.99521],[-83.60888,45.81772],[-82.14271,43.57905],[-82.39133,43.06666],[-82.41252,43.01127],[-82.42522,42.99864],[-82.42618,42.99374],[-82.42363,42.98536],[-82.41503,42.97697],[-82.41853,42.96578],[-82.43064,42.95203],[-82.44911,42.93711],[-82.45739,42.92568],[-82.46472,42.90562],[-82.47228,42.8877],[-82.47228,42.84743],[-82.48536,42.80967],[-82.46844,42.76365],[-82.48586,42.73697],[-82.49155,42.71168],[-82.51488,42.66652],[-82.51224,42.63893],[-82.52421,42.61103],[-82.56854,42.58184],[-82.59498,42.55148],[-82.61286,42.56409],[-82.65158,42.55707],[-82.83439,42.3763],[-83.01489,42.33457],[-83.07244,42.31502],[-83.09647,42.29542],[-83.12823,42.24126],[-83.14167,42.18582],[-83.12799,42.12172],[-83.16266,42.04963],[-83.05136,41.70911],[-82.41932,41.6377],[-81.22563,42.19633],[-80.06688,42.37121],[-78.86642,42.825],[-78.90301,42.92307],[-78.92063,42.95234],[-78.93331,42.95708],[-78.96058,42.9595],[-78.98479,42.9761],[-79.01825,42.9964],[-79.01969,43.01561],[-79.00695,43.0333],[-78.99599,43.06448],[-79.07335,43.07876],[-79.07286,43.083],[-79.0652,43.0917],[-79.05623,43.10825],[-79.05982,43.11563],[-79.06764,43.11992],[-79.05411,43.12801],[-79.04112,43.13986],[-79.04465,43.16192],[-79.05101,43.17037],[-79.04758,43.19974],[-79.05511,43.25682],[-79.18688,43.44858],[-78.68836,43.62502],[-76.77647,43.61369],[-76.41665,44.08498],[-75.49023,44.70772],[-75.29544,44.82587],[-75.16845,44.88548],[-75.1275,44.8975],[-75.00499,44.95265],[-74.98159,44.97728],[-74.90496,44.98222],[-74.8313,45.01108],[-74.77954,45.00158],[-74.74562,44.98526],[-74.70475,44.99877],[-74.49079,44.99343],[-74.23203,44.98552],[-73.93713,44.99512],[-73.01809,45.0121],[-72.63177,45.0121],[-72.54779,45.00506],[-72.32259,45.00286],[-71.49404,45.01093],[-71.48648,45.06221],[-71.42303,45.12765],[-71.43112,45.14037],[-71.37175,45.22117],[-71.28959,45.28578],[-71.23613,45.24302],[-71.11683,45.22933],[-71.0531,45.29866],[-70.98936,45.31088],[-70.90246,45.22525],[-70.82473,45.22714],[-70.77626,45.40013],[-70.7119,45.3754],[-70.63387,45.37346],[-70.60302,45.41179],[-70.67659,45.56319],[-70.3752,45.73075],[-70.36334,45.82013],[-70.25417,45.87468],[-70.22569,45.94403],[-70.27316,45.99022],[-70.17586,46.33538],[-70.06195,46.4107],[-69.98891,46.69363],[-69.22424,47.44463],[-69.06999,47.41092],[-69.07473,47.24202],[-68.89684,47.17469],[-68.78685,47.21493],[-68.72415,47.23217],[-68.68583,47.24028],[-68.66044,47.23183],[-68.62162,47.24028],[-68.59425,47.24974],[-68.59226,47.27001],[-68.57385,47.28486],[-68.55941,47.2798],[-68.542,47.2798],[-68.51214,47.29195],[-68.47381,47.29229],[-68.46038,47.28149],[-68.43898,47.27777],[-68.37229,47.2825],[-68.3703,47.34796],[-68.33173,47.35822],[-68.29664,47.352],[-68.2399,47.34897],[-68.0906,47.26798],[-68.00002,47.21223],[-67.96344,47.19753],[-67.93582,47.15947],[-67.88619,47.10424],[-67.80218,47.06386],[-67.79415,45.93923],[-67.82753,45.8489],[-67.82753,45.6704],[-67.54943,45.57445],[-67.45302,45.58742],[-67.44189,45.52251],[-67.54201,45.49393],[-67.4456,45.38726],[-67.51605,45.29343],[-67.38257,45.11839],[-67.3047,45.11316],[-67.26762,45.18116],[-67.12671,45.09484],[-66.94835,44.78406],[-66.52283,43.61294],[-65.02339,42.10691],[-42.53366,47.50263],[-75.90901,77.3176],[-71.86482,78.7359],[-67.20011,80.66812],[-66.20727,80.78637],[-54.82473,83.07464],[-57.62518,85.04043],[-106.7949,85.04625],[-141.3957,79.2514],[-141.0678,60.2442]]]},{id:"geoimage.at",name:"Geoimage.at MaxRes",type:"wms",template:"http://gis.lebensministerium.at/wmsgw/?key=4d80de696cd562a63ce463a58a61488d&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=Luftbild_MR,Luftbild_1m,Luftbild_8m,Satellitenbild_30m&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[16.50733,46.99293],[16.28342,46.99293],[16.13584,46.8713],[15.98317,46.81909],[16.04933,46.65517],[15.86104,46.71801],[15.75926,46.69009],[15.56079,46.67962],[15.57606,46.63421],[15.47937,46.60276],[15.43357,46.65168],[15.22493,46.63421],[15.04682,46.64819],[14.99084,46.58877],[14.9603,46.62373],[14.85344,46.60276],[14.83308,46.50127],[14.75166,46.49776],[14.68041,46.43818],[14.61426,46.43818],[14.57864,46.37853],[14.44124,46.43116],[14.16135,46.42766],[14.12573,46.47674],[14.01886,46.47674],[13.91199,46.52578],[13.82548,46.50477],[13.44381,46.56078],[13.30641,46.55028],[13.1283,46.58877],[12.84332,46.61324],[12.72628,46.6412],[12.51255,46.66565],[12.35988,46.70405],[12.36497,46.77032],[12.28863,46.77729],[12.27337,46.88522],[12.20721,46.87478],[12.13088,46.90261],[12.11561,46.99987],[12.25301,47.06577],[12.2123,47.0935],[11.9833,47.04497],[11.73394,46.96168],[11.63217,47.01028],[11.54057,46.97557],[11.49986,47.00681],[11.41843,46.96515],[11.25559,46.97557],[11.1131,46.91304],[11.04185,46.76335],[10.88919,46.75986],[10.74161,46.78426],[10.70599,46.86435],[10.57877,46.83998],[10.45663,46.85043],[10.47699,46.92694],[10.38539,46.98946],[10.23272,46.86435],[10.12076,46.83302],[9.86632,46.94084],[9.90194,47.00334],[9.68312,47.05884],[9.61188,47.03804],[9.63223,47.12813],[9.58134,47.1662],[9.54063,47.26644],[9.60679,47.34926],[9.67294,47.36994],[9.64241,47.44571],[9.56608,47.48011],[9.71365,47.52824],[9.7849,47.59692],[9.83579,47.54542],[9.94774,47.53855],[10.09023,47.44915],[10.11059,47.36649],[10.2429,47.38717],[10.18692,47.2699],[10.32432,47.29751],[10.48208,47.44915],[10.43119,47.48699],[10.44137,47.59005],[10.48717,47.55229],[10.54823,47.53511],[10.59912,47.56602],[10.75688,47.53168],[10.88919,47.54542],[10.94008,47.48699],[10.99605,47.39061],[11.23523,47.44227],[11.28103,47.3975],[11.42352,47.51449],[11.57619,47.50762],[11.60672,47.59005],[11.83572,47.58662],[12.00366,47.62436],[12.20721,47.60378],[12.16141,47.69634],[12.2581,47.74427],[12.25301,47.67921],[12.43112,47.71004],[12.49219,47.63122],[12.56852,47.62779],[12.62959,47.68949],[12.77208,47.66893],[12.83315,47.54198],[12.97564,47.47323],[13.04179,47.49387],[13.0367,47.55572],[13.09777,47.64151],[13.03161,47.71004],[12.90439,47.72031],[13.00617,47.84683],[12.9451,47.93555],[12.86368,47.95941],[12.86368,48.00369],[12.75172,48.09894],[12.87386,48.21097],[12.96037,48.21097],[13.04179,48.2652],[13.18428,48.29907],[13.26061,48.2923],[13.39801,48.35659],[13.44381,48.41742],[13.43872,48.55234],[13.50997,48.58601],[13.61175,48.57255],[13.72879,48.5119],[13.78477,48.57255],[13.82039,48.62639],[13.79495,48.71713],[13.85093,48.77417],[14.05957,48.66338],[14.01377,48.63312],[14.07484,48.59274],[14.21733,48.59611],[14.3649,48.54897],[14.46668,48.64993],[14.55828,48.59611],[14.59899,48.62639],[14.72113,48.57591],[14.72113,48.6869],[14.8229,48.7272],[14.81782,48.77753],[14.96472,48.78518],[14.98936,49.01266],[15.14859,48.99503],[15.19439,48.93155],[15.30635,48.98501],[15.39286,48.98501],[15.48446,48.92821],[15.74908,48.8546],[15.84068,48.88807],[16.00862,48.78088],[16.20708,48.73391],[16.39537,48.73727],[16.49206,48.81105],[16.69053,48.77417],[16.7058,48.73391],[16.89917,48.71377],[16.97551,48.51527],[16.84828,48.45118],[16.85337,48.34644],[16.95515,48.25165],[16.99077,48.1499],[17.09255,48.13971],[17.08237,48.02412],[17.17397,48.02071],[17.08237,47.87414],[16.98568,47.86732],[17.08237,47.80925],[17.09255,47.70319],[16.74142,47.67921],[16.7058,47.75112],[16.53786,47.75454],[16.54804,47.70662],[16.42082,47.66893],[16.57348,47.6175],[16.67017,47.63122],[16.71088,47.53855],[16.66,47.44915],[16.54295,47.39406],[16.46153,47.39406],[16.49206,47.2768],[16.42591,47.19733],[16.47171,47.1489],[16.54804,47.1489],[16.47679,47.07964],[16.52768,47.05884],[16.50733,46.99293]]],terms_url:"http://geoimage.at",terms_text:"geoimage.at",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QwTFA8gQvGHigAAAwtJREFUOMvtk19oW1Ucx7/nnntukpvGtF2btHG1o52bYxULOp99sYggiM7pVKbbQNCH+SYOFMHCHhR88g9jjPmgm32YMpGNTbpp1W5D7NyfJnYLTdNm3ZI0SZPc5N5zzz3n+CIiCtM9+KQf+D39+H74Pfy+wH8Ocqvlh4enyblMO7JpKHl/X080sbhcnH3r3eNXkR1XtyU8cHiS2Hakf+iuxJ7enq7n4x12ijFDtz3fW11tzBZL1YMnpjKfvrN3m/O3ws+OTRnxmP1gsrf7g2RizUbGLCtkGdSkBnigtPCFaLXc1ZvF8vfZXOG1HdvGcn/M0z8Ln9nx8vBAas0ngwN9dzPGmGlSCkIMrTQxQABCSDjE2B2xyJ2E0A0d/Q+cPP/tMb7v0Kwx+tBz5PcL9350mXZFVuzR4b73Nm3o326HQpYdNonWMEAIgdZQWmvP8yECpZptKetNtzqTLkz8UpBfKmJ1tJo1SgBgfP8V2mhVn2JYet0Osc09Xabp+DFdbpgkV7SQ6jbRdCXaHAgU4AsFj0sQAFGbgguNhsPRqiyeM/d/PkezS4WxRilzpLM5ga5EEu5qGJvXDZFDuXvA4sO4b30MXCi4XCLRGYZhaFQaEtTQ6I5bKNV8HJ3ML1cLM+Pm1fnCaNFZmLhRORkkUltIpl2mI/duxMW8Rk0N4okRG3OLDtb2RlB3AthhgXI9QLbgIp13QQ0CrQSEU57JnX3/OBnbfWBfpVIZjEb7DClb8WRv50jMDqesSNzwpU+UFAiZFIGmaHsKFjNAKNOub8LhkC6XbiD4wvXLR19dOH/wzF9+8McL6Uev31jJNlrc8Xjg+4GSvlBKSKXaLpfFUk3kl5bddOZa7dTk1PTT2194DED3LfqxlZz+7qc35uZvXitXHdf1ROALKX+boO353nKpXr2UyU9/deLMzn9aPfLNDz+/NLC2/0WDhgZNxnqYSUzOA0f4vMg9J33xytzHz2595Ivb6vKet48kHx/b8mQ40vFwNMKS9UbzQmWleHrXK29+XZs/1cD//Cv8CriEgFStQ2K4AAAAAElFTkSuQmCC"},{id:"Geolittoral-Orthophotos2000",name:"Géolittoral - Orthophotos 2000",type:"wms",template:"http://geolittoral.application.developpement-durable.gouv.fr/wms2/metropole?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortholittorale&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2000-01-01T00:00:00.000Z",startDate:"2000-01-01T00:00:00.000Z",polygon:[[[-1.07962,46.10959],[-0.94115,46.01474],[-0.56306,45.15178],[-0.7266,45.08425],[-0.87904,45.34094],[-0.99794,45.33779],[-0.95558,44.69982],[-1.15862,44.19865],[-1.21512,44.20558],[-1.24654,44.1162],[-1.27903,44.03937],[-1.28825,44.02304],[-1.32117,43.94094],[-1.32151,43.92296],[-1.3092,43.92337],[-1.3085,43.91439],[-1.28366,43.91514],[-1.28302,43.90624],[-1.2761,43.90655],[-1.28211,43.89254],[-1.30102,43.85159],[-1.30384,43.8424],[-1.30923,43.83498],[-1.33474,43.76946],[-1.34407,43.74875],[-1.3456,43.74214],[-1.34673,43.73688],[-1.43284,43.53152],[-1.42806,43.46812],[-1.60627,43.40591],[-1.6061,43.36012],[-1.77441,43.30357],[-1.82995,43.38484],[-1.58551,43.46856],[-1.35706,44.03374],[-1.40217,44.06461],[-1.33584,44.22832],[-1.21836,44.23033],[-1.16795,44.41097],[-1.30744,44.41847],[-1.16979,45.59107],[-1.48685,46.06042],[-1.36364,46.09146],[-1.60176,46.17019],[-1.64442,46.22375],[-1.58595,46.30426],[-1.51008,46.33888],[-1.75643,46.42214],[-2.1872,46.81857],[-2.16423,46.85534],[-2.23654,46.9337],[-2.39769,46.96718],[-2.282,47.07631],[-2.12563,47.01875],[-2.09013,47.06562],[-2.18487,47.10698],[-2.2647,47.10763],[-2.24489,47.18562],[-2.56779,47.24467],[-2.66727,47.46686],[-2.74787,47.47122],[-2.75771,47.43461],[-2.89321,47.4629],[-2.90369,47.50905],[-3.03383,47.53833],[-3.07113,47.51185],[-3.01653,47.49873],[-3.12502,47.42693],[-3.18803,47.48441],[-3.22791,47.61132],[-3.2967,47.63161],[-3.2876,47.67154],[-3.34074,47.66893],[-3.38912,47.59473],[-3.55087,47.63827],[-3.53384,47.72488],[-3.76577,47.76476],[-3.77595,47.7371],[-3.91168,47.75915],[-3.8959,47.79911],[-3.97236,47.81526],[-3.99722,47.7975],[-3.97956,47.76268],[-3.8945,47.72193],[-3.9162,47.67831],[-4.10163,47.70921],[-4.08989,47.78944],[-4.03798,47.79909],[-4.04125,47.83109],[-4.08765,47.84221],[-4.14781,47.82525],[-4.14314,47.78847],[-4.35162,47.7415],[-4.47962,47.9776],[-4.98565,47.99896],[-4.96938,48.08972],[-4.63576,48.07798],[-4.60147,48.11469],[-4.385,48.10962],[-4.38955,48.14543],[-4.30925,48.15009],[-4.31268,48.17694],[-4.46369,48.18468],[-4.49748,48.1453],[-4.5921,48.14758],[-4.57537,48.22488],[-4.67101,48.2331],[-4.65434,48.31049],[-4.84243,48.3005],[-5.19867,48.44926],[-5.10346,48.51722],[-4.81465,48.39413],[-4.83515,48.54319],[-4.63387,48.66373],[-3.96692,48.77978],[-3.94939,48.74715],[-3.6502,48.75356],[-3.65853,48.82527],[-3.53931,48.85834],[-3.54444,48.90297],[-3.40954,48.91866],[-3.40755,48.87366],[-3.02769,48.9275],[-2.67861,48.58841],[-2.28475,48.71909],[-2.17543,48.65016],[-2.0137,48.73221],[-1.80953,48.73178],[-1.80392,48.66126],[-1.61161,48.68582],[-1.71645,49.24781],[-1.8026,49.32721],[-1.85748,49.3253],[-1.9262,49.65573],[-2.03908,49.67872],[-2.00445,49.76087],[-1.61759,49.68498],[-1.28373,49.76067],[-1.1492,49.63504],[-1.17134,49.55412],[-1.27353,49.55245],[-1.1328,49.3934],[-0.93059,49.40804],[-0.74827,49.35976],[-0.38935,49.34167],[-0.24704,49.29995],[-0.12454,49.29353],[0.02731,49.37619],[0.01801,49.54656],[0.12211,49.69292],[0.51713,49.86466],[1.05727,49.94904],[1.43908,50.11819],[1.53177,50.46437],[1.52549,50.85867],[1.64118,50.95919],[2.4521,51.12144],[2.59286,51.12124],[2.60683,51.05779],[1.7976,50.89906],[1.66458,50.82379],[1.70786,50.1282],[1.05936,49.85],[0.61607,49.79062],[0.24731,49.65027],[0.1709,49.53174],[0.57065,49.49622],[0.41115,49.3396],[0.19504,49.35736],[0.01718,49.25479],[-0.24453,49.26312],[-0.38408,49.30495],[-0.74091,49.32438],[-0.9954,49.37133],[-1.05453,49.25175],[-1.27704,49.29022],[-1.25966,49.43463],[-1.39141,49.53985],[-1.27535,49.62056],[-1.29775,49.65946],[-1.4905,49.57139],[-1.77517,49.63398],[-1.74601,49.48155],[-1.51294,49.24691],[-1.48261,48.72607],[-1.30574,48.72531],[-1.28323,48.59731],[-2.76114,48.43471],[-3.00174,48.67646],[-3.21062,48.72097],[-3.95404,48.56051],[-4.15643,48.60792],[-4.44475,48.55852],[-4.63683,48.48299],[-4.6319,48.44727],[-4.25022,48.43088],[-4.06141,48.21805],[-4.1757,48.05165],[-4.31904,48.0141],[-4.26781,47.89977],[-3.88484,47.98172],[-3.76375,47.86403],[-2.32727,47.52634],[-2.36911,47.3339],[-1.74067,47.33507],[-1.77062,47.20451],[-2.03678,47.21942],[-2.0968,47.15548],[-1.88786,47.01239],[-2.08797,46.83007],[-2.01214,46.83436],[-1.84079,46.69651],[-1.87318,46.65484],[-1.68859,46.50392],[-1.62117,46.51513],[-1.42428,46.41675],[-1.01761,46.35917],[-1.07962,46.10959]],[[-2.41232,46.69242],[-2.37197,46.67611],[-2.26749,46.68033],[-2.27007,46.70705],[-2.29827,46.73286],[-2.41655,46.73711],[-2.41232,46.69242]],[[-3.06018,47.40542],[-2.82587,47.29635],[-2.78787,47.33417],[-3.02436,47.44563],[-3.06018,47.40542]],[[-3.26482,47.4295],[-3.3343,47.35928],[-3.29614,47.34133],[-3.31489,47.30057],[-3.19941,47.24492],[-3.16567,47.27751],[-3.08686,47.23612],[-3.00637,47.30855],[-3.26482,47.4295]],[[-1.93966,48.86346],[-1.93993,48.91179],[-1.701,48.91105],[-1.69726,48.86173],[-1.93966,48.86346]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral",terms_text:"Ortho littorale 2000"},{id:"Geolittoral-Sentiers",name:"Géolittoral - Sentiers",type:"wms",template:"http://geolittoral.application.developpement-durable.gouv.fr/wms2/metropole?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=n_sentier_littoral_l&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-0.98385,46.18807],[-0.89497,46.15628],[-0.93455,46.10163],[-0.84388,46.06949],[-0.88241,46.01637],[-0.53787,45.89558],[-0.63498,45.76444],[-0.86666,45.8479],[-0.76264,45.6245],[-0.69695,45.62659],[-0.69397,45.60184],[-0.68755,45.60174],[-0.688,45.50986],[-0.63799,45.50892],[-0.63978,45.44747],[-0.61574,45.44695],[-0.61619,45.38586],[-0.58544,45.38596],[-0.58529,45.32334],[-0.55379,45.32344],[-0.55275,45.19661],[-0.49094,45.19577],[-0.49184,45.13315],[-0.45661,45.13325],[-0.45512,45.07161],[-0.41611,45.07089],[-0.41621,45.02696],[-0.2907,44.98278],[-0.22,45.06771],[-0.12252,45.02563],[-0.18925,44.94591],[-0.09266,44.91019],[-0.14521,44.8392],[-0.15491,44.84238],[-0.19387,44.78678],[-0.43541,44.87317],[-0.39048,44.68413],[-0.58798,44.66014],[-0.66628,44.99129],[-0.77838,44.99263],[-0.77764,45.05389],[-0.81584,45.05321],[-0.81838,45.11962],[-0.88393,45.12051],[-0.88171,45.18081],[-0.93438,45.18185],[-0.9328,45.24484],[-1.00163,45.24439],[-1.00247,45.30827],[-1.0524,45.31013],[-1.04828,45.36911],[-1.06412,45.36911],[-1.05039,45.18252],[-1.10761,44.80787],[-1.01514,44.80113],[-1.01946,44.76914],[-0.93365,44.76149],[-0.9404,44.7018],[-0.96035,44.56434],[-1.01408,44.56765],[-1.09916,44.1456],[-1.22689,44.14022],[-1.21853,44.03249],[-1.30762,44.029],[-1.39572,43.74301],[-1.31296,43.72951],[-1.37439,43.53109],[-1.34589,43.50606],[-1.59964,43.35423],[-1.76549,43.25548],[-1.79281,43.28038],[-1.80281,43.40425],[-1.72832,43.45033],[-1.58531,43.489],[-1.33584,44.22832],[-1.30744,44.41847],[-1.22511,45.44416],[-1.48685,46.06042],[-1.60176,46.17019],[-1.64442,46.22375],[-1.75643,46.42214],[-2.03483,46.61895],[-2.3466,46.62382],[-2.46561,46.71196],[-2.3233,46.83812],[-2.45286,46.93856],[-2.31733,47.16214],[-2.92848,47.28413],[-2.96742,47.22147],[-3.35602,47.32474],[-3.18803,47.48441],[-3.22791,47.61132],[-3.38912,47.59473],[-3.9162,47.67831],[-4.10163,47.70921],[-4.14314,47.78847],[-4.37619,47.71067],[-4.47962,47.9776],[-4.98565,47.99896],[-4.96938,48.08972],[-4.60147,48.11469],[-4.5921,48.14758],[-4.67101,48.2331],[-4.84243,48.3005],[-5.19867,48.44926],[-5.10346,48.51722],[-4.83515,48.54319],[-4.63117,48.66129],[-3.96692,48.77978],[-3.94939,48.74715],[-3.67013,48.89508],[-3.54444,48.90297],[-3.40954,48.91866],[-3.33344,48.90458],[-3.02769,48.9275],[-2.80207,48.79793],[-2.69353,48.76722],[-2.45786,48.70896],[-2.28475,48.71909],[-2.17543,48.65016],[-2.0137,48.73221],[-1.80953,48.73178],[-1.7243,48.75828],[-1.70557,48.84512],[-1.90304,48.86288],[-1.91027,48.92348],[-1.68714,48.93249],[-1.74277,49.24473],[-1.85748,49.3253],[-1.9262,49.65573],[-2.03908,49.67872],[-2.00445,49.76087],[-1.61759,49.68498],[-1.28373,49.76067],[-1.1492,49.63504],[-1.18545,49.54836],[-0.96463,49.42509],[-0.74429,49.36802],[-0.39014,49.3622],[-0.24976,49.3158],[-0.13342,49.31293],[0.02731,49.37619],[0.01801,49.54656],[0.12211,49.69292],[0.51713,49.86466],[1.05727,49.94904],[1.43908,50.11819],[1.53177,50.46437],[1.52549,50.85867],[1.64118,50.95919],[2.59712,51.17355],[2.66071,51.0196],[2.07124,50.92022],[2.05937,50.94709],[1.7976,50.89906],[1.68089,50.8717],[1.65569,50.59729],[1.75357,50.5932],[1.72295,50.24702],[1.82156,50.24262],[1.80149,50.05116],[1.54565,50.06311],[1.54155,50.01267],[1.42462,50.01747],[1.42667,50.05276],[1.03838,49.84609],[0.9827,49.88916],[0.57961,49.82133],[0.42063,49.76297],[0.4281,49.75445],[0.20831,49.67269],[0.14765,49.57767],[0.13461,49.5809],[0.11117,49.54365],[0.56598,49.52045],[0.5632,49.49989],[0.63001,49.49666],[0.61478,49.37441],[0.54825,49.37851],[0.54254,49.33461],[0.45741,49.33938],[0.45843,49.34492],[0.32597,49.35456],[0.32846,49.38128],[0.28011,49.38433],[0.27689,49.36334],[0.21095,49.36658],[0.20817,49.35084],[0.14326,49.35532],[0.13769,49.3115],[0.07204,49.31532],[0.0675,49.28713],[0.00274,49.29076],[0.00508,49.25711],[-0.02027,49.26036],[-0.03492,49.1973],[-0.19448,49.21463],[-0.38966,49.12726],[-0.45369,49.18792],[-0.3561,49.23214],[-0.82088,49.28331],[-0.99778,49.30149],[-1.16728,49.24545],[-1.19515,49.28183],[-1.26768,49.24099],[-1.34114,49.2975],[-1.24768,49.35025],[-1.44583,49.60689],[-1.81105,49.61757],[-1.77479,49.44333],[-1.72775,49.46509],[-1.5339,49.29098],[-1.47909,49.29233],[-1.47608,49.24027],[-1.43557,49.20326],[-1.47225,49.1822],[-1.45091,48.75725],[-1.31155,48.76408],[-1.30533,48.70216],[-1.2584,48.70421],[-1.25229,48.64353],[-1.23519,48.64435],[-1.2269,48.56824],[-1.85218,48.53086],[-1.84908,48.4975],[-1.92326,48.49187],[-1.92813,48.44096],[-2.04272,48.43601],[-2.03889,48.48191],[-2.2895,48.46102],[-2.3021,48.52433],[-2.40863,48.51618],[-2.42035,48.56954],[-2.43084,48.57852],[-2.49083,48.54924],[-2.47353,48.53326],[-2.54978,48.49647],[-2.54005,48.48747],[-2.70681,48.40746],[-3.02979,48.69115],[-4.01034,48.53179],[-4.05342,48.64412],[-4.38281,48.57349],[-4.35482,48.5118],[-4.38853,48.50473],[-4.13495,48.44868],[-4.16411,48.38936],[-4.01832,48.35685],[-4.04733,48.29918],[-3.98814,48.2867],[-4.0214,48.21606],[-4.03634,48.21958],[-4.06623,48.16028],[-4.16675,48.18247],[-4.18331,48.14934],[-4.17232,48.1065],[-4.20111,48.10285],[-4.18643,48.04389],[-4.18806,48.04061],[-4.35686,48.02305],[-4.25657,47.93997],[-4.23363,47.93497],[-4.21371,47.97598],[-4.21854,47.97726],[-4.1806,48.05569],[-3.6172,47.93124],[-2.17991,47.58642],[-2.25449,47.44501],[-2.30182,47.4568],[-2.32043,47.42092],[-2.30372,47.41755],[-2.34753,47.33499],[-2.36219,47.33837],[-2.38079,47.3039],[-2.35852,47.29854],[-2.29962,47.29784],[-2.29742,47.3618],[-2.13199,47.35852],[-2.13478,47.39107],[-2.01565,47.39623],[-2.01404,47.38095],[-1.92862,47.38254],[-1.92891,47.37956],[-1.8322,47.38184],[-1.82986,47.34165],[-1.73608,47.34304],[-1.73418,47.305],[-1.64084,47.30639],[-1.64011,47.29427],[-1.58355,47.29566],[-1.58531,47.33708],[-1.4612,47.33966],[-1.46003,47.32924],[-1.37211,47.33221],[-1.36054,47.11239],[-1.48567,47.11149],[-1.48582,47.11877],[-1.66897,47.11688],[-1.66971,47.12864],[-1.72553,47.12764],[-1.72612,47.13761],[-1.93975,47.13263],[-1.94019,47.1422],[-1.9925,47.14309],[-1.81066,47.00588],[-1.94723,46.92078],[-1.92891,46.90677],[-1.99529,46.86461],[-1.73652,46.66839],[-1.77535,46.64386],[-1.82678,46.64174],[-1.82473,46.62071],[-1.18192,46.39987],[-0.91261,46.3048],[-0.95481,46.2489],[-0.94235,46.24424],[-0.98385,46.18807]],[[3.14769,42.40072],[3.14949,42.40015],[3.15305,42.40052],[3.15804,42.40243],[3.1877,42.42805],[3.14227,42.5248],[3.06837,42.54635],[3.04884,42.6942],[3.0799,43.03073],[3.22641,43.18727],[3.40916,43.26032],[3.52104,43.25877],[3.66429,43.37628],[3.73841,43.39054],[4.00979,43.53607],[4.17692,43.45636],[4.54355,43.43349],[4.54943,43.35401],[4.83506,43.30891],[4.97506,43.38309],[5.03219,43.31928],[5.25919,43.31928],[5.31082,43.20504],[5.35682,43.18645],[5.36882,43.16785],[5.40232,43.16211],[5.41382,43.17123],[5.40919,43.19921],[5.54232,43.18827],[5.60582,43.14797],[5.6197,43.1529],[5.63832,43.17159],[5.67157,43.1674],[5.69095,43.13411],[5.77607,43.10637],[5.7762,43.09432],[5.75407,43.08328],[5.75707,43.0725],[5.77032,43.06465],[5.85933,43.03469],[5.8877,43.06273],[5.9567,43.06109],[5.96383,43.09277],[6.00033,43.09186],[6.01745,43.06849],[6.10233,43.07415],[6.10483,43.0526],[6.0666,43.04318],[6.06722,43.03785],[6.1427,43.00923],[6.15676,42.98715],[6.19635,42.97331],[6.22221,42.9801],[6.26891,42.99651],[6.25515,43.03627],[6.2019,43.02713],[6.18378,43.09188],[6.30153,43.09909],[6.32478,43.07974],[6.37778,43.08011],[6.38866,43.13395],[6.51341,43.14608],[6.57704,43.17881],[6.62291,43.14563],[6.69779,43.19969],[6.68016,43.23357],[6.72116,43.26007],[6.72241,43.27472],[6.67054,43.29192],[6.68741,43.33113],[6.72416,43.34267],[6.75291,43.409],[6.79104,43.39674],[6.90629,43.41672],[6.96767,43.50273],[6.96617,43.52812],[7.00617,43.53845],[7.03554,43.4982],[7.06892,43.5001],[7.09079,43.51642],[7.06267,43.53672],[7.08254,43.5456],[7.1238,43.53074],[7.1558,43.5437],[7.1433,43.62284],[7.16867,43.64636],[7.2138,43.63469],[7.25417,43.68497],[7.3403,43.66744],[7.36442,43.6894],[7.35305,43.7082],[7.4163,43.71091],[7.45405,43.74506],[7.4943,43.74524],[7.57943,43.78424],[7.60552,43.78603],[7.60368,43.78898],[7.59588,43.79528],[7.59628,43.79549],[7.53853,43.84195],[7.45996,43.79988],[7.44781,43.80934],[7.32353,43.74806],[7.30822,43.76357],[6.64878,43.3885],[6.66865,43.37178],[6.51003,43.27803],[6.56584,43.22509],[6.12681,43.10527],[5.48229,43.24939],[5.47267,43.2309],[5.41567,43.24657],[5.45267,43.3451],[4.80191,43.48158],[4.76416,43.39244],[4.65716,43.42368],[4.67228,43.45608],[4.43203,43.52419],[4.41453,43.49255],[4.16102,43.56433],[4.14452,43.57067],[4.14165,43.57393],[4.18677,43.59946],[4.10565,43.68196],[3.79689,43.52165],[3.77851,43.51313],[3.76464,43.50597],[3.76201,43.50334],[3.74226,43.49328],[3.71601,43.52075],[3.26213,43.28143],[3.24638,43.29735],[3.18388,43.28052],[3.10675,43.24083],[3.15475,43.19419],[2.90625,43.19383],[2.90675,42.76189],[2.94613,42.76208],[2.9465,42.61516],[2.99238,42.61497],[2.99238,42.5125],[3.041,42.51259],[3.04121,42.50093],[3.09086,42.50082],[3.14769,42.40072]],[[6.35945,43.02321],[6.42477,43.02444],[6.45244,43.03504],[6.46985,43.05461],[6.51121,43.05765],[6.52156,43.04318],[6.48364,43.02444],[6.47179,43.00725],[6.41178,42.9918],[6.39852,42.98048],[6.35178,42.99905],[6.35945,43.02321]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral",terms_text:"Ortho littorale 2000"},{id:"GeolittoralV2-Orthophotos",name:"Géolittoral V2 - Orthophotos 2011-2014",type:"wms",template:"http://geolittoral.application.developpement-durable.gouv.fr/wms2/metropole?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortholittorale_v2_rvb&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2014-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[-0.98385,46.18807],[-0.89497,46.15628],[-0.93455,46.10163],[-0.84388,46.06949],[-0.88241,46.01637],[-0.53787,45.89558],[-0.63498,45.76444],[-0.86666,45.8479],[-0.76264,45.6245],[-0.69695,45.62659],[-0.69397,45.60184],[-0.68755,45.60174],[-0.688,45.50986],[-0.63799,45.50892],[-0.63978,45.44747],[-0.61574,45.44695],[-0.61619,45.38586],[-0.58544,45.38596],[-0.58529,45.32334],[-0.55379,45.32344],[-0.55275,45.19661],[-0.49094,45.19577],[-0.49184,45.13315],[-0.45661,45.13325],[-0.45512,45.07161],[-0.41611,45.07089],[-0.41621,45.02696],[-0.2907,44.98278],[-0.22,45.06771],[-0.12252,45.02563],[-0.18925,44.94591],[-0.09266,44.91019],[-0.14521,44.8392],[-0.15491,44.84238],[-0.19387,44.78678],[-0.43541,44.87317],[-0.39048,44.68413],[-0.58798,44.66014],[-0.66628,44.99129],[-0.77838,44.99263],[-0.77764,45.05389],[-0.81584,45.05321],[-0.81838,45.11962],[-0.88393,45.12051],[-0.88171,45.18081],[-0.93438,45.18185],[-0.9328,45.24484],[-1.00163,45.24439],[-1.00247,45.30827],[-1.0524,45.31013],[-1.04828,45.36911],[-1.06412,45.36911],[-1.05039,45.18252],[-1.10761,44.80787],[-1.01514,44.80113],[-1.01946,44.76914],[-0.93365,44.76149],[-0.9404,44.7018],[-0.96035,44.56434],[-1.01408,44.56765],[-1.09916,44.1456],[-1.22689,44.14022],[-1.21853,44.03249],[-1.30762,44.029],[-1.39572,43.74301],[-1.31296,43.72951],[-1.37439,43.53109],[-1.34589,43.50606],[-1.59964,43.35423],[-1.76549,43.25548],[-1.79281,43.28038],[-1.80281,43.40425],[-1.72832,43.45033],[-1.58531,43.489],[-1.33584,44.22832],[-1.30744,44.41847],[-1.22511,45.44416],[-1.48685,46.06042],[-1.60176,46.17019],[-1.64442,46.22375],[-1.75643,46.42214],[-2.03483,46.61895],[-2.3466,46.62382],[-2.46561,46.71196],[-2.3233,46.83812],[-2.45286,46.93856],[-2.31733,47.16214],[-2.92848,47.28413],[-2.96742,47.22147],[-3.35602,47.32474],[-3.18803,47.48441],[-3.22791,47.61132],[-3.38912,47.59473],[-3.9162,47.67831],[-4.10163,47.70921],[-4.14314,47.78847],[-4.37619,47.71067],[-4.47962,47.9776],[-4.98565,47.99896],[-4.96938,48.08972],[-4.60147,48.11469],[-4.5921,48.14758],[-4.67101,48.2331],[-4.84243,48.3005],[-5.19867,48.44926],[-5.10346,48.51722],[-4.83515,48.54319],[-4.63117,48.66129],[-3.96692,48.77978],[-3.94939,48.74715],[-3.67013,48.89508],[-3.54444,48.90297],[-3.40954,48.91866],[-3.33344,48.90458],[-3.02769,48.9275],[-2.80207,48.79793],[-2.69353,48.76722],[-2.45786,48.70896],[-2.28475,48.71909],[-2.17543,48.65016],[-2.0137,48.73221],[-1.80953,48.73178],[-1.7243,48.75828],[-1.70557,48.84512],[-1.90304,48.86288],[-1.91027,48.92348],[-1.68714,48.93249],[-1.74277,49.24473],[-1.85748,49.3253],[-1.9262,49.65573],[-2.03908,49.67872],[-2.00445,49.76087],[-1.61759,49.68498],[-1.28373,49.76067],[-1.1492,49.63504],[-1.18545,49.54836],[-0.96463,49.42509],[-0.74429,49.36802],[-0.39014,49.3622],[-0.24976,49.3158],[-0.13342,49.31293],[0.02731,49.37619],[0.01801,49.54656],[0.12211,49.69292],[0.51713,49.86466],[1.05727,49.94904],[1.43908,50.11819],[1.53177,50.46437],[1.52549,50.85867],[1.64118,50.95919],[2.59712,51.17355],[2.66071,51.0196],[2.07124,50.92022],[2.05937,50.94709],[1.7976,50.89906],[1.68089,50.8717],[1.65569,50.59729],[1.75357,50.5932],[1.72295,50.24702],[1.82156,50.24262],[1.80149,50.05116],[1.54565,50.06311],[1.54155,50.01267],[1.42462,50.01747],[1.42667,50.05276],[1.03838,49.84609],[0.9827,49.88916],[0.57961,49.82133],[0.42063,49.76297],[0.4281,49.75445],[0.20831,49.67269],[0.14765,49.57767],[0.13461,49.5809],[0.11117,49.54365],[0.56598,49.52045],[0.5632,49.49989],[0.63001,49.49666],[0.61478,49.37441],[0.54825,49.37851],[0.54254,49.33461],[0.45741,49.33938],[0.45843,49.34492],[0.32597,49.35456],[0.32846,49.38128],[0.28011,49.38433],[0.27689,49.36334],[0.21095,49.36658],[0.20817,49.35084],[0.14326,49.35532],[0.13769,49.3115],[0.07204,49.31532],[0.0675,49.28713],[0.00274,49.29076],[0.00508,49.25711],[-0.02027,49.26036],[-0.03492,49.1973],[-0.19448,49.21463],[-0.38966,49.12726],[-0.45369,49.18792],[-0.3561,49.23214],[-0.82088,49.28331],[-0.99778,49.30149],[-1.16728,49.24545],[-1.19515,49.28183],[-1.26768,49.24099],[-1.34114,49.2975],[-1.24768,49.35025],[-1.44583,49.60689],[-1.81105,49.61757],[-1.77479,49.44333],[-1.72775,49.46509],[-1.5339,49.29098],[-1.47909,49.29233],[-1.47608,49.24027],[-1.43557,49.20326],[-1.47225,49.1822],[-1.45091,48.75725],[-1.31155,48.76408],[-1.30533,48.70216],[-1.2584,48.70421],[-1.25229,48.64353],[-1.23519,48.64435],[-1.2269,48.56824],[-1.85218,48.53086],[-1.84908,48.4975],[-1.92326,48.49187],[-1.92813,48.44096],[-2.04272,48.43601],[-2.03889,48.48191],[-2.2895,48.46102],[-2.3021,48.52433],[-2.40863,48.51618],[-2.42035,48.56954],[-2.43084,48.57852],[-2.49083,48.54924],[-2.47353,48.53326],[-2.54978,48.49647],[-2.54005,48.48747],[-2.70681,48.40746],[-3.02979,48.69115],[-4.01034,48.53179],[-4.05342,48.64412],[-4.38281,48.57349],[-4.35482,48.5118],[-4.38853,48.50473],[-4.13495,48.44868],[-4.16411,48.38936],[-4.01832,48.35685],[-4.04733,48.29918],[-3.98814,48.2867],[-4.0214,48.21606],[-4.03634,48.21958],[-4.06623,48.16028],[-4.16675,48.18247],[-4.18331,48.14934],[-4.17232,48.1065],[-4.20111,48.10285],[-4.18643,48.04389],[-4.18806,48.04061],[-4.35686,48.02305],[-4.25657,47.93997],[-4.23363,47.93497],[-4.21371,47.97598],[-4.21854,47.97726],[-4.1806,48.05569],[-3.6172,47.93124],[-2.17991,47.58642],[-2.25449,47.44501],[-2.30182,47.4568],[-2.32043,47.42092],[-2.30372,47.41755],[-2.34753,47.33499],[-2.36219,47.33837],[-2.38079,47.3039],[-2.35852,47.29854],[-2.29962,47.29784],[-2.29742,47.3618],[-2.13199,47.35852],[-2.13478,47.39107],[-2.01565,47.39623],[-2.01404,47.38095],[-1.92862,47.38254],[-1.92891,47.37956],[-1.8322,47.38184],[-1.82986,47.34165],[-1.73608,47.34304],[-1.73418,47.305],[-1.64084,47.30639],[-1.64011,47.29427],[-1.58355,47.29566],[-1.58531,47.33708],[-1.4612,47.33966],[-1.46003,47.32924],[-1.37211,47.33221],[-1.36054,47.11239],[-1.48567,47.11149],[-1.48582,47.11877],[-1.66897,47.11688],[-1.66971,47.12864],[-1.72553,47.12764],[-1.72612,47.13761],[-1.93975,47.13263],[-1.94019,47.1422],[-1.9925,47.14309],[-1.81066,47.00588],[-1.94723,46.92078],[-1.92891,46.90677],[-1.99529,46.86461],[-1.73652,46.66839],[-1.77535,46.64386],[-1.82678,46.64174],[-1.82473,46.62071],[-1.18192,46.39987],[-0.91261,46.3048],[-0.95481,46.2489],[-0.94235,46.24424],[-0.98385,46.18807]],[[3.14769,42.40072],[3.14949,42.40015],[3.15305,42.40052],[3.15804,42.40243],[3.1877,42.42805],[3.14227,42.5248],[3.06837,42.54635],[3.04884,42.6942],[3.0799,43.03073],[3.22641,43.18727],[3.40916,43.26032],[3.52104,43.25877],[3.66429,43.37628],[3.73841,43.39054],[4.00979,43.53607],[4.17692,43.45636],[4.54355,43.43349],[4.54943,43.35401],[4.83506,43.30891],[4.97506,43.38309],[5.03219,43.31928],[5.25919,43.31928],[5.31082,43.20504],[5.35682,43.18645],[5.36882,43.16785],[5.40232,43.16211],[5.41382,43.17123],[5.40919,43.19921],[5.54232,43.18827],[5.60582,43.14797],[5.6197,43.1529],[5.63832,43.17159],[5.67157,43.1674],[5.69095,43.13411],[5.77607,43.10637],[5.7762,43.09432],[5.75407,43.08328],[5.75707,43.0725],[5.77032,43.06465],[5.85933,43.03469],[5.8877,43.06273],[5.9567,43.06109],[5.96383,43.09277],[6.00033,43.09186],[6.01745,43.06849],[6.10233,43.07415],[6.10483,43.0526],[6.0666,43.04318],[6.06722,43.03785],[6.1427,43.00923],[6.15676,42.98715],[6.19635,42.97331],[6.22221,42.9801],[6.26891,42.99651],[6.25515,43.03627],[6.2019,43.02713],[6.18378,43.09188],[6.30153,43.09909],[6.32478,43.07974],[6.37778,43.08011],[6.38866,43.13395],[6.51341,43.14608],[6.57704,43.17881],[6.62291,43.14563],[6.69779,43.19969],[6.68016,43.23357],[6.72116,43.26007],[6.72241,43.27472],[6.67054,43.29192],[6.68741,43.33113],[6.72416,43.34267],[6.75291,43.409],[6.79104,43.39674],[6.90629,43.41672],[6.96767,43.50273],[6.96617,43.52812],[7.00617,43.53845],[7.03554,43.4982],[7.06892,43.5001],[7.09079,43.51642],[7.06267,43.53672],[7.08254,43.5456],[7.1238,43.53074],[7.1558,43.5437],[7.1433,43.62284],[7.16867,43.64636],[7.2138,43.63469],[7.25417,43.68497],[7.3403,43.66744],[7.36442,43.6894],[7.35305,43.7082],[7.4163,43.71091],[7.45405,43.74506],[7.4943,43.74524],[7.57943,43.78424],[7.60552,43.78603],[7.60368,43.78898],[7.59588,43.79528],[7.59628,43.79549],[7.53853,43.84195],[7.45996,43.79988],[7.44781,43.80934],[7.32353,43.74806],[7.30822,43.76357],[6.64878,43.3885],[6.66865,43.37178],[6.51003,43.27803],[6.56584,43.22509],[6.12681,43.10527],[5.48229,43.24939],[5.47267,43.2309],[5.41567,43.24657],[5.45267,43.3451],[4.80191,43.48158],[4.76416,43.39244],[4.65716,43.42368],[4.67228,43.45608],[4.43203,43.52419],[4.41453,43.49255],[4.16102,43.56433],[4.14452,43.57067],[4.14165,43.57393],[4.18677,43.59946],[4.10565,43.68196],[3.79689,43.52165],[3.77851,43.51313],[3.76464,43.50597],[3.76201,43.50334],[3.74226,43.49328],[3.71601,43.52075],[3.26213,43.28143],[3.24638,43.29735],[3.18388,43.28052],[3.10675,43.24083],[3.15475,43.19419],[2.90625,43.19383],[2.90675,42.76189],[2.94613,42.76208],[2.9465,42.61516],[2.99238,42.61497],[2.99238,42.5125],[3.041,42.51259],[3.04121,42.50093],[3.09086,42.50082],[3.14769,42.40072]],[[6.35945,43.02321],[6.42477,43.02444],[6.45244,43.03504],[6.46985,43.05461],[6.51121,43.05765],[6.52156,43.04318],[6.48364,43.02444],[6.47179,43.00725],[6.41178,42.9918],[6.39852,42.98048],[6.35178,42.99905],[6.35945,43.02321]]],terms_url:"https://wiki.openstreetmap.org/wiki/WikiProject_France/G%C3%A9oLittoral",terms_text:"Ortho Littorale V2 - MEDDE"},{id:"lu.geoportail.opendata.ortho_10cm_proto_lidar",name:"geoportail.lu LIDAR prototype Nordstad 2017",type:"tms",template:"http://{switch:wmts1,wmts2}.geoportail.lu/opendata/wmts/ortho_10cm_proto_lidar/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2017-04-09T00:00:00.000Z",startDate:"2017-04-09T00:00:00.000Z",scaleExtent:[0,21],polygon:[[[6.05001,49.82175],[6.04979,49.91166],[6.18901,49.91172],[6.18897,49.82181],[6.05001,49.82175]]],terms_url:"https://act.public.lu/fr/cartographie/lidar",terms_text:"Administration du Cadastre et de la Topographie",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"Geoportal-PL-aerial_image",name:"Geoportal.gov.pl (Orthophotomap)",type:"tms",template:"https://wms.misek.pl/geoportal.orto/tms/{zoom}/{x}/{y}",scaleExtent:[6,24],polygon:[[[15.9751,54.37092],[16.31116,54.55618],[17.13919,54.78457],[18.34485,54.90227],[19.66137,54.47372],[20.28152,54.42135],[21.46639,54.34064],[22.77599,54.37698],[22.8626,54.42336],[23.29567,54.26786],[23.53472,54.09553],[23.52086,53.97752],[23.71834,53.46296],[23.92968,53.18567],[23.92968,52.68873],[23.7322,52.60675],[23.5659,52.58781],[23.20905,52.33026],[23.19519,52.23701],[23.50354,52.18606],[23.69062,52.00301],[23.59708,51.7399],[23.66291,51.38886],[23.9366,50.98278],[24.16873,50.86048],[24.01975,50.80358],[24.10983,50.66105],[24.05786,50.41884],[23.61787,50.30834],[22.68244,49.51635],[22.73788,49.20949],[22.90417,49.07804],[22.8626,48.99401],[22.60969,49.03718],[22.07615,49.20044],[21.84749,49.37219],[21.37631,49.44883],[21.10262,49.37219],[20.91207,49.3022],[20.6453,49.39023],[20.18451,49.33156],[20.11869,49.20044],[19.942,49.13021],[19.76531,49.21176],[19.74798,49.39925],[19.60247,49.41503],[19.50893,49.58154],[19.42925,49.59052],[19.23177,49.41503],[18.99618,49.38798],[18.93382,49.4916],[18.83681,49.49386],[18.80216,49.66234],[18.6428,49.70941],[18.52154,49.89947],[18.08154,50.01092],[17.88753,49.98865],[17.73855,50.06877],[17.6069,50.17096],[17.74548,50.21532],[17.71084,50.3017],[17.41635,50.26407],[16.94864,50.44533],[16.89321,50.40339],[17.00061,50.31055],[17.01793,50.22419],[16.81352,50.18649],[16.64029,50.09767],[16.43242,50.28621],[16.19683,50.42767],[16.42203,50.58852],[16.33888,50.66324],[16.22802,50.63688],[16.05479,50.61271],[15.57322,50.76415],[15.26834,50.89764],[15.24409,50.9806],[15.02929,51.0133],[15.00157,50.85829],[14.81102,50.87359],[14.95653,51.07212],[15.01889,51.29146],[14.93921,51.46015],[14.72094,51.55718],[14.75212,51.62606],[14.59968,51.84276],[14.70362,52.07334],[14.55811,52.24974],[14.51654,52.42544],[14.60315,52.58781],[14.11465,52.82083],[14.15276,52.9734],[14.35024,53.07342],[14.42299,53.26656],[14.1978,53.87348],[14.22205,53.99585],[15.9751,54.37092]]],terms_text:"Copyright © Główny Urząd Geodezji i Kartografii.",best:true,icon:"https://i.imgur.com/aFlvMpM.png"},{id:"girau_do_pnciano",name:"Girau do Ponciano",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Girau%20do%20Ponciano&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.78013,-9.92939],[-36.78087,-9.83892],[-36.87233,-9.83917],[-36.87173,-9.90542],[-36.87037,-9.92989],[-36.86156,-9.92994],[-36.85566,-9.92981],[-36.85146,-9.92973],[-36.84575,-9.92977],[-36.83213,-9.92967],[-36.81456,-9.9296],[-36.78013,-9.92939]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"GRAFCAN-Canary_Islands",name:"GRAFCAN - Canary Islands",type:"wms",template:"https://idecan1.grafcan.es/ServicioWMS/OrtoUrb?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OU&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[-17.92917,28.89106],[-18.03334,28.79981],[-18.03743,28.73178],[-17.87811,28.43224],[-17.83113,28.41787],[-17.72696,28.56328],[-17.73105,28.67982],[-17.68407,28.73715],[-17.75352,28.86781],[-17.85768,28.86065],[-17.92917,28.89106]],[[-18.07818,27.77211],[-18.13707,27.78751],[-18.17054,27.76441],[-18.1779,27.70695],[-18.15782,27.68799],[-18.0581,27.6791],[-18.00656,27.62574],[-17.96105,27.62218],[-17.93896,27.70814],[-17.90751,27.7194],[-17.86199,27.80468],[-17.8727,27.84079],[-17.92558,27.86801],[-18.00522,27.83605],[-18.01392,27.8035],[-18.07818,27.77211]],[[-17.26878,28.23996],[-17.33403,28.21933],[-17.36331,28.1537],[-17.36666,28.08803],[-17.33069,28.04742],[-17.27296,28.00681],[-17.20017,28.00533],[-17.14412,28.02896],[-17.07803,28.0836],[-17.08723,28.1537],[-17.1826,28.2149],[-17.26878,28.23996]],[[-16.9358,28.37623],[-16.945,28.33574],[-16.71995,27.98317],[-16.62541,27.98317],[-16.52753,28.01641],[-16.39953,28.14632],[-16.33594,28.30922],[-16.33009,28.36445],[-16.10253,28.52408],[-16.09834,28.5814],[-16.14268,28.62547],[-16.33929,28.59609],[-16.43801,28.53143],[-16.53924,28.44025],[-16.83959,28.41229],[-16.9358,28.37623]],[[-15.68833,28.20585],[-15.47395,28.16437],[-15.42427,28.21046],[-15.36283,28.17244],[-15.38375,28.05598],[-15.33146,27.98444],[-15.3576,27.8042],[-15.5916,27.69777],[-15.7001,27.73365],[-15.79944,27.80305],[-15.87134,27.92439],[-15.84781,28.03637],[-15.74716,28.08943],[-15.73147,28.18396],[-15.68833,28.20585]],[[-14.50882,28.13448],[-14.41078,28.13448],[-14.24868,28.24278],[-14.23822,28.34637],[-14.03953,28.73911],[-13.89442,28.78265],[-13.78592,28.77692],[-13.82122,28.38433],[-13.91534,28.19095],[-14.18593,28.13563],[-14.30881,28.00529],[-14.54019,28.05144],[-14.50882,28.13448]],[[-13.5525,29.37727],[-13.50868,29.36824],[-13.47955,29.38728],[-13.47543,29.40963],[-13.5003,29.42807],[-13.5505,29.40712],[-13.5525,29.37727]],[[-13.3976,29.16102],[-13.42814,29.12157],[-13.44174,28.99084],[-13.53899,28.91947],[-13.70841,28.88468],[-13.77116,28.80865],[-13.90083,28.83522],[-13.90711,28.88926],[-13.85796,28.93686],[-13.85691,29.03657],[-13.67599,29.14988],[-13.56723,29.15719],[-13.55428,29.35073],[-13.39988,29.21806],[-13.3976,29.16102]],[[-13.33792,29.28667],[-13.35035,29.27436],[-13.3386,29.26533],[-13.32617,29.27765],[-13.33792,29.28667]]],terms_text:"GRAFCAN OrtoExpress Urbana 2009"},{id:"GrandNancy_Orthophotographie_2012",name:"GrandNancy - Orthophoto - 2012",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/nancy_2012/{zoom}/{x}/{y}",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",scaleExtent:[0,22],polygon:[[[6.06066,48.60554],[6.29717,48.59923],[6.30611,48.74077],[6.06896,48.7471],[6.06066,48.60554]]],terms_url:"https://wiki.openstreetmap.org/wiki/Nancy/Orthophotographie",terms_text:"GrandNancy Orthophotographie 2012"},{id:"hamburg-20cm",name:"Hamburg (20 cm)",type:"wms",template:"http://geodienste.hamburg.de/HH_WMS_DOP20?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[8.4826,53.9356],[8.48274,53.90924],[8.5275,53.90941],[8.52792,53.93577],[8.4826,53.9356]],[[9.77232,53.54352],[9.77434,53.55433],[9.76314,53.55521],[9.73047,53.55787],[9.73465,53.56536],[9.75793,53.61828],[9.77129,53.63131],[9.7707,53.61607],[9.79634,53.6103],[9.78993,53.60386],[9.81817,53.58591],[9.83773,53.59198],[9.84498,53.59498],[9.85416,53.59805],[9.86814,53.6093],[9.86931,53.61323],[9.88505,53.62199],[9.88697,53.6252],[9.89356,53.63026],[9.89637,53.63122],[9.89688,53.63492],[9.90678,53.65231],[9.93115,53.65262],[9.94552,53.65276],[9.95024,53.65085],[9.95155,53.65065],[9.97795,53.64887],[9.98492,53.6483],[9.98739,53.65072],[9.9996,53.68153],[10.02282,53.68157],[10.04338,53.68198],[10.05148,53.67759],[10.06925,53.67955],[10.0604,53.68833],[10.071,53.69585],[10.0707,53.70996],[10.08198,53.72044],[10.11908,53.71324],[10.16939,53.73896],[10.19369,53.731],[10.1779,53.70992],[10.15694,53.70451],[10.15829,53.68944],[10.14342,53.68057],[10.14176,53.67744],[10.14473,53.67613],[10.14643,53.67588],[10.14955,53.67545],[10.17153,53.66869],[10.19885,53.64675],[10.18973,53.63838],[10.22202,53.63349],[10.18887,53.61316],[10.19236,53.59474],[10.20117,53.58392],[10.15169,53.57619],[10.15067,53.56973],[10.148,53.5639],[10.15308,53.56242],[10.15942,53.56091],[10.15189,53.5417],[10.15465,53.53657],[10.16874,53.5374],[10.16327,53.52185],[10.16611,53.52013],[10.16919,53.51965],[10.18951,53.51148],[10.21043,53.51996],[10.21828,53.49923],[10.2367,53.49629],[10.25008,53.47898],[10.26592,53.47079],[10.29043,53.45512],[10.30962,53.44309],[10.31223,53.45229],[10.32514,53.44979],[10.30799,53.43332],[10.25598,53.41623],[10.25089,53.41024],[10.24578,53.40261],[10.24155,53.39797],[10.16555,53.39933],[10.14506,53.41614],[10.10949,53.42649],[10.1068,53.42658],[10.07581,53.45436],[10.05155,53.46394],[10.03517,53.4469],[10.01449,53.44203],[10.02294,53.43228],[9.99754,53.42546],[9.98243,53.41478],[9.97873,53.4142],[9.9581,53.42708],[9.92953,53.42007],[9.92552,53.41924],[9.90667,53.41596],[9.92305,53.43631],[9.91704,53.44664],[9.90436,53.45707],[9.89493,53.45583],[9.86885,53.44462],[9.86211,53.42942],[9.84872,53.44111],[9.80663,53.46648],[9.80021,53.47372],[9.8028,53.49383],[9.78203,53.49236],[9.76885,53.5053],[9.77107,53.52185],[9.78105,53.51838],[9.77352,53.52796],[9.77232,53.54352]]],terms_url:"http://www.hamburg.de/bsw/landesbetrieb-geoinformation-und-vermessung/",terms_text:"Freie und Hansestadt Hamburg, Landesbetrieb Geoinformation und Vermessung"},{id:"Hamburg-DK5",name:"Hamburg (DK5)",type:"wms",template:"http://geodienste.hamburg.de/HH_WMS_Geobasisdaten?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=13&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[8.4826,53.9356],[8.48274,53.90924],[8.5275,53.90941],[8.52792,53.93577],[8.4826,53.9356]],[[9.77232,53.54352],[9.77434,53.55433],[9.76314,53.55521],[9.73047,53.55787],[9.73465,53.56536],[9.75793,53.61828],[9.77129,53.63131],[9.7707,53.61607],[9.79634,53.6103],[9.78993,53.60386],[9.81817,53.58591],[9.83773,53.59198],[9.84498,53.59498],[9.85416,53.59805],[9.86814,53.6093],[9.86931,53.61323],[9.88505,53.62199],[9.88697,53.6252],[9.89356,53.63026],[9.89637,53.63122],[9.89688,53.63492],[9.90678,53.65231],[9.93115,53.65262],[9.94552,53.65276],[9.95024,53.65085],[9.95155,53.65065],[9.97795,53.64887],[9.98492,53.6483],[9.98739,53.65072],[9.9996,53.68153],[10.02282,53.68157],[10.04338,53.68198],[10.05148,53.67759],[10.06925,53.67955],[10.0604,53.68833],[10.071,53.69585],[10.0707,53.70996],[10.08198,53.72044],[10.11908,53.71324],[10.16939,53.73896],[10.19369,53.731],[10.1779,53.70992],[10.15694,53.70451],[10.15829,53.68944],[10.14342,53.68057],[10.14176,53.67744],[10.14473,53.67613],[10.14643,53.67588],[10.14955,53.67545],[10.17153,53.66869],[10.19885,53.64675],[10.18973,53.63838],[10.22202,53.63349],[10.18887,53.61316],[10.19236,53.59474],[10.20117,53.58392],[10.15169,53.57619],[10.15067,53.56973],[10.148,53.5639],[10.15308,53.56242],[10.15942,53.56091],[10.15189,53.5417],[10.15465,53.53657],[10.16874,53.5374],[10.16327,53.52185],[10.16611,53.52013],[10.16919,53.51965],[10.18951,53.51148],[10.21043,53.51996],[10.21828,53.49923],[10.2367,53.49629],[10.25008,53.47898],[10.26592,53.47079],[10.29043,53.45512],[10.30962,53.44309],[10.31223,53.45229],[10.32514,53.44979],[10.30799,53.43332],[10.25598,53.41623],[10.25089,53.41024],[10.24578,53.40261],[10.24155,53.39797],[10.16555,53.39933],[10.14506,53.41614],[10.10949,53.42649],[10.1068,53.42658],[10.07581,53.45436],[10.05155,53.46394],[10.03517,53.4469],[10.01449,53.44203],[10.02294,53.43228],[9.99754,53.42546],[9.98243,53.41478],[9.97873,53.4142],[9.9581,53.42708],[9.92953,53.42007],[9.92552,53.41924],[9.90667,53.41596],[9.92305,53.43631],[9.91704,53.44664],[9.90436,53.45707],[9.89493,53.45583],[9.86885,53.44462],[9.86211,53.42942],[9.84872,53.44111],[9.80663,53.46648],[9.80021,53.47372],[9.8028,53.49383],[9.78203,53.49236],[9.76885,53.5053],[9.77107,53.52185],[9.78105,53.51838],[9.77352,53.52796],[9.77232,53.54352]]]},{id:"Hampshire-Aerial-FCIR",name:"Hampshire Aerial FCIR",type:"tms",template:"https://{switch:a,b,c}.hampshire.aerial.openstreetmap.org.uk/layer/gb_hampshire_aerial_fcir/{zoom}/{x}/{y}.png",endDate:"2014-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[8,20],polygon:[[[-1.31567,50.77809],[-1.49139,50.73027],[-1.57113,50.69041],[-1.68095,50.71748],[-1.69338,50.73484],[-1.69528,50.74065],[-1.68689,50.74999],[-1.71068,50.74812],[-1.7195,50.75261],[-1.746,50.74452],[-1.74845,50.75675],[-1.74287,50.76397],[-1.75101,50.77577],[-1.78525,50.76177],[-1.79911,50.77236],[-1.82256,50.77225],[-1.82678,50.78077],[-1.8225,50.79933],[-1.80732,50.80074],[-1.81566,50.80752],[-1.80889,50.81358],[-1.80579,50.83249],[-1.79816,50.83535],[-1.80649,50.84414],[-1.80988,50.86189],[-1.81378,50.85591],[-1.83052,50.85261],[-1.85271,50.85651],[-1.85655,50.86684],[-1.8492,50.87802],[-1.85082,50.89178],[-1.84077,50.90051],[-1.82693,50.89939],[-1.82006,50.90492],[-1.82151,50.91691],[-1.81689,50.92412],[-1.84114,50.92886],[-1.87446,50.91441],[-1.91129,50.9439],[-1.92339,50.95917],[-1.95751,50.97575],[-1.9591,50.99152],[-1.94907,50.98649],[-1.92879,51.00055],[-1.88709,51.0026],[-1.87393,51.0097],[-1.8717,50.99083],[-1.85433,51.00786],[-1.83567,51.01238],[-1.81502,50.9899],[-1.80031,50.99457],[-1.75184,50.98133],[-1.71927,50.98047],[-1.69142,50.95943],[-1.66829,50.95041],[-1.6526,50.95029],[-1.63536,50.96269],[-1.62397,50.95903],[-1.6089,50.97686],[-1.62172,50.98099],[-1.63115,50.99984],[-1.60984,51.01225],[-1.60173,51.01042],[-1.60787,51.01582],[-1.6057,51.02271],[-1.63542,51.03176],[-1.63858,51.04126],[-1.63107,51.07819],[-1.64025,51.09201],[-1.6306,51.10359],[-1.63408,51.11099],[-1.63067,51.11652],[-1.64109,51.12237],[-1.66525,51.12546],[-1.65724,51.15539],[-1.67474,51.177],[-1.67213,51.18708],[-1.69679,51.20233],[-1.69247,51.21617],[-1.65288,51.22301],[-1.63564,51.22019],[-1.62395,51.24136],[-1.61402,51.24467],[-1.60741,51.25513],[-1.57717,51.25863],[-1.54443,51.24826],[-1.5384,51.25085],[-1.53436,51.25919],[-1.54345,51.25957],[-1.54007,51.27602],[-1.54596,51.28095],[-1.53591,51.28978],[-1.52595,51.28975],[-1.53093,51.29948],[-1.53008,51.3111],[-1.53628,51.31596],[-1.52986,51.34057],[-1.51552,51.34219],[-1.49498,51.33228],[-1.43599,51.33861],[-1.44759,51.3464],[-1.4463,51.35699],[-1.43056,51.35941],[-1.41608,51.37517],[-1.34899,51.37045],[-1.31472,51.37627],[-1.27555,51.3707],[-1.25116,51.37511],[-1.24118,51.36938],[-1.22209,51.37271],[-1.17602,51.36102],[-1.14321,51.36028],[-1.11875,51.36156],[-1.12096,51.36859],[-1.11678,51.3767],[-1.08363,51.38712],[-1.04754,51.36122],[-0.9904,51.36619],[-0.97264,51.36297],[-0.92376,51.36937],[-0.87681,51.3555],[-0.86549,51.35947],[-0.82728,51.35574],[-0.81122,51.34418],[-0.78322,51.34084],[-0.76325,51.32721],[-0.76005,51.32013],[-0.74183,51.31112],[-0.72842,51.28238],[-0.72631,51.25653],[-0.73713,51.23126],[-0.74898,51.2277],[-0.77712,51.23901],[-0.80193,51.23628],[-0.80611,51.24056],[-0.82491,51.23137],[-0.82701,51.22315],[-0.84493,51.20998],[-0.82268,51.18268],[-0.83042,51.15022],[-0.81952,51.15047],[-0.80504,51.15847],[-0.79382,51.15491],[-0.78879,51.14141],[-0.77846,51.13664],[-0.77813,51.13063],[-0.76654,51.11946],[-0.74365,51.11491],[-0.74715,51.10131],[-0.75411,51.10116],[-0.75122,51.09547],[-0.75506,51.08987],[-0.75076,51.0852],[-0.7785,51.07715],[-0.78645,51.06467],[-0.79954,51.06078],[-0.82645,51.05881],[-0.83646,51.0664],[-0.84519,51.06052],[-0.8499,51.0436],[-0.89485,51.01978],[-0.89065,51.00194],[-0.90461,50.99327],[-0.91461,50.97806],[-0.91278,50.9708],[-0.93246,50.94278],[-0.92119,50.9232],[-0.93793,50.91615],[-0.95132,50.89178],[-0.92368,50.86513],[-0.92976,50.85365],[-0.92903,50.84245],[-0.94342,50.82191],[-0.9299,50.78445],[-0.93275,50.77435],[-0.95347,50.73682],[-1.31567,50.77809]]]},{id:"Hampshire-Aerial-RGB",name:"Hampshire Aerial RGB",type:"tms",template:"https://{switch:a,b,c}.hampshire.aerial.openstreetmap.org.uk/layer/gb_hampshire_aerial_rgb/{zoom}/{x}/{y}.png",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[8,20],polygon:[[[-1.31567,50.77809],[-1.49139,50.73027],[-1.57113,50.69041],[-1.68095,50.71748],[-1.69338,50.73484],[-1.69528,50.74065],[-1.68689,50.74999],[-1.71068,50.74812],[-1.7195,50.75261],[-1.746,50.74452],[-1.74845,50.75675],[-1.74287,50.76397],[-1.75101,50.77577],[-1.78525,50.76177],[-1.79911,50.77236],[-1.82256,50.77225],[-1.82678,50.78077],[-1.8225,50.79933],[-1.80732,50.80074],[-1.81566,50.80752],[-1.80889,50.81358],[-1.80579,50.83249],[-1.79816,50.83535],[-1.80649,50.84414],[-1.80988,50.86189],[-1.81378,50.85591],[-1.83052,50.85261],[-1.85271,50.85651],[-1.85655,50.86684],[-1.8492,50.87802],[-1.85082,50.89178],[-1.84077,50.90051],[-1.82693,50.89939],[-1.82006,50.90492],[-1.82151,50.91691],[-1.81689,50.92412],[-1.84114,50.92886],[-1.87446,50.91441],[-1.91129,50.9439],[-1.92339,50.95917],[-1.95751,50.97575],[-1.9591,50.99152],[-1.94907,50.98649],[-1.92879,51.00055],[-1.88709,51.0026],[-1.87393,51.0097],[-1.8717,50.99083],[-1.85433,51.00786],[-1.83567,51.01238],[-1.81502,50.9899],[-1.80031,50.99457],[-1.75184,50.98133],[-1.71927,50.98047],[-1.69142,50.95943],[-1.66829,50.95041],[-1.6526,50.95029],[-1.63536,50.96269],[-1.62397,50.95903],[-1.6089,50.97686],[-1.62172,50.98099],[-1.63115,50.99984],[-1.60984,51.01225],[-1.60173,51.01042],[-1.60787,51.01582],[-1.6057,51.02271],[-1.63542,51.03176],[-1.63858,51.04126],[-1.63107,51.07819],[-1.64025,51.09201],[-1.6306,51.10359],[-1.63408,51.11099],[-1.63067,51.11652],[-1.64109,51.12237],[-1.66525,51.12546],[-1.65724,51.15539],[-1.67474,51.177],[-1.67213,51.18708],[-1.69679,51.20233],[-1.69247,51.21617],[-1.65288,51.22301],[-1.63564,51.22019],[-1.62395,51.24136],[-1.61402,51.24467],[-1.60741,51.25513],[-1.57717,51.25863],[-1.54443,51.24826],[-1.5384,51.25085],[-1.53436,51.25919],[-1.54345,51.25957],[-1.54007,51.27602],[-1.54596,51.28095],[-1.53591,51.28978],[-1.52595,51.28975],[-1.53093,51.29948],[-1.53008,51.3111],[-1.53628,51.31596],[-1.52986,51.34057],[-1.51552,51.34219],[-1.49498,51.33228],[-1.43599,51.33861],[-1.44759,51.3464],[-1.4463,51.35699],[-1.43056,51.35941],[-1.41608,51.37517],[-1.34899,51.37045],[-1.31472,51.37627],[-1.27555,51.3707],[-1.25116,51.37511],[-1.24118,51.36938],[-1.22209,51.37271],[-1.17602,51.36102],[-1.14321,51.36028],[-1.11875,51.36156],[-1.12096,51.36859],[-1.11678,51.3767],[-1.08363,51.38712],[-1.04754,51.36122],[-0.9904,51.36619],[-0.97264,51.36297],[-0.92376,51.36937],[-0.87681,51.3555],[-0.86549,51.35947],[-0.82728,51.35574],[-0.81122,51.34418],[-0.78322,51.34084],[-0.76325,51.32721],[-0.76005,51.32013],[-0.74183,51.31112],[-0.72842,51.28238],[-0.72631,51.25653],[-0.73713,51.23126],[-0.74898,51.2277],[-0.77712,51.23901],[-0.80193,51.23628],[-0.80611,51.24056],[-0.82491,51.23137],[-0.82701,51.22315],[-0.84493,51.20998],[-0.82268,51.18268],[-0.83042,51.15022],[-0.81952,51.15047],[-0.80504,51.15847],[-0.79382,51.15491],[-0.78879,51.14141],[-0.77846,51.13664],[-0.77813,51.13063],[-0.76654,51.11946],[-0.74365,51.11491],[-0.74715,51.10131],[-0.75411,51.10116],[-0.75122,51.09547],[-0.75506,51.08987],[-0.75076,51.0852],[-0.7785,51.07715],[-0.78645,51.06467],[-0.79954,51.06078],[-0.82645,51.05881],[-0.83646,51.0664],[-0.84519,51.06052],[-0.8499,51.0436],[-0.89485,51.01978],[-0.89065,51.00194],[-0.90461,50.99327],[-0.91461,50.97806],[-0.91278,50.9708],[-0.93246,50.94278],[-0.92119,50.9232],[-0.93793,50.91615],[-0.95132,50.89178],[-0.92368,50.86513],[-0.92976,50.85365],[-0.92903,50.84245],[-0.94342,50.82191],[-0.9299,50.78445],[-0.93275,50.77435],[-0.95347,50.73682],[-1.31567,50.77809]]]},{id:"IBGE_DF_Addresses",name:"IBGE Distrito Federal",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/wille/cirnnxni1000jg8nfppc8g7pm/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g",scaleExtent:[0,20],polygon:[[[-48.2444,-16.0508],[-48.2444,-15.5005],[-47.5695,-15.5005],[-47.5695,-16.0508],[-48.2444,-16.0508]]],terms_text:"IBGE",description:"Addresses data from IBGE",overlay:true},{id:"IBGE_Setores_Rurais",name:"IBGE Mapa de Setores Rurais",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/tmpsantos.i00mo1kj/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw",scaleExtent:[0,14],polygon:[[[-69.94793,-4.23168],[-69.45659,-1.49119],[-69.3973,-1.36508],[-69.42989,-1.22173],[-69.39523,-1.12555],[-69.44292,-1.03351],[-69.41861,-0.99827],[-69.528,-0.92514],[-69.52577,-0.86807],[-69.62491,-0.74667],[-69.56179,-0.63692],[-69.60783,-0.5008],[-69.8446,-0.33732],[-69.92054,-0.32573],[-70.04323,-0.18998],[-70.04302,0.56359],[-69.80272,0.57162],[-69.6711,0.66759],[-69.60529,0.61328],[-69.59701,0.6542],[-69.48002,0.73577],[-69.35277,0.61416],[-69.28914,0.64997],[-69.29484,0.60389],[-69.19975,0.60591],[-69.19425,0.64982],[-69.11563,0.64484],[-69.19001,0.74056],[-69.14881,0.76751],[-69.13576,0.87204],[-69.18846,0.91324],[-69.1646,0.94156],[-69.21679,0.97245],[-69.19773,0.99974],[-69.24494,1.05655],[-69.37641,1.08794],[-69.42312,1.04265],[-69.60989,1.09826],[-69.67718,1.06994],[-69.70963,1.11817],[-69.84266,1.07272],[-69.83972,1.71893],[-69.78236,1.69244],[-69.53464,1.77691],[-69.39109,1.72935],[-68.1645,1.72945],[-68.19207,1.7797],[-68.23954,1.77044],[-68.22688,1.82918],[-68.28555,1.83084],[-68.19583,2.03479],[-68.18033,1.9767],[-68.14417,1.97854],[-68.09043,1.89774],[-67.90162,1.81165],[-67.76942,2.00924],[-67.55095,2.04769],[-67.49519,2.16312],[-67.39404,2.22894],[-67.32672,2.06387],[-67.33083,1.94158],[-67.22831,1.84127],[-67.15384,1.8315],[-67.15922,1.67504],[-67.08017,1.38546],[-67.13923,1.32002],[-67.08675,1.16704],[-66.85119,1.22896],[-66.31032,0.74494],[-66.19737,0.78161],[-66.07783,0.76174],[-66.07024,0.8123],[-65.96712,0.81511],[-65.88369,0.94159],[-65.77261,0.95859],[-65.7421,1.00125],[-65.58894,1.00471],[-65.49624,0.87415],[-65.60623,0.70748],[-65.54116,0.64881],[-65.44499,0.68921],[-65.39213,0.75692],[-65.41198,0.82415],[-65.32734,0.93596],[-65.21302,0.90282],[-65.1749,0.94131],[-65.15831,1.1246],[-65.07232,1.15303],[-65.06317,1.11205],[-65.01361,1.10905],[-64.97445,1.20288],[-64.90439,1.25153],[-64.86966,1.22713],[-64.80053,1.31527],[-64.74446,1.22569],[-64.5789,1.34041],[-64.52608,1.44322],[-64.43586,1.47006],[-64.3939,1.52901],[-64.35111,1.52921],[-64.34777,1.49508],[-64.41019,1.40301],[-64.33791,1.36134],[-64.3136,1.45617],[-64.19707,1.52071],[-64.0735,1.64902],[-64.05781,1.92899],[-63.97219,1.99194],[-63.83555,1.96644],[-63.71155,2.04645],[-63.66501,2.01861],[-63.6268,2.11222],[-63.56474,2.13571],[-63.44059,2.126],[-63.36742,2.26864],[-63.37088,2.41121],[-63.42123,2.45102],[-63.46036,2.39684],[-63.56398,2.44573],[-63.76805,2.43994],[-63.84358,2.4916],[-64.01914,2.46135],[-64.0573,2.49752],[-63.98033,2.7237],[-64.07709,2.87262],[-64.07156,2.92142],[-64.12349,2.99048],[-64.15754,2.98243],[-64.14592,3.03459],[-64.22642,3.12356],[-64.19795,3.20121],[-64.2444,3.43036],[-64.17437,3.56841],[-64.281,3.70928],[-64.54357,3.85713],[-64.72239,4.11775],[-64.80203,4.17422],[-64.81123,4.27048],[-64.69522,4.25323],[-64.623,4.135],[-64.5565,4.10529],[-64.164,4.127],[-63.964,3.868],[-63.928,3.925],[-63.85,3.95],[-63.682,3.908],[-63.676,4.019],[-63.591,3.886],[-63.497,3.84],[-63.489,3.874],[-63.434,3.865],[-63.428,3.977],[-63.204,3.952],[-63.226,3.836],[-63.103,3.794],[-63.059,3.748],[-63.081,3.694],[-62.96,3.608],[-62.835,3.739],[-62.743,3.674],[-62.729,3.805],[-62.788,3.894],[-62.753,4.032],[-62.555,4.019],[-62.552,4.109],[-62.437,4.183],[-62.14308,4.07768],[-62.071,4.126],[-62.076,4.154],[-61.982,4.181],[-61.93175,4.12009],[-61.92213,4.16126],[-61.824,4.164],[-61.802,4.229],[-61.724,4.27],[-61.56,4.252],[-61.508,4.322],[-61.513,4.406],[-61.288,4.458],[-61.323,4.535],[-61.217,4.536],[-61.14559,4.48016],[-61.095,4.522],[-60.994,4.519],[-60.932,4.587],[-60.949,4.653],[-60.899,4.717],[-60.751,4.756],[-60.591,4.927],[-60.661,5.164],[-60.73197,5.21203],[-60.434,5.182],[-60.20825,5.28346],[-60.172,5.227],[-60.135,5.249],[-60.094,5.14],[-59.96984,5.06334],[-60.02524,4.7065],[-60.0705,4.61688],[-60.15725,4.57247],[-60.16114,4.51773],[-59.79503,4.46554],[-59.66948,4.37629],[-59.7319,4.28587],[-59.73069,4.18076],[-59.61818,4.13166],[-59.65406,4.06943],[-59.58417,3.96851],[-59.5153,3.94493],[-59.59279,3.88538],[-59.59631,3.79386],[-59.66555,3.78126],[-59.66842,3.70277],[-59.86728,3.57776],[-59.80205,3.50156],[-59.8408,3.43174],[-59.80488,3.35695],[-59.907,3.212],[-59.98944,2.88185],[-59.99,2.686],[-59.895,2.482],[-59.89872,2.36245],[-59.72315,2.27614],[-59.751,1.859],[-59.677,1.839],[-59.663,1.871],[-59.69,1.757],[-59.539,1.723],[-59.381,1.507],[-59.329,1.514],[-59.327,1.464],[-59.284,1.45],[-59.253,1.389],[-58.978,1.302],[-58.918,1.317],[-58.886,1.261],[-58.912,1.239],[-58.82512,1.17127],[-58.73956,1.1999],[-58.69456,1.29732],[-58.49622,1.26796],[-58.45787,1.37145],[-58.50511,1.40317],[-58.50873,1.46295],[-58.38559,1.46999],[-58.39472,1.52651],[-58.32237,1.59702],[-58.236,1.54669],[-58.16064,1.56011],[-58.12942,1.4989],[-58.00423,1.50303],[-57.99009,1.65844],[-57.85206,1.66782],[-57.77431,1.72973],[-57.70509,1.73093],[-57.65042,1.68237],[-57.5376,1.7005],[-57.50187,1.78609],[-57.43776,1.82681],[-57.43343,1.90598],[-57.36768,1.92372],[-57.36912,1.95638],[-57.30712,1.99665],[-57.22923,1.93759],[-57.08668,2.02644],[-57.01421,1.91489],[-56.91971,1.93036],[-56.79793,1.85336],[-56.72096,1.92582],[-56.62145,1.94588],[-56.57976,1.90588],[-56.45126,1.95614],[-56.24404,1.87808],[-56.1709,1.90048],[-56.11762,1.85097],[-55.95638,1.84509],[-55.90385,1.88803],[-55.93635,1.98647],[-55.9031,2.04108],[-56.00307,2.1676],[-56.05505,2.18464],[-56.04288,2.22778],[-56.13887,2.26574],[-56.09012,2.37228],[-56.02181,2.34247],[-55.97052,2.52931],[-55.76663,2.45524],[-55.71028,2.39917],[-55.49971,2.44324],[-55.38533,2.41836],[-55.32019,2.51537],[-55.23474,2.50338],[-55.1234,2.56762],[-55.10302,2.52564],[-54.95424,2.58359],[-54.86846,2.43989],[-54.68917,2.45389],[-54.68861,2.32472],[-54.54667,2.31833],[-54.53778,2.26556],[-54.46861,2.21306],[-54.24917,2.14667],[-54.18056,2.1725],[-54.11083,2.11222],[-54.06139,2.19167],[-53.94083,2.21917],[-53.93194,2.27194],[-53.88667,2.26778],[-53.745,2.37389],[-53.73389,2.31222],[-53.52972,2.24917],[-53.45861,2.2575],[-53.32833,2.35333],[-53.21667,2.25333],[-53.27899,2.18603],[-53.11861,2.2225],[-52.99472,2.17528],[-52.90972,2.19583],[-52.84722,2.28556],[-52.67528,2.37389],[-52.59444,2.47389],[-52.54028,2.57028],[-52.56417,2.63944],[-52.43944,2.87778],[-52.39583,2.90222],[-52.33187,3.16938],[-52.21472,3.26833],[-51.97104,3.70696],[-51.92148,3.72422],[-51.922,3.7792],[-51.79731,3.88888],[-51.77783,3.97406],[-51.65867,4.05276],[-51.61325,4.17437],[-51.63716,4.50834],[-51.49427,4.67426],[-51.11466,4.42286],[-50.94232,4.20165],[-50.85475,3.92491],[-50.85507,3.45573],[-50.75331,2.94057],[-50.29908,2.33079],[-49.73896,1.79143],[-48.23746,-0.07449],[-44.84728,-1.07246],[-43.54602,-2.04705],[-43.24389,-2.12403],[-42.78189,-2.33053],[-41.78084,-2.51859],[-41.5085,-2.68486],[-40.66365,-2.63829],[-40.50396,-2.57531],[-39.8907,-2.65328],[-39.15187,-3.04444],[-38.57151,-3.48047],[-38.34306,-3.54434],[-38.21421,-3.74103],[-38.12555,-3.80544],[-37.90182,-4.07265],[-37.77934,-4.18046],[-37.63401,-4.24454],[-37.51218,-4.41535],[-37.22122,-4.51045],[-37.07874,-4.71355],[-36.91716,-4.71372],[-36.62299,-4.85815],[-36.18969,-4.88505],[-35.93627,-4.83327],[-35.56471,-4.90758],[-35.33677,-4.99239],[-35.17659,-5.12497],[-34.79469,-6.33583],[-34.71587,-6.74615],[-34.62306,-6.90323],[-34.59953,-7.11133],[-34.64374,-7.98735],[-34.81497,-8.62472],[-35.0253,-9.13761],[-35.55848,-9.81261],[-35.69663,-9.90026],[-35.96401,-10.31281],[-36.06155,-10.37447],[-36.26639,-10.64593],[-36.61764,-10.81082],[-36.78725,-10.95151],[-36.99511,-11.29602],[-37.11368,-11.41261],[-37.46002,-12.10275],[-37.89668,-12.75844],[-38.22146,-13.09717],[-38.61146,-13.26537],[-38.85337,-14.65508],[-38.74388,-15.60089],[-38.66456,-15.74741],[-38.64697,-15.88327],[-38.8013,-16.24838],[-38.92933,-16.80775],[-38.53193,-17.80026],[-38.49171,-18.0046],[-38.53661,-18.09683],[-38.67053,-18.16855],[-39.35288,-18.10892],[-39.4675,-18.30359],[-39.54529,-18.78548],[-39.49227,-19.40134],[-39.63477,-19.74403],[-39.86353,-19.88681],[-40.17827,-20.75426],[-40.81442,-21.67672],[-40.76948,-21.87786],[-40.81442,-22.09702],[-41.5086,-22.52638],[-41.59666,-22.83627],[-41.79292,-23.08823],[-41.91484,-23.18527],[-43.19603,-23.26703],[-44.07735,-23.40501],[-45.13508,-24.12014],[-46.61368,-24.67512],[-47.85376,-25.47012],[-48.2801,-26.23036],[-48.34897,-26.75081],[-48.11076,-27.28208],[-48.21148,-27.85592],[-48.40713,-28.43255],[-48.68615,-28.76016],[-48.9156,-28.86305],[-49.1579,-29.02871],[-49.52748,-29.42005],[-49.82565,-29.86559],[-50.17344,-30.64282],[-50.60441,-31.24135],[-51.18785,-31.77646],[-51.74211,-32.10539],[-51.89236,-32.29596],[-52.06117,-32.38504],[-52.27087,-32.92102],[-52.45986,-33.25369],[-52.61505,-33.42291],[-53.18109,-33.86891],[-53.43053,-33.73947],[-53.43951,-33.69347],[-53.53228,-33.6888],[-53.51819,-33.15342],[-53.44438,-33.05296],[-53.24468,-32.93489],[-53.31008,-32.91875],[-53.29454,-32.89931],[-53.18496,-32.85043],[-53.14569,-32.79202],[-53.0858,-32.78835],[-53.07558,-32.74088],[-53.24992,-32.6041],[-53.39137,-32.58573],[-53.46423,-32.48446],[-53.58321,-32.45192],[-53.74599,-32.07848],[-53.83375,-32.05524],[-53.84978,-32.00064],[-53.96073,-31.95532],[-53.96972,-31.91765],[-54.10019,-31.92825],[-54.4549,-31.65295],[-54.4528,-31.59959],[-54.58676,-31.45656],[-54.8367,-31.442],[-54.88623,-31.3773],[-54.94087,-31.38068],[-55.00723,-31.26692],[-55.07446,-31.33216],[-55.24003,-31.26062],[-55.29118,-31.14226],[-55.34037,-31.13144],[-55.34981,-31.03922],[-55.42306,-31.01823],[-55.57742,-30.83309],[-55.65834,-30.864],[-55.66621,-30.95395],[-55.723,-30.943],[-55.727,-30.979],[-55.882,-31.077],[-56.00989,-31.08267],[-56.02241,-30.78565],[-56.12508,-30.73871],[-56.17074,-30.61517],[-56.26095,-30.58509],[-56.29193,-30.51967],[-56.38177,-30.49956],[-56.46126,-30.38486],[-56.54706,-30.35946],[-56.54115,-30.31291],[-56.6187,-30.30054],[-56.64628,-30.20346],[-56.77662,-30.1633],[-56.80777,-30.10301],[-57.07113,-30.08671],[-57.22081,-30.28928],[-57.31303,-30.25785],[-57.39229,-30.30474],[-57.46574,-30.26589],[-57.52431,-30.28569],[-57.56087,-30.21134],[-57.64744,-30.19483],[-57.48047,-30.12315],[-57.33713,-29.99284],[-57.294,-29.831],[-57.121,-29.765],[-56.89888,-29.53179],[-56.81905,-29.48816],[-56.76618,-29.37768],[-56.70164,-29.35913],[-56.59315,-29.12516],[-56.418,-29.075],[-56.40775,-28.9748],[-56.29995,-28.89614],[-56.29652,-28.8027],[-56.17858,-28.75922],[-56.00984,-28.60718],[-56.01249,-28.50873],[-55.88357,-28.47923],[-55.87739,-28.36159],[-55.75157,-28.37095],[-55.69433,-28.42204],[-55.67047,-28.33218],[-55.77415,-28.27414],[-55.7757,-28.24481],[-55.63167,-28.17719],[-55.60747,-28.11604],[-55.55957,-28.16523],[-55.4952,-28.07682],[-55.44611,-28.09787],[-55.368,-28.029],[-55.38299,-27.97948],[-55.343,-27.972],[-55.32706,-27.92664],[-55.26574,-27.92969],[-55.196,-27.856],[-55.133,-27.897],[-55.106,-27.846],[-55.035,-27.858],[-55.081,-27.779],[-54.936,-27.772],[-54.90617,-27.63871],[-54.85,-27.624],[-54.814,-27.533],[-54.775,-27.586],[-54.67926,-27.57394],[-54.67709,-27.508],[-54.621,-27.541],[-54.574,-27.453],[-54.5246,-27.5059],[-54.444,-27.472],[-54.47081,-27.42674],[-54.41,-27.405],[-54.35466,-27.46528],[-54.34067,-27.40311],[-54.28484,-27.44819],[-54.261,-27.397],[-54.21736,-27.38603],[-54.172,-27.254],[-54.15619,-27.29619],[-54.08872,-27.30149],[-54.01026,-27.19978],[-53.96219,-27.19698],[-53.95195,-27.15169],[-53.79879,-27.14629],[-53.80233,-27.04028],[-53.76087,-27.06543],[-53.78585,-27.02674],[-53.7473,-27.03218],[-53.7092,-26.93414],[-53.67125,-26.94222],[-53.69684,-26.86015],[-53.66059,-26.85814],[-53.75814,-26.72045],[-53.7205,-26.65099],[-53.75864,-26.64113],[-53.63739,-26.24968],[-53.742,-26.108],[-53.73409,-26.04333],[-53.83619,-25.97166],[-53.82214,-25.79377],[-53.89113,-25.62286],[-53.94895,-25.6117],[-53.95638,-25.64628],[-54.01,-25.567],[-54.07592,-25.55766],[-54.098,-25.619],[-54.099,-25.495],[-54.206,-25.541],[-54.178,-25.584],[-54.23,-25.562],[-54.25,-25.597],[-54.28,-25.556],[-54.38395,-25.59747],[-54.43288,-25.69756],[-54.4927,-25.6181],[-54.59354,-25.59275],[-54.61941,-25.45312],[-54.4295,-25.15915],[-54.43548,-24.94769],[-54.32437,-24.66059],[-54.32714,-24.47073],[-54.25877,-24.36377],[-54.34537,-24.14705],[-54.28223,-24.07336],[-54.43984,-23.90446],[-54.66978,-23.81262],[-54.70533,-23.86452],[-54.89,-23.898],[-54.924,-23.959],[-55.06223,-23.99335],[-55.107,-23.961],[-55.22907,-24.01383],[-55.30415,-23.96504],[-55.34542,-23.99458],[-55.41423,-23.9645],[-55.44167,-23.70084],[-55.47306,-23.64834],[-55.53989,-23.625],[-55.52356,-23.19733],[-55.54199,-23.1561],[-55.59635,-23.14993],[-55.66578,-22.85274],[-55.61432,-22.65521],[-55.72364,-22.55166],[-55.74302,-22.39266],[-55.78939,-22.3846],[-55.84304,-22.28725],[-56.20983,-22.27805],[-56.36485,-22.16949],[-56.39404,-22.07434],[-56.50711,-22.09561],[-56.63705,-22.26341],[-56.70344,-22.21693],[-56.72026,-22.26479],[-56.79344,-22.24238],[-56.84285,-22.30155],[-56.88343,-22.24755],[-56.9967,-22.22246],[-57.3744,-22.23204],[-57.5804,-22.17534],[-57.6106,-22.09462],[-57.70751,-22.09111],[-57.80183,-22.15072],[-57.99384,-22.09023],[-58.00946,-22.04038],[-57.91281,-21.88266],[-57.96603,-21.85045],[-57.90866,-21.77355],[-57.94714,-21.74413],[-57.88329,-21.68903],[-57.93436,-21.65037],[-57.91387,-21.59021],[-57.96795,-21.52432],[-57.8535,-21.33109],[-57.92019,-21.27655],[-57.85066,-21.22407],[-57.86834,-21.04417],[-57.81919,-20.94066],[-57.92836,-20.90036],[-57.8552,-20.83403],[-57.89863,-20.78872],[-57.96183,-20.7916],[-57.93478,-20.74565],[-57.86732,-20.73265],[-57.92414,-20.66392],[-57.98848,-20.69879],[-57.99847,-20.43551],[-58.09339,-20.35554],[-58.09596,-20.25445],[-58.16216,-20.25953],[-58.12152,-20.19246],[-58.16932,-20.1694],[-57.95347,-20.02094],[-57.90248,-20.04207],[-57.85796,-19.9703],[-58.131,-19.758],[-57.784,-19.033],[-57.694,-19.011],[-57.719,-18.899],[-57.766,-18.899],[-57.557,-18.24],[-57.453,-18.231],[-57.574,-18.131],[-57.72302,-17.83074],[-57.68472,-17.8306],[-57.70991,-17.72702],[-57.783,-17.639],[-57.73696,-17.5583],[-57.883,-17.449],[-57.996,-17.515],[-58.06,-17.45],[-58.116,-17.451],[-58.151,-17.384],[-58.263,-17.344],[-58.396,-17.181],[-58.423,-16.989],[-58.474,-16.935],[-58.47,-16.703],[-58.436,-16.592],[-58.333,-16.49],[-58.32227,-16.26559],[-58.388,-16.261],[-58.43059,-16.32264],[-60.17335,-16.26672],[-60.238,-15.473],[-60.57543,-15.09677],[-60.244,-15.096],[-60.272,-14.62],[-60.321,-14.608],[-60.492,-14.188],[-60.479,-14.097],[-60.38066,-13.9888],[-60.45062,-13.9364],[-60.45599,-13.85422],[-60.49068,-13.85782],[-60.46776,-13.79446],[-60.76755,-13.68329],[-60.87678,-13.62149],[-60.91857,-13.54334],[-61.0056,-13.552],[-61.0129,-13.48925],[-61.0938,-13.49081],[-61.10314,-13.53056],[-61.18155,-13.50557],[-61.19236,-13.53695],[-61.29954,-13.47718],[-61.46527,-13.55427],[-61.57927,-13.48711],[-61.852,-13.538],[-61.892,-13.431],[-61.96968,-13.40759],[-61.97592,-13.36695],[-62.11498,-13.25932],[-62.115,-13.163],[-62.15254,-13.15993],[-62.16703,-13.11346],[-62.19,-13.153],[-62.214,-13.111],[-62.27269,-13.15687],[-62.39178,-13.13471],[-62.453,-13.064],[-62.612,-13.041],[-62.65,-12.965],[-62.729,-13.02],[-62.779,-13.009],[-62.89672,-12.8539],[-63.01134,-12.83602],[-63.08186,-12.72323],[-63.06163,-12.68584],[-63.15726,-12.6138],[-63.24621,-12.66222],[-63.23713,-12.69043],[-63.30125,-12.68138],[-63.44052,-12.608],[-63.43627,-12.56526],[-63.50641,-12.56562],[-63.55295,-12.50598],[-63.7848,-12.42871],[-63.88957,-12.44745],[-63.89949,-12.50204],[-63.95144,-12.53179],[-64.13464,-12.47732],[-64.16781,-12.51503],[-64.17504,-12.46675],[-64.22945,-12.45419],[-64.29018,-12.50313],[-64.29452,-12.4582],[-64.41057,-12.44436],[-64.51217,-12.3551],[-64.51256,-12.22562],[-64.70406,-12.1827],[-64.70719,-12.08684],[-64.75486,-12.15762],[-64.7688,-12.09356],[-64.83747,-12.11786],[-64.80954,-12.05633],[-64.84077,-12.01027],[-65.03548,-11.99408],[-65.01398,-11.90303],[-65.0727,-11.86587],[-65.08672,-11.7082],[-65.18953,-11.72353],[-65.18216,-11.75609],[-65.2593,-11.71053],[-65.21178,-11.52857],[-65.3074,-11.49957],[-65.33276,-11.33986],[-65.29053,-11.32275],[-65.34347,-11.3082],[-65.35834,-11.26834],[-65.35938,-11.22067],[-65.31294,-11.19578],[-65.35387,-11.18419],[-65.36177,-11.14031],[-65.28269,-11.09009],[-65.30071,-11.03142],[-65.25053,-10.98506],[-65.27476,-10.87302],[-65.35376,-10.78881],[-65.34667,-10.68155],[-65.40569,-10.63935],[-65.43011,-10.48505],[-65.288,-10.219],[-65.333,-9.965],[-65.28588,-9.84413],[-65.39313,-9.68683],[-65.44394,-9.66957],[-65.4883,-9.71015],[-65.55611,-9.84498],[-65.627,-9.83804],[-65.66963,-9.78129],[-65.71023,-9.80857],[-65.68395,-9.74992],[-65.7432,-9.78296],[-65.77013,-9.73442],[-65.79437,-9.79295],[-65.79962,-9.75663],[-65.86532,-9.79533],[-65.87184,-9.75307],[-65.91976,-9.75314],[-65.98222,-9.81011],[-66.151,-9.785],[-66.426,-9.899],[-66.435,-9.866],[-66.61995,-9.89353],[-66.63701,-9.94983],[-66.8751,-10.08268],[-66.9528,-10.18886],[-66.99683,-10.20017],[-67.01537,-10.25919],[-67.17745,-10.33923],[-67.31545,-10.31932],[-67.31155,-10.37716],[-67.40717,-10.37386],[-67.44361,-10.45492],[-67.57925,-10.5028],[-67.64028,-10.59807],[-67.67631,-10.60484],[-67.70825,-10.71083],[-67.86386,-10.64067],[-68.03289,-10.65486],[-68.10456,-10.71426],[-68.10333,-10.77541],[-68.27819,-10.98926],[-68.71576,-11.14483],[-68.75767,-11.00079],[-68.9118,-11.02192],[-69.41453,-10.92575],[-69.73653,-10.97445],[-69.76903,-10.92972],[-69.93442,-10.9219],[-70.15869,-11.04096],[-70.30672,-11.06983],[-70.43675,-11.03923],[-70.53033,-10.93465],[-70.62103,-10.99982],[-70.62338,-9.82054],[-70.53663,-9.76584],[-70.59972,-9.56264],[-70.55282,-9.57093],[-70.56894,-9.53127],[-70.50506,-9.50557],[-70.49665,-9.42489],[-70.59581,-9.4425],[-70.6632,-9.52601],[-70.75067,-9.56043],[-70.79332,-9.63846],[-70.96337,-9.74891],[-70.99391,-9.81721],[-71.13974,-9.85702],[-71.22052,-9.96968],[-72.1804,-9.99967],[-72.15136,-9.79742],[-72.26296,-9.75085],[-72.25282,-9.61633],[-72.28821,-9.60316],[-72.2829,-9.53995],[-72.35688,-9.4946],[-72.51954,-9.49128],[-72.71676,-9.4122],[-73.2038,-9.40715],[-73.07352,-9.23461],[-73.0093,-9.22236],[-73.02612,-9.17786],[-72.9582,-9.14302],[-72.94091,-8.98494],[-72.99931,-8.91778],[-73.05901,-8.90561],[-73.14992,-8.6839],[-73.20907,-8.6857],[-73.28745,-8.61948],[-73.3055,-8.47197],[-73.38956,-8.46878],[-73.41286,-8.41099],[-73.53744,-8.34587],[-73.62739,-8.02187],[-73.73175,-7.9684],[-73.7725,-7.90237],[-73.76164,-7.85803],[-73.69706,-7.86527],[-73.6843,-7.77644],[-73.82217,-7.71788],[-73.99094,-7.53635],[-73.948,-7.52661],[-73.91981,-7.46568],[-73.96394,-7.34764],[-73.87014,-7.37882],[-73.7003,-7.30429],[-73.79842,-7.11306],[-73.71046,-6.84019],[-73.53639,-6.6834],[-73.39115,-6.64193],[-73.35281,-6.59327],[-73.22741,-6.58884],[-73.18797,-6.52302],[-73.13523,-6.51046],[-73.10473,-6.40666],[-73.24664,-6.14963],[-73.23821,-6.04399],[-73.1868,-6.00512],[-73.15207,-5.86796],[-73.05303,-5.79517],[-72.95912,-5.65689],[-72.95888,-5.46613],[-72.86052,-5.27117],[-72.88725,-5.16307],[-72.73986,-5.08859],[-72.72765,-5.05199],[-72.6212,-5.0518],[-72.598,-4.98386],[-72.38202,-4.87296],[-72.36895,-4.80387],[-72.12601,-4.73454],[-72.04335,-4.62384],[-72.00689,-4.64622],[-71.99464,-4.60996],[-71.94743,-4.60877],[-71.91909,-4.5298],[-71.88549,-4.53803],[-71.9073,-4.51644],[-71.76637,-4.50446],[-71.75109,-4.46887],[-71.70817,-4.51165],[-71.65479,-4.47246],[-71.65032,-4.50395],[-71.61548,-4.4687],[-71.6335,-4.51524],[-71.59625,-4.52928],[-71.53703,-4.46442],[-71.49428,-4.48701],[-71.50716,-4.43909],[-71.43438,-4.42882],[-71.42562,-4.47058],[-71.35026,-4.42728],[-71.30752,-4.46288],[-71.32091,-4.42009],[-71.27782,-4.44217],[-71.26975,-4.385],[-71.20263,-4.37987],[-71.19422,-4.42471],[-71.14478,-4.38158],[-71.11491,-4.41119],[-71.10616,-4.37764],[-70.99389,-4.38654],[-70.99595,-4.34632],[-70.9357,-4.38432],[-70.84483,-4.27905],[-70.86447,-4.25245],[-70.81677,-4.23005],[-70.8458,-4.21872],[-70.75901,-4.15944],[-70.68147,-4.20791],[-70.64256,-4.12805],[-70.62521,-4.19151],[-70.56118,-4.1775],[-70.57357,-4.21169],[-70.54796,-4.13671],[-70.51036,-4.14824],[-70.50417,-4.20098],[-70.48535,-4.16132],[-70.43435,-4.16266],[-70.43146,-4.13217],[-70.33892,-4.17997],[-70.32281,-4.14206],[-70.28769,-4.16555],[-70.29141,-4.28709],[-70.21457,-4.29749],[-70.19194,-4.36179],[-70.15508,-4.27308],[-70.11749,-4.28585],[-70.10881,-4.25454],[-70.04189,-4.29409],[-70.07948,-4.31428],[-70.02826,-4.3703],[-69.99182,-4.37482],[-69.94793,-4.23168]],[[-34.00035,-3.76654],[-34.01797,-3.84985],[-34.00664,-3.91809],[-33.98608,-3.95952],[-33.95923,-3.99217],[-33.8921,-4.03653],[-33.81658,-4.05077],[-33.72931,-4.03151],[-33.66638,-3.9838],[-33.62736,-3.9185],[-33.61519,-3.84985],[-33.63239,-3.76864],[-33.68693,-3.69537],[-33.74987,-3.65978],[-33.81658,-3.6489],[-33.89336,-3.66397],[-33.96007,-3.70877],[-34.00035,-3.76654]],[[-32.5538,-4.00884],[-32.59937,-3.9531],[-32.64061,-3.87309],[-32.61755,-3.73712],[-32.58338,-3.70527],[-32.54228,-3.65606],[-32.4592,-3.63029],[-32.35174,-3.63887],[-32.30049,-3.67684],[-32.24749,-3.75266],[-32.23155,-3.81889],[-32.2357,-3.90247],[-32.30194,-3.9883],[-32.42898,-4.0384],[-32.5538,-4.00884]],[[-29.50321,0.79391],[-29.54097,0.8689],[-29.54727,0.92553],[-29.52367,0.99422],[-29.48958,1.06134],[-29.43136,1.10224],[-29.35899,1.1206],[-29.29238,1.11378],[-29.22158,1.0776],[-29.16285,1.00314],[-29.14501,0.92605],[-29.14764,0.88358],[-29.17176,0.8196],[-29.24885,0.74357],[-29.29448,0.72521],[-29.36371,0.71892],[-29.43556,0.73937],[-29.50321,0.79391]],[[-29.09537,-20.42649],[-29.19756,-20.33509],[-29.3343,-20.28932],[-29.46741,-20.3288],[-29.54604,-20.42958],[-29.55396,-20.52706],[-29.51696,-20.62613],[-29.40995,-20.68955],[-29.27599,-20.72578],[-29.15968,-20.66209],[-29.07188,-20.57088],[-28.9712,-20.64769],[-28.83286,-20.69814],[-28.67968,-20.62099],[-28.63549,-20.49284],[-28.63412,-20.47146],[-28.7431,-20.30094],[-28.8683,-20.27288],[-29.0031,-20.32416],[-29.09537,-20.42649]]],terms_text:"IBGE",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAOsSURBVHja7JXbb1RVFIe/fTmn05lepp0OpTcuUgQEElGgGGJSNYhggpdoTEz8m3w1xsQHE00MJj5oDGKCRI2IqKEKlpZCaSmXXubWmc6Zc/bFhwGp3N540LiTX7KTvbLWyvp+WVt473mUR/KIz7+/gJ64uNisJAW1lcbGUz9f+MQ6l5dCGID7EWpEMYcO7GB6tsifE9cItGo+CEEYaLyXl/p620+O7Nn2rp67sQCAUpLFpeXRYsWOKCUBcZ/UgqgRs2tnP5l0K2Pnx/GEJLYZ7RHU6hYwjy+V5l+KomStbElpmlKUl6NXpRQ0xV0SJCZhaKCdwwd2cHmmQJI4lAQpQAiQwqOkQEmJVprr89UjOt+TQylJobA8Wig0Xpby/liiKGawv503jjyFFJJiuY6Q4sFwpcAYl9JJnECguDq39EpinAoCif97QALnHEli2Lq5hxdHt5JpDZoJBDj3YLjOQyqUVb1UKCGlYH6xuk+pW7A8GOexJiHdqtn39AbW9nbw2Re/sbLS4Jk9mxgayHL23HUS41FyNaWmMax1ZPPtZ8Xv49eZXygdPnXmypcCiRAQhpqOtpB1g53sH9lMpVLno09P47xCSIjjhNcO7ySKYn4du4oxDucFUkqkFAgB1lp271p/SOdzbUT12tvbhntIZwLyXW309+XIdWcIAg3A+OQNEguplmarRinmbpQ5+NwT7N61EZMYKrWYUjmiUlmhutKgNaXG1g92H9dz1wrpqculkSg21OqOhcWIPy40reu9ZdvmXrq6Mgg8znkQAmsM+e4MADOzi/wyNsNSsU6tmhAbSxwbtgznfspkWqwulupHLs0UhtVd7nG3WMxcneSFZx/j4PNbOPHdRZx17N+7jlx3mo+PnmZ2roTzAqUkUkqEkKRSOh7s73nfuwB9c6H4phASpf5ZQN2++ICp6SLvvLWXTRvW4L1nemaRz786R62WEIYaLe7Y1VhHbz79Q0tKnqnWq8hCKXpSqYf5GeoNgzGObGeaiambHDsxQSN2tLQEiFXJPeC9p7M99bWUEikkMtSi5B/mZ+fpzraiteLHM1N8c3ISrTVKins3lfekU6rSu6btaBwnWGuQA33ZD7x3WNuE6P1tNbsx1tK/toMrs0uc+H6KIAyA1XF3lCSWgb7ssaGB/MVcVwc93Z3o7duH3yuWl7Pl5fh1JYKs815a571A4Lynoz0k35Ph+LfnybSG97BavQnDQIZdXZkPy8sNrG2ORfz/Zf73C/w1AJZ/tYbRRy7/AAAAAElFTkSuQmCC"},{id:"IBGE_Setores_Urbanos",name:"IBGE Mapa de Setores Urbanos",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/v4/tmpsantos.hgda0m6h/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw",scaleExtent:[0,19],polygon:[[[-69.94793,-4.23168],[-69.45659,-1.49119],[-69.3973,-1.36508],[-69.42989,-1.22173],[-69.39523,-1.12555],[-69.44292,-1.03351],[-69.41861,-0.99827],[-69.528,-0.92514],[-69.52577,-0.86807],[-69.62491,-0.74667],[-69.56179,-0.63692],[-69.60783,-0.5008],[-69.8446,-0.33732],[-69.92054,-0.32573],[-70.04323,-0.18998],[-70.04302,0.56359],[-69.80272,0.57162],[-69.6711,0.66759],[-69.60529,0.61328],[-69.59701,0.6542],[-69.48002,0.73577],[-69.35277,0.61416],[-69.28914,0.64997],[-69.29484,0.60389],[-69.19975,0.60591],[-69.19425,0.64982],[-69.11563,0.64484],[-69.19001,0.74056],[-69.14881,0.76751],[-69.13576,0.87204],[-69.18846,0.91324],[-69.1646,0.94156],[-69.21679,0.97245],[-69.19773,0.99974],[-69.24494,1.05655],[-69.37641,1.08794],[-69.42312,1.04265],[-69.60989,1.09826],[-69.67718,1.06994],[-69.70963,1.11817],[-69.84266,1.07272],[-69.83972,1.71893],[-69.78236,1.69244],[-69.53464,1.77691],[-69.39109,1.72935],[-68.1645,1.72945],[-68.19207,1.7797],[-68.23954,1.77044],[-68.22688,1.82918],[-68.28555,1.83084],[-68.19583,2.03479],[-68.18033,1.9767],[-68.14417,1.97854],[-68.09043,1.89774],[-67.90162,1.81165],[-67.76942,2.00924],[-67.55095,2.04769],[-67.49519,2.16312],[-67.39404,2.22894],[-67.32672,2.06387],[-67.33083,1.94158],[-67.22831,1.84127],[-67.15384,1.8315],[-67.15922,1.67504],[-67.08017,1.38546],[-67.13923,1.32002],[-67.08675,1.16704],[-66.85119,1.22896],[-66.31032,0.74494],[-66.19737,0.78161],[-66.07783,0.76174],[-66.07024,0.8123],[-65.96712,0.81511],[-65.88369,0.94159],[-65.77261,0.95859],[-65.7421,1.00125],[-65.58894,1.00471],[-65.49624,0.87415],[-65.60623,0.70748],[-65.54116,0.64881],[-65.44499,0.68921],[-65.39213,0.75692],[-65.41198,0.82415],[-65.32734,0.93596],[-65.21302,0.90282],[-65.1749,0.94131],[-65.15831,1.1246],[-65.07232,1.15303],[-65.06317,1.11205],[-65.01361,1.10905],[-64.97445,1.20288],[-64.90439,1.25153],[-64.86966,1.22713],[-64.80053,1.31527],[-64.74446,1.22569],[-64.5789,1.34041],[-64.52608,1.44322],[-64.43586,1.47006],[-64.3939,1.52901],[-64.35111,1.52921],[-64.34777,1.49508],[-64.41019,1.40301],[-64.33791,1.36134],[-64.3136,1.45617],[-64.19707,1.52071],[-64.0735,1.64902],[-64.05781,1.92899],[-63.97219,1.99194],[-63.83555,1.96644],[-63.71155,2.04645],[-63.66501,2.01861],[-63.6268,2.11222],[-63.56474,2.13571],[-63.44059,2.126],[-63.36742,2.26864],[-63.37088,2.41121],[-63.42123,2.45102],[-63.46036,2.39684],[-63.56398,2.44573],[-63.76805,2.43994],[-63.84358,2.4916],[-64.01914,2.46135],[-64.0573,2.49752],[-63.98033,2.7237],[-64.07709,2.87262],[-64.07156,2.92142],[-64.12349,2.99048],[-64.15754,2.98243],[-64.14592,3.03459],[-64.22642,3.12356],[-64.19795,3.20121],[-64.2444,3.43036],[-64.17437,3.56841],[-64.281,3.70928],[-64.54357,3.85713],[-64.72239,4.11775],[-64.80203,4.17422],[-64.81123,4.27048],[-64.69522,4.25323],[-64.623,4.135],[-64.5565,4.10529],[-64.164,4.127],[-63.964,3.868],[-63.928,3.925],[-63.85,3.95],[-63.682,3.908],[-63.676,4.019],[-63.591,3.886],[-63.497,3.84],[-63.489,3.874],[-63.434,3.865],[-63.428,3.977],[-63.204,3.952],[-63.226,3.836],[-63.103,3.794],[-63.059,3.748],[-63.081,3.694],[-62.96,3.608],[-62.835,3.739],[-62.743,3.674],[-62.729,3.805],[-62.788,3.894],[-62.753,4.032],[-62.555,4.019],[-62.552,4.109],[-62.437,4.183],[-62.14308,4.07768],[-62.071,4.126],[-62.076,4.154],[-61.982,4.181],[-61.93175,4.12009],[-61.92213,4.16126],[-61.824,4.164],[-61.802,4.229],[-61.724,4.27],[-61.56,4.252],[-61.508,4.322],[-61.513,4.406],[-61.288,4.458],[-61.323,4.535],[-61.217,4.536],[-61.14559,4.48016],[-61.095,4.522],[-60.994,4.519],[-60.932,4.587],[-60.949,4.653],[-60.899,4.717],[-60.751,4.756],[-60.591,4.927],[-60.661,5.164],[-60.73197,5.21203],[-60.434,5.182],[-60.20825,5.28346],[-60.172,5.227],[-60.135,5.249],[-60.094,5.14],[-59.96984,5.06334],[-60.02524,4.7065],[-60.0705,4.61688],[-60.15725,4.57247],[-60.16114,4.51773],[-59.79503,4.46554],[-59.66948,4.37629],[-59.7319,4.28587],[-59.73069,4.18076],[-59.61818,4.13166],[-59.65406,4.06943],[-59.58417,3.96851],[-59.5153,3.94493],[-59.59279,3.88538],[-59.59631,3.79386],[-59.66555,3.78126],[-59.66842,3.70277],[-59.86728,3.57776],[-59.80205,3.50156],[-59.8408,3.43174],[-59.80488,3.35695],[-59.907,3.212],[-59.98944,2.88185],[-59.99,2.686],[-59.895,2.482],[-59.89872,2.36245],[-59.72315,2.27614],[-59.751,1.859],[-59.677,1.839],[-59.663,1.871],[-59.69,1.757],[-59.539,1.723],[-59.381,1.507],[-59.329,1.514],[-59.327,1.464],[-59.284,1.45],[-59.253,1.389],[-58.978,1.302],[-58.918,1.317],[-58.886,1.261],[-58.912,1.239],[-58.82512,1.17127],[-58.73956,1.1999],[-58.69456,1.29732],[-58.49622,1.26796],[-58.45787,1.37145],[-58.50511,1.40317],[-58.50873,1.46295],[-58.38559,1.46999],[-58.39472,1.52651],[-58.32237,1.59702],[-58.236,1.54669],[-58.16064,1.56011],[-58.12942,1.4989],[-58.00423,1.50303],[-57.99009,1.65844],[-57.85206,1.66782],[-57.77431,1.72973],[-57.70509,1.73093],[-57.65042,1.68237],[-57.5376,1.7005],[-57.50187,1.78609],[-57.43776,1.82681],[-57.43343,1.90598],[-57.36768,1.92372],[-57.36912,1.95638],[-57.30712,1.99665],[-57.22923,1.93759],[-57.08668,2.02644],[-57.01421,1.91489],[-56.91971,1.93036],[-56.79793,1.85336],[-56.72096,1.92582],[-56.62145,1.94588],[-56.57976,1.90588],[-56.45126,1.95614],[-56.24404,1.87808],[-56.1709,1.90048],[-56.11762,1.85097],[-55.95638,1.84509],[-55.90385,1.88803],[-55.93635,1.98647],[-55.9031,2.04108],[-56.00307,2.1676],[-56.05505,2.18464],[-56.04288,2.22778],[-56.13887,2.26574],[-56.09012,2.37228],[-56.02181,2.34247],[-55.97052,2.52931],[-55.76663,2.45524],[-55.71028,2.39917],[-55.49971,2.44324],[-55.38533,2.41836],[-55.32019,2.51537],[-55.23474,2.50338],[-55.1234,2.56762],[-55.10302,2.52564],[-54.95424,2.58359],[-54.86846,2.43989],[-54.68917,2.45389],[-54.68861,2.32472],[-54.54667,2.31833],[-54.53778,2.26556],[-54.46861,2.21306],[-54.24917,2.14667],[-54.18056,2.1725],[-54.11083,2.11222],[-54.06139,2.19167],[-53.94083,2.21917],[-53.93194,2.27194],[-53.88667,2.26778],[-53.745,2.37389],[-53.73389,2.31222],[-53.52972,2.24917],[-53.45861,2.2575],[-53.32833,2.35333],[-53.21667,2.25333],[-53.27899,2.18603],[-53.11861,2.2225],[-52.99472,2.17528],[-52.90972,2.19583],[-52.84722,2.28556],[-52.67528,2.37389],[-52.59444,2.47389],[-52.54028,2.57028],[-52.56417,2.63944],[-52.43944,2.87778],[-52.39583,2.90222],[-52.33187,3.16938],[-52.21472,3.26833],[-51.97104,3.70696],[-51.92148,3.72422],[-51.922,3.7792],[-51.79731,3.88888],[-51.77783,3.97406],[-51.65867,4.05276],[-51.61325,4.17437],[-51.63716,4.50834],[-51.49427,4.67426],[-51.11466,4.42286],[-50.94232,4.20165],[-50.85475,3.92491],[-50.85507,3.45573],[-50.75331,2.94057],[-50.29908,2.33079],[-49.73896,1.79143],[-48.23746,-0.07449],[-44.84728,-1.07246],[-43.54602,-2.04705],[-43.24389,-2.12403],[-42.78189,-2.33053],[-41.78084,-2.51859],[-41.5085,-2.68486],[-40.66365,-2.63829],[-40.50396,-2.57531],[-39.8907,-2.65328],[-39.15187,-3.04444],[-38.57151,-3.48047],[-38.34306,-3.54434],[-38.21421,-3.74103],[-38.12555,-3.80544],[-37.90182,-4.07265],[-37.77934,-4.18046],[-37.63401,-4.24454],[-37.51218,-4.41535],[-37.22122,-4.51045],[-37.07874,-4.71355],[-36.91716,-4.71372],[-36.62299,-4.85815],[-36.18969,-4.88505],[-35.93627,-4.83327],[-35.56471,-4.90758],[-35.33677,-4.99239],[-35.17659,-5.12497],[-34.79469,-6.33583],[-34.71587,-6.74615],[-34.62306,-6.90323],[-34.59953,-7.11133],[-34.64374,-7.98735],[-34.81497,-8.62472],[-35.0253,-9.13761],[-35.55848,-9.81261],[-35.69663,-9.90026],[-35.96401,-10.31281],[-36.06155,-10.37447],[-36.26639,-10.64593],[-36.61764,-10.81082],[-36.78725,-10.95151],[-36.99511,-11.29602],[-37.11368,-11.41261],[-37.46002,-12.10275],[-37.89668,-12.75844],[-38.22146,-13.09717],[-38.61146,-13.26537],[-38.85337,-14.65508],[-38.74388,-15.60089],[-38.66456,-15.74741],[-38.64697,-15.88327],[-38.8013,-16.24838],[-38.92933,-16.80775],[-38.53193,-17.80026],[-38.49171,-18.0046],[-38.53661,-18.09683],[-38.67053,-18.16855],[-39.35288,-18.10892],[-39.4675,-18.30359],[-39.54529,-18.78548],[-39.49227,-19.40134],[-39.63477,-19.74403],[-39.86353,-19.88681],[-40.17827,-20.75426],[-40.81442,-21.67672],[-40.76948,-21.87786],[-40.81442,-22.09702],[-41.5086,-22.52638],[-41.59666,-22.83627],[-41.79292,-23.08823],[-41.91484,-23.18527],[-43.19603,-23.26703],[-44.07735,-23.40501],[-45.13508,-24.12014],[-46.61368,-24.67512],[-47.85376,-25.47012],[-48.2801,-26.23036],[-48.34897,-26.75081],[-48.11076,-27.28208],[-48.21148,-27.85592],[-48.40713,-28.43255],[-48.68615,-28.76016],[-48.9156,-28.86305],[-49.1579,-29.02871],[-49.52748,-29.42005],[-49.82565,-29.86559],[-50.17344,-30.64282],[-50.60441,-31.24135],[-51.18785,-31.77646],[-51.74211,-32.10539],[-51.89236,-32.29596],[-52.06117,-32.38504],[-52.27087,-32.92102],[-52.45986,-33.25369],[-52.61505,-33.42291],[-53.18109,-33.86891],[-53.43053,-33.73947],[-53.43951,-33.69347],[-53.53228,-33.6888],[-53.51819,-33.15342],[-53.44438,-33.05296],[-53.24468,-32.93489],[-53.31008,-32.91875],[-53.29454,-32.89931],[-53.18496,-32.85043],[-53.14569,-32.79202],[-53.0858,-32.78835],[-53.07558,-32.74088],[-53.24992,-32.6041],[-53.39137,-32.58573],[-53.46423,-32.48446],[-53.58321,-32.45192],[-53.74599,-32.07848],[-53.83375,-32.05524],[-53.84978,-32.00064],[-53.96073,-31.95532],[-53.96972,-31.91765],[-54.10019,-31.92825],[-54.4549,-31.65295],[-54.4528,-31.59959],[-54.58676,-31.45656],[-54.8367,-31.442],[-54.88623,-31.3773],[-54.94087,-31.38068],[-55.00723,-31.26692],[-55.07446,-31.33216],[-55.24003,-31.26062],[-55.29118,-31.14226],[-55.34037,-31.13144],[-55.34981,-31.03922],[-55.42306,-31.01823],[-55.57742,-30.83309],[-55.65834,-30.864],[-55.66621,-30.95395],[-55.723,-30.943],[-55.727,-30.979],[-55.882,-31.077],[-56.00989,-31.08267],[-56.02241,-30.78565],[-56.12508,-30.73871],[-56.17074,-30.61517],[-56.26095,-30.58509],[-56.29193,-30.51967],[-56.38177,-30.49956],[-56.46126,-30.38486],[-56.54706,-30.35946],[-56.54115,-30.31291],[-56.6187,-30.30054],[-56.64628,-30.20346],[-56.77662,-30.1633],[-56.80777,-30.10301],[-57.07113,-30.08671],[-57.22081,-30.28928],[-57.31303,-30.25785],[-57.39229,-30.30474],[-57.46574,-30.26589],[-57.52431,-30.28569],[-57.56087,-30.21134],[-57.64744,-30.19483],[-57.48047,-30.12315],[-57.33713,-29.99284],[-57.294,-29.831],[-57.121,-29.765],[-56.89888,-29.53179],[-56.81905,-29.48816],[-56.76618,-29.37768],[-56.70164,-29.35913],[-56.59315,-29.12516],[-56.418,-29.075],[-56.40775,-28.9748],[-56.29995,-28.89614],[-56.29652,-28.8027],[-56.17858,-28.75922],[-56.00984,-28.60718],[-56.01249,-28.50873],[-55.88357,-28.47923],[-55.87739,-28.36159],[-55.75157,-28.37095],[-55.69433,-28.42204],[-55.67047,-28.33218],[-55.77415,-28.27414],[-55.7757,-28.24481],[-55.63167,-28.17719],[-55.60747,-28.11604],[-55.55957,-28.16523],[-55.4952,-28.07682],[-55.44611,-28.09787],[-55.368,-28.029],[-55.38299,-27.97948],[-55.343,-27.972],[-55.32706,-27.92664],[-55.26574,-27.92969],[-55.196,-27.856],[-55.133,-27.897],[-55.106,-27.846],[-55.035,-27.858],[-55.081,-27.779],[-54.936,-27.772],[-54.90617,-27.63871],[-54.85,-27.624],[-54.814,-27.533],[-54.775,-27.586],[-54.67926,-27.57394],[-54.67709,-27.508],[-54.621,-27.541],[-54.574,-27.453],[-54.5246,-27.5059],[-54.444,-27.472],[-54.47081,-27.42674],[-54.41,-27.405],[-54.35466,-27.46528],[-54.34067,-27.40311],[-54.28484,-27.44819],[-54.261,-27.397],[-54.21736,-27.38603],[-54.172,-27.254],[-54.15619,-27.29619],[-54.08872,-27.30149],[-54.01026,-27.19978],[-53.96219,-27.19698],[-53.95195,-27.15169],[-53.79879,-27.14629],[-53.80233,-27.04028],[-53.76087,-27.06543],[-53.78585,-27.02674],[-53.7473,-27.03218],[-53.7092,-26.93414],[-53.67125,-26.94222],[-53.69684,-26.86015],[-53.66059,-26.85814],[-53.75814,-26.72045],[-53.7205,-26.65099],[-53.75864,-26.64113],[-53.63739,-26.24968],[-53.742,-26.108],[-53.73409,-26.04333],[-53.83619,-25.97166],[-53.82214,-25.79377],[-53.89113,-25.62286],[-53.94895,-25.6117],[-53.95638,-25.64628],[-54.01,-25.567],[-54.07592,-25.55766],[-54.098,-25.619],[-54.099,-25.495],[-54.206,-25.541],[-54.178,-25.584],[-54.23,-25.562],[-54.25,-25.597],[-54.28,-25.556],[-54.38395,-25.59747],[-54.43288,-25.69756],[-54.4927,-25.6181],[-54.59354,-25.59275],[-54.61941,-25.45312],[-54.4295,-25.15915],[-54.43548,-24.94769],[-54.32437,-24.66059],[-54.32714,-24.47073],[-54.25877,-24.36377],[-54.34537,-24.14705],[-54.28223,-24.07336],[-54.43984,-23.90446],[-54.66978,-23.81262],[-54.70533,-23.86452],[-54.89,-23.898],[-54.924,-23.959],[-55.06223,-23.99335],[-55.107,-23.961],[-55.22907,-24.01383],[-55.30415,-23.96504],[-55.34542,-23.99458],[-55.41423,-23.9645],[-55.44167,-23.70084],[-55.47306,-23.64834],[-55.53989,-23.625],[-55.52356,-23.19733],[-55.54199,-23.1561],[-55.59635,-23.14993],[-55.66578,-22.85274],[-55.61432,-22.65521],[-55.72364,-22.55166],[-55.74302,-22.39266],[-55.78939,-22.3846],[-55.84304,-22.28725],[-56.20983,-22.27805],[-56.36485,-22.16949],[-56.39404,-22.07434],[-56.50711,-22.09561],[-56.63705,-22.26341],[-56.70344,-22.21693],[-56.72026,-22.26479],[-56.79344,-22.24238],[-56.84285,-22.30155],[-56.88343,-22.24755],[-56.9967,-22.22246],[-57.3744,-22.23204],[-57.5804,-22.17534],[-57.6106,-22.09462],[-57.70751,-22.09111],[-57.80183,-22.15072],[-57.99384,-22.09023],[-58.00946,-22.04038],[-57.91281,-21.88266],[-57.96603,-21.85045],[-57.90866,-21.77355],[-57.94714,-21.74413],[-57.88329,-21.68903],[-57.93436,-21.65037],[-57.91387,-21.59021],[-57.96795,-21.52432],[-57.8535,-21.33109],[-57.92019,-21.27655],[-57.85066,-21.22407],[-57.86834,-21.04417],[-57.81919,-20.94066],[-57.92836,-20.90036],[-57.8552,-20.83403],[-57.89863,-20.78872],[-57.96183,-20.7916],[-57.93478,-20.74565],[-57.86732,-20.73265],[-57.92414,-20.66392],[-57.98848,-20.69879],[-57.99847,-20.43551],[-58.09339,-20.35554],[-58.09596,-20.25445],[-58.16216,-20.25953],[-58.12152,-20.19246],[-58.16932,-20.1694],[-57.95347,-20.02094],[-57.90248,-20.04207],[-57.85796,-19.9703],[-58.131,-19.758],[-57.784,-19.033],[-57.694,-19.011],[-57.719,-18.899],[-57.766,-18.899],[-57.557,-18.24],[-57.453,-18.231],[-57.574,-18.131],[-57.72302,-17.83074],[-57.68472,-17.8306],[-57.70991,-17.72702],[-57.783,-17.639],[-57.73696,-17.5583],[-57.883,-17.449],[-57.996,-17.515],[-58.06,-17.45],[-58.116,-17.451],[-58.151,-17.384],[-58.263,-17.344],[-58.396,-17.181],[-58.423,-16.989],[-58.474,-16.935],[-58.47,-16.703],[-58.436,-16.592],[-58.333,-16.49],[-58.32227,-16.26559],[-58.388,-16.261],[-58.43059,-16.32264],[-60.17335,-16.26672],[-60.238,-15.473],[-60.57543,-15.09677],[-60.244,-15.096],[-60.272,-14.62],[-60.321,-14.608],[-60.492,-14.188],[-60.479,-14.097],[-60.38066,-13.9888],[-60.45062,-13.9364],[-60.45599,-13.85422],[-60.49068,-13.85782],[-60.46776,-13.79446],[-60.76755,-13.68329],[-60.87678,-13.62149],[-60.91857,-13.54334],[-61.0056,-13.552],[-61.0129,-13.48925],[-61.0938,-13.49081],[-61.10314,-13.53056],[-61.18155,-13.50557],[-61.19236,-13.53695],[-61.29954,-13.47718],[-61.46527,-13.55427],[-61.57927,-13.48711],[-61.852,-13.538],[-61.892,-13.431],[-61.96968,-13.40759],[-61.97592,-13.36695],[-62.11498,-13.25932],[-62.115,-13.163],[-62.15254,-13.15993],[-62.16703,-13.11346],[-62.19,-13.153],[-62.214,-13.111],[-62.27269,-13.15687],[-62.39178,-13.13471],[-62.453,-13.064],[-62.612,-13.041],[-62.65,-12.965],[-62.729,-13.02],[-62.779,-13.009],[-62.89672,-12.8539],[-63.01134,-12.83602],[-63.08186,-12.72323],[-63.06163,-12.68584],[-63.15726,-12.6138],[-63.24621,-12.66222],[-63.23713,-12.69043],[-63.30125,-12.68138],[-63.44052,-12.608],[-63.43627,-12.56526],[-63.50641,-12.56562],[-63.55295,-12.50598],[-63.7848,-12.42871],[-63.88957,-12.44745],[-63.89949,-12.50204],[-63.95144,-12.53179],[-64.13464,-12.47732],[-64.16781,-12.51503],[-64.17504,-12.46675],[-64.22945,-12.45419],[-64.29018,-12.50313],[-64.29452,-12.4582],[-64.41057,-12.44436],[-64.51217,-12.3551],[-64.51256,-12.22562],[-64.70406,-12.1827],[-64.70719,-12.08684],[-64.75486,-12.15762],[-64.7688,-12.09356],[-64.83747,-12.11786],[-64.80954,-12.05633],[-64.84077,-12.01027],[-65.03548,-11.99408],[-65.01398,-11.90303],[-65.0727,-11.86587],[-65.08672,-11.7082],[-65.18953,-11.72353],[-65.18216,-11.75609],[-65.2593,-11.71053],[-65.21178,-11.52857],[-65.3074,-11.49957],[-65.33276,-11.33986],[-65.29053,-11.32275],[-65.34347,-11.3082],[-65.35834,-11.26834],[-65.35938,-11.22067],[-65.31294,-11.19578],[-65.35387,-11.18419],[-65.36177,-11.14031],[-65.28269,-11.09009],[-65.30071,-11.03142],[-65.25053,-10.98506],[-65.27476,-10.87302],[-65.35376,-10.78881],[-65.34667,-10.68155],[-65.40569,-10.63935],[-65.43011,-10.48505],[-65.288,-10.219],[-65.333,-9.965],[-65.28588,-9.84413],[-65.39313,-9.68683],[-65.44394,-9.66957],[-65.4883,-9.71015],[-65.55611,-9.84498],[-65.627,-9.83804],[-65.66963,-9.78129],[-65.71023,-9.80857],[-65.68395,-9.74992],[-65.7432,-9.78296],[-65.77013,-9.73442],[-65.79437,-9.79295],[-65.79962,-9.75663],[-65.86532,-9.79533],[-65.87184,-9.75307],[-65.91976,-9.75314],[-65.98222,-9.81011],[-66.151,-9.785],[-66.426,-9.899],[-66.435,-9.866],[-66.61995,-9.89353],[-66.63701,-9.94983],[-66.8751,-10.08268],[-66.9528,-10.18886],[-66.99683,-10.20017],[-67.01537,-10.25919],[-67.17745,-10.33923],[-67.31545,-10.31932],[-67.31155,-10.37716],[-67.40717,-10.37386],[-67.44361,-10.45492],[-67.57925,-10.5028],[-67.64028,-10.59807],[-67.67631,-10.60484],[-67.70825,-10.71083],[-67.86386,-10.64067],[-68.03289,-10.65486],[-68.10456,-10.71426],[-68.10333,-10.77541],[-68.27819,-10.98926],[-68.71576,-11.14483],[-68.75767,-11.00079],[-68.9118,-11.02192],[-69.41453,-10.92575],[-69.73653,-10.97445],[-69.76903,-10.92972],[-69.93442,-10.9219],[-70.15869,-11.04096],[-70.30672,-11.06983],[-70.43675,-11.03923],[-70.53033,-10.93465],[-70.62103,-10.99982],[-70.62338,-9.82054],[-70.53663,-9.76584],[-70.59972,-9.56264],[-70.55282,-9.57093],[-70.56894,-9.53127],[-70.50506,-9.50557],[-70.49665,-9.42489],[-70.59581,-9.4425],[-70.6632,-9.52601],[-70.75067,-9.56043],[-70.79332,-9.63846],[-70.96337,-9.74891],[-70.99391,-9.81721],[-71.13974,-9.85702],[-71.22052,-9.96968],[-72.1804,-9.99967],[-72.15136,-9.79742],[-72.26296,-9.75085],[-72.25282,-9.61633],[-72.28821,-9.60316],[-72.2829,-9.53995],[-72.35688,-9.4946],[-72.51954,-9.49128],[-72.71676,-9.4122],[-73.2038,-9.40715],[-73.07352,-9.23461],[-73.0093,-9.22236],[-73.02612,-9.17786],[-72.9582,-9.14302],[-72.94091,-8.98494],[-72.99931,-8.91778],[-73.05901,-8.90561],[-73.14992,-8.6839],[-73.20907,-8.6857],[-73.28745,-8.61948],[-73.3055,-8.47197],[-73.38956,-8.46878],[-73.41286,-8.41099],[-73.53744,-8.34587],[-73.62739,-8.02187],[-73.73175,-7.9684],[-73.7725,-7.90237],[-73.76164,-7.85803],[-73.69706,-7.86527],[-73.6843,-7.77644],[-73.82217,-7.71788],[-73.99094,-7.53635],[-73.948,-7.52661],[-73.91981,-7.46568],[-73.96394,-7.34764],[-73.87014,-7.37882],[-73.7003,-7.30429],[-73.79842,-7.11306],[-73.71046,-6.84019],[-73.53639,-6.6834],[-73.39115,-6.64193],[-73.35281,-6.59327],[-73.22741,-6.58884],[-73.18797,-6.52302],[-73.13523,-6.51046],[-73.10473,-6.40666],[-73.24664,-6.14963],[-73.23821,-6.04399],[-73.1868,-6.00512],[-73.15207,-5.86796],[-73.05303,-5.79517],[-72.95912,-5.65689],[-72.95888,-5.46613],[-72.86052,-5.27117],[-72.88725,-5.16307],[-72.73986,-5.08859],[-72.72765,-5.05199],[-72.6212,-5.0518],[-72.598,-4.98386],[-72.38202,-4.87296],[-72.36895,-4.80387],[-72.12601,-4.73454],[-72.04335,-4.62384],[-72.00689,-4.64622],[-71.99464,-4.60996],[-71.94743,-4.60877],[-71.91909,-4.5298],[-71.88549,-4.53803],[-71.9073,-4.51644],[-71.76637,-4.50446],[-71.75109,-4.46887],[-71.70817,-4.51165],[-71.65479,-4.47246],[-71.65032,-4.50395],[-71.61548,-4.4687],[-71.6335,-4.51524],[-71.59625,-4.52928],[-71.53703,-4.46442],[-71.49428,-4.48701],[-71.50716,-4.43909],[-71.43438,-4.42882],[-71.42562,-4.47058],[-71.35026,-4.42728],[-71.30752,-4.46288],[-71.32091,-4.42009],[-71.27782,-4.44217],[-71.26975,-4.385],[-71.20263,-4.37987],[-71.19422,-4.42471],[-71.14478,-4.38158],[-71.11491,-4.41119],[-71.10616,-4.37764],[-70.99389,-4.38654],[-70.99595,-4.34632],[-70.9357,-4.38432],[-70.84483,-4.27905],[-70.86447,-4.25245],[-70.81677,-4.23005],[-70.8458,-4.21872],[-70.75901,-4.15944],[-70.68147,-4.20791],[-70.64256,-4.12805],[-70.62521,-4.19151],[-70.56118,-4.1775],[-70.57357,-4.21169],[-70.54796,-4.13671],[-70.51036,-4.14824],[-70.50417,-4.20098],[-70.48535,-4.16132],[-70.43435,-4.16266],[-70.43146,-4.13217],[-70.33892,-4.17997],[-70.32281,-4.14206],[-70.28769,-4.16555],[-70.29141,-4.28709],[-70.21457,-4.29749],[-70.19194,-4.36179],[-70.15508,-4.27308],[-70.11749,-4.28585],[-70.10881,-4.25454],[-70.04189,-4.29409],[-70.07948,-4.31428],[-70.02826,-4.3703],[-69.99182,-4.37482],[-69.94793,-4.23168]],[[-34.00035,-3.76654],[-34.01797,-3.84985],[-34.00664,-3.91809],[-33.98608,-3.95952],[-33.95923,-3.99217],[-33.8921,-4.03653],[-33.81658,-4.05077],[-33.72931,-4.03151],[-33.66638,-3.9838],[-33.62736,-3.9185],[-33.61519,-3.84985],[-33.63239,-3.76864],[-33.68693,-3.69537],[-33.74987,-3.65978],[-33.81658,-3.6489],[-33.89336,-3.66397],[-33.96007,-3.70877],[-34.00035,-3.76654]],[[-32.5538,-4.00884],[-32.59937,-3.9531],[-32.64061,-3.87309],[-32.61755,-3.73712],[-32.58338,-3.70527],[-32.54228,-3.65606],[-32.4592,-3.63029],[-32.35174,-3.63887],[-32.30049,-3.67684],[-32.24749,-3.75266],[-32.23155,-3.81889],[-32.2357,-3.90247],[-32.30194,-3.9883],[-32.42898,-4.0384],[-32.5538,-4.00884]],[[-29.50321,0.79391],[-29.54097,0.8689],[-29.54727,0.92553],[-29.52367,0.99422],[-29.48958,1.06134],[-29.43136,1.10224],[-29.35899,1.1206],[-29.29238,1.11378],[-29.22158,1.0776],[-29.16285,1.00314],[-29.14501,0.92605],[-29.14764,0.88358],[-29.17176,0.8196],[-29.24885,0.74357],[-29.29448,0.72521],[-29.36371,0.71892],[-29.43556,0.73937],[-29.50321,0.79391]],[[-29.09537,-20.42649],[-29.19756,-20.33509],[-29.3343,-20.28932],[-29.46741,-20.3288],[-29.54604,-20.42958],[-29.55396,-20.52706],[-29.51696,-20.62613],[-29.40995,-20.68955],[-29.27599,-20.72578],[-29.15968,-20.66209],[-29.07188,-20.57088],[-28.9712,-20.64769],[-28.83286,-20.69814],[-28.67968,-20.62099],[-28.63549,-20.49284],[-28.63412,-20.47146],[-28.7431,-20.30094],[-28.8683,-20.27288],[-29.0031,-20.32416],[-29.09537,-20.42649]]],terms_text:"IBGE",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAOsSURBVHja7JXbb1RVFIe/fTmn05lepp0OpTcuUgQEElGgGGJSNYhggpdoTEz8m3w1xsQHE00MJj5oDGKCRI2IqKEKlpZCaSmXXubWmc6Zc/bFhwGp3N540LiTX7KTvbLWyvp+WVt473mUR/KIz7+/gJ64uNisJAW1lcbGUz9f+MQ6l5dCGID7EWpEMYcO7GB6tsifE9cItGo+CEEYaLyXl/p620+O7Nn2rp67sQCAUpLFpeXRYsWOKCUBcZ/UgqgRs2tnP5l0K2Pnx/GEJLYZ7RHU6hYwjy+V5l+KomStbElpmlKUl6NXpRQ0xV0SJCZhaKCdwwd2cHmmQJI4lAQpQAiQwqOkQEmJVprr89UjOt+TQylJobA8Wig0Xpby/liiKGawv503jjyFFJJiuY6Q4sFwpcAYl9JJnECguDq39EpinAoCif97QALnHEli2Lq5hxdHt5JpDZoJBDj3YLjOQyqUVb1UKCGlYH6xuk+pW7A8GOexJiHdqtn39AbW9nbw2Re/sbLS4Jk9mxgayHL23HUS41FyNaWmMax1ZPPtZ8Xv49eZXygdPnXmypcCiRAQhpqOtpB1g53sH9lMpVLno09P47xCSIjjhNcO7ySKYn4du4oxDucFUkqkFAgB1lp271p/SOdzbUT12tvbhntIZwLyXW309+XIdWcIAg3A+OQNEguplmarRinmbpQ5+NwT7N61EZMYKrWYUjmiUlmhutKgNaXG1g92H9dz1wrpqculkSg21OqOhcWIPy40reu9ZdvmXrq6Mgg8znkQAmsM+e4MADOzi/wyNsNSsU6tmhAbSxwbtgznfspkWqwulupHLs0UhtVd7nG3WMxcneSFZx/j4PNbOPHdRZx17N+7jlx3mo+PnmZ2roTzAqUkUkqEkKRSOh7s73nfuwB9c6H4phASpf5ZQN2++ICp6SLvvLWXTRvW4L1nemaRz786R62WEIYaLe7Y1VhHbz79Q0tKnqnWq8hCKXpSqYf5GeoNgzGObGeaiambHDsxQSN2tLQEiFXJPeC9p7M99bWUEikkMtSi5B/mZ+fpzraiteLHM1N8c3ISrTVKins3lfekU6rSu6btaBwnWGuQA33ZD7x3WNuE6P1tNbsx1tK/toMrs0uc+H6KIAyA1XF3lCSWgb7ssaGB/MVcVwc93Z3o7duH3yuWl7Pl5fh1JYKs815a571A4Lynoz0k35Ph+LfnybSG97BavQnDQIZdXZkPy8sNrG2ORfz/Zf73C/w1AJZ/tYbRRy7/AAAAAElFTkSuQmCC"},{id:"IBGE_BC250_Aglomerado_Rural",name:"IBGE-BC250-Aglomerado Rural Isolado",type:"wms",template:"http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Aglomerado_Rural_Isolado_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Pista_Pouso",name:"IBGE-BC250-Pista de Pouso",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Pista_Ponto_Pouso_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Rios_Drenagem",name:"IBGE-BC250-Rios Drenagem",type:"wms",template:"http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Trecho_Drenagem_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Terra_Indegina",name:"IBGE-BC250-Terra Indigena",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Terra_Indigena_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Rodoviario",name:"IBGE-BC250-Trecho Rodoviario",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Trecho_Rodoviario_L&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image/png&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Uso_Sustentavel",name:"IBGE-BC250-Unidade de Uso Sistentável - APA",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Unidade_Uso_Sustentavel_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BC250_Villa",name:"IBGE-BC250-Villa",type:"wms",template:"http://geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BC250_Vila_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BCIM_Gerador_Eletrica",name:"IBGE-BCIM-Estações Geradora de Energia Elétrica",type:"wms",template:"http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BCIM_Est_Gerad_Energia_Eletrica_P&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"IBGE_BCIM_Municipio",name:"IBGE-BCIM-Município",type:"wms",template:"http://www.geoservicos.ibge.gov.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=CCAR:BCIM_Municipio_A&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&FORMAT=image%2Fpng&TRANSPARENT=TRUE",projection:"EPSG:3857",polygon:[[[-29.3325,2.33596],[-28.72472,2.03155],[-27.76041,-8.93703],[-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.83894],[-66.52331,-9.98587],[-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.66908],[-71.27536,-10.08971],[-72.18053,-10.09967],[-72.41623,-9.5874],[-73.29207,-9.45415],[-73.0625,-9.01727],[-73.61432,-8.40982],[-74.09056,-7.52755],[-74.03652,-7.27885],[-73.84718,-7.23829],[-73.78618,-6.77487],[-73.22362,-6.43011],[-73.33719,-6.02974],[-72.93016,-5.03871],[-71.93973,-4.42503],[-70.96802,-4.24829],[-70.79598,-4.06493],[-70.02393,-4.16735],[-69.51025,-1.13409],[-69.70776,-0.56762],[-70.13645,-0.22616],[-70.14083,0.5844],[-69.26594,0.8065],[-69.34226,0.96892],[-69.92481,1.01571],[-69.92343,1.77385],[-68.38511,1.82943],[-68.24848,2.11981],[-67.94571,1.94842],[-67.37696,2.32747],[-67.05751,1.85834],[-67.00579,1.2916],[-66.79967,1.31468],[-66.28683,0.85771],[-65.67671,1.11115],[-65.42494,0.96655],[-65.15671,1.24203],[-64.27483,1.60159],[-64.0486,2.06514],[-63.47236,2.27936],[-64.13446,2.43391],[-64.10005,2.72378],[-64.32628,3.11828],[-64.28142,3.54198],[-64.88451,4.11767],[-64.88064,4.34246],[-64.13653,4.22315],[-63.95465,4.02132],[-63.17706,4.0483],[-62.96093,3.76366],[-62.82024,4.10602],[-62.49922,4.27081],[-61.91181,4.26284],[-61.35393,4.6301],[-61.04904,4.62312],[-60.70452,4.96985],[-60.78709,5.29676],[-60.22457,5.37121],[-59.89857,5.10754],[-59.97549,4.60302],[-59.59676,4.43987],[-59.41942,3.96994],[-59.71017,3.54201],[-59.88955,2.72301],[-59.63006,2.31633],[-59.63382,1.96658],[-59.18812,1.47808],[-58.80545,1.32073],[-58.35933,1.68993],[-57.6,1.80391],[-57.39854,2.06512],[-57.12392,2.12876],[-56.02925,1.94945],[-56.23884,2.26335],[-55.98195,2.62866],[-55.64816,2.51995],[-54.93958,2.68251],[-54.24988,2.25056],[-53.73937,2.47373],[-52.98578,2.28049],[-52.65712,2.56407],[-52.41739,3.22121],[-51.73983,4.11916],[-51.7246,4.55687],[-51.0112,5.5229],[-43.48209,5.33583],[-29.3325,2.33596]]],terms_text:"IBGE",overlay:true},{id:"Haiti-Drone",name:"Imagerie Drone (Haiti)",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/iomhaiti/{zoom}/{x}/{y}",polygon:[[[-72.15474,19.6879],[-72.16223,19.68901],[-72.165,19.69324],[-72.16578,19.698],[-72.1616,19.70357],[-72.14874,19.7029],[-72.14772,19.70268],[-72.14851,19.70015],[-72.1437,19.70112],[-72.14101,19.7],[-72.13948,19.69737],[-72.13825,19.69276],[-72.13869,19.69232],[-72.13806,19.68964],[-72.13853,19.68949],[-72.13881,19.69013],[-72.13888,19.68767],[-72.13782,19.68727],[-72.13778,19.685],[-72.13695,19.68559],[-72.13679,19.68407],[-72.13573,19.68351],[-72.13557,19.67408],[-72.13664,19.67081],[-72.14878,19.67107],[-72.15348,19.67638],[-72.15308,19.67694],[-72.15333,19.67698],[-72.15328,19.67965],[-72.15238,19.67972],[-72.15227,19.68035],[-72.15191,19.68034],[-72.15186,19.68051],[-72.15282,19.68066],[-72.15223,19.6833],[-72.15078,19.68315],[-72.15045,19.68479],[-72.15086,19.68435],[-72.15301,19.68499],[-72.15463,19.68544],[-72.15431,19.68707],[-72.15472,19.68685],[-72.15485,19.68776],[-72.15458,19.6878],[-72.15474,19.6879]],[[-72.13106,19.67189],[-72.12598,19.67728],[-72.12554,19.67762],[-72.12169,19.67764],[-72.11497,19.6726],[-72.11527,19.66872],[-72.11982,19.66275],[-72.12278,19.66257],[-72.1249,19.6627],[-72.12858,19.66454],[-72.13081,19.66617],[-72.13167,19.66879],[-72.13156,19.671],[-72.13106,19.67189]],[[-71.84579,19.67098],[-71.84294,19.67595],[-71.841,19.67595],[-71.83802,19.67553],[-71.83787,19.6745],[-71.83905,19.67439],[-71.83901,19.67411],[-71.83984,19.67395],[-71.83891,19.67361],[-71.83802,19.67209],[-71.83801,19.67263],[-71.83767,19.67272],[-71.83763,19.67254],[-71.83544,19.67321],[-71.83533,19.673],[-71.83312,19.67346],[-71.83267,19.67168],[-71.83216,19.67209],[-71.83072,19.66949],[-71.8306,19.66976],[-71.83022,19.66989],[-71.82918,19.66721],[-71.82907,19.66721],[-71.82891,19.66679],[-71.82895,19.66662],[-71.82883,19.66635],[-71.82856,19.66648],[-71.82887,19.66725],[-71.82876,19.66741],[-71.8278,19.66782],[-71.82771,19.66786],[-71.82783,19.66796],[-71.82718,19.66812],[-71.82718,19.66809],[-71.82644,19.66839],[-71.82641,19.66832],[-71.8262,19.66843],[-71.82618,19.66836],[-71.82589,19.66842],[-71.82589,19.66866],[-71.82516,19.66875],[-71.82545,19.66916],[-71.82293,19.66957],[-71.82271,19.66967],[-71.82277,19.66976],[-71.82018,19.67099],[-71.81985,19.67045],[-71.8198,19.6706],[-71.81947,19.67076],[-71.81825,19.67134],[-71.81814,19.67114],[-71.81758,19.67143],[-71.81696,19.67077],[-71.81764,19.6719],[-71.81714,19.67204],[-71.81582,19.6718],[-71.81384,19.67119],[-71.81233,19.6707],[-71.81218,19.67043],[-71.81243,19.67015],[-71.81192,19.67001],[-71.81188,19.67058],[-71.81117,19.67035],[-71.80959,19.66985],[-71.8078,19.66928],[-71.8056,19.66861],[-71.80514,19.66689],[-71.80512,19.66523],[-71.80523,19.66198],[-71.80656,19.65239],[-71.80734,19.64829],[-71.80997,19.64683],[-71.81475,19.64545],[-71.81477,19.64556],[-71.815,19.64551],[-71.81495,19.64538],[-71.81599,19.64502],[-71.81589,19.64489],[-71.81659,19.64461],[-71.81901,19.6438],[-71.82115,19.64345],[-71.82216,19.64333],[-71.8269,19.64321],[-71.82805,19.64322],[-71.83045,19.64408],[-71.83064,19.64486],[-71.82953,19.64504],[-71.82961,19.64561],[-71.82994,19.64557],[-71.83037,19.64517],[-71.83047,19.64535],[-71.83081,19.6452],[-71.83102,19.64511],[-71.83125,19.64585],[-71.83111,19.64582],[-71.83137,19.64659],[-71.83289,19.64619],[-71.83446,19.64571],[-71.83447,19.64631],[-71.83422,19.64619],[-71.8342,19.64655],[-71.83467,19.6463],[-71.83491,19.64639],[-71.8348,19.64622],[-71.83544,19.64585],[-71.8355,19.6458],[-71.83647,19.64613],[-71.83764,19.64727],[-71.83791,19.64789],[-71.83905,19.6508],[-71.84569,19.66962],[-71.84579,19.67098]],[[-72.09888,18.54843],[-72.09699,18.5502],[-72.09729,18.55032],[-72.09685,18.55035],[-72.09556,18.55185],[-72.09564,18.55267],[-72.09599,18.55337],[-72.09621,18.5532],[-72.09628,18.55357],[-72.09644,18.55355],[-72.09654,18.55398],[-72.09651,18.55417],[-72.09661,18.55417],[-72.09652,18.55421],[-72.09688,18.55466],[-72.0979,18.55521],[-72.10062,18.55559],[-72.10149,18.55562],[-72.10243,18.5555],[-72.10342,18.55435],[-72.10348,18.55162],[-72.10308,18.55161],[-72.10338,18.55152],[-72.1035,18.55152],[-72.10352,18.55024],[-72.10287,18.55031],[-72.1029,18.55025],[-72.10285,18.55018],[-72.10351,18.55003],[-72.10349,18.54974],[-72.10352,18.54974],[-72.10354,18.5489],[-72.10343,18.54871],[-72.10272,18.54814],[-72.10256,18.54815],[-72.10229,18.54828],[-72.10229,18.54826],[-72.10252,18.54814],[-72.10234,18.54813],[-72.09991,18.54809],[-72.09907,18.54838],[-72.09888,18.54843]],[[-72.25425,18.56826],[-72.25603,18.57178],[-72.25579,18.5748],[-72.2535,18.57555],[-72.25228,18.57555],[-72.24999,18.57409],[-72.24739,18.56983],[-72.24601,18.56673],[-72.24585,18.56295],[-72.24794,18.56254],[-72.25015,18.5628],[-72.25192,18.56508],[-72.25425,18.56826]],[[-72.30315,18.53327],[-72.30313,18.53318],[-72.30483,18.53111],[-72.30974,18.53111],[-72.31643,18.53243],[-72.32341,18.53661],[-72.32614,18.53878],[-72.32619,18.54264],[-72.31705,18.55406],[-72.31309,18.55406],[-72.29875,18.54533],[-72.29886,18.54073],[-72.2963,18.54047],[-72.29546,18.53952],[-72.29619,18.53386],[-72.29719,18.53322],[-72.3007,18.53328],[-72.30227,18.53423],[-72.30285,18.53352],[-72.3031,18.53334],[-72.30318,18.5334],[-72.30358,18.53356],[-72.30308,18.53465],[-72.30371,18.53399],[-72.30453,18.53441],[-72.3044,18.53451],[-72.30627,18.53526],[-72.30631,18.53527],[-72.30612,18.53576],[-72.30612,18.53582],[-72.30637,18.53589],[-72.30627,18.53549],[-72.30667,18.53509],[-72.3062,18.53497],[-72.30589,18.53494],[-72.30554,18.53468],[-72.30549,18.53461],[-72.30556,18.53451],[-72.30467,18.53423],[-72.30476,18.53388],[-72.30433,18.53375],[-72.30426,18.53363],[-72.30315,18.53327]],[[-72.29814,18.4775],[-72.29357,18.49486],[-72.29222,18.49643],[-72.29317,18.49725],[-72.28923,18.50571],[-72.28781,18.5081],[-72.28505,18.51199],[-72.28402,18.51132],[-72.28086,18.51588],[-72.27732,18.5176],[-72.27235,18.51752],[-72.26627,18.51446],[-72.26659,18.50668],[-72.26926,18.50462],[-72.2662,18.50298],[-72.26882,18.49652],[-72.26915,18.49594],[-72.27027,18.49615],[-72.27027,18.4956],[-72.26907,18.49557],[-72.26929,18.49377],[-72.2737,18.486],[-72.27467,18.48504],[-72.27518,18.4834],[-72.27654,18.48134],[-72.27735,18.4815],[-72.2783,18.48097],[-72.27785,18.4807],[-72.2771,18.48012],[-72.279,18.47758],[-72.27972,18.47729],[-72.28064,18.47764],[-72.28137,18.47716],[-72.28084,18.47698],[-72.28128,18.47584],[-72.28232,18.47518],[-72.28516,18.4751],[-72.28499,18.47637],[-72.28544,18.47698],[-72.28628,18.47563],[-72.28693,18.47547],[-72.2866,18.47519],[-72.2866,18.475],[-72.29098,18.47473],[-72.29466,18.47494],[-72.29739,18.47684],[-72.29814,18.4775]],[[-72.34667,18.52224],[-72.34683,18.52443],[-72.34753,18.52776],[-72.34555,18.52911],[-72.34031,18.52922],[-72.33833,18.52803],[-72.3369,18.53012],[-72.33381,18.52967],[-72.32893,18.52708],[-72.32865,18.52533],[-72.32921,18.52327],[-72.33041,18.52205],[-72.33216,18.52218],[-72.33225,18.5192],[-72.33692,18.51836],[-72.3382,18.51847],[-72.33815,18.51818],[-72.3412,18.51779],[-72.34549,18.5172],[-72.34926,18.51728],[-72.35043,18.51889],[-72.35035,18.52061],[-72.34968,18.52204],[-72.34667,18.52224]],[[-72.33031,18.54865],[-72.34297,18.55081],[-72.34332,18.55306],[-72.34131,18.56143],[-72.33906,18.56136],[-72.33847,18.56383],[-72.33753,18.56543],[-72.33484,18.56506],[-72.33118,18.56383],[-72.33121,18.56162],[-72.32321,18.56069],[-72.32124,18.5596],[-72.3208,18.5587],[-72.32088,18.55788],[-72.32595,18.55803],[-72.32662,18.5582],[-72.32592,18.55775],[-72.3251,18.55738],[-72.32338,18.55226],[-72.3246,18.54785],[-72.3289,18.54837],[-72.32998,18.54895],[-72.33031,18.54865]],[[-72.32314,18.52698],[-72.32234,18.52807],[-72.32096,18.52797],[-72.32078,18.52713],[-72.32085,18.52537],[-72.32146,18.52496],[-72.32257,18.52489],[-72.32285,18.52533],[-72.32324,18.52648],[-72.32314,18.52698]],[[-72.21608,18.64578],[-72.21596,18.65538],[-72.20303,18.65583],[-72.19471,18.65534],[-72.19222,18.65456],[-72.19206,18.65213],[-72.19348,18.64776],[-72.20125,18.63852],[-72.20693,18.63882],[-72.2121,18.64241],[-72.21181,18.64306],[-72.21217,18.64269],[-72.2128,18.64276],[-72.21347,18.64313],[-72.21356,18.64375],[-72.21542,18.64439],[-72.21589,18.64503],[-72.21608,18.64578]],[[-72.28677,18.6482],[-72.2901,18.65274],[-72.28981,18.65365],[-72.29007,18.65427],[-72.29072,18.65377],[-72.29103,18.65447],[-72.29125,18.65422],[-72.29168,18.65589],[-72.29122,18.65661],[-72.29227,18.65597],[-72.29269,18.65675],[-72.29307,18.65673],[-72.29413,18.65818],[-72.29602,18.66084],[-72.29597,18.66191],[-72.29329,18.66457],[-72.29067,18.666],[-72.28959,18.66613],[-72.28959,18.66657],[-72.2877,18.66647],[-72.28758,18.66766],[-72.28312,18.66972],[-72.27965,18.66965],[-72.27843,18.66908],[-72.2784,18.66877],[-72.27774,18.66917],[-72.27744,18.66914],[-72.27701,18.66832],[-72.27656,18.66811],[-72.27654,18.66806],[-72.27523,18.66852],[-72.27493,18.66746],[-72.27464,18.66743],[-72.27347,18.66821],[-72.27323,18.66827],[-72.27268,18.66716],[-72.27191,18.66743],[-72.27188,18.66734],[-72.26881,18.66819],[-72.26883,18.66718],[-72.26908,18.66682],[-72.26881,18.66679],[-72.26811,18.66707],[-72.26763,18.66738],[-72.26756,18.66669],[-72.26686,18.66695],[-72.26559,18.66736],[-72.26545,18.66701],[-72.26475,18.66741],[-72.26299,18.66819],[-72.26285,18.66818],[-72.26265,18.66761],[-72.2623,18.66771],[-72.26248,18.66792],[-72.26248,18.66823],[-72.26231,18.66826],[-72.2621,18.66797],[-72.26228,18.66892],[-72.26015,18.6689],[-72.25427,18.66879],[-72.25054,18.66835],[-72.25044,18.66954],[-72.24779,18.66989],[-72.24152,18.66979],[-72.24142,18.67419],[-72.23892,18.67398],[-72.23872,18.67346],[-72.23837,18.67331],[-72.2387,18.67395],[-72.23755,18.6739],[-72.23742,18.67351],[-72.23774,18.67334],[-72.23751,18.67326],[-72.23684,18.67349],[-72.23644,18.67241],[-72.23551,18.6726],[-72.2354,18.67242],[-72.2353,18.6729],[-72.23455,18.67269],[-72.23431,18.67246],[-72.23424,18.67347],[-72.23341,18.67346],[-72.23329,18.6733],[-72.23274,18.67329],[-72.23271,18.6735],[-72.2277,18.67253],[-72.22653,18.67165],[-72.2268,18.67157],[-72.2275,18.67159],[-72.22749,18.67145],[-72.22729,18.67146],[-72.22728,18.6713],[-72.22721,18.67136],[-72.22618,18.67137],[-72.2256,18.67088],[-72.22551,18.66945],[-72.22611,18.66969],[-72.22618,18.66959],[-72.22598,18.66955],[-72.22578,18.66914],[-72.22533,18.66946],[-72.22497,18.66947],[-72.22458,18.66788],[-72.22355,18.6677],[-72.22359,18.66759],[-72.22246,18.66763],[-72.22237,18.66702],[-72.22233,18.66709],[-72.22192,18.66703],[-72.22081,18.6669],[-72.22081,18.66653],[-72.22087,18.66636],[-72.2206,18.66681],[-72.22039,18.66664],[-72.21843,18.66505],[-72.21829,18.6641],[-72.21835,18.66084],[-72.21872,18.66065],[-72.21869,18.6606],[-72.21873,18.66045],[-72.21898,18.66032],[-72.21878,18.6602],[-72.2187,18.66024],[-72.21858,18.66004],[-72.21861,18.66],[-72.21878,18.66013],[-72.219,18.66002],[-72.21891,18.65991],[-72.21897,18.65979],[-72.21838,18.65958],[-72.21847,18.65397],[-72.2201,18.65116],[-72.2258,18.64695],[-72.2283,18.64573],[-72.23793,18.64586],[-72.23776,18.6447],[-72.24004,18.64325],[-72.2456,18.64335],[-72.24827,18.64504],[-72.24875,18.64367],[-72.25111,18.64298],[-72.25124,18.64334],[-72.25126,18.64316],[-72.25148,18.64314],[-72.25133,18.64297],[-72.25336,18.64235],[-72.25352,18.64268],[-72.25395,18.64254],[-72.25415,18.64293],[-72.25439,18.64287],[-72.25438,18.64275],[-72.25642,18.64232],[-72.25669,18.64314],[-72.25688,18.64286],[-72.25682,18.64253],[-72.25884,18.6421],[-72.25889,18.64225],[-72.25926,18.64223],[-72.25965,18.64241],[-72.25922,18.64069],[-72.25995,18.64048],[-72.26012,18.64063],[-72.26012,18.63994],[-72.26153,18.63947],[-72.26261,18.6391],[-72.26545,18.63873],[-72.27194,18.63868],[-72.2722,18.63886],[-72.27303,18.63942],[-72.27317,18.64126],[-72.27387,18.64103],[-72.27422,18.64161],[-72.27522,18.6417],[-72.27545,18.64157],[-72.27555,18.64169],[-72.27554,18.64175],[-72.27647,18.64186],[-72.27675,18.6419],[-72.2763,18.6426],[-72.27742,18.643],[-72.27798,18.64272],[-72.27858,18.64313],[-72.27857,18.64323],[-72.2789,18.64335],[-72.27985,18.64397],[-72.28587,18.64697],[-72.28677,18.6482]],[[-72.55572,18.53059],[-72.55559,18.5367],[-72.555,18.53797],[-72.5488,18.53792],[-72.54866,18.53728],[-72.54884,18.53063],[-72.54937,18.5301],[-72.55513,18.53012],[-72.55572,18.53059]],[[-72.62353,18.50799],[-72.62344,18.50952],[-72.62261,18.51043],[-72.62049,18.51185],[-72.61834,18.51075],[-72.61622,18.50832],[-72.61626,18.50647],[-72.61866,18.50444],[-72.6204,18.5045],[-72.62283,18.507],[-72.62353,18.50799]]]},{id:"osmim-imagicode-S2A_R119_N09_20160327T050917",name:"imagico.de: Adams Bridge",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R119_N09_20160327T050917&z={zoom}&x={x}&y={-y}",endDate:"2016-03-27T00:00:00.000Z",startDate:"2016-03-27T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[79.01779,8.82757],[79.01402,9.64678],[80.17642,9.65042],[80.17728,8.8313],[79.01779,8.82757]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Supplementing incomplete coverage in other sources (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC80700162014211LGN00",name:"imagico.de: Alaska Range",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80700162014211LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-07-31T00:00:00.000Z",startDate:"2014-07-31T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[-152.70873,62.30357],[-152.70839,62.58153],[-152.00835,63.54646],[-148.99432,63.5333],[-148.99432,62.30357],[-152.70873,62.30357]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent summer image of the Alaska Range for mapping natural features (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-aral2",name:"imagico.de: Aral Sea (high water level)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=aral2&z={zoom}&x={x}&y={-y}",endDate:"2016-03-03T00:00:00.000Z",startDate:"2016-03-03T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[58.049,43.2623],[58.049,46.7189],[58.1014,46.8645],[61.5524,46.8629],[61.5524,46.3896],[61.4675,45.3416],[60.6317,43.2623],[58.049,43.2623]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Water and wetland extents, dams etc. - some remaining winter ice in the north (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-aral1",name:"imagico.de: Aral Sea (low water level)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=aral1&z={zoom}&x={x}&y={-y}",endDate:"2016-09-09T00:00:00.000Z",startDate:"2016-09-09T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[58.049,43.2623],[58.049,46.7334],[58.096,46.8645],[61.5524,46.8629],[61.5524,46.3896],[61.4685,45.3544],[60.6267,43.2623],[58.049,43.2623]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Water and wetland extents, dams etc. (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R067_S40_20170417T140051",name:"imagico.de: Bahía Blanca (high tide)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R067_S40_20170417T140051&z={zoom}&x={x}&y={-y}",endDate:"2017-04-17T00:00:00.000Z",startDate:"2017-04-17T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-62.9988,-40.7327],[-62.9988,-37.9476],[-61.7505,-37.9474],[-61.7501,-40.7322],[-62.9988,-40.7327]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Tidal flats and islands at the coast (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R067_S40_20170127T140051",name:"imagico.de: Bahía Blanca (low tide)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R067_S40_20170127T140051&z={zoom}&x={x}&y={-y}",endDate:"2017-01-27T00:00:00.000Z",startDate:"2017-01-27T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-62.9988,-40.7327],[-62.9988,-37.9476],[-61.7505,-37.9474],[-61.7501,-40.7322],[-62.9988,-40.7327]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Tidal flats and islands at the coast (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81190582014075LGN00",name:"imagico.de: Bakun Reservoir",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81190582014075LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-03-16T00:00:00.000Z",startDate:"2014-03-16T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[114.36,2.02846],[113.53448,2.03],[113.53619,3.07077],[114.76512,3.06751],[114.76254,2.08816],[114.36,2.02846]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in older pre-2011 images (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81250592016107LGN00",name:"imagico.de: Batam",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81250592016107LGN00&z={zoom}&x={x}&y={-y}",endDate:"2016-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[104.00155,-0.00008],[104.00137,1.45099],[104.91015,1.45116],[104.91015,-0.00008],[104.00155,-0.00008]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing Islands in OSM (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC80770232017156LGN00",name:"imagico.de: Bogoslof Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80770232017156LGN00&z={zoom}&x={x}&y={-y}",endDate:"2017-06-05T00:00:00.000Z",startDate:"2017-06-05T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-168.2544,53.8749],[-168.2544,54.0213],[-167.8591,54.0213],[-167.8591,53.8749],[-168.2544,53.8749]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image from after the eruption (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81800982013291LGN00",name:"imagico.de: Bouvet Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81800982013291LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-10-18T00:00:00.000Z",startDate:"2013-10-18T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[3.24653,-54.47047],[3.24653,-54.37539],[3.46385,-54.37539],[3.46385,-54.47047],[3.24653,-54.47047]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",best:true,description:"For more accurate coastline and glacier mapping (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R017_S67_20170223T022551",name:"imagico.de: Bunger Hills",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R017_S67_20170223T022551&z={zoom}&x={x}&y={-y}",endDate:"2017-02-23T00:00:00.000Z",startDate:"2017-02-23T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[96.1197,-67.6542],[96.1201,-67.1899],[98.7331,-65.044],[105.1028,-65.044],[105.1028,-65.7224],[103.3017,-67.6542],[96.1197,-67.6542]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Largest ice free area at the East Antarctic coast - shows considerable amounts of non-permanent ice. (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R065_N47_20160929T102022",name:"imagico.de: Central Alps in late September 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R065_N47_20160929T102022&z={zoom}&x={x}&y={-y}",endDate:"2016-09-29T00:00:00.000Z",startDate:"2016-09-29T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[10.55906,45.95485],[7.47396,45.95533],[7.55585,46.2708],[8.0547,47.66469],[11.75245,47.66481],[11.75245,46.81334],[11.38424,45.95509],[10.55906,45.95485]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping - beware of some fresh snow at higher altitudes (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC82050982015344LGN00",name:"imagico.de: Clerke Rocks",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82050982015344LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-12-10T00:00:00.000Z",startDate:"2015-12-10T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-34.17701,-55.29693],[-35.19599,-55.28285],[-35.16664,-54.72097],[-34.12517,-54.73465],[-34.1401,-55.29693],[-34.17701,-55.29693]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R086_N60_20160831T213532",name:"imagico.de: Cook Inlet",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R086_N60_20160831T213532&z={zoom}&x={x}&y={-y}",endDate:"2016-08-31T00:00:00.000Z",startDate:"2016-08-31T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-154.5102,59.4577],[-154.5097,60.6888],[-153.5403,62.1718],[-148.0423,62.1718],[-148.0445,61.5342],[-149.7291,59.4584],[-154.5102,59.4577]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Tidal flats and glaciers in surrounding mountains (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-EO1A0040712016264110KF",name:"imagico.de: Coropuna",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=EO1A0040712016264110KF&z={zoom}&x={x}&y={-y}",endDate:"2016-09-21T00:00:00.000Z",startDate:"2016-09-21T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-72.75945,-15.68684],[-72.75945,-15.4957],[-72.74434,-15.4263],[-72.41286,-15.4263],[-72.41286,-15.65296],[-72.42411,-15.68667],[-72.75945,-15.68684]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R022_N06_20151221T103009",name:"imagico.de: Cotonou",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R022_N06_20151221T103009&z={zoom}&x={x}&y={-y}",endDate:"2015-12-21T00:00:00.000Z",startDate:"2015-12-21T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[1.83975,6.2578],[1.83975,7.11427],[2.5494,7.11427],[2.5494,6.48905],[2.49781,6.25806],[1.83975,6.2578]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Patchy and partly cloudy coverage in usual sources (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R040_N01_20160311T164128",name:"imagico.de: Darwin and Wolf islands, Galapagos",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R040_N01_20160311T164128&z={zoom}&x={x}&y={-y}",endDate:"2016-03-11T00:00:00.000Z",startDate:"2016-03-11T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-92.05216,1.3213],[-92.05216,1.72181],[-91.74849,1.72181],[-91.74849,1.3213],[-92.05216,1.3213]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image, only old and poor images in other sources currently (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC80360072014245LGN00",name:"imagico.de: Eastern Devon Island coast",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80360072014245LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-09-02T00:00:00.000Z",startDate:"2014-09-02T00:00:00.000Z",scaleExtent:[0,11],polygon:[[[-84.34799,74.38946],[-84.34799,75.8903],[-79.14871,75.8903],[-79.14871,74.38946],[-84.34799,74.38946]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Coastline mostly mapped meanwhile (false color IR)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC82160152013239LGN00",name:"imagico.de: Eastern Iceland",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82160152013239LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-08-27T00:00:00.000Z",startDate:"2013-08-27T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[-13.04701,64.21109],[-15.16496,64.22408],[-15.16805,64.81573],[-13.04357,64.8036],[-13.04701,64.21109]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing islets and inaccurate coast (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-AST_L1T_00302052007154424_20150518041444_91492",name:"imagico.de: El Altar",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00302052007154424_20150518041444_91492&z={zoom}&x={x}&y={-y}",endDate:"2012-02-05T00:00:00.000Z",startDate:"2012-02-05T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-78.532,-1.80509],[-78.532,-1.60811],[-78.33562,-1.60811],[-78.33562,-1.80509],[-78.532,-1.80509]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"2007 ASTER image offering better glacier coverage than common sources (true color with estimated blue)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R009_S61_20160109",name:"imagico.de: Elephant Island/Clarence Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R009_S61_20160109&z={zoom}&x={x}&y={-y}",endDate:"2016-01-09T00:00:00.000Z",startDate:"2016-01-09T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-56.13476,-61.63472],[-56.13476,-61.19936],[-55.83264,-60.84015],[-53.72343,-60.83982],[-53.72343,-61.63472],[-56.13476,-61.63472]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Fairly clear up-to-date image for updating glacier edges (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-enderby",name:"imagico.de: Enderby Land and Kemp Coast",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=enderby&z={zoom}&x={x}&y={-y}",endDate:"2017-03-27T00:00:00.000Z",startDate:"2017-01-25T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[45.4547,-68.5091],[45.4547,-67.5724],[49.7155,-65.7176],[59.2693,-65.7176],[67.3735,-67.3449],[67.3735,-68.2581],[67.088,-68.5091],[45.4547,-68.5091]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Sentinel-2 images of Enderby Land and Kemp Coast (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC82100502015347LGN00",name:"imagico.de: Fogo, Cape Verde",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82100502015347LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-12-13T00:00:00.000Z",startDate:"2015-12-13T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-24.75878,14.74814],[-24.75878,15.09249],[-24.26706,15.09249],[-24.26706,14.74814],[-24.75878,14.74814]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Image from after the 2014/2015 eruption (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-greenland",name:"imagico.de: Greenland mosaic",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=greenland&z={zoom}&x={x}&y={-y}",endDate:"2015-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[-43.9774,59.7171],[-44.545,59.7302],[-44.9203,59.7672],[-45.3587,59.8218],[-45.763,59.8848],[-46.0859,59.9827],[-46.3381,60.119],[-46.577,60.2652],[-46.8114,60.4418],[-47.2635,60.5314],[-47.6937,60.5549],[-48.1457,60.6192],[-48.5771,60.7015],[-48.8689,60.8506],[-49.0578,61.0555],[-49.396,61.2957],[-49.7601,61.4934],[-50.2064,61.7324],[-50.4699,61.9539],[-50.8647,62.1596],[-51.0631,62.3869],[-51.2121,62.6001],[-51.3005,62.8389],[-51.4238,62.9979],[-51.6767,63.1944],[-51.9465,63.4079],[-52.0253,63.6377],[-52.2255,63.8378],[-52.3658,64.0705],[-52.4829,64.3792],[-52.4988,64.6788],[-52.789,64.9063],[-53.2046,65.1321],[-53.6649,65.4753],[-53.9977,65.8019],[-54.1348,66.1568],[-54.1441,66.5235],[-54.2285,66.8319],[-54.4519,67.303],[-54.5141,67.7648],[-54.604,68.2021],[-54.568,68.5698],[-54.598,68.8347],[-54.7606,69.1207],[-55.0028,69.4125],[-55.2735,69.6187],[-55.3808,69.8283],[-55.3945,70.0838],[-55.3094,70.2573],[-55.4307,70.479],[-55.5501,70.6707],[-55.7654,70.861],[-56.2489,71.2343],[-56.5018,71.5429],[-56.5867,71.9015],[-56.5189,72.2355],[-56.5085,72.5258],[-56.8923,72.8144],[-57.4027,73.1054],[-57.8066,73.4566],[-58.1461,73.7696],[-58.3554,74.0972],[-58.5125,74.3783],[-58.7336,74.6328],[-59.3551,74.8869],[-60.1412,75.102],[-61.0067,75.2763],[-61.911,75.3886],[-62.4706,75.5595],[-62.9776,75.7454],[-64.1463,75.779],[-65.4481,75.7235],[-66.7068,75.6792],[-67.8379,75.6525],[-69.0456,75.6195],[-70.055,75.5344],[-71.0898,75.4705],[-72.1119,75.4476],[-74.2311,76.4102],[-74.5601,76.5328],[-74.5601,82.6959],[-14.4462,82.6959],[-14.3994,82.5997],[-13.5339,82.4379],[-12.0312,82.3426],[-10.7796,82.3196],[-10.7796,80.1902],[-11.2123,80.069],[-11.136,79.8103],[-10.7796,79.5176],[-10.7796,79.0441],[-11.2626,78.7128],[-12.2579,78.3558],[-13.2398,78.1272],[-13.7649,77.9279],[-14.1169,77.6779],[-14.7129,77.5278],[-15.5507,77.3655],[-16.0936,77.0771],[-16.0586,76.5548],[-15.838,75.9611],[-15.6879,75.4726],[-16.253,75.058],[-17.0427,74.6425],[-18.3155,74.2702],[-19.4463,73.9378],[-19.8329,73.632],[-20.2938,73.3524],[-20.7831,73.0446],[-21.01,72.6766],[-20.8774,72.2926],[-20.7672,71.8726],[-20.7765,71.4304],[-20.9411,70.9802],[-21.219,70.6126],[-21.5326,70.3001],[-21.8039,70.0911],[-22.166,69.8947],[-22.4831,69.7539],[-22.9027,69.6585],[-23.3545,69.544],[-23.9177,69.4036],[-24.1794,69.3088],[-24.6745,69.1084],[-25.1222,68.9555],[-25.6659,68.7995],[-26.0994,68.583],[-26.6316,68.4043],[-27.7638,68.2813],[-28.4575,68.0023],[-29.353,67.8135],[-30.6456,67.4911],[-31.7673,67.0005],[-32.9783,66.2596],[-33.9313,66.0156],[-34.8956,65.7403],[-35.5914,65.5208],[-36.1483,65.372],[-36.7532,65.2559],[-37.1858,65.1349],[-37.6032,64.9727],[-38.0624,64.4901],[-38.5304,64.1244],[-39.0545,63.7213],[-39.3131,63.4405],[-39.5739,62.7506],[-39.9532,62.2739],[-40.2757,61.8547],[-40.714,61.3365],[-41.2091,60.8495],[-41.821,60.5526],[-42.4368,60.3264],[-42.8643,60.0299],[-43.1131,59.9147],[-43.3282,59.83],[-43.5459,59.7695],[-43.797,59.7284],[-43.9774,59.7171]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Landsat mosaic of Greenland (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R047_S54_20160411T044330",name:"imagico.de: Heard Island coast",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R047_S54_20160411T044330&z={zoom}&x={x}&y={-y}",endDate:"2016-04-12T00:00:00.000Z",startDate:"2016-04-12T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[73.06897,-53.27059],[73.06897,-52.87549],[73.67338,-52.87673],[74.08863,-52.9495],[74.08863,-53.27059],[73.06897,-53.27059]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image of Heard island with interior mostly cloud covered but mostly well visible coast (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC82280982013259LGN00",name:"imagico.de: Isla Londonderry",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82280982013259LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-09-16T00:00:00.000Z",startDate:"2013-09-16T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[-69.8568,-55.55949],[-72.26521,-55.14943],[-72.26521,-54.51089],[-72.08531,-54.17909],[-69.49116,-54.17889],[-69.4915,-55.28379],[-69.62231,-55.5591],[-69.8568,-55.55949]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"A lot of very coarse coastlines could be improved here, much snow cover though so no use for glacier mapping (false color IR)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-dms_kangerlussuaq_20151008",name:"imagico.de: Kangerlussuaq Autumn",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_kangerlussuaq_20151008&z={zoom}&x={x}&y={-y}",endDate:"2015-10-08T00:00:00.000Z",startDate:"2015-10-08T00:00:00.000Z",scaleExtent:[0,17],polygon:[[[-50.6992,66.9888],[-50.721,67.0017],[-50.7341,67.0125],[-50.7396,67.0193],[-50.7396,67.0212],[-50.7158,67.0265],[-50.7017,67.0265],[-50.6829,67.0176],[-50.6686,67.0077],[-50.6638,66.998],[-50.6642,66.9946],[-50.6891,66.9888],[-50.6992,66.9888]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS image of the airport and settlement - alignment might be poor",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-dms_kangerlussuaq_20160518",name:"imagico.de: Kangerlussuaq Spring",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_kangerlussuaq_20160518&z={zoom}&x={x}&y={-y}",endDate:"2016-05-18T00:00:00.000Z",startDate:"2016-05-18T00:00:00.000Z",scaleExtent:[0,18],polygon:[[[-50.7519,66.9996],[-50.7555,67.0023],[-50.7555,67.0033],[-50.6395,67.0297],[-50.6162,67.0339],[-50.6097,67.0281],[-50.6331,67.022],[-50.7323,66.9996],[-50.7519,66.9996]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS image of the airport and roads - alignment might be poor",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R021_N44_20160807T083013",name:"imagico.de: Kerch Strait",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R021_N44_20160807T083013&z={zoom}&x={x}&y={-y}",endDate:"2016-08-07T00:00:00.000Z",startDate:"2016-08-07T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[35.93259,44.96237],[35.93259,45.55926],[37.36991,45.55926],[37.36991,44.96237],[35.93259,44.96237]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"State of bridge construction in August 2016 (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R021_N44_20180429T082601",name:"imagico.de: Kerch Strait 2018",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R021_N44_20180429T082601&z={zoom}&x={x}&y={-y}",endDate:"2018-04-29T00:00:00.000Z",startDate:"2018-04-29T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[35.8787,45.0348],[35.8787,45.6095],[36.9208,45.6095],[36.9208,45.0348],[35.8787,45.0348]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Bridge and surrounding after completion in April 2018 (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-ls_polar2",name:"imagico.de: Landsat off-nadir July 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ls_polar2&z={zoom}&x={x}&y={-y}",endDate:"2016-07-17T00:00:00.000Z",startDate:"2016-07-17T00:00:00.000Z",scaleExtent:[0,10],polygon:[[[-79.05175,81.91484],[-79.05175,83.43339],[-73.6039,83.80225],[-26.42449,83.80225],[-21.493,83.50352],[-16.88835,83.15095],[-16.88835,81.91484],[-79.05175,81.91484]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Latest images north of the regular Landsat limit (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-larsen_2018",name:"imagico.de: Larsen C ice shelf after calving",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=larsen_2018&z={zoom}&x={x}&y={-y}",endDate:"2018-01-06T00:00:00.000Z",startDate:"2018-01-06T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[-62.7282,-68.9652],[-64.0489,-68.7318],[-64.0486,-68.5373],[-60.8845,-65.9399],[-59.9187,-65.9389],[-59.1088,-66.0775],[-59.1088,-68.8359],[-59.2544,-68.9652],[-62.7282,-68.9652]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"For updating the ice edge after the 2017 iceberg calving (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-AST_L1T_00311162013112731_20150618142416_109190",name:"imagico.de: Leskov Island ASTER",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00311162013112731_20150618142416_109190&z={zoom}&x={x}&y={-y}",endDate:"2013-11-16T00:00:00.000Z",startDate:"2013-11-16T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-28.21075,-56.72108],[-28.21075,-56.62498],[-27.96956,-56.62498],[-27.96956,-56.72108],[-28.21075,-56.72108]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color with estimated blue)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81991002015286LGN00",name:"imagico.de: Leskov Island Landsat",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81991002015286LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-10-13T00:00:00.000Z",startDate:"2015-10-13T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-27.99293,-56.73479],[-28.22776,-56.73262],[-28.22416,-56.60075],[-27.96975,-56.60283],[-27.97319,-56.73479],[-27.99293,-56.73479]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2B_R005_S69_20180222T061749",name:"imagico.de: Lützow-Holm Bay",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2B_R005_S69_20180222T061749&z={zoom}&x={x}&y={-y}",endDate:"2018-02-22T00:00:00.000Z",startDate:"2018-02-22T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[35.124,-70.3693],[35.1241,-69.2795],[36.3864,-68.4765],[42.2208,-68.4762],[42.2208,-70.3651],[35.124,-70.3693]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date late season image or an area poorly mapped in OSM at the moment - lots of sea ice, be careful with distinguishing sea ice from ice shelves and floating glacier tongues. (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-ls_polar",name:"imagico.de: May 2013 off-nadir Landsat",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ls_polar&z={zoom}&x={x}&y={-y}",endDate:"2013-05-17T00:00:00.000Z",startDate:"2013-05-17T00:00:00.000Z",scaleExtent:[0,10],polygon:[[[-85.76109,81.39333],[-89.83016,82.14952],[-89.83153,82.24405],[-84.99342,82.73099],[-79.95207,83.13108],[-74.55641,83.46267],[-69.35851,83.70451],[-28.20784,83.70451],[-23.06624,83.46532],[-17.96584,83.15518],[-17.96721,82.72386],[-22.78197,81.4419],[-85.76109,81.39333]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"First available image north of the regular Landsat limit, mostly with seasonal snow cover so difficult to interpret (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R042_S78_20170214T202521",name:"imagico.de: McMurdo Sound and Dry Valleys",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R042_S78_20170214T202521&z={zoom}&x={x}&y={-y}",endDate:"2017-02-14T00:00:00.000Z",startDate:"2017-02-14T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[162.9125,-78.4514],[162.6595,-78.4257],[159.2712,-77.6013],[159.2712,-77.4108],[164.157,-76.477],[169.7813,-76.4764],[169.7813,-78.4514],[162.9125,-78.4514]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date late season image - not ice minimum, be careful with distinguishing sea ice from ice shelves. (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R092_S02_20160613T075613",name:"imagico.de: Mount Kenya 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R092_S02_20160613T075613&z={zoom}&x={x}&y={-y}",endDate:"2016-06-13T00:00:00.000Z",startDate:"2016-06-13T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[37.20666,-0.26685],[37.20666,-0.01193],[37.56552,-0.01193],[37.56552,-0.26685],[37.20666,-0.26685]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R092_S05_20160802T075556",name:"imagico.de: Mount Kilimanjaro 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R092_S05_20160802T075556&z={zoom}&x={x}&y={-y}",endDate:"2016-08-02T00:00:00.000Z",startDate:"2016-08-02T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[37.24769,-3.22921],[37.24769,-2.96816],[37.61581,-2.96816],[37.61581,-3.22921],[37.24769,-3.22921]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC80940622015159LGN00",name:"imagico.de: New Ireland",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80940622015159LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-06-08T00:00:00.000Z",startDate:"2015-06-08T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[150.38853,-2.80053],[150.38853,-2.3834],[150.83348,-2.3834],[150.83348,-2.80053],[150.38853,-2.80053]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Many missing islands in OSM (mostly mapped meanwhile) (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-northsea_s2_2016",name:"imagico.de: North Sea Coast 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=northsea_s2_2016&z={zoom}&x={x}&y={-y}",endDate:"2016-09-25T00:00:00.000Z",startDate:"2016-09-25T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[5.1562,52.8755],[5.1615,53.0325],[6.4155,55.7379],[9.8813,55.7459],[9.8813,53.2428],[9.6846,52.8877],[5.1562,52.8755]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-northsea_s2_2017",name:"imagico.de: North Sea Coast 2017",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=northsea_s2_2017&z={zoom}&x={x}&y={-y}",endDate:"2017-06-02T00:00:00.000Z",startDate:"2017-06-02T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[5.1713,53.0918],[6.477,55.8973],[9.8813,55.8973],[9.8813,53.2761],[9.7789,53.0918],[5.1713,53.0918]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-northsea_s2_2018",name:"imagico.de: North Sea Coast spring 2018",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=northsea_s2_2018&z={zoom}&x={x}&y={-y}",endDate:"2018-05-08T00:00:00.000Z",startDate:"2018-05-08T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[5.3179,53.0918],[5.322,53.4418],[6.7023,56.3572],[9.8813,56.3578],[9.8813,53.2819],[9.7758,53.0921],[5.3179,53.0918]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-caspian_2018",name:"imagico.de: Northeast Caspian Sea 2018",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=caspian_2018&z={zoom}&x={x}&y={-y}",endDate:"2018-05-16T00:00:00.000Z",startDate:"2018-05-16T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[51.0243,45.0729],[51.0243,46.569],[52.4259,46.5687],[53.6471,46.3177],[53.6474,45.0729],[51.0243,45.0729]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Coastal contruction and Kashagan oil field in Kazakhstan in May 2018 (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-ural_s2_2016",name:"imagico.de: Northern and Polar Ural mountains August 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ural_s2_2016&z={zoom}&x={x}&y={-y}",endDate:"2016-08-12T00:00:00.000Z",startDate:"2016-08-12T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[59.19898,64.89205],[59.19898,66.91656],[60.73329,68.44289],[67.73295,68.44327],[67.73295,67.74883],[64.21647,64.91957],[59.19898,64.89205]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date late summer imagery with few clouds - caution: not all visible snow is glaciers (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-ndvina",name:"imagico.de: Northern Dvina delta at low tide",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ndvina&z={zoom}&x={x}&y={-y}",endDate:"2015-09-13T00:00:00.000Z",startDate:"2015-09-13T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[37.7291,64.1971],[37.7291,65.1161],[37.8592,65.2705],[41.3223,65.2705],[41.3223,64.3142],[41.2114,64.1973],[37.7291,64.1971]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Beaches, tidal flats and other costal forms (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-nellesmere_ast",name:"imagico.de: Northern Ellesmere Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=nellesmere_ast&z={zoom}&x={x}&y={-y}",endDate:"2012-07-09T00:00:00.000Z",startDate:"2012-07-09T00:00:00.000Z",scaleExtent:[0,10],polygon:[[[-81.62923,82.4597],[-83.03136,82.47986],[-83.03136,83.05876],[-72.80309,83.09567],[-65.65786,83.03232],[-65.81167,82.4597],[-81.62923,82.4597]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Assembled from July 2012 ASTER imagery (true color with estimated blue)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-nellesmere_ast_2016",name:"imagico.de: Northern Ellesmere Island July 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=nellesmere_ast_2016&z={zoom}&x={x}&y={-y}",endDate:"2012-07-15T00:00:00.000Z",startDate:"2012-07-08T00:00:00.000Z",scaleExtent:[0,10],polygon:[[[-78.89729,82.17577],[-82.64501,82.19426],[-82.64501,83.08067],[-66.58986,83.08497],[-63.78011,82.98908],[-63.78011,82.72198],[-65.0092,82.17577],[-78.89729,82.17577]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Assembled from July 2016 ASTER imagery (true color with estimated blue)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81960222015233LGN00vis",name:"imagico.de: Northern German west coast tidalflats",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00vis&z={zoom}&x={x}&y={-y}",endDate:"2015-08-21T00:00:00.000Z",startDate:"2015-08-21T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[7.63568,53.28027],[7.63568,53.6677],[8.49433,55.50246],[9.20775,55.48106],[9.20775,53.28027],[7.63568,53.28027]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81960222015233LGN00ir",name:"imagico.de: Northern German west coast tidalflats (infrared)",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00ir&z={zoom}&x={x}&y={-y}",endDate:"2015-08-21T00:00:00.000Z",startDate:"2015-08-21T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[7.63568,53.28027],[7.63568,53.66811],[8.49433,55.50246],[9.20775,55.48106],[9.20775,53.28027],[7.63568,53.28027]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals (false color IR)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-ngreenland_ast",name:"imagico.de: Northern Greenland ASTER",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=ngreenland_ast&z={zoom}&x={x}&y={-y}",endDate:"2012-08-13T00:00:00.000Z",startDate:"2005-06-21T00:00:00.000Z",scaleExtent:[0,10],polygon:[[[-52.49222,82.48972],[-52.49222,82.94295],[-49.28696,83.47312],[-44.5285,83.73214],[-29.5253,83.73214],[-25.26398,83.58271],[-21.18393,83.39776],[-21.18393,82.74312],[-23.40454,82.48972],[-52.49222,82.48972]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Assembled from mostly 2012 ASTER imagery, some 2005 images mainly in the northeast (true color with estimated blue)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-EO1A1350972013086110KF",name:"imagico.de: Northwest Heard Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=EO1A1350972013086110KF&z={zoom}&x={x}&y={-y}",endDate:"2013-03-13T00:00:00.000Z",startDate:"2013-03-13T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[73.2279,-53.20333],[73.2279,-53.01073],[73.25949,-52.94944],[73.78992,-52.94944],[73.78992,-53.06048],[73.71783,-53.20333],[73.2279,-53.20333]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Glaciers of Northwest Heard Island (mapped meanwhile) (false color IR)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R111_N09_20160604T154554",name:"imagico.de: Panama Canal",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R111_N09_20160604T154554&z={zoom}&x={x}&y={-y}",endDate:"2016-06-07T00:00:00.000Z",startDate:"2016-06-07T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-80.01654,8.84898],[-80.01654,9.41481],[-79.46859,9.41481],[-79.46859,8.84898],[-80.01654,8.84898]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Images of the new locks (but partly cloudy) (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-EO1A0120532016364110KF",name:"imagico.de: Panama Canal - Pacific side",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=EO1A0120532016364110KF&z={zoom}&x={x}&y={-y}",endDate:"2016-12-30T00:00:00.000Z",startDate:"2016-12-30T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-79.62539,8.77083],[-79.68684,8.82197],[-79.68667,8.93705],[-79.65363,9.09294],[-79.26816,9.09294],[-79.32833,8.77083],[-79.62539,8.77083]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"New locks with less clouds than in the Sentinel-2 image - make sure to check image alignment (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R078_N68_20160930T081002",name:"imagico.de: Pechora Sea Coast",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R078_N68_20160930T081002&z={zoom}&x={x}&y={-y}",endDate:"2016-09-30T00:00:00.000Z",startDate:"2016-09-30T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[53.1802,67.5344],[53.1821,68.414],[54.2107,69.3367],[55.3584,70.2786],[59.004,70.2786],[60.6947,69.977],[61.9837,69.7161],[61.9823,68.9395],[59.9153,67.5344],[53.1802,67.5344]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Sentinel-2 image of the Pechora Sea coast in autumn 2016 (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81511242016033LGN00",name:"imagico.de: Pensacola Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81511242016033LGN00&z={zoom}&x={x}&y={-y}",endDate:"2016-02-02T00:00:00.000Z",startDate:"2016-02-02T00:00:00.000Z",scaleExtent:[0,10],polygon:[[[-53.20922,-84.12525],[-60.61538,-83.78609],[-60.61538,-82.29969],[-48.72405,-82.29987],[-44.52178,-82.43683],[-44.51354,-84.12525],[-53.20922,-84.12525]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R136_N41_20150831T093006",name:"imagico.de: Prokletije Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R136_N41_20150831T093006&z={zoom}&x={x}&y={-y}",endDate:"2015-08-31T00:00:00.000Z",startDate:"2015-08-31T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[19.11233,42.15316],[19.08426,43.08074],[20.63299,43.09603],[20.63788,42.16779],[19.11233,42.15316]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Late summer imagery where usual sources are severely limited by clouds and snow (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-DMS_1142622_03746_20110415_17533956",name:"imagico.de: Qasigiannguit",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=DMS_1142622_03746_20110415_17533956&z={zoom}&x={x}&y={-y}",endDate:"2011-04-15T00:00:00.000Z",startDate:"2011-04-15T00:00:00.000Z",scaleExtent:[0,15],polygon:[[[-51.23857,68.79972],[-51.24334,68.85303],[-51.15167,68.85303],[-51.14038,68.80116],[-51.23857,68.79972]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS image of the settlement - alignment might be poor",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81510432015030LGN00",name:"imagico.de: Rann of Kutch",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81510432015030LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[67.9684,22.36265],[67.86231,22.38392],[67.86231,24.88693],[71.48986,24.88693],[71.48986,22.36265],[67.9684,22.36265]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Land/water distinction difficult to properly map based on Bing/Mapbox images (false color IR)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R093_N41_20150828T092005",name:"imagico.de: Rila and Pirin Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R093_N41_20150828T092005&z={zoom}&x={x}&y={-y}",endDate:"2015-08-28T00:00:00.000Z",startDate:"2015-08-28T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[23.80811,41.58488],[22.99238,41.60195],[23.01186,42.29984],[23.99402,42.28339],[23.96561,41.58488],[23.80811,41.58488]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Late summer imagery where usual sources are severely limited by clouds and snow (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81730602015040LGN00",name:"imagico.de: Rwenzori Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81730602015040LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-02-09T00:00:00.000Z",startDate:"2015-02-09T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[29.7663,0.20689],[29.7663,0.50918],[30.0346,0.50918],[30.0346,0.20689],[29.7663,0.20689]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image of most of the remaining Rwenzori Mountains glaciers (false color IR)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R078_N01_20160702T082522",name:"imagico.de: Rwenzori Mountains 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R078_N01_20160702T082522&z={zoom}&x={x}&y={-y}",endDate:"2016-07-02T00:00:00.000Z",startDate:"2016-07-02T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[29.80514,0.23586],[29.80514,0.46709],[30.02503,0.46709],[30.02503,0.23586],[29.80514,0.23586]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date image for glacier mapping (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC80611072014036LGN00",name:"imagico.de: Scott Island",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80611072014036LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-02-05T00:00:00.000Z",startDate:"2014-02-05T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-180,-67.42635],[-180,-67.32544],[-179.82473,-67.32538],[-179.82473,-67.42635],[-180,-67.42635]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC82100972015347LGN00",name:"imagico.de: Shag Rocks",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82100972015347LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-12-13T00:00:00.000Z",startDate:"2015-12-13T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-42.12875,-53.7205],[-42.14626,-53.45782],[-41.67573,-53.44586],[-41.65582,-53.70872],[-42.12875,-53.7205]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing in other image sources (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81130622013270LGN00",name:"imagico.de: Southeastern Sulawesi",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81130622013270LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-09-27T00:00:00.000Z",startDate:"2013-09-27T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[120.84382,-3.59545],[120.84382,-3.15985],[120.98184,-2.51468],[122.62618,-2.51468],[122.62618,-3.00215],[122.5007,-3.59545],[120.84382,-3.59545]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Missing islands and coarse coastline due to cloud cover in Bing, lakes could also use additional detail (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC80281222016035LGN00",name:"imagico.de: Southern Transantarctic Mountains",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80281222016035LGN00&z={zoom}&x={x}&y={-y}",endDate:"2016-02-04T00:00:00.000Z",startDate:"2016-02-04T00:00:00.000Z",scaleExtent:[0,10],polygon:[[[156.96951,-84.50098],[154.50858,-84.46255],[154.50858,-82.60681],[175.46774,-82.58505],[177.00583,-83.52807],[177.00583,-84.19262],[171.93839,-84.34633],[166.83798,-84.4437],[161.67029,-84.50045],[156.96951,-84.50098]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81030632015286LGN00",name:"imagico.de: Sudirman Range 2015",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81030632015286LGN00&z={zoom}&x={x}&y={-y}",endDate:"2015-10-13T00:00:00.000Z",startDate:"2015-10-13T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[136.4226,-4.2853],[136.4226,-3.6447],[137.7971,-3.6447],[137.7971,-4.2853],[136.4226,-4.2853]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Older image of the Sudirman Range with no fresh snow showing glacier extent (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R088_S05_20160812T011732",name:"imagico.de: Sudirman Range 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R088_S05_20160812T011732&z={zoom}&x={x}&y={-y}",endDate:"2016-08-12T00:00:00.000Z",startDate:"2016-08-12T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[136.8044,-4.2585],[136.8044,-3.7836],[137.7701,-3.7836],[137.7701,-4.2585],[136.8044,-4.2585]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Cloud free image of the Sudirman Range but with fresh snow (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-s2sval",name:"imagico.de: Svalbard mosaic",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=s2sval&z={zoom}&x={x}&y={-y}",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[16.6108,76.4137],[16.4731,76.4268],[16.3788,76.4589],[14.4124,77.1324],[14.0784,77.2536],[10.9875,78.4054],[10.631,78.5605],[10.2314,78.8392],[10.3952,79.6074],[10.516,79.7731],[10.9632,79.8707],[20.2294,80.849],[20.4702,80.8493],[25.1752,80.6817],[33.4391,80.3438],[33.7809,80.3016],[34.0395,80.239],[33.977,80.1527],[25.5722,76.5917],[25.2739,76.481],[25.1416,76.4327],[24.937,76.4176],[16.6108,76.4137]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Sentinel-2 mosaic of Svalbard (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-DMS_1142636_160xx_20110507_1822xxxx",name:"imagico.de: Thule Air Base",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=DMS_1142636_160xx_20110507_1822xxxx&z={zoom}&x={x}&y={-y}",endDate:"2011-05-07T00:00:00.000Z",startDate:"2011-05-07T00:00:00.000Z",scaleExtent:[0,15],polygon:[[[-68.93977,76.51133],[-68.93977,76.5499],[-68.76635,76.55176],[-68.50993,76.55176],[-68.50744,76.51612],[-68.67897,76.51194],[-68.93977,76.51133]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS image - alignment might be poor",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-dms_thule2_2015.09.25",name:"imagico.de: Thule Airbase DMS low altitude overflight September 2015",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_thule2_2015.09.25&z={zoom}&x={x}&y={-y}",endDate:"2015-09-25T00:00:00.000Z",startDate:"2015-09-25T00:00:00.000Z",scaleExtent:[0,17],polygon:[[[-68.74292,76.52636],[-68.74446,76.5284],[-68.74807,76.54939],[-68.74615,76.56017],[-68.72276,76.56022],[-68.72017,76.55775],[-68.71853,76.52921],[-68.71978,76.52637],[-68.74292,76.52636]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS aerial images from Thule Airbase - alignment might be poor",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-dms_thule_2015.10.06",name:"imagico.de: Thule Airbase DMS overflight October 2015",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_thule_2015.10.06&z={zoom}&x={x}&y={-y}",endDate:"2015-10-06T00:00:00.000Z",startDate:"2015-10-06T00:00:00.000Z",scaleExtent:[0,16],polygon:[[[-68.81924,76.5251],[-68.82651,76.54177],[-68.77345,76.5439],[-68.7021,76.54545],[-68.59177,76.5456],[-68.59183,76.52793],[-68.6597,76.5251],[-68.81924,76.5251]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS aerial images from Thule Airbase - alignment might be poor",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-dms_thule_2015.09.25",name:"imagico.de: Thule Airbase DMS overflight September 2015",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=dms_thule_2015.09.25&z={zoom}&x={x}&y={-y}",endDate:"2015-09-25T00:00:00.000Z",startDate:"2015-09-25T00:00:00.000Z",scaleExtent:[0,16],polygon:[[[-68.77771,76.50688],[-68.77662,76.57064],[-68.68115,76.57065],[-68.6763,76.55384],[-68.6762,76.53074],[-68.68523,76.50688],[-68.77771,76.50688]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Icebridge DMS aerial images from Thule Airbase - alignment might be poor",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R094_N79_20160812T105622",name:"imagico.de: Ushakov Island August 2016",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R094_N79_20160812T105622&z={zoom}&x={x}&y={-y}",endDate:"2016-08-12T00:00:00.000Z",startDate:"2016-08-12T00:00:00.000Z",scaleExtent:[0,12],polygon:[[[78.45886,80.72643],[78.45886,80.9099],[80.48892,80.9099],[80.48892,80.72643],[78.45886,80.72643]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Up-to-date late summer imagery with few clouds (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC80910682014358LGN00",name:"imagico.de: Vanatinai",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC80910682014358LGN00&z={zoom}&x={x}&y={-y}",endDate:"2014-12-24T00:00:00.000Z",startDate:"2014-12-24T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[153.06138,-11.78923],[153.06138,-11.28869],[153.10927,-11.07229],[154.41201,-11.07229],[154.41201,-11.78923],[153.06138,-11.78923]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Coarse coastline due to cloud cover in Bing/Mapbox (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC82330892016031LGN00",name:"imagico.de: Volcán Calbuco",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC82330892016031LGN00&z={zoom}&x={x}&y={-y}",endDate:"2016-01-31T00:00:00.000Z",startDate:"2016-01-31T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-72.86696,-41.51741],[-72.86696,-41.04527],[-72.23181,-41.04527],[-71.8751,-41.10829],[-72.00007,-41.51741],[-72.86696,-41.51741]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Image from after the 2015 eruption (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R089_N52_20160623T024048",name:"imagico.de: Vostochny Cosmodrome",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R089_N52_20160623T024048&z={zoom}&x={x}&y={-y}",endDate:"2016-06-23T00:00:00.000Z",startDate:"2016-06-23T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[126.36143,51.37553],[126.34804,52.33932],[128.60762,52.3409],[128.61174,51.37553],[126.36143,51.37553]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Recent image showing newest features (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-walps_autumn_2017",name:"imagico.de: Western Alps autumn colors 2017",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=walps_autumn_2017&z={zoom}&x={x}&y={-y}",endDate:"2017-10-17T00:00:00.000Z",startDate:"2017-10-17T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[4.6412,43.2493],[4.3118,43.2653],[4.3118,44.2167],[5.2562,46.965],[5.9151,48.7177],[7.3866,48.7467],[10.088,48.7467],[10.088,48.7032],[7.7819,43.2813],[7.76,43.2653],[7.3646,43.2493],[4.6412,43.2493]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Autumn colors in the Alps, Jura and southwestern Germany (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-LC81490352013282LGN00",name:"imagico.de: Western Karakoram",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=LC81490352013282LGN00&z={zoom}&x={x}&y={-y}",endDate:"2013-10-09T00:00:00.000Z",startDate:"2013-10-09T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[75.98364,34.97851],[73.96164,35.36957],[74.44281,37.09391],[76.50601,36.70267],[75.98364,34.97851]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Represents approximately minimum snow cover so can be well used for glacier mapping (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"osmim-imagicode-S2A_R039_S15_20160510T145731",name:"imagico.de: Willkanuta Mountains and Quelccaya Ice Cap",type:"tms",template:"http://imagico.de/map/osmim_tiles.php?layer=S2A_R039_S15_20160510T145731&z={zoom}&x={x}&y={-y}",endDate:"2016-05-10T00:00:00.000Z",startDate:"2016-05-10T00:00:00.000Z",scaleExtent:[0,14],polygon:[[[-71.18071,-14.49785],[-71.17976,-13.71029],[-70.55637,-13.71263],[-70.55637,-14.49785],[-71.18071,-14.49785]]],terms_url:"http://maps.imagico.de/#osmim",terms_text:"imagico.de OSM images for mapping",description:"Poor and outdated imagery in other sources (true color)",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAADWElEQVQ4y13TS2gcdQDH8e/szGQ372Tz2irGpoS0KSapoqjRQ4knD0WweLRCCXiQXuJFMR6EYMVC0IsPyKVFsJpWbQ0KQmL14KPWirGmZjdmk+w7mX1kZ2d2dv7/mfFUsX5Pv8Pv+lH4X6/NvTPc239gOlXyp7ZzlaEg8EGYyVaZWY7dc+/CuTde+fu/f+XOeP3iLT2bTMxN9NVm1PZhbfKBGC/OXsDzHJr1EEf6ilSMLZFrxObHJk/OfvDqCQmgArz3TUJfXZm/3K53nZ4YPRw69czjXPrqR+LJHJ4rUFXA3qG33Va3cpknU2vxY1pz9yWzlPZVgL6xobNGXp7u6T9Geq/O+U+usHRtE6du0aJncSyXtnCOcqVC0ZTIhnM44itNhpFeVs5+kRxe//OP22VDar4ncRwHz85TKtY40H2D4n6KwNMRgUPIC9ES0mj2NNwK4rfE2qhWyBnT1YrUQkqA3hwmpIYw63law4JcaR/hR9GVAh2tOmEUHunpwKkJVm10VdOntbptP+VJiaIoKIDv7zPQbVDxJIPRPkRkh8CN0KFrjHdGiXW3kkuXSRYEakid0qQrDkrhEgQ+tZpNtVTmoQdNrGgB6XjUpEJzSxvCgnhOZ+RQFKtcZV8IpO8NhXxfIoWLY9tUS0XePxXHMNrY3BxkOx+lXVX54dc+VjdaiHabXPg6RcMSWFULT3poEGxJ0eit1Wq06w4FMURPl8NObo9MvgnTaOGF402M399DrDNEPJHnl99rZIoWvudvaeGwtux53sOPjffy9pn7CHdKnn5WJ/5XnudnrjF2tJ/F61mGBiIc7fe4mXT5ds0lu1tE8f1lbSDWu5DZyb98fMLVwp0dgINv5Bjpcfj50yloUsAo8Ob8T/iVBociLrtlC9+tCwgW1O8++7A09dxLbUvfrzzRpV7nSCyK0qRDOEwjlUYr7iH2DPx6hXevpLi5YXNjfRsCcQ4aiwrAlxuB/tHCx5fTyaUTg/1pJke6eHR0GF9AKZtnv1BlYSWFWYBEepdyuXwV5EmQ8l9Mn9929asXF+c21xMz5b1NreHewvNcHAc0qRGpQyqfFZZZnQc5C1LepfFOZ946P5xJbkybRmbKzm8f3C3b2GZlyzYLy9WqteD5jbs4/wOHuM2qT5aWEQAAAABJRU5ErkJggg=="},{id:"IPR-orotofoto-last-tms",name:"IPR ortofoto LAST (tmsproxy)",type:"tms",template:"https://osm-{switch:a,b,c}.zby.cz/tiles_ipr_last.php/{zoom}/{x}/{y}.jpg",scaleExtent:[1,18],polygon:[[[14.81232,49.93089],[14.18755,49.87687],[14.12025,50.19882],[14.74502,50.25247],[14.81232,49.93089]]]},{id:"IPR-orotofoto-vege-tms",name:"IPR ortofoto Low-Vegetation (tmsproxy)",type:"tms",template:"https://osm-{switch:a,b,c}.zby.cz/tiles_ipr_vege.php/{zoom}/{x}/{y}.jpg",scaleExtent:[1,20],polygon:[[[14.30454,49.99538],[14.31604,49.94205],[14.35,49.94508],[14.35384,49.92726],[14.42385,49.93352],[14.42009,49.95097],[14.48865,49.95709],[14.48479,49.97501],[14.55386,49.98117],[14.55012,49.99852],[14.58455,50.00159],[14.5883,49.98424],[14.69168,49.99346],[14.67634,50.06453],[14.71279,50.06777],[14.70115,50.12158],[14.6647,50.11834],[14.661,50.13543],[14.62755,50.13246],[14.61965,50.16895],[14.58543,50.16591],[14.58163,50.18344],[14.40776,50.168],[14.41156,50.15045],[14.37765,50.14744],[14.3738,50.16524],[14.33893,50.16214],[14.34278,50.14434],[14.27368,50.1382],[14.27749,50.12058],[14.2088,50.11447],[14.21289,50.09557],[14.24656,50.09857],[14.25417,50.06336],[14.21987,50.0603],[14.2237,50.04259],[14.258,50.04565],[14.26953,49.99226],[14.30454,49.99538]]]},{id:"GSGS3906",name:"Ireland British War Office 1:25k GSGS 3906",type:"tms",template:"https://mapwarper.net/layers/tile/101/{zoom}/{x}/{y}.png",scaleExtent:[0,18],polygon:[[[-9.31139,51.43828],[-7.36131,51.99302],[-7.33934,52.13149],[-6.9658,52.06231],[-6.23796,52.1534],[-6.21049,52.52928],[-5.98253,52.80079],[-5.96056,53.67037],[-6.20775,53.67851],[-6.22423,53.95255],[-5.86442,54.12513],[-5.85893,54.20392],[-5.53483,54.23122],[-5.39476,54.44739],[-5.50188,54.70052],[-6.21873,55.38194],[-6.86418,55.2162],[-7.25145,55.46455],[-7.53435,55.30853],[-8.25395,55.26787],[-8.61101,54.97259],[-8.49016,54.89369],[-8.83897,54.68306],[-8.42699,54.52397],[-8.75108,54.31302],[-9.29765,54.38985],[-10.05296,54.37866],[-10.30015,54.05747],[-10.02275,53.79386],[-10.30565,53.55142],[-9.99803,53.24354],[-9.09166,53.19256],[-9.81676,53.1102],[-9.48167,52.96984],[-9.70415,52.68107],[-10.00627,52.63608],[-9.78929,52.52426],[-9.99803,52.32663],[-10.64348,52.1753],[-10.39629,51.9761],[-10.16832,51.64668],[-10.28642,51.57334],[-9.88542,51.57163],[-9.79204,51.44684],[-9.31139,51.43828]]],terms_url:"https://wiki.openstreetmap.org/wiki/Ireland/Background_Imagery#Trinity_College_Dublin",terms_text:"Glucksman Map Library, Trinity College Dublin",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAB3RJTUUH3gQOFR0YB1KT3QAAAAlwSFlzAAAewQAAHsEBw2lUUwAAAARnQU1BAACxjwv8YQUAAAS/SURBVHjandN7TFNXHAfwzrn/lm3ZHy7LYrJkybK5zMw9fCEoPjbeChoHTtBVRF7l1ZZSaG8flCtvsFVpoZZHC5Y6jDM+UScDaxF5lIfSAaMIlVKBS8EZN4d+d9voZpbMFX/JN7nnnvM7n5xzcxmM5wrPlX1yFmP2adgmXKHc78bsU+j9ZRT3HzzE+D0n7tjuYdo5h38X47/q+UWD1nE0tw/gktEC66gdN/tG0Dc4hnEHhdG7DujOdqGHxi4ae2AZti8ccJXZYoOxawRPnjzGwcpmzM8//ntOe86MickZTEw7ka+99nJAZ/8YWjqs7ufc6ibM/fbQ/fzHo0eoOduJ8UkKljt2nLhk9hj4/Wlm6VA9A2NUa/ew6wNQE1OzVGvPEGUZvkvZHVNUo2mA6ugfpvoGrNT8/Dz1tMfd/yJgKZ13h6zjzFbzvbwO8wDZaR4kzeZbZG/fIHnTbCOvdzrI9h472dnVT97oociO23NkW+9M3pDVsc/V69rjRYA7Su11/dvbfkRJvDeOcMORuj8CpelLkJO6BVs4vQhj3QD5fTQS2PXYndQAblw2yrUt9c/6/xeoqzulK+VEoCTtawgSM5HCr0Nsmg48ngJhYiukonNIybeg8MQEFIZBFBWIoa4z1XoMaOrbtbHci2BtW4RachnOlO/GZW0SjuZEY2eWGYVEFfYJ+kDo/4ThdDPExadQcbxb5zmgb6/xYZlAxPtDmByFS2U+EHM5yBOyEZZ8HkzeZaQmyxFZROGkgUQIMQSNvkPrMXBM31YdFqNDJK8ZHE4FYgSt2Jl0GpKUGAhFjTiQ2QJDgRBGdSTIvEJ8IXDSQJvngEbfWrWacGJDzn1sJ34FkSqFQbgWTcUrcLWIATlnBzYSE8hOOIBQzk9YK56jgRs1CzlBVXD6bcijCYSwTYjhXUFD7nrUlHyFc6pPUCL4BpskUwhn6iGPSMYG3igN3KxeCKDZyulGddReBKV3YbNkGidkIWhQLMeFiuUoE3ths8iOfXFnoQ5nwTt9xHVFVZ5f0XGjxks0A++sIWyNqYM0TYp6qS9+UHxOn+BjqMQfwF8wgg2x5+ErccCboKA5bloAUGc8tk40i2CmGuGhgQhjX0MZwUY5uRJVuX6QcpPhm2TErlBfBLAa4S2epYHrlZ5fke4K6SVyIjRejz1REfhO2Ab2wavgZJ8EU9gEUek1MDMvIIa5DUFpzVhHzECtbRR4DJRrDP5f8h04ILwAmTQLAkEWCgsLIJVIIcwS4uhRBSQSCfi8FGzP6sbKjLsoV+tWewwolUfe+pR1y7GD1YDd4cGIi4uFgM/HulWr4LdpI5ITE5EQH49dOwMRmtmND/ebLMoy+WueA2VyBmO9opSTcx6HimWQHypGBicF+6MjwdzzLSQEH6UlBSjKFyNS1AnGMm6Csuwww2NApVK6hkv2JMptmTkGiPNqEcc+jFiuGsy0SrD4lciQ1kJW3ICAqJIWeu1ilUq1EEDlHr/6vr/XxozBuQD6jw6UUXRm6DgRQCeQfIA1iaZ+BuP191xrXwpw1RtL16zwSfi5PVg2hZAcyp0gqQOr9548TU+/82zdywGvLH429eZnO8rPBNMbB4ps+MhPpvyna9ELgb8ASvKZeuq+E9sAAAAASUVORK5CYII="},{id:"ITACyL-Castile-and-Leon",name:"ITACyL - Castile and León",type:"wms",template:"http://orto.wms.itacyl.es/WMS?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=Ortofoto_CyL&SRS={proj}&FORMAT=image/jpeg&STYLES=Default&TRANSPARENT=TRUE&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",polygon:[[[-1.9358,41.43834],[-1.89601,41.43869],[-1.89536,41.39687],[-1.9767,41.39616],[-1.97639,41.37623],[-2.06201,41.37548],[-2.06262,41.41471],[-2.10458,41.41434],[-2.10363,41.35367],[-2.14448,41.35331],[-2.1419,41.18683],[-2.06204,41.18753],[-2.06171,41.16624],[-2.02046,41.16661],[-2.01887,41.06334],[-2.10083,41.06262],[-2.10114,41.08296],[-2.22733,41.08185],[-2.22704,41.0635],[-2.26912,41.06313],[-2.2688,41.04257],[-2.35325,41.04182],[-2.35356,41.06148],[-2.39487,41.06112],[-2.39457,41.04206],[-2.43722,41.04168],[-2.43756,41.06315],[-2.47928,41.06278],[-2.47991,41.10369],[-2.52078,41.10333],[-2.5211,41.12429],[-2.60415,41.12357],[-2.60481,41.16628],[-2.6471,41.16591],[-2.64808,41.22931],[-2.72874,41.2286],[-2.72907,41.24974],[-2.89552,41.24828],[-2.89649,41.31063],[-2.9363,41.31028],[-2.93571,41.27231],[-3.14692,41.27046],[-3.14723,41.29045],[-3.22828,41.28974],[-3.22767,41.25008],[-3.39581,41.2486],[-3.39518,41.20808],[-3.43492,41.20773],[-3.43429,41.16696],[-3.47877,41.16657],[-3.47844,41.14556],[-3.60336,41.14446],[-3.6027,41.10169],[-3.64539,41.10131],[-3.64508,41.08159],[-3.68735,41.08122],[-3.68673,41.04104],[-3.72866,41.04067],[-3.72803,40.9998],[-3.76896,40.99944],[-3.76864,40.97886],[-3.85473,40.97811],[-3.8544,40.95653],[-3.89857,40.95615],[-3.89764,40.89575],[-3.93906,40.89539],[-3.93716,40.77204],[-4.06198,40.77093],[-4.06133,40.72926],[-4.10372,40.72888],[-4.10311,40.68918],[-4.14628,40.6888],[-4.14498,40.60421],[-4.19025,40.60381],[-4.18994,40.58362],[-4.22946,40.58327],[-4.22979,40.60487],[-4.27054,40.60451],[-4.26958,40.54211],[-4.31384,40.54171],[-4.31163,40.39758],[-4.39376,40.39685],[-4.39345,40.37677],[-4.43723,40.37638],[-4.43623,40.31123],[-4.52192,40.31046],[-4.52037,40.20897],[-4.56131,40.2086],[-4.56099,40.18763],[-4.68895,40.18649],[-4.68933,40.21101],[-4.73192,40.21063],[-4.73252,40.24966],[-4.76838,40.24934],[-4.76809,40.23035],[-4.81104,40.22996],[-4.81147,40.20726],[-4.8542,40.18414],[-4.85264,40.12563],[-4.93699,40.12488],[-4.93638,40.08529],[-5.35538,40.08155],[-5.35606,40.12562],[-5.44027,40.12487],[-5.44091,40.16673],[-5.60382,40.16527],[-5.60448,40.20881],[-5.68646,40.20808],[-5.68712,40.25131],[-6.02166,40.24834],[-6.02295,40.33257],[-6.10433,40.33184],[-6.1056,40.41451],[-6.18951,40.41376],[-6.19018,40.45745],[-6.26971,40.45675],[-6.26909,40.41653],[-6.35192,40.41579],[-6.35128,40.37422],[-6.43325,40.37349],[-6.43264,40.33361],[-6.52245,40.33281],[-6.52116,40.24849],[-6.59942,40.24779],[-6.59886,40.21128],[-6.85568,40.20899],[-6.85634,40.25257],[-6.93622,40.25186],[-6.93751,40.33657],[-6.85111,40.33734],[-6.86001,40.91672],[-6.93544,40.91605],[-6.93741,41.0435],[-6.85482,41.04423],[-6.85548,41.08706],[-6.77015,41.08781],[-6.77245,41.23623],[-6.68379,41.23701],[-6.60436,41.2377],[-6.60524,41.29474],[-6.5193,41.29549],[-6.51991,41.33479],[-6.43673,41.33552],[-6.43801,41.41814],[-6.35318,41.41888],[-6.35447,41.50141],[-6.26889,41.50216],[-6.2708,41.6245],[-6.35661,41.62375],[-6.35724,41.66401],[-6.43548,41.66333],[-6.4349,41.62651],[-6.52279,41.62575],[-6.52343,41.66635],[-6.6034,41.66565],[-6.60733,41.9166],[-7.02209,41.913],[-7.02406,42.03872],[-7.1054,42.03801],[-7.10613,42.08421],[-7.0208,42.08495],[-7.02276,42.2094],[-6.93699,42.21014],[-6.93763,42.25087],[-6.8548,42.25159],[-6.85545,42.29329],[-6.77342,42.294],[-6.77403,42.33244],[-6.85325,42.33176],[-6.85523,42.4569],[-7.10341,42.45477],[-7.10811,42.75115],[-7.02199,42.75189],[-7.02241,42.77825],[-6.93976,42.77896],[-6.94199,42.91962],[-6.77302,42.92106],[-6.77363,42.95958],[-6.52329,42.96172],[-6.52391,43.00095],[-6.43893,43.00167],[-6.44024,43.08361],[-5.93782,43.08789],[-5.93708,43.04189],[-5.85421,43.0426],[-5.85357,43.00258],[-5.77236,43.00327],[-5.77363,43.08308],[-5.6027,43.08453],[-5.60202,43.04222],[-5.52161,43.04291],[-5.52226,43.08409],[-5.4376,43.08481],[-5.43827,43.12651],[-5.10444,43.12935],[-5.10573,43.2099],[-5.02386,43.2106],[-5.02451,43.25117],[-4.90017,43.25222],[-4.89941,43.20501],[-4.81126,43.20576],[-4.80966,43.10538],[-4.76975,43.10571],[-4.76937,43.08168],[-4.72945,43.08202],[-4.72881,43.04219],[-4.56322,43.0436],[-4.56353,43.06296],[-4.39599,43.06438],[-4.39566,43.04336],[-4.3537,43.04371],[-4.35266,42.97836],[-4.23013,42.9794],[-4.22913,42.91625],[-4.18774,42.9166],[-4.18706,42.87407],[-4.10552,42.87476],[-4.10486,42.83348],[-3.97801,42.83457],[-3.97733,42.79214],[-3.9375,42.79248],[-3.93781,42.81183],[-3.85397,42.81254],[-3.85427,42.83193],[-3.89573,42.83158],[-3.89607,42.85343],[-3.93821,42.85307],[-3.93889,42.89577],[-3.9806,42.89542],[-3.98093,42.91627],[-4.0222,42.91591],[-4.0229,42.96014],[-3.97851,42.96052],[-3.97946,43.01999],[-3.93883,43.02034],[-3.93918,43.04239],[-3.89704,43.04275],[-3.89738,43.06414],[-3.85424,43.06451],[-3.8549,43.10583],[-3.77086,43.10654],[-3.77116,43.12515],[-3.72819,43.12551],[-3.72853,43.14656],[-3.68713,43.14691],[-3.68778,43.18786],[-3.60365,43.18858],[-3.60331,43.16747],[-3.52278,43.16815],[-3.52243,43.14619],[-3.39669,43.14726],[-3.39699,43.16601],[-3.35444,43.16637],[-3.35479,43.18837],[-3.31268,43.18873],[-3.31299,43.20828],[-3.22993,43.20899],[-3.22959,43.18768],[-3.10343,43.18875],[-3.10274,43.14562],[-3.14546,43.14526],[-3.14516,43.1271],[-3.10617,43.12743],[-3.10445,43.01915],[-3.02075,43.01987],[-3.0201,42.97903],[-2.9811,42.97936],[-2.97977,42.8958],[-3.10476,42.89473],[-3.10276,42.76928],[-3.02199,42.76997],[-3.02168,42.74983],[-2.98024,42.75019],[-2.97988,42.7275],[-2.89613,42.72822],[-2.89679,42.76967],[-2.8534,42.77004],[-2.85405,42.81087],[-2.68577,42.81231],[-2.68544,42.79159],[-2.64523,42.79194],[-2.64489,42.77024],[-2.52005,42.7713],[-2.51936,42.72827],[-2.5607,42.72791],[-2.56038,42.7076],[-2.51944,42.70795],[-2.5181,42.62357],[-2.60404,42.62283],[-2.60439,42.64497],[-2.77154,42.64353],[-2.77188,42.66544],[-2.81176,42.6651],[-2.8121,42.68624],[-2.85469,42.68588],[-2.85337,42.60302],[-2.89413,42.60267],[-2.89379,42.58159],[-3.0619,42.58015],[-3.06031,42.47952],[-3.02191,42.47985],[-3.0199,42.3525],[-3.06255,42.35213],[-3.06029,42.20906],[-3.1012,42.20871],[-3.10086,42.18682],[-3.06175,42.18716],[-3.0611,42.14559],[-3.02029,42.14594],[-3.01963,42.10375],[-2.89602,42.10482],[-2.89501,42.04071],[-2.81222,42.04143],[-2.81353,42.1246],[-2.76871,42.12499],[-2.76905,42.14674],[-2.72695,42.14711],[-2.7266,42.12485],[-2.68706,42.12519],[-2.68605,42.06109],[-2.72804,42.06073],[-2.72739,42.0193],[-2.60343,42.02037],[-2.60376,42.04135],[-2.561,42.04173],[-2.56198,42.10411],[-2.52266,42.10445],[-2.52299,42.12577],[-2.47933,42.12615],[-2.47963,42.145],[-2.35517,42.14608],[-2.3555,42.16747],[-2.31184,42.16785],[-2.3115,42.14605],[-2.2699,42.14641],[-2.26924,42.1048],[-2.2295,42.10515],[-2.22981,42.12514],[-2.14467,42.12587],[-2.14432,42.10386],[-2.10385,42.10421],[-2.10156,41.95811],[-1.97689,41.95919],[-1.97655,41.93765],[-1.93473,41.93801],[-1.93504,41.95776],[-1.89453,41.95811],[-1.89483,41.97715],[-1.854,41.97751],[-1.85304,41.91638],[-1.81381,41.91672],[-1.81151,41.76984],[-1.7706,41.77019],[-1.76866,41.64582],[-1.85335,41.64508],[-1.85305,41.62567],[-1.89471,41.6253],[-1.89403,41.58215],[-1.97716,41.58142],[-1.97683,41.56021],[-1.9377,41.56055],[-1.9358,41.43834]]],terms_text:"ITACyL"},{id:"gsi.go.jp",name:"Japan GSI ortho Imagery",type:"tms",template:"https://cyberjapandata.gsi.go.jp/xyz/ort/{zoom}/{x}/{y}.jpg",scaleExtent:[5,19],polygon:[[[130.35021,31.45741],[130.26851,31.45817],[130.20875,31.44939],[130.1002,31.44996],[130.09237,31.3919],[130.13355,31.37528],[130.35043,31.37528],[130.35021,31.45741]],[[130.4193,31.41715],[130.417,31.41672],[130.41677,31.47525],[130.34179,31.47506],[130.34179,31.48374],[130.33362,31.48374],[130.33329,31.50044],[130.36675,31.49997],[130.36664,31.52458],[130.35019,31.52544],[130.35041,31.54986],[130.32523,31.55024],[130.32501,31.60029],[130.31661,31.63336],[130.31634,31.65084],[130.3752,31.65084],[130.31164,31.67599],[130.29194,31.69179],[130.29105,31.73235],[130.2521,31.73387],[130.24986,31.71693],[130.24427,31.71712],[130.21629,31.75804],[130.17533,31.75919],[130.17422,31.78259],[130.18384,31.79096],[130.23644,31.79096],[130.26911,31.77003],[130.36334,31.75785],[130.42668,31.70893],[130.62409,31.7076],[130.62588,31.68627],[130.61088,31.62245],[130.55582,31.50249],[130.54239,31.41715],[130.42158,31.41715],[130.4193,31.41715]],[[130.52516,31.24184],[130.54441,31.24107],[130.56858,31.21715],[130.59924,31.21657],[130.59924,31.26633],[130.57641,31.26633],[130.57351,31.31625],[130.6308,31.28393],[130.68989,31.27666],[130.66706,31.26059],[130.66594,31.21925],[130.64401,31.18135],[130.59007,31.14688],[130.54239,31.17503],[130.54239,31.1913],[130.50009,31.19207],[130.50009,31.21581],[130.52494,31.21715],[130.52516,31.24184]],[[130.74987,31.16622],[130.74965,31.24107],[130.77449,31.25887],[130.77718,31.33307],[130.75122,31.37455],[130.74898,31.41658],[130.67557,31.46852],[130.67489,31.50077],[131.40006,31.5002],[131.40834,31.45916],[131.36694,31.40932],[131.3656,31.35142],[131.31703,31.34206],[131.29957,31.36595],[131.24317,31.36633],[131.19952,31.43358],[131.14782,31.45019],[131.13394,31.45],[131.1326,31.42899],[131.10059,31.42536],[131.05091,31.41639],[131.04912,31.39155],[131.08403,31.35085],[131.11626,31.35085],[131.11783,31.33422],[130.99943,31.33365],[130.99965,31.25102],[130.87521,31.25064],[130.87454,31.16679],[130.74987,31.16622]],[[130.86625,30.47468],[130.86602,30.49937],[130.93362,30.57493],[130.93227,30.61597],[131.00636,30.61655],[131.04933,30.59112],[131.04933,30.54275],[130.99203,30.50843],[130.99114,30.47526],[130.86625,30.47468]],[[137.87486,36.37519],[138.00005,36.37494],[138.00005,36.30839],[138.04159,36.30827],[138.04191,36.29175],[138.08306,36.29162],[138.08353,36.2499],[138.13307,36.24996],[138.13354,36.16677],[138.16654,36.1667],[138.16694,36.12485],[138.04167,36.12491],[138.04144,36.04158],[137.87479,36.04152],[137.87486,36.37519]],[[138.37446,35.83393],[138.4998,35.83285],[138.4998,35.75042],[138.74936,35.7506],[138.7507,35.58332],[138.62447,35.58386],[138.62536,35.49991],[138.37491,35.49972],[138.37446,35.83393]],[[135.79179,35.64165],[135.8006,35.64923],[135.834,35.65052],[135.8916,35.62003],[135.89271,35.6091],[135.95776,35.60858],[135.9834,35.6172],[135.98435,35.641],[135.95095,35.6419],[135.95048,35.68305],[135.94225,35.69204],[135.94178,35.73239],[136.00809,35.77516],[136.03167,35.77503],[136.05018,35.75012],[136.05003,35.66646],[136.0084,35.65836],[136.00856,35.61694],[136.03404,35.60022],[136.06664,35.59996],[136.06617,35.61656],[136.1002,35.62492],[136.1002,35.69127],[136.07598,35.69166],[136.07503,35.74922],[136.08342,35.76694],[136.12441,35.76605],[136.15021,35.7004],[136.15875,35.64216],[136.17442,35.62492],[136.17553,35.58342],[136.1749,35.55813],[136.15859,35.55832],[136.15875,35.56701],[136.1165,35.56675],[136.11626,35.52555],[136.04045,35.5247],[136.01684,35.50311],[136.01661,35.48334],[135.97543,35.48334],[135.94141,35.50885],[135.94186,35.56641],[135.93358,35.57487],[135.90873,35.57514],[135.90851,35.59953],[135.83185,35.59972],[135.7928,35.62519],[135.79179,35.64165]],[[135.80916,35.47505],[135.77044,35.53345],[135.7579,35.53326],[135.74168,35.51641],[135.70072,35.51705],[135.67464,35.53363],[135.67543,35.56659],[135.6996,35.58333],[135.81654,35.58343],[135.81654,35.56804],[135.85817,35.54956],[135.85851,35.52543],[135.8509,35.5247],[135.85012,35.47514],[135.80916,35.47505]],[[135.58333,35.44132],[135.61656,35.44989],[135.64163,35.47496],[135.71639,35.47478],[135.71728,35.46703],[135.81442,35.46539],[135.86668,35.44187],[135.86679,35.40868],[135.81722,35.40822],[135.81677,35.38496],[135.77548,35.3835],[135.75835,35.40804],[135.59183,35.4084],[135.58322,35.42536],[135.58333,35.44132]],[[135.40011,35.43312],[135.42496,35.44189],[135.45803,35.45008],[135.45899,35.49164],[135.46642,35.49184],[135.46619,35.50807],[135.44181,35.51709],[135.43968,35.53293],[135.45843,35.55804],[135.52324,35.55811],[135.52498,35.5091],[135.54152,35.50008],[135.54152,35.4834],[135.57515,35.48366],[135.57491,35.49164],[135.60878,35.49171],[135.60894,35.46684],[135.59208,35.45826],[135.53305,35.45826],[135.50029,35.45008],[135.50045,35.4415],[135.50789,35.42506],[135.53337,35.42513],[135.53297,35.38346],[135.5416,35.38333],[135.54176,35.36688],[135.5086,35.35836],[135.50892,35.34216],[135.50013,35.34164],[135.50013,35.41662],[135.39987,35.41655],[135.40011,35.43312]],[[133.70822,35.45816],[133.70822,35.33319],[133.12484,35.33328],[133.12495,35.3749],[132.95877,35.37508],[132.95821,35.4578],[132.87506,35.45853],[132.87461,35.52504],[132.95015,35.52522],[132.9497,35.55819],[133.01674,35.55855],[133.01685,35.56675],[133.03352,35.56693],[133.03308,35.59205],[133.06687,35.59187],[133.06654,35.6168],[133.14135,35.61671],[133.14151,35.59181],[133.36667,35.59186],[133.36689,35.57484],[133.34216,35.57447],[133.34194,35.558],[133.33321,35.55026],[133.28363,35.55017],[133.28341,35.49178],[133.33354,35.4916],[133.33354,35.47529],[133.41714,35.47492],[133.41714,35.37516],[133.49995,35.37534],[133.49973,35.45806],[133.45854,35.45806],[133.45854,35.51629],[133.49212,35.5335],[133.54136,35.54161],[133.58343,35.54197],[133.58355,35.45843],[133.70822,35.45816]],[[133.84174,35.46646],[133.84158,35.58367],[133.975,35.58329],[133.97532,35.5086],[134.00823,35.50834],[134.0334,35.49971],[134.0421,35.47497],[134.04432,35.45834],[134.08357,35.4586],[134.08309,35.53359],[134.13326,35.54969],[134.23328,35.55999],[134.27491,35.58342],[134.33299,35.58367],[134.33521,35.49172],[134.36654,35.49224],[134.36654,35.49997],[134.41718,35.49971],[134.41592,35.5417],[134.6253,35.54157],[134.62514,35.37554],[134.70839,35.37463],[134.70823,35.33398],[134.41655,35.33359],[134.41592,35.37528],[134.39218,35.37541],[134.39155,35.35011],[134.37477,35.33346],[134.20005,35.33359],[134.19939,35.35874],[134.24997,35.39971],[134.27515,35.39962],[134.27504,35.39205],[134.35819,35.39314],[134.35852,35.3999],[134.3752,35.39999],[134.37441,35.42489],[134.33256,35.42507],[134.33278,35.41659],[134.04954,35.41659],[134.05077,35.39178],[134.0661,35.39187],[134.06711,35.39999],[134.14187,35.40017],[134.14164,35.36678],[134.18339,35.35847],[134.18372,35.33337],[133.78309,35.33364],[133.78331,35.34159],[133.82472,35.3592],[133.82505,35.38311],[133.84173,35.40838],[133.89981,35.40893],[133.89981,35.41677],[133.85829,35.41659],[133.8574,35.46646],[133.84174,35.46646]],[[133.24987,33.66667],[133.41786,33.66674],[133.52485,33.66674],[133.52493,33.79178],[133.64157,33.79185],[133.64188,33.66681],[133.75006,33.66687],[133.75029,33.62517],[133.79152,33.62498],[133.79168,33.5084],[133.73336,33.5084],[133.73328,33.51658],[133.64196,33.51671],[133.60833,33.48346],[133.52493,33.46682],[133.47492,33.41935],[133.43313,33.38321],[133.37497,33.38334],[133.37497,33.49157],[133.20817,33.49191],[133.20824,33.55827],[133.24947,33.55833],[133.24987,33.66667]],[[134.3501,33.73355],[134.4832,33.73368],[134.48336,33.66732],[134.43366,33.65033],[134.43287,33.63412],[134.35279,33.63347],[134.3501,33.73355]],[[140.31656,36.21656],[140.31671,36.44984],[140.34973,36.44994],[140.35012,36.51668],[140.47467,36.51671],[140.47483,36.59159],[140.62489,36.59204],[140.62467,36.63354],[140.64974,36.6348],[140.65041,36.71684],[140.69912,36.81554],[140.71006,36.91306],[140.70838,36.95687],[140.74956,36.95866],[140.75323,37.06176],[140.75001,37.16671],[141.00832,37.16666],[141.00837,37.0917],[140.98331,37.05828],[140.98333,36.95834],[140.90834,36.90002],[140.81672,36.89999],[140.80828,36.87498],[140.80833,36.85],[140.81655,36.85004],[140.81669,36.8415],[140.81669,36.81816],[140.79988,36.80832],[140.7834,36.79992],[140.775,36.79523],[140.77498,36.78339],[140.75836,36.775],[140.75825,36.75837],[140.75002,36.75831],[140.74689,36.71939],[140.73336,36.65048],[140.69167,36.58337],[140.65003,36.51336],[140.64998,36.38351],[140.59986,36.27483],[140.57499,36.24796],[140.57463,36.21729],[140.31656,36.21656]],[[141.2166,41.24992],[141.41662,41.24971],[141.39858,41.17052],[141.40426,41.0968],[141.39503,41.04046],[141.39858,40.97185],[141.40625,40.91003],[141.41136,40.83011],[141.41307,40.80204],[141.42245,40.74987],[141.34161,40.75084],[141.3149,40.74556],[141.29203,40.74169],[141.23322,40.7419],[141.23307,40.85837],[141.25026,40.85858],[141.24941,40.91647],[141.17412,40.9169],[141.22498,40.9948],[141.23819,41.0696],[141.2497,41.1258],[141.27143,41.15875],[141.23336,41.22995],[141.2166,41.24992]],[[141.25854,41.3166],[141.15015,41.31672],[141.1499,41.39163],[141.18877,41.39205],[141.21625,41.37916],[141.25849,41.36012],[141.25854,41.3166]],[[141.05841,45.2584],[141.03453,45.25833],[141.00874,45.25815],[141.0083,45.27495],[140.99994,45.27495],[141.00002,45.30371],[140.99999,45.30828],[140.99196,45.30846],[140.99171,45.34162],[140.98351,45.34172],[140.98336,45.34998],[140.97477,45.35008],[140.97502,45.3667],[140.96664,45.36675],[140.96685,45.39818],[140.9665,45.42499],[140.9584,45.42484],[140.95816,45.43314],[140.95012,45.4335],[140.94967,45.51651],[140.97443,45.51672],[140.97448,45.50014],[140.98307,45.50042],[140.98332,45.46697],[140.99045,45.46704],[140.99135,45.45876],[141.00019,45.45813],[141.00035,45.45002],[141.01627,45.4502],[141.01637,45.47496],[141.04992,45.47532],[141.04992,45.46676],[141.06614,45.46679],[141.0665,45.4502],[141.07463,45.44999],[141.07498,45.34178],[141.0666,45.34168],[141.06418,45.30611],[141.06644,45.30565],[141.06629,45.28484],[141.05906,45.28357],[141.05841,45.2584]],[[144.27488,42.96671],[144.27502,42.99155],[144.25861,42.99145],[144.25805,42.98314],[144.20818,42.98319],[144.20854,42.97472],[144.16684,42.97503],[144.16684,43.00496],[144.16642,43.04178],[144.07486,43.04188],[144.07493,43.10025],[144.24988,43.1],[144.24988,43.1168],[144.29179,43.11675],[144.292,43.0919],[144.4168,43.09185],[144.4168,43.1168],[144.56654,43.1168],[144.56675,42.99171],[144.50005,42.9915],[144.5002,42.92481],[144.46653,42.92501],[144.31739,42.96675],[144.27488,42.96671]],[[140.69973,42.57513],[140.70015,42.61647],[140.84451,42.61673],[140.99961,42.61669],[141.00006,42.54168],[141.24984,42.54168],[141.24994,42.58336],[141.29163,42.58332],[141.29158,42.6251],[141.37501,42.62498],[141.37501,42.66662],[141.49992,42.66666],[141.49992,42.8165],[141.47496,42.8165],[141.47511,42.83341],[141.81236,42.83357],[141.95752,42.83328],[141.94355,42.77977],[141.95762,42.77896],[141.95832,42.7502],[141.99991,42.75086],[141.9992,42.71493],[142.00031,42.67632],[142.01799,42.65076],[142.09082,42.65002],[142.09122,42.5251],[142.02472,42.5251],[141.96033,42.52495],[141.8665,42.52518],[141.8656,42.57713],[141.83577,42.58519],[141.80482,42.57417],[141.74646,42.57705],[141.73069,42.61477],[141.61707,42.61055],[141.52134,42.60331],[141.45615,42.57587],[141.3562,42.52866],[141.27523,42.48822],[141.19507,42.43791],[141.10476,42.3914],[141.05393,42.33165],[141.0254,42.29161],[140.95187,42.29146],[140.9147,42.32682],[140.89451,42.37174],[140.88426,42.42723],[140.85041,42.46096],[140.76643,42.49978],[140.76663,42.52821],[140.69973,42.57513]],[[140.75005,43.23374],[140.82762,43.2135],[140.88245,43.22531],[140.97338,43.24601],[141.02139,43.24311],[141.04213,43.20211],[141.08346,43.18205],[141.17267,43.16382],[141.25678,43.19366],[141.37528,43.33327],[141.62491,43.33335],[141.62451,43.4168],[141.79146,43.4168],[141.79197,43.83339],[142.12487,43.83332],[142.12487,43.75022],[142.16656,43.74993],[142.16656,43.83317],[142.24954,43.83325],[142.24984,43.8581],[142.27465,43.8581],[142.27465,43.87425],[142.26671,43.8749],[142.26651,43.91688],[142.24994,43.9171],[142.25001,44.5],[142.49997,44.50013],[142.49977,43.88366],[142.51674,43.88344],[142.51644,43.83346],[142.62473,43.83346],[142.62473,43.58331],[142.54176,43.58403],[142.54196,43.50008],[142.50057,43.50022],[142.50037,43.25006],[142.25054,43.25014],[142.25004,43.45838],[142.00031,43.45816],[142.00001,43.41724],[141.91703,43.41688],[141.91703,43.33342],[141.87494,43.33327],[141.87454,43.17487],[141.93351,43.17473],[141.93391,43.15868],[141.99137,43.15802],[141.99207,43.1334],[141.87524,43.13332],[141.87484,43.00012],[141.49984,43.00027],[141.50015,42.91683],[141.25021,42.91631],[141.25001,42.9999],[141.12505,43.00005],[141.12525,43.08323],[140.99988,43.0836],[141.00008,43.16638],[140.75086,43.1666],[140.75005,43.23374]],[[140.59121,41.78353],[140.58382,41.8334],[140.58453,41.87732],[140.59092,41.91613],[140.60797,41.94403],[140.57544,41.95914],[140.58439,41.99979],[140.7104,42.00011],[140.86894,42.00011],[140.91724,42.00053],[140.99041,41.91909],[141.04737,41.90693],[141.12722,41.88398],[141.17552,41.83732],[141.20194,41.81488],[141.18418,41.78321],[141.11301,41.76711],[141.05689,41.71559],[140.99382,41.69968],[140.94267,41.70414],[140.89238,41.73563],[140.84806,41.74326],[140.80018,41.75672],[140.73299,41.74634],[140.69705,41.73234],[140.6881,41.76986],[140.59121,41.78353]],[[140.2418,42.2338],[140.24159,42.25827],[140.21005,42.25797],[140.20804,42.27485],[140.26611,42.27514],[140.2651,42.29179],[140.29001,42.2912],[140.29182,42.26779],[140.33914,42.24139],[140.34145,42.21662],[140.29323,42.21662],[140.2418,42.2338]],[[140.55007,42.08447],[140.54977,42.11387],[140.58066,42.11193],[140.62636,42.12069],[140.63365,42.12136],[140.6336,42.10061],[140.60853,42.09964],[140.60848,42.08327],[140.54972,42.08312],[140.55007,42.08447]],[[140.6583,41.06668],[140.67117,40.91974],[140.84492,40.91652],[140.91726,40.91688],[140.91712,40.87597],[140.9846,40.87533],[140.98503,40.79278],[141.13391,40.79192],[141.13972,40.68034],[141.17424,40.68174],[141.18504,40.60057],[141.43351,40.60078],[141.43308,40.51757],[141.18305,40.51649],[141.18362,40.58223],[141.16714,40.59172],[141.04397,40.59237],[141.04283,40.65825],[140.98402,40.65836],[140.72646,40.65857],[140.72589,40.57521],[140.66849,40.57467],[140.60883,40.57489],[140.60925,40.48311],[140.55058,40.483],[140.54888,40.51757],[140.40028,40.51692],[140.40013,40.5832],[140.25665,40.58233],[140.24898,40.63292],[140.33251,40.63292],[140.33251,40.66687],[140.41676,40.66698],[140.41704,40.73311],[140.33194,40.73375],[140.33351,40.75851],[140.28421,40.75818],[140.28037,40.85679],[140.30254,40.98507],[140.31845,41.00019],[140.42443,41.0004],[140.42443,40.90029],[140.55044,40.89975],[140.54994,41.06668],[140.6583,41.06668]],[[140.01669,40.33381],[140.25252,40.33381],[140.25006,39.33298],[139.98341,39.3332],[140.05622,39.72433],[140.00614,39.77043],[139.94073,39.88023],[139.94158,40.01081],[139.94055,40.08509],[139.94116,40.10876],[140.01669,40.33381]],[[139.85814,39.04176],[139.87552,39.04137],[139.87703,39.00009],[139.91671,39.00001],[139.9167,38.79173],[139.75493,38.79165],[139.7502,38.79386],[139.79376,38.89687],[139.79014,38.9254],[139.83615,38.99102],[139.85814,39.04176]],[[139.37551,38.1174],[139.38053,37.95893],[139.417,37.95845],[139.417,37.87413],[139.37571,37.8746],[139.37611,37.83296],[139.29234,37.83145],[139.30007,37.78074],[139.29173,37.68357],[139.29193,37.66473],[139.22935,37.6594],[139.18113,37.61024],[139.14537,37.60769],[139.12367,37.62671],[139.09816,37.65018],[139.08831,37.6664],[138.99951,37.66656],[138.99942,37.79171],[138.81261,37.79199],[138.86834,37.84689],[138.9915,37.91333],[139.08231,37.9775],[139.27679,38.03417],[139.37551,38.1174]],[[139.96008,38.49993],[140.50033,38.50009],[140.50023,38.16654],[140.37496,38.16654],[140.37536,38.08348],[140.2504,38.08293],[140.21705,38.07407],[140.22136,38.0422],[140.2512,38.04196],[140.2504,38.00017],[140.23372,37.99962],[140.23352,37.94197],[140.20861,37.9411],[140.20841,37.90013],[140.19253,37.89965],[140.19123,37.88372],[140.15838,37.883],[140.15828,37.85811],[140.0753,37.85945],[140.0741,37.87476],[140.05019,37.87571],[140.05019,37.89252],[140.05762,37.89355],[140.05813,37.92541],[140.0741,37.92573],[140.0742,37.94197],[140.09871,37.95369],[140.09821,37.99234],[140.10182,38.00041],[140.12282,38.00081],[140.11549,38.01806],[140.08977,38.02795],[140.0747,38.04133],[140.06727,38.03492],[140.06707,37.99186],[140.01634,37.9917],[140.01584,38.066],[139.99805,38.06656],[139.99966,38.13739],[139.99956,38.17514],[139.99795,38.3337],[139.95787,38.33378],[139.95837,38.50028],[139.96008,38.49993]],[[140.70822,38.7833],[140.70837,39.15023],[141.04194,39.14957],[141.04167,39.50008],[141.00147,39.49986],[140.99893,39.91638],[141.25077,39.91692],[141.25037,39.5007],[141.16709,39.50008],[141.16699,39.45627],[141.16669,39.40273],[141.16689,39.25073],[141.20798,39.24996],[141.20898,38.87471],[141.03399,38.8751],[141.03339,38.78354],[140.86794,38.78315],[140.70822,38.7833]],[[141.3759,38.36972],[141.37476,38.49992],[141.24904,38.50025],[141.25134,38.66886],[141.52524,38.66653],[141.54981,38.63369],[141.55052,38.55563],[141.55549,38.47938],[141.56558,38.39559],[141.54626,38.37398],[141.55919,38.32429],[141.59854,38.31226],[141.59527,38.26063],[141.50762,38.23664],[141.46983,38.24479],[141.39226,38.27725],[141.41158,38.34781],[141.3759,38.36972]],[[131.04175,33.7381],[131.0413,33.70887],[130.99956,33.70858],[131.00035,33.68392],[131.04959,33.68392],[131.05014,33.64171],[131.0751,33.64201],[131.07588,33.61683],[131.10039,33.61666],[131.10084,33.60082],[131.17448,33.60007],[131.19999,33.58422],[131.20066,33.55868],[131.2405,33.55868],[131.28258,33.54207],[131.33137,33.52528],[131.41821,33.55065],[131.51625,33.55084],[131.51692,33.5667],[131.63353,33.56688],[131.63308,33.47545],[131.7423,33.47452],[131.74946,33.45939],[131.75014,33.33289],[131.60756,33.33401],[131.60801,33.37421],[131.52565,33.37458],[131.52467,33.26691],[131.5769,33.25843],[131.64942,33.28332],[131.71634,33.28388],[131.77497,33.26687],[131.78385,33.25028],[131.83291,33.25015],[131.88403,33.2745],[131.90825,33.2749],[131.90809,33.25849],[131.87517,33.20607],[131.84985,33.18276],[131.85032,33.14964],[131.87525,33.15038],[131.90777,33.14129],[131.9171,33.13332],[131.91733,33.10858],[131.9505,33.09967],[131.95019,33.08349],[131.98279,33.08336],[131.98279,33.10007],[132.00036,33.1169],[132.0252,33.1169],[132.02473,33.0998],[132.00843,33.09172],[132.00843,33.06718],[132.01745,33.06705],[132.01715,33.04988],[131.99181,33.04211],[131.92518,33.04092],[131.9255,33.025],[131.95003,33.025],[131.95045,33.01347],[131.95034,32.97482],[131.98326,32.97536],[131.98492,32.95941],[132.0261,32.95922],[132.05828,32.95862],[132.05844,32.99142],[132.07198,32.9917],[132.08297,32.98332],[132.09168,32.92635],[132.02473,32.92542],[132.02473,32.90058],[132.03349,32.88294],[132.00795,32.88357],[131.98326,32.85871],[131.99988,32.8498],[132.01715,32.8429],[132.01603,32.82654],[131.97551,32.78396],[131.93411,32.76746],[131.8992,32.76614],[131.89179,32.71661],[131.83317,32.6507],[131.78369,32.64894],[131.78415,32.58396],[131.74185,32.58283],[131.7082,32.56669],[131.70773,32.54294],[131.74159,32.50852],[131.74141,32.45129],[131.70804,32.44216],[131.70112,32.40878],[131.65787,32.39219],[131.64226,32.33355],[131.59948,32.27572],[131.57492,32.18338],[131.54184,32.08474],[131.542,32.00009],[131.49975,32.00023],[131.50038,31.74971],[131.4586,31.75011],[131.45876,31.79182],[131.24969,31.79169],[131.24969,32.16704],[131.37488,32.16717],[131.37504,32.25046],[131.49991,32.25019],[131.49991,32.33341],[131.54137,32.33341],[131.54167,32.62506],[131.66645,32.62515],[131.66633,32.66662],[131.74993,32.66652],[131.75006,32.91664],[131.5977,32.91688],[131.25044,32.91663],[131.24902,33.00042],[131.49971,33.00002],[131.49987,33.06345],[131.50018,33.13915],[131.4804,33.16631],[131.284,33.16618],[131.26706,33.20035],[131.26627,33.25039],[131.29966,33.26985],[131.29951,33.31999],[131.24427,33.34114],[131.17511,33.34154],[131.17527,33.35806],[131.07525,33.35806],[131.07572,33.33347],[131.00055,33.33321],[131.00007,33.2496],[130.91445,33.2496],[130.7497,33.25013],[130.7497,33.08374],[130.62546,33.08321],[130.62546,33.00002],[130.72796,33.00171],[130.87492,33.00018],[130.8753,32.79131],[130.96677,32.79185],[130.96709,32.85808],[130.92531,32.85781],[130.92531,32.95029],[130.96679,32.95831],[131.00012,32.91683],[131.00017,32.50007],[130.66647,32.50046],[130.66669,32.33306],[130.62506,32.33306],[130.62461,32.24943],[130.49972,32.25037],[130.50039,32.12517],[130.33275,32.12498],[130.3437,32.16133],[130.34954,32.20815],[130.42748,32.29423],[130.46637,32.40054],[130.4939,32.40073],[130.523,32.43304],[130.54941,32.44456],[130.54986,32.4659],[130.48383,32.46647],[130.47421,32.47535],[130.4751,32.50064],[130.5089,32.54197],[130.62439,32.62571],[130.62484,32.6666],[130.52569,32.66679],[130.52524,32.68337],[130.55859,32.71671],[130.55903,32.7745],[130.57493,32.78372],[130.57493,32.82172],[130.50935,32.84185],[130.50778,32.86986],[130.44155,32.89158],[130.41624,32.94258],[130.41579,32.97488],[130.37438,33.00098],[130.37528,33.08315],[130.24927,33.08372],[130.24905,33.16076],[130.15863,33.09741],[130.17775,33.07174],[130.18369,33.06684],[130.18369,33.03401],[130.19958,33.025],[130.19977,33.00001],[130.12479,33.00001],[130.12457,32.96678],[130.0409,32.9407],[130.02501,32.94164],[130.02456,32.91647],[130.12457,32.9172],[130.12457,32.86739],[130.15031,32.86683],[130.19578,32.8661],[130.23334,32.89183],[130.29198,32.89183],[130.29243,32.84991],[130.29153,32.7916],[130.2922,32.71725],[130.18343,32.65791],[130.15034,32.65002],[130.11539,32.64962],[130.11744,32.70014],[130.15903,32.71706],[130.24856,32.75867],[130.24968,32.79085],[130.1333,32.79235],[130.12569,32.76751],[130.00147,32.74963],[129.9294,32.67317],[129.80048,32.57459],[129.80003,32.54704],[129.77425,32.54749],[129.71767,32.54987],[129.71632,32.59043],[129.7499,32.67487],[129.75012,32.72459],[129.80025,32.72553],[129.74161,32.77523],[129.62411,32.8501],[129.62646,32.91787],[129.83159,32.91738],[129.87121,32.91644],[129.89269,32.94105],[129.93343,33.00827],[129.967,33.07469],[130.05809,33.12025],[130.05876,33.21693],[130.24946,33.21674],[130.2499,33.33331],[130.21566,33.3335],[130.0422,33.33331],[129.92559,33.33294],[129.90836,33.35837],[129.90791,33.38304],[129.86695,33.38285],[129.86697,33.36012],[129.83338,33.34079],[129.80093,33.34098],[129.80003,33.31592],[129.75057,33.31686],[129.75034,33.27533],[129.72572,33.27477],[129.6917,33.30807],[129.69237,33.25025],[129.87479,33.25025],[129.8759,33.21299],[129.87521,33.11856],[129.87523,33.03323],[129.80831,33.03305],[129.7499,33.05031],[129.734,33.058],[129.72658,33.08172],[129.69842,33.09982],[129.62413,33.09928],[129.62374,33.12377],[129.62501,33.24201],[129.59255,33.24108],[129.59255,33.29928],[129.54197,33.3004],[129.50012,33.31761],[129.49989,33.41686],[129.59949,33.41593],[129.66753,33.40864],[129.66775,33.43274],[129.8336,33.56656],[129.93208,33.56787],[129.93522,33.40827],[130.04131,33.3836],[130.04108,33.48428],[130.24901,33.48465],[130.25057,33.61681],[130.28504,33.63405],[130.28303,33.69151],[130.30888,33.69151],[130.32365,33.66712],[130.39225,33.69179],[130.41777,33.72484],[130.43388,33.77546],[130.39024,33.87047],[130.39113,33.92509],[130.50774,33.92621],[130.60555,33.89166],[130.66665,33.9496],[130.74991,34.00844],[130.84973,34.00825],[130.8504,34.14155],[130.88308,34.19192],[130.85801,34.27519],[130.83228,34.36706],[130.97127,34.45052],[131.08608,34.43336],[131.19307,34.44166],[131.29356,34.44092],[131.36518,34.44591],[131.37548,34.5328],[131.44934,34.55013],[131.57445,34.69176],[131.62526,34.69158],[131.78596,34.70078],[131.86989,34.77435],[131.99545,34.88146],[132.37594,35.16739],[132.74972,35.16684],[132.75084,35.08318],[132.6255,35.08337],[132.62505,34.91671],[132.3755,34.91689],[132.37527,34.83426],[132.12482,34.83298],[132.12482,34.75008],[132.00038,34.7499],[132.00038,34.5833],[131.74989,34.58326],[131.75139,34.37954],[131.75147,34.1671],[132.12497,34.16683],[132.12481,34.2914],[132.25016,34.29193],[132.24929,34.40917],[132.25016,34.49983],[132.37249,34.49996],[132.37503,34.58339],[132.49167,34.58339],[132.49182,34.70831],[132.59177,34.70824],[132.58365,34.5417],[132.84148,34.54133],[132.84193,34.66623],[133.08343,34.66678],[133.08365,34.76631],[133.20743,34.76687],[133.20787,34.66678],[133.49973,34.66642],[133.50026,34.83314],[133.7012,34.83357],[133.69941,34.87526],[133.74984,34.87535],[133.74984,34.9999],[133.8751,35.00003],[133.87518,35.12504],[133.97425,35.12517],[133.97546,35.00097],[134.0585,34.99997],[134.05816,35.07464],[134.16654,35.0748],[134.1667,35.00016],[134.75338,35.00016],[134.83324,34.99997],[134.8333,35.04176],[135.24494,35.04176],[135.37472,35.04153],[135.37535,35.0836],[135.74948,35.08335],[135.75066,35.25004],[135.87474,35.2503],[135.87529,35.33388],[136.00001,35.33356],[136.00024,35.2587],[135.98331,35.24255],[135.93361,35.20027],[135.93306,35.1667],[135.97539,35.16664],[135.97523,35.15597],[136.04993,35.15829],[136.04993,35.21663],[136.05895,35.22484],[136.12455,35.23344],[136.12536,35.25011],[136.16667,35.24997],[136.16651,35.36441],[136.16664,35.45873],[136.33347,35.45857],[136.37478,35.33382],[136.49981,35.33356],[136.49965,35.49981],[136.74991,35.58365],[137.00003,35.58344],[136.99984,35.41254],[136.99999,35.33351],[137.24995,35.33357],[137.24998,34.91665],[137.6249,34.91658],[137.62516,35.00034],[137.69186,35.00052],[137.69182,35.06711],[137.74199,35.06668],[137.74222,35.10789],[137.77489,35.10844],[137.77474,35.15015],[138.16671,35.15021],[138.16666,35.2918],[138.38224,35.29138],[138.50029,35.29187],[138.50119,35.33333],[138.38256,35.33369],[138.38319,35.44169],[138.49985,35.44208],[138.49988,35.4584],[138.66644,35.45855],[138.66704,35.37476],[138.70818,35.37519],[138.70818,35.33348],[138.8334,35.33357],[138.83329,35.40832],[139.0082,35.40836],[139.00858,35.39192],[139.1243,35.39228],[139.12498,35.41668],[139.25001,35.41667],[139.24995,35.49996],[139.12487,35.50005],[139.12492,35.5833],[138.99999,35.58333],[138.99999,35.6667],[139.1249,35.66678],[139.12504,35.8092],[139.12474,35.91713],[139.00053,35.91713],[139.00006,36.00001],[139.12492,36.00012],[139.12547,36.11894],[139.12495,36.16664],[139,36.16668],[138.99941,36.25031],[138.95831,36.25002],[138.95822,36.29127],[138.91663,36.29166],[138.91678,36.37496],[138.95845,36.37565],[138.95836,36.45832],[139.08379,36.45868],[139.08334,36.5],[139.25009,36.50012],[139.2496,36.54136],[139.37464,36.54189],[139.37505,36.62499],[139.45022,36.62528],[139.44999,36.66667],[139.66374,36.66671],[139.75002,36.66665],[139.75005,36.75003],[140,36.75001],[139.99998,36.62209],[140.00001,36.41668],[140.25001,36.41666],[140.24999,36.04158],[140.50004,36.04158],[140.49989,35.83349],[140.41632,35.83374],[140.4168,35.7919],[140.45874,35.79113],[140.45874,35.72461],[140.51666,35.72486],[140.51691,35.7417],[140.59144,35.74174],[140.5915,35.94177],[140.65002,35.94164],[140.64994,36.00837],[140.67503,36.00834],[140.71403,35.92326],[140.77327,35.83877],[140.81532,35.78508],[140.89133,35.7501],[140.89211,35.71717],[140.86632,35.67853],[140.80694,35.70622],[140.72767,35.6761],[140.68235,35.68891],[140.60194,35.63074],[140.48545,35.54409],[140.4095,35.42897],[140.40816,35.33353],[140.30722,35.33371],[140.30767,35.41748],[140.30946,35.45851],[140.20762,35.45905],[140.20829,35.37478],[140.12503,35.37478],[140.12436,35.33408],[140.29155,35.33316],[140.29245,35.20909],[140.31707,35.20836],[140.31662,35.18422],[140.35042,35.18257],[140.3431,35.13152],[140.23201,35.10096],[140.13697,35.09271],[140.05542,35.03643],[139.98865,34.98849],[139.96379,34.91688],[139.91222,34.88262],[139.82272,34.89218],[139.78337,34.93633],[139.73961,34.95322],[139.7443,34.99303],[139.81476,35.00932],[139.7963,35.05283],[139.80169,35.09108],[139.80766,35.1529],[139.80866,35.19667],[139.85153,35.24127],[139.8325,35.29189],[139.74927,35.2961],[139.76149,35.33517],[139.79232,35.35267],[139.81035,35.49933],[140.0035,35.49988],[140.03349,35.53668],[140.06639,35.58384],[139.79714,35.58311],[139.80005,35.50079],[139.77087,35.47343],[139.70992,35.44207],[139.6987,35.40282],[139.66887,35.36715],[139.68478,35.30781],[139.73549,35.2728],[139.75069,35.25934],[139.73734,35.23092],[139.74388,35.20852],[139.69714,35.18971],[139.67426,35.1702],[139.68932,35.15394],[139.68151,35.13477],[139.62355,35.12199],[139.59783,35.1285],[139.60224,35.17253],[139.58363,35.18959],[139.59033,35.24164],[139.5496,35.28403],[139.49879,35.30084],[139.42314,35.30942],[139.29131,35.30066],[139.23074,35.27778],[139.15546,35.23542],[139.15031,35.17507],[139.16665,35.13316],[139.12502,35.13298],[139.09436,35.13335],[139.05832,35.13316],[139.05671,35.00443],[139.03348,34.98385],[138.99968,34.98367],[139.00057,34.88274],[139.14136,34.88348],[139.11002,34.84602],[139.08129,34.79529],[139.01691,34.74107],[138.9999,34.64151],[138.90044,34.6097],[138.87367,34.59159],[138.80026,34.59988],[138.75773,34.65881],[138.72528,34.67575],[138.72528,34.72506],[138.83316,34.72598],[138.83383,34.74952],[138.7419,34.75106],[138.7338,34.8136],[138.74985,34.90057],[138.76065,34.93773],[138.75028,34.98313],[138.77855,35.04352],[138.87546,35.03316],[138.87703,35.04929],[138.85845,35.04984],[138.76804,35.12107],[138.68294,35.12223],[138.61873,35.09015],[138.55409,35.05201],[138.54926,34.99442],[138.49996,34.95392],[138.39142,34.91129],[138.35562,34.86759],[138.33929,34.80042],[138.27635,34.72246],[138.24467,34.66616],[138.24396,34.58503],[138.12662,34.58573],[138.01467,34.62561],[137.88184,34.65541],[137.79532,34.63718],[137.68991,34.65307],[137.57654,34.66441],[137.38135,34.64618],[137.18402,34.58409],[137.03187,34.5662],[137.00794,34.57573],[137.0254,34.61792],[137.0599,34.66613],[137.17517,34.66686],[137.30767,34.75996],[137.29894,34.77595],[137.29088,34.79231],[137.25037,34.79213],[137.21635,34.76768],[137.15816,34.74911],[137.08318,34.75076],[137.03215,34.76345],[136.94061,34.80848],[136.93456,34.77522],[136.98335,34.72575],[137.06751,34.74212],[137.06773,34.70183],[137.02454,34.70809],[137.01581,34.64937],[136.98179,34.65029],[136.82601,34.74911],[136.84884,34.82319],[136.79266,34.82521],[136.79132,35.00048],[136.75081,35.00012],[136.74991,34.95849],[136.68277,34.96069],[136.6624,34.89701],[136.59078,34.80003],[136.53863,34.72704],[136.58294,34.62506],[136.75682,34.54181],[136.85798,34.54126],[136.93945,34.54347],[136.91675,34.49231],[136.94081,34.46687],[136.94113,34.40866],[136.92404,34.35876],[136.90742,34.30209],[136.90045,34.2666],[136.84981,34.23416],[136.81693,34.1923],[136.79948,34.19254],[136.79996,34.22906],[136.74203,34.25863],[136.73325,34.28285],[136.70896,34.28334],[136.64264,34.25902],[136.5594,34.22605],[136.53564,34.22167],[136.50068,34.20864],[136.44007,34.20053],[136.38325,34.16675],[136.3334,34.14802],[136.31583,34.08487],[136.2674,34.08316],[136.12497,34.08343],[136.12449,34.16688],[136.24968,34.16688],[136.24984,34.25012],[136.37486,34.25025],[136.37468,34.33331],[136.50021,34.33302],[136.49973,34.49192],[136.45843,34.49127],[136.45811,34.5416],[136.4168,34.54186],[136.41664,34.62516],[136.37494,34.62464],[136.37469,34.68106],[136.37485,34.74974],[136.33402,34.75026],[136.33354,34.79109],[136.37485,34.79213],[136.37533,34.95858],[136.33323,34.95858],[136.33323,34.83345],[136.29239,34.83371],[136.29208,34.792],[136.24966,34.79213],[136.24998,34.70838],[136.29192,34.70851],[136.2916,34.62475],[136.12487,34.62512],[136.12498,34.66674],[136.04161,34.66655],[136.04094,34.7499],[136.00023,34.75009],[135.99991,34.65993],[135.99975,34.58387],[136.04153,34.58374],[136.04185,34.50017],[136.04989,34.49997],[136.05005,34.42503],[135.91674,34.425],[135.91667,34.35836],[135.81665,34.35837],[135.81661,34.31668],[135.74991,34.31672],[135.75007,34.29167],[135.64152,34.29176],[135.64186,34.27512],[135.53325,34.27489],[135.53348,34.25834],[135.475,34.25834],[135.47511,34.22498],[135.37507,34.22512],[135.3749,34.20814],[135.50001,34.20837],[135.50001,33.66652],[135.87502,33.66661],[135.87558,33.74983],[136.03371,33.75021],[136.01272,33.71062],[135.99681,33.67327],[135.97948,33.63389],[135.97195,33.61271],[135.95831,33.56798],[135.85332,33.50522],[135.85353,33.48302],[135.87591,33.4814],[135.86057,33.44051],[135.77718,33.42558],[135.7418,33.42534],[135.74163,33.4665],[135.68498,33.47915],[135.59008,33.49633],[135.47373,33.52819],[135.3902,33.5752],[135.37485,33.61633],[135.37533,33.64967],[135.33371,33.6498],[135.32468,33.66653],[135.45794,33.66666],[135.45842,33.74987],[135.41727,33.75],[135.41663,33.78802],[135.41743,33.83273],[135.37517,33.83326],[135.37517,33.79171],[135.3284,33.78999],[135.28777,33.75622],[135.21503,33.7698],[135.14371,33.85113],[135.12013,33.87826],[135.05776,33.87991],[135.05947,33.96479],[135.07709,34.00837],[135.11345,34.05029],[135.06515,34.06759],[135.07041,34.121],[135.15522,34.16286],[135.1163,34.18742],[135.06316,34.25849],[135.04915,34.27082],[134.99554,34.27152],[134.9955,34.29122],[134.99945,34.29894],[135.00904,34.30357],[135.1457,34.34721],[135.20804,34.35108],[135.24174,34.39165],[135.19145,34.42482],[135.25012,34.46056],[135.29487,34.42658],[135.30902,34.44119],[135.36647,34.53277],[135.39147,34.53394],[135.38308,34.63128],[135.36409,34.66669],[135.29161,34.66695],[135.29061,34.6245],[135.08349,34.62463],[135.04725,34.61643],[134.92905,34.64799],[134.826,34.69662],[134.75874,34.74267],[134.71632,34.74982],[134.52561,34.74969],[134.41657,34.70885],[134.31671,34.66669],[134.25055,34.66656],[134.24992,34.68309],[134.15797,34.68348],[134.15781,34.70013],[134.12505,34.7],[134.12474,34.58386],[134.11666,34.55845],[134.02519,34.55024],[134.02535,34.44785],[134.02788,34.41639],[134.19168,34.41678],[134.19152,34.38401],[134.28347,34.38296],[134.28347,34.33371],[134.38082,34.29415],[134.40952,34.26539],[134.43268,34.24648],[134.56265,34.25055],[134.66663,34.24963],[134.64146,34.04963],[134.70809,33.96554],[134.74006,33.92825],[134.71221,33.86773],[134.76918,33.86691],[134.76712,33.82524],[134.66742,33.7754],[134.63102,33.77487],[134.50018,33.77493],[134.49978,33.95855],[134.4582,33.95874],[134.45816,34.00006],[134.34679,33.99889],[134.06047,33.99988],[133.74955,34.00047],[133.74998,34.33337],[133.875,34.33342],[133.87494,34.41668],[133.95888,34.41683],[133.95843,34.44157],[133.85055,34.44157],[133.84966,34.46621],[133.82537,34.46704],[133.81642,34.44222],[133.84205,34.43326],[133.84194,34.41656],[133.75822,34.41715],[133.74122,34.44175],[133.6913,34.44152],[133.69085,34.45739],[133.69097,34.46639],[133.70004,34.48346],[133.61655,34.48355],[133.61689,34.45827],[133.53351,34.45887],[133.53329,34.41752],[133.4897,34.41743],[133.46642,34.43313],[133.46631,34.44992],[133.4503,34.45002],[133.45008,34.4166],[133.41713,34.41696],[133.41668,34.35786],[133.34174,34.3583],[133.30304,34.37515],[133.2748,34.35876],[133.21655,34.35],[133.16694,34.35007],[133.16662,34.36659],[133.09184,34.36659],[133.09176,34.3417],[133.05837,34.34164],[133.05829,34.32491],[132.90003,34.32517],[132.89148,34.29164],[132.7917,34.29164],[132.79133,34.28281],[132.792,34.24212],[132.77492,34.22513],[132.71629,34.22499],[132.71652,34.21655],[132.75854,34.21636],[132.775,34.20877],[132.79218,34.20095],[132.79223,34.14177],[132.74138,34.14173],[132.70838,34.16655],[132.63354,34.16665],[132.61664,34.1917],[132.59185,34.1916],[132.5749,34.1666],[132.54155,34.16674],[132.54178,34.14196],[132.42515,34.14165],[132.42503,34.16657],[132.3749,34.16663],[132.37515,34.18348],[132.40833,34.18343],[132.3752,34.2168],[132.34991,34.23331],[132.35014,34.25834],[132.35814,34.25843],[132.35819,34.27503],[132.33922,34.25834],[132.29166,34.22494],[132.24992,34.22494],[132.25003,34.2043],[132.25809,34.18324],[132.28327,34.18352],[132.28321,34.19995],[132.29183,34.20837],[132.32501,34.20847],[132.31684,34.1753],[132.25843,34.17533],[132.25843,34.14171],[132.2502,34.11675],[132.21669,34.11684],[132.21685,34.0585],[132.22491,34.05827],[132.22502,33.99163],[132.21669,33.99177],[132.21652,33.97516],[132.25037,33.97526],[132.25014,33.91622],[131.95761,33.91733],[131.95783,33.92512],[131.91755,33.92495],[131.91586,33.95863],[131.88699,33.96671],[131.87569,33.95891],[131.84973,33.92502],[131.80049,33.92439],[131.79948,33.95046],[131.7752,33.95057],[131.75058,33.9668],[131.70828,33.97508],[131.70918,33.92551],[131.68366,33.92513],[131.68321,33.95056],[131.6916,33.96717],[131.69988,33.98323],[131.68332,33.99937],[131.68354,34.01681],[131.69999,34.017],[131.70011,34.03314],[131.68209,34.03352],[131.67515,34.02581],[131.62513,34.02488],[131.59122,33.97515],[131.38721,33.97497],[131.29981,33.91685],[131.16675,33.91667],[131.1172,33.97473],[131.06078,34.02462],[131.03349,34.02557],[131.04198,34.00848],[131.04175,33.7381]],[[135.98583,35.86595],[135.93905,35.95517],[135.95723,36.1316],[136.15271,36.29666],[136.6596,36.75695],[136.65846,37.00603],[136.66642,37.33477],[136.85167,37.42328],[137.11307,37.5288],[137.31877,37.54953],[137.39151,37.50356],[137.34765,37.35791],[137.20218,37.24762],[137.09307,37.06828],[137.0223,36.83795],[137.09532,36.80133],[137.22971,36.77368],[137.35387,36.80451],[137.39706,36.90966],[137.50588,36.95883],[137.72267,37.01579],[137.95199,37.10656],[138.053,37.16975],[138.18626,37.18254],[138.28854,37.24861],[138.43501,37.34512],[138.54909,37.41229],[138.61842,37.49225],[138.73903,37.51536],[138.78378,37.5674],[138.82185,37.62796],[138.91491,37.63009],[138.924,37.6032],[139.01321,37.59757],[139.01421,37.53507],[139.03452,37.52325],[139.03793,37.45798],[139.04887,37.42358],[139.13027,37.42312],[139.23881,37.4326],[139.26282,37.33326],[139.12289,37.32784],[139.11408,37.26354],[139.11422,37.16748],[139.05555,37.16658],[138.82825,37.17133],[138.87072,37.2338],[138.89104,37.31316],[138.72965,37.33259],[138.71403,37.29474],[138.71715,37.1642],[138.53517,37.16533],[138.39907,37.16692],[138.37478,37.13261],[138.3725,36.99907],[138.08823,36.99839],[138.08596,36.91586],[137.89233,36.91768],[137.87798,36.83517],[137.66517,36.8321],[137.52111,36.83142],[137.51216,36.74222],[137.39482,36.74427],[137.37138,36.58325],[137.29367,36.58371],[137.18016,36.55028],[137.21383,36.53133],[137.26384,36.33176],[136.63321,36.33496],[136.50436,36.29227],[136.39412,36.29444],[136.38034,36.25493],[136.37778,36.17665],[136.38218,36.09507],[136.38758,36.00065],[136.2593,35.99399],[136.25532,35.90923],[136.24992,35.83337],[136.12207,35.82876],[136.11184,35.88725],[136.05984,35.91165],[136.01793,35.86676],[135.98583,35.86595]],[[140.03281,37.29986],[140.03344,37.34643],[140.03344,37.47427],[140.03407,37.48281],[139.99973,37.48356],[140.00036,37.44198],[139.94212,37.44173],[139.94197,37.35007],[139.89116,37.35007],[139.89116,37.41698],[139.81725,37.41647],[139.81266,37.57468],[139.74192,37.57556],[139.74224,37.79174],[139.81789,37.79162],[139.98296,37.79112],[139.98359,37.58334],[140.0412,37.58334],[140.04151,37.47502],[140.1591,37.47528],[140.15815,37.63311],[140.3745,37.63399],[140.37481,37.83338],[140.5,37.83525],[140.49989,37.91662],[140.53144,37.9168],[140.62489,37.9167],[140.62489,37.84641],[140.62534,37.33359],[140.57502,37.33284],[140.57486,37.25881],[140.4579,37.25855],[140.45774,37.2084],[140.2501,37.20866],[140.24994,37.29998],[140.03281,37.29986]],[[141.00075,38.16707],[140.84264,38.16752],[140.68779,38.16405],[140.70788,38.09499],[140.70868,38.03346],[140.61627,38.03362],[140.53369,38.11364],[140.5359,38.14478],[140.61948,38.14478],[140.62471,38.2048],[140.6231,38.27376],[140.63073,38.33902],[140.81255,38.33698],[141.00362,38.33398],[141.00075,38.16707]],[[129.44454,34.73675],[129.52524,34.65452],[129.35703,34.19046],[129.23088,34.06063],[129.15132,34.11616],[129.27179,34.63488],[129.44454,34.73675]]],terms_url:"http://www.gsi.go.jp/kikakuchousei/kikakuchousei40182.html",terms_text:"GSI Japan"},{id:"gsi.go.jp_std_map",name:"Japan GSI Standard Map",type:"tms",template:"https://cyberjapandata.gsi.go.jp/xyz/std/{zoom}/{x}/{y}.png",scaleExtent:[5,18],polygon:[[[141.85547,44.64912],[140.22949,43.9691],[138.95508,41.80408],[139.48242,40.17887],[138.86719,38.30718],[136.31836,37.19533],[132.14355,35.13788],[128.93555,33.35806],[129.50684,32.4727],[129.77051,31.69078],[130.20996,30.90223],[131.2207,30.78904],[131.66016,32.32428],[132.71484,32.87959],[133.76953,33.17434],[136.75781,33.87042],[139.30664,35.06597],[140.88867,35.17381],[141.15234,36.5626],[142.11914,39.94344],[141.76758,42.68243],[141.85547,44.64912]]],terms_url:"https://maps.gsi.go.jp/help/use.html",terms_text:"GSI Japan"},{id:"Aargau-AGIS-2014",name:"Kanton Aargau 25cm (AGIS 2014)",type:"tms",template:"https://mapproxy.osm.ch/tiles/AGIS2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2014-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",scaleExtent:[8,19],polygon:[[[8.09602,47.57882],[8.10323,47.57879],[8.10323,47.58583],[8.10591,47.58732],[8.11019,47.58878],[8.11589,47.5893],[8.12168,47.58916],[8.12546,47.58873],[8.12959,47.58888],[8.13023,47.59122],[8.132,47.59358],[8.13506,47.59546],[8.13831,47.59698],[8.14161,47.59939],[8.14534,47.60076],[8.14961,47.60144],[8.15438,47.60127],[8.15751,47.60063],[8.16119,47.59914],[8.16255,47.59976],[8.16438,47.60148],[8.16653,47.60399],[8.17087,47.60673],[8.17608,47.60838],[8.17912,47.60868],[8.18153,47.6118],[8.18304,47.61489],[8.18498,47.6176],[8.18953,47.62151],[8.19212,47.62321],[8.22261,47.623],[8.22561,47.6212],[8.22849,47.61842],[8.22959,47.61621],[8.23008,47.61501],[8.23261,47.61686],[8.23657,47.61803],[8.24,47.61835],[8.24351,47.61783],[8.24749,47.61877],[8.25066,47.61988],[8.25708,47.6208],[8.26104,47.62069],[8.26491,47.61935],[8.26732,47.61769],[8.26902,47.61531],[8.27579,47.61702],[8.28106,47.61707],[8.28772,47.61626],[8.29421,47.61442],[8.29947,47.61221],[8.30311,47.60977],[8.30287,47.59447],[8.30438,47.59227],[8.30591,47.59109],[8.30791,47.59019],[8.31236,47.58917],[8.31655,47.58713],[8.32049,47.58436],[8.32598,47.57888],[8.32864,47.57716],[8.33219,47.57604],[8.33902,47.57577],[8.34702,47.57628],[8.35962,47.57552],[8.36475,47.57436],[8.37207,47.57377],[8.38002,47.57233],[8.38194,47.57496],[8.38387,47.57686],[8.38879,47.58027],[8.39232,47.58174],[8.39611,47.58247],[8.40013,47.58255],[8.40432,47.58158],[8.41158,47.57928],[8.418,47.57602],[8.42381,47.57452],[8.43039,47.57228],[8.43275,47.57035],[8.4336,47.56849],[8.43353,47.56669],[8.4319,47.56444],[8.4286,47.56217],[8.42575,47.56121],[8.4259,47.55854],[8.42498,47.55624],[8.42353,47.55469],[8.42296,47.5537],[8.4246,47.5517],[8.42492,47.54981],[8.42434,47.54836],[8.42539,47.54679],[8.425,47.54418],[8.4233,47.5422],[8.421,47.54106],[8.41832,47.54049],[8.41551,47.54062],[8.4139,47.53924],[8.41283,47.5372],[8.41194,47.53626],[8.41241,47.53415],[8.41185,47.53237],[8.41117,47.53158],[8.40143,47.53169],[8.40124,47.52443],[8.39936,47.5222],[8.39666,47.52082],[8.39385,47.51988],[8.39085,47.51973],[8.38877,47.52014],[8.38809,47.5146],[8.38551,47.51075],[8.38366,47.50944],[8.36776,47.50953],[8.36739,47.48709],[8.3751,47.48689],[8.37889,47.4853],[8.38196,47.48188],[8.38184,47.47521],[8.38328,47.47192],[8.38244,47.46879],[8.37943,47.46643],[8.37751,47.4659],[8.37787,47.46496],[8.38238,47.46423],[8.38671,47.46097],[8.39171,47.45743],[8.39315,47.45349],[8.39514,47.45031],[8.39418,47.44722],[8.39171,47.44535],[8.3896,47.44449],[8.38996,47.44339],[8.39111,47.4416],[8.39213,47.43924],[8.39339,47.4359],[8.39249,47.43411],[8.39369,47.43143],[8.39568,47.42854],[8.39959,47.42463],[8.39953,47.41954],[8.449,47.41897],[8.45369,47.41233],[8.45369,47.40451],[8.44858,47.39649],[8.40362,47.39685],[8.40483,47.39392],[8.4029,47.38903],[8.4035,47.38553],[8.40314,47.38304],[8.40483,47.37905],[8.40844,47.37575],[8.41379,47.37338],[8.4159,47.37016],[8.41584,47.36539],[8.4144,47.36327],[8.41494,47.35912],[8.41722,47.35573],[8.41632,47.35231],[8.41355,47.34913],[8.41367,47.34688],[8.41476,47.3448],[8.41885,47.34244],[8.42264,47.34052],[8.42469,47.33718],[8.42421,47.33163],[8.42914,47.33286],[8.4351,47.33192],[8.43763,47.33281],[8.44328,47.33506],[8.44527,47.33746],[8.45213,47.3402],[8.45761,47.33975],[8.46212,47.33649],[8.46278,47.33322],[8.46043,47.32829],[8.45797,47.32457],[8.45556,47.32005],[8.44918,47.31495],[8.44713,47.31217],[8.44021,47.30948],[8.43624,47.29817],[8.43311,47.29593],[8.42806,47.29397],[8.42318,47.29001],[8.41656,47.28789],[8.41024,47.28728],[8.4035,47.28409],[8.40188,47.2805],[8.40862,47.27593],[8.41066,47.2716],[8.40892,47.26613],[8.41235,47.2618],[8.41235,47.25873],[8.41109,47.25608],[8.41698,47.25142],[8.41885,47.2475],[8.41801,47.24305],[8.4144,47.23904],[8.41373,47.23565],[8.4106,47.23226],[8.40435,47.22797],[8.40296,47.2256],[8.40398,47.22127],[8.40856,47.21718],[8.40928,47.21326],[8.40844,47.20945],[8.41012,47.20258],[8.41319,47.19678],[8.41271,47.1924],[8.4088,47.18799],[8.40814,47.18475],[8.4091,47.1812],[8.41518,47.17915],[8.41915,47.17563],[8.42294,47.16553],[8.42294,47.15747],[8.42011,47.15325],[8.42246,47.14838],[8.42276,47.14392],[8.42053,47.13954],[8.41584,47.13524],[8.40898,47.13274],[8.40386,47.13201],[8.40116,47.13258],[8.39532,47.1327],[8.38437,47.1345],[8.37895,47.13385],[8.37245,47.13442],[8.36908,47.13659],[8.368,47.13876],[8.35656,47.14228],[8.35409,47.14564],[8.35331,47.14916],[8.3506,47.15161],[8.3503,47.15419],[8.34772,47.15669],[8.34561,47.15923],[8.34086,47.16164],[8.33935,47.16512],[8.3373,47.16896],[8.33315,47.17154],[8.33261,47.17351],[8.33062,47.17792],[8.33002,47.18717],[8.32924,47.18786],[8.32936,47.19494],[8.32292,47.19514],[8.32148,47.19854],[8.32196,47.20115],[8.31835,47.21043],[8.31413,47.21178],[8.31089,47.2153],[8.31107,47.21857],[8.31221,47.2198],[8.30884,47.22433],[8.30932,47.22646],[8.30715,47.23042],[8.30727,47.2321],[8.30595,47.23582],[8.30607,47.23949],[8.30378,47.24366],[8.30144,47.24677],[8.29554,47.24836],[8.29187,47.25293],[8.28814,47.25869],[8.28766,47.26143],[8.28627,47.26519],[8.28723,47.26805],[8.28838,47.26964],[8.2823,47.27478],[8.27718,47.27576],[8.27273,47.27531],[8.26749,47.27593],[8.26533,47.27719],[8.2616,47.27695],[8.25793,47.27781],[8.25576,47.27887],[8.25317,47.27678],[8.25034,47.27548],[8.2501,47.27348],[8.24956,47.27017],[8.24559,47.26715],[8.24095,47.26678],[8.23452,47.26727],[8.23145,47.26278],[8.2309,47.25931],[8.22663,47.24942],[8.222,47.24713],[8.21526,47.24431],[8.21363,47.24203],[8.21309,47.23602],[8.21123,47.23246],[8.21285,47.22548],[8.21117,47.22266],[8.20689,47.22053],[8.19762,47.22065],[8.19149,47.21861],[8.16976,47.21865],[8.16543,47.22315],[8.16085,47.22405],[8.15351,47.2294],[8.15171,47.2332],[8.14822,47.23647],[8.14798,47.241],[8.14635,47.24203],[8.13823,47.24166],[8.13558,47.23941],[8.12673,47.23606],[8.1218,47.23631],[8.11614,47.23872],[8.10675,47.23945],[8.10266,47.24113],[8.09983,47.24436],[8.09766,47.2493],[8.09797,47.25069],[8.09339,47.25567],[8.08852,47.2569],[8.08485,47.25583],[8.08323,47.25405],[8.07995,47.25246],[8.0769,47.25054],[8.06854,47.24284],[8.06325,47.24098],[8.05134,47.23865],[8.04857,47.23886],[8.03575,47.23747],[8.0322,47.23555],[8.02714,47.23534],[8.01139,47.23967],[8.00927,47.24116],[8.00791,47.24312],[8.00783,47.24821],[8.00857,47.25042],[8.0084,47.25769],[8.00712,47.25922],[8.00299,47.26162],[8.00052,47.26486],[7.99759,47.26789],[7.99627,47.27271],[7.99474,47.27369],[7.98993,47.27121],[7.97278,47.26907],[7.96857,47.27008],[7.96737,47.27098],[7.95861,47.27112],[7.9601,47.26748],[7.96274,47.26396],[7.96576,47.26171],[7.96699,47.25879],[7.96695,47.25001],[7.95963,47.24582],[7.95112,47.23918],[7.94469,47.236],[7.93733,47.23106],[7.93405,47.23051],[7.9298,47.23077],[7.9178,47.23305],[7.90784,47.23837],[7.89793,47.2377],[7.8695,47.23207],[7.85478,47.22719],[7.85137,47.22713],[7.83958,47.22947],[7.83584,47.22976],[7.83082,47.23259],[7.82707,47.23505],[7.82431,47.23831],[7.82129,47.24042],[7.82014,47.24264],[7.81822,47.24562],[7.81771,47.24917],[7.81822,47.25082],[7.81835,47.25371],[7.81988,47.25587],[7.82116,47.2568],[7.82112,47.25778],[7.8192,47.26058],[7.81912,47.26154],[7.81686,47.26486],[7.8175,47.26731],[7.81958,47.26982],[7.82439,47.27158],[7.82805,47.2721],[7.83592,47.27837],[7.83707,47.28342],[7.84005,47.2872],[7.84201,47.29067],[7.84588,47.29427],[7.84763,47.2982],[7.85137,47.30299],[7.8529,47.30741],[7.85571,47.31032],[7.86065,47.31254],[7.86422,47.31349],[7.87018,47.31672],[7.87631,47.31736],[7.88082,47.31716],[7.88337,47.31667],[7.88588,47.31941],[7.88886,47.32131],[7.88805,47.32443],[7.88907,47.3287],[7.8915,47.33262],[7.8978,47.34014],[7.9001,47.34156],[7.90005,47.3432],[7.90222,47.34557],[7.90635,47.34704],[7.90963,47.34735],[7.91359,47.34626],[7.91618,47.34456],[7.91699,47.34303],[7.92401,47.33899],[7.93839,47.33792],[7.94929,47.33784],[7.95431,47.33596],[7.95593,47.33317],[7.95691,47.32968],[7.95571,47.32535],[7.96993,47.32797],[7.97308,47.33017],[7.98333,47.33432],[7.98563,47.33692],[7.98954,47.33818],[7.99248,47.33827],[7.99784,47.34017],[7.99635,47.34257],[7.99601,47.34588],[7.99733,47.34859],[8.00116,47.35081],[8.00137,47.3569],[8.00261,47.3577],[8.00418,47.36044],[8.00976,47.36419],[8.01125,47.36598],[8.01746,47.36926],[8.01912,47.37157],[8.0198,47.37376],[8.02023,47.37598],[8.02172,47.37837],[8.02193,47.38093],[8.02282,47.38286],[8.02078,47.38857],[8.01606,47.38929],[8.01265,47.38897],[8.00772,47.39012],[8.00367,47.39205],[8.00163,47.39479],[8.00155,47.39998],[8.00023,47.40306],[7.99801,47.40453],[7.99261,47.40551],[7.98776,47.40637],[7.98418,47.40839],[7.98027,47.4081],[7.9732,47.41127],[7.96963,47.41383],[7.95695,47.41893],[7.95529,47.4218],[7.95593,47.42402],[7.95746,47.42621],[7.96274,47.42828],[7.97746,47.43254],[7.97567,47.43732],[7.97614,47.44138],[7.97431,47.44368],[7.95129,47.45111],[7.94861,47.4539],[7.94818,47.4566],[7.94678,47.45755],[7.94039,47.45669],[7.93588,47.45738],[7.93631,47.47625],[7.9318,47.47605],[7.92469,47.47717],[7.91571,47.47743],[7.90903,47.47947],[7.90316,47.47967],[7.90295,47.48965],[7.8969,47.4898],[7.8918,47.49405],[7.89086,47.49765],[7.8878,47.49931],[7.88631,47.5023],[7.87999,47.50397],[7.87403,47.50787],[7.86994,47.50944],[7.87006,47.51239],[7.86435,47.51245],[7.85851,47.51543],[7.8558,47.51854],[7.85625,47.52147],[7.8549,47.52474],[7.85183,47.5285],[7.84647,47.52714],[7.84148,47.52777],[7.8413,47.52406],[7.84015,47.51587],[7.83943,47.51259],[7.83688,47.51256],[7.83679,47.51049],[7.83352,47.50949],[7.83156,47.50765],[7.82981,47.50552],[7.82522,47.50354],[7.82049,47.5004],[7.81475,47.49491],[7.81181,47.49261],[7.80645,47.4914],[7.80403,47.49146],[7.80049,47.49014],[7.77977,47.49028],[7.77871,47.49304],[7.7796,47.496],[7.78386,47.5004],[7.78203,47.50368],[7.78088,47.5073],[7.78109,47.51018],[7.77977,47.51265],[7.77969,47.51529],[7.77045,47.51802],[7.75905,47.52003],[7.75266,47.52009],[7.74781,47.51957],[7.73368,47.52291],[7.72781,47.52719],[7.71985,47.52978],[7.71262,47.53095],[7.70764,47.5344],[7.70551,47.53917],[7.70696,47.54279],[7.71415,47.54627],[7.72245,47.54756],[7.749,47.54977],[7.75428,47.55339],[7.76654,47.55615],[7.77168,47.55761],[7.78007,47.55836],[7.78577,47.55982],[7.7902,47.5616],[7.79398,47.56634],[7.80492,47.57237],[7.80611,47.57989],[7.81173,47.58954],[7.81577,47.59218],[7.82211,47.59352],[7.83645,47.59163],[7.83952,47.59045],[7.84305,47.58778],[7.84875,47.58899],[7.85624,47.59189],[7.86488,47.59393],[7.87126,47.5943],[7.87726,47.59367],[7.88535,47.59424],[7.89343,47.59301],[7.90109,47.58976],[7.90833,47.58514],[7.91386,47.57923],[7.91867,47.57194],[7.91956,47.56772],[7.91875,47.56433],[7.9156,47.56008],[7.91577,47.55715],[7.91841,47.55405],[7.92126,47.55261],[7.92552,47.55227],[7.93471,47.55221],[7.9405,47.55078],[7.94326,47.54968],[7.94356,47.55052],[7.94458,47.55589],[7.94841,47.55979],[7.95394,47.56229],[7.96003,47.56333],[7.96577,47.56272],[7.97203,47.5612],[7.97833,47.56057],[7.98624,47.56094],[7.99718,47.56212],[8.0045,47.56137],[8.01114,47.55974],[8.01641,47.55701],[8.02046,47.55574],[8.0262,47.55741],[8.03799,47.55876],[8.04254,47.56028],[8.0485,47.56333],[8.05454,47.56798],[8.05931,47.56921],[8.0622,47.56895],[8.06693,47.57002],[8.07242,47.56973],[8.07739,47.56795],[8.08182,47.56436],[8.08522,47.56281],[8.08791,47.56298],[8.09259,47.56559],[8.09395,47.56809],[8.09484,47.57587],[8.09602,47.57882]]],terms_text:"AGIS OF2014"},{id:"Aargau-AGIS-2016",name:"Kanton Aargau 25cm (AGIS 2016)",type:"tms",template:"https://mapproxy.osm.ch/tiles/AGIS2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",scaleExtent:[8,19],polygon:[[[7.70438,47.55794],[7.77076,47.55772],[7.77103,47.58025],[7.80408,47.58017],[7.80433,47.60248],[7.93713,47.60217],[7.93703,47.57962],[8.00374,47.57917],[8.00338,47.55687],[8.0364,47.55665],[8.03681,47.57928],[8.10313,47.57881],[8.10387,47.60112],[8.17011,47.60086],[8.17036,47.6235],[8.30311,47.62235],[8.30305,47.59988],[8.3362,47.59927],[8.33585,47.5771],[8.36913,47.57694],[8.36943,47.59931],[8.43564,47.59877],[8.43454,47.53133],[8.40144,47.53162],[8.40096,47.50926],[8.3678,47.50959],[8.3675,47.48698],[8.40042,47.48666],[8.39939,47.41929],[8.46558,47.4187],[8.46515,47.39647],[8.43206,47.39654],[8.43125,47.3516],[8.46434,47.35128],[8.46327,47.28387],[8.42997,47.28421],[8.42714,47.12676],[8.3293,47.12753],[8.32937,47.13007],[8.32833,47.13007],[8.3285,47.14529],[8.3294,47.19502],[8.2964,47.19526],[8.29714,47.24022],[8.2641,47.24046],[8.26446,47.26297],[8.23141,47.26316],[8.23075,47.21822],[8.09886,47.21912],[8.09874,47.24135],[8.066,47.24176],[8.06552,47.2192],[7.99993,47.21952],[8.00003,47.26433],[7.96735,47.26462],[7.96675,47.21961],[7.80153,47.22029],[7.80244,47.28791],[7.83518,47.28772],[7.83543,47.31017],[7.86837,47.31017],[7.86885,47.35542],[8.00097,47.3543],[8.00156,47.39928],[7.9353,47.39976],[7.93607,47.46716],[7.90278,47.46729],[7.90303,47.48981],[7.86987,47.48998],[7.86993,47.5125],[7.83689,47.51258],[7.83665,47.4901],[7.77027,47.49026],[7.77045,47.51274],[7.70452,47.51307],[7.70438,47.55794]]],terms_text:"AGIS OF2016",best:true},{id:"Basel-Landschaft-2015",name:"Kanton Basel-Landschaft 10cm (2015)",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTBASELLANDSCHAFT2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[18,21],polygon:[[[7.37028,47.41368],[7.35758,47.41508],[7.35792,47.41827],[7.35354,47.41961],[7.34488,47.42402],[7.33973,47.42971],[7.33269,47.43024],[7.32685,47.43192],[7.32528,47.43489],[7.3305,47.44176],[7.33899,47.44109],[7.34496,47.43608],[7.35266,47.43436],[7.3812,47.43208],[7.37599,47.41431],[7.37815,47.414],[7.38204,47.41331],[7.38839,47.41398],[7.41371,47.41093],[7.42074,47.4111],[7.42748,47.41448],[7.43811,47.41274],[7.4484,47.41507],[7.45558,47.42792],[7.45062,47.43534],[7.43784,47.44632],[7.42542,47.44328],[7.4209,47.44594],[7.42242,47.45072],[7.4288,47.45388],[7.43003,47.45949],[7.44577,47.46197],[7.44717,47.45696],[7.45651,47.44926],[7.49236,47.45897],[7.53068,47.46119],[7.52745,47.47391],[7.53633,47.48383],[7.53623,47.49105],[7.5326,47.49097],[7.53179,47.4974],[7.52004,47.49678],[7.51223,47.49892],[7.50935,47.50888],[7.49908,47.51628],[7.49787,47.52125],[7.50228,47.51491],[7.51746,47.51728],[7.5222,47.51409],[7.53096,47.52905],[7.51935,47.53472],[7.51075,47.52899],[7.5023,47.5284],[7.49804,47.53615],[7.50545,47.54438],[7.51676,47.54541],[7.52732,47.55278],[7.55466,47.56437],[7.56458,47.55704],[7.56124,47.55172],[7.55875,47.55235],[7.55588,47.54434],[7.56479,47.54569],[7.58726,47.5419],[7.58269,47.53247],[7.58948,47.52792],[7.59025,47.51979],[7.59478,47.51929],[7.61378,47.53925],[7.6223,47.53977],[7.62285,47.55004],[7.61774,47.55437],[7.61762,47.55865],[7.63273,47.56149],[7.63997,47.55816],[7.649,47.5483],[7.66131,47.54483],[7.66586,47.53746],[7.67467,47.53375],[7.69494,47.5325],[7.71347,47.53978],[7.71596,47.53582],[7.72362,47.53675],[7.72716,47.53293],[7.73322,47.53275],[7.73797,47.52732],[7.74902,47.52498],[7.75786,47.52605],[7.78763,47.52012],[7.79014,47.51864],[7.78887,47.50683],[7.7928,47.50068],[7.78663,47.49312],[7.79889,47.49565],[7.79816,47.4994],[7.7994,47.49748],[7.80742,47.49714],[7.81471,47.5048],[7.83198,47.51474],[7.83321,47.53382],[7.84653,47.53266],[7.85233,47.53524],[7.86257,47.52692],[7.86396,47.51931],[7.87666,47.52269],[7.87567,47.51319],[7.89399,47.50606],[7.90477,47.49218],[7.90482,47.48491],[7.93329,47.48141],[7.94702,47.48489],[7.94003,47.46202],[7.94885,47.46378],[7.95761,47.45881],[7.95785,47.45128],[7.94678,47.44319],[7.95003,47.43172],[7.96183,47.42183],[7.95657,47.41968],[7.95504,47.41561],[7.94839,47.41627],[7.93493,47.41177],[7.93672,47.40806],[7.93266,47.40527],[7.90974,47.39852],[7.89022,47.40714],[7.88333,47.4061],[7.88344,47.4012],[7.8777,47.40126],[7.86914,47.39551],[7.87943,47.38799],[7.87881,47.38351],[7.86265,47.38198],[7.84012,47.37476],[7.83055,47.36512],[7.80217,47.3611],[7.79637,47.35347],[7.79356,47.33905],[7.78529,47.33788],[7.76896,47.33891],[7.76642,47.34273],[7.75152,47.34433],[7.73415,47.35776],[7.72791,47.36886],[7.70195,47.37245],[7.6442,47.36721],[7.64176,47.38047],[7.63558,47.38059],[7.63332,47.38291],[7.63331,47.38534],[7.63725,47.38607],[7.63272,47.41003],[7.66405,47.41002],[7.6798,47.41751],[7.68658,47.43366],[7.68297,47.43872],[7.68485,47.44784],[7.69227,47.45421],[7.69883,47.45586],[7.69993,47.46191],[7.70988,47.46938],[7.69976,47.48063],[7.66833,47.48635],[7.66612,47.49687],[7.65217,47.49581],[7.64865,47.49183],[7.65539,47.49021],[7.65051,47.48826],[7.65593,47.48739],[7.64442,47.48564],[7.64097,47.48273],[7.6073,47.4894],[7.60885,47.48353],[7.60563,47.47936],[7.60815,47.47521],[7.60449,47.47045],[7.61887,47.46745],[7.62607,47.46291],[7.62217,47.46195],[7.61646,47.44523],[7.6158,47.43275],[7.59207,47.43271],[7.58121,47.42878],[7.57842,47.43491],[7.5689,47.4369],[7.5683,47.42233],[7.58074,47.4147],[7.52524,47.41163],[7.53117,47.40353],[7.51862,47.38822],[7.5113,47.38974],[7.50226,47.38481],[7.49233,47.38523],[7.47841,47.39056],[7.47747,47.40128],[7.46448,47.40251],[7.46092,47.40068],[7.45002,47.40393],[7.44951,47.39976],[7.4434,47.40231],[7.44131,47.40018],[7.44357,47.3889],[7.43732,47.38089],[7.41169,47.38057],[7.41628,47.38479],[7.41449,47.3943],[7.39894,47.39684],[7.39592,47.40338],[7.38869,47.40302],[7.38405,47.41236],[7.37968,47.41281],[7.37584,47.41401],[7.37028,47.41368]]],terms_url:"https://www.geo.bl.ch/fileadmin/user_upload/Geodaten/Nutzungsbedingungen_GBD_BL_V3p2.pdf",terms_text:"Geodaten des Kantons Basel-Landschaft 2015",best:true},{id:"KTBASELSTADT2015",name:"Kanton Basel-Stadt 2015",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTBASELSTADT2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[8,21],polygon:[[[7.492,47.4817],[7.492,47.6342],[7.784,47.6342],[7.784,47.4817],[7.492,47.4817]]],terms_text:"Kanton Basel-Stadt OF 2015"},{id:"KTBASELSTADT2017",name:"Kanton Basel-Stadt 2017",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTBASELSTADT2017/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",scaleExtent:[8,21],polygon:[[[7.67138,47.59522],[7.67996,47.60078],[7.68451,47.60182],[7.69438,47.60171],[7.69395,47.59667],[7.68708,47.59355],[7.67884,47.58712],[7.68571,47.58538],[7.68906,47.57612],[7.69412,47.5734],[7.6924,47.56691],[7.6847,47.5617],[7.66425,47.56164],[7.64872,47.55689],[7.63035,47.55869],[7.62357,47.55666],[7.62786,47.55145],[7.62738,47.53658],[7.61833,47.53662],[7.61335,47.53262],[7.59962,47.51911],[7.58503,47.51917],[7.58409,47.52636],[7.57713,47.53163],[7.58125,47.53986],[7.5719,47.54148],[7.55387,47.54148],[7.55379,47.55122],[7.55653,47.55828],[7.5537,47.56031],[7.55379,47.57473],[7.56434,47.58122],[7.57936,47.57988],[7.58331,47.59019],[7.58563,47.59233],[7.59207,47.59239],[7.59851,47.59071],[7.60915,47.58643],[7.60923,47.5811],[7.6191,47.58046],[7.63687,47.59314],[7.63782,47.59557],[7.64168,47.59887],[7.64528,47.60026],[7.66494,47.59618],[7.67138,47.59522]]],terms_text:"Kanton Basel-Stadt OF 2017",best:true},{id:"Solothurn-sogis2014-tms",name:"Kanton Solothurn (SOGIS)",type:"tms",template:"https://mapproxy.osm.ch/tiles/sogis2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2017-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[15,19],polygon:[[[7.95595,47.47162],[7.98239,47.47155],[7.98239,47.45353],[7.99553,47.45353],[7.99521,47.41747],[8.0218,47.41743],[8.02155,47.39935],[8.03456,47.39926],[8.03468,47.39028],[8.04788,47.39022],[8.04769,47.37224],[8.03456,47.37232],[8.03437,47.3544],[8.02117,47.35427],[8.02072,47.32739],[7.99445,47.32747],[7.99426,47.31857],[7.96773,47.31866],[7.96767,47.30966],[7.94122,47.30978],[7.94133,47.32778],[7.91486,47.32786],[7.91467,47.30988],[7.9016,47.31005],[7.9014,47.30097],[7.87501,47.3011],[7.87501,47.29223],[7.86165,47.29212],[7.86154,47.27409],[7.84832,47.27416],[7.8483,47.26523],[7.83502,47.2652],[7.83502,47.25624],[7.79535,47.25636],[7.7953,47.24741],[7.72924,47.24756],[7.72929,47.25652],[7.71623,47.25667],[7.71618,47.26559],[7.70304,47.26559],[7.70304,47.27461],[7.68975,47.27467],[7.68989,47.28368],[7.66341,47.28371],[7.66332,47.2747],[7.61055,47.27476],[7.61041,47.24787],[7.62352,47.24777],[7.62356,47.23879],[7.64986,47.23876],[7.64999,47.22977],[7.6499,47.22083],[7.66308,47.22073],[7.6631,47.21178],[7.66297,47.20273],[7.67617,47.2027],[7.67623,47.19372],[7.68938,47.19369],[7.68924,47.17572],[7.70243,47.1756],[7.70234,47.14869],[7.66267,47.14881],[7.66281,47.13978],[7.63633,47.1399],[7.63647,47.14869],[7.5968,47.14893],[7.59684,47.13996],[7.57041,47.13999],[7.57042,47.15792],[7.55736,47.15795],[7.55732,47.14888],[7.54421,47.14895],[7.54417,47.13991],[7.53098,47.13991],[7.53095,47.13097],[7.51767,47.13097],[7.51765,47.12196],[7.51769,47.11292],[7.49131,47.11301],[7.49135,47.10403],[7.4782,47.104],[7.47813,47.07705],[7.46493,47.07708],[7.46498,47.06807],[7.42552,47.06801],[7.42543,47.08601],[7.37279,47.08598],[7.37288,47.10403],[7.3596,47.10403],[7.35955,47.131],[7.41228,47.131],[7.41223,47.14901],[7.42538,47.14901],[7.42552,47.15801],[7.3727,47.15796],[7.3727,47.18498],[7.34627,47.18492],[7.34636,47.20287],[7.33307,47.2029],[7.33307,47.22096],[7.34614,47.22096],[7.34614,47.22991],[7.37256,47.22991],[7.3727,47.2389],[7.399,47.23896],[7.39913,47.24792],[7.41228,47.24792],[7.41228,47.26592],[7.45186,47.26589],[7.45195,47.2749],[7.46505,47.27493],[7.4651,47.28385],[7.47829,47.28385],[7.47834,47.29293],[7.5046,47.29288],[7.50473,47.30183],[7.5312,47.30181],[7.53129,47.31979],[7.54448,47.31985],[7.54453,47.3288],[7.55768,47.32883],[7.55768,47.33786],[7.53125,47.33786],[7.53133,47.35586],[7.51801,47.35583],[7.5181,47.36483],[7.3988,47.36484],[7.39889,47.39182],[7.38564,47.39181],[7.38564,47.4008],[7.37234,47.4008],[7.37234,47.40978],[7.34584,47.40978],[7.34584,47.41878],[7.31925,47.41878],[7.31925,47.44578],[7.4121,47.44578],[7.4121,47.49078],[7.42535,47.49078],[7.42535,47.49981],[7.43856,47.49981],[7.43856,47.50876],[7.49177,47.50876],[7.49178,47.63468],[7.7845,47.63428],[7.78415,47.57123],[7.81074,47.57114],[7.81074,47.56216],[7.82395,47.56206],[7.82387,47.54414],[7.86368,47.54397],[7.86363,47.53498],[7.87679,47.53495],[7.87675,47.52599],[7.8901,47.52596],[7.89006,47.51695],[7.90319,47.51692],[7.9031,47.49886],[7.91649,47.49883],[7.91645,47.48976],[7.95612,47.48967],[7.95595,47.47162]]],terms_text:"Orthofoto WMS Solothurn",best:true,icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAIVBMVEX///+LKCbMAABycnL+/v7v7+9sbGz39/fz8/Pw8PD8/Pz60siYAAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AIGAsXN84mS+sAAAA4SURBVAjXY2AUBAMBBkYlMCCXwcwABgZYGCwGIJo5AMQGAjYgLgYxLICY05iBwRisjsvY2IGBAQAGpQmjMKkg/wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0wOC0yNFQxMToyMzo1NS0wNDowMLEFqzIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMDgtMjRUMTE6MjM6NTUtMDQ6MDDAWBOOAAAAAElFTkSuQmCC"},{id:"Solothurn-infrared-SOGIS",name:"Kanton Solothurn Infrarot (SOGIS)",type:"wms",template:"https://geoweb.so.ch/wms/sogis_orthofoto.wms?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Orthofoto_CIR_SO&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",endDate:"2017-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[15,19],polygon:[[[7.57042,47.15792],[7.55736,47.15795],[7.55732,47.14888],[7.54421,47.14895],[7.54417,47.13991],[7.53098,47.13991],[7.53093,47.12196],[7.51765,47.12196],[7.51769,47.11292],[7.49131,47.11301],[7.49135,47.10403],[7.4782,47.104],[7.47816,47.09496],[7.49144,47.09499],[7.4914,47.07702],[7.47816,47.07705],[7.4782,47.06804],[7.42552,47.06801],[7.42543,47.08601],[7.37279,47.08598],[7.37288,47.10403],[7.3596,47.10403],[7.35955,47.131],[7.41228,47.131],[7.41223,47.14901],[7.42538,47.14901],[7.42552,47.15801],[7.39913,47.15804],[7.39913,47.14901],[7.3727,47.14898],[7.3727,47.18498],[7.34627,47.18492],[7.34636,47.19391],[7.33307,47.19394],[7.33307,47.22991],[7.37256,47.22991],[7.3727,47.2389],[7.399,47.23896],[7.39913,47.24792],[7.41228,47.24792],[7.41228,47.26592],[7.45186,47.26589],[7.45195,47.2749],[7.46505,47.27493],[7.4651,47.28385],[7.47829,47.28385],[7.47834,47.29293],[7.49149,47.29289],[7.49162,47.30184],[7.5312,47.30181],[7.53129,47.31979],[7.54448,47.31985],[7.54453,47.3288],[7.55768,47.32883],[7.55768,47.33786],[7.53125,47.33786],[7.53133,47.35586],[7.51801,47.35583],[7.5181,47.36483],[7.43862,47.36492],[7.43867,47.37389],[7.42538,47.37395],[7.42543,47.40081],[7.38558,47.4009],[7.38567,47.4098],[7.35915,47.4098],[7.35915,47.41878],[7.37239,47.41884],[7.37247,47.43682],[7.38571,47.43682],[7.38571,47.44104],[7.39563,47.44016],[7.3963,47.44258],[7.40761,47.4411],[7.40793,47.44225],[7.40313,47.44246],[7.39738,47.44331],[7.39832,47.44583],[7.41214,47.44583],[7.41228,47.45478],[7.43867,47.45488],[7.4388,47.47053],[7.45007,47.46941],[7.45007,47.47223],[7.44647,47.47223],[7.44647,47.47381],[7.44293,47.4739],[7.44288,47.47553],[7.43921,47.4756],[7.43921,47.4772],[7.43557,47.47729],[7.43548,47.47899],[7.4174,47.47896],[7.41744,47.48573],[7.42099,47.48573],[7.42108,47.49082],[7.42763,47.49073],[7.42852,47.49349],[7.43099,47.49643],[7.43485,47.49889],[7.4419,47.49552],[7.44665,47.49455],[7.45011,47.49176],[7.45087,47.4907],[7.46451,47.49073],[7.46456,47.48903],[7.46819,47.489],[7.46819,47.48566],[7.47187,47.48573],[7.47192,47.48233],[7.48269,47.48239],[7.48264,47.48388],[7.48623,47.48397],[7.48637,47.48566],[7.48991,47.48566],[7.49,47.4907],[7.4997,47.49073],[7.49965,47.4914],[7.49175,47.49194],[7.49175,47.49513],[7.49822,47.49479],[7.49889,47.49585],[7.49566,47.49628],[7.49171,47.49625],[7.4918,47.49973],[7.50504,47.4997],[7.50504,47.50874],[7.5448,47.50871],[7.54474,47.45482],[7.49169,47.45469],[7.49175,47.44581],[7.46529,47.44577],[7.46522,47.40983],[7.49156,47.40979],[7.49175,47.39192],[7.50489,47.39183],[7.50489,47.40068],[7.51821,47.40077],[7.51834,47.41876],[7.55794,47.41872],[7.55813,47.44581],[7.58453,47.44572],[7.58441,47.43667],[7.61094,47.43662],[7.611,47.4637],[7.59767,47.4637],[7.59793,47.49964],[7.62433,47.49969],[7.62445,47.4906],[7.63778,47.49055],[7.63784,47.4996],[7.67757,47.49947],[7.67745,47.49047],[7.70385,47.49043],[7.70391,47.48146],[7.71711,47.48129],[7.71711,47.45452],[7.70397,47.45452],[7.70385,47.44559],[7.69046,47.44551],[7.69033,47.40957],[7.67713,47.40949],[7.67713,47.40068],[7.65066,47.40068],[7.65047,47.37365],[7.67706,47.37357],[7.67706,47.38251],[7.71667,47.38251],[7.71679,47.37344],[7.74307,47.3734],[7.74307,47.35538],[7.7562,47.35534],[7.75633,47.3464],[7.78261,47.34627],[7.78292,47.36433],[7.79612,47.36428],[7.79619,47.37327],[7.82265,47.37314],[7.82271,47.38229],[7.84912,47.38212],[7.84924,47.39106],[7.86251,47.39097],[7.86263,47.40906],[7.8759,47.40897],[7.87602,47.41803],[7.90242,47.41795],[7.90242,47.40897],[7.92889,47.4088],[7.92914,47.41782],[7.94215,47.41769],[7.94266,47.46276],[7.95592,47.46259],[7.95612,47.47164],[7.98239,47.47155],[7.98239,47.45353],[7.99553,47.45353],[7.99521,47.41747],[8.0218,47.41743],[8.02155,47.39935],[8.03456,47.39926],[8.03468,47.39028],[8.04788,47.39015],[8.04769,47.37224],[8.03456,47.37232],[8.03437,47.3544],[8.02117,47.35427],[8.02072,47.32739],[7.99445,47.32747],[7.99426,47.31857],[7.96773,47.31866],[7.96767,47.30966],[7.9412,47.30992],[7.94133,47.32778],[7.91486,47.32786],[7.91467,47.30988],[7.9016,47.31005],[7.9014,47.30097],[7.87501,47.3011],[7.87501,47.29223],[7.86165,47.29212],[7.86154,47.27409],[7.84843,47.27415],[7.8483,47.26523],[7.83502,47.2652],[7.83502,47.25624],[7.79535,47.25636],[7.7953,47.24741],[7.72924,47.24756],[7.72929,47.25652],[7.71623,47.25667],[7.71618,47.26559],[7.70304,47.26559],[7.70304,47.27461],[7.68975,47.27467],[7.68989,47.28368],[7.66341,47.28371],[7.66332,47.2747],[7.61055,47.27476],[7.61041,47.24787],[7.62352,47.24765],[7.62356,47.23879],[7.64986,47.23876],[7.64999,47.22977],[7.66305,47.22971],[7.6631,47.21178],[7.67621,47.21169],[7.67623,47.19372],[7.68938,47.19369],[7.68924,47.17572],[7.70243,47.1756],[7.70248,47.16663],[7.71567,47.16663],[7.71558,47.15769],[7.70239,47.15766],[7.70234,47.14869],[7.66267,47.14881],[7.66281,47.13978],[7.63633,47.1399],[7.63647,47.14869],[7.5968,47.14893],[7.59684,47.13996],[7.57041,47.13999],[7.57042,47.15792]]],terms_text:"Orthofoto WMS Solothurn",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAIVBMVEX///+LKCbMAABycnL+/v7v7+9sbGz39/fz8/Pw8PD8/Pz60siYAAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AIGAsXN84mS+sAAAA4SURBVAjXY2AUBAMBBkYlMCCXwcwABgZYGCwGIJo5AMQGAjYgLgYxLICY05iBwRisjsvY2IGBAQAGpQmjMKkg/wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0wOC0yNFQxMToyMzo1NS0wNDowMLEFqzIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMDgtMjRUMTE6MjM6NTUtMDQ6MDDAWBOOAAAAAElFTkSuQmCC"},{id:"KTTHURGAU2017",name:"Kanton Thurgau OF 2017",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTTHURGAU2017/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",scaleExtent:[8,21],polygon:[[[8.63768,47.70041],[8.78328,47.6988],[8.78304,47.68533],[8.87027,47.68427],[8.86997,47.6709],[8.89901,47.67047],[8.89867,47.65698],[8.9277,47.65661],[8.92828,47.67015],[8.95726,47.66973],[8.95774,47.68327],[9.19061,47.67994],[9.19027,47.66645],[9.21922,47.66603],[9.21899,47.65256],[9.24784,47.6521],[9.24747,47.63864],[9.3057,47.63765],[9.30526,47.6242],[9.33417,47.62371],[9.33348,47.59674],[9.39151,47.59577],[9.39114,47.58235],[9.42007,47.58176],[9.4186,47.54139],[9.44754,47.54084],[9.44717,47.5273],[9.47605,47.52681],[9.47519,47.49986],[9.50414,47.49935],[9.5031,47.47242],[9.41596,47.47392],[9.41554,47.46045],[9.3576,47.46141],[9.35818,47.47498],[9.32896,47.47534],[9.32864,47.46188],[9.18361,47.4642],[9.18411,47.47769],[9.15492,47.4781],[9.15466,47.46463],[9.06736,47.46583],[9.06718,47.45234],[9.09609,47.45193],[9.09582,47.43853],[9.06663,47.43883],[9.06642,47.42537],[9.00829,47.4262],[9.00714,47.38573],[8.97811,47.38616],[8.9774,47.35913],[8.9194,47.35989],[8.92032,47.38697],[8.89136,47.38725],[8.89286,47.44117],[8.86398,47.44149],[8.86604,47.52251],[8.80784,47.52317],[8.80894,47.56373],[8.77985,47.56403],[8.78024,47.57751],[8.72209,47.57814],[8.72337,47.63213],[8.6652,47.63273],[8.6658,47.6598],[8.63674,47.66],[8.63768,47.70041]]],terms_text:"Kanton Thurgau OF 2017",best:true},{id:"KTZUERICH2015",name:"Kanton Zürich 2015 10cm",type:"tms",template:"https://mapproxy.osm.ch/tiles/KTZUERICH2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2015-01-01T00:00:00.000Z",startDate:"2014-01-01T00:00:00.000Z",scaleExtent:[8,21],polygon:[[[8.71338,47.21388],[8.7137,47.22737],[8.8117,47.22626],[8.80337,47.23858],[8.80866,47.2431],[8.82448,47.24656],[8.82971,47.24539],[8.83652,47.24257],[8.84568,47.24253],[8.84837,47.24322],[8.85232,47.24034],[8.86206,47.23882],[8.86472,47.23966],[8.86863,47.23968],[8.87339,47.24125],[8.87882,47.24476],[8.88054,47.24791],[8.89878,47.24976],[8.90281,47.25094],[8.91025,47.25003],[8.92735,47.25406],[8.93644,47.25499],[8.94233,47.25849],[8.94423,47.26173],[8.94882,47.26536],[8.95094,47.2686],[8.95068,47.27108],[8.953,47.27285],[8.95411,47.27505],[8.95504,47.28251],[8.95171,47.28527],[8.94664,47.28647],[8.95258,47.28844],[8.95454,47.28982],[8.96141,47.30098],[8.97552,47.30245],[8.98006,47.30416],[8.99153,47.31893],[8.99069,47.32183],[8.98637,47.32542],[8.98548,47.32778],[8.98364,47.32931],[8.98592,47.33815],[8.98464,47.34061],[8.98079,47.34237],[8.98088,47.34835],[8.97785,47.35437],[8.9759,47.35606],[8.97002,47.35843],[8.96572,47.3589],[8.96238,47.36252],[8.95665,47.37432],[8.9521,47.37836],[8.94778,47.37971],[8.95023,47.38346],[8.95018,47.38596],[8.9488,47.38836],[8.9397,47.39403],[8.93637,47.39496],[8.93251,47.39871],[8.92801,47.40148],[8.92278,47.4038],[8.91388,47.40569],[8.91924,47.41213],[8.92049,47.41915],[8.91829,47.42323],[8.92094,47.42544],[8.92107,47.42828],[8.92571,47.42695],[8.93437,47.42796],[8.93877,47.43173],[8.93974,47.43411],[8.93889,47.43725],[8.93511,47.43973],[8.92349,47.43953],[8.91973,47.44081],[8.91322,47.44119],[8.91162,47.44347],[8.91527,47.44628],[8.91499,47.45004],[8.91196,47.45378],[8.90517,47.45791],[8.90183,47.46435],[8.89735,47.46898],[8.89581,47.47219],[8.89135,47.4738],[8.89143,47.47821],[8.90142,47.48133],[8.90428,47.48449],[8.90314,47.48928],[8.90001,47.49187],[8.89967,47.49885],[8.90357,47.50404],[8.90413,47.50745],[8.90322,47.51948],[8.90497,47.52447],[8.90365,47.52691],[8.89982,47.52965],[8.88423,47.53392],[8.87883,47.53277],[8.87061,47.53477],[8.8602,47.53488],[8.85674,47.53594],[8.84782,47.5358],[8.84614,47.54087],[8.8403,47.54654],[8.83728,47.55278],[8.84275,47.5537],[8.84648,47.5562],[8.85269,47.55645],[8.8562,47.55792],[8.85775,47.56141],[8.85728,47.56489],[8.85511,47.56721],[8.85079,47.56818],[8.84763,47.57023],[8.84538,47.57061],[8.8448,47.57309],[8.84211,47.57513],[8.83326,47.57769],[8.82962,47.57778],[8.82661,47.57662],[8.82137,47.57756],[8.81432,47.57598],[8.81234,47.5778],[8.81222,47.58473],[8.81067,47.58639],[8.80812,47.58738],[8.76818,47.59674],[8.7543,47.59729],[8.75529,47.60108],[8.75416,47.60273],[8.74883,47.60588],[8.74829,47.60874],[8.7507,47.60981],[8.75255,47.61292],[8.75575,47.61217],[8.76102,47.61335],[8.78169,47.60634],[8.78165,47.60345],[8.78467,47.59993],[8.80168,47.5966],[8.80512,47.59686],[8.80895,47.59938],[8.81074,47.60981],[8.81866,47.61372],[8.82001,47.61526],[8.82089,47.62058],[8.82015,47.62415],[8.82415,47.6256],[8.83079,47.63206],[8.83448,47.64099],[8.83182,47.64945],[8.82695,47.65206],[8.81168,47.65599],[8.81112,47.6621],[8.81192,47.66454],[8.81041,47.66752],[8.80881,47.66857],[8.80293,47.66978],[8.79299,47.66919],[8.78685,47.66978],[8.78453,47.66899],[8.78216,47.66659],[8.77921,47.65695],[8.77763,47.65563],[8.77398,47.65435],[8.76623,47.65438],[8.76108,47.65257],[8.75852,47.65033],[8.75464,47.64883],[8.7534,47.64733],[8.74839,47.64613],[8.74329,47.64749],[8.73882,47.64651],[8.72376,47.64753],[8.72063,47.64664],[8.71492,47.64885],[8.70826,47.64764],[8.70481,47.65039],[8.70053,47.65199],[8.69427,47.65307],[8.69242,47.65581],[8.68632,47.66094],[8.68485,47.66413],[8.68574,47.66799],[8.68326,47.67315],[8.68056,47.67561],[8.67521,47.6776],[8.67642,47.68177],[8.67561,47.68661],[8.67427,47.68799],[8.67227,47.68891],[8.66273,47.69029],[8.64644,47.69847],[8.63968,47.69877],[8.6355,47.69743],[8.62162,47.69554],[8.61818,47.69279],[8.61744,47.69087],[8.62007,47.68134],[8.61478,47.68308],[8.60917,47.68188],[8.60199,47.67451],[8.59954,47.66923],[8.60275,47.66132],[8.60979,47.6568],[8.6141,47.6564],[8.61574,47.65557],[8.62231,47.65104],[8.62227,47.65024],[8.62048,47.64758],[8.61939,47.65043],[8.61521,47.65452],[8.6093,47.65677],[8.60324,47.65654],[8.60069,47.65541],[8.59788,47.65276],[8.59645,47.64876],[8.59092,47.64623],[8.58937,47.6444],[8.58874,47.63936],[8.59116,47.62755],[8.59325,47.62233],[8.59838,47.61587],[8.59854,47.6145],[8.59114,47.60917],[8.58937,47.60682],[8.58796,47.60319],[8.58788,47.59909],[8.58203,47.59793],[8.57398,47.59329],[8.57146,47.58988],[8.57035,47.58633],[8.57203,47.57985],[8.56771,47.57799],[8.56506,47.57524],[8.56117,47.56407],[8.55707,47.55947],[8.55616,47.56336],[8.55206,47.56904],[8.55334,47.57146],[8.5526,47.57599],[8.55007,47.57806],[8.54666,47.57923],[8.5435,47.58228],[8.54319,47.5851],[8.54888,47.5879],[8.55175,47.58777],[8.55764,47.58963],[8.56114,47.59151],[8.56265,47.5946],[8.56668,47.59565],[8.56902,47.59748],[8.56953,47.60049],[8.57237,47.60386],[8.57308,47.60641],[8.57562,47.60676],[8.579,47.60845],[8.58076,47.61031],[8.58125,47.61203],[8.58025,47.61456],[8.57712,47.61636],[8.57525,47.61957],[8.57277,47.6211],[8.56785,47.62164],[8.56341,47.62697],[8.56105,47.62838],[8.54803,47.62998],[8.54558,47.63122],[8.54498,47.63297],[8.54288,47.63458],[8.53995,47.63565],[8.52769,47.63634],[8.52112,47.63887],[8.51478,47.6385],[8.50932,47.63559],[8.50829,47.62942],[8.50161,47.62597],[8.5007,47.62421],[8.50149,47.62154],[8.49253,47.61893],[8.48884,47.61953],[8.47669,47.61937],[8.47439,47.61838],[8.47154,47.61495],[8.47129,47.61307],[8.46785,47.61272],[8.46446,47.61109],[8.46173,47.60659],[8.45519,47.60676],[8.45061,47.60411],[8.4499,47.60164],[8.4507,47.59584],[8.45382,47.59343],[8.45428,47.5866],[8.4563,47.5848],[8.46014,47.58382],[8.46332,47.58044],[8.46881,47.5795],[8.46219,47.57653],[8.45419,47.57668],[8.43642,47.57154],[8.43161,47.57102],[8.42476,47.57231],[8.41477,47.56879],[8.41304,47.56745],[8.41034,47.56194],[8.41039,47.55972],[8.40789,47.55465],[8.40846,47.55018],[8.39964,47.54444],[8.39609,47.543],[8.39469,47.54094],[8.39495,47.53674],[8.39136,47.53568],[8.38835,47.53305],[8.38525,47.53316],[8.38113,47.53219],[8.3774,47.52969],[8.37518,47.52679],[8.37279,47.51651],[8.36579,47.51663],[8.35666,47.51348],[8.35439,47.51104],[8.35103,47.50314],[8.3524,47.49957],[8.35163,47.4973],[8.35274,47.49484],[8.3545,47.49355],[8.3557,47.48979],[8.35533,47.48525],[8.35698,47.47931],[8.35891,47.47743],[8.36187,47.47645],[8.36722,47.47654],[8.36702,47.47487],[8.36073,47.47222],[8.35903,47.46604],[8.35996,47.46381],[8.36326,47.46204],[8.3673,47.45653],[8.36975,47.45504],[8.37393,47.45472],[8.37754,47.45201],[8.37583,47.45068],[8.37441,47.44614],[8.37623,47.43818],[8.37168,47.43675],[8.36855,47.43406],[8.3681,47.43158],[8.36904,47.42863],[8.37222,47.42603],[8.38283,47.42346],[8.38371,47.42251],[8.38073,47.42207],[8.37555,47.4178],[8.37598,47.41378],[8.37441,47.40906],[8.36067,47.40664],[8.35789,47.40542],[8.35629,47.40377],[8.35661,47.39961],[8.36195,47.39516],[8.36577,47.39429],[8.37601,47.3947],[8.37743,47.39218],[8.38036,47.39048],[8.38761,47.39035],[8.38832,47.38012],[8.39034,47.37527],[8.39355,47.3719],[8.39387,47.36945],[8.39574,47.3671],[8.39902,47.36608],[8.39836,47.36408],[8.40012,47.36094],[8.40103,47.35433],[8.39728,47.34677],[8.39779,47.34475],[8.40186,47.3391],[8.40931,47.33409],[8.4061,47.32975],[8.40578,47.32667],[8.40689,47.32447],[8.41295,47.3205],[8.41611,47.31996],[8.42948,47.32227],[8.43556,47.32083],[8.43437,47.31954],[8.43155,47.31851],[8.42609,47.31375],[8.42276,47.30706],[8.42311,47.30368],[8.41745,47.3015],[8.41372,47.29824],[8.40012,47.29564],[8.39768,47.29392],[8.39518,47.29516],[8.39108,47.29552],[8.38602,47.29437],[8.38272,47.29225],[8.38198,47.29034],[8.38255,47.2881],[8.38508,47.28565],[8.38977,47.27507],[8.39563,47.271],[8.39407,47.26672],[8.39415,47.26361],[8.39756,47.25986],[8.39614,47.25481],[8.39742,47.25189],[8.40647,47.24452],[8.40826,47.24118],[8.40761,47.23957],[8.4096,47.23585],[8.41073,47.22799],[8.41248,47.22433],[8.41695,47.22014],[8.41959,47.21902],[8.42269,47.21886],[8.42977,47.22],[8.43936,47.21937],[8.45,47.21363],[8.4546,47.21334],[8.45625,47.21081],[8.4591,47.20934],[8.46447,47.20928],[8.46609,47.20862],[8.46868,47.20533],[8.47329,47.20398],[8.47693,47.20458],[8.48399,47.20392],[8.49489,47.20738],[8.504,47.20768],[8.51538,47.21152],[8.51753,47.21271],[8.51906,47.21495],[8.5306,47.21306],[8.53307,47.21325],[8.5415,47.21778],[8.54456,47.21707],[8.55407,47.21726],[8.55858,47.21517],[8.56984,47.2139],[8.57491,47.21255],[8.57749,47.20771],[8.58044,47.2064],[8.58408,47.20603],[8.59012,47.20714],[8.58965,47.2046],[8.59074,47.20195],[8.59358,47.1986],[8.59581,47.19753],[8.60168,47.19722],[8.60653,47.1992],[8.60725,47.19885],[8.61097,47.19387],[8.61128,47.19059],[8.61391,47.18838],[8.61522,47.18515],[8.61938,47.18045],[8.61976,47.17918],[8.61721,47.17359],[8.6196,47.1698],[8.62292,47.16821],[8.6339,47.16715],[8.63561,47.16578],[8.63965,47.16459],[8.64287,47.16443],[8.65216,47.16598],[8.65425,47.16552],[8.6549,47.15967],[8.65649,47.15783],[8.65882,47.15658],[8.66853,47.15492],[8.67847,47.15558],[8.68241,47.15759],[8.69361,47.15898],[8.69804,47.16134],[8.69886,47.16303],[8.6977,47.17033],[8.69599,47.17232],[8.68919,47.17566],[8.6872,47.17959],[8.6879,47.18229],[8.69186,47.18485],[8.69824,47.19205],[8.70323,47.19326],[8.70852,47.19602],[8.71423,47.19693],[8.71692,47.19893],[8.74212,47.2071],[8.74218,47.21355],[8.71338,47.21388]]],terms_text:"Kanton Zürich Orthophotos 2014/2015",best:true},{id:"kartverket-dom-skygge",name:"Kartverket DOM Digital Surface Model",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.hoyde-dom_somlos_skyggerelieff?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=las_dom_skyggerelieff_somlos&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[0,24],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://hoydedata.no/",terms_text:"© Kartverket",description:"Shaded relief representation of the Norwegian digital surface model (DOM), i.e. earth surface including trees, buildings and other objects on top of it.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-dtm-skygge",name:"Kartverket DTM Digital Terrain Model",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.hoyde-dtm_somlos_skyggerelieff?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=las_dtm_skyggerelieff_somlos&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[0,24],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://hoydedata.no/",terms_text:"© Kartverket",description:"Shaded relief representation of the Norwegian digital terrain model (DTM), i.e. earth surface without trees, buildings and other objects.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-friluft",name:"Kartverket Hiking Trails",type:"wms",template:"https://wms.geonorge.no/skwms1/wms.friluftsruter2?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Fotrute&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[6,24],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://kartverket.no/geodataarbeid/temadata/nasjonal-database-for-tur--og-friluftsruter/",terms_text:"© Kartverket",description:"Hiking trails from the Norwegian database `Tur- og Friluftsruter´, including DNT routes.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"kartverket-topo4",name:"Kartverket N50 topo",type:"tms",template:"https://opencache{switch:,2,3}.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo4&zoom={zoom}&x={x}&y={y}",scaleExtent:[3,15],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://wiki.openstreetmap.org/wiki/No:Kartverket_import",terms_text:"© Kartverket",description:"Topographic map N50, equivalent to Norway 1:50.000 paper map series.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png"},{id:"kartverket-vegnett",name:"Kartverket Road Network",type:"wms",template:"https://openwms.statkart.no/skwms1/wms.vegnett?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=all&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[3,24],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://www.kartverket.no/data/kartdata/vegdata/",terms_text:"© Kartverket",description:"Norwegian road network from the National Road database (NVDB). Colours represent national, county, municipal, private and forest roads + footways/cycleways.",icon:"https://www.kartverket.no/Content/Images/logo-graphic-512.png",overlay:true},{id:"kelowna_2012",name:"Kelowna 2012",type:"tms",template:"http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna2012/{zoom}/{x}/{y}.png",endDate:"2012-05-14T00:00:00.000Z",startDate:"2012-05-13T00:00:00.000Z",scaleExtent:[9,20],polygon:[[[-119.58673,49.79281],[-119.54657,49.79281],[-119.54657,49.80138],[-119.53434,49.80138],[-119.53434,49.80473],[-119.52962,49.80473],[-119.52962,49.81196],[-119.51045,49.81196],[-119.51157,49.87443],[-119.51089,49.87449],[-119.51141,49.88433],[-119.51141,49.92218],[-119.49386,49.92235],[-119.49405,49.9313],[-119.48039,49.93175],[-119.48046,49.94075],[-119.46667,49.94099],[-119.46928,49.99137],[-119.45513,49.99161],[-119.45567,50.01212],[-119.44167,50.01239],[-119.44173,50.01363],[-119.42215,50.01404],[-119.4221,50.01193],[-119.41213,50.01217],[-119.41261,50.02169],[-119.41234,50.02169],[-119.41248,50.02508],[-119.41209,50.02508],[-119.4122,50.02708],[-119.41261,50.02707],[-119.41283,50.03219],[-119.39363,50.03264],[-119.39353,50.03078],[-119.37957,50.03101],[-119.37954,50.02876],[-119.37358,50.02886],[-119.37154,49.97936],[-119.35735,49.97936],[-119.35484,49.92561],[-119.32681,49.92572],[-119.32566,49.88041],[-119.31389,49.88065],[-119.31371,49.87717],[-119.31322,49.87722],[-119.31315,49.87497],[-119.31245,49.87491],[-119.31223,49.87236],[-119.31176,49.87233],[-119.3116,49.86961],[-119.31122,49.86942],[-119.31092,49.86324],[-119.31037,49.86327],[-119.30951,49.85124],[-119.31064,49.85123],[-119.31039,49.84626],[-119.32453,49.846],[-119.3246,49.84507],[-119.3367,49.84488],[-119.33675,49.84351],[-119.33794,49.84347],[-119.3378,49.83821],[-119.33836,49.8381],[-119.33837,49.83512],[-119.33909,49.83511],[-119.3388,49.83212],[-119.33915,49.83206],[-119.33917,49.82933],[-119.33946,49.82933],[-119.33959,49.82679],[-119.35001,49.82658],[-119.34937,49.81806],[-119.4047,49.81638],[-119.40457,49.8099],[-119.41016,49.8099],[-119.41029,49.80728],[-119.43195,49.80691],[-119.43226,49.7908],[-119.44598,49.79055],[-119.44529,49.78202],[-119.49674,49.78116],[-119.49661,49.77849],[-119.54184,49.77751],[-119.54159,49.77183],[-119.55603,49.77149],[-119.55612,49.77184],[-119.57157,49.77151],[-119.57162,49.77173],[-119.58192,49.77149],[-119.58201,49.77177],[-119.5923,49.77152],[-119.59234,49.77181],[-119.60038,49.7716],[-119.60119,49.78391],[-119.58644,49.78439],[-119.58673,49.79281]]],description:"High quality aerial imagery taken for the City of Kelowna"},{id:"kelowna_roads",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.58673,49.79281],[-119.54657,49.79281],[-119.54657,49.80138],[-119.53434,49.80138],[-119.53434,49.80473],[-119.52962,49.80473],[-119.52962,49.81196],[-119.51045,49.81196],[-119.51157,49.87443],[-119.51089,49.87449],[-119.51141,49.88433],[-119.51141,49.92218],[-119.49386,49.92235],[-119.49405,49.9313],[-119.48039,49.93175],[-119.48046,49.94075],[-119.46667,49.94099],[-119.46928,49.99137],[-119.45513,49.99161],[-119.45567,50.01212],[-119.44167,50.01239],[-119.44173,50.01363],[-119.42215,50.01404],[-119.4221,50.01193],[-119.41213,50.01217],[-119.41261,50.02169],[-119.41234,50.02169],[-119.41248,50.02508],[-119.41209,50.02508],[-119.4122,50.02708],[-119.41261,50.02707],[-119.41283,50.03219],[-119.39363,50.03264],[-119.39353,50.03078],[-119.37957,50.03101],[-119.37954,50.02876],[-119.37358,50.02886],[-119.37154,49.97936],[-119.35735,49.97936],[-119.35484,49.92561],[-119.32681,49.92572],[-119.32566,49.88041],[-119.31389,49.88065],[-119.31371,49.87717],[-119.31322,49.87722],[-119.31315,49.87497],[-119.31245,49.87491],[-119.31223,49.87236],[-119.31176,49.87233],[-119.3116,49.86961],[-119.31122,49.86942],[-119.31092,49.86324],[-119.31037,49.86327],[-119.30951,49.85124],[-119.31064,49.85123],[-119.31039,49.84626],[-119.32453,49.846],[-119.3246,49.84507],[-119.3367,49.84488],[-119.33675,49.84351],[-119.33794,49.84347],[-119.3378,49.83821],[-119.33836,49.8381],[-119.33837,49.83512],[-119.33909,49.83511],[-119.3388,49.83212],[-119.33915,49.83206],[-119.33917,49.82933],[-119.33946,49.82933],[-119.33959,49.82679],[-119.35001,49.82658],[-119.34937,49.81806],[-119.4047,49.81638],[-119.40457,49.8099],[-119.41016,49.8099],[-119.41029,49.80728],[-119.43195,49.80691],[-119.43226,49.7908],[-119.44598,49.79055],[-119.44529,49.78202],[-119.49674,49.78116],[-119.49661,49.77849],[-119.54184,49.77751],[-119.54159,49.77183],[-119.55603,49.77149],[-119.55612,49.77184],[-119.57157,49.77151],[-119.57162,49.77173],[-119.58192,49.77149],[-119.58201,49.77177],[-119.5923,49.77152],[-119.59234,49.77181],[-119.60038,49.7716],[-119.60119,49.78391],[-119.58644,49.78439],[-119.58673,49.79281]]],overlay:true},{id:"landsat_233055",name:"Landsat 233055",type:"tms",template:"http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_233055/{zoom}/{x}/{y}.png",endDate:"2013-09-03T00:00:00.000Z",startDate:"2013-09-03T00:00:00.000Z",scaleExtent:[5,14],polygon:[[[-60.855,6.1765],[-60.47626,7.91883],[-62.16169,8.27787],[-62.53225,6.53755],[-60.855,6.1765]]],description:"Recent Landsat imagery"},{id:"osmse-ekonomiska",name:"Lantmäteriet Economic Map (historic)",type:"tms",template:"https://mapproxy.openstreetmap.se/tms/1.0.0/ek_EPSG3857/{zoom}/{x}/{-y}.jpeg",scaleExtent:[3,17],polygon:[[[12.71117,55.2666],[14.38109,55.29163],[19.65453,57.24934],[19.85228,59.75087],[17.77587,61.13794],[18.06151,62.27815],[20.97289,63.5779],[24.35668,65.60842],[23.96117,66.79191],[20.61034,66.45189],[17.13866,63.96632],[11.99706,61.03702],[12.29369,60.31607],[10.70067,58.81375],[12.71117,55.2666]]],terms_url:"https://www.lantmateriet.se",terms_text:"© Lantmäteriet",description:"Scan of ´Economic maps´ ca 1950-1980",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA0CAMAAADPNIq/AAAA7VBMVEVHcEz1NzT1NjT4NzTwNTLzNjP4ODX3NzTyNTPyNS/zNjPyNjPxNTP2NzTvMi70NjPzNjP0NjL1NjP3NzP1NzT1NjP0NjP3NzT/Njb0NjP3NzT4ODP0NjPzNjP2NzX2NzTvLCzzNjTtNC/zNTPyNDP5NzT0NjTzNjP1NjPtMy72NzT5ODX3ODT1NjT1NzTyNjP1NzTyODD0NzT/Ozj/OjfzNzT9OTb3NzT0NDH/ODX6ODX1NzT/PDn5NTL4ODX0NjP2PTr8YmL1OTb9Y2P2QT/4TUz3R0X+Zmb7ODX8X1/4Skj6UlH7W1r+NjP5T03RuQwnAAAAMnRSTlMA8SH8F63p7FkZsHRcsw/ErCddmTKo2/QD+34roLpExwfMG25W1djATRKRk9CG+VOkPjR6UnQAAAIzSURBVEjHnZXpVuowEIDZC3gBBRQEBNerqN4lk9bS1FIqUAH0/R/HbkmT0haOc/jDnK/zTZihyWR+GP3my6BaHbw0+2lUrvecn3gBYD33cglY5akz+TTMuROmOjWw3nmqxHHNEn4zv7armROrDZoiZOilX7vcI3yam5ltv7thrywHRLICj1HuVFeXM3u23SyWy+V6bboccoueitxAVxf2ajFHahAoCKIPeO7I4d4XlqpOUTSIfhRy7fzbemvGUJ4932ZgYzLfIBXFhwwNyj0AWVpJnCOHhwC8x6bFaQkxiEDCfTBey0CMkzXAhoFBk/kuT/wjA/90tnXbbv9tSULSP3gNuHZqwSbkahD6oeamumdKmOHm8C98XjnrOolCVgsTlyF4+ZsV0LIFJ3FybrCCTX5cZVbSOHdP00cU1KQ6D9alDwoid99zfyiIR+KmNLBQccx6xBcieIGFHrusaXwlgldYOHWmSJs2OsJ/pJKlPUHVS9xAZAJ0ScP8jT8EdhqtdM0VLGmRWYczlPFoTLnxCNO9AHrI//iVSe6Gfm54x8QED+nTRZBZTaXRK5d7DYXVk4OjeO1I4V4QDNj5hKvzIV3zY+V3mghfxAU4Bjnpr1UVhlDg5EIoUuRFJco58c5rqqjL+8WJ8h1xgjxGLP7sKeJYeaw4Rp4g3vnZZSgmXh+FknKAOCJPEQvyNLEgTxVzcgLlfbemJ98nZnJFKuy/iG+BHCD2bzv9+KC7vd5q1TM/j284bszID7oc+QAAAABJRU5ErkJggg=="},{id:"lu.geoportail.opendata.ortholatest",name:"Latest available ortho geoportail.lu",type:"tms",template:"http://{switch:wmts1,wmts2}.geoportail.lu/opendata/wmts/ortho_latest/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2017-06-22T00:00:00.000Z",startDate:"2017-06-14T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,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",best:true,icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"landsat_047026",name:"Latest southwest British Columbia Landsat",type:"tms",template:"http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_047026/{zoom}/{x}/{y}.png",endDate:"2013-09-12T00:00:00.000Z",startDate:"2013-09-12T00:00:00.000Z",scaleExtent:[5,13],polygon:[[[-121.93555,47.78206],[-121.57206,48.64101],[-121.20155,49.48462],[-121.83755,49.60232],[-122.4767,49.71617],[-123.11891,49.82688],[-123.76023,49.93358],[-124.08877,49.08705],[-124.41289,48.22526],[-123.79277,48.11973],[-123.17279,48.01096],[-122.55355,47.89823],[-121.93555,47.78206]]],description:"Recent lower-resolution landsat imagery for southwest British Columbia"},{id:"Lausanne-2012",name:"Lausanne - Orthophoto technique 2012",type:"tms",template:"http://osmdata.asitvd.ch/tiles/lausanne2012/{zoom}/{x}/{y}.png",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",scaleExtent:[14,20],polygon:[[[6.66668,46.49441],[6.61637,46.49406],[6.61636,46.49836],[6.60135,46.49825],[6.60131,46.50227],[6.55923,46.50194],[6.55773,46.59687],[6.72895,46.59805],[6.7304,46.49004],[6.67702,46.48978],[6.67703,46.49011],[6.67345,46.49006],[6.67347,46.49041],[6.66672,46.49036],[6.66668,46.49441]]],terms_url:"http://carto.lausanne.ch/lausanne-gc/",terms_text:"Ville de Lausanne - Orthophoto technique 2012"},{id:"LINZ_NZ_Aerial_Imagery",name:"LINZ NZ Aerial Imagery",type:"tms",template:"https://tiles-a.data-cdn.linz.govt.nz/services;key=3197c6d0e5cb494a95d58dc2de3216c2/tiles/v4/set=2/EPSG:3857/{zoom}/{x}/{y}.png",scaleExtent:[0,21],polygon:[[[167.25037,-47.21957],[167.24487,-47.28016],[167.50305,-47.37975],[168.25012,-47.1561],[168.74451,-46.7963],[169.32678,-46.75492],[169.78271,-46.60417],[170.42542,-46.11133],[170.80444,-45.95115],[170.95276,-45.44086],[171.30981,-44.91036],[171.40869,-44.39062],[172.56226,-43.92955],[172.90283,-43.9691],[173.16101,-43.90977],[173.25989,-43.69568],[172.97424,-43.5366],[172.76001,-43.37711],[173.15002,-43.17714],[173.70483,-42.63396],[174.36401,-41.7836],[174.32007,-41.40978],[174.84741,-41.52914],[175.07263,-41.70573],[175.50659,-41.67291],[176.2262,-41.10833],[176.83044,-40.42604],[177.17102,-39.67337],[177.03918,-39.39375],[177.44568,-39.18118],[177.60498,-39.33005],[177.97852,-39.36828],[178.33557,-38.65978],[178.70911,-37.74466],[178.62671,-37.54458],[178.3136,-37.43125],[177.62146,-37.37889],[177.03918,-37.39635],[176.56128,-37.37016],[176.33606,-37.05956],[176.00647,-36.29742],[175.67688,-36.05354],[174.67163,-35.1783],[173.19397,-34.28445],[172.67761,-34.23451],[172.38647,-34.40238],[172.47986,-34.71904],[172.98523,-35.32185],[173.56201,-36.14231],[174.30908,-37.07709],[174.55627,-38.05242],[174.47937,-38.65549],[174.32556,-38.86537],[173.79822,-38.95941],[173.60596,-39.23225],[173.69934,-39.56335],[174.58923,-39.95607],[174.98474,-40.21664],[174.98474,-40.49292],[174.72107,-40.80549],[174.14978,-40.65147],[173.28186,-40.4344],[172.58972,-40.35073],[172.08435,-40.53468],[171.76575,-40.82628],[171.57349,-41.39742],[171.28235,-41.65239],[170.87585,-42.53284],[170.354,-42.87194],[168.27759,-43.92955],[167.6239,-44.47691],[166.55273,-45.38688],[166.27258,-45.91677],[166.48132,-46.22545],[167.67883,-46.47192],[167.25037,-47.21957]]],terms_url:"https://www.linz.govt.nz/data/licensing-and-using-data/attributing-elevation-or-aerial-imagery-data",terms_text:"Sourced from LINZ CC-BY 4.0",best:true},{id:"LINZ_NZ_Topo50_Gridless_Maps",name:"LINZ NZ Topo50 Gridless Maps",type:"tms",template:"https://tiles-a.data-cdn.linz.govt.nz/services;key=3197c6d0e5cb494a95d58dc2de3216c2/tiles/v4/layer=2343/EPSG:3857/{zoom}/{x}/{y}.png",scaleExtent:[0,21],polygon:[[[167.25037,-47.21957],[167.24487,-47.28016],[167.50305,-47.37975],[168.25012,-47.1561],[168.74451,-46.7963],[169.32678,-46.75492],[169.78271,-46.60417],[170.42542,-46.11133],[170.80444,-45.95115],[170.95276,-45.44086],[171.30981,-44.91036],[171.40869,-44.39062],[172.56226,-43.92955],[172.90283,-43.9691],[173.16101,-43.90977],[173.25989,-43.69568],[172.97424,-43.5366],[172.76001,-43.37711],[173.15002,-43.17714],[173.70483,-42.63396],[174.36401,-41.7836],[174.32007,-41.40978],[174.84741,-41.52914],[175.07263,-41.70573],[175.50659,-41.67291],[176.2262,-41.10833],[176.83044,-40.42604],[177.17102,-39.67337],[177.03918,-39.39375],[177.44568,-39.18118],[177.60498,-39.33005],[177.97852,-39.36828],[178.33557,-38.65978],[178.70911,-37.74466],[178.62671,-37.54458],[178.3136,-37.43125],[177.62146,-37.37889],[177.03918,-37.39635],[176.56128,-37.37016],[176.33606,-37.05956],[176.00647,-36.29742],[175.67688,-36.05354],[174.67163,-35.1783],[173.19397,-34.28445],[172.67761,-34.23451],[172.38647,-34.40238],[172.47986,-34.71904],[172.98523,-35.32185],[173.56201,-36.14231],[174.30908,-37.07709],[174.55627,-38.05242],[174.47937,-38.65549],[174.32556,-38.86537],[173.79822,-38.95941],[173.60596,-39.23225],[173.69934,-39.56335],[174.58923,-39.95607],[174.98474,-40.21664],[174.98474,-40.49292],[174.72107,-40.80549],[174.14978,-40.65147],[173.28186,-40.4344],[172.58972,-40.35073],[172.08435,-40.53468],[171.76575,-40.82628],[171.57349,-41.39742],[171.28235,-41.65239],[170.87585,-42.53284],[170.354,-42.87194],[168.27759,-43.92955],[167.6239,-44.47691],[166.55273,-45.38688],[166.27258,-45.91677],[166.48132,-46.22545],[167.67883,-46.47192],[167.25037,-47.21957]]],terms_url:"https://data.linz.govt.nz/layer/2343-nz-mainland-topo50-gridless-maps",terms_text:"CC BY 4.0 Land Information New Zealand"},{id:"ORT10LT",name:"Lithuania - NŽT ORT10LT",type:"tms",template:"https://ort10lt.openmap.lt/g16/{zoom}/{x}/{y}.jpeg",endDate:"2016-01-01T00:00:00.000Z",startDate:"2010-01-01T00:00:00.000Z",scaleExtent:[4,18],polygon:[[[26.21384,55.85075],[26.38583,55.70453],[26.63036,55.68067],[26.62053,55.56892],[26.52422,55.50992],[26.55415,55.38883],[26.43993,55.34794],[26.79197,55.3212],[26.82913,55.27635],[26.74346,55.25399],[26.67648,55.15883],[26.46112,55.12856],[26.35774,55.15054],[26.22963,55.10732],[26.27138,55.07759],[26.20851,54.99741],[26.06191,54.94161],[25.85782,54.9276],[25.74298,54.81506],[25.76261,54.5769],[25.53194,54.34182],[25.67716,54.32381],[25.78573,54.23362],[25.78588,54.15506],[25.55508,54.14619],[25.51095,54.17503],[25.58967,54.22858],[25.51362,54.30785],[25.26893,54.27447],[25.0706,54.13363],[24.95737,54.17206],[24.81338,54.14486],[24.77902,54.09991],[24.87128,54.0349],[24.81957,53.99772],[24.68459,53.96211],[24.69787,54.01714],[24.62591,54.0105],[24.43426,53.90144],[24.35206,53.89679],[24.20161,53.97001],[23.96833,53.9267],[23.91302,53.96968],[23.77812,53.89892],[23.70977,53.93945],[23.53704,53.94307],[23.48224,53.98938],[23.52734,54.04735],[23.48586,54.15323],[23.38679,54.22484],[23.04212,54.31597],[23.01021,54.3828],[22.85469,54.4104],[22.792,54.36332],[22.70234,54.4529],[22.68386,54.58597],[22.74897,54.63198],[22.74297,54.72682],[22.88668,54.8135],[22.8204,54.91198],[22.6424,54.97134],[22.58924,55.07024],[22.0806,55.02448],[22.03241,55.0841],[21.91307,55.08168],[21.64919,55.18081],[21.50151,55.18682],[21.38437,55.2937],[21.27098,55.24501],[21.09836,55.25639],[20.94217,55.28245],[21.08635,55.56183],[21.03995,55.83636],[21.06403,56.06995],[21.20478,56.08117],[21.2308,56.16233],[21.5021,56.2955],[21.72359,56.31382],[21.83566,56.37162],[21.96954,56.37665],[22.0153,56.42428],[22.43727,56.4064],[22.68,56.35159],[22.91917,56.37902],[22.94668,56.41465],[23.09325,56.30464],[23.17034,56.36677],[23.30645,56.38305],[23.55717,56.33382],[23.7648,56.37332],[23.76669,56.32381],[24.019,56.32976],[24.12146,56.2489],[24.28574,56.30064],[24.45415,56.25816],[24.57947,56.28824],[24.62841,56.37533],[24.90238,56.48053],[25.12774,56.20591],[25.57714,56.18241],[25.67312,56.14937],[26.21384,55.85075]]],terms_url:"https://www.geoportal.lt",terms_text:"NŽT ORT10LT",best:true},{id:"mapbox_locator_overlay",name:"Locator Overlay",type:"tms",template:"https://{switch:a,b,c,d}.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:"https://www.mapbox.com/about/maps",terms_text:"Terms & Feedback","default":true,description:"Shows major features to help orient you.",overlay:true},{id:"Loire_Atlantique-Orthophotos-2012",name:"Loire-Atlantique - Orthophotos 2012 - 20 cm",type:"tms",template:"http://{switch:a,b,c,d,e,f,g,h}.tiles.cg44.makina-corpus.net/ortho-2012/{zoom}/{x}/{-y}.jpg",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",scaleExtent:[0,19],polygon:[[[-1.48638,46.87691],[-1.54437,46.84873],[-1.73468,46.87246],[-1.89276,46.94234],[-1.95475,46.98084],[-2.07067,47.08521],[-2.2678,47.12656],[-2.22627,47.17124],[-2.19217,47.16914],[-2.19341,47.25546],[-2.29694,47.22769],[-2.41658,47.25336],[-2.54862,47.28575],[-2.63913,47.41678],[-2.50573,47.50812],[-2.31063,47.53021],[-2.24836,47.52384],[-2.23223,47.51499],[-2.12109,47.54674],[-2.11783,47.60126],[-2.1001,47.61123],[-2.09981,47.62005],[-2.11141,47.62873],[-2.10055,47.65141],[-2.08121,47.66578],[-1.98016,47.70751],[-1.83077,47.72419],[-1.67455,47.72544],[-1.63735,47.77463],[-1.49601,47.81752],[-1.49911,47.84166],[-1.38133,47.84415],[-1.346,47.81086],[-1.23007,47.78587],[-1.21643,47.75838],[-1.22635,47.73628],[-1.21086,47.7317],[-1.18668,47.73462],[-1.15196,47.69332],[-1.13151,47.63654],[-1.09121,47.6332],[-0.99265,47.6027],[-0.98459,47.58598],[-1.0317,47.55001],[-1.13585,47.55628],[-1.13275,47.5161],[-1.0317,47.51778],[-0.94863,47.50103],[-0.93686,47.47715],[-0.93376,47.43859],[-0.9009,47.39874],[-0.92694,47.37482],[-0.97157,47.35845],[-1.28339,47.32736],[-1.23379,47.26093],[-1.20032,47.26935],[-1.16498,47.24957],[-1.14143,47.1763],[-1.1563,47.15818],[-1.20652,47.12402],[-1.20838,47.10968],[-1.15568,47.10504],[-1.14081,47.08056],[-1.09431,47.0717],[-1.09989,47.03199],[-1.14453,47.01636],[-1.21582,47.02904],[-1.26727,47.06325],[-1.28524,47.02185],[-1.34972,47.02397],[-1.33918,46.969],[-1.3491,46.94446],[-1.45014,46.91186],[-1.47504,46.9176],[-1.48775,46.93063],[-1.49235,46.98433],[-1.48644,46.99943],[-1.49213,47.02722],[-1.52764,47.00541],[-1.52961,46.97252],[-1.50507,46.94439],[-1.50222,46.92973],[-1.51142,46.91371],[-1.48622,46.89724],[-1.48638,46.87691]]],terms_url:"http://data.loire-atlantique.fr/licence",terms_text:"Département de Loire-Atlantique"},{id:"Lombardia-Italy-CTR-DBT",name:"Lombardia - Italy (CTR DBT)",type:"wms",template:"https://www.cartografia.servizirl.it/arcgis/services/wms/ctr_wms/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Sfondo%20C.T.R.%2010000&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[8.4816,45.28938],[8.63085,45.01372],[8.78009,44.98189],[8.86775,45.02712],[9.07148,44.80063],[9.14966,44.79055],[9.19467,44.67106],[9.31549,44.65758],[9.36997,44.698],[9.37945,44.82752],[9.33207,44.91483],[9.41025,45.03716],[9.78692,45.04386],[9.78692,45.00032],[9.93853,45.002],[9.93379,45.08903],[10.00013,45.09071],[10.00013,44.99697],[10.20149,45.002],[10.20149,44.95004],[10.40523,44.9534],[10.40523,44.90476],[10.49288,44.90308],[10.49288,44.8628],[10.6516,44.85776],[10.64686,44.90308],[11.35282,44.89469],[11.35519,44.93663],[11.45706,44.93328],[11.44758,44.97351],[11.3623,45.00032],[11.35282,45.09238],[11.25806,45.09572],[11.25806,45.13752],[11.16094,45.14253],[11.16094,45.18262],[11.05196,45.19097],[11.05196,45.23436],[10.9572,45.23269],[10.9572,45.28605],[10.8577,45.28438],[10.85534,45.32271],[10.74636,45.32937],[10.75347,45.47408],[10.64686,45.48073],[10.60301,45.51074],[10.57636,45.47379],[10.53549,45.50036],[10.59116,45.53148],[10.61666,45.61304],[10.87429,45.84001],[10.82217,45.85982],[10.67529,45.85817],[10.57342,45.8103],[10.58624,46.00773],[10.5016,46.01596],[10.59325,46.11529],[10.60896,46.35583],[10.65634,46.38688],[10.64686,46.46037],[10.4147,46.57285],[10.32705,46.56797],[10.25124,46.65422],[10.07357,46.62494],[10.02382,46.53212],[10.02855,46.43588],[10.07357,46.39832],[10.12095,46.39669],[10.0783,46.32802],[10.14464,46.26582],[10.10436,46.24781],[9.97407,46.40812],[9.71111,46.3689],[9.68742,46.32312],[9.61872,46.30675],[9.55712,46.32475],[9.50264,46.39015],[9.47895,46.5256],[9.25626,46.51582],[9.22546,46.44078],[9.27284,46.34438],[9.17098,46.19044],[9.04305,46.12808],[9.062,46.09195],[8.97435,46.04593],[8.98856,46.00152],[8.93882,45.97354],[9.04068,45.8961],[9.01936,45.84827],[8.84879,46.0081],[8.89854,46.07059],[8.8251,46.11823],[8.70902,46.11659],[8.67823,46.07552],[8.7185,46.01468],[8.55504,45.90434],[8.59768,45.83836],[8.53372,45.79378],[8.6877,45.49235],[8.78009,45.41591],[8.68533,45.37931],[8.71139,45.34103],[8.69481,45.32104],[8.62848,45.37765],[8.5124,45.35768],[8.4816,45.28938]]],terms_url:"https://www.dati.gov.it/content/italian-open-data-license-v20",terms_text:"CTR DBT 10000 Regione Lombardia"},{id:"Lombardia-Italy-CTR",name:"Lombardia - Italy (CTR)",type:"wms",template:"https://www.cartografia.regione.lombardia.it/ArcGIS10/services/wms/ctr_wms/MapServer/WMSServer?STYLES=&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[8.4816,45.28938],[8.63085,45.01372],[8.78009,44.98189],[8.86775,45.02712],[9.07148,44.80063],[9.14966,44.79055],[9.19467,44.67106],[9.31549,44.65758],[9.36997,44.698],[9.37945,44.82752],[9.33207,44.91483],[9.41025,45.03716],[9.78692,45.04386],[9.78692,45.00032],[9.93853,45.002],[9.93379,45.08903],[10.00013,45.09071],[10.00013,44.99697],[10.20149,45.002],[10.20149,44.95004],[10.40523,44.9534],[10.40523,44.90476],[10.49288,44.90308],[10.49288,44.8628],[10.6516,44.85776],[10.64686,44.90308],[11.35282,44.89469],[11.35519,44.93663],[11.45706,44.93328],[11.44758,44.97351],[11.3623,45.00032],[11.35282,45.09238],[11.25806,45.09572],[11.25806,45.13752],[11.16094,45.14253],[11.16094,45.18262],[11.05196,45.19097],[11.05196,45.23436],[10.9572,45.23269],[10.9572,45.28605],[10.8577,45.28438],[10.85534,45.32271],[10.74636,45.32937],[10.75347,45.47408],[10.64686,45.48073],[10.60301,45.51074],[10.57636,45.47379],[10.53549,45.50036],[10.59116,45.53148],[10.61666,45.61304],[10.87429,45.84001],[10.82217,45.85982],[10.67529,45.85817],[10.57342,45.8103],[10.58624,46.00773],[10.5016,46.01596],[10.59325,46.11529],[10.60896,46.35583],[10.65634,46.38688],[10.64686,46.46037],[10.4147,46.57285],[10.32705,46.56797],[10.25124,46.65422],[10.07357,46.62494],[10.02382,46.53212],[10.02855,46.43588],[10.07357,46.39832],[10.12095,46.39669],[10.0783,46.32802],[10.14464,46.26582],[10.10436,46.24781],[9.97407,46.40812],[9.71111,46.3689],[9.68742,46.32312],[9.61872,46.30675],[9.55712,46.32475],[9.50264,46.39015],[9.47895,46.5256],[9.25626,46.51582],[9.22546,46.44078],[9.27284,46.34438],[9.17098,46.19044],[9.04305,46.12808],[9.062,46.09195],[8.97435,46.04593],[8.98856,46.00152],[8.93882,45.97354],[9.04068,45.8961],[9.01936,45.84827],[8.84879,46.0081],[8.89854,46.07059],[8.8251,46.11823],[8.70902,46.11659],[8.67823,46.07552],[8.7185,46.01468],[8.55504,45.90434],[8.59768,45.83836],[8.53372,45.79378],[8.6877,45.49235],[8.78009,45.41591],[8.68533,45.37931],[8.71139,45.34103],[8.69481,45.32104],[8.62848,45.37765],[8.5124,45.35768],[8.4816,45.28938]]],terms_url:"https://www.dati.gov.it/content/italian-open-data-license-v20",terms_text:"Regione Lombardia - Infrastruttura per l'informazione territoriale"},{id:"londrina2011",name:"Londrina Ortofoto 2011",type:"tms",template:"https://siglon.londrina.pr.gov.br/arcgis/rest/services/Imagens/Ortofotos_2011_Paranacidade/MapServer/WMTS/tile/1.0.0/Imagens_Ortofotos_2011_Paranacidade/default/GoogleMapsCompatible/{zoom}/{y}/{x}",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",polygon:[[[-51.10903,-23.39275],[-51.11015,-23.39112],[-51.11198,-23.3896],[-51.11358,-23.38977],[-51.121,-23.38593],[-51.12225,-23.38511],[-51.12483,-23.3835],[-51.12538,-23.38187],[-51.12482,-23.3777],[-51.12446,-23.37505],[-51.12437,-23.3723],[-51.12244,-23.37033],[-51.12302,-23.36643],[-51.12856,-23.36548],[-51.12832,-23.35884],[-51.12477,-23.35476],[-51.12703,-23.35091],[-51.12412,-23.3468],[-51.12025,-23.34781],[-51.11765,-23.33969],[-51.11265,-23.34129],[-51.1094,-23.33489],[-51.10756,-23.33409],[-51.10486,-23.33398],[-51.10253,-23.33419],[-51.09987,-23.33102],[-51.09801,-23.32936],[-51.09999,-23.32831],[-51.10323,-23.32532],[-51.10473,-23.32319],[-51.10466,-23.32129],[-51.10515,-23.31844],[-51.10636,-23.31575],[-51.10661,-23.31467],[-51.1105,-23.31167],[-51.11158,-23.30842],[-51.0995,-23.30947],[-51.0974,-23.30863],[-51.09512,-23.30745],[-51.09202,-23.30494],[-51.09036,-23.30371],[-51.09205,-23.29875],[-51.09269,-23.2975],[-51.09408,-23.29295],[-51.10074,-23.29332],[-51.10102,-23.28871],[-51.10068,-23.28837],[-51.10085,-23.28778],[-51.09938,-23.28664],[-51.09632,-23.27791],[-51.10285,-23.27302],[-51.10836,-23.27034],[-51.1131,-23.2684],[-51.1316,-23.26534],[-51.13188,-23.26201],[-51.13173,-23.25506],[-51.1329,-23.25468],[-51.13296,-23.25075],[-51.13474,-23.25127],[-51.13534,-23.25133],[-51.13517,-23.24359],[-51.13535,-23.24118],[-51.13752,-23.24219],[-51.13885,-23.2435],[-51.14109,-23.24521],[-51.14717,-23.24318],[-51.14761,-23.23828],[-51.14908,-23.23588],[-51.14977,-23.23681],[-51.15139,-23.23854],[-51.15289,-23.23884],[-51.15384,-23.23895],[-51.1582,-23.23814],[-51.16045,-23.23816],[-51.16035,-23.24658],[-51.15912,-23.24783],[-51.16131,-23.24777],[-51.16659,-23.24594],[-51.17193,-23.24582],[-51.17205,-23.24956],[-51.17424,-23.2484],[-51.17514,-23.24932],[-51.17686,-23.24816],[-51.17947,-23.25169],[-51.18135,-23.25381],[-51.18274,-23.25363],[-51.18379,-23.25326],[-51.18496,-23.2533],[-51.18627,-23.25215],[-51.18665,-23.24748],[-51.19118,-23.24914],[-51.19142,-23.25286],[-51.19369,-23.25278],[-51.19384,-23.26074],[-51.20097,-23.26055],[-51.20127,-23.2426],[-51.20994,-23.24278],[-51.2109,-23.26988],[-51.21969,-23.27222],[-51.22597,-23.27453],[-51.22934,-23.2786],[-51.23452,-23.2816],[-51.23498,-23.28325],[-51.23507,-23.28544],[-51.23371,-23.2859],[-51.23216,-23.28802],[-51.2287,-23.29229],[-51.2274,-23.2946],[-51.22679,-23.29548],[-51.2256,-23.29657],[-51.22393,-23.29721],[-51.22048,-23.30073],[-51.21864,-23.3013],[-51.21668,-23.30212],[-51.21424,-23.30441],[-51.21097,-23.30697],[-51.22328,-23.3183],[-51.22439,-23.31459],[-51.22521,-23.31289],[-51.22512,-23.31258],[-51.22521,-23.31251],[-51.22553,-23.31253],[-51.22595,-23.31239],[-51.22617,-23.31183],[-51.22936,-23.31489],[-51.22802,-23.31661],[-51.22789,-23.31902],[-51.22767,-23.32023],[-51.22723,-23.32151],[-51.22739,-23.32223],[-51.22725,-23.32285],[-51.23033,-23.32558],[-51.23046,-23.32671],[-51.22954,-23.32789],[-51.22916,-23.3305],[-51.22929,-23.33178],[-51.22681,-23.33447],[-51.22602,-23.33657],[-51.22473,-23.33839],[-51.2221,-23.34023],[-51.22257,-23.34196],[-51.22381,-23.34339],[-51.22384,-23.34531],[-51.22441,-23.347],[-51.22454,-23.34829],[-51.22404,-23.34968],[-51.22351,-23.35011],[-51.22382,-23.35077],[-51.22305,-23.35174],[-51.2226,-23.35296],[-51.22587,-23.35481],[-51.2265,-23.36706],[-51.22354,-23.36915],[-51.22367,-23.37968],[-51.22038,-23.38163],[-51.21647,-23.3817],[-51.21416,-23.37995],[-51.20928,-23.37395],[-51.20738,-23.36814],[-51.20629,-23.36723],[-51.20472,-23.36627],[-51.19823,-23.36668],[-51.19297,-23.36651],[-51.18986,-23.36544],[-51.18806,-23.36464],[-51.18718,-23.36453],[-51.1858,-23.36374],[-51.18304,-23.36359],[-51.18071,-23.36376],[-51.17907,-23.36158],[-51.17764,-23.35836],[-51.16684,-23.35626],[-51.16614,-23.35854],[-51.16476,-23.36039],[-51.16077,-23.35922],[-51.15983,-23.3666],[-51.16204,-23.36861],[-51.16276,-23.37416],[-51.15845,-23.3758],[-51.15505,-23.37631],[-51.15396,-23.37903],[-51.15299,-23.38105],[-51.15119,-23.38208],[-51.14917,-23.38251],[-51.14722,-23.38216],[-51.14518,-23.38259],[-51.1441,-23.38376],[-51.14512,-23.38808],[-51.1418,-23.3894],[-51.14031,-23.3888],[-51.14068,-23.39161],[-51.14127,-23.39354],[-51.14094,-23.39443],[-51.14046,-23.39536],[-51.13939,-23.3951],[-51.13739,-23.39315],[-51.13609,-23.3898],[-51.13429,-23.38976],[-51.13216,-23.39007],[-51.13172,-23.39286],[-51.12259,-23.38864],[-51.12228,-23.39166],[-51.11883,-23.39317],[-51.11568,-23.39335],[-51.10903,-23.39275]],[[-51.13829,-23.41601],[-51.13331,-23.41867],[-51.13209,-23.41644],[-51.13002,-23.41829],[-51.12869,-23.41901],[-51.12824,-23.42103],[-51.12696,-23.42186],[-51.12533,-23.42269],[-51.12445,-23.42097],[-51.12151,-23.42411],[-51.12063,-23.42327],[-51.11971,-23.42312],[-51.11977,-23.42157],[-51.1188,-23.42155],[-51.11643,-23.42084],[-51.11943,-23.41917],[-51.11787,-23.41678],[-51.11655,-23.41731],[-51.1157,-23.4157],[-51.11512,-23.41309],[-51.11908,-23.41111],[-51.1196,-23.4117],[-51.12052,-23.41489],[-51.12148,-23.41714],[-51.12309,-23.41863],[-51.12755,-23.41654],[-51.12803,-23.4174],[-51.1312,-23.41557],[-51.1308,-23.41477],[-51.13279,-23.41264],[-51.13522,-23.41106],[-51.13586,-23.41096],[-51.13682,-23.41119],[-51.13721,-23.41158],[-51.1373,-23.41324],[-51.13743,-23.41471],[-51.13829,-23.41601]],[[-51.18929,-23.61469],[-51.18869,-23.61385],[-51.18818,-23.61339],[-51.18731,-23.61302],[-51.18629,-23.61314],[-51.18402,-23.61396],[-51.18349,-23.61397],[-51.18183,-23.61284],[-51.1814,-23.61344],[-51.18063,-23.61314],[-51.18001,-23.61409],[-51.17866,-23.61329],[-51.18065,-23.6106],[-51.17972,-23.61018],[-51.18062,-23.60849],[-51.18212,-23.6085],[-51.18261,-23.60775],[-51.1832,-23.60804],[-51.18415,-23.60628],[-51.18511,-23.60666],[-51.18649,-23.6047],[-51.18902,-23.6061],[-51.18821,-23.60742],[-51.18919,-23.60802],[-51.1889,-23.60953],[-51.18962,-23.60993],[-51.19119,-23.61119],[-51.19015,-23.61245],[-51.19054,-23.61276],[-51.19029,-23.61378],[-51.18929,-23.61469]],[[-51.08006,-23.52984],[-51.07962,-23.52205],[-51.08468,-23.52194],[-51.08582,-23.52404],[-51.08589,-23.52704],[-51.08579,-23.52777],[-51.0853,-23.52806],[-51.08514,-23.52857],[-51.08512,-23.52982],[-51.08471,-23.53024],[-51.08343,-23.53024],[-51.0833,-23.52978],[-51.08006,-23.52984]]],terms_url:"http://siglon.londrina.pr.gov.br",terms_text:"Prefeitura do Londrinas, PR"},{id:"LPI_NSW_Administrative_Boundaries_County",name:"LPI NSW Administrative Boundaries County",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=4&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",scaleExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_LGA",name:"LPI NSW Administrative Boundaries LGA",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=6&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",scaleExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_NPWS_Reserve",name:"LPI NSW Administrative Boundaries NPWS Reserve",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=1&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",scaleExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_Parish",name:"LPI NSW Administrative Boundaries Parish",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=3&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",scaleExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_StateForest",name:"LPI NSW Administrative Boundaries State Forest",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=2&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",scaleExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017",overlay:true},{id:"LPI_NSW_Administrative_Boundaries_Suburb",name:"LPI NSW Administrative Boundaries Suburb",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Administrative_Boundaries/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=7&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",scaleExtent:[1,21],polygon:[[[159.00339,-31.48767],[159.03789,-31.70558],[159.31098,-31.85952],[159.37278,-31.77892],[159.17443,-31.4374],[159.00339,-31.48767]],[[140.99865,-28.99893],[148.9452,-28.99487],[149.48562,-28.5615],[150.29914,-28.53373],[151.0954,-28.71792],[151.39436,-28.97978],[151.98941,-28.73557],[151.92904,-28.49836],[152.49246,-28.2353],[153.57907,-28.14156],[153.69692,-28.64983],[153.25847,-30.97354],[152.75437,-32.50849],[151.90879,-33.05535],[151.25834,-34.38081],[151.01442,-35.11568],[150.46154,-36.1203],[150.41275,-36.61786],[149.97847,-37.507],[148.20135,-36.80566],[148.07918,-36.81716],[147.88542,-36.09019],[147.69029,-36.04418],[146.82844,-36.18868],[145.23484,-35.98499],[144.84457,-36.21492],[144.51935,-36.1296],[143.20218,-35.13174],[142.47856,-34.81194],[140.9937,-34.07017],[141.0026,-34.01974],[140.99865,-28.99893]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017",overlay:true},{id:"NSW_LPI_BaseMap",name:"LPI NSW Base Map",type:"tms",template:"https://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Base_Map/MapServer/tile/{zoom}/{y}/{x}",scaleExtent:[1,19],polygon:[[[140.99486,-28.95297],[148.96114,-28.89977],[148.98701,-28.48623],[151.01361,-28.47865],[151.10847,-28.70329],[151.87599,-28.68312],[151.93348,-28.40788],[152.25544,-28.23327],[153.06608,-28.21047],[153.14082,-28.1091],[153.47351,-28.11648],[153.35765,-27.69361],[159.49383,-27.69925],[159.4857,-37.84741],[149.52569,-37.82815],[149.91596,-37.487],[148.04859,-36.81317],[147.9681,-36.15679],[146.71477,-36.28666],[145.30046,-36.15679],[144.53007,-36.14751],[142.8398,-35.02543],[142.35686,-34.78025],[141.97741,-34.40162],[140.99503,-34.13718],[140.99486,-28.95297]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017"},{id:"NSW_LPI_Imagery",name:"LPI NSW Imagery",type:"tms",template:"https://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Imagery/MapServer/tile/{zoom}/{y}/{x}",scaleExtent:[1,21],polygon:[[[140.98687,-28.98878],[148.99515,-28.97275],[148.99667,-28.49151],[151.0029,-28.49307],[151.0029,-28.72617],[151.49151,-28.73239],[151.49187,-28.71553],[151.92282,-28.71964],[151.92516,-28.48971],[151.99559,-28.48987],[151.99899,-28.11927],[152.49676,-28.12209],[152.49682,-28.11464],[153.00446,-28.11544],[153.00446,-28.1204],[153.50386,-28.11934],[153.50393,-28.12271],[153.59194,-28.12236],[153.59266,-28.17769],[153.61112,-28.17579],[153.61139,-28.18252],[153.74268,-28.21621],[153.77873,-28.71091],[152.6238,-32.58772],[152.3124,-32.63288],[151.41419,-33.57904],[150.89299,-35.26487],[150.46207,-35.77773],[150.01565,-37.51036],[149.99181,-37.51268],[149.51978,-37.51307],[149.51996,-37.52169],[149.4463,-37.53537],[149.06334,-37.5358],[148.98366,-37.52176],[148.98169,-37.5192],[148.98638,-37.2585],[148.48754,-37.26585],[148.48248,-37.00927],[147.99439,-37.01434],[147.98829,-36.53322],[147.95297,-36.52607],[147.94865,-36.0686],[147.5035,-36.07168],[147.50477,-36.2651],[146.492,-36.26613],[146.49225,-36.2565],[145.99298,-36.25343],[145.99659,-36.01881],[145.98316,-36.01871],[145.96245,-36.0219],[145.94624,-36.01209],[145.94543,-36.00603],[145.50415,-36.00136],[145.50379,-36.01091],[145.0072,-36.00362],[145.00354,-36.15204],[144.48608,-36.14231],[144.48741,-36.01375],[143.98747,-36.00241],[143.99329,-35.57238],[143.49717,-35.58371],[143.4918,-35.40656],[143.46134,-35.36749],[143.45856,-35.35559],[143.48978,-35.33965],[143.48955,-35.33221],[143.4317,-35.25706],[143.25055,-35.26066],[143.24384,-35.01327],[142.99333,-35.01772],[142.99198,-34.79619],[142.49714,-34.80323],[142.49732,-34.80076],[142.42114,-34.80176],[142.42092,-34.78383],[142.23309,-34.78592],[142.23077,-34.78075],[142.227,-34.50613],[141.99753,-34.50837],[141.9946,-34.25267],[141.49823,-34.25569],[141.49817,-34.25228],[140.99454,-34.25284],[140.98687,-28.98878]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017",best:true},{id:"NSW_LPI_Imagery_Dates",name:"LPI NSW Imagery Dates",type:"wms",template:"https://maps.six.nsw.gov.au/arcgis/services/public/NSW_Imagery_Dates/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}&LAYERS=0&STYLES=&FORMAT=image/png32&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96&TRANSPARENT=TRUE",projection:"EPSG:3857",scaleExtent:[0,21],polygon:[[[140.98687,-28.98878],[148.99515,-28.97275],[148.99667,-28.49151],[151.0029,-28.49307],[151.0029,-28.72617],[151.49151,-28.73239],[151.49187,-28.71553],[151.92282,-28.71964],[151.92516,-28.48971],[151.99559,-28.48987],[151.99899,-28.11927],[152.49676,-28.12209],[152.49682,-28.11464],[153.00446,-28.11544],[153.00446,-28.1204],[153.50386,-28.11934],[153.50393,-28.12271],[153.59194,-28.12236],[153.59266,-28.17769],[153.61112,-28.17579],[153.61139,-28.18252],[153.74268,-28.21621],[153.77873,-28.71091],[152.6238,-32.58772],[152.3124,-32.63288],[151.41419,-33.57904],[150.89299,-35.26487],[150.46207,-35.77773],[150.01565,-37.51036],[149.99181,-37.51268],[149.51978,-37.51307],[149.51996,-37.52169],[149.4463,-37.53537],[149.06334,-37.5358],[148.98366,-37.52176],[148.98169,-37.5192],[148.98638,-37.2585],[148.48754,-37.26585],[148.48248,-37.00927],[147.99439,-37.01434],[147.98829,-36.53322],[147.95297,-36.52607],[147.94865,-36.0686],[147.5035,-36.07168],[147.50477,-36.2651],[146.492,-36.26613],[146.49225,-36.2565],[145.99298,-36.25343],[145.99659,-36.01881],[145.98316,-36.01871],[145.96245,-36.0219],[145.94624,-36.01209],[145.94543,-36.00603],[145.50415,-36.00136],[145.50379,-36.01091],[145.0072,-36.00362],[145.00354,-36.15204],[144.48608,-36.14231],[144.48741,-36.01375],[143.98747,-36.00241],[143.99329,-35.57238],[143.49717,-35.58371],[143.4918,-35.40656],[143.46134,-35.36749],[143.45856,-35.35559],[143.48978,-35.33965],[143.48955,-35.33221],[143.4317,-35.25706],[143.25055,-35.26066],[143.24384,-35.01327],[142.99333,-35.01772],[142.99198,-34.79619],[142.49714,-34.80323],[142.49732,-34.80076],[142.42114,-34.80176],[142.42092,-34.78383],[142.23309,-34.78592],[142.23077,-34.78075],[142.227,-34.50613],[141.99753,-34.50837],[141.9946,-34.25267],[141.49823,-34.25569],[141.49817,-34.25228],[140.99454,-34.25284],[140.98687,-28.98878]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017",overlay:true},{id:"NSW_LPI_TopographicMap",name:"LPI NSW Topographic Map",type:"tms",template:"https://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Topo_Map/MapServer/tile/{zoom}/{y}/{x}",scaleExtent:[1,16],polygon:[[[140.99884,-28.99924],[148.95024,-28.99937],[148.94988,-28.96653],[148.99983,-28.96653],[149.00009,-28.81658],[149.10007,-28.81658],[149.0997,-28.74885],[148.99985,-28.74974],[148.99982,-28.50003],[151.00005,-28.50052],[151.00059,-28.73258],[151.02395,-28.73274],[151.02413,-28.74188],[151.03293,-28.74188],[151.03383,-28.75054],[151.99998,-28.74953],[151.99998,-28.71645],[152.0334,-28.71661],[152.03322,-28.6832],[152.00007,-28.68335],[151.99988,-28.64163],[151.98299,-28.64139],[151.98317,-28.62491],[151.93313,-28.62475],[151.93341,-28.50007],[151.99989,-28.50023],[151.99986,-28.37496],[152.24997,-28.37507],[152.24994,-28.25001],[152.99972,-28.24986],[152.9999,-28.28324],[153.1165,-28.2834],[153.11659,-28.24986],[153.16663,-28.25001],[153.16672,-28.23316],[153.24999,-28.23324],[153.25003,-28.12497],[153.62496,-28.12508],[153.62484,-28.49991],[153.7498,-28.49999],[153.74959,-28.7498],[153.62481,-28.75011],[153.62497,-28.99993],[153.49977,-29.00006],[153.49984,-29.49951],[153.3748,-29.50005],[153.37541,-29.87503],[153.49991,-29.87514],[153.49991,-30.00009],[153.24989,-29.99976],[153.25002,-30.19177],[153.27482,-30.19162],[153.27482,-30.21685],[153.21661,-30.21661],[153.21661,-30.25006],[153.25002,-30.25006],[153.24975,-30.37519],[153.12436,-30.37497],[153.12465,-30.62504],[153.03317,-30.62505],[153.03339,-30.87508],[153.12492,-30.87503],[153.12493,-31.12505],[153.00824,-31.12497],[153.00829,-31.24998],[153,-31.25],[152.99994,-31.62499],[152.87494,-31.62505],[152.87496,-31.74995],[152.78329,-31.75],[152.7832,-31.87486],[152.74991,-31.87501],[152.75004,-32.00002],[152.6249,-31.99994],[152.62491,-32.5],[152.49998,-32.49996],[152.50003,-32.56664],[152.41667,-32.56634],[152.41676,-32.625],[152.34985,-32.62499],[152.34985,-32.63323],[152.28308,-32.63322],[152.28326,-32.62498],[152.24948,-32.62498],[152.24981,-32.87491],[151.87457,-32.87504],[151.87485,-33.00001],[151.74977,-33.00015],[151.75047,-33.25004],[151.62524,-33.24974],[151.62508,-33.37516],[151.49958,-33.37514],[151.50031,-33.62494],[151.37415,-33.62437],[151.37279,-34.00196],[151.24778,-34.00112],[151.24778,-34.24931],[150.99573,-34.25015],[151.00081,-34.62483],[150.87174,-34.6265],[150.87276,-35.12427],[150.76706,-35.12344],[150.76909,-35.24638],[150.62579,-35.2497],[150.62803,-35.37515],[150.49997,-35.37515],[150.49591,-35.6275],[150.37192,-35.62503],[150.37497,-35.7538],[150.26724,-35.75132],[150.2652,-35.87412],[150.24792,-35.87083],[150.24589,-36.37488],[150.12292,-36.37488],[150.12597,-36.62243],[150.02535,-36.62407],[150.0284,-36.74713],[149.99283,-36.74958],[150.00401,-37.12245],[150.05889,-37.12731],[150.05686,-37.37809],[149.99791,-37.37324],[149.99994,-37.48301],[149.98774,-37.48462],[149.98571,-37.508],[148.06846,-36.80624],[147.99306,-36.138],[147.81483,-36.00556],[147.38939,-36.01137],[147.38221,-36.13103],[146.99725,-36.12755],[146.98863,-36.25283],[146.49564,-36.24471],[146.50426,-36.12639],[145.00118,-36.00795],[145.01541,-36.25421],[144.50725,-36.24765],[144.49912,-36.0211],[143.99654,-35.98105],[143.33826,-35.23318],[142.40976,-34.76694],[142.03614,-34.37588],[140.99652,-34.13858],[140.99884,-28.99924]]],terms_url:"http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",terms_text:"© Land and Property Information 2017"},{id:"orthophoto_lyon_2012",name:"Lyon Orthophoto 2012-03 10cm",type:"wms",template:"https://download.data.grandlyon.com/wms/grandlyon?language=fre&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1830_5150_10cm_CC46,1830_5155_10cm_CC46,1830_5160_10cm_CC46,1830_5165_10cm_CC46,1830_5170_10cm_CC46,1830_5175_10cm_CC46,1830_5180_10cm_CC46,1830_5185_10cm_CC46,1830_5190_10cm_CC46,1835_5150_10cm_CC46,1835_5155_10cm_CC46,1835_5160_10cm_CC46,1835_5165_10cm_CC46,1835_5170_10cm_CC46,1835_5175_10cm_CC46,1835_5180_10cm_CC46,1835_5185_10cm_CC46,1835_5190_10cm_CC46,1840_5150_10cm_CC46,1840_5155_10cm_CC46,1840_5160_10cm_CC46,1840_5165_10cm_CC46,1840_5170_10cm_CC46,1840_5175_10cm_CC46,1840_5180_10cm_CC46,1840_5185_10cm_CC46,1840_5190_10cm_CC46,1845_5150_10cm_CC46,1845_5155_10cm_CC46,1845_5160_10cm_CC46,1845_5165_10cm_CC46,1845_5170_10cm_CC46,1845_5175_10cm_CC46,1845_5180_10cm_CC46,1845_5185_10cm_CC46,1845_5190_10cm_CC46,1850_5155_10cm_CC46,1850_5160_10cm_CC46,1850_5165_10cm_CC46,1850_5170_10cm_CC46,1850_5175_10cm_CC46,1850_5180_10cm_CC46,1850_5185_10cm_CC46,1855_5155_10cm_CC46,1855_5165_10cm_CC46,1855_5170_10cm_CC46,1855_5175_10cm_CC46,1855_5180_10cm_CC46,1855_5185_10cm_CC46,1860_5155_10cm_CC46,1860_5160_10cm_CC46,1860_5165_10cm_CC46,1860_5170_10cm_CC46,1860_5175_10cm_CC46,1860_5180_10cm_CC46,1860_5185_10cm_CC46,1865_5155_10cm_CC46,1865_5160_10cm_CC46,1865_5165_10cm_CC46,1865_5170_10cm_CC46&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-03-01T00:00:00.000Z",startDate:"2012-03-01T00:00:00.000Z",polygon:[[[4.69049,45.54652],[4.83131,45.54652],[4.83131,45.57131],[4.88344,45.57131],[4.88344,45.59745],[5.16622,45.59745],[5.16622,45.74533],[5.10793,45.74533],[5.10793,45.88145],[4.90698,45.88145],[4.90698,45.92107],[4.84377,45.92107],[4.84377,45.94011],[4.71543,45.94011],[4.71543,45.87018],[4.67458,45.87018],[4.67458,45.7178],[4.69567,45.7178],[4.69049,45.54652]]],terms_url:"https://data.grandlyon.com/imagerie/orthophotographie-2012-du-grand-lyon",terms_text:"Grand Lyon Smart Data DSIT"},{id:"orthophoto_lyon_2015_8cm",name:"Lyon Orthophoto 2015-05 8cm",type:"wms",template:"https://download.data.grandlyon.com/wms/grandlyon?language=fre&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1835_5155_8cm_CC46,1835_5160_8cm_CC46,1835_5165_8cm_CC46,1835_5170_8cm_CC46,1835_5180_8cm_CC46,1835_5175_8cm_CC46,1845_5175_8cm_CC46,1845_5180_8cm_CC46,1845_5185_8cm_CC46,1845_5190_8cm_CC46,1850_5165_8cm_CC46,1850_5160_8cm_CC46,1850_5155_8cm_CC46,1850_5170_8cm_CC46,1850_5175_8cm_CC46,1850_5180_8cm_CC46,1850_5185_8cm_CC46,1855_5155_8cm_CC46,1855_5160_8cm_CC46,1855_5185_8cm_CC46,1855_5180_8cm_CC46,1855_5175_8cm_CC46,1855_5170_8cm_CC46,1855_5165_8cm_CC46,1860_5160_8cm_CC46,1860_5155_8cm_CC46,1860_5165_8cm_CC46,1835_5185_8cm_CC46,1835_5190_8cm_CC46,1835_5195_8cm_CC46,1840_5160_8cm_CC46,1840_5155_8cm_CC46,1840_5150_8cm_CC46,1830_5195_8cm_CC46,1830_5190_8cm_CC46,1830_5175_8cm_CC46,1830_5170_8cm_CC46,1830_5165_8cm_CC46,1830_5160_8cm_CC46,1830_5155_8cm_CC46,1830_5180_8cm_CC46,1830_5185_8cm_CC46,1835_5150_8cm_CC46,1860_5170_8cm_CC46,1860_5175_8cm_CC46,1840_5180_8cm_CC46,1840_5175_8cm_CC46,1840_5185_8cm_CC46,1840_5190_8cm_CC46,1840_5195_8cm_CC46,1845_5150_8cm_CC46,1845_5155_8cm_CC46,1845_5160_8cm_CC46,1845_5170_8cm_CC46,1845_5165_8cm_CC46,1840_5170_8cm_CC46,1840_5165_8cm_CC46,1860_5180_8cm_CC46,1860_5185_8cm_CC46,1865_5155_8cm_CC46,1865_5160_8cm_CC46,1865_5165_8cm_CC46,1865_5170_8cm_CC46,1830_5150_8cm_CC46&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-05-01T00:00:00.000Z",startDate:"2015-05-01T00:00:00.000Z",polygon:[[[4.66489,45.54688],[4.88253,45.54348],[4.88435,45.59745],[5.16623,45.59242],[5.17217,45.74532],[5.10793,45.74653],[5.11305,45.88145],[4.90698,45.88508],[4.90822,45.92106],[4.84377,45.92212],[4.84497,45.9581],[4.67729,45.96069],[4.66489,45.54688]]],terms_url:"https://data.grandlyon.com/imagerie/orthophotographie-2015-du-grand-lyon",terms_text:"Métropole de Lyon DINSI",best:true},{id:"MainRoadsWA_Road_Hierarchy",name:"Main Roads WA Road Hierarchy",type:"wms",template:"https://services.slip.wa.gov.au/public/services/SLIP_Public_Services/Transport/MapServer/WMSServer?LAYERS=8&TRANSPARENT=TRUE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fpng&SRS={proj}&BBOX={bbox}&WIDTH={width}&HEIGHT={height}",projection:"EPSG:3857",scaleExtent:[0,21],polygon:[[[129.00009,-31.68764],[128.99872,-14.58225],[127.08984,-12.29707],[124.76074,-12.98315],[121.24512,-15.70766],[119.0918,-17.60214],[115.53223,-18.85431],[112.41211,-20.46819],[111.24756,-22.83695],[111.00586,-25.62172],[111.64307,-29.66896],[111.68701,-32.3614],[112.14844,-34.47034],[113.35693,-36.10238],[116.98242,-36.70366],[119.44336,-36.94989],[122.27783,-36.61553],[125.99121,-35.40696],[127.59521,-34.57895],[128.86963,-33.59632],[129.00009,-31.68764]]],terms_url:"https://catalogue.data.wa.gov.au/dataset/clss-road-hierarchy",terms_text:"Main Roads Western Australia",overlay:true},{id:"mainzlatestaerialimagery",name:"Mainz latest aerial imagery",type:"wms",template:"https://gint.mainz.de/gint1-cgi/mapserv?map=/data/mapbender-int/umn-www/client/a62/luftbild.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Luftbild_f_mz_2016&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",scaleExtent:[17,22],polygon:[[[8.10355,49.865],[8.38356,49.865],[8.38356,50.0466],[8.10355,50.0466],[8.10355,49.865]]],terms_url:"https://www.mainz.de/vv/oe/100140100000035141.php#tab-infos",terms_text:"Vermessung und Geoinformation Mainz",icon:"https://www.mainz.de/configuration.inc.php.media/27432/Logo-72px.png"},{id:"major_isidoro",name:"Major Isidoro AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Major%20Isidoro&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.94048,-9.57588],[-36.94106,-9.48536],[-37.03215,-9.48606],[-37.03164,-9.57639],[-36.94048,-9.57588]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"Mapbox",name:"Mapbox Satellite",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/openstreetmap/cj8gojt0i1eau2rnn7q4mdgu7/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q",scaleExtent:[0,22],terms_url:"https://www.mapbox.com/about/maps",terms_text:"Terms & Feedback","default":true,description:"Satellite and aerial imagery.",icon:"data:image/png;base64,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"},{id:"Maps4BW-LGL_BW",name:"Maps4BW (LGL-BW, www.lgl-bw.de)",type:"wms",template:"http://www.webatlasde.de/arcgis/services/Maps4BW/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Halbtonvariante&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[9.06954,49.57679],[9.10577,49.57952],[9.16079,49.58263],[9.24212,49.58402],[9.27192,49.63515],[9.30454,49.65561],[9.36753,49.65893],[9.38253,49.64341],[9.41191,49.66033],[9.39602,49.67143],[9.41828,49.69706],[9.40378,49.71957],[9.37769,49.70357],[9.35828,49.70334],[9.29438,49.73958],[9.31467,49.76859],[9.42435,49.79099],[9.50417,49.78962],[9.51808,49.78214],[9.65623,49.79286],[9.65317,49.73944],[9.63435,49.70076],[9.67054,49.69515],[9.67721,49.71846],[9.71079,49.72918],[9.8014,49.73429],[9.83728,49.70237],[9.87656,49.61362],[9.83362,49.55607],[9.84954,49.54793],[9.87463,49.5836],[9.91419,49.58955],[9.93066,49.56097],[9.92482,49.48951],[10.01787,49.48673],[10.03352,49.52978],[10.06372,49.55129],[10.09052,49.54218],[10.12792,49.51192],[10.11027,49.49272],[10.16753,49.38589],[10.12627,49.3809],[10.14385,49.32772],[10.16061,49.27043],[10.13569,49.26189],[10.14311,49.20387],[10.25161,49.15031],[10.26279,49.12959],[10.26869,49.05202],[10.36527,49.02557],[10.45894,48.93581],[10.46208,48.83947],[10.42886,48.74973],[10.46648,48.73627],[10.49761,48.68581],[10.45007,48.66277],[10.3553,48.65068],[10.32297,48.68241],[10.26028,48.67842],[10.32542,48.60763],[10.31448,48.52323],[10.17973,48.45977],[10.12892,48.45301],[10.10938,48.47445],[10.06355,48.45381],[10.03918,48.45125],[10.04492,48.43158],[10.0152,48.40323],[9.98709,48.38565],[9.97328,48.37944],[9.97549,48.36558],[9.99071,48.3734],[10.00265,48.3632],[9.99992,48.35572],[10.06698,48.28172],[10.08111,48.2253],[10.11306,48.12632],[10.13966,48.11307],[10.14695,48.07455],[10.13763,48.01938],[10.11725,47.9755],[10.11359,47.93422],[10.10709,47.86711],[10.14174,47.80956],[10.0732,47.78686],[10.11825,47.76126],[10.14213,47.70165],[10.13262,47.67678],[10.07445,47.63472],[10.06303,47.66923],[10.00359,47.67526],[9.95808,47.64376],[9.84481,47.67533],[9.83488,47.66042],[9.74926,47.60206],[9.70817,47.60007],[9.65788,47.60599],[9.64742,47.58931],[9.61389,47.57809],[9.56602,47.53274],[9.51199,47.53246],[9.25717,47.65752],[9.18684,47.65697],[9.17591,47.65379],[9.17028,47.65474],[9.15555,47.666],[9.1494,47.66713],[9.13947,47.66367],[9.02005,47.68616],[8.94127,47.65569],[8.89825,47.64821],[8.88263,47.65327],[8.87474,47.6545],[8.87235,47.66971],[8.84949,47.68089],[8.84993,47.70233],[8.81816,47.71242],[8.80108,47.72811],[8.77231,47.71606],[8.81295,47.6959],[8.79373,47.67216],[8.7533,47.68997],[8.72575,47.6917],[8.71002,47.68829],[8.68937,47.69318],[8.67046,47.68235],[8.65783,47.68883],[8.66161,47.71454],[8.70596,47.71584],[8.70932,47.73275],[8.73033,47.75527],[8.72003,47.76273],[8.68871,47.75314],[8.67898,47.78306],[8.64981,47.79435],[8.65592,47.76948],[8.63132,47.75749],[8.61918,47.76216],[8.61351,47.78451],[8.61686,47.79705],[8.568,47.79977],[8.57611,47.79015],[8.57847,47.78102],[8.56315,47.77654],[8.48889,47.76458],[8.45742,47.74126],[8.4623,47.72909],[8.44929,47.71663],[8.41471,47.69991],[8.4273,47.68562],[8.41061,47.6743],[8.46839,47.6568],[8.52474,47.64677],[8.5269,47.66373],[8.56441,47.67261],[8.57853,47.66373],[8.60454,47.6751],[8.63333,47.65212],[8.62386,47.63922],[8.60395,47.63193],[8.61281,47.61327],[8.57951,47.59306],[8.5602,47.59867],[8.56765,47.61442],[8.53394,47.62984],[8.51208,47.61641],[8.46581,47.60137],[8.46631,47.58666],[8.48985,47.59139],[8.5,47.58062],[8.43414,47.5629],[8.39882,47.57559],[8.38525,47.56408],[8.32701,47.56893],[8.29483,47.59077],[8.2948,47.60497],[8.26293,47.60823],[8.22435,47.60446],[8.18644,47.60508],[8.16904,47.59394],[8.13615,47.58246],[8.10503,47.56795],[8.09873,47.55933],[8.08261,47.55624],[8.07095,47.56299],[8.0274,47.54931],[7.94632,47.54209],[7.90966,47.54825],[7.90676,47.5603],[7.88681,47.58765],[7.83987,47.58122],[7.79648,47.55517],[7.69208,47.53137],[7.66583,47.53403],[7.63159,47.56044],[7.63879,47.56619],[7.68607,47.57205],[7.65278,47.59418],[7.62247,47.57767],[7.60473,47.57822],[7.58771,47.59015],[7.52156,47.65161],[7.50399,47.70235],[7.52096,47.77685],[7.55712,47.84839],[7.54946,47.8792],[7.57461,47.93028],[7.61318,47.96804],[7.6119,47.9871],[7.56124,48.03836],[7.57491,48.1258],[7.59534,48.15977],[7.63305,48.19717],[7.66275,48.22473],[7.68466,48.30305],[7.76346,48.49158],[7.80046,48.5126],[7.79958,48.5878],[7.83409,48.64439],[7.91211,48.68899],[7.96723,48.75716],[8.02069,48.78879],[8.04302,48.7956],[8.08647,48.81306],[8.13644,48.89782],[8.19706,48.96021],[8.28161,48.9949],[8.29967,49.02597],[8.31243,49.05996],[8.38654,49.23497],[8.46083,49.28407],[8.48783,49.29326],[8.47577,49.3079],[8.44839,49.31693],[8.45152,49.33135],[8.46288,49.3869],[8.49407,49.40186],[8.49762,49.41583],[8.50721,49.43414],[8.49834,49.44187],[8.47977,49.44391],[8.46414,49.44151],[8.44696,49.44516],[8.43947,49.45214],[8.44407,49.46085],[8.45992,49.46498],[8.46312,49.47135],[8.4554,49.48107],[8.44184,49.49297],[8.41194,49.55852],[8.42193,49.5843],[8.44117,49.59081],[8.45482,49.59157],[8.47738,49.5874],[8.56161,49.52237],[8.61486,49.54175],[8.59165,49.59179],[8.58706,49.61156],[8.65189,49.6209],[8.69494,49.62762],[8.70105,49.59869],[8.68726,49.57096],[8.72597,49.53085],[8.78493,49.51775],[8.81467,49.53187],[8.88863,49.51091],[8.90168,49.50363],[8.90315,49.486],[8.87995,49.46561],[8.83117,49.42147],[8.80845,49.40981],[8.82075,49.39647],[8.83009,49.41316],[8.85107,49.39663],[8.90247,49.44632],[8.93863,49.48179],[8.95154,49.50562],[8.98498,49.51153],[9.03553,49.50079],[9.05731,49.532],[9.10023,49.52728],[9.11009,49.51213],[9.12424,49.51722],[9.11286,49.53337],[9.08284,49.54211],[9.06694,49.56433],[9.06954,49.57679]]],terms_url:"https://www.lgl-bw.de/",terms_text:"Datengrundlage: LGL, www.lgl-bw.de"},{id:"mar_vermelho_al",name:"Mar Vermelho AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Mar%20Vermelho&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.34201,-9.49289],[-36.3422,-9.47533],[-36.34275,-9.4029],[-36.34473,-9.4029],[-36.34537,-9.40279],[-36.34702,-9.40293],[-36.3508,-9.40291],[-36.359,-9.40307],[-36.36109,-9.403],[-36.36289,-9.40307],[-36.3659,-9.40305],[-36.36713,-9.40301],[-36.37571,-9.40307],[-36.38049,-9.40308],[-36.38663,-9.4032],[-36.38852,-9.40312],[-36.39286,-9.40325],[-36.39656,-9.40322],[-36.40309,-9.40327],[-36.41973,-9.40338],[-36.43368,-9.4034],[-36.43355,-9.41685],[-36.43344,-9.42386],[-36.43338,-9.43753],[-36.43329,-9.45012],[-36.433,-9.49359],[-36.40839,-9.4935],[-36.40442,-9.49354],[-36.40008,-9.49351],[-36.39787,-9.49342],[-36.39168,-9.49328],[-36.38757,-9.49331],[-36.38536,-9.49341],[-36.37673,-9.49331],[-36.37427,-9.49319],[-36.36707,-9.49299],[-36.36502,-9.493],[-36.36043,-9.49299],[-36.35955,-9.49295],[-36.35895,-9.49304],[-36.35703,-9.49294],[-36.35665,-9.493],[-36.3526,-9.493],[-36.34767,-9.49297],[-36.34201,-9.49289]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"geodata.md.gov-MD_SixInchImagery",name:"MD Latest 6 Inch Aerial Imagery",type:"wms",template:"https://geodata.md.gov/imap/services/Imagery/MD_SixInchImagery/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=MD_SixInchImagery&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[-76.23413,37.92037],[-76.59805,38.15832],[-76.94,38.27053],[-77.03819,38.41379],[-77.23526,38.33627],[-77.31216,38.41056],[-77.26273,38.56642],[-77.043,38.71338],[-77.04987,38.7937],[-76.92627,38.8925],[-77.04094,38.9845],[-77.12162,38.92523],[-77.15012,38.95514],[-77.25243,38.97543],[-77.25929,39.02425],[-77.34581,39.05492],[-77.46185,39.07038],[-77.53738,39.13965],[-77.47421,39.22481],[-77.57275,39.30428],[-77.72347,39.32899],[-77.77702,39.46323],[-77.86148,39.51622],[-77.84088,39.60886],[-77.95624,39.59299],[-78.16635,39.69556],[-78.27003,39.62156],[-78.3387,39.64007],[-78.46641,39.52364],[-78.6628,39.54006],[-78.79875,39.60622],[-78.9814,39.4468],[-79.06723,39.47649],[-79.48505,39.19954],[-79.48557,39.72158],[-75.78836,39.72181],[-75.69099,38.46058],[-75.04924,38.45816],[-75.04984,38.40222],[-75.08151,38.32321],[-75.09773,38.30907],[-75.187,38.09755],[-75.23798,38.0224],[-75.61821,37.98967],[-75.86369,37.90953],[-76.23413,37.92037]]],terms_url:"http://imap.maryland.gov/Pages/imagery-products.aspx",terms_text:"DoIT, MD iMap, MDP",description:"Six Inch resolution aerial imagery for the State of Maryland"},{id:"geodata.md.gov-MD_ThreeInchImagery",name:"MD Three Inch Aerial Imagery",type:"wms",template:"https://geodata.md.gov/imap/services/Imagery/MD_ThreeInchImagery/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=MD_ThreeInchImagery&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[0,20],polygon:[[[-76.46299,38.9808],[-76.46326,38.94779],[-76.49499,38.9369],[-76.51617,38.93697],[-76.54763,38.9591],[-76.54745,38.98667],[-76.51559,39.00306],[-76.4839,39.00292],[-76.46299,38.9808]],[[-76.09548,38.84133],[-76.0428,38.8409],[-76.04289,38.8298],[-76.03229,38.8297],[-76.03277,38.79667],[-76.02545,38.79664],[-76.02541,38.77462],[-76.03308,38.77472],[-76.03366,38.73073],[-76.05462,38.73094],[-76.0548,38.72005],[-76.10753,38.72043],[-76.10714,38.75338],[-76.11754,38.75346],[-76.11701,38.79731],[-76.09601,38.79715],[-76.09548,38.84133]],[[-77.23397,39.16838],[-77.25516,39.14647],[-77.25496,39.11343],[-77.18093,39.05337],[-77.14907,39.0477],[-77.12798,39.04779],[-77.10683,39.05325],[-77.10688,39.0917],[-77.11775,39.10827],[-77.16011,39.12485],[-77.15975,39.15214],[-77.17048,39.16302],[-77.21284,39.17272],[-77.23397,39.16838]]],terms_url:"http://imap.maryland.gov/Pages/imagery-products.aspx",terms_text:"DoIT, MD iMap, MDP",description:"Three Inch Resolution Imagery for the cities of Rockville, Gaithersburg and Annapolis"},{id:"geodata.md.gov-MD_ColorBasemap",name:"MD Transportation Basemap",type:"wms",template:"https://geodata.md.gov/imap/services/Transportation/MD_ColorBasemap/MapServer/WmsServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=MD_ColorBasemap&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-76.23413,37.92037],[-76.59805,38.15832],[-76.94,38.27053],[-77.03819,38.41379],[-77.23526,38.33627],[-77.31216,38.41056],[-77.26273,38.56642],[-77.043,38.71338],[-77.04987,38.7937],[-76.92627,38.8925],[-77.04094,38.9845],[-77.12162,38.92523],[-77.15012,38.95514],[-77.25243,38.97543],[-77.25929,39.02425],[-77.34581,39.05492],[-77.46185,39.07038],[-77.53738,39.13965],[-77.47421,39.22481],[-77.57275,39.30428],[-77.72347,39.32899],[-77.77702,39.46323],[-77.86148,39.51622],[-77.84088,39.60886],[-77.95624,39.59299],[-78.16635,39.69556],[-78.27003,39.62156],[-78.3387,39.64007],[-78.46641,39.52364],[-78.6628,39.54006],[-78.79875,39.60622],[-78.9814,39.4468],[-79.06723,39.47649],[-79.48505,39.19954],[-79.48557,39.72158],[-75.78836,39.72181],[-75.69099,38.46058],[-75.04924,38.45816],[-75.04984,38.40222],[-75.08151,38.32321],[-75.09773,38.30907],[-75.187,38.09755],[-75.23798,38.0224],[-75.61821,37.98967],[-75.86369,37.90953],[-76.23413,37.92037]]],terms_url:"http://imap.maryland.gov/Pages/imagery-products.aspx",terms_text:"DoIT, MD iMap, MDP",description:"Maryland State Highway Administration road features and additional Maryland focused landmarks"},{id:"miljodirektoratet-friluftsomrader",name:"Miljødirektoratet Public Recreation Areas overlay",type:"wms",template:"https://arcgisproxy.miljodirektoratet.no/arcgis/services/friluftsliv_statlig_sikra/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=friluftsliv_statlig_sikra&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:4326",scaleExtent:[0,22],polygon:[[[31.90425,70.43681],[28.47652,71.32896],[23.6865,71.25143],[16.80906,70.07308],[11.16207,67.52539],[9.97554,64.81158],[4.21871,62.145],[4.37254,59.1872],[6.17431,57.8915],[7.93212,57.73936],[10.77758,58.86491],[11.7224,58.76251],[12.72216,60.11415],[13.05175,61.34935],[12.52439,63.61699],[14.23826,63.98561],[15.11717,65.90166],[18.69871,68.37491],[20.06101,68.26126],[21.00584,68.78415],[25.24656,68.3506],[26.93845,69.8472],[28.76219,69.61121],[28.5864,68.8556],[31.06931,69.51915],[31.90425,70.43681]]],terms_url:"http://www.miljostatus.no/tema/friluftsliv/statlig-sikra-friluftlivsomrader/",terms_text:"© Miljødirektoratet",description:"Public recreation areas with State ownership (\"friluftsområder\").",icon:"http://www.miljodirektoratet.no/Framework/favicon-32.png",overlay:true},{id:"minador_do_negrao",name:"Minador do Negrão",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Minador%20do%20Negrao&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.8196,-9.35174],[-36.82017,-9.26142],[-36.82465,-9.26133],[-36.83064,-9.26147],[-36.83673,-9.2615],[-36.84228,-9.26148],[-36.84562,-9.2616],[-36.85564,-9.2616],[-36.86214,-9.26159],[-36.8659,-9.26147],[-36.86724,-9.2615],[-36.86952,-9.26149],[-36.87127,-9.26157],[-36.87476,-9.26153],[-36.87816,-9.26163],[-36.88321,-9.2617],[-36.88565,-9.26167],[-36.88857,-9.26148],[-36.89217,-9.26151],[-36.89383,-9.26163],[-36.8974,-9.26175],[-36.91122,-9.26183],[-36.9111,-9.26651],[-36.91112,-9.28542],[-36.91121,-9.29066],[-36.91118,-9.29368],[-36.91099,-9.29929],[-36.91091,-9.30729],[-36.9109,-9.3123],[-36.91083,-9.31597],[-36.91084,-9.32013],[-36.91098,-9.32395],[-36.91099,-9.32587],[-36.91079,-9.32964],[-36.91079,-9.33523],[-36.91074,-9.33944],[-36.91092,-9.34311],[-36.91084,-9.34471],[-36.91066,-9.35229],[-36.89277,-9.35225],[-36.87735,-9.35212],[-36.86463,-9.35203],[-36.85761,-9.35194],[-36.84344,-9.35191],[-36.83115,-9.3518],[-36.8196,-9.35174]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"mml-tausta",name:"MML Background Map",type:"tms",template:"http://tiles.kartat.kapsi.fi/taustakartta/{zoom}/{x}/{y}.jpg",scaleExtent:[2,19],polygon:[[[27.96569,70.0988],[27.57431,70.07728],[27.10876,69.93548],[26.70913,69.97549],[26.45507,69.94207],[25.87142,69.6671],[25.94833,69.61024],[25.83023,69.55323],[25.66955,69.20794],[25.73822,69.01797],[25.60089,68.90309],[25.45806,68.91199],[25.11749,68.80699],[25.07354,68.64355],[24.88128,68.62003],[23.97491,68.84568],[23.74969,68.8308],[23.63433,68.71645],[23.18939,68.68053],[22.52197,68.7553],[21.63894,69.28191],[21.26953,69.31783],[20.94131,69.21622],[21.08963,69.09307],[21.05941,69.04352],[20.72296,69.12491],[20.54443,69.0558],[20.84655,68.97416],[20.81634,68.91742],[21.38754,68.68461],[22.04734,68.47066],[22.80212,68.35464],[23.12072,68.13169],[23.5437,67.9633],[23.44757,67.8393],[23.48602,67.59352],[23.36517,67.46545],[23.71124,67.41592],[23.72772,67.32186],[23.54644,67.26885],[23.53128,67.16724],[23.89251,66.86863],[23.84582,66.57775],[23.61843,66.44562],[23.67171,66.20303],[23.87191,66.14551],[24.09988,65.87247],[24.1658,65.66959],[24.11636,65.39143],[21.37939,63.68037],[20.17639,63.29787],[19.08325,60.16064],[20.22033,59.44786],[22.29125,59.44507],[25.82336,59.933],[27.52075,60.23435],[27.83386,60.53229],[29.29641,61.26165],[31.20803,62.44759],[31.62826,62.90585],[31.2635,63.22106],[29.99605,63.75387],[30.28656,63.81704],[30.58319,64.0782],[30.5104,64.26428],[30.09979,64.39218],[30.02563,64.58736],[30.16845,64.63329],[30.09429,64.79518],[29.78393,64.79811],[29.65347,64.89733],[29.65759,65.05939],[29.91027,65.09527],[29.93225,65.20895],[29.72076,65.27853],[29.91577,65.63788],[30.1863,65.66223],[29.9913,66.09771],[29.07119,66.91983],[30.11077,67.63431],[29.3486,68.08099],[28.67568,68.20166],[28.46547,68.54039],[28.72375,68.72642],[28.82675,68.87341],[28.44985,68.90792],[28.95996,69.05089],[28.83324,69.10563],[28.87207,69.22132],[29.36096,69.46526],[29.15634,69.69667],[28.38455,69.83488],[28.35845,69.88312],[28.17169,69.92511],[28.00415,70.01495],[27.96569,70.0988]]],terms_url:"https://www.maanmittauslaitos.fi/en/",terms_text:"© Maanmittauslaitos",description:"Background map from the National Land Survey of Finland",icon:"https://www.maanmittauslaitos.fi/apple-touch-icon.png"},{id:"mml-orto",name:"MML Orthophoto",type:"tms",template:"http://tiles.kartat.kapsi.fi/ortokuva/{zoom}/{x}/{y}.jpg",scaleExtent:[2,19],polygon:[[[27.96569,70.0988],[27.57431,70.07728],[27.10876,69.93548],[26.70913,69.97549],[26.45507,69.94207],[25.87142,69.6671],[25.94833,69.61024],[25.83023,69.55323],[25.66955,69.20794],[25.73822,69.01797],[25.60089,68.90309],[25.45806,68.91199],[25.11749,68.80699],[25.07354,68.64355],[24.88128,68.62003],[23.97491,68.84568],[23.74969,68.8308],[23.63433,68.71645],[23.18939,68.68053],[22.52197,68.7553],[21.63894,69.28191],[21.26953,69.31783],[20.94131,69.21622],[21.08963,69.09307],[21.05941,69.04352],[20.72296,69.12491],[20.54443,69.0558],[20.84655,68.97416],[20.81634,68.91742],[21.38754,68.68461],[22.04734,68.47066],[22.80212,68.35464],[23.12072,68.13169],[23.5437,67.9633],[23.44757,67.8393],[23.48602,67.59352],[23.36517,67.46545],[23.71124,67.41592],[23.72772,67.32186],[23.54644,67.26885],[23.53128,67.16724],[23.89251,66.86863],[23.84582,66.57775],[23.61843,66.44562],[23.67171,66.20303],[23.87191,66.14551],[24.09988,65.87247],[24.1658,65.66959],[24.11636,65.39143],[21.37939,63.68037],[20.17639,63.29787],[19.08325,60.16064],[20.22033,59.44786],[22.29125,59.44507],[25.82336,59.933],[27.52075,60.23435],[27.83386,60.53229],[29.29641,61.26165],[31.20803,62.44759],[31.62826,62.90585],[31.2635,63.22106],[29.99605,63.75387],[30.28656,63.81704],[30.58319,64.0782],[30.5104,64.26428],[30.09979,64.39218],[30.02563,64.58736],[30.16845,64.63329],[30.09429,64.79518],[29.78393,64.79811],[29.65347,64.89733],[29.65759,65.05939],[29.91027,65.09527],[29.93225,65.20895],[29.72076,65.27853],[29.91577,65.63788],[30.1863,65.66223],[29.9913,66.09771],[29.07119,66.91983],[30.11077,67.63431],[29.3486,68.08099],[28.67568,68.20166],[28.46547,68.54039],[28.72375,68.72642],[28.82675,68.87341],[28.44985,68.90792],[28.95996,69.05089],[28.83324,69.10563],[28.87207,69.22132],[29.36096,69.46526],[29.15634,69.69667],[28.38455,69.83488],[28.35845,69.88312],[28.17169,69.92511],[28.00415,70.01495],[27.96569,70.0988]]],terms_url:"https://www.maanmittauslaitos.fi/en/",terms_text:"© Maanmittauslaitos",best:true,description:"Ortophotos from the National Land Survey of Finland",icon:"https://www.maanmittauslaitos.fi/apple-touch-icon.png"},{id:"mml-topo",name:"MML Topographic Map",type:"tms",template:"http://tiles.kartat.kapsi.fi/peruskartta/{zoom}/{x}/{y}.jpg",scaleExtent:[2,19],polygon:[[[27.96569,70.0988],[27.57431,70.07728],[27.10876,69.93548],[26.70913,69.97549],[26.45507,69.94207],[25.87142,69.6671],[25.94833,69.61024],[25.83023,69.55323],[25.66955,69.20794],[25.73822,69.01797],[25.60089,68.90309],[25.45806,68.91199],[25.11749,68.80699],[25.07354,68.64355],[24.88128,68.62003],[23.97491,68.84568],[23.74969,68.8308],[23.63433,68.71645],[23.18939,68.68053],[22.52197,68.7553],[21.63894,69.28191],[21.26953,69.31783],[20.94131,69.21622],[21.08963,69.09307],[21.05941,69.04352],[20.72296,69.12491],[20.54443,69.0558],[20.84655,68.97416],[20.81634,68.91742],[21.38754,68.68461],[22.04734,68.47066],[22.80212,68.35464],[23.12072,68.13169],[23.5437,67.9633],[23.44757,67.8393],[23.48602,67.59352],[23.36517,67.46545],[23.71124,67.41592],[23.72772,67.32186],[23.54644,67.26885],[23.53128,67.16724],[23.89251,66.86863],[23.84582,66.57775],[23.61843,66.44562],[23.67171,66.20303],[23.87191,66.14551],[24.09988,65.87247],[24.1658,65.66959],[24.11636,65.39143],[21.37939,63.68037],[20.17639,63.29787],[19.08325,60.16064],[20.22033,59.44786],[22.29125,59.44507],[25.82336,59.933],[27.52075,60.23435],[27.83386,60.53229],[29.29641,61.26165],[31.20803,62.44759],[31.62826,62.90585],[31.2635,63.22106],[29.99605,63.75387],[30.28656,63.81704],[30.58319,64.0782],[30.5104,64.26428],[30.09979,64.39218],[30.02563,64.58736],[30.16845,64.63329],[30.09429,64.79518],[29.78393,64.79811],[29.65347,64.89733],[29.65759,65.05939],[29.91027,65.09527],[29.93225,65.20895],[29.72076,65.27853],[29.91577,65.63788],[30.1863,65.66223],[29.9913,66.09771],[29.07119,66.91983],[30.11077,67.63431],[29.3486,68.08099],[28.67568,68.20166],[28.46547,68.54039],[28.72375,68.72642],[28.82675,68.87341],[28.44985,68.90792],[28.95996,69.05089],[28.83324,69.10563],[28.87207,69.22132],[29.36096,69.46526],[29.15634,69.69667],[28.38455,69.83488],[28.35845,69.88312],[28.17169,69.92511],[28.00415,70.01495],[27.96569,70.0988]]],terms_url:"https://www.maanmittauslaitos.fi/en/",terms_text:"© Maanmittauslaitos",description:"Topographic map from the National Land Survey of Finland",icon:"https://www.maanmittauslaitos.fi/apple-touch-icon.png"},{id:"MunichLatestAerialImagery",name:"Munich latest aerial imagery 60cm",type:"wms",template:"https://ogc.muenchen.de/wms/opendata_luftbild?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=bgl0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[11,22],polygon:[[[11.48878,48.053],[11.55589,48.05323],[11.55583,48.06224],[11.56915,48.06229],[11.56908,48.07128],[11.64986,48.07155],[11.64993,48.06256],[11.70326,48.06274],[11.70313,48.08074],[11.71673,48.08079],[11.71667,48.08968],[11.7299,48.08972],[11.72963,48.12566],[11.74313,48.1257],[11.74292,48.15276],[11.72943,48.15271],[11.72936,48.16152],[11.71612,48.16147],[11.71592,48.18859],[11.7027,48.18855],[11.70263,48.19752],[11.67558,48.19743],[11.67537,48.22446],[11.66176,48.22441],[11.66169,48.23355],[11.64863,48.2335],[11.64857,48.24246],[11.54064,48.2421],[11.54058,48.25093],[11.52735,48.25088],[11.52728,48.26001],[11.47335,48.25983],[11.47356,48.23291],[11.46014,48.23287],[11.46021,48.22373],[11.43336,48.22364],[11.43343,48.21439],[11.3798,48.21421],[11.37987,48.20518],[11.36607,48.20514],[11.36621,48.18741],[11.35259,48.18737],[11.35266,48.17817],[11.33946,48.17813],[11.33973,48.14216],[11.36684,48.14225],[11.36697,48.12443],[11.38083,48.12448],[11.3809,48.11558],[11.44769,48.1158],[11.44804,48.07087],[11.46186,48.07091],[11.46193,48.06193],[11.48872,48.06202],[11.48878,48.053]]],terms_url:"http://www.geodatenservice-muenchen.de/",terms_text:"Datenquelle: dl-de/by-2-0: Landeshauptstadt München – Kommunalreferat – GeodatenService – www.geodatenservice-muenchen.de",icon:"http://www.muenchen.de/media/css/images/favicon_114x114.png"},{id:"openlabs-geoportal-public-transport",name:"Municipality of Tirana - Public Transport (Open Labs GeoPortal) (overlay)",type:"tms",template:"https://geoportal.openlabs.cc/mapcache/tms/1.0.0/public-transport@GoogleMapsCompatibleExtended/{zoom}/{x}/{-y}.png",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",scaleExtent:[0,21],polygon:[[[19.73762,41.30154],[19.88628,41.27213],[19.86877,41.38582],[19.68338,41.3732],[19.73762,41.30154]]],terms_url:"https://geoportal.openlabs.cc/",terms_text:"Data provided by the Muncipality of Tirana hosted by Open Labs",description:"Bus stops & lines provided by the Muncipality of Tirana hosted by Open Labs",overlay:true},{id:"openlabs-geoportal-tirana",name:"Municipality of Tirana (Open Labs GeoPortal)",type:"tms",template:"https://geoportal.openlabs.cc/mapcache/tms/1.0.0/tirana@GoogleMapsCompatibleExtended/{zoom}/{x}/{-y}.png",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",scaleExtent:[0,21],polygon:[[[19.70226,41.1404],[19.77573,41.11868],[19.86431,41.12126],[20.24986,41.3495],[20.03082,41.41184],[19.92577,41.5204],[19.88869,41.50755],[19.88937,41.42265],[19.81659,41.46177],[19.7335,41.43037],[19.74174,41.37887],[19.65797,41.37475],[19.57214,41.24322],[19.61815,41.22567],[19.67171,41.22722],[19.70226,41.1404]]],terms_url:"https://geoportal.openlabs.cc",terms_text:"Data provided by the Muncipality of Tirana hosted by Open Labs",description:"Streets & Builings provided by the Muncipality of Tirana hosted by Open Labs"},{id:"NC-US",name:"NC Latest Orthoimagery",type:"wms",template:"https://services.nconemap.gov/secure/services/Imagery/Orthoimagery_All/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"1995-01-01T00:00:00.000Z",polygon:[[[-81.6792,36.5974],[-80.25359,36.54793],[-75.8409,36.5671],[-75.4323,35.6441],[-75.50475,35.18806],[-75.70525,35.17684],[-76.14745,34.94077],[-76.53472,34.55487],[-76.69676,34.66789],[-77.27904,34.53224],[-77.68828,34.26482],[-77.9435,33.8269],[-78.21288,33.89402],[-78.5301,33.8304],[-79.6693,34.7916],[-80.8122,34.8085],[-80.84685,34.96329],[-80.95122,35.05552],[-81.06383,35.01729],[-81.07482,35.13417],[-82.3632,35.1805],[-82.9989,34.9919],[-84.3333,34.9767],[-84.27184,35.28229],[-84.09056,35.27332],[-83.91478,35.53301],[-83.55498,35.5911],[-83.2556,35.73392],[-82.98644,35.81414],[-82.92327,35.96767],[-82.67882,36.0854],[-82.60192,36.08984],[-82.536,35.96989],[-82.35472,36.14752],[-82.04436,36.14309],[-81.90428,36.33803],[-81.74224,36.37342],[-81.6792,36.5974]]],description:"Most recent true color imagery for the state of North Carolina. The imagery has a pixel resolution of 6 inches and is comprised of imagery flown in 2010, 2012, 2013, and 2014"},{id:"geodata.state.nj.us-Infrared2015",name:"NJ 2015 Aerial Imagery (Infrared)",type:"wms",template:"https://geodata.state.nj.us/imagerywms/Infrared2015?FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&WIDTH={width}&HEIGHT={height}&LAYERS=Infrared2015&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-05-03T00:00:00.000Z",startDate:"2015-03-29T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[-74.86599,40.08543],[-74.84093,40.10722],[-74.8229,40.13033],[-74.78805,40.12468],[-74.72609,40.14949],[-74.72918,40.16392],[-74.76334,40.19172],[-74.77552,40.21428],[-74.84402,40.24796],[-74.86839,40.29157],[-74.94461,40.33817],[-74.9671,40.3952],[-75.00263,40.40605],[-75.02684,40.40252],[-75.06134,40.4165],[-75.07421,40.45505],[-75.06906,40.5365],[-75.10237,40.56702],[-75.13593,40.57361],[-75.16777,40.55907],[-75.19764,40.57367],[-75.20373,40.61832],[-75.20506,40.69131],[-75.19833,40.75389],[-75.1724,40.78067],[-75.1367,40.77729],[-75.09018,40.82238],[-75.10099,40.83927],[-75.09687,40.85096],[-75.06846,40.85037],[-75.05705,40.86757],[-75.13773,40.97309],[-75.13515,40.99441],[-75.03902,41.03819],[-74.98152,41.1126],[-74.90547,41.17038],[-74.84024,41.27864],[-74.79801,41.32268],[-74.75716,41.34769],[-74.6957,41.36058],[-74.04105,41.05909],[-74.04105,41.05909],[-74.04105,41.05909],[-74.04105,41.05909],[-74.04105,41.05909],[-73.89027,40.99804],[-73.93341,40.88208],[-73.93341,40.88208],[-73.93341,40.88208],[-73.93341,40.88208],[-74.01146,40.75558],[-74.02454,40.70944],[-74.06605,40.65173],[-74.15222,40.63897],[-74.18312,40.64457],[-74.20046,40.63128],[-74.19926,40.59844],[-74.21505,40.55803],[-74.24681,40.54811],[-74.24715,40.51954],[-74.26758,40.48965],[-74.26054,40.46928],[-74.19926,40.44564],[-74.18106,40.4604],[-74.13643,40.45909],[-73.99756,40.4135],[-74.02657,40.47777],[-74.00391,40.48404],[-73.97781,40.45204],[-73.96477,40.33189],[-74.08836,39.75682],[-74.35684,39.38341],[-74.60953,39.21523],[-74.77638,38.99891],[-74.86359,38.93164],[-74.93122,38.92069],[-74.98032,38.9303],[-74.96075,39.00798],[-74.90547,39.10023],[-74.89998,39.16414],[-75.10117,39.2014],[-75.1355,39.17106],[-75.42595,39.3781],[-75.47504,39.43195],[-75.54336,39.4574],[-75.55229,39.48284],[-75.5389,39.54191],[-75.51968,39.56997],[-75.57117,39.60807],[-75.5777,39.62552],[-75.53993,39.65646],[-75.47298,39.74745],[-75.46625,39.75076],[-75.46625,39.75076],[-75.46625,39.75076],[-75.46625,39.75076],[-75.46625,39.75077],[-75.46625,39.75077],[-75.46625,39.75077],[-75.46625,39.75077],[-75.46509,39.76448],[-75.41504,39.80179],[-75.32467,39.85889],[-75.24605,39.86469],[-75.14374,39.90026],[-75.14236,39.95791],[-75.07061,39.98712],[-75.05653,40.00868],[-74.93534,40.07256],[-74.86599,40.08543]]],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)",description:"Digital orthophotography of New Jersey, Near Infrared, 1 foot resolution"},{id:"geodata.state.nj.us-Natural2015",name:"NJ 2015 Aerial Imagery (Natural Color)",type:"wms",template:"https://geodata.state.nj.us/imagerywms/Natural2015?FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS={proj}&WIDTH={width}&HEIGHT={height}&LAYERS=Natural2015&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-05-03T00:00:00.000Z",startDate:"2015-03-29T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[-74.86599,40.08543],[-74.84093,40.10722],[-74.8229,40.13033],[-74.78805,40.12468],[-74.72609,40.14949],[-74.72918,40.16392],[-74.76334,40.19172],[-74.77552,40.21428],[-74.84402,40.24796],[-74.86839,40.29157],[-74.94461,40.33817],[-74.9671,40.3952],[-75.00263,40.40605],[-75.02684,40.40252],[-75.06134,40.4165],[-75.07421,40.45505],[-75.06906,40.5365],[-75.10237,40.56702],[-75.13593,40.57361],[-75.16777,40.55907],[-75.19764,40.57367],[-75.20373,40.61832],[-75.20506,40.69131],[-75.19833,40.75389],[-75.1724,40.78067],[-75.1367,40.77729],[-75.09018,40.82238],[-75.10099,40.83927],[-75.09687,40.85096],[-75.06846,40.85037],[-75.05705,40.86757],[-75.13773,40.97309],[-75.13515,40.99441],[-75.03902,41.03819],[-74.98152,41.1126],[-74.90547,41.17038],[-74.84024,41.27864],[-74.79801,41.32268],[-74.75716,41.34769],[-74.6957,41.36058],[-74.04105,41.05909],[-74.04105,41.05909],[-74.04105,41.05909],[-74.04105,41.05909],[-74.04105,41.05909],[-73.89027,40.99804],[-73.93341,40.88208],[-73.93341,40.88208],[-73.93341,40.88208],[-73.93341,40.88208],[-74.01146,40.75558],[-74.02454,40.70944],[-74.06605,40.65173],[-74.15222,40.63897],[-74.18312,40.64457],[-74.20046,40.63128],[-74.19926,40.59844],[-74.21505,40.55803],[-74.24681,40.54811],[-74.24715,40.51954],[-74.26758,40.48965],[-74.26054,40.46928],[-74.19926,40.44564],[-74.18106,40.4604],[-74.13643,40.45909],[-73.99756,40.4135],[-74.02657,40.47777],[-74.00391,40.48404],[-73.97781,40.45204],[-73.96477,40.33189],[-74.08836,39.75682],[-74.35684,39.38341],[-74.60953,39.21523],[-74.77638,38.99891],[-74.86359,38.93164],[-74.93122,38.92069],[-74.98032,38.9303],[-74.96075,39.00798],[-74.90547,39.10023],[-74.89998,39.16414],[-75.10117,39.2014],[-75.1355,39.17106],[-75.42595,39.3781],[-75.47504,39.43195],[-75.54336,39.4574],[-75.55229,39.48284],[-75.5389,39.54191],[-75.51968,39.56997],[-75.57117,39.60807],[-75.5777,39.62552],[-75.53993,39.65646],[-75.47298,39.74745],[-75.46625,39.75076],[-75.46625,39.75076],[-75.46625,39.75076],[-75.46625,39.75076],[-75.46625,39.75077],[-75.46625,39.75077],[-75.46625,39.75077],[-75.46625,39.75077],[-75.46509,39.76448],[-75.41504,39.80179],[-75.32467,39.85889],[-75.24605,39.86469],[-75.14374,39.90026],[-75.14236,39.95791],[-75.07061,39.98712],[-75.05653,40.00868],[-74.93534,40.07256],[-74.86599,40.08543]]],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)",description:"Digital orthophotography of New Jersey, Natural Color, 1 foot resolution"},{id:"NLSC-EMAP5",name:"NLSC General Map with Contour line",type:"tms",template:"https://wmts.nlsc.gov.tw/wmts/EMAP5_OPENDATA/default/EPSG:3857/{zoom}/{y}/{x}",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[0,15],polygon:[[[120.45706,26.39706],[120.44256,26.3708],[120.44713,26.35315],[120.4673,26.34058],[120.49787,26.33409],[120.5141,26.34016],[120.53412,26.36416],[120.5297,26.38421],[120.49567,26.40158],[120.45706,26.39706]],[[119.90072,25.98586],[119.89601,25.96489],[119.91313,25.94704],[119.95035,25.92785],[119.99056,25.92606],[120.01984,25.93633],[120.02778,25.95574],[120.02753,25.98452],[119.99899,26.00103],[119.94043,26.00281],[119.90072,25.98586]],[[122.089,24.5485],[121.709,23.4541],[121.717,22.698],[121.818,21.95],[121.803,21.8735],[121.759,21.8087],[121.694,21.7653],[120.861,21.5631],[120.815,21.5576],[120.739,21.5728],[120.661,21.6296],[120.202,22.1809],[119.27,23.0542],[119.153,23.2049],[119.128,23.2485],[119.103,23.4],[119.118,23.4765],[119.137,23.512],[119.361,23.8885],[119.406,23.9407],[120.968,25.2284],[121.408,25.4687],[121.989,25.8147],[122.065,25.8299],[122.141,25.8147],[122.216,25.7663],[122.26,25.7015],[122.297,25.48],[122.196,24.9696],[122.089,24.5485]],[[116.6855,20.85476],[116.63091,20.81496],[116.59417,20.76008],[116.57972,20.69675],[116.58931,20.63259],[116.62177,20.57534],[116.67319,20.53192],[116.73737,20.50758],[116.80657,20.50527],[116.87244,20.52526],[116.92703,20.56514],[116.96377,20.62008],[116.97822,20.68345],[116.96863,20.74759],[116.93617,20.80477],[116.88475,20.84811],[116.82057,20.8724],[116.75137,20.87471],[116.6855,20.85476]],[[118.22615,24.45633],[118.29364,24.45385],[118.28515,24.4751],[118.30974,24.49168],[118.37677,24.47293],[118.41009,24.53323],[118.4479,24.52841],[118.47464,24.45993],[118.51299,24.43155],[118.50658,24.42023],[118.48116,24.43324],[118.46106,24.40892],[118.42615,24.39704],[118.39701,24.42842],[118.37656,24.42584],[118.33976,24.38146],[118.30319,24.37058],[118.25742,24.41392],[118.13813,24.37248],[118.16173,24.40224],[118.20942,24.41396],[118.18958,24.43522],[118.21763,24.43021],[118.22615,24.45633]],[[120.22345,26.30045],[120.25508,26.31004],[120.26989,26.33687],[120.25919,26.36522],[120.22925,26.37848],[120.19762,26.3689],[120.18282,26.34207],[120.19352,26.31372],[120.22345,26.30045]],[[119.43745,25.00475],[119.4342,24.98862],[119.45419,24.97226],[119.48274,24.97184],[119.48984,24.99379],[119.47159,25.00692],[119.43745,25.00475]],[[119.88699,26.18038],[119.89323,26.12031],[119.92851,26.10802],[119.97794,26.12236],[120.03668,26.15173],[120.10981,26.21349],[120.11927,26.27137],[120.06292,26.31726],[119.99237,26.31649],[119.94677,26.28988],[119.90204,26.24398],[119.88699,26.18038]]],terms_url:"https://maps.nlsc.gov.tw",terms_text:"© National Land Surveying and Mapping Center, Taiwan OGDL 1.0",description:"The emap from Taiwan National Land Surveying and Mapping Center",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAxJJREFUOI3tlF9oW2UYxn9f4nKW2ixfjJGYMnuctRUZ5mhEpjdJEEaHtmsZaKHq0qt6ZdtZL3Zhk3ilIKS9Ui806UStE7Edjln8kwzEwaB6IshsmJIqK1ttZ7Qlzel2eryQhqZrsDC8EHyuvu993+/53j+8D/yPfxtip4GqH1X1owLkdHI3RSwbkbFu1yAPdx4t3hpSS6YLAM05i/vCqcmzZwpj9T6pIZYOZNArNADhsQj3RVNjtyS1DcKtiHlPIb96PTn67nJiq8++cRgJicTpQ7Yz0oHc7cQZeakzPbTyqr9iKXUr0lfbqOx7LHJgbXrux5/X9M0+G0C8SySeeWTPQPSLxu4jn1vd4tE7m4euDNclrCEvt6E+25/e6H+VuKen57vEe1b8I29b8cKyo6j6Uece6I/VK387jC70crgjMFBDPDEx8aA5aOPkG+f7FhcX9YhGZLIUBSD7VAtSsZOKNpGKNgFU710tbiJ7G0lFm9DucCL2R7uCXjTpQFZbMV6wMu+EbWnpQOIJVKcvFTuDIR+az4nmc1Zt6h4HuV9XGHjIx1D2EvrCKtLnUgE+Pig+kQ6kDeDFc9YQwJdP2rLuBlfzRjklw7yh7JJh0vfZL6Tb70IqdqRSnT/5JfQTBcZfDom4HaBiUjn5k/Xh0VYRe85ztZ11QX53K4ZQyPxwFcO0yP+2Ste9bi6XrxPbfxuvnV9g6uIfPK/dTskwURbOFfPTM2PSIeTT99Bzw4KMhERi5ICIl667OOHuYNzdQV5p/ccBxi89kUmm5vveDou06kLddvNSibasbvZGXvj9fYJGgbldAaYaI+SVVoq7ApxtCNXEH7ZyhL8+Nho00YJeoT3+6Xp0W2KtBU07NpzNlHulem2ecHmGzpUcmlGg+dp83aynitbkK99ayfwSel2tiLUTo3M4lSn3ys12ub5MsFL4O4GGWZq/fyszfvrPsfwSNZtnpw70i+jMfjPdf//MfXf7UYtrASqWQkUoeNzLtHumS0buzePJD4zjV1a5vPX9jmRT9aNGNCKbZXMn0vnfwl+e9BTflqrxKAAAAABJRU5ErkJggg=="},{id:"IBGE_Salvador_Streets",name:"Nomes de Ruas IBGE Salvador-BA",type:"tms",template:"https://api.mapbox.com/styles/v1/wille/cj8lp78dn62wl2rquim47qo0g/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g",scaleExtent:[0,20],polygon:[[[-38.48974,-12.81113],[-38.54485,-13.01392],[-38.47755,-13.03466],[-38.33473,-12.94685],[-38.30006,-12.90669],[-38.33954,-12.90435],[-38.35482,-12.83021],[-38.38091,-12.82184],[-38.40717,-12.86754],[-38.46537,-12.81599],[-38.48974,-12.81113]]],description:"Streets geometry and names of Salvador, Bahia. Source: Faces de Logradouro - IBGE.",overlay:true},{id:"geovekst-nib",name:"Norway Orthophoto",type:"tms",template:"https://waapi.webatlas.no/maptiles/tiles/webatlas-orto-newup/wa_grid/{zoom}/{x}/{y}.jpeg?api_key=b8e36d51-119a-423b-b156-d744d54123d5",scaleExtent:[0,21],polygon:[[[11.53568,58.86659],[11.66192,58.89784],[11.7935,59.09471],[11.84243,59.239],[11.82877,59.34509],[11.71279,59.60387],[11.86205,59.63771],[11.95608,59.69196],[11.93389,59.86895],[12.17881,59.8786],[12.46948,60.03124],[12.55438,60.18972],[12.51237,60.31659],[12.61793,60.40065],[12.61883,60.51512],[12.25387,61.01106],[12.69195,61.04632],[12.90756,61.34802],[12.57493,61.57623],[12.42465,61.57175],[12.15233,61.72694],[12.31212,62.26512],[12.07078,62.61109],[12.14907,62.7455],[12.08883,62.89668],[12.23464,62.99952],[11.99225,63.26684],[12.23327,63.47505],[12.17971,63.57117],[12.69313,63.96344],[13.21378,64.0839],[13.99183,64.00514],[14.17035,64.18236],[14.13253,64.47516],[13.67658,64.58356],[14.02455,64.88119],[14.33572,65.11098],[14.51699,65.30365],[14.54177,65.67762],[14.63674,65.81299],[14.53903,66.12496],[15.03881,66.14245],[15.50033,66.27956],[15.39368,66.4795],[15.63473,66.59685],[16.04695,66.90283],[16.39832,67.03827],[16.41439,67.21036],[16.10744,67.43617],[16.16455,67.5087],[16.42318,67.52589],[16.5866,67.64528],[16.7471,67.90466],[17.34741,68.09995],[17.90583,67.95885],[18.16489,68.19424],[18.13721,68.52675],[18.40761,68.57059],[18.62222,68.49607],[18.98574,68.50591],[19.92752,68.34558],[20.24505,68.49201],[19.99237,68.55586],[20.21137,68.65685],[20.34848,68.79976],[20.31623,68.93227],[20.10322,69.0359],[20.55694,69.04926],[20.7206,69.10837],[21.06178,69.02541],[21.12098,69.10587],[21.01135,69.21086],[21.2824,69.30076],[21.62645,69.26589],[22.33512,68.81965],[22.37485,68.70596],[22.5377,68.73329],[22.80161,68.67674],[23.04635,68.67833],[23.16467,68.61903],[23.68789,68.70049],[23.79776,68.81592],[23.96804,68.82287],[24.17541,68.7314],[24.76043,68.63655],[24.8544,68.55285],[24.90827,68.54387],[24.93347,68.6025],[25.12435,68.62003],[25.1667,68.79008],[25.43334,68.87886],[25.62945,68.88103],[25.79589,69.01157],[25.73272,69.19428],[26.02249,69.66758],[26.56631,69.94207],[27.10601,69.89539],[27.63679,70.05317],[27.93548,70.07401],[27.96569,70.00415],[28.40312,69.80824],[29.1014,69.69095],[29.328,69.47585],[28.82859,69.2316],[28.7931,69.0943],[29.04485,68.99986],[29.25292,69.10601],[29.32641,69.22982],[29.29229,69.27632],[29.39117,69.31298],[29.57038,69.31201],[29.85191,69.41631],[29.96795,69.39916],[30.13069,69.4667],[30.2008,69.5658],[30.13137,69.6609],[30.15678,69.66496],[30.51589,69.53787],[30.82077,69.52371],[30.95329,69.55563],[30.96221,69.67832],[30.83578,69.79192],[31.65161,70.17579],[31.78344,70.4662],[30.49255,70.86989],[28.43261,71.30079],[25.66406,71.40266],[23.81835,71.29374],[18.30322,70.40734],[14.24926,69.07641],[11.18408,67.47913],[11.74438,66.90852],[9.95361,64.88393],[4.72961,62.3649],[4.12948,61.69247],[4.08142,61.02637],[4.4577,59.19421],[5.31188,58.4276],[6.47094,57.84475],[7.56408,57.72468],[8.4375,57.91776],[10.59792,58.75006],[10.64905,58.88203],[11.09035,58.97673],[11.16173,59.06743],[11.34175,59.10293],[11.44922,58.99078],[11.45194,58.88136],[11.53568,58.86659]]],terms_url:"https://www.norgeibilder.no",terms_text:"© Geovekst",best:true,description:"Most recent Norwegian orthophotos, courtesy of Geovekst and Norkart.",icon:"https://register.geonorge.no/data/organizations/_L_norgeibilder96x96.png"},{id:"npd-offshore",name:"NPD Offshore Installations overlay",type:"wms",template:"http://npdwms.npd.no/NPD_FactMap.asp?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Surface_labels,Surface,Pipelines,Pipelines_labels,Fields_labels,Fields&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[6,20],polygon:[[[8.51989,57.6454],[3.25195,56.08737],[2.61185,56.59434],[1.96321,57.90482],[1.48178,58.42936],[1.98303,60.31063],[1.78802,61.35659],[-0.49061,63.88725],[1.36226,67.01603],[14.99771,74.50082],[36.99371,74.50155],[36.99989,73.68633],[32.06909,70.27429],[23.97215,70.47356],[16.25974,68.58447],[12.12888,64.81157],[5.38328,61.92862],[5.7678,58.85355],[8.51989,57.6454]]],terms_url:"http://www.npd.no/no/Kart/Faktakart/",terms_text:"© Oljedirektoratet",description:"Production platforms and oil/natural gas fields on the Norwegian continental shelf",icon:"https://register.geonorge.no/data/organizations/870917732_od_liten.png",overlay:true},{id:"orthos.dhses.ny.gov_latest",name:"NYS Orthos Online",type:"wms",template:"http://www.orthos.dhses.ny.gov/arcgis/services/Latest/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0,1,2,3,4&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2018-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[0,19],polygon:[[[-74.91231,45.03606],[-73.47788,45.02996],[-73.33846,45.03098],[-73.31978,45.00558],[-73.32265,44.98525],[-73.34852,44.9283],[-73.36721,44.8397],[-73.34277,44.81727],[-73.34565,44.77647],[-73.37296,44.73463],[-73.37008,44.67946],[-73.39739,44.64471],[-73.39308,44.60276],[-73.39739,44.54543],[-73.34996,44.51264],[-73.34565,44.49521],[-73.37871,44.4706],[-73.30828,44.43572],[-73.30397,44.41827],[-73.33271,44.33917],[-73.30828,44.27128],[-73.30828,44.25172],[-73.38014,44.14868],[-73.40458,44.04133],[-73.3399,43.79596],[-73.28097,43.64222],[-73.2091,43.54957],[-73.21342,43.51206],[-73.24647,42.67557],[-73.45919,42.14284],[-73.47069,42.03938],[-73.48794,41.73764],[-73.49944,41.64319],[-73.47788,41.62708],[-73.43189,41.57979],[-73.42614,41.56366],[-73.42685,41.45926],[-73.43979,41.40322],[-73.44985,41.38328],[-73.43835,41.37033],[-73.42757,41.35901],[-73.41751,41.3439],[-73.41895,41.27642],[-73.43045,41.24455],[-73.46566,41.19752],[-73.52962,41.14505],[-73.55477,41.13368],[-73.61586,41.13531],[-73.62664,41.10878],[-73.62736,41.05407],[-73.63958,40.99118],[-73.61873,40.98195],[-73.59933,40.96568],[-73.59933,40.93474],[-73.63455,40.91682],[-73.68054,40.89183],[-73.69851,40.87988],[-73.68629,40.87064],[-73.66257,40.87934],[-73.63814,40.90541],[-73.59789,40.91193],[-73.57562,40.9179],[-73.52675,40.92388],[-73.50159,40.94288],[-73.4901,40.95374],[-73.41751,40.96079],[-73.38374,40.96133],[-73.33702,40.95591],[-73.30828,40.93637],[-73.27091,40.92659],[-73.2091,40.91953],[-73.18682,40.92714],[-73.16814,40.93148],[-73.16598,40.95971],[-73.16886,40.97002],[-73.12933,40.98195],[-73.10777,40.98195],[-73.06681,40.9749],[-72.8584,40.97436],[-72.71826,40.98195],[-72.65574,41.00528],[-72.64424,41.00473],[-72.62628,40.99226],[-72.54148,41.03889],[-72.4768,41.06328],[-72.45811,41.08928],[-72.41859,41.09308],[-72.36612,41.13856],[-72.36037,41.1418],[-72.32229,41.15479],[-72.29067,41.16399],[-72.21449,41.18238],[-72.20083,41.19157],[-72.04848,41.25914],[-72.02548,41.2937],[-71.93924,41.30774],[-71.92343,41.30666],[-71.90259,41.2991],[-71.90187,41.28939],[-71.99458,41.24509],[-72.10453,41.19806],[-72.18287,41.16723],[-72.18934,41.16237],[-72.25186,41.12232],[-72.30432,41.10445],[-72.31582,41.09524],[-72.27917,41.08441],[-72.2727,41.08062],[-72.26839,41.04973],[-72.21736,41.04811],[-72.19652,41.04215],[-72.18646,41.05298],[-72.17137,41.0584],[-72.14981,41.05895],[-72.15628,41.09633],[-72.15268,41.1077],[-72.14909,41.14667],[-72.134,41.14505],[-72.07076,41.10553],[-72.07435,41.05678],[-72.08657,41.03185],[-72.10957,41.0069],[-72.08729,41.01287],[-72.06213,41.02534],[-72.04561,41.03239],[-72.01902,41.03293],[-72.00895,41.04215],[-72.00177,41.05136],[-71.96368,41.07737],[-71.922,41.08874],[-71.88966,41.08766],[-71.85588,41.08062],[-71.84582,41.07466],[-71.85588,41.05298],[-71.89038,41.03727],[-71.91625,41.03022],[-71.99099,41.00365],[-72.07938,40.97273],[-72.31941,40.88205],[-72.4423,40.8402],[-72.62771,40.7869],[-72.76569,40.75043],[-72.88499,40.71286],[-72.95973,40.68671],[-73.03735,40.66],[-73.08118,40.64855],[-73.22994,40.61637],[-73.32193,40.6131],[-73.35211,40.61855],[-73.55477,40.56944],[-73.75959,40.57708],[-73.88248,40.54815],[-73.9335,40.53449],[-73.945,40.53395],[-73.94572,40.56289],[-74.08227,40.56234],[-74.08011,40.54924],[-74.12251,40.52084],[-74.15772,40.51373],[-74.18719,40.50117],[-74.22887,40.48696],[-74.26121,40.48532],[-74.2763,40.4957],[-74.27918,40.54378],[-74.26983,40.56671],[-74.25834,40.57217],[-74.22528,40.57217],[-74.226,40.58309],[-74.25115,40.59564],[-74.25259,40.62237],[-74.24324,40.64091],[-74.2339,40.64909],[-74.20228,40.654],[-74.12538,40.65673],[-74.11532,40.69107],[-74.09951,40.68998],[-74.07795,40.71068],[-74.06286,40.7183],[-74.05208,40.7439],[-74.02549,40.79288],[-73.98094,40.86901],[-73.96225,40.92551],[-73.94931,40.96459],[-73.94644,40.99877],[-73.98165,41.01612],[-74.04561,41.04323],[-74.18072,41.09524],[-74.30792,41.14938],[-74.44087,41.21537],[-74.52783,41.25914],[-74.61335,41.30234],[-74.65791,41.31098],[-74.70246,41.33581],[-74.76714,41.38975],[-74.79661,41.41023],[-74.85338,41.42263],[-74.90728,41.43179],[-74.99783,41.47111],[-75.04167,41.52708],[-75.08479,41.59323],[-75.08407,41.61848],[-75.07329,41.66467],[-75.08766,41.70278],[-75.08766,41.71351],[-75.12144,41.76177],[-75.11928,41.79232],[-75.13078,41.81696],[-75.18755,41.83838],[-75.25295,41.84962],[-75.28745,41.85497],[-75.29823,41.88227],[-75.30613,41.9304],[-75.34063,41.94003],[-75.3665,41.9566],[-75.37225,41.97744],[-75.58066,41.97957],[-75.58137,41.92399],[-75.78906,41.92666],[-75.78691,41.98278],[-79.77687,41.98118],[-79.7819,42.20994],[-79.77184,42.28017],[-79.72153,42.29824],[-79.57349,42.36731],[-79.42976,42.46599],[-79.3737,42.49991],[-79.25728,42.54546],[-79.18973,42.5624],[-79.16529,42.56981],[-79.12074,42.62483],[-79.0963,42.64598],[-79.06899,42.6967],[-79.03162,42.71043],[-78.98851,42.72311],[-78.88358,42.77693],[-78.88646,42.8149],[-78.93964,42.88655],[-78.93964,42.93603],[-79.04887,42.96969],[-79.04743,43.05167],[-79.09343,43.05272],[-79.09199,43.09262],[-79.08624,43.26556],[-79.06468,43.27602],[-78.84909,43.33041],[-78.72979,43.35237],[-78.63924,43.37013],[-78.54869,43.37953],[-78.47826,43.38789],[-77.95508,43.38476],[-77.73158,43.34714],[-77.71146,43.34034],[-77.66259,43.31159],[-77.61516,43.28387],[-77.55336,43.253],[-77.5282,43.25509],[-77.45634,43.27864],[-77.42256,43.28492],[-77.16385,43.29433],[-77.0503,43.29381],[-76.94178,43.29329],[-76.91447,43.30793],[-76.85051,43.3163],[-76.80236,43.32832],[-76.75996,43.35184],[-76.64785,43.42809],[-76.54509,43.48026],[-76.51993,43.49486],[-76.44304,43.52717],[-76.4222,43.53811],[-76.28206,43.53863],[-76.23822,43.55686],[-76.24038,43.74147],[-76.30649,43.82915],[-76.31152,43.8675],[-76.34602,43.8618],[-76.40064,43.86128],[-76.47178,43.88408],[-76.46675,43.90893],[-76.4186,43.93119],[-76.37189,43.93223],[-76.36974,43.90272],[-76.33308,43.92964],[-76.27847,43.92964],[-76.27847,43.90427],[-76.26697,43.89599],[-76.23607,43.91204],[-76.19295,43.93326],[-76.19007,43.95086],[-76.21523,43.96017],[-76.25044,43.94982],[-76.31224,43.94775],[-76.30578,43.9762],[-76.33093,44.00464],[-76.39561,44.0248],[-76.39848,44.06251],[-76.37548,44.06457],[-76.3762,44.0909],[-76.47107,44.09297],[-76.46604,44.10948],[-76.44232,44.1296],[-76.39848,44.13218],[-76.39776,44.20435],[-76.3762,44.21671],[-76.23966,44.21929],[-76.23966,44.22804],[-76.21738,44.22856],[-76.21523,44.3479],[-76.11893,44.37103],[-76.04634,44.39157],[-75.93423,44.43418],[-75.83721,44.50341],[-75.76822,44.55823],[-75.69923,44.60379],[-75.63168,44.64829],[-75.56772,44.70501],[-75.50448,44.74586],[-75.45274,44.78157],[-75.31763,44.8723],[-75.15378,44.93745],[-75.09054,44.97305],[-74.97411,45.02793],[-74.91985,45.03682],[-74.91231,45.03606]]],terms_url:"https://gis.ny.gov/gateway/orthoprogram/index.cfm",terms_text:"New York State Statewide Digital Orthoimagery Program",description:"New York State High Resolution Digital Orthoimagery, 1 foot resolution",icon:"data:image/png:base64,iVBORw0KGgoAAAANSUhEUgAAAG0AAABCCAYAAABdAli1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTA1Nzc1NjVGNjM2MTFFMzk5NkFGRERGMEYyODU3RTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTA1Nzc1NjZGNjM2MTFFMzk5NkFGRERGMEYyODU3RTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMDU3NzU2M0Y2MzYxMUUzOTk2QUZEREYwRjI4NTdFNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMDU3NzU2NEY2MzYxMUUzOTk2QUZEREYwRjI4NTdFNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhMlZyIAAA02SURBVHja7F1djNxWFb7XyRMvYyQUUbHJeBuoeJtpkUAg0Dj9gYS22dmgIkVUXW+aFvoD8Sr8CRDrVAVFRTSzgBRImuysCEUqauNt0lDSVplFQgiBqPcNNSTrSaMk5CXeF56oL+fYx7t3bzy/2Z3Mz17Ja8/19b32+XzOPX/Xy1mflI//wjMF547QeIExzpjGmODwR+PReY57zqM9j85zFuJvHrfldIx1msbnzn81a3brs/JeB+sTh/6ZB7BK8CQFBAVAW4TfXhpwuOfpwPlwnQ4/dTjOQ10GgLsbgPO68Zk39jJgd/38H0UWijKAkxGMLwJEzoVn86Vb4tiXLwYAMwtD5nfrc/csaHe98HcLAJuORFvIZmBvn7fvCW6131Aggwp2Yfdw0K3PrvUiYJ88+LcyD8NpoC1SeeK9/Z+yzk/cszpEFsJD4IDj8uuctgpl6/N/1TWNuaEQBQ3nIiHG//XdT5dXdZBQFPBV/vfXtnrroK0OG7igWRQEE4shY+Z73//MqhNWE2IWONjvZir0jPaYfe4vFjDANGh1oPSBZvfDz3psQEvvcJoQqIpHc9iFH39uVQD77+832rArwobzofOh3f/zpHOoheK85tM5H+oqdbqzYLPVa6gvi8bxoM6hOh3bpLXvC9CGJv/swDy2DzhtEYBbzTkMCVmg4zwQMg+ESxSafbTH82UibKFOX0h8NMhz1M4nULDgC5CBbQTGKBM4pjQGjmv1Bafd8aOKrjFeBm1uBNVwmMfs9yc/v1aqeJY4xWmy/TxxaFKQSysEWvJCOPgiEGBJMeklKEp1lb5Q+Tf94JwtQuGHTIzwEBQPwUbfd75QXuNhJ4nIzRQbuMOUNuQeVzqfIxFoKteZyp4p1/Ump2363jtgh4mxEJUO0OZCzqyrzxU6ZeyWUgidOocBKEm7SOTBVoG6RYmzzJS+8vRiZNvltK4D7SPfecsCMTgGYFV5yKxrB++tdPgWCqSgNCpj0rFPIi8BYEQSkSpoOUU0zjergHSteNTwocMQ56+sEMLq4NBz0rHT4rV+DVFXlLhuURbD7XJZV4J2/WcP+HBTs8BpCNwYiEq7Q0Mj8aboONNE+23AIZy2Sg0QMorYTStuz4NGwBXBLjtAwOkdHNpROKLlQqJuvsZcqfa9qADew4rI/rM6gGbTW1Xq1Lhoo5EhfLJFRSTiMAkAWfVP5q2AjPORWxGNXQsaF6IoGAfRImaA6zoaIgHiukDcWYW4jRQRLIYEgisZzjI4KmhuO/eodSdozADgWAcct56kJMhj2ZKIqypGdENlhDhOvt6VQKtKik9bnNaVDuOP2m+ajPNzgrO5/7z4JZOtl+4Wj3d8648GqPp5Eb1RfB2hbgZt6Jk3dOCuKMAZCwCBgek1E48wb6ENlZc9GtI52ZPhJt5/UlLytAUkXl0lOqCTfWZIffhSW3kcFMOJdlxKnNVQj9cmNip6WspdJx6Hnj5two24goPywXk15KwMxwHTePlqaXuwRqCVJGWhCoQxJIItyPYYAeQqrie5zCReegL8XJ2hxxMQoK1Q7L4Kge5JY82hb7MtTht65OU8QGxhihmMVEjyBAWPcwYxfS16CzQ+D+c9qKtUZ75Srtfn8Ndfx1xFE8Th5Adx+kDkZ7zyywc7oTE69DajAZzFtx6IU5LcUVhmiYCeAtg8cVJiPI/B9X4SK0vxtMie/mlU/eu4rkrSWIsSxzXPaZt3/c4BYCxomY2AIZAAmHnYB7DpBFwAf6Kbw7zCaE7iHNpEHGTADyNKP+TxTIXgw0EmpARROJ6qHn7Y7iSHk7iblrQ8S+GSYRJx0yqnEEeUJRUeDWVd5TT0mFDbG1Ifo2RaCIWjDWWsqF1Lc9rm0RM2GLmTSGYRPZQog/3kXn5ld83I8ZZH/2CIUFgAHBBA5ITgOR7PTyyEfjAuJng8Z3HB5+A3qr2VhV/vrHRaLBPxbTKEswqXHaBotezcnUtEGxnLtgRaRjG21bLYwD1mKK6uqTTAGotHIfQoa5eJ8cuvPlpuhhCXTjyCbO8AeKUIOC5A/PEKj8HRE+AuvjTacZBqFFviDFksJQTUa3kwCFQZDEOx95CbZTGs2oeqWMxI4tdpT3sU8R/gtNLQrhPs8mvNAUfgBXQjJdbFhSZ/1QNiS2kHzRjVuVqgsZUe/YSD0uazjMJ17XlEQDEoA2ZV4LgM7K0+Nn1Kqtis0S7NeZ1rwZeIPsha8/aMAmC5LdAuvf6YD8DlkeMit9JgFlmUFUmpkBWZVFeWomAsAazMkXIpK8CN1ArGNvQ9AnAB+QGNAQVNfuNxzkNxWiSClhQlxU8Tv2Q6LHG1DHzK/CqHdZy0nJWmHMaRei9EdvPIb/ODhhh5O6YUcYihm0NsZVTabqDsyMDbNcYKFLssVUw2BG3LQzMmFywn4jlO71NsAkU1V4mJRB5nyx56phjgpuTKuqkv4sAJWcymjBVIL8l4PZFa17jOPli2waY6FLfk85dOPTZwnJZikOuJ71H2OXay1ATN2DGNadjvoh0MwB24dHrMYeulK0oqaMb2aUvgJMtZBgCbunTGsvucc4qKbeQl3gjF41+rLKUaUH8WmQdyCkJiaDdjfuTrjFlZAZrxwDGdadxNHMKwn6u+OW72MWB5sq3S3EuJLxHPFxp0teSJV6IHWIbJc4JjvdvEbY3TCzRZa6wlRcS4/5jBo5xDUYB9VQgx2s+AUXFZbX9gpo7txerYZ1YNzdFv8p4atfMjN5Zx30s2LjIXgmeAweZDwczq2T1BP6NFYk8Ot9yNigVpamZiVFOczKJrZK47oIZiyNhWXwKsS9xiXGp7UyxNubebuDgpG4fvPVqJxCHaz1zMAnBW9a3+BqzWXILLkFgcXXbb7MNK41gEs45rrFHRJRAxZudjPigAJqqA2Tb/7b1F/+3HBwUwT7GTkIMwlnUDiOQ2CLPUmh8Liv1WD8xmCxrz52grLxnXAJzvv7O3MmCejqCOFwM9/ufq+AkbeT0wWi2LzgKlMaxK0QbYEZx484fJTZWWyu00yWU6W7kSJvF6LNYAtZWC97WNtohjN5J7Km9sOypix0dkTMf5UMupBXFdnG2QpAcs1VFqQdQeTwhKK2DJnjqO65fPJX3XyTeRzsfj4QFUz1Hagg/nSheOjrTlmaC3P0jCJfTbZcvhllyTXRUVBaSQYiZYbQIXqPn+qD1OAWH2IcchUZDxOKUERMoJBkEjikVH8SenooURcRJCFCKNTou4hkdpBJRgEKcVUAO6IhLIcV/UtyBuX+6RQAY1NvoQGdaK5GyUtlCgtAUgjBjb+sTsBADXTrA1MmRxDiOwDMXInm9DNNYq7SokujK/Bhv9ypP2LbDubSvZPSfzAJwJsB6Ct+QQAIfJR8ULR0b8FrgsiVbvUwxi2Y5rRgHJqca0dB5BGpPAbRW0RBFZntN6dT6qHh/1Fo6NloAFRzG6DnyXg33TigMR9gBLX9q0mGaHsfScfkuxqfw682KuhTXdrfkee60MP37SADG7AE8ze/Fosdjq9URIXQK00qAtU7KKE6+/X0dRySd2Vq06RQrU0jb7xyQD4MSde922VeFNE3/SN+0/6/TCs2r9AhroLIuo0ABwbRmyG5hwoJNJAM5cB61DBbRfFz/5B8A5AFzLEXbAO78BddNQrHNapwqQ2gbg5uEAv4pwA4Dz7nyiefB4KCJzB4Dz10HrlDY5vSsAmuNijikWi0rUJp0WQI/Y7eqh7V0PWl+u2jP2vGaAKb5AXhdcKGKD8V2pd83Hvnmm8gEa65x9+NrUjmCd0zpc/OO7fBB2sf0mcBGIOAfGd3nrk7N6nTkt2IBemx7IpO5L0Ag4d+H4qAHAHQDQUFyO4cJ7AG6F92fLU6f1zU+fdjQhRnBO03ogTXAgFjUP7zlpwJOWQEyOxA5pNh9ybi38Zqe35alTMO/xSRE7pKeg3rnyqy/XFI+bvn22CDIXNzOMndcV6NPTYIsd3pp39fm1/fjaQK1EH97rFuGBEbwsPjkQfVxEixox+MlnLh1+yBp65g0jjBc85kUcedCjxZLxMdZlkugGS/5jBkUntDhaMXHlJ2ZpHbTVBU7naB5wPglPX8UvtQIIkwAcfrU14PghteXVqYyAozBUdDwLxxXYXPiJn86YlkNNANzo1Z9uc9dBW4OCdhwQOUccx4jj8LiKWWnw2wcUPKgLJODwGjNezsxHQonjMAMb+nKuH7zPXet73ziooAkMeVCMjz61O6MxXgIRuSKgOvTsGSNkIg+o5AGbcihENonsgRY3FzLgOCbc6y/c3zH7biBBAzvOZHHQFxdMlgGE8sKRnRHRjW+cKgInmWCz5YF/ELCsBhUhwgTIahqvAnAOXONee/GLt8WeG0jQ0M8oIntHBNF/gBLCAjsOlQ8TAMF/NoTuLIafydBCUQ015gNwFQDOu1La4d7u+x/IOc2wXg3oQzNs6TMZnD7rFJsDLmwVOPaqhx/uOu/IoHIaaIkCE3GqMCd5wHEecBeAJLyLR4pdH2T8vwADANA824ekci98AAAAAElFTkSuQmCC"},{id:"olho_dagua_do_casado",name:"Olho d'Agua do Casado AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Olho%20Dagua%20do%20Casado&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.7822,-9.54444],[-37.7826,-9.45388],[-37.81147,-9.45412],[-37.81735,-9.45451],[-37.82057,-9.45416],[-37.87394,-9.45428],[-37.87358,-9.54475],[-37.7822,-9.54444]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"osmbe",name:"OpenStreetMap (Belgian Style)",type:"tms",template:"https://tile.openstreetmap.be/osmbe/{zoom}/{x}/{y}.png",polygon:[[[5.47007,49.49196],[5.44409,49.51409],[5.46213,49.53677],[5.43766,49.54766],[5.42566,49.59145],[5.40775,49.60448],[5.35207,49.62396],[5.34232,49.61192],[5.30544,49.60645],[5.3026,49.63608],[5.32535,49.6575],[5.27025,49.68827],[5.24458,49.67985],[5.16215,49.6918],[5.16164,49.71172],[5.12622,49.70442],[5.09058,49.75946],[5.06262,49.75724],[5.01261,49.77534],[4.9921,49.79533],[4.95485,49.79586],[4.94404,49.78583],[4.90589,49.78055],[4.84827,49.78972],[4.86599,49.81918],[4.84266,49.86913],[4.85659,49.86973],[4.87961,49.91078],[4.84433,49.94482],[4.78844,49.95381],[4.78535,49.97018],[4.79004,49.98569],[4.81194,49.99563],[4.81579,50.02853],[4.83599,50.04069],[4.82339,50.04664],[4.81641,50.06702],[4.83456,50.06856],[4.83709,50.09442],[4.84472,50.10023],[4.85447,50.1029],[4.866,50.09623],[4.86587,50.12038],[4.8776,50.13223],[4.89443,50.13779],[4.88043,50.1403],[4.87725,50.15205],[4.8529,50.15168],[4.83169,50.1526],[4.82334,50.15923],[4.78067,50.14092],[4.76486,50.13634],[4.75217,50.11158],[4.71293,50.09598],[4.70278,50.09336],[4.68851,50.06595],[4.70309,50.05587],[4.68731,50.01802],[4.69495,49.99662],[4.69461,49.99504],[4.63074,49.98584],[4.58965,49.98336],[4.55981,49.96757],[4.54315,49.9679],[4.52365,49.94973],[4.51156,49.94579],[4.47953,49.94584],[4.44588,49.93656],[4.40593,49.94785],[4.39149,49.94697],[4.38072,49.95088],[4.34921,49.95202],[4.3137,49.96541],[4.19616,49.9536],[4.19304,49.95746],[4.19582,49.96629],[4.13704,49.97691],[4.15996,49.99544],[4.13683,50.00786],[4.13272,50.01973],[4.16174,50.05032],[4.17458,50.04772],[4.22857,50.06873],[4.19529,50.10571],[4.19766,50.12037],[4.19566,50.13394],[4.15448,50.12716],[4.13656,50.12909],[4.12568,50.13511],[4.13677,50.15213],[4.14989,50.1647],[4.14686,50.17314],[4.15567,50.19785],[4.14799,50.21344],[4.15979,50.21579],[4.19179,50.24106],[4.21836,50.25492],[4.20676,50.27068],[4.17487,50.27492],[4.16567,50.28779],[4.155,50.27742],[4.16937,50.26848],[4.16851,50.25626],[4.13426,50.25572],[4.13228,50.26754],[4.12086,50.27276],[4.12139,50.29732],[4.10928,50.30112],[4.0977,50.31201],[4.08017,50.30809],[4.07339,50.31754],[4.03817,50.33987],[4.02738,50.35491],[3.98611,50.34137],[3.96482,50.34012],[3.96355,50.34742],[3.90223,50.3257],[3.88419,50.32554],[3.88429,50.33511],[3.85645,50.34099],[3.84244,50.35243],[3.81321,50.34251],[3.80551,50.35098],[3.74124,50.34624],[3.73556,50.32532],[3.73175,50.30705],[3.70911,50.3021],[3.68231,50.31988],[3.66397,50.34724],[3.65542,50.37075],[3.66788,50.38597],[3.67276,50.40227],[3.66777,50.42262],[3.66743,50.43635],[3.65685,50.4464],[3.66129,50.45399],[3.64419,50.4618],[3.6099,50.4935],[3.58162,50.48917],[3.56897,50.4982],[3.49868,50.48577],[3.49448,50.49918],[3.51582,50.52075],[3.4742,50.53204],[3.44739,50.50415],[3.43663,50.5083],[3.42736,50.50327],[3.37405,50.48993],[3.35949,50.50325],[3.32767,50.50732],[3.31872,50.51788],[3.30319,50.51966],[3.28718,50.52552],[3.27549,50.53872],[3.27524,50.59381],[3.25497,50.62115],[3.24349,50.64031],[3.23893,50.65864],[3.24019,50.67023],[3.26029,50.67692],[3.25131,50.69091],[3.25881,50.69312],[3.24518,50.71225],[3.23779,50.71086],[3.22148,50.70958],[3.20498,50.71072],[3.18953,50.72603],[3.19445,50.7316],[3.14457,50.78871],[3.12547,50.78553],[3.11348,50.79278],[3.10455,50.78042],[3.08585,50.77064],[3.05758,50.77987],[3.04064,50.77484],[3.03691,50.77003],[3.02927,50.76813],[3.01945,50.77263],[2.99536,50.76043],[2.96822,50.74763],[2.9557,50.75181],[2.93962,50.74441],[2.94602,50.73167],[2.9349,50.72822],[2.92939,50.70786],[2.92206,50.70224],[2.91184,50.70267],[2.91281,50.69463],[2.90742,50.69209],[2.90017,50.69202],[2.88533,50.70547],[2.87992,50.70199],[2.86855,50.70242],[2.84646,50.72043],[2.81843,50.71386],[2.78869,50.72508],[2.77811,50.74686],[2.76469,50.75397],[2.75409,50.76251],[2.75922,50.77052],[2.73745,50.77967],[2.7236,50.79079],[2.71636,50.8123],[2.6788,50.81207],[2.67057,50.81562],[2.63543,50.80987],[2.61055,50.84419],[2.59427,50.84743],[2.60628,50.86565],[2.60151,50.90993],[2.58525,50.91825],[2.62479,50.94743],[2.62148,50.95406],[2.60263,50.98638],[2.56946,51.00113],[2.55892,51.06596],[2.34072,51.31453],[3.01078,51.59839],[3.32658,51.43728],[3.37581,51.3584],[3.38739,51.33392],[3.36094,51.31523],[3.3789,51.30251],[3.36832,51.29778],[3.38177,51.28732],[3.38342,51.27485],[3.38922,51.27329],[3.41852,51.25984],[3.43471,51.24621],[3.45031,51.24219],[3.527,51.24651],[3.51433,51.28799],[3.54179,51.29123],[3.56145,51.29637],[3.57559,51.29428],[3.58905,51.30652],[3.63839,51.29078],[3.6582,51.29056],[3.69139,51.28043],[3.71763,51.27428],[3.77605,51.26777],[3.79652,51.25635],[3.79031,51.24163],[3.78934,51.22711],[3.79294,51.21546],[3.85827,51.21334],[3.88901,51.22423],[3.89467,51.21743],[3.88782,51.20283],[3.91256,51.20837],[3.91482,51.21509],[3.9281,51.22508],[3.93751,51.2174],[3.95603,51.22117],[4.01551,51.24825],[4.0551,51.24402],[4.1651,51.2938],[4.23804,51.35274],[4.21772,51.36206],[4.21546,51.37487],[4.33535,51.37775],[4.34197,51.36012],[4.38556,51.35574],[4.39906,51.35785],[4.42462,51.3668],[4.42309,51.37577],[4.38147,51.41805],[4.39426,51.44251],[4.37771,51.44595],[4.38055,51.45075],[4.4768,51.47912],[4.53739,51.48358],[4.54967,51.47364],[4.53097,51.44965],[4.53758,51.42456],[4.57427,51.43404],[4.6431,51.42478],[4.64951,51.42741],[4.66744,51.42777],[4.66465,51.44625],[4.69115,51.45283],[4.70175,51.46691],[4.72792,51.48435],[4.74476,51.48977],[4.74945,51.49905],[4.75827,51.50302],[4.7766,51.50625],[4.81666,51.49552],[4.82318,51.48441],[4.84355,51.48177],[4.83884,51.46588],[4.84529,51.45817],[4.82521,51.44674],[4.83103,51.42488],[4.88072,51.4166],[4.91431,51.45952],[4.95767,51.4548],[4.94134,51.42928],[4.93775,51.40655],[4.96007,51.42194],[4.99955,51.44324],[5.00816,51.47134],[5.01937,51.48074],[5.03235,51.48827],[5.04093,51.4876],[5.04722,51.47217],[5.08032,51.47226],[5.10643,51.43135],[5.0727,51.39365],[5.11662,51.36118],[5.13225,51.3472],[5.13581,51.31594],[5.15592,51.31278],[5.20039,51.32325],[5.24326,51.3057],[5.22742,51.26844],[5.238,51.26255],[5.26216,51.26778],[5.335,51.26474],[5.34493,51.27681],[5.41551,51.2639],[5.44065,51.28246],[5.48215,51.30064],[5.51628,51.29599],[5.55816,51.26613],[5.56283,51.22287],[5.65253,51.19899],[5.65947,51.19052],[5.71011,51.18671],[5.74598,51.19455],[5.76873,51.18843],[5.78118,51.18082],[5.78447,51.15925],[5.82594,51.16827],[5.85709,51.14477],[5.83976,51.12993],[5.81435,51.11524],[5.83555,51.10842],[5.8338,51.09577],[5.82291,51.09124],[5.8119,51.0943],[5.79816,51.09023],[5.80612,51.07955],[5.80458,51.05888],[5.77731,51.05804],[5.76027,51.03223],[5.77383,51.02859],[5.77829,51.02399],[5.76759,51.00526],[5.76846,50.9985],[5.76419,50.99502],[5.74816,50.98087],[5.72174,50.96128],[5.73469,50.95683],[5.7426,50.96113],[5.74604,50.96209],[5.75617,50.95898],[5.76011,50.95227],[5.73223,50.9221],[5.72625,50.9059],[5.70051,50.90955],[5.69711,50.8958],[5.68051,50.88068],[5.64516,50.86533],[5.64337,50.84974],[5.64049,50.84701],[5.64576,50.83961],[5.64567,50.83789],[5.65094,50.83431],[5.65568,50.82591],[5.70296,50.80821],[5.69338,50.79687],[5.70259,50.78396],[5.69204,50.75629],[5.7218,50.76538],[5.73762,50.75842],[5.73912,50.76522],[5.76476,50.7837],[5.77748,50.78344],[5.78519,50.7684],[5.7927,50.77138],[5.80759,50.75681],[5.84525,50.76609],[5.84901,50.75975],[5.88667,50.77108],[5.89689,50.75501],[5.95896,50.76308],[6.02001,50.75521],[6.04208,50.74557],[6.03953,50.7295],[6.11623,50.72364],[6.1491,50.68465],[6.16312,50.67169],[6.17755,50.65576],[6.18715,50.6505],[6.18348,50.6457],[6.18205,50.63583],[6.26822,50.62829],[6.27251,50.62033],[6.24102,50.58657],[6.22795,50.58535],[6.18304,50.55597],[6.1833,50.54646],[6.19789,50.53715],[6.22586,50.49832],[6.26954,50.50961],[6.35349,50.49244],[6.34706,50.46422],[6.37423,50.45989],[6.3825,50.43975],[6.37408,50.40637],[6.35129,50.38206],[6.40305,50.34866],[6.41162,50.32769],[6.40783,50.31893],[6.38558,50.31658],[6.36388,50.30021],[6.32792,50.3186],[6.31289,50.31636],[6.29335,50.2909],[6.29547,50.27422],[6.28111,50.26236],[6.23624,50.25692],[6.21151,50.24816],[6.1981,50.23275],[6.18166,50.23125],[6.1789,50.22147],[6.19337,50.20761],[6.19683,50.17988],[6.15231,50.16841],[6.15923,50.14002],[6.13978,50.12527],[6.10856,50.1326],[6.11273,50.16093],[6.10156,50.16551],[6.08452,50.16697],[6.0821,50.15275],[6.06344,50.14834],[6.03055,50.15829],[6.02136,50.17685],[5.96932,50.16795],[5.96515,50.12813],[5.90347,50.11172],[5.89064,50.07554],[5.86237,50.06368],[5.8749,50.04624],[5.86392,50.02594],[5.82586,50.00934],[5.82665,50.00135],[5.8448,49.99123],[5.83952,49.9756],[5.80883,49.95773],[5.78215,49.957],[5.76822,49.91307],[5.74481,49.89975],[5.78087,49.88794],[5.78897,49.87213],[5.77636,49.86265],[5.75667,49.8703],[5.76191,49.85693],[5.75803,49.84287],[5.74291,49.83555],[5.75151,49.81985],[5.75473,49.79514],[5.7909,49.79765],[5.8179,49.75977],[5.83544,49.74713],[5.82702,49.72616],[5.86996,49.72777],[5.88817,49.70952],[5.86372,49.68213],[5.91262,49.66488],[5.90382,49.65192],[5.90876,49.63876],[5.89899,49.63401],[5.89117,49.63469],[5.87663,49.60771],[5.84953,49.59399],[5.87403,49.58991],[5.8736,49.57435],[5.84053,49.55222],[5.82582,49.54931],[5.81858,49.5461],[5.79504,49.55029],[5.77149,49.55832],[5.76226,49.554],[5.76126,49.53952],[5.74792,49.53452],[5.73009,49.53954],[5.6987,49.53744],[5.66008,49.55039],[5.64371,49.54565],[5.6228,49.5283],[5.62589,49.51698],[5.61175,49.50102],[5.59116,49.51734],[5.55638,49.52373],[5.54257,49.5105],[5.47007,49.49196]]],terms_url:"https://openstreetmap.org/",terms_text:"© OpenStreetMap contributors, CC-BY-SA; Tiles courtesy of GEO-6",icon:"data:image/png;base64,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"},{id:"osmfr",name:"OpenStreetMap (French Style)",type:"tms",template:"https://{switch:a,b,c}.tile.openstreetmap.fr/osmfr/{zoom}/{x}/{y}.png",scaleExtent:[0,20],terms_url:"https://www.openstreetmap.org/",terms_text:"Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL",icon:"data:image/png;base64,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"},{id:"HDM_HOT",name:"OpenStreetMap (HOT Style)",type:"tms",template:"https://{switch:a,b,c}.tile.openstreetmap.fr/hot/{zoom}/{x}/{y}.png",scaleExtent:[0,20],terms_url:"https://www.hotosm.org/",terms_text:"© OpenStreetMap contributors, tiles courtesy of Humanitarian OpenStreetMap Team",icon:"https://wiki.openstreetmap.org/w/images/thumb/c/c9/Hot_logo.svg/300px-Hot_logo.svg.png"},{id:"MAPNIK",name:"OpenStreetMap (Standard)",type:"tms",template:"https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png",scaleExtent:[0,19],terms_url:"https://www.openstreetmap.org",terms_text:"© OpenStreetMap contributors, CC-BY-SA","default":true,description:"The default OpenStreetMap layer.",icon:"data:image/png;base64,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"},{id:"OpenStreetMap-turistautak",name:"OpenStreetMap (turistautak)",type:"tms",template:"http://{switch:h,i,j}.tile.openstreetmap.hu/turistautak/{zoom}/{x}/{y}.png",scaleExtent:[0,18],polygon:[[[16.11391,46.8691],[16.17897,46.90662],[16.20004,46.94151],[16.22175,46.93554],[16.24628,46.94639],[16.25532,46.96421],[16.27647,46.96261],[16.29058,47.01398],[16.30162,46.99923],[16.34146,46.99652],[16.35052,47.01063],[16.3734,46.99859],[16.41277,47.00475],[16.43327,46.99274],[16.44781,47.00389],[16.48,46.99412],[16.5122,47.00117],[16.46356,47.03227],[16.44786,47.02275],[16.43912,47.02966],[16.44567,47.03887],[16.52032,47.0561],[16.47321,47.07362],[16.46372,47.09392],[16.5008,47.11006],[16.50004,47.12329],[16.52953,47.12874],[16.51716,47.14969],[16.45495,47.14259],[16.46487,47.16833],[16.45556,47.18756],[16.43056,47.1847],[16.4195,47.19491],[16.41892,47.21071],[16.43713,47.2097],[16.44263,47.23371],[16.43131,47.25276],[16.46715,47.25317],[16.48923,47.27989],[16.46463,47.33385],[16.4337,47.35281],[16.45851,47.36705],[16.44546,47.40702],[16.48317,47.40936],[16.49638,47.38927],[16.51709,47.41002],[16.57491,47.40542],[16.58073,47.41917],[16.66185,47.4556],[16.67064,47.47422],[16.65234,47.50034],[16.68956,47.51016],[16.71478,47.5402],[16.66354,47.56773],[16.6732,47.60495],[16.65953,47.6061],[16.65276,47.62285],[16.63142,47.62832],[16.57391,47.61967],[16.51474,47.6462],[16.49675,47.63931],[16.42546,47.66217],[16.44374,47.67421],[16.44805,47.69647],[16.4747,47.68116],[16.48722,47.69798],[16.55217,47.72255],[16.53638,47.73678],[16.54798,47.75154],[16.60952,47.76037],[16.63441,47.75908],[16.65729,47.74149],[16.72094,47.73536],[16.75341,47.68282],[16.83016,47.68106],[16.83943,47.70451],[16.86689,47.72115],[16.87668,47.68765],[17.09374,47.70777],[17.07066,47.72854],[17.0516,47.79385],[17.07495,47.8085],[17.04714,47.82856],[17.05195,47.83777],[17.01055,47.85818],[17.01639,47.86733],[17.08575,47.87462],[17.11317,47.92716],[17.09171,47.93429],[17.11838,47.96011],[17.09466,47.97088],[17.20103,48.01999],[17.24177,48.02247],[17.25795,47.99865],[17.33465,47.99312],[17.40299,47.94785],[17.45392,47.88526],[17.52674,47.86551],[17.56758,47.81513],[17.6084,47.82189],[17.70858,47.75668],[17.77987,47.73949],[17.8661,47.74575],[17.90013,47.73926],[17.94687,47.74467],[17.97087,47.75784],[18.00441,47.74634],[18.03806,47.75768],[18.29588,47.73146],[18.45407,47.76512],[18.49316,47.75276],[18.55908,47.766],[18.64609,47.75909],[18.72607,47.78904],[18.74118,47.81382],[18.792,47.82309],[18.84854,47.81672],[18.85588,47.82608],[18.82801,47.83429],[18.81357,47.85555],[18.76353,47.8716],[18.75686,47.89684],[18.77675,47.95509],[18.75525,47.97635],[18.81574,47.99344],[18.82,48.03968],[18.83327,48.04824],[18.87494,48.04707],[18.88667,48.05868],[18.90898,48.05114],[18.9439,48.05886],[18.98161,48.0536],[19.01486,48.07818],[19.05852,48.05735],[19.08436,48.07278],[19.1074,48.0656],[19.13529,48.07415],[19.24137,48.05365],[19.25578,48.07156],[19.30311,48.08871],[19.3866,48.09191],[19.40002,48.0823],[19.45405,48.10144],[19.46735,48.08393],[19.49442,48.10991],[19.49238,48.13966],[19.51282,48.15466],[19.50452,48.17344],[19.52897,48.19036],[19.52604,48.20313],[19.5775,48.21601],[19.63083,48.25007],[19.64452,48.23917],[19.66986,48.23921],[19.69122,48.20389],[19.72113,48.20147],[19.74618,48.21651],[19.78716,48.19253],[19.79873,48.19482],[19.80528,48.18373],[19.78242,48.16504],[19.79481,48.15353],[19.82133,48.16908],[19.84528,48.16274],[19.85517,48.17843],[19.86013,48.16941],[19.89875,48.16631],[19.91454,48.14686],[19.8983,48.1249],[19.93738,48.13112],[19.97439,48.166],[19.98871,48.16217],[20.02904,48.17768],[20.04945,48.1672],[20.07299,48.17961],[20.07004,48.1917],[20.13409,48.22518],[20.13319,48.25398],[20.20616,48.25098],[20.20383,48.26191],[20.22847,48.26278],[20.23495,48.27993],[20.28686,48.26164],[20.32571,48.27279],[20.33746,48.30167],[20.36566,48.31661],[20.38408,48.35118],[20.40983,48.36586],[20.40253,48.38256],[20.42053,48.40386],[20.41623,48.41854],[20.50793,48.48936],[20.50651,48.53442],[20.53747,48.52788],[20.54649,48.54429],[20.58659,48.53576],[20.65387,48.56141],[20.83636,48.58284],[20.8378,48.57421],[20.85044,48.58163],[20.84533,48.5665],[20.86815,48.55182],[20.92232,48.55945],[20.93463,48.53834],[20.95588,48.53396],[20.9562,48.52167],[20.98158,48.51777],[21.01511,48.53231],[21.06632,48.52589],[21.11745,48.49105],[21.16087,48.5215],[21.17963,48.51823],[21.22106,48.5375],[21.30549,48.52225],[21.31338,48.55084],[21.32688,48.55413],[21.31938,48.5612],[21.41545,48.55895],[21.42266,48.57882],[21.44061,48.5851],[21.51409,48.55107],[21.54202,48.5084],[21.61393,48.50942],[21.62019,48.46983],[21.66355,48.41796],[21.66456,48.39216],[21.70174,48.3807],[21.71187,48.35762],[21.81741,48.33279],[21.8352,48.33464],[21.83721,48.36325],[21.8843,48.35605],[21.88484,48.36754],[21.89788,48.36256],[21.8998,48.37022],[21.92819,48.3616],[21.92681,48.3709],[21.9492,48.37873],[21.99446,48.37732],[22.02133,48.39275],[22.0546,48.37753],[22.07649,48.38724],[22.08674,48.37156],[22.13591,48.38052],[22.13106,48.39123],[22.15277,48.39624],[22.15619,48.40931],[22.21257,48.42565],[22.23714,48.41004],[22.26549,48.40987],[22.23988,48.38701],[22.26757,48.36116],[22.31781,48.35454],[22.31329,48.32507],[22.33729,48.30791],[22.33843,48.27921],[22.38475,48.23396],[22.40064,48.2492],[22.43284,48.25252],[22.45639,48.24231],[22.4899,48.25342],[22.49722,48.23955],[22.51615,48.23797],[22.53111,48.20943],[22.57114,48.19614],[22.56164,48.18161],[22.59824,48.14476],[22.59028,48.10734],[22.67545,48.092],[22.73472,48.11985],[22.75762,48.12006],[22.77039,48.10902],[22.77232,48.12187],[22.80277,48.12211],[22.80253,48.10708],[22.82543,48.11751],[22.83644,48.08025],[22.86113,48.07503],[22.8678,48.05243],[22.88204,48.05481],[22.86597,48.01132],[22.83556,47.9906],[22.84076,47.98136],[22.87257,47.97527],[22.86973,47.96596],[22.89157,47.96724],[22.89744,47.95406],[22.84733,47.90776],[22.79281,47.89086],[22.75869,47.89414],[22.77775,47.84225],[22.71363,47.83609],[22.68019,47.78775],[22.61112,47.77175],[22.549,47.77222],[22.48121,47.81089],[22.45131,47.80339],[22.43133,47.73981],[22.35662,47.74862],[22.31777,47.76609],[22.31762,47.74337],[22.28514,47.72928],[22.26432,47.73107],[22.259,47.69791],[22.23068,47.6932],[22.17965,47.59161],[22.12892,47.5979],[22.09428,47.55836],[22.07826,47.56213],[22.05345,47.54748],[22.07122,47.53807],[22.06179,47.5288],[22.04513,47.53989],[22.03672,47.53267],[22.00719,47.48362],[22.03279,47.45084],[22.02388,47.39086],[22.01198,47.3758],[21.96274,47.38105],[21.93825,47.37253],[21.87779,47.28578],[21.88728,47.27305],[21.85349,47.23976],[21.85807,47.18736],[21.81248,47.16675],[21.79241,47.10598],[21.72683,47.09839],[21.6976,47.05792],[21.65042,47.04083],[21.68887,47.002],[21.66787,46.97123],[21.68149,46.96521],[21.6382,46.93305],[21.59845,46.92747],[21.61429,46.88673],[21.60167,46.86682],[21.52033,46.83737],[21.51861,46.80007],[21.48318,46.76502],[21.52634,46.73932],[21.52937,46.72097],[21.49233,46.68597],[21.47284,46.69591],[21.4299,46.69394],[21.43096,46.67814],[21.45467,46.66086],[21.41624,46.64262],[21.4098,46.62181],[21.3657,46.63795],[21.33005,46.63182],[21.31397,46.61767],[21.30124,46.59087],[21.32079,46.58286],[21.2743,46.54074],[21.26003,46.50216],[21.27442,46.47673],[21.29645,46.4763],[21.31743,46.45073],[21.28952,46.41548],[21.29633,46.40696],[21.22501,46.41369],[21.20642,46.40338],[21.19926,46.3479],[21.17623,46.33577],[21.1805,46.30445],[21.11554,46.30185],[21.10305,46.26246],[21.07088,46.2539],[21.06608,46.24294],[21.03662,46.24804],[21.02467,46.26653],[20.96082,46.2623],[20.94658,46.2793],[20.92507,46.27662],[20.92181,46.26181],[20.87327,46.28776],[20.77565,46.27596],[20.74905,46.25085],[20.76186,46.20456],[20.7274,46.20775],[20.73411,46.19394],[20.71405,46.16605],[20.68436,46.14478],[20.65492,46.14977],[20.63945,46.12676],[20.54505,46.17909],[20.50148,46.19033],[20.49494,46.17099],[20.45923,46.14288],[20.39751,46.15747],[20.36853,46.15286],[20.35571,46.16963],[20.29681,46.15215],[20.2549,46.11585],[20.24848,46.1301],[20.23301,46.12417],[20.18174,46.16011],[20.1365,46.14495],[20.10097,46.17728],[20.06362,46.14373],[20.03461,46.14589],[20.01581,46.17684],[19.93541,46.17642],[19.85335,46.15],[19.81797,46.12817],[19.75854,46.14798],[19.69821,46.18793],[19.68277,46.18004],[19.66151,46.19044],[19.63174,46.1693],[19.56765,46.17911],[19.5604,46.16658],[19.50266,46.14245],[19.52712,46.12103],[19.4645,46.09538],[19.46658,46.08204],[19.416,46.04605],[19.3804,46.03587],[19.36409,46.0523],[19.2819,46.0148],[19.29653,45.98812],[19.28565,45.9969],[19.14799,45.99634],[19.13384,46.0371],[19.10487,46.04017],[19.06604,46.0002],[19.07968,45.96364],[19.00598,45.95907],[19.00927,45.92366],[18.90613,45.93538],[18.87946,45.91668],[18.86471,45.92085],[18.86856,45.91134],[18.82768,45.90517],[18.822,45.91459],[18.80751,45.90361],[18.80925,45.87962],[18.79562,45.87845],[18.70489,45.91819],[18.67002,45.91084],[18.65966,45.91689],[18.66513,45.89928],[18.64128,45.88904],[18.65502,45.87424],[18.62777,45.87338],[18.61484,45.85314],[18.62367,45.83985],[18.57324,45.81376],[18.57498,45.80043],[18.55972,45.8038],[18.52235,45.78269],[18.49067,45.79472],[18.48219,45.7655],[18.45628,45.76952],[18.44508,45.76052],[18.44685,45.73713],[18.40763,45.73971],[18.39189,45.7617],[18.36423,45.77294],[18.33942,45.74716],[18.29682,45.76122],[18.24405,45.76123],[18.23073,45.77903],[18.19087,45.78788],[18.16819,45.77627],[18.12465,45.78963],[18.10681,45.77083],[18.08189,45.76452],[17.99588,45.79573],[17.93021,45.78633],[17.90668,45.79257],[17.86531,45.76701],[17.82627,45.81],[17.80898,45.8041],[17.78091,45.81749],[17.76034,45.81192],[17.74086,45.8296],[17.66329,45.83818],[17.62762,45.89794],[17.57007,45.93582],[17.43783,45.95038],[17.4259,45.92727],[17.41081,45.93997],[17.39215,45.93021],[17.38287,45.94757],[17.34762,45.94234],[17.34388,45.96053],[17.35377,45.9525],[17.39054,45.95819],[17.38742,45.96618],[17.35835,45.96427],[17.37549,45.96869],[17.37519,45.98811],[17.36357,45.99154],[17.35672,45.97358],[17.33396,45.99608],[17.33198,45.97289],[17.313,45.96653],[17.32365,45.98878],[17.29877,45.98387],[17.3042,46.00211],[17.25797,46.01103],[17.29632,46.02852],[17.25415,46.03001],[17.27096,46.05671],[17.23248,46.0592],[17.25251,46.06647],[17.23131,46.07903],[17.20199,46.07655],[17.23313,46.09896],[17.2104,46.10017],[17.21297,46.11386],[17.17593,46.10846],[17.17434,46.12876],[17.18652,46.13323],[17.1811,46.15055],[17.15623,46.15858],[17.15929,46.16968],[17.1261,46.16845],[17.12274,46.17898],[17.07525,46.18895],[17.06616,46.2023],[16.97354,46.2252],[16.97395,46.24311],[16.95041,46.24153],[16.88624,46.28146],[16.87137,46.32528],[16.88021,46.3357],[16.86154,46.34524],[16.86562,46.35565],[16.8522,46.35172],[16.84986,46.36262],[16.83529,46.36382],[16.83765,46.3748],[16.82617,46.3671],[16.79334,46.38739],[16.75921,46.37766],[16.72987,46.40149],[16.71821,46.38987],[16.67729,46.44945],[16.66318,46.4487],[16.66637,46.4583],[16.61879,46.46199],[16.60447,46.47608],[16.5236,46.50538],[16.53258,46.5314],[16.51767,46.53635],[16.50841,46.56527],[16.483,46.56604],[16.4834,46.5786],[16.44557,46.61095],[16.42486,46.61316],[16.38594,46.64425],[16.39154,46.66373],[16.41985,46.65848],[16.42863,46.69397],[16.36892,46.70401],[16.37983,46.71539],[16.37109,46.72229],[16.35706,46.71424],[16.3186,46.75414],[16.33054,46.77521],[16.31216,46.778],[16.31277,46.79731],[16.34064,46.80519],[16.35084,46.83006],[16.34033,46.84688],[16.3015,46.85951],[16.29139,46.87283],[16.23323,46.87667],[16.15609,46.85371],[16.12657,46.85691],[16.11391,46.8691]]],terms_url:"https://www.openstreetmap.org",terms_text:"© OpenStreetMap contributors"},{id:"osm-gps",name:"OpenStreetMap GPS traces",type:"tms",template:"https://{switch:a,b,c}.gps-tile.openstreetmap.org/lines/{zoom}/{x}/{y}.png",scaleExtent:[0,20],terms_url:"https://www.openstreetmap.org/copyright",terms_text:"© OpenStreetMap contributors",terms_html:"GPS Direction: ©
    OpenStreetMap contributors.",description:"Public GPS traces uploaded to OpenStreetMap.",icon:"data:image/png;base64,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",overlay:true},{id:"lu.geoportail.opendata.ortho2010",name:"Ortho 2010 geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2010/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2010-07-02T00:00:00.000Z",startDate:"2010-06-24T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,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",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"lu.geoportail.opendata.ortho2013",name:"Ortho 2013 geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2013/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2013-07-20T00:00:00.000Z",startDate:"2013-07-19T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,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",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"lu.geoportail.opendata.ortho2016",name:"Ortho 2016 geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2016/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2016-08-16T00:00:00.000Z",startDate:"2013-08-30T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,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",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"lu.geoportail.opendata.ortho2017",name:"Ortho 2017 geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2017/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg",endDate:"2017-06-22T00:00:00.000Z",startDate:"2017-06-14T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,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",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"OS-historic-25k-OSM_Limited",name:"OS 1:25k historic (OSM)",type:"tms",template:"https://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg",scaleExtent:[6,17],polygon:[[[-6.45854,49.90441],[-6.3872,49.98411],[-6.22968,49.98962],[-6.21713,49.86801],[-6.45512,49.85918],[-6.45854,49.90441]],[[-1.44951,60.86341],[-0.71671,60.85451],[-0.73497,60.43598],[-0.69388,60.41682],[-0.72584,60.39427],[-0.73954,60.04847],[-0.92674,60.04619],[-0.93815,59.82662],[-1.45865,59.8312],[-1.44552,60.0536],[-1.46321,60.0536],[-1.46435,60.063],[-1.57165,60.06385],[-1.56936,60.179],[-1.64356,60.1807],[-1.64356,60.18922],[-1.82162,60.1895],[-1.82048,60.36155],[-1.8416,60.36973],[-1.82162,60.38328],[-1.81799,60.59343],[-1.45317,60.59343],[-1.44951,60.86341]],[[-4.90892,54.42421],[-4.2826,54.44299],[-4.25354,54.02977],[-4.87664,54.02218],[-4.90892,54.42421]],[[-5.86674,59.14446],[-5.776,59.14709],[-5.772,59.10141],[-5.86218,59.09906],[-5.86674,59.14446]],[[-1.70659,59.57036],[-1.55792,59.56935],[-1.55649,59.49657],[-1.70545,59.49758],[-1.70659,59.57036]],[[-7.68658,58.2941],[-7.53306,58.3007],[-7.52564,58.26469],[-7.67973,58.25779],[-7.68658,58.2941]],[[-4.53383,59.03599],[-4.48132,59.03716],[-4.47961,59.01866],[-4.53326,59.01807],[-4.53383,59.03599]],[[-8.67107,57.87699],[-8.46732,57.88973],[-8.44678,57.7907],[-8.65109,57.77792],[-8.67107,57.87699]],[[-5.23955,50.35306],[-5.79201,50.33849],[-5.76005,49.9317],[-4.65514,49.95815],[-4.67797,50.28601],[-4.24422,50.28017],[-4.24878,50.20425],[-3.38129,50.20425],[-3.42238,50.51882],[-3.11648,50.52463],[-3.12105,50.65796],[-2.67364,50.66195],[-2.59535,50.63943],[-2.5905,50.57284],[-2.47912,50.57335],[-2.47589,50.50667],[-2.39679,50.50564],[-2.40164,50.57233],[-1.04003,50.57182],[-1.03357,50.70593],[-0.5493,50.70388],[-0.54607,50.78866],[-0.09247,50.7856],[-0.08763,50.71819],[0.47897,50.71206],[0.48704,50.81825],[0.97615,50.80499],[0.99229,51.01263],[1.44912,51.00044],[1.47818,51.40904],[1.02296,51.42716],[1.03588,51.76409],[1.61054,51.7501],[1.64606,52.156],[1.72677,52.15402],[1.74937,52.44818],[1.78707,52.48116],[1.7591,52.52251],[1.79335,52.96027],[0.37981,52.99585],[0.38952,53.25112],[0.34786,53.25112],[0.32389,53.28219],[0.34615,53.65385],[0.12849,53.65755],[0.11658,53.66747],[0.13506,54.06557],[-0.06098,54.06591],[-0.04142,54.47094],[-0.56627,54.47718],[-0.55921,54.65651],[-1.16656,54.66235],[-1.16374,54.84261],[-1.33162,54.84391],[-1.32571,55.24708],[-1.52945,55.24871],[-1.52418,55.65401],[-1.76388,55.65401],[-1.77337,55.97191],[-2.16079,55.9683],[-2.15433,56.06214],[-2.45781,56.05853],[-2.41906,56.64172],[-2.09622,56.64172],[-2.0833,57.00213],[-1.92834,57.01268],[-1.9181,57.35909],[-1.75022,57.36257],[-1.76959,57.76086],[-3.69376,57.75742],[-3.70667,57.98064],[-3.5969,57.97721],[-3.60336,58.12073],[-3.02223,58.13096],[-3.02869,58.54108],[-2.8479,58.53097],[-2.86081,58.84305],[-2.67962,58.8415],[-2.68419,58.88517],[-2.63397,58.90522],[-2.67962,58.93351],[-2.68876,59.02292],[-2.36687,59.02292],[-2.37029,59.26529],[-2.3429,59.2822],[-2.37144,59.29969],[-2.37372,59.37071],[-2.3429,59.38582],[-2.37258,59.40035],[-2.37144,59.42591],[-3.07342,59.42301],[-3.07114,59.34336],[-3.1031,59.33114],[-3.07456,59.31367],[-3.07228,59.2326],[-3.38503,59.14842],[-3.37476,58.93528],[-3.56538,58.93233],[-3.55483,58.69759],[-5.28086,58.66677],[-5.25342,58.35141],[-5.50685,58.34379],[-5.47618,58.03236],[-5.8975,58.02124],[-5.8523,57.61718],[-6.13963,57.61372],[-6.15416,57.74232],[-6.29137,57.73801],[-6.33657,58.13988],[-6.11219,58.14669],[-6.14738,58.51063],[-6.29348,58.54162],[-6.84137,58.29773],[-7.00574,58.29293],[-7.10162,58.20644],[-7.25731,58.17931],[-7.25311,58.10049],[-7.40707,58.09056],[-7.39135,57.79114],[-7.79099,57.77332],[-7.76242,57.54442],[-7.6985,57.14532],[-7.79438,57.13045],[-7.71676,56.73686],[-7.01221,56.76544],[-6.97992,56.54539],[-7.06386,56.54539],[-7.04449,56.35626],[-6.50068,56.38129],[-6.44914,55.97936],[-6.56329,55.96915],[-6.53937,55.70301],[-6.55955,55.69073],[-6.53453,55.67617],[-6.52162,55.57044],[-5.89126,55.59234],[-5.85601,55.23207],[-5.22936,55.2516],[-5.18371,54.62541],[-3.6656,54.65184],[-3.64962,54.432],[-3.54004,54.43067],[-3.53091,54.02902],[-3.06977,54.03036],[-3.06757,53.82214],[-3.08049,53.77399],[-3.06192,53.74775],[-3.06112,53.6737],[-3.21447,53.67084],[-3.20577,53.42262],[-3.27996,53.35522],[-3.28967,53.36084],[-3.33275,53.36493],[-3.37613,53.35403],[-4.0889,53.34331],[-4.09455,53.4612],[-4.69741,53.44486],[-4.68828,53.33186],[-4.72024,53.28958],[-4.68371,53.24862],[-4.67687,53.15426],[-4.84808,53.14468],[-4.81783,52.74403],[-4.25458,52.75589],[-4.22888,52.25488],[-4.26076,52.25364],[-4.27246,52.24326],[-4.81363,52.23009],[-4.80792,52.11389],[-5.38891,52.09917],[-5.37179,51.91297],[-5.42087,51.91015],[-5.41402,51.84532],[-5.36836,51.84744],[-5.34668,51.55953],[-4.77368,51.57585],[-4.76569,51.48851],[-4.19154,51.49704],[-4.18698,51.43447],[-3.61512,51.44443],[-3.61055,51.37465],[-3.14941,51.37893],[-3.14941,51.29193],[-4.30387,51.27459],[-4.28612,51.05087],[-4.85433,51.03666],[-4.83722,50.72128],[-5.26183,50.70827],[-5.23955,50.35306]],[[-2.15027,60.17132],[-2.00302,60.16961],[-2.00131,60.0997],[-2.14855,60.10112],[-2.15027,60.17132]],[[-6.2086,59.11635],[-6.12299,59.11664],[-6.12185,59.0715],[-6.20974,59.0715],[-6.2086,59.11635]],[[-4.41596,59.0889],[-4.4212,59.07708],[-4.39719,59.07791],[-4.39134,59.08973],[-4.41596,59.0889]]]},{id:"OS-New_Popular_Edition-historic",name:"OS New Popular Edition historic",type:"tms",template:"https://ooc.openstreetmap.org/npe/{zoom}/{x}/{y}.png",scaleExtent:[6,22],polygon:[[[-3.68466,55.23744],[-3.65106,54.42892],[-3.54463,54.43072],[-3.52815,54.02593],[-3.07016,54.03137],[-3.06123,53.6717],[-3.21298,53.67048],[-3.20371,53.35568],[-4.10424,53.34297],[-4.11042,53.46005],[-4.71124,53.44799],[-4.69339,53.15171],[-4.84307,53.1476],[-4.81595,52.74378],[-4.25342,52.75541],[-4.22733,52.24378],[-4.81303,52.23117],[-4.80754,52.11452],[-5.38913,52.09892],[-5.3493,51.56085],[-4.77252,51.57622],[-4.76772,51.48652],[-4.19299,51.49806],[-4.18956,51.43518],[-3.61278,51.44502],[-3.61072,51.37307],[-3.15067,51.37864],[-3.14723,51.28984],[-4.29462,51.2718],[-4.28363,51.04744],[-4.85423,51.03406],[-4.83707,50.76556],[-5.2621,50.75427],[-5.23395,50.34984],[-5.79562,50.33319],[-5.76228,49.92913],[-4.64717,49.96094],[-4.66914,50.2753],[-4.25166,50.2832],[-4.24617,50.19361],[-3.40159,50.20679],[-3.41395,50.52041],[-3.13105,50.52391],[-3.1338,50.66078],[-2.66963,50.66252],[-2.66688,50.5719],[-1.04228,50.56929],[-1.04502,50.70429],[-0.54652,50.69994],[-0.54103,50.79031],[-0.08784,50.78424],[-0.08887,50.72211],[0.47693,50.70907],[0.48242,50.81939],[0.98024,50.8068],[0.99328,51.01333],[1.44784,51.00036],[1.47805,51.40478],[1.018,51.41634],[1.04272,51.76742],[1.6195,51.75084],[1.65246,52.15456],[1.72662,52.15245],[1.79529,52.9594],[0.60396,52.99123],[0.60327,52.97222],[0.38148,52.97883],[0.39625,53.24796],[0.31934,53.24961],[0.34269,53.65319],[0.11609,53.65726],[0.13738,54.06181],[-0.06243,54.06584],[-0.04183,54.46924],[-0.56781,54.47722],[-0.56163,54.65715],[-1.18098,54.66271],[-1.17755,54.84183],[-1.33342,54.84381],[-1.32655,55.24743],[-1.53117,55.24821],[-1.52636,55.6528],[-1.76394,55.6528],[-1.76257,55.96765],[-2.40321,55.96727],[-2.39772,55.56243],[-2.16151,55.56282],[-2.15808,55.2486],[-2.92158,55.24571],[-3.68466,55.23744]]]},{id:"OS-OpenData_Locator",name:"OS OpenData Locator",type:"tms",template:"http://tiles.itoworld.com/os_locator/{zoom}/{x}/{y}.png",polygon:[[[-0.88639,61.11666],[-9.24009,57.92465],[-6.61235,55.46835],[-6.1039,55.40191],[-5.61358,55.06607],[-5.40088,54.90562],[-5.29371,54.77201],[-5.11832,54.5911],[-4.92368,54.38599],[-4.94067,53.59884],[-5.44172,52.27725],[-6.03376,51.6012],[-7.54473,49.33762],[-2.59721,50.2588],[0.65674,50.64047],[1.32419,50.83256],[1.87586,51.19234],[2.05883,52.88863],[-1.61452,56.47933],[-1.21085,57.64972],[-1.69525,59.08903],[0.21543,60.43058],[-0.88639,61.11666]]],overlay:true},{id:"OS-OpenData_StreetView",name:"OS OpenData StreetView",type:"tms",template:"https://{switch:a,b,c}.os.openstreetmap.org/sv/{zoom}/{x}/{y}.png",scaleExtent:[1,18],polygon:[[[-5.82929,50.02297],[-5.82929,50.25482],[-5.37336,50.25482],[-5.37336,50.35306],[-5.1756,50.35306],[-5.1756,50.59254],[-4.99707,50.59254],[-4.99707,50.69356],[-4.79657,50.69356],[-4.79657,50.78221],[-4.69495,50.78221],[-4.69495,50.96074],[-4.60431,50.96074],[-4.60431,51.06921],[-4.37922,51.06921],[-4.37922,51.25218],[-3.90393,51.25218],[-3.90393,51.2917],[-3.71717,51.2917],[-3.71717,51.2453],[-3.14862,51.2453],[-3.14862,51.36207],[-3.74463,51.36207],[-3.74463,51.43404],[-3.82978,51.43404],[-3.82978,51.52982],[-4.08521,51.52982],[-4.08521,51.49393],[-4.37922,51.49393],[-4.37922,51.54272],[-5.14442,51.54272],[-5.14442,51.6296],[-5.73871,51.6296],[-5.73871,51.77404],[-5.50954,51.77404],[-5.50954,51.98026],[-5.1988,51.98026],[-5.1988,52.09734],[-4.88806,52.09734],[-4.88806,52.18316],[-4.49575,52.18316],[-4.49575,52.29257],[-4.30154,52.29257],[-4.30154,52.36853],[-4.18112,52.36853],[-4.18112,52.79337],[-4.44137,52.79337],[-4.44137,52.73696],[-4.85698,52.73696],[-4.85698,52.93173],[-4.7288,52.93173],[-4.7288,53.50386],[-4.15782,53.50386],[-4.15782,53.41135],[-3.31105,53.41135],[-3.31105,53.50386],[-3.23337,53.50386],[-3.23337,54.01592],[-3.39262,54.01592],[-3.39262,54.1981],[-3.55964,54.1981],[-3.55964,54.43373],[-3.7189,54.43373],[-3.7189,54.7219],[-4.30154,54.7219],[-4.30154,54.61407],[-5.04731,54.61407],[-5.04731,54.75329],[-5.22987,54.75329],[-5.22987,55.21908],[-5.65326,55.21908],[-5.65326,55.25009],[-5.89796,55.25009],[-5.89796,55.48225],[-6.59332,55.48225],[-6.59332,56.30134],[-7.17277,56.30134],[-7.17277,56.56018],[-6.81717,56.56018],[-6.81717,56.69917],[-6.53153,56.69917],[-6.53153,56.9067],[-6.81168,56.9067],[-6.81168,57.37166],[-6.8721,57.37166],[-6.8721,57.55189],[-7.09732,57.55189],[-7.09732,57.24111],[-7.17423,57.24111],[-7.17423,56.9067],[-7.37198,56.9067],[-7.37198,56.80759],[-7.5203,56.80759],[-7.5203,56.71425],[-7.83068,56.71425],[-7.83068,56.89946],[-7.64941,56.89946],[-7.64941,57.47396],[-7.83068,57.47396],[-7.83068,57.79156],[-7.47362,57.79156],[-7.47362,58.08606],[-7.18798,58.08606],[-7.18798,58.3672],[-6.80346,58.3672],[-6.80346,58.41558],[-6.63866,58.41558],[-6.63866,58.46733],[-6.51781,58.46733],[-6.51781,58.56256],[-6.05362,58.56256],[-6.05362,58.15688],[-6.14701,58.15688],[-6.14701,58.11059],[-6.27998,58.11059],[-6.27998,57.71227],[-6.15913,57.71227],[-6.15913,57.66676],[-5.93391,57.66676],[-5.93391,57.88925],[-5.80643,57.88925],[-5.80643,57.96218],[-5.61417,57.96218],[-5.61417,58.09112],[-5.49082,58.09112],[-5.49082,58.37333],[-5.31991,58.37333],[-5.31991,58.75015],[-3.572,58.75015],[-3.572,59.20918],[-3.19445,59.20918],[-3.19445,59.47592],[-2.24358,59.47592],[-2.24358,59.13887],[-2.4611,59.13887],[-2.4611,58.81859],[-2.74077,58.81859],[-2.74077,58.58047],[-2.91167,58.58047],[-2.91167,58.11575],[-3.48654,58.11575],[-3.48654,57.74039],[-1.71532,57.74039],[-1.71532,57.22256],[-1.97945,57.22256],[-1.97945,56.87607],[-2.1659,56.87607],[-2.1659,56.63332],[-2.36011,56.63332],[-2.36011,56.04775],[-1.97945,56.04775],[-1.97945,55.86509],[-1.4745,55.86509],[-1.4745,55.24999],[-1.3222,55.24999],[-1.3222,54.82217],[-1.055,54.82217],[-1.055,54.67466],[-0.66188,54.67466],[-0.66188,54.55275],[-0.32476,54.55275],[-0.32476,54.28652],[0.00928,54.28652],[0.00928,53.79385],[0.2082,53.79385],[0.2082,53.52177],[0.41635,53.52177],[0.41635,53.02989],[1.42734,53.02989],[1.42734,52.92021],[1.83339,52.92021],[1.83339,52.04249],[1.52355,52.04249],[1.52355,51.82613],[1.2697,51.82613],[1.2697,51.69675],[1.11665,51.69675],[1.11665,51.44035],[1.52355,51.44035],[1.52355,51.33318],[1.45076,51.33318],[1.45076,51.02076],[1.06999,51.02076],[1.06999,50.90084],[0.77881,50.90084],[0.77881,50.72984],[-0.7256,50.72984],[-0.7256,50.70384],[-1.00744,50.70384],[-1.00744,50.57363],[-2.36253,50.57363],[-2.36253,50.48464],[-2.49878,50.48464],[-2.49878,50.57363],[-3.40964,50.57363],[-3.40964,50.20578],[-3.69224,50.20578],[-3.69224,50.13477],[-5.00547,50.13477],[-5.00547,49.94745],[-5.28395,49.94745],[-5.28395,50.02297],[-5.82929,50.02297]],[[-6.45807,49.86736],[-6.45807,49.94999],[-6.39788,49.94999],[-6.39788,50.00538],[-6.17996,50.00538],[-6.17996,49.91686],[-6.25402,49.91686],[-6.25402,49.86736],[-6.45807,49.86736]],[[-5.83432,49.93216],[-5.83432,49.97546],[-5.76833,49.97546],[-5.76833,49.93216],[-5.83432,49.93216]],[[-1.94838,60.68857],[-1.94838,60.30588],[-1.75431,60.30588],[-1.75431,60.12844],[-1.57549,60.12844],[-1.57549,59.79792],[-1.0317,59.79792],[-1.0317,60.03545],[-0.66269,60.03545],[-0.66269,60.91039],[-1.10344,60.91039],[-1.10344,60.804],[-1.35063,60.804],[-1.35063,60.68857],[-1.94838,60.68857]],[[-2.20338,60.19686],[-2.20338,60.09294],[-1.9864,60.09294],[-1.9864,60.19686],[-2.20338,60.19686]],[[-1.75431,59.56983],[-1.75431,59.46394],[-1.53733,59.46394],[-1.53733,59.56983],[-1.75431,59.56983]],[[-4.5586,59.13705],[-4.5586,58.95691],[-4.2867,58.95691],[-4.2867,59.13705],[-4.5586,59.13705]],[[-6.27877,59.20257],[-6.27877,59.02278],[-5.66506,59.02278],[-5.66506,59.20257],[-6.27877,59.20257]],[[-8.71635,57.94406],[-8.71635,57.73059],[-8.35929,57.73059],[-8.35929,57.94406],[-8.71635,57.94406]],[[-7.6077,50.4021],[-7.6077,50.26887],[-7.39072,50.26887],[-7.39072,50.4021],[-7.6077,50.4021]],[[-7.73043,58.35799],[-7.73043,58.24831],[-7.51345,58.24831],[-7.51345,58.35799],[-7.73043,58.35799]]]},{id:"OS-Scottish_Popular-historic",name:"OS Scottish Popular historic",type:"tms",template:"https://ooc.openstreetmap.org/npescotland/{zoom}/{x}/{y}.jpg",scaleExtent:[6,15],polygon:[[[-6.37546,57.1045],[-6.12998,57.11183],[-6.12586,56.94143],[-6.26045,56.93892],[-6.26045,56.83765],[-6.24259,56.65806],[-6.3552,56.65655],[-6.37649,56.79029],[-7.02812,56.76396],[-6.99636,56.54246],[-7.04391,56.53937],[-7.03206,56.44201],[-6.98331,56.44353],[-6.97593,56.36063],[-6.45271,56.37964],[-6.44035,56.2013],[-6.19315,56.21199],[-6.18354,56.12483],[-6.36379,56.11641],[-6.36173,55.98258],[-6.48944,55.97912],[-6.47777,55.84134],[-6.55467,55.8371],[-6.53545,55.66049],[-6.45442,55.66087],[-6.44412,55.57285],[-6.19985,55.57266],[-5.96845,55.58857],[-5.98562,55.7686],[-5.90665,55.77169],[-5.88949,55.59284],[-5.80983,55.594],[-5.79335,55.41395],[-5.827,55.41395],[-5.80915,55.24247],[-5.61826,55.24873],[-5.62101,55.26713],[-5.46239,55.27026],[-5.48642,55.514],[-5.43836,55.51516],[-5.42943,55.42681],[-5.24129,55.43071],[-5.19464,54.80351],[-5.07105,54.80668],[-5.05221,54.62471],[-4.3223,54.65173],[-4.33123,54.7319],[-4.06786,54.73697],[-4.06786,54.76471],[-3.55699,54.77342],[-3.55837,54.83754],[-2.42098,54.84671],[-2.42647,55.25265],[-2.03097,55.25265],[-2.01449,55.56606],[-1.76455,55.56606],[-1.76455,55.9724],[-2.35026,55.96548],[-2.5796,56.06527],[-2.58234,56.37071],[-2.65032,56.36919],[-2.65581,56.50585],[-2.48965,56.50509],[-2.42785,56.55356],[-2.42373,56.73026],[-2.1628,56.73177],[-2.17104,56.99301],[-2.00075,56.99301],[-1.98479,57.3159],[-1.83476,57.31553],[-1.83441,57.36074],[-1.75167,57.36111],[-1.74893,57.63046],[-1.83613,57.63009],[-1.83544,57.70171],[-2.00436,57.70207],[-2.00367,57.71968],[-3.22281,57.71418],[-3.22629,57.76157],[-3.51331,57.77622],[-3.50914,57.71051],[-3.84766,57.70611],[-3.85182,57.76853],[-3.79925,57.76989],[-3.80474,57.88578],[-3.85556,57.88651],[-3.85937,57.97558],[-3.79513,57.97656],[-3.79483,58.03052],[-3.69733,58.03161],[-3.69458,58.06722],[-3.52391,58.07437],[-3.52978,58.16007],[-3.35774,58.16286],[-3.3483,58.28742],[-3.07638,58.29121],[-3.03004,58.43744],[-3.01768,58.65814],[-2.85837,58.66028],[-2.86524,58.7943],[-2.75812,58.79715],[-2.76636,58.87461],[-2.6208,58.88668],[-2.62766,58.97527],[-2.54114,58.97668],[-2.54217,59.0841],[-2.52363,59.08375],[-2.52913,59.1574],[-2.43849,59.15705],[-2.4378,59.246],[-2.36914,59.24705],[-2.3688,59.40748],[-2.52947,59.40748],[-2.52741,59.33436],[-2.70319,59.33576],[-2.70525,59.40608],[-3.12891,59.40433],[-3.12411,59.15951],[-3.40288,59.1574],[-3.39464,58.9689],[-3.4276,58.96961],[-3.42572,58.88526],[-3.45215,58.87071],[-3.51017,58.86911],[-3.50708,58.78826],[-3.38555,58.79004],[-3.3828,58.6999],[-3.4494,58.69847],[-3.45078,58.65385],[-3.50159,58.65421],[-3.5009,58.62705],[-3.72612,58.62383],[-3.72475,58.60595],[-4.6476,58.5895],[-4.65996,58.67171],[-5.10697,58.66135],[-5.09804,58.58091],[-5.23743,58.57769],[-5.22455,58.26305],[-5.4127,58.25818],[-5.39965,58.12245],[-5.53286,58.11991],[-5.52393,57.99494],[-5.55346,57.99422],[-5.54728,57.93995],[-5.85696,57.93157],[-5.83181,57.73361],[-5.86374,57.73224],[-5.85773,57.66096],[-6.19624,57.64975],[-6.20242,57.72353],[-6.41666,57.7162],[-6.42421,57.75945],[-6.4764,57.75725],[-6.46884,57.71326],[-6.53339,57.71216],[-6.52721,57.6391],[-6.692,57.63395],[-6.68102,57.54341],[-6.78195,57.53826],[-6.75311,57.31608],[-6.50592,57.32498],[-6.49768,57.28084],[-6.4812,57.27824],[-6.47159,57.19203],[-6.38644,57.19352],[-6.37546,57.1045]],[[-7.65043,56.77461],[-7.40667,56.79304],[-7.41972,56.88281],[-7.38676,56.90268],[-7.25836,56.91056],[-7.24806,57.07141],[-7.11485,57.077],[-7.16772,57.43466],[-7.0352,57.44094],[-7.05236,57.69026],[-6.86834,57.6976],[-6.87315,57.71631],[-6.70286,57.72217],[-6.71591,57.81117],[-6.53188,57.81958],[-6.53875,57.88133],[-6.22015,57.89265],[-6.24143,58.09935],[-6.12676,58.10152],[-6.17758,58.53105],[-6.46734,58.52029],[-6.4591,58.45102],[-6.63145,58.44455],[-6.6239,58.39169],[-6.79212,58.38485],[-6.78869,58.34956],[-6.90885,58.34415],[-6.89718,58.25503],[-7.20136,58.24166],[-7.14094,57.83201],[-7.37509,57.82104],[-7.36822,57.69503],[-7.6573,57.68292],[-7.67652,57.80715],[-7.79257,57.80202],[-7.77327,57.67734],[-7.70756,57.68024],[-7.69376,57.59088],[-7.75947,57.58797],[-7.74587,57.49965],[-7.51241,57.5085],[-7.47911,57.29468],[-7.52855,57.2932],[-7.51276,57.05871],[-7.61163,57.05386],[-7.59859,56.87493],[-7.66725,56.87268],[-7.65043,56.77461]],[[-1.46238,59.82831],[-1.21519,59.83107],[-1.21519,59.96194],[-1.10533,59.96056],[-1.0986,60.09498],[-0.97632,60.09346],[-0.96352,60.3476],[-0.74028,60.34484],[-0.7147,60.84722],[-1.08215,60.85901],[-1.08455,60.76944],[-1.21296,60.77011],[-1.21579,60.68079],[-1.23364,60.68113],[-1.23467,60.5909],[-1.27132,60.59191],[-1.27338,60.64581],[-1.45466,60.64648],[-1.45397,60.59224],[-1.6373,60.59292],[-1.63954,60.3507],[-1.73172,60.35095],[-1.73172,60.18067],[-1.64177,60.17931],[-1.64177,60.1448],[-1.46393,60.14344],[-1.46238,59.82831]],[[-6.21496,56.97437],[-6.22525,57.06445],[-6.29117,57.06184],[-6.29237,57.08062],[-6.62162,57.06943],[-6.61338,57.00629],[-6.46163,57.01302],[-6.4582,56.96776],[-6.21496,56.97437]],[[-2.12774,60.10855],[-2.12803,60.16207],[-2.00203,60.16224],[-2.00174,60.10872],[-2.12774,60.10855]],[[-6.68977,56.95804],[-6.69228,56.9759],[-6.65984,56.97726],[-6.65733,56.9594],[-6.68977,56.95804]],[[-7.66365,58.25846],[-7.66844,58.28502],[-7.54896,58.29098],[-7.54417,58.26442],[-7.66365,58.25846]],[[-8.65104,57.78885],[-8.66674,57.875],[-8.48272,57.88449],[-8.46702,57.79836],[-8.65104,57.78885]]]},{id:"al_palestina",name:"Palestina AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Palestina&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.28907,-9.71916],[-37.28904,-9.71114],[-37.28911,-9.7022],[-37.28915,-9.69175],[-37.28919,-9.68886],[-37.28927,-9.68069],[-37.28926,-9.67732],[-37.28936,-9.66999],[-37.28936,-9.66599],[-37.28931,-9.66133],[-37.28941,-9.65526],[-37.28946,-9.64556],[-37.2895,-9.63489],[-37.28954,-9.62926],[-37.2964,-9.62885],[-37.31188,-9.62897],[-37.32762,-9.62914],[-37.33181,-9.62919],[-37.34338,-9.62917],[-37.35876,-9.62923],[-37.37175,-9.6293],[-37.37839,-9.62913],[-37.38051,-9.62922],[-37.38061,-9.63143],[-37.38054,-9.63785],[-37.38043,-9.63895],[-37.38053,-9.64147],[-37.38051,-9.64876],[-37.3805,-9.6543],[-37.38043,-9.656],[-37.38024,-9.66028],[-37.38022,-9.66551],[-37.38019,-9.67054],[-37.38016,-9.67896],[-37.38013,-9.68781],[-37.38009,-9.70116],[-37.38003,-9.71053],[-37.3801,-9.71743],[-37.38005,-9.71959],[-37.37932,-9.71954],[-37.37392,-9.71956],[-37.36582,-9.71945],[-37.35849,-9.71946],[-37.35334,-9.71938],[-37.34414,-9.71937],[-37.33423,-9.71923],[-37.32933,-9.71927],[-37.3218,-9.71924],[-37.31983,-9.71927],[-37.31094,-9.7192],[-37.29589,-9.71921],[-37.28907,-9.71916]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"palmeira_dos_indios",name:"Palmeira dos Indios AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Palmeira%20dos%20Indios&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.58664,-9.46124],[-36.58665,-9.45851],[-36.58619,-9.41968],[-36.58604,-9.41452],[-36.58596,-9.40593],[-36.58585,-9.39509],[-36.58579,-9.39163],[-36.58565,-9.38983],[-36.58549,-9.38249],[-36.58529,-9.37965],[-36.58511,-9.37744],[-36.58503,-9.37059],[-36.5889,-9.37058],[-36.59064,-9.37065],[-36.59389,-9.3706],[-36.60037,-9.37073],[-36.61046,-9.37049],[-36.62288,-9.37021],[-36.63377,-9.37002],[-36.63835,-9.36986],[-36.64743,-9.36997],[-36.65141,-9.36994],[-36.65534,-9.36972],[-36.65647,-9.36974],[-36.66111,-9.37024],[-36.66276,-9.37026],[-36.66704,-9.36973],[-36.67052,-9.36966],[-36.67325,-9.36966],[-36.67602,-9.36987],[-36.67593,-9.3726],[-36.67597,-9.37679],[-36.67639,-9.38138],[-36.67654,-9.38464],[-36.67663,-9.39265],[-36.67675,-9.39829],[-36.67689,-9.40875],[-36.67707,-9.41887],[-36.67717,-9.43179],[-36.67724,-9.43395],[-36.67718,-9.43753],[-36.67728,-9.44311],[-36.6773,-9.44933],[-36.67741,-9.45528],[-36.6774,-9.45938],[-36.67735,-9.46017],[-36.67568,-9.46021],[-36.66625,-9.4603],[-36.66224,-9.4603],[-36.65736,-9.46042],[-36.6504,-9.46047],[-36.63543,-9.46065],[-36.61979,-9.46083],[-36.61433,-9.46083],[-36.61029,-9.46097],[-36.60647,-9.46097],[-36.60186,-9.46099],[-36.59426,-9.46112],[-36.58664,-9.46124]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"Pangasinan_Bulacan_HiRes",name:"Pangasinán/Bulacan (Philippines HiRes)",type:"tms",template:"https://gravitystorm.dev.openstreetmap.org/imagery/philippines/{zoom}/{x}/{y}.png",scaleExtent:[12,19],polygon:[[[120.33659,15.98577],[120.44599,15.984],[120.44613,15.97446],[120.47646,15.97459],[120.59425,15.94683],[120.59806,16.09079],[120.59654,16.198],[120.36854,16.21853],[120.34758,16.04231],[120.33659,15.98577]],[[120.8268,15.3658],[121.2684,15.2602],[121.2699,14.7025],[120.695,14.8423],[120.8268,15.3658]]]},{id:"pao_de_acucar",name:"Pão de Açucar AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Pao%20de%20Acucar&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.39003,-9.78589],[-37.39019,-9.7762],[-37.38993,-9.76575],[-37.38991,-9.75256],[-37.39015,-9.74102],[-37.39003,-9.73201],[-37.39012,-9.72254],[-37.39015,-9.71289],[-37.39019,-9.70341],[-37.3902,-9.69548],[-37.40377,-9.6955],[-37.41728,-9.6956],[-37.43224,-9.69569],[-37.44319,-9.69573],[-37.44723,-9.69582],[-37.45682,-9.69585],[-37.47062,-9.69591],[-37.47373,-9.69591],[-37.47586,-9.69604],[-37.48128,-9.69605],[-37.48131,-9.6989],[-37.48122,-9.70087],[-37.48121,-9.70239],[-37.48135,-9.70545],[-37.48138,-9.71046],[-37.48134,-9.71617],[-37.4812,-9.71875],[-37.48125,-9.72035],[-37.48136,-9.72134],[-37.48134,-9.7241],[-37.4813,-9.72506],[-37.48103,-9.72732],[-37.48102,-9.73088],[-37.48127,-9.73462],[-37.48131,-9.73638],[-37.48131,-9.73893],[-37.48131,-9.74388],[-37.4813,-9.74989],[-37.48122,-9.75315],[-37.48102,-9.75855],[-37.48084,-9.7642],[-37.48085,-9.76526],[-37.48094,-9.76675],[-37.48093,-9.76881],[-37.48084,-9.7721],[-37.48087,-9.77486],[-37.48076,-9.77993],[-37.48081,-9.7863],[-37.46382,-9.78623],[-37.45353,-9.7862],[-37.43979,-9.78611],[-37.42998,-9.78607],[-37.4208,-9.786],[-37.40853,-9.78596],[-37.39545,-9.78593],[-37.39003,-9.78589]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"PCN-Italy-2006",name:"PCN 2006 - Italy",type:"wms",template:"http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/ortofoto_colore_06.map&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OI.ORTOIMMAGINI.2006.33,OI.ORTOIMMAGINI.2006.32&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2006-01-01T00:00:00.000Z",startDate:"2006-01-01T00:00:00.000Z",polygon:[[[7.54795,43.73118],[8.10697,43.86701],[8.73593,44.38944],[10.18338,43.85116],[9.55016,43.13605],[10.27725,42.27515],[11.69748,42.08118],[12.90059,40.84897],[14.97466,40.20869],[16.04773,38.8953],[13.1086,38.74113],[11.77717,37.93605],[14.40624,36.74299],[15.13467,36.59364],[15.42867,37.027],[15.21993,37.43376],[15.4836,37.92936],[16.01644,37.8036],[17.21669,38.87425],[17.21669,39.40468],[16.55477,39.78775],[17.05464,40.45144],[18.32906,39.70539],[18.68773,40.0587],[18.04964,40.67064],[16.00545,41.52122],[16.38448,41.85964],[15.51837,42.1537],[14.57997,42.2461],[13.56099,43.65128],[12.57889,44.0867],[12.28795,44.62204],[12.56398,44.97092],[12.34151,45.17458],[12.41696,45.40557],[13.09252,45.62826],[13.69549,45.70806],[13.78445,45.5825],[13.9191,45.6322],[13.8235,45.7176],[13.59784,45.8072],[13.64307,45.98326],[13.52963,45.96588],[13.47474,46.00546],[13.66472,46.17392],[13.47587,46.22725],[13.42218,46.20758],[13.37671,46.29668],[13.59777,46.44137],[13.68684,46.43881],[13.7148,46.5222],[12.9151,46.60953],[12.38708,46.71529],[12.27591,46.88651],[12.17486,46.90895],[12.11675,47.01241],[12.21781,47.03996],[12.19254,47.09331],[11.74789,46.98484],[11.33355,46.99862],[11.10618,46.92966],[11.00764,46.76896],[10.72974,46.78972],[10.75753,46.82258],[10.66405,46.87614],[10.47197,46.85698],[10.38659,46.67847],[10.49375,46.62049],[10.46136,46.53164],[10.25309,46.57432],[10.23674,46.63484],[10.10307,46.61003],[10.03715,46.44479],[10.165,46.41051],[10.10506,46.3372],[10.17862,46.25626],[10.07055,46.21668],[9.95249,46.38045],[9.73086,46.35071],[9.71273,46.29266],[9.57015,46.2958],[9.46117,46.37481],[9.45936,46.50873],[9.40487,46.46621],[9.36128,46.5081],[9.28136,46.49685],[9.24503,46.23616],[8.95601,45.96503],[9.09065,45.89906],[9.0298,45.82127],[8.90992,45.8333],[8.9408,45.86682],[8.88904,45.95465],[8.78551,45.99063],[8.85617,46.0748],[8.62242,46.12112],[8.45032,46.26869],[8.42464,46.46367],[8.08814,46.26692],[8.15493,46.1834],[8.11383,46.11577],[8.02906,46.10331],[7.98881,45.99867],[7.9049,45.99945],[7.85949,45.91485],[7.56343,45.97421],[7.10685,45.85653],[7.04151,45.92435],[6.95315,45.85163],[6.80785,45.83265],[6.80785,45.71864],[6.98948,45.63869],[7.00037,45.509],[7.18019,45.40071],[7.10572,45.32924],[7.13115,45.25386],[6.85144,45.13226],[6.7697,45.16044],[6.62803,45.11175],[6.66981,45.02324],[6.74791,45.01939],[6.75518,44.89915],[7.02217,44.82519],[7.07484,44.68073],[6.95133,44.66264],[6.85507,44.53072],[6.94504,44.43112],[6.88784,44.42043],[6.89171,44.36637],[7.00764,44.23736],[7.36364,44.11882],[7.68694,44.17487],[7.72508,44.07578],[7.49355,43.86551],[7.54795,43.73118]],[[8.17134,39.14848],[8.62453,38.75119],[9.09831,39.03764],[9.03102,39.13144],[9.26585,39.18575],[9.64076,39.0227],[9.89894,40.67991],[9.50068,41.39257],[8.30317,40.91071],[8.41304,41.16139],[8.21254,41.13864],[8.07521,40.59862],[8.36154,40.35],[8.27914,39.98585],[8.38283,39.6536],[8.17134,39.14848]],[[12.51489,35.53423],[12.64054,35.5306],[12.63861,35.48641],[12.51296,35.49005],[12.51489,35.53423]],[[11.91218,36.85688],[12.08179,36.85523],[12.07958,36.70974],[11.90998,36.71139],[11.91218,36.85688]],[[12.84019,35.88131],[12.89186,35.88145],[12.89198,35.85003],[12.84031,35.84989],[12.84019,35.88131]]]},{id:"PCN-Lazio_Umbria-2008",name:"PCN 2008 - IT Lazio+Umbria",type:"wms",template:"http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/raster/ortofoto_colore_08.map&FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=OI.ORTOIMMAGINI.2008.33&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2008-01-01T00:00:00.000Z",startDate:"2008-01-01T00:00:00.000Z",polygon:[[[12.33149,41.64637],[12.41178,41.64791],[12.41499,41.54635],[12.49574,41.54789],[12.4985,41.49619],[12.57948,41.49843],[12.58062,41.42932],[12.60632,41.4288],[12.60746,41.39663],[12.8293,41.39818],[12.83159,41.34688],[12.9128,41.34843],[12.9151,41.29726],[12.99585,41.2983],[12.99791,41.19636],[13.1679,41.19808],[13.16721,41.24692],[13.41337,41.24829],[13.4152,41.19705],[13.8341,41.19808],[13.83341,41.2476],[13.91737,41.24847],[13.91668,41.39749],[14.0011,41.39784],[13.99996,41.49774],[14.08415,41.49826],[14.08346,41.65014],[14.00087,41.6498],[13.99973,41.75051],[13.83433,41.74965],[13.83364,41.80047],[13.75151,41.79978],[13.7499,41.84987],[13.41841,41.8497],[13.41681,41.95027],[13.33445,41.94959],[13.3333,42.00041],[13.25141,41.99973],[13.25003,42.05051],[13.08509,42.04966],[13.08394,42.097],[13.33399,42.09819],[13.33376,42.1472],[13.41772,42.14822],[13.41635,42.25052],[13.33399,42.24984],[13.33353,42.30094],[13.25141,42.29992],[13.25003,42.54699],[13.41795,42.54817],[13.41589,42.75065],[13.33468,42.74947],[13.33307,42.90056],[13.16836,42.89938],[13.16721,42.95079],[12.96419,42.95012],[12.96258,43.0003],[12.91877,42.9998],[12.91601,43.25078],[12.83526,43.24994],[12.83228,43.50107],[12.66321,43.4994],[12.66482,43.45112],[12.58567,43.44996],[12.58246,43.5508],[12.50171,43.5498],[12.49987,43.65131],[12.16242,43.64915],[12.16494,43.60132],[12.07891,43.5995],[12.0819,43.45196],[11.99541,43.44913],[11.99862,43.34661],[12.07891,43.34795],[12.08075,43.30189],[11.9961,43.29955],[11.99862,43.20214],[11.91237,43.19929],[11.91466,43.15212],[11.83207,43.14944],[11.8323,43.09653],[11.91099,43.09837],[11.91466,42.90191],[11.82909,42.89922],[11.83139,42.85231],[11.74582,42.84945],[11.74811,42.65236],[11.6731,42.64966],[11.67493,42.6105],[11.49485,42.59936],[11.49852,42.49593],[11.57812,42.49796],[11.58156,42.45244],[11.41226,42.44872],[11.41524,42.34656],[11.49599,42.34792],[11.49921,42.29636],[11.57835,42.29822],[11.58225,42.24628],[11.66185,42.24832],[11.66621,42.09649],[11.74536,42.09819],[11.74903,41.99666],[11.91443,41.99922],[11.91535,41.98626],[11.99403,41.98745],[11.99862,41.89685],[12.07868,41.89907],[12.08144,41.84594],[12.16311,41.84799],[12.16563,41.6964],[12.3292,41.69863],[12.33149,41.64637]]]},{id:"Actueel_ortho25_WMS",name:"PDOK aerial imagery Beeldmateriaal.nl 25cm latest",type:"tms",template:"https://geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts?FORMAT=image/jpeg&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Actueel_ortho25&STYLE=&FORMAT=image/jpeg&tileMatrixSet=OGC:1.0:GoogleMapsCompatible&tileMatrix={zoom}&tileRow={y}&tileCol={x}",scaleExtent:[0,19],polygon:[[[3.14377,51.35984],[3.1575,51.24113],[3.33878,51.11544],[3.91281,51.05851],[4.65714,51.28067],[4.89334,51.26348],[5.17899,51.12579],[5.38498,51.13096],[5.54428,51.05678],[5.42069,50.85956],[5.46738,50.70326],[5.65689,50.61926],[6.14853,50.62143],[6.30234,50.85782],[6.29959,50.95438],[6.26389,51.01835],[6.37238,51.09259],[6.40122,51.20114],[6.37375,51.25102],[6.44516,51.31587],[6.42044,51.5496],[6.34354,51.67922],[6.79672,51.76429],[7.04666,51.91024],[7.07138,52.04559],[7.27188,52.17041],[7.30759,52.38551],[7.20596,52.53195],[7.28287,52.61458],[7.29935,52.77853],[7.44217,52.97827],[7.43393,53.28314],[7.04392,53.55159],[6.78299,53.63635],[6.23917,53.54016],[5.6871,53.51241],[5.17349,53.43885],[4.81644,53.23384],[4.65164,53.06583],[4.54178,52.48598],[4.32205,52.19568],[4.08104,52.01369],[4.02199,52.01623],[3.93684,51.96379],[3.95195,51.88079],[3.84483,51.84942],[3.62373,51.70752],[3.65532,51.66069],[3.63335,51.62746],[3.54683,51.62234],[3.39577,51.56091],[3.38203,51.51735],[3.49876,51.43267],[3.32985,51.38556],[3.14377,51.35984]]],terms_url:"https://www.nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/search?facet.q=license%2FCC-BY&isChild=%27false%27&resultType=details&any_OR_title_OR_keyword=luchtfoto&fast=index&_content_type=json&from=1&to=20&sortBy=relevance",terms_text:"Kadaster / Beeldmateriaal.nl, CC BY 4.0",best:true,description:"Nationwide data set 25cm resolution color aerial imagery of the most recent year.",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGYAAABpCAMAAAD/V6aFAAABQVBMVEVHcEzFxcUIjtE3quLGxsYMlNMxseXFxcXFxcXGxsY3qeC82+c4qeA4quEcod3FxcXGxsbGxsbKysrHx8cGkdLGxsYPl9fExMTGxsbGxsbGxsYGjtDGxsYLlNXFxcXKysrGxsY3qeDFxcXGxsbFxcXGxsY3qeHGxsbIyMjGxsbGxsbFxcXFxcXFxcXGxsYBi883quHExMTGxsbGxsYgpdkYntoeqtXGxsYko93FxcXFxcUio97GxsYDjdAcn9rGxsbGxsbGxsYQmdjGxsYCjdAAis0IktM1qODGxsbHx8fGxsY3quHFxcUco93GxsbGxsbFxcUmotw3q+E4quE3quE3quACjtEKl9XGxsbFxcUZoNkBi883qeHGxsYAis44quEAic0AiM08rOIcnNk6q+IspN4Mk9QFj9EXmdclodzGxsbX17u1AAAAXnRSTlMA7d4ItK8KTHw//QHerC31nSgFHsszjQ5Bw23d6qMYFFmUZtVH78rkCTn4uIZUdvqAFKxPDUAEozao2iLQ5V39lLF/y+z+wd1he76y+hGNgC1uQO7BUNR6mYRR96TdoavfmwAABLhJREFUeF7s08Fqg0AQBuApCC0IBBtCYpBVbMQmNoF4CfGykV5aKKbXAn2B//0foOLspQF0xhQokO80/2l2WH66xnNx18vz6S+c0K+ha8TukQn62RWNFxzfeY2J0K96pLH2zSSf81hjwIHGevsG7nncYkhC45gDgNKdlWOA/Uo7MemsnwBkAYcGQtmcVJINWi8cZhZCR1JZWrSiKacSUkvSeEBnx2llIWQ/Vbegk8UcQ0i9asqTgJ05biF2Jrn1BJ2J0R6DKmzJGmSq371eWOgsSKK8+M4COrmoOimckHPwAR2PBPbRRQUaKKU0zK/hRHy72UDHTmmYqT1nx2tnhadz8ulfuLn5YazseRMEwjhuJDCIOhkXw8DiagchJkQGInZoHKxWk7Y5nkO09ft/gTb3Sjg4nt/4T7jf5XnhIlcR8SRzbUxaeO/XBFQCGxasd7QToLeyMBglvZZ4AUSw9VjyCcTCvTI1Z0TNciIAlydziwZ+ihZe+jUZVUekPNlbNPS3LEwQrXHVoblozdZas7KqmmU7rXstjm7N7sCSaW7TPO//yM4vOYiaJV9EADOfJUcgVoDK/ix9/NaQ5gQEQOzQh+hPOECTgdJkLPBnfRoQqzPa4DUBJZLImAD76ow9vEZP7yrhzVr11kxM2gTr0HfXgxa1t12jVucDr5mqu8MlZkkKLZbHrYao2eg7DEOkSh8Ke55c2zTPskZRI0VOgNYEMulqukl1SlAWb6s1884/GjyKDt4GKDY5UVxZEl9MjXhjTKojTjOnIKGpfNPAQNTMBLegzn4xVPBPDrNhk8XwddzOGbeg/trT+DxyPAOni/ivXfNbbRSIwvgpLCQiYIyIRmAT1hS1RCEJICmCgjdtKKmXe+ML+P4PsCmzG6Y96zczFO/yu3WGzxnPmTl/JCV37gTFXKb4m6e9zk2JQPWBp5cirfMHY1YoJOi+5MqOkHFrY5kXoLL8WsV4c4XMk6lK7QKZiI326QPPMZWJwafx+UtnojL8aCqzAFZWDYyjeJIYbdgVUIkuB04hvllsoJL4bueO79kclOFbA5mSEHkN5hwMZI4ECP9vs2fx9F1fxfGQX47YUiyc+UVfprWBSjIw5OLTVl/mAlT6QYYfA12NDDhZSLhIZRThAOuHAfBKOviJss5rx98ubGfwTQ+gZ2PSFdriY7EShrMDiyn12hmQx71wK3i1qLCjQUWmKqc6P9UyVmhhwrUYmI0NDH0C3LnjzTTZCicPjnhYh+NLNZbofyiim4IYZi2fnU733hm5ACrT0A5fbSti6AQryWm++9HXUhCRPquXzDnABWwCupJ20VlcBsq4Y0YM5aRyTzfC07+uUlcrD3KOpR01hGexI/ZI1/Nhk+cWjbBsoYqMbYm77TjWSkcpU24cnKYJCDMNl7NKaZR3YO8oA+T0Hu6EcnbqLi3D8YmDTyg2Qz3raUYQ7/NynLZtFzYpKT7vW50TgAdSDWkye5Z9bEMq1rKxvfmkS9DcwsEqIzUROC4BNrmXjxOyjn8FpEHagn9PMEEXht2S9NiyvGwaSmYAEyD9N3Zumma6BdkbyXH2NB2nm8xvmpB9L1WOJiRzWHI+CRHLbafh0l+p1Hb2B2WwRgDiX0fTAAAAAElFTkSuQmCC"},{id:"al_piranhas",name:"Piranhas AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Piranhas&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.71918,-9.65236],[-37.71918,-9.63874],[-37.71914,-9.6321],[-37.71924,-9.62114],[-37.71929,-9.61023],[-37.71934,-9.59988],[-37.7194,-9.58891],[-37.71945,-9.57802],[-37.71944,-9.57173],[-37.71952,-9.56684],[-37.71956,-9.56225],[-37.71998,-9.56218],[-37.72258,-9.56195],[-37.72818,-9.56203],[-37.73254,-9.562],[-37.74107,-9.56206],[-37.74845,-9.56202],[-37.75926,-9.56216],[-37.76972,-9.56227],[-37.78036,-9.56244],[-37.78537,-9.56236],[-37.78907,-9.56233],[-37.79562,-9.56245],[-37.79771,-9.56237],[-37.81006,-9.56243],[-37.81061,-9.56241],[-37.81053,-9.56531],[-37.81049,-9.57629],[-37.81046,-9.58742],[-37.81038,-9.59757],[-37.81031,-9.61798],[-37.81018,-9.65197],[-37.81018,-9.6523],[-37.81024,-9.65259],[-37.80664,-9.65245],[-37.80206,-9.65253],[-37.79597,-9.65237],[-37.79179,-9.65252],[-37.78815,-9.65246],[-37.78723,-9.65242],[-37.78035,-9.65241],[-37.77865,-9.65223],[-37.77625,-9.6523],[-37.77475,-9.65219],[-37.77234,-9.65223],[-37.7696,-9.65245],[-37.76623,-9.65251],[-37.76345,-9.65246],[-37.7604,-9.6525],[-37.75102,-9.65237],[-37.75012,-9.65249],[-37.74155,-9.65248],[-37.7403,-9.65239],[-37.73785,-9.65246],[-37.73443,-9.65238],[-37.73106,-9.65243],[-37.72651,-9.65237],[-37.72195,-9.65225],[-37.71992,-9.65228],[-37.71918,-9.65236]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"PNOA-Spain-TMS",name:"PNOA Spain",type:"tms",template:"https://www.ign.es/wmts/pnoa-ma?request=GetTile&service=WMTS&VERSION=1.0.0&Layer=OI.OrthoimageCoverage&Style=default&Format=image/png&TileMatrixSet=GoogleMapsCompatible&TileMatrix={zoom}&TileRow={y}&TileCol={x}",polygon:[[[-17.88463,28.44606],[-17.89395,28.52255],[-18.02125,28.74819],[-18.02241,28.80384],[-17.9424,28.87261],[-17.89118,28.87371],[-17.89033,28.85151],[-17.76759,28.85378],[-17.76698,28.83122],[-17.74127,28.832],[-17.73949,28.76422],[-17.71398,28.76497],[-17.71293,28.73037],[-17.75744,28.69318],[-17.75708,28.67413],[-17.74579,28.67435],[-17.74573,28.61656],[-17.75197,28.58337],[-17.76225,28.5592],[-17.78331,28.54167],[-17.78316,28.49366],[-17.80861,28.4925],[-17.80601,28.4469],[-17.88463,28.44606]],[[-18.1661,27.78516],[-18.16349,27.69492],[-18.08898,27.69634],[-18.08734,27.67387],[-18.03641,27.67537],[-18.03501,27.63026],[-17.959,27.6324],[-17.86033,27.7926],[-17.86303,27.83688],[-17.8884,27.83649],[-17.88913,27.85905],[-17.99065,27.85675],[-18.03868,27.76558],[-18.11464,27.76379],[-18.11546,27.78636],[-18.1661,27.78516]],[[-17.36038,28.06398],[-17.36297,28.17572],[-17.33756,28.17637],[-17.33846,28.2213],[-17.18579,28.22388],[-17.08208,28.13518],[-17.08084,28.068],[-17.13154,28.06681],[-17.15633,28.02146],[-17.23211,28.02037],[-17.23199,27.99804],[-17.25768,27.99784],[-17.25785,28.01997],[-17.30867,28.01923],[-17.36038,28.06398]],[[-16.92782,28.32758],[-16.92866,28.37219],[-16.87767,28.37293],[-16.87807,28.39542],[-16.52143,28.42261],[-16.44571,28.49113],[-16.44625,28.53597],[-16.42059,28.53627],[-16.42092,28.55884],[-16.34433,28.55976],[-16.3446,28.58221],[-16.19125,28.58372],[-16.19162,28.60684],[-16.12793,28.60782],[-16.1278,28.59218],[-16.09951,28.5925],[-16.09934,28.51638],[-16.16481,28.51612],[-16.16475,28.49386],[-16.23858,28.44847],[-16.26535,28.44761],[-16.26586,28.403],[-16.31675,28.40176],[-16.31631,28.38019],[-16.34208,28.37951],[-16.34083,28.2893],[-16.41584,28.19761],[-16.4151,28.13113],[-16.51533,28.01648],[-16.61684,28.01532],[-16.61681,27.99305],[-16.71842,27.99192],[-16.7191,28.03714],[-16.7447,28.03679],[-16.74534,28.08181],[-16.7707,28.08161],[-16.8224,28.1259],[-16.82317,28.17087],[-16.8487,28.17075],[-16.85028,28.26079],[-16.87565,28.26055],[-16.87608,28.28322],[-16.90151,28.28277],[-16.90239,28.32793],[-16.92782,28.32758]],[[-15.85374,27.90089],[-15.8542,27.99018],[-15.82895,27.99066],[-15.82911,28.03558],[-15.7783,28.03632],[-15.75328,28.08143],[-15.72788,28.08157],[-15.72826,28.17186],[-15.49897,28.1728],[-15.49874,28.15041],[-15.44978,28.15075],[-15.45016,28.19614],[-15.39728,28.19614],[-15.39644,28.03836],[-15.37103,28.03802],[-15.37065,28.01532],[-15.34578,28.01532],[-15.34548,27.92544],[-15.3708,27.92524],[-15.37057,27.83521],[-15.39598,27.83474],[-15.421,27.78797],[-15.47181,27.78939],[-15.47188,27.76665],[-15.52277,27.76678],[-15.54771,27.72161],[-15.62361,27.72134],[-15.62415,27.74199],[-15.70075,27.74335],[-15.80167,27.81105],[-15.85374,27.90089]],[[-14.52156,28.04678],[-14.52244,28.11841],[-14.41575,28.11561],[-14.21688,28.22788],[-14.21537,28.33903],[-14.16417,28.45283],[-14.11151,28.4748],[-14.03358,28.72267],[-13.95652,28.74494],[-13.95617,28.76659],[-13.82902,28.76643],[-13.82896,28.78798],[-13.80007,28.78793],[-13.8013,28.71899],[-13.82757,28.71935],[-13.82786,28.6518],[-13.80258,28.6519],[-13.80339,28.53842],[-13.82885,28.53847],[-13.83151,28.39702],[-13.91582,28.22414],[-13.98564,28.22357],[-14.03696,28.17958],[-14.13871,28.17999],[-14.13866,28.15791],[-14.21537,28.15781],[-14.21472,28.11189],[-14.29132,28.04524],[-14.33197,28.03687],[-14.44578,28.04698],[-14.44666,28.0658],[-14.49628,28.06826],[-14.49593,28.04585],[-14.52156,28.04678]],[[-13.80066,28.84566],[-13.80093,28.82311],[-13.77569,28.82305],[-13.69729,28.88982],[-13.69729,28.91277],[-13.60725,28.9118],[-13.43886,29.00024],[-13.43746,29.13513],[-13.4117,29.13499],[-13.41056,29.22298],[-13.45928,29.25559],[-13.45974,29.2942],[-13.50913,29.29456],[-13.51006,29.31635],[-13.56354,29.31729],[-13.56406,29.27138],[-13.53892,29.2712],[-13.53897,29.25004],[-13.56613,29.25013],[-13.5666,29.203],[-13.51565,29.20223],[-13.51565,29.18206],[-13.5398,29.18278],[-13.54089,29.13753],[-13.65782,29.13685],[-13.71322,29.09351],[-13.76634,29.09345],[-13.85025,29.01659],[-13.85182,28.98343],[-13.85244,28.91486],[-13.90131,28.89245],[-13.9024,28.84698],[-13.80066,28.84566]],[[1.64799,38.99907],[1.73217,38.99936],[1.73147,39.04417],[1.64895,39.04319],[1.64816,39.12764],[1.39486,39.12657],[1.39544,39.08642],[1.22811,39.08526],[1.22911,39.0029],[1.14487,39.0018],[1.14528,38.832],[1.31136,38.83316],[1.31219,38.79065],[1.39469,38.79162],[1.39519,38.75296],[1.31128,38.75193],[1.31259,38.62388],[1.6489,38.62511],[1.64807,38.71115],[1.58456,38.71012],[1.58116,38.70054],[1.54915,38.70028],[1.51972,38.70921],[1.50355,38.72532],[1.48133,38.91551],[1.55189,38.92544],[1.56673,38.95666],[1.64874,38.95833],[1.64799,38.99907]],[[2.54507,39.41667],[2.43933,39.41611],[2.43871,39.48469],[2.43902,39.49934],[2.31223,39.49934],[2.31192,39.54179],[2.22907,39.541],[2.22835,39.62606],[2.34601,39.62709],[2.92704,39.96016],[3.14566,39.96005],[3.14608,40.00198],[3.23139,40.00198],[3.23129,39.83292],[3.14823,39.83316],[3.14844,39.79357],[3.48148,39.79318],[3.48035,39.5959],[3.31506,39.47846],[3.31462,39.37855],[3.08302,39.24994],[2.97986,39.25015],[2.97904,39.3335],[2.72874,39.33342],[2.72885,39.45814],[2.64569,39.45774],[2.64538,39.49966],[2.54528,39.49942],[2.54507,39.41667]],[[3.81204,40.04344],[3.72908,40.0438],[3.72862,39.95842],[3.81266,39.9576],[3.81228,39.91644],[3.9609,39.91598],[4.19381,39.79131],[4.31503,39.79058],[4.31599,39.83293],[4.39874,39.83204],[4.39737,39.91858],[4.3158,39.91933],[4.31619,40.0434],[4.2319,40.04436],[4.23248,40.08478],[4.14915,40.08611],[4.14906,40.12552],[4.0628,40.12722],[4.06242,40.08499],[3.81287,40.08529],[3.81204,40.04344]],[[-8.89106,41.82289],[-9.1092,42.57511],[-9.03655,42.73066],[-9.08834,42.72696],[-9.14661,42.77503],[-9.21855,42.90163],[-9.2761,42.86051],[-9.30991,42.93113],[-9.27898,42.9822],[-9.30991,43.06004],[-9.25236,43.10417],[-9.2315,43.17032],[-9.14733,43.21018],[-9.06748,43.19916],[-9.03367,43.24267],[-8.99842,43.24477],[-8.99986,43.29558],[-8.93727,43.30553],[-8.92936,43.32699],[-8.8639,43.32908],[-8.87613,43.37407],[-8.82217,43.37354],[-8.78548,43.31914],[-8.70635,43.305],[-8.60996,43.3296],[-8.55097,43.32332],[-8.52435,43.3364],[-8.52507,43.36465],[-8.45745,43.39184],[-8.36105,43.41118],[-8.36033,43.46342],[-8.33444,43.57974],[-8.27761,43.57088],[-8.06467,43.72392],[-7.99921,43.7234],[-7.9172,43.78264],[-7.85605,43.79146],[-7.83591,43.73743],[-7.66284,43.80982],[-7.31889,43.67827],[-7.19975,43.58308],[-6.24882,43.6075],[-6.12293,43.57901],[-5.85204,43.6799],[-5.60363,43.57087],[-5.28553,43.56191],[-5.17875,43.49916],[-4.90899,43.48367],[-4.61562,43.4192],[-4.18399,43.42492],[-3.80295,43.51954],[-3.74,43.48693],[-3.56128,43.54236],[-3.1083,43.38163],[-2.93857,43.46246],[-2.74524,43.47551],[-2.30462,43.31706],[-1.9854,43.3563],[-1.85528,43.39725],[-1.7698,43.39644],[-1.77005,43.37605],[-1.71005,43.37569],[-1.71135,43.33125],[-1.72259,43.31318],[-1.68904,43.31291],[-1.68811,43.33413],[-1.64467,43.33372],[-1.64498,43.31332],[-1.60299,43.31295],[-1.60344,43.29266],[-1.56359,43.29212],[-1.56305,43.31338],[-1.47799,43.31284],[-1.36677,43.27614],[-1.35688,43.23815],[-1.37037,43.1713],[-1.44231,43.08336],[-1.41983,43.06036],[-1.37307,43.05117],[-1.36407,43.11159],[-1.30203,43.13522],[-1.23549,43.13325],[-1.27955,43.07744],[-1.19232,43.06496],[-1.00619,43.00778],[-0.94234,42.9749],[-0.7562,42.98213],[-0.71484,42.96108],[-0.69685,42.90314],[-0.55118,42.82207],[-0.50442,42.84845],[-0.42889,42.82009],[-0.31648,42.86558],[-0.14563,42.81086],[-0.03143,42.71249],[0.18618,42.7541],[0.30218,42.71777],[0.36422,42.74287],[0.44875,42.71447],[0.62769,42.7224],[0.64118,42.85767],[0.71492,42.88272],[0.9676,42.81811],[1.10878,42.79898],[1.17532,42.73429],[1.36326,42.74155],[1.41137,42.70939],[1.48061,42.71034],[1.4813,42.50107],[1.64436,42.50203],[1.64328,42.54245],[1.73041,42.54342],[1.73164,42.50118],[2.06386,42.50164],[2.06456,42.45902],[2.39693,42.45994],[2.39768,42.41784],[2.48048,42.41797],[2.48098,42.37594],[2.64479,42.37626],[2.64448,42.45924],[2.81133,42.45961],[2.81126,42.50104],[3.06388,42.50085],[3.06388,42.45915],[3.23078,42.45934],[3.23049,42.37644],[3.31415,42.37604],[3.31412,42.33399],[3.39785,42.33404],[3.39739,42.29009],[3.31389,42.29084],[3.31397,42.20702],[3.14759,42.2073],[3.14759,42.12606],[3.23055,42.126],[3.24668,41.95294],[3.19452,41.85589],[3.06054,41.76474],[2.78358,41.63718],[2.26293,41.42716],[2.16492,41.29893],[1.86008,41.22322],[1.3763,41.11627],[1.17937,41.04646],[1.08585,41.04849],[0.75854,40.81956],[0.9114,40.73376],[0.87813,40.67514],[0.66502,40.53587],[0.55801,40.55022],[0.43392,40.37576],[0.26756,40.19192],[0.16415,40.06472],[0.07513,40.01447],[0.01039,39.89522],[-0.09392,39.81169],[-0.18474,39.63117],[-0.29085,39.50363],[-0.28636,39.33343],[-0.18564,39.17746],[-0.21352,39.15585],[-0.11101,38.97222],[0.00949,38.88268],[0.12189,38.87218],[0.23429,38.79864],[0.25587,38.72642],[0.09581,38.61338],[-0.0022,38.60706],[-0.05705,38.52691],[-0.27197,38.47624],[-0.37987,38.39312],[-0.38347,38.33813],[-0.45091,38.33108],[-0.50487,38.28309],[-0.48238,38.19481],[-0.42933,38.16583],[-0.45451,38.14886],[-0.584,38.17219],[-0.61367,38.11986],[-0.63705,37.96122],[-0.68111,37.94562],[-0.73237,37.88107],[-0.72158,37.78306],[-0.68831,37.734],[-0.66415,37.62315],[-0.71939,37.58784],[-0.91963,37.53758],[-1.11071,37.51641],[-1.33832,37.52867],[-1.44089,37.39037],[-1.6767,37.27652],[-1.85408,36.91229],[-2.06835,36.69291],[-2.21588,36.66192],[-2.37219,36.78018],[-2.68129,36.65911],[-2.92015,36.66756],[-3.09402,36.71263],[-3.46108,36.65488],[-3.72804,36.69291],[-4.37435,36.66333],[-4.65712,36.44042],[-4.9188,36.45313],[-5.16995,36.35135],[-5.28411,36.19702],[-5.26809,36.12418],[-5.35248,36.12247],[-5.35161,36.04014],[-5.43658,36.03889],[-5.43532,36.00344],[-5.68886,36.00365],[-5.68996,36.04053],[-5.85506,36.03856],[-5.85668,36.12421],[-5.93848,36.12215],[-5.94003,36.16556],[-5.99834,36.1645],[-6.03573,36.1781],[-6.07752,36.22241],[-6.15061,36.28646],[-6.23154,36.37701],[-6.33585,36.53106],[-6.32146,36.58163],[-6.40419,36.6235],[-6.47433,36.74897],[-6.41588,36.79939],[-6.49052,36.91738],[-6.62989,37.0194],[-6.87448,37.10838],[-7.04264,37.18507],[-7.26474,37.18435],[-7.37535,37.15354],[-7.40832,37.16822],[-7.42029,37.21183],[-7.42492,37.23505],[-7.43805,37.2452],[-7.44597,37.33261],[-7.4481,37.39094],[-7.46963,37.40758],[-7.4647,37.45305],[-7.50197,37.51641],[-7.51916,37.52292],[-7.52196,37.57237],[-7.45013,37.66958],[-7.4249,37.75992],[-7.31666,37.83997],[-7.26833,37.98895],[-7.15368,38.01552],[-7.11771,38.05536],[-7.0143,38.02438],[-6.99632,38.10756],[-6.96147,38.20125],[-7.08062,38.15708],[-7.34027,38.44024],[-7.26383,38.73807],[-7.04352,38.87297],[-7.06151,38.90796],[-6.96934,39.01983],[-7.00081,39.08879],[-7.15368,39.09577],[-7.15255,39.16029],[-7.24472,39.19689],[-7.25596,39.28133],[-7.33689,39.35351],[-7.3279,39.45599],[-7.51449,39.58865],[-7.55271,39.67954],[-7.05027,39.67522],[-6.99519,39.81954],[-6.92213,39.87909],[-6.88616,40.02299],[-7.04128,40.13479],[-7.01767,40.26615],[-6.8086,40.34501],[-6.86818,40.44516],[-6.85356,40.60664],[-6.83783,40.87576],[-6.9536,41.03704],[-6.80186,41.03959],[-6.76814,41.13871],[-6.64112,41.26556],[-6.56244,41.26303],[-6.21737,41.5791],[-6.31628,41.64465],[-6.51523,41.64129],[-6.58717,41.68832],[-6.54783,41.85597],[-6.62988,41.91121],[-7.13345,41.94048],[-7.16829,41.87188],[-7.42569,41.78477],[-7.95398,41.84593],[-8.13045,41.78058],[-8.25185,41.90786],[-8.12933,42.03488],[-8.24848,42.1008],[-8.36762,42.05575],[-8.60704,42.03405],[-8.89106,41.82289]]],terms_text:"PNOA",best:true},{id:"poco_das_trincheiras",name:"Poço das Trincheiras AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Poco%20das%20Trincheiras&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.23942,-9.35157],[-37.23947,-9.34387],[-37.23942,-9.33792],[-37.23954,-9.33022],[-37.23973,-9.32791],[-37.23974,-9.3228],[-37.23964,-9.32085],[-37.23971,-9.31864],[-37.2398,-9.31706],[-37.23982,-9.31561],[-37.24053,-9.30933],[-37.24051,-9.30004],[-37.24008,-9.29687],[-37.23998,-9.29546],[-37.23992,-9.29319],[-37.23989,-9.28978],[-37.23995,-9.28818],[-37.24008,-9.28641],[-37.24036,-9.28212],[-37.24038,-9.27897],[-37.24051,-9.27557],[-37.24004,-9.26979],[-37.24018,-9.26721],[-37.24018,-9.26612],[-37.23995,-9.26455],[-37.23983,-9.26151],[-37.24333,-9.26136],[-37.24936,-9.26146],[-37.26445,-9.26161],[-37.28016,-9.26172],[-37.28294,-9.26171],[-37.29581,-9.26178],[-37.30685,-9.26178],[-37.31419,-9.26189],[-37.32437,-9.26192],[-37.33078,-9.26175],[-37.33057,-9.27275],[-37.33048,-9.28007],[-37.33054,-9.28117],[-37.33069,-9.28427],[-37.3307,-9.28535],[-37.33064,-9.28617],[-37.33071,-9.28717],[-37.33064,-9.28769],[-37.33062,-9.29027],[-37.33043,-9.29308],[-37.33038,-9.29655],[-37.33034,-9.30591],[-37.3304,-9.31203],[-37.33038,-9.32194],[-37.33041,-9.3342],[-37.33035,-9.34185],[-37.3303,-9.34783],[-37.33035,-9.35202],[-37.31509,-9.35194],[-37.30011,-9.3519],[-37.29531,-9.35183],[-37.28899,-9.35171],[-37.28497,-9.35182],[-37.27851,-9.35173],[-37.27431,-9.35181],[-37.27115,-9.3517],[-37.26351,-9.35168],[-37.26046,-9.35164],[-37.25402,-9.35177],[-37.24705,-9.35163],[-37.23942,-9.35157]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"rio2013",name:"Rio Mosaic 2013",type:"wms",template:"http://geo.rio.rj.gov.br/ArcGIS/services/Imagens/Mosaico_2013/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",polygon:[[[-43.17709,-22.96971],[-43.14586,-22.96959],[-43.14605,-22.92719],[-43.15625,-22.92731],[-43.15647,-22.87557],[-43.17739,-22.87494],[-43.17742,-22.88553],[-43.19804,-22.88571],[-43.19804,-22.85429],[-43.21875,-22.85444],[-43.21901,-22.83365],[-43.22937,-22.83365],[-43.22934,-22.82371],[-43.19869,-22.82353],[-43.19856,-22.83413],[-43.18826,-22.83398],[-43.18804,-22.84448],[-43.16667,-22.84442],[-43.16683,-22.83404],[-43.15638,-22.83407],[-43.15654,-22.81336],[-43.10436,-22.81306],[-43.10446,-22.80288],[-43.09387,-22.80276],[-43.0941,-22.73998],[-43.13599,-22.73992],[-43.13569,-22.75067],[-43.12573,-22.75055],[-43.12556,-22.77118],[-43.14595,-22.77109],[-43.14612,-22.76055],[-43.17771,-22.76088],[-43.17758,-22.77115],[-43.18807,-22.7713],[-43.18807,-22.78166],[-43.25067,-22.78163],[-43.25057,-22.79198],[-43.28054,-22.79282],[-43.30343,-22.79312],[-43.33353,-22.79297],[-43.33347,-22.80258],[-43.38574,-22.8024],[-43.38542,-22.81255],[-43.41691,-22.81285],[-43.41675,-22.82341],[-43.42717,-22.82335],[-43.4274,-22.83374],[-43.45844,-22.83362],[-43.45864,-22.81276],[-43.48984,-22.813],[-43.48994,-22.7965],[-43.50208,-22.79746],[-43.51543,-22.79737],[-43.52078,-22.79591],[-43.54169,-22.79603],[-43.54179,-22.80234],[-43.54653,-22.80246],[-43.54666,-22.81189],[-43.55251,-22.81279],[-43.56991,-22.81294],[-43.56998,-22.8197],[-43.57361,-22.82326],[-43.58348,-22.82329],[-43.58352,-22.83347],[-43.59391,-22.83374],[-43.59394,-22.85468],[-43.66099,-22.85459],[-43.66099,-22.85983],[-43.70852,-22.86019],[-43.70836,-22.86503],[-43.72206,-22.86488],[-43.72213,-22.86847],[-43.75015,-22.86859],[-43.75009,-22.8753],[-43.76038,-22.87527],[-43.75992,-22.8785],[-43.75976,-22.88457],[-43.76132,-22.88586],[-43.78129,-22.8858],[-43.78126,-22.89591],[-43.80213,-22.89621],[-43.80135,-22.91137],[-43.80119,-22.92758],[-43.79213,-22.92776],[-43.7922,-22.93822],[-43.78191,-22.93799],[-43.78184,-22.94869],[-43.75067,-22.94845],[-43.7506,-22.95909],[-43.72986,-22.95886],[-43.72966,-22.97984],[-43.70904,-22.97966],[-43.70891,-22.99033],[-43.69846,-22.99006],[-43.69836,-23.00065],[-43.66735,-23.00044],[-43.66726,-23.01117],[-43.63125,-23.00937],[-43.63131,-23.02079],[-43.63586,-23.02091],[-43.63602,-23.03164],[-43.67771,-23.03164],[-43.67765,-23.04233],[-43.67086,-23.0423],[-43.67109,-23.0631],[-43.64599,-23.06304],[-43.64605,-23.05276],[-43.60475,-23.05255],[-43.60452,-23.06307],[-43.58381,-23.06289],[-43.58368,-23.08404],[-43.54186,-23.08383],[-43.54195,-23.06319],[-43.52147,-23.06301],[-43.5213,-23.07352],[-43.50043,-23.07337],[-43.50043,-23.04218],[-43.45877,-23.04221],[-43.4587,-23.03194],[-43.43782,-23.03182],[-43.43776,-23.02154],[-43.3235,-23.02121],[-43.3233,-23.04212],[-43.31291,-23.04195],[-43.31275,-23.05267],[-43.30239,-23.05258],[-43.30236,-23.04227],[-43.29194,-23.04215],[-43.29197,-23.03194],[-43.27109,-23.03182],[-43.27119,-23.01093],[-43.26061,-23.01087],[-43.26067,-23.00059],[-43.25057,-23.00047],[-43.25054,-23.01126],[-43.23989,-23.01102],[-43.23986,-23.00062],[-43.21908,-23.0005],[-43.21904,-22.99021],[-43.20901,-22.99009],[-43.20862,-23.08389],[-43.18768,-23.08377],[-43.18761,-23.07334],[-43.13582,-23.07337],[-43.13589,-23.05249],[-43.17732,-23.05255],[-43.17709,-22.96971]]],terms_url:"https://pgeo3.rio.rj.gov.br/arcgis/rest/services/Imagens/Mosaico_2013_UTM/MapServer",terms_text:"Instituto Pereira Passos - Prefeitura da Cidade do Rio de Janeiro."},{id:"rio2015",name:"Rio Mosaic 2015",type:"wms",template:"https://pgeo3.rio.rj.gov.br/arcgis/services/Imagens/Mosaico_2015_UTM/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[0,13],polygon:[[[-42.30363,-22.43698],[-44.10842,-22.06579],[-44.5313,-23.7863],[-42.70469,-24.16178],[-42.30363,-22.43698]]],terms_url:"https://pgeo3.rio.rj.gov.br/arcgis/rest/services/Imagens/Mosaico_2015_UTM/MapServer",terms_text:"Instituto Pereira Passos - Prefeitura da Cidade do Rio de Janeiro."},{id:"route500",name:"Route 500",type:"tms",template:"https://{switch:a,b,c}.tile.openstreetmap.fr/route500/{zoom}/{x}/{y}.png",scaleExtent:[12,20],polygon:[[[-2.7,43.9],[-6.3,48.98],[-2.25,50.09],[1.31,50.88],[2.35816,51.32937],[2.5488,51.09759],[2.57048,51.07409],[2.58741,51.01763],[2.59845,51.0051],[2.61558,50.99749],[2.63986,50.95766],[2.64225,50.94578],[2.62452,50.9256],[2.61962,50.91067],[2.62396,50.86071],[2.62781,50.85054],[2.63786,50.83696],[2.6511,50.82906],[2.73267,50.81738],[2.79995,50.73795],[2.81655,50.73092],[2.85265,50.73335],[2.89072,50.7162],[2.90492,50.71536],[2.9161,50.72418],[2.93508,50.75592],[3.00718,50.78377],[3.08218,50.78749],[3.09244,50.79092],[3.11412,50.80566],[3.14877,50.80195],[3.2154,50.73111],[3.22149,50.7267],[3.27051,50.70375],[3.27545,50.67757],[3.26576,50.6604],[3.26588,50.64054],[3.28922,50.60028],[3.29219,50.55037],[3.3056,50.53267],[3.37551,50.50839],[3.3898,50.50884],[3.4748,50.54445],[3.52173,50.53459],[3.53266,50.51873],[3.54779,50.51012],[3.61523,50.50558],[3.67378,50.45642],[3.68415,50.35277],[3.6901,50.34044],[3.70258,50.33482],[3.71576,50.33854],[3.74935,50.36279],[3.84109,50.36558],[3.90189,50.3436],[3.91317,50.34291],[4.02672,50.36904],[4.13761,50.29984],[4.14388,50.29727],[4.21444,50.28167],[4.22904,50.26664],[4.23078,50.25233],[4.17084,50.18579],[4.16601,50.16888],[4.1764,50.1547],[4.21195,50.13602],[4.24074,50.07102],[4.23193,50.05551],[4.18164,50.03436],[4.17177,50.02537],[4.16976,50.01217],[4.1765,50.00065],[4.20633,49.97546],[4.22164,49.97089],[4.30877,49.98145],[4.44542,49.9523],[4.45469,49.95251],[4.6581,50.00609],[4.66936,50.01392],[4.67293,50.02716],[4.66924,50.06972],[4.69517,50.10472],[4.83123,50.17941],[4.8815,50.16436],[4.90479,50.14451],[4.90426,50.12639],[4.88076,50.0815],[4.86277,50.0745],[4.85104,50.06216],[4.84331,50.03884],[4.84331,50.03883],[4.8433,50.03881],[4.82678,49.989],[4.82662,49.97692],[4.83343,49.96696],[4.89654,49.91753],[4.89755,49.89424],[4.87913,49.86942],[4.87625,49.85111],[4.88924,49.81266],[4.89769,49.80204],[4.91098,49.79926],[4.99534,49.81116],[5.01867,49.79272],[5.02686,49.78886],[5.09944,49.77323],[5.13458,49.73462],[5.1412,49.72984],[5.18761,49.70906],[5.19602,49.70732],[5.28157,49.70836],[5.33363,49.67308],[5.344,49.65049],[5.3544,49.64041],[5.43141,49.60791],[5.48205,49.52815],[5.49294,49.51979],[5.50666,49.52042],[5.55401,49.54025],[5.59311,49.53424],[5.6076,49.53761],[5.641,49.56095],[5.70676,49.55267],[5.71578,49.55361],[5.77526,49.57414],[5.8399,49.55321],[5.86126,49.52038],[5.876,49.5114],[5.97516,49.50129],[5.99801,49.47317],[6.01627,49.46597],[6.08635,49.47562],[6.09319,49.47787],[6.17397,49.52187],[6.24643,49.52511],[6.334,49.48235],[6.34423,49.48037],[6.43515,49.487],[6.5451,49.44384],[6.60639,49.37868],[6.60497,49.33739],[6.61627,49.31869],[6.67013,49.29269],[6.72996,49.22917],[6.74328,49.19086],[6.76026,49.17752],[6.80904,49.17284],[6.82473,49.17826],[6.83093,49.19366],[6.82982,49.21802],[6.85119,49.23136],[6.88453,49.2239],[6.89322,49.22389],[6.93753,49.23369],[7.04055,49.19794],[7.0463,49.17503],[7.05478,49.16313],[7.06908,49.16018],[7.10494,49.16634],[7.14315,49.14159],[7.1535,49.13839],[7.28683,49.13488],[7.29893,49.13856],[7.36095,49.18259],[7.45012,49.19517],[7.50113,49.17672],[7.54379,49.10572],[7.5579,49.09626],[7.6296,49.08527],[7.64722,49.06722],[7.6612,49.06119],[7.75401,49.05963],[7.76073,49.06067],[7.80291,49.07489],[7.85525,49.05329],[7.8673,49.05227],[7.93826,49.06832],[8.08069,49.00688],[8.2225,48.98787],[8.23704,48.97683],[8.23589,48.95817],[8.20888,48.94863],[8.20089,48.94339],[8.15824,48.89753],[8.10087,48.7993],[7.99071,48.74478],[7.98534,48.7409],[7.90422,48.65865],[7.85605,48.63606],[7.8484,48.62977],[7.81842,48.58883],[7.81456,48.57704],[7.81449,48.50968],[7.78547,48.48337],[7.78055,48.47652],[7.74506,48.39484],[7.74357,48.38427],[7.75159,48.32322],[7.71085,48.29841],[7.70241,48.28803],[7.67661,48.21555],[7.59605,48.11698],[7.59165,48.10648],[7.58522,48.04694],[7.59127,48.03035],[7.62437,47.99865],[7.63205,47.97081],[7.57554,47.87436],[7.5728,47.86435],[7.57267,47.83631],[7.54581,47.78793],[7.54418,47.77232],[7.55758,47.72899],[7.53526,47.6989],[7.53136,47.68564],[7.537,47.67302],[7.60016,47.60822],[7.58967,47.56755],[7.55424,47.55128],[7.54511,47.54283],[7.51256,47.48439],[7.38747,47.42111],[7.32653,47.4273],[7.24435,47.40939],[7.16708,47.4335],[7.15212,47.47612],[7.14279,47.48707],[7.12853,47.48893],[7.0801,47.47718],[7.03557,47.48695],[7.02102,47.48458],[7.01205,47.47287],[7.003,47.44095],[6.9551,47.40808],[6.94716,47.39698],[6.94818,47.38337],[6.95769,47.37359],[6.97126,47.37218],[7.018,47.38386],[7.05623,47.37035],[7.07007,47.35005],[7.05958,47.32257],[6.97424,47.27856],[6.96347,47.26233],[6.96134,47.23479],[6.89443,47.19393],[6.88913,47.18922],[6.85545,47.14636],[6.76907,47.10751],[6.76011,47.09953],[6.72561,47.0418],[6.62355,46.9811],[6.4812,46.9445],[6.46892,46.93522],[6.46686,46.91997],[6.47548,46.88771],[6.4535,46.8239],[6.45644,46.80534],[6.46722,46.79104],[6.46098,46.76887],[6.15817,46.59343],[6.14872,46.58069],[6.15152,46.56508],[6.16549,46.54399],[6.15811,46.52456],[6.10174,46.46979],[6.09572,46.45418],[6.09704,46.43317],[6.10829,46.41643],[6.16622,46.38839],[6.17817,46.36922],[6.13748,46.31297],[6.13371,46.30227],[6.13038,46.23737],[6.1103,46.22344],[6.08865,46.23081],[6.07717,46.23123],[6.01857,46.21601],[6.00681,46.20752],[6.00388,46.19332],[6.00787,46.16977],[6.01783,46.15564],[6.03509,46.15456],[6.05564,46.16288],[6.12468,46.15415],[6.13778,46.15702],[6.24026,46.22094],[6.24906,46.23299],[6.24707,46.24777],[6.21148,46.31057],[6.21219,46.32485],[6.23946,46.36705],[6.31648,46.41557],[6.41083,46.42495],[6.41748,46.42682],[6.50498,46.46871],[6.63047,46.47435],[6.74665,46.45695],[6.82244,46.42925],[6.81832,46.38181],[6.80484,46.36179],[6.80189,46.34639],[6.81095,46.33359],[6.86491,46.30038],[6.87504,46.28007],[6.86092,46.2439],[6.82698,46.21188],[6.82075,46.19862],[6.81863,46.16592],[6.82259,46.15261],[6.83427,46.14509],[6.90382,46.12971],[6.90491,46.09595],[6.90932,46.08406],[6.92001,46.07721],[6.94898,46.0699],[7.01556,46.00883],[7.05191,45.93066],[7.04533,45.92217],[7.04497,45.92064],[7.04394,45.92036],[6.99582,45.85822],[6.94097,45.83551],[6.84376,45.82387],[6.83102,45.81711],[6.82614,45.80353],[6.82787,45.73217],[6.83174,45.72082],[6.8414,45.71373],[6.90729,45.69124],[6.92419,45.66935],[6.94247,45.66172],[6.97131,45.66528],[7.00597,45.64945],[7.01151,45.63652],[6.9978,45.60877],[6.99643,45.59465],[7.0158,45.52354],[7.02774,45.5102],[7.1072,45.47877],[7.1228,45.44924],[7.13304,45.44001],[7.1856,45.41894],[7.19515,45.40409],[7.17075,45.35069],[7.14232,45.32298],[7.13649,45.30576],[7.14458,45.25048],[7.08417,45.20279],[6.99279,45.19823],[6.98106,45.19368],[6.90009,45.12689],[6.85843,45.11699],[6.78283,45.14228],[6.77056,45.14242],[6.67751,45.11356],[6.6653,45.10289],[6.66501,45.08667],[6.68237,45.04558],[6.69602,45.03395],[6.75744,45.01884],[6.78375,44.9146],[6.7942,44.90161],[6.86698,44.86519],[6.8798,44.86346],[6.93633,44.87461],[7.01795,44.84402],[7.03453,44.82282],[7.03711,44.75009],[7.0496,44.73226],[7.07224,44.72311],[7.08651,44.6968],[7.08666,44.68085],[7.07671,44.67134],[6.99007,44.67203],[6.97413,44.66431],[6.97056,44.64696],[6.97819,44.61784],[6.94659,44.57124],[6.88235,44.53479],[6.87233,44.5195],[6.87892,44.50245],[6.95894,44.43129],[6.95872,44.42908],[6.92167,44.41436],[6.91223,44.40659],[6.90907,44.39477],[6.90972,44.38195],[6.91637,44.36804],[6.99909,44.29414],[7.01181,44.256],[7.01983,44.24558],[7.03259,44.2424],[7.07312,44.2461],[7.1651,44.22112],[7.24533,44.18544],[7.26053,44.16682],[7.27537,44.15947],[7.33878,44.1574],[7.36278,44.13834],[7.37776,44.13416],[7.56283,44.15792],[7.5642,44.15836],[7.56478,44.15817],[7.60548,44.1634],[7.6162,44.16827],[7.63989,44.18928],[7.68608,44.1861],[7.69422,44.17795],[7.68937,44.13869],[7.69445,44.12276],[7.72786,44.08615],[7.72403,44.05704],[7.68603,44.02371],[7.68077,44.0164],[7.66016,43.9672],[7.59624,43.94466],[7.58419,43.93287],[7.56858,43.89159],[7.5271,43.87434],[7.51649,43.86397],[7.51594,43.84915],[7.53622,43.79234],[9.8,43.1],[9.63227,41.43244],[9.36968,41.35052],[9.27311,41.29196],[8.94186,41.27688],[5.8,41.64],[3.17358,42.41768],[3.16081,42.42757],[3.0944,42.41457],[3.03402,42.45331],[3.02214,42.45645],[2.87822,42.4487],[2.87019,42.44653],[2.78424,42.40256],[2.7413,42.41128],[2.72928,42.40998],[2.69331,42.39417],[2.68378,42.3854],[2.68162,42.37263],[2.68585,42.34679],[2.66719,42.33008],[2.58106,42.34418],[2.56777,42.34173],[2.5338,42.32197],[2.47795,42.32986],[2.41933,42.37658],[2.41222,42.38021],[2.26719,42.42055],[2.25973,42.42117],[2.20694,42.41558],[2.20653,42.41526],[2.20526,42.41541],[2.16028,42.41065],[2.14881,42.40545],[2.09393,42.35474],[2.00861,42.33818],[1.965,42.36473],[1.93076,42.42442],[1.92089,42.43302],[1.88467,42.44761],[1.88459,42.44762],[1.88444,42.4477],[1.82774,42.47056],[1.72567,42.48452],[1.71561,42.50125],[1.7272,42.56103],[1.72479,42.57499],[1.71011,42.59992],[1.69377,42.60975],[1.60283,42.61382],[1.56069,42.6392],[1.54636,42.64166],[1.50444,42.6331],[1.4921,42.62502],[1.47238,42.59703],[1.43792,42.59264],[1.41936,42.60643],[1.38032,42.67415],[1.37335,42.68127],[1.33313,42.70563],[1.32364,42.7085],[1.23221,42.71248],[1.16554,42.69928],[1.08546,42.76635],[1.07564,42.77079],[0.95937,42.78852],[0.95073,42.78794],[0.92265,42.7797],[0.84606,42.8157],[0.71511,42.8464],[0.70017,42.84402],[0.69117,42.83186],[0.67409,42.76479],[0.67474,42.75286],[0.69192,42.70684],[0.669,42.67901],[0.43024,42.67863],[0.3715,42.70308],[0.35954,42.70415],[0.34912,42.69817],[0.32567,42.67274],[0.29571,42.66388],[0.24594,42.70175],[0.23972,42.70494],[0.18967,42.72039],[0.17919,42.72075],[-0.01993,42.67389],[-0.06726,42.6848],[-0.16949,42.77157],[-0.29987,42.82697],[-0.31683,42.82635],[-0.39208,42.78766],[-0.44354,42.78453],[-0.48842,42.80255],[-0.50868,42.79935],[-0.54499,42.76906],[-0.56721,42.76937],[-0.67446,42.86392],[-0.68094,42.86775],[-0.73372,42.88666],[-0.7476,42.93879],[-0.75711,42.95107],[-0.77253,42.95284],[-0.82114,42.93865],[-0.94508,42.94192],[-1.02313,42.98206],[-1.10852,43.00409],[-1.1156,43.00461],[-1.14775,43.00124],[-1.15845,43.01452],[-1.16736,43.02083],[-1.21622,43.0381],[-1.22612,43.03898],[-1.26236,43.03303],[-1.30643,43.05531],[-1.31992,43.05696],[-1.33135,43.0496],[-1.3542,43.0197],[-1.43868,43.03371],[-1.4775,43.06889],[-1.48311,43.08561],[-1.47641,43.10248],[-1.43479,43.13087],[-1.42732,43.1404],[-1.39411,43.22935],[-1.39531,43.24596],[-1.40868,43.25591],[-1.52629,43.28099],[-1.54626,43.2737],[-1.57149,43.2412],[-1.61053,43.24223],[-1.65,43.29323],[-1.66953,43.30065],[-1.73359,43.28856],[-1.75606,43.31966],[-1.76297,43.32565],[-1.79156,43.34067],[-1.80099,43.37017],[-1.78509,43.39037],[-1.7835,43.39686],[-2.7,43.9]]],terms_url:"https://wiki.openstreetmap.org/wiki/FR:Servers/tile.openstreetmap.fr#Route500.E2.84.A2.C2.A9.C2.AE",terms_text:"Tiles © cquest@Openstreetmap France, data © IGN, LO/OL",description:"Routes du réseau classé (autoroutes, nationales, départementales)",overlay:true},{id:"santana_do_ipanema",name:"Santana do Ipanema AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Santana%20do%20Ipanema&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-37.20224,-9.41356],[-37.20188,-9.37768],[-37.20208,-9.37455],[-37.20192,-9.36733],[-37.20169,-9.36045],[-37.20172,-9.35501],[-37.20195,-9.35101],[-37.20191,-9.34773],[-37.20175,-9.33835],[-37.2017,-9.33505],[-37.20171,-9.33301],[-37.20142,-9.32833],[-37.20121,-9.32469],[-37.20117,-9.32351],[-37.21425,-9.32346],[-37.21537,-9.3234],[-37.22078,-9.32328],[-37.23727,-9.32313],[-37.25181,-9.32293],[-37.2656,-9.32276],[-37.2803,-9.32259],[-37.29191,-9.32245],[-37.29205,-9.33522],[-37.29304,-9.4122],[-37.28357,-9.41235],[-37.27789,-9.4125],[-37.2716,-9.41249],[-37.26506,-9.41262],[-37.26165,-9.41274],[-37.25499,-9.41276],[-37.24991,-9.41296],[-37.24616,-9.41297],[-37.24108,-9.41303],[-37.23461,-9.41321],[-37.2284,-9.41325],[-37.22165,-9.41335],[-37.21686,-9.41346],[-37.21292,-9.41343],[-37.20224,-9.41356]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"Sao_miguel_dos_campos",name:"São Miguel dos Campos AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Sao_miguel_dos_campos&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.1415,-9.83171],[-36.05047,-9.83246],[-36.04959,-9.74246],[-36.14059,-9.74166],[-36.1415,-9.83171]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"GEOSN-DOP-RGB",name:"Saxony latest aerial imagery",type:"wms",template:"https://geodienste.sachsen.de/wms_geosn_dop-rgb/guest?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=sn_dop_020&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[13.54901,50.69792],[13.84251,50.71126],[13.93239,50.74504],[14.04614,50.79389],[14.25257,50.85953],[14.40002,50.88966],[14.42671,50.9357],[14.35649,50.97197],[14.32559,50.99319],[14.27504,50.99054],[14.31577,51.04266],[14.41547,51.01263],[14.51939,51.0038],[14.5882,50.9817],[14.54467,50.91977],[14.57977,50.90649],[14.64718,50.92243],[14.64437,50.90915],[14.60505,50.85687],[14.7202,50.81785],[14.81008,50.81341],[14.85642,50.89055],[14.91259,50.94721],[14.99685,51.08679],[15.05303,51.24793],[15.05583,51.29274],[14.99264,51.34452],[14.98843,51.398],[14.97719,51.45754],[14.90979,51.49603],[14.73986,51.5371],[14.73986,51.59122],[14.70054,51.60605],[14.67948,51.5982],[14.68369,51.57813],[14.67386,51.55806],[14.61769,51.55718],[14.58399,51.59035],[14.51939,51.56941],[14.43513,51.5598],[14.327,51.52574],[14.13461,51.55544],[14.0672,51.49952],[14.02788,51.47854],[14.04333,51.45229],[13.99558,51.39274],[13.95767,51.40588],[13.88886,51.38836],[13.72455,51.37434],[13.55463,51.39274],[13.40437,51.45929],[13.35241,51.43916],[13.3159,51.44354],[13.28641,51.41815],[13.22602,51.40063],[13.21339,51.46104],[13.219,51.52661],[13.17406,51.5982],[13.00274,51.67751],[12.90584,51.65312],[12.90303,51.66619],[12.85388,51.69318],[12.76401,51.65922],[12.68817,51.67054],[12.64324,51.62959],[12.57723,51.63046],[12.42557,51.61041],[12.23037,51.57028],[12.17701,51.53011],[12.13909,51.46017],[12.16718,51.41727],[12.1742,51.33487],[12.13207,51.3182],[12.18684,51.21364],[12.15875,51.18812],[12.22054,51.09296],[12.49017,51.05414],[12.52106,50.99319],[12.60532,50.97286],[12.62639,50.91889],[12.50281,50.91092],[12.23739,50.81874],[12.21352,50.72993],[12.28654,50.665],[12.21773,50.6463],[12.13347,50.6276],[12.05343,50.56342],[12.01972,50.64719],[11.85963,50.54825],[11.87649,50.50808],[11.92704,50.5054],[11.93687,50.48664],[11.87087,50.44194],[11.93406,50.39989],[11.96917,50.33987],[12.12083,50.29773],[12.17279,50.3067],[12.18543,50.26094],[12.21212,50.25375],[12.25705,50.21603],[12.28233,50.15668],[12.35535,50.15848],[12.35535,50.22142],[12.41433,50.28158],[12.51123,50.34705],[12.53791,50.38735],[12.67835,50.40257],[12.71205,50.38646],[12.7289,50.39631],[12.75699,50.42584],[12.78648,50.43389],[12.81737,50.41779],[12.84686,50.43657],[12.94797,50.38735],[13.00976,50.41421],[13.04627,50.44999],[13.0561,50.48753],[13.21479,50.49289],[13.27517,50.56609],[13.34118,50.56877],[13.39173,50.61334],[13.47739,50.58571],[13.54761,50.63473],[13.56867,50.67212],[13.54901,50.69792]]],terms_url:"https://geoportal.sachsen.de/cps/metadaten_portal.html?id=cd01c334-7e32-482f-bd43-af286707178a",terms_text:"Staatsbetrieb Geobasisinformation und Vermessung Sachsen",best:true,icon:"data:image/png;base64,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"},{id:"Geodatastyrelsen_Denmark",name:"SDFE aerial imagery",type:"tms",template:"https://osmtools.septima.dk/mapproxy/tiles/1.0.0/kortforsyningen_ortoforaar/EPSG3857/{zoom}/{x}/{y}.jpeg",scaleExtent:[0,21],polygon:[[[8.37439,54.95517],[8.36838,55.40421],[8.2104,55.40398],[8.20873,55.49373],[8.05027,55.49247],[8.01851,56.75014],[8.18192,56.75099],[8.17633,57.02089],[8.34133,57.02199],[8.33925,57.11196],[8.50544,57.11232],[8.50339,57.20205],[9.33163,57.20276],[9.33191,57.29248],[9.49789,57.29196],[9.49886,57.38206],[9.66497,57.38116],[9.66873,57.56056],[9.8352,57.55963],[9.83749,57.64933],[10.17257,57.64628],[10.17542,57.73678],[10.51183,57.73303],[10.51521,57.82289],[10.68349,57.82077],[10.67516,57.6412],[10.5077,57.64331],[10.504,57.55351],[10.67104,57.55141],[10.65078,57.10245],[10.48577,57.10451],[10.47862,56.92491],[10.3144,56.92676],[10.31123,56.83693],[10.47503,56.83509],[10.4649,56.56567],[10.95242,56.55898],[10.94792,56.46922],[11.10993,56.46647],[11.10526,56.37683],[10.94299,56.37953],[10.93412,56.19948],[10.77197,56.20202],[10.76948,56.11201],[10.60797,56.11503],[10.44667,56.11672],[10.28659,56.11868],[10.28315,56.02819],[10.44393,56.02704],[10.44177,55.75792],[10.4335,55.66935],[10.74381,55.66469],[10.74381,55.57123],[10.8969,55.57123],[10.90518,55.39539],[11.06137,55.38128],[11.0593,55.11241],[11.04586,55.03186],[11.20308,55.02475],[11.20308,55.11714],[11.0593,55.11241],[11.06137,55.38128],[11.07896,55.57123],[10.8969,55.57123],[10.92587,55.66702],[10.74381,55.66469],[10.75623,55.75792],[10.44177,55.75792],[10.44393,56.02704],[10.44667,56.11672],[10.60797,56.11503],[10.60521,56.02475],[10.92587,56.02012],[10.91971,55.93094],[11.08028,55.92792],[11.08581,56.01783],[11.7265,56.00506],[11.732,56.09521],[12.05403,56.08713],[12.06085,56.17626],[12.70235,56.15944],[12.66111,55.71143],[12.97923,55.7014],[12.96129,55.52173],[12.32687,55.54121],[12.32061,55.45137],[12.47782,55.44707],[12.47024,55.35705],[12.62697,55.35238],[12.62009,55.26326],[12.46273,55.26722],[12.45529,55.17782],[12.2987,55.18223],[12.28973,55.09236],[12.60486,55.08329],[12.5872,54.90363],[12.27666,54.9119],[12.26102,54.73316],[12.10707,54.73782],[12.08586,54.46817],[11.7795,54.47536],[11.78374,54.56548],[11.16585,54.57822],[11.17064,54.66865],[10.86172,54.6734],[10.86512,54.76347],[10.77136,54.76439],[10.77073,54.73728],[10.75514,54.73758],[10.7544,54.71957],[10.73891,54.71976],[10.73844,54.71085],[10.70745,54.7113],[10.70411,54.67567],[10.5511,54.67817],[10.55472,54.76702],[10.2424,54.77059],[10.24598,54.86047],[10.09023,54.86221],[10.08737,54.77239],[9.15558,54.77696],[9.15628,54.86754],[8.5322,54.86638],[8.53143,54.95516],[8.37439,54.95517]],[[11.45777,56.81955],[11.78492,56.81274],[11.77167,56.63328],[11.44596,56.64011],[11.45777,56.81955]],[[11.32747,57.3613],[11.31618,57.1818],[11.15087,57.18473],[11.14566,57.09496],[10.81577,57.10017],[10.82906,57.36953],[11.32747,57.3613]],[[11.58433,56.27779],[11.57829,56.18804],[11.73923,56.18458],[11.74564,56.27432],[11.58433,56.27779]],[[14.68259,55.36394],[14.83952,55.35652],[14.82638,55.26713],[15.13934,55.25174],[15.1532,55.34108],[15.30992,55.33306],[15.29572,55.24374],[15.13934,55.25174],[15.12556,55.16238],[15.28158,55.15442],[15.25356,54.97576],[14.63175,55.00625],[14.68259,55.36394]]],terms_url:"https://download.kortforsyningen.dk/content/vilkaar-og-betingelser",terms_text:"Geodatastyrelsen og Danske Kommuner",best:true,icon:"data:image/png;base64,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"},{id:"Sicily-ATA2007",name:"Sicily - Italy",type:"wms",template:"http://map.sitr.regione.sicilia.it/ArcGIS/services/WGS84_F33/Ortofoto_ATA20072008_f33/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&Layers=0&STYLES=default&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[15.71165,38.25894],[15.23718,38.81938],[14.27124,38.55246],[13.15063,38.75408],[11.96411,37.97451],[12.52441,37.54022],[11.87897,36.79609],[12.49695,35.47409],[12.68921,35.46962],[14.57336,36.66401],[15.29709,36.62875],[15.39854,37.42171],[15.71165,38.25894]]]},{id:"sc2012",name:"SIG Santa Catarina OrtoRGB 2012",type:"wms",template:"http://sigsc.sc.gov.br:80/sigserver/SIGSC/wms?SERVICE=WMS&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=OrtoRGB-Landsat-2012&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[-48.62488,-26.91624],[-48.62416,-26.83409],[-48.56163,-26.83412],[-48.56165,-26.74919],[-48.62675,-26.74918],[-48.62715,-26.73276],[-48.64126,-26.733],[-48.64174,-26.70912],[-48.62414,-26.70913],[-48.62418,-26.50079],[-48.57099,-26.50077],[-48.57155,-26.47415],[-48.55418,-26.47381],[-48.5545,-26.45736],[-48.56155,-26.45747],[-48.56161,-26.41746],[-48.4991,-26.41747],[-48.49909,-26.25081],[-48.43664,-26.25079],[-48.43661,-26.20752],[-48.4601,-26.20751],[-48.46195,-26.1242],[-48.56161,-26.12419],[-48.56163,-25.95753],[-48.62411,-25.95753],[-48.62411,-25.94507],[-48.68838,-25.94607],[-48.6884,-25.95752],[-49.25089,-25.95752],[-49.2509,-25.9992],[-49.31339,-25.9992],[-49.31338,-26.0825],[-49.37591,-26.0825],[-49.37591,-26.12419],[-49.50093,-26.12418],[-49.50092,-26.16586],[-49.68661,-26.16585],[-49.68661,-26.12417],[-49.74907,-26.08246],[-49.74908,-26.04084],[-49.8116,-26.04085],[-49.81159,-25.99918],[-49.93657,-25.99915],[-49.93661,-25.98244],[-50.00091,-25.98288],[-50.00094,-25.99915],[-50.31338,-25.99916],[-50.31342,-26.04083],[-50.37411,-26.04084],[-50.3741,-25.9992],[-50.49914,-25.99918],[-50.49911,-25.98414],[-50.62593,-25.98452],[-50.62595,-26.04084],[-50.6884,-26.04161],[-50.68845,-26.12416],[-50.75094,-26.12414],[-50.75095,-26.20752],[-51.12595,-26.20747],[-51.12595,-26.24913],[-51.18848,-26.24918],[-51.31344,-26.33245],[-51.31347,-26.62414],[-51.4366,-26.62415],[-51.43659,-26.56476],[-51.62409,-26.5641],[-51.62411,-26.5408],[-51.99907,-26.5408],[-52.06158,-26.49911],[-52.06158,-26.45747],[-52.12408,-26.45749],[-52.12406,-26.41579],[-52.37407,-26.4158],[-52.37409,-26.39133],[-52.56156,-26.3894],[-52.56158,-26.37415],[-52.62408,-26.37417],[-52.62409,-26.33247],[-53.12408,-26.33247],[-53.1241,-26.31707],[-53.1618,-26.3165],[-53.16136,-26.29082],[-53.18656,-26.29083],[-53.24907,-26.24911],[-53.24906,-26.23919],[-53.31159,-26.23824],[-53.3741,-26.22882],[-53.43845,-26.22777],[-53.43843,-26.24914],[-53.5616,-26.24916],[-53.56159,-26.23983],[-53.65501,-26.23814],[-53.65623,-26.29263],[-53.67011,-26.31684],[-53.68846,-26.33242],[-53.70322,-26.3741],[-53.70929,-26.38449],[-53.7098,-26.39568],[-53.70619,-26.40722],[-53.70721,-26.45927],[-53.71438,-26.46168],[-53.71476,-26.48118],[-53.73047,-26.49913],[-53.73146,-26.54081],[-53.75096,-26.5408],[-53.75095,-26.62417],[-53.7602,-26.62414],[-53.76125,-26.6675],[-53.75098,-26.66751],[-53.75096,-26.74298],[-53.72737,-26.7434],[-53.72133,-26.74905],[-53.72141,-26.75093],[-53.74571,-26.75943],[-53.74612,-26.77704],[-53.71948,-26.77755],[-53.72084,-26.83416],[-53.70047,-26.83414],[-53.70277,-26.93108],[-53.71168,-26.93091],[-53.71224,-26.95557],[-53.751,-26.95479],[-53.75092,-26.99915],[-53.76467,-26.99915],[-53.8037,-27.03751],[-53.80454,-27.07258],[-53.80809,-27.07249],[-53.80862,-27.09613],[-53.8269,-27.09577],[-53.82762,-27.12414],[-53.84644,-27.12413],[-53.84765,-27.17014],[-53.83506,-27.18932],[-53.83536,-27.20054],[-53.68847,-27.20284],[-53.68849,-27.22789],[-53.43654,-27.23246],[-53.43655,-27.16751],[-53.37598,-27.16751],[-53.37601,-27.23352],[-53.24905,-27.23564],[-53.24905,-27.20922],[-53.06344,-27.20918],[-53.06345,-27.2334],[-52.81348,-27.23685],[-52.81346,-27.27653],[-52.75096,-27.27732],[-52.75096,-27.29249],[-52.4385,-27.29252],[-52.43848,-27.32689],[-52.37603,-27.32753],[-52.37599,-27.3342],[-52.25098,-27.33418],[-52.25099,-27.34669],[-52.18655,-27.34728],[-52.18657,-27.33419],[-52.12598,-27.3342],[-52.12599,-27.36413],[-52.02979,-27.36489],[-52.03036,-27.42442],[-51.97534,-27.42479],[-51.97603,-27.50088],[-51.93845,-27.50085],[-51.93845,-27.54252],[-51.68846,-27.54247],[-51.68847,-27.55742],[-51.59903,-27.5579],[-51.59923,-27.59481],[-51.56351,-27.59498],[-51.56348,-27.62586],[-51.50088,-27.62586],[-51.50095,-27.66754],[-51.43937,-27.6675],[-51.43954,-27.70932],[-51.37597,-27.7095],[-51.37601,-27.75089],[-51.31349,-27.7509],[-51.31346,-27.79253],[-51.18847,-27.79251],[-51.18848,-27.87586],[-51.12598,-27.87586],[-51.12597,-27.91752],[-51.06348,-27.9175],[-51.06347,-27.95919],[-51.00095,-28.00086],[-50.9385,-28.00086],[-50.93849,-28.16755],[-50.81346,-28.16752],[-50.81345,-28.29253],[-50.75096,-28.29251],[-50.68845,-28.33418],[-50.68849,-28.41754],[-50.626,-28.41752],[-50.56352,-28.44094],[-50.43848,-28.44051],[-50.43847,-28.45917],[-50.37597,-28.45921],[-50.37598,-28.47554],[-50.18844,-28.47454],[-50.18849,-28.51143],[-50.12398,-28.51104],[-50.12402,-28.50086],[-49.87597,-28.50085],[-49.87601,-28.5142],[-49.81347,-28.51369],[-49.81347,-28.58255],[-49.83003,-28.58251],[-49.82951,-28.62597],[-49.8759,-28.66572],[-50.001,-28.74915],[-50.001,-29.04083],[-50.03319,-29.04081],[-50.03219,-29.14711],[-50.12602,-29.14774],[-50.12598,-29.16579],[-50.13613,-29.16581],[-50.1885,-29.19623],[-50.1885,-29.31905],[-50.1422,-29.31873],[-50.14208,-29.33422],[-50.126,-29.33418],[-50.12599,-29.36238],[-49.99906,-29.36153],[-49.99904,-29.24031],[-49.93848,-29.23986],[-49.93851,-29.25087],[-49.87601,-29.25087],[-49.876,-29.30098],[-49.82262,-29.30052],[-49.82227,-29.33419],[-49.81347,-29.33422],[-49.81354,-29.3411],[-49.68654,-29.33991],[-49.68651,-29.29255],[-49.62399,-29.29252],[-49.62398,-29.25085],[-49.56149,-29.25083],[-49.56145,-29.16749],[-49.49901,-29.16746],[-49.49902,-29.08419],[-49.4365,-29.08418],[-49.43651,-29.04251],[-49.37405,-29.04248],[-49.37402,-28.9592],[-49.31153,-28.95917],[-49.31152,-28.91749],[-49.24898,-28.9175],[-49.24897,-28.87582],[-49.18655,-28.87585],[-49.18653,-28.83414],[-49.12402,-28.83418],[-49.12401,-28.7925],[-49.06149,-28.79247],[-49.06146,-28.75084],[-48.99903,-28.75085],[-48.99903,-28.70919],[-48.93658,-28.70918],[-48.93658,-28.66752],[-48.87405,-28.66751],[-48.87404,-28.62585],[-48.74912,-28.62585],[-48.74912,-28.54254],[-48.68656,-28.54253],[-48.68658,-28.33417],[-48.62408,-28.33416],[-48.62406,-28.08418],[-48.5616,-28.08418],[-48.56159,-27.95919],[-48.49905,-27.95916],[-48.49904,-27.91581],[-48.56157,-27.9158],[-48.5616,-27.87584],[-48.49902,-27.87586],[-48.49902,-27.83422],[-48.43657,-27.83418],[-48.43661,-27.62583],[-48.37406,-27.62585],[-48.37405,-27.50086],[-48.31157,-27.50086],[-48.31153,-27.24913],[-48.43657,-27.24913],[-48.43654,-27.20916],[-48.37402,-27.2092],[-48.37405,-27.1658],[-48.43656,-27.1658],[-48.43656,-27.12415],[-48.49906,-27.12413],[-48.49907,-27.08667],[-48.50022,-27.08666],[-48.50031,-27.08247],[-48.5616,-27.08248],[-48.56159,-27.04252],[-48.49906,-27.04252],[-48.49906,-26.99913],[-48.56156,-26.99913],[-48.56157,-26.91579],[-48.62488,-26.91624]]],terms_url:"http://sigsc.sds.sc.gov.br/download/termo_sigsc.pdf",terms_text:"Sistema de Informações Geográficas - Governo de Santa Catarina"},{id:"SIGIP-2012",name:"SIGIP - Orthophoto 2012",type:"tms",template:"http://osmdata.asitvd.ch/tiles/sigip2012/{zoom}/{x}/{y}.png",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",scaleExtent:[14,20],polygon:[[[6.71057,46.54396],[6.72968,46.54408],[6.72995,46.52605],[6.71085,46.52596],[6.71113,46.50796],[6.6922,46.50788],[6.6923,46.49883],[6.63531,46.49847],[6.63488,46.52547],[6.65381,46.52558],[6.65361,46.54358],[6.69163,46.54384],[6.69155,46.55284],[6.71047,46.55293],[6.71057,46.54396]]],terms_url:"https://www.sigip.ch/",terms_text:"SIGIP"},{id:"Slovakia-Historic-Maps",name:"Slovakia Historic Maps",type:"tms",template:"http://tms.freemap.sk/historicke/{zoom}/{x}/{y}.png",scaleExtent:[0,12],polygon:[[[16.81969,47.49272],[16.81969,49.50303],[22.83883,49.50303],[22.83883,47.49272],[16.81969,47.49272]]],icon:"https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png"},{id:"Soskut_Pusztazamor_Tarnok_Diosd_orto_2017",name:"Sóskút, Pusztazámor, Tárnok, Diósd ortophoto 2017",type:"tms",template:"http://adam.openstreetmap.hu/mapproxy/tiles/1.0.0/Soskut-Tarnok-Pusztazamor-Diosd/mercator/{zoom}/{x}/{y}.png",endDate:"2017-03-01T00:00:00.000Z",startDate:"2017-03-01T00:00:00.000Z",scaleExtent:[11,20],polygon:[[[18.79273,47.37079],[18.79194,47.37048],[18.79139,47.37063],[18.79011,47.37176],[18.78916,47.37345],[18.78722,47.37566],[18.78603,47.37765],[18.78498,47.37905],[18.7837,47.38032],[18.78267,47.38195],[18.7814,47.38368],[18.77934,47.38713],[18.77666,47.3894],[18.76472,47.3967],[18.7617,47.39966],[18.75631,47.40328],[18.75837,47.40653],[18.7588,47.40776],[18.762,47.41217],[18.76304,47.41315],[18.76593,47.41471],[18.77041,47.41766],[18.77247,47.41809],[18.77248,47.4203],[18.8086,47.44041],[18.81742,47.43539],[18.82092,47.43572],[18.82804,47.43755],[18.83021,47.43526],[18.83585,47.43754],[18.84049,47.43346],[18.84765,47.43572],[18.851,47.43281],[18.869,47.43961],[18.87361,47.43597],[18.87499,47.43342],[18.87386,47.43248],[18.87604,47.42797],[18.8605,47.423],[18.86621,47.41798],[18.87243,47.41086],[18.8663,47.40773],[18.86964,47.40471],[18.86777,47.40207],[18.86509,47.40052],[18.87081,47.39838],[18.86772,47.39699],[18.86992,47.39655],[18.87649,47.39478],[18.87749,47.39495],[18.87867,47.39462],[18.88358,47.38996],[18.88291,47.38967],[18.88539,47.3853],[18.87748,47.38339],[18.88181,47.37605],[18.87914,47.37393],[18.88638,47.36923],[18.88206,47.36773],[18.87973,47.36641],[18.8747,47.36252],[18.87282,47.36137],[18.87028,47.36063],[18.86688,47.35853],[18.86234,47.35637],[18.85567,47.35199],[18.84874,47.34728],[18.83192,47.33841],[18.82497,47.34258],[18.8162,47.34925],[18.81079,47.35357],[18.80823,47.356],[18.80645,47.35854],[18.80708,47.35902],[18.80635,47.36021],[18.80465,47.36175],[18.80381,47.36335],[18.80055,47.36545],[18.79988,47.36617],[18.79416,47.36975],[18.79273,47.37079]],[[18.91871,47.40938],[18.91826,47.40998],[18.92067,47.41156],[18.9251,47.41372],[18.93473,47.41917],[18.94063,47.42241],[18.94982,47.41938],[18.95155,47.4175],[18.9569,47.41923],[18.9577,47.41878],[18.95755,47.41435],[18.96211,47.40507],[18.96266,47.40118],[18.96316,47.39903],[18.95446,47.39673],[18.95276,47.39526],[18.95202,47.39362],[18.95119,47.39356],[18.94692,47.39799],[18.94411,47.39845],[18.94161,47.39869],[18.93735,47.39633],[18.93617,47.39683],[18.93122,47.4],[18.9312,47.40023],[18.92924,47.40205],[18.92561,47.40605],[18.92466,47.40635],[18.92293,47.40926],[18.91871,47.40938]]],terms_url:"http://fototerkep.hu",terms_text:"Fototerkep.hu",best:true,description:"5 cm resolution bald image of 4 settlement"},{id:"South_Africa-CD_NGI-Aerial",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.83968,-32.79834],[17.88935,-32.69728],[18.00364,-32.69822],[18.09917,-32.74853],[18.28987,-32.55266],[18.29302,-32.04871],[18.10545,-31.6455],[17.85293,-31.3444],[17.548,-30.90217],[17.40445,-30.63747],[17.24937,-30.39917],[16.9937,-29.65436],[16.7988,-29.19437],[16.54941,-28.84159],[16.44987,-28.69188],[16.4491,-28.55158],[16.60026,-28.48257],[16.75141,-28.4487],[16.74622,-28.2459],[16.88551,-28.04729],[16.99295,-28.0244],[17.05297,-28.02571],[17.10076,-28.03388],[17.20115,-28.09305],[17.20263,-28.23284],[17.24746,-28.23382],[17.2508,-28.19889],[17.35119,-28.19759],[17.35156,-28.24427],[17.40158,-28.24524],[17.41491,-28.34898],[17.40083,-28.548],[17.4527,-28.54897],[17.45121,-28.64951],[17.49836,-28.68721],[17.60282,-28.683],[17.64997,-28.69679],[17.65259,-28.73815],[17.80139,-28.73815],[17.99943,-28.75606],[18.00027,-28.79562],[18.15745,-28.87181],[18.50638,-28.87181],[18.61536,-28.82959],[18.90875,-28.82775],[19.1047,-28.94885],[19.19691,-28.93785],[19.24301,-28.85162],[19.23149,-28.80296],[19.25873,-28.70099],[19.44315,-28.69732],[19.55003,-28.49583],[19.69673,-28.49399],[19.69882,-28.44794],[19.85076,-28.44333],[19.84971,-28.40278],[19.99536,-28.39909],[19.98937,-24.74979],[20.29167,-24.91923],[20.47246,-25.15017],[20.65324,-25.45294],[20.73326,-25.6802],[20.8281,-25.89635],[20.84292,-26.21585],[20.65028,-26.48409],[20.65324,-26.82049],[21.08891,-26.84693],[21.67277,-26.839],[21.7765,-26.66963],[21.97211,-26.64314],[22.28034,-26.32747],[22.57078,-26.1334],[22.77528,-25.67752],[23.00052,-25.27619],[23.46583,-25.27351],[23.88372,-25.59737],[24.2364,-25.6134],[24.60391,-25.78966],[25.1107,-25.73894],[25.50784,-25.68554],[25.64418,-25.48238],[25.84193,-24.78054],[25.84664,-24.75385],[26.39285,-24.63329],[26.47391,-24.56533],[26.509,-24.48424],[26.58619,-24.40758],[26.73006,-24.30145],[26.85674,-24.24995],[26.85744,-24.10269],[26.92155,-23.8991],[26.93183,-23.84619],[26.97148,-23.69943],[27.00061,-23.63676],[27.0578,-23.60526],[27.13605,-23.52034],[27.33396,-23.39738],[27.51441,-23.35939],[27.59581,-23.20855],[27.80986,-23.0995],[27.88285,-23.06205],[27.93829,-22.94965],[28.04076,-22.82551],[28.20568,-22.65529],[28.33972,-22.56394],[28.49061,-22.5607],[28.61088,-22.54002],[28.82818,-22.45502],[28.92853,-22.42323],[28.95941,-22.30901],[29.01626,-22.20834],[29.23241,-22.16935],[29.35312,-22.18429],[29.6549,-22.11864],[29.77771,-22.1362],[29.9293,-22.18494],[30.11668,-22.28303],[30.25634,-22.29148],[30.30336,-22.33952],[30.50618,-22.30576],[30.83743,-22.28498],[31.00586,-22.30771],[31.18342,-22.32329],[31.29306,-22.36746],[31.56806,-23.19034],[31.55683,-23.44308],[31.69311,-23.61752],[31.71197,-23.74114],[31.77747,-23.88006],[31.88863,-23.94811],[31.91444,-24.17467],[31.99483,-24.30409],[32.01667,-24.4406],[32.00773,-24.65366],[32.01964,-24.91407],[32.03552,-25.08498],[32.01964,-25.38214],[31.99285,-25.44938],[31.99979,-25.51657],[32.00575,-25.6079],[32.00575,-25.66248],[31.93627,-25.84037],[31.98094,-25.95465],[31.86878,-26.00373],[31.41621,-25.72777],[31.32291,-25.74386],[31.25046,-25.82965],[31.1393,-25.91627],[31.11647,-25.99124],[30.96561,-26.26658],[30.89217,-26.32797],[30.85346,-26.40356],[30.82269,-26.44888],[30.80226,-26.52407],[30.80384,-26.80821],[30.90209,-26.78075],[30.91003,-26.84895],[30.98249,-26.90826],[30.97653,-27.00292],[31.00344,-27.04416],[31.15433,-27.19804],[31.50156,-27.31112],[31.97002,-27.31112],[31.97002,-27.12047],[31.97697,-27.05066],[32.00025,-26.79839],[32.10698,-26.79846],[32.31145,-26.84795],[32.89999,-26.85161],[32.88609,-26.9817],[32.70943,-27.47854],[32.62407,-27.77751],[32.5814,-28.07479],[32.53872,-28.2288],[32.42756,-28.50216],[32.36404,-28.59457],[32.07026,-28.84698],[31.98788,-28.90695],[31.77648,-28.96949],[31.46385,-29.28593],[31.35963,-29.38543],[31.16808,-29.63074],[31.06486,-29.78935],[31.05345,-29.84705],[31.06699,-29.86403],[31.04555,-29.9502],[30.95186,-30.00339],[30.86518,-30.10241],[30.72447,-30.3925],[30.35563,-30.93089],[30.09724,-31.24583],[29.86731,-31.43043],[29.74094,-31.50147],[29.48131,-31.69787],[28.89432,-32.28989],[28.54971,-32.58946],[28.14365,-32.83207],[28.07487,-32.94169],[27.84509,-33.08287],[27.3758,-33.38607],[26.88054,-33.6459],[26.59169,-33.74808],[26.45273,-33.79358],[26.20675,-33.75489],[26.00779,-33.7224],[25.80555,-33.75243],[25.75111,-33.80065],[25.65291,-33.85436],[25.65291,-33.94698],[25.71958,-34.00401],[25.72028,-34.05112],[25.55089,-34.06315],[25.35046,-34.05026],[25.28106,-34.00203],[25.04763,-33.99946],[24.95472,-34.00436],[24.94966,-34.10104],[24.87704,-34.15065],[24.87629,-34.20053],[24.85326,-34.21896],[24.76453,-34.20179],[24.50014,-34.20033],[24.34867,-34.11638],[24.19888,-34.1019],[23.99634,-34.05144],[23.80175,-34.05243],[23.74936,-34.01119],[23.49735,-34.00901],[23.41552,-34.04346],[23.41543,-34.11404],[22.90009,-34.0993],[22.84124,-34.05479],[22.64703,-34.05026],[22.64598,-34.00728],[22.57002,-34.00641],[22.50505,-34.06459],[22.252,-34.06459],[22.22213,-34.10147],[22.16212,-34.1057],[22.17124,-34.15218],[22.15769,-34.21809],[22.00156,-34.21722],[21.9497,-34.322],[21.86115,-34.40071],[21.56147,-34.40201],[21.5468,-34.36612],[21.50174,-34.36699],[21.5007,-34.40201],[21.41949,-34.44652],[21.19787,-34.44782],[21.09882,-34.39913],[21.00337,-34.37539],[20.89319,-34.39971],[20.89766,-34.4854],[20.74468,-34.48281],[20.5042,-34.48626],[20.25272,-34.70148],[20.08035,-34.83619],[19.99233,-34.83791],[19.89907,-34.82758],[19.89383,-34.7936],[19.5973,-34.79618],[19.39297,-34.64202],[19.28771,-34.64048],[19.28614,-34.59866],[19.34744,-34.52445],[19.32853,-34.45344],[19.098,-34.44998],[19.07256,-34.38024],[19.00235,-34.35256],[18.95206,-34.39494],[18.7975,-34.39364],[18.79842,-34.10164],[18.50175,-34.10153],[18.49995,-34.36169],[18.44773,-34.362],[18.44799,-34.35227],[18.39744,-34.3514],[18.39717,-34.3023],[18.35657,-34.30056],[18.34793,-34.20204],[18.29721,-34.19503],[18.29511,-33.99371],[18.33745,-33.99141],[18.34766,-33.84924],[18.34793,-33.78155],[18.41247,-33.74488],[18.36155,-33.65016],[18.2992,-33.58559],[18.21668,-33.44887],[18.13899,-33.39741],[17.94735,-33.16026],[17.88552,-33.05757],[17.84859,-32.96685],[17.83968,-32.85073],[17.83968,-32.79834]]],best:true},{id:"South-Tyrol-Orthofoto2011",name:"South Tyrol Orthofoto 2011",type:"tms",template:"https://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",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",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:"https://geoservices.buergernetz.bz.it/geokatalog",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0"},{id:"South-Tyrol-Orthofoto2011-20cm",name:"South Tyrol Orthofoto 2011 (highres)",type:"wms",template:"https://geoservices.buergernetz.bz.it/geoserver/ows?SERVICE=WMS&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=P_BZ_OF_2011_EPSG3857,P_BZ_OF_2011_20cm_EPSG3857&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",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:"https://geoservices.buergernetz.bz.it/geokatalog",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0",description:"Orthophoto of South Tyrol from 2011 with up to 20cm resolution (larger valleys)"},{id:"South-Tyrol-Orthofoto-2014-2015",name:"South Tyrol Orthofoto 2014/2015",type:"tms",template:"https://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2014_2015_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg",endDate:"2015-11-01T00:00:00.000Z",startDate:"2014-07-01T00:00:00.000Z",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:"https://geoservices.buergernetz.bz.it/geokatalog",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 4.0",best:true},{id:"South-Tyrol-Topomap",name:"South Tyrol Topomap",type:"tms",template:"https://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{zoom}&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:"https://geoservices.buergernetz.bz.it/geokatalog",terms_text:"© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano",description:"Topographical basemap of South Tyrol"},{id:"SPW_ORTHO_LAST",name:"SPW(allonie) most recent aerial imagery",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/IMAGERIE/ORTHO_LAST/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]]],best:true,icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAACX0lEQVQ4y32TS09TURSFv3Pu7e2Dl7wqISCiAUNIlBjUhIkzhvqnTJw4cuZPcGSiDERRQkTEhIgSwISqaNNQW8pT6H2f7aAKLYmu4c7Od9beZ20lIvc5KyMgAkqBVvxLxWLxuxIRqS9KEBLmNol+FHBGh7EH+urABuP66HQStGZlZWVen6VGm3kO7j2k+vgZcalyCvZ9gvUc/rslzHH1pN4AkCjG7B+CViRGh0mMDEFsiLd38F4vcPjgEdGXPNR5tuvtxVslvMUP4AXEhZ+I5xMWilSfvsB/u4Rua0XCgHh7B92UaXQgro87NYP7ZBqJY6y+HsR1qU7N4E7PIcaQuD6Kle0i/JxDgqARYKou7qt5CAJUOgXG4C8uE2+V0C3NqEwas72L7u7AynaB1o0jKK3Qba2Y8g7RZh5TrqCz66fDhhHheo54q0T6ziTO1ZFGB6q5iczdSVRTGjl2kTDCHBwRb5UQz8fs7mF294m+5XGfzyJVt86BCOIHODeukfp6G292Ad3Zjk4liQtF7CuXwAjh+gbYNqZcQaLoFODNLWJ+HWEOj7CynSjA7O1DOg2OQ2JoEN3Zjqm6qKQDYYiyrFOAfbEflMIcH6MzaXRrC3G5QrD0CX2uDd3bQ/B+GeUkIIpr+Ug6dYALvbXcGwEFVk+WuLyD1XseqyeLPdiPti3MUZXg4xrJiXFUKlW3gz9fglU7HJVKYlwP3ZTBGR1GOQ7OzbFaS3cHicsDKNs6k8S/edg/xH35hnBtA+fW2J+rBKuzvfbWxDgqkTjpVyKydxYivo94Abqthf9pdXV18TfYtyESB1ygiAAAAABJRU5ErkJggg=="},{id:"SPW_PICC",name:"SPW(allonie) PICC numerical imagery",type:"wms",template:"https://geoservices.wallonie.be/arcgis/services/TOPOGRAPHIE/PICC_VDIFF/MapServer/WmsServer?SERVICE=WMS&VERSION=1.1.1&FORMAT=image/png8&TRANSPARENT=FALSE&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&LAYERS=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,26,27,28,29",projection:"EPSG:3857",polygon:[[[5.78257,49.87573],[5.73919,49.83362],[5.75516,49.79146],[5.78839,49.79665],[5.91064,49.66249],[5.84857,49.59723],[5.87102,49.57599],[5.81857,49.54638],[5.66079,49.55362],[5.61108,49.50603],[5.55603,49.52928],[5.47051,49.49737],[5.45708,49.56703],[5.37522,49.62333],[5.31486,49.61137],[5.33243,49.65263],[5.26851,49.69657],[5.16628,49.69303],[4.99753,49.80006],[4.85164,49.79345],[4.84754,49.86806],[4.89013,49.90893],[4.79117,49.958],[4.87762,50.15374],[4.82418,50.16932],[4.70207,50.09556],[4.69441,49.99625],[4.44551,49.93722],[4.30589,49.96829],[4.19746,49.9546],[4.1352,50.01508],[4.22825,50.07842],[4.19682,50.13519],[4.12714,50.1355],[4.2052,50.27347],[4.16262,50.28896],[4.13538,50.25784],[4.02795,50.3584],[3.88574,50.32701],[3.84578,50.35323],[3.74546,50.35005],[3.70994,50.30316],[3.65756,50.37076],[3.65552,50.4617],[3.60586,50.49632],[3.4993,50.48921],[3.51992,50.52362],[3.47439,50.53368],[3.37698,50.49109],[3.28634,50.52793],[3.26104,50.70131],[3.20602,50.71139],[3.17839,50.75609],[3.30562,50.75466],[3.36077,50.70962],[3.45439,50.77072],[3.64047,50.72242],[3.67752,50.77062],[3.75857,50.78045],[3.77568,50.74789],[3.8798,50.75146],[3.9097,50.69245],[4.05868,50.69439],[4.14853,50.72834],[4.2467,50.6894],[4.46355,50.75511],[4.52399,50.72724],[4.59727,50.76359],[4.63445,50.74272],[4.64309,50.79755],[4.76014,50.80544],[4.92545,50.74275],[5.00339,50.76594],[5.07039,50.70649],[5.16508,50.6957],[5.16984,50.72257],[5.30912,50.71802],[5.35029,50.74629],[5.47863,50.72352],[5.68786,50.81193],[5.68225,50.75651],[5.7707,50.75132],[5.81963,50.71396],[5.88333,50.70992],[5.89217,50.75518],[5.96561,50.76107],[6.04045,50.74546],[6.03959,50.71833],[6.11066,50.72299],[6.18169,50.62383],[6.26953,50.62519],[6.17812,50.54153],[6.22658,50.49432],[6.35036,50.48854],[6.34298,50.38033],[6.40542,50.32331],[6.30647,50.32019],[6.27889,50.26734],[6.17377,50.23165],[6.19232,50.18203],[6.147,50.17775],[6.13779,50.12985],[6.10245,50.17055],[5.96368,50.17263],[5.96133,50.13136],[5.89532,50.11216],[5.81968,50.01329],[5.83578,49.97892],[5.77502,49.9608],[5.73577,49.89684],[5.78257,49.87573]]],icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAACX0lEQVQ4y32TS09TURSFv3Pu7e2Dl7wqISCiAUNIlBjUhIkzhvqnTJw4cuZPcGSiDERRQkTEhIgSwISqaNNQW8pT6H2f7aAKLYmu4c7Od9beZ20lIvc5KyMgAkqBVvxLxWLxuxIRqS9KEBLmNol+FHBGh7EH+urABuP66HQStGZlZWVen6VGm3kO7j2k+vgZcalyCvZ9gvUc/rslzHH1pN4AkCjG7B+CViRGh0mMDEFsiLd38F4vcPjgEdGXPNR5tuvtxVslvMUP4AXEhZ+I5xMWilSfvsB/u4Rua0XCgHh7B92UaXQgro87NYP7ZBqJY6y+HsR1qU7N4E7PIcaQuD6Kle0i/JxDgqARYKou7qt5CAJUOgXG4C8uE2+V0C3NqEwas72L7u7AynaB1o0jKK3Qba2Y8g7RZh5TrqCz66fDhhHheo54q0T6ziTO1ZFGB6q5iczdSVRTGjl2kTDCHBwRb5UQz8fs7mF294m+5XGfzyJVt86BCOIHODeukfp6G292Ad3Zjk4liQtF7CuXwAjh+gbYNqZcQaLoFODNLWJ+HWEOj7CynSjA7O1DOg2OQ2JoEN3Zjqm6qKQDYYiyrFOAfbEflMIcH6MzaXRrC3G5QrD0CX2uDd3bQ/B+GeUkIIpr+Ug6dYALvbXcGwEFVk+WuLyD1XseqyeLPdiPti3MUZXg4xrJiXFUKlW3gz9fglU7HJVKYlwP3ZTBGR1GOQ7OzbFaS3cHicsDKNs6k8S/edg/xH35hnBtA+fW2J+rBKuzvfbWxDgqkTjpVyKydxYivo94Abqthf9pdXV18TfYtyESB1ygiAAAAABJRU5ErkJggg=="},{id:"Bern-bern2016-tms",name:"Stadt Bern 10cm (2016)",type:"tms",template:"https://mapproxy.osm.ch/tiles/bern2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",scaleExtent:[8,21],polygon:[[[7.29431,46.92376],[7.29827,46.92747],[7.30616,46.93095],[7.30433,46.93623],[7.30686,46.94037],[7.32464,46.94328],[7.32845,46.94641],[7.34141,46.94608],[7.34385,46.94737],[7.34346,46.94879],[7.35136,46.94855],[7.35056,46.95021],[7.35309,46.95193],[7.3582,46.95118],[7.3685,46.95662],[7.37151,46.96073],[7.37503,46.95983],[7.37851,46.96147],[7.38062,46.96547],[7.38321,46.9663],[7.3938,46.96693],[7.40005,46.96918],[7.40829,46.96869],[7.42817,46.9738],[7.43271,46.97269],[7.43536,46.96843],[7.43785,46.96843],[7.44125,46.97679],[7.44569,46.97479],[7.44838,46.97564],[7.4477,46.97901],[7.44405,46.97807],[7.44127,46.97982],[7.45067,46.99015],[7.45221,46.98968],[7.45465,46.97782],[7.46804,46.97583],[7.47079,46.97],[7.47019,46.96741],[7.47816,46.97118],[7.48452,46.97016],[7.48613,46.9679],[7.48579,46.96468],[7.47847,46.9629],[7.48029,46.96068],[7.47893,46.95878],[7.47978,46.9566],[7.47701,46.95446],[7.48405,46.94999],[7.48339,46.9452],[7.49556,46.93962],[7.49351,46.93766],[7.4908,46.93876],[7.4895,46.93687],[7.47667,46.93695],[7.47811,46.93625],[7.4747,46.93392],[7.47535,46.93299],[7.4691,46.92924],[7.47077,46.9255],[7.45857,46.93484],[7.44764,46.93043],[7.43542,46.93497],[7.4338,46.93312],[7.43764,46.93074],[7.41469,46.93682],[7.41384,46.93157],[7.40708,46.93038],[7.40806,46.92563],[7.40213,46.9242],[7.40148,46.92119],[7.38757,46.93045],[7.38231,46.92728],[7.38002,46.92989],[7.38087,46.93241],[7.37487,46.93143],[7.37489,46.93271],[7.36807,46.93239],[7.36831,46.93043],[7.36041,46.92859],[7.36056,46.9272],[7.33878,46.92454],[7.33937,46.91967],[7.32746,46.91903],[7.32692,46.9236],[7.32437,46.92519],[7.30823,46.92229],[7.29431,46.92376]]],terms_text:"Orthophoto 2016, Vermessungsamt Stadt Bern",best:true},{id:"Bern-2012",name:"Stadt Bern 10cm/25cm (2012)",type:"tms",template:"https://mapproxy.osm.ch/tiles/bern2012/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",scaleExtent:[14,19],polygon:[[[7.3807,47.00952],[7.38073,47.02301],[7.43853,47.02303],[7.43865,47.01408],[7.45174,47.014],[7.45172,47.00503],[7.54111,47.005],[7.54111,46.99873],[7.54378,46.99871],[7.54375,46.98696],[7.55682,46.987],[7.55685,46.96003],[7.51744,46.96001],[7.51744,46.95108],[7.53051,46.95106],[7.53051,46.92407],[7.51741,46.92405],[7.51738,46.91505],[7.53042,46.91507],[7.53048,46.9061],[7.54358,46.90602],[7.54358,46.87905],[7.55659,46.87903],[7.55662,46.8611],[7.54349,46.86104],[7.5434,46.85212],[7.49095,46.85212],[7.49107,46.87907],[7.47794,46.87909],[7.47797,46.89707],[7.45168,46.89713],[7.45171,46.88808],[7.43855,46.88814],[7.43858,46.87015],[7.41233,46.87015],[7.41236,46.87907],[7.39917,46.87911],[7.3992,46.86108],[7.38613,46.86114],[7.3861,46.85218],[7.373,46.85216],[7.37303,46.86112],[7.34677,46.8611],[7.3468,46.88808],[7.25488,46.88796],[7.25485,46.90596],[7.24172,46.90592],[7.24169,46.91497],[7.22856,46.91493],[7.22833,46.96887],[7.24146,46.96891],[7.24149,46.98688],[7.26769,46.98694],[7.26777,46.99593],[7.28078,46.99595],[7.2809,47.0094],[7.3807,47.00952]]],terms_text:"Orthophoto 2012, Vermessungsamt Stadt Bern"},{id:"Uster-2008",name:"Stadt Uster Orthophoto 2008 10cm",type:"tms",template:"https://mapproxy.osm.ch/tiles/uster/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2008-01-01T00:00:00.000Z",startDate:"2008-01-01T00:00:00.000Z",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"},{id:"Zuerich-zh_luftbild2011-tms",name:"Stadt Zürich Luftbild 2011",type:"tms",template:"https://mapproxy.osm.ch/tiles/zh_luftbild2011/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",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"},{id:"Zuerich-city_map",name:"Stadtplan Zürich",type:"tms",template:"https://mapproxy.osm.ch/tiles/zh_stadtplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",polygon:[[[8.56681,47.34713],[8.56665,47.34706],[8.56563,47.34684],[8.56575,47.34666],[8.56509,47.34645],[8.54207,47.33502],[8.54073,47.33376],[8.5403,47.33396],[8.54019,47.33372],[8.54042,47.33358],[8.5388,47.33208],[8.53642,47.33076],[8.53622,47.33018],[8.53345,47.32992],[8.5318,47.3295],[8.53145,47.32846],[8.53102,47.32789],[8.52974,47.32777],[8.52969,47.32687],[8.52899,47.32698],[8.52813,47.32685],[8.52802,47.32635],[8.52755,47.32639],[8.52762,47.32616],[8.52579,47.32619],[8.52563,47.32575],[8.52426,47.32608],[8.5242,47.32486],[8.52372,47.32416],[8.52304,47.32433],[8.52193,47.32436],[8.52194,47.32394],[8.51932,47.32401],[8.51868,47.32386],[8.51768,47.3232],[8.51642,47.32308],[8.5156,47.32315],[8.51472,47.32272],[8.51295,47.3229],[8.51162,47.32222],[8.50957,47.32202],[8.5095,47.32165],[8.50788,47.32203],[8.50735,47.32173],[8.50529,47.32144],[8.50476,47.32121],[8.5043,47.32074],[8.50317,47.32022],[8.50241,47.32053],[8.50227,47.32082],[8.50152,47.32129],[8.50102,47.32198],[8.50095,47.32259],[8.5006,47.32278],[8.50078,47.3237],[8.50066,47.32451],[8.50098,47.32595],[8.5015,47.3265],[8.50159,47.32732],[8.50188,47.32765],[8.50132,47.32883],[8.5014,47.32903],[8.50069,47.32979],[8.50087,47.33053],[8.50063,47.3311],[8.50112,47.33183],[8.50075,47.33202],[8.50078,47.33224],[8.50106,47.3326],[8.50191,47.33303],[8.5022,47.33364],[8.50177,47.33412],[8.50152,47.33504],[8.50199,47.33666],[8.50161,47.33728],[8.49877,47.33968],[8.49808,47.34169],[8.49702,47.34247],[8.49709,47.34326],[8.49798,47.34365],[8.4981,47.34387],[8.49817,47.34453],[8.49773,47.34521],[8.49636,47.34648],[8.4951,47.34691],[8.49467,47.3476],[8.49285,47.34828],[8.49206,47.3495],[8.49145,47.34964],[8.49128,47.34983],[8.49089,47.35067],[8.49,47.35056],[8.48813,47.352],[8.48691,47.35203],[8.4868,47.3522],[8.48728,47.35311],[8.4871,47.3534],[8.48501,47.35469],[8.48463,47.35536],[8.48463,47.3567],[8.48426,47.35737],[8.48321,47.35814],[8.48272,47.35907],[8.48205,47.35954],[8.47879,47.36078],[8.47698,47.36029],[8.47365,47.36081],[8.47275,47.36079],[8.47169,47.36132],[8.47053,47.36166],[8.46951,47.36438],[8.4664,47.36574],[8.46583,47.3661],[8.46545,47.36664],[8.46485,47.36681],[8.46427,47.36728],[8.46418,47.36838],[8.4649,47.36897],[8.46482,47.36911],[8.46938,47.37136],[8.47042,47.3726],[8.47022,47.37395],[8.46868,47.37382],[8.46761,47.37357],[8.46544,47.37444],[8.46288,47.37603],[8.45995,47.3775],[8.45638,47.37801],[8.45116,47.37817],[8.45047,47.37836],[8.44847,47.37967],[8.44801,47.38025],[8.45174,47.38062],[8.45371,47.38027],[8.45614,47.38072],[8.45669,47.38094],[8.45673,47.38244],[8.45745,47.38222],[8.45843,47.38231],[8.45841,47.38263],[8.45745,47.38325],[8.45767,47.3834],[8.45756,47.38371],[8.45807,47.38388],[8.46004,47.38594],[8.46088,47.38704],[8.46121,47.38795],[8.46104,47.38803],[8.46381,47.39053],[8.46518,47.39132],[8.46556,47.39113],[8.46618,47.39113],[8.46727,47.39065],[8.46697,47.39131],[8.46739,47.3929],[8.4671,47.39334],[8.46607,47.39378],[8.4651,47.39453],[8.46484,47.39481],[8.46488,47.39508],[8.46535,47.39492],[8.46854,47.39461],[8.47018,47.39401],[8.47066,47.39439],[8.47191,47.39388],[8.47208,47.39408],[8.47152,47.3943],[8.47151,47.3949],[8.4721,47.39517],[8.47301,47.39506],[8.47349,47.396],[8.46516,47.39829],[8.46568,47.39922],[8.46759,47.39873],[8.46806,47.39957],[8.46615,47.40006],[8.4677,47.403],[8.4699,47.40298],[8.47551,47.40381],[8.47815,47.40387],[8.47819,47.40508],[8.47738,47.40517],[8.47705,47.40619],[8.47729,47.40914],[8.47703,47.40935],[8.47543,47.40971],[8.47583,47.41077],[8.47605,47.41072],[8.47628,47.41102],[8.47665,47.41097],[8.47725,47.41194],[8.47488,47.41241],[8.47394,47.41222],[8.47303,47.41146],[8.47268,47.41058],[8.47101,47.41094],[8.47113,47.41137],[8.47085,47.41167],[8.47044,47.41159],[8.47031,47.41253],[8.46876,47.41225],[8.46801,47.41334],[8.46863,47.41363],[8.46857,47.41408],[8.46955,47.41484],[8.47007,47.41557],[8.46913,47.41649],[8.46913,47.41693],[8.46962,47.41752],[8.47158,47.41763],[8.4772,47.41974],[8.47688,47.42016],[8.47783,47.42212],[8.47895,47.42172],[8.47937,47.42113],[8.47972,47.42141],[8.48131,47.42134],[8.48171,47.423],[8.48294,47.42266],[8.48292,47.42222],[8.48609,47.42155],[8.48658,47.42164],[8.48683,47.42186],[8.48796,47.42201],[8.48851,47.42271],[8.49019,47.42234],[8.491,47.4239],[8.49006,47.42435],[8.49007,47.42532],[8.49027,47.42536],[8.49017,47.42578],[8.48552,47.42712],[8.48481,47.42784],[8.48466,47.42873],[8.48437,47.42896],[8.48445,47.42979],[8.48579,47.43103],[8.49562,47.43281],[8.50027,47.43442],[8.50207,47.43467],[8.50364,47.43402],[8.50997,47.43213],[8.51155,47.43116],[8.51274,47.43085],[8.516,47.43174],[8.51628,47.43175],[8.51681,47.43133],[8.51872,47.4319],[8.51979,47.43167],[8.52463,47.43126],[8.52549,47.43316],[8.5303,47.43207],[8.53063,47.43266],[8.533,47.43228],[8.53374,47.43251],[8.53467,47.432],[8.53521,47.43188],[8.53606,47.43187],[8.5374,47.4314],[8.53964,47.43126],[8.5401,47.4311],[8.54033,47.43186],[8.54363,47.43143],[8.54284,47.43289],[8.54311,47.43288],[8.54451,47.4325],[8.54459,47.43262],[8.54607,47.43207],[8.54858,47.43142],[8.55009,47.43128],[8.55098,47.43102],[8.55199,47.43104],[8.55535,47.43066],[8.5561,47.42803],[8.55684,47.42624],[8.55783,47.42554],[8.55697,47.4249],[8.55736,47.42472],[8.5569,47.42424],[8.55723,47.4241],[8.55419,47.4208],[8.56082,47.41817],[8.56129,47.41829],[8.56235,47.41632],[8.56282,47.41643],[8.56323,47.41565],[8.56622,47.41632],[8.56692,47.41629],[8.56735,47.41649],[8.5678,47.41684],[8.56875,47.41855],[8.56903,47.41871],[8.5696,47.41868],[8.56944,47.41926],[8.57223,47.41893],[8.57367,47.42004],[8.57378,47.4178],[8.57342,47.41711],[8.57386,47.41438],[8.57384,47.41324],[8.57331,47.41257],[8.5726,47.41207],[8.573,47.41144],[8.58806,47.40797],[8.58894,47.40756],[8.59312,47.40704],[8.59728,47.40631],[8.59722,47.406],[8.59608,47.40612],[8.59378,47.40222],[8.59622,47.40154],[8.5948,47.39918],[8.59725,47.39851],[8.59644,47.39715],[8.59637,47.39663],[8.59623,47.39646],[8.59453,47.39712],[8.59392,47.39647],[8.59335,47.39614],[8.59208,47.39691],[8.59172,47.39681],[8.59148,47.397],[8.58828,47.3958],[8.58905,47.39501],[8.58995,47.39478],[8.58818,47.39351],[8.58752,47.39321],[8.58747,47.39297],[8.58619,47.3928],[8.58442,47.39195],[8.58369,47.39008],[8.58305,47.38905],[8.58316,47.38831],[8.58437,47.38834],[8.58432,47.38894],[8.58492,47.39011],[8.58528,47.3904],[8.58696,47.39017],[8.5869,47.38977],[8.58765,47.38905],[8.58698,47.38793],[8.59181,47.38638],[8.59307,47.38565],[8.59299,47.38523],[8.59354,47.38522],[8.59274,47.38417],[8.59082,47.38476],[8.59013,47.38381],[8.58966,47.384],[8.58956,47.38373],[8.59217,47.38311],[8.59151,47.38244],[8.59384,47.38081],[8.59407,47.38061],[8.59406,47.38029],[8.59556,47.3796],[8.59574,47.37927],[8.59721,47.37849],[8.59674,47.37782],[8.59702,47.37716],[8.5976,47.37661],[8.59705,47.37589],[8.59778,47.37557],[8.59828,47.3751],[8.59855,47.37473],[8.59813,47.37447],[8.6002,47.37331],[8.60053,47.3734],[8.60096,47.37312],[8.60194,47.37198],[8.60192,47.37171],[8.60324,47.37131],[8.60607,47.36871],[8.60745,47.36816],[8.60812,47.36761],[8.61067,47.3673],[8.612,47.36684],[8.61308,47.36776],[8.61344,47.36779],[8.61366,47.36802],[8.61549,47.3677],[8.61645,47.36841],[8.61665,47.36828],[8.61764,47.36681],[8.61709,47.36626],[8.61682,47.36535],[8.61565,47.36466],[8.61495,47.36458],[8.61557,47.36342],[8.61566,47.36273],[8.61482,47.36263],[8.6147,47.36151],[8.61929,47.36121],[8.61996,47.36104],[8.62174,47.36007],[8.62257,47.35983],[8.62187,47.35946],[8.62133,47.35746],[8.62351,47.35592],[8.62352,47.35561],[8.62544,47.35466],[8.62416,47.35397],[8.62245,47.35364],[8.62209,47.35334],[8.61989,47.35367],[8.61976,47.35385],[8.61844,47.35382],[8.61839,47.35425],[8.61708,47.35414],[8.61569,47.35442],[8.6152,47.3541],[8.61386,47.35402],[8.61255,47.35437],[8.61156,47.35394],[8.61107,47.35352],[8.61042,47.35337],[8.60946,47.35352],[8.60776,47.35333],[8.60607,47.35363],[8.60506,47.35359],[8.6038,47.353],[8.60305,47.35219],[8.6032,47.35207],[8.60294,47.35175],[8.603,47.35076],[8.60262,47.35073],[8.6016,47.35073],[8.60104,47.35105],[8.60026,47.35112],[8.5996,47.35145],[8.59859,47.35145],[8.59824,47.35165],[8.59689,47.3514],[8.59666,47.35161],[8.59596,47.35169],[8.59564,47.3519],[8.59494,47.35161],[8.59454,47.35175],[8.5939,47.35161],[8.5935,47.35211],[8.59229,47.3523],[8.59189,47.35278],[8.59118,47.35321],[8.59047,47.35271],[8.59014,47.35286],[8.58846,47.35289],[8.58797,47.35307],[8.58748,47.35267],[8.5863,47.35288],[8.58591,47.35231],[8.5853,47.35201],[8.58462,47.35141],[8.58417,47.35129],[8.58438,47.35116],[8.58398,47.35085],[8.58348,47.35104],[8.58335,47.35087],[8.58221,47.35101],[8.58246,47.35062],[8.57851,47.34873],[8.57827,47.34888],[8.57786,47.34865],[8.57686,47.34878],[8.57688,47.34859],[8.57625,47.34839],[8.57308,47.34751],[8.573,47.34765],[8.57214,47.34744],[8.57163,47.34728],[8.5717,47.34712],[8.57029,47.34672],[8.56968,47.3476],[8.56741,47.34674],[8.56681,47.34713]]],terms_text:"Stadt Zürich Open Government Data"},{id:"stamen-terrain-background",name:"Stamen Terrain",type:"tms",template:"https://stamen-tiles-{switch:a,b,c,d}.a.ssl.fastly.net/terrain-background/{zoom}/{x}/{y}.jpg",scaleExtent:[4,18],terms_url:"http://maps.stamen.com/#terrain",terms_text:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL",icon:"https://stamen.com/wp-content/uploads/2016/07/stamen_compass_rose_small-01.png"},{id:"Surrey-Air_Survey",name:"Surrey Air Survey",type:"tms",template:"https://{switch:a,b,c}.surrey.aerial.openstreetmap.org.uk/layer/gb_surrey_aerial/{zoom}/{x}/{y}.png",endDate:"2009-01-01T00:00:00.000Z",startDate:"2007-01-01T00:00:00.000Z",scaleExtent:[8,21],polygon:[[[-0.75248,51.08219],[-0.75952,51.08563],[-0.80143,51.14579],[-0.83989,51.14407],[-0.83577,51.18024],[-0.85295,51.20113],[-0.85227,51.20962],[-0.84952,51.2179],[-0.82669,51.24037],[-0.8121,51.24692],[-0.77365,51.24596],[-0.75442,51.23811],[-0.75408,51.23392],[-0.74464,51.23338],[-0.74307,51.28472],[-0.7515,51.30695],[-0.76644,51.3121],[-0.78206,51.32702],[-0.78154,51.33881],[-0.73743,51.37205],[-0.71923,51.37697],[-0.67958,51.3848],[-0.68078,51.39015],[-0.65314,51.39176],[-0.63014,51.39058],[-0.62911,51.39701],[-0.62344,51.39776],[-0.61314,51.42956],[-0.60025,51.44591],[-0.58671,51.44454],[-0.57624,51.4532],[-0.56268,51.45235],[-0.54774,51.447],[-0.53727,51.44486],[-0.5371,51.45267],[-0.54396,51.45459],[-0.54053,51.46989],[-0.53092,51.47609],[-0.50912,51.47448],[-0.5086,51.46957],[-0.49006,51.46828],[-0.45264,51.46069],[-0.44869,51.44293],[-0.44148,51.44186],[-0.44183,51.43694],[-0.41127,51.43801],[-0.40149,51.42795],[-0.38071,51.42624],[-0.38054,51.41617],[-0.34913,51.41382],[-0.3275,51.40375],[-0.30398,51.39904],[-0.30192,51.37547],[-0.30948,51.36969],[-0.31119,51.35297],[-0.29557,51.35415],[-0.29231,51.36733],[-0.2851,51.36808],[-0.27875,51.37719],[-0.26553,51.38372],[-0.24115,51.3848],[-0.21231,51.36283],[-0.21077,51.34986],[-0.19086,51.35029],[-0.15429,51.33388],[-0.14966,51.30577],[-0.10743,51.29665],[-0.08872,51.30996],[-0.08786,51.32208],[-0.0652,51.32154],[-0.06417,51.32648],[-0.05198,51.32637],[-0.05284,51.33463],[-0.03308,51.34309],[0.00192,51.33763],[0.01188,51.3282],[0.01393,51.29944],[0.02029,51.29944],[0.02406,51.30727],[0.03316,51.30867],[0.04552,51.30545],[0.05239,51.28774],[0.06166,51.25778],[0.06406,51.24155],[0.04621,51.21263],[0.04071,51.21091],[0.04483,51.19898],[0.04947,51.19973],[0.05582,51.19446],[0.06114,51.17907],[0.06234,51.15421],[0.05771,51.14171],[0.02046,51.13654],[-0.0446,51.13364],[-0.1567,51.13525],[-0.15721,51.129],[-0.22879,51.11834],[-0.24733,51.11834],[-0.25008,51.12114],[-0.29935,51.1137],[-0.32218,51.11198],[-0.32235,51.10584],[-0.3596,51.10196],[-0.35891,51.11133],[-0.38638,51.11176],[-0.3869,51.10625],[-0.4281,51.09472],[-0.48568,51.09516],[-0.48713,51.08723],[-0.52974,51.08654],[-0.53023,51.07899],[-0.61046,51.07655],[-0.60997,51.08067],[-0.6578,51.07922],[-0.65828,51.07434],[-0.68365,51.07075],[-0.6998,51.07083],[-0.72966,51.07449],[-0.75248,51.08219]]]},{id:"Szeged_2011",name:"Szeged orthophoto 2011",type:"tms",template:"http://e.tile.openstreetmap.hu/szeged-2011-10cm/{zoom}/{x}/{y}.png",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",scaleExtent:[10,22],polygon:[[[20.14599,46.22811],[20.13323,46.22904],[20.12584,46.22987],[20.12233,46.23099],[20.12085,46.23175],[20.11897,46.23351],[20.11312,46.24136],[20.11203,46.2433],[20.11157,46.245],[20.11119,46.24709],[20.11129,46.24877],[20.11159,46.25097],[20.11222,46.2528],[20.11299,46.25427],[20.11354,46.25535],[20.11477,46.2568],[20.13523,46.27685],[20.13664,46.27751],[20.13789,46.27803],[20.13939,46.27835],[20.14088,46.27846],[20.16115,46.27816],[20.16211,46.27816],[20.16359,46.2777],[20.16618,46.27615],[20.16878,46.27386],[20.16961,46.27144],[20.16959,46.27045],[20.17009,46.27044],[20.17399,46.26433],[20.17662,46.25829],[20.1948,46.25492],[20.18587,46.24481],[20.18466,46.24531],[20.17804,46.23831],[20.17818,46.23771],[20.17953,46.2371],[20.17257,46.23002],[20.16983,46.23504],[20.16877,46.23629],[20.16703,46.23785],[20.16594,46.23873],[20.16544,46.239],[20.16548,46.239],[20.16352,46.24014],[20.16021,46.2412],[20.15927,46.24153],[20.15927,46.24158],[20.15835,46.24185],[20.15495,46.24229],[20.15108,46.23515],[20.14938,46.23246],[20.14599,46.22811]]],terms_url:"http://www.geo.u-szeged.hu",terms_text:"SZTE TFGT - University of Szeged",best:true,description:"Inner part of Szeged"},{id:"teotonio_vilela",name:"Teotonio Vilela AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Teotonio%20Vilela&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.31164,-9.95468],[-36.31158,-9.94382],[-36.31145,-9.93197],[-36.31127,-9.92436],[-36.31123,-9.91848],[-36.31119,-9.91637],[-36.31141,-9.91324],[-36.3111,-9.90922],[-36.31108,-9.90318],[-36.31099,-9.89379],[-36.31089,-9.8842],[-36.31078,-9.87412],[-36.31068,-9.86457],[-36.3318,-9.86432],[-36.34001,-9.86437],[-36.3478,-9.86425],[-36.35917,-9.8642],[-36.37047,-9.86404],[-36.38448,-9.86386],[-36.40164,-9.86364],[-36.40221,-9.9225],[-36.40249,-9.93177],[-36.40259,-9.94183],[-36.40248,-9.94804],[-36.40266,-9.9537],[-36.3855,-9.95384],[-36.38283,-9.95392],[-36.37096,-9.95399],[-36.36232,-9.95423],[-36.34747,-9.95422],[-36.33287,-9.95446],[-36.3291,-9.95456],[-36.32089,-9.95459],[-36.31164,-9.95468]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"tnris.org",name:"Texas Orthophoto",type:"tms",template:"https://txgi.tnris.org/login/path/ecology-fiona-poem-romeo/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=texas&STYLE=&FORMAT=image/png&tileMatrixSet=0to20&tileMatrix=0to20:{zoom}&tileRow={y}&tileCol={x}",startDate:"2012-01-01T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[-99.99854,34.56018],[-95.55655,33.99257],[-93.89679,33.61039],[-93.98468,32.04103],[-93.41614,31.02505],[-93.74531,29.57268],[-96.50492,28.23159],[-97.36942,26.95467],[-97.04867,25.8053],[-99.07342,26.32559],[-100.76599,29.02532],[-102.33154,29.84339],[-103.13355,28.88112],[-104.28879,29.28831],[-104.72698,29.94816],[-104.72697,30.23535],[-106.5345,31.78457],[-106.75767,31.78457],[-106.75766,32.04386],[-106.61848,32.04385],[-103.11949,32.04376],[-103.09544,36.50046],[-103.05798,36.54269],[-100.00042,36.54222],[-99.99854,34.56018]]],terms_url:"https://tnris.org/maps-and-data/online-mapping-services",terms_text:"Texas Natural Resources Information System"},{id:"tf-landscape",name:"Thunderforest Landscape",type:"tms",template:"https://{switch:a,b,c}.tile.thunderforest.com/landscape/{zoom}/{x}/{y}.png",scaleExtent:[0,22],terms_url:"https://www.thunderforest.com/terms",terms_text:"Maps © Thunderforest, Data © OpenStreetMap contributors"},{id:"US-TIGER-Roads-2017",name:"TIGER Roads 2017",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/openstreetmapus/cj8dftc3q1ecn2tnx9qhwyj0c/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcHVzIiwiYSI6ImNpcnF4Ym43dDBoOXZmYW04bWhlNWdrY2EifQ.4SFexuTUuKkZeerO3dgtmw",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",scaleExtent:[0,22],polygon:[[[-124.76179,48.41301],[-124.60595,45.90245],[-124.99343,40.05576],[-122.53697,36.85661],[-119.97759,33.00641],[-117.67593,32.46302],[-114.86123,32.47999],[-111.00893,31.33601],[-108.19927,31.326],[-108.18711,31.77551],[-106.53072,31.78209],[-106.48421,31.74645],[-106.42932,31.75206],[-106.28689,31.56133],[-106.20525,31.4467],[-105.02053,30.5361],[-104.58819,29.69979],[-103.25189,28.89087],[-102.71736,29.39206],[-102.1514,29.74757],[-101.25529,29.48105],[-100.00624,28.00822],[-99.23511,26.4476],[-98.01091,25.9928],[-97.43502,25.8266],[-96.95553,25.98216],[-96.80617,27.79782],[-95.55633,28.58761],[-93.74053,29.47421],[-90.90285,28.85645],[-88.01567,28.99443],[-88.01625,30.00389],[-86.02775,30.00475],[-84.01879,28.99618],[-81.9972,25.98268],[-81.99666,25.01349],[-84.01656,25.01258],[-84.01601,24.00527],[-80.02,24.0071],[-79.89011,26.85507],[-80.02453,32.01613],[-75.41474,35.05319],[-74.02112,39.57279],[-72.00202,40.99125],[-69.87974,40.99205],[-69.84893,43.26199],[-66.94528,44.71049],[-67.75966,47.099],[-69.25051,47.51223],[-70.46149,46.21766],[-71.41227,45.25488],[-72.02225,45.00598],[-75.07988,44.98029],[-76.90231,43.80246],[-78.76239,43.62496],[-79.15798,43.44626],[-79.00601,42.80053],[-82.66248,41.68895],[-82.17616,43.58854],[-83.2814,46.13885],[-87.50645,48.01427],[-88.34922,48.29633],[-89.43531,47.98378],[-93.99811,49.00671],[-95.11054,49.412],[-96.01312,49.00605],[-123.32289,49.00429],[-123.22752,48.18499],[-124.76179,48.41301]],[[-160.57876,22.50629],[-160.57822,21.49846],[-158.74706,21.24398],[-157.50832,20.9958],[-155.99619,18.77902],[-154.62178,18.7587],[-154.68902,19.88057],[-156.29276,21.22259],[-157.50474,21.9985],[-159.00937,22.50702],[-160.57876,22.50629]],[[-167.1572,68.722],[-164.8554,67.0255],[-168.0022,66.0018],[-169.0087,66.0015],[-169.0075,64.9988],[-172.5143,63.8767],[-173.8197,59.7401],[-178.0001,52.2446],[-177.9993,51.2554],[-171.4689,51.8215],[-162.4025,53.9567],[-159.0076,55.0025],[-158.0191,55.0028],[-151.9963,55.9992],[-151.5003,57.9988],[-151.5013,58.992],[-138.516,58.9953],[-138.515,57.9986],[-133.9948,54.0032],[-130.0044,54.0043],[-130.0071,57.0001],[-131.9759,56.9995],[-135.123,59.7566],[-138.0072,59.9918],[-139.1716,60.4127],[-140.9874,61.0119],[-140.9684,69.9535],[-156.1769,71.5633],[-160.4136,70.7398],[-163.0218,69.9707],[-164.9717,68.9947],[-167.1572,68.722]],[[-68.2,17.8],[-64.32,17.38],[-64.64,18.36],[-65.33,18.57],[-67.9,18.67],[-68.2,17.8]],[[146.2,15.4],[145.7,15.6],[144.2,13.2],[144.8,12.9],[146.2,15.4]],[[179.99,52.2],[172,53.5],[172,52.5],[179.99,51],[179.99,52.2]]],description:"Yellow = Public domain map data from the US Census. Red = Data not found in OpenStreetMap",icon:"data:image/png;base64,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",overlay:true},{id:"tirol.gv.at-contourlines",name:"Tiris: contour lines",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Hoehenschichtlinien 20m&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[15,22],polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif",overlay:true},{id:"tirol.gv.at-DGM",name:"Tiris: DGM (Terrain model)",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image Schummerung_Gelaendemodell&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif"},{id:"tirol.gv.at-DOM",name:"Tiris: DOM (Surface model)",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/terrain/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image Schummerung_Oberflaechenmodell&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif"},{id:"tirol.gv.at-orthofoto",name:"Tiris: orthophoto",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/orthofoto/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image_Aktuell_RGB&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif"},{id:"tirol.gv.at-orthofoto-cir",name:"Tiris: orthophoto infrared",type:"wms",template:"https://gis.tirol.gv.at/arcgis/services/Service_Public/orthofoto/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Image_Aktuell_CIR&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[10.43998,47.59768],[10.47886,47.59925],[10.50277,47.58656],[10.4838,47.55979],[10.51312,47.5435],[10.57177,47.54582],[10.57004,47.56212],[10.60109,47.58074],[10.63904,47.5691],[10.70804,47.57027],[10.71149,47.54932],[10.76841,47.55048],[10.78566,47.52603],[10.89605,47.55048],[10.93572,47.5237],[10.934,47.50506],[10.89088,47.49573],[10.95125,47.49107],[10.9547,47.46776],[11.003,47.43276],[10.99092,47.40825],[11.10304,47.40475],[11.11511,47.41993],[11.20998,47.4456],[11.26863,47.44093],[11.26691,47.41059],[11.29451,47.4421],[11.33073,47.46076],[11.38248,47.45843],[11.3704,47.47592],[11.4394,47.53069],[11.467,47.51787],[11.57394,47.5237],[11.57567,47.55863],[11.59809,47.59121],[11.63431,47.60633],[11.66881,47.5947],[11.793,47.60284],[11.83958,47.59238],[11.84993,47.61098],[12.00689,47.63656],[12.03622,47.62494],[12.07761,47.62726],[12.10866,47.61912],[12.19491,47.62261],[12.15351,47.68768],[12.15868,47.7167],[12.18111,47.71206],[12.21906,47.72482],[12.24148,47.75382],[12.27253,47.7515],[12.2846,47.73178],[12.26563,47.69581],[12.33635,47.7109],[12.37602,47.69581],[12.44329,47.70277],[12.45364,47.69232],[12.45364,47.6749],[12.51057,47.63191],[12.53126,47.64586],[12.58991,47.63424],[12.57956,47.61098],[12.66581,47.5947],[12.67961,47.57492],[12.64511,47.55048],[12.66753,47.53185],[12.68478,47.50389],[12.71238,47.48175],[12.66753,47.45609],[12.64166,47.45959],[12.65028,47.44326],[12.62096,47.40709],[12.57439,47.38607],[12.55024,47.39658],[12.49159,47.37205],[12.50884,47.35102],[12.48814,47.32063],[12.43467,47.32297],[12.41397,47.30426],[12.36395,47.30894],[12.3122,47.32764],[12.2708,47.29841],[12.17766,47.29373],[12.14833,47.28437],[12.11729,47.29958],[12.09831,47.27501],[12.12591,47.25042],[12.09659,47.19771],[12.11039,47.14846],[12.14143,47.10974],[12.13799,47.08977],[12.15006,47.07568],[12.00517,47.04395],[11.92065,47.02985],[11.83095,46.99103],[11.78783,46.98633],[11.77403,46.9675],[11.73091,46.96514],[11.70676,46.98986],[11.64294,46.99456],[11.61189,47.00515],[11.53254,46.97809],[11.49287,47.00868],[11.44457,46.9675],[11.4049,46.96161],[11.34453,46.98633],[11.20309,46.9569],[11.17549,46.96161],[11.17721,46.94395],[11.14616,46.92275],[11.12546,46.92275],[11.10822,46.90389],[11.11511,46.88857],[11.08234,46.85319],[11.09614,46.8237],[11.05129,46.80245],[11.02369,46.76229],[10.91848,46.77056],[10.88398,46.75756],[10.84085,46.77292],[10.82361,46.76938],[10.79083,46.78946],[10.75633,46.77883],[10.72529,46.79064],[10.74771,46.82724],[10.69424,46.84494],[10.67354,46.86971],[10.60799,46.85319],[10.55452,46.82724],[10.52002,46.83904],[10.46827,46.83668],[10.45103,46.8815],[10.47517,46.93217],[10.41308,46.95572],[10.3941,46.98868],[10.3665,46.98044],[10.33891,46.94748],[10.32856,46.91803],[10.29751,46.91332],[10.25956,46.9251],[10.23886,46.86263],[10.16642,46.83904],[10.13537,46.8473],[10.13192,46.87207],[10.10604,46.88621],[10.09224,46.92746],[10.12502,46.95219],[10.14572,47.00044],[10.11294,47.02514],[10.15262,47.04983],[10.13019,47.06276],[10.13364,47.09095],[10.15952,47.12617],[10.20091,47.1426],[10.19229,47.20005],[10.20954,47.21294],[10.18711,47.23989],[10.20091,47.25628],[10.16814,47.2633],[10.16814,47.28086],[10.20264,47.29139],[10.24404,47.28905],[10.33373,47.32063],[10.38893,47.39074],[10.4148,47.39424],[10.4562,47.43626],[10.44758,47.48175],[10.41998,47.50506],[10.4424,47.55514],[10.41308,47.57143],[10.43998,47.59768]],[[12.4019,47.16019],[12.35705,47.13908],[12.35015,47.11208],[12.31048,47.10739],[12.25528,47.07215],[12.21388,47.05923],[12.20008,47.02632],[12.14488,47.03102],[12.11556,47.0075],[12.13626,46.95926],[12.16731,46.9357],[12.14316,46.91096],[12.18973,46.90036],[12.21733,46.86617],[12.25528,46.88386],[12.27425,46.88268],[12.2984,46.83432],[12.27598,46.82016],[12.27943,46.77765],[12.35015,46.77174],[12.3812,46.715],[12.44329,46.68425],[12.51402,46.67004],[12.56576,46.64873],[12.62958,46.65347],[12.70203,46.65347],[12.70375,46.69844],[12.72963,46.70081],[12.72273,46.73747],[12.80207,46.74929],[12.85382,46.74456],[12.90384,46.77174],[12.92799,46.75992],[12.95732,46.77647],[12.97974,46.79772],[12.89522,46.83314],[12.89522,46.84848],[12.8452,46.86381],[12.84692,46.91568],[12.7969,46.93099],[12.78828,46.94748],[12.7486,46.96867],[12.73653,46.99691],[12.78138,47.0416],[12.7624,47.051],[12.7141,47.04513],[12.71065,47.07803],[12.62268,47.12617],[12.56921,47.14142],[12.55196,47.13321],[12.52609,47.15433],[12.48297,47.16488],[12.46054,47.14846],[12.43467,47.15785],[12.41915,47.14377],[12.4019,47.16019]]],terms_url:"https://tiris.tirol.gv.at",terms_text:"tiris.tirol.gv.at",icon:"https://static.tirol.gv.at/plainhtml/v1/tirollogo.gif"},{id:"lu.geoportail.opendata.topo",name:"Topographical Map geoportail.lu",type:"tms",template:"https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/topo/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png",endDate:"2010-07-20T00:00:00.000Z",startDate:"2013-07-19T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[5.96175,50.17631],[6.02627,50.18496],[6.03318,50.16395],[6.06069,50.15536],[6.07668,50.15913],[6.07824,50.17255],[6.10176,50.17199],[6.1225,50.16437],[6.1201,50.15594],[6.1277,50.14993],[6.11323,50.13739],[6.12369,50.13719],[6.14093,50.1305],[6.13555,50.11899],[6.13808,50.10263],[6.13108,50.09964],[6.13547,50.09119],[6.12194,50.09059],[6.12634,50.07817],[6.13186,50.07348],[6.12117,50.064],[6.11444,50.06139],[6.11563,50.05817],[6.12361,50.06323],[6.13661,50.04178],[6.13034,50.02975],[6.14821,50.02307],[6.13868,50.01572],[6.13594,50.01485],[6.13138,50.01905],[6.13024,50.01819],[6.13934,50.01116],[6.1517,50.01058],[6.14546,49.99689],[6.13966,49.9994],[6.13852,49.99829],[6.14218,49.99535],[6.15023,49.99518],[6.15625,49.98867],[6.17305,49.98589],[6.17348,49.98344],[6.17035,49.98376],[6.16549,49.97115],[6.17151,49.96298],[6.1763,49.962],[6.17995,49.95386],[6.18339,49.9548],[6.17983,49.96307],[6.18331,49.9686],[6.19277,49.97158],[6.19978,49.95352],[6.20707,49.95672],[6.21269,49.9514],[6.22502,49.95039],[6.22044,49.94369],[6.22824,49.93726],[6.22635,49.92766],[6.21913,49.92354],[6.22986,49.92125],[6.23603,49.91355],[6.23187,49.91064],[6.22769,49.91062],[6.23229,49.9072],[6.23381,49.90028],[6.24692,49.89535],[6.25781,49.88724],[6.26301,49.88101],[6.27646,49.87725],[6.28113,49.87957],[6.29166,49.87548],[6.2977,49.86673],[6.30989,49.87107],[6.31532,49.8673],[6.31465,49.86057],[6.32361,49.85188],[6.32158,49.8409],[6.32741,49.83673],[6.33656,49.83998],[6.33937,49.8507],[6.36465,49.85164],[6.4022,49.82098],[6.42643,49.81629],[6.42807,49.81186],[6.43097,49.81129],[6.44161,49.81547],[6.44344,49.81233],[6.45366,49.81275],[6.46454,49.81975],[6.47057,49.82385],[6.49681,49.81277],[6.50669,49.80993],[6.51155,49.80238],[6.51485,49.80513],[6.5196,49.81446],[6.52981,49.81048],[6.53225,49.80686],[6.53083,49.80116],[6.50622,49.78899],[6.51917,49.78344],[6.51105,49.77422],[6.52056,49.76818],[6.52052,49.76134],[6.50373,49.75086],[6.50263,49.73298],[6.50727,49.72938],[6.51809,49.7242],[6.51642,49.72129],[6.51176,49.72016],[6.50479,49.725],[6.49891,49.72639],[6.49558,49.72443],[6.50712,49.71655],[6.50788,49.71215],[6.5046,49.71227],[6.42714,49.66237],[6.4399,49.66025],[6.44251,49.65591],[6.42178,49.61809],[6.39898,49.60094],[6.37941,49.59526],[6.37551,49.58809],[6.38443,49.5801],[6.38119,49.57509],[6.36909,49.5783],[6.35791,49.57166],[6.3849,49.55817],[6.38009,49.54856],[6.35855,49.53296],[6.35932,49.52481],[6.37076,49.50545],[6.37056,49.45732],[6.3334,49.46493],[6.32189,49.47244],[6.29503,49.47928],[6.28789,49.48379],[6.27191,49.49995],[6.24133,49.50693],[6.19669,49.50331],[6.17337,49.50577],[6.16086,49.50085],[6.1671,49.49006],[6.14018,49.48525],[6.12937,49.48803],[6.12725,49.47081],[6.1014,49.46726],[6.10483,49.45076],[6.08167,49.45417],[6.07722,49.46139],[6.05917,49.46306],[6.05222,49.46028],[6.04421,49.44553],[6.02529,49.44703],[6.02154,49.45127],[6.01574,49.44885],[5.99412,49.45301],[5.97657,49.44885],[5.97773,49.45955],[5.97232,49.46087],[5.96891,49.48202],[5.9616,49.49026],[5.91578,49.49835],[5.89033,49.4948],[5.86332,49.50006],[5.84897,49.50826],[5.84828,49.51397],[5.83641,49.51817],[5.83187,49.52639],[5.84308,49.53081],[5.83562,49.54114],[5.81625,49.53325],[5.8052,49.54272],[5.85943,49.57158],[5.86866,49.587],[5.86289,49.58525],[5.8511,49.58379],[5.84712,49.58961],[5.84565,49.5981],[5.8694,49.6106],[5.88182,49.63815],[5.89998,49.63907],[5.89934,49.66239],[5.85656,49.67628],[5.85628,49.68211],[5.8757,49.71118],[5.86481,49.72331],[5.84325,49.71822],[5.82191,49.72128],[5.82489,49.73767],[5.82073,49.74878],[5.78626,49.79079],[5.76517,49.78961],[5.75094,49.79094],[5.74159,49.82126],[5.74581,49.82435],[5.7372,49.83353],[5.74053,49.84142],[5.74701,49.84048],[5.74624,49.84783],[5.75399,49.84878],[5.74066,49.85152],[5.75229,49.85922],[5.74955,49.87554],[5.77567,49.87438],[5.77505,49.88057],[5.7346,49.89341],[5.73303,49.90285],[5.75783,49.91737],[5.76039,49.93252],[5.77073,49.93711],[5.76878,49.94239],[5.7688,49.96104],[5.78672,49.96816],[5.80524,49.96677],[5.80652,49.97321],[5.83129,49.97995],[5.83462,49.98656],[5.81806,49.99936],[5.81561,50.01437],[5.84792,50.02809],[5.86189,50.04581],[5.85087,50.0563],[5.85781,50.07186],[5.881,50.08069],[5.89196,50.12041],[5.95286,50.13384],[5.96175,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",icon:"https://www.geoportail.lu/static/img/lion.png"},{id:"Torokbalint-orthophoto-2013",name:"Törökbálint orthophoto 2013",type:"wms",template:"https://terkep.torokbalint.hu/mapproxy/service?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ORTO_2013_5CM_2013SZEPT_TAKARASSAL_512_512&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&TRANSPARENT=true",projection:"EPSG:3857",endDate:"2013-09-01T00:00:00.000Z",startDate:"2013-09-01T00:00:00.000Z",polygon:[[[18.91731,47.40854],[18.91691,47.40849],[18.91606,47.40885],[18.91565,47.40905],[18.91458,47.40938],[18.91385,47.4097],[18.91376,47.40976],[18.91314,47.41038],[18.9122,47.41098],[18.91041,47.41175],[18.90932,47.41258],[18.90841,47.41317],[18.90676,47.41443],[18.90481,47.41568],[18.90362,47.41597],[18.90317,47.41616],[18.90062,47.41742],[18.90042,47.41755],[18.89968,47.41797],[18.89888,47.41818],[18.89814,47.41835],[18.89752,47.41855],[18.89666,47.41901],[18.8958,47.41954],[18.89421,47.4205],[18.89055,47.42209],[18.88743,47.42332],[18.88554,47.42424],[18.88436,47.42476],[18.88189,47.42553],[18.88085,47.42598],[18.8801,47.42629],[18.87956,47.42649],[18.87741,47.42738],[18.87602,47.42789],[18.87508,47.42836],[18.87281,47.42934],[18.87164,47.42968],[18.8714,47.43001],[18.87259,47.4323],[18.87273,47.43278],[18.87274,47.43324],[18.87244,47.43482],[18.87206,47.43526],[18.86891,47.43712],[18.86561,47.4375],[18.86466,47.43774],[18.86404,47.43809],[18.86378,47.43791],[18.8634,47.43784],[18.863,47.43798],[18.85195,47.44715],[18.85217,47.44847],[18.8593,47.45387],[18.85839,47.45512],[18.85777,47.45568],[18.85718,47.456],[18.8572,47.45636],[18.86015,47.45839],[18.86194,47.4595],[18.86099,47.46071],[18.85979,47.46201],[18.85929,47.46236],[18.85859,47.46272],[18.85713,47.46333],[18.85634,47.4636],[18.85628,47.46403],[18.85719,47.46528],[18.85663,47.46551],[18.85653,47.4658],[18.85693,47.46656],[18.85836,47.46953],[18.85826,47.4698],[18.85827,47.46991],[18.85838,47.47019],[18.85844,47.47027],[18.85852,47.47033],[18.85862,47.47036],[18.85873,47.47038],[18.8589,47.47036],[18.86146,47.46973],[18.86277,47.46929],[18.86617,47.46785],[18.86794,47.46656],[18.86997,47.46524],[18.8708,47.46457],[18.87268,47.46333],[18.87536,47.46113],[18.87687,47.45927],[18.88943,47.45987],[18.89024,47.45988],[18.90371,47.45534],[18.90427,47.4552],[18.90493,47.45506],[18.90542,47.4551],[18.90567,47.45505],[18.90629,47.45477],[18.90648,47.45453],[18.9066,47.45447],[18.90678,47.45439],[18.90811,47.45399],[18.90837,47.45395],[18.9089,47.45384],[18.90954,47.4537],[18.91326,47.45317],[18.91353,47.4532],[18.91372,47.45317],[18.91386,47.45307],[18.91431,47.45294],[18.91598,47.453],[18.91807,47.45317],[18.91846,47.453],[18.91903,47.45161],[18.92173,47.4508],[18.92246,47.45069],[18.92418,47.45025],[18.92756,47.44989],[18.92972,47.44951],[18.93221,47.44922],[18.93347,47.44932],[18.93921,47.44935],[18.94229,47.44903],[18.94549,47.4489],[18.94826,47.4487],[18.95003,47.44824],[18.9547,47.44722],[18.95749,47.44692],[18.95802,47.44715],[18.95844,47.44708],[18.95877,47.44666],[18.96145,47.4393],[18.96368,47.4358],[18.96598,47.43288],[18.96899,47.4297],[18.9701,47.42704],[18.97009,47.42679],[18.96695,47.4246],[18.95735,47.41842],[18.95676,47.4184],[18.95606,47.41813],[18.95385,47.41739],[18.95144,47.41665],[18.95131,47.41664],[18.9327,47.41703],[18.93257,47.41696],[18.93201,47.41674],[18.93149,47.4164],[18.93114,47.41612],[18.92123,47.41091],[18.91957,47.40987],[18.91927,47.40961],[18.91731,47.40854]]],terms_url:"http://www.torokbalint.hu",terms_text:"Törökbálint",description:"5 cm resolution bald image"},{id:"Torokbalint-orthophoto-2015",name:"Törökbálint orthophoto 2015",type:"wms",template:"https://terkep.torokbalint.hu/mapproxy/service?FORMAT=image/png&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=TBORTO_2015_20160218&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&TRANSPARENT=true",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[18.91731,47.40854],[18.91691,47.40849],[18.91606,47.40885],[18.91565,47.40905],[18.91458,47.40938],[18.91385,47.4097],[18.91376,47.40976],[18.91314,47.41038],[18.9122,47.41098],[18.91041,47.41175],[18.90932,47.41258],[18.90841,47.41317],[18.90676,47.41443],[18.90481,47.41568],[18.90362,47.41597],[18.90317,47.41616],[18.90062,47.41742],[18.90042,47.41755],[18.89968,47.41797],[18.89888,47.41818],[18.89814,47.41835],[18.89752,47.41855],[18.89666,47.41901],[18.8958,47.41954],[18.89421,47.4205],[18.89055,47.42209],[18.88743,47.42332],[18.88554,47.42424],[18.88436,47.42476],[18.88189,47.42553],[18.88085,47.42598],[18.8801,47.42629],[18.87956,47.42649],[18.87741,47.42738],[18.87602,47.42789],[18.87508,47.42836],[18.87281,47.42934],[18.87164,47.42968],[18.8714,47.43001],[18.87259,47.4323],[18.87273,47.43278],[18.87274,47.43324],[18.87244,47.43482],[18.87206,47.43526],[18.86891,47.43712],[18.86561,47.4375],[18.86466,47.43774],[18.86404,47.43809],[18.86378,47.43791],[18.8634,47.43784],[18.863,47.43798],[18.85195,47.44715],[18.85217,47.44847],[18.8593,47.45387],[18.85839,47.45512],[18.85777,47.45568],[18.85718,47.456],[18.8572,47.45636],[18.86015,47.45839],[18.86194,47.4595],[18.86099,47.46071],[18.85979,47.46201],[18.85929,47.46236],[18.85859,47.46272],[18.85713,47.46333],[18.85634,47.4636],[18.85628,47.46403],[18.85719,47.46528],[18.85663,47.46551],[18.85653,47.4658],[18.85693,47.46656],[18.85836,47.46953],[18.85826,47.4698],[18.85827,47.46991],[18.85838,47.47019],[18.85844,47.47027],[18.85852,47.47033],[18.85862,47.47036],[18.85873,47.47038],[18.8589,47.47036],[18.86146,47.46973],[18.86277,47.46929],[18.86617,47.46785],[18.86794,47.46656],[18.86997,47.46524],[18.8708,47.46457],[18.87268,47.46333],[18.87536,47.46113],[18.87687,47.45927],[18.88943,47.45987],[18.89024,47.45988],[18.90371,47.45534],[18.90427,47.4552],[18.90493,47.45506],[18.90542,47.4551],[18.90567,47.45505],[18.90629,47.45477],[18.90648,47.45453],[18.9066,47.45447],[18.90678,47.45439],[18.90811,47.45399],[18.90837,47.45395],[18.9089,47.45384],[18.90954,47.4537],[18.91326,47.45317],[18.91353,47.4532],[18.91372,47.45317],[18.91386,47.45307],[18.91431,47.45294],[18.91598,47.453],[18.91807,47.45317],[18.91846,47.453],[18.91903,47.45161],[18.92173,47.4508],[18.92246,47.45069],[18.92418,47.45025],[18.92756,47.44989],[18.92972,47.44951],[18.93221,47.44922],[18.93347,47.44932],[18.93921,47.44935],[18.94229,47.44903],[18.94549,47.4489],[18.94826,47.4487],[18.95003,47.44824],[18.9547,47.44722],[18.95749,47.44692],[18.95802,47.44715],[18.95844,47.44708],[18.95877,47.44666],[18.96145,47.4393],[18.96368,47.4358],[18.96598,47.43288],[18.96899,47.4297],[18.9701,47.42704],[18.97009,47.42679],[18.96695,47.4246],[18.95735,47.41842],[18.95676,47.4184],[18.95606,47.41813],[18.95385,47.41739],[18.95144,47.41665],[18.95131,47.41664],[18.9327,47.41703],[18.93257,47.41696],[18.93201,47.41674],[18.93149,47.4164],[18.93114,47.41612],[18.92123,47.41091],[18.91957,47.40987],[18.91927,47.40961],[18.91731,47.40854]]],terms_url:"http://fototerkep.hu",terms_text:"Fototerkep.hu",best:true,description:"5 cm resolution bald image"},{id:"Toulouse-Orthophotoplan-2007",name:"Toulouse - Orthophotoplan 2007",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2007&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2007-01-01T00:00:00.000Z",startDate:"2007-01-01T00:00:00.000Z",scaleExtent:[0,22],polygon:[[[1.192,43.63288],[1.20154,43.63297],[1.20111,43.65549],[1.2228,43.6557],[1.22262,43.66534],[1.22753,43.66538],[1.22754,43.66564],[1.23376,43.66569],[1.23376,43.66502],[1.23512,43.66503],[1.23509,43.66707],[1.24436,43.66716],[1.24416,43.67439],[1.2494,43.67443],[1.2494,43.67466],[1.25557,43.67472],[1.25557,43.67445],[1.25695,43.67447],[1.25688,43.67853],[1.28749,43.67883],[1.28708,43.70132],[1.30882,43.70146],[1.30865,43.71277],[1.33033,43.71295],[1.33002,43.73052],[1.33671,43.73058],[1.33673,43.73122],[1.37343,43.73105],[1.37358,43.72458],[1.46045,43.72529],[1.46078,43.7028],[1.48249,43.70295],[1.48298,43.66921],[1.50468,43.66936],[1.50484,43.65812],[1.52655,43.65827],[1.52669,43.64703],[1.54837,43.64716],[1.54854,43.63594],[1.57022,43.63608],[1.57051,43.61358],[1.54882,43.61343],[1.5491,43.59095],[1.57077,43.59107],[1.57094,43.57983],[1.57937,43.57989],[1.57948,43.57377],[1.58091,43.57378],[1.58109,43.55738],[1.57123,43.55731],[1.57165,43.52355],[1.39848,43.52226],[1.39865,43.51101],[1.3121,43.51025],[1.3119,43.52152],[1.29026,43.52131],[1.28986,43.54382],[1.31152,43.54401],[1.31133,43.55526],[1.30369,43.55519],[1.30361,43.55951],[1.29554,43.55943],[1.29554,43.55955],[1.28956,43.55945],[1.28929,43.57754],[1.26757,43.57736],[1.2674,43.58861],[1.25355,43.5885],[1.25338,43.59563],[1.2518,43.59563],[1.2518,43.59494],[1.23504,43.59478],[1.23504,43.5946],[1.22396,43.5946],[1.22394,43.59947],[1.21397,43.5993],[1.21388,43.60464],[1.20206,43.60448],[1.20195,43.61048],[1.19243,43.61037],[1.192,43.63288]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole"},{id:"Toulouse-Orthophotoplan-2011",name:"Toulouse - Orthophotoplan 2011",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2011&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2011-01-01T00:00:00.000Z",startDate:"2011-01-01T00:00:00.000Z",scaleExtent:[0,22],polygon:[[[1.11351,43.68676],[1.13518,43.68708],[1.13489,43.69835],[1.17829,43.69903],[1.17799,43.71028],[1.19966,43.71061],[1.19934,43.72187],[1.24274,43.72253],[1.24243,43.73375],[1.26415,43.73409],[1.26383,43.74536],[1.28553,43.74565],[1.28525,43.75693],[1.30692,43.75723],[1.30664,43.76848],[1.32834,43.76879],[1.32808,43.78003],[1.43673,43.78158],[1.43731,43.7591],[1.45901,43.75937],[1.45933,43.74815],[1.48103,43.7484],[1.48133,43.73718],[1.50303,43.73741],[1.50359,43.71497],[1.52531,43.71518],[1.52561,43.70401],[1.54727,43.70426],[1.54757,43.69304],[1.5692,43.69329],[1.56957,43.68203],[1.5912,43.68227],[1.59174,43.6598],[1.61342,43.66003],[1.61372,43.64883],[1.63538,43.64908],[1.63841,43.51407],[1.29216,43.50947],[1.29186,43.5207],[1.27021,43.5204],[1.26988,43.53164],[1.24823,43.53133],[1.2476,43.55378],[1.22596,43.55349],[1.22568,43.56472],[1.20398,43.56442],[1.20331,43.5869],[1.18162,43.58656],[1.18102,43.60904],[1.15928,43.60869],[1.15896,43.61995],[1.13726,43.61962],[1.13659,43.64209],[1.11491,43.64176],[1.11351,43.68676]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole"},{id:"Toulouse-Orthophotoplan-2013",name:"Toulouse - Orthophotoplan 2013",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2013&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[0,22],polygon:[[[1.11351,43.68676],[1.13518,43.68708],[1.13489,43.69835],[1.17829,43.69903],[1.17799,43.71028],[1.19966,43.71061],[1.19934,43.72187],[1.24274,43.72253],[1.24243,43.73375],[1.26415,43.73409],[1.26383,43.74536],[1.28553,43.74565],[1.28525,43.75693],[1.30692,43.75723],[1.30664,43.76848],[1.32834,43.76879],[1.32808,43.78003],[1.43673,43.78158],[1.43731,43.7591],[1.45901,43.75937],[1.45933,43.74815],[1.48103,43.7484],[1.48133,43.73718],[1.50303,43.73741],[1.50359,43.71497],[1.52531,43.71518],[1.52561,43.70401],[1.54727,43.70426],[1.54757,43.69304],[1.5692,43.69329],[1.56957,43.68203],[1.5912,43.68227],[1.59174,43.6598],[1.61342,43.66003],[1.61372,43.64883],[1.63538,43.64908],[1.63841,43.51407],[1.29216,43.50947],[1.29186,43.5207],[1.27021,43.5204],[1.26988,43.53164],[1.24823,43.53133],[1.2476,43.55378],[1.22596,43.55349],[1.22568,43.56472],[1.20398,43.56442],[1.20331,43.5869],[1.18162,43.58656],[1.18102,43.60904],[1.15928,43.60869],[1.15896,43.61995],[1.13726,43.61962],[1.13659,43.64209],[1.11491,43.64176],[1.11351,43.68676]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole"},{id:"Toulouse-Orthophotoplan-2015",name:"Toulouse - Orthophotoplan 2015",type:"wms",template:"https://wms.plan.toulouse.fr/geocache/wms?FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ortho2015&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",scaleExtent:[0,22],polygon:[[[1.11351,43.68676],[1.13518,43.68708],[1.13489,43.69835],[1.17829,43.69903],[1.17799,43.71028],[1.19966,43.71061],[1.19934,43.72187],[1.24274,43.72253],[1.24243,43.73375],[1.26415,43.73409],[1.26383,43.74536],[1.28553,43.74565],[1.28525,43.75693],[1.30692,43.75723],[1.30664,43.76848],[1.32834,43.76879],[1.32808,43.78003],[1.43673,43.78158],[1.43731,43.7591],[1.45901,43.75937],[1.45933,43.74815],[1.48103,43.7484],[1.48133,43.73718],[1.50303,43.73741],[1.50359,43.71497],[1.52531,43.71518],[1.52561,43.70401],[1.54727,43.70426],[1.54757,43.69304],[1.5692,43.69329],[1.56957,43.68203],[1.5912,43.68227],[1.59174,43.6598],[1.61342,43.66003],[1.61372,43.64883],[1.63538,43.64908],[1.63841,43.51407],[1.29216,43.50947],[1.29186,43.5207],[1.27021,43.5204],[1.26988,43.53164],[1.24823,43.53133],[1.2476,43.55378],[1.22596,43.55349],[1.22568,43.56472],[1.20398,43.56442],[1.20331,43.5869],[1.18162,43.58656],[1.18102,43.60904],[1.15928,43.60869],[1.15896,43.61995],[1.13726,43.61962],[1.13659,43.64209],[1.11491,43.64176],[1.11351,43.68676]]],terms_url:"https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",terms_text:"ToulouseMetropole"},{id:"Tours-Orthophoto-2008_2010",name:"Tours - Orthophotos 2008-2010",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/tours/{zoom}/{x}/{y}",endDate:"2011-01-01T00:00:00.000Z",startDate:"2008-01-01T00:00:00.000Z",scaleExtent:[0,20],polygon:[[[0.54575,47.46526],[0.54585,47.46082],[0.53922,47.4607],[0.53935,47.45624],[0.5328,47.4561],[0.5329,47.45157],[0.52619,47.4514],[0.52659,47.44249],[0.50009,47.44207],[0.50024,47.43758],[0.4936,47.43743],[0.4937,47.43293],[0.46061,47.43246],[0.46072,47.42798],[0.4541,47.42781],[0.45493,47.40539],[0.46154,47.40545],[0.46191,47.39649],[0.46843,47.3966],[0.46913,47.37864],[0.47571,47.37876],[0.47621,47.3652],[0.48283,47.36535],[0.48296,47.36083],[0.47635,47.36074],[0.47665,47.35173],[0.47005,47.35162],[0.4702,47.34713],[0.46375,47.34701],[0.45714,47.34241],[0.45729,47.33791],[0.45067,47.33781],[0.45084,47.33331],[0.44422,47.3332],[0.44438,47.32871],[0.43114,47.3285],[0.43163,47.315],[0.43824,47.31511],[0.43838,47.31062],[0.47145,47.31114],[0.47131,47.31566],[0.47789,47.31575],[0.47807,47.31128],[0.48468,47.31136],[0.48486,47.30687],[0.49144,47.30698],[0.49174,47.29797],[0.48516,47.29787],[0.48543,47.28887],[0.47885,47.28877],[0.47916,47.27978],[0.48578,47.2799],[0.48591,47.27539],[0.49254,47.2755],[0.49267,47.27101],[0.4993,47.27111],[0.49943,47.26661],[0.51927,47.26692],[0.51942,47.26242],[0.52602,47.26252],[0.52587,47.26702],[0.5457,47.26734],[0.54555,47.27183],[0.55877,47.27204],[0.55863,47.27652],[0.56523,47.27663],[0.56508,47.28112],[0.57168,47.28123],[0.57152,47.28572],[0.57814,47.28583],[0.57799,47.29033],[0.5846,47.29043],[0.58431,47.29942],[0.5975,47.29961],[0.59766,47.29514],[0.65716,47.296],[0.6573,47.29151],[0.6705,47.29172],[0.67035,47.29621],[0.68362,47.29637],[0.68343,47.30089],[0.69006,47.30096],[0.68992,47.30547],[0.7362,47.30612],[0.73608,47.31061],[0.7559,47.31089],[0.75577,47.31539],[0.76238,47.31547],[0.76223,47.31999],[0.77549,47.32015],[0.77497,47.33882],[0.77458,47.35163],[0.76804,47.35159],[0.76759,47.36053],[0.77424,47.36062],[0.77335,47.39213],[0.76674,47.39202],[0.76644,47.40108],[0.77306,47.40111],[0.77289,47.41013],[0.76618,47.41002],[0.76603,47.4145],[0.75276,47.4143],[0.75298,47.40981],[0.74624,47.4097],[0.74594,47.42322],[0.73923,47.42315],[0.73887,47.43661],[0.73233,47.43652],[0.73219,47.44106],[0.7255,47.44098],[0.72542,47.44535],[0.73188,47.44548],[0.73185,47.45011],[0.73845,47.45023],[0.73831,47.45463],[0.74494,47.45474],[0.74432,47.4772],[0.73107,47.47697],[0.7309,47.48154],[0.71762,47.48126],[0.71779,47.47684],[0.69777,47.4765],[0.69805,47.47198],[0.69145,47.47189],[0.69173,47.46302],[0.6851,47.46293],[0.68494,47.46735],[0.67826,47.46733],[0.67798,47.47622],[0.67141,47.47616],[0.67104,47.4882],[0.65773,47.48797],[0.65782,47.48504],[0.65119,47.48483],[0.65147,47.47586],[0.64482,47.47572],[0.64493,47.47126],[0.6118,47.47075],[0.61188,47.46631],[0.60528,47.46612],[0.60542,47.46166],[0.59888,47.46155],[0.59902,47.45709],[0.57249,47.45669],[0.57218,47.46565],[0.54575,47.46526]]],terms_url:"https://wiki.openstreetmap.org/wiki/Tours/Orthophoto",terms_text:"Orthophoto Tour(s) Plus 2008"},{id:"Tours-Orthophoto-2013",name:"Tours - Orthophotos 2013",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/tours_2013/{zoom}/{x}/{y}",endDate:"2013-01-01T00:00:00.000Z",startDate:"2013-01-01T00:00:00.000Z",scaleExtent:[0,22],polygon:[[[0.77512,47.32983],[0.77427,47.35617],[0.77053,47.35611],[0.77024,47.36512],[0.77398,47.36517],[0.7728,47.40148],[0.7904,47.40147],[0.78988,47.4103],[0.79117,47.41047],[0.79108,47.41942],[0.79392,47.41942],[0.79319,47.43733],[0.79834,47.43742],[0.79808,47.45544],[0.80044,47.45541],[0.80138,47.46426],[0.80074,47.46899],[0.79396,47.47331],[0.78405,47.47323],[0.78387,47.47871],[0.77606,47.47859],[0.77585,47.48204],[0.77066,47.48219],[0.77044,47.4859],[0.76096,47.49092],[0.75718,47.49092],[0.73753,47.50336],[0.7259,47.50588],[0.71113,47.50576],[0.70418,47.50408],[0.69109,47.50038],[0.69045,47.49718],[0.67757,47.49683],[0.67757,47.49353],[0.66427,47.49301],[0.6635,47.48953],[0.65088,47.48958],[0.65133,47.48032],[0.64734,47.4803],[0.64747,47.47852],[0.64474,47.47846],[0.64479,47.47575],[0.64238,47.47578],[0.64225,47.47302],[0.63835,47.47294],[0.63792,47.47131],[0.60513,47.47079],[0.60513,47.46632],[0.59852,47.46603],[0.59878,47.46156],[0.592,47.46156],[0.59226,47.45976],[0.58084,47.45971],[0.58007,47.46145],[0.57234,47.46139],[0.57222,47.46512],[0.55874,47.46489],[0.5466,47.46052],[0.53269,47.45355],[0.52677,47.45315],[0.52677,47.45152],[0.52231,47.45123],[0.52256,47.44804],[0.51977,47.44776],[0.52007,47.44247],[0.4975,47.4416],[0.49716,47.44049],[0.49355,47.44015],[0.49355,47.43573],[0.47943,47.43575],[0.46171,47.42819],[0.45643,47.42088],[0.45489,47.41229],[0.45506,47.40218],[0.46149,47.40193],[0.46167,47.39641],[0.46879,47.39602],[0.47016,47.35173],[0.45677,47.3515],[0.45729,47.34254],[0.43085,47.34196],[0.43196,47.30602],[0.47154,47.3067],[0.47257,47.28004],[0.48527,47.28004],[0.48578,47.27084],[0.49935,47.27107],[0.49917,47.26245],[0.55273,47.26304],[0.55222,47.27201],[0.56561,47.27224],[0.56526,47.28156],[0.59118,47.28156],[0.59067,47.29099],[0.66912,47.29169],[0.6832,47.29564],[0.6832,47.30077],[0.69658,47.30123],[0.69641,47.3024],[0.71006,47.30245],[0.72293,47.30589],[0.72285,47.31043],[0.74165,47.31084],[0.75426,47.31392],[0.7625,47.31815],[0.76207,47.32013],[0.76619,47.32009],[0.76956,47.32207],[0.77233,47.32508],[0.77336,47.3267],[0.77512,47.32983]]],terms_url:"https://wiki.openstreetmap.org/wiki/Tours/Orthophoto",terms_text:"Orthophoto Tour(s)plus 2013"},{id:"trafikverket-baninfo",name:"Trafikverket Railway Network",type:"wms",template:"http://geo-baninfo.trafikverket.se/mapservice/wms.axd/BanInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Spar_Huvud_och_sidospar&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[7,20],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.trafikverket.se",terms_text:"© Trafikverket, CC0",description:"Swedish railway network, including sidings",icon:"https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png",overlay:true},{id:"trafikverket-vagnat",name:"Trafikverket Road Network",type:"wms",template:"https://geo-netinfo.trafikverket.se/mapservice/wms.axd/NetInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=Vagtrafiknat,Funkvagklass,Farjeled&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[13,20],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.trafikverket.se",terms_text:"© Trafikverket, CC0",description:"Swedish NVDB road network",icon:"https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png",overlay:true},{id:"trafikverket-vagnat-extra",name:"Trafikverket Road Network extra",type:"wms",template:"https://geo-netinfo.trafikverket.se/mapservice/wms.axd/NetInfo?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=VagnummerText,Vaghinder,Rastplats,Rastficka,Hallplats,Farthinder,BroTunnel,ATK_Matplats&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",scaleExtent:[3,20],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.trafikverket.se",terms_text:"© Trafikverket, CC0",description:"Swedish NVDB extra details: Highway reference, traffic calming, rest area, bus stop, bridge, tunnel, speed camera",icon:"https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png",overlay:true},{id:"trafikverket-vagnat-navn",name:"Trafikverket Street Names",type:"tms",template:"https://mapproxy.openstreetmap.se/tiles/1.0.0/nvdb_names/EPSG3857/{zoom}/{x}/{y}.png",scaleExtent:[15,19],polygon:[[[12.80182,55.19612],[14.22729,55.27286],[18.44604,56.69244],[19.74242,57.98481],[20.0061,59.5371],[19.08394,60.19308],[20.49499,63.2497],[24.25231,65.57437],[23.81835,67.92514],[23.23607,68.34655],[20.43456,69.17038],[18.08349,68.5644],[16.50145,67.88382],[14.43602,66.14275],[11.82128,63.30775],[12.20031,60.31063],[10.62377,58.5482],[12.64251,56.03062],[12.80182,55.19612]]],terms_url:"https://www.trafikverket.se",terms_text:"© Trafikverket, CC0",description:"Swedish NVDB street names",icon:"https://api.trafikinfo.trafikverket.se/img/apple-touch-icon-144-precomposed.png",overlay:true},{id:"US_Forest_Service_roads_overlay",name:"U.S. Forest Roads Overlay",type:"tms",template:"https://{switch:a,b,c,d}.tiles.mapbox.com/styles/v1/glassman/cjf4qjmps0tgv2qpahj977mvz/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1IjoiZ2xhc3NtYW4iLCJhIjoiRjk3dWdwYyJ9.Tg_fMJWxygeKBgVTrZHmGA",scaleExtent:[0,20],polygon:[[[-124.76179,48.41301],[-124.60595,45.90245],[-124.99343,40.05576],[-122.53697,36.85661],[-119.97759,33.00641],[-117.67593,32.46302],[-114.86123,32.47999],[-111.00893,31.33601],[-108.19927,31.326],[-108.18711,31.77551],[-106.53072,31.78209],[-106.48421,31.74645],[-106.42932,31.75206],[-106.28689,31.56133],[-106.20525,31.4467],[-105.02053,30.5361],[-104.58819,29.69979],[-103.25189,28.89087],[-102.71736,29.39206],[-102.1514,29.74757],[-101.25529,29.48105],[-100.00624,28.00822],[-99.23511,26.4476],[-98.01091,25.9928],[-97.43502,25.8266],[-96.95553,25.98216],[-96.80617,27.79782],[-95.55633,28.58761],[-93.74053,29.47421],[-90.90285,28.85645],[-88.01567,28.99443],[-88.01625,30.00389],[-86.02775,30.00475],[-84.01879,28.99618],[-81.9972,25.98268],[-81.99666,25.01349],[-84.01656,25.01258],[-84.01601,24.00527],[-80.02,24.0071],[-79.89011,26.85507],[-80.02453,32.01613],[-75.41474,35.05319],[-74.02112,39.57279],[-72.00202,40.99125],[-69.87974,40.99205],[-69.84893,43.26199],[-66.94528,44.71049],[-67.75966,47.099],[-69.25051,47.51223],[-70.46149,46.21766],[-71.41227,45.25488],[-72.02225,45.00598],[-75.07988,44.98029],[-76.90231,43.80246],[-78.76239,43.62496],[-79.15798,43.44626],[-79.00601,42.80053],[-82.66248,41.68895],[-82.17616,43.58854],[-83.2814,46.13885],[-87.50645,48.01427],[-88.34922,48.29633],[-89.43531,47.98378],[-93.99811,49.00671],[-95.11054,49.412],[-96.01312,49.00605],[-123.32289,49.00429],[-123.22752,48.18499],[-124.76179,48.41301]],[[-160.57876,22.50629],[-160.57822,21.49846],[-158.74706,21.24398],[-157.50832,20.9958],[-155.99619,18.77902],[-154.62178,18.7587],[-154.68902,19.88057],[-156.29276,21.22259],[-157.50474,21.9985],[-159.00937,22.50702],[-160.57876,22.50629]],[[-167.15715,68.72197],[-164.8554,67.02551],[-168.0022,66.00175],[-169.00874,66.00155],[-169.00754,64.99877],[-172.51433,63.87673],[-173.8197,59.74014],[-162.50181,58.00058],[-160.0159,58.00124],[-160.01497,57.00003],[-160.50548,56.9999],[-165.80926,54.82485],[-178.0001,52.24465],[-177.9993,51.25543],[-171.46891,51.82153],[-162.40251,53.95666],[-159.00757,55.0025],[-158.01907,55.00278],[-151.99632,55.99919],[-151.50034,57.99879],[-151.50129,58.99198],[-138.516,58.99532],[-138.51505,57.99864],[-133.99482,54.00317],[-130.00444,54.00434],[-130.00708,57.00005],[-131.97588,56.99952],[-135.12299,59.7566],[-138.00718,59.9918],[-139.17159,60.41272],[-140.9874,61.01186],[-140.9684,69.95351],[-156.17689,71.56333],[-160.41363,70.73977],[-163.02183,69.97074],[-164.9717,68.99469],[-167.15715,68.72197]]],description:"Highway: Green casing = unclassified. Brown casing = track. Surface: gravel = light brown fill, Asphalt = black, paved = gray, ground =white, concrete = blue, grass = green. Seasonal = white bars",icon:"data:image/png;base64,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",overlay:true},{id:"US_Forest_Service_roads",name:"U.S. Forest Service roads",type:"tms",template:"https://osm.cycle.travel/forest/{zoom}/{x}/{y}.png",scaleExtent:[0,19],polygon:[[[-124.76179,48.41301],[-124.60595,45.90245],[-124.99343,40.05576],[-122.53697,36.85661],[-119.97759,33.00641],[-117.67593,32.46302],[-114.86123,32.47999],[-111.00893,31.33601],[-108.19927,31.326],[-108.18711,31.77551],[-106.53072,31.78209],[-106.48421,31.74645],[-106.42932,31.75206],[-106.28689,31.56133],[-106.20525,31.4467],[-105.02053,30.5361],[-104.58819,29.69979],[-103.25189,28.89087],[-102.71736,29.39206],[-102.1514,29.74757],[-101.25529,29.48105],[-100.00624,28.00822],[-99.23511,26.4476],[-98.01091,25.9928],[-97.43502,25.8266],[-96.95553,25.98216],[-96.80617,27.79782],[-95.55633,28.58761],[-93.74053,29.47421],[-90.90285,28.85645],[-88.01567,28.99443],[-88.01625,30.00389],[-86.02775,30.00475],[-84.01879,28.99618],[-81.9972,25.98268],[-81.99666,25.01349],[-84.01656,25.01258],[-84.01601,24.00527],[-80.02,24.0071],[-79.89011,26.85507],[-80.02453,32.01613],[-75.41474,35.05319],[-74.02112,39.57279],[-72.00202,40.99125],[-69.87974,40.99205],[-69.84893,43.26199],[-66.94528,44.71049],[-67.75966,47.099],[-69.25051,47.51223],[-70.46149,46.21766],[-71.41227,45.25488],[-72.02225,45.00598],[-75.07988,44.98029],[-76.90231,43.80246],[-78.76239,43.62496],[-79.15798,43.44626],[-79.00601,42.80053],[-82.66248,41.68895],[-82.17616,43.58854],[-83.2814,46.13885],[-87.50645,48.01427],[-88.34922,48.29633],[-89.43531,47.98378],[-93.99811,49.00671],[-95.11054,49.412],[-96.01312,49.00605],[-123.32289,49.00429],[-123.22752,48.18499],[-124.76179,48.41301]],[[-160.57876,22.50629],[-160.57822,21.49846],[-158.74706,21.24398],[-157.50832,20.9958],[-155.99619,18.77902],[-154.62178,18.7587],[-154.68902,19.88057],[-156.29276,21.22259],[-157.50474,21.9985],[-159.00937,22.50702],[-160.57876,22.50629]],[[-167.15715,68.72197],[-164.8554,67.02551],[-168.0022,66.00175],[-169.00874,66.00155],[-169.00754,64.99877],[-172.51433,63.87673],[-173.8197,59.74014],[-162.50181,58.00058],[-160.0159,58.00124],[-160.01497,57.00003],[-160.50548,56.9999],[-165.80926,54.82485],[-178.0001,52.24465],[-177.9993,51.25543],[-171.46891,51.82153],[-162.40251,53.95666],[-159.00757,55.0025],[-158.01907,55.00278],[-151.99632,55.99919],[-151.50034,57.99879],[-151.50129,58.99198],[-138.516,58.99532],[-138.51505,57.99864],[-133.99482,54.00317],[-130.00444,54.00434],[-130.00708,57.00005],[-131.97588,56.99952],[-135.12299,59.7566],[-138.00718,59.9918],[-139.17159,60.41272],[-140.9874,61.01186],[-140.9684,69.95351],[-156.17689,71.56333],[-160.41363,70.73977],[-163.02183,69.97074],[-164.9717,68.99469],[-167.15715,68.72197]]]},{id:"Zuerich-zh_uebersichtsplan-tms",name:"Übersichtsplan Zürich",type:"tms",template:"https://mapproxy.osm.ch/tiles/zh_uebersichtsplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",scaleExtent:[0,21],polygon:[[[8.45788,47.44582],[8.57392,47.44477],[8.57362,47.43124],[8.60266,47.43096],[8.60231,47.41746],[8.6318,47.41716],[8.6295,47.33628],[8.57162,47.33679],[8.57152,47.32292],[8.54236,47.3236],[8.54212,47.31013],[8.48418,47.31062],[8.48478,47.33762],[8.45582,47.33787],[8.45609,47.35135],[8.42713,47.35161],[8.42864,47.43259],[8.45745,47.43231],[8.45788,47.44582]]],terms_text:"Stadt Zürich Open Government Data"},{id:"uniao_dos_palmares",name:"União dos Palmares AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Uniao%20dos%20Palmares&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-35.97725,-9.20752],[-35.9772,-9.19398],[-35.97694,-9.19053],[-35.97678,-9.18607],[-35.97702,-9.18208],[-35.97704,-9.17968],[-35.97682,-9.17734],[-35.97664,-9.17517],[-35.97701,-9.17518],[-35.97696,-9.1707],[-35.97674,-9.17066],[-35.97661,-9.16645],[-35.97618,-9.16222],[-35.9761,-9.16026],[-35.97661,-9.16026],[-35.97672,-9.14608],[-35.97654,-9.14122],[-35.97666,-9.1332],[-35.97653,-9.12184],[-35.97648,-9.11748],[-35.98618,-9.11755],[-35.98947,-9.11733],[-36.00561,-9.11733],[-36.01859,-9.11736],[-36.04601,-9.11722],[-36.06734,-9.11698],[-36.06756,-9.16134],[-36.06771,-9.16405],[-36.06745,-9.16408],[-36.06756,-9.16657],[-36.06777,-9.16654],[-36.06798,-9.20701],[-36.0498,-9.20711],[-36.04671,-9.20698],[-36.02941,-9.20709],[-36.01355,-9.20718],[-35.99318,-9.20733],[-35.97725,-9.20752]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"UrbISOrtho2016",name:"UrbIS-Ortho 2016",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2016&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2016-01-01T00:00:00.000Z",startDate:"2016-01-01T00:00:00.000Z",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAACnUlEQVQoz11SXUiTYRh93ndz06YMNWcpRmWRSpgO+0EUDYwQ6sZ+oAyti8y6yCyKxOimILqQsLKbukmHSpFFLYlMqSkUmi3/pjZ/Zmv+Tec2bU237z1dfFHSc/HcPOc5HM45DAAREREgGOM217BpzDjs7PEHfNGa2PT47KxN+RFqrYDgjBMRE0JijBMRAKOlzmgxhChDN0cla1ThM0uTE65vsRFxRRkXk3TpMiMBkEQQQFPvw0LDnoYvVStBNwAhBIApj+X6m5OlT/dbnX0AJCHxkbl+zhTWub6XA4ZDqcd3JJTl1to7HV7G2E3TxOU2zaWcKm1YZKO5RlaliNknBma6Bqe7V6SVc5mVrmVFxSvLu1G3bSlwy2jVaXE6IzE0JLzV+jxJlxYTvp5X5j3Qx2ePzPcn6VJVysiUaHXX+d2zy8HqlrE8/bq3xXoiStalr1Fpxl1DRMQ547s27NWGRikVKtmuju9e34pEYcrhWV/f7E8iUinDQrjaH/AREQfAmSJGEzc6P0Qkvbd5ymt7DqfEmEr0Tre/4PFXInK4R7z+hXjtRiIi2aKPtpbi+qxue6vHj5ou+8KvAIBPP7yG3mkAd9sry18ULPrdAAgQAIJS4EZLacXrwqVlDwBJiKAkJCEB+Gz/UNyQ1TxY/8dWIiYgFFx5JPXM7JLjWe8jIgKBM3DGXT5no7lmy9rteVsLiIjJGXPGBcQ2XdqBlKJWa1PHeLOCcRAEhKH7zuKy+4T+QohCDQhGjLBqJBGsNl0teZI3OGMG0GiuKarPNI0aZTEyhq0qHxhjXv/C7bYyASkjIddoqctPOnY07ezf5hHRvwcikg+TXtv9jmsOjy0n8eCpnVeIESMiecnE/6kC0D/Vea+90h/wARAQqwG/AaEjsUbwLtXdAAAAAElFTkSuQmCC"},{id:"UrbISOrtho2017",name:"UrbIS-Ortho 2017",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=Urbis:Ortho2017&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",endDate:"2017-01-01T00:00:00.000Z",startDate:"2017-01-01T00:00:00.000Z",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",best:true,icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAACnUlEQVQoz11SXUiTYRh93ndz06YMNWcpRmWRSpgO+0EUDYwQ6sZ+oAyti8y6yCyKxOimILqQsLKbukmHSpFFLYlMqSkUmi3/pjZ/Zmv+Tec2bU237z1dfFHSc/HcPOc5HM45DAAREREgGOM217BpzDjs7PEHfNGa2PT47KxN+RFqrYDgjBMRE0JijBMRAKOlzmgxhChDN0cla1ThM0uTE65vsRFxRRkXk3TpMiMBkEQQQFPvw0LDnoYvVStBNwAhBIApj+X6m5OlT/dbnX0AJCHxkbl+zhTWub6XA4ZDqcd3JJTl1to7HV7G2E3TxOU2zaWcKm1YZKO5RlaliNknBma6Bqe7V6SVc5mVrmVFxSvLu1G3bSlwy2jVaXE6IzE0JLzV+jxJlxYTvp5X5j3Qx2ePzPcn6VJVysiUaHXX+d2zy8HqlrE8/bq3xXoiStalr1Fpxl1DRMQ547s27NWGRikVKtmuju9e34pEYcrhWV/f7E8iUinDQrjaH/AREQfAmSJGEzc6P0Qkvbd5ymt7DqfEmEr0Tre/4PFXInK4R7z+hXjtRiIi2aKPtpbi+qxue6vHj5ou+8KvAIBPP7yG3mkAd9sry18ULPrdAAgQAIJS4EZLacXrwqVlDwBJiKAkJCEB+Gz/UNyQ1TxY/8dWIiYgFFx5JPXM7JLjWe8jIgKBM3DGXT5no7lmy9rteVsLiIjJGXPGBcQ2XdqBlKJWa1PHeLOCcRAEhKH7zuKy+4T+QohCDQhGjLBqJBGsNl0teZI3OGMG0GiuKarPNI0aZTEyhq0qHxhjXv/C7bYyASkjIddoqctPOnY07ezf5hHRvwcikg+TXtv9jmsOjy0n8eCpnVeIESMiecnE/6kC0D/Vea+90h/wARAQqwG/AaEjsUbwLtXdAAAAAElFTkSuQmCC"},{id:"UrbisAdmFR",name:"UrbisAdm FR",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=urbisFR&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAACnUlEQVQoz11SXUiTYRh93ndz06YMNWcpRmWRSpgO+0EUDYwQ6sZ+oAyti8y6yCyKxOimILqQsLKbukmHSpFFLYlMqSkUmi3/pjZ/Zmv+Tec2bU237z1dfFHSc/HcPOc5HM45DAAREREgGOM217BpzDjs7PEHfNGa2PT47KxN+RFqrYDgjBMRE0JijBMRAKOlzmgxhChDN0cla1ThM0uTE65vsRFxRRkXk3TpMiMBkEQQQFPvw0LDnoYvVStBNwAhBIApj+X6m5OlT/dbnX0AJCHxkbl+zhTWub6XA4ZDqcd3JJTl1to7HV7G2E3TxOU2zaWcKm1YZKO5RlaliNknBma6Bqe7V6SVc5mVrmVFxSvLu1G3bSlwy2jVaXE6IzE0JLzV+jxJlxYTvp5X5j3Qx2ePzPcn6VJVysiUaHXX+d2zy8HqlrE8/bq3xXoiStalr1Fpxl1DRMQ547s27NWGRikVKtmuju9e34pEYcrhWV/f7E8iUinDQrjaH/AREQfAmSJGEzc6P0Qkvbd5ymt7DqfEmEr0Tre/4PFXInK4R7z+hXjtRiIi2aKPtpbi+qxue6vHj5ou+8KvAIBPP7yG3mkAd9sry18ULPrdAAgQAIJS4EZLacXrwqVlDwBJiKAkJCEB+Gz/UNyQ1TxY/8dWIiYgFFx5JPXM7JLjWe8jIgKBM3DGXT5no7lmy9rteVsLiIjJGXPGBcQ2XdqBlKJWa1PHeLOCcRAEhKH7zuKy+4T+QohCDQhGjLBqJBGsNl0teZI3OGMG0GiuKarPNI0aZTEyhq0qHxhjXv/C7bYyASkjIddoqctPOnY07ezf5hHRvwcikg+TXtv9jmsOjy0n8eCpnVeIESMiecnE/6kC0D/Vea+90h/wARAQqwG/AaEjsUbwLtXdAAAAAElFTkSuQmCC"},{id:"UrbisAdmNL",name:"UrbisAdm NL",type:"wms",template:"https://geoservices-urbis.irisnet.be/geoserver/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=urbisNL&WIDTH={width}&HEIGHT={height}&CRS={proj}&STYLES=&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[4.37973,50.76382],[4.38917,50.76377],[4.43028,50.77517],[4.435,50.775],[4.46427,50.78645],[4.4817,50.79134],[4.48238,50.79617],[4.45921,50.80626],[4.45947,50.81661],[4.47972,50.82036],[4.46959,50.83537],[4.46899,50.84573],[4.46238,50.85396],[4.44968,50.85591],[4.44599,50.85992],[4.4253,50.86615],[4.43183,50.87628],[4.44007,50.87845],[4.43106,50.89014],[4.43595,50.89502],[4.4296,50.90103],[4.41655,50.90757],[4.41543,50.91342],[4.39578,50.91407],[4.38462,50.91093],[4.38119,50.90319],[4.3726,50.90032],[4.36213,50.9033],[4.34857,50.90341],[4.34025,50.90411],[4.32892,50.90249],[4.31647,50.89605],[4.30634,50.89274],[4.29004,50.88982],[4.29149,50.88495],[4.29553,50.88262],[4.29561,50.88094],[4.28274,50.87227],[4.27699,50.86713],[4.27802,50.85911],[4.28042,50.85721],[4.28094,50.84215],[4.27193,50.84036],[4.25467,50.83695],[4.25107,50.83288],[4.25227,50.82697],[4.24343,50.82182],[4.24403,50.81548],[4.25519,50.8151],[4.25802,50.80935],[4.27218,50.81011],[4.27579,50.80696],[4.2854,50.80506],[4.28901,50.80691],[4.29802,50.80593],[4.30282,50.79709],[4.31458,50.79454],[4.31621,50.78624],[4.32952,50.77381],[4.34205,50.77164],[4.34522,50.77337],[4.37853,50.76811],[4.37973,50.76382]]],terms_text:"Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAACnUlEQVQoz11SXUiTYRh93ndz06YMNWcpRmWRSpgO+0EUDYwQ6sZ+oAyti8y6yCyKxOimILqQsLKbukmHSpFFLYlMqSkUmi3/pjZ/Zmv+Tec2bU237z1dfFHSc/HcPOc5HM45DAAREREgGOM217BpzDjs7PEHfNGa2PT47KxN+RFqrYDgjBMRE0JijBMRAKOlzmgxhChDN0cla1ThM0uTE65vsRFxRRkXk3TpMiMBkEQQQFPvw0LDnoYvVStBNwAhBIApj+X6m5OlT/dbnX0AJCHxkbl+zhTWub6XA4ZDqcd3JJTl1to7HV7G2E3TxOU2zaWcKm1YZKO5RlaliNknBma6Bqe7V6SVc5mVrmVFxSvLu1G3bSlwy2jVaXE6IzE0JLzV+jxJlxYTvp5X5j3Qx2ePzPcn6VJVysiUaHXX+d2zy8HqlrE8/bq3xXoiStalr1Fpxl1DRMQ547s27NWGRikVKtmuju9e34pEYcrhWV/f7E8iUinDQrjaH/AREQfAmSJGEzc6P0Qkvbd5ymt7DqfEmEr0Tre/4PFXInK4R7z+hXjtRiIi2aKPtpbi+qxue6vHj5ou+8KvAIBPP7yG3mkAd9sry18ULPrdAAgQAIJS4EZLacXrwqVlDwBJiKAkJCEB+Gz/UNyQ1TxY/8dWIiYgFFx5JPXM7JLjWe8jIgKBM3DGXT5no7lmy9rteVsLiIjJGXPGBcQ2XdqBlKJWa1PHeLOCcRAEhKH7zuKy+4T+QohCDQhGjLBqJBGsNl0teZI3OGMG0GiuKarPNI0aZTEyhq0qHxhjXv/C7bYyASkjIddoqctPOnY07ezf5hHRvwcikg+TXtv9jmsOjy0n8eCpnVeIESMiecnE/6kC0D/Vea+90h/wARAQqwG/AaEjsUbwLtXdAAAAAElFTkSuQmCC"},{id:"USGS-Large_Scale",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.25493,48.7529],[-123.25493,48.55923],[-123.19222,48.55923],[-123.19222,48.43484],[-122.94196,48.43484],[-122.94196,48.37208],[-122.88062,48.37208],[-122.88062,48.30948],[-122.81676,48.30948],[-122.81676,48.19046],[-123.00411,48.19046],[-123.00411,48.12759],[-123.05842,48.12759],[-123.05842,48.19051],[-123.25411,48.19051],[-123.25411,48.1275],[-123.37066,48.1275],[-123.37066,48.19084],[-124.05826,48.19084],[-124.05826,48.25344],[-124.18152,48.25344],[-124.18152,48.31647],[-124.43191,48.31647],[-124.43191,48.37826],[-124.55646,48.37826],[-124.55646,48.44083],[-124.75551,48.44083],[-124.75551,48.1915],[-124.81853,48.1915],[-124.81853,48.12284],[-124.7553,48.12284],[-124.7553,47.55353],[-124.38121,47.55353],[-124.38121,47.12187],[-124.19289,47.12187],[-124.19289,43.75694],[-124.44434,43.75694],[-124.44434,43.14256],[-124.63989,43.14256],[-124.63989,42.61945],[-124.44385,42.61945],[-124.44385,39.80807],[-123.88157,39.80807],[-123.88157,39.11028],[-123.75805,39.11028],[-123.75805,38.49688],[-123.27028,38.49688],[-123.27028,37.93319],[-122.81481,37.93319],[-122.81481,37.80196],[-122.56643,37.80196],[-122.56643,36.93196],[-121.8784,36.93196],[-121.8784,36.68976],[-122.00347,36.68976],[-122.00347,36.43411],[-121.94142,36.43411],[-121.94142,35.92976],[-121.5041,35.92976],[-121.5041,35.81003],[-121.37903,35.81003],[-121.37903,35.42392],[-120.94265,35.42392],[-120.94265,35.18497],[-120.8172,35.18497],[-120.8172,35.12199],[-120.69184,35.12199],[-120.69184,34.49668],[-120.50459,34.49668],[-120.50459,34.43397],[-120.00788,34.43397],[-120.00788,34.36826],[-119.52835,34.36826],[-119.52835,34.05764],[-119.0061,34.05764],[-119.0061,33.99753],[-118.50463,33.99753],[-118.50463,33.86946],[-118.44132,33.86946],[-118.44132,33.68653],[-118.06691,33.68653],[-118.06691,33.30638],[-117.503,33.30638],[-117.503,33.05003],[-117.31882,33.05003],[-117.31882,32.62059],[-117.1917,32.62059],[-117.1917,32.49746],[-116.7465,32.49746],[-116.7465,32.56092],[-115.99701,32.56092],[-115.99701,32.62649],[-114.88081,32.62649],[-114.88081,32.43408],[-114.62945,32.43408],[-114.62945,32.37316],[-114.44474,32.37316],[-114.44474,32.30754],[-114.25576,32.30754],[-114.25576,32.24446],[-114.06803,32.24446],[-114.06803,32.18291],[-113.81665,32.18291],[-113.81665,32.12076],[-113.63074,32.12076],[-113.63074,32.05651],[-113.44175,32.05651],[-113.44175,31.99844],[-113.2546,31.99844],[-113.2546,31.93254],[-113.06807,31.93254],[-113.06807,31.87181],[-112.81611,31.87181],[-112.81611,31.81042],[-112.63088,31.81042],[-112.63088,31.74647],[-112.44189,31.74647],[-112.44189,31.6856],[-112.25719,31.6856],[-112.25719,31.62104],[-112.00338,31.62104],[-112.00338,31.55958],[-111.81562,31.55958],[-111.81562,31.49702],[-111.62786,31.49702],[-111.62786,31.43399],[-111.4419,31.43399],[-111.4419,31.37339],[-111.25597,31.37339],[-111.25597,31.31132],[-108.18458,31.31132],[-108.18458,31.74595],[-106.50651,31.74595],[-106.50651,31.68423],[-106.37973,31.68423],[-106.37973,31.62175],[-106.31743,31.62175],[-106.31743,31.49682],[-106.25518,31.49682],[-106.25518,31.43449],[-106.19247,31.43449],[-106.19247,31.37213],[-106.00392,31.37213],[-106.00392,31.30933],[-105.94166,31.30933],[-105.94166,31.24575],[-105.87982,31.24575],[-105.87982,31.18362],[-105.81623,31.18362],[-105.81623,31.12072],[-105.69212,31.12072],[-105.69212,31.05848],[-105.63029,31.05848],[-105.63029,30.93283],[-105.50444,30.93283],[-105.50444,30.87159],[-105.4413,30.87159],[-105.4413,30.80846],[-105.37815,30.80846],[-105.37815,30.74718],[-105.19047,30.74718],[-105.19047,30.68432],[-105.12862,30.68432],[-105.12862,30.61997],[-105.00365,30.61997],[-105.00365,30.55891],[-104.9418,30.55891],[-104.9418,30.49632],[-104.8782,30.49632],[-104.8782,30.30983],[-104.81553,30.30983],[-104.81553,30.24783],[-104.75361,30.24783],[-104.75361,29.93539],[-104.69095,29.93539],[-104.69095,29.80902],[-104.62913,29.80902],[-104.62913,29.68436],[-104.56599,29.68436],[-104.56599,29.62235],[-104.50372,29.62235],[-104.50372,29.55954],[-104.44101,29.55954],[-104.44101,29.49748],[-104.25376,29.49748],[-104.25376,29.37167],[-104.1292,29.37167],[-104.1292,29.30916],[-104.06887,29.30916],[-104.06887,29.24673],[-103.81873,29.24673],[-103.81873,29.18431],[-103.75574,29.18431],[-103.75574,29.12232],[-103.56675,29.12232],[-103.56675,29.05981],[-103.50498,29.05981],[-103.50498,28.99675],[-103.31658,28.99675],[-103.31658,28.93469],[-103.05976,28.93469],[-103.05976,29.0593],[-102.99797,29.0593],[-102.99797,29.12129],[-102.93314,29.12129],[-102.93314,29.18486],[-102.8096,29.18486],[-102.8096,29.25262],[-102.87013,29.25262],[-102.87013,29.3081],[-102.80967,29.3081],[-102.80967,29.37155],[-102.74757,29.37155],[-102.74757,29.55819],[-102.68455,29.55819],[-102.68455,29.68477],[-102.49678,29.68477],[-102.49678,29.74577],[-102.30866,29.74577],[-102.30866,29.80866],[-102.19093,29.80866],[-102.19093,29.74601],[-101.50499,29.74601],[-101.50499,29.68468],[-101.38058,29.68468],[-101.38058,29.55945],[-101.31751,29.55945],[-101.31751,29.49589],[-101.19101,29.49589],[-101.19101,29.43261],[-101.0675,29.43261],[-101.0675,29.30881],[-100.94189,29.30881],[-100.94189,29.24562],[-100.81673,29.24562],[-100.81673,29.11904],[-100.75227,29.11904],[-100.75227,29.05782],[-100.69254,29.05782],[-100.69254,28.87204],[-100.62902,28.87204],[-100.62902,28.80954],[-100.56799,28.80954],[-100.56799,28.62255],[-100.50404,28.62255],[-100.50404,28.55838],[-100.44218,28.55838],[-100.44218,28.49683],[-100.37943,28.49683],[-100.37943,28.30929],[-100.31719,28.30929],[-100.31719,28.18357],[-100.25448,28.18357],[-100.25448,28.12139],[-100.12823,28.12139],[-100.12823,28.05921],[-100.06595,28.05921],[-100.06595,27.99661],[-100.00239,27.99661],[-100.00239,27.93322],[-99.94265,27.93322],[-99.94265,27.74547],[-99.81685,27.74547],[-99.81685,27.68343],[-99.75413,27.68343],[-99.75413,27.62215],[-99.62916,27.62215],[-99.62916,27.5589],[-99.56728,27.5589],[-99.56728,27.43538],[-99.50418,27.43538],[-99.50418,27.3774],[-99.56718,27.3774],[-99.56718,27.24637],[-99.50498,27.24637],[-99.50498,26.99656],[-99.44274,26.99656],[-99.44274,26.8728],[-99.38006,26.8728],[-99.38006,26.80682],[-99.31907,26.80682],[-99.31907,26.74736],[-99.25375,26.74736],[-99.25375,26.62101],[-99.19106,26.62101],[-99.19106,26.49567],[-99.13006,26.49567],[-99.13006,26.37138],[-99.00295,26.37138],[-99.00295,26.30938],[-98.81657,26.30938],[-98.81657,26.24578],[-98.69201,26.24578],[-98.69201,26.18371],[-98.44409,26.18371],[-98.44409,26.12172],[-98.38232,26.12172],[-98.38232,26.05965],[-98.25327,26.05965],[-98.25327,25.99869],[-98.01091,25.99869],[-98.01091,25.99323],[-97.69323,25.99323],[-97.69323,25.93341],[-97.63139,25.93341],[-97.63139,25.86959],[-97.50468,25.86959],[-97.50468,25.80735],[-97.30834,25.80735],[-97.30834,25.87312],[-97.24563,25.87312],[-97.24563,25.93537],[-97.11389,25.93537],[-97.11389,27.68092],[-97.0571,27.68092],[-97.0571,27.81082],[-95.58108,27.81082],[-95.58108,28.74688],[-94.27104,28.74688],[-94.27104,29.55941],[-92.50299,29.55941],[-92.50299,29.49748],[-91.87762,29.49748],[-91.87762,29.3727],[-91.37842,29.3727],[-91.37842,29.24683],[-91.3154,29.24683],[-91.3154,29.18443],[-91.12947,29.18443],[-91.12947,29.12326],[-91.00526,29.12326],[-91.00526,28.99684],[-89.45002,28.99684],[-89.45002,28.86774],[-88.81043,28.86774],[-88.81043,30.18419],[-85.87915,30.18419],[-85.87915,29.5455],[-84.83681,29.5455],[-84.83681,29.62252],[-84.74828,29.62252],[-84.74828,29.68362],[-84.68589,29.68362],[-84.68589,29.74684],[-83.6297,29.74684],[-83.6297,29.43244],[-83.31749,29.43244],[-83.31749,29.05794],[-82.87966,29.05794],[-82.87966,27.74535],[-82.81828,27.74535],[-82.81828,26.92909],[-82.37968,26.92909],[-82.37968,26.36942],[-81.87771,26.36942],[-81.87771,25.80597],[-81.50369,25.80597],[-81.50369,25.74748],[-81.44055,25.74748],[-81.44055,25.68515],[-81.31559,25.68515],[-81.31559,25.5601],[-81.25385,25.5601],[-81.25385,25.43424],[-81.1902,25.43424],[-81.1902,25.12343],[-81.12881,25.12343],[-81.12881,25.06194],[-81.06492,25.06194],[-81.06492,24.81578],[-81.62895,24.81578],[-81.62895,24.75384],[-81.69072,24.75384],[-81.69072,24.68994],[-81.81732,24.68994],[-81.81732,24.62792],[-82.191,24.62792],[-82.191,24.49629],[-81.62166,24.49629],[-81.62166,24.55948],[-81.37201,24.55948],[-81.37201,24.62207],[-81.05933,24.62207],[-81.05933,24.68483],[-80.93471,24.68483],[-80.93471,24.74748],[-80.74711,24.74748],[-80.74711,24.81006],[-80.36299,24.81006],[-80.36299,25.11759],[-80.12234,25.11759],[-80.12234,25.74724],[-80.05885,25.74724],[-80.05885,26.37083],[-79.99584,26.37083],[-79.99584,26.9398],[-80.05873,26.9398],[-80.05873,27.12775],[-80.12263,27.12775],[-80.12263,27.25343],[-80.1847,27.25343],[-80.1847,27.37812],[-80.24617,27.37812],[-80.24617,27.56587],[-80.30948,27.56587],[-80.30948,27.75303],[-80.37215,27.75303],[-80.37215,27.87745],[-80.43515,27.87745],[-80.43515,28.00334],[-80.49661,28.00334],[-80.49661,28.12773],[-80.55872,28.12773],[-80.55872,28.37235],[-80.49663,28.37235],[-80.49663,29.51603],[-81.12136,29.51603],[-81.12136,31.6847],[-80.60187,31.6847],[-80.60187,32.24753],[-79.4921,32.24753],[-79.4921,32.99703],[-79.11165,32.99703],[-79.11165,33.37295],[-78.61536,33.37295],[-78.61536,33.80976],[-77.9317,33.80976],[-77.9317,33.87182],[-77.86923,33.87182],[-77.86923,34.05525],[-77.68264,34.05525],[-77.68264,34.29746],[-77.24535,34.29746],[-77.24535,34.55986],[-76.49733,34.55986],[-76.49733,34.6228],[-76.43376,34.6228],[-76.43376,34.68493],[-76.37321,34.68493],[-76.37321,34.74677],[-76.30594,34.74677],[-76.30594,34.80855],[-76.2468,34.80855],[-76.2468,34.87284],[-76.18259,34.87284],[-76.18259,34.93353],[-76.12081,34.93353],[-76.12081,34.99524],[-75.9979,34.99524],[-75.9979,35.05782],[-75.87034,35.05782],[-75.87034,35.12191],[-75.74622,35.12191],[-75.74622,35.18189],[-75.49297,35.18189],[-75.49297,35.3083],[-75.43257,35.3083],[-75.43257,35.75425],[-75.49699,35.75425],[-75.49699,37.81056],[-75.3083,37.81056],[-75.3083,37.87201],[-75.2456,37.87201],[-75.2456,37.99548],[-75.18288,37.99548],[-75.18288,38.05851],[-75.11848,38.05851],[-75.11848,38.24691],[-75.05921,38.24691],[-75.05921,38.37043],[-74.99481,38.37043],[-74.99481,38.87184],[-74.48783,38.87184],[-74.48783,39.30894],[-74.17663,39.30894],[-74.17663,39.62247],[-74.0567,39.62247],[-74.0567,39.93318],[-73.9959,39.93318],[-73.9959,40.18549],[-73.93416,40.18549],[-73.93416,40.49595],[-73.8723,40.49595],[-73.8723,40.55271],[-71.80745,40.55271],[-71.80745,41.3088],[-70.88251,41.3088],[-70.88251,41.18498],[-70.74619,41.18498],[-70.74619,41.30919],[-70.43376,41.30919],[-70.43376,41.49639],[-69.93343,41.49639],[-69.93343,41.62308],[-69.86986,41.62308],[-69.86986,41.87769],[-69.93579,41.87769],[-69.93579,42.00323],[-69.99758,42.00323],[-69.99758,42.06502],[-70.06061,42.06502],[-70.06061,42.12943],[-70.55729,42.12943],[-70.55729,43.24871],[-70.49741,43.24871],[-70.49741,43.30922],[-70.37042,43.30922],[-70.37042,43.37196],[-70.30857,43.37196],[-70.30857,43.49699],[-70.18392,43.49699],[-70.18392,43.62235],[-70.05758,43.62235],[-70.05758,43.68502],[-69.74552,43.68502],[-69.74552,43.74766],[-69.24728,43.74766],[-69.24728,43.8107],[-69.05607,43.8107],[-69.05607,43.87172],[-68.99505,43.87172],[-68.99505,43.9982],[-68.49637,43.9982],[-68.49637,44.05974],[-68.3081,44.05974],[-68.3081,44.12214],[-68.18518,44.12214],[-68.18518,44.30814],[-67.9956,44.30814],[-67.9956,44.37275],[-67.8103,44.37275],[-67.8103,44.43518],[-67.49653,44.43518],[-67.49653,44.49688],[-67.37102,44.49688],[-67.37102,44.56006],[-67.18488,44.56006],[-67.18488,44.62133],[-67.12212,44.62133],[-67.12212,44.68679],[-67.05936,44.68679],[-67.05936,44.74737],[-66.93111,44.74737],[-66.93111,44.94066],[-66.99468,44.94066],[-66.99468,45.00245],[-67.05958,45.00245],[-67.05958,45.12734],[-67.1202,45.12734],[-67.1202,45.19101],[-67.24698,45.19101],[-67.24698,45.25344],[-67.31775,45.25344],[-67.31775,45.18984],[-67.37075,45.18984],[-67.37075,45.2534],[-67.43269,45.2534],[-67.43269,45.30834],[-67.37086,45.30834],[-67.37086,45.4397],[-67.43056,45.4397],[-67.43056,45.49501],[-67.37099,45.49501],[-67.37099,45.62645],[-67.6215,45.62645],[-67.6215,45.68961],[-67.68383,45.68961],[-67.68383,45.75326],[-67.74621,45.75326],[-67.74621,47.12682],[-67.87001,47.12682],[-67.87001,47.19003],[-67.93238,47.19003],[-67.93238,47.25397],[-67.99594,47.25397],[-67.99594,47.31497],[-68.12067,47.31497],[-68.12067,47.37808],[-68.44232,47.37808],[-68.44232,47.31661],[-68.63143,47.31661],[-68.63143,47.25447],[-68.9978,47.25447],[-68.9978,47.43989],[-69.06072,47.43989],[-69.06072,47.50476],[-69.25381,47.50476],[-69.25381,47.43981],[-69.31793,47.43981],[-69.31793,47.3786],[-69.44385,47.3786],[-69.44385,47.31563],[-69.50382,47.31563],[-69.50382,47.25258],[-69.56678,47.25258],[-69.56678,47.19109],[-69.63035,47.19109],[-69.63035,47.1287],[-69.69331,47.1287],[-69.69331,47.06543],[-69.75571,47.06543],[-69.75571,47.00428],[-69.81804,47.00428],[-69.81804,46.94153],[-69.8804,46.94153],[-69.8804,46.87925],[-69.94217,46.87925],[-69.94217,46.81774],[-70.00631,46.81774],[-70.00631,46.69203],[-70.07043,46.69203],[-70.07043,46.44259],[-70.19459,46.44259],[-70.19459,46.37859],[-70.2562,46.37859],[-70.2562,46.31526],[-70.32037,46.31526],[-70.32037,46.06512],[-70.3815,46.06512],[-70.3815,45.93552],[-70.32016,45.93552],[-70.32016,45.87948],[-70.44931,45.87948],[-70.44931,45.75387],[-70.507,45.75387],[-70.507,45.69169],[-70.63166,45.69169],[-70.63166,45.62916],[-70.75755,45.62916],[-70.75755,45.44147],[-70.88099,45.44147],[-70.88099,45.37806],[-71.13328,45.37806],[-71.13328,45.31515],[-71.38303,45.31515],[-71.38303,45.25342],[-71.50764,45.25342],[-71.50764,45.06557],[-73.94189,45.06557],[-73.94189,45.00312],[-74.74697,45.00312],[-74.74697,45.0649],[-74.8801,45.0649],[-74.8801,45.0029],[-75.06625,45.0029],[-75.06625,44.94152],[-75.25394,44.94152],[-75.25394,44.8776],[-75.37896,44.8776],[-75.37896,44.81535],[-75.44313,44.81535],[-75.44313,44.75361],[-75.56666,44.75361],[-75.56666,44.69099],[-75.62902,44.69099],[-75.62902,44.6285],[-75.75405,44.6285],[-75.75405,44.56638],[-75.81731,44.56638],[-75.81731,44.50289],[-75.87995,44.50289],[-75.87995,44.37849],[-76.13003,44.37849],[-76.13003,44.31592],[-76.1927,44.31592],[-76.1927,44.25344],[-76.31826,44.25344],[-76.31826,44.19167],[-76.3793,44.19167],[-76.3793,44.06537],[-76.44276,44.06537],[-76.44276,43.99638],[-76.31703,43.99638],[-76.31703,43.94146],[-76.50766,43.94146],[-76.50766,43.87233],[-76.383,43.87233],[-76.383,43.80919],[-76.25341,43.80919],[-76.25341,43.56652],[-76.50648,43.56652],[-76.50648,43.50339],[-76.63312,43.50339],[-76.63312,43.44323],[-76.69511,43.44323],[-76.69511,43.37869],[-76.81778,43.37869],[-76.81778,43.31807],[-77.682,43.31807],[-77.682,43.37894],[-78.05659,43.37894],[-78.05659,43.43969],[-78.43897,43.43969],[-78.43897,43.37944],[-78.88034,43.37944],[-78.88034,43.31497],[-79.12989,43.31497],[-79.12989,43.24293],[-79.06696,43.24293],[-79.06696,43.12999],[-79.12989,43.12999],[-79.12989,43.05773],[-79.07126,43.05773],[-79.07126,42.92949],[-78.94326,42.92949],[-78.94326,42.75422],[-79.06944,42.75422],[-79.06944,42.69416],[-79.13344,42.69416],[-79.13344,42.6297],[-79.19475,42.6297],[-79.19475,42.56635],[-79.37868,42.56635],[-79.37868,42.50334],[-79.4443,42.50334],[-79.4443,42.44106],[-79.56799,42.44106],[-79.56799,42.37753],[-79.69062,42.37753],[-79.69062,42.31711],[-79.81646,42.31711],[-79.81646,42.25345],[-80.00524,42.25345],[-80.00524,42.19092],[-80.19168,42.19092],[-80.19168,42.12726],[-80.3168,42.12726],[-80.3168,42.06699],[-80.50632,42.06699],[-80.50632,42.00343],[-80.69305,42.00343],[-80.69305,41.94151],[-80.94404,41.94151],[-80.94404,41.87812],[-81.19427,41.87812],[-81.19427,41.81665],[-81.31901,41.81665],[-81.31901,41.75455],[-81.44184,41.75455],[-81.44184,41.69096],[-81.50535,41.69096],[-81.50535,41.63016],[-82.74701,41.63016],[-82.74701,41.75369],[-82.88391,41.75369],[-82.88391,41.56561],[-82.99572,41.56561],[-82.99572,41.62704],[-83.12578,41.62704],[-83.12578,41.68784],[-83.24747,41.68784],[-83.24747,41.75369],[-83.37373,41.75369],[-83.37373,41.80928],[-83.3106,41.80928],[-83.3106,41.87161],[-83.24747,41.87161],[-83.24747,41.93614],[-83.18434,41.93614],[-83.18434,41.99609],[-83.12077,41.99609],[-83.12077,42.24648],[-83.05892,42.24648],[-83.05892,42.30896],[-82.86853,42.30896],[-82.86853,42.37177],[-82.80722,42.37177],[-82.80722,42.55855],[-82.75537,42.55855],[-82.75537,42.49549],[-82.5599,42.49549],[-82.5599,42.55855],[-82.49678,42.55855],[-82.49678,42.68336],[-82.43289,42.68336],[-82.43289,42.93422],[-82.37006,42.93422],[-82.37006,43.06481],[-82.43289,43.06481],[-82.43289,43.19176],[-82.49475,43.19176],[-82.49475,43.50346],[-82.55713,43.50346],[-82.55713,43.81609],[-82.61979,43.81609],[-82.61979,43.94221],[-82.68395,43.94221],[-82.68395,44.00226],[-82.74653,44.00226],[-82.74653,44.06705],[-82.87087,44.06705],[-82.87087,44.12919],[-83.00852,44.12919],[-83.00852,44.06648],[-83.13361,44.06648],[-83.13361,44.00539],[-83.24145,44.00539],[-83.24145,44.9962],[-83.18061,44.9962],[-83.18061,45.0673],[-83.24552,45.0673],[-83.24552,45.12874],[-83.30659,45.12874],[-83.30659,45.25515],[-83.37061,45.25515],[-83.37061,45.31659],[-83.43256,45.31659],[-83.43256,45.37921],[-83.61784,45.37921],[-83.61784,45.44197],[-83.80843,45.44197],[-83.80843,45.50362],[-84.05507,45.50362],[-84.05507,45.56479],[-84.12352,45.56479],[-84.12352,45.62878],[-84.18075,45.62878],[-84.18075,45.69147],[-84.31116,45.69147],[-84.31116,45.93371],[-83.821,45.93371],[-83.821,45.87251],[-83.49681,45.87251],[-83.49681,45.93371],[-83.43381,45.93371],[-83.43381,46.00169],[-83.49627,46.00169],[-83.49627,46.06682],[-83.56,46.06682],[-83.56,46.12616],[-83.99546,46.12616],[-83.99546,46.19317],[-84.05918,46.19317],[-84.05918,46.3815],[-84.11526,46.3815],[-84.11526,46.49536],[-84.05918,46.49536],[-84.05918,46.56827],[-84.25795,46.56827],[-84.25795,46.50512],[-84.30719,46.50512],[-84.30719,46.56827],[-84.44154,46.56827],[-84.44154,46.50453],[-84.99657,46.50453],[-84.99657,46.68429],[-84.92982,46.68429],[-84.92982,46.81808],[-85.31659,46.81808],[-85.31659,46.75358],[-87.55626,46.75358],[-87.55626,47.44074],[-87.68254,47.44074],[-87.68254,47.50356],[-88.25607,47.50356],[-88.25607,47.44337],[-88.44174,47.44337],[-88.44174,47.37899],[-88.50683,47.37899],[-88.50683,47.31539],[-88.63128,47.31539],[-88.63128,47.25398],[-88.75696,47.25398],[-88.75696,47.19347],[-88.88383,47.19347],[-88.88383,47.12847],[-88.94342,47.12847],[-88.94342,47.06621],[-89.07087,47.06621],[-89.07087,47.00268],[-89.25656,47.00268],[-89.25656,46.94108],[-90.36777,46.94108],[-90.36777,47.68448],[-90.307,47.68448],[-90.307,47.74602],[-89.99486,47.74602],[-89.99486,47.80827],[-89.80486,47.80827],[-89.80486,47.87006],[-89.67977,47.87006],[-89.67977,47.93396],[-89.49338,47.93396],[-89.49338,47.9958],[-89.42847,47.9958],[-89.42847,48.06564],[-89.99327,48.06564],[-89.99327,48.1283],[-90.74559,48.1283],[-90.74559,48.18931],[-90.80873,48.18931],[-90.80873,48.25221],[-91.06776,48.25221],[-91.06776,48.19167],[-91.19462,48.19167],[-91.19462,48.1279],[-91.68142,48.1279],[-91.68142,48.2526],[-91.93219,48.2526],[-91.93219,48.31425],[-91.99297,48.31425],[-91.99297,48.37808],[-92.31894,48.37808],[-92.31894,48.25291],[-92.37322,48.25291],[-92.37322,48.31534],[-92.43223,48.31534],[-92.43223,48.44114],[-92.49772,48.44114],[-92.49772,48.50178],[-92.56794,48.50178],[-92.56794,48.43958],[-92.62105,48.43958],[-92.62105,48.56508],[-92.80868,48.56508],[-92.80868,48.62869],[-92.80868,48.62674],[-92.93318,48.62674],[-92.93318,48.69221],[-93.00517,48.69221],[-93.00517,48.6283],[-93.12259,48.6283],[-93.12259,48.69221],[-93.31908,48.69221],[-93.31908,48.62674],[-93.50495,48.62674],[-93.50495,48.56352],[-93.74746,48.56352],[-93.74746,48.62674],[-93.81355,48.62674],[-93.81355,48.68988],[-94.24531,48.68988],[-94.24531,48.75543],[-94.61832,48.75543],[-94.61832,48.94104],[-94.6809,48.94104],[-94.6809,49.00297],[-94.74415,49.00297],[-94.74415,49.25361],[-94.80841,49.25361],[-94.80841,49.37841],[-95.11924,49.37841],[-95.11924,49.44253],[-95.19343,49.44253],[-95.19343,49.00353],[-96.87069,49.00353],[-96.87069,49.06561],[-99.00493,49.06561],[-99.00493,49.00507],[-109.36993,49.00507],[-109.36993,49.06682],[-109.50587,49.06682],[-109.50587,49.00507],[-114.183,49.00507],[-114.183,49.06873],[-114.75787,49.06873],[-114.75787,49.00507],[-115.43373,49.00507],[-115.43373,49.06714],[-116.50627,49.06714],[-116.50627,49.00507],[-117.30895,49.00507],[-117.30895,49.06598],[-119.88295,49.06598],[-119.88295,49.00507],[-120.12086,49.00507],[-120.12086,49.06784],[-121.44516,49.06784],[-121.44516,49.00507],[-121.93118,49.00507],[-121.93118,49.06561],[-122.81748,49.06561],[-122.81748,49.00291],[-122.87952,49.00291],[-122.87952,48.9347],[-122.81746,48.9347],[-122.81746,48.8102],[-122.75389,48.8102],[-122.75389,48.75338],[-122.87129,48.75338],[-122.87129,48.81539],[-123.00554,48.81539],[-123.00554,48.75295],[-123.12969,48.75295],[-123.12969,48.69022],[-123.18382,48.69022],[-123.18382,48.7529],[-123.25493,48.7529]],[[-122.93417,37.75215],[-122.93475,37.6842],[-123.0679,37.6849],[-123.06737,37.74753],[-123.12926,37.74785],[-123.12869,37.81569],[-123.05907,37.81532],[-123.05959,37.75281],[-122.93417,37.75215]],[[-71.62995,41.25409],[-71.49665,41.25414],[-71.49656,41.12297],[-71.62986,41.12291],[-71.62995,41.25409]],[[-70.31843,41.37752],[-70.31834,41.24482],[-70.19066,41.24487],[-70.19062,41.1886],[-69.9336,41.1887],[-69.93373,41.37919],[-69.99507,41.37917],[-69.99511,41.44316],[-70.07078,41.44313],[-70.0707,41.31449],[-70.24617,41.31443],[-70.24621,41.37755],[-70.31843,41.37752]],[[-68.94034,43.94041],[-68.68569,43.9405],[-68.68565,43.87218],[-68.74654,43.87216],[-68.7465,43.81025],[-68.80908,43.81023],[-68.80903,43.74673],[-68.87731,43.7467],[-68.87735,43.81178],[-68.94025,43.81176],[-68.94034,43.94041]],[[-123.12915,49.06451],[-122.99542,49.06451],[-122.99542,48.93432],[-123.12915,48.93432],[-123.12915,49.06451]],[[-82.94071,24.75359],[-82.87194,24.75359],[-82.87194,24.69057],[-82.74462,24.69057],[-82.74462,24.62146],[-82.8088,24.62146],[-82.8088,24.55949],[-82.94071,24.55949],[-82.94071,24.75359]]],icon:"data:image/png;base64,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"},{id:"USGS-Scanned_Topographic",name:"USGS Topographic Maps",type:"tms",template:"https://caltopo.s3.amazonaws.com/topo/{zoom}/{x}/{y}.png",scaleExtent:[0,16],polygon:[[[-55.99594,52.00107],[-112.02896,52.00107],[-112.03995,56.01308],[-120.00494,56.00592],[-120.01712,60.01202],[-132.00197,60.00239],[-132.01208,63.00193],[-133.96883,63.0005],[-133.9724,63.99225],[-141.04429,63.98726],[-141.06879,69.92046],[-156.24893,71.51583],[-160.44571,70.83527],[-167.08145,68.42906],[-164.08218,67.03914],[-169.01504,65.68269],[-166.57608,64.50778],[-161.82999,64.05006],[-165.08194,63.2603],[-168.02628,59.78623],[-162.53311,59.73089],[-162.35733,58.55905],[-157.83096,58.31753],[-158.00674,57.52404],[-168.22403,53.51022],[-166.55411,53.14277],[-158.77579,54.88541],[-158.6824,55.74964],[-156.55106,56.00848],[-156.15555,56.77466],[-154.70535,56.14337],[-152.07413,57.37035],[-151.62918,58.22653],[-152.00821,58.98056],[-145.9877,60.24741],[-140.38467,59.48634],[-136.53946,57.8061],[-133.79288,54.83483],[-133.33145,53.14277],[-131.46378,51.69838],[-128.52493,51.74602],[-129.79385,50.90159],[-124.56436,47.49786],[-124.03702,45.48627],[-124.6962,42.90428],[-124.49844,40.34146],[-122.80655,37.53929],[-119.99405,33.37085],[-117.24747,32.5412],[-111.13907,31.1977],[-106.70059,31.23529],[-103.20694,28.64618],[-101.84463,29.8158],[-99.20792,26.28744],[-96.79092,25.75432],[-96.92276,27.96911],[-93.47305,29.68226],[-88.94669,28.87732],[-88.6171,30.17736],[-86.2001,30.36713],[-84.96963,29.43379],[-84.09073,30.06333],[-82.97012,28.95426],[-82.97012,27.26824],[-81.25626,25.07956],[-82.09122,24.56105],[-80.06973,24.76073],[-79.85001,27.11188],[-81.27823,30.70777],[-78.99307,33.20554],[-75.03799,35.5983],[-75.85098,37.24252],[-73.74161,40.4586],[-69.89639,41.60224],[-70.68741,43.17629],[-66.93008,44.69516],[-66.53458,43.08007],[-64.20547,43.35229],[-59.50333,45.73221],[-59.51431,46.24762],[-60.0032,46.25901],[-59.99222,47.24506],[-59.00894,47.2376],[-58.99796,47.50267],[-56.51504,47.50267],[-56.52603,46.7477],[-53.99918,46.7477],[-53.9772,46.48358],[-52.49405,46.46354],[-52.50504,48.75361],[-52.99667,48.75451],[-53.01315,49.99551],[-55.00168,50.0061],[-55.03738,53.74721],[-56.00418,53.73421],[-55.99594,52.00107]],[[-59.50127,43.74954],[-60.5024,43.74954],[-60.5024,44],[-59.9984,44],[-59.9984,44.2494],[-59.50127,44.2494],[-59.50127,43.74954]],[[-155.95024,20.49523],[-157.32675,20.49153],[-157.32903,21.23181],[-155.95251,21.23549],[-155.95024,20.49523]],[[-157.64488,21.24845],[-158.28534,21.24674],[-158.2869,21.74996],[-157.64643,21.75167],[-157.64488,21.24845]],[[-156.12602,20.3247],[-154.74617,20.32841],[-154.74174,18.87578],[-156.1216,18.87203],[-156.12602,20.3247]],[[-159.29077,22.24504],[-159.2893,21.76857],[-160.28917,21.76591],[-160.29064,22.24239],[-159.29077,22.24504]]],terms_url:"https://caltopo.com",terms_text:"© Caltopo",icon:"data:image/png;base64,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"},{id:"USSR-Latvia",name:"USSR - Latvia",type:"wms",template:"http://www.gisnet.lv/cgi-bin/topo?FORMAT=image/jpeg&VERSION=1.1.1&service=WMS&REQUEST=GetMap&LAYERS=DTO,DTC,DIVDPTC,PD,VS,DS,PS,M&SRS={proj}&WIDTH={width}&height={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[26.63086,57.56889],[25.16968,58.04882],[22.54395,57.76866],[21.54419,57.53352],[21.01685,56.81892],[21.01685,56.03523],[22.03857,56.38958],[24.71924,56.33481],[26.75171,55.66519],[28.19092,56.13943],[27.78442,57.40946],[26.63086,57.56889]]]},{id:"sjcgis.org-General_Basemap_WM",name:"Vector Streetmap for San Juan County WA",type:"tms",template:"https://sjcgis.org/arcgis/rest/services/Basemaps/General_Basemap_WM/MapServer/tile/{zoom}/{y}/{x}",scaleExtent:[0,19],polygon:[[[-123.27402,48.69297],[-123.00773,48.76726],[-123.00762,48.83158],[-122.7835,48.75842],[-122.6934,48.65852],[-122.76745,48.60361],[-122.74484,48.38708],[-123.24822,48.28353],[-123.11452,48.42261],[-123.21904,48.54857],[-123.27402,48.69297]]],best:true,description:"Public domain street and address data from the San Juan County, WA. Updated at least quarterly."},{id:"Vercors-Orthophotos-1999",name:"Vercors (Réserve naturelle des Hauts-Plateaux du Vercors) - Orthophoto - 1999 - 1 m",type:"tms",template:"http://wms.openstreetmap.fr/tms/1.0.0/PNRVercors-RHP-1999/{zoom}/{x}/{y}",endDate:"1999-01-01T00:00:00.000Z",startDate:"1999-01-01T00:00:00.000Z",scaleExtent:[0,19],polygon:[[[5.43565,44.99918],[5.43193,44.9229],[5.43624,44.92284],[5.43472,44.89001],[5.43303,44.88995],[5.43065,44.85026],[5.43387,44.85014],[5.43285,44.82638],[5.43548,44.82626],[5.43497,44.8139],[5.44106,44.81372],[5.43717,44.74098],[5.4546,44.74044],[5.45282,44.70425],[5.5211,44.70245],[5.5233,44.73858],[5.58904,44.73684],[5.59298,44.81263],[5.5879,44.81299],[5.58977,44.84947],[5.58823,44.84938],[5.58972,44.87351],[5.53863,44.87503],[5.53947,44.88686],[5.52834,44.88733],[5.53002,44.92012],[5.53319,44.92012],[5.53761,44.99624],[5.43565,44.99918]]],terms_text:"Parc Naturel du Vercors"},{id:"vicosa_al",name:"Viçosa AL",type:"wms",template:"http://geo.seplande.al.gov.br/teogc/terraogcwms.cgi?LAYERS=Vicosa&SERVICE=WMS&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.0&SERVICE=WMS&REQUEST=GetMap&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[-36.198,-9.42067],[-36.19777,-9.41789],[-36.1978,-9.41528],[-36.19801,-9.41074],[-36.19789,-9.40857],[-36.19793,-9.40637],[-36.19797,-9.40561],[-36.19793,-9.40405],[-36.19799,-9.40312],[-36.19827,-9.40028],[-36.19829,-9.39496],[-36.19789,-9.39169],[-36.19844,-9.38932],[-36.19837,-9.3862],[-36.19794,-9.38167],[-36.19801,-9.37972],[-36.19834,-9.37867],[-36.19832,-9.37698],[-36.19817,-9.37586],[-36.19852,-9.37139],[-36.19822,-9.36239],[-36.19862,-9.35319],[-36.19849,-9.35097],[-36.19857,-9.34852],[-36.1988,-9.34668],[-36.1986,-9.34349],[-36.19877,-9.34084],[-36.19895,-9.33301],[-36.19877,-9.33039],[-36.28958,-9.33114],[-36.28938,-9.33319],[-36.2895,-9.33538],[-36.28925,-9.34124],[-36.28945,-9.34291],[-36.28928,-9.34521],[-36.28897,-9.37311],[-36.28915,-9.37481],[-36.28892,-9.37708],[-36.2889,-9.38541],[-36.28872,-9.38633],[-36.28872,-9.39343],[-36.28887,-9.39558],[-36.28877,-9.40129],[-36.28862,-9.40652],[-36.28872,-9.40715],[-36.28877,-9.42133],[-36.198,-9.42067]]],terms_url:"http://www.seplande.al.gov.br",terms_text:"Secretaria de Estado do Planejamento e Desenvolvimento Econômico"},{id:"wien.gv.at-labels",name:"Vienna: Beschriftungen (annotations)",type:"tms",template:"https://maps.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png",scaleExtent:[12,19],polygon:[[[16.54475,48.17286],[16.54103,48.17657],[16.54978,48.17675],[16.54665,48.17162],[16.55629,48.16171],[16.55567,48.16446],[16.56161,48.16037],[16.57306,48.16319],[16.57603,48.13522],[16.54301,48.14333],[16.51377,48.15893],[16.4777,48.15744],[16.45536,48.13951],[16.43313,48.13788],[16.43701,48.11994],[16.42291,48.12306],[16.4083,48.11791],[16.40511,48.12198],[16.3246,48.13779],[16.31181,48.11945],[16.29806,48.12896],[16.2711,48.13385],[16.23607,48.13001],[16.2189,48.12377],[16.2181,48.12807],[16.23861,48.13205],[16.23843,48.13716],[16.22081,48.13555],[16.20986,48.14762],[16.22321,48.15318],[16.19798,48.15454],[16.19619,48.16396],[16.18183,48.17112],[16.19981,48.18616],[16.20739,48.20235],[16.20194,48.20479],[16.20962,48.20963],[16.1976,48.21479],[16.19778,48.22288],[16.18517,48.2232],[16.19911,48.22858],[16.19251,48.23671],[16.20677,48.26483],[16.24105,48.24837],[16.24154,48.23832],[16.25662,48.23988],[16.27043,48.25193],[16.26406,48.25492],[16.28556,48.25832],[16.29412,48.26395],[16.28617,48.2667],[16.28901,48.27051],[16.32741,48.27721],[16.34813,48.29048],[16.35351,48.28369],[16.3706,48.2817],[16.36714,48.28685],[16.37787,48.28832],[16.37557,48.29592],[16.37982,48.30201],[16.38536,48.30146],[16.38043,48.31507],[16.39518,48.32257],[16.39412,48.31926],[16.40287,48.31676],[16.41682,48.32253],[16.43803,48.31628],[16.44041,48.29192],[16.47547,48.27501],[16.48123,48.27343],[16.4835,48.27971],[16.48132,48.29351],[16.49645,48.29249],[16.51491,48.28554],[16.5067,48.2736],[16.51285,48.26784],[16.53263,48.2621],[16.54697,48.263],[16.53941,48.24284],[16.55274,48.239],[16.53627,48.20044],[16.54184,48.18206],[16.53631,48.17755],[16.54475,48.17286]]],terms_url:"https://data.wien.gv.at",terms_text:"Stadt Wien",icon:"https://www.wien.gv.at/layout-a/logo/wappen-klein.gif",overlay:true},{id:"wien.gv.at-gp",name:"Vienna: Mehrzweckkarte (general purpose)",type:"tms",template:"https://maps.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg",scaleExtent:[10,19],polygon:[[[16.54475,48.17286],[16.54103,48.17657],[16.54978,48.17675],[16.54665,48.17162],[16.55629,48.16171],[16.55567,48.16446],[16.56161,48.16037],[16.57306,48.16319],[16.57603,48.13522],[16.54301,48.14333],[16.51377,48.15893],[16.4777,48.15744],[16.45536,48.13951],[16.43313,48.13788],[16.43701,48.11994],[16.42291,48.12306],[16.4083,48.11791],[16.40511,48.12198],[16.3246,48.13779],[16.31181,48.11945],[16.29806,48.12896],[16.2711,48.13385],[16.23607,48.13001],[16.2189,48.12377],[16.2181,48.12807],[16.23861,48.13205],[16.23843,48.13716],[16.22081,48.13555],[16.20986,48.14762],[16.22321,48.15318],[16.19798,48.15454],[16.19619,48.16396],[16.18183,48.17112],[16.19981,48.18616],[16.20739,48.20235],[16.20194,48.20479],[16.20962,48.20963],[16.1976,48.21479],[16.19778,48.22288],[16.18517,48.2232],[16.19911,48.22858],[16.19251,48.23671],[16.20677,48.26483],[16.24105,48.24837],[16.24154,48.23832],[16.25662,48.23988],[16.27043,48.25193],[16.26406,48.25492],[16.28556,48.25832],[16.29412,48.26395],[16.28617,48.2667],[16.28901,48.27051],[16.32741,48.27721],[16.34813,48.29048],[16.35351,48.28369],[16.3706,48.2817],[16.36714,48.28685],[16.37787,48.28832],[16.37557,48.29592],[16.37982,48.30201],[16.38536,48.30146],[16.38043,48.31507],[16.39518,48.32257],[16.39412,48.31926],[16.40287,48.31676],[16.41682,48.32253],[16.43803,48.31628],[16.44041,48.29192],[16.47547,48.27501],[16.48123,48.27343],[16.4835,48.27971],[16.48132,48.29351],[16.49645,48.29249],[16.51491,48.28554],[16.5067,48.2736],[16.51285,48.26784],[16.53263,48.2621],[16.54697,48.263],[16.53941,48.24284],[16.55274,48.239],[16.53627,48.20044],[16.54184,48.18206],[16.53631,48.17755],[16.54475,48.17286]]],terms_url:"https://data.wien.gv.at",terms_text:"Stadt Wien",icon:"https://www.wien.gv.at/layout-a/logo/wappen-klein.gif"},{id:"wien.gv.at-aerial_image",name:"Vienna: Orthofoto (aerial image)",type:"tms",template:"https://maps.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg",scaleExtent:[10,19],polygon:[[[16.14995,48.10832],[16.14989,48.33315],[16.61873,48.33296],[16.61749,48.10813],[16.46644,48.10819],[16.46644,48.10744],[16.18104,48.10756],[16.18104,48.10831],[16.14995,48.10832]]],terms_url:"https://data.wien.gv.at",terms_text:"Stadt Wien",icon:"https://www.wien.gv.at/layout-a/logo/wappen-klein.gif"},{id:"Ville_de_Nyon-HD-2010",name:"Ville de Nyon - Orthophoto 2010 HD 5cm/pi",type:"tms",template:"http://osmdata.asitvd.ch/tiles/nyon2010/{zoom}/{x}/{y}.png",endDate:"2010-01-01T00:00:00.000Z",startDate:"2010-01-01T00:00:00.000Z",scaleExtent:[14,20],polygon:[[[6.24859,46.38252],[6.24848,46.38715],[6.24378,46.38944],[6.24182,46.39109],[6.2414,46.39159],[6.23919,46.39222],[6.23973,46.39373],[6.2379,46.3946],[6.23713,46.39698],[6.23071,46.40107],[6.22789,46.39903],[6.22326,46.40219],[6.22066,46.40189],[6.21582,46.40462],[6.21393,46.40698],[6.20989,46.40563],[6.20928,46.40528],[6.20985,46.40434],[6.20501,46.40332],[6.20527,46.40104],[6.20906,46.40131],[6.20951,46.4013],[6.2149,46.4008],[6.21154,46.39808],[6.21057,46.3968],[6.20954,46.39449],[6.21229,46.39243],[6.21374,46.39168],[6.21639,46.39079],[6.21296,46.38736],[6.21532,46.38514],[6.21403,46.38424],[6.2126,46.38232],[6.21211,46.38102],[6.21212,46.37992],[6.21231,46.37901],[6.21318,46.37697],[6.21454,46.37494],[6.21359,46.37463],[6.21365,46.37276],[6.22133,46.3699],[6.22752,46.36555],[6.22752,46.36541],[6.23738,46.37356],[6.24404,46.37842],[6.24859,46.38252]]],terms_url:"http://www.nyon.ch/fr/officiel/services-offices/informatique-et-population-776-3911",terms_text:"Ville de Nyon"},{id:"vogis.cnv.at-DGM",name:"VoGIS: DGM (Terrain model)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_hoehen_und_gelaende_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=schummerung_50cm_terrain&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[9.96805,47.54631],[9.96809,47.54627],[9.97125,47.54425],[9.96484,47.53803],[9.9684,47.52802],[9.96526,47.52089],[9.99569,47.50278],[9.98736,47.49847],[10.00076,47.48211],[10.02301,47.48411],[10.03743,47.48918],[10.04477,47.48762],[10.05413,47.47589],[10.05347,47.46686],[10.06468,47.46364],[10.06999,47.45595],[10.08057,47.45536],[10.08857,47.46029],[10.09164,47.45893],[10.09385,47.44046],[10.10559,47.42872],[10.09374,47.41688],[10.07418,47.41472],[10.06914,47.41018],[10.08624,47.39952],[10.08284,47.39381],[10.09984,47.35476],[10.11934,47.37561],[10.14169,47.36718],[10.16587,47.36887],[10.16958,47.3713],[10.1694,47.38583],[10.1813,47.38725],[10.18185,47.39243],[10.19508,47.38935],[10.19988,47.38334],[10.21259,47.38039],[10.22705,47.38889],[10.23619,47.38192],[10.23168,47.37897],[10.23716,47.37357],[10.21699,47.35436],[10.2171,47.34988],[10.20424,47.33675],[10.20742,47.33232],[10.19951,47.32646],[10.21113,47.31898],[10.21597,47.31106],[10.21236,47.31122],[10.19913,47.29754],[10.18964,47.29394],[10.17961,47.29603],[10.17208,47.27908],[10.17404,47.27025],[10.17834,47.27011],[10.17449,47.2637],[10.21884,47.25533],[10.22343,47.24983],[10.21087,47.2478],[10.19776,47.23666],[10.20791,47.2328],[10.21428,47.21684],[10.21269,47.20432],[10.19963,47.19539],[10.19951,47.18525],[10.21151,47.17124],[10.2092,47.16537],[10.20851,47.15948],[10.21321,47.1577],[10.2222,47.15323],[10.22166,47.14925],[10.21481,47.14352],[10.20333,47.14215],[10.20887,47.13164],[10.18629,47.12886],[10.18652,47.11946],[10.17288,47.12033],[10.16299,47.11361],[10.15766,47.11426],[10.15442,47.10578],[10.13243,47.08122],[10.13459,47.06392],[10.15085,47.06184],[10.15693,47.04883],[10.14418,47.03355],[10.12326,47.02209],[10.13284,47.01204],[10.15447,47.00545],[10.15961,46.99882],[10.15442,46.99299],[10.16001,46.984],[10.14463,46.98301],[10.13492,46.96584],[10.13501,46.95483],[10.12684,46.9435],[10.09772,46.92676],[10.09954,46.91712],[10.10921,46.90834],[10.10908,46.89431],[10.12497,46.88014],[10.14147,46.87468],[10.13967,46.86217],[10.14506,46.8511],[10.13941,46.84738],[10.12309,46.84848],[10.11912,46.84417],[10.10518,46.8409],[10.09195,46.85143],[10.09265,46.85818],[10.08712,46.86128],[10.05488,46.8617],[10.0509,46.86442],[10.05192,46.87405],[10.03891,46.88611],[10.03221,46.88802],[10.01782,46.90161],[10.00494,46.89889],[9.98243,46.9062],[9.97793,46.91603],[9.96657,46.91222],[9.95907,46.91602],[9.94612,46.91235],[9.93758,46.91324],[9.92153,46.91882],[9.91231,46.92606],[9.90632,46.9253],[9.89449,46.93164],[9.87613,46.93463],[9.88071,46.94011],[9.87657,46.94071],[9.87488,46.95039],[9.87872,46.95707],[9.87073,46.96321],[9.88482,46.98546],[9.8923,46.99036],[9.88878,47.00072],[9.8707,47.00965],[9.87115,47.01306],[9.88035,47.01722],[9.87779,47.02055],[9.85974,47.02321],[9.85273,47.01641],[9.83612,47.01253],[9.82353,47.01986],[9.80756,47.02356],[9.78491,47.03849],[9.74808,47.03692],[9.74185,47.04268],[9.71821,47.04337],[9.70701,47.04805],[9.7076,47.05381],[9.69756,47.05239],[9.68392,47.05765],[9.68184,47.0621],[9.67743,47.06141],[9.65821,47.05818],[9.64506,47.05978],[9.64158,47.05598],[9.63654,47.0517],[9.62633,47.05133],[9.60705,47.06077],[9.6134,47.0695],[9.61153,47.0794],[9.61869,47.07817],[9.62339,47.08258],[9.63346,47.08344],[9.63564,47.09553],[9.62858,47.10756],[9.62083,47.11032],[9.63503,47.12813],[9.62467,47.13265],[9.62258,47.14135],[9.62587,47.1459],[9.62059,47.15164],[9.6089,47.14775],[9.59679,47.16294],[9.57946,47.17116],[9.56456,47.17029],[9.57302,47.1756],[9.57259,47.19079],[9.58032,47.19578],[9.58477,47.20532],[9.5687,47.21968],[9.55851,47.22416],[9.55176,47.22377],[9.56679,47.24288],[9.53073,47.27058],[9.54619,47.28005],[9.55634,47.29829],[9.58805,47.3173],[9.59966,47.3455],[9.61073,47.35571],[9.62446,47.36615],[9.65876,47.36946],[9.67255,47.38021],[9.67311,47.39194],[9.65162,47.40463],[9.64551,47.4312],[9.64512,47.4378],[9.65799,47.44779],[9.65898,47.4522],[9.62234,47.45747],[9.60904,47.47054],[9.60292,47.46198],[9.59514,47.46331],[9.58217,47.48276],[9.5622,47.49592],[9.55057,47.53718],[9.5827,47.53592],[9.60465,47.52952],[9.73478,47.53396],[9.73517,47.54661],[9.74164,47.55499],[9.7471,47.55569],[9.74337,47.55867],[9.75207,47.56747],[9.74806,47.57052],[9.75632,47.57262],[9.75633,47.57963],[9.76197,47.58096],[9.76553,47.58912],[9.76933,47.58739],[9.77697,47.59544],[9.79151,47.59352],[9.79999,47.59611],[9.81414,47.58807],[9.82381,47.5871],[9.82728,47.57997],[9.82079,47.57076],[9.82562,47.55922],[9.8171,47.55333],[9.81579,47.54767],[9.85023,47.54164],[9.85839,47.53388],[9.87451,47.52854],[9.87804,47.53876],[9.87515,47.54343],[9.88125,47.54814],[9.8891,47.54399],[9.89935,47.54475],[9.90666,47.54217],[9.91358,47.53255],[9.92189,47.52964],[9.93352,47.53265],[9.94108,47.53822],[9.9637,47.53472],[9.95883,47.54313],[9.96318,47.54229],[9.96805,47.54631]]],icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg=="},{id:"vogis.cnv.at-DOM",name:"VoGIS: DOM (Surface model)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_hoehen_und_gelaende_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=schummerung_50cm_surface&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",polygon:[[[9.96805,47.54631],[9.96809,47.54627],[9.97125,47.54425],[9.96484,47.53803],[9.9684,47.52802],[9.96526,47.52089],[9.99569,47.50278],[9.98736,47.49847],[10.00076,47.48211],[10.02301,47.48411],[10.03743,47.48918],[10.04477,47.48762],[10.05413,47.47589],[10.05347,47.46686],[10.06468,47.46364],[10.06999,47.45595],[10.08057,47.45536],[10.08857,47.46029],[10.09164,47.45893],[10.09385,47.44046],[10.10559,47.42872],[10.09374,47.41688],[10.07418,47.41472],[10.06914,47.41018],[10.08624,47.39952],[10.08284,47.39381],[10.09984,47.35476],[10.11934,47.37561],[10.14169,47.36718],[10.16587,47.36887],[10.16958,47.3713],[10.1694,47.38583],[10.1813,47.38725],[10.18185,47.39243],[10.19508,47.38935],[10.19988,47.38334],[10.21259,47.38039],[10.22705,47.38889],[10.23619,47.38192],[10.23168,47.37897],[10.23716,47.37357],[10.21699,47.35436],[10.2171,47.34988],[10.20424,47.33675],[10.20742,47.33232],[10.19951,47.32646],[10.21113,47.31898],[10.21597,47.31106],[10.21236,47.31122],[10.19913,47.29754],[10.18964,47.29394],[10.17961,47.29603],[10.17208,47.27908],[10.17404,47.27025],[10.17834,47.27011],[10.17449,47.2637],[10.21884,47.25533],[10.22343,47.24983],[10.21087,47.2478],[10.19776,47.23666],[10.20791,47.2328],[10.21428,47.21684],[10.21269,47.20432],[10.19963,47.19539],[10.19951,47.18525],[10.21151,47.17124],[10.2092,47.16537],[10.20851,47.15948],[10.21321,47.1577],[10.2222,47.15323],[10.22166,47.14925],[10.21481,47.14352],[10.20333,47.14215],[10.20887,47.13164],[10.18629,47.12886],[10.18652,47.11946],[10.17288,47.12033],[10.16299,47.11361],[10.15766,47.11426],[10.15442,47.10578],[10.13243,47.08122],[10.13459,47.06392],[10.15085,47.06184],[10.15693,47.04883],[10.14418,47.03355],[10.12326,47.02209],[10.13284,47.01204],[10.15447,47.00545],[10.15961,46.99882],[10.15442,46.99299],[10.16001,46.984],[10.14463,46.98301],[10.13492,46.96584],[10.13501,46.95483],[10.12684,46.9435],[10.09772,46.92676],[10.09954,46.91712],[10.10921,46.90834],[10.10908,46.89431],[10.12497,46.88014],[10.14147,46.87468],[10.13967,46.86217],[10.14506,46.8511],[10.13941,46.84738],[10.12309,46.84848],[10.11912,46.84417],[10.10518,46.8409],[10.09195,46.85143],[10.09265,46.85818],[10.08712,46.86128],[10.05488,46.8617],[10.0509,46.86442],[10.05192,46.87405],[10.03891,46.88611],[10.03221,46.88802],[10.01782,46.90161],[10.00494,46.89889],[9.98243,46.9062],[9.97793,46.91603],[9.96657,46.91222],[9.95907,46.91602],[9.94612,46.91235],[9.93758,46.91324],[9.92153,46.91882],[9.91231,46.92606],[9.90632,46.9253],[9.89449,46.93164],[9.87613,46.93463],[9.88071,46.94011],[9.87657,46.94071],[9.87488,46.95039],[9.87872,46.95707],[9.87073,46.96321],[9.88482,46.98546],[9.8923,46.99036],[9.88878,47.00072],[9.8707,47.00965],[9.87115,47.01306],[9.88035,47.01722],[9.87779,47.02055],[9.85974,47.02321],[9.85273,47.01641],[9.83612,47.01253],[9.82353,47.01986],[9.80756,47.02356],[9.78491,47.03849],[9.74808,47.03692],[9.74185,47.04268],[9.71821,47.04337],[9.70701,47.04805],[9.7076,47.05381],[9.69756,47.05239],[9.68392,47.05765],[9.68184,47.0621],[9.67743,47.06141],[9.65821,47.05818],[9.64506,47.05978],[9.64158,47.05598],[9.63654,47.0517],[9.62633,47.05133],[9.60705,47.06077],[9.6134,47.0695],[9.61153,47.0794],[9.61869,47.07817],[9.62339,47.08258],[9.63346,47.08344],[9.63564,47.09553],[9.62858,47.10756],[9.62083,47.11032],[9.63503,47.12813],[9.62467,47.13265],[9.62258,47.14135],[9.62587,47.1459],[9.62059,47.15164],[9.6089,47.14775],[9.59679,47.16294],[9.57946,47.17116],[9.56456,47.17029],[9.57302,47.1756],[9.57259,47.19079],[9.58032,47.19578],[9.58477,47.20532],[9.5687,47.21968],[9.55851,47.22416],[9.55176,47.22377],[9.56679,47.24288],[9.53073,47.27058],[9.54619,47.28005],[9.55634,47.29829],[9.58805,47.3173],[9.59966,47.3455],[9.61073,47.35571],[9.62446,47.36615],[9.65876,47.36946],[9.67255,47.38021],[9.67311,47.39194],[9.65162,47.40463],[9.64551,47.4312],[9.64512,47.4378],[9.65799,47.44779],[9.65898,47.4522],[9.62234,47.45747],[9.60904,47.47054],[9.60292,47.46198],[9.59514,47.46331],[9.58217,47.48276],[9.5622,47.49592],[9.55057,47.53718],[9.5827,47.53592],[9.60465,47.52952],[9.73478,47.53396],[9.73517,47.54661],[9.74164,47.55499],[9.7471,47.55569],[9.74337,47.55867],[9.75207,47.56747],[9.74806,47.57052],[9.75632,47.57262],[9.75633,47.57963],[9.76197,47.58096],[9.76553,47.58912],[9.76933,47.58739],[9.77697,47.59544],[9.79151,47.59352],[9.79999,47.59611],[9.81414,47.58807],[9.82381,47.5871],[9.82728,47.57997],[9.82079,47.57076],[9.82562,47.55922],[9.8171,47.55333],[9.81579,47.54767],[9.85023,47.54164],[9.85839,47.53388],[9.87451,47.52854],[9.87804,47.53876],[9.87515,47.54343],[9.88125,47.54814],[9.8891,47.54399],[9.89935,47.54475],[9.90666,47.54217],[9.91358,47.53255],[9.92189,47.52964],[9.93352,47.53265],[9.94108,47.53822],[9.9637,47.53472],[9.95883,47.54313],[9.96318,47.54229],[9.96805,47.54631]]],icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg=="},{id:"vogis.cnv.at-ef2012_12cm",name:"VoGIS: Echtfarbenbild 2012 (12cm)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ef2012_12cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2012-01-01T00:00:00.000Z",startDate:"2012-01-01T00:00:00.000Z",polygon:[[[9.54367,47.48479],[9.61451,47.45058],[9.61359,47.38272],[9.44246,47.24798],[9.44614,47.096],[9.42866,47.08911],[9.42498,47.01513],[9.85281,47.00196],[9.85741,46.89896],[9.9669,46.88952],[10.04511,46.8499],[10.15828,46.83353],[10.1592,46.89204],[10.14718,46.89248],[10.15115,46.94331],[10.16317,46.94287],[10.1647,46.96238],[10.17852,46.96681],[10.17576,47.10351],[10.22912,47.10226],[10.22084,47.24361],[10.26133,47.41261],[10.12423,47.40576],[10.09387,47.47795],[10.00462,47.50717],[9.98622,47.56121],[9.84361,47.56245],[9.84085,47.60714],[9.53999,47.60652],[9.54367,47.48479]]],icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg=="},{id:"vogis.cnv.at-ef2015_10cm",name:"VoGIS: Echtfarbenbild 2015 (10cm)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=ef2015_10cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[9.54367,47.48479],[9.61451,47.45058],[9.61359,47.38272],[9.44246,47.24798],[9.44614,47.096],[9.42866,47.08911],[9.42498,47.01513],[9.85281,47.00196],[9.85741,46.89896],[9.9669,46.88952],[10.04511,46.8499],[10.15828,46.83353],[10.1592,46.89204],[10.14718,46.89248],[10.15115,46.94331],[10.16317,46.94287],[10.1647,46.96238],[10.17852,46.96681],[10.17576,47.10351],[10.22912,47.10226],[10.22084,47.24361],[10.26133,47.41261],[10.12423,47.40576],[10.09387,47.47795],[10.00462,47.50717],[9.98622,47.56121],[9.84361,47.56245],[9.84085,47.60714],[9.53999,47.60652],[9.54367,47.48479]]],icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg=="},{id:"vogis.cnv.at-wi2015_20cm",name:"VoGIS: Echtfarbenbild Winter 2015 (20cm)",type:"wms",template:"http://vogis.cnv.at/mapserver/mapserv?map=i_luftbilder_r_wms.map&FORMAT=image/jpeg&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=wi2015_20cm&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}",projection:"EPSG:3857",endDate:"2015-01-01T00:00:00.000Z",startDate:"2015-01-01T00:00:00.000Z",polygon:[[[10.17039,46.82979],[10.17108,46.93644],[10.18413,46.94113],[10.1855,47.10157],[10.23906,47.10437],[10.24283,47.15611],[10.25691,47.18704],[10.24558,47.27597],[10.25313,47.32347],[10.26893,47.32626],[10.26446,47.41102],[10.13194,47.4087],[10.13434,47.46107],[10.11752,47.46153],[10.11889,47.47337],[10.08731,47.47429],[10.08491,47.50724],[10.06843,47.507],[10.0674,47.5215],[10.02345,47.52428],[10.00079,47.57943],[9.84904,47.57757],[9.85042,47.61462],[9.72751,47.61277],[9.7203,47.59089],[9.70347,47.58915],[9.70313,47.54491],[9.68219,47.54491],[9.68047,47.55348],[9.56391,47.54931],[9.56202,47.53958],[9.55172,47.53958],[9.55172,47.53402],[9.52168,47.53471],[9.52701,47.30497],[9.50503,47.30264],[9.50091,47.23368],[9.52357,47.23228],[9.52426,47.16557],[9.54486,47.16405],[9.54383,47.15448],[9.57232,47.15401],[9.57026,47.12809],[9.59018,47.12867],[9.59189,47.10029],[9.57232,47.10017],[9.57713,47.02861],[9.72407,47.03048],[9.72304,47.01749],[9.77454,47.01562],[9.77626,47.00555],[9.79274,47.00391],[9.7948,46.99127],[9.83874,46.99314],[9.84012,46.90349],[9.89024,46.90725],[9.88543,46.88707],[9.95925,46.89141],[9.962,46.87675],[10.0001,46.87862],[9.99667,46.85715],[10.01864,46.85656],[10.02345,46.83073],[10.17039,46.82979]]],icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAACEAgT8AgQEAgSEgoTQjzHEAAAAAXRSTlMAQObYZgAAAHJJREFUeF6ljVEKgzAQRCftBUQv0KwXML7cwPvfqQwJtIVqi76fHR7DrKSUJY1DD84xKEVuwcT40C1HC18bqQDTBKWosUZn+VvQ4UTjkoCYWd/Eco9ZLwEWggsNC9CPL3C0UauFz44wFh941Bw0tm1PPAGCUydahBcw6wAAAABJRU5ErkJggg=="}]; + + var presets = {aerialway:{fields:["aerialway"],geometry:["point","vertex","line"],tags:{aerialway:"*"},terms:["ski lift","funifor","funitel"],searchable:false,name:"Aerialway"},aeroway:{icon:"maki-airport",fields:["aeroway"],geometry:["point","vertex","line","area"],tags:{aeroway:"*"},searchable:false,name:"Aeroway"},amenity:{fields:["amenity"],geometry:["point","vertex","area"],tags:{amenity:"*"},searchable:false,name:"Amenity"},circular:{geometry:["vertex","line"],fields:["name"],tags:{junction:"circular"},name:"Traffic Circle",searchable:false},highway:{fields:["name","highway"],geometry:["point","vertex","line","area"],tags:{highway:"*"},searchable:false,name:"Highway"},place:{fields:["name","place"],geometry:["point","vertex","area"],tags:{place:"*"},searchable:false,name:"Place"},power:{geometry:["point","vertex","line","area"],tags:{power:"*"},fields:["power"],searchable:false,name:"Power"},railway:{fields:["railway"],geometry:["point","vertex","line","area"],tags:{railway:"*"},searchable:false,name:"Railway"},roundabout:{geometry:["vertex","line"],fields:["name"],tags:{junction:"roundabout"},name:"Roundabout",searchable:false},waterway:{fields:["name","waterway"],geometry:["point","vertex","line","area"],tags:{waterway:"*"},searchable:false,name:"Waterway"},address:{fields:["address"],geometry:["point","vertex","area"],tags:{"addr:*":"*"},addTags:{},removeTags:{},reference:{key:"addr"},name:"Address",matchScore:0.15},"advertising/billboard":{fields:["direction","lit"],geometry:["point","vertex","line"],tags:{advertising:"billboard"},name:"Billboard"},"advertising/column":{fields:["direction","lit"],geometry:["point","area"],tags:{advertising:"column"},name:"Advertising Column"},"aerialway/station":{icon:"maki-aerialway",geometry:["point","vertex","area"],fields:["aerialway/access","aerialway/summer/access","elevation","building_area"],tags:{aerialway:"station"},name:"Aerialway Station",searchable:false},"aerialway/cable_car":{geometry:["line"],terms:["tramway","ropeway"],fields:["name","aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/heating"],tags:{aerialway:"cable_car"},name:"Cable Car"},"aerialway/chair_lift":{geometry:["line"],fields:["name","aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],tags:{aerialway:"chair_lift"},name:"Chair Lift"},"aerialway/drag_lift":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration"],tags:{aerialway:"drag_lift"},name:"Drag Lift"},"aerialway/gondola":{geometry:["line"],fields:["name","aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],tags:{aerialway:"gondola"},name:"Gondola"},"aerialway/goods":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration"],tags:{aerialway:"goods"},name:"Goods Aerialway"},"aerialway/magic_carpet":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration","aerialway/heating"],tags:{aerialway:"magic_carpet"},name:"Magic Carpet Lift"},"aerialway/mixed_lift":{geometry:["line"],fields:["name","aerialway/occupancy","aerialway/capacity","aerialway/duration","aerialway/bubble","aerialway/heating"],tags:{aerialway:"mixed_lift"},name:"Mixed Lift"},"aerialway/platter":{geometry:["line"],terms:["button lift","poma lift"],fields:["name","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:["name","aerialway/capacity","aerialway/duration"],tags:{aerialway:"rope_tow"},name:"Rope Tow Lift"},"aerialway/t-bar":{geometry:["line"],fields:["name","aerialway/capacity","aerialway/duration"],terms:["tbar"],tags:{aerialway:"t-bar"},name:"T-bar Lift"},"aeroway/aerodrome":{icon:"maki-airport",geometry:["point","area"],fields:["name","iata","icao","operator","internet_access","internet_access/fee","internet_access/ssid"],terms:["airplane","airport","aerodrome"],tags:{aeroway:"aerodrome"},name:"Airport"},"aeroway/apron":{icon:"maki-airport",geometry:["area"],terms:["ramp"],fields:["ref","surface"],tags:{aeroway:"apron"},name:"Apron"},"aeroway/gate":{icon:"maki-airport",geometry:["point"],fields:["ref_aeroway_gate"],tags:{aeroway:"gate"},name:"Airport Gate"},"aeroway/hangar":{geometry:["area"],fields:["name","building_area"],tags:{aeroway:"hangar"},name:"Hangar"},"aeroway/helipad":{icon:"maki-heliport",geometry:["point","area"],fields:["ref"],terms:["helicopter","helipad","heliport"],tags:{aeroway:"helipad"},name:"Helipad"},"aeroway/runway":{geometry:["line","area"],terms:["landing strip"],fields:["ref_runway","surface","length","width"],tags:{aeroway:"runway"},name:"Runway"},"aeroway/taxiway":{geometry:["line"],fields:["ref_taxiway","surface"],tags:{aeroway:"taxiway"},name:"Taxiway"},"aeroway/terminal":{icon:"maki-airport",geometry:["point","area"],terms:["airport","aerodrome"],fields:["name","operator","building_area"],tags:{aeroway:"terminal"},name:"Airport Terminal"},"allotments/plot":{geometry:["area"],fields:["name","ref"],tags:{allotments:"plot"},reference:{key:"allotments",value:"plot"},name:"Community Garden Plot"},"amenity/bus_station":{icon:"maki-bus",fields:["name","building_area","operator","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{amenity:"bus_station"},name:"Bus Station / Terminal",searchable:false},"amenity/coworking_space":{icon:"maki-commercial",fields:["name","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{amenity:"coworking_space"},name:"Coworking Space",searchable:false},"amenity/ferry_terminal":{icon:"maki-ferry",fields:["name","network","operator","address","building_area"],geometry:["point","vertex","area"],terms:[],tags:{amenity:"ferry_terminal"},name:"Ferry Station / Terminal",searchable:false},"amenity/nursing_home":{icon:"maki-wheelchair",fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair"],geometry:["point","area"],tags:{amenity:"nursing_home"},reference:{key:"social_facility",value:"nursing_home"},name:"Nursing Home",searchable:false},"amenity/register_office":{icon:"maki-town-hall",fields:["name","address","building_area","opening_hours","operator"],geometry:["point","area"],tags:{amenity:"register_office"},reference:{key:"government",value:"register_office"},name:"Register Office",searchable:false},"amenity/scrapyard":{icon:"maki-car",fields:["name","operator","address","opening_hours"],geometry:["point","area"],tags:{amenity:"scrapyard"},reference:{key:"industrial",value:"scrap_yard"},name:"Scrap Yard",searchable:false},"amenity/swimming_pool":{icon:"maki-swimming",geometry:["point","vertex","area"],tags:{amenity:"swimming_pool"},reference:{key:"leisure",value:"swimming_pool"},name:"Swimming Pool",searchable:false},"amenity/animal_boarding":{icon:"maki-veterinary",fields:["name","operator","address","building_area","opening_hours","animal_boarding"],geometry:["point","area"],terms:["boarding","cat","cattery","dog","horse","kennel","kitten","pet","pet boarding","pet care","pet hotel","puppy","reptile"],tags:{amenity:"animal_boarding"},name:"Animal Boarding Facility"},"amenity/animal_breeding":{icon:"maki-veterinary",fields:["name","operator","address","building_area","opening_hours","animal_breeding"],geometry:["point","area"],terms:["breeding","bull","cat","cow","dog","horse","husbandry","kitten","livestock","pet breeding","puppy","reptile"],tags:{amenity:"animal_breeding"},name:"Animal Breeding Facility"},"amenity/animal_shelter":{icon:"maki-veterinary",fields:["name","operator","address","building_area","opening_hours","animal_shelter"],geometry:["point","area"],terms:["adoption","aspca","cat","dog","horse","kitten","pet care","pet rescue","puppy","raptor","reptile","rescue","spca"],tags:{amenity:"animal_shelter"},name:"Animal Shelter"},"amenity/arts_centre":{icon:"maki-theatre",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],terms:[],tags:{amenity:"arts_centre"},name:"Arts Center"},"amenity/atm":{icon:"maki-bank",fields:["operator","currency_multi","drive_through"],geometry:["point","vertex"],terms:["money","cash","machine"],tags:{amenity:"atm"},name:"ATM"},"amenity/bank":{icon:"maki-bank",fields:["name","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:"maki-bar",fields:["name","operator","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],geometry:["point","area"],terms:["dive","beer","bier","booze"],tags:{amenity:"bar"},name:"Bar"},"amenity/bbq":{icon:"maki-bbq",fields:["covered","fuel"],geometry:["point"],terms:["bbq","grill"],tags:{amenity:"bbq"},name:"Barbecue/Grill"},"amenity/bench":{icon:"temaki-bench",fields:["backrest"],geometry:["point","vertex","line"],terms:["seat"],tags:{amenity:"bench"},name:"Bench"},"amenity/bicycle_parking":{icon:"maki-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:"maki-bicycle",fields:["capacity","network","operator","payment_multi"],geometry:["point","vertex","area"],terms:["bike"],tags:{amenity:"bicycle_rental"},name:"Bicycle Rental"},"amenity/bicycle_repair_station":{icon:"maki-bicycle",fields:["operator","brand","opening_hours","fee","service/bicycle"],geometry:["point","vertex"],terms:["bike","repair","chain","pump"],tags:{amenity:"bicycle_repair_station"},name:"Bicycle Repair Tool Stand"},"amenity/biergarten":{icon:"maki-beer",fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],geometry:["point","area"],tags:{amenity:"biergarten"},terms:["beer","bier","booze"],name:"Beer Garden"},"amenity/boat_rental":{fields:["name","operator","payment_multi"],geometry:["point","area"],tags:{amenity:"boat_rental"},name:"Boat Rental"},"amenity/bureau_de_change":{icon:"maki-bank",fields:["name","currency_multi","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["bureau de change","money changer"],tags:{amenity:"bureau_de_change"},name:"Currency Exchange"},"amenity/cafe":{icon:"maki-cafe",fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],geometry:["point","area"],terms:["bistro","coffee","tea"],tags:{amenity:"cafe"},name:"Cafe"},"amenity/car_pooling":{icon:"maki-car",fields:["name","operator","capacity"],geometry:["point","area"],tags:{amenity:"car_pooling"},name:"Car Pooling"},"amenity/car_rental":{icon:"maki-car",fields:["name","operator","payment_multi"],geometry:["point","area"],tags:{amenity:"car_rental"},name:"Car Rental"},"amenity/car_sharing":{icon:"maki-car",fields:["name","operator","capacity","payment_multi"],geometry:["point","area"],tags:{amenity:"car_sharing"},name:"Car Sharing"},"amenity/car_wash":{icon:"maki-car",fields:["address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{amenity:"car_wash"},name:"Car Wash"},"amenity/casino":{icon:"temaki-dice",fields:["name","operator","address","building_area","opening_hours","payment_multi","smoking"],geometry:["point","area"],terms:["gambling","roulette","craps","poker","blackjack"],tags:{amenity:"casino"},name:"Casino"},"amenity/charging_station":{icon:"maki-car",fields:["operator","capacity"],geometry:["point"],tags:{amenity:"charging_station"},terms:["EV","Electric Vehicle","Supercharger"],name:"Charging Station"},"amenity/childcare":{icon:"maki-school",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["daycare","orphanage","playgroup"],tags:{amenity:"childcare"},name:"Nursery/Childcare"},"amenity/cinema":{icon:"maki-cinema",fields:["name","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["drive-in","film","flick","movie","theater","picture","show","screen"],tags:{amenity:"cinema"},name:"Cinema"},"amenity/clinic":{icon:"maki-doctor",fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],geometry:["point","area"],terms:["medical","urgentcare"],tags:{amenity:"clinic"},addTags:{amenity:"clinic",healthcare:"clinic"},removeTags:{amenity:"clinic",healthcare:"clinic"},reference:{key:"amenity",value:"clinic"},name:"Clinic"},"amenity/clinic/abortion":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],geometry:["point","area"],terms:[],tags:{amenity:"clinic",healthcare:"clinic","healthcare:speciality":"abortion"},reference:{key:"amenity",value:"clinic"},name:"Abortion Clinic"},"amenity/clinic/fertility":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],geometry:["point","area"],terms:["egg","fertility","reproductive","sperm","ovulation"],tags:{amenity:"clinic",healthcare:"clinic","healthcare:speciality":"fertility"},reference:{key:"amenity",value:"clinic"},name:"Fertility Clinic"},"amenity/clock":{icon:"temaki-clock",fields:["name","support","display","visibility","date","faces"],geometry:["point","vertex"],tags:{amenity:"clock"},name:"Clock"},"amenity/college":{icon:"maki-college",fields:["name","operator","address","internet_access","internet_access/ssid"],geometry:["point","area"],terms:["university"],tags:{amenity:"college"},name:"College Grounds"},"amenity/community_centre":{icon:"maki-town-hall",fields:["name","operator","address","building_area"],geometry:["point","area"],terms:["event","hall"],tags:{amenity:"community_centre"},name:"Community Center"},"amenity/compressed_air":{icon:"maki-car",geometry:["point","area"],tags:{amenity:"compressed_air"},name:"Compressed Air"},"amenity/courthouse":{icon:"maki-town-hall",fields:["name","operator","address","building_area"],geometry:["point","area"],tags:{amenity:"courthouse"},name:"Courthouse"},"amenity/crematorium":{icon:"maki-cemetery",fields:["name","website","phone","opening_hours","wheelchair"],geometry:["area","point"],tags:{amenity:"crematorium"},terms:["cemetery","funeral"],name:"Crematorium"},"amenity/dentist":{icon:"maki-dentist",fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],geometry:["point","area"],terms:["tooth","teeth"],tags:{amenity:"dentist"},addTags:{amenity:"dentist",healthcare:"dentist"},removeTags:{amenity:"dentist",healthcare:"dentist"},reference:{key:"amenity",value:"dentist"},name:"Dentist"},"amenity/doctors":{icon:"maki-doctor",fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],geometry:["point","area"],terms:["medic*","physician"],tags:{amenity:"doctors"},addTags:{amenity:"doctors",healthcare:"doctor"},removeTags:{amenity:"doctors",healthcare:"doctor"},reference:{key:"amenity",value:"doctors"},name:"Doctor"},"amenity/dojo":{icon:"maki-pitch",fields:["name","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:"maki-drinking-water",geometry:["point"],tags:{amenity:"drinking_water"},terms:["fountain","potable"],name:"Drinking Water"},"amenity/driving_school":{icon:"maki-car",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{amenity:"driving_school"},name:"Driving School"},"amenity/embassy":{icon:"maki-embassy",fields:["name","country","address","building_area"],geometry:["point","area"],tags:{amenity:"embassy"},name:"Embassy"},"amenity/fast_food":{icon:"maki-fast-food",fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],geometry:["point","area"],tags:{amenity:"fast_food"},terms:["restaurant","takeaway"],name:"Fast Food"},"amenity/fire_station":{icon:"maki-fire-station",fields:["name","operator","address","building_area"],geometry:["point","area"],terms:[],tags:{amenity:"fire_station"},name:"Fire Station"},"amenity/food_court":{icon:"maki-restaurant",fields:["name","operator","address","building_area","opening_hours","smoking","outdoor_seating"],geometry:["point","area"],terms:["fast food","restaurant","food"],tags:{amenity:"food_court"},name:"Food Court"},"amenity/fountain":{icon:"temaki-fountain",fields:["name"],geometry:["point","area"],tags:{amenity:"fountain"},name:"Fountain"},"amenity/fuel":{icon:"maki-fuel",fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],geometry:["point","area"],terms:["petrol","fuel","gasoline","propane","diesel","lng","cng","biodiesel"],tags:{amenity:"fuel"},name:"Gas Station"},"amenity/grave_yard":{icon:"maki-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:"maki-hospital",fields:["name","operator","healthcare/speciality","address","emergency"],geometry:["point","area"],terms:["clinic","doctor","emergency room","health","infirmary","institution","sanatorium","sanitarium","sick","surgery","ward"],tags:{amenity:"hospital"},addTags:{amenity:"hospital",healthcare:"hospital"},removeTags:{amenity:"hospital",healthcare:"hospital"},reference:{key:"amenity",value:"hospital"},name:"Hospital Grounds"},"amenity/hunting_stand":{icon:"temaki-binoculars",geometry:["point","vertex","area"],terms:["game","gun","lookout","rifle","shoot*","wild","watch"],tags:{amenity:"hunting_stand"},name:"Hunting Stand"},"amenity/ice_cream":{icon:"maki-ice-cream",fields:["name","address","building_area","opening_hours","takeaway","delivery","outdoor_seating"],geometry:["point","area"],terms:["gelato","sorbet","sherbet","frozen","yogurt"],tags:{amenity:"ice_cream"},name:"Ice Cream Shop"},"amenity/internet_cafe":{icon:"temaki-antenna",fields:["name","operator","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],geometry:["point","area"],terms:["cybercafe","taxiphone","teleboutique","coffee","cafe","net","lanhouse"],tags:{amenity:"internet_cafe"},name:"Internet Cafe"},"amenity/kindergarten":{icon:"maki-school",fields:["name","operator","address"],geometry:["point","area"],terms:["kindergarden","pre-school"],tags:{amenity:"kindergarten"},name:"Preschool/Kindergarten Grounds"},"amenity/library":{icon:"maki-library",fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],geometry:["point","area"],terms:["book"],tags:{amenity:"library"},name:"Library"},"amenity/love_hotel":{icon:"maki-heart",fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{amenity:"love_hotel"},name:"Love Hotel"},"amenity/marketplace":{icon:"maki-shop",fields:["name","operator","address","building","opening_hours"],geometry:["point","area"],tags:{amenity:"marketplace"},name:"Marketplace"},"amenity/monastery":{icon:"maki-place-of-worship",fields:["name","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","monastery","mosque","oratory","parish","sacellum","sanctuary","shrine","synagogue","tabernacle","temple"],tags:{amenity:"monastery"},name:"Monastery Grounds"},"amenity/motorcycle_parking":{icon:"fas-motorcycle",fields:["capacity","operator","covered","access_simple"],geometry:["point","vertex","area"],tags:{amenity:"motorcycle_parking"},name:"Motorcycle Parking"},"amenity/music_school":{icon:"maki-school",fields:["name","operator","address"],geometry:["point","area"],terms:["school of music"],tags:{amenity:"music_school"},name:"Music School"},"amenity/nightclub":{icon:"maki-bar",fields:["name","operator","address","building_area","opening_hours","smoking"],geometry:["point","area"],tags:{amenity:"nightclub"},terms:["disco*","night club","dancing","dance club"],name:"Nightclub"},"amenity/parking_entrance":{icon:"maki-entrance-alt1",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"},matchScore:0.95,name:"Parking Space"},"amenity/parking":{icon:"maki-parking",fields:["name","operator","parking","capacity","fee","access_simple","supervised","park_ride","surface","maxstay"],geometry:["point","vertex","area"],tags:{amenity:"parking"},terms:[],name:"Car Parking"},"amenity/pavilion":{icon:"maki-shelter",fields:["bin","bench"],geometry:["point","vertex","area"],tags:{amenity:"shelter",shelter_type:"pavilion"},name:"Pavilion"},"amenity/pharmacy":{icon:"maki-pharmacy",fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],geometry:["point","area"],tags:{amenity:"pharmacy"},addTags:{amenity:"pharmacy",healthcare:"pharmacy"},removeTags:{amenity:"pharmacy",healthcare:"pharmacy"},reference:{key:"amenity",value:"pharmacy"},terms:["drug*","med*","prescription"],name:"Pharmacy"},"amenity/place_of_worship":{icon:"maki-place-of-worship",fields:["name","religion","denomination","address","building_area","service_times"],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:"maki-buddhism",fields:["name","denomination","building_area","address","service_times"],geometry:["point","area"],terms:["stupa","vihara","monastery","temple","pagoda","zendo","dojo"],tags:{amenity:"place_of_worship",religion:"buddhist"},reference:{key:"amenity",value:"place_of_worship"},name:"Buddhist Temple"},"amenity/place_of_worship/christian":{icon:"maki-religious-christian",fields:["name","denomination","building_area","address","service_times"],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"},reference:{key:"amenity",value:"place_of_worship"},name:"Church"},"amenity/place_of_worship/hindu":{icon:"temaki-hinduism",fields:["name","denomination","building_area","address","service_times"],geometry:["point","area"],terms:["kovil","devasthana","mandir","kshetram","alayam","shrine","temple"],tags:{amenity:"place_of_worship",religion:"hindu"},reference:{key:"amenity",value:"place_of_worship"},name:"Hindu Temple"},"amenity/place_of_worship/jewish":{icon:"maki-religious-jewish",fields:["name","denomination","building_area","address","service_times"],geometry:["point","area"],terms:["jewish"],tags:{amenity:"place_of_worship",religion:"jewish"},reference:{key:"amenity",value:"place_of_worship"},name:"Synagogue"},"amenity/place_of_worship/muslim":{icon:"maki-religious-muslim",fields:["name","denomination","building_area","address","service_times"],geometry:["point","area"],terms:["muslim"],tags:{amenity:"place_of_worship",religion:"muslim"},reference:{key:"amenity",value:"place_of_worship"},name:"Mosque"},"amenity/place_of_worship/shinto":{icon:"temaki-shinto",fields:["name","denomination","building_area","address","service_times"],geometry:["point","area"],terms:["kami","torii"],tags:{amenity:"place_of_worship",religion:"shinto"},reference:{key:"amenity",value:"place_of_worship"},name:"Shinto Shrine"},"amenity/place_of_worship/sikh":{icon:"temaki-sikhism",fields:["name","denomination","building_area","address","service_times"],geometry:["point","area"],terms:["gurudwara","temple"],tags:{amenity:"place_of_worship",religion:"sikh"},reference:{key:"amenity",value:"place_of_worship"},name:"Sikh Temple"},"amenity/place_of_worship/taoist":{icon:"temaki-taoism",fields:["name","denomination","building_area","address","service_times"],geometry:["point","area"],terms:["daoist","monastery","temple"],tags:{amenity:"place_of_worship",religion:"taoist"},reference:{key:"amenity",value:"place_of_worship"},name:"Taoist Temple"},"amenity/planetarium":{icon:"maki-museum",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["museum","astronomy","observatory"],tags:{amenity:"planetarium"},name:"Planetarium"},"amenity/police":{icon:"maki-police",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["badge","constable","constabulary","cop","detective","fed","law","enforcement","officer","patrol"],tags:{amenity:"police"},name:"Police"},"amenity/post_box":{icon:"maki-post",fields:["operator","collection_times","drive_through","ref"],geometry:["point","vertex"],tags:{amenity:"post_box"},terms:["letter","post"],name:"Mailbox"},"amenity/post_office":{icon:"maki-post",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["letter","mail"],tags:{amenity:"post_office"},name:"Post Office"},"amenity/prison":{icon:"maki-prison",fields:["name","operator","address"],geometry:["point","area"],terms:["cell","jail"],tags:{amenity:"prison"},name:"Prison Grounds"},"amenity/pub":{icon:"maki-beer",fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],geometry:["point","area"],tags:{amenity:"pub"},terms:["alcohol","drink","dive","beer","bier","booze"],name:"Pub"},"amenity/public_bath":{icon:"maki-water",fields:["name","bath/type","bath/open_air","bath/sand_bath","address","building_area","opening_hours"],geometry:["point","area"],tags:{amenity:"public_bath"},terms:["onsen","foot bath","hot springs"],name:"Public Bath"},"amenity/public_bookcase":{icon:"maki-library",fields:["name","operator","capacity","website"],geometry:["point","area"],terms:["library","bookcrossing"],tags:{amenity:"public_bookcase"},name:"Public Bookcase"},"amenity/ranger_station":{icon:"maki-ranger-station",fields:["name","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_centre":{icon:"maki-recycling",fields:["name","operator","address","building","opening_hours","recycling_accepts"],geometry:["point","area"],terms:["bottle","can","dump","glass","garbage","rubbish","scrap","trash"],tags:{amenity:"recycling",recycling_type:"centre"},reference:{key:"recycling_type",value:"*"},name:"Recycling Center"},"amenity/recycling":{icon:"maki-recycling",fields:["recycling_accepts","collection_times"],geometry:["point","area"],terms:["bin","can","bottle","glass","garbage","rubbish","scrap","trash"],tags:{amenity:"recycling"},addTags:{amenity:"recycling",recycling_type:"container"},removeTags:{amenity:"recycling",recycling_type:"container"},reference:{key:"amenity",value:"recycling"},name:"Recycling Container"},"amenity/restaurant":{icon:"maki-restaurant",fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],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":{icon:"temaki-storage_tank",fields:["operator","access_simple","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:"maki-school",fields:["name","operator","address","religion","denomination"],geometry:["point","area"],terms:["academy","elementary school","middle school","high school"],tags:{amenity:"school"},name:"School Grounds"},"amenity/shelter":{icon:"maki-shelter",fields:["name","shelter_type","bin"],geometry:["point","vertex","area"],terms:["lean-to","gazebo","picnic"],tags:{amenity:"shelter"},name:"Shelter"},"amenity/shower":{icon:"temaki-shower",fields:["operator","opening_hours","fee","supervised","building_area"],geometry:["point","vertex","area"],terms:["rain closet"],tags:{amenity:"shower"},name:"Shower"},"amenity/smoking_area":{icon:"fas-smoking",fields:["name","shelter","bin","bench","opening_hours"],geometry:["point","vertex","area"],terms:[],tags:{amenity:"smoking_area"},name:"Smoking Area"},"amenity/social_facility":{icon:"temaki-social_facility",fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair"],geometry:["point","area"],terms:[],tags:{amenity:"social_facility"},name:"Social Facility"},"amenity/social_facility/food_bank":{icon:"temaki-social_facility",fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours"],geometry:["point","area"],terms:[],tags:{amenity:"social_facility",social_facility:"food_bank"},reference:{key:"social_facility",value:"food_bank"},name:"Food Bank"},"amenity/social_facility/group_home":{icon:"maki-wheelchair",fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair"],geometry:["point","area"],terms:["old","senior","living","care home","assisted living"],tags:{amenity:"social_facility",social_facility:"group_home","social_facility:for":"senior"},reference:{key:"social_facility",value:"group_home"},name:"Elderly Group Home"},"amenity/social_facility/homeless_shelter":{icon:"temaki-social_facility",fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],terms:["houseless","unhoused","displaced"],tags:{amenity:"social_facility",social_facility:"shelter","social_facility:for":"homeless"},reference:{key:"social_facility",value:"shelter"},name:"Homeless Shelter"},"amenity/social_facility/nursing_home":{icon:"maki-wheelchair",fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair"],geometry:["point","area"],terms:["elderly","living","nursing","old","senior","assisted living"],tags:{amenity:"social_facility",social_facility:"nursing_home","social_facility:for":"senior"},reference:{key:"social_facility",value:"nursing_home"},name:"Nursing Home"},"amenity/studio":{icon:"maki-karaoke",fields:["name","studio","address","building_area"],geometry:["point","area"],terms:["recording","radio","television"],tags:{amenity:"studio"},name:"Studio"},"amenity/taxi":{icon:"fas-taxi",fields:["name","operator","capacity"],geometry:["point","vertex","area"],terms:["cab"],tags:{amenity:"taxi"},name:"Taxi Stand"},"amenity/telephone":{icon:"maki-telephone",fields:["operator","phone","fee","payment_multi","covered","indoor"],geometry:["point","vertex"],tags:{amenity:"telephone"},terms:["phone"],name:"Telephone"},"amenity/theatre":{icon:"maki-theatre",fields:["name","operator","address","building_area"],geometry:["point","area"],terms:["theatre","performance","play","musical"],tags:{amenity:"theatre"},name:"Theater"},"amenity/toilets":{icon:"maki-toilet",fields:["toilets/disposal","operator","building_area","access_simple","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:"maki-town-hall",fields:["name","operator","address","building_area"],geometry:["point","area"],terms:["village","city","government","courthouse","municipal"],tags:{amenity:"townhall"},name:"Town Hall"},"amenity/university":{icon:"maki-college",fields:["name","operator","address","internet_access","internet_access/ssid"],geometry:["point","area"],terms:["college"],tags:{amenity:"university"},name:"University Grounds"},"amenity/vending_machine":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:[],tags:{amenity:"vending_machine"},name:"Vending Machine"},"amenity/vending_machine/news_papers":{icon:"temaki-vending_machine",fields:["vending","operator","fee","payment_multi","currency_multi"],geometry:["point"],terms:["newspaper"],tags:{amenity:"vending_machine",vending:"news_papers"},reference:{key:"vending",value:"newspapers"},name:"Newspaper Vending Machine",searchable:false},"amenity/vending_machine/cigarettes":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["cigarette"],tags:{amenity:"vending_machine",vending:"cigarettes"},reference:{key:"vending",value:"cigarettes"},name:"Cigarette Vending Machine"},"amenity/vending_machine/coffee":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["coffee"],tags:{amenity:"vending_machine",vending:"coffee"},reference:{key:"vending",value:"coffee"},name:"Coffee Vending Machine"},"amenity/vending_machine/condoms":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["condom"],tags:{amenity:"vending_machine",vending:"condoms"},reference:{key:"vending",value:"condoms"},name:"Condom Vending Machine"},"amenity/vending_machine/drinks":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["drink","soda","beverage","juice","pop"],tags:{amenity:"vending_machine",vending:"drinks"},reference:{key:"vending",value:"drinks"},name:"Drink Vending Machine"},"amenity/vending_machine/electronics":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["cable","charger","earbud","headphone","phone","tablet"],tags:{amenity:"vending_machine",vending:"electronics"},reference:{key:"vending",value:"electronics"},name:"Electronics Vending Machine"},"amenity/vending_machine/elongated_coin":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["coin","crush","elongated","flatten","penny","souvenir"],tags:{amenity:"vending_machine",vending:"elongated_coin"},reference:{key:"vending",value:"elongated_coin"},name:"Flat Coin Vending Machine"},"amenity/vending_machine/excrement_bags":{icon:"temaki-vending_machine",fields:["vending","operator","fee","payment_multi","currency_multi"],geometry:["point"],terms:["excrement bags","poop","dog","animal"],tags:{amenity:"vending_machine",vending:"excrement_bags"},reference:{key:"vending",value:"excrement_bags"},name:"Excrement Bag Vending Machine"},"amenity/vending_machine/feminine_hygiene":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["condom","tampon","pad","woman","women","menstrual hygiene products","personal care"],tags:{amenity:"vending_machine",vending:"feminine_hygiene"},reference:{key:"vending",value:"feminine_hygiene"},name:"Feminine Hygiene Vending Machine"},"amenity/vending_machine/food":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["food"],tags:{amenity:"vending_machine",vending:"food"},reference:{key:"vending",value:"food"},name:"Food Vending Machine"},"amenity/vending_machine/fuel":{icon:"maki-fuel",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["petrol","fuel","gasoline","propane","diesel","lng","cng","biodiesel"],tags:{amenity:"vending_machine",vending:"fuel"},reference:{key:"vending",value:"fuel"},name:"Gas Pump"},"amenity/vending_machine/ice_cream":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["chocolate","ice cream","frozen","popsicle","vanilla"],tags:{amenity:"vending_machine",vending:"ice_cream"},reference:{key:"vending",value:"ice_cream"},name:"Ice Cream Vending Machine"},"amenity/vending_machine/newspapers":{icon:"temaki-vending_machine",fields:["vending","operator","fee","payment_multi","currency_multi"],geometry:["point"],terms:["newspaper"],tags:{amenity:"vending_machine",vending:"newspapers"},reference:{key:"vending",value:"newspapers"},name:"Newspaper Vending Machine"},"amenity/vending_machine/parcel_pickup_dropoff":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["parcel","mail","pickup"],tags:{amenity:"vending_machine",vending:"parcel_pickup;parcel_mail_in"},reference:{key:"vending",value:"parcel_pickup;parcel_mail_in"},name:"Parcel Pickup/Dropoff Vending Machine"},"amenity/vending_machine/parking_tickets":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["parking","ticket"],tags:{amenity:"vending_machine",vending:"parking_tickets"},reference:{key:"vending",value:"parking_tickets"},matchScore:0.94,name:"Parking Ticket Vending Machine"},"amenity/vending_machine/public_transport_tickets":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["bus","train","ferry","rail","ticket","transportation"],tags:{amenity:"vending_machine",vending:"public_transport_tickets"},reference:{key:"vending",value:"public_transport_tickets"},name:"Transit Ticket Vending Machine"},"amenity/vending_machine/stamps":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["mail","postage","stamp"],tags:{amenity:"vending_machine",vending:"stamps"},reference:{key:"vending",value:"stamps"},name:"Postage Vending Machine"},"amenity/vending_machine/sweets":{icon:"temaki-vending_machine",fields:["vending","operator","payment_multi","currency_multi"],geometry:["point"],terms:["candy","gum","chip","pretzel","cookie","cracker"],tags:{amenity:"vending_machine",vending:"sweets"},reference:{key:"vending",value:"sweets"},name:"Snack Vending Machine"},"amenity/veterinary":{icon:"maki-veterinary",fields:["name","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:"maki-waste-basket",fields:["collection_times"],geometry:["point","vertex"],tags:{amenity:"waste_basket"},terms:["bin","garbage","rubbish","litter","trash"],name:"Waste Basket"},"amenity/waste_disposal":{icon:"maki-waste-basket",fields:["collection_times"],geometry:["point","vertex","area"],tags:{amenity:"waste_disposal"},terms:["garbage","rubbish","litter","trash"],name:"Garbage Dumpster"},"amenity/waste_transfer_station":{icon:"maki-waste-basket",fields:["name","operator","address","opening_hours"],geometry:["point","area"],terms:["dump","garbage","recycling","rubbish","scrap","trash"],tags:{amenity:"waste_transfer_station"},name:"Waste Transfer Station"},"amenity/waste/dog_excrement":{icon:"maki-waste-basket",fields:["collection_times"],geometry:["point","vertex","area"],tags:{amenity:"waste_basket",waste:"dog_excrement"},reference:{key:"waste",value:"dog_excrement"},terms:["bin","garbage","rubbish","litter","trash","poo","dog"],name:"Dog Excrement Bin"},"amenity/water_point":{icon:"maki-drinking-water",geometry:["area","vertex","point"],tags:{amenity:"water_point"},name:"RV Drinking Water"},"amenity/watering_place":{icon:"maki-drinking-water",geometry:["area","vertex","point"],tags:{amenity:"watering_place"},name:"Animal Watering Place"},area:{fields:["name"],geometry:["area"],tags:{area:"yes"},name:"Area",matchScore:0.1},"area/highway":{fields:["name","area/highway"],geometry:["area"],tags:{"area:highway":"*"},name:"Road Surface"},"attraction/amusement_ride":{icon:"maki-amusement-park",fields:["name","operator","opening_hours"],geometry:["point","area"],terms:["theme park","carnival ride"],tags:{attraction:"amusement_ride"},name:"Amusement Ride"},"attraction/animal":{icon:"maki-zoo",fields:["name","operator"],geometry:["point","area"],terms:["zoo","theme park","animal park","lion","tiger","bear"],tags:{attraction:"animal"},name:"Animal"},"attraction/big_wheel":{icon:"maki-amusement-park",fields:["name","operator","height","opening_hours"],geometry:["point"],terms:["ferris wheel","theme park","amusement ride"],tags:{attraction:"big_wheel"},name:"Big Wheel"},"attraction/bumper_car":{icon:"maki-car",fields:["name","operator","opening_hours"],geometry:["point","area"],terms:["theme park","dodgem cars","autoscooter"],tags:{attraction:"bumper_car"},name:"Bumper Car"},"attraction/bungee_jumping":{icon:"maki-pitch",fields:["name","operator","height","opening_hours"],geometry:["point","area"],terms:["theme park","bungy jumping","jumping platform"],tags:{attraction:"bungee_jumping"},name:"Bungee Jumping"},"attraction/carousel":{icon:"maki-horse-riding",fields:["name","operator","opening_hours"],geometry:["point","area"],terms:["theme park","roundabout","merry-go-round","galloper","jumper","horseabout","flying horses"],tags:{attraction:"carousel"},name:"Carousel"},"attraction/dark_ride":{icon:"maki-rail-metro",fields:["name","operator","opening_hours"],geometry:["point","line","area"],terms:["theme park","ghost train"],tags:{attraction:"dark_ride"},name:"Dark Ride"},"attraction/drop_tower":{icon:"temaki-tower",fields:["name","operator","height","opening_hours"],geometry:["point","area"],terms:["theme park","amusement ride","gondola","tower","big drop"],tags:{attraction:"drop_tower"},name:"Drop Tower"},"attraction/maze":{icon:"maki-amusement-park",fields:["name","operator"],geometry:["point","area"],terms:["theme park","amusement ride","labyrinth"],tags:{attraction:"maze"},name:"Maze"},"attraction/pirate_ship":{icon:"maki-danger",fields:["name","operator","opening_hours"],geometry:["point"],terms:["theme park","carnival ride","amusement ride"],tags:{attraction:"pirate_ship"},name:"Pirate Ship"},"attraction/river_rafting":{icon:"maki-ferry",fields:["name","operator","opening_hours"],geometry:["point","line"],terms:["theme park","aquatic park","water park","rafting simulator","river rafting ride","river rapids ride"],tags:{attraction:"river_rafting"},name:"River Rafting"},"attraction/roller_coaster":{icon:"maki-amusement-park",fields:["name","operator","opening_hours"],geometry:["point","area"],terms:["theme park","amusement ride"],tags:{attraction:"roller_coaster"},name:"Roller Coaster"},"attraction/train":{icon:"maki-rail",fields:["name","operator","fee","opening_hours"],geometry:["point","line"],terms:["theme park","rackless train","road train","Tschu-Tschu train","dotto train","park train"],tags:{attraction:"train"},name:"Tourist Train"},"attraction/water_slide":{icon:"maki-swimming",fields:["name","operator","opening_hours"],geometry:["line","area"],terms:["theme park","aquatic park","water park","flumes","water chutes","hydroslides"],tags:{attraction:"water_slide"},name:"Water Slide"},barrier:{icon:"maki-roadblock",geometry:["point","vertex","line","area"],tags:{barrier:"*"},fields:["barrier"],name:"Barrier",matchScore:0.4},"barrier/entrance":{icon:"maki-entrance-alt1",geometry:["vertex"],tags:{barrier:"entrance"},name:"Entrance",searchable:false},"barrier/block":{icon:"maki-roadblock",fields:["access"],geometry:["point","vertex"],tags:{barrier:"block"},name:"Block"},"barrier/bollard":{icon:"maki-roadblock",fields:["access"],geometry:["point","vertex","line"],tags:{barrier:"bollard"},name:"Bollard"},"barrier/border_control":{icon:"maki-roadblock",fields:["access","building_area"],geometry:["vertex","area"],tags:{barrier:"border_control"},name:"Border Control"},"barrier/cattle_grid":{icon:"maki-barrier",geometry:["vertex"],tags:{barrier:"cattle_grid"},name:"Cattle Grid"},"barrier/city_wall":{icon:"maki-barrier",fields:["height"],geometry:["line","area"],tags:{barrier:"city_wall"},name:"City Wall"},"barrier/cycle_barrier":{icon:"maki-roadblock",fields:["access"],geometry:["vertex"],tags:{barrier:"cycle_barrier"},name:"Cycle Barrier"},"barrier/ditch":{icon:"maki-roadblock",geometry:["line","area"],tags:{barrier:"ditch"},name:"Trench",matchScore:0.25},"barrier/fence":{icon:"maki-fence",fields:["fence_type","height"],geometry:["line"],tags:{barrier:"fence"},name:"Fence",matchScore:0.25},"barrier/gate":{icon:"maki-barrier",fields:["access"],geometry:["vertex","line"],tags:{barrier:"gate"},name:"Gate"},"barrier/hedge":{fields:["height"],geometry:["line","area"],tags:{barrier:"hedge"},name:"Hedge",matchScore:0.25},"barrier/kerb":{icon:"maki-wheelchair",fields:["kerb","tactile_paving"],geometry:["vertex","line"],tags:{barrier:"kerb"},name:"Kerb"},"barrier/kissing_gate":{icon:"maki-barrier",fields:["access"],geometry:["vertex"],tags:{barrier:"kissing_gate"},name:"Kissing Gate"},"barrier/lift_gate":{icon:"maki-roadblock",fields:["access"],geometry:["vertex","line"],tags:{barrier:"lift_gate"},name:"Lift Gate"},"barrier/retaining_wall":{geometry:["line","area"],tags:{barrier:"retaining_wall"},name:"Retaining Wall"},"barrier/stile":{icon:"maki-roadblock",fields:["access"],geometry:["vertex"],tags:{barrier:"stile"},name:"Stile"},"barrier/toll_booth":{icon:"maki-roadblock",fields:["access","building_area"],geometry:["vertex","area"],tags:{barrier:"toll_booth"},name:"Toll Booth"},"barrier/wall":{icon:"maki-barrier",fields:["wall","height"],geometry:["line","area"],tags:{barrier:"wall"},name:"Wall",matchScore:0.25},"boundary/administrative":{name:"Administrative Boundary",geometry:["line"],tags:{boundary:"administrative"},fields:["name","admin_level"]},building:{icon:"maki-home",fields:["name","building","levels","height","address"],geometry:["point","area"],tags:{building:"*"},matchScore:0.6,terms:[],name:"Building"},"building/bunker":{fields:["name","address","levels","height"],geometry:["area"],tags:{building:"bunker"},matchScore:0.5,name:"Bunker",searchable:false},"building/entrance":{icon:"maki-entrance-alt1",geometry:["vertex"],tags:{building:"entrance"},name:"Entrance/Exit",searchable:false},"building/train_station":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["point","vertex","area"],tags:{building:"train_station"},matchScore:0.5,name:"Train Station",searchable:false},"building/apartments":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"apartments"},matchScore:0.5,name:"Apartments"},"building/barn":{icon:"maki-farm",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"barn"},matchScore:0.5,name:"Barn"},"building/boathouse":{icon:"maki-harbor",fields:["name","levels","height","address"],geometry:["area"],tags:{building:"boathouse"},matchScore:0.5,terms:[],name:"Boathouse"},"building/bungalow":{icon:"maki-home",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"bungalow"},terms:["home","detached"],matchScore:0.5,name:"Bungalow"},"building/cabin":{icon:"maki-home",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"cabin"},matchScore:0.5,name:"Cabin"},"building/cathedral":{icon:"maki-place-of-worship",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"cathedral"},matchScore:0.5,name:"Cathedral Building"},"building/chapel":{icon:"maki-place-of-worship",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"chapel"},matchScore:0.5,name:"Chapel Building"},"building/church":{icon:"maki-place-of-worship",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"church"},matchScore:0.5,name:"Church Building"},"building/civic":{icon:"maki-building",fields:["name","address","levels","height","smoking"],geometry:["area"],tags:{building:"civic"},matchScore:0.5,name:"Civic Building"},"building/college":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["area"],terms:["university"],tags:{building:"college"},matchScore:0.5,name:"College Building"},"building/commercial":{icon:"maki-suitcase",fields:["name","address","levels","height","smoking"],geometry:["area"],tags:{building:"commercial"},matchScore:0.5,name:"Commercial Building"},"building/construction":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"construction"},matchScore:0.5,name:"Building Under Construction"},"building/detached":{icon:"maki-home",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"detached"},terms:["home","single","family","residence","dwelling"],matchScore:0.5,name:"Detached House"},"building/dormitory":{icon:"maki-building",fields:["name","address","levels","height","smoking"],geometry:["area"],tags:{building:"dormitory"},matchScore:0.5,name:"Dormitory"},"building/farm_auxiliary":{icon:"maki-farm",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"farm_auxiliary"},matchScore:0.5,name:"Farm Building"},"building/farm":{icon:"maki-farm",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"farm"},matchScore:0.5,name:"Farm House"},"building/garage":{icon:"fas-warehouse",fields:["name","capacity"],geometry:["area"],tags:{building:"garage"},matchScore:0.5,name:"Garage"},"building/garages":{icon:"fas-warehouse",fields:["name","capacity"],geometry:["area"],tags:{building:"garages"},matchScore:0.5,name:"Garages"},"building/grandstand":{icon:"maki-building",fields:["name","height"],geometry:["area"],tags:{building:"grandstand"},terms:["tribune","stand","stands","bleachers"],matchScore:0.5,name:"Grandstand"},"building/greenhouse":{icon:"maki-garden-center",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"greenhouse"},matchScore:0.5,name:"Greenhouse"},"building/hospital":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"hospital"},matchScore:0.5,name:"Hospital Building"},"building/hotel":{icon:"maki-building",fields:["name","address","levels","height","smoking"],geometry:["area"],tags:{building:"hotel"},matchScore:0.5,name:"Hotel Building"},"building/house":{icon:"maki-home",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"house"},terms:["home","family","residence","dwelling"],matchScore:0.5,name:"House"},"building/hut":{geometry:["area"],fields:["name"],tags:{building:"hut"},matchScore:0.5,name:"Hut"},"building/industrial":{icon:"maki-industry",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"industrial"},matchScore:0.5,name:"Industrial Building"},"building/kindergarten":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["area"],terms:["kindergarden","pre-school"],tags:{building:"kindergarten"},matchScore:0.5,name:"Preschool/Kindergarten Building"},"building/mosque":{icon:"maki-place-of-worship",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"mosque"},matchScore:0.5,name:"Mosque Building"},"building/public":{icon:"maki-building",fields:["name","address","levels","height","smoking"],geometry:["area"],tags:{building:"public"},matchScore:0.5,name:"Public Building"},"building/residential":{icon:"maki-residential-community",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"residential"},matchScore:0.5,name:"Residential Building"},"building/retail":{icon:"maki-commercial",fields:["name","address","levels","height","smoking"],geometry:["area"],tags:{building:"retail"},matchScore:0.5,name:"Retail Building"},"building/roof":{icon:"maki-shelter",fields:["name","address"],geometry:["area"],tags:{building:"roof"},matchScore:0.5,name:"Roof"},"building/ruins":{icon:"temaki-ruins",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"ruins"},matchScore:0.5,name:"Building Ruins"},"building/school":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["area"],terms:["academy","elementary school","middle school","high school"],tags:{building:"school"},matchScore:0.5,name:"School Building"},"building/semidetached_house":{icon:"maki-home",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"semidetached_house"},terms:["home","double","duplex","twin","family","residence","dwelling"],matchScore:0.5,name:"Semi-Detached House"},"building/service":{icon:"maki-home",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"service"},matchScore:0.5,name:"Service Building"},"building/shed":{icon:"maki-home",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"shed"},matchScore:0.5,name:"Shed"},"building/stable":{icon:"maki-horse-riding",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"stable"},matchScore:0.5,name:"Stable"},"building/stadium":{icon:"maki-stadium",fields:["name","address","levels","height","smoking"],geometry:["area"],tags:{building:"stadium"},matchScore:0.5,name:"Stadium Building"},"building/static_caravan":{icon:"maki-home",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"static_caravan"},matchScore:0.5,name:"Static Mobile Home"},"building/temple":{icon:"maki-place-of-worship",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"temple"},matchScore:0.5,name:"Temple Building"},"building/terrace":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"terrace"},terms:["home","terrace","brownstone","family","residence","dwelling"],matchScore:0.5,name:"Row Houses"},"building/transportation":{icon:"maki-building",fields:["name","address","levels","height","smoking"],geometry:["area"],tags:{building:"transportation"},matchScore:0.5,name:"Transportation Building"},"building/university":{icon:"maki-building",fields:["name","address","levels","height"],geometry:["area"],terms:["college"],tags:{building:"university"},matchScore:0.5,name:"University Building"},"building/warehouse":{icon:"maki-warehouse",fields:["name","address","levels","height"],geometry:["area"],tags:{building:"warehouse"},matchScore:0.5,name:"Warehouse"},"camp_site/camp_pitch":{icon:"maki-campsite",fields:["name","ref"],geometry:["point","area"],terms:["tent","rv"],tags:{camp_site:"camp_pitch"},name:"Camp Pitch"},club:{icon:"maki-heart",fields:["name","club","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{club:"*"},terms:["social"],name:"Club"},craft:{icon:"temaki-tools",fields:["name","craft","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"*"},terms:[],name:"Craft"},"craft/jeweler":{icon:"maki-marker-stroked",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"jeweler"},reference:{key:"shop",value:"jewelry"},name:"Jeweler",searchable:false},"craft/locksmith":{icon:"maki-marker-stroked",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"locksmith"},reference:{key:"shop",value:"locksmith"},name:"Locksmith",searchable:false},"craft/optician":{icon:"maki-marker-stroked",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"optician"},reference:{key:"shop",value:"optician"},name:"Optician",searchable:false},"craft/tailor":{icon:"maki-clothing-store",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["clothes","suit"],tags:{craft:"tailor"},reference:{key:"shop",value:"tailor"},name:"Tailor",searchable:false},"craft/basket_maker":{icon:"maki-art-gallery",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"basket_maker"},name:"Basket Maker"},"craft/beekeeper":{icon:"maki-farm",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"beekeeper"},name:"Beekeeper"},"craft/blacksmith":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"blacksmith"},name:"Blacksmith"},"craft/boatbuilder":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"boatbuilder"},matchScore:0.4,name:"Boat Builder"},"craft/bookbinder":{icon:"maki-library",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["book repair"],tags:{craft:"bookbinder"},name:"Bookbinder"},"craft/brewery":{icon:"temaki-storage_tank",fields:["name","operator","address","building_area","opening_hours","product"],geometry:["point","area"],terms:["alcohol","beer","beverage","bier","booze","cider"],tags:{craft:"brewery"},name:"Brewery"},"craft/carpenter":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["woodworker"],tags:{craft:"carpenter"},name:"Carpenter"},"craft/carpet_layer":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"carpet_layer"},name:"Carpet Layer"},"craft/caterer":{icon:"maki-restaurant",fields:["name","cuisine","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"caterer"},name:"Caterer"},"craft/chimney_sweeper":{icon:"temaki-chimney",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"chimney_sweeper"},name:"Chimney Sweeper"},"craft/clockmaker":{icon:"temaki-clock",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"clockmaker"},name:"Clockmaker"},"craft/confectionery":{icon:"maki-bakery",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["sweet","candy"],tags:{craft:"confectionery"},name:"Candy Maker"},"craft/distillery":{icon:"temaki-storage_tank",fields:["name","operator","address","building_area","opening_hours","product"],geometry:["point","area"],terms:["alcohol","beverage","bourbon","booze","brandy","gin","hooch","liquor","mezcal","moonshine","rum","scotch","spirits","still","tequila","vodka","whiskey","whisky"],tags:{craft:"distillery"},name:"Distillery"},"craft/dressmaker":{icon:"maki-clothing-store",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["seamstress"],tags:{craft:"dressmaker"},name:"Dressmaker"},"craft/electrician":{icon:"temaki-power",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["power","wire"],tags:{craft:"electrician"},name:"Electrician"},"craft/electronics_repair":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"electronics_repair"},name:"Electronics Repair Shop"},"craft/gardener":{icon:"maki-garden-center",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["landscaper","grounds keeper"],tags:{craft:"gardener"},name:"Gardener"},"craft/glaziery":{icon:"temaki-window",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["glass","stained-glass","window"],tags:{craft:"glaziery"},name:"Glaziery"},"craft/handicraft":{icon:"maki-art-gallery",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"handicraft"},name:"Handicraft"},"craft/hvac":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["heat*","vent*","air conditioning"],tags:{craft:"hvac"},name:"HVAC"},"craft/insulator":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"insulation"},name:"Insulator"},"craft/key_cutter":{icon:"fas-key",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"key_cutter"},name:"Key Cutter"},"craft/metal_construction":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"metal_construction"},name:"Metal Construction"},"craft/painter":{icon:"maki-art-gallery",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"painter"},name:"Painter"},"craft/photographer":{icon:"maki-attraction",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"photographer"},name:"Photographer"},"craft/photographic_laboratory":{icon:"maki-attraction",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["film"],tags:{craft:"photographic_laboratory"},name:"Photographic Laboratory"},"craft/plasterer":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"plasterer"},name:"Plasterer"},"craft/plumber":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["pipe"],tags:{craft:"plumber"},name:"Plumber"},"craft/pottery":{icon:"maki-art-gallery",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["ceramic"],tags:{craft:"pottery"},name:"Pottery"},"craft/rigger":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"rigger"},name:"Rigger"},"craft/roofer":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"roofer"},name:"Roofer"},"craft/saddler":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"saddler"},name:"Saddler"},"craft/sailmaker":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"sailmaker"},name:"Sailmaker"},"craft/sawmill":{icon:"maki-logging",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["lumber"],tags:{craft:"sawmill"},name:"Sawmill"},"craft/scaffolder":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"scaffolder"},name:"Scaffolder"},"craft/sculptor":{icon:"maki-art-gallery",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"sculptor"},name:"Sculptor"},"craft/shoemaker":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["cobbler"],tags:{craft:"shoemaker"},name:"Shoemaker"},"craft/stonemason":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["masonry"],tags:{craft:"stonemason"},name:"Stonemason"},"craft/tiler":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"tiler"},name:"Tiler"},"craft/tinsmith":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"tinsmith"},name:"Tinsmith"},"craft/upholsterer":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"upholsterer"},name:"Upholsterer"},"craft/watchmaker":{icon:"temaki-clock",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{craft:"watchmaker"},name:"Watchmaker"},"craft/window_construction":{icon:"temaki-window",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["glass"],tags:{craft:"window_construction"},name:"Window Construction"},"craft/winery":{icon:"maki-alcohol-shop",fields:["name","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/designated":{fields:[],geometry:["line"],tags:{emergency:"designated"},terms:[],name:"Emergency Access Designated",searchable:false,matchScore:0.01},"emergency/destination":{fields:[],geometry:["line"],tags:{emergency:"destination"},terms:[],name:"Emergency Access Destination",searchable:false,matchScore:0.01},"emergency/no":{fields:[],geometry:["line"],tags:{emergency:"no"},terms:[],name:"Emergency Access No",searchable:false,matchScore:0.01},"emergency/official":{fields:[],geometry:["line"],tags:{emergency:"official"},terms:[],name:"Emergency Access Official",searchable:false,matchScore:0.01},"emergency/private":{fields:[],geometry:["line"],tags:{emergency:"private"},terms:[],name:"Emergency Access Private",searchable:false,matchScore:0.01},"emergency/yes":{fields:[],geometry:["line"],tags:{emergency:"yes"},terms:[],name:"Emergency Access Yes",searchable:false,matchScore:0.01},"emergency/ambulance_station":{icon:"fas-ambulance",fields:["name","operator","building_area","address"],geometry:["point","area"],terms:["EMS","EMT","rescue"],tags:{emergency:"ambulance_station"},name:"Ambulance Station"},"emergency/defibrillator":{icon:"maki-defibrillator",fields:["indoor","ref","operator"],geometry:["point","vertex"],terms:["AED"],tags:{emergency:"defibrillator"},name:"Defibrillator"},"emergency/fire_extinguisher":{icon:"fas-fire-extinguisher",fields:["indoor","ref","operator"],geometry:["point","vertex"],tags:{emergency:"fire_extinguisher"},name:"Fire Extinguisher"},"emergency/fire_hydrant":{icon:"temaki-fire_hydrant",fields:["fire_hydrant/type","fire_hydrant/position","ref","operator"],geometry:["point","vertex"],terms:["fire plug"],tags:{emergency:"fire_hydrant"},name:"Fire Hydrant"},"emergency/life_ring":{icon:"fas-life-ring",fields:["ref","operator"],geometry:["point","vertex"],terms:["life buoy","kisby ring","kisbie ring","perry buoy"],tags:{emergency:"life_ring"},name:"Life Ring"},"emergency/phone":{icon:"maki-emergency-phone",fields:["operator"],geometry:["point","vertex"],tags:{emergency:"phone"},name:"Emergency Phone"},"emergency/water_tank":{icon:"maki-water",fields:["name","ref","operator"],geometry:["point","vertex"],terms:["water tank","cistern","reservoir"],tags:{emergency:"water_tank"},name:"Emergency Water Tank"},entrance:{icon:"maki-entrance-alt1",geometry:["vertex"],tags:{entrance:"*"},fields:["entrance","access_simple","address"],name:"Entrance/Exit"},"footway/crossing-raised":{fields:["crossing","access","surface","kerb","tactile_paving"],geometry:["line"],tags:{highway:"footway",footway:"crossing",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["flat top","hump","speed","slow"],name:"Raised Street Crossing"},"footway/crossing":{fields:["crossing","access","surface","kerb","tactile_paving"],geometry:["line"],tags:{highway:"footway",footway:"crossing"},reference:{key:"footway",value:"crossing"},terms:[],name:"Street Crossing"},"footway/crosswalk-raised":{icon:"iD-highway-footway",fields:["crossing","access","surface","kerb","tactile_paving"],geometry:["line"],tags:{highway:"footway",footway:"crossing",crossing:"zebra",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["zebra crossing","flat top","hump","speed","slow"],name:"Raised Pedestrian Crosswalk"},"footway/crosswalk":{icon:"iD-highway-footway",fields:["crossing","access","surface","kerb","tactile_paving"],geometry:["line"],tags:{highway:"footway",footway:"crossing",crossing:"zebra"},reference:{key:"footway",value:"crossing"},terms:["zebra crossing"],name:"Pedestrian Crosswalk"},"footway/sidewalk":{icon:"iD-highway-footway",fields:["surface","lit","width","structure","access"],geometry:["line"],tags:{highway:"footway",footway:"sidewalk"},reference:{key:"footway",value:"sidewalk"},terms:[],name:"Sidewalk"},ford:{geometry:["vertex"],tags:{ford:"yes"},name:"Ford"},"golf/bunker":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"bunker",natural:"sand"},terms:["hazard","bunker"],reference:{key:"golf",value:"bunker"},name:"Sand Trap"},"golf/fairway":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"fairway",landuse:"grass"},reference:{key:"golf",value:"fairway"},name:"Fairway"},"golf/green":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"green",landuse:"grass",leisure:"pitch",sport:"golf"},reference:{key:"golf",value:"green"},name:"Putting Green"},"golf/hole":{icon:"maki-golf",fields:["name","ref_golf_hole","par","handicap"],geometry:["line"],tags:{golf:"hole"},name:"Golf Hole"},"golf/lateral_water_hazard_area":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"lateral_water_hazard",natural:"water"},reference:{key:"golf",value:"lateral_water_hazard"},name:"Lateral Water Hazard"},"golf/lateral_water_hazard_line":{icon:"maki-golf",fields:["name"],geometry:["line"],tags:{golf:"lateral_water_hazard"},name:"Lateral Water Hazard"},"golf/rough":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"rough",landuse:"grass"},reference:{key:"golf",value:"rough"},name:"Rough"},"golf/tee":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"tee",landuse:"grass"},terms:["teeing ground"],reference:{key:"golf",value:"tee"},name:"Tee Box"},"golf/water_hazard_area":{icon:"maki-golf",fields:["name"],geometry:["area"],tags:{golf:"water_hazard",natural:"water"},reference:{key:"golf",value:"water_hazard"},name:"Water Hazard"},"golf/water_hazard_line":{icon:"maki-golf",fields:["name"],geometry:["line"],tags:{golf:"water_hazard"},name:"Water Hazard"},healthcare:{icon:"maki-hospital",fields:["name","healthcare","operator","healthcare/speciality","address","building_area","opening_hours"],geometry:["point","area"],tags:{healthcare:"*"},terms:["clinic","doctor","disease","health","institution","sick","surgery","wellness"],name:"Healthcare Facility"},"healthcare/alternative":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["acupuncture","anthroposophical","applied kinesiology","aromatherapy","ayurveda","herbalism","homeopathy","hydrotherapy","hypnosis","naturopathy","osteopathy","reflexology","reiki","shiatsu","traditional","tuina","unani"],tags:{healthcare:"alternative"},name:"Alternative Medicine"},"healthcare/alternative/chiropractic":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["back","pain","spine"],tags:{healthcare:"alternative","healthcare:speciality":"chiropractic"},name:"Chiropractor"},"healthcare/audiologist":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["ear","hearing","sound"],tags:{healthcare:"audiologist"},name:"Audiologist"},"healthcare/birthing_center":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["baby","childbirth","delivery","labour","labor","pregnancy"],tags:{healthcare:"birthing_center"},name:"Birthing Center"},"healthcare/blood_donation":{icon:"maki-blood-bank",fields:["name","operator","healthcare/speciality","blood_components","address","building_area","opening_hours"],geometry:["point","area"],terms:["blood bank","blood donation","blood transfusion","apheresis","plasmapheresis","plateletpheresis","stem cell donation"],tags:{healthcare:"blood_donation"},name:"Blood Donor Center"},"healthcare/hospice":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["terminal","illness"],tags:{healthcare:"hospice"},name:"Hospice"},"healthcare/laboratory":{icon:"maki-hospital",fields:["name","operator","website","ref","address","opening_hours"],geometry:["point","area"],terms:["medical_laboratory","medical_lab","blood_check"],tags:{healthcare:"laboratory"},name:"Medical Laboratory"},"healthcare/midwife":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["baby","childbirth","delivery","labour","labor","pregnancy"],tags:{healthcare:"midwife"},name:"Midwife"},"healthcare/occupational_therapist":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["therapist","therapy"],tags:{healthcare:"occupational_therapist"},name:"Occupational Therapist"},"healthcare/optometrist":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["eye","glasses","lasik","lenses","vision"],tags:{healthcare:"optometrist"},name:"Optometrist"},"healthcare/physiotherapist":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["physical","therapist","therapy"],tags:{healthcare:"physiotherapist"},name:"Physiotherapist"},"healthcare/podiatrist":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["foot","feet","nails"],tags:{healthcare:"podiatrist"},name:"Podiatrist"},"healthcare/psychotherapist":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["anxiety","counselor","depression","mental health","mind","suicide","therapist","therapy"],tags:{healthcare:"psychotherapist"},name:"Psychotherapist"},"healthcare/rehabilitation":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["rehab","therapist","therapy"],tags:{healthcare:"rehabilitation"},name:"Rehabilitation Facility"},"healthcare/speech_therapist":{icon:"maki-hospital",fields:["name","operator","healthcare/speciality","building_area","address","opening_hours"],geometry:["point","area"],terms:["speech","therapist","therapy","voice"],tags:{healthcare:"speech_therapist"},name:"Speech Therapist"},"highway/bus_stop":{icon:"maki-bus",fields:["name","network","operator","bench","shelter"],geometry:["point","vertex"],tags:{highway:"bus_stop"},name:"Bus Stop / Platform",searchable:false},"highway/bridleway":{fields:["name","surface","width","structure","access"],icon:"iD-highway-bridleway",geometry:["line"],tags:{highway:"bridleway"},terms:["bridleway","equestrian","horse"],name:"Bridle Path"},"highway/bus_guideway":{icon:"iD-highway-bus-guideway",fields:["name","operator","oneway"],geometry:["line"],tags:{highway:"bus_guideway"},addTags:{highway:"bus_guideway",access:"no",bus:"designated"},removeTags:{highway:"bus_guideway",access:"no",bus:"designated"},terms:[],name:"Bus Guideway"},"highway/corridor":{icon:"iD-highway-footway",fields:["name","width","level","access_simple"],geometry:["line"],tags:{highway:"corridor"},terms:["gallery","hall","hallway","indoor","passage","passageway"],name:"Indoor Corridor"},"highway/crossing-raised":{fields:["crossing","kerb","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["flat top","hump","speed","slow"],name:"Raised Street Crossing"},"highway/crossing":{fields:["crossing","kerb","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing"},reference:{key:"highway",value:"crossing"},terms:[],name:"Street Crossing"},"highway/crosswalk-raised":{icon:"temaki-pedestrian",fields:["crossing","kerb","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",crossing:"zebra",traffic_calming:"table"},reference:{key:"traffic_calming",value:"table"},terms:["zebra crossing","flat top","hump","speed","slow"],name:"Raised Pedestrian Crosswalk"},"highway/crosswalk":{icon:"temaki-pedestrian",fields:["crossing","kerb","tactile_paving"],geometry:["vertex"],tags:{highway:"crossing",crossing:"zebra"},reference:{key:"highway",value:"crossing"},terms:["zebra crossing"],name:"Pedestrian Crosswalk"},"highway/cycleway":{icon:"iD-highway-cycleway",fields:["name","oneway","surface","lit","width","structure","access"],geometry:["line"],tags:{highway:"cycleway"},terms:["bike"],name:"Cycle Path"},"highway/elevator":{icon:"temaki-elevator",fields:["access_simple","opening_hours","maxweight","ref"],geometry:["vertex"],tags:{highway:"elevator"},terms:["lift"],name:"Elevator"},"highway/footway":{icon:"iD-highway-footway",fields:["name","surface","lit","width","structure","access"],geometry:["line"],terms:["hike","hiking","trackway","trail","walk"],tags:{highway:"footway"},name:"Foot Path"},"highway/give_way":{icon:"temaki-yield",fields:["direction_vertex"],geometry:["vertex"],tags:{highway:"give_way"},terms:["give way","yield","sign"],name:"Yield Sign"},"highway/living_street":{icon:"iD-highway-living-street",fields:["name","oneway","maxspeed","lanes","surface","structure","maxheight","access","cycleway"],geometry:["line"],tags:{highway:"living_street"},name:"Living Street"},"highway/mini_roundabout":{icon:"maki-circle-stroked",geometry:["vertex"],tags:{highway:"mini_roundabout"},fields:["direction_clock"],name:"Mini-Roundabout"},"highway/motorway_junction":{icon:"temaki-junction",geometry:["vertex"],tags:{highway:"motorway_junction"},fields:["ref_highway_junction"],name:"Motorway Junction / Exit"},"highway/motorway_link":{icon:"iD-highway-motorway-link",fields:["name","ref_road_number","oneway","maxspeed","maxspeed/advisory","lanes","surface","structure","maxheight","access"],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/motorway":{icon:"iD-highway-motorway",fields:["name","ref_road_number","oneway_yes","maxspeed","lanes","surface","structure","maxheight","toll","access"],geometry:["line"],tags:{highway:"motorway"},terms:["autobahn","expressway","freeway","highway","interstate","parkway","thruway","turnpike"],name:"Motorway"},"highway/passing_place":{icon:"maki-circle-stroked",geometry:["vertex"],tags:{highway:"passing_place"},terms:["turnout, pullout"],name:"Passing Place"},"highway/path":{icon:"iD-highway-path",fields:["name","surface","width","structure","access","incline","sac_scale","trail_visibility","mtb/scale","mtb/scale/uphill","mtb/scale/imba","horse_scale","ref"],geometry:["line"],terms:["hike","hiking","trackway","trail","walk"],tags:{highway:"path"},name:"Path"},"highway/pedestrian_area":{icon:"temaki-pedestrian",fields:["name","surface","lit","width","structure","access"],geometry:["area"],tags:{highway:"pedestrian",area:"yes"},terms:["center","centre","plaza","quad","square","walkway"],name:"Pedestrian Area"},"highway/pedestrian_line":{icon:"iD-highway-footway",fields:["name","surface","lit","width","oneway","structure","access"],geometry:["line"],tags:{highway:"pedestrian"},terms:["center","centre","plaza","quad","square","walkway"],name:"Pedestrian Street"},"highway/primary_link":{icon:"iD-highway-primary-link",fields:["name","oneway","maxspeed","maxspeed/advisory","lanes","surface","maxheight","ref_road_number","cycleway","structure","access"],geometry:["line"],tags:{highway:"primary_link"},terms:["ramp","on ramp","off ramp"],name:"Primary Link"},"highway/primary":{icon:"iD-highway-primary",fields:["name","oneway","maxspeed","lanes","surface","structure","maxheight","ref_road_number","cycleway","access"],geometry:["line"],tags:{highway:"primary"},terms:[],name:"Primary Road"},"highway/raceway":{icon:"iD-highway-unclassified",fields:["name","oneway","surface","sport_racing_motor","lit","width","lanes","structure"],geometry:["point","line","area"],tags:{highway:"raceway"},addTags:{highway:"raceway",sport:"motor"},terms:["auto*","formula one","kart","motocross","nascar","race*","track"],name:"Racetrack (Motorsport)"},"highway/residential":{icon:"iD-highway-residential",fields:["name","oneway","maxspeed","lanes","surface","structure","maxheight","cycleway","access"],geometry:["line"],tags:{highway:"residential"},terms:[],name:"Residential Road"},"highway/rest_area":{icon:"maki-car",fields:["name"],geometry:["point","vertex","area"],tags:{highway:"rest_area"},terms:["rest stop"],name:"Rest Area"},"highway/road":{icon:"iD-highway-road",fields:["name","oneway","maxspeed","lanes","surface","structure","maxheight","access"],geometry:["line"],tags:{highway:"road"},terms:[],name:"Unknown Road"},"highway/secondary_link":{icon:"iD-highway-secondary-link",fields:["name","oneway","maxspeed","maxspeed/advisory","lanes","surface","structure","maxheight","ref_road_number","cycleway","access"],geometry:["line"],tags:{highway:"secondary_link"},terms:["ramp","on ramp","off ramp"],name:"Secondary Link"},"highway/secondary":{icon:"iD-highway-secondary",fields:["name","oneway","maxspeed","lanes","surface","structure","maxheight","ref_road_number","cycleway","access"],geometry:["line"],tags:{highway:"secondary"},terms:[],name:"Secondary Road"},"highway/service":{icon:"iD-highway-service",fields:["name","service","oneway","maxspeed","surface","structure","maxheight","access"],geometry:["line"],tags:{highway:"service"},terms:[],name:"Service Road"},"highway/service/alley":{icon:"iD-highway-service",fields:["name","oneway","maxspeed","structure","access","surface","maxheight"],geometry:["line"],tags:{highway:"service",service:"alley"},reference:{key:"service",value:"alley"},name:"Alley"},"highway/service/drive-through":{icon:"iD-highway-service",fields:["name","oneway","covered","maxheight","maxspeed","structure","access","surface"],geometry:["line"],tags:{highway:"service",service:"drive-through"},reference:{key:"service",value:"drive-through"},name:"Drive-Through"},"highway/service/driveway":{icon:"iD-highway-service",fields:["name","oneway","maxspeed","structure","access","surface","maxheight"],geometry:["line"],tags:{highway:"service",service:"driveway"},reference:{key:"service",value:"driveway"},name:"Driveway"},"highway/service/emergency_access":{icon:"iD-highway-service",fields:["name","oneway","maxspeed","structure","access","surface","maxheight"],geometry:["line"],tags:{highway:"service",service:"emergency_access"},reference:{key:"service",value:"emergency_access"},name:"Emergency Access"},"highway/service/parking_aisle":{icon:"iD-highway-service",fields:["name","oneway","maxspeed","structure","access","surface","maxheight"],geometry:["line"],tags:{highway:"service",service:"parking_aisle"},reference:{key:"service",value:"parking_aisle"},name:"Parking Aisle"},"highway/services":{icon:"maki-car",fields:["name"],geometry:["point","vertex","area"],tags:{highway:"services"},terms:["services","travel plaza","service station"],name:"Service Area"},"highway/speed_camera":{icon:"maki-attraction",geometry:["point","vertex"],fields:["direction","ref"],tags:{highway:"speed_camera"},terms:[],name:"Speed Camera"},"highway/steps":{icon:"iD-highway-steps",fields:["surface","lit","width","incline_steps","handrail","step_count"],geometry:["line"],tags:{highway:"steps"},terms:["stairs","staircase"],name:"Steps"},"highway/stop":{icon:"temaki-stop",fields:["stop","direction_vertex"],geometry:["vertex"],tags:{highway:"stop"},terms:["stop","halt","sign"],name:"Stop Sign"},"highway/street_lamp":{icon:"temaki-bulb",geometry:["point","vertex"],tags:{highway:"street_lamp"},fields:["lamp_type","direction","ref"],terms:["streetlight","street light","lamp","light","gaslight"],name:"Street Lamp"},"highway/tertiary_link":{icon:"iD-highway-tertiary-link",fields:["name","oneway","maxspeed","maxspeed/advisory","lanes","surface","structure","maxheight","ref_road_number","cycleway","access"],geometry:["line"],tags:{highway:"tertiary_link"},terms:["ramp","on ramp","off ramp"],name:"Tertiary Link"},"highway/tertiary":{icon:"iD-highway-tertiary",fields:["name","oneway","maxspeed","lanes","surface","structure","maxheight","ref_road_number","cycleway","access"],geometry:["line"],tags:{highway:"tertiary"},terms:[],name:"Tertiary Road"},"highway/track":{icon:"iD-highway-track",fields:["name","tracktype","surface","width","structure","access","incline","smoothness","mtb/scale","mtb/scale/uphill","mtb/scale/imba","horse_scale"],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_mirror":{geometry:["point","vertex"],fields:["direction"],tags:{highway:"traffic_mirror"},terms:["blind spot","convex","corner","curved","roadside","round","safety","sphere","visibility"],name:"Traffic Mirror"},"highway/traffic_signals":{icon:"temaki-traffic_signals",geometry:["vertex"],tags:{highway:"traffic_signals"},fields:["traffic_signals","traffic_signals/direction"],terms:["light","stoplight","traffic light"],name:"Traffic Signals"},"highway/trunk_link":{icon:"iD-highway-trunk-link",fields:["name","ref_road_number","oneway","maxspeed","maxspeed/advisory","lanes","surface","structure","maxheight","access"],geometry:["line"],tags:{highway:"trunk_link"},terms:["ramp","on ramp","off ramp"],name:"Trunk Link"},"highway/trunk":{icon:"iD-highway-trunk",fields:["name","ref_road_number","oneway","maxspeed","lanes","surface","structure","maxheight","toll","access"],geometry:["line"],tags:{highway:"trunk"},terms:[],name:"Trunk Road"},"highway/turning_circle":{icon:"maki-circle-stroked",geometry:["vertex"],tags:{highway:"turning_circle"},terms:["cul-de-sac"],name:"Turning Circle"},"highway/turning_loop":{icon:"maki-circle",geometry:["vertex"],tags:{highway:"turning_loop"},terms:["cul-de-sac"],name:"Turning Loop (Island)"},"highway/unclassified":{icon:"iD-highway-unclassified",fields:["name","oneway","maxspeed","lanes","surface","structure","maxheight","cycleway","access"],geometry:["line"],tags:{highway:"unclassified"},terms:[],name:"Minor/Unclassified Road"},historic:{icon:"temaki-ruins",fields:["historic","inscription"],geometry:["point","vertex","area"],tags:{historic:"*"},name:"Historic Site"},"historic/archaeological_site":{icon:"temaki-ruins",fields:["name","historic/civilization","inscription"],geometry:["point","vertex","area"],tags:{historic:"archaeological_site"},name:"Archaeological Site"},"historic/boundary_stone":{icon:"temaki-milestone",fields:["name","inscription"],geometry:["point","vertex"],tags:{historic:"boundary_stone"},name:"Boundary Stone"},"historic/castle":{icon:"maki-castle",fields:["name","castle_type","building_area","historic/civilization"],geometry:["point","area"],tags:{historic:"castle"},name:"Castle"},"historic/memorial":{icon:"maki-monument",fields:["name","memorial","inscription"],geometry:["point","vertex","area"],terms:["dedicatory","epitaph","remember","remembrance","memory","monument","stolperstein"],tags:{historic:"memorial"},name:"Memorial"},"historic/monument":{icon:"maki-monument",fields:["name","inscription"],geometry:["point","vertex","area"],tags:{historic:"monument"},name:"Monument"},"historic/ruins":{icon:"temaki-ruins",fields:["name","historic/civilization","inscription"],geometry:["point","vertex","area"],tags:{historic:"ruins"},name:"Ruins"},"historic/tomb":{icon:"maki-cemetery",fields:["name","tomb","building_area","inscription"],geometry:["point","area"],tags:{historic:"tomb"},name:"Tomb"},"historic/wayside_cross":{icon:"maki-religious-christian",fields:["name","inscription"],geometry:["point","vertex","area"],tags:{historic:"wayside_cross"},name:"Wayside Cross"},"historic/wayside_shrine":{icon:"maki-landmark",fields:["name","religion","denomination","inscription"],geometry:["point","vertex","area"],tags:{historic:"wayside_shrine"},name:"Wayside Shrine"},junction:{icon:"temaki-junction",fields:["name"],geometry:["vertex","area"],tags:{junction:"yes"},name:"Junction"},landuse:{fields:["name","landuse"],geometry:["area"],tags:{landuse:"*"},matchScore:0.9,name:"Land Use"},"landuse/farm":{icon:"maki-farm",fields:["name","operator","crop"],geometry:["point","area"],tags:{landuse:"farm"},terms:[],name:"Farmland",searchable:false},"landuse/allotments":{icon:"maki-garden-center",geometry:["area"],fields:["name"],tags:{landuse:"allotments"},terms:["allotment","garden"],name:"Community Garden"},"landuse/aquaculture":{icon:"maki-aquarium",fields:["name","operator","produce"],geometry:["area"],tags:{landuse:"aquaculture"},terms:["fish farm","crustacean","algae","aquafarming","shrimp farm","oyster farm","mariculture","algaculture"],name:"Aquaculture"},"landuse/basin":{icon:"maki-water",fields:["name"],geometry:["area"],tags:{landuse:"basin"},terms:[],name:"Basin"},"landuse/brownfield":{geometry:["area"],fields:["name"],tags:{landuse:"brownfield"},terms:[],matchScore:0.9,name:"Brownfield"},"landuse/cemetery":{icon:"maki-cemetery",fields:["name","religion","denomination"],geometry:["area"],tags:{landuse:"cemetery"},terms:[],name:"Cemetery"},"landuse/churchyard":{icon:"maki-religious-christian",fields:["name","religion","denomination"],geometry:["area"],tags:{landuse:"churchyard"},terms:[],name:"Churchyard"},"landuse/commercial":{icon:"maki-suitcase",fields:["name"],geometry:["area"],tags:{landuse:"commercial"},terms:[],matchScore:0.9,name:"Commercial Area"},"landuse/construction":{icon:"temaki-tools",fields:["name","construction","operator"],geometry:["area"],tags:{landuse:"construction"},terms:[],name:"Construction"},"landuse/farmland":{icon:"maki-farm",fields:["name","operator","crop","produce"],geometry:["area"],tags:{landuse:"farmland"},terms:["crop","grow","plant"],name:"Farmland"},"landuse/farmyard":{icon:"maki-farm",fields:["name","operator","crop"],geometry:["area"],tags:{landuse:"farmyard"},terms:["crop","grow","plant"],name:"Farmyard"},"landuse/forest":{icon:"maki-park-alt1",fields:["name","leaf_type","leaf_cycle","produce"],geometry:["area"],tags:{landuse:"forest"},terms:["cut","forest","lumber","tree"],name:"Forest"},"landuse/garages":{icon:"fas-warehouse",geometry:["area"],fields:["name"],tags:{landuse:"garages"},terms:[],name:"Garage Landuse"},"landuse/grass":{geometry:["area"],tags:{landuse:"grass"},terms:[],name:"Grass"},"landuse/greenfield":{geometry:["area"],fields:["name"],tags:{landuse:"greenfield"},terms:[],matchScore:0.9,name:"Greenfield"},"landuse/greenhouse_horticulture":{icon:"maki-garden",fields:["name","operator"],geometry:["area"],terms:["flower","greenhouse","horticulture","grow","vivero"],tags:{landuse:"greenhouse_horticulture"},matchScore:0.9,name:"Greenhouse Horticulture"},"landuse/harbour":{icon:"maki-harbor",fields:["name","operator"],geometry:["area"],terms:["boat"],tags:{landuse:"harbour"},name:"Harbor"},"landuse/industrial":{icon:"maki-industry",fields:["name","industrial"],geometry:["area"],tags:{landuse:"industrial"},terms:[],matchScore:0.9,name:"Industrial Area"},"landuse/industrial/scrap_yard":{icon:"maki-car",fields:["name","operator","address","opening_hours"],geometry:["point","area"],tags:{industrial:"scrap_yard"},addTags:{landuse:"industrial",industrial:"scrap_yard"},removeTags:{landuse:"industrial",industrial:"scrap_yard"},reference:{key:"industrial",value:"scrap_yard"},terms:["car","junk","metal","salvage","scrap","u-pull-it","vehicle","wreck","yard"],name:"Scrap Yard"},"landuse/industrial/slaughterhouse":{icon:"maki-slaughterhouse",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],tags:{industrial:"slaughterhouse"},addTags:{landuse:"industrial",industrial:"slaughterhouse"},removeTags:{landuse:"industrial",industrial:"slaughterhouse"},reference:{key:"industrial",value:"slaughterhouse"},terms:["abattoir","beef","butchery","calf","chicken","cow","killing house","meat","pig","pork","poultry","shambles","stockyard"],name:"Slaughterhouse"},"landuse/landfill":{geometry:["area"],fields:["name"],tags:{landuse:"landfill"},terms:["dump"],name:"Landfill"},"landuse/meadow":{icon:"maki-garden",geometry:["area"],fields:["name"],tags:{landuse:"meadow"},terms:[],name:"Meadow"},"landuse/military":{icon:"temaki-military",fields:["name"],geometry:["area"],tags:{landuse:"military"},terms:[],matchScore:0.9,name:"Military Area"},"landuse/military/airfield":{icon:"maki-airfield",fields:["name","iata","icao"],geometry:["point","area"],tags:{military:"airfield"},addTags:{landuse:"military",military:"airfield"},removeTags:{landuse:"military",military:"airfield"},terms:["air force","army","base","bomb","fight","force","guard","heli*","jet","marine","navy","plane","troop","war"],name:"Military Airfield"},"landuse/military/barracks":{icon:"temaki-military",fields:["name","building_area"],geometry:["point","area"],tags:{military:"barracks"},addTags:{landuse:"military",military:"barracks"},removeTags:{landuse:"military",military:"barracks"},terms:["air force","army","base","fight","force","guard","marine","navy","troop","war"],name:"Barracks"},"landuse/military/bunker":{icon:"temaki-military",fields:["name","bunker_type","building_area"],geometry:["point","area"],tags:{military:"bunker"},addTags:{building:"bunker",landuse:"military",military:"bunker"},removeTags:{building:"bunker",landuse:"military",military:"bunker"},terms:["air force","army","base","fight","force","guard","marine","navy","troop","war"],name:"Military Bunker"},"landuse/military/checkpoint":{icon:"maki-barrier",fields:["name"],geometry:["point","vertex","area"],tags:{military:"checkpoint"},addTags:{landuse:"military",military:"checkpoint"},removeTags:{landuse:"military",military:"checkpoint"},terms:["air force","army","base","force","guard","marine","navy","troop","war"],name:"Checkpoint"},"landuse/military/danger_area":{icon:"maki-danger",fields:["name"],geometry:["point","vertex","area"],tags:{military:"danger_area"},addTags:{landuse:"military",military:"danger_area"},removeTags:{landuse:"military",military:"danger_area"},terms:["air force","army","base","blast","bomb","explo*","force","guard","mine","marine","navy","troop","war"],name:"Danger Area"},"landuse/military/naval_base":{icon:"temaki-military",fields:["name"],geometry:["point","area"],tags:{military:"naval_base"},addTags:{landuse:"military",military:"naval_base"},removeTags:{landuse:"military",military:"naval_base"},terms:["base","fight","force","guard","marine","navy","ship","sub","troop","war"],name:"Naval Base"},"landuse/military/nuclear_explosion_site":{icon:"maki-danger",fields:["name"],geometry:["point","vertex","area"],tags:{military:"nuclear_explosion_site"},addTags:{landuse:"military",military:"nuclear_explosion_site"},removeTags:{landuse:"military",military:"nuclear_explosion_site"},terms:["atom","blast","bomb","detonat*","nuke","site","test"],name:"Nuclear Explosion Site"},"landuse/military/obstacle_course":{icon:"temaki-military",geometry:["point","area"],tags:{military:"obstacle_course"},addTags:{landuse:"military",military:"obstacle_course"},removeTags:{landuse:"military",military:"obstacle_course"},terms:["army","base","force","guard","marine","navy","troop","war"],name:"Obstacle Course"},"landuse/military/office":{icon:"temaki-military",fields:["name","building_area"],geometry:["point","area"],tags:{military:"office"},addTags:{landuse:"military",military:"office"},removeTags:{landuse:"military",military:"office"},terms:["air force","army","base","enlist","fight","force","guard","marine","navy","recruit","troop","war"],name:"Military Office"},"landuse/military/range":{icon:"temaki-military",fields:["name"],geometry:["point","area"],tags:{military:"range"},addTags:{landuse:"military",military:"range"},removeTags:{landuse:"military",military:"range"},terms:["air force","army","base","fight","fire","force","guard","gun","marine","navy","rifle","shoot*","snip*","train","troop","war"],name:"Military Range"},"landuse/military/training_area":{icon:"temaki-military",fields:["name"],geometry:["point","area"],tags:{military:"training_area"},addTags:{landuse:"military",military:"training_area"},removeTags:{landuse:"military",military:"training_area"},terms:["air force","army","base","fight","fire","force","guard","gun","marine","navy","rifle","shoot*","snip*","train","troop","war"],name:"Training Area"},"landuse/orchard":{icon:"maki-park-alt1",fields:["name","operator","trees"],geometry:["area"],tags:{landuse:"orchard"},terms:["fruit"],name:"Orchard"},"landuse/plant_nursery":{icon:"maki-garden",fields:["name","operator","plant"],geometry:["area"],tags:{landuse:"plant_nursery"},terms:["flower","garden","grow","vivero"],name:"Plant Nursery"},"landuse/quarry":{geometry:["area"],fields:["name"],tags:{landuse:"quarry"},terms:[],name:"Quarry"},"landuse/railway":{icon:"maki-rail",fields:["operator"],geometry:["area"],tags:{landuse:"railway"},terms:["rail","train","track"],name:"Railway Corridor"},"landuse/recreation_ground":{icon:"maki-pitch",geometry:["area"],fields:["name"],tags:{landuse:"recreation_ground"},terms:["playing fields"],name:"Recreation Ground"},"landuse/religious":{icon:"maki-place-of-worship",geometry:["area"],fields:["name","religion","denomination"],tags:{landuse:"religious"},terms:[],name:"Religious Area"},"landuse/residential":{icon:"maki-building",geometry:["area"],tags:{landuse:"residential"},terms:[],matchScore:0.9,name:"Residential Area"},"landuse/retail":{icon:"maki-commercial",geometry:["area"],fields:["name"],tags:{landuse:"retail"},matchScore:0.9,name:"Retail Area"},"landuse/vineyard":{fields:["name","operator","grape_variety"],geometry:["area"],tags:{landuse:"vineyard"},addTags:{landuse:"vineyard",crop:"grape"},removeTags:{landuse:"vineyard",crop:"grape",grape_variety:"*"},terms:["grape","wine"],name:"Vineyard"},leisure:{icon:"maki-pitch",fields:["name","leisure"],geometry:["point","vertex","area"],tags:{leisure:"*"},name:"Leisure"},"leisure/adult_gaming_centre":{icon:"temaki-dice",fields:["name","operator","address","building_area","opening_hours","smoking"],geometry:["point","area"],terms:["gambling","slot machine"],tags:{leisure:"adult_gaming_centre"},name:"Adult Gaming Center"},"leisure/amusement_arcade":{icon:"maki-gaming",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["pay-to-play games","video games","driving simulators","pinball machines"],tags:{leisure:"amusement_arcade"},name:"Amusement Arcade"},"leisure/beach_resort":{icon:"temaki-beach",fields:["name","address","fee"],geometry:["point","area"],tags:{leisure:"beach_resort"},name:"Beach Resort"},"leisure/bird_hide":{icon:"temaki-binoculars",fields:["building_area"],geometry:["point","area"],tags:{leisure:"bird_hide"},terms:["machan","ornithology"],name:"Bird Hide"},"leisure/bleachers":{geometry:["point","area"],tags:{leisure:"bleachers"},terms:["crowd","bench","sports","stand","stands","seat","seating"],name:"Bleachers"},"leisure/bowling_alley":{icon:"temaki-bowling",fields:["name","operator","address","building_area","opening_hours","smoking"],geometry:["point","area"],terms:["bowling center"],tags:{leisure:"bowling_alley"},name:"Bowling Alley"},"leisure/common":{icon:"temaki-pedestrian",geometry:["point","area"],fields:["name"],terms:["open space"],tags:{leisure:"common"},name:"Common"},"leisure/dance":{icon:"maki-music",fields:["name","operator","address","building_area","dance/style","opening_hours"],geometry:["point","area"],terms:["ballroom","jive","swing","tango","waltz"],tags:{leisure:"dance"},name:"Dance Hall"},"leisure/dancing_school":{icon:"maki-music",fields:["name","operator","address","opening_hours","dance/style"],geometry:["point","area"],terms:["jive","swing","tango","waltz","dance teaching"],tags:{leisure:"dance","dance:teaching":"yes"},reference:{key:"leisure",value:"dance"},name:"Dance School"},"leisure/dog_park":{icon:"maki-dog-park",geometry:["point","area"],fields:["name"],terms:[],tags:{leisure:"dog_park"},name:"Dog Park"},"leisure/firepit":{icon:"maki-fire-station",geometry:["point","area"],tags:{leisure:"firepit"},terms:["fireplace","campfire"],name:"Firepit"},"leisure/fitness_centre":{icon:"maki-pitch",fields:["name","sport","address","building_area","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_centre"},terms:["health","gym","leisure","studio"],name:"Gym / Fitness Center"},"leisure/fitness_centre/yoga":{icon:"maki-pitch",fields:["name","sport","address","building_area","opening_hours"],geometry:["point","area"],terms:["studio"],tags:{leisure:"fitness_centre",sport:"yoga"},reference:{key:"sport",value:"yoga"},name:"Yoga Studio"},"leisure/fitness_station":{icon:"maki-pitch",fields:["fitness_station","ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station"},addTags:{leisure:"fitness_station",sport:"fitness"},removeTags:{leisure:"fitness_station",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["exercise","fitness","gym","trim trail"],name:"Outdoor Fitness Station"},"leisure/fitness_station/balance_beam":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"balance_beam"},addTags:{leisure:"fitness_station",fitness_station:"balance_beam",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"balance_beam",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["balance","exercise","fitness","gym","trim trail"],name:"Exercise Balance Beam"},"leisure/fitness_station/box":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"box"},addTags:{leisure:"fitness_station",fitness_station:"box",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"box",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["box","exercise","fitness","gym","jump","trim trail"],name:"Exercise Box"},"leisure/fitness_station/horizontal_bar":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"horizontal_bar"},addTags:{leisure:"fitness_station",fitness_station:"horizontal_bar",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"horizontal_bar",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["bar","chinup","chin up","exercise","fitness","gym","pullup","pull up","trim trail"],name:"Exercise Horizontal Bar"},"leisure/fitness_station/horizontal_ladder":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"horizontal_ladder"},addTags:{leisure:"fitness_station",fitness_station:"horizontal_ladder",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"horizontal_ladder",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["bar","chinup","chin up","exercise","fitness","gym","ladder","monkey bars","pullup","pull up","trim trail"],name:"Exercise Monkey Bars"},"leisure/fitness_station/hyperextension":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"hyperextension"},addTags:{leisure:"fitness_station",fitness_station:"hyperextension",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"hyperextension",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["back","exercise","extension","fitness","gym","roman chair","trim trail"],name:"Hyperextension Station"},"leisure/fitness_station/parallel_bars":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"parallel_bars"},addTags:{leisure:"fitness_station",fitness_station:"parallel_bars",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"parallel_bars",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["bar","dip","exercise","fitness","gym","trim trail"],name:"Parallel Bars"},"leisure/fitness_station/push-up":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"push-up"},addTags:{leisure:"fitness_station",fitness_station:"push-up",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"push-up",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["bar","exercise","fitness","gym","pushup","push up","trim trail"],name:"Push-Up Station"},"leisure/fitness_station/rings":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"rings"},addTags:{leisure:"fitness_station",fitness_station:"rings",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"rings",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["exercise","fitness","gym","muscle up","pullup","pull up","trim trail"],name:"Exercise Rings"},"leisure/fitness_station/sign":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"sign"},addTags:{leisure:"fitness_station",fitness_station:"sign",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"sign",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["exercise","fitness","gym","trim trail"],name:"Exercise Instruction Sign"},"leisure/fitness_station/sit-up":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"sit-up"},addTags:{leisure:"fitness_station",fitness_station:"sit-up",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"sit-up",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["crunch","exercise","fitness","gym","situp","sit up","trim trail"],name:"Sit-Up Station"},"leisure/fitness_station/stairs":{icon:"maki-pitch",fields:["ref","opening_hours"],geometry:["point","area"],tags:{leisure:"fitness_station",fitness_station:"stairs"},addTags:{leisure:"fitness_station",fitness_station:"stairs",sport:"fitness"},removeTags:{leisure:"fitness_station",fitness_station:"stairs",sport:"fitness"},reference:{key:"leisure",value:"fitness_station"},terms:["exercise","fitness","gym","steps","trim trail"],name:"Exercise Stairs"},"leisure/garden":{icon:"maki-garden",fields:["name","access_simple"],geometry:["point","vertex","area"],tags:{leisure:"garden"},name:"Garden"},"leisure/golf_course":{icon:"maki-golf",fields:["name","operator","address","opening_hours"],geometry:["point","area"],terms:["links"],tags:{leisure:"golf_course"},name:"Golf Course"},"leisure/hackerspace":{icon:"maki-commercial",fields:["name","address","building_area","opening_hours","website"],geometry:["point","area"],terms:["makerspace","hackspace","hacklab"],tags:{leisure:"hackerspace"},name:"Hackerspace"},"leisure/horse_riding":{icon:"maki-horse-riding",fields:["name","access_simple","operator","address","building"],geometry:["point","area"],terms:["equestrian","stable"],tags:{leisure:"horse_riding"},name:"Horseback Riding Facility"},"leisure/ice_rink":{icon:"maki-pitch",fields:["name","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:"maki-harbor",fields:["name","operator","address","capacity","fee","sanitary_dump_station","power_supply","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","vertex","area"],terms:["boat"],tags:{leisure:"marina"},name:"Marina"},"leisure/miniature_golf":{icon:"maki-golf",fields:["name","operator","address","opening_hours"],geometry:["point","area"],terms:["crazy golf","mini golf","putt-putt"],tags:{leisure:"miniature_golf"},name:"Miniature Golf"},"leisure/nature_reserve":{icon:"maki-park",geometry:["point","area"],fields:["name"],tags:{leisure:"nature_reserve"},terms:["protected","wildlife"],name:"Nature Reserve"},"leisure/outdoor_seating":{icon:"maki-picnic-site",geometry:["point","area"],fields:["name","operator"],terms:["al fresco","beer garden","dining","cafe","restaurant","pub","bar","patio"],tags:{leisure:"outdoor_seating"},name:"Outdoor Seating Area"},"leisure/park":{icon:"maki-park",geometry:["point","area"],fields:["name"],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":{icon:"maki-picnic-site",geometry:["point"],tags:{leisure:"picnic_table"},terms:["bench"],name:"Picnic Table"},"leisure/pitch":{icon:"maki-pitch",fields:["name","sport","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch"},terms:["field"],name:"Sport Pitch"},"leisure/pitch/american_football":{icon:"maki-america-football",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"american_football"},reference:{key:"sport",value:"american_football"},terms:[],name:"American Football Field"},"leisure/pitch/baseball":{icon:"maki-baseball",fields:["name","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"baseball"},reference:{key:"sport",value:"baseball"},terms:[],name:"Baseball Diamond"},"leisure/pitch/basketball":{icon:"maki-basketball",fields:["name","surface","hoops","lit","access_simple"],geometry:["point","area"],tags:{leisure:"pitch",sport:"basketball"},reference:{key:"sport",value:"basketball"},terms:[],name:"Basketball Court"},"leisure/pitch/beachvolleyball":{icon:"maki-basketball",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"beachvolleyball"},addTags:{leisure:"pitch",sport:"beachvolleyball",surface:"sand"},removeTags:{leisure:"pitch",sport:"beachvolleyball",surface:"sand"},reference:{key:"sport",value:"beachvolleyball"},terms:["volleyball"],name:"Beach Volleyball Court"},"leisure/pitch/boules":{icon:"maki-pitch",fields:["name","boules","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"boules"},reference:{key:"sport",value:"boules"},terms:["bocce","lyonnaise","pétanque"],name:"Boules/Bocce Court"},"leisure/pitch/bowls":{icon:"maki-pitch",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"bowls"},reference:{key:"sport",value:"bowls"},terms:[],name:"Bowling Green"},"leisure/pitch/cricket":{icon:"maki-cricket",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"cricket"},reference:{key:"sport",value:"cricket"},terms:[],name:"Cricket Field"},"leisure/pitch/equestrian":{icon:"maki-horse-riding",fields:["name","surface","lit","building"],geometry:["point","area"],tags:{leisure:"pitch",sport:"equestrian"},reference:{key:"sport",value:"equestrian"},terms:["dressage","equestrian","horse","horseback","riding"],name:"Riding Arena"},"leisure/pitch/rugby_league":{icon:"maki-america-football",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"rugby_league"},reference:{key:"sport",value:"rugby_league"},terms:[],name:"Rugby League Field"},"leisure/pitch/rugby_union":{icon:"maki-america-football",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"rugby_union"},reference:{key:"sport",value:"rugby_union"},terms:[],name:"Rugby Union Field"},"leisure/pitch/skateboard":{icon:"maki-pitch",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"skateboard"},reference:{key:"sport",value:"skateboard"},terms:[],name:"Skate Park"},"leisure/pitch/soccer":{icon:"maki-soccer",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"soccer"},reference:{key:"sport",value:"soccer"},terms:["football"],name:"Soccer Field"},"leisure/pitch/table_tennis":{icon:"maki-tennis",fields:["name","lit","access_simple"],geometry:["point","area"],tags:{leisure:"pitch",sport:"table_tennis"},reference:{key:"sport",value:"table_tennis"},terms:["table tennis","ping pong"],name:"Ping Pong Table"},"leisure/pitch/tennis":{icon:"maki-tennis",fields:["name","surface","lit","access_simple"],geometry:["point","area"],tags:{leisure:"pitch",sport:"tennis"},reference:{key:"sport",value:"tennis"},terms:[],name:"Tennis Court"},"leisure/pitch/volleyball":{icon:"maki-basketball",fields:["name","surface","lit"],geometry:["point","area"],tags:{leisure:"pitch",sport:"volleyball"},reference:{key:"sport",value:"volleyball"},terms:[],name:"Volleyball Court"},"leisure/playground":{icon:"maki-playground",fields:["name","operator","surface","playground/max_age","playground/min_age","access_simple"],geometry:["point","area"],terms:["jungle gym","play area"],tags:{leisure:"playground"},name:"Playground"},"leisure/resort":{icon:"maki-lodging",fields:["name","operator","address","opening_hours"],geometry:["point","area"],tags:{leisure:"resort"},name:"Resort"},"leisure/running_track":{icon:"maki-pitch",fields:["surface","sport_racing_nonmotor","lit","width","lanes"],geometry:["point","line","area"],tags:{leisure:"track",sport:"running"},terms:["race*","running","sprint","track"],name:"Racetrack (Running)"},"leisure/sauna":{icon:"fas-thermometer-three-quarters",fields:["name","operator","address","opening_hours","access_simple","fee"],geometry:["point","area"],tags:{leisure:"sauna"},name:"Sauna"},"leisure/slipway":{icon:"temaki-beach",geometry:["point","line"],terms:["boat launch","boat ramp"],tags:{leisure:"slipway"},name:"Slipway"},"leisure/sports_centre":{icon:"maki-pitch",fields:["name","sport","building","address","opening_hours"],geometry:["point","area"],tags:{leisure:"sports_centre"},terms:[],name:"Sports Center / Complex"},"leisure/sports_centre/swimming":{icon:"maki-swimming",fields:["name","access_simple","operator","address","building"],geometry:["point","area"],terms:["dive","water"],tags:{leisure:"sports_centre",sport:"swimming"},reference:{key:"sport",value:"swimming"},name:"Swimming Pool Facility"},"leisure/stadium":{icon:"maki-pitch",fields:["name","sport","address"],geometry:["point","area"],tags:{leisure:"stadium"},name:"Stadium"},"leisure/swimming_pool":{icon:"maki-swimming",fields:["name","access_simple","operator","address"],geometry:["point","area"],terms:["dive","water"],tags:{leisure:"swimming_pool"},name:"Swimming Pool"},"leisure/track":{icon:"iD-highway-road",fields:["surface","sport_racing_nonmotor","lit","width","lanes"],geometry:["point","line","area"],tags:{leisure:"track"},terms:["cycle","dog","greyhound","horse","race*","track"],name:"Racetrack (Non-Motorsport)"},"leisure/water_park":{icon:"maki-swimming",fields:["name","operator","address"],geometry:["point","area"],terms:["swim","pool","dive"],tags:{leisure:"water_park"},name:"Water Park"},line:{fields:["name"],geometry:["line"],tags:{},name:"Line",matchScore:0.1},man_made:{icon:"temaki-storage_tank",fields:["name","man_made"],geometry:["point","vertex","line","area"],tags:{man_made:"*"},name:"Man Made"},"man_made/embankment":{geometry:["line"],tags:{man_made:"embankment"},name:"Embankment",searchable:false},"man_made/adit":{icon:"maki-triangle",geometry:["point","area"],fields:["operator","direction"],terms:["entrance","underground","mine","cave"],tags:{man_made:"adit"},name:"Adit"},"man_made/antenna":{icon:"temaki-antenna",fields:["height","communication_multi"],geometry:["point"],terms:["broadcast","cell phone","cell","communication","mobile phone","radio","television","transmission","tv"],tags:{man_made:"antenna"},name:"Antenna"},"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":{icon:"temaki-chimney",geometry:["point","area"],tags:{man_made:"chimney"},name:"Chimney"},"man_made/clearcut":{icon:"maki-logging",geometry:["area"],tags:{man_made:"clearcut"},terms:["cut","forest","lumber","tree","wood"],name:"Clearcut Forest"},"man_made/crane":{icon:"temaki-crane",fields:["operator","height","crane/type"],geometry:["point","line","vertex","area"],tags:{man_made:"crane"},name:"Crane"},"man_made/cutline":{icon:"maki-logging",geometry:["line"],tags:{man_made:"cutline"},name:"Cut line"},"man_made/flagpole":{icon:"maki-embassy",geometry:["point"],tags:{man_made:"flagpole"},name:"Flagpole"},"man_made/gasometer":{icon:"temaki-storage_tank",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:"maki-lighthouse",fields:["building_area"],geometry:["point","area"],tags:{man_made:"lighthouse"},name:"Lighthouse"},"man_made/mast":{icon:"temaki-antenna",fields:["tower/type","tower/construction","height","communication_multi"],geometry:["point"],terms:["antenna","broadcast tower","cell phone tower","cell tower","communication mast","communication tower","guyed tower","mobile phone tower","radio mast","radio tower","television tower","transmission mast","transmission tower","tv tower"],tags:{man_made:"mast"},name:"Mast"},"man_made/monitoring_station":{icon:"temaki-antenna",geometry:["point","area"],fields:["monitoring_multi","operator"],terms:["weather","earthquake","seismology","air","gps"],tags:{man_made:"monitoring_station"},name:"Monitoring Station"},"man_made/observation":{icon:"temaki-tower",geometry:["point","area"],terms:["lookout tower","fire tower"],tags:{man_made:"tower","tower:type":"observation"},name:"Observation Tower"},"man_made/observatory":{geometry:["point","area"],terms:["astronomical","meteorological"],tags:{man_made:"observatory"},name:"Observatory"},"man_made/petroleum_well":{icon:"temaki-storage_tank",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":{icon:"iD-highway-footway",fields:["name","surface","lit","width","access"],geometry:["line","area"],terms:["dock","jetty"],tags:{man_made:"pier"},name:"Pier"},"man_made/pipeline":{icon:"iD-pipeline-line",fields:["location","operator","substance"],geometry:["line"],tags:{man_made:"pipeline"},name:"Pipeline"},"man_made/pumping_station":{icon:"maki-water",geometry:["point","area"],tags:{man_made:"pumping_station"},name:"Pumping Station"},"man_made/silo":{icon:"temaki-silo",fields:["building_area","crop"],geometry:["point","area"],terms:["grain","corn","wheat"],tags:{man_made:"silo"},name:"Silo"},"man_made/storage_tank":{icon:"temaki-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_camera":{icon:"maki-attraction",geometry:["point","vertex"],fields:["surveillance","surveillance/type","camera/type","camera/mount","camera/direction","surveillance/zone","contact/webcam"],terms:["anpr","alpr","camera","car plate recognition","cctv","guard","license plate recognition","monitoring","number plate recognition","security","video","webcam"],tags:{man_made:"surveillance","surveillance:type":"camera"},name:"Surveillance Camera"},"man_made/surveillance":{icon:"maki-attraction",geometry:["point","vertex"],fields:["surveillance","surveillance/type","surveillance/zone","direction"],terms:["anpr","alpr","camera","car plate recognition","cctv","guard","license plate recognition","monitoring","number plate recognition","security","video","webcam"],tags:{man_made:"surveillance"},name:"Surveillance"},"man_made/survey_point":{icon:"maki-monument",fields:["ref"],geometry:["point","vertex"],terms:["trig point","triangulation pillar","trigonometrical station"],tags:{man_made:"survey_point"},name:"Survey Point"},"man_made/tower":{icon:"temaki-tower",fields:["tower/type","tower/construction","height"],geometry:["point","area"],tags:{man_made:"tower"},name:"Tower"},"man_made/wastewater_plant":{icon:"maki-water",fields:["name","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:"maki-water",fields:["operator"],geometry:["point","area"],tags:{man_made:"water_tower"},name:"Water Tower"},"man_made/water_well":{icon:"maki-water",fields:["operator"],geometry:["point","area"],tags:{man_made:"water_well"},name:"Water Well"},"man_made/water_works":{icon:"maki-water",fields:["name","operator","address"],geometry:["point","area"],tags:{man_made:"water_works"},name:"Water Works"},"man_made/watermill":{icon:"maki-buddhism",fields:["building_area"],geometry:["point","area"],terms:["water","wheel","mill"],tags:{man_made:"watermill"},name:"Watermill"},"man_made/windmill":{icon:"temaki-windmill",fields:["building_area"],geometry:["point","area"],terms:["wind","wheel","mill"],tags:{man_made:"windmill"},name:"Windmill"},"man_made/works":{icon:"maki-industry",fields:["name","operator","address","building_area","product"],geometry:["point","area"],terms:["assembly","build","brewery","car","plant","plastic","processing","manufacture","refinery"],tags:{man_made:"works"},name:"Factory"},manhole:{icon:"maki-circle-stroked",fields:["manhole","operator","label","ref"],geometry:["point","vertex"],tags:{manhole:"*"},terms:["cover","hole","sewer","sewage","telecom"],name:"Manhole"},"manhole/drain":{icon:"maki-water",fields:["operator","ref"],geometry:["point","vertex"],tags:{manhole:"drain"},terms:["cover","drain","hole","rain","sewer","sewage","storm"],name:"Storm Drain"},"manhole/telecom":{icon:"maki-circle-stroked",fields:["operator","ref"],geometry:["point","vertex"],tags:{manhole:"telecom"},terms:["cover","phone","hole","telecom","telephone","bt"],name:"Telecom Manhole"},natural:{icon:"maki-natural",fields:["name","natural"],geometry:["point","vertex","area"],tags:{natural:"*"},name:"Natural"},"natural/bare_rock":{geometry:["area"],tags:{natural:"bare_rock"},terms:["rock"],name:"Bare Rock"},"natural/bay":{icon:"temaki-beach",geometry:["point","area"],fields:["name"],tags:{natural:"bay"},terms:[],name:"Bay"},"natural/beach":{icon:"temaki-beach",fields:["surface"],geometry:["point","area"],tags:{natural:"beach"},terms:["shore"],name:"Beach"},"natural/cave_entrance":{icon:"maki-triangle",geometry:["point","area"],fields:["fee","access_simple","direction"],tags:{natural:"cave_entrance"},terms:["cavern","hollow","grotto","shelter","cavity"],name:"Cave Entrance"},"natural/cliff":{icon:"maki-triangle",geometry:["point","vertex","line","area"],tags:{natural:"cliff"},terms:["escarpment"],name:"Cliff"},"natural/coastline":{geometry:["line"],tags:{natural:"coastline"},terms:["shore"],name:"Coastline"},"natural/fell":{geometry:["area"],tags:{natural:"fell"},terms:[],name:"Fell"},"natural/glacier":{geometry:["area"],tags:{natural:"glacier"},terms:[],name:"Glacier"},"natural/grassland":{geometry:["area"],tags:{natural:"grassland"},terms:["prairie","savanna"],name:"Grassland"},"natural/heath":{geometry:["area"],tags:{natural:"heath"},terms:[],name:"Heath"},"natural/mud":{geometry:["area"],tags:{natural:"mud"},terms:["wetland"],name:"Mud"},"natural/peak":{icon:"maki-mountain",fields:["name","elevation"],geometry:["point","vertex"],tags:{natural:"peak"},terms:["acme","aiguille","alp","climax","crest","crown","hill","mount","mountain","pinnacle","summit","tip","top"],name:"Peak"},"natural/reef":{icon:"temaki-beach",geometry:["point","area"],tags:{natural:"reef"},terms:["barrier","coral","ocean","sand","shoal"],name:"Reef"},"natural/ridge":{geometry:["line"],tags:{natural:"ridge"},terms:["crest"],name:"Ridge"},"natural/saddle":{icon:"maki-triangle-stroked",fields:["elevation"],geometry:["point","vertex"],tags:{natural:"saddle"},terms:["pass","mountain pass","top"],name:"Saddle"},"natural/sand":{geometry:["area"],tags:{natural:"sand"},terms:["desert"],name:"Sand"},"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":{icon:"maki-water",fields:["name","intermittent"],geometry:["point","vertex"],tags:{natural:"spring"},terms:[],name:"Spring"},"natural/tree_row":{icon:"maki-park",fields:["leaf_type","leaf_cycle","denotation"],geometry:["line"],tags:{natural:"tree_row"},terms:[],name:"Tree row"},"natural/tree":{icon:"maki-park",fields:["leaf_type_singular","leaf_cycle_singular","denotation"],geometry:["point","vertex"],tags:{natural:"tree"},terms:[],name:"Tree"},"natural/volcano":{icon:"maki-volcano",fields:["name","elevation","volcano/status","volcano/type"],geometry:["point","vertex"],tags:{natural:"volcano"},terms:["mountain","crater"],name:"Volcano"},"natural/water":{icon:"maki-water",fields:["water"],geometry:["area"],tags:{natural:"water"},name:"Water"},"natural/water/lake":{icon:"maki-water",fields:["name","intermittent"],geometry:["area"],tags:{natural:"water",water:"lake"},reference:{key:"natural",value:"water"},terms:["lakelet","loch","mere"],name:"Lake"},"natural/water/pond":{icon:"maki-water",fields:["name","intermittent"],geometry:["area"],tags:{natural:"water",water:"pond"},reference:{key:"natural",value:"water"},terms:["lakelet","millpond","tarn","pool","mere"],name:"Pond"},"natural/water/reservoir":{icon:"maki-water",fields:["name","intermittent"],geometry:["area"],tags:{natural:"water",water:"reservoir"},reference:{key:"natural",value:"water"},name:"Reservoir"},"natural/wetland":{icon:"maki-wetland",fields:["wetland"],geometry:["point","area"],tags:{natural:"wetland"},terms:["bog","marsh","reedbed","swamp","tidalflat"],name:"Wetland"},"natural/wood":{icon:"maki-park-alt1",fields:["name","leaf_type","leaf_cycle"],geometry:["point","area"],tags:{natural:"wood"},terms:["tree"],name:"Wood"},"noexit/yes":{icon:"maki-barrier",geometry:["vertex"],terms:["no exit","road end","dead end"],tags:{noexit:"yes"},reference:{key:"noexit",value:"*"},name:"No Exit"},office:{icon:"maki-suitcase",fields:["name","office","address","building_area","opening_hours","smoking"],geometry:["point","vertex","area"],tags:{office:"*"},terms:[],name:"Office"},"office/administrative":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"administrative"},terms:[],searchable:false,name:"Administrative Office"},"office/physician":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"physician"},searchable:false,name:"Physician"},"office/travel_agent":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"travel_agent"},reference:{key:"shop",value:"travel_agency"},terms:[],name:"Travel Agency",searchable:false},"office/accountant":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"accountant"},terms:[],name:"Accountant Office"},"office/adoption_agency":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"adoption_agency"},terms:[],name:"Adoption Agency"},"office/advertising_agency":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"advertising_agency"},terms:["ad","ad agency","advert agency","advertising","marketing"],name:"Advertising Agency"},"office/architect":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"architect"},terms:[],name:"Architect Office"},"office/association":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"association"},terms:["association","non-profit","nonprofit","organization","society"],name:"Nonprofit Organization Office"},"office/charity":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"charity"},terms:["charitable organization"],name:"Charity Office"},"office/company":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours","smoking"],geometry:["point","area"],tags:{office:"company"},terms:[],name:"Corporate Office"},"office/coworking":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],terms:["coworking","office"],tags:{office:"coworking"},reference:{key:"amenity",value:"coworking_space"},name:"Coworking Space"},"office/educational_institution":{icon:"maki-school",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"educational_institution"},terms:[],name:"Educational Institution"},"office/employment_agency":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"employment_agency"},terms:["job"],name:"Employment Agency"},"office/energy_supplier":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"energy_supplier"},terms:["electricity","energy company","energy utility","gas utility"],name:"Energy Supplier Office"},"office/estate_agent":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"estate_agent"},terms:[],name:"Real Estate Office"},"office/financial":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"financial"},terms:[],name:"Financial Office"},"office/forestry":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"forestry"},terms:["forest","ranger"],name:"Forestry Office"},"office/foundation":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"foundation"},terms:[],name:"Foundation Office"},"office/government":{icon:"maki-town-hall",fields:["name","government","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"government"},terms:[],name:"Government Office"},"office/government/register_office":{icon:"maki-town-hall",fields:["name","address","building_area","opening_hours","operator"],geometry:["point","area"],terms:["clerk","marriage","death","birth","certificate"],tags:{office:"government",government:"register_office"},reference:{key:"government",value:"register_office"},name:"Register Office"},"office/government/tax":{icon:"maki-town-hall",fields:["name","address","building_area","opening_hours","operator"],geometry:["point","area"],terms:["fiscal authorities","revenue office","tax office"],tags:{office:"government",government:"tax"},reference:{key:"government",value:"tax"},name:"Tax and Revenue Office"},"office/guide":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"guide"},terms:["dive guide","mountain guide","tour guide"],name:"Tour Guide Office"},"office/insurance":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"insurance"},terms:[],name:"Insurance Office"},"office/it":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"it"},terms:["computer","information","software","technology"],name:"Information Technology Office"},"office/lawyer":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"lawyer"},terms:[],name:"Law Office"},"office/lawyer/notary":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"lawyer",lawyer:"notary"},reference:{key:"office",value:"notary"},searchable:false,name:"Notary Office"},"office/moving_company":{icon:"maki-warehouse",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"moving_company"},terms:["relocation"],name:"Moving Company Office"},"office/newspaper":{icon:"maki-library",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"newspaper"},terms:[],name:"Newspaper Office"},"office/ngo":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours","smoking"],geometry:["point","area"],tags:{office:"ngo"},terms:["ngo","non government","non-government","organization","organisation"],name:"NGO Office"},"office/notary":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"notary"},terms:["clerk","deeds","estate","signature","wills"],name:"Notary Office"},"office/political_party":{icon:"maki-town-hall",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"political_party"},terms:[],name:"Political Party"},"office/private_investigator":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"private_investigator"},terms:["PI","private eye","private detective"],name:"Private Investigator Office"},"office/quango":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"quango"},terms:["ngo","non government","non-government","organization","organisation","quasi autonomous","quasi-autonomous"],name:"Quasi-NGO Office"},"office/research":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"research"},terms:[],name:"Research Office"},"office/surveyor":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"surveyor"},terms:[],name:"Surveyor Office"},"office/tax_advisor":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"tax_advisor"},terms:["tax","tax consultant"],name:"Tax Advisor Office"},"office/telecommunication":{icon:"maki-telephone",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"telecommunication"},terms:["communication","internet","phone","voice"],name:"Telecom Office"},"office/therapist":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours"],geometry:["point","area"],tags:{office:"therapist"},terms:["therapy"],name:"Therapist Office"},"office/water_utility":{icon:"maki-suitcase",fields:["name","address","building_area","opening_hours","operator"],geometry:["point","area"],tags:{office:"water_utility"},terms:["water board","utility"],name:"Water Utility Office"},piste:{icon:"maki-skiing",fields:["name","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/farm":{icon:"maki-farm",geometry:["point","area"],fields:["name"],tags:{place:"farm"},name:"Farm",searchable:false},"place/city":{icon:"maki-city",fields:["name","population"],geometry:["point","area"],tags:{place:"city"},name:"City"},"place/hamlet":{icon:"maki-triangle-stroked",fields:["name","population"],geometry:["point","area"],tags:{place:"hamlet"},name:"Hamlet"},"place/island":{icon:"maki-mountain",geometry:["point","area"],fields:["name"],terms:["archipelago","atoll","bar","cay","isle","islet","key","reef"],tags:{place:"island"},name:"Island"},"place/islet":{icon:"maki-mountain",geometry:["point","area"],fields:["name"],terms:["archipelago","atoll","bar","cay","isle","islet","key","reef"],tags:{place:"islet"},name:"Islet"},"place/isolated_dwelling":{icon:"maki-home",geometry:["point","area"],fields:["name"],tags:{place:"isolated_dwelling"},name:"Isolated Dwelling"},"place/locality":{icon:"maki-triangle-stroked",geometry:["point","area"],fields:["name"],tags:{place:"locality"},name:"Locality"},"place/neighbourhood":{icon:"maki-triangle-stroked",fields:["name","population"],geometry:["point","area"],tags:{place:"neighbourhood"},terms:["neighbourhood"],name:"Neighborhood"},"place/plot":{icon:"maki-triangle-stroked",fields:["name"],geometry:["point","area"],tags:{place:"plot"},terms:["tract","land","lot","parcel"],name:"Plot"},"place/quarter":{icon:"maki-triangle-stroked",fields:["name","population"],geometry:["point","area"],tags:{place:"quarter"},terms:["boro","borough","quarter"],name:"Sub-Borough / Quarter"},"place/square":{geometry:["point","area"],fields:["name"],tags:{place:"square"},name:"Square"},"place/suburb":{icon:"maki-triangle-stroked",fields:["name","population"],geometry:["point","area"],tags:{place:"suburb"},terms:["boro","borough","quarter"],name:"Borough / Suburb"},"place/town":{icon:"maki-town",fields:["name","population"],geometry:["point","area"],tags:{place:"town"},name:"Town"},"place/village":{icon:"maki-village",fields:["name","population"],geometry:["point","area"],tags:{place:"village"},name:"Village"},"playground/balance_beam":{icon:"maki-playground",geometry:["point","line"],tags:{playground:"balancebeam"},name:"Play Balance Beam"},"playground/basket_spinner":{icon:"maki-playground",geometry:["point"],terms:["basket rotator"],tags:{playground:"basketrotator"},name:"Basket Spinner"},"playground/basket_swing":{icon:"maki-playground",geometry:["point"],tags:{playground:"basketswing"},name:"Basket Swing"},"playground/climbing_frame":{icon:"maki-playground",geometry:["point","area"],tags:{playground:"climbingframe"},name:"Climbing Frame"},"playground/cushion":{icon:"maki-playground",geometry:["point","area"],tags:{playground:"cushion"},name:"Bouncy Cushion"},"playground/horizontal_bar":{icon:"maki-pitch",fields:["height"],geometry:["point"],terms:["high bar"],tags:{playground:"horizontal_bar"},name:"Play Horizontal Bar"},"playground/rocker":{icon:"maki-playground",geometry:["point"],tags:{playground:"springy"},name:"Spring Rider",terms:["spring rocker","springy rocker"]},"playground/roundabout":{icon:"maki-stadium",fields:["bench"],geometry:["point","area"],tags:{playground:"roundabout"},name:"Play Roundabout",terms:["merry-go-round"]},"playground/sandpit":{icon:"maki-playground",geometry:["point","area"],tags:{playground:"sandpit"},name:"Sandpit"},"playground/seesaw":{icon:"maki-playground",geometry:["point"],tags:{playground:"seesaw"},name:"Seesaw"},"playground/slide":{icon:"maki-playground",geometry:["point","line"],tags:{playground:"slide"},name:"Slide"},"playground/structure":{icon:"maki-pitch",geometry:["point","area"],tags:{playground:"structure"},name:"Play Structure"},"playground/swing":{icon:"maki-playground",fields:["playground/baby","wheelchair"],geometry:["point"],tags:{playground:"swing"},name:"Swing"},"playground/zipwire":{icon:"maki-playground",geometry:["point","line"],tags:{playground:"zipwire"},name:"Zip Wire"},point:{fields:["name"],geometry:["point"],tags:{},name:"Point",matchScore:0.1},"power/sub_station":{icon:"temaki-power",fields:["substation","operator","building","ref"],geometry:["point","area"],tags:{power:"sub_station"},reference:{key:"power",value:"substation"},name:"Substation",searchable:false},"power/generator":{icon:"temaki-power",fields:["operator","generator/source","generator/method","generator/type","generator/output/electricity","ref"],geometry:["point","vertex","area"],terms:["hydro","solar","turbine","wind"],tags:{power:"generator"},name:"Power Generator"},"power/generator/source_nuclear":{icon:"temaki-radiation",fields:["operator","generator/source","generator/method","generator/type","generator/output/electricity","ref"],geometry:["point","vertex","area"],terms:["fission","generator","nuclear","nuke","reactor"],tags:{power:"generator","generator:source":"nuclear","generator:method":"fission"},reference:{key:"generator:source",value:"nuclear"},name:"Nuclear Reactor"},"power/generator/source_wind":{icon:"temaki-wind_turbine",fields:["operator","generator/source","generator/method","generator/type","generator/output/electricity","height","ref"],geometry:["point","vertex","area"],terms:["generator","turbine","windmill","wind"],tags:{power:"generator","generator:source":"wind","generator:method":"wind_turbine"},reference:{key:"generator:source",value:"wind"},name:"Wind Turbine"},"power/line":{icon:"iD-power-line",fields:["name","operator","voltage","ref"],geometry:["line"],tags:{power:"line"},name:"Power Line"},"power/minor_line":{icon:"iD-power-line",fields:["name","operator","voltage","ref"],geometry:["line"],tags:{power:"minor_line"},name:"Minor Power Line"},"power/plant":{icon:"maki-industry",fields:["name","operator","address","plant/output/electricity","start_date"],geometry:["area"],tags:{power:"plant"},addTags:{power:"plant",landuse:"industrial"},removeTags:{power:"plant",landuse:"industrial"},terms:["coal","gas","generat*","hydro","nuclear","power","station"],name:"Power Station Grounds"},"power/pole":{fields:["ref"],geometry:["point","vertex"],tags:{power:"pole"},name:"Power Pole"},"power/substation":{icon:"temaki-power",fields:["substation","operator","building","ref"],geometry:["point","area"],tags:{power:"substation"},name:"Substation"},"power/switch":{icon:"temaki-power",fields:["switch","operator","location","cables","voltage","ref"],geometry:["point","vertex","area"],tags:{power:"switch"},name:"Power Switch"},"power/tower":{fields:["ref"],geometry:["vertex"],tags:{power:"tower"},name:"High-Voltage Tower"},"power/transformer":{icon:"temaki-power",fields:["transformer","operator","location","rating","devices","phases","frequency","voltage/primary","voltage/secondary","voltage/tertiary","windings","windings/configuration","ref"],geometry:["point","vertex","area"],tags:{power:"transformer"},name:"Transformer"},"public_transport/linear_platform_aerialway":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",aerialway:"yes"},reference:{key:"public_transport",value:"platform"},terms:["aerialway","cable car","platform","public transit","public transportation","transit","transportation"],name:"Aerialway Stop / Platform"},"public_transport/linear_platform_bus":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",bus:"yes"},addTags:{public_transport:"platform",bus:"yes",highway:"bus_stop"},removeTags:{public_transport:"platform",bus:"yes",highway:"bus_stop"},reference:{key:"public_transport",value:"platform"},terms:["bus","platform","public transit","public transportation","transit","transportation"],name:"Bus Stop / Platform"},"public_transport/linear_platform_ferry":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",ferry:"yes"},reference:{key:"public_transport",value:"platform"},terms:["boat","dock","ferry","pier","platform","public transit","public transportation","transit","transportation"],name:"Ferry Stop / Platform"},"public_transport/linear_platform_light_rail":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",light_rail:"yes"},addTags:{public_transport:"platform",light_rail:"yes",railway:"platform"},removeTags:{public_transport:"platform",light_rail:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["electric","light rail","platform","public transit","public transportation","rail","track","tram","trolley","transit","transportation"],name:"Light Rail Stop / Platform"},"public_transport/linear_platform_monorail":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",monorail:"yes"},addTags:{public_transport:"platform",monorail:"yes",railway:"platform"},removeTags:{public_transport:"platform",monorail:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["monorail","platform","public transit","public transportation","rail","transit","transportation"],name:"Monorail Stop / Platform"},"public_transport/linear_platform_subway":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",subway:"yes"},addTags:{public_transport:"platform",subway:"yes",railway:"platform"},removeTags:{public_transport:"platform",subway:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["metro","platform","public transit","public transportation","rail","subway","track","transit","transportation","underground"],name:"Subway Stop / Platform"},"public_transport/linear_platform_train":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",train:"yes"},addTags:{public_transport:"platform",train:"yes",railway:"platform"},removeTags:{public_transport:"platform",train:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["platform","public transit","public transportation","rail","track","train","transit","transportation"],name:"Train Stop / Platform"},"public_transport/linear_platform_tram":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",tram:"yes"},addTags:{public_transport:"platform",tram:"yes",railway:"platform"},removeTags:{public_transport:"platform",tram:"yes",railway:"platform"},reference:{key:"public_transport",value:"platform"},terms:["electric","light rail","platform","public transit","public transportation","rail","streetcar","track","tram","trolley","transit","transportation"],name:"Tram Stop / Platform"},"public_transport/linear_platform_trolleybus":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform",trolleybus:"yes"},addTags:{public_transport:"platform",trolleybus:"yes",highway:"bus_stop"},removeTags:{public_transport:"platform",trolleybus:"yes",highway:"bus_stop"},reference:{key:"public_transport",value:"platform"},terms:["bus","electric","platform","public transit","public transportation","streetcar","trackless","tram","trolley","transit","transportation"],name:"Trolleybus Stop / Platform"},"public_transport/linear_platform":{icon:"iD-highway-footway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["line"],tags:{public_transport:"platform"},terms:["platform","public transit","public transportation","transit","transportation"],name:"Transit Stop / Platform",matchScore:0.2},"public_transport/platform_aerialway":{icon:"maki-aerialway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",aerialway:"yes"},reference:{key:"public_transport",value:"platform"},terms:["aerialway","cable car","platform","public transit","public transportation","transit","transportation"],name:"Aerialway Stop / Platform"},"public_transport/platform_bus":{icon:"maki-bus",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",bus:"yes"},addTags:{public_transport:"platform",bus:"yes",highway:"bus_stop"},removeTags:{public_transport:"platform",bus:"yes",highway:"bus_stop"},reference:{key:"public_transport",value:"platform"},terms:["bus","platform","public transit","public transportation","transit","transportation"],name:"Bus Stop / Platform"},"public_transport/platform_ferry":{icon:"maki-ferry",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",ferry:"yes"},reference:{key:"public_transport",value:"platform"},terms:["boat","dock","ferry","pier","platform","public transit","public transportation","transit","transportation"],name:"Ferry Stop / Platform"},"public_transport/platform_light_rail":{icon:"temaki-light_rail",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",light_rail:"yes"},addTags:{public_transport:"platform",light_rail:"yes",railway:"platform"},removeTags:{public_transport:"platform",light_rail:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["electric","light rail","platform","public transit","public transportation","rail","track","tram","trolley","transit","transportation"],name:"Light Rail Stop / Platform"},"public_transport/platform_monorail":{icon:"temaki-monorail",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",monorail:"yes"},addTags:{public_transport:"platform",monorail:"yes",railway:"platform"},removeTags:{public_transport:"platform",monorail:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["monorail","platform","public transit","public transportation","rail","transit","transportation"],name:"Monorail Stop / Platform"},"public_transport/platform_subway":{icon:"temaki-subway",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",subway:"yes"},addTags:{public_transport:"platform",subway:"yes",railway:"platform"},removeTags:{public_transport:"platform",subway:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["metro","platform","public transit","public transportation","rail","subway","track","transit","transportation","underground"],name:"Subway Stop / Platform"},"public_transport/platform_train":{icon:"maki-rail",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",train:"yes"},addTags:{public_transport:"platform",train:"yes",railway:"platform"},removeTags:{public_transport:"platform",train:"yes",railway:"platform"},reference:{key:"railway",value:"platform"},terms:["platform","public transit","public transportation","rail","track","train","transit","transportation"],name:"Train Stop / Platform"},"public_transport/platform_tram":{icon:"temaki-tram",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",tram:"yes"},addTags:{public_transport:"platform",tram:"yes",railway:"platform"},removeTags:{public_transport:"platform",tram:"yes",railway:"platform"},reference:{key:"public_transport",value:"platform"},terms:["electric","light rail","platform","public transit","public transportation","rail","streetcar","track","tram","trolley","transit","transportation"],name:"Tram Stop / Platform"},"public_transport/platform_trolleybus":{icon:"temaki-trolleybus",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform",trolleybus:"yes"},addTags:{public_transport:"platform",trolleybus:"yes",highway:"bus_stop"},removeTags:{public_transport:"platform",trolleybus:"yes",highway:"bus_stop"},reference:{key:"public_transport",value:"platform"},terms:["bus","electric","platform","public transit","public transportation","streetcar","trackless","tram","trolley","transit","transportation"],name:"Trolleybus Stop / Platform"},"public_transport/platform":{icon:"maki-bus",fields:["name","ref_platform","network","operator","surface","lit","bench","shelter"],geometry:["point","area"],tags:{public_transport:"platform"},terms:["platform","public transit","public transportation","transit","transportation"],name:"Transit Stop / Platform",matchScore:0.2},"public_transport/station_aerialway":{icon:"maki-aerialway",fields:["name","network","operator","aerialway/access","aerialway/summer/access","elevation","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",aerialway:"yes"},reference:{key:"aerialway",value:"station"},terms:["aerialway","cable car","public transit","public transportation","station","terminal","transit","transportation"],name:"Aerialway Station"},"public_transport/station_bus":{icon:"maki-bus",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",bus:"yes"},addTags:{public_transport:"station",bus:"yes",amenity:"bus_station"},removeTags:{public_transport:"station",bus:"yes",amenity:"bus_station"},reference:{key:"amenity",value:"bus_station"},terms:["bus","public transit","public transportation","station","terminal","transit","transportation"],name:"Bus Station / Terminal"},"public_transport/station_ferry":{icon:"maki-ferry",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",ferry:"yes"},addTags:{public_transport:"station",ferry:"yes",amenity:"ferry_terminal"},removeTags:{public_transport:"station",ferry:"yes",amenity:"ferry_terminal"},reference:{key:"amenity",value:"ferry_terminal"},terms:["boat","dock","ferry","pier","public transit","public transportation","station","terminal","transit","transportation"],name:"Ferry Station / Terminal"},"public_transport/station_light_rail":{icon:"temaki-light_rail",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",light_rail:"yes"},addTags:{public_transport:"station",light_rail:"yes",railway:"station",station:"light_rail"},removeTags:{public_transport:"station",light_rail:"yes",railway:"station",station:"light_rail"},reference:{key:"station",value:"light_rail"},terms:["electric","light rail","public transit","public transportation","rail","station","terminal","track","tram","trolley","transit","transportation"],name:"Light Rail Station"},"public_transport/station_monorail":{icon:"temaki-monorail",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",monorail:"yes"},addTags:{public_transport:"station",monorail:"yes",railway:"station"},removeTags:{public_transport:"station",monorail:"yes",railway:"station"},reference:{key:"railway",value:"station"},terms:["monorail","public transit","public transportation","rail","station","terminal","transit","transportation"],name:"Monorail Station"},"public_transport/station_subway":{icon:"temaki-subway",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",subway:"yes"},addTags:{public_transport:"station",subway:"yes",railway:"station",station:"subway"},removeTags:{public_transport:"station",subway:"yes",railway:"station",station:"subway"},reference:{key:"station",value:"subway"},terms:["metro","public transit","public transportation","rail","station","subway","terminal","track","transit","transportation","underground"],name:"Subway Station"},"public_transport/station_train_halt":{icon:"maki-rail",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",train:"yes",railway:"halt"},reference:{key:"railway",value:"halt"},terms:["halt","public transit","public transportation","rail","station","track","train","transit","transportation","whistle stop"],name:"Train Station (Halt / Request)"},"public_transport/station_train":{icon:"maki-rail",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",train:"yes"},addTags:{public_transport:"station",train:"yes",railway:"station"},removeTags:{public_transport:"station",train:"yes",railway:"station"},reference:{key:"railway",value:"station"},terms:["public transit","public transportation","rail","station","terminal","track","train","transit","transportation"],name:"Train Station"},"public_transport/station_tram":{icon:"temaki-tram",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",tram:"yes"},reference:{key:"public_transport",value:"station"},terms:["electric","light rail","public transit","public transportation","rail","station","streetcar","terminal","track","tram","trolley","transit","transportation"],name:"Tram Station"},"public_transport/station_trolleybus":{icon:"temaki-trolleybus",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station",trolleybus:"yes"},addTags:{public_transport:"station",trolleybus:"yes",amenity:"bus_station"},removeTags:{public_transport:"station",trolleybus:"yes",amenity:"bus_station"},reference:{key:"amenity",value:"bus_station"},terms:["bus","electric","public transit","public transportation","station","streetcar","terminal","trackless","tram","trolley","transit","transportation"],name:"Trolleybus Station / Terminal"},"public_transport/station":{icon:"maki-rail",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{public_transport:"station"},terms:["public transit","public transportation","station","terminal","transit","transportation"],name:"Transit Station",matchScore:0.2},"public_transport/stop_area":{icon:"maki-bus",fields:["name","ref","network","operator"],geometry:["relation"],tags:{type:"public_transport",public_transport:"stop_area"},addTags:{type:"public_transport",public_transport:"stop_area","public_transport:version":"2"},removeTags:{type:"public_transport",public_transport:"stop_area","public_transport:version":"2"},reference:{key:"public_transport",value:"stop_area"},name:"Transit Stop Area"},"public_transport/stop_position_aerialway":{icon:"maki-aerialway",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",aerialway:"yes"},reference:{key:"public_transport",value:"stop_position"},terms:["aerialway","cable car","public transit","public transportation","transit","transportation"],name:"Aerialway Stopping Location"},"public_transport/stop_position_bus":{icon:"maki-bus",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",bus:"yes"},reference:{key:"public_transport",value:"stop_position"},terms:["bus","public transit","public transportation","transit","transportation"],name:"Bus Stopping Location"},"public_transport/stop_position_ferry":{icon:"maki-ferry",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",ferry:"yes"},reference:{key:"public_transport",value:"stop_position"},terms:["boat","dock","ferry","pier","public transit","public transportation","transit","transportation"],name:"Ferry Stopping Location"},"public_transport/stop_position_light_rail":{icon:"temaki-light_rail",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",light_rail:"yes"},addTags:{public_transport:"stop_position",light_rail:"yes",railway:"stop"},removeTags:{public_transport:"stop_position",light_rail:"yes",railway:"stop"},reference:{key:"railway",value:"stop"},terms:["electric","light rail","public transit","public transportation","rail","track","tram","trolley","transit","transportation"],name:"Light Rail Stopping Location"},"public_transport/stop_position_monorail":{icon:"temaki-monorail",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",monorail:"yes"},addTags:{public_transport:"stop_position",monorail:"yes",railway:"stop"},removeTags:{public_transport:"stop_position",monorail:"yes",railway:"stop"},reference:{key:"railway",value:"stop"},terms:["monorail","public transit","public transportation","rail","transit","transportation"],name:"Monorail Stopping Location"},"public_transport/stop_position_subway":{icon:"temaki-subway",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",subway:"yes"},addTags:{public_transport:"stop_position",subway:"yes",railway:"stop"},removeTags:{public_transport:"stop_position",subway:"yes",railway:"stop"},reference:{key:"railway",value:"stop"},terms:["metro","public transit","public transportation","rail","subway","track","transit","transportation","underground"],name:"Subway Stopping Location"},"public_transport/stop_position_train":{icon:"maki-rail",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",train:"yes"},addTags:{public_transport:"stop_position",train:"yes",railway:"stop"},removeTags:{public_transport:"stop_position",train:"yes",railway:"stop"},reference:{key:"railway",value:"stop"},terms:["public transit","public transportation","rail","track","train","transit","transportation"],name:"Train Stopping Location"},"public_transport/stop_position_tram":{icon:"temaki-tram",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",tram:"yes"},addTags:{public_transport:"stop_position",tram:"yes",railway:"tram_stop"},removeTags:{public_transport:"stop_position",tram:"yes",railway:"tram_stop"},reference:{key:"public_transport",value:"stop_position"},terms:["electric","light rail","public transit","public transportation","rail","streetcar","track","tram","trolley","transit","transportation"],name:"Tram Stopping Location"},"public_transport/stop_position_trolleybus":{icon:"temaki-trolleybus",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position",trolleybus:"yes"},reference:{key:"public_transport",value:"stop_position"},terms:["bus","electric","public transit","public transportation","streetcar","trackless","tram","trolley","transit","transportation"],name:"Trolleybus Stopping Location"},"public_transport/stop_position":{icon:"maki-bus",fields:["name","ref_stop_position","network","operator"],geometry:["vertex"],tags:{public_transport:"stop_position"},terms:["public transit","public transportation","transit","transportation"],name:"Transit Stopping Location",matchScore:0.2},"railway/halt":{icon:"maki-rail",geometry:["point","vertex"],tags:{railway:"halt"},terms:["break","interrupt","rest","wait","interruption"],name:"Train Station (Halt / Request)",searchable:false},"railway/platform":{icon:"iD-highway-footway",fields:["name","ref_platform","surface","lit","shelter"],geometry:["line","area"],tags:{railway:"platform"},name:"Train Stop / Platform",searchable:false},"railway/station":{icon:"maki-rail",fields:["name","network","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","vertex","area"],tags:{railway:"station"},terms:["train station","station"],name:"Train Station",searchable:false},"railway/tram_stop":{icon:"temaki-tram",fields:["name","network","operator"],geometry:["vertex"],tags:{railway:"tram_stop"},terms:["light rail","streetcar","tram","trolley"],name:"Tram Stopping Position",searchable:false},"railway/abandoned":{icon:"iD-railway-abandoned",fields:["name","structure","service_rail","usage_rail"],geometry:["line"],tags:{railway:"abandoned"},terms:[],name:"Abandoned Railway"},"railway/buffer_stop":{icon:"temaki-buffer_stop",geometry:["vertex"],tags:{railway:"buffer_stop"},terms:["stop","halt","buffer"],name:"Buffer Stop"},"railway/crossing":{icon:"maki-cross",geometry:["vertex"],tags:{railway:"crossing"},terms:["crossing","pedestrian crossing","railroad crossing","level crossing","grade crossing","path through railroad","train crossing"],name:"Railway Crossing (Path)"},"railway/derail":{icon:"maki-roadblock",geometry:["vertex"],tags:{railway:"derail"},terms:["derailer"],name:"Railway Derailer"},"railway/disused":{icon:"iD-railway-disused",fields:["structure","service_rail","usage_rail"],geometry:["line"],tags:{railway:"disused"},terms:[],name:"Disused Railway"},"railway/funicular":{icon:"iD-railway-rail",geometry:["line"],terms:["venicular","cliff railway","cable car","cable railway","funicular railway"],fields:["structure","gauge","service_rail"],tags:{railway:"funicular"},name:"Funicular"},"railway/level_crossing":{icon:"maki-cross",geometry:["vertex"],tags:{railway:"level_crossing"},terms:["crossing","railroad crossing","level crossing","grade crossing","road through railroad","train crossing"],name:"Railway Crossing (Road)"},"railway/light_rail":{icon:"iD-railway-light-rail",fields:["name","structure","gauge","electrified","service_rail","usage_rail","voltage","frequency"],geometry:["line"],tags:{railway:"light_rail"},terms:["light rail","streetcar","trolley"],name:"Light Rail"},"railway/milestone":{icon:"temaki-milestone",geometry:["point","vertex"],fields:["railway/position"],tags:{railway:"milestone"},terms:["milestone","marker"],name:"Railway Milestone"},"railway/miniature":{icon:"iD-railway-rail",geometry:["line"],tags:{railway:"miniature"},fields:["name","structure","gauge","electrified","service_rail"],terms:["rideable miniature railway","narrow gauge railway","minimum gauge railway"],name:"Miniature Railway"},"railway/monorail":{icon:"iD-railway-monorail",fields:["name","structure","electrified","service_rail","usage_rail","voltage","frequency"],geometry:["line"],tags:{railway:"monorail"},terms:[],name:"Monorail"},"railway/narrow_gauge":{icon:"iD-railway-rail",fields:["name","structure","gauge","electrified","service_rail","usage_rail","voltage","frequency"],geometry:["line"],tags:{railway:"narrow_gauge"},terms:["narrow gauge railway","narrow gauge railroad"],name:"Narrow Gauge Rail"},"railway/rail":{icon:"iD-railway-rail",fields:["name","structure","gauge","electrified","maxspeed","service_rail","usage_rail","voltage","frequency"],geometry:["line"],tags:{railway:"rail"},terms:[],name:"Rail"},"railway/signal":{icon:"temaki-railway_signals",geometry:["point","vertex"],fields:["railway/position","railway/signal/direction","ref"],tags:{railway:"signal"},terms:["signal","lights"],name:"Railway Signal"},"railway/subway_entrance":{icon:"maki-entrance",geometry:["point","vertex"],fields:["name"],tags:{railway:"subway_entrance"},terms:["metro","transit"],name:"Subway Entrance"},"railway/subway":{icon:"iD-railway-subway",fields:["name","structure","gauge","electrified","service_rail","usage_rail","voltage","frequency"],geometry:["line"],tags:{railway:"subway"},terms:["metro","transit"],name:"Subway"},"railway/switch":{icon:"temaki-junction",geometry:["vertex"],tags:{railway:"switch"},terms:["switch","points"],name:"Railway Switch"},"railway/train_wash":{icon:"maki-rail",geometry:["point","vertex","area"],fields:["operator","building_area"],tags:{railway:"wash"},terms:["wash","clean"],name:"Train Wash"},"railway/tram":{icon:"iD-railway-light-rail",fields:["name","structure","gauge","electrified","service_rail","usage_rail","voltage","frequency"],geometry:["line"],tags:{railway:"tram"},terms:["light rail","streetcar","tram","trolley"],name:"Tram"},relation:{icon:"iD-relation",fields:["name","relation"],geometry:["relation"],tags:{},name:"Relation"},"route/ferry":{icon:"iD-ferry-line",geometry:["line"],fields:["name","operator","duration","access"],tags:{route:"ferry"},name:"Ferry Route"},shop:{icon:"maki-shop",fields:["name","shop","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"*"},terms:[],name:"Shop"},"shop/fishmonger":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"fishmonger"},reference:{key:"shop",value:"seafood"},name:"Fishmonger",searchable:false},"shop/furnace":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["oven","stove"],tags:{shop:"furnace"},name:"Furnace Store",searchable:false},"shop/vacant":{icon:"maki-shop",fields:["name","address","building_area"],geometry:["point","area"],tags:{shop:"vacant"},name:"Vacant Shop",searchable:false},"shop/agrarian":{icon:"maki-shop",fields:["name","operator","agrarian","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["agricultural inputs","agricultural machines","seeds","pesticides","fertilizer","agricultural tools"],tags:{shop:"agrarian"},name:"Farm Supply Shop"},"shop/alcohol":{icon:"maki-alcohol-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],geometry:["point","area"],terms:["alcohol","beer","booze","wine"],tags:{shop:"alcohol"},name:"Liquor Store"},"shop/anime":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"anime"},terms:["manga","japan","cosplay","figurine","dakimakura"],name:"Anime Shop"},"shop/antiques":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"antiques"},name:"Antiques Shop"},"shop/appliance":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["air conditioner","appliance","dishwasher","dryer","freezer","fridge","grill","kitchen","oven","refrigerator","stove","washer","washing machine"],tags:{shop:"appliance"},name:"Appliance Store"},"shop/art":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["art*","exhibit*","gallery"],tags:{shop:"art"},name:"Art Store"},"shop/baby_goods":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"baby_goods"},name:"Baby Goods Store"},"shop/bag":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["handbag","purse"],tags:{shop:"bag"},name:"Bag/Luggage Store"},"shop/bakery":{icon:"maki-bakery",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"bakery"},name:"Bakery"},"shop/bathroom_furnishing":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"bathroom_furnishing"},name:"Bathroom Furnishing Store"},"shop/beauty":{icon:"maki-shop",fields:["name","operator","address","building_area","beauty","opening_hours","payment_multi"],geometry:["point","area"],terms:["spa","salon","tanning"],tags:{shop:"beauty"},name:"Beauty Shop"},"shop/beauty/nails":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["manicure","pedicure"],tags:{shop:"beauty",beauty:"nails"},reference:{key:"shop",value:"beauty"},name:"Nail Salon"},"shop/beauty/tanning":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"beauty",beauty:"tanning"},reference:{key:"leisure",value:"tanning_salon"},name:"Tanning Salon"},"shop/bed":{icon:"maki-lodging",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"bed"},name:"Bedding/Mattress Store"},"shop/beverages":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"beverages"},name:"Beverage Store"},"shop/bicycle":{icon:"maki-bicycle",fields:["name","operator","address","building_area","service/bicycle","opening_hours","payment_multi"],geometry:["point","area"],terms:["bike","repair"],tags:{shop:"bicycle"},name:"Bicycle Shop"},"shop/bookmaker":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["betting"],tags:{shop:"bookmaker"},name:"Bookmaker"},"shop/books":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{shop:"books"},name:"Book Store"},"shop/boutique":{icon:"maki-shop",fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"boutique"},name:"Boutique"},"shop/butcher":{icon:"maki-slaughterhouse",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["meat"],tags:{shop:"butcher"},name:"Butcher"},"shop/candles":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"candles"},name:"Candle Shop"},"shop/car_parts":{icon:"maki-car",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["auto"],tags:{shop:"car_parts"},name:"Car Parts Store"},"shop/car_repair":{icon:"maki-car",fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],geometry:["point","area"],terms:["auto","garage","service"],tags:{shop:"car_repair"},name:"Car Repair Shop"},"shop/car":{icon:"maki-car",fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],geometry:["point","area"],terms:["auto"],tags:{shop:"car"},name:"Car Dealership"},"shop/carpet":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["rug"],tags:{shop:"carpet"},name:"Carpet Store"},"shop/charity":{icon:"maki-shop",fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],geometry:["point","area"],terms:["thrift","op shop","nonprofit"],tags:{shop:"charity"},name:"Charity Store"},"shop/cheese":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"cheese"},name:"Cheese Store"},"shop/chemist":{icon:"maki-grocery",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"chemist"},terms:["med*","drug*","gift"],name:"Drugstore"},"shop/chocolate":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"chocolate"},name:"Chocolate Store"},"shop/clothes":{icon:"maki-clothing-store",fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"clothes"},name:"Clothing Store"},"shop/coffee":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"coffee"},name:"Coffee Store"},"shop/computer":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"computer"},name:"Computer Store"},"shop/confectionery":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["sweet"],tags:{shop:"confectionery"},name:"Candy Store"},"shop/convenience":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"convenience"},name:"Convenience Store"},"shop/copyshop":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"copyshop"},name:"Copy Store"},"shop/cosmetics":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"cosmetics"},name:"Cosmetics Store"},"shop/craft":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"craft"},terms:["art*","paint*","frame"],name:"Arts and Crafts Store"},"shop/curtain":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["drape*","window"],tags:{shop:"curtain"},name:"Curtain Store"},"shop/dairy":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["milk","egg","cheese"],tags:{shop:"dairy"},name:"Dairy Store"},"shop/deli":{icon:"maki-restaurant",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["lunch","meat","sandwich"],tags:{shop:"deli"},name:"Deli"},"shop/department_store":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"department_store"},name:"Department Store"},"shop/doityourself":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"doityourself"},name:"DIY Store"},"shop/dry_cleaning":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"dry_cleaning"},name:"Dry Cleaner"},"shop/e-cigarette":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"e-cigarette"},terms:["electronic","vapor"],name:"E-Cigarette Shop"},"shop/electronics":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["appliance","audio","blueray","camera","computer","dvd","home theater","radio","speaker","tv","video"],tags:{shop:"electronics"},name:"Electronics Store"},"shop/erotic":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["sex","porn"],tags:{shop:"erotic"},name:"Erotic Store"},"shop/fabric":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["sew"],tags:{shop:"fabric"},name:"Fabric Store"},"shop/farm":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["farm shop","farm stand"],tags:{shop:"farm"},name:"Produce Stand"},"shop/fashion":{icon:"maki-shop",fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"fashion"},name:"Fashion Store"},"shop/florist":{icon:"maki-florist",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["flower"],tags:{shop:"florist"},name:"Florist"},"shop/frame":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"frame"},terms:["art*","paint*","photo*","frame"],name:"Framing Shop"},"shop/funeral_directors":{icon:"maki-cemetery",fields:["name","operator","address","building_area","religion","denomination"],geometry:["point","area"],terms:["undertaker","memorial home"],tags:{shop:"funeral_directors"},name:"Funeral Home"},"shop/furniture":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["chair","sofa","table"],tags:{shop:"furniture"},name:"Furniture Store"},"shop/garden_centre":{icon:"maki-garden-center",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["landscape","mulch","shrub","tree"],tags:{shop:"garden_centre"},name:"Garden Center"},"shop/gas":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["cng","lpg","natural gas","propane","refill","tank"],tags:{shop:"gas"},name:"Bottled Gas Shop"},"shop/gift":{icon:"maki-gift",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["souvenir"],tags:{shop:"gift"},name:"Gift Shop"},"shop/greengrocer":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["fruit","vegetable"],tags:{shop:"greengrocer"},name:"Greengrocer"},"shop/hairdresser":{icon:"maki-hairdresser",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["barber"],tags:{shop:"hairdresser"},name:"Hairdresser"},"shop/hardware":{icon:"temaki-tools",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"hardware"},name:"Hardware Store"},"shop/health_food":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["wholefood","vitamins","vegetarian","vegan"],tags:{shop:"health_food"},name:"Health Food Shop"},"shop/hearing_aids":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"hearing_aids"},name:"Hearing Aids Store"},"shop/herbalist":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"herbalist"},name:"Herbalist"},"shop/hifi":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["stereo","video"],tags:{shop:"hifi"},name:"Hifi Store"},"shop/houseware":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["home","household"],tags:{shop:"houseware"},name:"Houseware Store"},"shop/interior_decoration":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"interior_decoration"},name:"Interior Decoration Store"},"shop/jewelry":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["diamond","gem","ring"],tags:{shop:"jewelry"},name:"Jeweler"},"shop/kiosk":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"kiosk"},name:"Kiosk"},"shop/kitchen":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"kitchen"},name:"Kitchen Design Store"},"shop/laundry":{icon:"maki-laundry",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"laundry"},name:"Laundry"},"shop/leather":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"leather"},name:"Leather Store"},"shop/locksmith":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["key","lockpick"],tags:{shop:"locksmith"},name:"Locksmith"},"shop/lottery":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"lottery"},name:"Lottery Shop"},"shop/mall":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["shopping"],tags:{shop:"mall"},name:"Mall"},"shop/massage":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"massage"},name:"Massage Shop"},"shop/medical_supply":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"medical_supply"},name:"Medical Supply Store"},"shop/mobile_phone":{icon:"maki-mobile-phone",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"mobile_phone"},name:"Mobile Phone Store"},"shop/money_lender":{icon:"maki-bank",fields:["name","operator","address","building_area","opening_hours","currency_multi"],geometry:["point","area"],tags:{shop:"money_lender"},name:"Money Lender"},"shop/motorcycle_repair":{icon:"fas-motorcycle",fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],geometry:["point","area"],terms:["auto","bike","garage","motorcycle","repair","service"],tags:{shop:"motorcycle_repair"},name:"Motorcycle Repair Shop"},"shop/motorcycle":{icon:"fas-motorcycle",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["bike"],tags:{shop:"motorcycle"},name:"Motorcycle Dealership"},"shop/music":{icon:"maki-music",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["CD","vinyl"],tags:{shop:"music"},name:"Music Store"},"shop/musical_instrument":{icon:"maki-music",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["guitar"],tags:{shop:"musical_instrument"},name:"Musical Instrument Store"},"shop/newsagent":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"newsagent"},name:"Newspaper/Magazine Shop"},"shop/nutrition_supplements":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"nutrition_supplements"},name:"Nutrition Supplements Store"},"shop/optician":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["eye","glasses"],tags:{shop:"optician"},name:"Optician"},"shop/organic":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"supermarket",organic:"only"},name:"Organic Goods Store"},"shop/outdoor":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["camping","climbing","hiking"],tags:{shop:"outdoor"},name:"Outdoors Store"},"shop/paint":{icon:"maki-water",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"paint"},name:"Paint Store"},"shop/pastry":{icon:"maki-bakery",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"pastry"},terms:["patisserie","cake shop","cakery"],name:"Pastry Shop"},"shop/pawnbroker":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"pawnbroker"},name:"Pawn Shop"},"shop/perfumery":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"perfumery"},name:"Perfume Store"},"shop/pet_grooming":{icon:"maki-dog-park",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["dog"],tags:{shop:"pet_grooming"},name:"Pet Grooming Store"},"shop/pet":{icon:"maki-dog-park",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["animal","cat","dog","fish","kitten","puppy","reptile"],tags:{shop:"pet"},name:"Pet Store"},"shop/photo":{icon:"maki-attraction",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["camera","film"],tags:{shop:"photo"},name:"Photography Store"},"shop/pyrotechnics":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"pyrotechnics"},name:"Fireworks Store"},"shop/radiotechnics":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"radiotechnics"},name:"Radio/Electronic Component Store"},"shop/religion":{icon:"maki-shop",fields:["name","operator","address","building_area","religion","denomination","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"religion"},name:"Religious Store"},"shop/scuba_diving":{icon:"maki-swimming",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"scuba_diving"},name:"Scuba Diving Shop"},"shop/seafood":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["fishmonger"],tags:{shop:"seafood"},name:"Seafood Shop"},"shop/second_hand":{icon:"maki-shop",fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],geometry:["point","area"],terms:["secondhand","second hand","resale","thrift","used"],tags:{shop:"second_hand"},name:"Consignment/Thrift Store"},"shop/shoes":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"shoes"},name:"Shoe Store"},"shop/sports":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"sports"},name:"Sporting Goods Store"},"shop/stationery":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["card","paper"],tags:{shop:"stationery"},name:"Stationery Store"},"shop/storage_rental":{icon:"maki-shop",fields:["name","operator","address","building","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"storage_rental"},name:"Storage Rental"},"shop/supermarket":{icon:"maki-grocery",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["grocery","store","shop"],tags:{shop:"supermarket"},name:"Supermarket"},"shop/tailor":{icon:"maki-clothing-store",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["clothes","suit"],tags:{shop:"tailor"},name:"Tailor"},"shop/tattoo":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"tattoo"},name:"Tattoo Parlor"},"shop/tea":{icon:"maki-teahouse",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"tea"},name:"Tea Store"},"shop/ticket":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"ticket"},name:"Ticket Seller"},"shop/tiles":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"tiles"},name:"Tile Shop"},"shop/tobacco":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"tobacco"},name:"Tobacco Shop"},"shop/toys":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"toys"},name:"Toy Store"},"shop/trade":{icon:"maki-shop",fields:["name","trade","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"trade"},name:"Trade Shop"},"shop/travel_agency":{icon:"maki-suitcase",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"travel_agency"},name:"Travel Agency"},"shop/tyres":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"tyres"},name:"Tire Store"},"shop/vacuum_cleaner":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"vacuum_cleaner"},name:"Vacuum Cleaner Store"},"shop/variety_store":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"variety_store"},name:"Variety Store"},"shop/video_games":{icon:"maki-gaming",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"video_games"},name:"Video Game Store"},"shop/video":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["DVD"],tags:{shop:"video"},name:"Video Store"},"shop/watches":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"watches"},name:"Watches Shop"},"shop/water_sports":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"water_sports"},name:"Watersport/Swim Shop"},"shop/weapons":{icon:"maki-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["ammo","gun","knife","knives"],tags:{shop:"weapons"},name:"Weapon Shop"},"shop/wholesale":{icon:"maki-warehouse",fields:["name","operator","wholesale","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],terms:["warehouse club","cash and carry"],tags:{shop:"wholesale"},name:"Wholesale Store"},"shop/window_blind":{icon:"temaki-window",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"window_blind"},name:"Window Blind Store"},"shop/wine":{icon:"maki-alcohol-shop",fields:["name","operator","address","building_area","opening_hours","payment_multi"],geometry:["point","area"],tags:{shop:"wine"},name:"Wine Shop"},tourism:{icon:"maki-attraction",fields:["name","tourism"],geometry:["point","vertex","area"],tags:{tourism:"*"},name:"Tourism"},"tourism/alpine_hut":{icon:"maki-lodging",fields:["name","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],terms:["climbing hut"],tags:{tourism:"alpine_hut"},name:"Alpine Hut"},"tourism/apartment":{icon:"maki-lodging",fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{tourism:"apartment"},name:"Guest Apartment / Condo"},"tourism/aquarium":{icon:"maki-aquarium",fields:["name","operator","address","building_area","opening_hours"],geometry:["point","area"],terms:["fish","sea","water"],tags:{tourism:"aquarium"},name:"Aquarium"},"tourism/artwork":{icon:"maki-art-gallery",fields:["name","artwork_type","artist"],geometry:["point","vertex","area"],tags:{tourism:"artwork"},terms:["mural","sculpture","statue"],name:"Artwork"},"tourism/attraction":{icon:"maki-star",fields:["name","operator","address"],geometry:["point","vertex","area"],tags:{tourism:"attraction"},name:"Tourist Attraction"},"tourism/camp_site":{icon:"maki-campsite",fields:["name","operator","address","capacity","fee","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","vertex","area"],terms:["tent","rv"],tags:{tourism:"camp_site"},name:"Campground"},"tourism/caravan_site":{icon:"maki-bus",fields:["name","operator","address","capacity","fee","sanitary_dump_station","power_supply","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","vertex","area"],terms:["Motor Home","Camper"],tags:{tourism:"caravan_site"},name:"RV Park"},"tourism/chalet":{icon:"maki-lodging",fields:["name","operator","address","building_area","smoking","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],terms:["holiday","holiday cottage","holiday home","vacation","vacation home"],tags:{tourism:"chalet"},name:"Holiday Cottage"},"tourism/gallery":{icon:"maki-art-gallery",fields:["name","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:"maki-lodging",fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{tourism:"guest_house"},terms:["B&B","Bed and Breakfast"],name:"Guest House"},"tourism/hostel":{icon:"maki-lodging",fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{tourism:"hostel"},name:"Hostel"},"tourism/hotel":{icon:"maki-lodging",fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{tourism:"hotel"},name:"Hotel"},"tourism/information":{icon:"maki-information",fields:["information","operator","address","building_area"],geometry:["point","vertex","area"],tags:{tourism:"information"},name:"Information"},"tourism/information/board":{icon:"maki-information",fields:["name","operator","board_type","direction"],geometry:["point","vertex"],tags:{tourism:"information",information:"board"},reference:{key:"information",value:"board"},name:"Information Board"},"tourism/information/guidepost":{icon:"maki-information",fields:["name","elevation","operator","ref"],geometry:["point","vertex"],terms:["signpost"],tags:{tourism:"information",information:"guidepost"},reference:{key:"information",value:"guidepost"},name:"Guidepost"},"tourism/information/map":{icon:"maki-information",fields:["operator","map_type","map_size","direction"],geometry:["point","vertex"],tags:{tourism:"information",information:"map"},reference:{key:"information",value:"map"},name:"Map"},"tourism/information/office":{icon:"maki-information",fields:["name","operator","address","building_area"],geometry:["point","vertex","area"],tags:{tourism:"information",information:"office"},reference:{key:"information",value:"office"},name:"Tourist Information Office"},"tourism/motel":{icon:"maki-lodging",fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],geometry:["point","area"],tags:{tourism:"motel"},name:"Motel"},"tourism/museum":{icon:"maki-museum",fields:["name","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:"maki-picnic-site",fields:["name","operator","address","smoking"],geometry:["point","vertex","area"],terms:["camp"],tags:{tourism:"picnic_site"},name:"Picnic Site"},"tourism/theme_park":{icon:"maki-amusement-park",fields:["name","operator","address","opening_hours"],geometry:["point","area"],tags:{tourism:"theme_park"},name:"Theme Park"},"tourism/trail_riding_station":{icon:"maki-horse-riding",fields:["name","horse_stables","horse_riding","horse_dressage","address","phone","website","description"],geometry:["point","area"],tags:{tourism:"trail_riding_station"},name:"Trail Riding Station",matchScore:2},"tourism/viewpoint":{icon:"temaki-binoculars",geometry:["point","vertex"],fields:["direction"],tags:{tourism:"viewpoint"},name:"Viewpoint"},"tourism/wilderness_hut":{icon:"maki-lodging",fields:["name","operator","address","building_area"],geometry:["point","area"],terms:["wilderness hut","backcountry hut","bothy"],tags:{tourism:"wilderness_hut"},name:"Wilderness Hut"},"tourism/zoo":{icon:"maki-zoo",fields:["name","operator","address","opening_hours"],geometry:["point","area"],terms:["animal"],tags:{tourism:"zoo"},name:"Zoo"},traffic_calming:{icon:"temaki-diamond",fields:["traffic_calming","direction_vertex"],geometry:["vertex","line"],tags:{traffic_calming:"*"},terms:["bump","hump","slow","speed"],name:"Traffic Calming"},"traffic_calming/bump":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line"],terms:["hump","speed","slow"],tags:{traffic_calming:"bump"},name:"Speed Bump"},"traffic_calming/chicane":{icon:"temaki-diamond",fields:["direction_vertex"],geometry:["vertex","line"],terms:["driveway link","speed","slow"],tags:{traffic_calming:"chicane"},name:"Traffic Chicane"},"traffic_calming/choker":{icon:"temaki-diamond",fields:["direction_vertex"],geometry:["vertex","line"],terms:["speed","slow"],tags:{traffic_calming:"choker"},name:"Traffic Choker"},"traffic_calming/cushion":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line"],terms:["bump","hump","speed","slow"],tags:{traffic_calming:"cushion"},name:"Speed Cushion"},"traffic_calming/dip":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line"],terms:["speed","slow"],tags:{traffic_calming:"dip"},name:"Dip"},"traffic_calming/hump":{icon:"temaki-diamond",fields:["surface","direction_vertex"],geometry:["vertex","line"],terms:["bump","speed","slow"],tags:{traffic_calming:"hump"},name:"Speed Hump"},"traffic_calming/island":{icon:"temaki-diamond",geometry:["vertex"],terms:["circle","roundabout","slow"],tags:{traffic_calming:"island"},name:"Traffic Island"},"traffic_calming/rumble_strip":{icon:"temaki-diamond",fields:["direction_vertex"],geometry:["vertex","line"],terms:["audible lines","sleeper lines","growlers"],tags:{traffic_calming:"rumble_strip"},name:"Rumble Strip"},"traffic_calming/table":{icon:"temaki-diamond",fields:["surface"],geometry:["vertex"],tags:{traffic_calming:"table"},terms:["flat top","hump","speed","slow"],name:"Speed Table"},"type/multipolygon":{icon:"iD-multipolygon",geometry:["area","relation"],tags:{type:"multipolygon"},removeTags:{},name:"Multipolygon",searchable:false,matchScore:0.1},"type/boundary":{icon:"iD-boundary",fields:["name","boundary"],geometry:["relation"],tags:{type:"boundary"},name:"Boundary"},"type/boundary/administrative":{icon:"iD-boundary",fields:["name","admin_level"],geometry:["relation"],tags:{type:"boundary",boundary:"administrative"},reference:{key:"boundary",value:"administrative"},name:"Administrative Boundary"},"type/restriction":{icon:"iD-restriction",fields:["name","restriction","except"],geometry:["relation"],tags:{type:"restriction"},name:"Restriction"},"type/restriction/no_left_turn":{icon:"iD-restriction-no-left-turn",fields:["except"],geometry:["relation"],tags:{type:"restriction",restriction:"no_left_turn"},name:"No Left Turn"},"type/restriction/no_right_turn":{icon:"iD-restriction-no-right-turn",fields:["except"],geometry:["relation"],tags:{type:"restriction",restriction:"no_right_turn"},name:"No Right Turn"},"type/restriction/no_straight_on":{icon:"iD-restriction-no-straight-on",fields:["except"],geometry:["relation"],tags:{type:"restriction",restriction:"no_straight_on"},name:"No Straight On"},"type/restriction/no_u_turn":{icon:"iD-restriction-no-u-turn",fields:["except"],geometry:["relation"],tags:{type:"restriction",restriction:"no_u_turn"},name:"No U-turn"},"type/restriction/only_left_turn":{icon:"iD-restriction-only-left-turn",fields:["except"],geometry:["relation"],tags:{type:"restriction",restriction:"only_left_turn"},name:"Only Left Turn"},"type/restriction/only_right_turn":{icon:"iD-restriction-only-right-turn",fields:["except"],geometry:["relation"],tags:{type:"restriction",restriction:"only_right_turn"},name:"Only Right Turn"},"type/restriction/only_straight_on":{icon:"iD-restriction-only-straight-on",fields:["except"],geometry:["relation"],tags:{type:"restriction",restriction:"only_straight_on"},name:"Only Straight On"},"type/restriction/only_u_turn":{icon:"iD-restriction-only-u-turn",fields:["except"],geometry:["relation"],tags:{type:"restriction",restriction:"only_u_turn"},name:"Only U-turn"},"type/route_master":{icon:"iD-route-master",fields:["name","route_master","ref","operator","network"],geometry:["relation"],tags:{type:"route_master"},name:"Route Master"},"type/route":{icon:"iD-route",fields:["name","route","ref_route","operator","network"],geometry:["relation"],tags:{type:"route"},name:"Route"},"type/route/bicycle":{icon:"iD-route-bicycle",fields:["name","ref_route","network_bicycle","cycle_network"],geometry:["relation"],tags:{type:"route",route:"bicycle"},name:"Cycle Route"},"type/route/bus":{icon:"iD-route-bus",fields:["name","ref_route","operator","network"],geometry:["relation"],tags:{type:"route",route:"bus"},name:"Bus Route"},"type/route/detour":{icon:"iD-route-detour",fields:["name","ref_route"],geometry:["relation"],tags:{type:"route",route:"detour"},name:"Detour Route"},"type/route/ferry":{icon:"iD-route-ferry",fields:["name","ref_route","operator","network"],geometry:["relation"],tags:{type:"route",route:"ferry"},name:"Ferry Route"},"type/route/foot":{icon:"iD-route-foot",fields:["name","ref_route","operator","network_foot"],geometry:["relation"],tags:{type:"route",route:"foot"},name:"Foot Route"},"type/route/hiking":{icon:"iD-route-foot",fields:["name","ref_route","operator","network_foot","description","distance"],geometry:["relation"],tags:{type:"route",route:"hiking"},name:"Hiking Route"},"type/route/horse":{icon:"iD-route-horse",fields:["name","ref_route","operator","network_horse","description","distance"],geometry:["relation"],tags:{type:"route",route:"horse"},name:"Riding Route"},"type/route/light_rail":{icon:"iD-route-light-rail",fields:["name","ref_route","operator","network"],geometry:["relation"],tags:{type:"route",route:"light_rail"},name:"Light Rail Route"},"type/route/pipeline":{icon:"iD-route-pipeline",fields:["name","ref_route","operator"],geometry:["relation"],tags:{type:"route",route:"pipeline"},name:"Pipeline Route"},"type/route/piste":{icon:"iD-route-piste",fields:["name","ref_route","operator","network"],geometry:["relation"],tags:{type:"route",route:"piste"},name:"Piste/Ski Route"},"type/route/power":{icon:"iD-route-power",fields:["name","ref_route","operator"],geometry:["relation"],tags:{type:"route",route:"power"},name:"Power Route"},"type/route/road":{icon:"iD-route-road",fields:["name","ref_route","network_road"],geometry:["relation"],tags:{type:"route",route:"road"},name:"Road Route"},"type/route/subway":{icon:"iD-route-subway",fields:["name","ref_route","operator","network"],geometry:["relation"],tags:{type:"route",route:"subway"},name:"Subway Route"},"type/route/train":{icon:"iD-route-train",fields:["name","ref_route","operator","network"],geometry:["relation"],tags:{type:"route",route:"train"},name:"Train Route"},"type/route/tram":{icon:"iD-route-tram",fields:["name","ref_route","operator","network"],geometry:["relation"],tags:{type:"route",route:"tram"},name:"Tram Route"},"type/site":{icon:"iD-relation",fields:["name","site"],geometry:["relation"],tags:{type:"site"},name:"Site"},"type/waterway":{icon:"iD-route-water",fields:["name","waterway","ref"],geometry:["relation"],tags:{type:"waterway"},name:"Waterway"},vertex:{fields:["name"],geometry:["vertex"],tags:{},name:"Other",matchScore:0.1},"waterway/boatyard":{icon:"maki-harbor",fields:["name","operator"],geometry:["area","vertex","point"],tags:{waterway:"boatyard"},name:"Boatyard"},"waterway/canal":{icon:"iD-waterway-canal",fields:["name","width","intermittent"],geometry:["line"],tags:{waterway:"canal"},name:"Canal"},"waterway/dam":{icon:"maki-dam",geometry:["point","vertex","line","area"],fields:["name"],tags:{waterway:"dam"},name:"Dam"},"waterway/ditch":{icon:"iD-waterway-ditch",fields:["structure_waterway","intermittent"],geometry:["line"],tags:{waterway:"ditch"},name:"Ditch"},"waterway/dock":{icon:"maki-harbor",fields:["name","dock","operator"],geometry:["area","vertex","point"],terms:["boat","ship","vessel","marine"],tags:{waterway:"dock"},name:"Wet Dock / Dry Dock"},"waterway/drain":{icon:"iD-waterway-ditch",fields:["structure_waterway","intermittent"],geometry:["line"],tags:{waterway:"drain"},name:"Drain"},"waterway/fuel":{icon:"maki-fuel",fields:["name","operator","address","opening_hours","fuel_multi"],geometry:["point","area"],terms:["petrol","gas","diesel","boat"],tags:{waterway:"fuel"},name:"Marine Fuel Station"},"waterway/river":{icon:"iD-waterway-river",fields:["name","structure_waterway","width","intermittent"],geometry:["line"],terms:["beck","branch","brook","course","creek","estuary","rill","rivulet","run","runnel","stream","tributary","watercourse"],tags:{waterway:"river"},name:"River"},"waterway/riverbank":{icon:"maki-water",geometry:["area"],tags:{waterway:"riverbank"},name:"Riverbank"},"waterway/sanitary_dump_station":{icon:"temaki-storage_tank",fields:["name","operator","access_simple","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_intermittent":{icon:"iD-waterway-stream",fields:["name","structure_waterway","width","intermittent"],geometry:["line"],terms:["arroyo","beck","branch","brook","burn","course","creek","drift","flood","flow","gully","run","runnel","rush","spate","spritz","tributary","wadi","wash","watercourse"],tags:{waterway:"stream",intermittent:"yes"},reference:{key:"waterway",value:"stream"},name:"Intermittent Stream"},"waterway/stream":{icon:"iD-waterway-stream",fields:["name","structure_waterway","width","intermittent"],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:"maki-drinking-water",geometry:["area","vertex","point"],tags:{waterway:"water_point"},name:"Marine Drinking Water"},"waterway/waterfall":{icon:"maki-water",fields:["name","height","width","intermittent"],geometry:["vertex"],terms:["fall"],tags:{waterway:"waterfall"},name:"Waterfall"},"waterway/weir":{icon:"maki-dam",geometry:["vertex","line"],tags:{waterway:"weir"},name:"Weir"},"amenity/arts_centre/Świetlica wiejska":{tags:{name:"Świetlica wiejska",amenity:"arts_centre"},name:"Świetlica wiejska",icon:"maki-theatre",geometry:["point","area"],fields:["name","address","building_area","opening_hours"],suggestion:true},"amenity/arts_centre/Дом культуры":{tags:{name:"Дом культуры",amenity:"arts_centre"},name:"Дом культуры",icon:"maki-theatre",geometry:["point","area"],fields:["name","address","building_area","opening_hours"],suggestion:true},"amenity/bank/ABANCA":{tags:{name:"ABANCA",amenity:"bank"},name:"ABANCA",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ABSA":{tags:{name:"ABSA",amenity:"bank"},name:"ABSA",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/AIB":{tags:{name:"AIB",amenity:"bank"},name:"AIB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ANZ":{tags:{name:"ANZ",amenity:"bank"},name:"ANZ",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/AXA":{tags:{name:"AXA",amenity:"bank"},name:"AXA",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Agribank":{tags:{name:"Agribank",amenity:"bank"},name:"Agribank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Akbank":{tags:{name:"Akbank",amenity:"bank"},name:"Akbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Allahabad Bank":{tags:{name:"Allahabad Bank",amenity:"bank"},name:"Allahabad Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Allied Bank":{tags:{name:"Allied Bank",amenity:"bank"},name:"Allied Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Antonveneta":{tags:{name:"Antonveneta",amenity:"bank"},name:"Antonveneta",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Argenta":{tags:{name:"Argenta",amenity:"bank"},name:"Argenta",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Asia United Bank":{tags:{name:"Asia United Bank",amenity:"bank"},name:"Asia United Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Askari Bank":{tags:{name:"Askari Bank",amenity:"bank"},name:"Askari Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Associated Bank":{tags:{name:"Associated Bank",amenity:"bank"},name:"Associated Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BAC":{tags:{name:"BAC",amenity:"bank"},name:"BAC",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BBBank":{tags:{name:"BBBank",amenity:"bank"},name:"BBBank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BBK":{tags:{name:"BBK",amenity:"bank"},name:"BBK",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BBVA":{tags:{name:"BBVA",amenity:"bank"},name:"BBVA",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BBVA Continental":{tags:{name:"BBVA Continental",amenity:"bank"},name:"BBVA Continental",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BCA":{tags:{name:"BCA",amenity:"bank"},name:"BCA",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BCI":{tags:{name:"BCI",amenity:"bank"},name:"BCI",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BCP":{tags:{name:"BCP",amenity:"bank"},name:"BCP",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BCR":{tags:{name:"BCR",amenity:"bank"},name:"BCR",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BDO":{tags:{name:"BDO",amenity:"bank"},name:"BDO",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BGŻ BNP Paribas":{tags:{name:"BGŻ BNP Paribas",amenity:"bank"},name:"BGŻ BNP Paribas",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BMCE":{tags:{name:"BMCE",amenity:"bank"},name:"BMCE",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BMN":{tags:{name:"BMN",amenity:"bank"},name:"BMN",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BMO":{tags:{name:"BMO",amenity:"bank"},name:"BMO",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BMO Harris Bank":{tags:{name:"BMO Harris Bank",amenity:"bank"},name:"BMO Harris Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BNA":{tags:{name:"BNA",amenity:"bank"},name:"BNA",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BNI":{tags:{name:"BNI",amenity:"bank"},name:"BNI",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BNL":{tags:{name:"BNL",amenity:"bank"},name:"BNL",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BOC":{tags:{name:"BOC",amenity:"bank"},name:"BOC",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BPH":{tags:{name:"BPH",amenity:"bank"},name:"BPH",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BPI":{tags:{name:"BPI",amenity:"bank"},name:"BPI",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BPI Family Savings Bank":{tags:{name:"BPI Family Savings Bank",amenity:"bank"},name:"BPI Family Savings Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BRD":{tags:{name:"BRD",amenity:"bank"},name:"BRD",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BRED":{tags:{name:"BRED",amenity:"bank"},name:"BRED",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BRI":{tags:{name:"BRI",amenity:"bank"},name:"BRI",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banamex":{tags:{name:"Banamex",amenity:"bank"},name:"Banamex",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banca Sella":{tags:{name:"Banca Sella",amenity:"bank"},name:"Banca Sella",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banco Agrario":{tags:{name:"Banco Agrario",amenity:"bank"},name:"Banco Agrario",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banco Continental":{tags:{name:"Banco Continental",amenity:"bank"},name:"Banco Continental",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banco Fassil":{tags:{name:"Banco Fassil",amenity:"bank"},name:"Banco Fassil",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banco General":{tags:{name:"Banco General",amenity:"bank"},name:"Banco General",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banco Internacional":{tags:{name:"Banco Internacional",amenity:"bank"},name:"Banco Internacional",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banco Sol":{tags:{name:"Banco Sol",amenity:"bank"},name:"Banco Sol",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banco do Nordeste":{tags:{name:"Banco do Nordeste",amenity:"bank"},name:"Banco do Nordeste",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/BancoEstado":{tags:{name:"BancoEstado",amenity:"bank"},name:"BancoEstado",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bancolombia":{tags:{name:"Bancolombia",amenity:"bank"},name:"Bancolombia",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bancomer":{tags:{name:"Bancomer",amenity:"bank"},name:"Bancomer",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bancpost":{tags:{name:"Bancpost",amenity:"bank"},name:"Bancpost",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banesco":{tags:{name:"Banesco",amenity:"bank"},name:"Banesco",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bank Al Habib":{tags:{name:"Bank Al Habib",amenity:"bank"},name:"Bank Al Habib",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bank Alfalah":{tags:{name:"Bank Alfalah",amenity:"bank"},name:"Bank Alfalah",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bank BCA":{tags:{name:"Bank BCA",amenity:"bank"},name:"Bank BCA",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bank BNI":{tags:{name:"Bank BNI",amenity:"bank"},name:"Bank BNI",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bank Danamon":{tags:{name:"Bank Danamon",amenity:"bank"},name:"Bank Danamon",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bank Mega":{tags:{name:"Bank Mega",amenity:"bank"},name:"Bank Mega",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bank of Ceylon":{tags:{name:"Bank of Ceylon",amenity:"bank"},name:"Bank of Ceylon",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bankia":{tags:{name:"Bankia",amenity:"bank"},name:"Bankia",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bankinter":{tags:{name:"Bankinter",amenity:"bank"},name:"Bankinter",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banner Bank":{tags:{name:"Banner Bank",amenity:"bank"},name:"Banner Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banorte":{tags:{name:"Banorte",amenity:"bank"},name:"Banorte",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banque Atlantique":{tags:{name:"Banque Atlantique",amenity:"bank"},name:"Banque Atlantique",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banrisul":{tags:{name:"Banrisul",amenity:"bank"},name:"Banrisul",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Banrural":{tags:{name:"Banrural",amenity:"bank"},name:"Banrural",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Barclays":{tags:{name:"Barclays",amenity:"bank"},name:"Barclays",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bcc":{tags:{name:"Bcc",amenity:"bank"},name:"Bcc",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Belfius":{tags:{name:"Belfius",amenity:"bank"},name:"Belfius",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bicentenario":{tags:{name:"Bicentenario",amenity:"bank"},name:"Bicentenario",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Bradesco":{tags:{name:"Bradesco",amenity:"bank"},name:"Bradesco",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CBAO":{tags:{name:"CBAO",amenity:"bank"},name:"CBAO",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CGD":{tags:{name:"CGD",amenity:"bank"},name:"CGD",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CIBC":{tags:{name:"CIBC",amenity:"bank"},name:"CIBC",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CIC":{tags:{name:"CIC",amenity:"bank"},name:"CIC",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CIMB Bank":{tags:{name:"CIMB Bank",amenity:"bank"},name:"CIMB Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CNEP":{tags:{name:"CNEP",amenity:"bank"},name:"CNEP",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Caisse Desjardins":{tags:{name:"Caisse Desjardins",amenity:"bank"},name:"Caisse Desjardins",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Caixa":{tags:{name:"Caixa",amenity:"bank"},name:"Caixa",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CaixaBank":{tags:{name:"CaixaBank",amenity:"bank"},name:"CaixaBank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CajaSur":{tags:{name:"CajaSur",amenity:"bank"},name:"CajaSur",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Cajamar":{tags:{name:"Cajamar",amenity:"bank"},name:"Cajamar",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Carige":{tags:{name:"Carige",amenity:"bank"},name:"Carige",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Cariparma":{tags:{name:"Cariparma",amenity:"bank"},name:"Cariparma",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/CatalunyaCaixa":{tags:{name:"CatalunyaCaixa",amenity:"bank"},name:"CatalunyaCaixa",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Central Bank of India":{tags:{name:"Central Bank of India",amenity:"bank"},name:"Central Bank of India",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Chase":{tags:{name:"Chase",amenity:"bank"},name:"Chase",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/China Bank Savings":{tags:{name:"China Bank Savings",amenity:"bank"},name:"China Bank Savings",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/China Construction Bank":{tags:{name:"China Construction Bank",amenity:"bank"},name:"China Construction Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Citibank":{tags:{name:"Citibank",amenity:"bank"},name:"Citibank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Columbia Bank":{tags:{name:"Columbia Bank",amenity:"bank"},name:"Columbia Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Commerce Bank":{tags:{name:"Commerce Bank",amenity:"bank"},name:"Commerce Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Commerzbank":{tags:{name:"Commerzbank",amenity:"bank"},name:"Commerzbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Credem":{tags:{name:"Credem",amenity:"bank"},name:"Credem",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Credicoop":{tags:{name:"Credicoop",amenity:"bank"},name:"Credicoop",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Crelan":{tags:{name:"Crelan",amenity:"bank"},name:"Crelan",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Cбербанк":{tags:{name:"Cбербанк",amenity:"bank"},name:"Cбербанк",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Davivienda":{tags:{name:"Davivienda",amenity:"bank"},name:"Davivienda",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Denizbank":{tags:{name:"Denizbank",amenity:"bank"},name:"Denizbank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Desjardins":{tags:{name:"Desjardins",amenity:"bank"},name:"Desjardins",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Dubai Islamic Bank":{tags:{name:"Dubai Islamic Bank",amenity:"bank"},name:"Dubai Islamic Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Ecobank":{tags:{name:"Ecobank",amenity:"bank"},name:"Ecobank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Eurobank":{tags:{name:"Eurobank",amenity:"bank"},name:"Eurobank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Express Union":{tags:{name:"Express Union",amenity:"bank"},name:"Express Union",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/FNB":{tags:{name:"FNB",amenity:"bank"},name:"FNB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Federal Bank":{tags:{name:"Federal Bank",amenity:"bank"},name:"Federal Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Finansbank":{tags:{name:"Finansbank",amenity:"bank"},name:"Finansbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Galicia":{tags:{name:"Galicia",amenity:"bank"},name:"Galicia",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Garanti":{tags:{name:"Garanti",amenity:"bank"},name:"Garanti",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Groupama":{tags:{name:"Groupama",amenity:"bank"},name:"Groupama",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/HNB":{tags:{name:"HNB",amenity:"bank"},name:"HNB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/HSBC":{tags:{name:"HSBC",amenity:"bank"},name:"HSBC",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Halifax":{tags:{name:"Halifax",amenity:"bank"},name:"Halifax",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Halkbank":{tags:{name:"Halkbank",amenity:"bank"},name:"Halkbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Handelsbanken":{tags:{name:"Handelsbanken",amenity:"bank"},name:"Handelsbanken",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Hong Leong Bank":{tags:{name:"Hong Leong Bank",amenity:"bank"},name:"Hong Leong Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/HypoVereinsbank":{tags:{name:"HypoVereinsbank",amenity:"bank"},name:"HypoVereinsbank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ICBC":{tags:{name:"ICBC",amenity:"bank"},name:"ICBC",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/IDBI Bank":{tags:{name:"IDBI Bank",amenity:"bank"},name:"IDBI Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ING":{tags:{name:"ING",amenity:"bank"},name:"ING",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/IberCaja":{tags:{name:"IberCaja",amenity:"bank"},name:"IberCaja",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Interbank":{tags:{name:"Interbank",amenity:"bank"},name:"Interbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Itaú":{tags:{name:"Itaú",amenity:"bank"},name:"Itaú",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/KBC":{tags:{name:"KBC",amenity:"bank"},name:"KBC",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Kreissparkasse":{tags:{name:"Kreissparkasse",amenity:"bank"},name:"Kreissparkasse",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Kutxabank":{tags:{name:"Kutxabank",amenity:"bank"},name:"Kutxabank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/LCL":{tags:{name:"LCL",amenity:"bank"},name:"LCL",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Laboral Kutxa":{tags:{name:"Laboral Kutxa",amenity:"bank"},name:"Laboral Kutxa",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Landbank":{tags:{name:"Landbank",amenity:"bank"},name:"Landbank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Liberbank":{tags:{name:"Liberbank",amenity:"bank"},name:"Liberbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/MCB":{tags:{name:"MCB",amenity:"bank"},name:"MCB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/MCB Bank":{tags:{name:"MCB Bank",amenity:"bank"},name:"MCB Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/MONETA Money Bank":{tags:{name:"MONETA Money Bank",amenity:"bank"},name:"MONETA Money Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Macro":{tags:{name:"Macro",amenity:"bank"},name:"Macro",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Maybank":{tags:{name:"Maybank",amenity:"bank"},name:"Maybank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Meezan Bank":{tags:{name:"Meezan Bank",amenity:"bank"},name:"Meezan Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Mercantil":{tags:{name:"Mercantil",amenity:"bank"},name:"Mercantil",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Metro Bank":{tags:{name:"Metro Bank",amenity:"bank"},name:"Metro Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Metrobank":{tags:{name:"Metrobank",amenity:"bank"},name:"Metrobank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Millennium BCP":{tags:{name:"Millennium BCP",amenity:"bank"},name:"Millennium BCP",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Montepio":{tags:{name:"Montepio",amenity:"bank"},name:"Montepio",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/NAB":{tags:{name:"NAB",amenity:"bank"},name:"NAB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/NSB":{tags:{name:"NSB",amenity:"bank"},name:"NSB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/NatWest":{tags:{name:"NatWest",amenity:"bank"},name:"NatWest",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Nationwide":{tags:{name:"Nationwide",amenity:"bank"},name:"Nationwide",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Nedbank":{tags:{name:"Nedbank",amenity:"bank"},name:"Nedbank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Nordea":{tags:{name:"Nordea",amenity:"bank"},name:"Nordea",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/OLB":{tags:{name:"OLB",amenity:"bank"},name:"OLB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/OTP":{tags:{name:"OTP",amenity:"bank"},name:"OTP",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Oberbank":{tags:{name:"Oberbank",amenity:"bank"},name:"Oberbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Osuuspankki":{tags:{name:"Osuuspankki",amenity:"bank"},name:"Osuuspankki",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/PBZ":{tags:{name:"PBZ",amenity:"bank"},name:"PBZ",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/PKO":{tags:{name:"PKO",amenity:"bank"},name:"PKO",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/PNB":{tags:{name:"PNB",amenity:"bank"},name:"PNB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/PNC":{tags:{name:"PNC",amenity:"bank"},name:"PNC",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/PSBank":{tags:{name:"PSBank",amenity:"bank"},name:"PSBank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Patagonia":{tags:{name:"Patagonia",amenity:"bank"},name:"Patagonia",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Popular":{tags:{name:"Popular",amenity:"bank"},name:"Popular",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Postbank":{tags:{name:"Postbank",amenity:"bank"},name:"Postbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Provincial":{tags:{name:"Provincial",amenity:"bank"},name:"Provincial",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/RBC":{tags:{name:"RBC",amenity:"bank"},name:"RBC",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/RBC Financial Group":{tags:{name:"RBC Financial Group",amenity:"bank"},name:"RBC Financial Group",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/RBS":{tags:{name:"RBS",amenity:"bank"},name:"RBS",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/RCBC":{tags:{name:"RCBC",amenity:"bank"},name:"RCBC",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Rabobank":{tags:{name:"Rabobank",amenity:"bank"},name:"Rabobank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Raiffeisenbank":{tags:{name:"Raiffeisenbank",amenity:"bank"},name:"Raiffeisenbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Royal Bank of Canada":{tags:{name:"Royal Bank of Canada",amenity:"bank"},name:"Royal Bank of Canada",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/SEB":{tags:{name:"SEB",amenity:"bank"},name:"SEB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/SNS Bank":{tags:{name:"SNS Bank",amenity:"bank"},name:"SNS Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Sabadell":{tags:{name:"Sabadell",amenity:"bank"},name:"Sabadell",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Santander":{tags:{name:"Santander",amenity:"bank"},name:"Santander",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Sberbank":{tags:{name:"Sberbank",amenity:"bank"},name:"Sberbank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Scotiabank":{tags:{name:"Scotiabank",amenity:"bank"},name:"Scotiabank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Sicredi":{tags:{name:"Sicredi",amenity:"bank"},name:"Sicredi",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Sparkasse":{tags:{name:"Sparkasse",amenity:"bank"},name:"Sparkasse",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Stadtsparkasse":{tags:{name:"Stadtsparkasse",amenity:"bank"},name:"Stadtsparkasse",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Stanbic Bank":{tags:{name:"Stanbic Bank",amenity:"bank"},name:"Stanbic Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Standard Chartered Bank":{tags:{name:"Standard Chartered Bank",amenity:"bank"},name:"Standard Chartered Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/SunTrust":{tags:{name:"SunTrust",amenity:"bank"},name:"SunTrust",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Supervielle":{tags:{name:"Supervielle",amenity:"bank"},name:"Supervielle",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Swedbank":{tags:{name:"Swedbank",amenity:"bank"},name:"Swedbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/TEB":{tags:{name:"TEB",amenity:"bank"},name:"TEB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/TSB":{tags:{name:"TSB",amenity:"bank"},name:"TSB",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Targobank":{tags:{name:"Targobank",amenity:"bank"},name:"Targobank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Türkiye İş Bankası":{tags:{name:"Türkiye İş Bankası",amenity:"bank"},name:"Türkiye İş Bankası",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/UBS":{tags:{name:"UBS",amenity:"bank"},name:"UBS",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/UCO Bank":{tags:{name:"UCO Bank",amenity:"bank"},name:"UCO Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/UCPB":{tags:{name:"UCPB",amenity:"bank"},name:"UCPB",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/UOB":{tags:{name:"UOB",amenity:"bank"},name:"UOB",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/United Bank":{tags:{name:"United Bank",amenity:"bank"},name:"United Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Vakıfbank":{tags:{name:"Vakıfbank",amenity:"bank"},name:"Vakıfbank",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Vijaya Bank":{tags:{name:"Vijaya Bank",amenity:"bank"},name:"Vijaya Bank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Volks- und Raiffeisenbank":{tags:{name:"Volks- und Raiffeisenbank",amenity:"bank"},name:"Volks- und Raiffeisenbank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Volksbank":{tags:{name:"Volksbank",amenity:"bank"},name:"Volksbank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Volksbank Mittelhessen":{tags:{name:"Volksbank Mittelhessen",amenity:"bank"},name:"Volksbank Mittelhessen",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Washington Federal":{tags:{name:"Washington Federal",amenity:"bank"},name:"Washington Federal",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Westpac":{tags:{name:"Westpac",amenity:"bank"},name:"Westpac",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Zagrebačka banka":{tags:{name:"Zagrebačka banka",amenity:"bank"},name:"Zagrebačka banka",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/mBank":{tags:{name:"mBank",amenity:"bank"},name:"mBank",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ČSOB":{tags:{name:"ČSOB",amenity:"bank"},name:"ČSOB",icon:"maki-bank",geometry:["point","area"],fields:["name","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:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/İş Bankası":{tags:{name:"İş Bankası",amenity:"bank"},name:"İş Bankası",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Εθνική Τράπεζα":{tags:{name:"Εθνική Τράπεζα",amenity:"bank"},name:"Εθνική Τράπεζα",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Πειραιώς":{tags:{name:"Πειραιώς",amenity:"bank"},name:"Πειραιώς",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Τράπεζα Πειραιώς":{tags:{name:"Τράπεζα Πειραιώς",amenity:"bank"},name:"Τράπεζα Πειραιώς",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Авангард":{tags:{name:"Авангард",amenity:"bank"},name:"Авангард",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Альфа-Банк":{tags:{name:"Альфа-Банк",amenity:"bank"},name:"Альфа-Банк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Банк Москвы":{tags:{name:"Банк Москвы",amenity:"bank"},name:"Банк Москвы",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Банка ДСК":{tags:{name:"Банка ДСК",amenity:"bank"},name:"Банка ДСК",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Белагропромбанк":{tags:{name:"Белагропромбанк",amenity:"bank"},name:"Белагропромбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Беларусбанк":{tags:{name:"Беларусбанк",amenity:"bank"},name:"Беларусбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Белинвестбанк":{tags:{name:"Белинвестбанк",amenity:"bank"},name:"Белинвестбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Бинбанк":{tags:{name:"Бинбанк",amenity:"bank"},name:"Бинбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ВТБ":{tags:{name:"ВТБ",amenity:"bank"},name:"ВТБ",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ВТБ24":{tags:{name:"ВТБ24",amenity:"bank"},name:"ВТБ24",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Возрождение":{tags:{name:"Возрождение",amenity:"bank"},name:"Возрождение",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Газпромбанк":{tags:{name:"Газпромбанк",amenity:"bank"},name:"Газпромбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Генбанк":{tags:{name:"Генбанк",amenity:"bank"},name:"Генбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Казкоммерцбанк":{tags:{name:"Казкоммерцбанк",amenity:"bank"},name:"Казкоммерцбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/МДМ Банк":{tags:{name:"МДМ Банк",amenity:"bank"},name:"МДМ Банк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Московский индустриальный банк":{tags:{name:"Московский индустриальный банк",amenity:"bank"},name:"Московский индустриальный банк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Мособлбанк":{tags:{name:"Мособлбанк",amenity:"bank"},name:"Мособлбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Народный банк":{tags:{name:"Народный банк",amenity:"bank"},name:"Народный банк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ОТП Банк":{tags:{name:"ОТП Банк",amenity:"bank"},name:"ОТП Банк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Открытие":{tags:{name:"Открытие",amenity:"bank"},name:"Открытие",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Ощадбанк":{tags:{name:"Ощадбанк",amenity:"bank"},name:"Ощадбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ПУМБ":{tags:{name:"ПУМБ",amenity:"bank"},name:"ПУМБ",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Почта Банк":{tags:{name:"Почта Банк",amenity:"bank"},name:"Почта Банк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ПриватБанк":{tags:{name:"ПриватБанк",amenity:"bank"},name:"ПриватБанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Приватбанк":{tags:{name:"Приватбанк",amenity:"bank"},name:"Приватбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Приднестровский Сбербанк":{tags:{name:"Приднестровский Сбербанк",amenity:"bank"},name:"Приднестровский Сбербанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Приорбанк":{tags:{name:"Приорбанк",amenity:"bank"},name:"Приорбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Промсвязьбанк":{tags:{name:"Промсвязьбанк",amenity:"bank"},name:"Промсвязьбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/РНКБ":{tags:{name:"РНКБ",amenity:"bank"},name:"РНКБ",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Райффайзен":{tags:{name:"Райффайзен",amenity:"bank"},name:"Райффайзен",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Райффайзен Банк Аваль":{tags:{name:"Райффайзен Банк Аваль",amenity:"bank"},name:"Райффайзен Банк Аваль",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Райффайзенбанк":{tags:{name:"Райффайзенбанк",amenity:"bank"},name:"Райффайзенбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Росбанк":{tags:{name:"Росбанк",amenity:"bank"},name:"Росбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Россельхозбанк":{tags:{name:"Россельхозбанк",amenity:"bank"},name:"Россельхозбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Русский стандарт":{tags:{name:"Русский стандарт",amenity:"bank"},name:"Русский стандарт",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Сбербанк":{tags:{name:"Сбербанк",amenity:"bank"},name:"Сбербанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Совкомбанк":{tags:{name:"Совкомбанк",amenity:"bank"},name:"Совкомбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/УкрСиббанк":{tags:{name:"УкрСиббанк",amenity:"bank"},name:"УкрСиббанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Укрсоцбанк":{tags:{name:"Укрсоцбанк",amenity:"bank"},name:"Укрсоцбанк",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Уралсиб":{tags:{name:"Уралсиб",amenity:"bank"},name:"Уралсиб",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/Хоум Кредит":{tags:{name:"Хоум Кредит",amenity:"bank"},name:"Хоум Кредит",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/בנק הפועלים":{tags:{name:"בנק הפועלים",amenity:"bank"},name:"בנק הפועלים",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/בנק לאומי":{tags:{name:"בנק לאומי",amenity:"bank"},name:"בנק לאומי",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک":{tags:{name:"بانک",amenity:"bank"},name:"بانک",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک آینده":{tags:{name:"بانک آینده",amenity:"bank"},name:"بانک آینده",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک اقتصاد نوین":{tags:{name:"بانک اقتصاد نوین",amenity:"bank"},name:"بانک اقتصاد نوین",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک انصار":{tags:{name:"بانک انصار",amenity:"bank"},name:"بانک انصار",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک تجارت":{tags:{name:"بانک تجارت",amenity:"bank"},name:"بانک تجارت",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک رفاه":{tags:{name:"بانک رفاه",amenity:"bank"},name:"بانک رفاه",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک رفاه کارگران":{tags:{name:"بانک رفاه کارگران",amenity:"bank"},name:"بانک رفاه کارگران",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک سپه":{tags:{name:"بانک سپه",amenity:"bank"},name:"بانک سپه",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک شهر":{tags:{name:"بانک شهر",amenity:"bank"},name:"بانک شهر",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک صادرات":{tags:{name:"بانک صادرات",amenity:"bank"},name:"بانک صادرات",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک قوامین":{tags:{name:"بانک قوامین",amenity:"bank"},name:"بانک قوامین",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک مسکن":{tags:{name:"بانک مسکن",amenity:"bank"},name:"بانک مسکن",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک ملت":{tags:{name:"بانک ملت",amenity:"bank"},name:"بانک ملت",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک ملی":{tags:{name:"بانک ملی",amenity:"bank"},name:"بانک ملی",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک ملی ایران":{tags:{name:"بانک ملی ایران",amenity:"bank"},name:"بانک ملی ایران",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک مهر اقتصاد":{tags:{name:"بانک مهر اقتصاد",amenity:"bank"},name:"بانک مهر اقتصاد",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک پارسیان":{tags:{name:"بانک پارسیان",amenity:"bank"},name:"بانک پارسیان",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک پاسارگاد":{tags:{name:"بانک پاسارگاد",amenity:"bank"},name:"بانک پاسارگاد",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/بانک کشاورزی":{tags:{name:"بانک کشاورزی",amenity:"bank"},name:"بانک کشاورزی",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/صادرات":{tags:{name:"صادرات",amenity:"bank"},name:"صادرات",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ملی":{tags:{name:"ملی",amenity:"bank"},name:"ملی",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/پست بانک":{tags:{name:"پست بانک",amenity:"bank"},name:"پست بانک",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ธนาคารกรุงเทพ":{tags:{name:"ธนาคารกรุงเทพ",amenity:"bank"},name:"ธนาคารกรุงเทพ",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ธนาคารกรุงไทย":{tags:{name:"ธนาคารกรุงไทย",amenity:"bank"},name:"ธนาคารกรุงไทย",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ธนาคารกสิกรไทย":{tags:{name:"ธนาคารกสิกรไทย",amenity:"bank"},name:"ธนาคารกสิกรไทย",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ธนาคารออมสิน":{tags:{name:"ธนาคารออมสิน",amenity:"bank"},name:"ธนาคารออมสิน",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/ธนาคารไทยพาณิชย์":{tags:{name:"ธนาคารไทยพาณิชย์",amenity:"bank"},name:"ธนาคารไทยพาณิชย์",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/みずほ銀行":{tags:{name:"みずほ銀行",amenity:"bank"},name:"みずほ銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/りそな銀行":{tags:{name:"りそな銀行",amenity:"bank"},name:"りそな銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/三井住友銀行":{tags:{name:"三井住友銀行",amenity:"bank"},name:"三井住友銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/三菱東京UFJ銀行":{tags:{name:"三菱東京UFJ銀行",amenity:"bank"},name:"三菱東京UFJ銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/中国农业银行":{tags:{name:"中国农业银行",amenity:"bank"},name:"中国农业银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/中国工商银行":{tags:{name:"中国工商银行",amenity:"bank"},name:"中国工商银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/中国建设银行":{tags:{name:"中国建设银行",amenity:"bank"},name:"中国建设银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/中国邮政储蓄银行":{tags:{name:"中国邮政储蓄银行",amenity:"bank"},name:"中国邮政储蓄银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/中国银行":{tags:{name:"中国银行",amenity:"bank"},name:"中国银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/交通银行":{tags:{name:"交通银行",amenity:"bank"},name:"交通银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/京都中央信用金庫":{tags:{name:"京都中央信用金庫",amenity:"bank"},name:"京都中央信用金庫",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/京都銀行":{tags:{name:"京都銀行",amenity:"bank"},name:"京都銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/农业银行":{tags:{name:"农业银行",amenity:"bank"},name:"农业银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/北海道銀行":{tags:{name:"北海道銀行",amenity:"bank"},name:"北海道銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/合作金庫銀行":{tags:{name:"合作金庫銀行",amenity:"bank"},name:"合作金庫銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/土地銀行":{tags:{name:"土地銀行",amenity:"bank"},name:"土地銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/工商银行":{tags:{name:"工商银行",amenity:"bank"},name:"工商银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/建设银行":{tags:{name:"建设银行",amenity:"bank"},name:"建设银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/彰化銀行":{tags:{name:"彰化銀行",amenity:"bank"},name:"彰化銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/招商银行":{tags:{name:"招商银行",amenity:"bank"},name:"招商银行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/横浜銀行":{tags:{name:"横浜銀行",amenity:"bank"},name:"横浜銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/第一銀行":{tags:{name:"第一銀行",amenity:"bank"},name:"第一銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/華南銀行":{tags:{name:"華南銀行",amenity:"bank"},name:"華南銀行",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/국민은행":{tags:{name:"국민은행","name:en":"Gungmin Bank",amenity:"bank"},name:"국민은행",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/기업은행":{tags:{name:"기업은행",amenity:"bank"},name:"기업은행",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/농협":{tags:{name:"농협",amenity:"bank"},name:"농협",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/새마을금고":{tags:{name:"새마을금고",amenity:"bank"},name:"새마을금고",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/신한은행":{tags:{name:"신한은행","name:en":"Sinhan Bank",amenity:"bank"},name:"신한은행",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/우리은행":{tags:{name:"우리은행","name:en":"Uri Bank",amenity:"bank"},name:"우리은행",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bank/하나은행":{tags:{name:"하나은행",amenity:"bank"},name:"하나은행",icon:"maki-bank",geometry:["point","area"],fields:["name","atm","operator","address","building_area","opening_hours","drive_through"],suggestion:true},"amenity/bar/Bar Centrale":{tags:{name:"Bar Centrale",amenity:"bar"},name:"Bar Centrale",icon:"maki-bar",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/bar/Bar Sport":{tags:{name:"Bar Sport",amenity:"bar"},name:"Bar Sport",icon:"maki-bar",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/bar/Beach Bar":{tags:{name:"Beach Bar",amenity:"bar"},name:"Beach Bar",icon:"maki-bar",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/bar/Pool Bar":{tags:{name:"Pool Bar",amenity:"bar"},name:"Pool Bar",icon:"maki-bar",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/bicycle_rental/Bicing":{tags:{name:"Bicing",amenity:"bicycle_rental"},name:"Bicing",icon:"maki-bicycle",geometry:["point","vertex","area"],fields:["capacity","network","operator","payment_multi"],suggestion:true},"amenity/bicycle_rental/Call a Bike":{tags:{name:"Call a Bike",amenity:"bicycle_rental"},name:"Call a Bike",icon:"maki-bicycle",geometry:["point","vertex","area"],fields:["capacity","network","operator","payment_multi"],suggestion:true},"amenity/bicycle_rental/Grid":{tags:{name:"Grid",amenity:"bicycle_rental"},name:"Grid",icon:"maki-bicycle",geometry:["point","vertex","area"],fields:["capacity","network","operator","payment_multi"],suggestion:true},"amenity/bicycle_rental/Mibici":{tags:{name:"Mibici",amenity:"bicycle_rental"},name:"Mibici",icon:"maki-bicycle",geometry:["point","vertex","area"],fields:["capacity","network","operator","payment_multi"],suggestion:true},"amenity/bicycle_rental/metropolradruhr":{tags:{name:"metropolradruhr",amenity:"bicycle_rental"},name:"metropolradruhr",icon:"maki-bicycle",geometry:["point","vertex","area"],fields:["capacity","network","operator","payment_multi"],suggestion:true},"amenity/bureau_de_change/Abitab":{tags:{name:"Abitab",amenity:"bureau_de_change"},name:"Abitab",icon:"maki-bank",geometry:["point","area"],fields:["name","currency_multi","operator","address","building_area","opening_hours"],suggestion:true},"amenity/bureau_de_change/Change":{tags:{name:"Change",amenity:"bureau_de_change"},name:"Change",icon:"maki-bank",geometry:["point","area"],fields:["name","currency_multi","operator","address","building_area","opening_hours"],suggestion:true},"amenity/bureau_de_change/Travelex":{tags:{name:"Travelex",amenity:"bureau_de_change"},name:"Travelex",icon:"maki-bank",geometry:["point","area"],fields:["name","currency_multi","operator","address","building_area","opening_hours"],suggestion:true},"amenity/cafe/85度C":{tags:{name:"85度C",amenity:"cafe"},name:"85度C",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Bar Kafe":{tags:{name:"Bar Kafe",amenity:"cafe"},name:"Bar Kafe",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Barista":{tags:{name:"Barista",amenity:"cafe"},name:"Barista",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Bonafide":{tags:{name:"Bonafide",amenity:"cafe"},name:"Bonafide",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Cafe Coffee Day":{tags:{name:"Cafe Coffee Day",amenity:"cafe"},name:"Cafe Coffee Day",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Cafe Nero":{tags:{name:"Cafe Nero",amenity:"cafe"},name:"Cafe Nero",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Cafeteria":{tags:{name:"Cafeteria",amenity:"cafe"},name:"Cafeteria",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Cafetería":{tags:{name:"Cafetería",amenity:"cafe"},name:"Cafetería",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Caffè Nero":{tags:{name:"Caffè Nero",amenity:"cafe"},name:"Caffè Nero",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Café Amazon":{tags:{name:"Café Amazon",amenity:"cafe"},name:"Café Amazon",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Café Central":{tags:{name:"Café Central",amenity:"cafe"},name:"Café Central",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Café de la Place":{tags:{name:"Café de la Place",amenity:"cafe"},name:"Café de la Place",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Café des Sports":{tags:{name:"Café des Sports",amenity:"cafe"},name:"Café des Sports",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Caribou Coffee":{tags:{name:"Caribou Coffee",amenity:"cafe"},name:"Caribou Coffee",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Coffee Fellows":{tags:{name:"Coffee Fellows",amenity:"cafe"},name:"Coffee Fellows",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Coffee House":{tags:{name:"Coffee House",amenity:"cafe"},name:"Coffee House",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Coffee Island":{tags:{name:"Coffee Island",amenity:"cafe"},name:"Coffee Island",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Coffee Time":{tags:{name:"Coffee Time",amenity:"cafe"},name:"Coffee Time",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Costa":{tags:{name:"Costa",amenity:"cafe"},name:"Costa",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Country Style":{tags:{name:"Country Style",amenity:"cafe"},name:"Country Style",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Dunkin' Donuts":{tags:{name:"Dunkin' Donuts",cuisine:"donut",amenity:"cafe"},name:"Dunkin' Donuts",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Eiscafe Dolomiti":{tags:{name:"Eiscafe Dolomiti",amenity:"cafe"},name:"Eiscafe Dolomiti",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Eiscafe Venezia":{tags:{name:"Eiscafe Venezia",amenity:"cafe"},name:"Eiscafe Venezia",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Espresso House":{tags:{name:"Espresso House",amenity:"cafe"},name:"Espresso House",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Havanna":{tags:{name:"Havanna",amenity:"cafe"},name:"Havanna",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Internet Cafe":{tags:{name:"Internet Cafe",amenity:"cafe"},name:"Internet Cafe",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Kafe":{tags:{name:"Kafe",amenity:"cafe"},name:"Kafe",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Krispy Kreme":{tags:{name:"Krispy Kreme",amenity:"cafe"},name:"Krispy Kreme",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Le Pain Quotidien":{tags:{name:"Le Pain Quotidien",amenity:"cafe"},name:"Le Pain Quotidien",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/McCafé":{tags:{name:"McCafé",amenity:"cafe",cuisine:"coffee_shop"},name:"McCafé",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Peet's Coffee & Tea":{tags:{name:"Peet's Coffee & Tea",amenity:"cafe"},name:"Peet's Coffee & Tea",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Pret A Manger":{tags:{name:"Pret A Manger",amenity:"cafe"},name:"Pret A Manger",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Prime":{tags:{name:"Prime",amenity:"cafe"},name:"Prime",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Second Cup":{tags:{name:"Second Cup",amenity:"cafe"},name:"Second Cup",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Segafredo":{tags:{name:"Segafredo",amenity:"cafe"},name:"Segafredo",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Starbucks":{tags:{name:"Starbucks",cuisine:"coffee_shop",amenity:"cafe"},name:"Starbucks",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],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:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/The Coffee Club":{tags:{name:"The Coffee Club",amenity:"cafe"},name:"The Coffee Club",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Tim Hortons":{tags:{name:"Tim Hortons",amenity:"cafe"},name:"Tim Hortons",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Traveler's Coffee":{tags:{name:"Traveler's Coffee",amenity:"cafe"},name:"Traveler's Coffee",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Wayne's Coffee":{tags:{name:"Wayne's Coffee",amenity:"cafe"},name:"Wayne's Coffee",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Бистро":{tags:{name:"Бистро",amenity:"cafe"},name:"Бистро",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Буфет":{tags:{name:"Буфет",amenity:"cafe"},name:"Буфет",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Встреча":{tags:{name:"Встреча",amenity:"cafe"},name:"Встреча",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Даблби":{tags:{name:"Даблби",amenity:"cafe"},name:"Даблби",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Закусочная":{tags:{name:"Закусочная",amenity:"cafe"},name:"Закусочная",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Кофе Хауз":{tags:{name:"Кофе Хауз",amenity:"cafe"},name:"Кофе Хауз",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Кофейня":{tags:{name:"Кофейня",amenity:"cafe"},name:"Кофейня",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Лакомка":{tags:{name:"Лакомка",amenity:"cafe"},name:"Лакомка",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Летнее кафе":{tags:{name:"Летнее кафе",amenity:"cafe"},name:"Летнее кафе",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Пельменная":{tags:{name:"Пельменная",amenity:"cafe"},name:"Пельменная",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Пиццерия":{tags:{name:"Пиццерия",amenity:"cafe"},name:"Пиццерия",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Рандеву":{tags:{name:"Рандеву",amenity:"cafe"},name:"Рандеву",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Сказка":{tags:{name:"Сказка",amenity:"cafe"},name:"Сказка",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Старбакс":{tags:{name:"Старбакс",amenity:"cafe"},name:"Старбакс",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Столовая":{tags:{name:"Столовая",amenity:"cafe"},name:"Столовая",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Уют":{tags:{name:"Уют",amenity:"cafe"},name:"Уют",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Хуторок":{tags:{name:"Хуторок",amenity:"cafe"},name:"Хуторок",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Шашлычная":{tags:{name:"Шашлычная",amenity:"cafe"},name:"Шашлычная",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Шоколад":{tags:{name:"Шоколад",amenity:"cafe"},name:"Шоколад",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/Шоколадница":{tags:{name:"Шоколадница",amenity:"cafe"},name:"Шоколадница",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/ארומה":{tags:{name:"ארומה",amenity:"cafe"},name:"ארומה",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/مقهى":{tags:{name:"مقهى",amenity:"cafe"},name:"مقهى",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/คาเฟ่ อเมซอน":{tags:{name:"คาเฟ่ อเมซอน",amenity:"cafe"},name:"คาเฟ่ อเมซอน",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/エクセルシオール カフェ":{tags:{name:"エクセルシオール カフェ",amenity:"cafe"},name:"エクセルシオール カフェ",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/カフェ・ド・クリエ":{tags:{name:"カフェ・ド・クリエ","name:en":"Cafe de CRIE",amenity:"cafe"},name:"カフェ・ド・クリエ",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/カフェ・ベローチェ":{tags:{name:"カフェ・ベローチェ",amenity:"cafe"},name:"カフェ・ベローチェ",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/コメダ珈琲店":{tags:{name:"コメダ珈琲店",amenity:"cafe"},name:"コメダ珈琲店",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/サンマルクカフェ":{tags:{name:"サンマルクカフェ",amenity:"cafe"},name:"サンマルクカフェ",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/スターバックス":{tags:{name:"スターバックス","name:en":"Starbucks",amenity:"cafe"},name:"スターバックス",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/タリーズコーヒー":{tags:{name:"タリーズコーヒー",amenity:"cafe"},name:"タリーズコーヒー",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/ドトールコーヒーショップ":{tags:{name:"ドトールコーヒーショップ","name:en":"Doutor",amenity:"cafe"},name:"ドトールコーヒーショップ",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/星巴克":{tags:{name:"星巴克",amenity:"cafe"},name:"星巴克",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/cafe/스타벅스":{tags:{name:"스타벅스",amenity:"cafe"},name:"스타벅스",icon:"maki-cafe",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","internet_access","internet_access/fee","internet_access/ssid","smoking","outdoor_seating"],suggestion:true},"amenity/car_rental/Alamo":{tags:{name:"Alamo",amenity:"car_rental"},name:"Alamo",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Avis":{tags:{name:"Avis",amenity:"car_rental"},name:"Avis",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Budget":{tags:{name:"Budget",amenity:"car_rental"},name:"Budget",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Enterprise":{tags:{name:"Enterprise",amenity:"car_rental"},name:"Enterprise",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Enterprise Rent-a-Car":{tags:{name:"Enterprise Rent-a-Car",amenity:"car_rental"},name:"Enterprise Rent-a-Car",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Europcar":{tags:{name:"Europcar",amenity:"car_rental"},name:"Europcar",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Hertz":{tags:{name:"Hertz",amenity:"car_rental"},name:"Hertz",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Localiza":{tags:{name:"Localiza",amenity:"car_rental"},name:"Localiza",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Sixt":{tags:{name:"Sixt",amenity:"car_rental"},name:"Sixt",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/Thrifty":{tags:{name:"Thrifty",amenity:"car_rental"},name:"Thrifty",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/U-Haul":{tags:{name:"U-Haul",amenity:"car_rental"},name:"U-Haul",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/オリックスレンタカー":{tags:{name:"オリックスレンタカー",amenity:"car_rental"},name:"オリックスレンタカー",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/トヨタレンタカー":{tags:{name:"トヨタレンタカー",amenity:"car_rental"},name:"トヨタレンタカー",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/トヨタレンタリース":{tags:{name:"トヨタレンタリース",amenity:"car_rental"},name:"トヨタレンタリース",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_rental/ニッポンレンタカー":{tags:{name:"ニッポンレンタカー",amenity:"car_rental"},name:"ニッポンレンタカー",icon:"maki-car",geometry:["point","area"],fields:["name","operator","payment_multi"],suggestion:true},"amenity/car_wash/Autolavaggio":{tags:{name:"Autolavaggio",amenity:"car_wash"},name:"Autolavaggio",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],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:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/car_wash/Lavage Auto":{tags:{name:"Lavage Auto",amenity:"car_wash"},name:"Lavage Auto",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/car_wash/Lavazh":{tags:{name:"Lavazh",amenity:"car_wash"},name:"Lavazh",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/car_wash/Myjnia":{tags:{name:"Myjnia",amenity:"car_wash"},name:"Myjnia",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/car_wash/Myjnia bezdotykowa":{tags:{name:"Myjnia bezdotykowa",amenity:"car_wash"},name:"Myjnia bezdotykowa",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/car_wash/Myjnia samochodowa":{tags:{name:"Myjnia samochodowa",amenity:"car_wash"},name:"Myjnia samochodowa",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/car_wash/Spălătorie Auto":{tags:{name:"Spălătorie Auto",amenity:"car_wash"},name:"Spălătorie Auto",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/car_wash/Spălătorie auto":{tags:{name:"Spălătorie auto",amenity:"car_wash"},name:"Spălătorie auto",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/car_wash/Автомийка":{tags:{name:"Автомийка",amenity:"car_wash"},name:"Автомийка",icon:"maki-car",geometry:["point","area"],fields:["address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/cinema/Cinema City":{tags:{name:"Cinema City",amenity:"cinema"},name:"Cinema City",icon:"maki-cinema",geometry:["point","area"],fields:["name","address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/cinema/Cinemark":{tags:{name:"Cinemark",amenity:"cinema"},name:"Cinemark",icon:"maki-cinema",geometry:["point","area"],fields:["name","address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/cinema/Cinemex":{tags:{name:"Cinemex",amenity:"cinema"},name:"Cinemex",icon:"maki-cinema",geometry:["point","area"],fields:["name","address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/cinema/Cinepolis":{tags:{name:"Cinepolis",amenity:"cinema"},name:"Cinepolis",icon:"maki-cinema",geometry:["point","area"],fields:["name","address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/cinema/Cineworld":{tags:{name:"Cineworld",amenity:"cinema"},name:"Cineworld",icon:"maki-cinema",geometry:["point","area"],fields:["name","address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/cinema/Odeon":{tags:{name:"Odeon",amenity:"cinema"},name:"Odeon",icon:"maki-cinema",geometry:["point","area"],fields:["name","address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/clinic/ФАП":{tags:{name:"ФАП",healthcare:"clinic",amenity:"clinic"},name:"ФАП",icon:"maki-doctor",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],suggestion:true},"amenity/dentist/Aspen Dental":{tags:{name:"Aspen Dental",healthcare:"dentist",amenity:"dentist"},name:"Aspen Dental",icon:"maki-dentist",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],suggestion:true},"amenity/dentist/Family Dentistry":{tags:{name:"Family Dentistry",healthcare:"dentist",amenity:"dentist"},name:"Family Dentistry",icon:"maki-dentist",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],suggestion:true},"amenity/dentist/Vitaldent":{tags:{name:"Vitaldent",healthcare:"dentist",amenity:"dentist"},name:"Vitaldent",icon:"maki-dentist",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],suggestion:true},"amenity/dentist/Стоматолог":{tags:{name:"Стоматолог",healthcare:"dentist",amenity:"dentist"},name:"Стоматолог",icon:"maki-dentist",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],suggestion:true},"amenity/dentist/Стоматологія":{tags:{name:"Стоматологія",healthcare:"dentist",amenity:"dentist"},name:"Стоматологія",icon:"maki-dentist",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],suggestion:true},"amenity/doctors/Háziorvosi rendelő":{tags:{name:"Háziorvosi rendelő",healthcare:"doctor",amenity:"doctors"},name:"Háziorvosi rendelő",icon:"maki-doctor",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],suggestion:true},"amenity/doctors/Инвитро":{tags:{name:"Инвитро",healthcare:"doctor",amenity:"doctors"},name:"Инвитро",icon:"maki-doctor",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","building_area","opening_hours"],suggestion:true},"amenity/driving_school/Автодром":{tags:{name:"Автодром",amenity:"driving_school"},name:"Автодром",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"amenity/fast_food/A&W":{tags:{name:"A&W",amenity:"fast_food"},name:"A&W",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Ali Baba":{tags:{name:"Ali Baba",amenity:"fast_food"},name:"Ali Baba",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Angel's Burger":{tags:{name:"Angel's Burger",amenity:"fast_food"},name:"Angel's Burger",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Antalya":{tags:{name:"Antalya",amenity:"fast_food"},name:"Antalya",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Arby's":{tags:{name:"Arby's",amenity:"fast_food"},name:"Arby's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Asia Bistro":{tags:{name:"Asia Bistro",amenity:"fast_food"},name:"Asia Bistro",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Asia Wok":{tags:{name:"Asia Wok",amenity:"fast_food"},name:"Asia Wok",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Baskin-Robbins":{tags:{name:"Baskin-Robbins",amenity:"fast_food"},name:"Baskin-Robbins",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Bistro":{tags:{name:"Bistro",amenity:"fast_food"},name:"Bistro",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Bob's":{tags:{name:"Bob's",amenity:"fast_food"},name:"Bob's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Bojangles":{tags:{name:"Bojangles",amenity:"fast_food"},name:"Bojangles",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Booster Juice":{tags:{name:"Booster Juice",amenity:"fast_food"},name:"Booster Juice",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Boston Market":{tags:{name:"Boston Market",amenity:"fast_food"},name:"Boston Market",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Braum's":{tags:{name:"Braum's",amenity:"fast_food"},name:"Braum's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Burger King":{tags:{name:"Burger King",cuisine:"burger",amenity:"fast_food"},name:"Burger King",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Burger Machine":{tags:{name:"Burger Machine",amenity:"fast_food"},name:"Burger Machine",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Büfé":{tags:{name:"Büfé",amenity:"fast_food"},name:"Büfé",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Captain D's":{tags:{name:"Captain D's",amenity:"fast_food"},name:"Captain D's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Carl's Jr.":{tags:{name:"Carl's Jr.",cuisine:"burger",amenity:"fast_food"},name:"Carl's Jr.",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Chick-fil-A":{tags:{name:"Chick-fil-A",cuisine:"chicken",amenity:"fast_food"},name:"Chick-fil-A",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Chicken Express":{tags:{name:"Chicken Express",amenity:"fast_food"},name:"Chicken Express",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Chipotle":{tags:{name:"Chipotle",cuisine:"mexican",amenity:"fast_food"},name:"Chipotle",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Chowking":{tags:{name:"Chowking",amenity:"fast_food"},name:"Chowking",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Church's Chicken":{tags:{name:"Church's Chicken",amenity:"fast_food"},name:"Church's Chicken",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/CoCo壱番屋":{tags:{name:"CoCo壱番屋",amenity:"fast_food"},name:"CoCo壱番屋",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Cold Stone Creamery":{tags:{name:"Cold Stone Creamery",amenity:"fast_food"},name:"Cold Stone Creamery",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Cook Out":{tags:{name:"Cook Out",amenity:"fast_food"},name:"Cook Out",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Culver's":{tags:{name:"Culver's",amenity:"fast_food"},name:"Culver's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/DQ":{tags:{name:"DQ",amenity:"fast_food"},name:"DQ",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Dairy Queen":{tags:{name:"Dairy Queen",amenity:"fast_food"},name:"Dairy Queen",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Del Taco":{tags:{name:"Del Taco",amenity:"fast_food"},name:"Del Taco",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Domino's Pizza":{tags:{name:"Domino's Pizza",cuisine:"pizza",amenity:"fast_food"},name:"Domino's Pizza",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/El Pollo Loco":{tags:{name:"El Pollo Loco",amenity:"fast_food"},name:"El Pollo Loco",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Everest":{tags:{name:"Everest",amenity:"fast_food"},name:"Everest",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Extreme Pita":{tags:{name:"Extreme Pita",amenity:"fast_food"},name:"Extreme Pita",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Fazoli's":{tags:{name:"Fazoli's",amenity:"fast_food"},name:"Fazoli's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Firehouse Subs":{tags:{name:"Firehouse Subs",amenity:"fast_food"},name:"Firehouse Subs",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Fish & Chips":{tags:{name:"Fish & Chips",amenity:"fast_food"},name:"Fish & Chips",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Fish and Chips":{tags:{name:"Fish and Chips",amenity:"fast_food"},name:"Fish and Chips",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Five Guys":{tags:{name:"Five Guys",amenity:"fast_food"},name:"Five Guys",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Greenwich":{tags:{name:"Greenwich",amenity:"fast_food"},name:"Greenwich",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Habib's":{tags:{name:"Habib's",amenity:"fast_food"},name:"Habib's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Hallo Pizza":{tags:{name:"Hallo Pizza",amenity:"fast_food"},name:"Hallo Pizza",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Hardee's":{tags:{name:"Hardee's",cuisine:"burger",amenity:"fast_food"},name:"Hardee's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Harvey's":{tags:{name:"Harvey's",amenity:"fast_food"},name:"Harvey's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Hesburger":{tags:{name:"Hesburger",amenity:"fast_food"},name:"Hesburger",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Hungry Jacks":{tags:{name:"Hungry Jacks",cuisine:"burger",amenity:"fast_food"},name:"Hungry Jacks",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/In-N-Out Burger":{tags:{name:"In-N-Out Burger",amenity:"fast_food"},name:"In-N-Out Burger",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Istanbul":{tags:{name:"Istanbul",amenity:"fast_food"},name:"Istanbul",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Istanbul Kebab":{tags:{name:"Istanbul Kebab",amenity:"fast_food"},name:"Istanbul Kebab",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],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:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Jamba Juice":{tags:{name:"Jamba Juice",amenity:"fast_food"},name:"Jamba Juice",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Jersey Mike's Subs":{tags:{name:"Jersey Mike's Subs",amenity:"fast_food"},name:"Jersey Mike's Subs",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Jimmy John's":{tags:{name:"Jimmy John's",cuisine:"sandwich",amenity:"fast_food"},name:"Jimmy John's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Jollibee":{tags:{name:"Jollibee",amenity:"fast_food"},name:"Jollibee",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/KFC":{tags:{name:"KFC",cuisine:"chicken",amenity:"fast_food"},name:"KFC",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/KFC/Taco Bell":{tags:{name:"KFC/Taco Bell",amenity:"fast_food"},name:"KFC/Taco Bell",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Kebab House":{tags:{name:"Kebab House",amenity:"fast_food"},name:"Kebab House",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Kebabai":{tags:{name:"Kebabai",amenity:"fast_food"},name:"Kebabai",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Kochlöffel":{tags:{name:"Kochlöffel",amenity:"fast_food"},name:"Kochlöffel",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Kotipizza":{tags:{name:"Kotipizza",amenity:"fast_food"},name:"Kotipizza",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Krystal":{tags:{name:"Krystal",amenity:"fast_food"},name:"Krystal",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Little Caesars":{tags:{name:"Little Caesars",amenity:"fast_food"},name:"Little Caesars",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Little Caesars Pizza":{tags:{name:"Little Caesars Pizza",amenity:"fast_food"},name:"Little Caesars Pizza",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Long John Silver's":{tags:{name:"Long John Silver's",amenity:"fast_food"},name:"Long John Silver's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Lotteria":{tags:{name:"Lotteria",amenity:"fast_food"},name:"Lotteria",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Max":{tags:{name:"Max",amenity:"fast_food"},name:"Max",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/McDonald's":{tags:{name:"McDonald's",cuisine:"burger",amenity:"fast_food"},name:"McDonald's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Minute Burger":{tags:{name:"Minute Burger",amenity:"fast_food"},name:"Minute Burger",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Mr. Sub":{tags:{name:"Mr. Sub",amenity:"fast_food"},name:"Mr. Sub",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/New York Pizza":{tags:{name:"New York Pizza",amenity:"fast_food"},name:"New York Pizza",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Nordsee":{tags:{name:"Nordsee",amenity:"fast_food"},name:"Nordsee",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Panda Express":{tags:{name:"Panda Express",cuisine:"chinese",amenity:"fast_food"},name:"Panda Express",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Papa John's":{tags:{name:"Papa John's",cuisine:"pizza",amenity:"fast_food"},name:"Papa John's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Papa Murphy's":{tags:{name:"Papa Murphy's",amenity:"fast_food"},name:"Papa Murphy's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Pinulito":{tags:{name:"Pinulito",amenity:"fast_food"},name:"Pinulito",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Pita Pit":{tags:{name:"Pita Pit",amenity:"fast_food"},name:"Pita Pit",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Pizza Hut Delivery":{tags:{name:"Pizza Hut Delivery",amenity:"fast_food"},name:"Pizza Hut Delivery",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Pizza King":{tags:{name:"Pizza King",amenity:"fast_food"},name:"Pizza King",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Pizza Nova":{tags:{name:"Pizza Nova",amenity:"fast_food"},name:"Pizza Nova",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Pizza Pizza":{tags:{name:"Pizza Pizza",amenity:"fast_food"},name:"Pizza Pizza",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Pollo Campero":{tags:{name:"Pollo Campero",amenity:"fast_food"},name:"Pollo Campero",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Pollo Granjero":{tags:{name:"Pollo Granjero",amenity:"fast_food"},name:"Pollo Granjero",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Popeye's":{tags:{name:"Popeye's",cuisine:"chicken",amenity:"fast_food"},name:"Popeye's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Popeyes Louisiana Kitchen":{tags:{name:"Popeyes Louisiana Kitchen",amenity:"fast_food"},name:"Popeyes Louisiana Kitchen",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Qdoba":{tags:{name:"Qdoba",amenity:"fast_food"},name:"Qdoba",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Quick":{tags:{name:"Quick",amenity:"fast_food"},name:"Quick",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Quiznos":{tags:{name:"Quiznos",amenity:"fast_food"},name:"Quiznos",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Rally's":{tags:{name:"Rally's",amenity:"fast_food"},name:"Rally's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Red Rooster":{tags:{name:"Red Rooster",amenity:"fast_food"},name:"Red Rooster",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Sbarro":{tags:{name:"Sbarro",amenity:"fast_food"},name:"Sbarro",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Schlotzsky's Deli":{tags:{name:"Schlotzsky's Deli",amenity:"fast_food"},name:"Schlotzsky's Deli",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Sibylla":{tags:{name:"Sibylla",amenity:"fast_food"},name:"Sibylla",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Sonic":{tags:{name:"Sonic",cuisine:"burger",amenity:"fast_food"},name:"Sonic",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Steers":{tags:{name:"Steers",amenity:"fast_food"},name:"Steers",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Subway":{tags:{name:"Subway",amenity:"fast_food"},name:"Subway",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Taco Bell":{tags:{name:"Taco Bell",cuisine:"mexican",amenity:"fast_food"},name:"Taco Bell",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Taco Bueno":{tags:{name:"Taco Bueno",amenity:"fast_food"},name:"Taco Bueno",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Taco Cabana":{tags:{name:"Taco Cabana",amenity:"fast_food"},name:"Taco Cabana",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Taco Del Mar":{tags:{name:"Taco Del Mar",amenity:"fast_food"},name:"Taco Del Mar",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Taco John's":{tags:{name:"Taco John's",amenity:"fast_food"},name:"Taco John's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Taco Time":{tags:{name:"Taco Time",amenity:"fast_food"},name:"Taco Time",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Telepizza":{tags:{name:"Telepizza",amenity:"fast_food"},name:"Telepizza",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Thai Express":{tags:{name:"Thai Express",amenity:"fast_food"},name:"Thai Express",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/The Pizza Company":{tags:{name:"The Pizza Company",amenity:"fast_food"},name:"The Pizza Company",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Wendy's":{tags:{name:"Wendy's",cuisine:"burger",amenity:"fast_food"},name:"Wendy's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Whataburger":{tags:{name:"Whataburger",amenity:"fast_food"},name:"Whataburger",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/White Castle":{tags:{name:"White Castle",amenity:"fast_food"},name:"White Castle",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Wienerschnitzel":{tags:{name:"Wienerschnitzel",amenity:"fast_food"},name:"Wienerschnitzel",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Wimpy":{tags:{name:"Wimpy",amenity:"fast_food"},name:"Wimpy",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Zaxby's":{tags:{name:"Zaxby's",amenity:"fast_food"},name:"Zaxby's",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Γρηγόρης":{tags:{name:"Γρηγόρης",amenity:"fast_food"},name:"Γρηγόρης",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Бургер Кинг":{tags:{name:"Бургер Кинг",amenity:"fast_food"},name:"Бургер Кинг",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Крошка Картошка":{tags:{name:"Крошка Картошка",amenity:"fast_food"},name:"Крошка Картошка",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Макдоналдс":{tags:{name:"Макдоналдс","name:en":"McDonald's",amenity:"fast_food"},name:"Макдоналдс",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Робин Сдобин":{tags:{name:"Робин Сдобин",amenity:"fast_food"},name:"Робин Сдобин",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Русский Аппетит":{tags:{name:"Русский Аппетит",amenity:"fast_food"},name:"Русский Аппетит",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Сабвэй":{tags:{name:"Сабвэй",amenity:"fast_food"},name:"Сабвэй",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Стардог!s":{tags:{name:"Стардог!s",amenity:"fast_food"},name:"Стардог!s",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Теремок":{tags:{name:"Теремок",amenity:"fast_food"},name:"Теремок",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Шаверма":{tags:{name:"Шаверма",amenity:"fast_food"},name:"Шаверма",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/Шаурма":{tags:{name:"Шаурма",amenity:"fast_food"},name:"Шаурма",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/かっぱ寿司":{tags:{name:"かっぱ寿司",amenity:"fast_food"},name:"かっぱ寿司",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/かつや":{tags:{name:"かつや",amenity:"fast_food"},name:"かつや",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/くら寿司":{tags:{name:"くら寿司",amenity:"fast_food"},name:"くら寿司",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/すき家":{tags:{name:"すき家","name:en":"Sukiya",amenity:"fast_food"},name:"すき家",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/なか卯":{tags:{name:"なか卯",amenity:"fast_food"},name:"なか卯",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/ほっかほっか亭":{tags:{name:"ほっかほっか亭",amenity:"fast_food"},name:"ほっかほっか亭",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/ほっともっと":{tags:{name:"ほっともっと",amenity:"fast_food"},name:"ほっともっと",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/オリジン弁当":{tags:{name:"オリジン弁当",amenity:"fast_food"},name:"オリジン弁当",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/ケンタッキーフライドチキン":{tags:{name:"ケンタッキーフライドチキン",cuisine:"chicken","name:en":"KFC",amenity:"fast_food"},name:"ケンタッキーフライドチキン",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/サブウェイ":{tags:{name:"サブウェイ",amenity:"fast_food"},name:"サブウェイ",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/スシロー":{tags:{name:"スシロー",amenity:"fast_food"},name:"スシロー",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/マクドナルド":{tags:{name:"マクドナルド",cuisine:"burger","name:en":"McDonald's",amenity:"fast_food"},name:"マクドナルド",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/ミスタードーナツ":{tags:{name:"ミスタードーナツ",amenity:"fast_food"},name:"ミスタードーナツ",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/モスバーガー":{tags:{name:"モスバーガー","name:en":"Mos Burger",amenity:"fast_food"},name:"モスバーガー",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/ロッテリア":{tags:{name:"ロッテリア",amenity:"fast_food"},name:"ロッテリア",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/吉野家":{tags:{name:"吉野家",amenity:"fast_food"},name:"吉野家",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/幸楽苑":{tags:{name:"幸楽苑",amenity:"fast_food"},name:"幸楽苑",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/摩斯漢堡":{tags:{name:"摩斯漢堡",amenity:"fast_food"},name:"摩斯漢堡",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/松屋":{tags:{name:"松屋","name:en":"Matsuya",amenity:"fast_food"},name:"松屋",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/肯德基":{tags:{name:"肯德基",amenity:"fast_food"},name:"肯德基",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/麥當勞":{tags:{name:"麥當勞",amenity:"fast_food"},name:"麥當勞",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/麦当劳":{tags:{name:"麦当劳",amenity:"fast_food"},name:"麦当劳",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fast_food/롯데리아":{tags:{name:"롯데리아",amenity:"fast_food"},name:"롯데리아",icon:"maki-fast-food",geometry:["point","area"],fields:["name","cuisine","operator","address","building_area","opening_hours","takeaway","delivery","drive_through","smoking","outdoor_seating"],suggestion:true},"amenity/fuel/76":{tags:{name:"76",amenity:"fuel"},name:"76",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/1-2-3":{tags:{name:"1-2-3",amenity:"fuel"},name:"1-2-3",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ADNOC":{tags:{name:"ADNOC",amenity:"fuel"},name:"ADNOC",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ANP":{tags:{name:"ANP",amenity:"fuel"},name:"ANP",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ARAL":{tags:{name:"ARAL",amenity:"fuel"},name:"ARAL",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Aegean":{tags:{name:"Aegean",amenity:"fuel"},name:"Aegean",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Afriquia":{tags:{name:"Afriquia",amenity:"fuel"},name:"Afriquia",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Agip":{tags:{name:"Agip",amenity:"fuel"},name:"Agip",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Agrola":{tags:{name:"Agrola",amenity:"fuel"},name:"Agrola",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Alon":{tags:{name:"Alon",amenity:"fuel"},name:"Alon",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Alpet":{tags:{name:"Alpet",amenity:"fuel"},name:"Alpet",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Api":{tags:{name:"Api",amenity:"fuel"},name:"Api",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Aral":{tags:{name:"Aral",amenity:"fuel"},name:"Aral",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Arco":{tags:{name:"Arco",amenity:"fuel"},name:"Arco",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Avanti":{tags:{name:"Avanti",amenity:"fuel"},name:"Avanti",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Avia":{tags:{name:"Avia",amenity:"fuel"},name:"Avia",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/BEBECO":{tags:{name:"BEBECO",amenity:"fuel"},name:"BEBECO",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/BFT":{tags:{name:"BFT",amenity:"fuel"},name:"BFT",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/BHPetrol":{tags:{name:"BHPetrol",amenity:"fuel"},name:"BHPetrol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/BP":{tags:{name:"BP",amenity:"fuel"},name:"BP",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/BR":{tags:{name:"BR",amenity:"fuel"},name:"BR",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Bangchak":{tags:{name:"Bangchak",amenity:"fuel"},name:"Bangchak",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Benzina":{tags:{name:"Benzina",amenity:"fuel"},name:"Benzina",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Bharat Petroleum":{tags:{name:"Bharat Petroleum",amenity:"fuel"},name:"Bharat Petroleum",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Bliska":{tags:{name:"Bliska",amenity:"fuel"},name:"Bliska",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/CAMPSA":{tags:{name:"CAMPSA",amenity:"fuel"},name:"CAMPSA",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/CARREFOUR":{tags:{name:"CARREFOUR",amenity:"fuel"},name:"CARREFOUR",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/CEPSA":{tags:{name:"CEPSA",amenity:"fuel"},name:"CEPSA",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/CNG":{tags:{name:"CNG",amenity:"fuel"},name:"CNG",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Caltex":{tags:{name:"Caltex",amenity:"fuel"},name:"Caltex",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Campsa":{tags:{name:"Campsa",amenity:"fuel"},name:"Campsa",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Casey's General Store":{tags:{name:"Casey's General Store",amenity:"fuel"},name:"Casey's General Store",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Cenex":{tags:{name:"Cenex",amenity:"fuel"},name:"Cenex",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Cepsa":{tags:{name:"Cepsa",amenity:"fuel"},name:"Cepsa",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Ceypetco":{tags:{name:"Ceypetco",amenity:"fuel"},name:"Ceypetco",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Chevron":{tags:{name:"Chevron",amenity:"fuel"},name:"Chevron",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Citgo":{tags:{name:"Citgo",amenity:"fuel"},name:"Citgo",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Clark":{tags:{name:"Clark",amenity:"fuel"},name:"Clark",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Coles Express":{tags:{name:"Coles Express",amenity:"fuel"},name:"Coles Express",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Conoco":{tags:{name:"Conoco",amenity:"fuel"},name:"Conoco",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Copec":{tags:{name:"Copec",amenity:"fuel"},name:"Copec",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Copetrol":{tags:{name:"Copetrol",amenity:"fuel"},name:"Copetrol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Cosmo":{tags:{name:"Cosmo",amenity:"fuel"},name:"Cosmo",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Crodux":{tags:{name:"Crodux",amenity:"fuel"},name:"Crodux",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Delta":{tags:{name:"Delta",amenity:"fuel"},name:"Delta",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Diamond Shamrock":{tags:{name:"Diamond Shamrock",amenity:"fuel"},name:"Diamond Shamrock",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Drummed Fuel":{tags:{name:"Drummed Fuel",amenity:"fuel"},name:"Drummed Fuel",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/EKO":{tags:{name:"EKO",amenity:"fuel"},name:"EKO",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ENEOS":{tags:{name:"ENEOS",amenity:"fuel"},name:"ENEOS",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ENI":{tags:{name:"ENI",amenity:"fuel"},name:"ENI",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ERG":{tags:{name:"ERG",amenity:"fuel"},name:"ERG",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Elan":{tags:{name:"Elan",amenity:"fuel"},name:"Elan",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Eneos":{tags:{name:"Eneos",amenity:"fuel"},name:"Eneos",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Engen":{tags:{name:"Engen",amenity:"fuel"},name:"Engen",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Eni":{tags:{name:"Eni",amenity:"fuel"},name:"Eni",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Erg":{tags:{name:"Erg",amenity:"fuel"},name:"Erg",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Esso":{tags:{name:"Esso",amenity:"fuel"},name:"Esso",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Esso Express":{tags:{name:"Esso Express",amenity:"fuel"},name:"Esso Express",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/EuroOil":{tags:{name:"EuroOil",amenity:"fuel"},name:"EuroOil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Exxon":{tags:{name:"Exxon",amenity:"fuel"},name:"Exxon",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/F24":{tags:{name:"F24",amenity:"fuel"},name:"F24",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Firezone":{tags:{name:"Firezone",amenity:"fuel"},name:"Firezone",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Flying V":{tags:{name:"Flying V",amenity:"fuel"},name:"Flying V",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/GALP":{tags:{name:"GALP",amenity:"fuel"},name:"GALP",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Gazprom":{tags:{name:"Gazprom",amenity:"fuel"},name:"Gazprom",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/GetGo":{tags:{name:"GetGo",amenity:"fuel"},name:"GetGo",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Goil":{tags:{name:"Goil",amenity:"fuel"},name:"Goil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Gulf":{tags:{name:"Gulf",amenity:"fuel"},name:"Gulf",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/H-E-B Fuel":{tags:{name:"H-E-B Fuel",amenity:"fuel"},name:"H-E-B Fuel",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/H-E-B Gas":{tags:{name:"H-E-B Gas",amenity:"fuel"},name:"H-E-B Gas",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/HEM":{tags:{name:"HEM",amenity:"fuel"},name:"HEM",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/HP":{tags:{name:"HP",amenity:"fuel"},name:"HP",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/HP Petrol Pump":{tags:{name:"HP Petrol Pump",amenity:"fuel"},name:"HP Petrol Pump",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Helios":{tags:{name:"Helios",amenity:"fuel"},name:"Helios",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Hess":{tags:{name:"Hess",amenity:"fuel"},name:"Hess",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Hindustan Petroleum":{tags:{name:"Hindustan Petroleum",amenity:"fuel"},name:"Hindustan Petroleum",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Holiday":{tags:{name:"Holiday",amenity:"fuel"},name:"Holiday",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Husky":{tags:{name:"Husky",amenity:"fuel"},name:"Husky",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/IES":{tags:{name:"IES",amenity:"fuel"},name:"IES",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/IP":{tags:{name:"IP",amenity:"fuel"},name:"IP",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Independent Fuel Station":{tags:{name:"Independent Fuel Station",amenity:"fuel"},name:"Independent Fuel Station",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Indian Oil":{tags:{name:"Indian Oil",amenity:"fuel"},name:"Indian Oil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Indipend.":{tags:{name:"Indipend.",amenity:"fuel"},name:"Indipend.",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Ingo":{tags:{name:"Ingo",amenity:"fuel"},name:"Ingo",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Ipiranga":{tags:{name:"Ipiranga",amenity:"fuel"},name:"Ipiranga",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Irving":{tags:{name:"Irving",amenity:"fuel"},name:"Irving",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/JA-SS":{tags:{name:"JA-SS",amenity:"fuel"},name:"JA-SS",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/JOMO":{tags:{name:"JOMO",amenity:"fuel"},name:"JOMO",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Jet":{tags:{name:"Jet",amenity:"fuel"},name:"Jet",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Jetti":{tags:{name:"Jetti",amenity:"fuel"},name:"Jetti",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Kangaroo":{tags:{name:"Kangaroo",amenity:"fuel"},name:"Kangaroo",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Kobil":{tags:{name:"Kobil",amenity:"fuel"},name:"Kobil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Kroger Fuel":{tags:{name:"Kroger Fuel",amenity:"fuel"},name:"Kroger Fuel",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Kum & Go":{tags:{name:"Kum & Go",amenity:"fuel"},name:"Kum & Go",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Kwik Trip":{tags:{name:"Kwik Trip",amenity:"fuel"},name:"Kwik Trip",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/LPG":{tags:{name:"LPG",amenity:"fuel"},name:"LPG",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/LPG Station":{tags:{name:"LPG Station",amenity:"fuel"},name:"LPG Station",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/LUKOIL":{tags:{name:"LUKOIL",amenity:"fuel"},name:"LUKOIL",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Liberty":{tags:{name:"Liberty",amenity:"fuel"},name:"Liberty",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Lotos":{tags:{name:"Lotos",amenity:"fuel"},name:"Lotos",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Lotos Optima":{tags:{name:"Lotos Optima",amenity:"fuel"},name:"Lotos Optima",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Love's":{tags:{name:"Love's",amenity:"fuel"},name:"Love's",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Lukoil":{tags:{name:"Lukoil",amenity:"fuel"},name:"Lukoil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/MEROIL":{tags:{name:"MEROIL",amenity:"fuel"},name:"MEROIL",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/MOL":{tags:{name:"MOL",amenity:"fuel"},name:"MOL",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/MRS":{tags:{name:"MRS",amenity:"fuel"},name:"MRS",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Marathon":{tags:{name:"Marathon",amenity:"fuel"},name:"Marathon",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Maverik":{tags:{name:"Maverik",amenity:"fuel"},name:"Maverik",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Maxol":{tags:{name:"Maxol",amenity:"fuel"},name:"Maxol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Metano":{tags:{name:"Metano",amenity:"fuel"},name:"Metano",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Migrol":{tags:{name:"Migrol",amenity:"fuel"},name:"Migrol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Minipump":{tags:{name:"Minipump",amenity:"fuel"},name:"Minipump",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Mobil":{tags:{name:"Mobil",amenity:"fuel"},name:"Mobil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Mobile":{tags:{name:"Mobile",amenity:"fuel"},name:"Mobile",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Mol":{tags:{name:"Mol",amenity:"fuel"},name:"Mol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Moya":{tags:{name:"Moya",amenity:"fuel"},name:"Moya",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Murphy USA":{tags:{name:"Murphy USA",amenity:"fuel"},name:"Murphy USA",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Neste":{tags:{name:"Neste",amenity:"fuel"},name:"Neste",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/OIL!":{tags:{name:"OIL!",amenity:"fuel"},name:"OIL!",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/OK":{tags:{name:"OK",amenity:"fuel"},name:"OK",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/OKQ8":{tags:{name:"OKQ8",amenity:"fuel"},name:"OKQ8",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/OMV":{tags:{name:"OMV",amenity:"fuel"},name:"OMV",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Oilibya":{tags:{name:"Oilibya",brand:"Oilibya","name:ar":"أويليبيا",amenity:"fuel"},name:"Oilibya",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Opet":{tags:{name:"Opet",amenity:"fuel"},name:"Opet",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Orlen":{tags:{name:"Orlen",amenity:"fuel"},name:"Orlen",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/PETRONOR":{tags:{name:"PETRONOR",amenity:"fuel"},name:"PETRONOR",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/PSO":{tags:{name:"PSO",amenity:"fuel"},name:"PSO",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/PSO Petrol Pump":{tags:{name:"PSO Petrol Pump",amenity:"fuel"},name:"PSO Petrol Pump",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/PT":{tags:{name:"PT",amenity:"fuel"},name:"PT",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/PTT":{tags:{name:"PTT",amenity:"fuel"},name:"PTT",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/PV Oil":{tags:{name:"PV Oil",amenity:"fuel"},name:"PV Oil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Pacific Pride":{tags:{name:"Pacific Pride",amenity:"fuel"},name:"Pacific Pride",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Pecsa":{tags:{name:"Pecsa",amenity:"fuel"},name:"Pecsa",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Pemex":{tags:{name:"Pemex",amenity:"fuel"},name:"Pemex",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Pertamina":{tags:{name:"Pertamina",amenity:"fuel"},name:"Pertamina",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petro":{tags:{name:"Petro",amenity:"fuel"},name:"Petro",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petro-Canada":{tags:{name:"Petro-Canada",amenity:"fuel"},name:"Petro-Canada",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petrochina":{tags:{name:"Petrochina",amenity:"fuel"},name:"Petrochina",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petroecuador":{tags:{name:"Petroecuador",amenity:"fuel"},name:"Petroecuador",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petrol Ofisi":{tags:{name:"Petrol Ofisi",amenity:"fuel"},name:"Petrol Ofisi",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petrolimex":{tags:{name:"Petrolimex",amenity:"fuel"},name:"Petrolimex",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petrom":{tags:{name:"Petrom",amenity:"fuel"},name:"Petrom",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petron":{tags:{name:"Petron",amenity:"fuel"},name:"Petron",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petronas":{tags:{name:"Petronas",amenity:"fuel"},name:"Petronas",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Petroperu":{tags:{name:"Petroperu",amenity:"fuel"},name:"Petroperu",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Phillips 66":{tags:{name:"Phillips 66",amenity:"fuel"},name:"Phillips 66",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Phoenix":{tags:{name:"Phoenix",amenity:"fuel"},name:"Phoenix",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Pilot":{tags:{name:"Pilot",amenity:"fuel"},name:"Pilot",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Pioneer":{tags:{name:"Pioneer",amenity:"fuel"},name:"Pioneer",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Posto":{tags:{name:"Posto",amenity:"fuel"},name:"Posto",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Posto Atem":{tags:{name:"Posto Atem",amenity:"fuel"},name:"Posto Atem",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Posto Ipiranga":{tags:{name:"Posto Ipiranga",amenity:"fuel"},name:"Posto Ipiranga",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Posto Shell":{tags:{name:"Posto Shell",amenity:"fuel"},name:"Posto Shell",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Primax":{tags:{name:"Primax",amenity:"fuel"},name:"Primax",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Prio":{tags:{name:"Prio",amenity:"fuel"},name:"Prio",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Puma":{tags:{name:"Puma",amenity:"fuel"},name:"Puma",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Q1":{tags:{name:"Q1",amenity:"fuel"},name:"Q1",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Q8":{tags:{name:"Q8",amenity:"fuel"},name:"Q8",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Q8 Easy":{tags:{name:"Q8 Easy",amenity:"fuel"},name:"Q8 Easy",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/QuikTrip":{tags:{name:"QuikTrip",amenity:"fuel"},name:"QuikTrip",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/REPSOL":{tags:{name:"REPSOL",amenity:"fuel"},name:"REPSOL",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/RaceTrac":{tags:{name:"RaceTrac",amenity:"fuel"},name:"RaceTrac",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Repsol":{tags:{name:"Repsol",amenity:"fuel"},name:"Repsol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Rompetrol":{tags:{name:"Rompetrol",amenity:"fuel"},name:"Rompetrol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Rubis":{tags:{name:"Rubis",amenity:"fuel"},name:"Rubis",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/SB Tank":{tags:{name:"SB Tank",amenity:"fuel"},name:"SB Tank",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/SPBU":{tags:{name:"SPBU",amenity:"fuel"},name:"SPBU",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Sasol":{tags:{name:"Sasol",amenity:"fuel"},name:"Sasol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Sea Oil":{tags:{name:"Sea Oil",amenity:"fuel"},name:"Sea Oil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Sheetz":{tags:{name:"Sheetz",amenity:"fuel"},name:"Sheetz",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Shell":{tags:{name:"Shell",amenity:"fuel"},name:"Shell",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Shell Express":{tags:{name:"Shell Express",amenity:"fuel"},name:"Shell Express",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Sinclair":{tags:{name:"Sinclair",amenity:"fuel"},name:"Sinclair",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Sinopec":{tags:{name:"Sinopec",amenity:"fuel"},name:"Sinopec",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Sinopec Fuel":{tags:{name:"Sinopec Fuel",amenity:"fuel"},name:"Sinopec Fuel",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Slovnaft":{tags:{name:"Slovnaft",amenity:"fuel"},name:"Slovnaft",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Socar":{tags:{name:"Socar",amenity:"fuel"},name:"Socar",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Sokimex":{tags:{name:"Sokimex",amenity:"fuel"},name:"Sokimex",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Speedway":{tags:{name:"Speedway",amenity:"fuel"},name:"Speedway",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/St1":{tags:{name:"St1",amenity:"fuel"},name:"St1",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Star":{tags:{name:"Star",amenity:"fuel"},name:"Star",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Star Oil":{tags:{name:"Star Oil",amenity:"fuel"},name:"Star Oil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Station Service E. Leclerc":{tags:{name:"Station Service E. Leclerc",amenity:"fuel"},name:"Station Service E. Leclerc",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Statoil":{tags:{name:"Statoil",amenity:"fuel"},name:"Statoil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Sunoco":{tags:{name:"Sunoco",amenity:"fuel"},name:"Sunoco",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Tamoil":{tags:{name:"Tamoil",amenity:"fuel"},name:"Tamoil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Tango":{tags:{name:"Tango",amenity:"fuel"},name:"Tango",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Teboil":{tags:{name:"Teboil",amenity:"fuel"},name:"Teboil",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Tela":{tags:{name:"Tela",amenity:"fuel"},name:"Tela",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Terpel":{tags:{name:"Terpel",amenity:"fuel"},name:"Terpel",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Texaco":{tags:{name:"Texaco",amenity:"fuel"},name:"Texaco",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Tinq":{tags:{name:"Tinq",amenity:"fuel"},name:"Tinq",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Topaz":{tags:{name:"Topaz",amenity:"fuel"},name:"Topaz",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Total":{tags:{name:"Total",amenity:"fuel"},name:"Total",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Total Access":{tags:{name:"Total Access",amenity:"fuel"},name:"Total Access",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Total Erg":{tags:{name:"Total Erg",amenity:"fuel"},name:"Total Erg",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/TotalErg":{tags:{name:"TotalErg",amenity:"fuel"},name:"TotalErg",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Turkey Hill":{tags:{name:"Turkey Hill",amenity:"fuel"},name:"Turkey Hill",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Turmöl":{tags:{name:"Turmöl",amenity:"fuel"},name:"Turmöl",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Ultramar":{tags:{name:"Ultramar",amenity:"fuel"},name:"Ultramar",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/United":{tags:{name:"United",amenity:"fuel"},name:"United",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Uno":{tags:{name:"Uno",amenity:"fuel"},name:"Uno",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Uno-X":{tags:{name:"Uno-X",amenity:"fuel"},name:"Uno-X",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Valero":{tags:{name:"Valero",amenity:"fuel"},name:"Valero",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Vito":{tags:{name:"Vito",amenity:"fuel"},name:"Vito",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/WOG":{tags:{name:"WOG",amenity:"fuel"},name:"WOG",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Westfalen":{tags:{name:"Westfalen",amenity:"fuel"},name:"Westfalen",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Woolworths Petrol":{tags:{name:"Woolworths Petrol",amenity:"fuel"},name:"Woolworths Petrol",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Z":{tags:{name:"Z",amenity:"fuel"},name:"Z",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/bft":{tags:{name:"bft",amenity:"fuel"},name:"bft",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/eni":{tags:{name:"eni",amenity:"fuel"},name:"eni",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ΕΚΟ":{tags:{name:"ΕΚΟ",amenity:"fuel"},name:"ΕΚΟ",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/АГЗС":{tags:{name:"АГЗС",amenity:"fuel"},name:"АГЗС",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/АЗС":{tags:{name:"АЗС",amenity:"fuel"},name:"АЗС",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Авіас":{tags:{name:"Авіас",amenity:"fuel"},name:"Авіас",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/БРСМ-Нафта":{tags:{name:"БРСМ-Нафта",amenity:"fuel"},name:"БРСМ-Нафта",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Башнефть":{tags:{name:"Башнефть",amenity:"fuel"},name:"Башнефть",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Белоруснефть":{tags:{name:"Белоруснефть",amenity:"fuel"},name:"Белоруснефть",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Газовая заправка":{tags:{name:"Газовая заправка",amenity:"fuel"},name:"Газовая заправка",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Газпромнефть":{tags:{name:"Газпромнефть",amenity:"fuel"},name:"Газпромнефть",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Гелиос":{tags:{name:"Гелиос",amenity:"fuel"},name:"Гелиос",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ЕКА":{tags:{name:"ЕКА",amenity:"fuel"},name:"ЕКА",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Заправка":{tags:{name:"Заправка",amenity:"fuel"},name:"Заправка",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/КазМунайГаз":{tags:{name:"КазМунайГаз",amenity:"fuel"},name:"КазМунайГаз",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Лукойл":{tags:{name:"Лукойл",amenity:"fuel"},name:"Лукойл",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Макпетрол":{tags:{name:"Макпетрол",amenity:"fuel"},name:"Макпетрол",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/НК Альянс":{tags:{name:"НК Альянс",amenity:"fuel"},name:"НК Альянс",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Нефтьмагистраль":{tags:{name:"Нефтьмагистраль",amenity:"fuel"},name:"Нефтьмагистраль",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ОККО":{tags:{name:"ОККО",amenity:"fuel"},name:"ОККО",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ОМВ":{tags:{name:"ОМВ",amenity:"fuel"},name:"ОМВ",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Октан":{tags:{name:"Октан",amenity:"fuel"},name:"Октан",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ПТК":{tags:{name:"ПТК",amenity:"fuel"},name:"ПТК",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Петрол":{tags:{name:"Петрол",amenity:"fuel"},name:"Петрол",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Пропан":{tags:{name:"Пропан",amenity:"fuel"},name:"Пропан",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Роснефть":{tags:{name:"Роснефть",amenity:"fuel"},name:"Роснефть",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Сибнефть":{tags:{name:"Сибнефть",amenity:"fuel"},name:"Сибнефть",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Сургутнефтегаз":{tags:{name:"Сургутнефтегаз",amenity:"fuel"},name:"Сургутнефтегаз",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ТНК":{tags:{name:"ТНК",amenity:"fuel"},name:"ТНК",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Татнефтепродукт":{tags:{name:"Татнефтепродукт",amenity:"fuel"},name:"Татнефтепродукт",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Татнефть":{tags:{name:"Татнефть",amenity:"fuel"},name:"Татнефть",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/Укрнафта":{tags:{name:"Укрнафта",amenity:"fuel"},name:"Укрнафта",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/דור אלון":{tags:{name:"דור אלון",amenity:"fuel"},name:"דור אלון",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/דלק":{tags:{name:"דלק",amenity:"fuel"},name:"דלק",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/סונול":{tags:{name:"סונול",amenity:"fuel"},name:"סונול",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/פז":{tags:{name:"פז",amenity:"fuel"},name:"פז",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/محطة وقود":{tags:{name:"محطة وقود",amenity:"fuel"},name:"محطة وقود",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/محطه وقود":{tags:{name:"محطه وقود",amenity:"fuel"},name:"محطه وقود",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/پمپ بنزین":{tags:{name:"پمپ بنزین",amenity:"fuel"},name:"پمپ بنزین",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/پمپ گاز":{tags:{name:"پمپ گاز",amenity:"fuel"},name:"پمپ گاز",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/บางจาก":{tags:{name:"บางจาก",amenity:"fuel"},name:"บางจาก",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ป.ต.ท.":{tags:{name:"ป.ต.ท.",amenity:"fuel"},name:"ป.ต.ท.",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/เชลล์":{tags:{name:"เชลล์",amenity:"fuel"},name:"เชลล์",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/เอสโซ่":{tags:{name:"เอสโซ่",amenity:"fuel"},name:"เอสโซ่",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/エッソ":{tags:{name:"エッソ",amenity:"fuel"},name:"エッソ",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/エネオス":{tags:{name:"エネオス",amenity:"fuel"},name:"エネオス",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/コスモ石油":{tags:{name:"コスモ石油",amenity:"fuel"},name:"コスモ石油",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/ゼネラル":{tags:{name:"ゼネラル",amenity:"fuel"},name:"ゼネラル",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/中国石化":{tags:{name:"中国石化",amenity:"fuel"},name:"中国石化",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/中国石化 Sinopec":{tags:{name:"中国石化 Sinopec",amenity:"fuel"},name:"中国石化 Sinopec",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/中国石油":{tags:{name:"中国石油",amenity:"fuel"},name:"中国石油",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/中油":{tags:{name:"中油",amenity:"fuel"},name:"中油",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/出光":{tags:{name:"出光","name:en":"Idemitsu",amenity:"fuel"},name:"出光",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/加油站":{tags:{name:"加油站",amenity:"fuel"},name:"加油站",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/台灣中油":{tags:{name:"台灣中油",amenity:"fuel"},name:"台灣中油",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/fuel/昭和シェル":{tags:{name:"昭和シェル",amenity:"fuel"},name:"昭和シェル",icon:"maki-fuel",geometry:["point","area"],fields:["name","brand","operator","address","fuel_multi","opening_hours","payment_multi"],suggestion:true},"amenity/hospital/Cruz Roja":{tags:{name:"Cruz Roja",healthcare:"hospital",amenity:"hospital"},name:"Cruz Roja",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/IMSS":{tags:{name:"IMSS",healthcare:"hospital",amenity:"hospital"},name:"IMSS",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/Инфекционное отделение":{tags:{name:"Инфекционное отделение",healthcare:"hospital",amenity:"hospital"},name:"Инфекционное отделение",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/Кожно-венерологический диспансер":{tags:{name:"Кожно-венерологический диспансер",healthcare:"hospital",amenity:"hospital"},name:"Кожно-венерологический диспансер",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/Районная больница":{tags:{name:"Районная больница",healthcare:"hospital",amenity:"hospital"},name:"Районная больница",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/Роддом":{tags:{name:"Роддом",healthcare:"hospital",amenity:"hospital"},name:"Роддом",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/Родильный дом":{tags:{name:"Родильный дом",healthcare:"hospital",amenity:"hospital"},name:"Родильный дом",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/Скорая помощь":{tags:{name:"Скорая помощь",healthcare:"hospital",amenity:"hospital"},name:"Скорая помощь",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/ЦРБ":{tags:{name:"ЦРБ",healthcare:"hospital",amenity:"hospital"},name:"ЦРБ",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/Центральная районная больница":{tags:{name:"Центральная районная больница",healthcare:"hospital",amenity:"hospital"},name:"Центральная районная больница",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/hospital/โรงพยาบาลส่งเสริมสุขภาพตำบล":{tags:{name:"โรงพยาบาลส่งเสริมสุขภาพตำบล",healthcare:"hospital",amenity:"hospital"},name:"โรงพยาบาลส่งเสริมสุขภาพตำบล",icon:"maki-hospital",geometry:["point","area"],fields:["name","operator","healthcare/speciality","address","emergency"],suggestion:true},"amenity/ice_cream/Grido":{tags:{name:"Grido",amenity:"ice_cream"},name:"Grido",icon:"maki-ice-cream",geometry:["point","area"],fields:["name","address","building_area","opening_hours","takeaway","delivery","outdoor_seating"],suggestion:true},"amenity/kindergarten/Anganwadi":{tags:{name:"Anganwadi",amenity:"kindergarten"},name:"Anganwadi",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Arche Noah":{tags:{name:"Arche Noah",amenity:"kindergarten"},name:"Arche Noah",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/CONAFE Preescolar":{tags:{name:"CONAFE Preescolar",amenity:"kindergarten"},name:"CONAFE Preescolar",icon:"maki-school",geometry:["point","area"],fields:["name","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:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Estefania Casta�eda":{tags:{name:"Estefania Casta�eda",amenity:"kindergarten"},name:"Estefania Casta�eda",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Evangelischer Kindergarten":{tags:{name:"Evangelischer Kindergarten",amenity:"kindergarten"},name:"Evangelischer Kindergarten",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Federico Froebel":{tags:{name:"Federico Froebel",amenity:"kindergarten"},name:"Federico Froebel",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Gabriela Mistral":{tags:{name:"Gabriela Mistral",amenity:"kindergarten"},name:"Gabriela Mistral",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Jean Piaget":{tags:{name:"Jean Piaget",amenity:"kindergarten"},name:"Jean Piaget",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Katholischer Kindergarten":{tags:{name:"Katholischer Kindergarten",amenity:"kindergarten"},name:"Katholischer Kindergarten",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Kindergarten Regenbogen":{tags:{name:"Kindergarten Regenbogen",amenity:"kindergarten"},name:"Kindergarten Regenbogen",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Kindergarten St. Josef":{tags:{name:"Kindergarten St. Josef",amenity:"kindergarten"},name:"Kindergarten St. Josef",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Kindergarten St. Martin":{tags:{name:"Kindergarten St. Martin",amenity:"kindergarten"},name:"Kindergarten St. Martin",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Maria Montessori":{tags:{name:"Maria Montessori",amenity:"kindergarten"},name:"Maria Montessori",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/PAUD":{tags:{name:"PAUD",amenity:"kindergarten"},name:"PAUD",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Pusteblume":{tags:{name:"Pusteblume",amenity:"kindergarten"},name:"Pusteblume",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Rosaura Zapata":{tags:{name:"Rosaura Zapata",amenity:"kindergarten"},name:"Rosaura Zapata",icon:"maki-school",geometry:["point","area"],fields:["name","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:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Spatzennest":{tags:{name:"Spatzennest",amenity:"kindergarten"},name:"Spatzennest",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Städtischer Kindergarten":{tags:{name:"Städtischer Kindergarten",amenity:"kindergarten"},name:"Städtischer Kindergarten",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Villa Kunterbunt":{tags:{name:"Villa Kunterbunt",amenity:"kindergarten"},name:"Villa Kunterbunt",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Waldkindergarten":{tags:{name:"Waldkindergarten",amenity:"kindergarten"},name:"Waldkindergarten",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Waldorfkindergarten":{tags:{name:"Waldorfkindergarten",amenity:"kindergarten"},name:"Waldorfkindergarten",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Óvoda":{tags:{name:"Óvoda",amenity:"kindergarten"},name:"Óvoda",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детсад":{tags:{name:"Детсад",amenity:"kindergarten"},name:"Детсад",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад Солнышко":{tags:{name:"Детский сад Солнышко",amenity:"kindergarten"},name:"Детский сад Солнышко",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад № 1":{tags:{name:"Детский сад № 1",amenity:"kindergarten"},name:"Детский сад № 1",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №1":{tags:{name:"Детский сад №1",amenity:"kindergarten"},name:"Детский сад №1",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №10":{tags:{name:"Детский сад №10",amenity:"kindergarten"},name:"Детский сад №10",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №11":{tags:{name:"Детский сад №11",amenity:"kindergarten"},name:"Детский сад №11",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №12":{tags:{name:"Детский сад №12",amenity:"kindergarten"},name:"Детский сад №12",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №13":{tags:{name:"Детский сад №13",amenity:"kindergarten"},name:"Детский сад №13",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №14":{tags:{name:"Детский сад №14",amenity:"kindergarten"},name:"Детский сад №14",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №15":{tags:{name:"Детский сад №15",amenity:"kindergarten"},name:"Детский сад №15",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №16":{tags:{name:"Детский сад №16",amenity:"kindergarten"},name:"Детский сад №16",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №17":{tags:{name:"Детский сад №17",amenity:"kindergarten"},name:"Детский сад №17",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №18":{tags:{name:"Детский сад №18",amenity:"kindergarten"},name:"Детский сад №18",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №19":{tags:{name:"Детский сад №19",amenity:"kindergarten"},name:"Детский сад №19",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №2":{tags:{name:"Детский сад №2",amenity:"kindergarten"},name:"Детский сад №2",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №22":{tags:{name:"Детский сад №22",amenity:"kindergarten"},name:"Детский сад №22",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №24":{tags:{name:"Детский сад №24",amenity:"kindergarten"},name:"Детский сад №24",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №25":{tags:{name:"Детский сад №25",amenity:"kindergarten"},name:"Детский сад №25",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №27":{tags:{name:"Детский сад №27",amenity:"kindergarten"},name:"Детский сад №27",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №29":{tags:{name:"Детский сад №29",amenity:"kindergarten"},name:"Детский сад №29",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №3":{tags:{name:"Детский сад №3",amenity:"kindergarten"},name:"Детский сад №3",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №33":{tags:{name:"Детский сад №33",amenity:"kindergarten"},name:"Детский сад №33",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №4":{tags:{name:"Детский сад №4",amenity:"kindergarten"},name:"Детский сад №4",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №5":{tags:{name:"Детский сад №5",amenity:"kindergarten"},name:"Детский сад №5",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №6":{tags:{name:"Детский сад №6",amenity:"kindergarten"},name:"Детский сад №6",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №7":{tags:{name:"Детский сад №7",amenity:"kindergarten"},name:"Детский сад №7",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №8":{tags:{name:"Детский сад №8",amenity:"kindergarten"},name:"Детский сад №8",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Детский сад №9":{tags:{name:"Детский сад №9",amenity:"kindergarten"},name:"Детский сад №9",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Дитячий садок":{tags:{name:"Дитячий садок",amenity:"kindergarten"},name:"Дитячий садок",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/Солнышко":{tags:{name:"Солнышко",amenity:"kindergarten"},name:"Солнышко",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/საბავშვო ბაღი":{tags:{name:"საბავშვო ბაღი",amenity:"kindergarten"},name:"საბავშვო ბაღი",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/kindergarten/中央保育所":{tags:{name:"中央保育所",amenity:"kindergarten"},name:"中央保育所",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address"],suggestion:true},"amenity/library/Biblioteca Comunale":{tags:{name:"Biblioteca Comunale",amenity:"library"},name:"Biblioteca Comunale",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Biblioteca comunale":{tags:{name:"Biblioteca comunale",amenity:"library"},name:"Biblioteca comunale",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Biblioteka Publiczna":{tags:{name:"Biblioteka Publiczna",amenity:"library"},name:"Biblioteka Publiczna",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Bibliothèque Municipale":{tags:{name:"Bibliothèque Municipale",amenity:"library"},name:"Bibliothèque Municipale",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Bibliothèque municipale":{tags:{name:"Bibliothèque municipale",amenity:"library"},name:"Bibliothèque municipale",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Bücherei":{tags:{name:"Bücherei",amenity:"library"},name:"Bücherei",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Central Library":{tags:{name:"Central Library",amenity:"library"},name:"Central Library",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Gemeindebücherei":{tags:{name:"Gemeindebücherei",amenity:"library"},name:"Gemeindebücherei",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Gminna Biblioteka Publiczna":{tags:{name:"Gminna Biblioteka Publiczna",amenity:"library"},name:"Gminna Biblioteka Publiczna",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Miejska Biblioteka Publiczna":{tags:{name:"Miejska Biblioteka Publiczna",amenity:"library"},name:"Miejska Biblioteka Publiczna",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Médiathèque":{tags:{name:"Médiathèque",amenity:"library"},name:"Médiathèque",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Městská knihovna":{tags:{name:"Městská knihovna",amenity:"library"},name:"Městská knihovna",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Public Library":{tags:{name:"Public Library",amenity:"library"},name:"Public Library",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Stadtbibliothek":{tags:{name:"Stadtbibliothek",amenity:"library"},name:"Stadtbibliothek",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Stadtbücherei":{tags:{name:"Stadtbücherei",amenity:"library"},name:"Stadtbücherei",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Городская библиотека":{tags:{name:"Городская библиотека",amenity:"library"},name:"Городская библиотека",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Детская библиотека":{tags:{name:"Детская библиотека",amenity:"library"},name:"Детская библиотека",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Центральная библиотека":{tags:{name:"Центральная библиотека",amenity:"library"},name:"Центральная библиотека",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/Центральная городская библиотека":{tags:{name:"Центральная городская библиотека",amenity:"library"},name:"Центральная городская библиотека",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/library/图书馆":{tags:{name:"图书馆",amenity:"library"},name:"图书馆",icon:"maki-library",geometry:["point","area"],fields:["name","operator","building_area","address","opening_hours","internet_access","internet_access/fee","internet_access/ssid","ref/isil"],suggestion:true},"amenity/pharmacy/36.6":{tags:{name:"36.6",healthcare:"pharmacy",amenity:"pharmacy"},name:"36.6",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Adler-Apotheke":{tags:{name:"Adler-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Adler-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Alte Apotheke":{tags:{name:"Alte Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Alte Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Apollo Pharmacy":{tags:{name:"Apollo Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"Apollo Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Apotek":{tags:{name:"Apotek",healthcare:"pharmacy",amenity:"pharmacy"},name:"Apotek",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Apotek Hjärtat":{tags:{name:"Apotek Hjärtat",healthcare:"pharmacy",amenity:"pharmacy"},name:"Apotek Hjärtat",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Apotheke am Markt":{tags:{name:"Apotheke am Markt",healthcare:"pharmacy",amenity:"pharmacy"},name:"Apotheke am Markt",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Bahnhof Apotheke":{tags:{name:"Bahnhof Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Bahnhof Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Bahnhof-Apotheke":{tags:{name:"Bahnhof-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Bahnhof-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Bartell Drugs":{tags:{name:"Bartell Drugs",healthcare:"pharmacy",amenity:"pharmacy"},name:"Bartell Drugs",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Benavides":{tags:{name:"Benavides",healthcare:"pharmacy",amenity:"pharmacy"},name:"Benavides",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Benu":{tags:{name:"Benu",healthcare:"pharmacy",amenity:"pharmacy"},name:"Benu",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Boots":{tags:{name:"Boots",healthcare:"pharmacy",amenity:"pharmacy"},name:"Boots",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Botica":{tags:{name:"Botica",healthcare:"pharmacy",amenity:"pharmacy"},name:"Botica",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Brunnen-Apotheke":{tags:{name:"Brunnen-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Brunnen-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Burg-Apotheke":{tags:{name:"Burg-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Burg-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Bären-Apotheke":{tags:{name:"Bären-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Bären-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/CVS":{tags:{name:"CVS",healthcare:"pharmacy",amenity:"pharmacy"},name:"CVS",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Camelia":{tags:{name:"Camelia",healthcare:"pharmacy",amenity:"pharmacy"},name:"Camelia",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Catena":{tags:{name:"Catena",healthcare:"pharmacy",amenity:"pharmacy"},name:"Catena",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Chemist Warehouse":{tags:{name:"Chemist Warehouse",healthcare:"pharmacy",amenity:"pharmacy"},name:"Chemist Warehouse",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Clicks":{tags:{name:"Clicks",healthcare:"pharmacy",amenity:"pharmacy"},name:"Clicks",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Cruz Azul":{tags:{name:"Cruz Azul",healthcare:"pharmacy",amenity:"pharmacy"},name:"Cruz Azul",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Cruz Verde":{tags:{name:"Cruz Verde",healthcare:"pharmacy",amenity:"pharmacy"},name:"Cruz Verde",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Dbam o Zdrowie":{tags:{name:"Dbam o Zdrowie",healthcare:"pharmacy",amenity:"pharmacy"},name:"Dbam o Zdrowie",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Dr. Max":{tags:{name:"Dr. Max",healthcare:"pharmacy",amenity:"pharmacy"},name:"Dr. Max",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Droga Raia":{tags:{name:"Droga Raia",healthcare:"pharmacy",amenity:"pharmacy"},name:"Droga Raia",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Drogaria São Paulo":{tags:{name:"Drogaria São Paulo",healthcare:"pharmacy",amenity:"pharmacy"},name:"Drogaria São Paulo",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Drogasil":{tags:{name:"Drogasil",healthcare:"pharmacy",amenity:"pharmacy"},name:"Drogasil",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Duane Reade":{tags:{name:"Duane Reade",healthcare:"pharmacy",amenity:"pharmacy"},name:"Duane Reade",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Eczane":{tags:{name:"Eczane",healthcare:"pharmacy",amenity:"pharmacy"},name:"Eczane",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Engel-Apotheke":{tags:{name:"Engel-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Engel-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Eurovaistinė":{tags:{name:"Eurovaistinė",healthcare:"pharmacy",amenity:"pharmacy"},name:"Eurovaistinė",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Familiprix":{tags:{name:"Familiprix",healthcare:"pharmacy",amenity:"pharmacy"},name:"Familiprix",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacenter":{tags:{name:"Farmacenter",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacenter",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacia Centrale":{tags:{name:"Farmacia Centrale",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacia Centrale",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacia Comunale":{tags:{name:"Farmacia Comunale",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacia Comunale",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacia Guadalajara":{tags:{name:"Farmacia Guadalajara",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacia Guadalajara",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacia del Ahorro":{tags:{name:"Farmacia del Ahorro",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacia del Ahorro",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias Ahumada":{tags:{name:"Farmacias Ahumada",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias Ahumada",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias Cruz Azul":{tags:{name:"Farmacias Cruz Azul",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias Cruz Azul",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias Cruz Verde":{tags:{name:"Farmacias Cruz Verde",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias Cruz Verde",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias Económicas":{tags:{name:"Farmacias Económicas",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias Económicas",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias Guadalajara":{tags:{name:"Farmacias Guadalajara",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias Guadalajara",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias SalcoBrand":{tags:{name:"Farmacias SalcoBrand",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias SalcoBrand",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias Sana Sana":{tags:{name:"Farmacias Sana Sana",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias Sana Sana",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias Similares":{tags:{name:"Farmacias Similares",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias Similares",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacias del Ahorro":{tags:{name:"Farmacias del Ahorro",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacias del Ahorro",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmacity":{tags:{name:"Farmacity",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmacity",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmahorro":{tags:{name:"Farmahorro",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmahorro",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Farmatodo":{tags:{name:"Farmatodo",healthcare:"pharmacy",amenity:"pharmacy"},name:"Farmatodo",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Felicia":{tags:{name:"Felicia",healthcare:"pharmacy",amenity:"pharmacy"},name:"Felicia",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Fybeca":{tags:{name:"Fybeca",healthcare:"pharmacy",amenity:"pharmacy"},name:"Fybeca",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Generika Drugstore":{tags:{name:"Generika Drugstore",healthcare:"pharmacy",amenity:"pharmacy"},name:"Generika Drugstore",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Gintarinė vaistinė":{tags:{name:"Gintarinė vaistinė",healthcare:"pharmacy",amenity:"pharmacy"},name:"Gintarinė vaistinė",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Guardian":{tags:{name:"Guardian",healthcare:"pharmacy",amenity:"pharmacy"},name:"Guardian",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Gyógyszertár":{tags:{name:"Gyógyszertár",healthcare:"pharmacy",amenity:"pharmacy"},name:"Gyógyszertár",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/H-E-B Pharmacy":{tags:{name:"H-E-B Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"H-E-B Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Hirsch-Apotheke":{tags:{name:"Hirsch-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Hirsch-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Hubertus Apotheke":{tags:{name:"Hubertus Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Hubertus Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Inkafarma":{tags:{name:"Inkafarma",healthcare:"pharmacy",amenity:"pharmacy"},name:"Inkafarma",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Jean Coutu":{tags:{name:"Jean Coutu",healthcare:"pharmacy",amenity:"pharmacy"},name:"Jean Coutu",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Kinney Drugs":{tags:{name:"Kinney Drugs",healthcare:"pharmacy",amenity:"pharmacy"},name:"Kinney Drugs",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Kur-Apotheke":{tags:{name:"Kur-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Kur-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Linden-Apotheke":{tags:{name:"Linden-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Linden-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Ljekarna":{tags:{name:"Ljekarna",healthcare:"pharmacy",amenity:"pharmacy"},name:"Ljekarna",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Lloyds Pharmacy":{tags:{name:"Lloyds Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"Lloyds Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Lékárna":{tags:{name:"Lékárna",healthcare:"pharmacy",amenity:"pharmacy"},name:"Lékárna",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Löwen-Apotheke":{tags:{name:"Löwen-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Löwen-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Marien-Apotheke":{tags:{name:"Marien-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Marien-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Markt-Apotheke":{tags:{name:"Markt-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Markt-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Mercury Drug":{tags:{name:"Mercury Drug",healthcare:"pharmacy",amenity:"pharmacy"},name:"Mercury Drug",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Mifarma":{tags:{name:"Mifarma",healthcare:"pharmacy",amenity:"pharmacy"},name:"Mifarma",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Mēness aptieka":{tags:{name:"Mēness aptieka",healthcare:"pharmacy",amenity:"pharmacy"},name:"Mēness aptieka",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Neue Apotheke":{tags:{name:"Neue Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Neue Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pague Menos":{tags:{name:"Pague Menos",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pague Menos",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Panvel":{tags:{name:"Panvel",healthcare:"pharmacy",amenity:"pharmacy"},name:"Panvel",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Park-Apotheke":{tags:{name:"Park-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Park-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie Centrale":{tags:{name:"Pharmacie Centrale",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie Centrale",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie Principale":{tags:{name:"Pharmacie Principale",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie Principale",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie de l'Hôtel de Ville":{tags:{name:"Pharmacie de l'Hôtel de Ville",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie de l'Hôtel de Ville",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie de la Gare":{tags:{name:"Pharmacie de la Gare",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie de la Gare",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie de la Mairie":{tags:{name:"Pharmacie de la Mairie",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie de la Mairie",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie de la Poste":{tags:{name:"Pharmacie de la Poste",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie de la Poste",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie du Centre":{tags:{name:"Pharmacie du Centre",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie du Centre",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie du Marché":{tags:{name:"Pharmacie du Marché",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie du Marché",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmacie du Parc":{tags:{name:"Pharmacie du Parc",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmacie du Parc",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmaprix":{tags:{name:"Pharmaprix",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmaprix",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Pharmasave":{tags:{name:"Pharmasave",healthcare:"pharmacy",amenity:"pharmacy"},name:"Pharmasave",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Punkt Apteczny":{tags:{name:"Punkt Apteczny",healthcare:"pharmacy",amenity:"pharmacy"},name:"Punkt Apteczny",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Rathaus-Apotheke":{tags:{name:"Rathaus-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Rathaus-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Rats-Apotheke":{tags:{name:"Rats-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Rats-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Rexall":{tags:{name:"Rexall",healthcare:"pharmacy",amenity:"pharmacy"},name:"Rexall",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Rite Aid":{tags:{name:"Rite Aid",healthcare:"pharmacy",amenity:"pharmacy"},name:"Rite Aid",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Rose Pharmacy":{tags:{name:"Rose Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"Rose Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Rosen-Apotheke":{tags:{name:"Rosen-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Rosen-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Rowlands Pharmacy":{tags:{name:"Rowlands Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"Rowlands Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/SalcoBrand":{tags:{name:"SalcoBrand",healthcare:"pharmacy",amenity:"pharmacy"},name:"SalcoBrand",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Sana Sana":{tags:{name:"Sana Sana",healthcare:"pharmacy",amenity:"pharmacy"},name:"Sana Sana",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Schloss-Apotheke":{tags:{name:"Schloss-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Schloss-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Sensiblu":{tags:{name:"Sensiblu",healthcare:"pharmacy",amenity:"pharmacy"},name:"Sensiblu",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Shoppers Drug Mart":{tags:{name:"Shoppers Drug Mart",healthcare:"pharmacy",amenity:"pharmacy"},name:"Shoppers Drug Mart",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Sonnen-Apotheke":{tags:{name:"Sonnen-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Sonnen-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/South Star Drug":{tags:{name:"South Star Drug",healthcare:"pharmacy",amenity:"pharmacy"},name:"South Star Drug",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Stadt-Apotheke":{tags:{name:"Stadt-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Stadt-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Stern-Apotheke":{tags:{name:"Stern-Apotheke",healthcare:"pharmacy",amenity:"pharmacy"},name:"Stern-Apotheke",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Superdrug":{tags:{name:"Superdrug",healthcare:"pharmacy",amenity:"pharmacy"},name:"Superdrug",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/São João":{tags:{name:"São João",healthcare:"pharmacy",amenity:"pharmacy"},name:"São João",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/The Generics Pharmacy":{tags:{name:"The Generics Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"The Generics Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Uniprix":{tags:{name:"Uniprix",healthcare:"pharmacy",amenity:"pharmacy"},name:"Uniprix",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Walgreens":{tags:{name:"Walgreens",healthcare:"pharmacy",amenity:"pharmacy"},name:"Walgreens",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Walgreens Pharmacy":{tags:{name:"Walgreens Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"Walgreens Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Walmart Pharmacy":{tags:{name:"Walmart Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"Walmart Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Well Pharmacy":{tags:{name:"Well Pharmacy",healthcare:"pharmacy",amenity:"pharmacy"},name:"Well Pharmacy",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/centro naturista":{tags:{name:"centro naturista",healthcare:"pharmacy",amenity:"pharmacy"},name:"centro naturista",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/А5":{tags:{name:"А5",healthcare:"pharmacy",amenity:"pharmacy"},name:"А5",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Айболит":{tags:{name:"Айболит",healthcare:"pharmacy",amenity:"pharmacy"},name:"Айболит",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Аптека 36,6":{tags:{name:"Аптека 36,6",healthcare:"pharmacy",amenity:"pharmacy"},name:"Аптека 36,6",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Аптека низких цен":{tags:{name:"Аптека низких цен",healthcare:"pharmacy",amenity:"pharmacy"},name:"Аптека низких цен",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Аптека низьких цін":{tags:{name:"Аптека низьких цін",healthcare:"pharmacy",amenity:"pharmacy"},name:"Аптека низьких цін",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Аптека от склада":{tags:{name:"Аптека от склада",healthcare:"pharmacy",amenity:"pharmacy"},name:"Аптека от склада",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Аптека №1":{tags:{name:"Аптека №1",healthcare:"pharmacy",amenity:"pharmacy"},name:"Аптека №1",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Аптечный пункт":{tags:{name:"Аптечный пункт",healthcare:"pharmacy",amenity:"pharmacy"},name:"Аптечный пункт",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Арніка":{tags:{name:"Арніка",healthcare:"pharmacy",amenity:"pharmacy"},name:"Арніка",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Бережная аптека":{tags:{name:"Бережная аптека",healthcare:"pharmacy",amenity:"pharmacy"},name:"Бережная аптека",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Будь здоров":{tags:{name:"Будь здоров",healthcare:"pharmacy",amenity:"pharmacy"},name:"Будь здоров",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Вита":{tags:{name:"Вита",healthcare:"pharmacy",amenity:"pharmacy"},name:"Вита",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Горздрав":{tags:{name:"Горздрав",healthcare:"pharmacy",amenity:"pharmacy"},name:"Горздрав",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Живика":{tags:{name:"Живика",healthcare:"pharmacy",amenity:"pharmacy"},name:"Живика",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Здоровье":{tags:{name:"Здоровье",healthcare:"pharmacy",amenity:"pharmacy"},name:"Здоровье",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Имплозия":{tags:{name:"Имплозия",healthcare:"pharmacy",amenity:"pharmacy"},name:"Имплозия",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Классика":{tags:{name:"Классика",healthcare:"pharmacy",amenity:"pharmacy"},name:"Классика",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Ладушка":{tags:{name:"Ладушка",healthcare:"pharmacy",amenity:"pharmacy"},name:"Ладушка",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Мед-сервіс":{tags:{name:"Мед-сервіс",healthcare:"pharmacy",amenity:"pharmacy"},name:"Мед-сервіс",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Мелодия здоровья":{tags:{name:"Мелодия здоровья",healthcare:"pharmacy",amenity:"pharmacy"},name:"Мелодия здоровья",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Невис":{tags:{name:"Невис",healthcare:"pharmacy",amenity:"pharmacy"},name:"Невис",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Норма":{tags:{name:"Норма",healthcare:"pharmacy",amenity:"pharmacy"},name:"Норма",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Озерки":{tags:{name:"Озерки",healthcare:"pharmacy",amenity:"pharmacy"},name:"Озерки",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Панацея":{tags:{name:"Панацея",healthcare:"pharmacy",amenity:"pharmacy"},name:"Панацея",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Первая помощь":{tags:{name:"Первая помощь",healthcare:"pharmacy",amenity:"pharmacy"},name:"Первая помощь",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Планета здоровья":{tags:{name:"Планета здоровья",healthcare:"pharmacy",amenity:"pharmacy"},name:"Планета здоровья",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Ригла":{tags:{name:"Ригла",healthcare:"pharmacy",amenity:"pharmacy"},name:"Ригла",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Семейная":{tags:{name:"Семейная",healthcare:"pharmacy",amenity:"pharmacy"},name:"Семейная",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Социальная аптека":{tags:{name:"Социальная аптека",healthcare:"pharmacy",amenity:"pharmacy"},name:"Социальная аптека",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Столички":{tags:{name:"Столички",healthcare:"pharmacy",amenity:"pharmacy"},name:"Столички",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Фармакопейка":{tags:{name:"Фармакопейка",healthcare:"pharmacy",amenity:"pharmacy"},name:"Фармакопейка",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Фармакор":{tags:{name:"Фармакор",healthcare:"pharmacy",amenity:"pharmacy"},name:"Фармакор",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Фармация":{tags:{name:"Фармация",healthcare:"pharmacy",amenity:"pharmacy"},name:"Фармация",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Фармленд":{tags:{name:"Фармленд",healthcare:"pharmacy",amenity:"pharmacy"},name:"Фармленд",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/Центральная аптека":{tags:{name:"Центральная аптека",healthcare:"pharmacy",amenity:"pharmacy"},name:"Центральная аптека",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/סופר-פארם":{tags:{name:"סופר-פארם",healthcare:"pharmacy",amenity:"pharmacy"},name:"סופר-פארם",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/داروخانه":{tags:{name:"داروخانه",healthcare:"pharmacy",amenity:"pharmacy"},name:"داروخانه",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/داروخانه شبانه روزی":{tags:{name:"داروخانه شبانه روزی",healthcare:"pharmacy",amenity:"pharmacy"},name:"داروخانه شبانه روزی",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/صيدلية":{tags:{name:"صيدلية",healthcare:"pharmacy",amenity:"pharmacy"},name:"صيدلية",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/くすりの福太郎":{tags:{name:"くすりの福太郎",healthcare:"pharmacy",amenity:"pharmacy"},name:"くすりの福太郎",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/さくら薬局":{tags:{name:"さくら薬局",healthcare:"pharmacy",amenity:"pharmacy"},name:"さくら薬局",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/ウエルシア":{tags:{name:"ウエルシア",healthcare:"pharmacy",amenity:"pharmacy"},name:"ウエルシア",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/カワチ薬品":{tags:{name:"カワチ薬品",healthcare:"pharmacy",amenity:"pharmacy"},name:"カワチ薬品",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/クリエイト":{tags:{name:"クリエイト",healthcare:"pharmacy",amenity:"pharmacy"},name:"クリエイト",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/サンドラッグ":{tags:{name:"サンドラッグ",healthcare:"pharmacy",amenity:"pharmacy"},name:"サンドラッグ",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/スギ薬局":{tags:{name:"スギ薬局",healthcare:"pharmacy",amenity:"pharmacy"},name:"スギ薬局",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/セイジョー":{tags:{name:"セイジョー",healthcare:"pharmacy",amenity:"pharmacy"},name:"セイジョー",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/ツルハドラッグ":{tags:{name:"ツルハドラッグ",healthcare:"pharmacy",amenity:"pharmacy"},name:"ツルハドラッグ",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/ドラッグてらしま (Drug Terashima)":{tags:{name:"ドラッグてらしま (Drug Terashima)",healthcare:"pharmacy",amenity:"pharmacy"},name:"ドラッグてらしま (Drug Terashima)",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/マツモトキヨシ":{tags:{name:"マツモトキヨシ",healthcare:"pharmacy",amenity:"pharmacy"},name:"マツモトキヨシ",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pharmacy/丁丁藥局":{tags:{name:"丁丁藥局",healthcare:"pharmacy",amenity:"pharmacy"},name:"丁丁藥局",icon:"maki-pharmacy",geometry:["point","area"],fields:["name","operator","address","building_area","drive_through","opening_hours","payment_multi","dispensing"],suggestion:true},"amenity/pub/Black Bull":{tags:{name:"Black Bull",amenity:"pub"},name:"Black Bull",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Commercial Hotel":{tags:{name:"Commercial Hotel",amenity:"pub"},name:"Commercial Hotel",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Cross Keys":{tags:{name:"Cross Keys",amenity:"pub"},name:"Cross Keys",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Irish Pub":{tags:{name:"Irish Pub",amenity:"pub"},name:"Irish Pub",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Kings Arms":{tags:{name:"Kings Arms",amenity:"pub"},name:"Kings Arms",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Kings Head":{tags:{name:"Kings Head",amenity:"pub"},name:"Kings Head",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/New Inn":{tags:{name:"New Inn",amenity:"pub"},name:"New Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Prince of Wales":{tags:{name:"Prince of Wales",amenity:"pub"},name:"Prince of Wales",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Queens Head":{tags:{name:"Queens Head",amenity:"pub"},name:"Queens Head",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Red Lion":{tags:{name:"Red Lion",amenity:"pub"},name:"Red Lion",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Rose & Crown":{tags:{name:"Rose & Crown",amenity:"pub"},name:"Rose & Crown",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Rose and Crown":{tags:{name:"Rose and Crown",amenity:"pub"},name:"Rose and Crown",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/Royal Oak":{tags:{name:"Royal Oak",amenity:"pub"},name:"Royal Oak",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Albion":{tags:{name:"The Albion",amenity:"pub"},name:"The Albion",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Anchor":{tags:{name:"The Anchor",amenity:"pub"},name:"The Anchor",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Angel":{tags:{name:"The Angel",amenity:"pub"},name:"The Angel",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Beehive":{tags:{name:"The Beehive",amenity:"pub"},name:"The Beehive",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Bell":{tags:{name:"The Bell",amenity:"pub"},name:"The Bell",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Bell Inn":{tags:{name:"The Bell Inn",amenity:"pub"},name:"The Bell Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Black Horse":{tags:{name:"The Black Horse",amenity:"pub"},name:"The Black Horse",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Bull":{tags:{name:"The Bull",amenity:"pub"},name:"The Bull",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Castle":{tags:{name:"The Castle",amenity:"pub"},name:"The Castle",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Chequers":{tags:{name:"The Chequers",amenity:"pub"},name:"The Chequers",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Cricketers":{tags:{name:"The Cricketers",amenity:"pub"},name:"The Cricketers",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Cross Keys":{tags:{name:"The Cross Keys",amenity:"pub"},name:"The Cross Keys",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Crown":{tags:{name:"The Crown",amenity:"pub"},name:"The Crown",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Crown Inn":{tags:{name:"The Crown Inn",amenity:"pub"},name:"The Crown Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Fox":{tags:{name:"The Fox",amenity:"pub"},name:"The Fox",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The George":{tags:{name:"The George",amenity:"pub"},name:"The George",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Green Man":{tags:{name:"The Green Man",amenity:"pub"},name:"The Green Man",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Greyhound":{tags:{name:"The Greyhound",amenity:"pub"},name:"The Greyhound",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Kings Arms":{tags:{name:"The Kings Arms",amenity:"pub"},name:"The Kings Arms",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Kings Head":{tags:{name:"The Kings Head",amenity:"pub"},name:"The Kings Head",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The New Inn":{tags:{name:"The New Inn",amenity:"pub"},name:"The New Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Plough":{tags:{name:"The Plough",amenity:"pub"},name:"The Plough",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Plough Inn":{tags:{name:"The Plough Inn",amenity:"pub"},name:"The Plough Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Queens Head":{tags:{name:"The Queens Head",amenity:"pub"},name:"The Queens Head",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Railway":{tags:{name:"The Railway",amenity:"pub"},name:"The Railway",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Red Lion":{tags:{name:"The Red Lion",amenity:"pub"},name:"The Red Lion",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Rising Sun":{tags:{name:"The Rising Sun",amenity:"pub"},name:"The Rising Sun",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Royal Oak":{tags:{name:"The Royal Oak",amenity:"pub"},name:"The Royal Oak",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Ship":{tags:{name:"The Ship",amenity:"pub"},name:"The Ship",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Ship Inn":{tags:{name:"The Ship Inn",amenity:"pub"},name:"The Ship Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Star":{tags:{name:"The Star",amenity:"pub"},name:"The Star",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Star Inn":{tags:{name:"The Star Inn",amenity:"pub"},name:"The Star Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Sun Inn":{tags:{name:"The Sun Inn",amenity:"pub"},name:"The Sun Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Swan":{tags:{name:"The Swan",amenity:"pub"},name:"The Swan",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Swan Inn":{tags:{name:"The Swan Inn",amenity:"pub"},name:"The Swan Inn",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Victoria":{tags:{name:"The Victoria",amenity:"pub"},name:"The Victoria",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The Wheatsheaf":{tags:{name:"The Wheatsheaf",amenity:"pub"},name:"The Wheatsheaf",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The White Hart":{tags:{name:"The White Hart",amenity:"pub"},name:"The White Hart",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The White Horse":{tags:{name:"The White Horse",amenity:"pub"},name:"The White Horse",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The White Lion":{tags:{name:"The White Lion",amenity:"pub"},name:"The White Lion",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/The White Swan":{tags:{name:"The White Swan",amenity:"pub"},name:"The White Swan",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/魚民":{tags:{name:"魚民",amenity:"pub"},name:"魚民",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/pub/鳥貴族":{tags:{name:"鳥貴族",amenity:"pub"},name:"鳥貴族",icon:"maki-beer",geometry:["point","area"],fields:["name","address","building_area","opening_hours","smoking","outdoor_seating","brewery"],suggestion:true},"amenity/restaurant/Adler":{tags:{name:"Adler",amenity:"restaurant"},name:"Adler",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Adria":{tags:{name:"Adria",amenity:"restaurant"},name:"Adria",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Adyar Ananda Bhavan":{tags:{name:"Adyar Ananda Bhavan",amenity:"restaurant"},name:"Adyar Ananda Bhavan",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Akropolis":{tags:{name:"Akropolis",amenity:"restaurant"},name:"Akropolis",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Alte Post":{tags:{name:"Alte Post",amenity:"restaurant"},name:"Alte Post",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Applebee's":{tags:{name:"Applebee's",amenity:"restaurant"},name:"Applebee's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Asia":{tags:{name:"Asia",amenity:"restaurant"},name:"Asia",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Athen":{tags:{name:"Athen",amenity:"restaurant"},name:"Athen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Athos":{tags:{name:"Athos",amenity:"restaurant"},name:"Athos",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Autogrill":{tags:{name:"Autogrill",amenity:"restaurant"},name:"Autogrill",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Bahnhof":{tags:{name:"Bahnhof",amenity:"restaurant"},name:"Bahnhof",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Bella Italia":{tags:{name:"Bella Italia",amenity:"restaurant"},name:"Bella Italia",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Bella Napoli":{tags:{name:"Bella Napoli",amenity:"restaurant"},name:"Bella Napoli",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Big Boy":{tags:{name:"Big Boy",amenity:"restaurant"},name:"Big Boy",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Bob Evans":{tags:{name:"Bob Evans",amenity:"restaurant"},name:"Bob Evans",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Bonefish Grill":{tags:{name:"Bonefish Grill",amenity:"restaurant"},name:"Bonefish Grill",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Boston Pizza":{tags:{name:"Boston Pizza",amenity:"restaurant"},name:"Boston Pizza",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Buffalo Grill":{tags:{name:"Buffalo Grill",amenity:"restaurant"},name:"Buffalo Grill",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Buffalo Wild Wings":{tags:{name:"Buffalo Wild Wings",amenity:"restaurant"},name:"Buffalo Wild Wings",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Bären":{tags:{name:"Bären",amenity:"restaurant"},name:"Bären",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/California Pizza Kitchen":{tags:{name:"California Pizza Kitchen",amenity:"restaurant"},name:"California Pizza Kitchen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Canteen":{tags:{name:"Canteen",amenity:"restaurant"},name:"Canteen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Capri":{tags:{name:"Capri",amenity:"restaurant"},name:"Capri",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Carluccio's":{tags:{name:"Carluccio's",amenity:"restaurant"},name:"Carluccio's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Carpe Diem":{tags:{name:"Carpe Diem",amenity:"restaurant"},name:"Carpe Diem",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Carrabba's Italian Grill":{tags:{name:"Carrabba's Italian Grill",amenity:"restaurant"},name:"Carrabba's Italian Grill",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Casa Mia":{tags:{name:"Casa Mia",amenity:"restaurant"},name:"Casa Mia",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Casablanca":{tags:{name:"Casablanca",amenity:"restaurant"},name:"Casablanca",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Cheesecake Factory":{tags:{name:"Cheesecake Factory",amenity:"restaurant"},name:"Cheesecake Factory",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Chifa":{tags:{name:"Chifa",amenity:"restaurant"},name:"Chifa",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Chili's":{tags:{name:"Chili's",amenity:"restaurant"},name:"Chili's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/China Buffet":{tags:{name:"China Buffet",amenity:"restaurant"},name:"China Buffet",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/China Garden":{tags:{name:"China Garden",amenity:"restaurant"},name:"China Garden",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/China House":{tags:{name:"China House",amenity:"restaurant"},name:"China House",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/China Town":{tags:{name:"China Town",amenity:"restaurant"},name:"China Town",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/China Wok":{tags:{name:"China Wok",amenity:"restaurant"},name:"China Wok",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Chiquito":{tags:{name:"Chiquito",amenity:"restaurant"},name:"Chiquito",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Chuck E. Cheese's":{tags:{name:"Chuck E. Cheese's",amenity:"restaurant"},name:"Chuck E. Cheese's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Cici's Pizza":{tags:{name:"Cici's Pizza",amenity:"restaurant"},name:"Cici's Pizza",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Comedor":{tags:{name:"Comedor",amenity:"restaurant"},name:"Comedor",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Comida China":{tags:{name:"Comida China",amenity:"restaurant"},name:"Comida China",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Courtepaille":{tags:{name:"Courtepaille",amenity:"restaurant"},name:"Courtepaille",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Cracker Barrel":{tags:{name:"Cracker Barrel",amenity:"restaurant"},name:"Cracker Barrel",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Da Grasso":{tags:{name:"Da Grasso",amenity:"restaurant"},name:"Da Grasso",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Da Vinci":{tags:{name:"Da Vinci",amenity:"restaurant"},name:"Da Vinci",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Delphi":{tags:{name:"Delphi",amenity:"restaurant"},name:"Delphi",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Denny's":{tags:{name:"Denny's",amenity:"restaurant"},name:"Denny's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Deutsches Haus":{tags:{name:"Deutsches Haus",amenity:"restaurant"},name:"Deutsches Haus",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Dionysos":{tags:{name:"Dionysos",amenity:"restaurant"},name:"Dionysos",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Dolce Vita":{tags:{name:"Dolce Vita",amenity:"restaurant"},name:"Dolce Vita",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Dorfkrug":{tags:{name:"Dorfkrug",amenity:"restaurant"},name:"Dorfkrug",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/East Side Mario's":{tags:{name:"East Side Mario's",amenity:"restaurant"},name:"East Side Mario's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/El Greco":{tags:{name:"El Greco",amenity:"restaurant"},name:"El Greco",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/El Paso":{tags:{name:"El Paso",amenity:"restaurant"},name:"El Paso",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/El Rancho":{tags:{name:"El Rancho",amenity:"restaurant"},name:"El Rancho",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Europa":{tags:{name:"Europa",amenity:"restaurant"},name:"Europa",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Famous Dave's":{tags:{name:"Famous Dave's",amenity:"restaurant"},name:"Famous Dave's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Flunch":{tags:{name:"Flunch",amenity:"restaurant"},name:"Flunch",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Frankie & Benny's":{tags:{name:"Frankie & Benny's",amenity:"restaurant"},name:"Frankie & Benny's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Friendly's":{tags:{name:"Friendly's",amenity:"restaurant"},name:"Friendly's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Gasthaus Krone":{tags:{name:"Gasthaus Krone",amenity:"restaurant"},name:"Gasthaus Krone",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Gasthaus zur Linde":{tags:{name:"Gasthaus zur Linde",amenity:"restaurant"},name:"Gasthaus zur Linde",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Gasthof zur Post":{tags:{name:"Gasthof zur Post",amenity:"restaurant"},name:"Gasthof zur Post",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Golden Corral":{tags:{name:"Golden Corral",amenity:"restaurant"},name:"Golden Corral",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Golden Dragon":{tags:{name:"Golden Dragon",amenity:"restaurant"},name:"Golden Dragon",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Great Wall":{tags:{name:"Great Wall",amenity:"restaurant"},name:"Great Wall",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Grüner Baum":{tags:{name:"Grüner Baum",amenity:"restaurant"},name:"Grüner Baum",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Gusto":{tags:{name:"Gusto",amenity:"restaurant"},name:"Gusto",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Hard Rock Cafe":{tags:{name:"Hard Rock Cafe",amenity:"restaurant"},name:"Hard Rock Cafe",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Harvester":{tags:{name:"Harvester",amenity:"restaurant"},name:"Harvester",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Hellas":{tags:{name:"Hellas",amenity:"restaurant"},name:"Hellas",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Hippopotamus":{tags:{name:"Hippopotamus",amenity:"restaurant"},name:"Hippopotamus",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Hirsch":{tags:{name:"Hirsch",amenity:"restaurant"},name:"Hirsch",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Hirschen":{tags:{name:"Hirschen",amenity:"restaurant"},name:"Hirschen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Hong Kong":{tags:{name:"Hong Kong",amenity:"restaurant"},name:"Hong Kong",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Hooters":{tags:{name:"Hooters",amenity:"restaurant"},name:"Hooters",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/IHOP":{tags:{name:"IHOP",amenity:"restaurant"},name:"IHOP",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/IL Патио":{tags:{name:"IL Патио",amenity:"restaurant"},name:"IL Патио",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Jason's Deli":{tags:{name:"Jason's Deli",amenity:"restaurant"},name:"Jason's Deli",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Joe's Crab Shack":{tags:{name:"Joe's Crab Shack",amenity:"restaurant"},name:"Joe's Crab Shack",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Jägerhof":{tags:{name:"Jägerhof",amenity:"restaurant"},name:"Jägerhof",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Kantine":{tags:{name:"Kantine",amenity:"restaurant"},name:"Kantine",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Kelsey's":{tags:{name:"Kelsey's",amenity:"restaurant"},name:"Kelsey's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Kirchenwirt":{tags:{name:"Kirchenwirt",amenity:"restaurant"},name:"Kirchenwirt",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Kreta":{tags:{name:"Kreta",amenity:"restaurant"},name:"Kreta",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Kreuz":{tags:{name:"Kreuz",amenity:"restaurant"},name:"Kreuz",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Krone":{tags:{name:"Krone",amenity:"restaurant"},name:"Krone",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Kudu":{tags:{name:"Kudu",amenity:"restaurant"},name:"Kudu",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/L'Escale":{tags:{name:"L'Escale",amenity:"restaurant"},name:"L'Escale",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/L'Osteria":{tags:{name:"L'Osteria",amenity:"restaurant"},name:"L'Osteria",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Bodega":{tags:{name:"La Bodega",amenity:"restaurant"},name:"La Bodega",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Boucherie":{tags:{name:"La Boucherie",amenity:"restaurant"},name:"La Boucherie",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Cantina":{tags:{name:"La Cantina",amenity:"restaurant"},name:"La Cantina",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Casa":{tags:{name:"La Casa",amenity:"restaurant"},name:"La Casa",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Casona":{tags:{name:"La Casona",amenity:"restaurant"},name:"La Casona",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Dolce Vita":{tags:{name:"La Dolce Vita",amenity:"restaurant"},name:"La Dolce Vita",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Fontana":{tags:{name:"La Fontana",amenity:"restaurant"},name:"La Fontana",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Gondola":{tags:{name:"La Gondola",amenity:"restaurant"},name:"La Gondola",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Hacienda":{tags:{name:"La Hacienda",amenity:"restaurant"},name:"La Hacienda",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Pataterie":{tags:{name:"La Pataterie",amenity:"restaurant"},name:"La Pataterie",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Pergola":{tags:{name:"La Pergola",amenity:"restaurant"},name:"La Pergola",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Perla":{tags:{name:"La Perla",amenity:"restaurant"},name:"La Perla",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Piazza":{tags:{name:"La Piazza",amenity:"restaurant"},name:"La Piazza",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Piazzetta":{tags:{name:"La Piazzetta",amenity:"restaurant"},name:"La Piazzetta",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Place":{tags:{name:"La Place",amenity:"restaurant"},name:"La Place",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Scala":{tags:{name:"La Scala",amenity:"restaurant"},name:"La Scala",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Strada":{tags:{name:"La Strada",amenity:"restaurant"},name:"La Strada",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Tagliatella":{tags:{name:"La Tagliatella",amenity:"restaurant"},name:"La Tagliatella",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Tasca":{tags:{name:"La Tasca",amenity:"restaurant"},name:"La Tasca",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Taverna":{tags:{name:"La Taverna",amenity:"restaurant"},name:"La Taverna",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Terrasse":{tags:{name:"La Terrasse",amenity:"restaurant"},name:"La Terrasse",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Terraza":{tags:{name:"La Terraza",amenity:"restaurant"},name:"La Terraza",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Terrazza":{tags:{name:"La Terrazza",amenity:"restaurant"},name:"La Terrazza",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/La Trattoria":{tags:{name:"La Trattoria",amenity:"restaurant"},name:"La Trattoria",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Lamm":{tags:{name:"Lamm",amenity:"restaurant"},name:"Lamm",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Linde":{tags:{name:"Linde",amenity:"restaurant"},name:"Linde",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Lindenhof":{tags:{name:"Lindenhof",amenity:"restaurant"},name:"Lindenhof",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Little Chef":{tags:{name:"Little Chef",amenity:"restaurant"},name:"Little Chef",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Little Italy":{tags:{name:"Little Italy",amenity:"restaurant"},name:"Little Italy",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Logan's Roadhouse":{tags:{name:"Logan's Roadhouse",amenity:"restaurant"},name:"Logan's Roadhouse",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/LongHorn Steakhouse":{tags:{name:"LongHorn Steakhouse",amenity:"restaurant"},name:"LongHorn Steakhouse",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Lotus":{tags:{name:"Lotus",amenity:"restaurant"},name:"Lotus",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Léon de Bruxelles":{tags:{name:"Léon de Bruxelles",amenity:"restaurant"},name:"Léon de Bruxelles",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Löwen":{tags:{name:"Löwen",amenity:"restaurant"},name:"Löwen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/MK Restaurants":{tags:{name:"MK Restaurants",amenity:"restaurant"},name:"MK Restaurants",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Maharaja":{tags:{name:"Maharaja",amenity:"restaurant"},name:"Maharaja",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mamma Mia":{tags:{name:"Mamma Mia",amenity:"restaurant"},name:"Mamma Mia",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mandarin":{tags:{name:"Mandarin",amenity:"restaurant"},name:"Mandarin",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mang Inasal":{tags:{name:"Mang Inasal",amenity:"restaurant"},name:"Mang Inasal",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Marco Polo":{tags:{name:"Marco Polo",amenity:"restaurant"},name:"Marco Polo",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Marco's Pizza":{tags:{name:"Marco's Pizza",amenity:"restaurant"},name:"Marco's Pizza",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/McAlister's Deli":{tags:{name:"McAlister's Deli",amenity:"restaurant"},name:"McAlister's Deli",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mediterraneo":{tags:{name:"Mediterraneo",amenity:"restaurant"},name:"Mediterraneo",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mellow Mushroom":{tags:{name:"Mellow Mushroom",amenity:"restaurant"},name:"Mellow Mushroom",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mensa":{tags:{name:"Mensa",amenity:"restaurant"},name:"Mensa",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Milano":{tags:{name:"Milano",amenity:"restaurant"},name:"Milano",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mimi's Cafe":{tags:{name:"Mimi's Cafe",amenity:"restaurant"},name:"Mimi's Cafe",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Moe's Southwest Grill":{tags:{name:"Moe's Southwest Grill",amenity:"restaurant"},name:"Moe's Southwest Grill",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mykonos":{tags:{name:"Mykonos",amenity:"restaurant"},name:"Mykonos",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Mythos":{tags:{name:"Mythos",amenity:"restaurant"},name:"Mythos",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Nando's":{tags:{name:"Nando's",amenity:"restaurant"},name:"Nando's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Noodles & Company":{tags:{name:"Noodles & Company",amenity:"restaurant"},name:"Noodles & Company",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/O'Charley's":{tags:{name:"O'Charley's",amenity:"restaurant"},name:"O'Charley's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Oasis":{tags:{name:"Oasis",amenity:"restaurant"},name:"Oasis",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Ocean Basket":{tags:{name:"Ocean Basket",amenity:"restaurant"},name:"Ocean Basket",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Ochsen":{tags:{name:"Ochsen",amenity:"restaurant"},name:"Ochsen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Old Chicago":{tags:{name:"Old Chicago",amenity:"restaurant"},name:"Old Chicago",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Olive Garden":{tags:{name:"Olive Garden",amenity:"restaurant"},name:"Olive Garden",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Olympia":{tags:{name:"Olympia",amenity:"restaurant"},name:"Olympia",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Osaka":{tags:{name:"Osaka",amenity:"restaurant"},name:"Osaka",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Outback Steakhouse":{tags:{name:"Outback Steakhouse",amenity:"restaurant"},name:"Outback Steakhouse",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/P.F. Chang's":{tags:{name:"P.F. Chang's",amenity:"restaurant"},name:"P.F. Chang's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pancake House":{tags:{name:"Pancake House",amenity:"restaurant"},name:"Pancake House",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Panda":{tags:{name:"Panda",amenity:"restaurant"},name:"Panda",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Panera Bread":{tags:{name:"Panera Bread",amenity:"restaurant"},name:"Panera Bread",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Panorama":{tags:{name:"Panorama",amenity:"restaurant"},name:"Panorama",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Parrilla":{tags:{name:"Parrilla",amenity:"restaurant"},name:"Parrilla",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Peking":{tags:{name:"Peking",amenity:"restaurant"},name:"Peking",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Perkins":{tags:{name:"Perkins",amenity:"restaurant"},name:"Perkins",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pinocchio":{tags:{name:"Pinocchio",amenity:"restaurant"},name:"Pinocchio",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizza Express":{tags:{name:"Pizza Express",amenity:"restaurant"},name:"Pizza Express",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizza Factory":{tags:{name:"Pizza Factory",amenity:"restaurant"},name:"Pizza Factory",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizza House":{tags:{name:"Pizza House",amenity:"restaurant"},name:"Pizza House",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizza Hut":{tags:{name:"Pizza Hut",cuisine:"pizza",amenity:"restaurant"},name:"Pizza Hut",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizza Ranch":{tags:{name:"Pizza Ranch",amenity:"restaurant"},name:"Pizza Ranch",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizzeria Italia":{tags:{name:"Pizzeria Italia",amenity:"restaurant"},name:"Pizzeria Italia",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizzeria Milano":{tags:{name:"Pizzeria Milano",amenity:"restaurant"},name:"Pizzeria Milano",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizzeria Napoli":{tags:{name:"Pizzeria Napoli",amenity:"restaurant"},name:"Pizzeria Napoli",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizzeria Roma":{tags:{name:"Pizzeria Roma",amenity:"restaurant"},name:"Pizzeria Roma",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pizzeria Venezia":{tags:{name:"Pizzeria Venezia",amenity:"restaurant"},name:"Pizzeria Venezia",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Poivre Rouge":{tags:{name:"Poivre Rouge",amenity:"restaurant"},name:"Poivre Rouge",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Pomodoro":{tags:{name:"Pomodoro",amenity:"restaurant"},name:"Pomodoro",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Portofino":{tags:{name:"Portofino",amenity:"restaurant"},name:"Portofino",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Poseidon":{tags:{name:"Poseidon",amenity:"restaurant"},name:"Poseidon",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Prezzo":{tags:{name:"Prezzo",amenity:"restaurant"},name:"Prezzo",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Qdoba Mexican Grill":{tags:{name:"Qdoba Mexican Grill",amenity:"restaurant"},name:"Qdoba Mexican Grill",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Ratskeller":{tags:{name:"Ratskeller",amenity:"restaurant"},name:"Ratskeller",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Red Lobster":{tags:{name:"Red Lobster",amenity:"restaurant"},name:"Red Lobster",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Red Robin":{tags:{name:"Red Robin",amenity:"restaurant"},name:"Red Robin",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Restaurante Universitário":{tags:{name:"Restaurante Universitário",amenity:"restaurant"},name:"Restaurante Universitário",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Rhodos":{tags:{name:"Rhodos",amenity:"restaurant"},name:"Rhodos",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Ristorante Del Arte":{tags:{name:"Ristorante Del Arte",amenity:"restaurant"},name:"Ristorante Del Arte",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Roma":{tags:{name:"Roma",amenity:"restaurant"},name:"Roma",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Rose":{tags:{name:"Rose",amenity:"restaurant"},name:"Rose",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Round Table Pizza":{tags:{name:"Round Table Pizza",amenity:"restaurant"},name:"Round Table Pizza",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Ruby Tuesday":{tags:{name:"Ruby Tuesday",amenity:"restaurant"},name:"Ruby Tuesday",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Rössle":{tags:{name:"Rössle",amenity:"restaurant"},name:"Rössle",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Rössli":{tags:{name:"Rössli",amenity:"restaurant"},name:"Rössli",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Saigon":{tags:{name:"Saigon",amenity:"restaurant"},name:"Saigon",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sakura":{tags:{name:"Sakura",amenity:"restaurant"},name:"Sakura",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/San Marco":{tags:{name:"San Marco",amenity:"restaurant"},name:"San Marco",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Santorini":{tags:{name:"Santorini",amenity:"restaurant"},name:"Santorini",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Schwarzer Adler":{tags:{name:"Schwarzer Adler",amenity:"restaurant"},name:"Schwarzer Adler",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Schützenhaus":{tags:{name:"Schützenhaus",amenity:"restaurant"},name:"Schützenhaus",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Shakey's":{tags:{name:"Shakey's",amenity:"restaurant"},name:"Shakey's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Shalimar":{tags:{name:"Shalimar",amenity:"restaurant"},name:"Shalimar",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Shanghai":{tags:{name:"Shanghai",amenity:"restaurant"},name:"Shanghai",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Shari's":{tags:{name:"Shari's",amenity:"restaurant"},name:"Shari's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Shoney's":{tags:{name:"Shoney's",amenity:"restaurant"},name:"Shoney's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sizzler":{tags:{name:"Sizzler",amenity:"restaurant"},name:"Sizzler",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sonne":{tags:{name:"Sonne",amenity:"restaurant"},name:"Sonne",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sphinx":{tags:{name:"Sphinx",amenity:"restaurant"},name:"Sphinx",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sportheim":{tags:{name:"Sportheim",amenity:"restaurant"},name:"Sportheim",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Spur":{tags:{name:"Spur",amenity:"restaurant"},name:"Spur",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Steak 'n Shake":{tags:{name:"Steak 'n Shake",cuisine:"burger",amenity:"restaurant"},name:"Steak 'n Shake",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sternen":{tags:{name:"Sternen",amenity:"restaurant"},name:"Sternen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sunset Grill":{tags:{name:"Sunset Grill",amenity:"restaurant"},name:"Sunset Grill",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sushi":{tags:{name:"Sushi",amenity:"restaurant"},name:"Sushi",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Sushi Bar":{tags:{name:"Sushi Bar",amenity:"restaurant"},name:"Sushi Bar",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Swiss Chalet":{tags:{name:"Swiss Chalet",amenity:"restaurant"},name:"Swiss Chalet",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Syrtaki":{tags:{name:"Syrtaki",amenity:"restaurant"},name:"Syrtaki",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/TGI Friday's":{tags:{name:"TGI Friday's",amenity:"restaurant"},name:"TGI Friday's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Taj Mahal":{tags:{name:"Taj Mahal",amenity:"restaurant"},name:"Taj Mahal",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Taste of India":{tags:{name:"Taste of India",amenity:"restaurant"},name:"Taste of India",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Taverna":{tags:{name:"Taverna",amenity:"restaurant"},name:"Taverna",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Texas Roadhouse":{tags:{name:"Texas Roadhouse",amenity:"restaurant"},name:"Texas Roadhouse",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/The Cheesecake Factory":{tags:{name:"The Cheesecake Factory",amenity:"restaurant"},name:"The Cheesecake Factory",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Toby Carvery":{tags:{name:"Toby Carvery",amenity:"restaurant"},name:"Toby Carvery",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Tony Roma's":{tags:{name:"Tony Roma's",amenity:"restaurant"},name:"Tony Roma's",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Toscana":{tags:{name:"Toscana",amenity:"restaurant"},name:"Toscana",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Trattoria":{tags:{name:"Trattoria",amenity:"restaurant"},name:"Trattoria",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Traube":{tags:{name:"Traube",amenity:"restaurant"},name:"Traube",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Vapiano":{tags:{name:"Vapiano",amenity:"restaurant"},name:"Vapiano",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Venezia":{tags:{name:"Venezia",amenity:"restaurant"},name:"Venezia",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Village Inn":{tags:{name:"Village Inn",amenity:"restaurant"},name:"Village Inn",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Vips":{tags:{name:"Vips",amenity:"restaurant"},name:"Vips",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Waffle House":{tags:{name:"Waffle House",amenity:"restaurant"},name:"Waffle House",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Wagamama":{tags:{name:"Wagamama",amenity:"restaurant"},name:"Wagamama",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Waldschänke":{tags:{name:"Waldschänke",amenity:"restaurant"},name:"Waldschänke",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Warung":{tags:{name:"Warung",amenity:"restaurant"},name:"Warung",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Wasabi":{tags:{name:"Wasabi",amenity:"restaurant"},name:"Wasabi",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Zizzi":{tags:{name:"Zizzi",amenity:"restaurant"},name:"Zizzi",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Zorbas":{tags:{name:"Zorbas",amenity:"restaurant"},name:"Zorbas",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Zum Hirschen":{tags:{name:"Zum Hirschen",amenity:"restaurant"},name:"Zum Hirschen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Zum Löwen":{tags:{name:"Zum Löwen",amenity:"restaurant"},name:"Zum Löwen",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Zur Krone":{tags:{name:"Zur Krone",amenity:"restaurant"},name:"Zur Krone",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Zur Linde":{tags:{name:"Zur Linde",amenity:"restaurant"},name:"Zur Linde",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Zur Post":{tags:{name:"Zur Post",amenity:"restaurant"},name:"Zur Post",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Zur Sonne":{tags:{name:"Zur Sonne",amenity:"restaurant"},name:"Zur Sonne",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Евразия":{tags:{name:"Евразия",amenity:"restaurant"},name:"Евразия",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Ресторан":{tags:{name:"Ресторан",amenity:"restaurant"},name:"Ресторан",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Тануки":{tags:{name:"Тануки",amenity:"restaurant"},name:"Тануки",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/Якитория":{tags:{name:"Якитория",amenity:"restaurant"},name:"Якитория",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/رستوران":{tags:{name:"رستوران",amenity:"restaurant"},name:"رستوران",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/مطعم":{tags:{name:"مطعم",amenity:"restaurant"},name:"مطعم",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/はま寿司":{tags:{name:"はま寿司",amenity:"restaurant"},name:"はま寿司",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/びっくりドンキー":{tags:{name:"びっくりドンキー",amenity:"restaurant"},name:"びっくりドンキー",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/やよい軒":{tags:{name:"やよい軒",amenity:"restaurant"},name:"やよい軒",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/ガスト":{tags:{name:"ガスト","name:en":"Gusto",amenity:"restaurant"},name:"ガスト",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/ココス":{tags:{name:"ココス",amenity:"restaurant"},name:"ココス",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/サイゼリア":{tags:{name:"サイゼリア",amenity:"restaurant"},name:"サイゼリア",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/サイゼリヤ":{tags:{name:"サイゼリヤ",amenity:"restaurant"},name:"サイゼリヤ",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/ジョイフル":{tags:{name:"ジョイフル",amenity:"restaurant"},name:"ジョイフル",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/ジョナサン":{tags:{name:"ジョナサン",amenity:"restaurant"},name:"ジョナサン",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/ジョリーパスタ":{tags:{name:"ジョリーパスタ",amenity:"restaurant"},name:"ジョリーパスタ",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/デニーズ":{tags:{name:"デニーズ",amenity:"restaurant"},name:"デニーズ",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/バーミヤン":{tags:{name:"バーミヤン",amenity:"restaurant"},name:"バーミヤン",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/ロイヤルホスト":{tags:{name:"ロイヤルホスト",amenity:"restaurant"},name:"ロイヤルホスト",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/丸亀製麺":{tags:{name:"丸亀製麺",amenity:"restaurant"},name:"丸亀製麺",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/八方雲集":{tags:{name:"八方雲集",amenity:"restaurant"},name:"八方雲集",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/夢庵":{tags:{name:"夢庵",amenity:"restaurant"},name:"夢庵",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/大戸屋":{tags:{name:"大戸屋",amenity:"restaurant"},name:"大戸屋",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/大阪王将":{tags:{name:"大阪王将",amenity:"restaurant"},name:"大阪王将",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/天下一品":{tags:{name:"天下一品",amenity:"restaurant"},name:"天下一品",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/安楽亭":{tags:{name:"安楽亭",amenity:"restaurant"},name:"安楽亭",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/牛角":{tags:{name:"牛角",amenity:"restaurant"},name:"牛角",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/食堂":{tags:{name:"食堂",amenity:"restaurant"},name:"食堂",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/餃子の王将":{tags:{name:"餃子の王将",amenity:"restaurant"},name:"餃子の王将",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/restaurant/바다횟집 (Bada Fish Restaurant)":{tags:{name:"바다횟집 (Bada Fish Restaurant)",amenity:"restaurant"},name:"바다횟집 (Bada Fish Restaurant)",icon:"maki-restaurant",geometry:["point","area"],fields:["name","cuisine","address","building_area","opening_hours","capacity","takeaway","delivery","smoking","outdoor_seating"],suggestion:true},"amenity/school/Adolfo Lopez Mateos":{tags:{name:"Adolfo Lopez Mateos",amenity:"school"},name:"Adolfo Lopez Mateos",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Agustin Ya�ez":{tags:{name:"Agustin Ya�ez",amenity:"school"},name:"Agustin Ya�ez",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Albert-Schweitzer-Schule":{tags:{name:"Albert-Schweitzer-Schule",amenity:"school"},name:"Albert-Schweitzer-Schule",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Amado Nervo":{tags:{name:"Amado Nervo",amenity:"school"},name:"Amado Nervo",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Astrid-Lindgren-Schule":{tags:{name:"Astrid-Lindgren-Schule",amenity:"school"},name:"Astrid-Lindgren-Schule",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Benito Juarez":{tags:{name:"Benito Juarez",amenity:"school"},name:"Benito Juarez",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Brown School":{tags:{name:"Brown School",amenity:"school"},name:"Brown School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/CEM":{tags:{name:"CEM",amenity:"school"},name:"CEM",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Center School":{tags:{name:"Center School",amenity:"school"},name:"Center School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Central Elementary School":{tags:{name:"Central Elementary School",amenity:"school"},name:"Central Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Central High School":{tags:{name:"Central High School",amenity:"school"},name:"Central High School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Central School":{tags:{name:"Central School",amenity:"school"},name:"Central School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Colegio San José":{tags:{name:"Colegio San José",amenity:"school"},name:"Colegio San José",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Collège Jean Moulin":{tags:{name:"Collège Jean Moulin",amenity:"school"},name:"Collège Jean Moulin",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Cuauhtemoc":{tags:{name:"Cuauhtemoc",amenity:"school"},name:"Cuauhtemoc",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Curso Comunitario":{tags:{name:"Curso Comunitario",amenity:"school"},name:"Curso Comunitario",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Cursos Comunitarios":{tags:{name:"Cursos Comunitarios",amenity:"school"},name:"Cursos Comunitarios",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/EPP":{tags:{name:"EPP",amenity:"school"},name:"EPP",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Emiliano Zapata":{tags:{name:"Emiliano Zapata",amenity:"school"},name:"Emiliano Zapata",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Fairview Elementary School":{tags:{name:"Fairview Elementary School",amenity:"school"},name:"Fairview Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Fairview School":{tags:{name:"Fairview School",amenity:"school"},name:"Fairview School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Francisco I Madero":{tags:{name:"Francisco I Madero",amenity:"school"},name:"Francisco I Madero",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Francisco I. Madero":{tags:{name:"Francisco I. Madero",amenity:"school"},name:"Francisco I. Madero",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Francisco Villa":{tags:{name:"Francisco Villa",amenity:"school"},name:"Francisco Villa",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Franklin Elementary School":{tags:{name:"Franklin Elementary School",amenity:"school"},name:"Franklin Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Franklin School":{tags:{name:"Franklin School",amenity:"school"},name:"Franklin School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Garfield Elementary School":{tags:{name:"Garfield Elementary School",amenity:"school"},name:"Garfield Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Garfield School":{tags:{name:"Garfield School",amenity:"school"},name:"Garfield School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Gimnazjum nr 1":{tags:{name:"Gimnazjum nr 1",amenity:"school"},name:"Gimnazjum nr 1",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Government School":{tags:{name:"Government School",amenity:"school"},name:"Government School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Gregorio Torres Quintero":{tags:{name:"Gregorio Torres Quintero",amenity:"school"},name:"Gregorio Torres Quintero",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Groupe Scolaire":{tags:{name:"Groupe Scolaire",amenity:"school"},name:"Groupe Scolaire",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Guadalupe Victoria":{tags:{name:"Guadalupe Victoria",amenity:"school"},name:"Guadalupe Victoria",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Highland School":{tags:{name:"Highland School",amenity:"school"},name:"Highland School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Hillcrest Elementary School":{tags:{name:"Hillcrest Elementary School",amenity:"school"},name:"Hillcrest Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Holy Cross School":{tags:{name:"Holy Cross School",amenity:"school"},name:"Holy Cross School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Holy Family School":{tags:{name:"Holy Family School",amenity:"school"},name:"Holy Family School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Holy Trinity School":{tags:{name:"Holy Trinity School",amenity:"school"},name:"Holy Trinity School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Ignacio Allende":{tags:{name:"Ignacio Allende",amenity:"school"},name:"Ignacio Allende",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Ignacio Zaragoza":{tags:{name:"Ignacio Zaragoza",amenity:"school"},name:"Ignacio Zaragoza",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Immaculate Conception School":{tags:{name:"Immaculate Conception School",amenity:"school"},name:"Immaculate Conception School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Jackson Elementary School":{tags:{name:"Jackson Elementary School",amenity:"school"},name:"Jackson Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Jackson School":{tags:{name:"Jackson School",amenity:"school"},name:"Jackson School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Jefferson Elementary School":{tags:{name:"Jefferson Elementary School",amenity:"school"},name:"Jefferson Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Jefferson School":{tags:{name:"Jefferson School",amenity:"school"},name:"Jefferson School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Jose Clemente Orozco":{tags:{name:"Jose Clemente Orozco",amenity:"school"},name:"Jose Clemente Orozco",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Jose Vasconcelos":{tags:{name:"Jose Vasconcelos",amenity:"school"},name:"Jose Vasconcelos",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Josefa Ortiz De Dominguez":{tags:{name:"Josefa Ortiz De Dominguez",amenity:"school"},name:"Josefa Ortiz De Dominguez",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Juan Escutia":{tags:{name:"Juan Escutia",amenity:"school"},name:"Juan Escutia",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Justo Sierra":{tags:{name:"Justo Sierra",amenity:"school"},name:"Justo Sierra",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Kumon":{tags:{name:"Kumon",amenity:"school"},name:"Kumon",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Lazaro Cardenas":{tags:{name:"Lazaro Cardenas",amenity:"school"},name:"Lazaro Cardenas",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Lazaro Cardenas Del Rio":{tags:{name:"Lazaro Cardenas Del Rio",amenity:"school"},name:"Lazaro Cardenas Del Rio",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Leona Vicario":{tags:{name:"Leona Vicario",amenity:"school"},name:"Leona Vicario",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Liberty Elementary School":{tags:{name:"Liberty Elementary School",amenity:"school"},name:"Liberty Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Liberty School":{tags:{name:"Liberty School",amenity:"school"},name:"Liberty School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Lincoln Elementary School":{tags:{name:"Lincoln Elementary School",amenity:"school"},name:"Lincoln Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Lincoln School":{tags:{name:"Lincoln School",amenity:"school"},name:"Lincoln School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Longfellow Elementary School":{tags:{name:"Longfellow Elementary School",amenity:"school"},name:"Longfellow Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Longfellow School":{tags:{name:"Longfellow School",amenity:"school"},name:"Longfellow School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Madison Elementary School":{tags:{name:"Madison Elementary School",amenity:"school"},name:"Madison Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Manuel Lopez Cotilla":{tags:{name:"Manuel Lopez Cotilla",amenity:"school"},name:"Manuel Lopez Cotilla",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Maple Grove School":{tags:{name:"Maple Grove School",amenity:"school"},name:"Maple Grove School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/McKinley Elementary School":{tags:{name:"McKinley Elementary School",amenity:"school"},name:"McKinley Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/McKinley School":{tags:{name:"McKinley School",amenity:"school"},name:"McKinley School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Miguel Hidalgo":{tags:{name:"Miguel Hidalgo",amenity:"school"},name:"Miguel Hidalgo",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Miguel Hidalgo Y Costilla":{tags:{name:"Miguel Hidalgo Y Costilla",amenity:"school"},name:"Miguel Hidalgo Y Costilla",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Miller School":{tags:{name:"Miller School",amenity:"school"},name:"Miller School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Mount Pleasant School":{tags:{name:"Mount Pleasant School",amenity:"school"},name:"Mount Pleasant School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Mount Zion School":{tags:{name:"Mount Zion School",amenity:"school"},name:"Mount Zion School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Mountain View Elementary School":{tags:{name:"Mountain View Elementary School",amenity:"school"},name:"Mountain View Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/New Hope School":{tags:{name:"New Hope School",amenity:"school"},name:"New Hope School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Nicolas Bravo":{tags:{name:"Nicolas Bravo",amenity:"school"},name:"Nicolas Bravo",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Ni�os Heroes":{tags:{name:"Ni�os Heroes",amenity:"school"},name:"Ni�os Heroes",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Nombre En Tramite":{tags:{name:"Nombre En Tramite",amenity:"school"},name:"Nombre En Tramite",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/North Elementary School":{tags:{name:"North Elementary School",amenity:"school"},name:"North Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Oak Grove School":{tags:{name:"Oak Grove School",amenity:"school"},name:"Oak Grove School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Pedro Moreno":{tags:{name:"Pedro Moreno",amenity:"school"},name:"Pedro Moreno",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Pestalozzischule":{tags:{name:"Pestalozzischule",amenity:"school"},name:"Pestalozzischule",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Pine Grove School":{tags:{name:"Pine Grove School",amenity:"school"},name:"Pine Grove School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Pleasant Hill School":{tags:{name:"Pleasant Hill School",amenity:"school"},name:"Pleasant Hill School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Pleasant Valley School":{tags:{name:"Pleasant Valley School",amenity:"school"},name:"Pleasant Valley School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Pleasant View School":{tags:{name:"Pleasant View School",amenity:"school"},name:"Pleasant View School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Primaria Comunitaria":{tags:{name:"Primaria Comunitaria",amenity:"school"},name:"Primaria Comunitaria",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Ramon Corona":{tags:{name:"Ramon Corona",amenity:"school"},name:"Ramon Corona",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Ricardo Flores Magon":{tags:{name:"Ricardo Flores Magon",amenity:"school"},name:"Ricardo Flores Magon",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Riverside School":{tags:{name:"Riverside School",amenity:"school"},name:"Riverside School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Roosevelt Elementary School":{tags:{name:"Roosevelt Elementary School",amenity:"school"},name:"Roosevelt Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Roosevelt School":{tags:{name:"Roosevelt School",amenity:"school"},name:"Roosevelt School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/SD":{tags:{name:"SD",amenity:"school"},name:"SD",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/SDN":{tags:{name:"SDN",amenity:"school"},name:"SDN",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Sacred Heart School":{tags:{name:"Sacred Heart School",amenity:"school"},name:"Sacred Heart School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Francis School":{tags:{name:"Saint Francis School",amenity:"school"},name:"Saint Francis School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint James School":{tags:{name:"Saint James School",amenity:"school"},name:"Saint James School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Johns School":{tags:{name:"Saint Johns School",amenity:"school"},name:"Saint Johns School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Joseph School":{tags:{name:"Saint Joseph School",amenity:"school"},name:"Saint Joseph School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Josephs School":{tags:{name:"Saint Josephs School",amenity:"school"},name:"Saint Josephs School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Kizito Primary School":{tags:{name:"Saint Kizito Primary School",amenity:"school"},name:"Saint Kizito Primary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Mary School":{tags:{name:"Saint Mary School",amenity:"school"},name:"Saint Mary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Marys School":{tags:{name:"Saint Marys School",amenity:"school"},name:"Saint Marys School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Patricks School":{tags:{name:"Saint Patricks School",amenity:"school"},name:"Saint Patricks School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Paul School":{tags:{name:"Saint Paul School",amenity:"school"},name:"Saint Paul School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Pauls School":{tags:{name:"Saint Pauls School",amenity:"school"},name:"Saint Pauls School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Saint Peters School":{tags:{name:"Saint Peters School",amenity:"school"},name:"Saint Peters School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Schillerschule":{tags:{name:"Schillerschule",amenity:"school"},name:"Schillerschule",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/School Number 1":{tags:{name:"School Number 1",amenity:"school"},name:"School Number 1",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/School Number 2":{tags:{name:"School Number 2",amenity:"school"},name:"School Number 2",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/School Number 3":{tags:{name:"School Number 3",amenity:"school"},name:"School Number 3",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/School Number 4":{tags:{name:"School Number 4",amenity:"school"},name:"School Number 4",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Smith School":{tags:{name:"Smith School",amenity:"school"},name:"Smith School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/South Elementary School":{tags:{name:"South Elementary School",amenity:"school"},name:"South Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Sunnyside School":{tags:{name:"Sunnyside School",amenity:"school"},name:"Sunnyside School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Trinity School":{tags:{name:"Trinity School",amenity:"school"},name:"Trinity School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/UNIDAD EDUCATIVA":{tags:{name:"UNIDAD EDUCATIVA",amenity:"school"},name:"UNIDAD EDUCATIVA",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Union School":{tags:{name:"Union School",amenity:"school"},name:"Union School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Valentin Gomez Farias":{tags:{name:"Valentin Gomez Farias",amenity:"school"},name:"Valentin Gomez Farias",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Venustiano Carranza":{tags:{name:"Venustiano Carranza",amenity:"school"},name:"Venustiano Carranza",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Vicente Guerrero":{tags:{name:"Vicente Guerrero",amenity:"school"},name:"Vicente Guerrero",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Volkshochschule":{tags:{name:"Volkshochschule",amenity:"school"},name:"Volkshochschule",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Volksschule":{tags:{name:"Volksschule",amenity:"school"},name:"Volksschule",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Washington Elementary School":{tags:{name:"Washington Elementary School",amenity:"school"},name:"Washington Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Washington School":{tags:{name:"Washington School",amenity:"school"},name:"Washington School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/West Elementary School":{tags:{name:"West Elementary School",amenity:"school"},name:"West Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/White School":{tags:{name:"White School",amenity:"school"},name:"White School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Wilson Elementary School":{tags:{name:"Wilson Elementary School",amenity:"school"},name:"Wilson Elementary School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Wilson School":{tags:{name:"Wilson School",amenity:"school"},name:"Wilson School",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Általános iskola":{tags:{name:"Általános iskola",amenity:"school"},name:"Általános iskola",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/École Jules Ferry":{tags:{name:"École Jules Ferry",amenity:"school"},name:"École Jules Ferry",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/École Notre-Dame":{tags:{name:"École Notre-Dame",amenity:"school"},name:"École Notre-Dame",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/École Saint-Joseph":{tags:{name:"École Saint-Joseph",amenity:"school"},name:"École Saint-Joseph",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/École primaire Jules Ferry":{tags:{name:"École primaire Jules Ferry",amenity:"school"},name:"École primaire Jules Ferry",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],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:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/École élémentaire Jules Ferry":{tags:{name:"École élémentaire Jules Ferry",amenity:"school"},name:"École élémentaire Jules Ferry",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Școala Generală":{tags:{name:"Școala Generală",amenity:"school"},name:"Școala Generală",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Școală":{tags:{name:"Școală",amenity:"school"},name:"Școală",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Вечерняя школа":{tags:{name:"Вечерняя школа",amenity:"school"},name:"Вечерняя школа",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Гимназия №1":{tags:{name:"Гимназия №1",amenity:"school"},name:"Гимназия №1",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Средняя школа №1":{tags:{name:"Средняя школа №1",amenity:"school"},name:"Средняя школа №1",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Средняя школа №2":{tags:{name:"Средняя школа №2",amenity:"school"},name:"Средняя школа №2",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Средняя школа №3":{tags:{name:"Средняя школа №3",amenity:"school"},name:"Средняя школа №3",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа № 1":{tags:{name:"Школа № 1",amenity:"school"},name:"Школа № 1",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа № 2":{tags:{name:"Школа № 2",amenity:"school"},name:"Школа № 2",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа № 3":{tags:{name:"Школа № 3",amenity:"school"},name:"Школа № 3",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа № 4":{tags:{name:"Школа № 4",amenity:"school"},name:"Школа № 4",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа № 5":{tags:{name:"Школа № 5",amenity:"school"},name:"Школа № 5",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №1":{tags:{name:"Школа №1",amenity:"school"},name:"Школа №1",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №10":{tags:{name:"Школа №10",amenity:"school"},name:"Школа №10",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №11":{tags:{name:"Школа №11",amenity:"school"},name:"Школа №11",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №12":{tags:{name:"Школа №12",amenity:"school"},name:"Школа №12",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №13":{tags:{name:"Школа №13",amenity:"school"},name:"Школа №13",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №14":{tags:{name:"Школа №14",amenity:"school"},name:"Школа №14",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №15":{tags:{name:"Школа №15",amenity:"school"},name:"Школа №15",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №16":{tags:{name:"Школа №16",amenity:"school"},name:"Школа №16",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №17":{tags:{name:"Школа №17",amenity:"school"},name:"Школа №17",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №18":{tags:{name:"Школа №18",amenity:"school"},name:"Школа №18",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №19":{tags:{name:"Школа №19",amenity:"school"},name:"Школа №19",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №2":{tags:{name:"Школа №2",amenity:"school"},name:"Школа №2",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №20":{tags:{name:"Школа №20",amenity:"school"},name:"Школа №20",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №21":{tags:{name:"Школа №21",amenity:"school"},name:"Школа №21",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №22":{tags:{name:"Школа №22",amenity:"school"},name:"Школа №22",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №23":{tags:{name:"Школа №23",amenity:"school"},name:"Школа №23",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №24":{tags:{name:"Школа №24",amenity:"school"},name:"Школа №24",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №25":{tags:{name:"Школа №25",amenity:"school"},name:"Школа №25",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №26":{tags:{name:"Школа №26",amenity:"school"},name:"Школа №26",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №27":{tags:{name:"Школа №27",amenity:"school"},name:"Школа №27",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №28":{tags:{name:"Школа №28",amenity:"school"},name:"Школа №28",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №3":{tags:{name:"Школа №3",amenity:"school"},name:"Школа №3",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №31":{tags:{name:"Школа №31",amenity:"school"},name:"Школа №31",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №35":{tags:{name:"Школа №35",amenity:"school"},name:"Школа №35",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №4":{tags:{name:"Школа №4",amenity:"school"},name:"Школа №4",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №5":{tags:{name:"Школа №5",amenity:"school"},name:"Школа №5",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №6":{tags:{name:"Школа №6",amenity:"school"},name:"Школа №6",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №7":{tags:{name:"Школа №7",amenity:"school"},name:"Школа №7",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №8":{tags:{name:"Школа №8",amenity:"school"},name:"Школа №8",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/Школа №9":{tags:{name:"Школа №9",amenity:"school"},name:"Школа №9",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/مدرسة":{tags:{name:"مدرسة",amenity:"school"},name:"مدرسة",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/مدرسه":{tags:{name:"مدرسه",amenity:"school"},name:"مدرسه",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/市立南中学校":{tags:{name:"市立南中学校",amenity:"school"},name:"市立南中学校",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/市立南小学校":{tags:{name:"市立南小学校",amenity:"school"},name:"市立南小学校",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/school/市立東中学校":{tags:{name:"市立東中学校",amenity:"school"},name:"市立東中学校",icon:"maki-school",geometry:["point","area"],fields:["name","operator","address","religion","denomination"],suggestion:true},"amenity/social_facility/Safe Haven":{tags:{name:"Safe Haven",amenity:"social_facility"},name:"Safe Haven",icon:"temaki-social_facility",geometry:["point","area"],fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair"],suggestion:true},"amenity/social_facility/Детский дом":{tags:{name:"Детский дом",amenity:"social_facility"},name:"Детский дом",icon:"temaki-social_facility",geometry:["point","area"],fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair"],suggestion:true},"amenity/social_facility/Социальный участковый":{tags:{name:"Социальный участковый",amenity:"social_facility"},name:"Социальный участковый",icon:"temaki-social_facility",geometry:["point","area"],fields:["name","operator","address","building_area","social_facility","social_facility_for","opening_hours","wheelchair"],suggestion:true},"amenity/theatre/Amfiteatr":{tags:{name:"Amfiteatr",amenity:"theatre"},name:"Amfiteatr",icon:"maki-theatre",geometry:["point","area"],fields:["name","operator","address","building_area"],suggestion:true},"amenity/theatre/Amphitheater":{tags:{name:"Amphitheater",amenity:"theatre"},name:"Amphitheater",icon:"maki-theatre",geometry:["point","area"],fields:["name","operator","address","building_area"],suggestion:true},"amenity/theatre/Amphitheatre":{tags:{name:"Amphitheatre",amenity:"theatre"},name:"Amphitheatre",icon:"maki-theatre",geometry:["point","area"],fields:["name","operator","address","building_area"],suggestion:true},"amenity/theatre/Freilichtbühne":{tags:{name:"Freilichtbühne",amenity:"theatre"},name:"Freilichtbühne",icon:"maki-theatre",geometry:["point","area"],fields:["name","operator","address","building_area"],suggestion:true},"amenity/theatre/Teatro Comunale":{tags:{name:"Teatro Comunale",amenity:"theatre"},name:"Teatro Comunale",icon:"maki-theatre",geometry:["point","area"],fields:["name","operator","address","building_area"],suggestion:true},"leisure/fitness_centre/LA Fitness":{tags:{name:"LA Fitness",leisure:"fitness_centre"},name:"LA Fitness",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","address","building_area","opening_hours"],suggestion:true},"leisure/fitness_centre/Planet Fitness":{tags:{name:"Planet Fitness",leisure:"fitness_centre"},name:"Planet Fitness",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","address","building_area","opening_hours"],suggestion:true},"leisure/fitness_centre/Snap Fitness":{tags:{name:"Snap Fitness",leisure:"fitness_centre"},name:"Snap Fitness",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","address","building_area","opening_hours"],suggestion:true},"leisure/playground/Çocuk Parkı":{tags:{name:"Çocuk Parkı",leisure:"playground"},name:"Çocuk Parkı",icon:"maki-playground",geometry:["point","area"],fields:["name","operator","surface","playground/max_age","playground/min_age","access_simple"],suggestion:true},"leisure/playground/놀이터":{tags:{name:"놀이터",leisure:"playground"},name:"놀이터",icon:"maki-playground",geometry:["point","area"],fields:["name","operator","surface","playground/max_age","playground/min_age","access_simple"],suggestion:true},"leisure/sports_centre/Anytime Fitness":{tags:{name:"Anytime Fitness",leisure:"sports_centre"},name:"Anytime Fitness",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Complejo Municipal de Deportes":{tags:{name:"Complejo Municipal de Deportes",leisure:"sports_centre"},name:"Complejo Municipal de Deportes",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Complexe Sportif":{tags:{name:"Complexe Sportif",leisure:"sports_centre"},name:"Complexe Sportif",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Curves":{tags:{name:"Curves",leisure:"sports_centre"},name:"Curves",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Fitness First":{tags:{name:"Fitness First",leisure:"sports_centre"},name:"Fitness First",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Gold's Gym":{tags:{name:"Gold's Gym",leisure:"sports_centre"},name:"Gold's Gym",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Kieser Training":{tags:{name:"Kieser Training",leisure:"sports_centre"},name:"Kieser Training",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Life Time Fitness":{tags:{name:"Life Time Fitness",leisure:"sports_centre"},name:"Life Time Fitness",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/McFit":{tags:{name:"McFit",leisure:"sports_centre"},name:"McFit",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Mrs. Sporty":{tags:{name:"Mrs. Sporty",leisure:"sports_centre"},name:"Mrs. Sporty",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Orlik":{tags:{name:"Orlik",leisure:"sports_centre"},name:"Orlik",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","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:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Palestra Comunale":{tags:{name:"Palestra Comunale",leisure:"sports_centre"},name:"Palestra Comunale",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Salle Omnisport":{tags:{name:"Salle Omnisport",leisure:"sports_centre"},name:"Salle Omnisport",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Virgin Active":{tags:{name:"Virgin Active",leisure:"sports_centre"},name:"Virgin Active",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/YMCA":{tags:{name:"YMCA",leisure:"sports_centre"},name:"YMCA",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/ДЮСШ":{tags:{name:"ДЮСШ",leisure:"sports_centre"},name:"ДЮСШ",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/Ледовый дворец":{tags:{name:"Ледовый дворец",leisure:"sports_centre"},name:"Ледовый дворец",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/sports_centre/体育館":{tags:{name:"体育館",leisure:"sports_centre"},name:"体育館",icon:"maki-pitch",geometry:["point","area"],fields:["name","sport","building","address","opening_hours"],suggestion:true},"leisure/swimming_pool/Schwimmerbecken":{tags:{name:"Schwimmerbecken",leisure:"swimming_pool"},name:"Schwimmerbecken",icon:"maki-swimming",geometry:["point","area"],fields:["name","access_simple","operator","address"],suggestion:true},"leisure/swimming_pool/Yüzme Havuzu":{tags:{name:"Yüzme Havuzu",leisure:"swimming_pool"},name:"Yüzme Havuzu",icon:"maki-swimming",geometry:["point","area"],fields:["name","access_simple","operator","address"],suggestion:true},"leisure/swimming_pool/プール":{tags:{name:"プール",leisure:"swimming_pool"},name:"プール",icon:"maki-swimming",geometry:["point","area"],fields:["name","access_simple","operator","address"],suggestion:true},"leisure/swimming_pool/游泳池":{tags:{name:"游泳池",leisure:"swimming_pool"},name:"游泳池",icon:"maki-swimming",geometry:["point","area"],fields:["name","access_simple","operator","address"],suggestion:true},"man_made/windmill/De Hoop":{tags:{name:"De Hoop",man_made:"windmill"},name:"De Hoop",icon:"temaki-windmill",geometry:["point","area"],fields:["building_area"],suggestion:true},"shop/alcohol/Alko":{tags:{name:"Alko",shop:"alcohol"},name:"Alko",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/BC Liquor Store":{tags:{name:"BC Liquor Store",shop:"alcohol"},name:"BC Liquor Store",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/BWS":{tags:{name:"BWS",shop:"alcohol"},name:"BWS",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Bargain Booze":{tags:{name:"Bargain Booze",shop:"alcohol"},name:"Bargain Booze",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Beer Store":{tags:{name:"Beer Store",shop:"alcohol"},name:"Beer Store",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Botilleria":{tags:{name:"Botilleria",shop:"alcohol"},name:"Botilleria",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Dan Murphy's":{tags:{name:"Dan Murphy's",shop:"alcohol"},name:"Dan Murphy's",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Gall & Gall":{tags:{name:"Gall & Gall",shop:"alcohol"},name:"Gall & Gall",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/LCBO":{tags:{name:"LCBO",shop:"alcohol"},name:"LCBO",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Liquor Depot":{tags:{name:"Liquor Depot",shop:"alcohol"},name:"Liquor Depot",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Liquor Store":{tags:{name:"Liquor Store",shop:"alcohol"},name:"Liquor Store",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Liquorland":{tags:{name:"Liquorland",shop:"alcohol"},name:"Liquorland",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Mitra":{tags:{name:"Mitra",shop:"alcohol"},name:"Mitra",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Nicolas":{tags:{name:"Nicolas",shop:"alcohol"},name:"Nicolas",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/SAQ":{tags:{name:"SAQ",shop:"alcohol"},name:"SAQ",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Systembolaget":{tags:{name:"Systembolaget",shop:"alcohol"},name:"Systembolaget",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/The Beer Store":{tags:{name:"The Beer Store",shop:"alcohol"},name:"The Beer Store",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Vinmonopolet":{tags:{name:"Vinmonopolet",shop:"alcohol"},name:"Vinmonopolet",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Алкомаркет":{tags:{name:"Алкомаркет",shop:"alcohol"},name:"Алкомаркет",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Ароматный мир":{tags:{name:"Ароматный мир",shop:"alcohol"},name:"Ароматный мир",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Бристоль":{tags:{name:"Бристоль",shop:"alcohol"},name:"Бристоль",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Градус":{tags:{name:"Градус",shop:"alcohol"},name:"Градус",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Живое пиво":{tags:{name:"Живое пиво",shop:"alcohol"},name:"Живое пиво",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Красное & Белое":{tags:{name:"Красное & Белое",shop:"alcohol"},name:"Красное & Белое",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Норман":{tags:{name:"Норман",shop:"alcohol"},name:"Норман",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Отдохни":{tags:{name:"Отдохни",shop:"alcohol"},name:"Отдохни",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Пиво":{tags:{name:"Пиво",shop:"alcohol"},name:"Пиво",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/alcohol/Разливное пиво":{tags:{name:"Разливное пиво",shop:"alcohol"},name:"Разливное пиво",icon:"maki-alcohol-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi","drive_through"],suggestion:true},"shop/baby_goods/Aubert":{tags:{name:"Aubert",shop:"baby_goods"},name:"Aubert",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/baby_goods/Babies R Us":{tags:{name:"Babies R Us",shop:"baby_goods"},name:"Babies R Us",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/baby_goods/BabyOne":{tags:{name:"BabyOne",shop:"baby_goods"},name:"BabyOne",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/AILI":{tags:{name:"AILI",shop:"bakery"},name:"AILI",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Anker":{tags:{name:"Anker",shop:"bakery"},name:"Anker",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Awiteks":{tags:{name:"Awiteks",shop:"bakery"},name:"Awiteks",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Backshop":{tags:{name:"Backshop",shop:"bakery"},name:"Backshop",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Backwerk":{tags:{name:"Backwerk",shop:"bakery"},name:"Backwerk",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Baguette":{tags:{name:"Baguette",shop:"bakery"},name:"Baguette",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Bakers Delight":{tags:{name:"Bakers Delight",shop:"bakery"},name:"Bakers Delight",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Bakker Bart":{tags:{name:"Bakker Bart",shop:"bakery"},name:"Bakker Bart",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Banette":{tags:{name:"Banette",shop:"bakery"},name:"Banette",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Bäckerei Fuchs":{tags:{name:"Bäckerei Fuchs",shop:"bakery"},name:"Bäckerei Fuchs",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Bäckerei Grimminger":{tags:{name:"Bäckerei Grimminger",shop:"bakery"},name:"Bäckerei Grimminger",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Bäckerei Müller":{tags:{name:"Bäckerei Müller",shop:"bakery"},name:"Bäckerei Müller",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Bäckerei Schmidt":{tags:{name:"Bäckerei Schmidt",shop:"bakery"},name:"Bäckerei Schmidt",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Bäckerei Schneider":{tags:{name:"Bäckerei Schneider",shop:"bakery"},name:"Bäckerei Schneider",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Cooplands":{tags:{name:"Cooplands",shop:"bakery"},name:"Cooplands",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Dat Backhus":{tags:{name:"Dat Backhus",shop:"bakery"},name:"Dat Backhus",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Der Beck":{tags:{name:"Der Beck",shop:"bakery"},name:"Der Beck",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Der Mann":{tags:{name:"Der Mann",shop:"bakery"},name:"Der Mann",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Ditsch":{tags:{name:"Ditsch",shop:"bakery"},name:"Ditsch",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Fornetti":{tags:{name:"Fornetti",shop:"bakery"},name:"Fornetti",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Goeken backen":{tags:{name:"Goeken backen",shop:"bakery"},name:"Goeken backen",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Goldilocks":{tags:{name:"Goldilocks",shop:"bakery"},name:"Goldilocks",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Greggs":{tags:{name:"Greggs",shop:"bakery"},name:"Greggs",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Hofpfisterei":{tags:{name:"Hofpfisterei",shop:"bakery"},name:"Hofpfisterei",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Ihle":{tags:{name:"Ihle",shop:"bakery"},name:"Ihle",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Julie's Bakeshop":{tags:{name:"Julie's Bakeshop",shop:"bakery"},name:"Julie's Bakeshop",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/K&U":{tags:{name:"K&U",shop:"bakery"},name:"K&U",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/K&U Bäckerei":{tags:{name:"K&U Bäckerei",shop:"bakery"},name:"K&U Bäckerei",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Kamps":{tags:{name:"Kamps",shop:"bakery"},name:"Kamps",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/La Mie Câline":{tags:{name:"La Mie Câline",shop:"bakery"},name:"La Mie Câline",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Le Crobag":{tags:{name:"Le Crobag",shop:"bakery"},name:"Le Crobag",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Le Fournil":{tags:{name:"Le Fournil",shop:"bakery"},name:"Le Fournil",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Lila Bäcker":{tags:{name:"Lila Bäcker",shop:"bakery"},name:"Lila Bäcker",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Lipóti Pékség":{tags:{name:"Lipóti Pékség",shop:"bakery"},name:"Lipóti Pékség",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Marie Blachère":{tags:{name:"Marie Blachère",shop:"bakery"},name:"Marie Blachère",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Mlinar":{tags:{name:"Mlinar",shop:"bakery"},name:"Mlinar",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Musmanni":{tags:{name:"Musmanni",shop:"bakery"},name:"Musmanni",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Oebel":{tags:{name:"Oebel",shop:"bakery"},name:"Oebel",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Paul":{tags:{name:"Paul",shop:"bakery"},name:"Paul",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Red Ribbon":{tags:{name:"Red Ribbon",shop:"bakery"},name:"Red Ribbon",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Schäfer's":{tags:{name:"Schäfer's",shop:"bakery"},name:"Schäfer's",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Sehne":{tags:{name:"Sehne",shop:"bakery"},name:"Sehne",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Stadtbäckerei":{tags:{name:"Stadtbäckerei",shop:"bakery"},name:"Stadtbäckerei",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Steinecke":{tags:{name:"Steinecke",shop:"bakery"},name:"Steinecke",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Sternenbäck":{tags:{name:"Sternenbäck",shop:"bakery"},name:"Sternenbäck",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Ströck":{tags:{name:"Ströck",shop:"bakery"},name:"Ströck",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Wiener Feinbäcker":{tags:{name:"Wiener Feinbäcker",shop:"bakery"},name:"Wiener Feinbäcker",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/von Allwörden":{tags:{name:"von Allwörden",shop:"bakery"},name:"von Allwörden",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Булочная":{tags:{name:"Булочная",shop:"bakery"},name:"Булочная",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Горячий хлеб":{tags:{name:"Горячий хлеб",shop:"bakery"},name:"Горячий хлеб",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Каравай":{tags:{name:"Каравай",shop:"bakery"},name:"Каравай",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Кулиничи":{tags:{name:"Кулиничи",shop:"bakery"},name:"Кулиничи",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Кулиничі":{tags:{name:"Кулиничі",shop:"bakery"},name:"Кулиничі",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Свежий хлеб":{tags:{name:"Свежий хлеб",shop:"bakery"},name:"Свежий хлеб",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/Хлеб":{tags:{name:"Хлеб",shop:"bakery"},name:"Хлеб",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/مخبز":{tags:{name:"مخبز",shop:"bakery"},name:"مخبز",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/مخبزة":{tags:{name:"مخبزة",shop:"bakery"},name:"مخبزة",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/نان لواش":{tags:{name:"نان لواش",shop:"bakery"},name:"نان لواش",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/نانوایی":{tags:{name:"نانوایی",shop:"bakery"},name:"نانوایی",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/نانوایی بربری":{tags:{name:"نانوایی بربری",shop:"bakery"},name:"نانوایی بربری",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/نانوایی سنگک":{tags:{name:"نانوایی سنگک",shop:"bakery"},name:"نانوایی سنگک",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/نانوایی سنگکی":{tags:{name:"نانوایی سنگکی",shop:"bakery"},name:"نانوایی سنگکی",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bakery/نانوایی لواش":{tags:{name:"نانوایی لواش",shop:"bakery"},name:"نانوایی لواش",icon:"maki-bakery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beauty/Sally Beauty Supply":{tags:{name:"Sally Beauty Supply",shop:"beauty"},name:"Sally Beauty Supply",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","beauty","opening_hours","payment_multi"],suggestion:true},"shop/beauty/Yves Rocher":{tags:{name:"Yves Rocher",shop:"beauty"},name:"Yves Rocher",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","beauty","opening_hours","payment_multi"],suggestion:true},"shop/bed/Matratzen Concord":{tags:{name:"Matratzen Concord",shop:"bed"},name:"Matratzen Concord",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bed/Mattress Firm":{tags:{name:"Mattress Firm",shop:"bed"},name:"Mattress Firm",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bed/Sleepy's":{tags:{name:"Sleepy's",shop:"bed"},name:"Sleepy's",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/50嵐":{tags:{name:"50嵐",shop:"beverages"},name:"50嵐",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Dursty":{tags:{name:"Dursty",shop:"beverages"},name:"Dursty",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Edeka Getränkemarkt":{tags:{name:"Edeka Getränkemarkt",shop:"beverages"},name:"Edeka Getränkemarkt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Fristo":{tags:{name:"Fristo",shop:"beverages"},name:"Fristo",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Getränke Hoffmann":{tags:{name:"Getränke Hoffmann",shop:"beverages"},name:"Getränke Hoffmann",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Getränkeland":{tags:{name:"Getränkeland",shop:"beverages"},name:"Getränkeland",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Getränkemarkt":{tags:{name:"Getränkemarkt",shop:"beverages"},name:"Getränkemarkt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Orterer Getränkemarkt":{tags:{name:"Orterer Getränkemarkt",shop:"beverages"},name:"Orterer Getränkemarkt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Rewe Getränkemarkt":{tags:{name:"Rewe Getränkemarkt",shop:"beverages"},name:"Rewe Getränkemarkt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/Trinkgut":{tags:{name:"Trinkgut",shop:"beverages"},name:"Trinkgut",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/beverages/茶湯會":{tags:{name:"茶湯會",shop:"beverages"},name:"茶湯會",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bicycle/Halfords":{tags:{name:"Halfords",shop:"bicycle"},name:"Halfords",icon:"maki-bicycle",geometry:["point","area"],fields:["name","operator","address","building_area","service/bicycle","opening_hours","payment_multi"],suggestion:true},"shop/bicycle/Веломарка":{tags:{name:"Веломарка",shop:"bicycle"},name:"Веломарка",icon:"maki-bicycle",geometry:["point","area"],fields:["name","operator","address","building_area","service/bicycle","opening_hours","payment_multi"],suggestion:true},"shop/bicycle/サイクルベースあさひ":{tags:{name:"サイクルベースあさひ",shop:"bicycle"},name:"サイクルベースあさひ",icon:"maki-bicycle",geometry:["point","area"],fields:["name","operator","address","building_area","service/bicycle","opening_hours","payment_multi"],suggestion:true},"shop/bookmaker/Betfred":{tags:{name:"Betfred",shop:"bookmaker"},name:"Betfred",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bookmaker/Coral":{tags:{name:"Coral",shop:"bookmaker"},name:"Coral",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bookmaker/Ladbrokes":{tags:{name:"Ladbrokes",shop:"bookmaker"},name:"Ladbrokes",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bookmaker/Paddy Power":{tags:{name:"Paddy Power",shop:"bookmaker"},name:"Paddy Power",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bookmaker/William Hill":{tags:{name:"William Hill",shop:"bookmaker"},name:"William Hill",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/bookmaker/ΟΠΑΠ":{tags:{name:"ΟΠΑΠ",shop:"bookmaker"},name:"ΟΠΑΠ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Boucherie Charcuterie":{tags:{name:"Boucherie Charcuterie",shop:"butcher"},name:"Boucherie Charcuterie",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Carnicería":{tags:{name:"Carnicería",shop:"butcher"},name:"Carnicería",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Fleischerei Richter":{tags:{name:"Fleischerei Richter",shop:"butcher"},name:"Fleischerei Richter",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Húsbolt":{tags:{name:"Húsbolt",shop:"butcher"},name:"Húsbolt",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Macelleria":{tags:{name:"Macelleria",shop:"butcher"},name:"Macelleria",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Vinzenzmurr":{tags:{name:"Vinzenzmurr",shop:"butcher"},name:"Vinzenzmurr",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Ариант":{tags:{name:"Ариант",shop:"butcher"},name:"Ариант",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Великолукский мясокомбинат":{tags:{name:"Великолукский мясокомбинат",shop:"butcher"},name:"Великолукский мясокомбинат",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Мясная лавка":{tags:{name:"Мясная лавка",shop:"butcher"},name:"Мясная лавка",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Мясницкий ряд":{tags:{name:"Мясницкий ряд",shop:"butcher"},name:"Мясницкий ряд",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Мясной":{tags:{name:"Мясной",shop:"butcher"},name:"Мясной",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Мясо":{tags:{name:"Мясо",shop:"butcher"},name:"Мясо",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Наша Ряба":{tags:{name:"Наша Ряба",shop:"butcher"},name:"Наша Ряба",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/butcher/Свежее мясо":{tags:{name:"Свежее мясо",shop:"butcher"},name:"Свежее мясо",icon:"maki-slaughterhouse",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car/Audi":{tags:{name:"Audi",shop:"car"},name:"Audi",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/BMW":{tags:{name:"BMW",shop:"car"},name:"BMW",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Chevrolet":{tags:{name:"Chevrolet",shop:"car"},name:"Chevrolet",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Citroën":{tags:{name:"Citroën",shop:"car"},name:"Citroën",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Dacia":{tags:{name:"Dacia",shop:"car"},name:"Dacia",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Fiat":{tags:{name:"Fiat",shop:"car"},name:"Fiat",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Ford":{tags:{name:"Ford",shop:"car"},name:"Ford",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Honda":{tags:{name:"Honda",shop:"car"},name:"Honda",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Hyundai":{tags:{name:"Hyundai",shop:"car"},name:"Hyundai",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Isuzu":{tags:{name:"Isuzu",shop:"car"},name:"Isuzu",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Kia":{tags:{name:"Kia",shop:"car"},name:"Kia",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Land Rover":{tags:{name:"Land Rover",shop:"car"},name:"Land Rover",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Lexus":{tags:{name:"Lexus",shop:"car"},name:"Lexus",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Mazda":{tags:{name:"Mazda",shop:"car"},name:"Mazda",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Mercedes-Benz":{tags:{name:"Mercedes-Benz",shop:"car"},name:"Mercedes-Benz",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Mitsubishi":{tags:{name:"Mitsubishi",shop:"car"},name:"Mitsubishi",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Mitsubishi Motors":{tags:{name:"Mitsubishi Motors",shop:"car"},name:"Mitsubishi Motors",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/NISSAN":{tags:{name:"NISSAN",shop:"car"},name:"NISSAN",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Nissan":{tags:{name:"Nissan",shop:"car"},name:"Nissan",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Opel":{tags:{name:"Opel",shop:"car"},name:"Opel",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Peugeot":{tags:{name:"Peugeot",shop:"car"},name:"Peugeot",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Porsche":{tags:{name:"Porsche",shop:"car"},name:"Porsche",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Renault":{tags:{name:"Renault",shop:"car"},name:"Renault",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Seat":{tags:{name:"Seat",shop:"car"},name:"Seat",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Skoda":{tags:{name:"Skoda",shop:"car"},name:"Skoda",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Subaru":{tags:{name:"Subaru",shop:"car"},name:"Subaru",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Suzuki":{tags:{name:"Suzuki",shop:"car"},name:"Suzuki",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Toyota":{tags:{name:"Toyota",shop:"car"},name:"Toyota",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Volkswagen":{tags:{name:"Volkswagen",shop:"car"},name:"Volkswagen",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car/Volvo":{tags:{name:"Volvo",shop:"car"},name:"Volvo",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","brand","second_hand","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/Advance Auto Parts":{tags:{name:"Advance Auto Parts",shop:"car_parts"},name:"Advance Auto Parts",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/AutoZone":{tags:{name:"AutoZone",shop:"car_parts"},name:"AutoZone",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/Brezan":{tags:{name:"Brezan",shop:"car_parts"},name:"Brezan",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/NAPA Auto Parts":{tags:{name:"NAPA Auto Parts",shop:"car_parts"},name:"NAPA Auto Parts",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/Napa Auto Parts":{tags:{name:"Napa Auto Parts",shop:"car_parts"},name:"Napa Auto Parts",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/O'Reilly Auto Parts":{tags:{name:"O'Reilly Auto Parts",shop:"car_parts"},name:"O'Reilly Auto Parts",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/Repco":{tags:{name:"Repco",shop:"car_parts"},name:"Repco",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/Tokić":{tags:{name:"Tokić",shop:"car_parts"},name:"Tokić",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/repuestos automotrices":{tags:{name:"repuestos automotrices",shop:"car_parts"},name:"repuestos automotrices",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/Автозапчастини":{tags:{name:"Автозапчастини",shop:"car_parts"},name:"Автозапчастини",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/Автомир":{tags:{name:"Автомир",shop:"car_parts"},name:"Автомир",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/イエローハット":{tags:{name:"イエローハット",shop:"car_parts"},name:"イエローハット",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/オートバックス":{tags:{name:"オートバックス",shop:"car_parts"},name:"オートバックス",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_parts/タイヤ館":{tags:{name:"タイヤ館",shop:"car_parts"},name:"タイヤ館",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/A.T.U":{tags:{name:"A.T.U",shop:"car_repair"},name:"A.T.U",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Bosch Car Service":{tags:{name:"Bosch Car Service",shop:"car_repair"},name:"Bosch Car Service",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Carglass":{tags:{name:"Carglass",shop:"car_repair"},name:"Carglass",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Euromaster":{tags:{name:"Euromaster",shop:"car_repair"},name:"Euromaster",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Feu Vert":{tags:{name:"Feu Vert",shop:"car_repair"},name:"Feu Vert",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Firestone":{tags:{name:"Firestone",shop:"car_repair"},name:"Firestone",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Firestone Complete Auto Care":{tags:{name:"Firestone Complete Auto Care",shop:"car_repair"},name:"Firestone Complete Auto Care",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Garage Renault":{tags:{name:"Garage Renault",shop:"car_repair"},name:"Garage Renault",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Gomeria":{tags:{name:"Gomeria",shop:"car_repair"},name:"Gomeria",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Gomería":{tags:{name:"Gomería",shop:"car_repair"},name:"Gomería",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Goodyear":{tags:{name:"Goodyear",shop:"car_repair"},name:"Goodyear",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Grease Monkey":{tags:{name:"Grease Monkey",shop:"car_repair"},name:"Grease Monkey",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Jiffy Lube":{tags:{name:"Jiffy Lube",shop:"car_repair"},name:"Jiffy Lube",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Kwik Fit":{tags:{name:"Kwik Fit",shop:"car_repair"},name:"Kwik Fit",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Lubricentro":{tags:{name:"Lubricentro",shop:"car_repair"},name:"Lubricentro",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Meineke":{tags:{name:"Meineke",shop:"car_repair"},name:"Meineke",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Mekonomen":{tags:{name:"Mekonomen",shop:"car_repair"},name:"Mekonomen",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Midas":{tags:{name:"Midas",shop:"car_repair"},name:"Midas",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Mr. Lube":{tags:{name:"Mr. Lube",shop:"car_repair"},name:"Mr. Lube",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Norauto":{tags:{name:"Norauto",shop:"car_repair"},name:"Norauto",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Pep Boys":{tags:{name:"Pep Boys",shop:"car_repair"},name:"Pep Boys",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Pit Stop":{tags:{name:"Pit Stop",shop:"car_repair"},name:"Pit Stop",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Point S":{tags:{name:"Point S",shop:"car_repair"},name:"Point S",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Roady":{tags:{name:"Roady",shop:"car_repair"},name:"Roady",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Sears Auto Center":{tags:{name:"Sears Auto Center",shop:"car_repair"},name:"Sears Auto Center",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Speedy":{tags:{name:"Speedy",shop:"car_repair"},name:"Speedy",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Stacja Kontroli Pojazdów":{tags:{name:"Stacja Kontroli Pojazdów",shop:"car_repair"},name:"Stacja Kontroli Pojazdów",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Taller":{tags:{name:"Taller",shop:"car_repair"},name:"Taller",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Valvoline":{tags:{name:"Valvoline",shop:"car_repair"},name:"Valvoline",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Valvoline Instant Oil Change":{tags:{name:"Valvoline Instant Oil Change",shop:"car_repair"},name:"Valvoline Instant Oil Change",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Wulkanizacja":{tags:{name:"Wulkanizacja",shop:"car_repair"},name:"Wulkanizacja",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/ÖAMTC":{tags:{name:"ÖAMTC",shop:"car_repair"},name:"ÖAMTC",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Автомастерская":{tags:{name:"Автомастерская",shop:"car_repair"},name:"Автомастерская",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Авторемонт":{tags:{name:"Авторемонт",shop:"car_repair"},name:"Авторемонт",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Автосервис":{tags:{name:"Автосервис",shop:"car_repair"},name:"Автосервис",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Автосервис+шиномонтаж":{tags:{name:"Автосервис+шиномонтаж",shop:"car_repair"},name:"Автосервис+шиномонтаж",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Замена масла":{tags:{name:"Замена масла",shop:"car_repair"},name:"Замена масла",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/СТО":{tags:{name:"СТО",shop:"car_repair"},name:"СТО",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/Шиномонтаж":{tags:{name:"Шиномонтаж",shop:"car_repair"},name:"Шиномонтаж",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/car_repair/шиномонтаж":{tags:{name:"шиномонтаж",shop:"car_repair"},name:"шиномонтаж",icon:"maki-car",geometry:["point","area"],fields:["name","operator","address","building_area","service/vehicle","opening_hours","payment_multi"],suggestion:true},"shop/carpet/Carpet Right":{tags:{name:"Carpet Right",shop:"carpet"},name:"Carpet Right",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/carpet/Carpetright":{tags:{name:"Carpetright",shop:"carpet"},name:"Carpetright",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/charity/Age UK":{tags:{name:"Age UK",shop:"charity"},name:"Age UK",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/charity/Barnardo's":{tags:{name:"Barnardo's",shop:"charity"},name:"Barnardo's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/charity/British Heart Foundation":{tags:{name:"British Heart Foundation",shop:"charity"},name:"British Heart Foundation",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/charity/Cancer Research UK":{tags:{name:"Cancer Research UK",shop:"charity"},name:"Cancer Research UK",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/charity/Oxfam":{tags:{name:"Oxfam",shop:"charity"},name:"Oxfam",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/charity/Salvation Army":{tags:{name:"Salvation Army",shop:"charity"},name:"Salvation Army",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/charity/Scope":{tags:{name:"Scope",shop:"charity"},name:"Scope",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/charity/Sue Ryder":{tags:{name:"Sue Ryder",shop:"charity"},name:"Sue Ryder",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/chemist/7 Дней":{tags:{name:"7 Дней",shop:"chemist"},name:"7 Дней",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Bipa":{tags:{name:"Bipa",shop:"chemist"},name:"Bipa",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Budnikowsky":{tags:{name:"Budnikowsky",shop:"chemist"},name:"Budnikowsky",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Etos":{tags:{name:"Etos",shop:"chemist"},name:"Etos",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Kruidvat":{tags:{name:"Kruidvat",shop:"chemist"},name:"Kruidvat",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Matas":{tags:{name:"Matas",shop:"chemist"},name:"Matas",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Müller":{tags:{name:"Müller",shop:"chemist"},name:"Müller",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Rossmann":{tags:{name:"Rossmann",shop:"chemist"},name:"Rossmann",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Schlecker":{tags:{name:"Schlecker",shop:"chemist"},name:"Schlecker",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Teta":{tags:{name:"Teta",shop:"chemist"},name:"Teta",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Trekpleister":{tags:{name:"Trekpleister",shop:"chemist"},name:"Trekpleister",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Watsons":{tags:{name:"Watsons",shop:"chemist"},name:"Watsons",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/dm":{tags:{name:"dm",shop:"chemist"},name:"dm",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Бытовая химия":{tags:{name:"Бытовая химия",shop:"chemist"},name:"Бытовая химия",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Магнит Косметик":{tags:{name:"Магнит Косметик",shop:"chemist"},name:"Магнит Косметик",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Мила":{tags:{name:"Мила",shop:"chemist"},name:"Мила",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Остров чистоты":{tags:{name:"Остров чистоты",shop:"chemist"},name:"Остров чистоты",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Рубль Бум":{tags:{name:"Рубль Бум",shop:"chemist"},name:"Рубль Бум",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/Улыбка радуги":{tags:{name:"Улыбка радуги",shop:"chemist"},name:"Улыбка радуги",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/屈臣氏":{tags:{name:"屈臣氏",shop:"chemist"},name:"屈臣氏",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/chemist/康是美":{tags:{name:"康是美",shop:"chemist"},name:"康是美",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/AOKI":{tags:{name:"AOKI",shop:"clothes"},name:"AOKI",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/AWG":{tags:{name:"AWG",shop:"clothes"},name:"AWG",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Ackermans":{tags:{name:"Ackermans",shop:"clothes"},name:"Ackermans",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Adidas":{tags:{name:"Adidas",shop:"clothes"},name:"Adidas",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/American Apparel":{tags:{name:"American Apparel",shop:"clothes"},name:"American Apparel",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/American Eagle Outfitters":{tags:{name:"American Eagle Outfitters",shop:"clothes"},name:"American Eagle Outfitters",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Anthropologie":{tags:{name:"Anthropologie",shop:"clothes"},name:"Anthropologie",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Ardene":{tags:{name:"Ardene",shop:"clothes"},name:"Ardene",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Armand Thiery":{tags:{name:"Armand Thiery",shop:"clothes"},name:"Armand Thiery",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Banana Republic":{tags:{name:"Banana Republic",shop:"clothes"},name:"Banana Republic",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Benetton":{tags:{name:"Benetton",shop:"clothes"},name:"Benetton",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Bershka":{tags:{name:"Bershka",shop:"clothes"},name:"Bershka",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Bonita":{tags:{name:"Bonita",shop:"clothes"},name:"Bonita",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Bonobo":{tags:{name:"Bonobo",shop:"clothes"},name:"Bonobo",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Brooks Brothers":{tags:{name:"Brooks Brothers",shop:"clothes"},name:"Brooks Brothers",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Burberry":{tags:{name:"Burberry",shop:"clothes"},name:"Burberry",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Burlington Coat Factory":{tags:{name:"Burlington Coat Factory",shop:"clothes"},name:"Burlington Coat Factory",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Burton":{tags:{name:"Burton",shop:"clothes"},name:"Burton",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/C&A":{tags:{name:"C&A",shop:"clothes"},name:"C&A",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Cache Cache":{tags:{name:"Cache Cache",shop:"clothes"},name:"Cache Cache",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Calvin Klein":{tags:{name:"Calvin Klein",shop:"clothes"},name:"Calvin Klein",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Calzedonia":{tags:{name:"Calzedonia",shop:"clothes"},name:"Calzedonia",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Camaïeu":{tags:{name:"Camaïeu",shop:"clothes"},name:"Camaïeu",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Caroll":{tags:{name:"Caroll",shop:"clothes"},name:"Caroll",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Carter's":{tags:{name:"Carter's",shop:"clothes"},name:"Carter's",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Cecil":{tags:{name:"Cecil",shop:"clothes"},name:"Cecil",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Celio":{tags:{name:"Celio",shop:"clothes"},name:"Celio",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Charles Vögele":{tags:{name:"Charles Vögele",shop:"clothes"},name:"Charles Vögele",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Chico's":{tags:{name:"Chico's",shop:"clothes"},name:"Chico's",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Cropp":{tags:{name:"Cropp",shop:"clothes"},name:"Cropp",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Cubus":{tags:{name:"Cubus",shop:"clothes"},name:"Cubus",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Desigual":{tags:{name:"Desigual",shop:"clothes"},name:"Desigual",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Devred":{tags:{name:"Devred",shop:"clothes"},name:"Devred",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Didi":{tags:{name:"Didi",shop:"clothes"},name:"Didi",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Diesel":{tags:{name:"Diesel",shop:"clothes"},name:"Diesel",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Dorothy Perkins":{tags:{name:"Dorothy Perkins",shop:"clothes"},name:"Dorothy Perkins",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Dress Barn":{tags:{name:"Dress Barn",shop:"clothes"},name:"Dress Barn",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Dressmann":{tags:{name:"Dressmann",shop:"clothes"},name:"Dressmann",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Eddie Bauer":{tags:{name:"Eddie Bauer",shop:"clothes"},name:"Eddie Bauer",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Edgars":{tags:{name:"Edgars",shop:"clothes"},name:"Edgars",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Engbers":{tags:{name:"Engbers",shop:"clothes"},name:"Engbers",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Ernsting's family":{tags:{name:"Ernsting's family",shop:"clothes"},name:"Ernsting's family",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Esprit":{tags:{name:"Esprit",shop:"clothes"},name:"Esprit",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Etam":{tags:{name:"Etam",shop:"clothes"},name:"Etam",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Express":{tags:{name:"Express",shop:"clothes"},name:"Express",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Fat Face":{tags:{name:"Fat Face",shop:"clothes"},name:"Fat Face",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Forever 21":{tags:{name:"Forever 21",shop:"clothes"},name:"Forever 21",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Gant":{tags:{name:"Gant",shop:"clothes"},name:"Gant",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Gap":{tags:{name:"Gap",shop:"clothes"},name:"Gap",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Gerry Weber":{tags:{name:"Gerry Weber",shop:"clothes"},name:"Gerry Weber",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Gina Laura":{tags:{name:"Gina Laura",shop:"clothes"},name:"Gina Laura",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Guess":{tags:{name:"Guess",shop:"clothes"},name:"Guess",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Gymboree":{tags:{name:"Gymboree",shop:"clothes"},name:"Gymboree",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Gémo":{tags:{name:"Gémo",shop:"clothes"},name:"Gémo",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/H&M":{tags:{name:"H&M",shop:"clothes"},name:"H&M",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Hallhuber":{tags:{name:"Hallhuber",shop:"clothes"},name:"Hallhuber",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/House":{tags:{name:"House",shop:"clothes"},name:"House",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Hugo Boss":{tags:{name:"Hugo Boss",shop:"clothes"},name:"Hugo Boss",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Humana":{tags:{name:"Humana",shop:"clothes"},name:"Humana",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Hunkemöller":{tags:{name:"Hunkemöller",shop:"clothes"},name:"Hunkemöller",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Intimissimi":{tags:{name:"Intimissimi",shop:"clothes"},name:"Intimissimi",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/JBC":{tags:{name:"JBC",shop:"clothes"},name:"JBC",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Jack & Jones":{tags:{name:"Jack & Jones",shop:"clothes"},name:"Jack & Jones",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Jack Wolfskin":{tags:{name:"Jack Wolfskin",shop:"clothes"},name:"Jack Wolfskin",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Jeans Fritz":{tags:{name:"Jeans Fritz",shop:"clothes"},name:"Jeans Fritz",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Jennyfer":{tags:{name:"Jennyfer",shop:"clothes"},name:"Jennyfer",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Jigsaw":{tags:{name:"Jigsaw",shop:"clothes"},name:"Jigsaw",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Jules":{tags:{name:"Jules",shop:"clothes"},name:"Jules",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Justice":{tags:{name:"Justice",shop:"clothes"},name:"Justice",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/KappAhl":{tags:{name:"KappAhl",shop:"clothes"},name:"KappAhl",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/KiK":{tags:{name:"KiK",shop:"clothes"},name:"KiK",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Kiabi":{tags:{name:"Kiabi",shop:"clothes"},name:"Kiabi",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/La Halle":{tags:{name:"La Halle",shop:"clothes"},name:"La Halle",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Lacoste":{tags:{name:"Lacoste",shop:"clothes"},name:"Lacoste",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Lane Bryant":{tags:{name:"Lane Bryant",shop:"clothes"},name:"Lane Bryant",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Levi's":{tags:{name:"Levi's",shop:"clothes"},name:"Levi's",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Lindex":{tags:{name:"Lindex",shop:"clothes"},name:"Lindex",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Loft":{tags:{name:"Loft",shop:"clothes"},name:"Loft",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Mango":{tags:{name:"Mango",shop:"clothes"},name:"Mango",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Marc O'Polo":{tags:{name:"Marc O'Polo",shop:"clothes"},name:"Marc O'Polo",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Mark's":{tags:{name:"Mark's",shop:"clothes"},name:"Mark's",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Marshalls":{tags:{name:"Marshalls",shop:"clothes"},name:"Marshalls",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Massimo Dutti":{tags:{name:"Massimo Dutti",shop:"clothes"},name:"Massimo Dutti",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Matalan":{tags:{name:"Matalan",shop:"clothes"},name:"Matalan",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Maurices":{tags:{name:"Maurices",shop:"clothes"},name:"Maurices",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Max Mara":{tags:{name:"Max Mara",shop:"clothes"},name:"Max Mara",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Men's Wearhouse":{tags:{name:"Men's Wearhouse",shop:"clothes"},name:"Men's Wearhouse",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Mexx":{tags:{name:"Mexx",shop:"clothes"},name:"Mexx",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Michael Kors":{tags:{name:"Michael Kors",shop:"clothes"},name:"Michael Kors",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Mim":{tags:{name:"Mim",shop:"clothes"},name:"Mim",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Monsoon":{tags:{name:"Monsoon",shop:"clothes"},name:"Monsoon",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Mr Price":{tags:{name:"Mr Price",shop:"clothes"},name:"Mr Price",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/NKD":{tags:{name:"NKD",shop:"clothes"},name:"NKD",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/New Look":{tags:{name:"New Look",shop:"clothes"},name:"New Look",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/New Yorker":{tags:{name:"New Yorker",shop:"clothes"},name:"New Yorker",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/NewYorker":{tags:{name:"NewYorker",shop:"clothes"},name:"NewYorker",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Next":{tags:{name:"Next",shop:"clothes"},name:"Next",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Nike":{tags:{name:"Nike",shop:"clothes"},name:"Nike",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Nordstrom Rack":{tags:{name:"Nordstrom Rack",shop:"clothes"},name:"Nordstrom Rack",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/OVS":{tags:{name:"OVS",shop:"clothes"},name:"OVS",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Okaïdi":{tags:{name:"Okaïdi",shop:"clothes"},name:"Okaïdi",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Old Navy":{tags:{name:"Old Navy",shop:"clothes"},name:"Old Navy",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Only":{tags:{name:"Only",shop:"clothes"},name:"Only",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Orchestra":{tags:{name:"Orchestra",shop:"clothes"},name:"Orchestra",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Original Marines":{tags:{name:"Original Marines",shop:"clothes"},name:"Original Marines",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Orsay":{tags:{name:"Orsay",shop:"clothes"},name:"Orsay",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Outfit":{tags:{name:"Outfit",shop:"clothes"},name:"Outfit",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Outlet":{tags:{name:"Outlet",shop:"clothes"},name:"Outlet",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Palmers":{tags:{name:"Palmers",shop:"clothes"},name:"Palmers",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Peacocks":{tags:{name:"Peacocks",shop:"clothes"},name:"Peacocks",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Peek & Cloppenburg":{tags:{name:"Peek & Cloppenburg",shop:"clothes"},name:"Peek & Cloppenburg",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Pep":{tags:{name:"Pep",shop:"clothes"},name:"Pep",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Pepco":{tags:{name:"Pepco",shop:"clothes"},name:"Pepco",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Petit Bateau":{tags:{name:"Petit Bateau",shop:"clothes"},name:"Petit Bateau",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Pimkie":{tags:{name:"Pimkie",shop:"clothes"},name:"Pimkie",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Plato's Closet":{tags:{name:"Plato's Closet",shop:"clothes"},name:"Plato's Closet",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Primark":{tags:{name:"Primark",shop:"clothes"},name:"Primark",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Promod":{tags:{name:"Promod",shop:"clothes"},name:"Promod",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Pull & Bear":{tags:{name:"Pull & Bear",shop:"clothes"},name:"Pull & Bear",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Reitmans":{tags:{name:"Reitmans",shop:"clothes"},name:"Reitmans",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Reserved":{tags:{name:"Reserved",shop:"clothes"},name:"Reserved",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/River Island":{tags:{name:"River Island",shop:"clothes"},name:"River Island",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Ross":{tags:{name:"Ross",shop:"clothes"},name:"Ross",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Sela":{tags:{name:"Sela",shop:"clothes"},name:"Sela",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Sergent Major":{tags:{name:"Sergent Major",shop:"clothes"},name:"Sergent Major",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Shoeby":{tags:{name:"Shoeby",shop:"clothes"},name:"Shoeby",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Sisley":{tags:{name:"Sisley",shop:"clothes"},name:"Sisley",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Springfield":{tags:{name:"Springfield",shop:"clothes"},name:"Springfield",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Stefanel":{tags:{name:"Stefanel",shop:"clothes"},name:"Stefanel",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Steps":{tags:{name:"Steps",shop:"clothes"},name:"Steps",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Stradivarius":{tags:{name:"Stradivarius",shop:"clothes"},name:"Stradivarius",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Street One":{tags:{name:"Street One",shop:"clothes"},name:"Street One",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Superdry":{tags:{name:"Superdry",shop:"clothes"},name:"Superdry",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/TJ Maxx":{tags:{name:"TJ Maxx",shop:"clothes"},name:"TJ Maxx",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/TK Maxx":{tags:{name:"TK Maxx",shop:"clothes"},name:"TK Maxx",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Takko":{tags:{name:"Takko",shop:"clothes"},name:"Takko",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Talbots":{tags:{name:"Talbots",shop:"clothes"},name:"Talbots",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Tally Weijl":{tags:{name:"Tally Weijl",shop:"clothes"},name:"Tally Weijl",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Tati":{tags:{name:"Tati",shop:"clothes"},name:"Tati",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Terranova":{tags:{name:"Terranova",shop:"clothes"},name:"Terranova",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Tesha":{tags:{name:"Tesha",shop:"clothes"},name:"Tesha",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Tezenis":{tags:{name:"Tezenis",shop:"clothes"},name:"Tezenis",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/The Children's Place":{tags:{name:"The Children's Place",shop:"clothes"},name:"The Children's Place",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/The North Face":{tags:{name:"The North Face",shop:"clothes"},name:"The North Face",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/The Sting":{tags:{name:"The Sting",shop:"clothes"},name:"The Sting",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Timberland":{tags:{name:"Timberland",shop:"clothes"},name:"Timberland",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Toko Pakaian":{tags:{name:"Toko Pakaian",shop:"clothes"},name:"Toko Pakaian",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Tom Tailor":{tags:{name:"Tom Tailor",shop:"clothes"},name:"Tom Tailor",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Tommy Hilfiger":{tags:{name:"Tommy Hilfiger",shop:"clothes"},name:"Tommy Hilfiger",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Topshop":{tags:{name:"Topshop",shop:"clothes"},name:"Topshop",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Triumph":{tags:{name:"Triumph",shop:"clothes"},name:"Triumph",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Truworths":{tags:{name:"Truworths",shop:"clothes"},name:"Truworths",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Ulla Popken":{tags:{name:"Ulla Popken",shop:"clothes"},name:"Ulla Popken",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Uniqlo":{tags:{name:"Uniqlo",shop:"clothes"},name:"Uniqlo",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/United Colors of Benetton":{tags:{name:"United Colors of Benetton",shop:"clothes"},name:"United Colors of Benetton",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Urban Outfitters":{tags:{name:"Urban Outfitters",shop:"clothes"},name:"Urban Outfitters",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Vero Moda":{tags:{name:"Vero Moda",shop:"clothes"},name:"Vero Moda",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Victoria's Secret":{tags:{name:"Victoria's Secret",shop:"clothes"},name:"Victoria's Secret",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Vögele":{tags:{name:"Vögele",shop:"clothes"},name:"Vögele",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/WE":{tags:{name:"WE",shop:"clothes"},name:"WE",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Wibra":{tags:{name:"Wibra",shop:"clothes"},name:"Wibra",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Winners":{tags:{name:"Winners",shop:"clothes"},name:"Winners",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Yamamay":{tags:{name:"Yamamay",shop:"clothes"},name:"Yamamay",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Zara":{tags:{name:"Zara",shop:"clothes"},name:"Zara",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Zeeman":{tags:{name:"Zeeman",shop:"clothes"},name:"Zeeman",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/mister*lady":{tags:{name:"mister*lady",shop:"clothes"},name:"mister*lady",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/s.Oliver":{tags:{name:"s.Oliver",shop:"clothes"},name:"s.Oliver",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Детская одежда":{tags:{name:"Детская одежда",shop:"clothes"},name:"Детская одежда",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Женская одежда":{tags:{name:"Женская одежда",shop:"clothes"},name:"Женская одежда",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Липненски":{tags:{name:"Липненски",shop:"clothes"},name:"Липненски",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Московская ярмарка":{tags:{name:"Московская ярмарка",shop:"clothes"},name:"Московская ярмарка",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Одежда":{tags:{name:"Одежда",shop:"clothes"},name:"Одежда",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Смешные цены":{tags:{name:"Смешные цены",shop:"clothes"},name:"Смешные цены",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/Спецодежда":{tags:{name:"Спецодежда",shop:"clothes"},name:"Спецодежда",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/しまむら":{tags:{name:"しまむら",shop:"clothes"},name:"しまむら",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/ユニクロ":{tags:{name:"ユニクロ",shop:"clothes"},name:"ユニクロ",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/ワークマン":{tags:{name:"ワークマン",shop:"clothes"},name:"ワークマン",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/洋服の青山":{tags:{name:"洋服の青山",shop:"clothes"},name:"洋服の青山",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/clothes/西松屋":{tags:{name:"西松屋",shop:"clothes"},name:"西松屋",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","clothes","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/coffee/Nespresso":{tags:{name:"Nespresso",shop:"coffee"},name:"Nespresso",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/coffee/Tchibo":{tags:{name:"Tchibo",shop:"coffee"},name:"Tchibo",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/computer/Apple Store":{tags:{name:"Apple Store",shop:"computer"},name:"Apple Store",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/computer/DNS":{tags:{name:"DNS",shop:"computer"},name:"DNS",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/computer/PC World":{tags:{name:"PC World",shop:"computer"},name:"PC World",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/computer/ДНС":{tags:{name:"ДНС",shop:"computer"},name:"ДНС",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/confectionery/Fagyizó":{tags:{name:"Fagyizó",shop:"confectionery"},name:"Fagyizó",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/confectionery/Hussel":{tags:{name:"Hussel",shop:"confectionery"},name:"Hussel",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/confectionery/Leonidas":{tags:{name:"Leonidas",shop:"confectionery"},name:"Leonidas",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/confectionery/T. SN":{tags:{name:"T. SN",shop:"confectionery"},name:"T. SN",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/confectionery/Thorntons":{tags:{name:"Thorntons",shop:"confectionery"},name:"Thorntons",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/711":{tags:{name:"711",shop:"convenience"},name:"711",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/777":{tags:{name:"777",shop:"convenience"},name:"777",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/24 часа":{tags:{name:"24 часа",shop:"convenience"},name:"24 часа",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/7-Eleven":{tags:{name:"7-Eleven",shop:"convenience"},name:"7-Eleven",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/8 à Huit":{tags:{name:"8 à Huit",shop:"convenience"},name:"8 à Huit",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/99 Speedmart":{tags:{name:"99 Speedmart",shop:"convenience"},name:"99 Speedmart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ABC":{tags:{name:"ABC",shop:"convenience"},name:"ABC",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/AMPM":{tags:{name:"AMPM",shop:"convenience"},name:"AMPM",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Aibė":{tags:{name:"Aibė",shop:"convenience"},name:"Aibė",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Alepa":{tags:{name:"Alepa",shop:"convenience"},name:"Alepa",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Alfamart":{tags:{name:"Alfamart",shop:"convenience"},name:"Alfamart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Alimentara":{tags:{name:"Alimentara",shop:"convenience"},name:"Alimentara",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Almacen":{tags:{name:"Almacen",shop:"convenience"},name:"Almacen",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Almacén":{tags:{name:"Almacén",shop:"convenience"},name:"Almacén",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/BP Shop":{tags:{name:"BP Shop",shop:"convenience"},name:"BP Shop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Baqala":{tags:{name:"Baqala",shop:"convenience"},name:"Baqala",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Best One":{tags:{name:"Best One",shop:"convenience"},name:"Best One",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Best-One":{tags:{name:"Best-One",shop:"convenience"},name:"Best-One",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Bodega":{tags:{name:"Bodega",shop:"convenience"},name:"Bodega",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Bonjour":{tags:{name:"Bonjour",shop:"convenience"},name:"Bonjour",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/CBA":{tags:{name:"CBA",shop:"convenience"},name:"CBA",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/COOP":{tags:{name:"COOP",shop:"convenience"},name:"COOP",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/COOP Jednota":{tags:{name:"COOP Jednota",shop:"convenience"},name:"COOP Jednota",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/CU":{tags:{name:"CU",shop:"convenience"},name:"CU",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Casino Shop":{tags:{name:"Casino Shop",shop:"convenience"},name:"Casino Shop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Centra":{tags:{name:"Centra",shop:"convenience"},name:"Centra",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Central Convenience Store":{tags:{name:"Central Convenience Store",shop:"convenience"},name:"Central Convenience Store",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Circle K":{tags:{name:"Circle K",shop:"convenience"},name:"Circle K",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Coop Jednota":{tags:{name:"Coop Jednota",shop:"convenience"},name:"Coop Jednota",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Corner Store":{tags:{name:"Corner Store",shop:"convenience"},name:"Corner Store",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Costcutter":{tags:{name:"Costcutter",shop:"convenience"},name:"Costcutter",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Couche-Tard":{tags:{name:"Couche-Tard",shop:"convenience"},name:"Couche-Tard",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Cumberland Farms":{tags:{name:"Cumberland Farms",shop:"convenience"},name:"Cumberland Farms",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Daisy Mart":{tags:{name:"Daisy Mart",shop:"convenience"},name:"Daisy Mart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Delikatesy":{tags:{name:"Delikatesy",shop:"convenience"},name:"Delikatesy",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Dollar General":{tags:{name:"Dollar General",shop:"convenience"},name:"Dollar General",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Dépanneur":{tags:{name:"Dépanneur",shop:"convenience"},name:"Dépanneur",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/FamilyMart":{tags:{name:"FamilyMart",shop:"convenience"},name:"FamilyMart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Food Mart":{tags:{name:"Food Mart",shop:"convenience"},name:"Food Mart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Four Square":{tags:{name:"Four Square",shop:"convenience"},name:"Four Square",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Fresh":{tags:{name:"Fresh",shop:"convenience"},name:"Fresh",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Freshmarket":{tags:{name:"Freshmarket",shop:"convenience"},name:"Freshmarket",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/GS25":{tags:{name:"GS25",shop:"convenience"},name:"GS25",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Groszek":{tags:{name:"Groszek",shop:"convenience"},name:"Groszek",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Hasty Market":{tags:{name:"Hasty Market",shop:"convenience"},name:"Hasty Market",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/HruÅ¡ka":{tags:{name:"HruÅ¡ka",shop:"convenience"},name:"HruÅ¡ka",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Indomaret":{tags:{name:"Indomaret",shop:"convenience"},name:"Indomaret",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Jednota":{tags:{name:"Jednota",shop:"convenience"},name:"Jednota",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Joker":{tags:{name:"Joker",shop:"convenience"},name:"Joker",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/K-Market":{tags:{name:"K-Market",shop:"convenience"},name:"K-Market",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Kangaroo Express":{tags:{name:"Kangaroo Express",shop:"convenience"},name:"Kangaroo Express",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Kisbolt":{tags:{name:"Kisbolt",shop:"convenience"},name:"Kisbolt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Lawson":{tags:{name:"Lawson",shop:"convenience"},name:"Lawson",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Lewiatan":{tags:{name:"Lewiatan",shop:"convenience"},name:"Lewiatan",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Lifestyle Express":{tags:{name:"Lifestyle Express",shop:"convenience"},name:"Lifestyle Express",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Londis":{tags:{name:"Londis",shop:"convenience"},name:"Londis",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/M&S Simply Food":{tags:{name:"M&S Simply Food",shop:"convenience"},name:"M&S Simply Food",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Mac's":{tags:{name:"Mac's",shop:"convenience"},name:"Mac's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Mace":{tags:{name:"Mace",shop:"convenience"},name:"Mace",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Magazin":{tags:{name:"Magazin",shop:"convenience"},name:"Magazin",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Magazin Mixt":{tags:{name:"Magazin Mixt",shop:"convenience"},name:"Magazin Mixt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Magazin Non-Stop":{tags:{name:"Magazin Non-Stop",shop:"convenience"},name:"Magazin Non-Stop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Magazin mixt":{tags:{name:"Magazin mixt",shop:"convenience"},name:"Magazin mixt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Maxikiosco":{tags:{name:"Maxikiosco",shop:"convenience"},name:"Maxikiosco",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Małpka Express":{tags:{name:"Małpka Express",shop:"convenience"},name:"Małpka Express",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/McColl's":{tags:{name:"McColl's",shop:"convenience"},name:"McColl's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Migrolino":{tags:{name:"Migrolino",shop:"convenience"},name:"Migrolino",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Mini ABC":{tags:{name:"Mini ABC",shop:"convenience"},name:"Mini ABC",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Mini Market":{tags:{name:"Mini Market",shop:"convenience"},name:"Mini Market",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Mini Market Non-Stop":{tags:{name:"Mini Market Non-Stop",shop:"convenience"},name:"Mini Market Non-Stop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Mini Mart":{tags:{name:"Mini Mart",shop:"convenience"},name:"Mini Mart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Mini Stop":{tags:{name:"Mini Stop",shop:"convenience"},name:"Mini Stop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Minimercado":{tags:{name:"Minimercado",shop:"convenience"},name:"Minimercado",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Mlin i pekare":{tags:{name:"Mlin i pekare",shop:"convenience"},name:"Mlin i pekare",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Nasz Sklep":{tags:{name:"Nasz Sklep",shop:"convenience"},name:"Nasz Sklep",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Nisa":{tags:{name:"Nisa",shop:"convenience"},name:"Nisa",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Nisa Local":{tags:{name:"Nisa Local",shop:"convenience"},name:"Nisa Local",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/OK-Mart":{tags:{name:"OK-Mart",shop:"convenience"},name:"OK-Mart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/OK便利商店":{tags:{name:"OK便利商店",shop:"convenience"},name:"OK便利商店",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/OK便利店 Circle K":{tags:{name:"OK便利店 Circle K",shop:"convenience"},name:"OK便利店 Circle K",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Odido":{tags:{name:"Odido",shop:"convenience"},name:"Odido",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/On The Run":{tags:{name:"On The Run",shop:"convenience"},name:"On The Run",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/On the Run":{tags:{name:"On the Run",shop:"convenience"},name:"On the Run",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/One Stop":{tags:{name:"One Stop",shop:"convenience"},name:"One Stop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Oxxo":{tags:{name:"Oxxo",shop:"convenience"},name:"Oxxo",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Parduotuvė":{tags:{name:"Parduotuvė",shop:"convenience"},name:"Parduotuvė",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Petit Casino":{tags:{name:"Petit Casino",shop:"convenience"},name:"Petit Casino",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Plaid Pantry":{tags:{name:"Plaid Pantry",shop:"convenience"},name:"Plaid Pantry",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Potraviny":{tags:{name:"Potraviny",shop:"convenience"},name:"Potraviny",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Prehrana":{tags:{name:"Prehrana",shop:"convenience"},name:"Prehrana",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Premier":{tags:{name:"Premier",shop:"convenience"},name:"Premier",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Proxi":{tags:{name:"Proxi",shop:"convenience"},name:"Proxi",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Proxy":{tags:{name:"Proxy",shop:"convenience"},name:"Proxy",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Pulperia":{tags:{name:"Pulperia",shop:"convenience"},name:"Pulperia",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Royal Farms":{tags:{name:"Royal Farms",shop:"convenience"},name:"Royal Farms",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Sale":{tags:{name:"Sale",shop:"convenience"},name:"Sale",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Sari-sari Store":{tags:{name:"Sari-sari Store",shop:"convenience"},name:"Sari-sari Store",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Select":{tags:{name:"Select",shop:"convenience"},name:"Select",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Shell Select":{tags:{name:"Shell Select",shop:"convenience"},name:"Shell Select",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Shop & Go":{tags:{name:"Shop & Go",shop:"convenience"},name:"Shop & Go",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Siwa":{tags:{name:"Siwa",shop:"convenience"},name:"Siwa",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Sklep spożywczy":{tags:{name:"Sklep spożywczy",shop:"convenience"},name:"Sklep spożywczy",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Smíšené zboží":{tags:{name:"Smíšené zboží",shop:"convenience"},name:"Smíšené zboží",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Społem":{tags:{name:"Społem",shop:"convenience"},name:"Społem",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Spätkauf":{tags:{name:"Spätkauf",shop:"convenience"},name:"Spätkauf",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Stewart's":{tags:{name:"Stewart's",shop:"convenience"},name:"Stewart's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Stores":{tags:{name:"Stores",shop:"convenience"},name:"Stores",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Stripes":{tags:{name:"Stripes",shop:"convenience"},name:"Stripes",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Studenac":{tags:{name:"Studenac",shop:"convenience"},name:"Studenac",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Sunkus":{tags:{name:"Sunkus",shop:"convenience"},name:"Sunkus",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Słoneczko":{tags:{name:"Słoneczko",shop:"convenience"},name:"Słoneczko",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/TESCO Lotus Express":{tags:{name:"TESCO Lotus Express",shop:"convenience"},name:"TESCO Lotus Express",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Tesco Express":{tags:{name:"Tesco Express",shop:"convenience"},name:"Tesco Express",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Tesco Lotus Express":{tags:{name:"Tesco Lotus Express",shop:"convenience"},name:"Tesco Lotus Express",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Tom Market 89":{tags:{name:"Tom Market 89",shop:"convenience"},name:"Tom Market 89",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/United Dairy Farmers":{tags:{name:"United Dairy Farmers",shop:"convenience"},name:"United Dairy Farmers",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Vegyesbolt":{tags:{name:"Vegyesbolt",shop:"convenience"},name:"Vegyesbolt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Večerka":{tags:{name:"Večerka",shop:"convenience"},name:"Večerka",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Vival":{tags:{name:"Vival",shop:"convenience"},name:"Vival",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Wawa":{tags:{name:"Wawa",shop:"convenience"},name:"Wawa",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Weltladen":{tags:{name:"Weltladen",shop:"convenience"},name:"Weltladen",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/abc":{tags:{name:"abc",shop:"convenience"},name:"abc",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ampm":{tags:{name:"ampm",shop:"convenience"},name:"ampm",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/best-one":{tags:{name:"best-one",shop:"convenience"},name:"best-one",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/odido":{tags:{name:"odido",shop:"convenience"},name:"odido",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Élelmiszer":{tags:{name:"Élelmiszer",shop:"convenience"},name:"Élelmiszer",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Élelmiszerbolt":{tags:{name:"Élelmiszerbolt",shop:"convenience"},name:"Élelmiszerbolt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Å»abka":{tags:{name:"Å»abka",shop:"convenience"},name:"Å»abka",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Žabka":{tags:{name:"Žabka",shop:"convenience"},name:"Žabka",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Августина":{tags:{name:"Августина",shop:"convenience"},name:"Августина",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Авоська":{tags:{name:"Авоська",shop:"convenience"},name:"Авоська",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Агрокомплекс":{tags:{name:"Агрокомплекс",shop:"convenience"},name:"Агрокомплекс",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Альянс":{tags:{name:"Альянс",shop:"convenience"},name:"Альянс",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Апельсин":{tags:{name:"Апельсин",shop:"convenience"},name:"Апельсин",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Ассорти":{tags:{name:"Ассорти",shop:"convenience"},name:"Ассорти",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Белорусские продукты":{tags:{name:"Белорусские продукты",shop:"convenience"},name:"Белорусские продукты",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Берёзка":{tags:{name:"Берёзка",shop:"convenience"},name:"Берёзка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Везунчик":{tags:{name:"Везунчик",shop:"convenience"},name:"Везунчик",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Весна":{tags:{name:"Весна",shop:"convenience"},name:"Весна",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Ветеран":{tags:{name:"Ветеран",shop:"convenience"},name:"Ветеран",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Визит":{tags:{name:"Визит",shop:"convenience"},name:"Визит",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Виктория":{tags:{name:"Виктория",shop:"convenience"},name:"Виктория",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ВкусВилл":{tags:{name:"ВкусВилл",shop:"convenience"},name:"ВкусВилл",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Гастроном":{tags:{name:"Гастроном",shop:"convenience"},name:"Гастроном",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Гермес":{tags:{name:"Гермес",shop:"convenience"},name:"Гермес",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Гурман":{tags:{name:"Гурман",shop:"convenience"},name:"Гурман",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Домашний":{tags:{name:"Домашний",shop:"convenience"},name:"Домашний",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Елена":{tags:{name:"Елена",shop:"convenience"},name:"Елена",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Ермолино":{tags:{name:"Ермолино",shop:"convenience"},name:"Ермолино",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Калинка":{tags:{name:"Калинка",shop:"convenience"},name:"Калинка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Кировский":{tags:{name:"Кировский",shop:"convenience"},name:"Кировский",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Колобок":{tags:{name:"Колобок",shop:"convenience"},name:"Колобок",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Колосок":{tags:{name:"Колосок",shop:"convenience"},name:"Колосок",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Копеечка":{tags:{name:"Копеечка",shop:"convenience"},name:"Копеечка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Копейка":{tags:{name:"Копейка",shop:"convenience"},name:"Копейка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Корзинка":{tags:{name:"Корзинка",shop:"convenience"},name:"Корзинка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Крамниця":{tags:{name:"Крамниця",shop:"convenience"},name:"Крамниця",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Кристалл":{tags:{name:"Кристалл",shop:"convenience"},name:"Кристалл",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Кулинария":{tags:{name:"Кулинария",shop:"convenience"},name:"Кулинария",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Купец":{tags:{name:"Купец",shop:"convenience"},name:"Купец",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Ласточка":{tags:{name:"Ласточка",shop:"convenience"},name:"Ласточка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Лидер":{tags:{name:"Лидер",shop:"convenience"},name:"Лидер",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Любимый":{tags:{name:"Любимый",shop:"convenience"},name:"Любимый",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Люкс":{tags:{name:"Люкс",shop:"convenience"},name:"Люкс",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Магазин при АЗС":{tags:{name:"Магазин при АЗС",shop:"convenience"},name:"Магазин при АЗС",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Мария-Ра":{tags:{name:"Мария-Ра",shop:"convenience"},name:"Мария-Ра",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Маяк":{tags:{name:"Маяк",shop:"convenience"},name:"Маяк",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Меркурий":{tags:{name:"Меркурий",shop:"convenience"},name:"Меркурий",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Мечта":{tags:{name:"Мечта",shop:"convenience"},name:"Мечта",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Минимаркет":{tags:{name:"Минимаркет",shop:"convenience"},name:"Минимаркет",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Мираж":{tags:{name:"Мираж",shop:"convenience"},name:"Мираж",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Надежда":{tags:{name:"Надежда",shop:"convenience"},name:"Надежда",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Ника":{tags:{name:"Ника",shop:"convenience"},name:"Ника",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Оазис":{tags:{name:"Оазис",shop:"convenience"},name:"Оазис",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Олимп":{tags:{name:"Олимп",shop:"convenience"},name:"Олимп",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Подсолнух":{tags:{name:"Подсолнух",shop:"convenience"},name:"Подсолнух",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Престиж":{tags:{name:"Престиж",shop:"convenience"},name:"Престиж",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Продукти":{tags:{name:"Продукти",shop:"convenience"},name:"Продукти",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Продуктовый":{tags:{name:"Продуктовый",shop:"convenience"},name:"Продуктовый",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Продуктовый магазин":{tags:{name:"Продуктовый магазин",shop:"convenience"},name:"Продуктовый магазин",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Продукты":{tags:{name:"Продукты",shop:"convenience"},name:"Продукты",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Продукты 24":{tags:{name:"Продукты 24",shop:"convenience"},name:"Продукты 24",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Радуга":{tags:{name:"Радуга",shop:"convenience"},name:"Радуга",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Родны кут":{tags:{name:"Родны кут",shop:"convenience"},name:"Родны кут",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Ромашка":{tags:{name:"Ромашка",shop:"convenience"},name:"Ромашка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Русь":{tags:{name:"Русь",shop:"convenience"},name:"Русь",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Светлана":{tags:{name:"Светлана",shop:"convenience"},name:"Светлана",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Смак":{tags:{name:"Смак",shop:"convenience"},name:"Смак",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Солнечный":{tags:{name:"Солнечный",shop:"convenience"},name:"Солнечный",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Татьяна":{tags:{name:"Татьяна",shop:"convenience"},name:"Татьяна",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Тройка":{tags:{name:"Тройка",shop:"convenience"},name:"Тройка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/У Палыча":{tags:{name:"У Палыча",shop:"convenience"},name:"У Палыча",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Универсам":{tags:{name:"Универсам",shop:"convenience"},name:"Универсам",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Фортуна":{tags:{name:"Фортуна",shop:"convenience"},name:"Фортуна",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Хороший":{tags:{name:"Хороший",shop:"convenience"},name:"Хороший",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Центральный":{tags:{name:"Центральный",shop:"convenience"},name:"Центральный",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Чайка":{tags:{name:"Чайка",shop:"convenience"},name:"Чайка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Шанс":{tags:{name:"Шанс",shop:"convenience"},name:"Шанс",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Эконом":{tags:{name:"Эконом",shop:"convenience"},name:"Эконом",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Юбилейный":{tags:{name:"Юбилейный",shop:"convenience"},name:"Юбилейный",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/Юлия":{tags:{name:"Юлия",shop:"convenience"},name:"Юлия",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/продукты":{tags:{name:"продукты",shop:"convenience"},name:"продукты",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/მარკეტი":{tags:{name:"მარკეტი",shop:"convenience"},name:"მარკეტი",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/サンクス":{tags:{name:"サンクス","name:en":"Sunkus",shop:"convenience"},name:"サンクス",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/サークルK":{tags:{name:"サークルK","name:en":"Circle K",shop:"convenience"},name:"サークルK",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/スリーエフ":{tags:{name:"スリーエフ",shop:"convenience"},name:"スリーエフ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/セイコーマート":{tags:{name:"セイコーマート",shop:"convenience"},name:"セイコーマート",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/セブン-イレブン":{tags:{name:"セブン-イレブン","name:en":"7-Eleven",shop:"convenience"},name:"セブン-イレブン",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/セブンイレブン(Seven-Eleven)":{tags:{name:"セブンイレブン(Seven-Eleven)",shop:"convenience"},name:"セブンイレブン(Seven-Eleven)",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/セーブオン":{tags:{name:"セーブオン",shop:"convenience"},name:"セーブオン",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/デイリーヤマザキ":{tags:{name:"デイリーヤマザキ",shop:"convenience"},name:"デイリーヤマザキ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ファミリーマート":{tags:{name:"ファミリーマート","name:en":"FamilyMart",shop:"convenience"},name:"ファミリーマート",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ポプラ":{tags:{name:"ポプラ",shop:"convenience"},name:"ポプラ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ミニストップ":{tags:{name:"ミニストップ","name:en":"MINISTOP",shop:"convenience"},name:"ミニストップ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ヤマザキショップ":{tags:{name:"ヤマザキショップ",shop:"convenience"},name:"ヤマザキショップ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ローソン":{tags:{name:"ローソン","name:en":"Lawson",shop:"convenience"},name:"ローソン",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/ローソンストア100":{tags:{name:"ローソンストア100",shop:"convenience"},name:"ローソンストア100",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/全家":{tags:{name:"全家",shop:"convenience"},name:"全家",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/全家便利商店":{tags:{name:"全家便利商店",shop:"convenience"},name:"全家便利商店",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/萊爾富":{tags:{name:"萊爾富",shop:"convenience"},name:"萊爾富",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/convenience/세븐일레븐":{tags:{name:"세븐일레븐",shop:"convenience"},name:"세븐일레븐",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/copyshop/FedEx Office":{tags:{name:"FedEx Office",shop:"copyshop"},name:"FedEx Office",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],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:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/Douglas":{tags:{name:"Douglas",shop:"cosmetics"},name:"Douglas",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/Lush":{tags:{name:"Lush",shop:"cosmetics"},name:"Lush",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/Marionnaud":{tags:{name:"Marionnaud",shop:"cosmetics"},name:"Marionnaud",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/Sephora":{tags:{name:"Sephora",shop:"cosmetics"},name:"Sephora",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/The Body Shop":{tags:{name:"The Body Shop",shop:"cosmetics"},name:"The Body Shop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/Л'Этуаль":{tags:{name:"Л'Этуаль",shop:"cosmetics"},name:"Л'Этуаль",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/Магнит косметик":{tags:{name:"Магнит косметик",shop:"cosmetics"},name:"Магнит косметик",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/Магнит-Косметик":{tags:{name:"Магнит-Косметик",shop:"cosmetics"},name:"Магнит-Косметик",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/cosmetics/Подружка":{tags:{name:"Подружка",shop:"cosmetics"},name:"Подружка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/craft/Hobby Lobby":{tags:{name:"Hobby Lobby",shop:"craft"},name:"Hobby Lobby",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/craft/Michaels":{tags:{name:"Michaels",shop:"craft"},name:"Michaels",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Argos":{tags:{name:"Argos",shop:"department_store"},name:"Argos",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Bed Bath & Beyond":{tags:{name:"Bed Bath & Beyond",shop:"department_store"},name:"Bed Bath & Beyond",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Big Lots":{tags:{name:"Big Lots",shop:"department_store"},name:"Big Lots",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Big W":{tags:{name:"Big W",shop:"department_store"},name:"Big W",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Canadian Tire":{tags:{name:"Canadian Tire",shop:"department_store"},name:"Canadian Tire",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Coppel":{tags:{name:"Coppel",shop:"department_store"},name:"Coppel",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Debenhams":{tags:{name:"Debenhams",shop:"department_store"},name:"Debenhams",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Dillard's":{tags:{name:"Dillard's",shop:"department_store"},name:"Dillard's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/El Corte Inglés":{tags:{name:"El Corte Inglés",shop:"department_store"},name:"El Corte Inglés",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Galeria Kaufhof":{tags:{name:"Galeria Kaufhof",shop:"department_store"},name:"Galeria Kaufhof",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/HEMA":{tags:{name:"HEMA",shop:"department_store"},name:"HEMA",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Harvey Norman":{tags:{name:"Harvey Norman",shop:"department_store"},name:"Harvey Norman",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/JCPenney":{tags:{name:"JCPenney",shop:"department_store"},name:"JCPenney",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Karstadt":{tags:{name:"Karstadt",shop:"department_store"},name:"Karstadt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Kmart":{tags:{name:"Kmart",shop:"department_store"},name:"Kmart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Kohl's":{tags:{name:"Kohl's",shop:"department_store"},name:"Kohl's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Lojas Americanas":{tags:{name:"Lojas Americanas",shop:"department_store"},name:"Lojas Americanas",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Macy's":{tags:{name:"Macy's",shop:"department_store"},name:"Macy's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Marks & Spencer":{tags:{name:"Marks & Spencer",shop:"department_store"},name:"Marks & Spencer",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Myer":{tags:{name:"Myer",shop:"department_store"},name:"Myer",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Nordstrom":{tags:{name:"Nordstrom",shop:"department_store"},name:"Nordstrom",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Sears":{tags:{name:"Sears",shop:"department_store"},name:"Sears",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Shopko":{tags:{name:"Shopko",shop:"department_store"},name:"Shopko",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Target":{tags:{name:"Target",shop:"department_store"},name:"Target",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/The Warehouse":{tags:{name:"The Warehouse",shop:"department_store"},name:"The Warehouse",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Woolworth":{tags:{name:"Woolworth",shop:"department_store"},name:"Woolworth",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/department_store/Универмаг":{tags:{name:"Универмаг",shop:"department_store"},name:"Универмаг",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Ace Hardware":{tags:{name:"Ace Hardware",shop:"doityourself"},name:"Ace Hardware",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/B&Q":{tags:{name:"B&Q",shop:"doityourself"},name:"B&Q",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Bauhaus":{tags:{name:"Bauhaus",shop:"doityourself"},name:"Bauhaus",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Biltema":{tags:{name:"Biltema",shop:"doityourself"},name:"Biltema",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Brico":{tags:{name:"Brico",shop:"doityourself"},name:"Brico",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Bricomarché":{tags:{name:"Bricomarché",shop:"doityourself"},name:"Bricomarché",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Bricorama":{tags:{name:"Bricorama",shop:"doityourself"},name:"Bricorama",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Bunnings Warehouse":{tags:{name:"Bunnings Warehouse",shop:"doityourself"},name:"Bunnings Warehouse",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Castorama":{tags:{name:"Castorama",shop:"doityourself"},name:"Castorama",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Easy":{tags:{name:"Easy",shop:"doityourself"},name:"Easy",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Gamma":{tags:{name:"Gamma",shop:"doityourself"},name:"Gamma",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Globus Baumarkt":{tags:{name:"Globus Baumarkt",shop:"doityourself"},name:"Globus Baumarkt",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Hagebaumarkt":{tags:{name:"Hagebaumarkt",shop:"doityourself"},name:"Hagebaumarkt",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Hellweg":{tags:{name:"Hellweg",shop:"doityourself"},name:"Hellweg",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Home Depot":{tags:{name:"Home Depot",shop:"doityourself"},name:"Home Depot",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Home Hardware":{tags:{name:"Home Hardware",shop:"doityourself"},name:"Home Hardware",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Homebase":{tags:{name:"Homebase",shop:"doityourself"},name:"Homebase",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Hornbach":{tags:{name:"Hornbach",shop:"doityourself"},name:"Hornbach",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Hubo":{tags:{name:"Hubo",shop:"doityourself"},name:"Hubo",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Karwei":{tags:{name:"Karwei",shop:"doityourself"},name:"Karwei",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Lagerhaus":{tags:{name:"Lagerhaus",shop:"doityourself"},name:"Lagerhaus",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Leroy Merlin":{tags:{name:"Leroy Merlin",shop:"doityourself"},name:"Leroy Merlin",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Lowe's":{tags:{name:"Lowe's",shop:"doityourself"},name:"Lowe's",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Lowes":{tags:{name:"Lowes",shop:"doityourself"},name:"Lowes",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Menards":{tags:{name:"Menards",shop:"doityourself"},name:"Menards",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Mr Bricolage":{tags:{name:"Mr Bricolage",shop:"doityourself"},name:"Mr Bricolage",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Mr.Bricolage":{tags:{name:"Mr.Bricolage",shop:"doityourself"},name:"Mr.Bricolage",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/OBI":{tags:{name:"OBI",shop:"doityourself"},name:"OBI",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Point P":{tags:{name:"Point P",shop:"doityourself"},name:"Point P",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Praktiker":{tags:{name:"Praktiker",shop:"doityourself"},name:"Praktiker",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Praxis":{tags:{name:"Praxis",shop:"doityourself"},name:"Praxis",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Rona":{tags:{name:"Rona",shop:"doityourself"},name:"Rona",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Screwfix":{tags:{name:"Screwfix",shop:"doityourself"},name:"Screwfix",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Sonderpreis Baumarkt":{tags:{name:"Sonderpreis Baumarkt",shop:"doityourself"},name:"Sonderpreis Baumarkt",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Tekzen":{tags:{name:"Tekzen",shop:"doityourself"},name:"Tekzen",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Toom Baumarkt":{tags:{name:"Toom Baumarkt",shop:"doityourself"},name:"Toom Baumarkt",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Weldom":{tags:{name:"Weldom",shop:"doityourself"},name:"Weldom",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Wickes":{tags:{name:"Wickes",shop:"doityourself"},name:"Wickes",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Леруа Мерлен":{tags:{name:"Леруа Мерлен",shop:"doityourself"},name:"Леруа Мерлен",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Мастер":{tags:{name:"Мастер",shop:"doityourself"},name:"Мастер",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Строитель":{tags:{name:"Строитель",shop:"doityourself"},name:"Строитель",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/Стройматериалы":{tags:{name:"Стройматериалы",shop:"doityourself"},name:"Стройматериалы",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/カインズホーム":{tags:{name:"カインズホーム",shop:"doityourself"},name:"カインズホーム",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/コメリ":{tags:{name:"コメリ",shop:"doityourself"},name:"コメリ",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/doityourself/コーナン":{tags:{name:"コーナン",shop:"doityourself"},name:"コーナン",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/dry_cleaning/Cleaners":{tags:{name:"Cleaners",shop:"dry_cleaning"},name:"Cleaners",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/dry_cleaning/Pressing":{tags:{name:"Pressing",shop:"dry_cleaning"},name:"Pressing",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/dry_cleaning/Диана":{tags:{name:"Диана",shop:"dry_cleaning"},name:"Диана",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/dry_cleaning/Химчистка":{tags:{name:"Химчистка",shop:"dry_cleaning"},name:"Химчистка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/dry_cleaning/ホワイト急便":{tags:{name:"ホワイト急便",shop:"dry_cleaning"},name:"ホワイト急便",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/BCC":{tags:{name:"BCC",shop:"electronics"},name:"BCC",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Batteries Plus Bulbs":{tags:{name:"Batteries Plus Bulbs",shop:"electronics"},name:"Batteries Plus Bulbs",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Best Buy":{tags:{name:"Best Buy",shop:"electronics"},name:"Best Buy",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Boulanger":{tags:{name:"Boulanger",shop:"electronics"},name:"Boulanger",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Currys":{tags:{name:"Currys",shop:"electronics"},name:"Currys",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Currys PC World":{tags:{name:"Currys PC World",shop:"electronics"},name:"Currys PC World",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Darty":{tags:{name:"Darty",shop:"electronics"},name:"Darty",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Elektra":{tags:{name:"Elektra",shop:"electronics"},name:"Elektra",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Elgiganten":{tags:{name:"Elgiganten",shop:"electronics"},name:"Elgiganten",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Euronics":{tags:{name:"Euronics",shop:"electronics"},name:"Euronics",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Expert":{tags:{name:"Expert",shop:"electronics"},name:"Expert",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Hartlauer":{tags:{name:"Hartlauer",shop:"electronics"},name:"Hartlauer",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Interdiscount":{tags:{name:"Interdiscount",shop:"electronics"},name:"Interdiscount",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/La Curacao":{tags:{name:"La Curacao",shop:"electronics"},name:"La Curacao",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Maplin":{tags:{name:"Maplin",shop:"electronics"},name:"Maplin",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Media Expert":{tags:{name:"Media Expert",shop:"electronics"},name:"Media Expert",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Media Markt":{tags:{name:"Media Markt",shop:"electronics"},name:"Media Markt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Musimundo":{tags:{name:"Musimundo",shop:"electronics"},name:"Musimundo",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Neonet":{tags:{name:"Neonet",shop:"electronics"},name:"Neonet",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/RTV Euro AGD":{tags:{name:"RTV Euro AGD",shop:"electronics"},name:"RTV Euro AGD",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Radio Shack":{tags:{name:"Radio Shack",shop:"electronics"},name:"Radio Shack",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Rogers":{tags:{name:"Rogers",shop:"electronics"},name:"Rogers",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Samsung":{tags:{name:"Samsung",shop:"electronics"},name:"Samsung",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Saturn":{tags:{name:"Saturn",shop:"electronics"},name:"Saturn",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Sony":{tags:{name:"Sony",shop:"electronics"},name:"Sony",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/The Source":{tags:{name:"The Source",shop:"electronics"},name:"The Source",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Unieuro":{tags:{name:"Unieuro",shop:"electronics"},name:"Unieuro",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/М.Видео":{tags:{name:"М.Видео",shop:"electronics"},name:"М.Видео",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Фокстрот":{tags:{name:"Фокстрот",shop:"electronics"},name:"Фокстрот",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Эксперт":{tags:{name:"Эксперт",shop:"electronics"},name:"Эксперт",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/Эльдорадо":{tags:{name:"Эльдорадо",shop:"electronics"},name:"Эльдорадо",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/エディオン":{tags:{name:"エディオン",shop:"electronics"},name:"エディオン",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/ケーズデンキ":{tags:{name:"ケーズデンキ",shop:"electronics"},name:"ケーズデンキ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/コジマ":{tags:{name:"コジマ",shop:"electronics"},name:"コジマ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/ヤマダ電機":{tags:{name:"ヤマダ電機",shop:"electronics"},name:"ヤマダ電機",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/全國電子":{tags:{name:"全國電子",shop:"electronics"},name:"全國電子",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/electronics/燦坤3C":{tags:{name:"燦坤3C",shop:"electronics"},name:"燦坤3C",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/erotic/Orion":{tags:{name:"Orion",shop:"erotic"},name:"Orion",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/fabric/Ткани":{tags:{name:"Ткани",shop:"fabric"},name:"Ткани",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/farm/Hofladen":{tags:{name:"Hofladen",shop:"farm"},name:"Hofladen",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Blume 2000":{tags:{name:"Blume 2000",shop:"florist"},name:"Blume 2000",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Blumen Risse":{tags:{name:"Blumen Risse",shop:"florist"},name:"Blumen Risse",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Fleuriste":{tags:{name:"Fleuriste",shop:"florist"},name:"Fleuriste",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Interflora":{tags:{name:"Interflora",shop:"florist"},name:"Interflora",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Monceau Fleurs":{tags:{name:"Monceau Fleurs",shop:"florist"},name:"Monceau Fleurs",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Virágbolt":{tags:{name:"Virágbolt",shop:"florist"},name:"Virágbolt",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Квіти":{tags:{name:"Квіти",shop:"florist"},name:"Квіти",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Цветочный магазин":{tags:{name:"Цветочный магазин",shop:"florist"},name:"Цветочный магазин",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/florist/Цветы":{tags:{name:"Цветы",shop:"florist"},name:"Цветы",icon:"maki-florist",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/frame/rumah penduduk":{tags:{name:"rumah penduduk",shop:"frame"},name:"rumah penduduk",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/funeral_directors/The Co-operative Funeralcare":{tags:{name:"The Co-operative Funeralcare",shop:"funeral_directors"},name:"The Co-operative Funeralcare",icon:"maki-cemetery",geometry:["point","area"],fields:["name","operator","address","building_area","religion","denomination"],suggestion:true},"shop/funeral_directors/Ритуальные услуги":{tags:{name:"Ритуальные услуги",shop:"funeral_directors"},name:"Ритуальные услуги",icon:"maki-cemetery",geometry:["point","area"],fields:["name","operator","address","building_area","religion","denomination"],suggestion:true},"shop/furniture/Aaron's":{tags:{name:"Aaron's",shop:"furniture"},name:"Aaron's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Black Red White":{tags:{name:"Black Red White",shop:"furniture"},name:"Black Red White",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Bodzio":{tags:{name:"Bodzio",shop:"furniture"},name:"Bodzio",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/But":{tags:{name:"But",shop:"furniture"},name:"But",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Conforama":{tags:{name:"Conforama",shop:"furniture"},name:"Conforama",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/DFS":{tags:{name:"DFS",shop:"furniture"},name:"DFS",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Dänisches Bettenlager":{tags:{name:"Dänisches Bettenlager",shop:"furniture"},name:"Dänisches Bettenlager",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Fly":{tags:{name:"Fly",shop:"furniture"},name:"Fly",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Harveys":{tags:{name:"Harveys",shop:"furniture"},name:"Harveys",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/IKEA":{tags:{name:"IKEA",shop:"furniture"},name:"IKEA",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/JYSK":{tags:{name:"JYSK",shop:"furniture"},name:"JYSK",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Kwantum":{tags:{name:"Kwantum",shop:"furniture"},name:"Kwantum",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Leen Bakker":{tags:{name:"Leen Bakker",shop:"furniture"},name:"Leen Bakker",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Pier 1 Imports":{tags:{name:"Pier 1 Imports",shop:"furniture"},name:"Pier 1 Imports",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Roller":{tags:{name:"Roller",shop:"furniture"},name:"Roller",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/The Brick":{tags:{name:"The Brick",shop:"furniture"},name:"The Brick",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/Меблі":{tags:{name:"Меблі",shop:"furniture"},name:"Меблі",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/furniture/ニトリ":{tags:{name:"ニトリ",shop:"furniture"},name:"ニトリ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/garden_centre/Dehner":{tags:{name:"Dehner",shop:"garden_centre"},name:"Dehner",icon:"maki-garden-center",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/garden_centre/Gamm Vert":{tags:{name:"Gamm Vert",shop:"garden_centre"},name:"Gamm Vert",icon:"maki-garden-center",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/garden_centre/Jardiland":{tags:{name:"Jardiland",shop:"garden_centre"},name:"Jardiland",icon:"maki-garden-center",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/garden_centre/Point Vert":{tags:{name:"Point Vert",shop:"garden_centre"},name:"Point Vert",icon:"maki-garden-center",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/garden_centre/Welkoop":{tags:{name:"Welkoop",shop:"garden_centre"},name:"Welkoop",icon:"maki-garden-center",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/garden_centre/Семена":{tags:{name:"Семена",shop:"garden_centre"},name:"Семена",icon:"maki-garden-center",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/gift/Card Factory":{tags:{name:"Card Factory",shop:"gift"},name:"Card Factory",icon:"maki-gift",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/gift/Hallmark":{tags:{name:"Hallmark",shop:"gift"},name:"Hallmark",icon:"maki-gift",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/gift/Подарки":{tags:{name:"Подарки",shop:"gift"},name:"Подарки",icon:"maki-gift",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/greengrocer/Frutería":{tags:{name:"Frutería",shop:"greengrocer"},name:"Frutería",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/greengrocer/Овощи и фрукты":{tags:{name:"Овощи и фрукты",shop:"greengrocer"},name:"Овощи и фрукты",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Berber":{tags:{name:"Berber",shop:"hairdresser"},name:"Berber",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Cost Cutters":{tags:{name:"Cost Cutters",shop:"hairdresser"},name:"Cost Cutters",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Fantastic Sams":{tags:{name:"Fantastic Sams",shop:"hairdresser"},name:"Fantastic Sams",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Figaro":{tags:{name:"Figaro",shop:"hairdresser"},name:"Figaro",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/First Choice Haircutters":{tags:{name:"First Choice Haircutters",shop:"hairdresser"},name:"First Choice Haircutters",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Franck Provost":{tags:{name:"Franck Provost",shop:"hairdresser"},name:"Franck Provost",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Frizerie":{tags:{name:"Frizerie",shop:"hairdresser"},name:"Frizerie",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Great Clips":{tags:{name:"Great Clips",shop:"hairdresser"},name:"Great Clips",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Haarmonie":{tags:{name:"Haarmonie",shop:"hairdresser"},name:"Haarmonie",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Haarscharf":{tags:{name:"Haarscharf",shop:"hairdresser"},name:"Haarscharf",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Hair Cuttery":{tags:{name:"Hair Cuttery",shop:"hairdresser"},name:"Hair Cuttery",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Hairkiller":{tags:{name:"Hairkiller",shop:"hairdresser"},name:"Hairkiller",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Jean Louis David":{tags:{name:"Jean Louis David",shop:"hairdresser"},name:"Jean Louis David",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Jean-Louis David":{tags:{name:"Jean-Louis David",shop:"hairdresser"},name:"Jean-Louis David",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Klier":{tags:{name:"Klier",shop:"hairdresser"},name:"Klier",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Klipp":{tags:{name:"Klipp",shop:"hairdresser"},name:"Klipp",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Le Salon":{tags:{name:"Le Salon",shop:"hairdresser"},name:"Le Salon",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Marco Aldany":{tags:{name:"Marco Aldany",shop:"hairdresser"},name:"Marco Aldany",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Peluquería":{tags:{name:"Peluquería",shop:"hairdresser"},name:"Peluquería",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Salon fryzjerski":{tags:{name:"Salon fryzjerski",shop:"hairdresser"},name:"Salon fryzjerski",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Sport Clips":{tags:{name:"Sport Clips",shop:"hairdresser"},name:"Sport Clips",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Super Cuts":{tags:{name:"Super Cuts",shop:"hairdresser"},name:"Super Cuts",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Supercuts":{tags:{name:"Supercuts",shop:"hairdresser"},name:"Supercuts",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Tchip":{tags:{name:"Tchip",shop:"hairdresser"},name:"Tchip",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/The Barber Shop":{tags:{name:"The Barber Shop",shop:"hairdresser"},name:"The Barber Shop",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Toni & Guy":{tags:{name:"Toni & Guy",shop:"hairdresser"},name:"Toni & Guy",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Top Hair":{tags:{name:"Top Hair",shop:"hairdresser"},name:"Top Hair",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Локон":{tags:{name:"Локон",shop:"hairdresser"},name:"Локон",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Парикмахерская":{tags:{name:"Парикмахерская",shop:"hairdresser"},name:"Парикмахерская",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Перукарня":{tags:{name:"Перукарня",shop:"hairdresser"},name:"Перукарня",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Салон красоты":{tags:{name:"Салон красоты",shop:"hairdresser"},name:"Салон красоты",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Стиль":{tags:{name:"Стиль",shop:"hairdresser"},name:"Стиль",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/Шарм":{tags:{name:"Шарм",shop:"hairdresser"},name:"Шарм",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hairdresser/حلاق":{tags:{name:"حلاق",shop:"hairdresser"},name:"حلاق",icon:"maki-hairdresser",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/1000 мелочей":{tags:{name:"1000 мелочей",shop:"hardware"},name:"1000 мелочей",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/Ferretería":{tags:{name:"Ferretería",shop:"hardware"},name:"Ferretería",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/Harbor Freight Tools":{tags:{name:"Harbor Freight Tools",shop:"hardware"},name:"Harbor Freight Tools",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/Quincaillerie":{tags:{name:"Quincaillerie",shop:"hardware"},name:"Quincaillerie",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/True Value":{tags:{name:"True Value",shop:"hardware"},name:"True Value",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/Würth":{tags:{name:"Würth",shop:"hardware"},name:"Würth",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/Промтовары":{tags:{name:"Промтовары",shop:"hardware"},name:"Промтовары",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/Сантехника":{tags:{name:"Сантехника",shop:"hardware"},name:"Сантехника",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/Товары для дома":{tags:{name:"Товары для дома",shop:"hardware"},name:"Товары для дома",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hardware/Хозтовары":{tags:{name:"Хозтовары",shop:"hardware"},name:"Хозтовары",icon:"temaki-tools",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hearing_aids/Amplifon":{tags:{name:"Amplifon",shop:"hearing_aids"},name:"Amplifon",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hearing_aids/Geers":{tags:{name:"Geers",shop:"hearing_aids"},name:"Geers",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hearing_aids/Kind Hörgeräte":{tags:{name:"Kind Hörgeräte",shop:"hearing_aids"},name:"Kind Hörgeräte",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hearing_aids/amplifon":{tags:{name:"amplifon",shop:"hearing_aids"},name:"amplifon",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/hifi/Bang & Olufsen":{tags:{name:"Bang & Olufsen",shop:"hifi"},name:"Bang & Olufsen",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/houseware/Blokker":{tags:{name:"Blokker",shop:"houseware"},name:"Blokker",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/houseware/Marskramer":{tags:{name:"Marskramer",shop:"houseware"},name:"Marskramer",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/houseware/Xenos":{tags:{name:"Xenos",shop:"houseware"},name:"Xenos",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/interior_decoration/Casa":{tags:{name:"Casa",shop:"interior_decoration"},name:"Casa",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/interior_decoration/Depot":{tags:{name:"Depot",shop:"interior_decoration"},name:"Depot",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/585":{tags:{name:"585",shop:"jewelry"},name:"585",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Apart":{tags:{name:"Apart",shop:"jewelry"},name:"Apart",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Bijou Brigitte":{tags:{name:"Bijou Brigitte",shop:"jewelry"},name:"Bijou Brigitte",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Christ":{tags:{name:"Christ",shop:"jewelry"},name:"Christ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Claire's":{tags:{name:"Claire's",shop:"jewelry"},name:"Claire's",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Ernest Jones":{tags:{name:"Ernest Jones",shop:"jewelry"},name:"Ernest Jones",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/H Samuel":{tags:{name:"H Samuel",shop:"jewelry"},name:"H Samuel",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/James Avery Jewelry":{tags:{name:"James Avery Jewelry",shop:"jewelry"},name:"James Avery Jewelry",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Julien d'Orcel":{tags:{name:"Julien d'Orcel",shop:"jewelry"},name:"Julien d'Orcel",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Kay Jewelers":{tags:{name:"Kay Jewelers",shop:"jewelry"},name:"Kay Jewelers",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Pandora":{tags:{name:"Pandora",shop:"jewelry"},name:"Pandora",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Swarovski":{tags:{name:"Swarovski",shop:"jewelry"},name:"Swarovski",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Адамас":{tags:{name:"Адамас",shop:"jewelry"},name:"Адамас",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/jewelry/Золото":{tags:{name:"Золото",shop:"jewelry"},name:"Золото",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/KIOS":{tags:{name:"KIOS",shop:"kiosk"},name:"KIOS",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Kiosko":{tags:{name:"Kiosko",shop:"kiosk"},name:"Kiosko",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Kiosque":{tags:{name:"Kiosque",shop:"kiosk"},name:"Kiosque",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Kolporter":{tags:{name:"Kolporter",shop:"kiosk"},name:"Kolporter",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Lietuvos spauda":{tags:{name:"Lietuvos spauda",shop:"kiosk"},name:"Lietuvos spauda",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Narvesen":{tags:{name:"Narvesen",shop:"kiosk"},name:"Narvesen",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/PressbyrÃ¥n":{tags:{name:"PressbyrÃ¥n",shop:"kiosk"},name:"PressbyrÃ¥n",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Pulpería":{tags:{name:"Pulpería",shop:"kiosk"},name:"Pulpería",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/R-Kioski":{tags:{name:"R-Kioski",shop:"kiosk"},name:"R-Kioski",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Ruch":{tags:{name:"Ruch",shop:"kiosk"},name:"Ruch",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Tabak Trafik":{tags:{name:"Tabak Trafik",shop:"kiosk"},name:"Tabak Trafik",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Tisak":{tags:{name:"Tisak",shop:"kiosk"},name:"Tisak",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Trafik":{tags:{name:"Trafik",shop:"kiosk"},name:"Trafik",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Trafika":{tags:{name:"Trafika",shop:"kiosk"},name:"Trafika",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Trinkhalle":{tags:{name:"Trinkhalle",shop:"kiosk"},name:"Trinkhalle",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Белсоюзпечать":{tags:{name:"Белсоюзпечать",shop:"kiosk"},name:"Белсоюзпечать",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/Киоск":{tags:{name:"Киоск",shop:"kiosk"},name:"Киоск",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kiosk/მარკეტი (Market)":{tags:{name:"მარკეტი (Market)",shop:"kiosk"},name:"მარკეტი (Market)",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kitchen/Cuisinella":{tags:{name:"Cuisinella",shop:"kitchen"},name:"Cuisinella",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/kitchen/Home Utensils":{tags:{name:"Home Utensils",shop:"kitchen"},name:"Home Utensils",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/laundry/Launderette":{tags:{name:"Launderette",shop:"laundry"},name:"Launderette",icon:"maki-laundry",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/laundry/Lavandería":{tags:{name:"Lavandería",shop:"laundry"},name:"Lavandería",icon:"maki-laundry",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/laundry/コインランドリー":{tags:{name:"コインランドリー",shop:"laundry"},name:"コインランドリー",icon:"maki-laundry",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/lottery/Loteria de la Provincia":{tags:{name:"Loteria de la Provincia",shop:"lottery"},name:"Loteria de la Provincia",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/lottery/Lotería Nacional":{tags:{name:"Lotería Nacional",shop:"lottery"},name:"Lotería Nacional",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/lottery/Lotería de la Provincia":{tags:{name:"Lotería de la Provincia",shop:"lottery"},name:"Lotería de la Provincia",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/lottery/Lotto":{tags:{name:"Lotto",shop:"lottery"},name:"Lotto",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/lottery/Lottózó":{tags:{name:"Lottózó",shop:"lottery"},name:"Lottózó",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/lottery/ONCE":{tags:{name:"ONCE",shop:"lottery"},name:"ONCE",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mall/Торговый центр":{tags:{name:"Торговый центр",shop:"mall"},name:"Торговый центр",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours"],suggestion:true},"shop/massage/Massage Envy":{tags:{name:"Massage Envy",shop:"massage"},name:"Massage Envy",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/medical_supply/Pofam-Poznań":{tags:{name:"Pofam-Poznań",shop:"medical_supply"},name:"Pofam-Poznań",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/3 Store":{tags:{name:"3 Store",shop:"mobile_phone"},name:"3 Store",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/AT&T":{tags:{name:"AT&T",shop:"mobile_phone"},name:"AT&T",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Bell":{tags:{name:"Bell",shop:"mobile_phone"},name:"Bell",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Bitė":{tags:{name:"Bitė",shop:"mobile_phone"},name:"Bitė",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Boost Mobile":{tags:{name:"Boost Mobile",shop:"mobile_phone"},name:"Boost Mobile",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Carphone Warehouse":{tags:{name:"Carphone Warehouse",shop:"mobile_phone"},name:"Carphone Warehouse",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Claro":{tags:{name:"Claro",shop:"mobile_phone"},name:"Claro",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Cricket Wireless":{tags:{name:"Cricket Wireless",shop:"mobile_phone"},name:"Cricket Wireless",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Digicel":{tags:{name:"Digicel",shop:"mobile_phone"},name:"Digicel",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/EE":{tags:{name:"EE",shop:"mobile_phone"},name:"EE",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/MetroPCS":{tags:{name:"MetroPCS",shop:"mobile_phone"},name:"MetroPCS",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Movistar":{tags:{name:"Movistar",shop:"mobile_phone"},name:"Movistar",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/O2":{tags:{name:"O2",shop:"mobile_phone"},name:"O2",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Orange":{tags:{name:"Orange",shop:"mobile_phone"},name:"Orange",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Personal":{tags:{name:"Personal",shop:"mobile_phone"},name:"Personal",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Play":{tags:{name:"Play",shop:"mobile_phone"},name:"Play",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Plus":{tags:{name:"Plus",shop:"mobile_phone"},name:"Plus",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/SFR":{tags:{name:"SFR",shop:"mobile_phone"},name:"SFR",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Sprint":{tags:{name:"Sprint",shop:"mobile_phone"},name:"Sprint",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/T-Mobile":{tags:{name:"T-Mobile",shop:"mobile_phone"},name:"T-Mobile",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/TIM":{tags:{name:"TIM",shop:"mobile_phone"},name:"TIM",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Telcel":{tags:{name:"Telcel",shop:"mobile_phone"},name:"Telcel",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Tele2":{tags:{name:"Tele2",shop:"mobile_phone"},name:"Tele2",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Telekom":{tags:{name:"Telekom",shop:"mobile_phone"},name:"Telekom",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Telekom Shop":{tags:{name:"Telekom Shop",shop:"mobile_phone"},name:"Telekom Shop",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Telenor":{tags:{name:"Telenor",shop:"mobile_phone"},name:"Telenor",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Telus":{tags:{name:"Telus",shop:"mobile_phone"},name:"Telus",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/The Phone House":{tags:{name:"The Phone House",shop:"mobile_phone"},name:"The Phone House",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Three":{tags:{name:"Three",shop:"mobile_phone"},name:"Three",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Tim":{tags:{name:"Tim",shop:"mobile_phone"},name:"Tim",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Télécentre":{tags:{name:"Télécentre",shop:"mobile_phone"},name:"Télécentre",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Verizon":{tags:{name:"Verizon",shop:"mobile_phone"},name:"Verizon",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Verizon Wireless":{tags:{name:"Verizon Wireless",shop:"mobile_phone"},name:"Verizon Wireless",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Vodafone":{tags:{name:"Vodafone",shop:"mobile_phone"},name:"Vodafone",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Vodafone Shop":{tags:{name:"Vodafone Shop",shop:"mobile_phone"},name:"Vodafone Shop",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Wind":{tags:{name:"Wind",shop:"mobile_phone"},name:"Wind",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Yoigo":{tags:{name:"Yoigo",shop:"mobile_phone"},name:"Yoigo",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/au":{tags:{name:"au",shop:"mobile_phone"},name:"au",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/auショップ":{tags:{name:"auショップ",shop:"mobile_phone"},name:"auショップ",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/mobilcom debitel":{tags:{name:"mobilcom debitel",shop:"mobile_phone"},name:"mobilcom debitel",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Алло":{tags:{name:"Алло",shop:"mobile_phone"},name:"Алло",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Билайн":{tags:{name:"Билайн",shop:"mobile_phone"},name:"Билайн",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Евросеть":{tags:{name:"Евросеть",shop:"mobile_phone"},name:"Евросеть",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Київстар":{tags:{name:"Київстар",shop:"mobile_phone"},name:"Київстар",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/МТС":{tags:{name:"МТС",shop:"mobile_phone"},name:"МТС",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Мегафон":{tags:{name:"Мегафон",shop:"mobile_phone"},name:"Мегафон",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Связной":{tags:{name:"Связной",shop:"mobile_phone"},name:"Связной",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/Теле2":{tags:{name:"Теле2",shop:"mobile_phone"},name:"Теле2",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/ソフトバンクショップ":{tags:{name:"ソフトバンクショップ",shop:"mobile_phone"},name:"ソフトバンクショップ",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/mobile_phone/ドコモショップ":{tags:{name:"ドコモショップ",shop:"mobile_phone"},name:"ドコモショップ",icon:"maki-mobile-phone",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/money_lender/Money Mart":{tags:{name:"Money Mart",shop:"money_lender"},name:"Money Mart",icon:"maki-bank",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","currency_multi"],suggestion:true},"shop/motorcycle/Harley Davidson":{tags:{name:"Harley Davidson",shop:"motorcycle"},name:"Harley Davidson",icon:"fas-motorcycle",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/motorcycle/Yamaha":{tags:{name:"Yamaha",shop:"motorcycle"},name:"Yamaha",icon:"fas-motorcycle",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/music/HMV":{tags:{name:"HMV",shop:"music"},name:"HMV",icon:"maki-music",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/musical_instrument/Guitar Center":{tags:{name:"Guitar Center",shop:"musical_instrument"},name:"Guitar Center",icon:"maki-music",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Edicola":{tags:{name:"Edicola",shop:"newsagent"},name:"Edicola",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Maison de la Presse":{tags:{name:"Maison de la Presse",shop:"newsagent"},name:"Maison de la Presse",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Relay":{tags:{name:"Relay",shop:"newsagent"},name:"Relay",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Tabac Presse":{tags:{name:"Tabac Presse",shop:"newsagent"},name:"Tabac Presse",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/WHSmith":{tags:{name:"WHSmith",shop:"newsagent"},name:"WHSmith",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Витебскоблсоюзпечать":{tags:{name:"Витебскоблсоюзпечать",shop:"newsagent"},name:"Витебскоблсоюзпечать",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Первая полоса":{tags:{name:"Первая полоса",shop:"newsagent"},name:"Первая полоса",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Печать":{tags:{name:"Печать",shop:"newsagent"},name:"Печать",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Роспечать":{tags:{name:"Роспечать",shop:"newsagent"},name:"Роспечать",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/newsagent/Союзпечать":{tags:{name:"Союзпечать",shop:"newsagent"},name:"Союзпечать",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Alain Afflelou":{tags:{name:"Alain Afflelou",shop:"optician"},name:"Alain Afflelou",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Apollo":{tags:{name:"Apollo",shop:"optician"},name:"Apollo",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Atol":{tags:{name:"Atol",shop:"optician"},name:"Atol",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Boots Opticians":{tags:{name:"Boots Opticians",shop:"optician"},name:"Boots Opticians",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Fielmann":{tags:{name:"Fielmann",shop:"optician"},name:"Fielmann",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/General Óptica":{tags:{name:"General Óptica",shop:"optician"},name:"General Óptica",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Grand Optical":{tags:{name:"Grand Optical",shop:"optician"},name:"Grand Optical",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],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:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Hakim Optical":{tags:{name:"Hakim Optical",shop:"optician"},name:"Hakim Optical",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Hans Anders":{tags:{name:"Hans Anders",shop:"optician"},name:"Hans Anders",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Krys":{tags:{name:"Krys",shop:"optician"},name:"Krys",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Les Opticiens Mutualistes":{tags:{name:"Les Opticiens Mutualistes",shop:"optician"},name:"Les Opticiens Mutualistes",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Optic 2000":{tags:{name:"Optic 2000",shop:"optician"},name:"Optic 2000",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Optical Center":{tags:{name:"Optical Center",shop:"optician"},name:"Optical Center",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Pearle":{tags:{name:"Pearle",shop:"optician"},name:"Pearle",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Pearle Vision":{tags:{name:"Pearle Vision",shop:"optician"},name:"Pearle Vision",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Specsavers":{tags:{name:"Specsavers",shop:"optician"},name:"Specsavers",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Sunglass Hut":{tags:{name:"Sunglass Hut",shop:"optician"},name:"Sunglass Hut",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Synoptik":{tags:{name:"Synoptik",shop:"optician"},name:"Synoptik",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/Vision Express":{tags:{name:"Vision Express",shop:"optician"},name:"Vision Express",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/แว่นท็อปเจริญ":{tags:{name:"แว่นท็อปเจริญ",shop:"optician"},name:"แว่นท็อปเจริญ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/メガネスーパー":{tags:{name:"メガネスーパー",shop:"optician"},name:"メガネスーパー",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/optician/眼鏡市場":{tags:{name:"眼鏡市場",shop:"optician"},name:"眼鏡市場",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/outdoor/Mountain Warehouse":{tags:{name:"Mountain Warehouse",shop:"outdoor"},name:"Mountain Warehouse",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/outdoor/REI":{tags:{name:"REI",shop:"outdoor"},name:"REI",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/outdoor/Рыболов":{tags:{name:"Рыболов",shop:"outdoor"},name:"Рыболов",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/paint/Benjamin Moore":{tags:{name:"Benjamin Moore",shop:"paint"},name:"Benjamin Moore",icon:"maki-water",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/paint/Comex":{tags:{name:"Comex",shop:"paint"},name:"Comex",icon:"maki-water",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/paint/Jotun":{tags:{name:"Jotun",shop:"paint"},name:"Jotun",icon:"maki-water",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/paint/National Paints":{tags:{name:"National Paints",shop:"paint"},name:"National Paints",icon:"maki-water",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/paint/Sherwin Williams":{tags:{name:"Sherwin Williams",shop:"paint"},name:"Sherwin Williams",icon:"maki-water",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/paint/Sherwin-Williams Paints":{tags:{name:"Sherwin-Williams Paints",shop:"paint"},name:"Sherwin-Williams Paints",icon:"maki-water",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pawnbroker/Cash Converters":{tags:{name:"Cash Converters",shop:"pawnbroker"},name:"Cash Converters",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pawnbroker/Lombard":{tags:{name:"Lombard",shop:"pawnbroker"},name:"Lombard",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pawnbroker/Palawan Pawnshop":{tags:{name:"Palawan Pawnshop",shop:"pawnbroker"},name:"Palawan Pawnshop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Das Futterhaus":{tags:{name:"Das Futterhaus",shop:"pet"},name:"Das Futterhaus",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Fressnapf":{tags:{name:"Fressnapf",shop:"pet"},name:"Fressnapf",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Global Pet Foods":{tags:{name:"Global Pet Foods",shop:"pet"},name:"Global Pet Foods",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Maxi Zoo":{tags:{name:"Maxi Zoo",shop:"pet"},name:"Maxi Zoo",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Pet Valu":{tags:{name:"Pet Valu",shop:"pet"},name:"Pet Valu",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/PetSmart":{tags:{name:"PetSmart",shop:"pet"},name:"PetSmart",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Petco":{tags:{name:"Petco",shop:"pet"},name:"Petco",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Pets at Home":{tags:{name:"Pets at Home",shop:"pet"},name:"Pets at Home",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Бетховен":{tags:{name:"Бетховен",shop:"pet"},name:"Бетховен",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Зоотовары":{tags:{name:"Зоотовары",shop:"pet"},name:"Зоотовары",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/pet/Четыре лапы":{tags:{name:"Четыре лапы",shop:"pet"},name:"Четыре лапы",icon:"maki-dog-park",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/second_hand/Goodwill":{tags:{name:"Goodwill",shop:"second_hand"},name:"Goodwill",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/second_hand/Value Village":{tags:{name:"Value Village",shop:"second_hand"},name:"Value Village",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","second_hand","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Aldo":{tags:{name:"Aldo",shop:"shoes"},name:"Aldo",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Bata":{tags:{name:"Bata",shop:"shoes"},name:"Bata",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Besson Chaussures":{tags:{name:"Besson Chaussures",shop:"shoes"},name:"Besson Chaussures",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Brantano":{tags:{name:"Brantano",shop:"shoes"},name:"Brantano",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/CCC":{tags:{name:"CCC",shop:"shoes"},name:"CCC",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Camper":{tags:{name:"Camper",shop:"shoes"},name:"Camper",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Chaussea":{tags:{name:"Chaussea",shop:"shoes"},name:"Chaussea",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Clarks":{tags:{name:"Clarks",shop:"shoes"},name:"Clarks",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Converse":{tags:{name:"Converse",shop:"shoes"},name:"Converse",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Crocs":{tags:{name:"Crocs",shop:"shoes"},name:"Crocs",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/DSW":{tags:{name:"DSW",shop:"shoes"},name:"DSW",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Deichmann":{tags:{name:"Deichmann",shop:"shoes"},name:"Deichmann",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Dosenbach":{tags:{name:"Dosenbach",shop:"shoes"},name:"Dosenbach",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Ecco":{tags:{name:"Ecco",shop:"shoes"},name:"Ecco",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Famous Footwear":{tags:{name:"Famous Footwear",shop:"shoes"},name:"Famous Footwear",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Foot Locker":{tags:{name:"Foot Locker",shop:"shoes"},name:"Foot Locker",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Geox":{tags:{name:"Geox",shop:"shoes"},name:"Geox",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Kari":{tags:{name:"Kari",shop:"shoes"},name:"Kari",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/La Halle aux Chaussures":{tags:{name:"La Halle aux Chaussures",shop:"shoes"},name:"La Halle aux Chaussures",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Mephisto":{tags:{name:"Mephisto",shop:"shoes"},name:"Mephisto",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Minelli":{tags:{name:"Minelli",shop:"shoes"},name:"Minelli",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/New Balance":{tags:{name:"New Balance",shop:"shoes"},name:"New Balance",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Payless":{tags:{name:"Payless",shop:"shoes"},name:"Payless",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Payless Shoe Source":{tags:{name:"Payless Shoe Source",shop:"shoes"},name:"Payless Shoe Source",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Payless ShoeSource":{tags:{name:"Payless ShoeSource",shop:"shoes"},name:"Payless ShoeSource",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Quick Schuh":{tags:{name:"Quick Schuh",shop:"shoes"},name:"Quick Schuh",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Rack Room Shoes":{tags:{name:"Rack Room Shoes",shop:"shoes"},name:"Rack Room Shoes",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Reno":{tags:{name:"Reno",shop:"shoes"},name:"Reno",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Rieker":{tags:{name:"Rieker",shop:"shoes"},name:"Rieker",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Salamander":{tags:{name:"Salamander",shop:"shoes"},name:"Salamander",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/San Marina":{tags:{name:"San Marina",shop:"shoes"},name:"San Marina",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Scapino":{tags:{name:"Scapino",shop:"shoes"},name:"Scapino",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Shoe Carnival":{tags:{name:"Shoe Carnival",shop:"shoes"},name:"Shoe Carnival",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Shoe Zone":{tags:{name:"Shoe Zone",shop:"shoes"},name:"Shoe Zone",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Siemes Schuhcenter":{tags:{name:"Siemes Schuhcenter",shop:"shoes"},name:"Siemes Schuhcenter",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Skechers":{tags:{name:"Skechers",shop:"shoes"},name:"Skechers",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Tamaris":{tags:{name:"Tamaris",shop:"shoes"},name:"Tamaris",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/vanHaren":{tags:{name:"vanHaren",shop:"shoes"},name:"vanHaren",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Éram":{tags:{name:"Éram",shop:"shoes"},name:"Éram",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Ремонт обуви":{tags:{name:"Ремонт обуви",shop:"shoes"},name:"Ремонт обуви",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/ЦентрОбувь":{tags:{name:"ЦентрОбувь",shop:"shoes"},name:"ЦентрОбувь",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/Юничел":{tags:{name:"Юничел",shop:"shoes"},name:"Юничел",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/shoes/東京靴流通センター":{tags:{name:"東京靴流通センター",shop:"shoes"},name:"東京靴流通センター",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Aktiesport":{tags:{name:"Aktiesport",shop:"sports"},name:"Aktiesport",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Big 5 Sporting Goods":{tags:{name:"Big 5 Sporting Goods",shop:"sports"},name:"Big 5 Sporting Goods",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Decathlon":{tags:{name:"Decathlon",shop:"sports"},name:"Decathlon",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Dick's Sporting Goods":{tags:{name:"Dick's Sporting Goods",shop:"sports"},name:"Dick's Sporting Goods",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Hervis":{tags:{name:"Hervis",shop:"sports"},name:"Hervis",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Intersport":{tags:{name:"Intersport",shop:"sports"},name:"Intersport",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/JD Sports":{tags:{name:"JD Sports",shop:"sports"},name:"JD Sports",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Sport 2000":{tags:{name:"Sport 2000",shop:"sports"},name:"Sport 2000",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Sports Authority":{tags:{name:"Sports Authority",shop:"sports"},name:"Sports Authority",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Sports Direct":{tags:{name:"Sports Direct",shop:"sports"},name:"Sports Direct",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Спортмастер":{tags:{name:"Спортмастер",shop:"sports"},name:"Спортмастер",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/sports/Спорттовары":{tags:{name:"Спорттовары",shop:"sports"},name:"Спорттовары",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Bureau Vallée":{tags:{name:"Bureau Vallée",shop:"stationery"},name:"Bureau Vallée",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Libro":{tags:{name:"Libro",shop:"stationery"},name:"Libro",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/McPaper":{tags:{name:"McPaper",shop:"stationery"},name:"McPaper",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Office Depot":{tags:{name:"Office Depot",shop:"stationery"},name:"Office Depot",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Office Max":{tags:{name:"Office Max",shop:"stationery"},name:"Office Max",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Officeworks":{tags:{name:"Officeworks",shop:"stationery"},name:"Officeworks",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Pagro":{tags:{name:"Pagro",shop:"stationery"},name:"Pagro",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Paperchase":{tags:{name:"Paperchase",shop:"stationery"},name:"Paperchase",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Ryman":{tags:{name:"Ryman",shop:"stationery"},name:"Ryman",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Staples":{tags:{name:"Staples",shop:"stationery"},name:"Staples",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/stationery/Канцтовары":{tags:{name:"Канцтовары",shop:"stationery"},name:"Канцтовары",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/A&O":{tags:{name:"A&O",shop:"supermarket"},name:"A&O",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/A101":{tags:{name:"A101",shop:"supermarket"},name:"A101",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/AD Delhaize":{tags:{name:"AD Delhaize",shop:"supermarket"},name:"AD Delhaize",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/ADEG":{tags:{name:"ADEG",shop:"supermarket"},name:"ADEG",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Ahorramás":{tags:{name:"Ahorramás",shop:"supermarket"},name:"Ahorramás",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Albert":{tags:{name:"Albert",shop:"supermarket"},name:"Albert",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Albert Heijn":{tags:{name:"Albert Heijn",shop:"supermarket"},name:"Albert Heijn",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Albertsons":{tags:{name:"Albertsons",shop:"supermarket"},name:"Albertsons",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Aldi":{tags:{name:"Aldi",shop:"supermarket"},name:"Aldi",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Aldi Nord":{tags:{name:"Aldi Nord",shop:"supermarket"},name:"Aldi Nord",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Aldi Süd":{tags:{name:"Aldi Süd",shop:"supermarket"},name:"Aldi Süd",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Alimerka":{tags:{name:"Alimerka",shop:"supermarket"},name:"Alimerka",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Alnatura":{tags:{name:"Alnatura",shop:"supermarket"},name:"Alnatura",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Asda":{tags:{name:"Asda",shop:"supermarket"},name:"Asda",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Atac":{tags:{name:"Atac",shop:"supermarket"},name:"Atac",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Atacadão":{tags:{name:"Atacadão",shop:"supermarket"},name:"Atacadão",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Auchan":{tags:{name:"Auchan",shop:"supermarket"},name:"Auchan",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/BM":{tags:{name:"BM",shop:"supermarket"},name:"BM",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Biedronka":{tags:{name:"Biedronka",shop:"supermarket"},name:"Biedronka",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Big C":{tags:{name:"Big C",shop:"supermarket"},name:"Big C",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Billa":{tags:{name:"Billa",shop:"supermarket"},name:"Billa",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Bim":{tags:{name:"Bim",shop:"supermarket"},name:"Bim",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Biocoop":{tags:{name:"Biocoop",shop:"supermarket"},name:"Biocoop",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Bodega Aurrera":{tags:{name:"Bodega Aurrera",shop:"supermarket"},name:"Bodega Aurrera",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Budgens":{tags:{name:"Budgens",shop:"supermarket"},name:"Budgens",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Bulk Barn":{tags:{name:"Bulk Barn",shop:"supermarket"},name:"Bulk Barn",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Bunnpris":{tags:{name:"Bunnpris",shop:"supermarket"},name:"Bunnpris",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/CONAD":{tags:{name:"CONAD",shop:"supermarket"},name:"CONAD",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/CRAI":{tags:{name:"CRAI",shop:"supermarket"},name:"CRAI",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Caprabo":{tags:{name:"Caprabo",shop:"supermarket"},name:"Caprabo",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Cargills Food City":{tags:{name:"Cargills Food City",shop:"supermarket"},name:"Cargills Food City",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Carrefour":{tags:{name:"Carrefour",shop:"supermarket"},name:"Carrefour",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Carrefour City":{tags:{name:"Carrefour City",shop:"supermarket"},name:"Carrefour City",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Carrefour Contact":{tags:{name:"Carrefour Contact",shop:"supermarket"},name:"Carrefour Contact",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Carrefour Express":{tags:{name:"Carrefour Express",shop:"supermarket"},name:"Carrefour Express",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Centre Commercial E. Leclerc":{tags:{name:"Centre Commercial E. Leclerc",shop:"supermarket"},name:"Centre Commercial E. Leclerc",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Checkers":{tags:{name:"Checkers",shop:"supermarket"},name:"Checkers",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Chedraui":{tags:{name:"Chedraui",shop:"supermarket"},name:"Chedraui",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Co-Op":{tags:{name:"Co-Op",shop:"supermarket"},name:"Co-Op",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Co-op":{tags:{name:"Co-op",shop:"supermarket"},name:"Co-op",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Co-operative":{tags:{name:"Co-operative",shop:"supermarket"},name:"Co-operative",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Coles":{tags:{name:"Coles",shop:"supermarket"},name:"Coles",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Colmado":{tags:{name:"Colmado",shop:"supermarket"},name:"Colmado",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Colruyt":{tags:{name:"Colruyt",shop:"supermarket"},name:"Colruyt",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Combi":{tags:{name:"Combi",shop:"supermarket"},name:"Combi",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Comercial Mexicana":{tags:{name:"Comercial Mexicana",shop:"supermarket"},name:"Comercial Mexicana",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Conad":{tags:{name:"Conad",shop:"supermarket"},name:"Conad",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Conad City":{tags:{name:"Conad City",shop:"supermarket"},name:"Conad City",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Condis":{tags:{name:"Condis",shop:"supermarket"},name:"Condis",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Consum":{tags:{name:"Consum",shop:"supermarket"},name:"Consum",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Continente":{tags:{name:"Continente",shop:"supermarket"},name:"Continente",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Coop":{tags:{name:"Coop",shop:"supermarket"},name:"Coop",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Coop Extra":{tags:{name:"Coop Extra",shop:"supermarket"},name:"Coop Extra",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Coop Konsum":{tags:{name:"Coop Konsum",shop:"supermarket"},name:"Coop Konsum",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Costco Gasoline":{tags:{name:"Costco Gasoline",shop:"supermarket"},name:"Costco Gasoline",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Coto":{tags:{name:"Coto",shop:"supermarket"},name:"Coto",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Countdown":{tags:{name:"Countdown",shop:"supermarket"},name:"Countdown",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Coviran":{tags:{name:"Coviran",shop:"supermarket"},name:"Coviran",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Covirán":{tags:{name:"Covirán",shop:"supermarket"},name:"Covirán",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Crai":{tags:{name:"Crai",shop:"supermarket"},name:"Crai",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Cub Foods":{tags:{name:"Cub Foods",shop:"supermarket"},name:"Cub Foods",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Dagli'Brugsen":{tags:{name:"Dagli'Brugsen",shop:"supermarket"},name:"Dagli'Brugsen",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Deen":{tags:{name:"Deen",shop:"supermarket"},name:"Deen",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Delhaize":{tags:{name:"Delhaize",shop:"supermarket"},name:"Delhaize",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Delikatesy Centrum":{tags:{name:"Delikatesy Centrum",shop:"supermarket"},name:"Delikatesy Centrum",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Denner":{tags:{name:"Denner",shop:"supermarket"},name:"Denner",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Despar":{tags:{name:"Despar",shop:"supermarket"},name:"Despar",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Despensa Familiar":{tags:{name:"Despensa Familiar",shop:"supermarket"},name:"Despensa Familiar",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Dia":{tags:{name:"Dia",shop:"supermarket"},name:"Dia",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Dia %":{tags:{name:"Dia %",shop:"supermarket"},name:"Dia %",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Dia Market":{tags:{name:"Dia Market",shop:"supermarket"},name:"Dia Market",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Dino":{tags:{name:"Dino",shop:"supermarket"},name:"Dino",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Dirk van den Broek":{tags:{name:"Dirk van den Broek",shop:"supermarket"},name:"Dirk van den Broek",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Disco":{tags:{name:"Disco",shop:"supermarket"},name:"Disco",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Diska":{tags:{name:"Diska",shop:"supermarket"},name:"Diska",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Dunnes Stores":{tags:{name:"Dunnes Stores",shop:"supermarket"},name:"Dunnes Stores",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/E-Center":{tags:{name:"E-Center",shop:"supermarket"},name:"E-Center",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/E. Leclerc":{tags:{name:"E. Leclerc",shop:"supermarket"},name:"E. Leclerc",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/E. Leclerc Drive":{tags:{name:"E. Leclerc Drive",shop:"supermarket"},name:"E. Leclerc Drive",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/EMTÉ":{tags:{name:"EMTÉ",shop:"supermarket"},name:"EMTÉ",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Edeka":{tags:{name:"Edeka",shop:"supermarket"},name:"Edeka",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Ekom":{tags:{name:"Ekom",shop:"supermarket"},name:"Ekom",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Ekono":{tags:{name:"Ekono",shop:"supermarket"},name:"Ekono",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/El Árbol":{tags:{name:"El Árbol",shop:"supermarket"},name:"El Árbol",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Eroski":{tags:{name:"Eroski",shop:"supermarket"},name:"Eroski",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Esselunga":{tags:{name:"Esselunga",shop:"supermarket"},name:"Esselunga",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/EuroSpin":{tags:{name:"EuroSpin",shop:"supermarket"},name:"EuroSpin",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Eurospar":{tags:{name:"Eurospar",shop:"supermarket"},name:"Eurospar",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Eurospin":{tags:{name:"Eurospin",shop:"supermarket"},name:"Eurospin",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Extra":{tags:{name:"Extra",shop:"supermarket"},name:"Extra",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Famiglia Cooperativa":{tags:{name:"Famiglia Cooperativa",shop:"supermarket"},name:"Famiglia Cooperativa",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Famila":{tags:{name:"Famila",shop:"supermarket"},name:"Famila",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Fareway":{tags:{name:"Fareway",shop:"supermarket"},name:"Fareway",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Farmfoods":{tags:{name:"Farmfoods",shop:"supermarket"},name:"Farmfoods",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Feneberg":{tags:{name:"Feneberg",shop:"supermarket"},name:"Feneberg",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Food Basics":{tags:{name:"Food Basics",shop:"supermarket"},name:"Food Basics",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Food Lion":{tags:{name:"Food Lion",shop:"supermarket"},name:"Food Lion",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Foodland":{tags:{name:"Foodland",shop:"supermarket"},name:"Foodland",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Foodworks":{tags:{name:"Foodworks",shop:"supermarket"},name:"Foodworks",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Franprix":{tags:{name:"Franprix",shop:"supermarket"},name:"Franprix",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Fred Meyer":{tags:{name:"Fred Meyer",shop:"supermarket"},name:"Fred Meyer",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Froiz":{tags:{name:"Froiz",shop:"supermarket"},name:"Froiz",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Føtex":{tags:{name:"Føtex",shop:"supermarket"},name:"Føtex",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/G20":{tags:{name:"G20",shop:"supermarket"},name:"G20",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Gadis":{tags:{name:"Gadis",shop:"supermarket"},name:"Gadis",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Giant":{tags:{name:"Giant",shop:"supermarket"},name:"Giant",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Giant Eagle":{tags:{name:"Giant Eagle",shop:"supermarket"},name:"Giant Eagle",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Grand Frais":{tags:{name:"Grand Frais",shop:"supermarket"},name:"Grand Frais",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Grocery Outlet":{tags:{name:"Grocery Outlet",shop:"supermarket"},name:"Grocery Outlet",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Géant Casino":{tags:{name:"Géant Casino",shop:"supermarket"},name:"Géant Casino",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/H-E-B":{tags:{name:"H-E-B",shop:"supermarket"},name:"H-E-B",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/HIT":{tags:{name:"HIT",shop:"supermarket"},name:"HIT",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Hannaford":{tags:{name:"Hannaford",shop:"supermarket"},name:"Hannaford",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Harris Teeter":{tags:{name:"Harris Teeter",shop:"supermarket"},name:"Harris Teeter",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Hemköp":{tags:{name:"Hemköp",shop:"supermarket"},name:"Hemköp",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Heron Foods":{tags:{name:"Heron Foods",shop:"supermarket"},name:"Heron Foods",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Hofer":{tags:{name:"Hofer",shop:"supermarket"},name:"Hofer",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Hoogvliet":{tags:{name:"Hoogvliet",shop:"supermarket"},name:"Hoogvliet",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Hy-Vee":{tags:{name:"Hy-Vee",shop:"supermarket"},name:"Hy-Vee",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/ICA":{tags:{name:"ICA",shop:"supermarket"},name:"ICA",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/ICA Kvantum":{tags:{name:"ICA Kvantum",shop:"supermarket"},name:"ICA Kvantum",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/IDEA":{tags:{name:"IDEA",shop:"supermarket"},name:"IDEA",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/IGA":{tags:{name:"IGA",shop:"supermarket"},name:"IGA",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Iceland":{tags:{name:"Iceland",shop:"supermarket"},name:"Iceland",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Intermarché":{tags:{name:"Intermarché",shop:"supermarket"},name:"Intermarché",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Intermarché Contact":{tags:{name:"Intermarché Contact",shop:"supermarket"},name:"Intermarché Contact",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Intermarché Super":{tags:{name:"Intermarché Super",shop:"supermarket"},name:"Intermarché Super",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Interspar":{tags:{name:"Interspar",shop:"supermarket"},name:"Interspar",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Irma":{tags:{name:"Irma",shop:"supermarket"},name:"Irma",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Jewel-Osco":{tags:{name:"Jewel-Osco",shop:"supermarket"},name:"Jewel-Osco",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Jumbo":{tags:{name:"Jumbo",shop:"supermarket"},name:"Jumbo",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/K+K":{tags:{name:"K+K",shop:"supermarket"},name:"K+K",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Kaufland":{tags:{name:"Kaufland",shop:"supermarket"},name:"Kaufland",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/King Soopers":{tags:{name:"King Soopers",shop:"supermarket"},name:"King Soopers",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Kiwi":{tags:{name:"Kiwi",shop:"supermarket"},name:"Kiwi",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Konsum":{tags:{name:"Konsum",shop:"supermarket"},name:"Konsum",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Konzum":{tags:{name:"Konzum",shop:"supermarket"},name:"Konzum",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Kroger":{tags:{name:"Kroger",shop:"supermarket"},name:"Kroger",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Kvickly":{tags:{name:"Kvickly",shop:"supermarket"},name:"Kvickly",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/La Vie Claire":{tags:{name:"La Vie Claire",shop:"supermarket"},name:"La Vie Claire",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Landi":{tags:{name:"Landi",shop:"supermarket"},name:"Landi",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Leader Price":{tags:{name:"Leader Price",shop:"supermarket"},name:"Leader Price",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Leclerc Drive":{tags:{name:"Leclerc Drive",shop:"supermarket"},name:"Leclerc Drive",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Lider":{tags:{name:"Lider",shop:"supermarket"},name:"Lider",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Lidl":{tags:{name:"Lidl",shop:"supermarket"},name:"Lidl",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Lupa":{tags:{name:"Lupa",shop:"supermarket"},name:"Lupa",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/MPREIS":{tags:{name:"MPREIS",shop:"supermarket"},name:"MPREIS",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Makro":{tags:{name:"Makro",shop:"supermarket"},name:"Makro",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Markant":{tags:{name:"Markant",shop:"supermarket"},name:"Markant",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Market Basket":{tags:{name:"Market Basket",shop:"supermarket"},name:"Market Basket",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Marktkauf":{tags:{name:"Marktkauf",shop:"supermarket"},name:"Marktkauf",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Match":{tags:{name:"Match",shop:"supermarket"},name:"Match",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Maxi":{tags:{name:"Maxi",shop:"supermarket"},name:"Maxi",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Maxi Dia":{tags:{name:"Maxi Dia",shop:"supermarket"},name:"Maxi Dia",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Maxima":{tags:{name:"Maxima",shop:"supermarket"},name:"Maxima",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Maxima X":{tags:{name:"Maxima X",shop:"supermarket"},name:"Maxima X",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Maxima XX":{tags:{name:"Maxima XX",shop:"supermarket"},name:"Maxima XX",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Mega Image":{tags:{name:"Mega Image",shop:"supermarket"},name:"Mega Image",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Mego":{tags:{name:"Mego",shop:"supermarket"},name:"Mego",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Meijer":{tags:{name:"Meijer",shop:"supermarket"},name:"Meijer",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Meny":{tags:{name:"Meny",shop:"supermarket"},name:"Meny",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Mercado Municipal":{tags:{name:"Mercado Municipal",shop:"supermarket"},name:"Mercado Municipal",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Mercado de Abastos":{tags:{name:"Mercado de Abastos",shop:"supermarket"},name:"Mercado de Abastos",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Mercadona":{tags:{name:"Mercadona",shop:"supermarket"},name:"Mercadona",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Mercator":{tags:{name:"Mercator",shop:"supermarket"},name:"Mercator",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Merkur":{tags:{name:"Merkur",shop:"supermarket"},name:"Merkur",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Metro":{tags:{name:"Metro",shop:"supermarket"},name:"Metro",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Migros":{tags:{name:"Migros",shop:"supermarket"},name:"Migros",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Mila":{tags:{name:"Mila",shop:"supermarket"},name:"Mila",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Minipreço":{tags:{name:"Minipreço",shop:"supermarket"},name:"Minipreço",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Mix Markt":{tags:{name:"Mix Markt",shop:"supermarket"},name:"Mix Markt",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Monoprix":{tags:{name:"Monoprix",shop:"supermarket"},name:"Monoprix",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/More":{tags:{name:"More",shop:"supermarket"},name:"More",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Morrisons":{tags:{name:"Morrisons",shop:"supermarket"},name:"Morrisons",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/NORMA":{tags:{name:"NORMA",shop:"supermarket"},name:"NORMA",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/NP":{tags:{name:"NP",shop:"supermarket"},name:"NP",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Nah & Frisch":{tags:{name:"Nah & Frisch",shop:"supermarket"},name:"Nah & Frisch",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Nahkauf":{tags:{name:"Nahkauf",shop:"supermarket"},name:"Nahkauf",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Netto":{tags:{name:"Netto",shop:"supermarket"},name:"Netto",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Netto Marken-Discount":{tags:{name:"Netto Marken-Discount",shop:"supermarket"},name:"Netto Marken-Discount",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/New World":{tags:{name:"New World",shop:"supermarket"},name:"New World",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/No Frills":{tags:{name:"No Frills",shop:"supermarket"},name:"No Frills",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Norfa XL":{tags:{name:"Norfa XL",shop:"supermarket"},name:"Norfa XL",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Norma":{tags:{name:"Norma",shop:"supermarket"},name:"Norma",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/PENNY":{tags:{name:"PENNY",shop:"supermarket"},name:"PENNY",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/PLUS":{tags:{name:"PLUS",shop:"supermarket"},name:"PLUS",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/POLOmarket":{tags:{name:"POLOmarket",shop:"supermarket"},name:"POLOmarket",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Palí":{tags:{name:"Palí",shop:"supermarket"},name:"Palí",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Pam":{tags:{name:"Pam",shop:"supermarket"},name:"Pam",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Penny":{tags:{name:"Penny",shop:"supermarket"},name:"Penny",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Penny Markt":{tags:{name:"Penny Markt",shop:"supermarket"},name:"Penny Markt",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Pick n Pay":{tags:{name:"Pick n Pay",shop:"supermarket"},name:"Pick n Pay",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Piggly Wiggly":{tags:{name:"Piggly Wiggly",shop:"supermarket"},name:"Piggly Wiggly",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Pingo Doce":{tags:{name:"Pingo Doce",shop:"supermarket"},name:"Pingo Doce",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Piotr i Paweł":{tags:{name:"Piotr i Paweł",shop:"supermarket"},name:"Piotr i Paweł",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Plaza Vea":{tags:{name:"Plaza Vea",shop:"supermarket"},name:"Plaza Vea",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Plodine":{tags:{name:"Plodine",shop:"supermarket"},name:"Plodine",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Poiesz":{tags:{name:"Poiesz",shop:"supermarket"},name:"Poiesz",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Price Chopper":{tags:{name:"Price Chopper",shop:"supermarket"},name:"Price Chopper",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Prix":{tags:{name:"Prix",shop:"supermarket"},name:"Prix",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Profi":{tags:{name:"Profi",shop:"supermarket"},name:"Profi",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Proxy Delhaize":{tags:{name:"Proxy Delhaize",shop:"supermarket"},name:"Proxy Delhaize",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Publix":{tags:{name:"Publix",shop:"supermarket"},name:"Publix",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Punto Simply":{tags:{name:"Punto Simply",shop:"supermarket"},name:"Punto Simply",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Puregold":{tags:{name:"Puregold",shop:"supermarket"},name:"Puregold",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],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:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/QFC":{tags:{name:"QFC",shop:"supermarket"},name:"QFC",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/REMA 1000":{tags:{name:"REMA 1000",shop:"supermarket"},name:"REMA 1000",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Ralphs":{tags:{name:"Ralphs",shop:"supermarket"},name:"Ralphs",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Real":{tags:{name:"Real",shop:"supermarket"},name:"Real",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Real Canadian Superstore":{tags:{name:"Real Canadian Superstore",shop:"supermarket"},name:"Real Canadian Superstore",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Reliance Fresh":{tags:{name:"Reliance Fresh",shop:"supermarket"},name:"Reliance Fresh",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Rema 1000":{tags:{name:"Rema 1000",shop:"supermarket"},name:"Rema 1000",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Rewe":{tags:{name:"Rewe",shop:"supermarket"},name:"Rewe",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Rewe City":{tags:{name:"Rewe City",shop:"supermarket"},name:"Rewe City",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Rimi":{tags:{name:"Rimi",shop:"supermarket"},name:"Rimi",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/S-Market":{tags:{name:"S-Market",shop:"supermarket"},name:"S-Market",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Safeway":{tags:{name:"Safeway",shop:"supermarket"},name:"Safeway",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Sainsbury's":{tags:{name:"Sainsbury's",shop:"supermarket"},name:"Sainsbury's",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Sainsbury's Local":{tags:{name:"Sainsbury's Local",shop:"supermarket"},name:"Sainsbury's Local",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Sam's Club":{tags:{name:"Sam's Club",shop:"supermarket"},name:"Sam's Club",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Santa Isabel":{tags:{name:"Santa Isabel",shop:"supermarket"},name:"Santa Isabel",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Save-A-Lot":{tags:{name:"Save-A-Lot",shop:"supermarket"},name:"Save-A-Lot",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/ShopRite":{tags:{name:"ShopRite",shop:"supermarket"},name:"ShopRite",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Shoprite":{tags:{name:"Shoprite",shop:"supermarket"},name:"Shoprite",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Sigma":{tags:{name:"Sigma",shop:"supermarket"},name:"Sigma",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Simply Market":{tags:{name:"Simply Market",shop:"supermarket"},name:"Simply Market",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Sky":{tags:{name:"Sky",shop:"supermarket"},name:"Sky",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Smith's":{tags:{name:"Smith's",shop:"supermarket"},name:"Smith's",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Sobeys":{tags:{name:"Sobeys",shop:"supermarket"},name:"Sobeys",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Soriana":{tags:{name:"Soriana",shop:"supermarket"},name:"Soriana",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Spar":{tags:{name:"Spar",shop:"supermarket"},name:"Spar",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Sprouts Farmers Market":{tags:{name:"Sprouts Farmers Market",shop:"supermarket"},name:"Sprouts Farmers Market",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Stokrotka":{tags:{name:"Stokrotka",shop:"supermarket"},name:"Stokrotka",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Stop & Shop":{tags:{name:"Stop & Shop",shop:"supermarket"},name:"Stop & Shop",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Super C":{tags:{name:"Super C",shop:"supermarket"},name:"Super C",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Super U":{tags:{name:"Super U",shop:"supermarket"},name:"Super U",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/SuperBrugsen":{tags:{name:"SuperBrugsen",shop:"supermarket"},name:"SuperBrugsen",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/SuperValu":{tags:{name:"SuperValu",shop:"supermarket"},name:"SuperValu",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Superama":{tags:{name:"Superama",shop:"supermarket"},name:"Superama",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Supersol":{tags:{name:"Supersol",shop:"supermarket"},name:"Supersol",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Superspar":{tags:{name:"Superspar",shop:"supermarket"},name:"Superspar",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Tegut":{tags:{name:"Tegut",shop:"supermarket"},name:"Tegut",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Tengelmann":{tags:{name:"Tengelmann",shop:"supermarket"},name:"Tengelmann",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Tesco":{tags:{name:"Tesco",shop:"supermarket"},name:"Tesco",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Tesco Extra":{tags:{name:"Tesco Extra",shop:"supermarket"},name:"Tesco Extra",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Tesco Lotus":{tags:{name:"Tesco Lotus",shop:"supermarket"},name:"Tesco Lotus",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Tesco Metro":{tags:{name:"Tesco Metro",shop:"supermarket"},name:"Tesco Metro",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/The Co-operative":{tags:{name:"The Co-operative",shop:"supermarket"},name:"The Co-operative",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/The Co-operative Food":{tags:{name:"The Co-operative Food",shop:"supermarket"},name:"The Co-operative Food",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Tommy":{tags:{name:"Tommy",shop:"supermarket"},name:"Tommy",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Tottus":{tags:{name:"Tottus",shop:"supermarket"},name:"Tottus",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Trader Joe's":{tags:{name:"Trader Joe's",shop:"supermarket"},name:"Trader Joe's",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Treff 3000":{tags:{name:"Treff 3000",shop:"supermarket"},name:"Treff 3000",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/U Express":{tags:{name:"U Express",shop:"supermarket"},name:"U Express",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Unimarc":{tags:{name:"Unimarc",shop:"supermarket"},name:"Unimarc",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Unimarkt":{tags:{name:"Unimarkt",shop:"supermarket"},name:"Unimarkt",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Utile":{tags:{name:"Utile",shop:"supermarket"},name:"Utile",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Vea":{tags:{name:"Vea",shop:"supermarket"},name:"Vea",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Volg":{tags:{name:"Volg",shop:"supermarket"},name:"Volg",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Waitrose":{tags:{name:"Waitrose",shop:"supermarket"},name:"Waitrose",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Walmart":{tags:{name:"Walmart",shop:"supermarket"},name:"Walmart",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Walmart Neighborhood Market":{tags:{name:"Walmart Neighborhood Market",shop:"supermarket"},name:"Walmart Neighborhood Market",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Walmart Supercenter":{tags:{name:"Walmart Supercenter",shop:"supermarket"},name:"Walmart Supercenter",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Wasgau":{tags:{name:"Wasgau",shop:"supermarket"},name:"Wasgau",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Wegmans":{tags:{name:"Wegmans",shop:"supermarket"},name:"Wegmans",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Wellcome":{tags:{name:"Wellcome",shop:"supermarket"},name:"Wellcome",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Whole Foods Market":{tags:{name:"Whole Foods Market",shop:"supermarket"},name:"Whole Foods Market",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Willys":{tags:{name:"Willys",shop:"supermarket"},name:"Willys",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/WinCo Foods":{tags:{name:"WinCo Foods",shop:"supermarket"},name:"WinCo Foods",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Winn Dixie":{tags:{name:"Winn Dixie",shop:"supermarket"},name:"Winn Dixie",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Woolworths":{tags:{name:"Woolworths",shop:"supermarket"},name:"Woolworths",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/denn's Biomarkt":{tags:{name:"denn's Biomarkt",shop:"supermarket"},name:"denn's Biomarkt",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/fakta":{tags:{name:"fakta",shop:"supermarket"},name:"fakta",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/real":{tags:{name:"real",shop:"supermarket"},name:"real",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/tegut":{tags:{name:"tegut",shop:"supermarket"},name:"tegut",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Şok":{tags:{name:"Şok",shop:"supermarket"},name:"Şok",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/ΑΒ Βασιλόπουλος":{tags:{name:"ΑΒ Βασιλόπουλος",shop:"supermarket"},name:"ΑΒ Βασιλόπουλος",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Γαλαξίας":{tags:{name:"Γαλαξίας",shop:"supermarket"},name:"Γαλαξίας",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Μασούτης":{tags:{name:"Μασούτης",shop:"supermarket"},name:"Μασούτης",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Σκλαβενίτης":{tags:{name:"Σκλαβενίτης",shop:"supermarket"},name:"Σκλαβενίτης",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/АТБ":{tags:{name:"АТБ",shop:"supermarket"},name:"АТБ",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Абсолют":{tags:{name:"Абсолют",shop:"supermarket"},name:"Абсолют",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Азбука Вкуса":{tags:{name:"Азбука Вкуса",shop:"supermarket"},name:"Азбука Вкуса",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Атак":{tags:{name:"Атак",shop:"supermarket"},name:"Атак",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Ашан":{tags:{name:"Ашан",shop:"supermarket"},name:"Ашан",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Верный":{tags:{name:"Верный",shop:"supermarket"},name:"Верный",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Вопак":{tags:{name:"Вопак",shop:"supermarket"},name:"Вопак",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Гроздь":{tags:{name:"Гроздь",shop:"supermarket"},name:"Гроздь",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Десяточка":{tags:{name:"Десяточка",shop:"supermarket"},name:"Десяточка",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Дикси":{tags:{name:"Дикси",shop:"supermarket"},name:"Дикси",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Евроопт":{tags:{name:"Евроопт",shop:"supermarket"},name:"Евроопт",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Карусель":{tags:{name:"Карусель",shop:"supermarket"},name:"Карусель",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Квартал":{tags:{name:"Квартал",shop:"supermarket"},name:"Квартал",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Командор":{tags:{name:"Командор",shop:"supermarket"},name:"Командор",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Красный Яр":{tags:{name:"Красный Яр",shop:"supermarket"},name:"Красный Яр",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Лента":{tags:{name:"Лента",shop:"supermarket"},name:"Лента",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Магнит":{tags:{name:"Магнит",shop:"supermarket"},name:"Магнит",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Магнолия":{tags:{name:"Магнолия",shop:"supermarket"},name:"Магнолия",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Монетка":{tags:{name:"Монетка",shop:"supermarket"},name:"Монетка",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Народная 7Я семьЯ":{tags:{name:"Народная 7Я семьЯ",shop:"supermarket"},name:"Народная 7Я семьЯ",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Перекресток":{tags:{name:"Перекресток",shop:"supermarket"},name:"Перекресток",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Покупочка":{tags:{name:"Покупочка",shop:"supermarket"},name:"Покупочка",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Полушка":{tags:{name:"Полушка",shop:"supermarket"},name:"Полушка",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Пятёрочка":{tags:{name:"Пятёрочка",shop:"supermarket"},name:"Пятёрочка",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Радеж":{tags:{name:"Радеж",shop:"supermarket"},name:"Радеж",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Рукавичка":{tags:{name:"Рукавичка",shop:"supermarket"},name:"Рукавичка",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Светофор":{tags:{name:"Светофор",shop:"supermarket"},name:"Светофор",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Седьмой континент":{tags:{name:"Седьмой континент",shop:"supermarket"},name:"Седьмой континент",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Семейный":{tags:{name:"Семейный",shop:"supermarket"},name:"Семейный",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Семья":{tags:{name:"Семья",shop:"supermarket"},name:"Семья",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Супермаркет":{tags:{name:"Супермаркет",shop:"supermarket"},name:"Супермаркет",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Сільпо":{tags:{name:"Сільпо",shop:"supermarket"},name:"Сільпо",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Таврія‑В":{tags:{name:"Таврія‑В",shop:"supermarket"},name:"Таврія‑В",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Фора":{tags:{name:"Фора",shop:"supermarket"},name:"Фора",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Фуршет":{tags:{name:"Фуршет",shop:"supermarket"},name:"Фуршет",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Хүнсний дэлгүүр":{tags:{name:"Хүнсний дэлгүүр",shop:"supermarket"},name:"Хүнсний дэлгүүр",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/Эдельвейс":{tags:{name:"Эдельвейс",shop:"supermarket"},name:"Эдельвейс",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/хүнсний дэлгүүр":{tags:{name:"хүнсний дэлгүүр",shop:"supermarket"},name:"хүнсний дэлгүүр",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/بقالة":{tags:{name:"بقالة",shop:"supermarket"},name:"بقالة",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/سوپر مارکت":{tags:{name:"سوپر مارکت",shop:"supermarket"},name:"سوپر مارکت",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/سوپرمارکت":{tags:{name:"سوپرمارکت",shop:"supermarket"},name:"سوپرمارکت",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/いなげや":{tags:{name:"いなげや",shop:"supermarket"},name:"いなげや",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/まいばすけっと":{tags:{name:"まいばすけっと",shop:"supermarket"},name:"まいばすけっと",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/イオン":{tags:{name:"イオン",shop:"supermarket"},name:"イオン",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/イトーヨーカドー":{tags:{name:"イトーヨーカドー",shop:"supermarket"},name:"イトーヨーカドー",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/カスミ":{tags:{name:"カスミ",shop:"supermarket"},name:"カスミ",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/マックスバリュ":{tags:{name:"マックスバリュ",shop:"supermarket"},name:"マックスバリュ",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/マルエツ":{tags:{name:"マルエツ",shop:"supermarket"},name:"マルエツ",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/ライフ":{tags:{name:"ライフ",shop:"supermarket"},name:"ライフ",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/全聯":{tags:{name:"全聯",shop:"supermarket"},name:"全聯",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/全聯福利中心":{tags:{name:"全聯福利中心",shop:"supermarket"},name:"全聯福利中心",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/惠康 Wellcome":{tags:{name:"惠康 Wellcome",shop:"supermarket"},name:"惠康 Wellcome",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/業務スーパー":{tags:{name:"業務スーパー",shop:"supermarket"},name:"業務スーパー",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/美廉社":{tags:{name:"美廉社",shop:"supermarket"},name:"美廉社",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/supermarket/西友":{tags:{name:"西友",shop:"supermarket"},name:"西友",icon:"maki-grocery",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tailor/Atelier de couture":{tags:{name:"Atelier de couture",shop:"tailor"},name:"Atelier de couture",icon:"maki-clothing-store",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/ticket/Boutique Grandes Lignes":{tags:{name:"Boutique Grandes Lignes",shop:"ticket"},name:"Boutique Grandes Lignes",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/ticket/Guichet Transilien":{tags:{name:"Guichet Transilien",shop:"ticket"},name:"Guichet Transilien",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/ticket/Касса":{tags:{name:"Касса",shop:"ticket"},name:"Касса",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/ticket/Проездные билеты":{tags:{name:"Проездные билеты",shop:"ticket"},name:"Проездные билеты",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tobacco/Dohánybolt":{tags:{name:"Dohánybolt",shop:"tobacco"},name:"Dohánybolt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tobacco/Estanco":{tags:{name:"Estanco",shop:"tobacco"},name:"Estanco",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tobacco/Nemzeti Dohánybolt":{tags:{name:"Nemzeti Dohánybolt",shop:"tobacco"},name:"Nemzeti Dohánybolt",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tobacco/Tabacos":{tags:{name:"Tabacos",shop:"tobacco"},name:"Tabacos",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tobacco/Табакерка":{tags:{name:"Табакерка",shop:"tobacco"},name:"Табакерка",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/toys/Dráčik":{tags:{name:"Dráčik",shop:"toys"},name:"Dráčik",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/toys/Intertoys":{tags:{name:"Intertoys",shop:"toys"},name:"Intertoys",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/toys/King Jouet":{tags:{name:"King Jouet",shop:"toys"},name:"King Jouet",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/toys/La Grande Récré":{tags:{name:"La Grande Récré",shop:"toys"},name:"La Grande Récré",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/toys/Maxi Toys":{tags:{name:"Maxi Toys",shop:"toys"},name:"Maxi Toys",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/toys/Toys R Us":{tags:{name:"Toys R Us",shop:"toys"},name:"Toys R Us",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/toys/Детский мир":{tags:{name:"Детский мир",shop:"toys"},name:"Детский мир",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/toys/Игрушки":{tags:{name:"Игрушки",shop:"toys"},name:"Игрушки",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/D-reizen":{tags:{name:"D-reizen",shop:"travel_agency"},name:"D-reizen",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/DER Reisebüro":{tags:{name:"DER Reisebüro",shop:"travel_agency"},name:"DER Reisebüro",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/First Reisebüro":{tags:{name:"First Reisebüro",shop:"travel_agency"},name:"First Reisebüro",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/Flight Centre":{tags:{name:"Flight Centre",shop:"travel_agency"},name:"Flight Centre",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/Reiseland":{tags:{name:"Reiseland",shop:"travel_agency"},name:"Reiseland",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/TUI":{tags:{name:"TUI",shop:"travel_agency"},name:"TUI",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/The Co-operative Travel":{tags:{name:"The Co-operative Travel",shop:"travel_agency"},name:"The Co-operative Travel",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/Thomas Cook":{tags:{name:"Thomas Cook",shop:"travel_agency"},name:"Thomas Cook",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/travel_agency/Thomson":{tags:{name:"Thomson",shop:"travel_agency"},name:"Thomson",icon:"maki-suitcase",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tyres/Borracharia":{tags:{name:"Borracharia",shop:"tyres"},name:"Borracharia",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tyres/Bridgestone":{tags:{name:"Bridgestone",shop:"tyres"},name:"Bridgestone",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tyres/Discount Tire":{tags:{name:"Discount Tire",shop:"tyres"},name:"Discount Tire",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tyres/Les Schwab Tire Center":{tags:{name:"Les Schwab Tire Center",shop:"tyres"},name:"Les Schwab Tire Center",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tyres/Vianor":{tags:{name:"Vianor",shop:"tyres"},name:"Vianor",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/tyres/Вулканизация":{tags:{name:"Вулканизация",shop:"tyres"},name:"Вулканизация",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Action":{tags:{name:"Action",shop:"variety_store"},name:"Action",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Bazar":{tags:{name:"Bazar",shop:"variety_store"},name:"Bazar",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Big Bazar":{tags:{name:"Big Bazar",shop:"variety_store"},name:"Big Bazar",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Dollar Tree":{tags:{name:"Dollar Tree",shop:"variety_store"},name:"Dollar Tree",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Dollarama":{tags:{name:"Dollarama",shop:"variety_store"},name:"Dollarama",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/EuroShop":{tags:{name:"EuroShop",shop:"variety_store"},name:"EuroShop",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Family Dollar":{tags:{name:"Family Dollar",shop:"variety_store"},name:"Family Dollar",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Fix Price":{tags:{name:"Fix Price",shop:"variety_store"},name:"Fix Price",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Fix price":{tags:{name:"Fix price",shop:"variety_store"},name:"Fix price",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/FixPrice":{tags:{name:"FixPrice",shop:"variety_store"},name:"FixPrice",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/GiFi":{tags:{name:"GiFi",shop:"variety_store"},name:"GiFi",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Home Bargains":{tags:{name:"Home Bargains",shop:"variety_store"},name:"Home Bargains",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Mäc-Geiz":{tags:{name:"Mäc-Geiz",shop:"variety_store"},name:"Mäc-Geiz",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/NOZ":{tags:{name:"NOZ",shop:"variety_store"},name:"NOZ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Poundland":{tags:{name:"Poundland",shop:"variety_store"},name:"Poundland",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Poundworld":{tags:{name:"Poundworld",shop:"variety_store"},name:"Poundworld",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/Tedi":{tags:{name:"Tedi",shop:"variety_store"},name:"Tedi",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/variety_store/ダイソー":{tags:{name:"ダイソー",shop:"variety_store"},name:"ダイソー",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video/Blockbuster":{tags:{name:"Blockbuster",shop:"video"},name:"Blockbuster",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video/Family Video":{tags:{name:"Family Video",shop:"video"},name:"Family Video",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video/TSUTAYA":{tags:{name:"TSUTAYA",shop:"video"},name:"TSUTAYA",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video/World of Video":{tags:{name:"World of Video",shop:"video"},name:"World of Video",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video/ゲオ":{tags:{name:"ゲオ",shop:"video"},name:"ゲオ",icon:"maki-shop",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video_games/EB Games":{tags:{name:"EB Games",shop:"video_games"},name:"EB Games",icon:"maki-gaming",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video_games/Game":{tags:{name:"Game",shop:"video_games"},name:"Game",icon:"maki-gaming",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video_games/GameStop":{tags:{name:"GameStop",shop:"video_games"},name:"GameStop",icon:"maki-gaming",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"shop/video_games/Micromania":{tags:{name:"Micromania",shop:"video_games"},name:"Micromania",icon:"maki-gaming",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours","payment_multi"],suggestion:true},"tourism/alpine_hut/КОШ":{tags:{name:"КОШ",tourism:"alpine_hut"},name:"КОШ",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/apartment/Двухкомнатная квартира на сутки":{tags:{name:"Двухкомнатная квартира на сутки",tourism:"apartment"},name:"Двухкомнатная квартира на сутки",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/attraction/Arch":{tags:{name:"Arch",tourism:"attraction"},name:"Arch",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Kursächsische Postmeilensäule":{tags:{name:"Kursächsische Postmeilensäule",tourism:"attraction"},name:"Kursächsische Postmeilensäule",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Maibaum":{tags:{name:"Maibaum",tourism:"attraction"},name:"Maibaum",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Moab trail":{tags:{name:"Moab trail",tourism:"attraction"},name:"Moab trail",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Moai":{tags:{name:"Moai",tourism:"attraction"},name:"Moai",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/OWŚ":{tags:{name:"OWŚ",tourism:"attraction"},name:"OWŚ",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Sommerrodelbahn":{tags:{name:"Sommerrodelbahn",tourism:"attraction"},name:"Sommerrodelbahn",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/path contiunes":{tags:{name:"path contiunes",tourism:"attraction"},name:"path contiunes",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/white blaze":{tags:{name:"white blaze",tourism:"attraction"},name:"white blaze",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Кладбище еврейское":{tags:{name:"Кладбище еврейское",tourism:"attraction"},name:"Кладбище еврейское",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Колесо обозрения":{tags:{name:"Колесо обозрения",tourism:"attraction"},name:"Колесо обозрения",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Приусадебный парк":{tags:{name:"Приусадебный парк",tourism:"attraction"},name:"Приусадебный парк",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Усадьба":{tags:{name:"Усадьба",tourism:"attraction"},name:"Усадьба",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Хозяйственный двор":{tags:{name:"Хозяйственный двор",tourism:"attraction"},name:"Хозяйственный двор",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/Часовня":{tags:{name:"Часовня",tourism:"attraction"},name:"Часовня",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/attraction/дольмен":{tags:{name:"дольмен",tourism:"attraction"},name:"дольмен",icon:"maki-star",geometry:["point","vertex","area"],fields:["name","operator","address"],suggestion:true},"tourism/camp_site/Camping Municipal":{tags:{name:"Camping Municipal",tourism:"camp_site"},name:"Camping Municipal",icon:"maki-campsite",geometry:["point","vertex","area"],fields:["name","operator","address","capacity","fee","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/camp_site/Camping municipal":{tags:{name:"Camping municipal",tourism:"camp_site"},name:"Camping municipal",icon:"maki-campsite",geometry:["point","vertex","area"],fields:["name","operator","address","capacity","fee","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/guest_house/Home":{tags:{name:"Home",tourism:"guest_house"},name:"Home",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/guest_house/OW Bielanka":{tags:{name:"OW Bielanka",tourism:"guest_house"},name:"OW Bielanka",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hostel/Albergue de Peregrinos":{tags:{name:"Albergue de Peregrinos",tourism:"hostel"},name:"Albergue de Peregrinos",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hostel/Hospedaje":{tags:{name:"Hospedaje",tourism:"hostel"},name:"Hospedaje",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hostel/Hostal":{tags:{name:"Hostal",tourism:"hostel"},name:"Hostal",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/B&B Hôtel":{tags:{name:"B&B Hôtel",tourism:"hotel"},name:"B&B Hôtel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/B&b Hôtel":{tags:{name:"B&b Hôtel",tourism:"hotel"},name:"B&b Hôtel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Best Western":{tags:{name:"Best Western",tourism:"hotel"},name:"Best Western",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Campanile":{tags:{name:"Campanile",tourism:"hotel"},name:"Campanile",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Central Hotel":{tags:{name:"Central Hotel",tourism:"hotel"},name:"Central Hotel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/City Hotel":{tags:{name:"City Hotel",tourism:"hotel"},name:"City Hotel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Comfort Inn":{tags:{name:"Comfort Inn",tourism:"hotel"},name:"Comfort Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Comfort Inn & Suites":{tags:{name:"Comfort Inn & Suites",tourism:"hotel"},name:"Comfort Inn & Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Comfort Suites":{tags:{name:"Comfort Suites",tourism:"hotel"},name:"Comfort Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Country Inn & Suites":{tags:{name:"Country Inn & Suites",tourism:"hotel"},name:"Country Inn & Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Courtyard by Marriott":{tags:{name:"Courtyard by Marriott",tourism:"hotel"},name:"Courtyard by Marriott",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Crowne Plaza":{tags:{name:"Crowne Plaza",tourism:"hotel"},name:"Crowne Plaza",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Days Inn":{tags:{name:"Days Inn",tourism:"hotel"},name:"Days Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Embassy Suites":{tags:{name:"Embassy Suites",tourism:"hotel"},name:"Embassy Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Extended Stay America":{tags:{name:"Extended Stay America",tourism:"hotel"},name:"Extended Stay America",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Fairfield Inn":{tags:{name:"Fairfield Inn",tourism:"hotel"},name:"Fairfield Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Fairfield Inn & Suites":{tags:{name:"Fairfield Inn & Suites",tourism:"hotel"},name:"Fairfield Inn & Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Formule 1":{tags:{name:"Formule 1",tourism:"hotel"},name:"Formule 1",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Grand Hotel":{tags:{name:"Grand Hotel",tourism:"hotel"},name:"Grand Hotel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hampton Inn":{tags:{name:"Hampton Inn",tourism:"hotel"},name:"Hampton Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hampton Inn & Suites":{tags:{name:"Hampton Inn & Suites",tourism:"hotel"},name:"Hampton Inn & Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hilton Garden Inn":{tags:{name:"Hilton Garden Inn",tourism:"hotel"},name:"Hilton Garden Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Holiday Inn":{tags:{name:"Holiday Inn",tourism:"hotel"},name:"Holiday Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Holiday Inn Express":{tags:{name:"Holiday Inn Express",tourism:"hotel"},name:"Holiday Inn Express",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Holiday Inn Express & Suites":{tags:{name:"Holiday Inn Express & Suites",tourism:"hotel"},name:"Holiday Inn Express & Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Homewood Suites":{tags:{name:"Homewood Suites",tourism:"hotel"},name:"Homewood Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Central":{tags:{name:"Hotel Central",tourism:"hotel"},name:"Hotel Central",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Europa":{tags:{name:"Hotel Europa",tourism:"hotel"},name:"Hotel Europa",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Ibis":{tags:{name:"Hotel Ibis",tourism:"hotel"},name:"Hotel Ibis",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Krone":{tags:{name:"Hotel Krone",tourism:"hotel"},name:"Hotel Krone",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Panorama":{tags:{name:"Hotel Panorama",tourism:"hotel"},name:"Hotel Panorama",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Plaza":{tags:{name:"Hotel Plaza",tourism:"hotel"},name:"Hotel Plaza",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Post":{tags:{name:"Hotel Post",tourism:"hotel"},name:"Hotel Post",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Royal":{tags:{name:"Hotel Royal",tourism:"hotel"},name:"Hotel Royal",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel Victoria":{tags:{name:"Hotel Victoria",tourism:"hotel"},name:"Hotel Victoria",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hotel zur Post":{tags:{name:"Hotel zur Post",tourism:"hotel"},name:"Hotel zur Post",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hôtel Ibis":{tags:{name:"Hôtel Ibis",tourism:"hotel"},name:"Hôtel Ibis",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Hôtel de France":{tags:{name:"Hôtel de France",tourism:"hotel"},name:"Hôtel de France",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Ibis":{tags:{name:"Ibis",tourism:"hotel"},name:"Ibis",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Ibis Budget":{tags:{name:"Ibis Budget",tourism:"hotel"},name:"Ibis Budget",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Ibis Styles":{tags:{name:"Ibis Styles",tourism:"hotel"},name:"Ibis Styles",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Kyriad":{tags:{name:"Kyriad",tourism:"hotel"},name:"Kyriad",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/La Quinta":{tags:{name:"La Quinta",tourism:"hotel"},name:"La Quinta",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Marriott":{tags:{name:"Marriott",tourism:"hotel"},name:"Marriott",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Mercure":{tags:{name:"Mercure",tourism:"hotel"},name:"Mercure",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Novotel":{tags:{name:"Novotel",tourism:"hotel"},name:"Novotel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Palace Hotel":{tags:{name:"Palace Hotel",tourism:"hotel"},name:"Palace Hotel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Park Hotel":{tags:{name:"Park Hotel",tourism:"hotel"},name:"Park Hotel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Parkhotel":{tags:{name:"Parkhotel",tourism:"hotel"},name:"Parkhotel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Premier Inn":{tags:{name:"Premier Inn",tourism:"hotel"},name:"Premier Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Première Classe":{tags:{name:"Première Classe",tourism:"hotel"},name:"Première Classe",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Quality Inn":{tags:{name:"Quality Inn",tourism:"hotel"},name:"Quality Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Quality Inn & Suites":{tags:{name:"Quality Inn & Suites",tourism:"hotel"},name:"Quality Inn & Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Ramada":{tags:{name:"Ramada",tourism:"hotel"},name:"Ramada",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Residence Inn":{tags:{name:"Residence Inn",tourism:"hotel"},name:"Residence Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Royal Hotel":{tags:{name:"Royal Hotel",tourism:"hotel"},name:"Royal Hotel",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Sheraton":{tags:{name:"Sheraton",tourism:"hotel"},name:"Sheraton",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Sleep Inn":{tags:{name:"Sleep Inn",tourism:"hotel"},name:"Sleep Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Staybridge Suites":{tags:{name:"Staybridge Suites",tourism:"hotel"},name:"Staybridge Suites",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Super 8":{tags:{name:"Super 8",tourism:"hotel"},name:"Super 8",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Travelodge":{tags:{name:"Travelodge",tourism:"hotel"},name:"Travelodge",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/Гостиница":{tags:{name:"Гостиница",tourism:"hotel"},name:"Гостиница",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/hotel/東横イン":{tags:{name:"東横イン",tourism:"hotel"},name:"東横イン",icon:"maki-lodging",geometry:["point","area"],fields:["name","brand","operator","address","building_area","smoking","stars","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/motel/Budget Inn":{tags:{name:"Budget Inn",tourism:"motel"},name:"Budget Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/motel/Econo Lodge":{tags:{name:"Econo Lodge",tourism:"motel"},name:"Econo Lodge",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/motel/Motel 6":{tags:{name:"Motel 6",tourism:"motel"},name:"Motel 6",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/motel/Rodeway Inn":{tags:{name:"Rodeway Inn",tourism:"motel"},name:"Rodeway Inn",icon:"maki-lodging",geometry:["point","area"],fields:["name","operator","address","building_area","smoking","rooms","internet_access","internet_access/fee","internet_access/ssid"],suggestion:true},"tourism/museum/Heimatmuseum":{tags:{name:"Heimatmuseum",tourism:"museum"},name:"Heimatmuseum",icon:"maki-museum",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours"],suggestion:true},"tourism/museum/Stadtmuseum":{tags:{name:"Stadtmuseum",tourism:"museum"},name:"Stadtmuseum",icon:"maki-museum",geometry:["point","area"],fields:["name","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:"maki-museum",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours"],suggestion:true},"tourism/museum/Краеведческий музей":{tags:{name:"Краеведческий музей",tourism:"museum"},name:"Краеведческий музей",icon:"maki-museum",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours"],suggestion:true},"tourism/museum/Музей":{tags:{name:"Музей",tourism:"museum"},name:"Музей",icon:"maki-museum",geometry:["point","area"],fields:["name","operator","address","building_area","opening_hours"],suggestion:true}}; + + var defaults = {area:["category-landuse","category-building","category-water-area","category-natural-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","category-natural-line","power/line","line"],point:["category-natural-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/turning_loop","traffic_calming","highway/mini_roundabout","highway/motorway_junction","vertex"],relation:["category-route","category-restriction","public_transport/stop_area","type/boundary","type/waterway","type/multipolygon","type/site","relation"]}; + + var categories = {"category-barrier":{icon:"maki-roadblock",geometry:"line",name:"Barrier Features",members:["barrier/fence","barrier/wall","barrier/ditch","barrier/gate","barrier/hedge","barrier/kerb","barrier"]},"category-building":{icon:"maki-building",geometry:"area",name:"Building Features",members:["building","building/house","building/apartments","building/retail","building/commercial","building/industrial","building/residential"]},"category-golf":{icon:"maki-golf",geometry:"area",name:"Golf Features",members:["golf/fairway","golf/green","golf/lateral_water_hazard_area","golf/rough","golf/bunker","golf/tee","golf/water_hazard_area"]},"category-landuse":{icon:"maki-landuse",geometry:"area",name:"Land Use Features",members:["landuse/residential","landuse/industrial","landuse/commercial","landuse/retail","landuse/farmland","landuse/farmyard","landuse/forest","landuse/meadow","landuse/aquaculture","landuse/cemetery","landuse/military","landuse/religious"]},"category-natural-area":{icon:"maki-natural",geometry:"area",name:"Natural Features",members:["natural/water","natural/wood","natural/scrub","natural/wetland","natural/grassland","natural/heath","natural/bare_rock","natural/beach","natural/cave_entrance","natural/glacier"]},"category-natural-line":{icon:"maki-natural",geometry:"line",name:"Natural Features",members:["natural/coastline","natural/tree_row"]},"category-natural-point":{icon:"maki-natural",geometry:"point",name:"Natural Features",members:["natural/peak","natural/cliff","natural/beach","natural/cave_entrance"]},"category-path":{icon:"iD-category-path",geometry:"line",name:"Path Features",members:["footway/crosswalk","footway/sidewalk","highway/steps","highway/path","highway/footway","highway/cycleway","highway/bridleway","highway/pedestrian_line"]},"category-rail":{icon:"iD-category-rail",geometry:"line",name:"Rail Features",members:["railway/rail","railway/subway","railway/tram","railway/monorail","railway/disused","railway/abandoned"]},"category-restriction":{icon:"iD-restriction",geometry:"relation",name:"Restriction Features",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/only_u_turn","type/restriction"]},"category-road":{icon:"iD-category-roads",geometry:"line",name:"Road Features",members:["highway/residential","highway/motorway","highway/trunk","highway/primary","highway/secondary","highway/tertiary","highway/living_street","highway/unclassified","highway/service","highway/track","highway/motorway_link","highway/trunk_link","highway/primary_link","highway/secondary_link","highway/tertiary_link","highway/road"]},"category-route":{icon:"iD-route",geometry:"relation",name:"Route Features",members:["type/route/road","type/route/bicycle","type/route/foot","type/route/hiking","type/route/horse","type/route/piste","type/route/bus","type/route/train","type/route/light_rail","type/route/tram","type/route/subway","type/route/ferry","type/route/power","type/route/pipeline","type/route/detour","type/route_master","type/route"]},"category-water-area":{icon:"maki-water",geometry:"area",name:"Water Features",members:["natural/water/lake","natural/water/pond","natural/water/reservoir","natural/water"]},"category-water-line":{icon:"iD-category-water",geometry:"line",name:"Water Features",members:["waterway/river","waterway/stream","waterway/canal","waterway/ditch","waterway/drain"]}}; + + var fields = {access_simple:{key:"access",type:"combo",label:"Allowed Access",options:["yes","permissive","private","customers","no"]},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"}}}},address:{type:"address",keys:["addr:block_number","addr:city","addr:block_number","addr:conscriptionnumber","addr:county","addr:country","addr:county","addr:district","addr:floor","addr:hamlet","addr:housename","addr:housenumber","addr:neighbourhood","addr:place","addr:postcode","addr:province","addr:quarter","addr:state","addr:street","addr:subdistrict","addr:suburb","addr:unit"],reference:{key:"addr"},icon:"address",universal:true,label:"Address",strings:{placeholders:{block_number:"Block Number","block_number!jp":"Block No.",city:"City","city!jp":"City/Town/Village/Tokyo Special Ward","city!vn":"City/Town",conscriptionnumber:"123",country:"Country",county:"County","county!jp":"District",district:"District","district!vn":"Arrondissement/Town/District",floor:"Floor",hamlet:"Hamlet",housename:"Housename",housenumber:"123","housenumber!jp":"Building No./Lot No.",neighbourhood:"Neighbourhood","neighbourhood!jp":"Chōme/Aza/Koaza",place:"Place",postcode:"Postcode",province:"Province","province!jp":"Prefecture",quarter:"Quarter","quarter!jp":"Ōaza/Machi",state:"State",street:"Street",subdistrict:"Subdistrict","subdistrict!vn":"Ward/Commune/Townlet",suburb:"Suburb","suburb!jp":"Ward",unit:"Unit"}}},admin_level:{key:"admin_level",type:"number",minValue:1,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",minValue:0,label:"Capacity (per hour)",placeholder:"500, 2500, 5000..."},"aerialway/duration":{key:"aerialway:duration",type:"number",minValue:0,label:"Duration (minutes)",placeholder:"1, 2, 3..."},"aerialway/heating":{key:"aerialway:heating",type:"check",label:"Heated"},"aerialway/occupancy":{key:"aerialway:occupancy",type:"number",minValue:0,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"},agrarian:{key:"agrarian",type:"semiCombo",label:"Products"},amenity:{key:"amenity",type:"typeCombo",label:"Type"},animal_boarding:{key:"animal_boarding",type:"semiCombo",label:"For Animals"},animal_breeding:{key:"animal_breeding",type:"semiCombo",label:"For Animals"},animal_shelter:{key:"animal_shelter",type:"semiCombo",label:"For Animals"},"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"},"bath/open_air":{key:"bath:open_air",label:"Open Air",type:"check"},"bath/sand_bath":{key:"bath:sand_bath",label:"Sand Bath",type:"check"},"bath/type":{key:"bath:type",type:"combo",label:"Specialty",strings:{options:{onsen:"Japanese Onsen",foot_bath:"Foot Bath",hot_spring:"Hot Spring"}}},beauty:{key:"beauty",type:"combo",label:"Shop 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"},blood_components:{key:"blood:",type:"multiCombo",label:"Blood Components",strings:{options:{whole:"whole blood",plasma:"plasma",platelets:"platelets",stemcells:"stem cell samples"}}},board_type:{key:"board_type",type:"typeCombo",label:"Type"},boules:{key:"boules",type:"typeCombo",label:"Type"},boundary:{key:"boundary",type:"combo",label:"Type"},brand:{key:"brand",type:"text",label:"Brand"},brewery:{key:"brewery",type:"semiCombo",label:"Draft Beers"},bridge:{key:"bridge",type:"typeCombo",label:"Type",placeholder:"Default"},building_area:{key:"building",type:"combo","default":"yes",geometry:"area",label:"Building"},building:{key:"building",type:"combo",label:"Building"},bunker_type:{key:"bunker_type",type:"combo",label:"Type"},cables:{key:"cables",type:"number",minValue:1,label:"Cables",placeholder:"1, 2, 3..."},"camera/direction":{key:"camera:direction",type:"number",label:"Direction (Degrees Clockwise)",placeholder:"45, 90, 180, 270"},"camera/mount":{key:"camera:mount",type:"combo",label:"Camera Mount"},"camera/type":{key:"camera:type",type:"combo",label:"Camera Type",strings:{options:{fixed:"Fixed",panning:"Panning",dome:"Dome"}}},capacity:{key:"capacity",type:"number",minValue:0,label:"Capacity",placeholder:"50, 100, 200..."},castle_type:{key:"castle_type",type:"combo",label:"Type"},clothes:{key:"clothes",type:"semiCombo",label:"Clothes"},club:{key:"club",type:"typeCombo",label:"Type"},collection_times:{key:"collection_times",type:"text",label:"Collection Times"},comment:{key:"comment",type:"textarea",label:"Changeset Comment",placeholder:"Brief description of your contributions (required)"},communication_multi:{key:"communication:",type:"multiCombo",label:"Communication Types"},construction:{key:"construction",type:"combo",label:"Type"},"contact/webcam":{key:"contact:webcam",type:"url",icon:"website",label:"Webcam URL",placeholder:"http://example.com/"},content:{key:"content",type:"combo",label:"Content"},country:{key:"country",type:"combo",label:"Country"},covered:{key:"covered",type:"check",label:"Covered"},craft:{key:"craft",type:"typeCombo",label:"Type"},"crane/type":{key:"crane:type",type:"combo",label:"Crane Type",strings:{options:{portal_crane:"Portal Crane","floor-mounted_crane":"Floor-mounted Crane",travel_lift:"Travel Lift"}}},crop:{key:"crop",type:"semiCombo",label:"Crops"},crossing:{key:"crossing",type:"combo",label:"Type"},cuisine:{key:"cuisine",type:"semiCombo",label:"Cuisines"},currency_multi:{key:"currency:",type:"multiCombo",label:"Currency Types"},cutting:{key:"cutting",type:"typeCombo",label:"Type",placeholder:"Default"},cycle_network:{key:"cycle_network",type:"networkCombo",label:"Network"},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"}}}},"dance/style":{key:"dance:style",type:"semiCombo",label:"Dance Styles"},date:{key:"date",type:"check",label:"Date"},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},devices:{key:"devices",type:"number",minValue:0,label:"Devices",placeholder:"1, 2, 3..."},diaper:{key:"diaper",type:"combo",label:"Diaper Changing Available",options:["yes","no","room","1","2","3","4","5"]},direction_cardinal:{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"}}},direction_clock:{key:"direction",type:"combo",label:"Direction",strings:{options:{clockwise:"Clockwise",anticlockwise:"Counterclockwise"}}},direction_vertex:{key:"direction",type:"combo",label:"Direction",strings:{options:{forward:"Forward",backward:"Backward",both:"Both / All"}}},direction:{key:"direction",type:"number",label:"Direction (Degrees Clockwise)",placeholder:"45, 90, 180, 270"},dispensing:{key:"dispensing",type:"check",label:"Dispenses Prescriptions","default":"yes"},display:{key:"display",type:"combo",label:"Display",options:["analog","digital","sundial","unorthodox"]},distance:{key:"distance",type:"text",label:"Total Distance"},dock:{key:"dock",type:"combo",label:"Type"},drive_through:{key:"drive_through",type:"check",label:"Drive-Through"},duration:{key:"duration",type:"text",label:"Duration",placeholder:"00:00"},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"},email:{key:"email",type:"email",placeholder:"example@example.com",universal:true,label:"Email"},embankment:{key:"embankment",type:"typeCombo",label:"Type",placeholder:"Default"},emergency:{key:"emergency",type:"check",label:"Emergency"},entrance:{key:"entrance",type:"typeCombo",label:"Type"},except:{key:"except",type:"combo",label:"Exceptions"},faces:{key:"faces",type:"number",minValue:0,label:"Faces"},fax:{key:"fax",type:"tel",label:"Fax",universal:true,placeholder:"+31 42 123 4567"},fee:{key:"fee",type:"check",label:"Fee"},fence_type:{key:"fence_type",type:"combo",label:"Type"},"fire_hydrant/position":{key:"fire_hydrant:position",type:"combo",label:"Position",strings:{options:{lane:"Lane",parking_lot:"Parking Lot",sidewalk:"Sidewalk",green:"Green"}}},"fire_hydrant/type":{key:"fire_hydrant:type",type:"combo",label:"Type",strings:{options:{pillar:"Pillar/Aboveground",underground:"Underground",wall:"Wall",pond:"Pond"}}},fitness_station:{key:"fitness_station",type:"typeCombo",label:"Equipment Type"},fixme:{key:"fixme",type:"textarea",label:"Fix Me",universal:true},ford:{key:"ford",type:"typeCombo",label:"Type",placeholder:"Default"},frequency:{key:"frequency",type:"combo",label:"Operating Frequency"},fuel_multi:{key:"fuel:",type:"multiCombo",label:"Fuel Types"},fuel:{key:"fuel",type:"combo",label:"Fuel"},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/output/electricity":{key:"generator:output:electricity",type:"text",label:"Power Output",placeholder:"50 MW, 100 MW, 200 MW..."},"generator/source":{key:"generator:source",type:"combo",label:"Source"},"generator/type":{key:"generator:type",type:"combo",label:"Type"},government:{key:"government",type:"typeCombo",label:"Type"},grape_variety:{key:"grape_variety",type:"semiCombo",label:"Grape Varieties"},handicap:{key:"handicap",type:"number",label:"Handicap",placeholder:"1-18"},handrail:{key:"handrail",type:"check",label:"Handrail"},hashtags:{key:"hashtags",type:"semiCombo",label:"Suggested Hashtags",placeholder:"#example"},healthcare:{key:"healthcare",type:"typeCombo",label:"Type"},"healthcare/speciality":{key:"healthcare:speciality",type:"semiCombo",reference:{key:"healthcare"},label:"Specialties"},height:{key:"height",minValue:0,type:"number",label:"Height (Meters)"},highway:{key:"highway",type:"typeCombo",label:"Type"},historic:{key:"historic",type:"typeCombo",label:"Type"},"historic/civilization":{key:"historic:civilization",type:"combo",label:"Historic Civilization"},hoops:{key:"hoops",type:"number",minValue:0,label:"Hoops",placeholder:"1, 2, 4..."},horse_dressage:{key:"sport",type:"check",label:"Dressage Riding",strings:{options:{"undefined":"No",equestrian:"Yes"}},reference:{key:"sport",value:"equestrian"}},horse_riding:{key:"leisure",type:"check",label:"Horseback Riding",strings:{options:{"undefined":"No",horse_riding:"Yes"}},reference:{key:"leisure",value:"horse_riding"}},horse_scale:{key:"horse_scale",type:"combo",label:"Horseback Riding Difficulty",placeholder:"Difficult, Dangerous...",strings:{options:{common:"Easy: No problems or difficulties. (default)",demanding:"Use with caution: Uneven way, occasional difficult passages.",difficult:"Difficult: Way narrow and exposed. May contain obstacles to step over and narrow passages.",critical:"Borderline: Passable only for experienced riders and horses. Major obstacles. Bridges should be examined carefully.",dangerous:"Dangerous: Passable only for very experienced riders and horses and only in good weather. Dismount.",impossible:"Impassable: Way or bridge not passable for horses. Too narrow, insuffient support, obstacles like ladders. Danger of life."}}},horse_stables:{key:"amenity",type:"check",label:"Riding Stable",strings:{options:{"undefined":"No",stables:"Yes"}},reference:{key:"amenity",value:"stables"}},iata:{key:"iata",type:"text",label:"IATA"},icao:{key:"icao",type:"text",label:"ICAO"},incline_steps:{key:"incline",type:"combo",label:"Incline",strings:{options:{up:"Up",down:"Down"}}},incline:{key:"incline",type:"combo",label:"Incline"},indoor:{key:"indoor",type:"check",label:"Indoor"},industrial:{key:"industrial",type:"combo",label:"Type"},information:{key:"information",type:"typeCombo",label:"Type"},inscription:{key:"inscription",type:"textarea",label:"Inscription"},intermittent:{key:"intermittent",type:"check",label:"Intermittent"},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"},"internet_access/ssid":{key:"internet_access:ssid",type:"text",label:"SSID (Network Name)"},kerb:{key:"kerb",type:"combo",label:"Curb"},label:{key:"label",type:"textarea",label:"Label"},lamp_type:{key:"lamp_type",type:"combo",label:"Type"},landuse:{key:"landuse",type:"typeCombo",label:"Type"},lanes:{key:"lanes",type:"number",minValue:0,label:"Lanes",placeholder:"1, 2, 3..."},layer:{key:"layer",type:"number",label:"Layer",placeholder:"0"},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_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_type_singular:{key:"leaf_type",type:"combo",label:"Leaf Type",strings:{options:{broadleaved:"Broadleaved",needleleaved:"Needleleaved",leafless:"Leafless"}}},leaf_type:{key:"leaf_type",type:"combo",label:"Leaf Type",strings:{options:{broadleaved:"Broadleaved",needleleaved:"Needleleaved",mixed:"Mixed",leafless:"Leafless"}}},leisure:{key:"leisure",type:"typeCombo",label:"Type"},length:{key:"length",type:"number",minValue:0,label:"Length (Meters)"},level:{key:"level",type:"combo",label:"Level",universal:true},levels:{key:"building:levels",type:"number",minValue:0,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"},manhole:{key:"manhole",type:"typeCombo",label:"Type"},map_size:{key:"map_size",type:"typeCombo",label:"Coverage"},map_type:{key:"map_type",type:"typeCombo",label:"Type"},maxheight:{key:"maxheight",type:"combo",label:"Max Height",placeholder:"4, 4.5, 5, 14'0\", 14'6\", 15'0\"",snake_case:false},maxspeed:{key:"maxspeed",type:"maxspeed",label:"Speed Limit",placeholder:"40, 50, 60..."},"maxspeed/advisory":{key:"maxspeed:advisory",type:"maxspeed",label:"Advisory 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},maxweight:{key:"maxweight",type:"combo",label:"Max Weight",snake_case:false},memorial:{key:"memorial",type:"typeCombo",label:"Type"},monitoring_multi:{key:"monitoring:",type:"multiCombo",label:"Monitoring"},"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",universal:true,placeholder:"Common name (if any)"},natural:{key:"natural",type:"typeCombo",label:"Natural"},network_bicycle:{key:"network",type:"combo",label:"Network Type",placeholder:"Local, Regional, National, International",strings:{options:{lcn:"Local",rcn:"Regional",ncn:"National",icn:"International"}}},network_foot:{key:"network",type:"combo",label:"Network Type",placeholder:"Local, Regional, National, International",strings:{options:{lwn:"Local",rwn:"Regional",nwn:"National",iwn:"International"}}},network_horse:{key:"network",type:"combo",label:"Network Type",placeholder:"Local, Regional, National, International",strings:{options:{lhn:"Local",rhn:"Regional",nhn:"National",ihn:"International"}}},network_road:{key:"network",type:"networkCombo",label:"Network"},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_yes:{key:"oneway",type:"onewayCheck",label:"One Way",strings:{options:{"undefined":"Assumed to be Yes",yes:"Yes",no:"No",reversible:"Reversible",alternating:"Alternating"}}},oneway:{key:"oneway",type:"onewayCheck",label:"One Way",strings:{options:{"undefined":"Assumed to be No",yes:"Yes",no:"No",reversible:"Reversible",alternating:"Alternating"}}},opening_hours:{key:"opening_hours",type:"combo",label:"Hours",snake_case:false},operator:{key:"operator",type:"text",label:"Operator"},outdoor_seating:{key:"outdoor_seating",type:"check",label:"Outdoor Seating"},par:{key:"par",type:"number",minValue:1,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",universal:true},phases:{key:"phases",type:"number",minValue:1,label:"Phases",placeholder:"1, 2, 3..."},phone:{key:"phone",type:"tel",icon:"maki-telephone",universal:true,label:"Telephone",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"},plant:{key:"plant",type:"combo",label:"Plant"},"plant/output/electricity":{key:"plant:output:electricity",type:"text",label:"Power Output",placeholder:"500 MW, 1000 MW, 2000 MW..."},"playground/baby":{key:"baby",type:"check",label:"Baby Seat"},"playground/max_age":{key:"max_age",type:"number",minValue:0,label:"Maximum Age"},"playground/min_age":{key:"min_age",type:"number",minValue:0,label:"Minimum Age"},population:{key:"population",type:"text",label:"Population"},power_supply:{key:"power_supply",type:"check",label:"Power Supply"},power:{key:"power",type:"typeCombo",label:"Type"},produce:{key:"produce",type:"semiCombo",label:"Produce"},product:{key:"product",type:"semiCombo",label:"Products"},railway:{key:"railway",type:"typeCombo",label:"Type"},"railway/position":{key:"railway:position",type:"text",placeholder:"Distance to one decimal (123.4)",label:"Milestone Position"},"railway/signal/direction":{key:"railway:signal:direction",type:"combo",label:"Direction",strings:{options:{forward:"Forward",backward:"Backward",both:"Both / All"}}},rating:{key:"rating",type:"combo",label:"Power Rating",snake_case:false},recycling_accepts:{key:"recycling:",type:"multiCombo",label:"Accepts"},ref_aeroway_gate:{key:"ref",type:"text",label:"Gate Number"},ref_golf_hole:{key:"ref",type:"text",label:"Hole Number",placeholder:"1-18"},ref_highway_junction:{key:"ref",type:"text",label:"Junction Number"},ref_platform:{key:"ref",type:"text",label:"Platform Number"},ref_road_number:{key:"ref",type:"text",label:"Road Number"},ref_route:{key:"ref",type:"text",label:"Route Number"},ref_runway:{key:"ref",type:"text",label:"Runway Number",placeholder:"e.g. 01L/19R"},ref_stop_position:{key:"ref",type:"text",label:"Stop Number"},ref_taxiway:{key:"ref",type:"text",label:"Taxiway Name",placeholder:"e.g. A5"},ref:{key:"ref",type:"text",label:"Reference Code"},"ref/isil":{key:"ref:isil",type:"text",label:"ISIL Code"},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:"iD-restrictions",reference:{rtype:"restriction"},label:"Turn Restrictions"},rooms:{key:"rooms",type:"number",minValue:0,label:"Rooms"},route_master:{key:"route_master",type:"combo",label:"Type"},route:{key:"route",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"},second_hand:{key:"second_hand",type:"combo",label:"Sells Used",placeholder:"Yes, No, Only",strings:{options:{yes:"Yes",no:"No",only:"Only"}}},service_rail:{key:"service",type:"combo",label:"Service Type",strings:{options:{spur:"Spur",yard:"Yard",siding:"Siding",crossover:"Crossover"}}},service_times:{key:"service_times",type:"text",label:"Service Times"},service:{key:"service",type:"combo",label:"Type",options:["parking_aisle","driveway","alley","emergency_access","drive-through"]},"service/bicycle":{key:"service:bicycle:",type:"multiCombo",label:"Services"},"service/vehicle":{key:"service:vehicle:",type:"multiCombo",label:"Services"},shelter_type:{key:"shelter_type",type:"combo",label:"Type"},shelter:{key:"shelter",type:"check",label:"Shelter"},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:"combo",label:"People Served"},social_facility:{key:"social_facility",type:"combo",label:"Type"},source:{key:"source",type:"semiCombo",icon:"source",universal:true,label:"Sources",snake_case:false,caseSensitive:true,options:["survey","local knowledge","gps","aerial imagery","streetlevel imagery"]},sport_ice:{key:"sport",type:"semiCombo",label:"Sports",options:["skating","hockey","multi","curling","ice_stock"]},sport_racing_motor:{key:"sport",type:"semiCombo",label:"Sports",options:["motor","karting","motocross"]},sport_racing_nonmotor:{key:"sport",type:"semiCombo",label:"Sports",options:["bmx","cycling","dog_racing","horse_racing","running"]},sport:{key:"sport",type:"semiCombo",label:"Sports"},stars:{key:"stars",type:"number",minValue:0,label:"Stars"},start_date:{key:"start_date",type:"text",universal:true,label:"Start Date"},step_count:{key:"step_count",type:"number",minValue:0,label:"Number of Steps"},stop:{key:"stop",type:"combo",label:"Stop Type",strings:{options:{all:"All Ways",minor:"Minor Road"}}},structure_waterway:{type:"structureRadio",keys:["tunnel"],label:"Structure",placeholder:"Unknown",strings:{options:{tunnel:"Tunnel"}}},structure:{type:"structureRadio",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"},substance:{key:"substance",type:"combo",label:"Substance"},substation:{key:"substation",type:"typeCombo",label:"Type"},supervised:{key:"supervised",type:"check",label:"Supervised"},support:{key:"support",type:"combo",label:"Support"},surface:{key:"surface",type:"combo",label:"Surface"},surveillance:{key:"surveillance",type:"combo",label:"Surveillance Kind"},"surveillance/type":{key:"surveillance:type",type:"combo",label:"Surveillance Type",strings:{options:{camera:"Camera",guard:"Guard",ALPR:"Automatic License Plate Reader"}}},"surveillance/zone":{key:"surveillance:zone",type:"combo",label:"Surveillance Zone"},"switch":{key:"switch",type:"combo",label:"Type",strings:{options:{mechanical:"Mechanical",circuit_breaker:"Circuit Breaker",disconnector:"Disconnector",earthing:"Earthing"}}},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"}}},toll:{key:"toll",type:"check",label:"Toll"},tomb:{key:"tomb",type:"typeCombo",label:"Type"},tourism_attraction:{key:"tourism","default":"attraction",type:"typeCombo",universal:true,label:"Tourism"},tourism:{key:"tourism",type:"typeCombo",label:"Type"},"tower/construction":{key:"tower:construction",type:"combo",label:"Construction",placeholder:"Guyed, Lattice, Concealed, ..."},"tower/type":{key:"tower:type",type:"combo",label:"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"}}},trade:{key:"trade",type:"typeCombo",label:"Type"},traffic_calming:{key:"traffic_calming",type:"typeCombo",label:"Type"},traffic_signals:{key:"traffic_signals",type:"combo",label:"Type","default":"signal"},"traffic_signals/direction":{key:"traffic_signals:direction",type:"combo",label:"Direction",strings:{options:{forward:"Forward",backward:"Backward",both:"Both / All"}}},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"}}},transformer:{key:"transformer",type:"combo",label:"Type",strings:{options:{distribution:"Distribution",generator:"Generator",converter:"Converter",traction:"Traction",auto:"Autotransformer",phase_angle_regulator:"Phase Angle Regulator",auxiliary:"Auxiliary",yes:"Unknown"}}},trees:{key:"trees",type:"semiCombo",label:"Trees"},tunnel:{key:"tunnel",type:"typeCombo",label:"Type",placeholder:"Default"},usage_rail:{key:"usage",type:"combo",label:"Usage Type",strings:{options:{main:"Main",branch:"Branch",industrial:"Industrial",military:"Military",test:"Test",tourism:"Tourism"}}},vending:{key:"vending",type:"semiCombo",label:"Types of Goods"},visibility:{key:"visibility",type:"combo",label:"Visibility",strings:{options:{house:"Up to 5m (16ft)",street:"5 to 20m (16 to 65ft)",area:"Over 20m (65ft)"}}},"volcano/status":{key:"volcano:status",type:"combo",label:"Volcano Status",strings:{options:{active:"Active",dormant:"Dormant",extinct:"Extinct"}}},"volcano/type":{key:"volcano:type",type:"combo",label:"Volcano Type",strings:{options:{stratovolcano:"Stratovolcano",shield:"Shield",scoria:"Scoria"}}},voltage:{key:"voltage",type:"combo",label:"Voltage"},"voltage/primary":{key:"voltage:primary",type:"combo",label:"Primary Voltage"},"voltage/secondary":{key:"voltage:secondary",type:"combo",label:"Secondary Voltage"},"voltage/tertiary":{key:"voltage:tertiary",type:"combo",label:"Tertiary Voltage"},wall:{key:"wall",type:"combo",label:"Type"},water_point:{key:"water_point",type:"check",label:"Water Point"},water:{key:"water",type:"combo",label:"Type"},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:"maki-wheelchair",universal:true,label:"Wheelchair Access"},wholesale:{key:"wholesale",type:"typeCombo",label:"Wholesale"},width:{key:"width",type:"number",minValue:0,label:"Width (Meters)"},wikipedia:{key:"wikipedia",keys:["wikipedia","wikidata"],type:"wikipedia",icon:"wikipedia",universal:true,label:"Wikipedia"},windings:{key:"windings",type:"number",minValue:1,label:"Windings",placeholder:"1, 2, 3..."},"windings/configuration":{key:"windings:configuration",type:"combo",label:"Windings Configuration",strings:{options:{star:"Star / Wye",delta:"Delta","open-delta":"Open Delta",zigzag:"Zig Zag",open:"Open",scott:"Scott",leblanc:"Leblanc"}}}}; + + var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + var quickselect = createCommonjsModule(function (module, exports) { + (function (global, factory) { + module.exports = factory(); + }(commonjsGlobal, (function () { + function quickselect(arr, k, left, right, compare) { + quickselectStep(arr, k, left || 0, right || (arr.length - 1), compare || defaultCompare); + } + + function quickselectStep(arr, k, left, right, compare) { + + while (right > left) { + if (right - left > 600) { + var n = right - left + 1; + var m = k - left + 1; + var z = Math.log(n); + var s = 0.5 * Math.exp(2 * z / 3); + var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); + var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); + quickselectStep(arr, k, newLeft, newRight, compare); + } + + var t = arr[k]; + var i = left; + var j = right; + + swap(arr, left, k); + if (compare(arr[right], t) > 0) swap(arr, left, right); + + while (i < j) { + swap(arr, i, j); + i++; + j--; + while (compare(arr[i], t) < 0) i++; + while (compare(arr[j], t) > 0) j--; + } + + if (compare(arr[left], t) === 0) swap(arr, left, j); + else { + j++; + swap(arr, j, right); + } + + if (j <= k) left = j + 1; + if (k <= j) right = j - 1; + } + } + + function swap(arr, i, j) { + var tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; + } + + function defaultCompare(a, b) { + return a < b ? -1 : a > b ? 1 : 0; + } + + return quickselect; + + }))); + }); + + var rbush_1 = rbush; + var default_1 = rbush; + + + + function rbush(maxEntries, format) { + if (!(this instanceof rbush)) return new rbush(maxEntries, format); + + // max entries in a node is 9 by default; min node fill is 40% for best performance + this._maxEntries = Math.max(4, maxEntries || 9); + this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4)); + + if (format) { + this._initFormat(format); + } + + this.clear(); + } + + rbush.prototype = { + + all: function () { + return this._all(this.data, []); + }, + + search: function (bbox) { + + var node = this.data, + result = [], + toBBox = this.toBBox; + + if (!intersects$1(bbox, node)) return result; + + var nodesToSearch = [], + i, len, child, childBBox; + + while (node) { + for (i = 0, len = node.children.length; i < len; i++) { + + child = node.children[i]; + childBBox = node.leaf ? toBBox(child) : child; + + if (intersects$1(bbox, childBBox)) { + if (node.leaf) result.push(child); + else if (contains$2(bbox, childBBox)) this._all(child, result); + else nodesToSearch.push(child); + } + } + node = nodesToSearch.pop(); + } + + return result; + }, + + collides: function (bbox) { + + var node = this.data, + toBBox = this.toBBox; + + if (!intersects$1(bbox, node)) return false; + + var nodesToSearch = [], + i, len, child, childBBox; + + while (node) { + for (i = 0, len = node.children.length; i < len; i++) { + + child = node.children[i]; + childBBox = node.leaf ? toBBox(child) : child; + + if (intersects$1(bbox, childBBox)) { + if (node.leaf || contains$2(bbox, childBBox)) return true; + nodesToSearch.push(child); + } + } + node = nodesToSearch.pop(); + } + + return false; + }, + + load: function (data) { + if (!(data && data.length)) return this; + + if (data.length < this._minEntries) { + for (var i = 0, len = data.length; i < len; i++) { + this.insert(data[i]); + } + return this; + } + + // recursively build the tree with the given data from scratch using OMT algorithm + var node = this._build(data.slice(), 0, data.length - 1, 0); + + if (!this.data.children.length) { + // save as is if tree is empty + this.data = node; + + } else if (this.data.height === node.height) { + // split root if trees have the same height + this._splitRoot(this.data, node); + + } else { + if (this.data.height < node.height) { + // swap trees if inserted one is bigger + var tmpNode = this.data; + this.data = node; + node = tmpNode; + } + + // insert the small tree into the large tree at appropriate level + this._insert(node, this.data.height - node.height - 1, true); + } + + return this; + }, + + insert: function (item) { + if (item) this._insert(item, this.data.height - 1); + return this; + }, + + clear: function () { + this.data = createNode([]); + return this; + }, + + remove: function (item, equalsFn) { + if (!item) return this; + + var node = this.data, + bbox = this.toBBox(item), + path = [], + indexes = [], + i, parent, index, goingUp; + + // depth-first iterative tree traversal + while (node || path.length) { + + if (!node) { // go up + node = path.pop(); + parent = path[path.length - 1]; + i = indexes.pop(); + goingUp = true; + } + + if (node.leaf) { // check current node + index = findItem(item, node.children, equalsFn); + + if (index !== -1) { + // item found, remove the item and condense tree upwards + node.children.splice(index, 1); + path.push(node); + this._condense(path); + return this; + } + } + + if (!goingUp && !node.leaf && contains$2(node, bbox)) { // go down + path.push(node); + indexes.push(i); + i = 0; + parent = node; + node = node.children[0]; + + } else if (parent) { // go right + i++; + node = parent.children[i]; + goingUp = false; + + } else node = null; // nothing found + } + + return this; + }, + + toBBox: function (item) { return item; }, + + compareMinX: compareNodeMinX, + compareMinY: compareNodeMinY, + + toJSON: function () { return this.data; }, + + fromJSON: function (data) { + this.data = data; + return this; + }, + + _all: function (node, result) { + var nodesToSearch = []; + while (node) { + if (node.leaf) result.push.apply(result, node.children); + else nodesToSearch.push.apply(nodesToSearch, node.children); + + node = nodesToSearch.pop(); + } + return result; + }, + + _build: function (items, left, right, height) { + + var N = right - left + 1, + M = this._maxEntries, + node; + + if (N <= M) { + // reached leaf level; return leaf + node = createNode(items.slice(left, right + 1)); + calcBBox(node, this.toBBox); + return node; + } + + if (!height) { + // target height of the bulk-loaded tree + height = Math.ceil(Math.log(N) / Math.log(M)); + + // target number of root entries to maximize storage utilization + M = Math.ceil(N / Math.pow(M, height - 1)); + } + + node = createNode([]); + node.leaf = false; + node.height = height; + + // split the items into M mostly square tiles + + var N2 = Math.ceil(N / M), + N1 = N2 * Math.ceil(Math.sqrt(M)), + i, j, right2, right3; + + multiSelect(items, left, right, N1, this.compareMinX); + + for (i = left; i <= right; i += N1) { + + right2 = Math.min(i + N1 - 1, right); + + multiSelect(items, i, right2, N2, this.compareMinY); + + for (j = i; j <= right2; j += N2) { + + right3 = Math.min(j + N2 - 1, right2); + + // pack each entry recursively + node.children.push(this._build(items, j, right3, height - 1)); + } + } + + calcBBox(node, this.toBBox); + + return node; + }, + + _chooseSubtree: function (bbox, node, level, path) { + + var i, len, child, targetNode, area, enlargement, minArea, minEnlargement; + + while (true) { + path.push(node); + + if (node.leaf || path.length - 1 === level) break; + + minArea = minEnlargement = Infinity; + + for (i = 0, len = node.children.length; i < len; i++) { + child = node.children[i]; + area = bboxArea(child); + enlargement = enlargedArea(bbox, child) - area; + + // choose entry with the least area enlargement + if (enlargement < minEnlargement) { + minEnlargement = enlargement; + minArea = area < minArea ? area : minArea; + targetNode = child; + + } else if (enlargement === minEnlargement) { + // otherwise choose one with the smallest area + if (area < minArea) { + minArea = area; + targetNode = child; + } + } + } + + node = targetNode || node.children[0]; + } + + return node; + }, + + _insert: function (item, level, isNode) { + + var toBBox = this.toBBox, + bbox = isNode ? item : toBBox(item), + insertPath = []; + + // find the best node for accommodating the item, saving all nodes along the path too + var node = this._chooseSubtree(bbox, this.data, level, insertPath); + + // put the item into the node + node.children.push(item); + extend$1(node, bbox); + + // split on node overflow; propagate upwards if necessary + while (level >= 0) { + if (insertPath[level].children.length > this._maxEntries) { + this._split(insertPath, level); + level--; + } else break; + } + + // adjust bboxes along the insertion path + this._adjustParentBBoxes(bbox, insertPath, level); + }, + + // split overflowed node into two + _split: function (insertPath, level) { + + var node = insertPath[level], + M = node.children.length, + m = this._minEntries; + + this._chooseSplitAxis(node, m, M); + + var splitIndex = this._chooseSplitIndex(node, m, M); + + var newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex)); + newNode.height = node.height; + newNode.leaf = node.leaf; + + calcBBox(node, this.toBBox); + calcBBox(newNode, this.toBBox); + + if (level) insertPath[level - 1].children.push(newNode); + else this._splitRoot(node, newNode); + }, + + _splitRoot: function (node, newNode) { + // split root node + this.data = createNode([node, newNode]); + this.data.height = node.height + 1; + this.data.leaf = false; + calcBBox(this.data, this.toBBox); + }, + + _chooseSplitIndex: function (node, m, M) { + + var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index; + + minOverlap = minArea = Infinity; + + for (i = m; i <= M - m; i++) { + bbox1 = distBBox(node, 0, i, this.toBBox); + bbox2 = distBBox(node, i, M, this.toBBox); + + overlap = intersectionArea(bbox1, bbox2); + area = bboxArea(bbox1) + bboxArea(bbox2); + + // choose distribution with minimum overlap + if (overlap < minOverlap) { + minOverlap = overlap; + index = i; + + minArea = area < minArea ? area : minArea; + + } else if (overlap === minOverlap) { + // otherwise choose distribution with minimum area + if (area < minArea) { + minArea = area; + index = i; + } + } + } + + return index; + }, + + // sorts node children by the best axis for split + _chooseSplitAxis: function (node, m, M) { + + var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX, + compareMinY = node.leaf ? this.compareMinY : compareNodeMinY, + xMargin = this._allDistMargin(node, m, M, compareMinX), + yMargin = this._allDistMargin(node, m, M, compareMinY); + + // if total distributions margin value is minimal for x, sort by minX, + // otherwise it's already sorted by minY + if (xMargin < yMargin) node.children.sort(compareMinX); + }, + + // total margin of all possible split distributions where each node is at least m full + _allDistMargin: function (node, m, M, compare) { + + node.children.sort(compare); + + var toBBox = this.toBBox, + leftBBox = distBBox(node, 0, m, toBBox), + rightBBox = distBBox(node, M - m, M, toBBox), + margin = bboxMargin(leftBBox) + bboxMargin(rightBBox), + i, child; + + for (i = m; i < M - m; i++) { + child = node.children[i]; + extend$1(leftBBox, node.leaf ? toBBox(child) : child); + margin += bboxMargin(leftBBox); + } + + for (i = M - m - 1; i >= m; i--) { + child = node.children[i]; + extend$1(rightBBox, node.leaf ? toBBox(child) : child); + margin += bboxMargin(rightBBox); + } + + return margin; + }, + + _adjustParentBBoxes: function (bbox, path, level) { + // adjust bboxes along the given tree path + for (var i = level; i >= 0; i--) { + extend$1(path[i], bbox); + } + }, + + _condense: function (path) { + // go through the path, removing empty nodes and updating bboxes + for (var i = path.length - 1, siblings; i >= 0; i--) { + if (path[i].children.length === 0) { + if (i > 0) { + siblings = path[i - 1].children; + siblings.splice(siblings.indexOf(path[i]), 1); + + } else this.clear(); + + } else calcBBox(path[i], this.toBBox); + } + }, + + _initFormat: function (format) { + // data format (minX, minY, maxX, maxY accessors) + + // uses eval-type function compilation instead of just accepting a toBBox function + // because the algorithms are very sensitive to sorting functions performance, + // so they should be dead simple and without inner calls + + var compareArr = ['return a', ' - b', ';']; + + this.compareMinX = new Function('a', 'b', compareArr.join(format[0])); + this.compareMinY = new Function('a', 'b', compareArr.join(format[1])); + + this.toBBox = new Function('a', + 'return {minX: a' + format[0] + + ', minY: a' + format[1] + + ', maxX: a' + format[2] + + ', maxY: a' + format[3] + '};'); + } + }; + + function findItem(item, items, equalsFn) { + if (!equalsFn) return items.indexOf(item); + + for (var i = 0; i < items.length; i++) { + if (equalsFn(item, items[i])) return i; + } + return -1; + } + + // calculate node's bbox from bboxes of its children + function calcBBox(node, toBBox) { + distBBox(node, 0, node.children.length, toBBox, node); + } + + // min bounding rectangle of node children from k to p-1 + function distBBox(node, k, p, toBBox, destNode) { + if (!destNode) destNode = createNode(null); + destNode.minX = Infinity; + destNode.minY = Infinity; + destNode.maxX = -Infinity; + destNode.maxY = -Infinity; + + for (var i = k, child; i < p; i++) { + child = node.children[i]; + extend$1(destNode, node.leaf ? toBBox(child) : child); + } + + return destNode; + } + + function extend$1(a, b) { + a.minX = Math.min(a.minX, b.minX); + a.minY = Math.min(a.minY, b.minY); + a.maxX = Math.max(a.maxX, b.maxX); + a.maxY = Math.max(a.maxY, b.maxY); + return a; + } + + function compareNodeMinX(a, b) { return a.minX - b.minX; } + function compareNodeMinY(a, b) { return a.minY - b.minY; } + + function bboxArea(a) { return (a.maxX - a.minX) * (a.maxY - a.minY); } + function bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); } + + function enlargedArea(a, b) { + return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) * + (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY)); + } + + function intersectionArea(a, b) { + var minX = Math.max(a.minX, b.minX), + minY = Math.max(a.minY, b.minY), + maxX = Math.min(a.maxX, b.maxX), + maxY = Math.min(a.maxY, b.maxY); + + return Math.max(0, maxX - minX) * + Math.max(0, maxY - minY); + } + + function contains$2(a, b) { + return a.minX <= b.minX && + a.minY <= b.minY && + b.maxX <= a.maxX && + b.maxY <= a.maxY; + } + + function intersects$1(a, b) { + return b.minX <= a.maxX && + b.minY <= a.maxY && + b.maxX >= a.minX && + b.maxY >= a.minY; + } + + function createNode(children) { + return { + children: children, + height: 1, + leaf: true, + minX: Infinity, + minY: Infinity, + maxX: -Infinity, + maxY: -Infinity + }; + } + + // sort an array so that items come in groups of n unsorted items, with groups sorted between each other; + // combines selection algorithm with binary divide & conquer approach + + function multiSelect(arr, left, right, n, compare) { + var stack = [left, right], + mid; + + while (stack.length) { + right = stack.pop(); + left = stack.pop(); + + if (right - left <= n) continue; + + mid = left + Math.ceil((right - left) / n / 2) * n; + quickselect(arr, mid, left, right, compare); + + stack.push(left, mid, mid, right); + } + } + rbush_1.default = default_1; + + var lineclip_1 = lineclip; + + lineclip.polyline = lineclip; + lineclip.polygon = polygonclip; + + + // Cohen-Sutherland line clippign algorithm, adapted to efficiently + // handle polylines rather than just segments + + function lineclip(points, bbox, result) { + + var len = points.length, + codeA = bitCode(points[0], bbox), + part = [], + i, a, b, codeB, lastCode; + + if (!result) result = []; + + for (i = 1; i < len; i++) { + a = points[i - 1]; + b = points[i]; + codeB = lastCode = bitCode(b, bbox); + + while (true) { + + if (!(codeA | codeB)) { // accept + part.push(a); + + if (codeB !== lastCode) { // segment went outside + part.push(b); + + if (i < len - 1) { // start a new line + result.push(part); + part = []; + } + } else if (i === len - 1) { + part.push(b); + } + break; + + } else if (codeA & codeB) { // trivial reject + break; + + } else if (codeA) { // a outside, intersect with clip edge + a = intersect$1(a, b, codeA, bbox); + codeA = bitCode(a, bbox); + + } else { // b outside + b = intersect$1(a, b, codeB, bbox); + codeB = bitCode(b, bbox); + } + } + + codeA = lastCode; + } + + if (part.length) result.push(part); + + return result; + } + + // Sutherland-Hodgeman polygon clipping algorithm + + function polygonclip(points, bbox) { + + var result, edge, prev, prevInside, i, p, inside; + + // clip against each side of the clip rectangle + for (edge = 1; edge <= 8; edge *= 2) { + result = []; + prev = points[points.length - 1]; + prevInside = !(bitCode(prev, bbox) & edge); + + for (i = 0; i < points.length; i++) { + p = points[i]; + inside = !(bitCode(p, bbox) & edge); + + // if segment goes through the clip window, add an intersection + if (inside !== prevInside) result.push(intersect$1(prev, p, edge, bbox)); + + if (inside) result.push(p); // add a point if it's inside + + prev = p; + prevInside = inside; + } + + points = result; + + if (!points.length) break; + } + + return result; + } + + // intersect a segment against one of the 4 lines that make up the bbox + + function intersect$1(a, b, edge, bbox) { + return edge & 8 ? [a[0] + (b[0] - a[0]) * (bbox[3] - a[1]) / (b[1] - a[1]), bbox[3]] : // top + edge & 4 ? [a[0] + (b[0] - a[0]) * (bbox[1] - a[1]) / (b[1] - a[1]), bbox[1]] : // bottom + edge & 2 ? [bbox[2], a[1] + (b[1] - a[1]) * (bbox[2] - a[0]) / (b[0] - a[0])] : // right + edge & 1 ? [bbox[0], a[1] + (b[1] - a[1]) * (bbox[0] - a[0]) / (b[0] - a[0])] : // left + null; + } + + // bit code reflects the point position relative to the bbox: + + // left mid right + // top 1001 1000 1010 + // mid 0001 0000 0010 + // bottom 0101 0100 0110 + + function bitCode(p, bbox) { + var code = 0; + + if (p[0] < bbox[0]) code |= 1; // left + else if (p[0] > bbox[2]) code |= 2; // right + + if (p[1] < bbox[1]) code |= 4; // bottom + else if (p[1] > bbox[3]) code |= 8; // top + + return code; + } + + var whichPolygon_1 = whichPolygon; + + function whichPolygon(data) { + var bboxes = []; + for (var i = 0; i < data.features.length; i++) { + var feature = data.features[i]; + var coords = feature.geometry.coordinates; + + if (feature.geometry.type === 'Polygon') { + bboxes.push(treeItem(coords, feature.properties)); + + } else if (feature.geometry.type === 'MultiPolygon') { + for (var j = 0; j < coords.length; j++) { + bboxes.push(treeItem(coords[j], feature.properties)); + } + } + } + + var tree = rbush_1().load(bboxes); + + function query(p, multi) { + var output = [], + result = tree.search({ + minX: p[0], + minY: p[1], + maxX: p[0], + maxY: p[1] + }); + for (var i = 0; i < result.length; i++) { + if (insidePolygon(result[i].coords, p)) { + if (multi) + output.push(result[i].props); + else + return result[i].props; + } + } + return multi && output.length ? output : null; + } + + query.tree = tree; + query.bbox = function queryBBox(bbox) { + var output = []; + var result = tree.search({ + minX: bbox[0], + minY: bbox[1], + maxX: bbox[2], + maxY: bbox[3] + }); + for (var i = 0; i < result.length; i++) { + if (polygonIntersectsBBox(result[i].coords, bbox)) { + output.push(result[i].props); + } + } + return output; + }; + + return query; + } + + function polygonIntersectsBBox(polygon, bbox) { + var bboxCenter = [ + (bbox[0] + bbox[2]) / 2, + (bbox[1] + bbox[3]) / 2 + ]; + if (insidePolygon(polygon, bboxCenter)) return true; + for (var i = 0; i < polygon.length; i++) { + if (lineclip_1(polygon[i], bbox).length > 0) return true; + } + return false; + } + + // ray casting algorithm for detecting if point is in polygon + function insidePolygon(rings, p) { + var inside = false; + for (var i = 0, len = rings.length; i < len; i++) { + var ring = rings[i]; + for (var j = 0, len2 = ring.length, k = len2 - 1; j < len2; k = j++) { + if (rayIntersect(p, ring[j], ring[k])) inside = !inside; + } + } + return inside; + } + + function rayIntersect(p, p1, p2) { + return ((p1[1] > p[1]) !== (p2[1] > p[1])) && (p[0] < (p2[0] - p1[0]) * (p[1] - p1[1]) / (p2[1] - p1[1]) + p1[0]); + } + + function treeItem(coords, props) { + var item = { + minX: Infinity, + minY: Infinity, + maxX: -Infinity, + maxY: -Infinity, + coords: coords, + props: props + }; + + for (var i = 0; i < coords[0].length; i++) { + var p = coords[0][i]; + item.minX = Math.min(item.minX, p[0]); + item.minY = Math.min(item.minY, p[1]); + item.maxX = Math.max(item.maxX, p[0]); + item.maxY = Math.max(item.maxY, p[1]); + } + return item; + } + + var features$4 = values$1(features$2).map(function(feature) { + // workaround for which-polygon + // only supports `properties`, not `id` + // https://github.com/mapbox/which-polygon/pull/6 + feature.properties = { + id: feature.id, + area: d3_geoArea(feature) // also precompute areas + }; + + return feature; + }); + + var data = { + community: { + features: features$2, + resources: resources, + query: whichPolygon_1({ + type: 'FeatureCollection', + features: features$4 + }) + }, + imagery: dataImagery, + presets: { + presets: presets, + defaults: defaults, + categories: categories, + fields: fields + } + }; + + function osmEntity$$1(attrs) { + // For prototypal inheritance. + if (this instanceof osmEntity$$1) return; + + // Create the appropriate subtype. + if (attrs && attrs.type) { + return osmEntity$$1[attrs.type].apply(this, arguments); + } else if (attrs && attrs.id) { + return osmEntity$$1[osmEntity$$1.id.type(attrs.id)].apply(this, arguments); + } + + // Initialize a generic Entity (used only in tests). + return (new osmEntity$$1()).initialize(arguments); + } + + + osmEntity$$1.id = function(type) { + return osmEntity$$1.id.fromOSM(type, osmEntity$$1.id.next[type]--); + }; + + + osmEntity$$1.id.next = { + changeset: -1, node: -1, way: -1, relation: -1 + }; + + + osmEntity$$1.id.fromOSM = function(type, id) { + return type[0] + id; + }; + + + osmEntity$$1.id.toOSM = function(id) { + return id.slice(1); + }; + + + osmEntity$$1.id.type = function(id) { + return { 'c': 'changeset', 'n': 'node', 'w': 'way', 'r': 'relation' }[id[0]]; + }; + + + // A function suitable for use as the second argument to d3.selection#data(). + osmEntity$$1.key = function(entity) { + return entity.id + 'v' + (entity.v || 0); + }; + + + osmEntity$$1.prototype = { + + tags: {}, + + + initialize: function(sources) { + for (var i = 0; i < sources.length; ++i) { + var source = sources[i]; + for (var prop in source) { + if (Object.prototype.hasOwnProperty.call(source, prop)) { + if (source[prop] === undefined) { + delete this[prop]; + } else { + this[prop] = source[prop]; + } + } + } + } + + if (!this.id && this.type) { + this.id = osmEntity$$1.id(this.type); + } + if (!this.hasOwnProperty('visible')) { + this.visible = true; + } + + return this; + }, + + + copy: function(resolver, copies) { + if (copies[this.id]) + return copies[this.id]; + + var copy = osmEntity$$1(this, {id: undefined, user: undefined, version: undefined}); + copies[this.id] = copy; + + return copy; + }, + + + osmId: function() { + return osmEntity$$1.id.toOSM(this.id); + }, + + + isNew: function() { + return this.osmId() < 0; + }, + + + update: function(attrs) { + return osmEntity$$1(this, attrs, {v: 1 + (this.v || 0)}); + }, + + + mergeTags: function(tags) { + var merged = clone(this.tags), changed = false; + for (var k in tags) { + var t1 = merged[k], + t2 = tags[k]; + if (!t1) { + changed = true; + merged[k] = t2; + } else if (t1 !== t2) { + changed = true; + merged[k] = union(t1.split(/;\s*/), t2.split(/;\s*/)).join(';'); + } + } + return changed ? this.update({tags: merged}) : this; + }, + + + intersects: function(extent, resolver) { + return this.extent(resolver).intersects(extent); + }, + + + isUsed: function(resolver) { + return without(Object.keys(this.tags), 'area').length > 0 || + resolver.parentRelations(this).length > 0; + }, + + + hasInterestingTags: function() { + return keys$1(this.tags).some(osmIsInterestingTag); + }, + + + isHighwayIntersection: function() { + return false; + }, + + isDegenerate: function() { + return true; + }, + + deprecatedTags: function() { + var tags = toPairs(this.tags); + var deprecated = {}; + + dataDeprecated.forEach(function(d) { + var match = toPairs(d.old)[0]; + tags.forEach(function(t) { + if (t[0] === match[0] && + (t[1] === match[1] || match[1] === '*')) { + deprecated[t[0]] = t[1]; + } + }); + }); + + return deprecated; + } + }; + + function geoExtent$$1(min, max) { + if (!(this instanceof geoExtent$$1)) { + return new geoExtent$$1(min, max); + } else if (min instanceof geoExtent$$1) { + return min; + } else if (min && min.length === 2 && min[0].length === 2 && min[1].length === 2) { + this[0] = min[0]; + this[1] = min[1]; + } else { + this[0] = min || [ Infinity, Infinity]; + this[1] = max || min || [-Infinity, -Infinity]; + } + } + + // $FlowFixMe + geoExtent$$1.prototype = new Array(2); + + assignIn(geoExtent$$1.prototype, { + + equals: function (obj) { + return this[0][0] === obj[0][0] && + this[0][1] === obj[0][1] && + this[1][0] === obj[1][0] && + this[1][1] === obj[1][1]; + }, + + + extend: function(obj) { + if (!(obj instanceof geoExtent$$1)) obj = new geoExtent$$1(obj); + return geoExtent$$1( + [Math.min(obj[0][0], this[0][0]), Math.min(obj[0][1], this[0][1])], + [Math.max(obj[1][0], this[1][0]), Math.max(obj[1][1], this[1][1])] + ); + }, + + + _extend: function(extent) { + this[0][0] = Math.min(extent[0][0], this[0][0]); + this[0][1] = Math.min(extent[0][1], this[0][1]); + this[1][0] = Math.max(extent[1][0], this[1][0]); + this[1][1] = Math.max(extent[1][1], this[1][1]); + }, + + + area: function() { + return Math.abs((this[1][0] - this[0][0]) * (this[1][1] - this[0][1])); + }, + + + center: function() { + return [(this[0][0] + this[1][0]) / 2, (this[0][1] + this[1][1]) / 2]; + }, + + + rectangle: function() { + return [this[0][0], this[0][1], this[1][0], this[1][1]]; + }, + + + bbox: function() { + return { minX: this[0][0], minY: this[0][1], maxX: this[1][0], maxY: this[1][1] }; + }, + + + polygon: function() { + return [ + [this[0][0], this[0][1]], + [this[0][0], this[1][1]], + [this[1][0], this[1][1]], + [this[1][0], this[0][1]], + [this[0][0], this[0][1]] + ]; + }, + + + contains: function(obj) { + if (!(obj instanceof geoExtent$$1)) obj = new geoExtent$$1(obj); + return obj[0][0] >= this[0][0] && + obj[0][1] >= this[0][1] && + obj[1][0] <= this[1][0] && + obj[1][1] <= this[1][1]; + }, + + + intersects: function(obj) { + if (!(obj instanceof geoExtent$$1)) obj = new geoExtent$$1(obj); + return obj[0][0] <= this[1][0] && + obj[0][1] <= this[1][1] && + obj[1][0] >= this[0][0] && + obj[1][1] >= this[0][1]; + }, + + + intersection: function(obj) { + if (!this.intersects(obj)) return new geoExtent$$1(); + return new geoExtent$$1( + [Math.max(obj[0][0], this[0][0]), Math.max(obj[0][1], this[0][1])], + [Math.min(obj[1][0], this[1][0]), Math.min(obj[1][1], this[1][1])] + ); + }, + + + percentContainedIn: function(obj) { + if (!(obj instanceof geoExtent$$1)) obj = new geoExtent$$1(obj); + var a1 = this.intersection(obj).area(); + var a2 = this.area(); + + if (a1 === Infinity || a2 === Infinity || a1 === 0 || a2 === 0) { + return 0; + } else { + return a1 / a2; + } + }, + + + padByMeters: function(meters) { + var dLat = geoMetersToLat(meters); + var dLon = geoMetersToLon(meters, this.center()[1]); + return geoExtent$$1( + [this[0][0] - dLon, this[0][1] - dLat], + [this[1][0] + dLon, this[1][1] + dLat] + ); + }, + + + toParam: function() { + return this.rectangle().join(','); + } + + }); + + // constants + var TAU = 2 * Math.PI; + var EQUATORIAL_RADIUS = 6356752.314245179; + var POLAR_RADIUS = 6378137.0; + + + function geoLatToMeters(dLat) { + return dLat * (TAU * POLAR_RADIUS / 360); + } + + + function geoLonToMeters(dLon, atLat) { + return Math.abs(atLat) >= 90 ? 0 : + dLon * (TAU * EQUATORIAL_RADIUS / 360) * Math.abs(Math.cos(atLat * (Math.PI / 180))); + } + + + function geoMetersToLat(m) { + return m / (TAU * POLAR_RADIUS / 360); + } + + + function geoMetersToLon(m, atLat) { + return Math.abs(atLat) >= 90 ? 0 : + m / (TAU * EQUATORIAL_RADIUS / 360) / Math.abs(Math.cos(atLat * (Math.PI / 180))); + } + + + function geoMetersToOffset(meters, tileSize) { + tileSize = tileSize || 256; + return [ + meters[0] * tileSize / (TAU * EQUATORIAL_RADIUS), + -meters[1] * tileSize / (TAU * POLAR_RADIUS) + ]; + } + + + function geoOffsetToMeters(offset, tileSize) { + tileSize = tileSize || 256; + return [ + offset[0] * TAU * EQUATORIAL_RADIUS / tileSize, + -offset[1] * TAU * POLAR_RADIUS / tileSize + ]; + } + + + // Equirectangular approximation of spherical distances on Earth + function geoSphericalDistance(a, b) { + var x = geoLonToMeters(a[0] - b[0], (a[1] + b[1]) / 2); + var y = geoLatToMeters(a[1] - b[1]); + return Math.sqrt((x * x) + (y * y)); + } + + + // scale to zoom + function geoScaleToZoom(k, tileSize) { + tileSize = tileSize || 256; + var log2ts = Math.log(tileSize) * Math.LOG2E; + return Math.log(k * TAU) / Math.LN2 - log2ts; + } + + + // zoom to scale + function geoZoomToScale(z, tileSize) { + tileSize = tileSize || 256; + return tileSize * Math.pow(2, z) / TAU; + } + + /** + * 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 == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @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` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [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 + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, baseIteratee(predicate, 3)); + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @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`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [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 + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, baseIteratee(predicate, 3)); + } + + // vector equals + function geoVecEqual(a, b, epsilon) { + if (epsilon) { + return (Math.abs(a[0] - b[0]) <= epsilon) && (Math.abs(a[1] - b[1]) <= epsilon); + } else { + return (a[0] === b[0]) && (a[1] === b[1]); + } + } + + // vector addition + function geoVecAdd(a, b) { + return [ a[0] + b[0], a[1] + b[1] ]; + } + + // vector subtraction + function geoVecSubtract(a, b) { + return [ a[0] - b[0], a[1] - b[1] ]; + } + + // vector scaling + function geoVecScale(a, mag) { + return [ a[0] * mag, a[1] * mag ]; + } + + // vector rounding (was: geoRoundCoordinates) + function geoVecFloor(a) { + return [ Math.floor(a[0]), Math.floor(a[1]) ]; + } + + // linear interpolation + function geoVecInterp(a, b, t) { + return [ + a[0] + (b[0] - a[0]) * t, + a[1] + (b[1] - a[1]) * t + ]; + } + + // http://jsperf.com/id-dist-optimization + function geoVecLength(a, b) { + var x = a[0] - b[0]; + var y = a[1] - b[1]; + return Math.sqrt((x * x) + (y * y)); + } + + // Return the counterclockwise angle in the range (-pi, pi) + // between the positive X axis and the line intersecting a and b. + function geoVecAngle(a, b) { + return Math.atan2(b[1] - a[1], b[0] - a[0]); + } + + // dot product + function geoVecDot(a, b, origin) { + origin = origin || [0, 0]; + return (a[0] - origin[0]) * (b[0] - origin[0]) + + (a[1] - origin[1]) * (b[1] - origin[1]); + } + + // 2D cross product of OA and OB vectors, returns magnitude of Z vector + // Returns a positive value, if OAB makes a counter-clockwise turn, + // negative for clockwise turn, and zero if the points are collinear. + function geoVecCross(a, b, origin) { + origin = origin || [0, 0]; + return (a[0] - origin[0]) * (b[1] - origin[1]) - + (a[1] - origin[1]) * (b[0] - origin[0]); + } + + // Return the counterclockwise angle in the range (-pi, pi) + // between the positive X axis and the line intersecting a and b. + function geoAngle(a, b, projection) { + return geoVecAngle(projection(a.loc), projection(b.loc)); + } + + function geoEdgeEqual(a, b) { + return (a[0] === b[0] && a[1] === b[1]) || + (a[0] === b[1] && a[1] === b[0]); + } + + // Rotate all points counterclockwise around a pivot point by given angle + function geoRotate(points, angle, around) { + return points.map(function(point) { + var radial = geoVecSubtract(point, around); + return [ + radial[0] * Math.cos(angle) - radial[1] * Math.sin(angle) + around[0], + radial[0] * Math.sin(angle) + radial[1] * Math.cos(angle) + around[1] + ]; + }); + } + + + // Choose the edge with the minimal distance from `point` to its orthogonal + // projection onto that edge, if such a projection exists, or the distance to + // the closest vertex on that edge. Returns an object with the `index` of the + // chosen edge, the chosen `loc` on that edge, and the `distance` to to it. + function geoChooseEdge(nodes, point, projection, activeID) { + var dist = geoVecLength; + var points = nodes.map(function(n) { return projection(n.loc); }); + var ids = nodes.map(function(n) { return n.id; }); + var min = Infinity; + var idx; + var loc; + + for (var i = 0; i < points.length - 1; i++) { + if (ids[i] === activeID || ids[i + 1] === activeID) continue; + + var o = points[i]; + var s = geoVecSubtract(points[i + 1], o); + var v = geoVecSubtract(point, o); + var proj = geoVecDot(v, s) / geoVecDot(s, s); + var p; + + if (proj < 0) { + p = o; + } else if (proj > 1) { + p = points[i + 1]; + } else { + p = [o[0] + proj * s[0], o[1] + proj * s[1]]; + } + + var d = dist(p, point); + if (d < min) { + min = d; + idx = i + 1; + loc = projection.invert(p); + } + } + + if (idx !== undefined) { + return { index: idx, distance: min, loc: loc }; + } else { + return null; + } + } + + + // Test active (dragged or drawing) segments against inactive segments + // This is used to test e.g. multipolygon rings that cross + // `activeNodes` is the ring containing the activeID being dragged. + // `inactiveNodes` is the other ring to test against + function geoHasLineIntersections(activeNodes, inactiveNodes, activeID) { + var actives = []; + var inactives = []; + var j, k, n1, n2, segment; + + // gather active segments (only segments in activeNodes that contain the activeID) + for (j = 0; j < activeNodes.length - 1; j++) { + n1 = activeNodes[j]; + n2 = activeNodes[j+1]; + segment = [n1.loc, n2.loc]; + if (n1.id === activeID || n2.id === activeID) { + actives.push(segment); + } + } + + // gather inactive segments + for (j = 0; j < inactiveNodes.length - 1; j++) { + n1 = inactiveNodes[j]; + n2 = inactiveNodes[j+1]; + segment = [n1.loc, n2.loc]; + inactives.push(segment); + } + + // test + for (j = 0; j < actives.length; j++) { + for (k = 0; k < inactives.length; k++) { + var p = actives[j]; + var q = inactives[k]; + var hit = geoLineIntersection(p, q); + if (hit) { + return true; + } + } + } + + return false; + } + + + // Test active (dragged or drawing) segments against inactive segments + // This is used to test whether a way intersects with itself. + function geoHasSelfIntersections(nodes, activeID) { + var actives = []; + var inactives = []; + var j, k; + + // group active and passive segments along the nodes + for (j = 0; j < nodes.length - 1; j++) { + var n1 = nodes[j]; + var n2 = nodes[j+1]; + var segment = [n1.loc, n2.loc]; + if (n1.id === activeID || n2.id === activeID) { + actives.push(segment); + } else { + inactives.push(segment); + } + } + + // test + for (j = 0; j < actives.length; j++) { + for (k = 0; k < inactives.length; k++) { + var p = actives[j]; + var q = inactives[k]; + // skip if segments share an endpoint + if (geoVecEqual(p[1], q[0]) || geoVecEqual(p[0], q[1]) || + geoVecEqual(p[0], q[0]) || geoVecEqual(p[1], q[1]) ) { + continue; + } + + var hit = geoLineIntersection(p, q); + if (hit) { + var epsilon = 1e-8; + // skip if the hit is at the segment's endpoint + if (geoVecEqual(p[1], hit, epsilon) || geoVecEqual(p[0], hit, epsilon) || + geoVecEqual(q[1], hit, epsilon) || geoVecEqual(q[0], hit, epsilon) ) { + continue; + } else { + return true; + } + } + } + } + + return false; + } + + + // Return the intersection point of 2 line segments. + // From https://github.com/pgkelley4/line-segments-intersect + // This uses the vector cross product approach described below: + // http://stackoverflow.com/a/565282/786339 + function geoLineIntersection(a, b) { + var p = [a[0][0], a[0][1]]; + var p2 = [a[1][0], a[1][1]]; + var q = [b[0][0], b[0][1]]; + var q2 = [b[1][0], b[1][1]]; + var r = geoVecSubtract(p2, p); + var s = geoVecSubtract(q2, q); + var uNumerator = geoVecCross(geoVecSubtract(q, p), r); + var denominator = geoVecCross(r, s); + + if (uNumerator && denominator) { + var u = uNumerator / denominator; + var t = geoVecCross(geoVecSubtract(q, p), s) / denominator; + + if ((t >= 0) && (t <= 1) && (u >= 0) && (u <= 1)) { + return geoVecInterp(p, p2, t); + } + } + + return null; + } + + + function geoPathIntersections(path1, path2) { + var intersections = []; + for (var i = 0; i < path1.length - 1; i++) { + for (var j = 0; j < path2.length - 1; j++) { + var a = [ path1[i], path1[i+1] ]; + var b = [ path2[j], path2[j+1] ]; + var hit = geoLineIntersection(a, b); + if (hit) { + intersections.push(hit); + } + } + } + return intersections; + } + + function geoPathHasIntersections(path1, path2) { + for (var i = 0; i < path1.length - 1; i++) { + for (var j = 0; j < path2.length - 1; j++) { + var a = [ path1[i], path1[i+1] ]; + var b = [ path2[j], path2[j+1] ]; + var hit = geoLineIntersection(a, b); + if (hit) { + return true; + } + } + } + return false; + } + + + // Return whether point is contained in polygon. + // + // `point` should be a 2-item array of coordinates. + // `polygon` should be an array of 2-item arrays of coordinates. + // + // From https://github.com/substack/point-in-polygon. + // ray-casting algorithm based on + // http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html + // + function geoPointInPolygon(point, polygon) { + var x = point[0]; + var y = point[1]; + var inside = false; + + for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) { + var xi = polygon[i][0]; + var yi = polygon[i][1]; + var xj = polygon[j][0]; + var yj = polygon[j][1]; + + var intersect = ((yi > y) !== (yj > y)) && + (x < (xj - xi) * (y - yi) / (yj - yi) + xi); + if (intersect) inside = !inside; + } + + return inside; + } + + + function geoPolygonContainsPolygon(outer, inner) { + return every(inner, function(point) { + return geoPointInPolygon(point, outer); + }); + } + + + function geoPolygonIntersectsPolygon(outer, inner, checkSegments) { + function testPoints(outer, inner) { + return some(inner, function(point) { + return geoPointInPolygon(point, outer); + }); + } + + return testPoints(outer, inner) || (!!checkSegments && geoPathHasIntersections(outer, inner)); + } + + + function geoPathLength(path) { + var length = 0; + for (var i = 0; i < path.length - 1; i++) { + length += geoVecLength(path[i], path[i + 1]); + } + return length; + } + + + // If the given point is at the edge of the padded viewport, + // return a vector that will nudge the viewport in that direction + function geoViewportEdge(point, dimensions) { + var pad = [80, 20, 50, 20]; // top, right, bottom, left + var x = 0; + var y = 0; + + if (point[0] > dimensions[0] - pad[1]) + x = -10; + if (point[0] < pad[3]) + x = 10; + if (point[1] > dimensions[1] - pad[2]) + y = -10; + if (point[1] < pad[0]) + y = 10; + + if (x || y) { + return [x, y]; + } else { + return null; + } + } + + /* + Bypasses features of D3's default projection stream pipeline that are unnecessary: + * Antimeridian clipping + * Spherical rotation + * Resampling + */ + function geoRawMercator() { + var project = mercatorRaw; + var k = 512 / Math.PI; // scale + var x = 0; + var y = 0; // translate + var clipExtent = [[0, 0], [0, 0]]; + + + function projection$$1(point) { + point = project(point[0] * Math.PI / 180, point[1] * Math.PI / 180); + return [point[0] * k + x, y - point[1] * k]; + } + + + projection$$1.invert = function(point) { + point = project.invert((point[0] - x) / k, (y - point[1]) / k); + return point && [point[0] * 180 / Math.PI, point[1] * 180 / Math.PI]; + }; + + + projection$$1.scale = function(_) { + if (!arguments.length) return k; + k = +_; + return projection$$1; + }; + + + projection$$1.translate = function(_) { + if (!arguments.length) return [x, y]; + x = +_[0]; + y = +_[1]; + return projection$$1; + }; + + + projection$$1.clipExtent = function(_) { + if (!arguments.length) return clipExtent; + clipExtent = _; + return projection$$1; + }; + + + projection$$1.transform = function(obj) { + if (!arguments.length) return identity$7.translate(x, y).scale(k); + x = +obj.x; + y = +obj.y; + k = +obj.k; + return projection$$1; + }; + + + projection$$1.stream = d3_geoTransform({ + point: function(x, y) { + var vec = projection$$1([x, y]); + this.stream.point(vec[0], vec[1]); + } + }).stream; + + + return projection$$1; + } + + function osmChangeset() { + if (!(this instanceof osmChangeset)) { + return (new osmChangeset()).initialize(arguments); + } else if (arguments.length) { + this.initialize(arguments); + } + } + + + osmEntity$$1.changeset = osmChangeset; + + osmChangeset.prototype = Object.create(osmEntity$$1.prototype); + + assignIn(osmChangeset.prototype, { + + type: 'changeset', + + + extent: function() { + return new geoExtent$$1(); + }, + + + geometry: function() { + return 'changeset'; + }, + + + asJXON: function() { + return { + osm: { + changeset: { + tag: map$3(this.tags, function(value, key) { + return { '@k': key, '@v': value }; + }), + '@version': 0.6, + '@generator': 'iD' + } + } + }; + }, + + + // Generate [osmChange](http://wiki.openstreetmap.org/wiki/OsmChange) + // XML. Returns a string. + osmChangeJXON: function(changes) { + var changeset_id = this.id; + + function nest(x, order) { + var groups = {}; + for (var i = 0; i < x.length; i++) { + var tagName = Object.keys(x[i])[0]; + if (!groups[tagName]) groups[tagName] = []; + groups[tagName].push(x[i][tagName]); + } + var ordered = {}; + order.forEach(function(o) { + if (groups[o]) ordered[o] = groups[o]; + }); + return ordered; + } + + + // sort relations in a changeset by dependencies + function sort(changes) { + + // find a referenced relation in the current changeset + function resolve(item) { + return find$1(relations, function(relation) { + return item.keyAttributes.type === 'relation' + && item.keyAttributes.ref === relation['@id']; + }); + } + + // a new item is an item that has not been already processed + function isNew(item) { + return !sorted[ item['@id'] ] && !find$1(processing, function(proc) { + return proc['@id'] === item['@id']; + }); + } + + var processing = [], + sorted = {}, + relations = changes.relation; + + if (!relations) return changes; + + for (var i = 0; i < relations.length; i++) { + var relation = relations[i]; + + // skip relation if already sorted + if (!sorted[relation['@id']]) { + processing.push(relation); + } + + while (processing.length > 0) { + var next = processing[0], + deps = filter(compact(next.member.map(resolve)), isNew); + if (deps.length === 0) { + sorted[next['@id']] = next; + processing.shift(); + } else { + processing = deps.concat(processing); + } + } + } + + changes.relation = values$1(sorted); + return changes; + } + + function rep(entity) { + return entity.asJXON(changeset_id); + } + + return { + osmChange: { + '@version': 0.6, + '@generator': 'iD', + 'create': sort(nest(changes.created.map(rep), ['node', 'way', 'relation'])), + 'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']), + 'delete': assignIn(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), { '@if-unused': true }) + } + }; + }, + + + asGeoJSON: function() { + return {}; + } + + }); + + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; + } + + function osmNode() { + if (!(this instanceof osmNode)) { + return (new osmNode()).initialize(arguments); + } else if (arguments.length) { + this.initialize(arguments); + } + } + + osmEntity$$1.node = osmNode; + + osmNode.prototype = Object.create(osmEntity$$1.prototype); + + assignIn(osmNode.prototype, { + + type: 'node', + + + extent: function() { + return new geoExtent$$1(this.loc); + }, + + + geometry: function(graph) { + return graph.transient(this, 'geometry', function() { + return graph.isPoi(this) ? 'point' : 'vertex'; + }); + }, + + + move: function(loc) { + return this.update({loc: loc}); + }, + + + isDegenerate: function() { + return !( + Array.isArray(this.loc) && this.loc.length === 2 && + this.loc[0] >= -180 && this.loc[0] <= 180 && + this.loc[1] >= -90 && this.loc[1] <= 90 + ); + }, + + + // Inspect tags and geometry to determine which direction(s) this node/vertex points + directions: function(resolver, projection) { + var val; + var i; + + // which tag to use? + if (this.isHighwayIntersection(resolver) && (this.tags.stop || '').toLowerCase() === 'all') { + // all-way stop tag on a highway intersection + val = 'all'; + } else { + // generic direction tag + val = (this.tags.direction || '').toLowerCase(); + + // better suffix-style direction tag + var re = /:direction$/i; + var keys = Object.keys(this.tags); + for (i = 0; i < keys.length; i++) { + if (re.test(keys[i])) { + val = this.tags[keys[i]].toLowerCase(); + break; + } + } + } + + if (val === '') return []; + + var cardinal = { + north: 0, n: 0, + northnortheast: 22, nne: 22, + northeast: 45, ne: 45, + eastnortheast: 67, ene: 67, + east: 90, e: 90, + eastsoutheast: 112, ese: 112, + southeast: 135, se: 135, + southsoutheast: 157, sse: 157, + south: 180, s: 180, + southsouthwest: 202, ssw: 202, + southwest: 225, sw: 225, + westsouthwest: 247, wsw: 247, + west: 270, w: 270, + westnorthwest: 292, wnw: 292, + northwest: 315, nw: 315, + northnorthwest: 337, nnw: 337 + }; + + + var values = val.split(';'); + var results = []; + + values.forEach(function(v) { + // swap cardinal for numeric directions + if (cardinal[v] !== undefined) { + v = cardinal[v]; + } + + // numeric direction - just add to results + if (v !== '' && !isNaN(+v)) { + results.push(+v); + return; + } + + // string direction - inspect parent ways + var lookBackward = + (this.tags['traffic_sign:backward'] || v === 'backward' || v === 'both' || v === 'all'); + var lookForward = + (this.tags['traffic_sign:forward'] || v === 'forward' || v === 'both' || v === 'all'); + + if (!lookForward && !lookBackward) return; + + var nodeIds = {}; + resolver.parentWays(this).forEach(function(parent) { + var nodes = parent.nodes; + for (i = 0; i < nodes.length; i++) { + if (nodes[i] === this.id) { // match current entity + if (lookForward && i > 0) { + nodeIds[nodes[i - 1]] = true; // look back to prev node + } + if (lookBackward && i < nodes.length - 1) { + nodeIds[nodes[i + 1]] = true; // look ahead to next node + } + } + } + }, this); + + Object.keys(nodeIds).forEach(function(nodeId) { + // +90 because geoAngle returns angle from X axis, not Y (north) + results.push( + (geoAngle(this, resolver.entity(nodeId), projection) * (180 / Math.PI)) + 90 + ); + }, this); + + }, this); + + return uniq(results); + }, + + + isEndpoint: function(resolver) { + return resolver.transient(this, 'isEndpoint', function() { + var id = this.id; + return resolver.parentWays(this).filter(function(parent) { + return !parent.isClosed() && !!parent.affix(id); + }).length > 0; + }); + }, + + + isConnected: function(resolver) { + return resolver.transient(this, 'isConnected', function() { + var parents = resolver.parentWays(this); + + function isLine(entity) { + return entity.geometry(resolver) === 'line' && + entity.hasInterestingTags(); + } + + // vertex is connected to multiple parent lines + if (parents.length > 1 && some(parents, isLine)) { + return true; + + } else if (parents.length === 1) { + var way = parents[0], + nodes = way.nodes.slice(); + if (way.isClosed()) { nodes.pop(); } // ignore connecting node if closed + + // return true if vertex appears multiple times (way is self intersecting) + return nodes.indexOf(this.id) !== nodes.lastIndexOf(this.id); + } + + return false; + }); + }, + + + isIntersection: function(resolver) { + return resolver.transient(this, 'isIntersection', function() { + return resolver.parentWays(this).filter(function(parent) { + return (parent.tags.highway || + parent.tags.waterway || + parent.tags.railway || + parent.tags.aeroway) && + parent.geometry(resolver) === 'line'; + }).length > 1; + }); + }, + + + isHighwayIntersection: function(resolver) { + return resolver.transient(this, 'isHighwayIntersection', function() { + return resolver.parentWays(this).filter(function(parent) { + return parent.tags.highway && parent.geometry(resolver) === 'line'; + }).length > 1; + }); + }, + + + 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: { + '@id': this.osmId(), + '@lon': this.loc[0], + '@lat': this.loc[1], + '@version': (this.version || 0), + tag: map$3(this.tags, function(v, k) { + return { keyAttributes: { k: k, v: v } }; + }) + } + }; + if (changeset_id) r.node['@changeset'] = changeset_id; + return r; + }, + + + asGeoJSON: function() { + return { + type: 'Point', + coordinates: this.loc + }; + } + }); + + /** Error message constants. */ + var FUNC_ERROR_TEXT$1 = 'Expected a function'; + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT$1); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + + /** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['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) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(baseIteratee(predicate, 3))); + } + + /** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ + function transform$1(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = baseIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; + } + + /* + Order the nodes of a way in reverse order and reverse any direction dependent tags + other than `oneway`. (We assume that correcting a backwards oneway is the primary + reason for reversing a way.) + + The following transforms are performed: + + Keys: + *:right=* ⟺ *:left=* + *:forward=* ⟺ *:backward=* + direction=up ⟺ direction=down + incline=up ⟺ incline=down + *=right ⟺ *=left + + Relation members: + role=forward ⟺ role=backward + role=north ⟺ role=south + role=east ⟺ role=west + + In addition, numeric-valued `incline` tags are negated. + + The JOSM implementation was used as a guide, but transformations that were of unclear benefit + or adjusted tags that don't seem to be used in practice were omitted. + + Also, each node on the way is examined for its own tags and the following transformations are performed + in order to ensure associated nodes (eg a Stop Sign) is also reversed + + Node Keys: + *direction=forward ⟺ *direction=backward + *direction=left ⟺ *direction=right + *:forward=* ⟺ *:backward=* + *:left=* ⟺ *:right=* + + References: + http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right + http://wiki.openstreetmap.org/wiki/Key:direction#Steps + http://wiki.openstreetmap.org/wiki/Key:incline + http://wiki.openstreetmap.org/wiki/Route#Members + http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java + http://wiki.openstreetmap.org/wiki/Tag:highway%3Dstop + http://wiki.openstreetmap.org/wiki/Key:traffic_sign#On_a_way_or_area + */ + function actionReverse(wayId, options) { + var replacements = [ + [/:right$/, ':left'], [/:left$/, ':right'], + [/:forward$/, ':backward'], [/:backward$/, ':forward'] + ], + numeric = /^([+\-]?)(?=[\d.])/, + roleReversals = { + forward: 'backward', + backward: 'forward', + north: 'south', + south: 'north', + east: 'west', + west: 'east' + }; + + + function reverseKey(key) { + for (var i = 0; i < replacements.length; ++i) { + var replacement = replacements[i]; + if (replacement[0].test(key)) { + return key.replace(replacement[0], replacement[1]); + } + } + return key; + } + + + function reverseValue(key, value) { + if (key === 'incline' && numeric.test(value)) { + return value.replace(numeric, function(_, sign) { return sign === '-' ? '' : '-'; }); + } else if (key === 'incline' || key === 'direction') { + return {up: 'down', down: 'up'}[value] || value; + } else if (options && options.reverseOneway && key === 'oneway') { + return {yes: '-1', '1': '-1', '-1': 'yes'}[value] || value; + } else { + return {left: 'right', right: 'left'}[value] || value; + } + } + + + function reverseDirectionTags(node) { + // Update the direction based tags as appropriate then return an updated node + return node.update({tags: transform$1(node.tags, function(acc, tagValue, tagKey) { + // See if this is a direction tag and reverse (or use existing value if not recognised) + var re = /direction$/; + if (re.test(tagKey)) { + acc[tagKey] = {forward: 'backward', backward: 'forward', left: 'right', right: 'left'}[tagValue] || tagValue; + } else { + // Use the reverseKey method to cater for situations such as traffic_sign:forward=stop + // This will pass through other tags unchanged + acc[reverseKey(tagKey)] = tagValue; + } + return acc; + }, {})}); + } + + + function reverseTagsOnNodes(graph, nodeIds) { + // Reverse the direction of appropriate tags attached to the nodes (#3076) + return nodeIds + // Get each node from the graph + .map(function(nodeId) { return graph.entity(nodeId);}) + // Check tags on the node, if there aren't any, we can skip + .filter(function(existingNode) { return existingNode.tags !== undefined;}) + // Get a new version of each node with the appropriate tags reversed + .map(function(existingNode) { return reverseDirectionTags(existingNode);}) + // Chain together consecutive updates to the graph for each updated node and return + .reduce(function (accGraph, value) { return accGraph.replace(value); }, graph); + } + + + return function(graph) { + var way = graph.entity(wayId), + nodes = way.nodes.slice().reverse(), + tags = {}, key, role; + + for (key in way.tags) { + tags[reverseKey(key)] = reverseValue(key, way.tags[key]); + } + + graph.parentRelations(way).forEach(function(relation) { + relation.members.forEach(function(member, index) { + if (member.id === way.id && (role = roleReversals[member.role])) { + relation = relation.updateMember({role: role}, index); + graph = graph.replace(relation); + } + }); + }); + + // Reverse any associated directions on nodes on the way and then replace + // the way itself with the reversed node ids and updated way tags + return reverseTagsOnNodes(graph, nodes).replace(way.update({nodes: nodes, tags: tags})); + }; + } + + /** `Object#toString` result references. */ + var numberTag$4 = '[object Number]'; + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag$4); + } + + /** `Object#toString` result references. */ + var stringTag$4 = '[object String]'; + + /** + * 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 a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag$4); + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN$1(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + function osmLanes(entity) { + if (entity.type !== 'way') return null; + if (!entity.tags.highway) return null; + + var tags = entity.tags; + var isOneWay = entity.isOneWay(); + var laneCount = getLaneCount(tags, isOneWay); + var maxspeed = parseMaxspeed(tags); + + var laneDirections = parseLaneDirections(tags, isOneWay, laneCount); + var forward = laneDirections.forward; + var backward = laneDirections.backward; + var bothways = laneDirections.bothways; + + // parse the piped string 'x|y|z' format + var turnLanes = {}; + turnLanes.unspecified = parseTurnLanes(tags['turn:lanes']); + turnLanes.forward = parseTurnLanes(tags['turn:lanes:forward']); + turnLanes.backward = parseTurnLanes(tags['turn:lanes:backward']); + + var maxspeedLanes = {}; + maxspeedLanes.unspecified = parseMaxspeedLanes(tags['maxspeed:lanes'], maxspeed); + maxspeedLanes.forward = parseMaxspeedLanes(tags['maxspeed:lanes:forward'], maxspeed); + maxspeedLanes.backward = parseMaxspeedLanes(tags['maxspeed:lanes:backward'], maxspeed); + + var psvLanes = {}; + psvLanes.unspecified = parseMiscLanes(tags['psv:lanes']); + psvLanes.forward = parseMiscLanes(tags['psv:lanes:forward']); + psvLanes.backward = parseMiscLanes(tags['psv:lanes:backward']); + + var busLanes = {}; + busLanes.unspecified = parseMiscLanes(tags['bus:lanes']); + busLanes.forward = parseMiscLanes(tags['bus:lanes:forward']); + busLanes.backward = parseMiscLanes(tags['bus:lanes:backward']); + + var taxiLanes = {}; + taxiLanes.unspecified = parseMiscLanes(tags['taxi:lanes']); + taxiLanes.forward = parseMiscLanes(tags['taxi:lanes:forward']); + taxiLanes.backward = parseMiscLanes(tags['taxi:lanes:backward']); + + var hovLanes = {}; + hovLanes.unspecified = parseMiscLanes(tags['hov:lanes']); + hovLanes.forward = parseMiscLanes(tags['hov:lanes:forward']); + hovLanes.backward = parseMiscLanes(tags['hov:lanes:backward']); + + var hgvLanes = {}; + hgvLanes.unspecified = parseMiscLanes(tags['hgv:lanes']); + hgvLanes.forward = parseMiscLanes(tags['hgv:lanes:forward']); + hgvLanes.backward = parseMiscLanes(tags['hgv:lanes:backward']); + + var bicyclewayLanes = {}; + bicyclewayLanes.unspecified = parseBicycleWay(tags['bicycleway:lanes']); + bicyclewayLanes.forward = parseBicycleWay(tags['bicycleway:lanes:forward']); + bicyclewayLanes.backward = parseBicycleWay(tags['bicycleway:lanes:backward']); + + var lanesObj = { + forward: [], + backward: [], + unspecified: [] + }; + + // map forward/backward/unspecified of each lane type to lanesObj + mapToLanesObj(lanesObj, turnLanes, 'turnLane'); + mapToLanesObj(lanesObj, maxspeedLanes, 'maxspeed'); + mapToLanesObj(lanesObj, psvLanes, 'psv'); + mapToLanesObj(lanesObj, busLanes, 'bus'); + mapToLanesObj(lanesObj, taxiLanes, 'taxi'); + mapToLanesObj(lanesObj, hovLanes, 'hov'); + mapToLanesObj(lanesObj, hgvLanes, 'hgv'); + mapToLanesObj(lanesObj, bicyclewayLanes, 'bicycleway'); + + return { + metadata: { + count: laneCount, + oneway: isOneWay, + forward: forward, + backward: backward, + bothways: bothways, + turnLanes: turnLanes, + maxspeed: maxspeed, + maxspeedLanes: maxspeedLanes, + psvLanes: psvLanes, + busLanes: busLanes, + taxiLanes: taxiLanes, + hovLanes: hovLanes, + hgvLanes: hgvLanes, + bicyclewayLanes: bicyclewayLanes + }, + lanes: lanesObj + }; + } + + + function getLaneCount(tags, isOneWay) { + var count; + if (tags.lanes) { + count = parseInt(tags.lanes, 10); + if (count > 0) { + return count; + } + } + + + switch (tags.highway) { + case 'trunk': + case 'motorway': + count = isOneWay ? 2 : 4; + break; + default: + count = isOneWay ? 1 : 2; + break; + } + + return count; + } + + + function parseMaxspeed(tags) { + var maxspeed = tags.maxspeed; + if (isNumber(maxspeed)) return maxspeed; + if (isString(maxspeed)) { + maxspeed = maxspeed.match(/^([0-9][\.0-9]+?)(?:[ ]?(?:km\/h|kmh|kph|mph|knots))?$/g); + if (!maxspeed) return; + return parseInt(maxspeed, 10); + } + } + + + function parseLaneDirections(tags, isOneWay, laneCount) { + var forward = parseInt(tags['lanes:forward'], 10); + var backward = parseInt(tags['lanes:backward'], 10); + var bothways = parseInt(tags['lanes:both_ways'], 10) > 0 ? 1 : 0; + + if (parseInt(tags.oneway, 10) === -1) { + forward = 0; + bothways = 0; + backward = laneCount; + } + else if (isOneWay) { + forward = laneCount; + bothways = 0; + backward = 0; + } + else if (isNaN$1(forward) && isNaN$1(backward)) { + backward = Math.floor((laneCount - bothways) / 2); + forward = laneCount - bothways - backward; + } + else if (isNaN$1(forward)) { + if (backward > laneCount - bothways) { + backward = laneCount - bothways; + } + forward = laneCount - bothways - backward; + } + else if (isNaN$1(backward)) { + if (forward > laneCount - bothways) { + forward = laneCount - bothways; + } + backward = laneCount - bothways - forward; + } + return { + forward: forward, + backward: backward, + bothways: bothways + }; + } + + + function parseTurnLanes(tag){ + if (!tag) return; + + var validValues = [ + 'left', 'slight_left', 'sharp_left', 'through', 'right', 'slight_right', + 'sharp_right', 'reverse', 'merge_to_left', 'merge_to_right', 'none' + ]; + + return tag.split('|') + .map(function (s) { + if (s === '') s = 'none'; + return s.split(';') + .map(function (d) { + return validValues.indexOf(d) === -1 ? 'unknown': d; + }); + }); + } + + + function parseMaxspeedLanes(tag, maxspeed) { + if (!tag) return; + + return tag.split('|') + .map(function (s) { + if (s === 'none') return s; + var m = parseInt(s, 10); + if (s === '' || m === maxspeed) return null; + return isNaN$1(m) ? 'unknown': m; + }); + } + + + function parseMiscLanes(tag) { + if (!tag) return; + + var validValues = [ + 'yes', 'no', 'designated' + ]; + + return tag.split('|') + .map(function (s) { + if (s === '') s = 'no'; + return validValues.indexOf(s) === -1 ? 'unknown': s; + }); + } + + + function parseBicycleWay(tag) { + if (!tag) return; + + var validValues = [ + 'yes', 'no', 'designated', 'lane' + ]; + + return tag.split('|') + .map(function (s) { + if (s === '') s = 'no'; + return validValues.indexOf(s) === -1 ? 'unknown': s; + }); + } + + + function mapToLanesObj(lanesObj, data, key) { + if (data.forward) data.forward.forEach(function(l, i) { + if (!lanesObj.forward[i]) lanesObj.forward[i] = {}; + lanesObj.forward[i][key] = l; + }); + if (data.backward) data.backward.forEach(function(l, i) { + if (!lanesObj.backward[i]) lanesObj.backward[i] = {}; + lanesObj.backward[i][key] = l; + }); + if (data.unspecified) data.unspecified.forEach(function(l, i) { + if (!lanesObj.unspecified[i]) lanesObj.unspecified[i] = {}; + lanesObj.unspecified[i][key] = l; + }); + } + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG$2 = 1, + CLONE_SYMBOLS_FLAG$3 = 4; + + /** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG$2 | CLONE_SYMBOLS_FLAG$3); + } + + /** + * 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 + * @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 invocation. + */ + var now$1 = function() { + return root$2.Date.now(); + }; + + /** Error message constants. */ + var FUNC_ERROR_TEXT$2 = 'Expected a function'; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeMax$2 = Math.max, + nativeMin = Math.min; + + /** + * 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 `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` 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 debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * 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'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. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // 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. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT$2); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax$2(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + 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, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + 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 === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now$1(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now$1()); + } + + function debounced() { + var time = now$1(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity$8; + } + + /** + * 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 use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, castFunction(iteratee)); + } + + /** + * 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. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forOwn(object, iteratee) { + return object && baseForOwn(object, castFunction(iteratee)); + } + + var translations = Object.create(null); + + var currentLocale = 'en'; + var textDirection = 'ltr'; + + function setLocale(_) { + if (translations[_] !== undefined) { + currentLocale = _; + } else if (translations[_.split('-')[0]]) { + currentLocale = _.split('-')[0]; + } + } + + function addTranslation(id, value) { + translations[id] = value; + } + + /** + * Given a string identifier, try to find that string in the current + * language, and return it. This function will be called recursively + * with locale `en` if a string can not be found in the requested language. + * + * @param {string} s string identifier + * @param {object?} o object of token replacements and default string + * @param {string?} loc locale to use + * @returns {string?} locale string + */ + function t(s, o, loc) { + loc = loc || currentLocale; + + var path = s + .split('.') + .map(function (s) { return s.replace('', '.'); }) + .reverse(); + + var rep = translations[loc]; + + while (rep !== undefined && path.length) { + rep = rep[path.pop()]; + } + + if (rep !== undefined) { + if (o) { + for (var k in o) { + rep = rep.replace('{' + k + '}', o[k]); + } + } + return rep; + } + + if (loc !== 'en') { + return t(s, o, 'en'); + } + + if (o && 'default' in o) { + return o.default; + } + + var missing = 'Missing ' + loc + ' translation: ' + s; + if (typeof console !== 'undefined') console.error(missing); // eslint-disable-line + + return missing; + } + + /** + * Given string 'ltr' or 'rtl', save that setting + * + * @param {string} dir ltr or rtl + */ + + function setTextDirection(dir) { + textDirection = dir; + } + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG$3 = 1, + CLONE_SYMBOLS_FLAG$4 = 4; + + /** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG$3 | CLONE_SYMBOLS_FLAG$4, customizer); + } + + /** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; + }); + + /** `Object#toString` result references. */ + var mapTag$7 = '[object Map]', + setTag$7 = '[object Set]'; + + /** Used for built-in method references. */ + var objectProto$h = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty$e = objectProto$h.hasOwnProperty; + + /** + * 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 {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag$1(value); + if (tag == mapTag$7 || tag == setTag$7) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty$e.call(value, key)) { + return false; + } + } + return true; + } + + var detected; + + function utilDetect(force) { + if (detected && !force) return detected; + detected = {}; + + var ua = navigator.userAgent, + m = null; + + m = ua.match(/(edge)\/?\s*(\.?\d+(\.\d+)*)/i); // Edge + if (m !== null) { + detected.browser = m[1]; + detected.version = m[2]; + } + if (!detected.browser) { + m = ua.match(/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i); // IE11 + if (m !== null) { + detected.browser = 'msie'; + detected.version = m[1]; + } + } + if (!detected.browser) { + m = ua.match(/(opr)\/?\s*(\.?\d+(\.\d+)*)/i); // Opera 15+ + if (m !== null) { + detected.browser = 'Opera'; + detected.version = m[2]; + } + } + if (!detected.browser) { + m = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i); + if (m !== null) { + detected.browser = m[1]; + detected.version = m[2]; + m = ua.match(/version\/([\.\d]+)/i); + if (m !== null) detected.version = m[1]; + } + } + if (!detected.browser) { + detected.browser = navigator.appName; + detected.version = navigator.appVersion; + } + + // keep major.minor version only.. + detected.version = detected.version.split(/\W/).slice(0,2).join('.'); + + if (detected.browser.toLowerCase() === 'msie') { + detected.ie = true; + detected.browser = 'Internet Explorer'; + detected.support = parseFloat(detected.version) >= 11; + } else { + detected.ie = false; + detected.support = true; + } + + // Added due to incomplete svg style support. See #715 + detected.opera = (detected.browser.toLowerCase() === 'opera' && parseFloat(detected.version) < 15 ); + + detected.locale = (navigator.language || navigator.userLanguage || 'en-US'); + detected.language = detected.locale.split('-')[0]; + + // Search `navigator.languages` for a better locale.. Prefer the first language, + // unless the second language is a culture-specific version of the first one, see #3842 + if (navigator.languages && navigator.languages.length > 0) { + var code0 = navigator.languages[0], + parts0 = code0.split('-'); + + detected.locale = code0; + detected.language = parts0[0]; + + if (navigator.languages.length > 1 && parts0.length === 1) { + var code1 = navigator.languages[1], + parts1 = code1.split('-'); + + if (parts1[0] === parts0[0]) { + detected.locale = code1; + } + } + } + + // Loaded locale is stored in currentLocale + // return that instead (except in the situation where 'en' might override 'en-US') + var loadedLocale = currentLocale || 'en'; + if (loadedLocale !== 'en') { + detected.locale = loadedLocale; + detected.language = detected.locale.split('-')[0]; + } + + // detect text direction + var q = utilStringQs(window.location.hash.substring(1)); + var lang = dataLocales[detected.locale]; + if ((lang && lang.rtl) || (q.rtl === 'true')) { + detected.textDirection = 'rtl'; + } else { + detected.textDirection = 'ltr'; + } + setTextDirection(detected.textDirection); + + // detect host + var loc = window.top.location; + var origin = loc.origin; + if (!origin) { // for unpatched IE11 + origin = loc.protocol + '//' + loc.hostname + (loc.port ? ':' + loc.port: ''); + } + + detected.host = origin + loc.pathname; + + detected.filedrop = (window.FileReader && 'ondrop' in window); + + detected.download = !(detected.ie || detected.browser.toLowerCase() === 'edge'); + + detected.cssfilters = !(detected.ie || detected.browser.toLowerCase() === 'edge'); + + function nav(x) { + return navigator.userAgent.indexOf(x) !== -1; + } + + if (nav('Win')) { + detected.os = 'win'; + detected.platform = 'Windows'; + } + else if (nav('Mac')) { + detected.os = 'mac'; + detected.platform = 'Macintosh'; + } + else if (nav('X11') || nav('Linux')) { + detected.os = 'linux'; + detected.platform = 'Linux'; + } + else { + detected.os = 'win'; + detected.platform = 'Unknown'; + } + + return detected; + } + + var remove$1 = removeDiacritics; + + var replacementList = [ + { + base: ' ', + chars: "\u00A0", + }, { + base: '0', + chars: "\u07C0", + }, { + base: 'A', + chars: "\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F", + }, { + base: 'AA', + chars: "\uA732", + }, { + base: 'AE', + chars: "\u00C6\u01FC\u01E2", + }, { + base: 'AO', + chars: "\uA734", + }, { + base: 'AU', + chars: "\uA736", + }, { + base: 'AV', + chars: "\uA738\uA73A", + }, { + base: 'AY', + chars: "\uA73C", + }, { + base: 'B', + chars: "\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0181", + }, { + base: 'C', + chars: "\u24b8\uff23\uA73E\u1E08\u0106\u0043\u0108\u010A\u010C\u00C7\u0187\u023B", + }, { + base: 'D', + chars: "\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018A\u0189\u1D05\uA779", + }, { + base: 'Dh', + chars: "\u00D0", + }, { + base: 'DZ', + chars: "\u01F1\u01C4", + }, { + base: 'Dz', + chars: "\u01F2\u01C5", + }, { + base: 'E', + chars: "\u025B\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E\u1D07", + }, { + base: 'F', + chars: "\uA77C\u24BB\uFF26\u1E1E\u0191\uA77B", + }, { + base: 'G', + chars: "\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E\u0262", + }, { + base: 'H', + chars: "\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D", + }, { + base: 'I', + chars: "\u24BE\uFF29\xCC\xCD\xCE\u0128\u012A\u012C\u0130\xCF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197", + }, { + base: 'J', + chars: "\u24BF\uFF2A\u0134\u0248\u0237", + }, { + base: 'K', + chars: "\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2", + }, { + base: 'L', + chars: "\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780", + }, { + base: 'LJ', + chars: "\u01C7", + }, { + base: 'Lj', + chars: "\u01C8", + }, { + base: 'M', + chars: "\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C\u03FB", + }, { + base: 'N', + chars: "\uA7A4\u0220\u24C3\uFF2E\u01F8\u0143\xD1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u019D\uA790\u1D0E", + }, { + base: 'NJ', + chars: "\u01CA", + }, { + base: 'Nj', + chars: "\u01CB", + }, { + base: 'O', + chars: "\u24C4\uFF2F\xD2\xD3\xD4\u1ED2\u1ED0\u1ED6\u1ED4\xD5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\xD6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\xD8\u01FE\u0186\u019F\uA74A\uA74C", + }, { + base: 'OE', + chars: "\u0152", + }, { + base: 'OI', + chars: "\u01A2", + }, { + base: 'OO', + chars: "\uA74E", + }, { + base: 'OU', + chars: "\u0222", + }, { + base: 'P', + chars: "\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754", + }, { + base: 'Q', + chars: "\u24C6\uFF31\uA756\uA758\u024A", + }, { + base: 'R', + chars: "\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782", + }, { + base: 'S', + chars: "\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784", + }, { + base: 'T', + chars: "\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786", + }, { + base: 'Th', + chars: "\u00DE", + }, { + base: 'TZ', + chars: "\uA728", + }, { + base: 'U', + chars: "\u24CA\uFF35\xD9\xDA\xDB\u0168\u1E78\u016A\u1E7A\u016C\xDC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244", + }, { + base: 'V', + chars: "\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245", + }, { + base: 'VY', + chars: "\uA760", + }, { + base: 'W', + chars: "\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72", + }, { + base: 'X', + chars: "\u24CD\uFF38\u1E8A\u1E8C", + }, { + base: 'Y', + chars: "\u24CE\uFF39\u1EF2\xDD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE", + }, { + base: 'Z', + chars: "\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762", + }, { + base: 'a', + chars: "\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250\u0251", + }, { + base: 'aa', + chars: "\uA733", + }, { + base: 'ae', + chars: "\u00E6\u01FD\u01E3", + }, { + base: 'ao', + chars: "\uA735", + }, { + base: 'au', + chars: "\uA737", + }, { + base: 'av', + chars: "\uA739\uA73B", + }, { + base: 'ay', + chars: "\uA73D", + }, { + base: 'b', + chars: "\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253\u0182", + }, { + base: 'c', + chars: "\uFF43\u24D2\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184", + }, { + base: 'd', + chars: "\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\u018B\u13E7\u0501\uA7AA", + }, { + base: 'dh', + chars: "\u00F0", + }, { + base: 'dz', + chars: "\u01F3\u01C6", + }, { + base: 'e', + chars: "\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u01DD", + }, { + base: 'f', + chars: "\u24D5\uFF46\u1E1F\u0192", + }, { + base: 'ff', + chars: "\uFB00", + }, { + base: 'fi', + chars: "\uFB01", + }, { + base: 'fl', + chars: "\uFB02", + }, { + base: 'ffi', + chars: "\uFB03", + }, { + base: 'ffl', + chars: "\uFB04", + }, { + base: 'g', + chars: "\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\uA77F\u1D79", + }, { + base: 'h', + chars: "\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265", + }, { + base: 'hv', + chars: "\u0195", + }, { + base: 'i', + chars: "\u24D8\uFF49\xEC\xED\xEE\u0129\u012B\u012D\xEF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131", + }, { + base: 'j', + chars: "\u24D9\uFF4A\u0135\u01F0\u0249", + }, { + base: 'k', + chars: "\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3", + }, { + base: 'l', + chars: "\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747\u026D", + }, { + base: 'lj', + chars: "\u01C9", + }, { + base: 'm', + chars: "\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F", + }, { + base: 'n', + chars: "\u24DD\uFF4E\u01F9\u0144\xF1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5\u043B\u0509", + }, { + base: 'nj', + chars: "\u01CC", + }, { + base: 'o', + chars: "\u24DE\uFF4F\xF2\xF3\xF4\u1ED3\u1ED1\u1ED7\u1ED5\xF5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\xF6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\xF8\u01FF\uA74B\uA74D\u0275\u0254\u1D11", + }, { + base: 'oe', + chars: "\u0153", + }, { + base: 'oi', + chars: "\u01A3", + }, { + base: 'oo', + chars: "\uA74F", + }, { + base: 'ou', + chars: "\u0223", + }, { + base: 'p', + chars: "\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755\u03C1", + }, { + base: 'q', + chars: "\u24E0\uFF51\u024B\uA757\uA759", + }, { + base: 'r', + chars: "\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783", + }, { + base: 's', + chars: "\u24E2\uFF53\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B\u0282", + }, { + base: 'ss', + chars: "\xDF", + }, { + base: 't', + chars: "\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787", + }, { + base: 'th', + chars: "\u00FE", + }, { + base: 'tz', + chars: "\uA729", + }, { + base: 'u', + chars: "\u24E4\uFF55\xF9\xFA\xFB\u0169\u1E79\u016B\u1E7B\u016D\xFC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289", + }, { + base: 'v', + chars: "\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C", + }, { + base: 'vy', + chars: "\uA761", + }, { + base: 'w', + chars: "\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73", + }, { + base: 'x', + chars: "\u24E7\uFF58\u1E8B\u1E8D", + }, { + base: 'y', + chars: "\u24E8\uFF59\u1EF3\xFD\u0177\u1EF9\u0233\u1E8F\xFF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF", + }, { + base: 'z', + chars: "\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763", + } + ]; + + var diacriticsMap = {}; + for (var i = 0; i < replacementList.length; i += 1) { + var chars = replacementList[i].chars; + for (var j = 0; j < chars.length; j += 1) { + diacriticsMap[chars[j]] = replacementList[i].base; + } + } + + function removeDiacritics(str) { + return str.replace(/[^\u0000-\u007e]/g, function(c) { + return diacriticsMap[c] || c; + }); + } + + // see https://github.com/openstreetmap/iD/pull/3707 + // https://gist.github.com/mapmeld/556b09ddec07a2044c76e1ef45f01c60 + + var chars$1 = { + // madda above alef + 1570: { initial: 'آ‎', isolated: 'ﺁ', medial: 'ﺁ', final: 'ﺂ' }, + + // hamza above and below alef + 1571: { initial: 'Ø£', isolated: 'ﺃ', medial: '', final: 'ﺄ' }, + // 1572 is ؤ + 1573: { initial: 'Ø¥', isolated: 'ﺇ', medial: '', final: 'ﺈ' }, + // 1574 is ئ + 1575: { initial: 'ا', isolated: 'ا', medial: '', final: 'ﺎ' }, + 1576: { initial: 'ﺑ', isolated: 'ﺏ', medial: 'ﺒ', final: 'ﺐ' }, + + // 1577 Ø© + 1577: { initial: '', isolated: 'Ø©', medial: '', final: 'ﺔ' }, + + 1578: { initial: 'ﺗ', isolated: 'ﺕ', medial: 'ﺘ', final: 'ﺖ' }, + 1579: { initial: 'ﺛ', isolated: 'ﺙ', medial: 'ﺜ', final: 'ﺚ' }, + 1580: { initial: 'ﺟ', isolated: 'ﺝ', medial: 'ﺠ', final: 'ﺞ' }, + 1581: { initial: 'ﺣ', isolated: 'ﺡ', medial: 'ﺤ', final: 'ﺢ' }, + 1582: { initial: 'ﺧ', isolated: 'ﺥ', medial: 'ﺨ', final: 'ﺦ' }, + 1583: { initial: 'ﺩ', isolated: 'ﺩ', medial: '', final: 'ﺪ' }, + 1584: { initial: 'ﺫ', isolated: 'ﺫ', medial: '', final: 'ﺬ' }, + 1585: { initial: 'ﺭ', isolated: 'ﺭ', medial: '', final: 'ﺮ' }, + 1586: { initial: 'ﺯ', isolated: 'ﺯ', medial: '', final: 'ﺰ' }, + 1688: { initial: 'ﮊ', isolated: 'ﮊ', medial: '', final: 'ﮋ' }, + 1587: { initial: 'ﺳ', isolated: 'ﺱ', medial: 'ﺴ', final: 'ﺲ' }, + 1588: { initial: 'ﺷ', isolated: 'ﺵ', medial: 'ﺸ', final: 'ﺶ' }, + 1589: { initial: 'ﺻ', isolated: 'ﺹ', medial: 'ﺼ', final: 'ﺺ' }, + 1590: { initial: 'ﺿ', isolated: 'ﺽ', medial: 'ﻀ', final: 'ﺾ' }, + 1591: { initial: 'ﻃ', isolated: 'ﻁ', medial: 'ﻄ', final: 'ﻂ' }, + 1592: { initial: 'ﻇ', isolated: 'ﻅ', medial: 'ﻈ', final: 'ﻆ' }, + 1593: { initial: 'ﻋ', isolated: 'ﻉ', medial: 'ﻌ', final: 'ﻊ' }, + 1594: { initial: 'ﻏ', isolated: 'ﻍ', medial: 'ﻐ', final: 'ﻎ' }, + + // 1595 Ø» - may be very rare + + 1601: { initial: 'ﻓ', isolated: 'ﻑ', medial: 'ﻔ', final: 'ﻒ' }, + 1602: { initial: 'ﻗ', isolated: 'ﻕ', medial: 'ﻘ', final: 'ﻖ' }, + 1604: { initial: 'ﻟ', isolated: 'ﻝ', medial: 'ï» ', final: 'ﻞ' }, + 1605: { initial: 'ﻣ', isolated: 'ﻡ', medial: 'ﻤ', final: 'ﻢ' }, + 1606: { initial: 'ﻧ', isolated: 'ﻥ', medial: 'ﻨ', final: 'ﻦ' }, + 1607: { initial: 'ﻫ', isolated: 'ﻩ', medial: 'ﻬ', final: 'ﻪ' }, + 1608: { initial: 'ï»­', isolated: 'ï»­', medial: '', final: 'ï»®' }, + + // 1609 ى + 1609: { initial: 'ﯨ', isolated: 'ﻯ', medial: 'ﯩ', final: 'ï»°' }, + // 1610 ي + 1610: { initial: 'ﻳ', isolated: 'ï»±', medial: 'ï»´', final: 'ﻲ' }, + + // short vowel sounds / tashkil markings + + 1662: { initial: 'ﭘ', isolated: 'ﭖ', medial: 'ﭙ', final: 'ﭗ' }, + + 1670: { initial: 'ï­¼', isolated: 'ï­º', medial: 'ï­½', final: 'ï­»' }, + 1603: { initial: 'ﻛ', isolated: 'ﻙ', medial: 'ﻜ', final: 'ﻚ' }, + 1705: { initial: 'ﻛ', isolated: 'ﮎ', medial: 'ﻜ', final: 'ﮏ' }, + 1711: { initial: 'ﮔ', isolated: 'ﮒ', medial: 'ﮕ', final: 'ﮓ' }, + 1740: { initial: 'ﻳ', isolated: 'ﻯ', medial: 'ï»´', final: 'ï»°' }, + 5000: { initial: 'ï»»', isolated: 'ï»»', medial: '', final: 'ﻼ' } + }; + + var rtlRegex = /[\u0590-\u05FF\u0600-\u06FF\u0780-\u07BF]/; + + function fixRTLTextForSvg(inputText) { + var context = true; + var ret = ''; + var rtlBuffer = []; + var arabicRegex = /[\u0600-\u06FF]/g; + var arabicTashkil = /[\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/; + var thaanaVowel = /[\u07A6-\u07B0]/; + var hebrewSign = /[\u0591-\u05bd\u05bf\u05c1-\u05c5\u05c7]/; + + if (!arabicRegex.test(inputText)) { + // Hebrew or Thaana RTL script + for (var n = 0; n < inputText.length; n++) { + var c = inputText[n]; + if ((thaanaVowel.test(c) || hebrewSign.test(c)) && rtlBuffer.length) { + rtlBuffer[rtlBuffer.length - 1] += c; + } else if (rtlRegex.test(c)) { + rtlBuffer.push(c); + } else if (c === ' ' && rtlBuffer.length) { + // whitespace within RTL text + rtlBuffer = [rtlBuffer.reverse().join('') + ' ']; + } else { + // non-RTL character + ret += rtlBuffer.reverse().join('') + c; + rtlBuffer = []; + } + } + } else { + for (var i = 0, l = inputText.length; i < l; i++) { + var code = inputText[i].charCodeAt(0); + var nextCode = inputText[i + 1] ? inputText[i + 1].charCodeAt(0) : 0; + + if (!chars$1[code]) { + if (code === 32 && rtlBuffer.length) { + // whitespace + rtlBuffer = [rtlBuffer.reverse().join('') + ' ']; + } else if (arabicTashkil.test(inputText[i]) && rtlBuffer.length) { + // tashkil mark + rtlBuffer[rtlBuffer.length - 1] += inputText[i]; + } else { + // non-RTL character + ret += rtlBuffer.reverse().join('') + inputText[i]; + rtlBuffer = []; + } + continue; + } + if (context) { + if (i === l - 1 || nextCode === 32) { + rtlBuffer.push(chars$1[code].isolated); + } else { + // special case for لا + if (code === 1604 && nextCode === 1575) { + rtlBuffer.push(chars$1[5000].initial); + i++; + context = true; + continue; + } + rtlBuffer.push(chars$1[code].initial); + } + } else { + if (i === l - 1 || nextCode === 32){ + rtlBuffer.push(chars$1[code].final); + } else { + // special case for ﻼ + if (code === 1604 && nextCode === 1575){ + rtlBuffer.push(chars$1[5000].final); + i++; + context = true; + continue; + } + if (chars$1[code].medial === ''){ + rtlBuffer.push(chars$1[code].final); + } else { + rtlBuffer.push(chars$1[code].medial); + } + } + } + context = (chars$1[code].medial === '') || nextCode === 32; + } + } + ret += rtlBuffer.reverse().join(''); + return ret; + } + + function utilTagText(entity) { + return map$3(entity.tags, function(v, k) { + return k + '=' + v; + }).join(', '); + } + + + function utilEntitySelector(ids) { + return ids.length ? '.' + ids.join(',.') : 'nothing'; + } + + + function utilEntityOrMemberSelector(ids, graph) { + var s = utilEntitySelector(ids); + + ids.forEach(function(id) { + var entity = graph.hasEntity(id); + if (entity && entity.type === 'relation') { + entity.members.forEach(function(member) { + s += ',.' + member.id; + }); + } + }); + + return s; + } + + + function utilGetAllNodes(ids, graph) { + var seen = {}; + var nodes = []; + ids.forEach(getNodes); + return nodes; + + function getNodes(id) { + if (seen[id]) return; + seen[id] = true; + + var entity = graph.hasEntity(id); + if (!entity) return; + + if (entity.type === 'node') { + nodes.push(entity); + } else if (entity.type === 'way') { + entity.nodes.forEach(getNodes); + } else { + entity.members.map(function(member) { return member.id; }).forEach(getNodes); + } + } + } + + + function utilDisplayName(entity) { + var localizedNameKey = 'name:' + utilDetect().locale.toLowerCase().split('-')[0], + name = entity.tags[localizedNameKey] || entity.tags.name || '', + network = entity.tags.cycle_network || entity.tags.network; + + if (!name && entity.tags.ref) { + name = entity.tags.ref; + if (network) { + name = network + ' ' + name; + } + } + + return name; + } + + + function utilDisplayNameForPath(entity) { + var name = utilDisplayName(entity); + var isFirefox = utilDetect().browser.toLowerCase().indexOf('firefox') > -1; + + if (!isFirefox && name && rtlRegex.test(name)) { + name = fixRTLTextForSvg(name); + } + + return name; + } + + + function utilDisplayType(id) { + return { + n: t('inspector.node'), + w: t('inspector.way'), + r: t('inspector.relation') + }[id.charAt(0)]; + } + + + function utilStringQs(str) { + return str.split('&').reduce(function(obj, pair){ + var parts = pair.split('='); + if (parts.length === 2) { + obj[parts[0]] = (null === parts[1]) ? '' : decodeURIComponent(parts[1]); + } + return obj; + }, {}); + } + + + function utilQsString(obj, noencode) { + function softEncode(s) { + // encode everything except special characters used in certain hash parameters: + // "/" in map states, ":", ",", {" and "}" in background + return encodeURIComponent(s).replace(/(%2F|%3A|%2C|%7B|%7D)/g, decodeURIComponent); + } + return Object.keys(obj).sort().map(function(key) { + return encodeURIComponent(key) + '=' + ( + noencode ? softEncode(obj[key]) : encodeURIComponent(obj[key])); + }).join('&'); + } + + + function utilPrefixDOMProperty(property) { + var prefixes = ['webkit', 'ms', 'moz', 'o'], + i = -1, + n = prefixes.length, + s = document.body; + + if (property in s) + return property; + + property = property.substr(0, 1).toUpperCase() + property.substr(1); + + while (++i < n) + if (prefixes[i] + property in s) + return prefixes[i] + property; + + return false; + } + + + function utilPrefixCSSProperty(property) { + var prefixes = ['webkit', 'ms', 'Moz', 'O'], + i = -1, + n = prefixes.length, + s = document.body.style; + + if (property.toLowerCase() in s) + return property.toLowerCase(); + + while (++i < n) + if (prefixes[i] + property in s) + return '-' + prefixes[i].toLowerCase() + property.replace(/([A-Z])/g, '-$1').toLowerCase(); + + return false; + } + + + var transformProperty; + function utilSetTransform(el, x, y, scale) { + var prop = transformProperty = transformProperty || utilPrefixCSSProperty('Transform'), + translate = utilDetect().opera ? + 'translate(' + x + 'px,' + y + 'px)' : + 'translate3d(' + x + 'px,' + y + 'px,0)'; + return el.style(prop, translate + (scale ? ' scale(' + scale + ')' : '')); + } + + + // Calculates Levenshtein distance between two strings + // see: https://en.wikipedia.org/wiki/Levenshtein_distance + // first converts the strings to lowercase and replaces diacritic marks with ascii equivalents. + function utilEditDistance(a, b) { + a = remove$1(a.toLowerCase()); + b = remove$1(b.toLowerCase()); + if (a.length === 0) return b.length; + if (b.length === 0) return a.length; + var matrix = []; + for (var i = 0; i <= b.length; i++) { matrix[i] = [i]; } + for (var j = 0; j <= a.length; j++) { matrix[0][j] = j; } + for (i = 1; i <= b.length; i++) { + for (j = 1; j <= a.length; j++) { + if (b.charAt(i-1) === a.charAt(j-1)) { + matrix[i][j] = matrix[i-1][j-1]; + } else { + matrix[i][j] = Math.min(matrix[i-1][j-1] + 1, // substitution + Math.min(matrix[i][j-1] + 1, // insertion + matrix[i-1][j] + 1)); // deletion + } + } + } + return matrix[b.length][a.length]; + } + + + // a d3.mouse-alike which + // 1. Only works on HTML elements, not SVG + // 2. Does not cause style recalculation + function utilFastMouse(container) { + var rect = container.getBoundingClientRect(), + rectLeft = rect.left, + rectTop = rect.top, + clientLeft = +container.clientLeft, + clientTop = +container.clientTop; + if (textDirection === 'rtl') { + rectLeft = 0; + } + return function(e) { + return [ + e.clientX - rectLeft - clientLeft, + e.clientY - rectTop - clientTop]; + }; + } + + + /* eslint-disable no-proto */ + var utilGetPrototypeOf = Object.getPrototypeOf || function(obj) { return obj.__proto__; }; + /* eslint-enable no-proto */ + + + function utilAsyncMap(inputs, func, callback) { + var remaining = inputs.length, + results = [], + errors = []; + + inputs.forEach(function(d, i) { + func(d, function done(err, data) { + errors[i] = err; + results[i] = data; + remaining--; + if (!remaining) callback(errors, results); + }); + }); + } + + + // wraps an index to an interval [0..length-1] + function utilWrap(index, length) { + if (index < 0) + index += Math.ceil(-index/length)*length; + return index % length; + } + + + /** + * a replacement for functor + * + * @param {*} value any value + * @returns {Function} a function that returns that value or the value if it's a function + */ + function utilFunctor(value) { + if (typeof value === 'function') return value; + return function() { + return value; + }; + } + + + function utilNoAuto(selection) { + var isText = (selection.size() && selection.node().tagName.toLowerCase() === 'textarea'); + + return selection + .attr('autocomplete', 'off') + .attr('autocorrect', 'off') + .attr('autocapitalize', 'off') + .attr('spellcheck', isText ? 'true' : 'false'); + } + + // note the function should be of low priority + // and should not be returning a value. + function utilCallWhenIdle(func, timeout) { + return function() { + var args = arguments; + var that = this; + window.requestIdleCallback(function() { + func.apply(that, args); + }, {timeout: timeout}); + }; + } + + function utilCleanTags(tags) { + var out = {}; + for (var k in tags) { + if (!k) continue; + var v = tags[k]; + if (v !== undefined) { + out[k] = cleanValue(k, v); + } + } + + return out; + + + function cleanValue(k, v) { + function keepSpaces(k) { + return /_hours|_times|:conditional$/.test(k); + } + + function skip(k) { + return /^(description|note|fixme)$/.test(k); + } + + if (skip(k)) return v; + + var cleaned = v + .split(';') + .map(function(s) { return s.trim(); }) + .join(keepSpaces(k) ? '; ' : ';'); + + // The code below is not intended to validate websites and emails. + // It is only intended to prevent obvious copy-paste errors. (#2323) + // clean website- and email-like tags + if (k.indexOf('website') !== -1 || + k.indexOf('email') !== -1 || + cleaned.indexOf('http') === 0) { + cleaned = cleaned + .replace(/[\u200B-\u200F\uFEFF]/g, ''); // strip LRM and other zero width chars + + } + + return cleaned; + } + } + + // Like selection.property('value', ...), but avoids no-op value sets, + // which can result in layout/repaint thrashing in some situations. + function utilGetSetValue(selection, value) { + function d3_selection_value(value) { + function valueNull() { + delete this.value; + } + + function valueConstant() { + if (this.value !== value) { + this.value = value; + } + } + + function valueFunction() { + var x = value.apply(this, arguments); + if (x == null) { + delete this.value; + } else if (this.value !== x) { + this.value = x; + } + } + + return value == null + ? valueNull : (typeof value === 'function' + ? valueFunction : valueConstant); + } + + if (arguments.length === 1) { + return selection.property('value'); + } + + return selection.each(d3_selection_value(value)); + } + + function utilIdleWorker(tasks, processor, callback) { + var results = [], result; + for (var i = 0; i < tasks.length; i++) { + result = processor(tasks[i]); + if (result) results.push(result); + } + callback(results); + + // var processed = []; + // var currentPos = 0; + // var totalTasks = tasks.length; + + // function worker(deadline) { + // while (deadline.timeRemaining() > 0 && currentPos < totalTasks) { + // var result = processor(tasks[currentPos]); + + // // if falsy dont add to the processed list + // if (result) processed.push(result); + // currentPos++; + // } + + // // more tasks are left, we might need more idleCallbacks + // if (currentPos < totalTasks) { + // return window.requestIdleCallback(function(deadline) {worker(deadline);}); + // } + + // // tasks are completed + // return callback(processed); + // } + + // window.requestIdleCallback(function(deadline) {worker(deadline);}); + } + + // shim + window.requestIdleCallback = + window.requestIdleCallback || + function(cb) { + var start = Date.now(); + return setTimeout(function() { + cb({ + didTimeout: false, + timeRemaining: function() { + return Math.max(0, 50 - (Date.now() - start)); + } + }); + }, 1); + }; + + window.cancelIdleCallback = + window.cancelIdleCallback || + function(id) { + clearTimeout(id); + }; + + // Copies a variable number of methods from source to target. + function utilRebind(target, source) { + var i = 1, n = arguments.length, method; + while (++i < n) { + target[method = arguments[i]] = d3_rebind(target, source, source[method]); + } + return target; + } + + // Method is assumed to be a standard D3 getter-setter: + // If passed with no arguments, gets the value. + // If passed with arguments, sets the value and returns the target. + function d3_rebind(target, source, method) { + return function() { + var value = method.apply(source, arguments); + return value === source ? target : value; + }; + } + + // A per-domain session mutex backed by a cookie and dead man's + // switch. If the session crashes, the mutex will auto-release + // after 5 seconds. + + // This accepts a string and returns an object that complies with utilSessionMutexType + function utilSessionMutex(name) { + var mutex = {}; + var intervalID; + + function renew() { + var expires = new Date(); + expires.setSeconds(expires.getSeconds() + 5); + document.cookie = name + '=1; expires=' + expires.toUTCString(); + } + + mutex.lock = function () { + if (intervalID) return true; + var cookie = document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1'); + if (cookie) return false; + renew(); + intervalID = window.setInterval(renew, 4000); + return true; + }; + + mutex.unlock = function () { + if (!intervalID) return; + document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT'; + clearInterval(intervalID); + intervalID = null; + }; + + mutex.locked = function () { + return !!intervalID; + }; + + return mutex; + } + + function utilSuggestNames(preset, suggestions) { + preset = preset.id.split('/', 2); + var k = preset[0], + v = preset[1]; + + return function(value, callback) { + var result = []; + if (value && value.length > 2) { + if (suggestions[k] && suggestions[k][v]) { + for (var sugg in suggestions[k][v]) { + var dist = utilEditDistance(value, sugg.substring(0, value.length)); + if (dist < 3) { + result.push({ + title: sugg, + value: sugg, + dist: dist + }); + } + } + } + result.sort(function(a, b) { + return a.dist - b.dist; + }); + } + result = result.slice(0,3); + callback(result); + }; + } + + function utilTriggerEvent(target, type) { + target.each(function() { + var evt = document.createEvent('HTMLEvents'); + evt.initEvent(type, true, true); + this.dispatchEvent(evt); + }); + } + + function validationDeprecatedTag() { + + var validation = function(changes) { + var warnings = []; + for (var i = 0; i < changes.created.length; i++) { + var change = changes.created[i], + deprecatedTags = change.deprecatedTags(); + + if (!isEmpty(deprecatedTags)) { + var tags = utilTagText({ tags: deprecatedTags }); + warnings.push({ + id: 'deprecated_tags', + message: t('validations.deprecated_tags', { tags: tags }), + entity: change + }); + } + } + + return warnings; + }; + + + return validation; + } + + function validationDisconnectedHighway() { + + function isDisconnectedHighway(entity, graph) { + if (!entity.tags.highway) return false; + if (entity.geometry(graph) !== 'line') return false; + + return graph.childNodes(entity) + .every(function(vertex) { + var parents = graph.parentWays(vertex); + if (parents.length === 1) { // standalone vertex + return true; + } else { // shared vertex + return !vertex.tags.entrance && + parents.filter(function(parent) { + return parent.tags.highway && parent !== entity; + }).length === 0; + } + }); + } + + + var validation = function(changes, graph) { + var warnings = []; + for (var i = 0; i < changes.created.length; i++) { + var entity = changes.created[i]; + + if (isDisconnectedHighway(entity, graph)) { + warnings.push({ + id: 'disconnected_highway', + message: t('validations.disconnected_highway'), + tooltip: t('validations.disconnected_highway_tooltip'), + entity: entity + }); + } + } + + return warnings; + }; + + + return validation; + } + + function validationManyDeletions() { + var threshold = 100; + + var validation = function(changes, graph) { + var warnings = []; + var nodes=0, ways=0, areas=0, relations=0; + + changes.deleted.forEach(function(c) { + if (c.type === 'node') {nodes++;} + else if (c.type === 'way' && c.geometry(graph) === 'line') {ways++;} + else if (c.type === 'way' && c.geometry(graph) === 'area') {areas++;} + else if (c.type === 'relation') {relations++;} + }); + if (changes.deleted.length > threshold) { + warnings.push({ + id: 'many_deletions', + message: t('validations.many_deletions', + { n: changes.deleted.length, p: nodes, l: ways, a:areas, r: relations }) + }); + } + + return warnings; + }; + + + return validation; + } + + function validationMissingTag() { + + // Slightly stricter check than Entity#isUsed (#3091) + function hasTags(entity, graph) { + return without(Object.keys(entity.tags), 'area', 'name').length > 0 || + graph.parentRelations(entity).length > 0; + } + + var validation = function(changes, graph) { + var types = ['point', 'line', 'area', 'relation'], + warnings = []; + + for (var i = 0; i < changes.created.length; i++) { + var change = changes.created[i], + geometry = change.geometry(graph); + + if (types.indexOf(geometry) !== -1 && !hasTags(change, graph)) { + warnings.push({ + id: 'missing_tag', + message: t('validations.untagged_' + geometry), + tooltip: t('validations.untagged_' + geometry + '_tooltip'), + entity: change + }); + } + } + + return warnings; + }; + + + return validation; + } + + function validationOldMultipolygon() { + + return function validation(changes, graph) { + var warnings = []; + for (var i = 0; i < changes.created.length; i++) { + var entity = changes.created[i]; + var parent = osmIsSimpleMultipolygonOuterMember(entity, graph); + if (parent) { + warnings.push({ + id: 'old_multipolygon', + message: t('validations.old_multipolygon'), + tooltip: t('validations.old_multipolygon_tooltip'), + entity: parent + }); + } + } + return warnings; + }; + } + + // https://github.com/openstreetmap/josm/blob/mirror/src/org/ + // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80 + function validationTagSuggestsArea() { + + function tagSuggestsArea(tags) { + if (isEmpty(tags)) return false; + + var presence = ['landuse', 'amenities', 'tourism', 'shop']; + for (var i = 0; i < presence.length; i++) { + if (tags[presence[i]] !== undefined) { + return presence[i] + '=' + tags[presence[i]]; + } + } + + if (tags.building && tags.building === 'yes') return 'building=yes'; + } + + + var validation = function(changes, graph) { + var warnings = []; + for (var i = 0; i < changes.created.length; i++) { + var change = changes.created[i], + geometry = change.geometry(graph), + suggestion = (geometry === 'line' ? tagSuggestsArea(change.tags) : undefined); + + if (suggestion) { + warnings.push({ + id: 'tag_suggests_area', + message: t('validations.tag_suggests_area', { tag: suggestion }), + entity: change + }); + } + } + + return warnings; + }; + + + return validation; + } + + + + var Validations = /*#__PURE__*/Object.freeze({ + validationDeprecatedTag: validationDeprecatedTag, + validationDisconnectedHighway: validationDisconnectedHighway, + validationManyDeletions: validationManyDeletions, + validationMissingTag: validationMissingTag, + validationOldMultipolygon: validationOldMultipolygon, + validationTagSuggestsArea: validationTagSuggestsArea + }); + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **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 compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @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 object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /* + iD.Difference represents the difference between two graphs. + It knows how to calculate the set of entities that were + created, modified, or deleted, and also contains the logic + for recursively extending a difference to the complete set + of entities that will require a redraw, taking into account + child and parent relationships. + */ + function coreDifference(base, head) { + var _changes = {}; + var _diff = {}; + var _length = 0; + var i, k, h, b, keys; + + function changed(h, b) { + if (h === b) return false; + if (!h || !b) return true; + + if (h.loc || b.loc) { + if (!h.loc && b.loc || h.loc && !b.loc || + h.loc[0] !== b.loc[0] || h.loc[1] !== b.loc[1]) return true; + } + if (h.nodes || b.nodes) { + if (!isEqual(h.nodes, b.nodes)) return true; + } + if (h.members || b.members) { + if (!isEqual(h.members, b.members)) return true; + } + return !isEqual(h.tags, b.tags); + } + + + keys = Object.keys(head.entities); + for (i = 0; i < keys.length; i++) { + k = keys[i]; + h = head.entities[k]; + b = base.entities[k]; + if (changed(h, b)) { + _changes[k] = {base: b, head: h}; + _length++; + } + } + + keys = Object.keys(base.entities); + for (i = 0; i < keys.length; i++) { + k = keys[i]; + h = head.entities[k]; + b = base.entities[k]; + if (!_changes[k] && changed(h, b)) { + _changes[k] = {base: b, head: h}; + _length++; + } + } + + + function addParents(parents, result) { + for (var i = 0; i < parents.length; i++) { + var parent = parents[i]; + + if (parent.id in result) + continue; + + result[parent.id] = parent; + addParents(head.parentRelations(parent), result); + } + } + + + _diff.length = function length() { + return _length; + }; + + + _diff.changes = function changes() { + return _changes; + }; + + + _diff.extantIDs = function extantIDs() { + var result = []; + forEach(_changes, function(change, id) { + if (change.head) result.push(id); + }); + return result; + }; + + + _diff.modified = function modified() { + var result = []; + forEach(_changes, function(change) { + if (change.base && change.head) result.push(change.head); + }); + return result; + }; + + + _diff.created = function created() { + var result = []; + forEach(_changes, function(change) { + if (!change.base && change.head) result.push(change.head); + }); + return result; + }; + + + _diff.deleted = function deleted() { + var result = []; + forEach(_changes, function(change) { + if (change.base && !change.head) result.push(change.base); + }); + return result; + }; + + + _diff.summary = function summary() { + var relevant = {}; + + function addEntity(entity, graph, changeType) { + relevant[entity.id] = { + entity: entity, + graph: graph, + changeType: changeType + }; + } + + function addParents(entity) { + var parents = head.parentWays(entity); + for (var j = parents.length - 1; j >= 0; j--) { + var parent = parents[j]; + if (!(parent.id in relevant)) addEntity(parent, head, 'modified'); + } + } + + var keys = Object.keys(_changes); + for (var i = 0; i < keys.length; i++) { + var change = _changes[keys[i]]; + + if (change.head && change.head.geometry(head) !== 'vertex') { + addEntity(change.head, head, change.base ? 'modified' : 'created'); + + } else if (change.base && change.base.geometry(base) !== 'vertex') { + addEntity(change.base, base, 'deleted'); + + } else if (change.base && change.head) { // modified vertex + var moved = !isEqual(change.base.loc, change.head.loc); + var retagged = !isEqual(change.base.tags, change.head.tags); + + if (moved) { + addParents(change.head); + } + + if (retagged || (moved && change.head.hasInterestingTags())) { + addEntity(change.head, head, 'modified'); + } + + } else if (change.head && change.head.hasInterestingTags()) { // created vertex + addEntity(change.head, head, 'created'); + + } else if (change.base && change.base.hasInterestingTags()) { // deleted vertex + addEntity(change.base, base, 'deleted'); + } + } + + return values$1(relevant); + }; + + + _diff.complete = function complete(extent) { + var result = {}; + var id, change; + + for (id in _changes) { + change = _changes[id]; + + var h = change.head; + var b = change.base; + var entity = h || b; + + if (extent && + (!h || !h.intersects(extent, head)) && + (!b || !b.intersects(extent, base))) + continue; + + result[id] = h; + + if (entity.type === 'way') { + var nh = h ? h.nodes : []; + var nb = b ? b.nodes : []; + var diff, i; + + diff = difference(nh, nb); + for (i = 0; i < diff.length; i++) { + result[diff[i]] = head.hasEntity(diff[i]); + } + + diff = difference(nb, nh); + for (i = 0; i < diff.length; i++) { + result[diff[i]] = head.hasEntity(diff[i]); + } + } + + addParents(head.parentWays(entity), result); + addParents(head.parentRelations(entity), result); + } + + return result; + }; + + + return _diff; + } + + /** Used for built-in method references. */ + var objectProto$i = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty$f = objectProto$i.hasOwnProperty; + + /** + * 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.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys$1(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty$f.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeMax$3 = Math.max; + + /** + * 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/7.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 _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @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); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values$1(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax$3(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); + } + + function coreGraph$$1(other, mutable) { + if (!(this instanceof coreGraph$$1)) return new coreGraph$$1(other, mutable); + + if (other instanceof coreGraph$$1) { + var base = other.base(); + this.entities = assign(Object.create(base.entities), other.entities); + this._parentWays = assign(Object.create(base.parentWays), other._parentWays); + this._parentRels = assign(Object.create(base.parentRels), other._parentRels); + + } else { + this.entities = Object.create({}); + this._parentWays = Object.create({}); + this._parentRels = Object.create({}); + this.rebase(other || [], [this]); + } + + this.transients = {}; + this._childNodes = {}; + this.frozen = !mutable; + } + + + coreGraph$$1.prototype = { + + hasEntity: function(id) { + return this.entities[id]; + }, + + + entity: function(id) { + var entity = this.entities[id]; + + //https://github.com/openstreetmap/iD/issues/3973#issuecomment-307052376 + if (!entity) { + entity = this.entities.__proto__[id]; // eslint-disable-line no-proto + } + + if (!entity) { + throw new Error('entity ' + id + ' not found'); + } + return entity; + }, + + + transient: function(entity, key, fn) { + var id = entity.id, + transients = this.transients[id] || + (this.transients[id] = {}); + + if (transients[key] !== undefined) { + return transients[key]; + } + + transients[key] = fn.call(entity); + + return transients[key]; + }, + + + parentWays: function(entity) { + var parents = this._parentWays[entity.id], + result = []; + + if (parents) { + for (var i = 0; i < parents.length; i++) { + result.push(this.entity(parents[i])); + } + } + return result; + }, + + + isPoi: function(entity) { + var parentWays = this._parentWays[entity.id]; + return !parentWays || parentWays.length === 0; + }, + + + isShared: function(entity) { + var parentWays = this._parentWays[entity.id]; + return parentWays && parentWays.length > 1; + }, + + + parentRelations: function(entity) { + var parents = this._parentRels[entity.id], + result = []; + + if (parents) { + for (var i = 0; i < parents.length; i++) { + result.push(this.entity(parents[i])); + } + } + return result; + }, + + + childNodes: function(entity) { + if (this._childNodes[entity.id]) return this._childNodes[entity.id]; + if (!entity.nodes) return []; + + var nodes = []; + for (var i = 0; i < entity.nodes.length; i++) { + nodes[i] = this.entity(entity.nodes[i]); + } + + this._childNodes[entity.id] = nodes; + return this._childNodes[entity.id]; + }, + + + base: function() { + return { + 'entities': utilGetPrototypeOf(this.entities), + 'parentWays': utilGetPrototypeOf(this._parentWays), + 'parentRels': utilGetPrototypeOf(this._parentRels) + }; + }, + + + // Unlike other graph methods, rebase mutates in place. This is because it + // is used only during the history operation that merges newly downloaded + // data into each state. To external consumers, it should appear as if the + // graph always contained the newly downloaded data. + rebase: function(entities, stack, force) { + var base = this.base(), + i, j, k, id; + + for (i = 0; i < entities.length; i++) { + var entity = entities[i]; + + if (!entity.visible || (!force && base.entities[entity.id])) + continue; + + // Merging data into the base graph + base.entities[entity.id] = entity; + this._updateCalculated(undefined, entity, base.parentWays, base.parentRels); + + // Restore provisionally-deleted nodes that are discovered to have an extant parent + if (entity.type === 'way') { + for (j = 0; j < entity.nodes.length; j++) { + id = entity.nodes[j]; + for (k = 1; k < stack.length; k++) { + var ents = stack[k].entities; + if (ents.hasOwnProperty(id) && ents[id] === undefined) { + delete ents[id]; + } + } + } + } + } + + for (i = 0; i < stack.length; i++) { + stack[i]._updateRebased(); + } + }, + + + _updateRebased: function() { + var base = this.base(), + i, k, child, id, keys; + + keys = Object.keys(this._parentWays); + for (i = 0; i < keys.length; i++) { + child = keys[i]; + if (base.parentWays[child]) { + for (k = 0; k < base.parentWays[child].length; k++) { + id = base.parentWays[child][k]; + if (!this.entities.hasOwnProperty(id) && !includes(this._parentWays[child], id)) { + this._parentWays[child].push(id); + } + } + } + } + + keys = Object.keys(this._parentRels); + for (i = 0; i < keys.length; i++) { + child = keys[i]; + if (base.parentRels[child]) { + for (k = 0; k < base.parentRels[child].length; k++) { + id = base.parentRels[child][k]; + if (!this.entities.hasOwnProperty(id) && !includes(this._parentRels[child], id)) { + this._parentRels[child].push(id); + } + } + } + } + + this.transients = {}; + + // this._childNodes is not updated, under the assumption that + // ways are always downloaded with their child nodes. + }, + + + // Updates calculated properties (parentWays, parentRels) for the specified change + _updateCalculated: function(oldentity, entity, parentWays, parentRels) { + + parentWays = parentWays || this._parentWays; + parentRels = parentRels || this._parentRels; + + var type = entity && entity.type || oldentity && oldentity.type, + removed, added, ways, rels, i; + + + if (type === 'way') { + + // Update parentWays + if (oldentity && entity) { + removed = difference(oldentity.nodes, entity.nodes); + added = difference(entity.nodes, oldentity.nodes); + } else if (oldentity) { + removed = oldentity.nodes; + added = []; + } else if (entity) { + removed = []; + added = entity.nodes; + } + for (i = 0; i < removed.length; i++) { + parentWays[removed[i]] = without(parentWays[removed[i]], oldentity.id); + } + for (i = 0; i < added.length; i++) { + ways = without(parentWays[added[i]], entity.id); + ways.push(entity.id); + parentWays[added[i]] = ways; + } + + } else if (type === 'relation') { + + // Update parentRels + if (oldentity && entity) { + removed = difference(oldentity.members, entity.members); + added = difference(entity.members, oldentity); + } else if (oldentity) { + removed = oldentity.members; + added = []; + } else if (entity) { + removed = []; + added = entity.members; + } + for (i = 0; i < removed.length; i++) { + parentRels[removed[i].id] = without(parentRels[removed[i].id], oldentity.id); + } + for (i = 0; i < added.length; i++) { + rels = without(parentRels[added[i].id], entity.id); + rels.push(entity.id); + parentRels[added[i].id] = rels; + } + } + }, + + + replace: function(entity) { + if (this.entities[entity.id] === entity) + return this; + + return this.update(function() { + this._updateCalculated(this.entities[entity.id], entity); + this.entities[entity.id] = entity; + }); + }, + + + remove: function(entity) { + return this.update(function() { + this._updateCalculated(entity, undefined); + this.entities[entity.id] = undefined; + }); + }, + + + revert: function(id) { + var baseEntity = this.base().entities[id], + headEntity = this.entities[id]; + + if (headEntity === baseEntity) + return this; + + return this.update(function() { + this._updateCalculated(headEntity, baseEntity); + delete this.entities[id]; + }); + }, + + + update: function() { + var graph = this.frozen ? coreGraph$$1(this, true) : this; + + for (var i = 0; i < arguments.length; i++) { + arguments[i].call(graph, graph); + } + + if (this.frozen) graph.frozen = true; + + return graph; + }, + + + // Obliterates any existing entities + load: function(entities) { + var base = this.base(); + this.entities = Object.create(base.entities); + + for (var i in entities) { + this.entities[i] = entities[i]; + this._updateCalculated(base.entities[i], this.entities[i]); + } + + return this; + } + }; + + function coreTree(head) { + var rtree = rbush_1(), + bboxes = {}, + tree = {}; + + + function entityBBox(entity) { + var bbox = entity.extent(head).bbox(); + bbox.id = entity.id; + bboxes[entity.id] = bbox; + return bbox; + } + + + function updateParents(entity, insertions, memo) { + head.parentWays(entity).forEach(function(way) { + if (bboxes[way.id]) { + rtree.remove(bboxes[way.id]); + insertions[way.id] = way; + } + updateParents(way, insertions, memo); + }); + + head.parentRelations(entity).forEach(function(relation) { + if (memo[entity.id]) return; + memo[entity.id] = true; + if (bboxes[relation.id]) { + rtree.remove(bboxes[relation.id]); + insertions[relation.id] = relation; + } + updateParents(relation, insertions, memo); + }); + } + + + tree.rebase = function(entities, force) { + var insertions = {}; + + for (var i = 0; i < entities.length; i++) { + var entity = entities[i]; + + if (!entity.visible) + continue; + + if (head.entities.hasOwnProperty(entity.id) || bboxes[entity.id]) { + if (!force) { + continue; + } else if (bboxes[entity.id]) { + rtree.remove(bboxes[entity.id]); + } + } + + insertions[entity.id] = entity; + updateParents(entity, insertions, {}); + } + + rtree.load(map$3(insertions, entityBBox)); + + return tree; + }; + + + tree.intersects = function(extent, graph) { + if (graph !== head) { + var diff = coreDifference(head, graph), + insertions = {}; + + head = graph; + + diff.deleted().forEach(function(entity) { + rtree.remove(bboxes[entity.id]); + delete bboxes[entity.id]; + }); + + diff.modified().forEach(function(entity) { + rtree.remove(bboxes[entity.id]); + insertions[entity.id] = entity; + updateParents(entity, insertions, {}); + }); + + diff.created().forEach(function(entity) { + insertions[entity.id] = entity; + }); + + rtree.load(map$3(insertions, entityBBox)); + } + + return rtree.search(extent.bbox()).map(function(bbox) { + return head.entity(bbox.id); + }); + }; + + + return tree; + } + + /* + * This code is licensed under the MIT license. + * + * Copyright © 2013, iD authors. + * + * Portions copyright © 2011, Keith Cirkel + * See https://github.com/keithamus/jwerty + * + */ + function d3keybinding(namespace$$1) { + var bindings = []; + + + function testBindings(isCapturing) { + var didMatch = false, + i, binding; + + // Most key shortcuts will accept either lower or uppercase ('h' or 'H'), + // so we don't strictly match on the shift key, but we prioritize + // shifted bindings first, and fallback to unshifted only if no match. + // (This lets us differentiate between '←'/'⇧←' or '⌘Z'/'⌘⇧Z') + + // priority match shifted bindings first + for (i = 0; i < bindings.length; i++) { + binding = bindings[i]; + if (!binding.event.modifiers.shiftKey) continue; // no shift + if (!!binding.capture !== isCapturing) continue; + if (matches(binding, true)) { + binding.callback(); + didMatch = true; + } + } + + // then unshifted bindings + if (didMatch) return; + for (i = 0; i < bindings.length; i++) { + binding = bindings[i]; + if (binding.event.modifiers.shiftKey) continue; // shift + if (!!binding.capture !== isCapturing) continue; + if (matches(binding, false)) { + binding.callback(); + } + } + + + function matches(binding, testShift) { + var event$$1 = event; + var isMatch = false; + var tryKeyCode = true; + + // Prefer a match on `KeyboardEvent.key` + if (event$$1.key !== undefined) { + tryKeyCode = (event$$1.key.charCodeAt(0) > 255); // outside ISO-Latin-1 + isMatch = true; + + if (binding.event.key === undefined) { + isMatch = false; + } else if (Array.isArray(binding.event.key)) { + if (binding.event.key.map(function(s) { return s.toLowerCase(); }).indexOf(event$$1.key.toLowerCase()) === -1) + isMatch = false; + } else { + if (event$$1.key.toLowerCase() !== binding.event.key.toLowerCase()) + isMatch = false; + } + } + + // Fallback match on `KeyboardEvent.keyCode`, can happen if: + // - browser doesn't support `KeyboardEvent.key` + // - `KeyboardEvent.key` is outside ISO-Latin-1 range (cyrillic?) + if (!isMatch && tryKeyCode) { + isMatch = (event$$1.keyCode === binding.event.keyCode); + } + + if (!isMatch) return false; + + // test modifier keys + if (!(event$$1.ctrlKey && event$$1.altKey)) { // if both are set, assume AltGr and skip it - #4096 + if (event$$1.ctrlKey !== binding.event.modifiers.ctrlKey) return false; + if (event$$1.altKey !== binding.event.modifiers.altKey) return false; + } + if (event$$1.metaKey !== binding.event.modifiers.metaKey) return false; + if (testShift && event$$1.shiftKey !== binding.event.modifiers.shiftKey) return false; + + return true; + } + } + + + function capture() { + testBindings(true); + } + + + function bubble() { + var tagName = select(event.target).node().tagName; + if (tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA') { + return; + } + testBindings(false); + } + + + function keybinding(selection$$1) { + selection$$1 = selection$$1 || select(document); + selection$$1.on('keydown.capture' + namespace$$1, capture, true); + selection$$1.on('keydown.bubble' + namespace$$1, bubble, false); + return keybinding; + } + + + keybinding.off = function(selection$$1) { + bindings = []; + selection$$1 = selection$$1 || select(document); + selection$$1.on('keydown.capture' + namespace$$1, null); + selection$$1.on('keydown.bubble' + namespace$$1, null); + return keybinding; + }; + + + keybinding.on = function(codes, callback, capture) { + var arr = [].concat(codes); + for (var i = 0; i < arr.length; i++) { + var code = arr[i]; + var binding = { + event: { + key: undefined, // preferred + keyCode: 0, // fallback + modifiers: { + shiftKey: false, + ctrlKey: false, + altKey: false, + metaKey: false + } + }, + capture: capture, + callback: callback + }; + + code = code.toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g); + + for (var j = 0; j < code.length; j++) { + // Normalise matching errors + if (code[j] === '++') code[j] = '+'; + + if (code[j] in d3keybinding.modifierCodes) { + binding.event.modifiers[d3keybinding.modifierProperties[d3keybinding.modifierCodes[code[j]]]] = true; + } else { + binding.event.key = d3keybinding.keys[code[j]] || code[j]; + if (code[j] in d3keybinding.keyCodes) { + binding.event.keyCode = d3keybinding.keyCodes[code[j]]; + } + } + } + + bindings.push(binding); + } + + return keybinding; + }; + + return keybinding; + } + + + d3keybinding.modifierCodes = { + // Shift key, ⇧ + '⇧': 16, shift: 16, + // CTRL key, on Mac: ⌃ + '⌃': 17, ctrl: 17, + // ALT key, on Mac: ⌥ (Alt) + '⌥': 18, alt: 18, option: 18, + // META, on Mac: ⌘ (CMD), on Windows (Win), on Linux (Super) + '⌘': 91, meta: 91, cmd: 91, 'super': 91, win: 91 + }; + + d3keybinding.modifierProperties = { + 16: 'shiftKey', + 17: 'ctrlKey', + 18: 'altKey', + 91: 'metaKey' + }; + + d3keybinding.keys = { + // Backspace key, on Mac: ⌫ (Backspace) + '⌫': 'Backspace', backspace: 'Backspace', + // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥ + '⇥': 'Tab', '⇆': 'Tab', tab: 'Tab', + // Return key, ↩ + '↩': 'Enter', 'return': 'Enter', enter: 'Enter', '⌅': 'Enter', + // Pause/Break key + 'pause': 'Pause', 'pause-break': 'Pause', + // Caps Lock key, ⇪ + '⇪': 'CapsLock', caps: 'CapsLock', 'caps-lock': 'CapsLock', + // Escape key, on Mac: ⎋, on Windows: Esc + '⎋': ['Escape', 'Esc'], escape: ['Escape', 'Esc'], esc: ['Escape', 'Esc'], + // Space key + space: [' ', 'Spacebar'], + // Page-Up key, or pgup, on Mac: ↖ + '↖': 'PageUp', pgup: 'PageUp', 'page-up': 'PageUp', + // Page-Down key, or pgdown, on Mac: ↘ + '↘': 'PageDown', pgdown: 'PageDown', 'page-down': 'PageDown', + // END key, on Mac: ⇟ + '⇟': 'End', end: 'End', + // HOME key, on Mac: ⇞ + '⇞': 'Home', home: 'Home', + // Insert key, or ins + ins: 'Insert', insert: 'Insert', + // Delete key, on Mac: ⌦ (Delete) + '⌦': ['Delete', 'Del'], del: ['Delete', 'Del'], 'delete': ['Delete', 'Del'], + // Left Arrow Key, or ← + '←': ['ArrowLeft', 'Left'], left: ['ArrowLeft', 'Left'], 'arrow-left': ['ArrowLeft', 'Left'], + // Up Arrow Key, or ↑ + '↑': ['ArrowUp', 'Up'], up: ['ArrowUp', 'Up'], 'arrow-up': ['ArrowUp', 'Up'], + // Right Arrow Key, or → + '→': ['ArrowRight', 'Right'], right: ['ArrowRight', 'Right'], 'arrow-right': ['ArrowRight', 'Right'], + // Up Arrow Key, or ↓ + '↓': ['ArrowDown', 'Down'], down: ['ArrowDown', 'Down'], 'arrow-down': ['ArrowDown', 'Down'], + // odities, stuff for backward compatibility (browsers and code): + // Num-Multiply, or * + '*': ['*', 'Multiply'], star: ['*', 'Multiply'], asterisk: ['*', 'Multiply'], multiply: ['*', 'Multiply'], + // Num-Plus or + + '+': ['+', 'Add'], 'plus': ['+', 'Add'], + // Num-Subtract, or - + '-': ['-', 'Subtract'], subtract: ['-', 'Subtract'], 'dash': ['-', 'Subtract'], + // Semicolon + semicolon: ';', + // = or equals + equals: '=', + // Comma, or , + comma: ',', + // Period, or ., or full-stop + period: '.', 'full-stop': '.', + // Slash, or /, or forward-slash + slash: '/', 'forward-slash': '/', + // Tick, or `, or back-quote + tick: '`', 'back-quote': '`', + // Open bracket, or [ + 'open-bracket': '[', + // Back slash, or \ + 'back-slash': '\\', + // Close backet, or ] + 'close-bracket': ']', + // Apostrophe, or Quote, or ' + quote: '\'', apostrophe: '\'', + // NUMPAD 0-9 + 'num-0': '0', + 'num-1': '1', + 'num-2': '2', + 'num-3': '3', + 'num-4': '4', + 'num-5': '5', + 'num-6': '6', + 'num-7': '7', + 'num-8': '8', + 'num-9': '9', + // F1-F25 + f1: 'F1', + f2: 'F2', + f3: 'F3', + f4: 'F4', + f5: 'F5', + f6: 'F6', + f7: 'F7', + f8: 'F8', + f9: 'F9', + f10: 'F10', + f11: 'F11', + f12: 'F12', + f13: 'F13', + f14: 'F14', + f15: 'F15', + f16: 'F16', + f17: 'F17', + f18: 'F18', + f19: 'F19', + f20: 'F20', + f21: 'F21', + f22: 'F22', + f23: 'F23', + f24: 'F24', + f25: 'F25' + }; + + d3keybinding.keyCodes = { + // Backspace key, on Mac: ⌫ (Backspace) + '⌫': 8, backspace: 8, + // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥ + '⇥': 9, '⇆': 9, tab: 9, + // Return key, ↩ + '↩': 13, 'return': 13, enter: 13, '⌅': 13, + // Pause/Break key + 'pause': 19, 'pause-break': 19, + // Caps Lock key, ⇪ + '⇪': 20, caps: 20, 'caps-lock': 20, + // Escape key, on Mac: ⎋, on Windows: Esc + '⎋': 27, escape: 27, esc: 27, + // Space key + space: 32, + // Page-Up key, or pgup, on Mac: ↖ + '↖': 33, pgup: 33, 'page-up': 33, + // Page-Down key, or pgdown, on Mac: ↘ + '↘': 34, pgdown: 34, 'page-down': 34, + // END key, on Mac: ⇟ + '⇟': 35, end: 35, + // HOME key, on Mac: ⇞ + '⇞': 36, home: 36, + // Insert key, or ins + ins: 45, insert: 45, + // Delete key, on Mac: ⌦ (Delete) + '⌦': 46, del: 46, 'delete': 46, + // Left Arrow Key, or ← + '←': 37, left: 37, 'arrow-left': 37, + // Up Arrow Key, or ↑ + '↑': 38, up: 38, 'arrow-up': 38, + // Right Arrow Key, or → + '→': 39, right: 39, 'arrow-right': 39, + // Up Arrow Key, or ↓ + '↓': 40, down: 40, 'arrow-down': 40, + // odities, printing characters that come out wrong: + // Firefox Equals + 'ffequals': 61, + // Num-Multiply, or * + '*': 106, star: 106, asterisk: 106, multiply: 106, + // Num-Plus or + + '+': 107, 'plus': 107, + // Num-Subtract, or - + '-': 109, subtract: 109, + // Firefox Plus + 'ffplus': 171, + // Firefox Minus + 'ffminus': 173, + // Semicolon + ';': 186, semicolon: 186, + // = or equals + '=': 187, 'equals': 187, + // Comma, or , + ',': 188, comma: 188, + // Dash / Underscore key + 'dash': 189, + // Period, or ., or full-stop + '.': 190, period: 190, 'full-stop': 190, + // Slash, or /, or forward-slash + '/': 191, slash: 191, 'forward-slash': 191, + // Tick, or `, or back-quote + '`': 192, tick: 192, 'back-quote': 192, + // Open bracket, or [ + '[': 219, 'open-bracket': 219, + // Back slash, or \ + '\\': 220, 'back-slash': 220, + // Close backet, or ] + ']': 221, 'close-bracket': 221, + // Apostrophe, or Quote, or ' + '\'': 222, quote: 222, apostrophe: 222 + }; + + // NUMPAD 0-9 + var i$1 = 95, n = 0; + while (++i$1 < 106) { + d3keybinding.keyCodes['num-' + n] = i$1; + ++n; + } + + // 0-9 + i$1 = 47; n = 0; + while (++i$1 < 58) { + d3keybinding.keyCodes[n] = i$1; + ++n; + } + + // F1-F25 + i$1 = 111; n = 1; + while (++i$1 < 136) { + d3keybinding.keyCodes['f' + n] = i$1; + ++n; + } + + // a-z + i$1 = 64; + while (++i$1 < 91) { + d3keybinding.keyCodes[String.fromCharCode(i$1).toLowerCase()] = i$1; + } + + function tooltip() { + var tooltip = function(selection$$1) { + selection$$1.each(setup); + }, + animation = utilFunctor(false), + html = utilFunctor(false), + title = function() { + var title = this.getAttribute('data-original-title'); + if (title) { + return title; + } else { + title = this.getAttribute('title'); + this.removeAttribute('title'); + this.setAttribute('data-original-title', title); + } + return title; + }, + over = 'mouseenter.tooltip', + out = 'mouseleave.tooltip', + placement = utilFunctor('top'); + + + tooltip.title = function(_) { + if (arguments.length) { + title = utilFunctor(_); + return tooltip; + } else { + return title; + } + }; + + + tooltip.html = function(_) { + if (arguments.length) { + html = utilFunctor(_); + return tooltip; + } else { + return html; + } + }; + + + tooltip.placement = function(_) { + if (arguments.length) { + placement = utilFunctor(_); + return tooltip; + } else { + return placement; + } + }; + + + tooltip.show = function(selection$$1) { + selection$$1.each(show); + }; + + + tooltip.hide = function(selection$$1) { + selection$$1.each(hide); + }; + + + tooltip.toggle = function(selection$$1) { + selection$$1.each(toggle); + }; + + + tooltip.destroy = function(selection$$1) { + selection$$1 + .on(over, null) + .on(out, null) + .attr('title', function() { + return this.getAttribute('data-original-title') || this.getAttribute('title'); + }) + .attr('data-original-title', null) + .selectAll('.tooltip') + .remove(); + }; + + + function setup() { + var root = select(this), + animate = animation.apply(this, arguments), + tip = root.selectAll('.tooltip').data([0]); + + var enter = tip.enter() + .append('div') + .attr('class', 'tooltip'); + + enter + .append('div') + .attr('class', 'tooltip-arrow'); + + enter + .append('div') + .attr('class', 'tooltip-inner'); + + tip = enter + .merge(tip); + + if (animate) { + tip.classed('fade', true); + } + + var place = placement.apply(this, arguments); + tip.classed(place, true); + + root.on(over, show); + root.on(out, hide); + } + + + function show() { + var root = select(this), + content = title.apply(this, arguments), + tip = root.selectAll('.tooltip') + .classed('in', true), + markup = html.apply(this, arguments); + + tip.selectAll('.tooltip-inner')[markup ? 'html' : 'text'](content); + var place = placement.apply(this, arguments), + outer = getPosition(root.node()), + inner = getPosition(tip.node()), + pos; + + switch (place) { + case 'top': + pos = {x: outer.x + (outer.w - inner.w) / 2, y: outer.y - inner.h}; + break; + case 'right': + pos = {x: outer.x + outer.w, y: outer.y + (outer.h - inner.h) / 2}; + break; + case 'left': + pos = {x: outer.x - inner.w, y: outer.y + (outer.h - inner.h) / 2}; + break; + case 'bottom': + pos = {x: Math.max(0, outer.x + (outer.w - inner.w) / 2), y: outer.y + outer.h}; + break; + } + + if (pos) { + tip.style('left', ~~pos.x + 'px').style('top', ~~pos.y + 'px'); + } else { + tip.style('left', null).style('top', null); + } + + this.tooltipVisible = true; + } + + + function hide() { + select(this).selectAll('.tooltip') + .classed('in', false); + + this.tooltipVisible = false; + } + + + function toggle() { + if (this.tooltipVisible) { + hide.apply(this, arguments); + } else { + show.apply(this, arguments); + } + } + + return tooltip; + } + + + function getPosition(node) { + var mode = select(node).style('position'); + if (mode === 'absolute' || mode === 'static') { + return { + x: node.offsetLeft, + y: node.offsetTop, + w: node.offsetWidth, + h: node.offsetHeight + }; + } else { + return { + x: 0, + y: 0, + w: node.offsetWidth, + h: node.offsetHeight + }; + } + } + + function behaviorEdit(context) { + + function edit() { + context.map() + .minzoom(context.minEditableZoom()); + } + + + edit.off = function() { + context.map() + .minzoom(0); + }; + + + return edit; + } + + /* + The hover behavior adds the `.hover` class on mouseover to all elements to which + the identical datum is bound, and removes it on mouseout. + + The :hover pseudo-class is insufficient for iD's purposes because a datum's visual + representation may consist of several elements scattered throughout the DOM hierarchy. + Only one of these elements can have the :hover pseudo-class, but all of them will + have the .hover class. + */ + function behaviorHover(context) { + var dispatch$$1 = dispatch('hover'); + var _selection = select(null); + var _newId = null; + var _buttonDown; + var _altDisables; + var _target; + + + function keydown() { + if (_altDisables && event.keyCode === d3keybinding.modifierCodes.alt) { + _selection.selectAll('.hover') + .classed('hover-suppressed', true) + .classed('hover', false); + + _selection + .classed('hover-disabled', true); + + dispatch$$1.call('hover', this, null); + } + } + + + function keyup() { + if (_altDisables && event.keyCode === d3keybinding.modifierCodes.alt) { + _selection.selectAll('.hover-suppressed') + .classed('hover-suppressed', false) + .classed('hover', true); + + _selection + .classed('hover-disabled', false); + + dispatch$$1.call('hover', this, _target ? _target.id : null); + } + } + + + var hover = function(selection$$1) { + _selection = selection$$1; + _newId = null; + + _selection + .on('mouseover.hover', mouseover) + .on('mouseout.hover', mouseout) + .on('mousedown.hover', mousedown); + + select(window) + .on('keydown.hover', keydown) + .on('keyup.hover', keyup); + + + function mouseover() { + if (_buttonDown) return; + var target = event.target; + enter(target ? target.__data__ : null); + } + + + function mouseout() { + if (_buttonDown) return; + var target = event.relatedTarget; + enter(target ? target.__data__ : null); + } + + + function mousedown() { + _buttonDown = true; + select(window) + .on('mouseup.hover', mouseup, true); + } + + + function mouseup() { + _buttonDown = false; + select(window) + .on('mouseup.hover', null, true); + } + + + function enter(datum) { + if (datum === _target) return; + _target = datum; + + _selection.selectAll('.hover') + .classed('hover', false); + _selection.selectAll('.hover-suppressed') + .classed('hover-suppressed', false); + + var entity; + if (datum instanceof osmEntity$$1) { + entity = datum; + } else { + entity = datum && datum.properties && datum.properties.entity; + } + + if (entity && entity.id !== _newId) { + // If drawing a way, don't hover on a node that was just placed. #3974 + var mode = context.mode() && context.mode().id; + if ((mode === 'draw-line' || mode === 'draw-area') && !_newId && entity.type === 'node') { + _newId = entity.id; + return; + } + + var selector$$1 = '.' + entity.id; + + if (entity.type === 'relation') { + entity.members.forEach(function(member) { + selector$$1 += ', .' + member.id; + }); + } + + var suppressed = _altDisables && event && event.altKey; + + _selection.selectAll(selector$$1) + .classed(suppressed ? 'hover-suppressed' : 'hover', true); + + dispatch$$1.call('hover', this, !suppressed && entity.id); + + } else { + dispatch$$1.call('hover', this, null); + } + } + + }; + + + hover.off = function(selection$$1) { + selection$$1.selectAll('.hover') + .classed('hover', false); + selection$$1.selectAll('.hover-suppressed') + .classed('hover-suppressed', false); + selection$$1 + .classed('hover-disabled', false); + + selection$$1 + .on('mouseover.hover', null) + .on('mouseout.hover', null) + .on('mousedown.hover', null); + + select(window) + .on('keydown.hover', null) + .on('keyup.hover', null); + }; + + + hover.altDisables = function(_) { + if (!arguments.length) return _altDisables; + _altDisables = _; + return hover; + }; + + + return utilRebind(hover, dispatch$$1, 'on'); + } + + function refresh(selection, node) { + var cr = node.getBoundingClientRect(); + var prop = [cr.width, cr.height]; + selection.property('__dimensions__', prop); + return prop; + } + + function utilGetDimensions(selection, force) { + if (!selection || selection.empty()) { + return [0, 0]; + } + var node = selection.node(), + cached = selection.property('__dimensions__'); + return (!cached || force) ? refresh(selection, node) : cached; + } + + + function utilSetDimensions(selection, dimensions) { + if (!selection || selection.empty()) { + return selection; + } + var node = selection.node(); + if (dimensions === null) { + refresh(selection, node); + return selection; + } + return selection + .property('__dimensions__', [dimensions[0], dimensions[1]]) + .attr('width', dimensions[0]) + .attr('height', dimensions[1]); + } + + function behaviorTail() { + var text, + container, + xmargin = 25, + tooltipSize = [0, 0], + selectionSize = [0, 0]; + + + function tail(selection$$1) { + if (!text) return; + + select(window) + .on('resize.tail', function() { selectionSize = utilGetDimensions(selection$$1); }); + + container = select(document.body) + .append('div') + .style('display', 'none') + .attr('class', 'tail tooltip-inner'); + + container.append('div') + .text(text); + + selection$$1 + .on('mousemove.tail', mousemove) + .on('mouseenter.tail', mouseenter) + .on('mouseleave.tail', mouseleave); + + container + .on('mousemove.tail', mousemove); + + tooltipSize = utilGetDimensions(container); + selectionSize = utilGetDimensions(selection$$1); + + + function show() { + container.style('display', 'block'); + tooltipSize = utilGetDimensions(container); + } + + + function mousemove() { + if (container.style('display') === 'none') show(); + var xoffset = ((event.clientX + tooltipSize[0] + xmargin) > selectionSize[0]) ? + -tooltipSize[0] - xmargin : xmargin; + container.classed('left', xoffset > 0); + utilSetTransform(container, event.clientX + xoffset, event.clientY); + } + + + function mouseleave() { + if (event.relatedTarget !== container.node()) { + container.style('display', 'none'); + } + } + + + function mouseenter() { + if (event.relatedTarget !== container.node()) { + show(); + } + } + } + + + tail.off = function(selection$$1) { + if (!text) return; + + container + .on('mousemove.tail', null) + .remove(); + + selection$$1 + .on('mousemove.tail', null) + .on('mouseenter.tail', null) + .on('mouseleave.tail', null); + + select(window) + .on('resize.tail', null); + }; + + + tail.text = function(_) { + if (!arguments.length) return text; + text = _; + return tail; + }; + + + return tail; + } + + var _usedTails = {}; + var _disableSpace = false; + var _lastSpace = null; + + + function behaviorDraw(context) { + var dispatch$$1 = dispatch( + 'move', 'click', 'clickWay', 'clickNode', 'undo', 'cancel', 'finish' + ); + + var keybinding = d3keybinding('draw'); + + var hover = behaviorHover(context).altDisables(true) + .on('hover', context.ui().sidebar.hover); + var tail = behaviorTail(); + var edit = behaviorEdit(context); + + var closeTolerance = 4; + var tolerance = 12; + var _mouseLeave = false; + var _lastMouse = null; + + + // related code + // - `mode/drag_node.js` `datum()` + function datum() { + if (event.altKey) return {}; + + var element; + if (event.type === 'keydown') { + element = _lastMouse && _lastMouse.target; + } else { + element = event.target; + } + + // When drawing, snap only to touch targets.. + // (this excludes area fills and active drawing elements) + var d = element.__data__; + return (d && d.properties && d.properties.target) ? d : {}; + } + + + function mousedown() { + + function point$$1() { + var p = context.container().node(); + return touchId !== null ? d3_touches(p).filter(function(p) { + return p.identifier === touchId; + })[0] : mouse(p); + } + + var element = select(this); + var touchId = event.touches ? event.changedTouches[0].identifier : null; + var t1 = +new Date(); + var p1 = point$$1(); + + element.on('mousemove.draw', null); + + select(window).on('mouseup.draw', function() { + var t2 = +new Date(); + var p2 = point$$1(); + var dist = geoVecLength(p1, p2); + + element.on('mousemove.draw', mousemove); + select(window).on('mouseup.draw', null); + + if (dist < closeTolerance || (dist < tolerance && (t2 - t1) < 500)) { + // Prevent a quick second click + select(window).on('click.draw-block', function() { + event.stopPropagation(); + }, true); + + context.map().dblclickEnable(false); + + window.setTimeout(function() { + context.map().dblclickEnable(true); + select(window).on('click.draw-block', null); + }, 500); + + click(); + } + }, true); + } + + + function mousemove() { + _lastMouse = event; + dispatch$$1.call('move', this, datum()); + } + + + function mouseenter() { + _mouseLeave = false; + } + + + function mouseleave() { + _mouseLeave = true; + } + + + // related code + // - `mode/drag_node.js` `doMode()` + // - `behavior/draw.js` `click()` + // - `behavior/draw_way.js` `move()` + function click() { + var d = datum(); + var target = d && d.properties && d.properties.entity; + + if (target && target.type === 'node') { // Snap to a node + dispatch$$1.call('clickNode', this, target, d); + return; + + } else if (target && target.type === 'way') { // Snap to a way + var choice = geoChooseEdge( + context.childNodes(target), context.mouse(), context.projection, context.activeID() + ); + if (choice) { + var edge = [target.nodes[choice.index - 1], target.nodes[choice.index]]; + dispatch$$1.call('clickWay', this, choice.loc, edge, d); + return; + } + } + + dispatch$$1.call('click', this, context.map().mouseCoordinates(), d); + } + + + function space() { + event.preventDefault(); + event.stopPropagation(); + + var currSpace = context.mouse(); + if (_disableSpace && _lastSpace) { + var dist = geoVecLength(_lastSpace, currSpace); + if (dist > tolerance) { + _disableSpace = false; + } + } + + if (_disableSpace || _mouseLeave || !_lastMouse) return; + + // user must move mouse or release space bar to allow another click + _lastSpace = currSpace; + _disableSpace = true; + + select(window).on('keyup.space-block', function() { + event.preventDefault(); + event.stopPropagation(); + _disableSpace = false; + select(window).on('keyup.space-block', null); + }); + + click(); + } + + + function backspace() { + event.preventDefault(); + dispatch$$1.call('undo'); + } + + + function del() { + event.preventDefault(); + dispatch$$1.call('cancel'); + } + + + function ret() { + event.preventDefault(); + dispatch$$1.call('finish'); + } + + + function draw(selection$$1) { + context.install(hover); + context.install(edit); + + if (!context.inIntro() && !_usedTails[tail.text()]) { + context.install(tail); + } + + keybinding + .on('⌫', backspace) + .on('⌦', del) + .on('⎋', ret) + .on('↩', ret) + .on('space', space) + .on('⌥space', space); + + selection$$1 + .on('mouseenter.draw', mouseenter) + .on('mouseleave.draw', mouseleave) + .on('mousedown.draw', mousedown) + .on('mousemove.draw', mousemove); + + select(document) + .call(keybinding); + + return draw; + } + + + draw.off = function(selection$$1) { + context.ui().sidebar.hover.cancel(); + context.uninstall(hover); + context.uninstall(edit); + + if (!context.inIntro() && !_usedTails[tail.text()]) { + context.uninstall(tail); + _usedTails[tail.text()] = true; + } + + selection$$1 + .on('mouseenter.draw', null) + .on('mouseleave.draw', null) + .on('mousedown.draw', null) + .on('mousemove.draw', null); + + select(window) + .on('mouseup.draw', null); + // note: keyup.space-block, click.draw-block should remain + + select(document) + .call(keybinding.off); + }; + + + draw.tail = function(_) { + tail.text(_); + return draw; + }; + + + return utilRebind(draw, dispatch$$1, 'on'); + } + + function modeAddArea$$1(context) { + var mode = { + id: 'add-area', + button: 'area', + title: t('modes.add_area.title'), + description: t('modes.add_area.description'), + key: '3' + }; + + var behavior = behaviorAddWay(context) + .tail(t('modes.add_area.tail')) + .on('start', start) + .on('startFromWay', startFromWay) + .on('startFromNode', startFromNode), + defaultTags = { area: 'yes' }; + + + function actionClose(wayId) { + return function (graph) { + return graph.replace(graph.entity(wayId).close()); + }; + } + + + function start(loc) { + var startGraph = context.graph(), + node = osmNode({ loc: loc }), + way = osmWay({ tags: defaultTags }); + + context.perform( + actionAddEntity(node), + actionAddEntity(way), + actionAddVertex(way.id, node.id), + actionClose(way.id) + ); + + context.enter(modeDrawArea(context, way.id, startGraph)); + } + + + function startFromWay(loc, edge) { + var startGraph = context.graph(), + node = osmNode({ loc: loc }), + way = osmWay({ tags: defaultTags }); + + context.perform( + actionAddEntity(node), + actionAddEntity(way), + actionAddVertex(way.id, node.id), + actionClose(way.id), + actionAddMidpoint({ loc: loc, edge: edge }, node) + ); + + context.enter(modeDrawArea(context, way.id, startGraph)); + } + + + function startFromNode(node) { + var startGraph = context.graph(), + way = osmWay({ tags: defaultTags }); + + context.perform( + actionAddEntity(way), + actionAddVertex(way.id, node.id), + actionClose(way.id) + ); + + context.enter(modeDrawArea(context, way.id, startGraph)); + } + + + mode.enter = function() { + context.install(behavior); + }; + + + mode.exit = function() { + context.uninstall(behavior); + }; + + + return mode; + } + + function modeAddLine$$1(context) { + var mode = { + id: 'add-line', + button: 'line', + title: t('modes.add_line.title'), + description: t('modes.add_line.description'), + key: '2' + }; + + var behavior = behaviorAddWay(context) + .tail(t('modes.add_line.tail')) + .on('start', start) + .on('startFromWay', startFromWay) + .on('startFromNode', startFromNode); + + + function start(loc) { + var startGraph = context.graph(), + node = osmNode({ loc: loc }), + way = osmWay(); + + context.perform( + actionAddEntity(node), + actionAddEntity(way), + actionAddVertex(way.id, node.id) + ); + + context.enter(modeDrawLine(context, way.id, startGraph)); + } + + + function startFromWay(loc, edge) { + var startGraph = context.graph(), + node = osmNode({ loc: loc }), + way = osmWay(); + + context.perform( + actionAddEntity(node), + actionAddEntity(way), + actionAddVertex(way.id, node.id), + actionAddMidpoint({ loc: loc, edge: edge }, node) + ); + + context.enter(modeDrawLine(context, way.id, startGraph)); + } + + + function startFromNode(node) { + var startGraph = context.graph(), + way = osmWay(); + + context.perform( + actionAddEntity(way), + actionAddVertex(way.id, node.id) + ); + + context.enter(modeDrawLine(context, way.id, startGraph)); + } + + + mode.enter = function() { + context.install(behavior); + }; + + + mode.exit = function() { + context.uninstall(behavior); + }; + + return mode; + } + + function modeAddPoint$$1(context) { + var mode = { + id: 'add-point', + button: 'point', + title: t('modes.add_point.title'), + description: t('modes.add_point.description'), + key: '1' + }; + + var behavior = behaviorDraw(context) + .tail(t('modes.add_point.tail')) + .on('click', add) + .on('clickWay', addWay) + .on('clickNode', addNode) + .on('cancel', cancel) + .on('finish', cancel); + + + function add(loc) { + var node = osmNode({ loc: loc }); + + context.perform( + actionAddEntity(node), + t('operations.add.annotation.point') + ); + + context.enter( + modeSelect(context, [node.id]).newFeature(true) + ); + } + + + function addWay(loc) { + add(loc); + } + + + function addNode(node) { + add(node.loc); + } + + + function cancel() { + context.enter(modeBrowse(context)); + } + + + mode.enter = function() { + context.install(behavior); + }; + + + mode.exit = function() { + context.uninstall(behavior); + }; + + + return mode; + } + + function modeDragNode$$1(context) { + var mode = { + id: 'drag-node', + button: 'browse' + }; + var hover = behaviorHover(context).altDisables(true) + .on('hover', context.ui().sidebar.hover); + var edit = behaviorEdit(context); + + var _nudgeInterval; + var _restoreSelectedIDs = []; + var _wasMidpoint = false; + var _isCancelled = false; + var _activeEntity; + var _startLoc; + var _lastLoc; + + + function startNudge(entity, nudge) { + if (_nudgeInterval) window.clearInterval(_nudgeInterval); + _nudgeInterval = window.setInterval(function() { + context.pan(nudge); + doMove(entity, nudge); + }, 50); + } + + + function stopNudge() { + if (_nudgeInterval) { + window.clearInterval(_nudgeInterval); + _nudgeInterval = null; + } + } + + + function moveAnnotation(entity) { + return t('operations.move.annotation.' + entity.geometry(context.graph())); + } + + + function connectAnnotation(entity) { + return t('operations.connect.annotation.' + entity.geometry(context.graph())); + } + + + function origin(entity) { + return context.projection(entity.loc); + } + + + function keydown() { + if (event.keyCode === d3keybinding.modifierCodes.alt) { + if (context.surface().classed('nope')) { + context.surface() + .classed('nope-suppressed', true); + } + context.surface() + .classed('nope', false) + .classed('nope-disabled', true); + } + } + + + function keyup() { + if (event.keyCode === d3keybinding.modifierCodes.alt) { + if (context.surface().classed('nope-suppressed')) { + context.surface() + .classed('nope', true); + } + context.surface() + .classed('nope-suppressed', false) + .classed('nope-disabled', false); + } + } + + + function start(entity) { + _wasMidpoint = entity.type === 'midpoint'; + var hasHidden = context.features().hasHiddenConnections(entity, context.graph()); + _isCancelled = event.sourceEvent.shiftKey || hasHidden; + + + if (_isCancelled) { + if (hasHidden) { + uiFlash() + .duration(4000) + .text(t('modes.drag_node.connected_to_hidden'))(); + } + return drag.cancel(); + } + + if (_wasMidpoint) { + var midpoint = entity; + entity = osmNode(); + context.perform(actionAddMidpoint(midpoint, entity)); + entity = context.entity(entity.id); // get post-action entity + + var vertex = context.surface().selectAll('.' + entity.id); + drag.target(vertex.node(), entity); + + } else { + context.perform(actionNoop()); + } + + _activeEntity = entity; + _startLoc = entity.loc; + + context.surface().selectAll('.' + _activeEntity.id) + .classed('active', true); + + context.enter(mode); + } + + + // related code + // - `behavior/draw.js` `datum()` + function datum() { + var event$$1 = event && event.sourceEvent; + if (!event$$1 || event$$1.altKey) { + return {}; + } else { + // When dragging, snap only to touch targets.. + // (this excludes area fills and active drawing elements) + var d = event$$1.target.__data__; + return (d && d.properties && d.properties.target) ? d : {}; + } + } + + + function doMove(entity, nudge) { + nudge = nudge || [0, 0]; + + var currPoint = (event && event.point) || context.projection(_lastLoc); + var currMouse = geoVecSubtract(currPoint, nudge); + var loc = context.projection.invert(currMouse); + + if (!_nudgeInterval) { // If not nudging at the edge of the viewport, try to snap.. + // related code + // - `mode/drag_node.js` `doMode()` + // - `behavior/draw.js` `click()` + // - `behavior/draw_way.js` `move()` + var d = datum(); + var target = d && d.properties && d.properties.entity; + var targetLoc = target && target.loc; + var targetNodes = d && d.properties && d.properties.nodes; + var edge; + + if (targetLoc) { // snap to node/vertex - a point target with `.loc` + loc = targetLoc; + + } else if (targetNodes) { // snap to way - a line target with `.nodes` + edge = geoChooseEdge(targetNodes, context.mouse(), context.projection, end.id); + if (edge) { + loc = edge.loc; + } + } + } + + context.replace( + actionMoveNode(entity.id, loc), + moveAnnotation(entity) + ); + + // Below here: validations + var isInvalid = false; + + // Check if this connection to `target` could cause relations to break.. + if (target) { + isInvalid = hasRelationConflict(entity, target, edge, context.graph()); + } + + // Check if this drag causes the geometry to break.. + if (!isInvalid) { + isInvalid = hasInvalidGeometry(entity, context.graph()); + } + + + var nope = context.surface().classed('nope'); + if (isInvalid === 'relation' || isInvalid === 'restriction') { + if (!nope) { // about to nope - show hint + uiFlash() + .duration(4000) + .text(t('operations.connect.' + isInvalid, + { relation: context.presets().item('type/restriction').name() } + ))(); + } + } else { + if (nope) { // about to un-nope, remove hint + uiFlash() + .duration(1) + .text('')(); + } + } + + + var nopeDisabled = context.surface().classed('nope-disabled'); + if (nopeDisabled) { + context.surface() + .classed('nope', false) + .classed('nope-suppressed', isInvalid); + } else { + context.surface() + .classed('nope', isInvalid) + .classed('nope-suppressed', false); + } + + _lastLoc = loc; + } + + + // Uses `actionConnect.disabled()` to know whether this connection is ok.. + function hasRelationConflict(entity, target, edge, graph) { + var testGraph = graph.update(); // copy + + // if snapping to way - add midpoint there and consider that the target.. + if (edge) { + var midpoint = osmNode(); + var action = actionAddMidpoint({ + loc: edge.loc, + edge: [target.nodes[edge.index - 1], target.nodes[edge.index]] + }, midpoint); + + testGraph = action(testGraph); + target = midpoint; + } + + // can we connect to it? + var ids = [entity.id, target.id]; + return actionConnect(ids).disabled(testGraph); + } + + + function hasInvalidGeometry(entity, graph) { + var parents = graph.parentWays(entity); + var i, j, k; + + for (i = 0; i < parents.length; i++) { + var parent = parents[i]; + var nodes = []; + var activeIndex = null; // which multipolygon ring contains node being dragged + + // test any parent multipolygons for valid geometry + var relations = graph.parentRelations(parent); + for (j = 0; j < relations.length; j++) { + if (!relations[j].isMultipolygon()) continue; + + var rings = osmJoinWays(relations[j].members, graph); + + // find active ring and test it for self intersections + for (k = 0; k < rings.length; k++) { + nodes = rings[k].nodes; + if (find$1(nodes, function(n) { return n.id === entity.id; })) { + activeIndex = k; + if (geoHasSelfIntersections(nodes, entity.id)) { + return true; + } + } + rings[k].coords = nodes.map(function(n) { return n.loc; }); + } + + // test active ring for intersections with other rings in the multipolygon + for (k = 0; k < rings.length; k++) { + if (k === activeIndex) continue; + + // make sure active ring doesnt cross passive rings + if (geoHasLineIntersections(rings[activeIndex].nodes, rings[k].nodes, entity.id)) { + return true; + } + } + } + + + // If we still haven't tested this node's parent way for self-intersections. + // (because it's not a member of a multipolygon), test it now. + if (activeIndex === null) { + nodes = parent.nodes.map(function(nodeID) { return graph.entity(nodeID); }); + if (nodes.length && geoHasSelfIntersections(nodes, entity.id)) { + return true; + } + } + + } + + return false; + } + + + function move(entity) { + if (_isCancelled) return; + event.sourceEvent.stopPropagation(); + + context.surface().classed('nope-disabled', event.sourceEvent.altKey); + + _lastLoc = context.projection.invert(event.point); + + doMove(entity); + var nudge = geoViewportEdge(event.point, context.map().dimensions()); + if (nudge) { + startNudge(entity, nudge); + } else { + stopNudge(); + } + } + + + function end(entity) { + if (_isCancelled) return; + + var d = datum(); + var nope = (d && d.properties && d.properties.nope) || context.surface().classed('nope'); + var target = d && d.properties && d.properties.entity; // entity to snap to + + if (nope) { // bounce back + context.perform( + _actionBounceBack(entity.id, _startLoc) + ); + + } else if (target && target.type === 'way') { + var choice = geoChooseEdge(context.childNodes(target), context.mouse(), context.projection, entity.id); + context.replace( + actionAddMidpoint({ + loc: choice.loc, + edge: [target.nodes[choice.index - 1], target.nodes[choice.index]] + }, entity), + connectAnnotation(target) + ); + + } else if (target && target.type === 'node') { + context.replace( + actionConnect([target.id, entity.id]), + connectAnnotation(target) + ); + + } else if (_wasMidpoint) { + context.replace( + actionNoop(), + t('operations.add.annotation.vertex') + ); + + } else { + context.replace( + actionNoop(), + moveAnnotation(entity) + ); + } + + var reselection = _restoreSelectedIDs.filter(function(id) { + return context.graph().hasEntity(id); + }); + + if (reselection.length) { + context.enter(modeSelect(context, reselection)); + } else { + context.enter(modeBrowse(context)); + } + } + + + function _actionBounceBack(nodeID, toLoc) { + var moveNode = actionMoveNode(nodeID, toLoc); + var action = function(graph, t$$1) { + // last time through, pop off the bounceback perform. + // it will then overwrite the initial perform with a moveNode that does nothing + if (t$$1 === 1) context.pop(); + return moveNode(graph, t$$1); + }; + action.transitionable = true; + return action; + } + + + function cancel() { + drag.cancel(); + context.enter(modeBrowse(context)); + } + + + var drag = behaviorDrag() + .selector('.layer-points-targets .target') + .surface(select('#map').node()) + .origin(origin) + .on('start', start) + .on('move', move) + .on('end', end); + + + mode.enter = function() { + context.install(hover); + context.install(edit); + + select(window) + .on('keydown.drawWay', keydown) + .on('keyup.drawWay', keyup); + + context.history() + .on('undone.drag-node', cancel); + }; + + + mode.exit = function() { + context.ui().sidebar.hover.cancel(); + context.uninstall(hover); + context.uninstall(edit); + + select(window) + .on('keydown.hover', null) + .on('keyup.hover', null); + + context.history() + .on('undone.drag-node', null); + + context.map() + .on('drawn.drag-node', null); + + _activeEntity = null; + + context.surface() + .classed('nope', false) + .classed('nope-suppressed', false) + .classed('nope-disabled', false) + .selectAll('.active') + .classed('active', false); + + stopNudge(); + }; + + + mode.selectedIDs = function() { + if (!arguments.length) return _activeEntity ? [_activeEntity.id] : []; + // no assign + return mode; + }; + + + mode.activeID = function() { + if (!arguments.length) return _activeEntity && _activeEntity.id; + // no assign + return mode; + }; + + + mode.restoreSelectedIDs = function(_) { + if (!arguments.length) return _restoreSelectedIDs; + _restoreSelectedIDs = _; + return mode; + }; + + + mode.behavior = drag; + + + return mode; + } + + function modeBrowse(context) { + var mode = { + button: 'browse', + id: 'browse', + title: t('modes.browse.title'), + description: t('modes.browse.description') + }, sidebar; + + var behaviors = [ + behaviorPaste(context), + behaviorHover(context).on('hover', context.ui().sidebar.hover), + behaviorSelect(context), + behaviorLasso(context), + modeDragNode$$1(context).behavior + ]; + + + mode.enter = function() { + behaviors.forEach(function(behavior) { + context.install(behavior); + }); + + // Get focus on the body. + if (document.activeElement && document.activeElement.blur) { + document.activeElement.blur(); + } + + if (sidebar) { + context.ui().sidebar.show(sidebar); + } else { + context.ui().sidebar.select(null); + } + }; + + + mode.exit = function() { + context.ui().sidebar.hover.cancel(); + behaviors.forEach(function(behavior) { + context.uninstall(behavior); + }); + + if (sidebar) { + context.ui().sidebar.hide(); + } + }; + + + mode.sidebar = function(_) { + if (!arguments.length) return sidebar; + sidebar = _; + return mode; + }; + + + return mode; + } + + function modeDrawArea(context, wayId, startGraph) { + var mode = { + button: 'area', + id: 'draw-area' + }; + + var behavior; + + + mode.enter = function() { + var way = context.entity(wayId); + + behavior = behaviorDrawWay(context, wayId, undefined, mode, startGraph) + .tail(t('modes.draw_area.tail')); + + var addNode = behavior.addNode; + + behavior.addNode = function(node, d) { + var length = way.nodes.length; + var penultimate = length > 2 ? way.nodes[length - 2] : null; + + if (node.id === way.first() || node.id === penultimate) { + behavior.finish(); + } else { + addNode(node, d); + } + }; + + context.install(behavior); + }; + + + mode.exit = function() { + context.uninstall(behavior); + }; + + + mode.selectedIDs = function() { + return [wayId]; + }; + + + mode.activeID = function() { + return (behavior && behavior.activeID()) || []; + }; + + + return mode; + } + + function modeDrawLine(context, wayId, startGraph, affix) { + var mode = { + button: 'line', + id: 'draw-line' + }; + + var behavior; + + + mode.enter = function() { + var way = context.entity(wayId); + var index = (affix === 'prefix') ? 0 : undefined; + var headId = (affix === 'prefix') ? way.first() : way.last(); + + behavior = behaviorDrawWay(context, wayId, index, mode, startGraph) + .tail(t('modes.draw_line.tail')); + + var addNode = behavior.addNode; + behavior.addNode = function(node, d) { + if (node.id === headId) { + behavior.finish(); + } else { + addNode(node, d); + } + }; + + context.install(behavior); + }; + + + mode.exit = function() { + context.uninstall(behavior); + }; + + + mode.selectedIDs = function() { + return [wayId]; + }; + + + mode.activeID = function() { + return (behavior && behavior.activeID()) || []; + }; + + return mode; + } + + function operationCircularize(selectedIDs, context) { + var entityId = selectedIDs[0], + entity = context.entity(entityId), + extent = entity.extent(context.graph()), + geometry = context.geometry(entityId), + action = actionCircularize(entityId, context.projection); + + + var operation = function() { + context.perform(action, operation.annotation()); + }; + + + operation.available = function() { + return selectedIDs.length === 1 && + entity.type === 'way' && + uniq(entity.nodes).length > 1; + }; + + + operation.disabled = function() { + var reason; + if (extent.percentContainedIn(context.extent()) < 0.8) { + reason = 'too_large'; + } else if (context.hasHiddenConnections(entityId)) { + reason = 'connected_to_hidden'; + } + return action.disabled(context.graph()) || reason; + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.circularize.' + disable) : + t('operations.circularize.description.' + geometry); + }; + + + operation.annotation = function() { + return t('operations.circularize.annotation.' + geometry); + }; + + + operation.id = 'circularize'; + operation.keys = [t('operations.circularize.key')]; + operation.title = t('operations.circularize.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationContinue(selectedIDs, context) { + var graph = context.graph(), + entities = selectedIDs.map(function(id) { return graph.entity(id); }), + geometries = assignIn({ line: [], vertex: [] }, + groupBy(entities, function(entity) { return entity.geometry(graph); })), + vertex = geometries.vertex[0]; + + + function candidateWays() { + return graph.parentWays(vertex).filter(function(parent) { + return parent.geometry(graph) === 'line' && + !parent.isClosed() && + parent.affix(vertex.id) && + (geometries.line.length === 0 || geometries.line[0] === parent); + }); + } + + + var operation = function() { + var candidate = candidateWays()[0]; + context.enter( + modeDrawLine(context, candidate.id, context.graph(), candidate.affix(vertex.id)) + ); + }; + + + operation.available = function() { + return geometries.vertex.length === 1 && geometries.line.length <= 1 && + !context.features().hasHiddenConnections(vertex, context.graph()); + }; + + + operation.disabled = function() { + var candidates = candidateWays(); + if (candidates.length === 0) + return 'not_eligible'; + if (candidates.length > 1) + return 'multiple'; + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.continue.' + disable) : + t('operations.continue.description'); + }; + + + operation.annotation = function() { + return t('operations.continue.annotation.line'); + }; + + + operation.id = 'continue'; + operation.keys = [t('operations.continue.key')]; + operation.title = t('operations.continue.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationDelete(selectedIDs, context) { + var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'), + action = actionDeleteMultiple(selectedIDs), + extent = selectedIDs.reduce(function(extent, id) { + return extent.extend(context.entity(id).extent(context.graph())); + }, geoExtent$$1()); + + + var operation = function() { + var nextSelectedID; + var nextSelectedLoc; + + if (selectedIDs.length === 1) { + var id = selectedIDs[0], + entity = context.entity(id), + geometry = context.geometry(id), + parents = context.graph().parentWays(entity), + parent = parents[0]; + + // Select the next closest node in the way. + if (geometry === 'vertex') { + var nodes = parent.nodes, + i = nodes.indexOf(id); + + if (i === 0) { + i++; + } else if (i === nodes.length - 1) { + i--; + } else { + var a = geoSphericalDistance(entity.loc, context.entity(nodes[i - 1]).loc), + b = geoSphericalDistance(entity.loc, context.entity(nodes[i + 1]).loc); + i = a < b ? i - 1 : i + 1; + } + + nextSelectedID = nodes[i]; + nextSelectedLoc = context.entity(nextSelectedID).loc; + } + } + + context.perform(action, operation.annotation()); + + if (nextSelectedID && nextSelectedLoc) { + if (context.hasEntity(nextSelectedID)) { + context.enter(modeSelect(context, [nextSelectedID]).follow(true)); + } else { + context.map().centerEase(nextSelectedLoc); + context.enter(modeBrowse(context)); + } + } else { + context.enter(modeBrowse(context)); + } + + }; + + + operation.available = function() { + return true; + }; + + + operation.disabled = function() { + var reason; + if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) { + reason = 'too_large'; + } else if (some(selectedIDs, context.hasHiddenConnections)) { + reason = 'connected_to_hidden'; + } else if (some(selectedIDs, protectedMember)) { + reason = 'part_of_relation'; + } else if (some(selectedIDs, incompleteRelation)) { + reason = 'incomplete_relation'; + } + return reason; + + function incompleteRelation(id) { + var entity = context.entity(id); + return entity.type === 'relation' && !entity.isComplete(context.graph()); + } + + function protectedMember(id) { + var entity = context.entity(id); + if (entity.type !== 'way') return false; + + var parents = context.graph().parentRelations(entity); + for (var i = 0; i < parents.length; i++) { + var parent = parents[i], + type = parent.tags.type, + role = parent.memberById(id).role || 'outer'; + if (type === 'route' || type === 'boundary' || (type === 'multipolygon' && role === 'outer')) { + return true; + } + } + return false; + } + + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.delete.' + disable + '.' + multi) : + t('operations.delete.description' + '.' + multi); + }; + + + operation.annotation = function() { + return selectedIDs.length === 1 ? + t('operations.delete.annotation.' + context.geometry(selectedIDs[0])) : + t('operations.delete.annotation.multiple', { n: selectedIDs.length }); + }; + + + operation.id = 'delete'; + operation.keys = [uiCmd('⌘⌫'), uiCmd('⌘⌦'), uiCmd('⌦')]; + operation.title = t('operations.delete.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationDisconnect(selectedIDs, context) { + var vertices = filter(selectedIDs, function(entityId) { + return context.geometry(entityId) === 'vertex'; + }); + + var entityId = vertices[0], + action = actionDisconnect(entityId); + + if (selectedIDs.length > 1) { + action.limitWays(without(selectedIDs, entityId)); + } + + + var operation = function() { + context.perform(action, operation.annotation()); + }; + + + operation.available = function() { + return vertices.length === 1; + }; + + + operation.disabled = function() { + var reason; + if (some(selectedIDs, context.hasHiddenConnections)) { + reason = 'connected_to_hidden'; + } + return action.disabled(context.graph()) || reason; + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.disconnect.' + disable) : + t('operations.disconnect.description'); + }; + + + operation.annotation = function() { + return t('operations.disconnect.annotation'); + }; + + + operation.id = 'disconnect'; + operation.keys = [t('operations.disconnect.key')]; + operation.title = t('operations.disconnect.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationMerge(selectedIDs, context) { + + function updatePresetTags(newGraph, ids) { + var id = ids[0]; + var newEntity = newGraph.hasEntity(id); + + if (!newEntity) return; + var newPreset = context.presets().match(newEntity, newGraph); + context.replace(actionChangePreset(id, null, newPreset), operation.annotation()); + } + + + var join = actionJoin(selectedIDs); + var merge = actionMerge(selectedIDs); + var mergePolygon = actionMergePolygon(selectedIDs); + var mergeNodes = actionMergeNodes(selectedIDs); + + + var operation = function() { + var doUpdateTags; + var action; + + if (!join.disabled(context.graph())) { + doUpdateTags = false; + action = join; + } else if (!merge.disabled(context.graph())) { + doUpdateTags = true; + action = merge; + } else if (!mergePolygon.disabled(context.graph())) { + doUpdateTags = false; + action = mergePolygon; + } else { + doUpdateTags = true; + action = mergeNodes; + } + + context.perform(action, operation.annotation()); + + var ids = selectedIDs.filter(function(id) { + var entity = context.hasEntity(id); + return entity && entity.type !== 'node'; + }); + + // if we merged tags, rematch preset to update tags if necessary (#3851) + if (doUpdateTags) { + updatePresetTags(context.graph(), ids); + } + + context.enter(modeSelect(context, ids)); + }; + + + operation.available = function() { + return selectedIDs.length >= 2; + }; + + + operation.disabled = function() { + return join.disabled(context.graph()) && + merge.disabled(context.graph()) && + mergePolygon.disabled(context.graph()) && + mergeNodes.disabled(context.graph()); + }; + + + operation.tooltip = function() { + var j = join.disabled(context.graph()); // 'not_eligible', 'not_adjacent', 'restriction', 'conflicting_tags' + var m = merge.disabled(context.graph()); // 'not_eligible' + var p = mergePolygon.disabled(context.graph()); // 'not_eligible', 'incomplete_relation' + var n = mergeNodes.disabled(context.graph()); // 'not_eligible', 'relation', 'restriction' + + // disabled for one of various reasons + if (j && m && p && n) { + if (j === 'restriction' || n === 'restriction') { + return t('operations.merge.restriction', + { relation: context.presets().item('type/restriction').name() }); + + } else if (p === 'incomplete_relation') { + return t('operations.merge.incomplete_relation'); + + } else if (n === 'relation') { + return t('operations.merge.relation'); + + } else { + return t('operations.merge.' + j); + } + + } else { + return t('operations.merge.description'); + } + }; + + + operation.annotation = function() { + return t('operations.merge.annotation', { n: selectedIDs.length }); + }; + + + operation.id = 'merge'; + operation.keys = [t('operations.merge.key')]; + operation.title = t('operations.merge.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationMove(selectedIDs, context) { + var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'); + var extent = selectedIDs.reduce(function(extent, id) { + return extent.extend(context.entity(id).extent(context.graph())); + }, geoExtent$$1()); + + + var operation = function() { + context.enter(modeMove$$1(context, selectedIDs)); + }; + + + operation.available = function() { + return selectedIDs.length > 1 || + context.entity(selectedIDs[0]).type !== 'node'; + }; + + + operation.disabled = function() { + var reason; + if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) { + reason = 'too_large'; + } else if (some(selectedIDs, context.hasHiddenConnections)) { + reason = 'connected_to_hidden'; + } else if (some(selectedIDs, incompleteRelation)) { + reason = 'incomplete_relation'; + } + return reason; + + function incompleteRelation(id) { + var entity = context.entity(id); + return entity.type === 'relation' && !entity.isComplete(context.graph()); + } + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.move.' + disable + '.' + multi) : + t('operations.move.description.' + multi); + }; + + + operation.annotation = function() { + return selectedIDs.length === 1 ? + t('operations.move.annotation.' + context.geometry(selectedIDs[0])) : + t('operations.move.annotation.multiple'); + }; + + + operation.id = 'move'; + operation.keys = [t('operations.move.key')]; + operation.title = t('operations.move.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationOrthogonalize(selectedIDs, context) { + var entityId = selectedIDs[0], + entity = context.entity(entityId), + extent = entity.extent(context.graph()), + geometry = context.geometry(entityId), + action = actionOrthogonalize(entityId, context.projection); + + + var operation = function() { + context.perform(action, operation.annotation()); + }; + + + operation.available = function() { + return selectedIDs.length === 1 && + entity.type === 'way' && + entity.isClosed() && + uniq(entity.nodes).length > 2; + }; + + + operation.disabled = function() { + var reason; + if (extent.percentContainedIn(context.extent()) < 0.8) { + reason = 'too_large'; + } else if (context.hasHiddenConnections(entityId)) { + reason = 'connected_to_hidden'; + } + return action.disabled(context.graph()) || reason; + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.orthogonalize.' + disable) : + t('operations.orthogonalize.description.' + geometry); + }; + + + operation.annotation = function() { + return t('operations.orthogonalize.annotation.' + geometry); + }; + + + operation.id = 'orthogonalize'; + operation.keys = [t('operations.orthogonalize.key')]; + operation.title = t('operations.orthogonalize.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : []; + } + + function operationReflectShort(selectedIDs, context) { + return operationReflect(selectedIDs, context, 'short'); + } + + + function operationReflectLong(selectedIDs, context) { + return operationReflect(selectedIDs, context, 'long'); + } + + + function operationReflect(selectedIDs, context, axis) { + axis = axis || 'long'; + var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'), + extent = selectedIDs.reduce(function(extent, id) { + return extent.extend(context.entity(id).extent(context.graph())); + }, geoExtent$$1()); + + + var operation = function() { + var action = actionReflect(selectedIDs, context.projection) + .useLongAxis(Boolean(axis === 'long')); + context.perform(action, operation.annotation()); + }; + + + operation.available = function() { + var nodes = utilGetAllNodes(selectedIDs, context.graph()); + return uniqBy(nodes, function(n) { return n.loc; }).length >= 3; + }; + + + operation.disabled = function() { + var reason; + if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) { + reason = 'too_large'; + } else if (some(selectedIDs, context.hasHiddenConnections)) { + reason = 'connected_to_hidden'; + } else if (some(selectedIDs, incompleteRelation)) { + reason = 'incomplete_relation'; + } + return reason; + + function incompleteRelation(id) { + var entity = context.entity(id); + return entity.type === 'relation' && !entity.isComplete(context.graph()); + } + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.reflect.' + disable + '.' + multi) : + t('operations.reflect.description.' + axis + '.' + multi); + }; + + + operation.annotation = function() { + return t('operations.reflect.annotation.' + axis + '.' + multi); + }; + + + operation.id = 'reflect-' + axis; + operation.keys = [t('operations.reflect.key.' + axis)]; + operation.title = t('operations.reflect.title.' + axis); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationReverse(selectedIDs, context) { + var entityId = selectedIDs[0]; + + var operation = function() { + context.perform(actionReverse(entityId), operation.annotation()); + }; + + + operation.available = function() { + return selectedIDs.length === 1 && context.geometry(entityId) === 'line'; + }; + + + operation.disabled = function() { + return false; + }; + + + operation.tooltip = function() { + return t('operations.reverse.description'); + }; + + + operation.annotation = function() { + return t('operations.reverse.annotation'); + }; + + + operation.id = 'reverse'; + operation.keys = [t('operations.reverse.key')]; + operation.title = t('operations.reverse.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationRotate(selectedIDs, context) { + var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'), + extent = selectedIDs.reduce(function(extent, id) { + return extent.extend(context.entity(id).extent(context.graph())); + }, geoExtent$$1()); + + + var operation = function() { + context.enter(modeRotate$$1(context, selectedIDs)); + }; + + + operation.available = function() { + var nodes = utilGetAllNodes(selectedIDs, context.graph()); + return uniqBy(nodes, function(n) { return n.loc; }).length >= 2; + }; + + + operation.disabled = function() { + var reason; + if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) { + reason = 'too_large'; + } else if (some(selectedIDs, context.hasHiddenConnections)) { + reason = 'connected_to_hidden'; + } else if (some(selectedIDs, incompleteRelation)) { + reason = 'incomplete_relation'; + } + return reason; + + function incompleteRelation(id) { + var entity = context.entity(id); + return entity.type === 'relation' && !entity.isComplete(context.graph()); + } + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.rotate.' + disable + '.' + multi) : + t('operations.rotate.description.' + multi); + }; + + + operation.annotation = function() { + return selectedIDs.length === 1 ? + t('operations.rotate.annotation.' + context.geometry(selectedIDs[0])) : + t('operations.rotate.annotation.multiple'); + }; + + + operation.id = 'rotate'; + operation.keys = [t('operations.rotate.key')]; + operation.title = t('operations.rotate.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationSplit(selectedIDs, context) { + var vertices = filter(selectedIDs, function(entityId) { + return context.geometry(entityId) === 'vertex'; + }); + + var entityId = vertices[0], + action = actionSplit(entityId), + ways = []; + + if (vertices.length === 1) { + if (selectedIDs.length > 1) { + action.limitWays(without(selectedIDs, entityId)); + } + ways = action.ways(context.graph()); + } + + + var operation = function() { + var difference = context.perform(action, operation.annotation()); + context.enter(modeSelect(context, difference.extantIDs())); + }; + + + operation.available = function() { + return vertices.length === 1; + }; + + + operation.disabled = function() { + var reason; + if (some(selectedIDs, context.hasHiddenConnections)) { + reason = 'connected_to_hidden'; + } + return action.disabled(context.graph()) || reason; + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + if (disable) { + return t('operations.split.' + disable); + } + if (ways.length === 1) { + return t('operations.split.description.' + context.geometry(ways[0].id)); + } else { + return t('operations.split.description.multiple'); + } + }; + + + operation.annotation = function() { + return ways.length === 1 ? + t('operations.split.annotation.' + context.geometry(ways[0].id)) : + t('operations.split.annotation.multiple', { n: ways.length }); + }; + + + operation.id = 'split'; + operation.keys = [t('operations.split.key')]; + operation.title = t('operations.split.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + function operationStraighten(selectedIDs, context) { + var entityId = selectedIDs[0], + action = actionStraighten(entityId, context.projection); + + + function operation() { + context.perform(action, operation.annotation()); + } + + + operation.available = function() { + var entity = context.entity(entityId); + return selectedIDs.length === 1 && + entity.type === 'way' && + !entity.isClosed() && + uniq(entity.nodes).length > 2; + }; + + + operation.disabled = function() { + var reason; + if (context.hasHiddenConnections(entityId)) { + reason = 'connected_to_hidden'; + } + return action.disabled(context.graph()) || reason; + }; + + + operation.tooltip = function() { + var disable = operation.disabled(); + return disable ? + t('operations.straighten.' + disable) : + t('operations.straighten.description'); + }; + + + operation.annotation = function() { + return t('operations.straighten.annotation'); + }; + + + operation.id = 'straighten'; + operation.keys = [t('operations.straighten.key')]; + operation.title = t('operations.straighten.title'); + operation.behavior = behaviorOperation(context).which(operation); + + return operation; + } + + + + var Operations = /*#__PURE__*/Object.freeze({ + operationCircularize: operationCircularize, + operationContinue: operationContinue, + operationDelete: operationDelete, + operationDisconnect: operationDisconnect, + operationMerge: operationMerge, + operationMove: operationMove, + operationOrthogonalize: operationOrthogonalize, + operationReflectShort: operationReflectShort, + operationReflectLong: operationReflectLong, + operationReverse: operationReverse, + operationRotate: operationRotate, + operationSplit: operationSplit, + operationStraighten: operationStraighten + }); + + function modeMove$$1(context, entityIDs, baseGraph) { + var mode = { + id: 'move', + button: 'browse' + }; + + var keybinding = d3keybinding('move'); + var behaviors = [ + behaviorEdit(context), + operationCircularize(entityIDs, context).behavior, + operationDelete(entityIDs, context).behavior, + operationOrthogonalize(entityIDs, context).behavior, + operationReflectLong(entityIDs, context).behavior, + operationReflectShort(entityIDs, context).behavior, + operationRotate(entityIDs, context).behavior + ]; + var annotation = entityIDs.length === 1 ? + t('operations.move.annotation.' + context.geometry(entityIDs[0])) : + t('operations.move.annotation.multiple'); + + var _prevGraph; + var _cache; + var _origin; + var _nudgeInterval; + + + function doMove(nudge) { + nudge = nudge || [0, 0]; + + var fn; + if (_prevGraph !== context.graph()) { + _cache = {}; + _origin = context.map().mouseCoordinates(); + fn = context.perform; + } else { + fn = context.overwrite; + } + + var currMouse = context.mouse(); + var origMouse = context.projection(_origin); + var delta = geoVecSubtract(geoVecSubtract(currMouse, origMouse), nudge); + + fn(actionMove(entityIDs, delta, context.projection, _cache), annotation); + _prevGraph = context.graph(); + } + + + function startNudge(nudge) { + if (_nudgeInterval) window.clearInterval(_nudgeInterval); + _nudgeInterval = window.setInterval(function() { + context.pan(nudge); + doMove(nudge); + }, 50); + } + + + function stopNudge() { + if (_nudgeInterval) { + window.clearInterval(_nudgeInterval); + _nudgeInterval = null; + } + } + + + function move() { + doMove(); + var nudge = geoViewportEdge(context.mouse(), context.map().dimensions()); + if (nudge) { + startNudge(nudge); + } else { + stopNudge(); + } + } + + + function finish() { + event.stopPropagation(); + context.enter(modeSelect(context, entityIDs)); + stopNudge(); + } + + + function cancel() { + if (baseGraph) { + while (context.graph() !== baseGraph) context.pop(); + context.enter(modeBrowse(context)); + } else { + context.pop(); + context.enter(modeSelect(context, entityIDs)); + } + stopNudge(); + } + + + function undone() { + context.enter(modeBrowse(context)); + } + + + mode.enter = function() { + _origin = context.map().mouseCoordinates(); + _prevGraph = null; + _cache = {}; + + behaviors.forEach(function(behavior) { + context.install(behavior); + }); + + context.surface() + .on('mousemove.move', move) + .on('click.move', finish); + + context.history() + .on('undone.move', undone); + + keybinding + .on('⎋', cancel) + .on('↩', finish); + + select(document) + .call(keybinding); + }; + + + mode.exit = function() { + stopNudge(); + + behaviors.forEach(function(behavior) { + context.uninstall(behavior); + }); + + context.surface() + .on('mousemove.move', null) + .on('click.move', null); + + context.history() + .on('undone.move', null); + + keybinding.off(); + }; + + + mode.selectedIDs = function() { + if (!arguments.length) return entityIDs; + // no assign + return mode; + }; + + + return mode; + } + + function modeRotate$$1(context, entityIDs) { + var mode = { + id: 'rotate', + button: 'browse' + }; + + var keybinding = d3keybinding('rotate'); + var behaviors = [ + behaviorEdit(context), + operationCircularize(entityIDs, context).behavior, + operationDelete(entityIDs, context).behavior, + operationMove(entityIDs, context).behavior, + operationOrthogonalize(entityIDs, context).behavior, + operationReflectLong(entityIDs, context).behavior, + operationReflectShort(entityIDs, context).behavior + ]; + var annotation = entityIDs.length === 1 ? + t('operations.rotate.annotation.' + context.geometry(entityIDs[0])) : + t('operations.rotate.annotation.multiple'); + + var _prevGraph; + var _prevAngle; + var _prevTransform; + var _pivot; + + + function doRotate() { + var fn; + if (context.graph() !== _prevGraph) { + fn = context.perform; + } else { + fn = context.replace; + } + + // projection changed, recalculate _pivot + var projection = context.projection; + var currTransform = projection.transform(); + if (!_prevTransform || + currTransform.k !== _prevTransform.k || + currTransform.x !== _prevTransform.x || + currTransform.y !== _prevTransform.y) { + + var nodes = utilGetAllNodes(entityIDs, context.graph()); + var points = nodes.map(function(n) { return projection(n.loc); }); + + if (points.length === 1) { // degenerate case + _pivot = points[0]; + } else if (points.length === 2) { + _pivot = geoVecInterp(points[0], points[1], 0.5); + } else { + _pivot = d3_polygonCentroid(d3_polygonHull(points)); + } + _prevAngle = undefined; + } + + + var currMouse = context.mouse(); + var currAngle = Math.atan2(currMouse[1] - _pivot[1], currMouse[0] - _pivot[0]); + + if (typeof _prevAngle === 'undefined') _prevAngle = currAngle; + var delta = currAngle - _prevAngle; + + fn(actionRotate(entityIDs, _pivot, delta, projection), annotation); + + _prevTransform = currTransform; + _prevAngle = currAngle; + _prevGraph = context.graph(); + } + + + function finish() { + event.stopPropagation(); + context.enter(modeSelect(context, entityIDs)); + } + + + function cancel() { + context.pop(); + context.enter(modeSelect(context, entityIDs)); + } + + + function undone() { + context.enter(modeBrowse(context)); + } + + + mode.enter = function() { + behaviors.forEach(function(behavior) { + context.install(behavior); + }); + + context.surface() + .on('mousemove.rotate', doRotate) + .on('click.rotate', finish); + + context.history() + .on('undone.rotate', undone); + + keybinding + .on('⎋', cancel) + .on('↩', finish); + + select(document) + .call(keybinding); + }; + + + mode.exit = function() { + behaviors.forEach(function(behavior) { + context.uninstall(behavior); + }); + + context.surface() + .on('mousemove.rotate', null) + .on('click.rotate', null); + + context.history() + .on('undone.rotate', null); + + keybinding.off(); + }; + + + mode.selectedIDs = function() { + if (!arguments.length) return entityIDs; + // no assign + return mode; + }; + + + return mode; + } + + /** + * 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 == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + + /** + * 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; + } + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * 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`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach); + } + + function d3geoTile() { + var size = [960, 500], + scale = 256, + scaleExtent = [0, 20], + translate = [size[0] / 2, size[1] / 2], + zoomDelta = 0; + + function bound(_) { + return Math.min(scaleExtent[1], Math.max(scaleExtent[0], _)); + } + + function tile() { + var z = Math.max(Math.log(scale) / Math.LN2 - 8, 0), + z0 = bound(Math.round(z + zoomDelta)), + k = Math.pow(2, z - z0 + 8), + origin = [(translate[0] - scale / 2) / k, (translate[1] - scale / 2) / k], + tiles = [], + cols = range(Math.max(0, Math.floor(-origin[0])), Math.max(0, Math.ceil(size[0] / k - origin[0]))), + rows = range(Math.max(0, Math.floor(-origin[1])), Math.max(0, Math.ceil(size[1] / k - origin[1]))); + + rows.forEach(function(y) { + cols.forEach(function(x) { + tiles.push([x, y, z0]); + }); + }); + + tiles.translate = origin; + tiles.scale = k; + + return tiles; + } + + tile.scaleExtent = function(_) { + if (!arguments.length) return scaleExtent; + scaleExtent = _; + return tile; + }; + + tile.size = function(_) { + if (!arguments.length) return size; + size = _; + return tile; + }; + + tile.scale = function(_) { + if (!arguments.length) return scale; + scale = _; + return tile; + }; + + tile.translate = function(_) { + if (!arguments.length) return translate; + translate = _; + return tile; + }; + + tile.zoomDelta = function(_) { + if (!arguments.length) return zoomDelta; + zoomDelta = +_; + return tile; + }; + + return tile; + } + + function svgAreas$$1(projection, context) { + // Patterns only work in Firefox when set directly on element. + // (This is not a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=750632) + var patterns = { + beach: 'beach', + cemetery: 'cemetery', + construction: 'construction', + farm: 'farmland', + farmland: 'farmland', + grave_yard: 'cemetery', + meadow: 'meadow', + military: 'construction', + orchard: 'orchard', + sand: 'beach', + scrub: 'scrub', + wetland: 'wetland', + }; + + var patternKeys = ['landuse', 'natural', 'amenity']; + + + function setPattern(d) { + for (var i = 0; i < patternKeys.length; i++) { + if (d.tags.building && d.tags.building !== 'no') continue; + + if (patterns.hasOwnProperty(d.tags[patternKeys[i]])) { + this.style.fill = this.style.stroke = 'url("#pattern-' + patterns[d.tags[patternKeys[i]]] + '")'; + return; + } + } + this.style.fill = this.style.stroke = ''; + } + + + function drawTargets(selection, graph, entities, filter) { + var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor '; + var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor '; + var getPath = svgPath(projection).geojson; + var activeID = context.activeID(); + + // The targets and nopes will be MultiLineString sub-segments of the ways + var data = { targets: [], nopes: [] }; + + entities.forEach(function(way) { + var features = svgSegmentWay(way, graph, activeID); + data.targets.push.apply(data.targets, features.passive); + data.nopes.push.apply(data.nopes, features.active); + }); + + + // Targets allow hover and vertex snapping + var targetData = data.targets.filter(getPath); + var targets = selection.selectAll('.area.target-allowed') + .filter(function(d) { return filter(d.properties.entity); }) + .data(targetData, function key(d) { return d.id; }); + + // exit + targets.exit() + .remove(); + + // enter/update + targets.enter() + .append('path') + .merge(targets) + .attr('d', getPath) + .attr('class', function(d) { return 'way area target target-allowed ' + targetClass + d.id; }); + + + // NOPE + var nopeData = data.nopes.filter(getPath); + var nopes = selection.selectAll('.area.target-nope') + .filter(function(d) { return filter(d.properties.entity); }) + .data(nopeData, function key(d) { return d.id; }); + + // exit + nopes.exit() + .remove(); + + // enter/update + nopes.enter() + .append('path') + .merge(nopes) + .attr('d', getPath) + .attr('class', function(d) { return 'way area target target-nope ' + nopeClass + d.id; }); + } + + + function drawAreas(selection, graph, entities, filter) { + var path = svgPath(projection, graph, true), + areas = {}, + multipolygon; + + for (var i = 0; i < entities.length; i++) { + var entity = entities[i]; + if (entity.geometry(graph) !== 'area') continue; + + multipolygon = osmIsSimpleMultipolygonOuterMember(entity, graph); + if (multipolygon) { + areas[multipolygon.id] = { + entity: multipolygon.mergeTags(entity.tags), + area: Math.abs(entity.area(graph)) + }; + } else if (!areas[entity.id]) { + areas[entity.id] = { + entity: entity, + area: Math.abs(entity.area(graph)) + }; + } + } + + areas = values$1(areas).filter(function hasPath(a) { return path(a.entity); }); + areas.sort(function areaSort(a, b) { return b.area - a.area; }); + areas = map$3(areas, 'entity'); + + var strokes = areas.filter(function(area) { + return area.type === 'way'; + }); + + var data = { + clip: areas, + shadow: strokes, + stroke: strokes, + fill: areas + }; + + var clipPaths = context.surface().selectAll('defs').selectAll('.clipPath') + .filter(filter) + .data(data.clip, osmEntity$$1.key); + + clipPaths.exit() + .remove(); + + var clipPathsEnter = clipPaths.enter() + .append('clipPath') + .attr('class', 'clipPath') + .attr('id', function(entity) { return entity.id + '-clippath'; }); + + clipPathsEnter + .append('path'); + + clipPaths.merge(clipPathsEnter) + .selectAll('path') + .attr('d', path); + + + var layer = selection.selectAll('.layer-areas .layer-areas-areas'); + + var areagroup = layer + .selectAll('g.areagroup') + .data(['fill', 'shadow', 'stroke']); + + areagroup = areagroup.enter() + .append('g') + .attr('class', function(d) { return 'areagroup area-' + d; }) + .merge(areagroup); + + var paths = areagroup + .selectAll('path') + .filter(filter) + .data(function(layer) { return data[layer]; }, osmEntity$$1.key); + + paths.exit() + .remove(); + + var fills = selection.selectAll('.area-fill path.area').nodes(); + + var bisect = bisector(function(node) { + return -node.__data__.area(graph); + }).left; + + function sortedByArea(entity) { + if (this._parent.__data__ === 'fill') { + return fills[bisect(fills, -entity.area(graph))]; + } + } + + paths = paths.enter() + .insert('path', sortedByArea) + .merge(paths) + .each(function(entity) { + var layer = this.parentNode.__data__; + + this.setAttribute('class', entity.type + ' area ' + layer + ' ' + entity.id); + + if (layer === 'fill') { + this.setAttribute('clip-path', 'url(#' + entity.id + '-clippath)'); + setPattern.apply(this, arguments); + } + }) + .call(svgTagClasses()) + .attr('d', path); + + + // touch targets + selection.selectAll('.layer-areas .layer-areas-targets') + .call(drawTargets, graph, data.stroke, filter); + } + + return drawAreas; + } + + function svgDebug$$1(projection, context) { + + function multipolygons(imagery) { + return imagery.map(function(data$$1) { + return { + type: 'MultiPolygon', + coordinates: [ data$$1.polygon ] + }; + }); + } + + function drawDebug(selection$$1) { + var showsTile = context.getDebug('tile'); + var showsCollision = context.getDebug('collision'); + var showsImagery = context.getDebug('imagery'); + var showsCommunity = context.getDebug('community'); + var showsImperial = context.getDebug('imperial'); + var showsDriveLeft = context.getDebug('driveLeft'); + var showsTouchTargets = context.getDebug('target'); + + 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 (showsCommunity) { + debugData.push({ class: 'blue', label: 'community' }); + } + if (showsImperial) { + debugData.push({ class: 'cyan', label: 'imperial' }); + } + if (showsDriveLeft) { + debugData.push({ class: 'green', label: 'driveLeft' }); + } + if (showsTouchTargets) { + debugData.push({ class: 'pink', label: 'touchTargets' }); + } + + + var legend = select('#content') + .selectAll('.debug-legend') + .data(debugData.length ? [0] : []); + + legend.exit() + .remove(); + + legend = legend.enter() + .append('div') + .attr('class', 'fillD debug-legend') + .merge(legend); + + + var legendItems = legend.selectAll('.debug-legend-item') + .data(debugData, function(d) { return d.label; }); + + legendItems.exit() + .remove(); + + legendItems.enter() + .append('span') + .attr('class', function(d) { return 'debug-legend-item ' + d.class; }) + .text(function(d) { return d.label; }); + + + var layer = selection$$1.selectAll('.layer-debug') + .data(showsImagery || showsCommunity || showsImperial || showsDriveLeft ? [0] : []); + + layer.exit() + .remove(); + + layer = layer.enter() + .append('g') + .attr('class', 'layer-debug') + .merge(layer); + + + var extent = context.map().extent(); + var dataImagery = data.imagery || []; + var availableImagery = showsImagery && multipolygons(dataImagery.filter(function(source) { + if (!source.polygon) return false; + return source.polygon.some(function(polygon) { + return geoPolygonIntersectsPolygon(polygon, extent, true); + }); + })); + + var imagery = layer.selectAll('path.debug-imagery') + .data(showsImagery ? availableImagery : []); + + imagery.exit() + .remove(); + + imagery.enter() + .append('path') + .attr('class', 'debug-imagery debug orange'); + + + var community = layer.selectAll('path.debug-community') + .data(showsCommunity ? values$1(data.community.features) : []); + + community.exit() + .remove(); + + community.enter() + .append('path') + .attr('class', 'debug-community debug blue'); + + + var imperial = layer + .selectAll('path.debug-imperial') + .data(showsImperial ? [dataImperial] : []); + + imperial.exit() + .remove(); + + imperial.enter() + .append('path') + .attr('class', 'debug-imperial debug cyan'); + + + var driveLeft = layer + .selectAll('path.debug-drive-left') + .data(showsDriveLeft ? [dataDriveLeft] : []); + + driveLeft.exit() + .remove(); + + driveLeft.enter() + .append('path') + .attr('class', 'debug-drive-left debug green'); + + + // update + layer.selectAll('path') + .attr('d', svgPath(projection).geojson); + } + + + // 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') || + context.getDebug('target'); + } 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. + */ + function svgDefs(context) { + + function drawDefs(selection$$1) { + var defs = selection$$1.append('defs'); + + // add markers + defs + .append('marker') + .attr('id', 'oneway-marker') + .attr('viewBox', '0 0 10 5') + .attr('refX', 2.5) + .attr('refY', 2.5) + .attr('markerWidth', 2) + .attr('markerHeight', 2) + .attr('markerUnits', 'strokeWidth') + .attr('orient', 'auto') + .append('path') + .attr('class', 'oneway-marker-path') + .attr('d', 'M 5,3 L 0,3 L 0,2 L 5,2 L 5,0 L 10,2.5 L 5,5 z') + .attr('stroke', 'none') + .attr('fill', '#000') + .attr('opacity', '0.75'); + + defs + .append('marker') + .attr('id', 'viewfield-marker') + .attr('viewBox', '0 0 16 16') + .attr('refX', 8) + .attr('refY', 16) + .attr('markerWidth', 4) + .attr('markerHeight', 4) + .attr('markerUnits', 'strokeWidth') + .attr('orient', 'auto') + .append('path') + .attr('class', 'viewfield-marker-path') + .attr('d', 'M 6,14 C 8,13.4 8,13.4 10,14 L 16,3 C 12,0 4,0 0,3 z') + .attr('fill', '#333') + .attr('fill-opacity', '0.75') + .attr('stroke', '#fff') + .attr('stroke-width', '0.5px') + .attr('stroke-opacity', '0.75'); + + defs + .append('marker') + .attr('id', 'viewfield-marker-wireframe') + .attr('viewBox', '0 0 16 16') + .attr('refX', 8) + .attr('refY', 16) + .attr('markerWidth', 4) + .attr('markerHeight', 4) + .attr('markerUnits', 'strokeWidth') + .attr('orient', 'auto') + .append('path') + .attr('class', 'viewfield-marker-path') + .attr('d', 'M 6,14 C 8,13.4 8,13.4 10,14 L 16,3 C 12,0 4,0 0,3 z') + .attr('fill', 'none') + .attr('stroke', '#fff') + .attr('stroke-width', '0.5px') + .attr('stroke-opacity', '0.75'); + + // add patterns + var patterns = defs.selectAll('pattern') + .data([ + // pattern name, pattern image name + ['wetland', 'wetland'], + ['construction', 'construction'], + ['cemetery', 'cemetery'], + ['orchard', 'orchard'], + ['farmland', 'farmland'], + ['beach', 'dots'], + ['scrub', 'dots'], + ['meadow', 'dots'] + ]) + .enter() + .append('pattern') + .attr('id', function (d) { return 'pattern-' + d[0]; }) + .attr('width', 32) + .attr('height', 32) + .attr('patternUnits', 'userSpaceOnUse'); + + patterns + .append('rect') + .attr('x', 0) + .attr('y', 0) + .attr('width', 32) + .attr('height', 32) + .attr('class', function (d) { return 'pattern-color-' + d[0]; }); + + patterns + .append('image') + .attr('x', 0) + .attr('y', 0) + .attr('width', 32) + .attr('height', 32) + .attr('xlink:href', function (d) { + return context.imagePath('pattern/' + d[1] + '.png'); + }); + + // add clip paths + defs.selectAll('clipPath') + .data([12, 18, 20, 32, 45]) + .enter() + .append('clipPath') + .attr('id', function (d) { return 'clip-square-' + d; }) + .append('rect') + .attr('x', 0) + .attr('y', 0) + .attr('width', function (d) { return d; }) + .attr('height', function (d) { return d; }); + + // add symbol spritesheets + defs + .call(drawDefs.addSprites, [ + 'iD-sprite', 'maki-sprite', 'temaki-sprite', 'fa-sprite', 'community-sprite' + ]); + } + + + drawDefs.addSprites = function(selection$$1, ids) { + var spritesheets = selection$$1.selectAll('.spritesheet'); + var currData = spritesheets.data(); + var data = uniq(currData.concat(ids)); + + spritesheets + .data(data) + .enter() + .append('g') + .attr('class', function(d) { return 'spritesheet spritesheet-' + d; }) + .each(function(d) { + var url = context.imagePath(d + '.svg'); + var node = select(this).node(); + request(url) + .mimeType('image/svg+xml') + .response(function(xhr) { return xhr.responseXML; }) + .get(function(err, svg) { + if (err) return; + node.appendChild( + select(svg.documentElement).attr('id', d).node() + ); + }); + }); + }; + + + return drawDefs; + } + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + //[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] + //[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] + //[5] Name ::= NameStartChar (NameChar)* + var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;//\u10000-\uEFFFF + var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); + var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$'); + //var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ + //var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') + + //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE + //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE + var S_TAG = 0;//tag name offerring + var S_ATTR = 1;//attr name offerring + var S_ATTR_SPACE=2;//attr name end and space offer + var S_EQ = 3;//=space? + var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only) + var S_ATTR_END = 5;//attr value end and no space(quot end) + var S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer) + var S_TAG_CLOSE = 7;//closed el + + function XMLReader(){ + + } + + XMLReader.prototype = { + parse:function(source,defaultNSMap,entityMap){ + var domBuilder = this.domBuilder; + domBuilder.startDocument(); + _copy(defaultNSMap ,defaultNSMap = {}); + parse(source,defaultNSMap,entityMap, + domBuilder,this.errorHandler); + domBuilder.endDocument(); + } + }; + function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ + function fixedFromCharCode(code) { + // String.prototype.fromCharCode does not supports + // > 2 bytes unicode chars directly + if (code > 0xffff) { + code -= 0x10000; + var surrogate1 = 0xd800 + (code >> 10) + , surrogate2 = 0xdc00 + (code & 0x3ff); + + return String.fromCharCode(surrogate1, surrogate2); + } else { + return String.fromCharCode(code); } - }, - w757: { - id: "w757", - nodes: [ - "n4392", - "n4393", - "n4394", - "n4395", - "n4392" - ], - tags: { - building: "yes" + } + function entityReplacer(a){ + var k = a.slice(1,-1); + if(k in entityMap){ + return entityMap[k]; + }else if(k.charAt(0) === '#'){ + return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x'))) + }else{ + errorHandler.error('entity not found:'+a); + return a; } - }, - w758: { - id: "w758", - nodes: [ - "n4396", - "n4397", - "n4398", - "n4399", - "n4396" - ], - tags: { - building: "shed" + } + function appendText(end){//has some bugs + if(end>start){ + var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer); + locator&&position(start); + domBuilder.characters(xt,0,end-start); + start = end; } - }, - w759: { - id: "w759", - nodes: [ - "n4400", - "n4401", - "n4402", - "n4403", - "n4404", - "n4405", - "n4406", - "n4407", - "n4408", - "n4409", - "n4410", - "n4411", - "n4412", - "n4413", - "n4414", - "n4415", - "n4400" - ], - tags: { - building: "yes" + } + function position(p,m){ + while(p>=lineEnd && (m = linePattern.exec(source))){ + lineStart = m.index; + lineEnd = lineStart + m[0].length; + locator.lineNumber++; + //console.log('line++:',locator,startPos,endPos) } - }, - w76: { - id: "w76", - nodes: [ - "n2561", - "n359", - "n2563", - "n2793", - "n357", - "n356", - "n2792", - "n355", - "n354", - "n2791", - "n2562", - "n353", - "n352", - "n358", - "n2561" - ], - tags: { - highway: "service", - oneway: "yes", - service: "parking_aisle" + locator.columnNumber = p-lineStart+1; + } + var lineStart = 0; + var lineEnd = 0; + var linePattern = /.*(?:\r\n?|\n)|.*$/g; + var locator = domBuilder.locator; + + var parseStack = [{currentNSMap:defaultNSMapCopy}]; + var closeMap = {}; + var start = 0; + while(true){ + try{ + var tagStart = source.indexOf('<',start); + if(tagStart<0){ + if(!source.substr(start).match(/^\s*$/)){ + var doc = domBuilder.doc; + var text = doc.createTextNode(source.substr(start)); + doc.appendChild(text); + domBuilder.currentElement = text; + } + return; + } + if(tagStart>start){ + appendText(tagStart); + } + switch(source.charAt(tagStart+1)){ + case '/': + var end = source.indexOf('>',tagStart+3); + var tagName = source.substring(tagStart+2,end); + var config = parseStack.pop(); + if(end<0){ + + tagName = source.substring(tagStart+2).replace(/[\s<].*/,''); + //console.error('#@@@@@@'+tagName) + errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName); + end = tagStart+1+tagName.length; + }else if(tagName.match(/\s + locator&&position(tagStart); + end = parseInstruction(source,tagStart,domBuilder); + break; + case '!':// start){ + start = end; + }else{ + //TODO: 这里有可能sax回退,有位置错误风险 + appendText(Math.max(tagStart,start)+1); } - }, - w761: { - id: "w761", - nodes: [ - "n4418", - "n4416", - "n4419" - ], - tags: { - barrier: "fence" + } + } + function copyLocator(f,t){ + t.lineNumber = f.lineNumber; + t.columnNumber = f.columnNumber; + return t; + } + + /** + * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); + * @return end of the elementStartPart(end of elementEndPart for selfClosed el) + */ + function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){ + var attrName; + var value; + var p = ++start; + var s = S_TAG;//status + while(true){ + var c = source.charAt(p); + switch(c){ + case '=': + if(s === S_ATTR){//attrName + attrName = source.slice(start,p); + s = S_EQ; + }else if(s === S_ATTR_SPACE){ + s = S_EQ; + }else{ + //fatalError: equal must after attrName or space after attrName + throw new Error('attribute equal must after attrName'); + } + break; + case '\'': + case '"': + if(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE + ){//equal + if(s === S_ATTR){ + errorHandler.warning('attribute value must after "="'); + attrName = source.slice(start,p); + } + start = p+1; + p = source.indexOf(c,start); + if(p>0){ + value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); + el.add(attrName,value,start-1); + s = S_ATTR_END; + }else{ + //fatalError: no end quot match + throw new Error('attribute value no end \''+c+'\' match'); + } + }else if(s == S_ATTR_NOQUOT_VALUE){ + value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); + //console.log(attrName,value,start,p) + el.add(attrName,value,start); + //console.dir(el) + errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!'); + start = p+1; + s = S_ATTR_END; + }else{ + //fatalError: no equal before + throw new Error('attribute value must after "="'); + } + break; + case '/': + switch(s){ + case S_TAG: + el.setTagName(source.slice(start,p)); + case S_ATTR_END: + case S_TAG_SPACE: + case S_TAG_CLOSE: + s =S_TAG_CLOSE; + el.closed = true; + case S_ATTR_NOQUOT_VALUE: + case S_ATTR: + case S_ATTR_SPACE: + break; + //case S_EQ: + default: + throw new Error("attribute invalid close char('/')") + } + break; + case ''://end document + //throw new Error('unexpected end of input') + errorHandler.error('unexpected end of input'); + if(s == S_TAG){ + el.setTagName(source.slice(start,p)); + } + return p; + case '>': + switch(s){ + case S_TAG: + el.setTagName(source.slice(start,p)); + case S_ATTR_END: + case S_TAG_SPACE: + case S_TAG_CLOSE: + break;//normal + case S_ATTR_NOQUOT_VALUE://Compatible state + case S_ATTR: + value = source.slice(start,p); + if(value.slice(-1) === '/'){ + el.closed = true; + value = value.slice(0,-1); + } + case S_ATTR_SPACE: + if(s === S_ATTR_SPACE){ + value = attrName; + } + if(s == S_ATTR_NOQUOT_VALUE){ + errorHandler.warning('attribute "'+value+'" missed quot(")!!'); + el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start); + }else{ + if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){ + errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!'); + } + el.add(value,value,start); + } + break; + case S_EQ: + throw new Error('attribute value missed!!'); + } + // console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) + return p; + /*xml space '\x20' | #x9 | #xD | #xA; */ + case '\u0080': + c = ' '; + default: + if(c<= ' '){//space + switch(s){ + case S_TAG: + el.setTagName(source.slice(start,p));//tagName + s = S_TAG_SPACE; + break; + case S_ATTR: + attrName = source.slice(start,p); + s = S_ATTR_SPACE; + break; + case S_ATTR_NOQUOT_VALUE: + var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); + errorHandler.warning('attribute "'+value+'" missed quot(")!!'); + el.add(attrName,value,start); + case S_ATTR_END: + s = S_TAG_SPACE; + break; + //case S_TAG_SPACE: + //case S_EQ: + //case S_ATTR_SPACE: + // void();break; + //case S_TAG_CLOSE: + //ignore warning + } + }else{//not space + //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE + //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE + switch(s){ + //case S_TAG:void();break; + //case S_ATTR:void();break; + //case S_ATTR_NOQUOT_VALUE:void();break; + case S_ATTR_SPACE: + var tagName = el.tagName; + if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){ + errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!'); + } + el.add(attrName,attrName,start); + start = p; + s = S_ATTR; + break; + case S_ATTR_END: + errorHandler.warning('attribute space is required"'+attrName+'"!!'); + case S_TAG_SPACE: + s = S_ATTR; + start = p; + break; + case S_EQ: + s = S_ATTR_NOQUOT_VALUE; + start = p; + break; + case S_TAG_CLOSE: + throw new Error("elements closed character '/' and '>' must be connected to"); + } + } + }//end outer switch + //console.log('p++',p) + p++; + } + } + /** + * @return true if has new namespace define + */ + function appendElement(el,domBuilder,currentNSMap){ + var tagName = el.tagName; + var localNSMap = null; + //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; + var i = el.length; + while(i--){ + var a = el[i]; + var qName = a.qName; + var value = a.value; + var nsp = qName.indexOf(':'); + if(nsp>0){ + var prefix = a.prefix = qName.slice(0,nsp); + var localName = qName.slice(nsp+1); + var nsPrefix = prefix === 'xmlns' && localName; + }else{ + localName = qName; + prefix = null; + nsPrefix = qName === 'xmlns' && ''; } - }, - w762: { - id: "w762", - nodes: [ - "n4420", - "n4421" - ], - tags: { - barrier: "fence" + //can not set prefix,because prefix !== '' + a.localName = localName ; + //prefix == null for no ns prefix attribute + if(nsPrefix !== false){//hack!! + if(localNSMap == null){ + localNSMap = {}; + //console.log(currentNSMap,0) + _copy(currentNSMap,currentNSMap={}); + //console.log(currentNSMap,1) + } + currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; + a.uri = 'http://www.w3.org/2000/xmlns/'; + domBuilder.startPrefixMapping(nsPrefix, value); } - }, - w763: { - id: "w763", - nodes: [ - "n4422", - "n4423", - "n4424", - "n4425", - "n4426", - "n4427", - "n4428", - "n4429", - "n4430", - "n4431", - "n4432", - "n4433", - "n4422" - ], - tags: { - building: "yes" + } + var i = el.length; + while(i--){ + a = el[i]; + var prefix = a.prefix; + if(prefix){//no prefix attribute has no namespace + if(prefix === 'xml'){ + a.uri = 'http://www.w3.org/XML/1998/namespace'; + }if(prefix !== 'xmlns'){ + a.uri = currentNSMap[prefix || '']; + + //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} + } } - }, - w764: { - id: "w764", - nodes: [ - "n4434", - "n4435", - "n4436", - "n4437", - "n4438", - "n4439", - "n4440", - "n4441", - "n4442", - "n4445", - "n4444", - "n4443", - "n4434" - ], - tags: { - building: "yes" + } + var nsp = tagName.indexOf(':'); + if(nsp>0){ + prefix = el.prefix = tagName.slice(0,nsp); + localName = el.localName = tagName.slice(nsp+1); + }else{ + prefix = null;//important!! + localName = el.localName = tagName; + } + //no prefix element has default namespace + var ns = el.uri = currentNSMap[prefix || '']; + domBuilder.startElement(ns,localName,tagName,el); + //endPrefixMapping and startPrefixMapping have not any help for dom builder + //localNSMap = null + if(el.closed){ + domBuilder.endElement(ns,localName,tagName); + if(localNSMap){ + for(prefix in localNSMap){ + domBuilder.endPrefixMapping(prefix); + } } - }, - w765: { - id: "w765", - nodes: [ - "n4446", - "n4447", - "n4448", - "n4449", - "n4446" - ], - tags: { - building: "yes" + }else{ + el.currentNSMap = currentNSMap; + el.localNSMap = localNSMap; + //parseStack.push(el); + return true; + } + } + function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){ + if(/^(?:script|textarea)$/i.test(tagName)){ + var elEndStart = source.indexOf('',elStartEnd); + var text = source.substring(elStartEnd+1,elEndStart); + if(/[&<]/.test(text)){ + if(/^script$/i.test(tagName)){ + //if(!/\]\]>/.test(text)){ + //lexHandler.startCDATA(); + domBuilder.characters(text,0,text.length); + //lexHandler.endCDATA(); + return elEndStart; + //} + }//}else{//text area + text = text.replace(/&#?\w+;/g,entityReplacer); + domBuilder.characters(text,0,text.length); + return elEndStart; + //} + } - }, - w766: { - id: "w766", - nodes: [ - "n4450", - "n4451", - "n4452", - "n4453", - "n4450" - ], - tags: { - building: "yes" + } + return elStartEnd+1; + } + function fixSelfClosed(source,elStartEnd,tagName,closeMap){ + //if(tagName in closeMap){ + var pos = closeMap[tagName]; + if(pos == null){ + //console.log(tagName) + pos = source.lastIndexOf(''); + if(pos',start+4); + //append comment source.substring(4,end)//"); + case DOCUMENT_TYPE_NODE: + var pubid = node.publicId; + var sysid = node.systemId; + buf.push(''); + }else if(sysid && sysid!='.'){ + buf.push(' SYSTEM "',sysid,'">'); + }else{ + var sub = node.internalSubset; + if(sub){ + buf.push(" [",sub,"]"); + } + buf.push(">"); } - }, - w834: { - id: "w834", - nodes: [ - "n4871", - "n4875", - "n4872", - "n4895", - "n4873", - "n4874", - "n4871" - ], - tags: { - aeroway: "apron" + return; + case PROCESSING_INSTRUCTION_NODE: + return buf.push( ""); + case ENTITY_REFERENCE_NODE: + return buf.push( '&',node.nodeName,';'); + //case ENTITY_NODE: + //case NOTATION_NODE: + default: + buf.push('??',node.nodeName); + } + } + function importNode(doc,node,deep){ + var node2; + switch (node.nodeType) { + case ELEMENT_NODE: + node2 = node.cloneNode(false); + node2.ownerDocument = doc; + //var attrs = node2.attributes; + //var len = attrs.length; + //for(var i=0;i','amp':'&','quot':'"','apos':"'"}; + if(locator){ + domBuilder.setDocumentLocator(locator); + } + + sax$$1.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator); + sax$$1.domBuilder = options.domBuilder || domBuilder; + if(/\/x?html?$/.test(mimeType)){ + entityMap.nbsp = '\xa0'; + entityMap.copy = '\xa9'; + defaultNSMap['']= 'http://www.w3.org/1999/xhtml'; + } + defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace'; + if(source){ + sax$$1.parse(source,defaultNSMap,entityMap); + }else{ + sax$$1.errorHandler.error("invalid doc source"); + } + return domBuilder.doc; + }; + function buildErrorHandler(errorImpl,domBuilder,locator){ + if(!errorImpl){ + if(domBuilder instanceof DOMHandler){ + return domBuilder; } - }, - w84: { - id: "w84", - nodes: [ - "n374", - "n375", - "n376", - "n377", - "n373", - "n374" - ], - tags: { - building: "yes" + errorImpl = domBuilder ; + } + var errorHandler = {}; + var isCallback = errorImpl instanceof Function; + locator = locator||{}; + function build(key){ + var fn = errorImpl[key]; + if(!fn && isCallback){ + fn = errorImpl.length == 2?function(msg){errorImpl(key,msg);}:errorImpl; } + errorHandler[key] = fn && function(msg){ + fn('[xmldom '+key+']\t'+msg+_locator(locator)); + }||function(){}; + } + build('warning'); + build('error'); + build('fatalError'); + return errorHandler; + } + + //console.log('#\n\n\n\n\n\n\n####') + /** + * +ContentHandler+ErrorHandler + * +LexicalHandler+EntityResolver2 + * -DeclHandler-DTDHandler + * + * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler + * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2 + * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html + */ + function DOMHandler() { + this.cdata = false; + } + function position(locator,node){ + node.lineNumber = locator.lineNumber; + node.columnNumber = locator.columnNumber; + } + /** + * @see org.xml.sax.ContentHandler#startDocument + * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html + */ + DOMHandler.prototype = { + startDocument : function() { + this.doc = new DOMImplementation().createDocument(null, null, null); + if (this.locator) { + this.doc.documentURI = this.locator.systemId; + } }, - w840: { - id: "w840", - nodes: [ - "n4909", - "n4907", - "n4910" - ], - tags: { - highway: "service" - } + startElement:function(namespaceURI, localName, qName, attrs) { + var doc = this.doc; + var el = doc.createElementNS(namespaceURI, qName||localName); + var len = attrs.length; + appendElement(this, el); + this.currentElement = el; + + this.locator && position(this.locator,el); + for (var i = 0 ; i < len; i++) { + var namespaceURI = attrs.getURI(i); + var value = attrs.getValue(i); + var qName = attrs.getQName(i); + var attr = doc.createAttributeNS(namespaceURI, qName); + this.locator &&position(attrs.getLocator(i),attr); + attr.value = attr.nodeValue = value; + el.setAttributeNode(attr); + } }, - w841: { - id: "w841", - nodes: [ - "n4911", - "n4912", - "n4913", - "n4914", - "n4911" - ], - tags: { - building: "yes" - } + endElement:function(namespaceURI, localName, qName) { + var current = this.currentElement; + var tagName = current.tagName; + this.currentElement = current.parentNode; }, - w842: { - id: "w842", - nodes: [ - "n4915", - "n4916", - "n4917", - "n4918", - "n4915" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + startPrefixMapping:function(prefix, uri) { }, - w843: { - id: "w843", - nodes: [ - "n4919", - "n4920", - "n4921", - "n4922", - "n4919" - ], - tags: { - building: "yes" - } + endPrefixMapping:function(prefix) { }, - w844: { - id: "w844", - nodes: [ - "n4923", - "n4924", - "n4925", - "n4926", - "n4923" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + processingInstruction:function(target, data) { + var ins = this.doc.createProcessingInstruction(target, data); + this.locator && position(this.locator,ins); + appendElement(this, ins); }, - w845: { - id: "w845", - nodes: [ - "n4927", - "n4928", - "n4929", - "n4930", - "n4927" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + ignorableWhitespace:function(ch, start, length) { }, - w846: { - id: "w846", - nodes: [ - "n4931", - "n4932", - "n4933", - "n4934", - "n4931" - ], - tags: { - aeroway: "hangar", - building: "yes" + characters:function(chars, start, length) { + chars = _toString.apply(this,arguments); + //console.log(chars) + if(chars){ + if (this.cdata) { + var charNode = this.doc.createCDATASection(chars); + } else { + var charNode = this.doc.createTextNode(chars); + } + if(this.currentElement){ + this.currentElement.appendChild(charNode); + }else if(/^\s*$/.test(chars)){ + this.doc.appendChild(charNode); + //process xml + } + this.locator && position(this.locator,charNode); } }, - w847: { - id: "w847", - nodes: [ - "n4935", - "n4936", - "n4937", - "n4938", - "n4935" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + skippedEntity:function(name) { }, - w848: { - id: "w848", - nodes: [ - "n4939", - "n4940", - "n4941", - "n4942", - "n4939" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + endDocument:function() { + this.doc.normalize(); }, - w849: { - id: "w849", - nodes: [ - "n4943", - "n4944", - "n4945", - "n4946", - "n4943" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + setDocumentLocator:function (locator) { + if(this.locator = locator){// && !('lineNumber' in locator)){ + locator.lineNumber = 0; + } }, - w85: { - id: "w85", - nodes: [ - "n431", - "n432", - "n1038", - "n433", - "n434", - "n1040", - "n431" - ], - tags: { - building: "yes" - } + //LexicalHandler + comment:function(chars, start, length) { + chars = _toString.apply(this,arguments); + var comm = this.doc.createComment(chars); + this.locator && position(this.locator,comm); + appendElement(this, comm); }, - w850: { - id: "w850", - nodes: [ - "n4947", - "n4948", - "n4949", - "n4950", - "n4947" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + + startCDATA:function() { + //used in characters() methods + this.cdata = true; }, - w851: { - id: "w851", - nodes: [ - "n4951", - "n4952", - "n4953", - "n4954", - "n4951" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + endCDATA:function() { + this.cdata = false; }, - w852: { - id: "w852", - nodes: [ - "n4955", - "n4956", - "n4957", - "n4958", - "n4955" - ], - tags: { - aeroway: "hangar", - building: "yes" - } + + startDTD:function(name, publicId, systemId) { + var impl = this.doc.implementation; + if (impl && impl.createDocumentType) { + var dt = impl.createDocumentType(name, publicId, systemId); + this.locator && position(this.locator,dt); + appendElement(this, dt); + } }, - w853: { - id: "w853", - nodes: [ - "n4959", - "n4864", - "n4861", - "n4862", - "n4863" - ], - tags: { - barrier: "fence" - } + /** + * @see org.xml.sax.ErrorHandler + * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html + */ + warning:function(error) { + console.warn('[xmldom warning]\t'+error,_locator(this.locator)); }, - w854: { - id: "w854", - nodes: [ - "n4961", - "n4962", - "n4963", - "n4964", - "n4965", - "n4966", - "n4967", - "n4968", - "n4969", - "n4961" - ], - tags: { - landuse: "farmland" - } + error:function(error) { + console.error('[xmldom error]\t'+error,_locator(this.locator)); }, - w855: { - id: "w855", - nodes: [ - "n4970", - "n4971", - "n4972", - "n4973", - "n4974", - "n4975", - "n4976", - "n4977", - "n4978", - "n4980", - "n4970" - ], - tags: { - landuse: "farmland" + fatalError:function(error) { + console.error('[xmldom fatalError]\t'+error,_locator(this.locator)); + throw error; + } + }; + function _locator(l){ + if(l){ + return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']' + } + } + function _toString(chars,start,length){ + if(typeof chars == 'string'){ + return chars.substr(start,length) + }else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)") + if(chars.length >= start+length || start){ + return new java.lang.String(chars,start,length)+''; } - }, - w856: { - id: "w856", - nodes: [ - "n4979", - "n4980", - "n4978", - "n4981", - "n4982", - "n4983", - "n4984", - "n4985", - "n4979" - ], - tags: { - natural: "scrub" + return chars; + } + } + + /* + * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html + * used method of org.xml.sax.ext.LexicalHandler: + * #comment(chars, start, length) + * #startCDATA() + * #endCDATA() + * #startDTD(name, publicId, systemId) + * + * + * IGNORED method of org.xml.sax.ext.LexicalHandler: + * #endDTD() + * #startEntity(name) + * #endEntity(name) + * + * + * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html + * IGNORED method of org.xml.sax.ext.DeclHandler + * #attributeDecl(eName, aName, type, mode, value) + * #elementDecl(name, model) + * #externalEntityDecl(name, publicId, systemId) + * #internalEntityDecl(name, value) + * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html + * IGNORED method of org.xml.sax.EntityResolver2 + * #resolveEntity(String name,String publicId,String baseURI,String systemId) + * #resolveEntity(publicId, systemId) + * #getExternalSubset(name, baseURI) + * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html + * IGNORED method of org.xml.sax.DTDHandler + * #notationDecl(name, publicId, systemId) {}; + * #unparsedEntityDecl(name, publicId, systemId, notationName) {}; + */ + "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){ + DOMHandler.prototype[key] = function(){return null}; + }); + + /* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */ + function appendElement (hander,node) { + if (!hander.currentElement) { + hander.doc.appendChild(node); + } else { + hander.currentElement.appendChild(node); + } + }//appendChild and setAttributeNS are preformance key + + //if(typeof require == 'function'){ + var XMLReader = sax.XMLReader; + var DOMImplementation = exports.DOMImplementation = dom.DOMImplementation; + exports.XMLSerializer = dom.XMLSerializer ; + exports.DOMParser = DOMParser; + //} + }); + var domParser_1 = domParser.DOMImplementation; + var domParser_2 = domParser.XMLSerializer; + var domParser_3 = domParser.DOMParser; + + var togeojson = createCommonjsModule(function (module, exports) { + var toGeoJSON = (function() { + + var removeSpace = /\s*/g, + trimSpace = /^\s*|\s*$/g, + splitSpace = /\s+/; + // generate a short, numeric hash of a string + function okhash(x) { + if (!x || !x.length) return 0; + for (var i = 0, h = 0; i < x.length; i++) { + h = ((h << 5) - h) + x.charCodeAt(i) | 0; + } return h; + } + // all Y children of X + function get(x, y) { return x.getElementsByTagName(y); } + function attr(x, y) { return x.getAttribute(y); } + function attrf(x, y) { return parseFloat(attr(x, y)); } + // one Y child of X, if any, otherwise null + function get1(x, y) { var n = get(x, y); return n.length ? n[0] : null; } + // https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize + function norm(el) { if (el.normalize) { el.normalize(); } return el; } + // cast array x into numbers + function numarray(x) { + for (var j = 0, o = []; j < x.length; j++) { o[j] = parseFloat(x[j]); } + return o; + } + // get the content of a text node, if any + function nodeVal(x) { + if (x) { norm(x); } + return (x && x.textContent) || ''; + } + // get the contents of multiple text nodes, if present + function getMulti(x, ys) { + var o = {}, n, k; + for (k = 0; k < ys.length; k++) { + n = get1(x, ys[k]); + if (n) o[ys[k]] = nodeVal(n); + } + return o; + } + // add properties of Y to X, overwriting if present in both + function extend(x, y) { for (var k in y) x[k] = y[k]; } + // get one coordinate from a coordinate array, if any + function coord1(v) { return numarray(v.replace(removeSpace, '').split(',')); } + // get all coordinates from a coordinate array as [[],[]] + function coord(v) { + var coords = v.replace(trimSpace, '').split(splitSpace), + o = []; + for (var i = 0; i < coords.length; i++) { + o.push(coord1(coords[i])); + } + return o; + } + function coordPair(x) { + var ll = [attrf(x, 'lon'), attrf(x, 'lat')], + ele = get1(x, 'ele'), + // handle namespaced attribute in browser + heartRate = get1(x, 'gpxtpx:hr') || get1(x, 'hr'), + time = get1(x, 'time'), + e; + if (ele) { + e = parseFloat(nodeVal(ele)); + if (!isNaN(e)) { + ll.push(e); + } + } + return { + coordinates: ll, + time: time ? nodeVal(time) : null, + heartRate: heartRate ? parseFloat(nodeVal(heartRate)) : null + }; + } + + // create a new feature collection parent object + function fc() { + return { + type: 'FeatureCollection', + features: [] + }; + } + + var serializer; + if (typeof XMLSerializer !== 'undefined') { + /* istanbul ignore next */ + serializer = new XMLSerializer(); + // only require xmldom in a node environment + } else if (typeof process === 'object' && !process.browser) { + serializer = new (domParser.XMLSerializer)(); + } + function xml2str(str) { + // IE9 will create a new XMLSerializer but it'll crash immediately. + // This line is ignored because we don't run coverage tests in IE9 + /* istanbul ignore next */ + if (str.xml !== undefined) return str.xml; + return serializer.serializeToString(str); + } + + var t = { + kml: function(doc) { + + var gj = fc(), + // styleindex keeps track of hashed styles in order to match features + styleIndex = {}, styleByHash = {}, + // stylemapindex keeps track of style maps to expose in properties + styleMapIndex = {}, + // atomic geospatial types supported by KML - MultiGeometry is + // handled separately + geotypes = ['Polygon', 'LineString', 'Point', 'Track', 'gx:Track'], + // all root placemarks in the file + placemarks = get(doc, 'Placemark'), + styles = get(doc, 'Style'), + styleMaps = get(doc, 'StyleMap'); + + for (var k = 0; k < styles.length; k++) { + var hash = okhash(xml2str(styles[k])).toString(16); + styleIndex['#' + attr(styles[k], 'id')] = hash; + styleByHash[hash] = styles[k]; + } + for (var l = 0; l < styleMaps.length; l++) { + styleIndex['#' + attr(styleMaps[l], 'id')] = okhash(xml2str(styleMaps[l])).toString(16); + var pairs = get(styleMaps[l], 'Pair'); + var pairsMap = {}; + for (var m = 0; m < pairs.length; m++) { + pairsMap[nodeVal(get1(pairs[m], 'key'))] = nodeVal(get1(pairs[m], 'styleUrl')); + } + styleMapIndex['#' + attr(styleMaps[l], 'id')] = pairsMap; + + } + for (var j = 0; j < placemarks.length; j++) { + gj.features = gj.features.concat(getPlacemark(placemarks[j])); + } + function kmlColor(v) { + var color, opacity; + v = v || ''; + if (v.substr(0, 1) === '#') { v = v.substr(1); } + if (v.length === 6 || v.length === 3) { color = v; } + if (v.length === 8) { + opacity = parseInt(v.substr(0, 2), 16) / 255; + color = '#' + v.substr(6, 2) + + v.substr(4, 2) + + v.substr(2, 2); + } + return [color, isNaN(opacity) ? undefined : opacity]; + } + function gxCoord(v) { return numarray(v.split(' ')); } + function gxCoords(root) { + var elems = get(root, 'coord', 'gx'), coords = [], times = []; + if (elems.length === 0) elems = get(root, 'gx:coord'); + for (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i]))); + var timeElems = get(root, 'when'); + for (var j = 0; j < timeElems.length; j++) times.push(nodeVal(timeElems[j])); + return { + coords: coords, + times: times + }; + } + function getGeometry(root) { + var geomNode, geomNodes, i, j, k, geoms = [], coordTimes = []; + if (get1(root, 'MultiGeometry')) { return getGeometry(get1(root, 'MultiGeometry')); } + if (get1(root, 'MultiTrack')) { return getGeometry(get1(root, 'MultiTrack')); } + if (get1(root, 'gx:MultiTrack')) { return getGeometry(get1(root, 'gx:MultiTrack')); } + for (i = 0; i < geotypes.length; i++) { + geomNodes = get(root, geotypes[i]); + if (geomNodes) { + for (j = 0; j < geomNodes.length; j++) { + geomNode = geomNodes[j]; + if (geotypes[i] === 'Point') { + geoms.push({ + type: 'Point', + coordinates: coord1(nodeVal(get1(geomNode, 'coordinates'))) + }); + } else if (geotypes[i] === 'LineString') { + geoms.push({ + type: 'LineString', + coordinates: coord(nodeVal(get1(geomNode, 'coordinates'))) + }); + } else if (geotypes[i] === 'Polygon') { + var rings = get(geomNode, 'LinearRing'), + coords = []; + for (k = 0; k < rings.length; k++) { + coords.push(coord(nodeVal(get1(rings[k], 'coordinates')))); + } + geoms.push({ + type: 'Polygon', + coordinates: coords + }); + } else if (geotypes[i] === 'Track' || + geotypes[i] === 'gx:Track') { + var track = gxCoords(geomNode); + geoms.push({ + type: 'LineString', + coordinates: track.coords + }); + if (track.times.length) coordTimes.push(track.times); + } + } + } + } + return { + geoms: geoms, + coordTimes: coordTimes + }; + } + function getPlacemark(root) { + var geomsAndTimes = getGeometry(root), i, properties = {}, + name = nodeVal(get1(root, 'name')), + address = nodeVal(get1(root, 'address')), + styleUrl = nodeVal(get1(root, 'styleUrl')), + description = nodeVal(get1(root, 'description')), + timeSpan = get1(root, 'TimeSpan'), + timeStamp = get1(root, 'TimeStamp'), + extendedData = get1(root, 'ExtendedData'), + lineStyle = get1(root, 'LineStyle'), + polyStyle = get1(root, 'PolyStyle'), + visibility = get1(root, 'visibility'); + + if (!geomsAndTimes.geoms.length) return []; + if (name) properties.name = name; + if (address) properties.address = address; + if (styleUrl) { + if (styleUrl[0] !== '#') { + styleUrl = '#' + styleUrl; + } + + properties.styleUrl = styleUrl; + if (styleIndex[styleUrl]) { + properties.styleHash = styleIndex[styleUrl]; + } + if (styleMapIndex[styleUrl]) { + properties.styleMapHash = styleMapIndex[styleUrl]; + properties.styleHash = styleIndex[styleMapIndex[styleUrl].normal]; + } + // Try to populate the lineStyle or polyStyle since we got the style hash + var style = styleByHash[properties.styleHash]; + if (style) { + if (!lineStyle) lineStyle = get1(style, 'LineStyle'); + if (!polyStyle) polyStyle = get1(style, 'PolyStyle'); + } + } + if (description) properties.description = description; + if (timeSpan) { + var begin = nodeVal(get1(timeSpan, 'begin')); + var end = nodeVal(get1(timeSpan, 'end')); + properties.timespan = { begin: begin, end: end }; + } + if (timeStamp) { + properties.timestamp = nodeVal(get1(timeStamp, 'when')); + } + if (lineStyle) { + var linestyles = kmlColor(nodeVal(get1(lineStyle, 'color'))), + color = linestyles[0], + opacity = linestyles[1], + width = parseFloat(nodeVal(get1(lineStyle, 'width'))); + if (color) properties.stroke = color; + if (!isNaN(opacity)) properties['stroke-opacity'] = opacity; + if (!isNaN(width)) properties['stroke-width'] = width; + } + if (polyStyle) { + var polystyles = kmlColor(nodeVal(get1(polyStyle, 'color'))), + pcolor = polystyles[0], + popacity = polystyles[1], + fill = nodeVal(get1(polyStyle, 'fill')), + outline = nodeVal(get1(polyStyle, 'outline')); + if (pcolor) properties.fill = pcolor; + if (!isNaN(popacity)) properties['fill-opacity'] = popacity; + if (fill) properties['fill-opacity'] = fill === '1' ? properties['fill-opacity'] || 1 : 0; + if (outline) properties['stroke-opacity'] = outline === '1' ? properties['stroke-opacity'] || 1 : 0; + } + if (extendedData) { + var datas = get(extendedData, 'Data'), + simpleDatas = get(extendedData, 'SimpleData'); + + for (i = 0; i < datas.length; i++) { + properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value')); + } + for (i = 0; i < simpleDatas.length; i++) { + properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]); + } + } + if (visibility) { + properties.visibility = nodeVal(visibility); + } + if (geomsAndTimes.coordTimes.length) { + properties.coordTimes = (geomsAndTimes.coordTimes.length === 1) ? + geomsAndTimes.coordTimes[0] : geomsAndTimes.coordTimes; + } + var feature = { + type: 'Feature', + geometry: (geomsAndTimes.geoms.length === 1) ? geomsAndTimes.geoms[0] : { + type: 'GeometryCollection', + geometries: geomsAndTimes.geoms + }, + properties: properties + }; + if (attr(root, 'id')) feature.id = attr(root, 'id'); + return [feature]; + } + return gj; + }, + gpx: function(doc) { + var i, + tracks = get(doc, 'trk'), + routes = get(doc, 'rte'), + waypoints = get(doc, 'wpt'), + // a feature collection + gj = fc(), + feature; + for (i = 0; i < tracks.length; i++) { + feature = getTrack(tracks[i]); + if (feature) gj.features.push(feature); + } + for (i = 0; i < routes.length; i++) { + feature = getRoute(routes[i]); + if (feature) gj.features.push(feature); + } + for (i = 0; i < waypoints.length; i++) { + gj.features.push(getPoint(waypoints[i])); + } + function getPoints(node, pointname) { + var pts = get(node, pointname), + line = [], + times = [], + heartRates = [], + l = pts.length; + if (l < 2) return {}; // Invalid line in GeoJSON + for (var i = 0; i < l; i++) { + var c = coordPair(pts[i]); + line.push(c.coordinates); + if (c.time) times.push(c.time); + if (c.heartRate) heartRates.push(c.heartRate); + } + return { + line: line, + times: times, + heartRates: heartRates + }; + } + function getTrack(node) { + var segments = get(node, 'trkseg'), + track = [], + times = [], + heartRates = [], + line; + for (var i = 0; i < segments.length; i++) { + line = getPoints(segments[i], 'trkpt'); + if (line) { + if (line.line) track.push(line.line); + if (line.times && line.times.length) times.push(line.times); + if (line.heartRates && line.heartRates.length) heartRates.push(line.heartRates); + } + } + if (track.length === 0) return; + var properties = getProperties(node); + extend(properties, getLineStyle(get1(node, 'extensions'))); + if (times.length) properties.coordTimes = track.length === 1 ? times[0] : times; + if (heartRates.length) properties.heartRates = track.length === 1 ? heartRates[0] : heartRates; + return { + type: 'Feature', + properties: properties, + geometry: { + type: track.length === 1 ? 'LineString' : 'MultiLineString', + coordinates: track.length === 1 ? track[0] : track + } + }; + } + function getRoute(node) { + var line = getPoints(node, 'rtept'); + if (!line.line) return; + var prop = getProperties(node); + extend(prop, getLineStyle(get1(node, 'extensions'))); + var routeObj = { + type: 'Feature', + properties: prop, + geometry: { + type: 'LineString', + coordinates: line.line + } + }; + return routeObj; + } + function getPoint(node) { + var prop = getProperties(node); + extend(prop, getMulti(node, ['sym'])); + return { + type: 'Feature', + properties: prop, + geometry: { + type: 'Point', + coordinates: coordPair(node).coordinates + } + }; + } + function getLineStyle(extensions) { + var style = {}; + if (extensions) { + var lineStyle = get1(extensions, 'line'); + if (lineStyle) { + var color = nodeVal(get1(lineStyle, 'color')), + opacity = parseFloat(nodeVal(get1(lineStyle, 'opacity'))), + width = parseFloat(nodeVal(get1(lineStyle, 'width'))); + if (color) style.stroke = color; + if (!isNaN(opacity)) style['stroke-opacity'] = opacity; + // GPX width is in mm, convert to px with 96 px per inch + if (!isNaN(width)) style['stroke-width'] = width * 96 / 25.4; + } + } + return style; + } + function getProperties(node) { + var prop = getMulti(node, ['name', 'cmt', 'desc', 'type', 'time', 'keywords']), + links = get(node, 'link'); + if (links.length) prop.links = []; + for (var i = 0, link; i < links.length; i++) { + link = { href: attr(links[i], 'href') }; + extend(link, getMulti(links[i], ['text', 'type'])); + prop.links.push(link); + } + return prop; + } + return gj; + } + }; + return t; + })(); + + module.exports = toGeoJSON; + }); + + var _initialized = false; + var _enabled = false; + var _geojson; + + + function svgGpx$$1(projection$$1, context, dispatch) { + var _showLabels = true; + var detected = utilDetect(); + var layer; + var _src; + + + function init() { + if (_initialized) return; // run once + + _geojson = {}; + _enabled = true; + + function over() { + event.stopPropagation(); + event.preventDefault(); + event.dataTransfer.dropEffect = 'copy'; + } + + select('body') + .attr('dropzone', 'copy') + .on('drop.localgpx', function() { + event.stopPropagation(); + event.preventDefault(); + if (!detected.filedrop) return; + drawGpx.files(event.dataTransfer.files); + }) + .on('dragenter.localgpx', over) + .on('dragexit.localgpx', over) + .on('dragover.localgpx', over); + + _initialized = true; + } + + + function drawGpx(selection$$1) { + var getPath = svgPath(projection$$1).geojson; + + layer = selection$$1.selectAll('.layer-gpx') + .data(_enabled ? [0] : []); + + layer.exit() + .remove(); + + layer = layer.enter() + .append('g') + .attr('class', 'layer-gpx') + .merge(layer); + + + var paths = layer + .selectAll('path') + .data([_geojson]); + + paths.exit() + .remove(); + + paths = paths.enter() + .append('path') + .attr('class', 'gpx') + .merge(paths); + + paths + .attr('d', getPath); + + + var labelData = _showLabels && _geojson.features ? _geojson.features : []; + labelData = labelData.filter(getPath); + + layer + .call(drawLabels, 'gpxlabel-halo', labelData) + .call(drawLabels, 'gpxlabel', labelData); + + + function drawLabels(selection$$1, textClass, data) { + var labels = selection$$1.selectAll('text.' + textClass) + .data(data); + + // exit + labels.exit() + .remove(); + + // enter/update + labels = labels.enter() + .append('text') + .attr('class', textClass) + .merge(labels) + .text(function(d) { + if (d.properties) { + return d.properties.desc || d.properties.name; + } + return null; + }) + .attr('x', function(d) { + var centroid = getPath.centroid(d); + return centroid[0] + 11; + }) + .attr('y', function(d) { + var centroid = getPath.centroid(d); + return centroid[1]; + }); + } + } + + + function toDom(x) { + return (new DOMParser()).parseFromString(x, 'text/xml'); + } + + + function getExtension(fileName) { + if (isUndefined(fileName)) { + return ''; + } + + var lastDotIndex = fileName.lastIndexOf('.'); + if (lastDotIndex < 0) { + return ''; + } + + return fileName.substr(lastDotIndex); + } + + + function parseSaveAndZoom(extension, data) { + switch (extension) { + default: + drawGpx.geojson(togeojson.gpx(toDom(data))).fitZoom(); + break; + case '.kml': + drawGpx.geojson(togeojson.kml(toDom(data))).fitZoom(); + break; + case '.geojson': + case '.json': + drawGpx.geojson(JSON.parse(data)).fitZoom(); + break; + } + } + + + drawGpx.showLabels = function(_) { + if (!arguments.length) return _showLabels; + _showLabels = _; + return this; + }; + + + drawGpx.enabled = function(_) { + if (!arguments.length) return _enabled; + _enabled = _; + dispatch.call('change'); + return this; + }; + + + drawGpx.hasGpx = function() { + return (!(isEmpty(_geojson) || isEmpty(_geojson.features))); + }; + + + drawGpx.geojson = function(gj) { + if (!arguments.length) return _geojson; + if (isEmpty(gj) || isEmpty(gj.features)) return this; + _geojson = gj; + dispatch.call('change'); + return this; + }; + + + drawGpx.url = function(url) { + d3_text(url, function(err, data) { + if (!err) { + _src = url; + var extension = getExtension(url); + parseSaveAndZoom(extension, data); + } + }); + return this; + }; + + + drawGpx.files = function(fileList) { + if (!fileList.length) return this; + var f = fileList[0], + reader = new FileReader(); + + reader.onload = (function(file) { + _src = file.name; + var extension = getExtension(file.name); + return function (e) { + parseSaveAndZoom(extension, e.target.result); + }; + })(f); + + reader.readAsText(f); + return this; + }; + + + drawGpx.getSrc = function () { + return _src; + }; + + + drawGpx.fitZoom = function() { + if (!this.hasGpx()) return this; + + var map = context.map(); + var viewport = map.trimmedExtent().polygon(); + var coords = reduce(_geojson.features, function(coords, feature) { + var c = feature.geometry.coordinates; + + /* eslint-disable no-fallthrough */ + switch (feature.geometry.type) { + case 'Point': + c = [c]; + case 'MultiPoint': + case 'LineString': + break; + + case 'MultiPolygon': + c = flatten(c); + case 'Polygon': + case 'MultiLineString': + c = flatten(c); + break; + } + /* eslint-enable no-fallthrough */ + + return union(coords, c); + }, []); + + if (!geoPolygonIntersectsPolygon(viewport, coords, true)) { + var extent = geoExtent$$1(d3_geoBounds({ type: 'LineString', coordinates: coords })); + map.centerZoom(extent.center(), map.trimmedExtentZoom(extent)); + } + + return this; + }; + + + init(); + return drawGpx; + } + + function svgIcon(name, svgklass, useklass) { + return function drawIcon(selection) { + selection.selectAll('svg') + .data([0]) + .enter() + .append('svg') + .attr('class', 'icon ' + (svgklass || '')) + .append('use') + .attr('xlink:href', name) + .attr('class', useklass); + }; + } + + /** Error message constants. */ + var FUNC_ERROR_TEXT$3 = 'Expected a function'; + + /** + * 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 `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` 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. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * 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. + * @returns {Function} Returns the new throttled function. + * @example + * + * // 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. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT$3); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + function svgLabels(projection$$1, context) { + var path = d3_geoPath(projection$$1); + var detected = utilDetect(); + var baselineHack = (detected.ie || detected.browser.toLowerCase() === 'edge'); + var _rdrawn = rbush_1(); + var _rskipped = rbush_1(); + var _textWidthCache = {}; + var _entitybboxes = {}; + + // Listed from highest to lowest priority + var labelStack = [ + ['line', 'aeroway', '*', 12], + ['line', 'highway', 'motorway', 12], + ['line', 'highway', 'trunk', 12], + ['line', 'highway', 'primary', 12], + ['line', 'highway', 'secondary', 12], + ['line', 'highway', 'tertiary', 12], + ['line', 'highway', '*', 12], + ['line', 'railway', '*', 12], + ['line', 'waterway', '*', 12], + ['area', 'aeroway', '*', 12], + ['area', 'amenity', '*', 12], + ['area', 'building', '*', 12], + ['area', 'historic', '*', 12], + ['area', 'leisure', '*', 12], + ['area', 'man_made', '*', 12], + ['area', 'natural', '*', 12], + ['area', 'shop', '*', 12], + ['area', 'tourism', '*', 12], + ['area', 'camp_site', '*', 12], + ['point', 'aeroway', '*', 10], + ['point', 'amenity', '*', 10], + ['point', 'building', '*', 10], + ['point', 'historic', '*', 10], + ['point', 'leisure', '*', 10], + ['point', 'man_made', '*', 10], + ['point', 'natural', '*', 10], + ['point', 'shop', '*', 10], + ['point', 'tourism', '*', 10], + ['point', 'camp_site', '*', 10], + ['line', 'name', '*', 12], + ['area', 'name', '*', 12], + ['point', 'name', '*', 10] + ]; + + + function blacklisted(preset) { + var noIcons = ['building', 'landuse', 'natural']; + return some(noIcons, function(s) { + return preset.id.indexOf(s) >= 0; + }); + } + + + function get(array, prop) { + return function(d, i) { return array[i][prop]; }; + } + + + function textWidth(text, size, elem) { + var c = _textWidthCache[size]; + if (!c) c = _textWidthCache[size] = {}; + + if (c[text]) { + return c[text]; + + } else if (elem) { + c[text] = elem.getComputedTextLength(); + return c[text]; + + } else { + var str = encodeURIComponent(text).match(/%[CDEFcdef]/g); + if (str === null) { + return size / 3 * 2 * text.length; + } else { + return size / 3 * (2 * text.length + str.length); + } + } + } + + + function drawLinePaths(selection, entities, filter, classes, labels) { + var paths = selection.selectAll('path') + .filter(filter) + .data(entities, osmEntity$$1.key); + + // exit + paths.exit() + .remove(); + + // enter/update + paths.enter() + .append('path') + .style('stroke-width', get(labels, 'font-size')) + .attr('id', function(d) { return 'labelpath-' + d.id; }) + .attr('class', classes) + .merge(paths) + .attr('d', get(labels, 'lineString')); + } + + + function drawLineLabels(selection, entities, filter, classes, labels) { + var texts = selection.selectAll('text.' + classes) + .filter(filter) + .data(entities, osmEntity$$1.key); + + // exit + texts.exit() + .remove(); + + // enter + texts.enter() + .append('text') + .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; }) + .attr('dy', baselineHack ? '0.35em' : null) + .append('textPath') + .attr('class', 'textpath'); + + // update + selection.selectAll('text.' + classes).selectAll('.textpath') + .filter(filter) + .data(entities, osmEntity$$1.key) + .attr('startOffset', '50%') + .attr('xlink:href', function(d) { return '#labelpath-' + d.id; }) + .text(utilDisplayNameForPath); + } + + + function drawPointLabels(selection, entities, filter, classes, labels) { + var texts = selection.selectAll('text.' + classes) + .filter(filter) + .data(entities, osmEntity$$1.key); + + // exit + texts.exit() + .remove(); + + // enter/update + texts.enter() + .append('text') + .attr('class', function(d, i) { + return classes + ' ' + labels[i].classes + ' ' + d.id; + }) + .merge(texts) + .attr('x', get(labels, 'x')) + .attr('y', get(labels, 'y')) + .style('text-anchor', get(labels, 'textAnchor')) + .text(utilDisplayName) + .each(function(d, i) { + textWidth(utilDisplayName(d), labels[i].height, this); + }); + } + + + function drawAreaLabels(selection, entities, filter, classes, labels) { + entities = entities.filter(hasText); + labels = labels.filter(hasText); + drawPointLabels(selection, entities, filter, classes, labels); + + function hasText(d, i) { + return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y'); + } + } + + + function drawAreaIcons(selection, entities, filter, classes, labels) { + var icons = selection.selectAll('use.' + classes) + .filter(filter) + .data(entities, osmEntity$$1.key); + + // exit + icons.exit() + .remove(); + + // enter/update + icons.enter() + .append('use') + .attr('class', 'icon ' + classes) + .attr('width', '17px') + .attr('height', '17px') + .merge(icons) + .attr('transform', get(labels, 'transform')) + .attr('xlink:href', function(d) { + var preset = context.presets().match(d, context.graph()); + var picon = preset && preset.icon; + + if (!picon) { + return ''; + } else { + var isMaki = /^maki-/.test(picon); + return '#' + picon + (isMaki ? '-15' : ''); + } + }); + } + + + function drawCollisionBoxes(selection, rtree, which) { + var classes = 'debug ' + which + ' ' + (which === 'debug-skipped' ? 'orange' : 'yellow'); + + var gj = []; + if (context.getDebug('collision')) { + gj = rtree.all().map(function(d) { + return { type: 'Polygon', coordinates: [[ + [d.minX, d.minY], + [d.maxX, d.minY], + [d.maxX, d.maxY], + [d.minX, d.maxY], + [d.minX, d.minY] + ]]}; + }); + } + + var boxes = selection.selectAll('.' + which) + .data(gj); + + // exit + boxes.exit() + .remove(); + + // enter/update + boxes.enter() + .append('path') + .attr('class', classes) + .merge(boxes) + .attr('d', d3_geoPath()); + } + + + function drawLabels(selection, graph, entities, filter, dimensions, fullRedraw) { + var wireframe = context.surface().classed('fill-wireframe'); + var zoom = geoScaleToZoom(projection$$1.scale()); + + var labelable = []; + var renderNodeAs = {}; + var i, j, k, entity, geometry; + + for (i = 0; i < labelStack.length; i++) { + labelable.push([]); + } + + if (fullRedraw) { + _rdrawn.clear(); + _rskipped.clear(); + _entitybboxes = {}; + + } else { + for (i = 0; i < entities.length; i++) { + entity = entities[i]; + var toRemove = [] + .concat(_entitybboxes[entity.id] || []) + .concat(_entitybboxes[entity.id + 'I'] || []); + + for (j = 0; j < toRemove.length; j++) { + _rdrawn.remove(toRemove[j]); + _rskipped.remove(toRemove[j]); + } + } + } + + // Loop through all the entities to do some preprocessing + for (i = 0; i < entities.length; i++) { + entity = entities[i]; + geometry = entity.geometry(graph); + + // Insert collision boxes around interesting points/vertices + if (geometry === 'point' || (geometry === 'vertex' && isInterestingVertex(entity))) { + var hasDirections = entity.directions(graph, projection$$1).length; + var markerPadding; + + if (!wireframe && geometry === 'point' && !(zoom >= 18 && hasDirections)) { + renderNodeAs[entity.id] = 'point'; + markerPadding = 20; // extra y for marker height + } else { + renderNodeAs[entity.id] = 'vertex'; + markerPadding = 0; + } + + var coord = projection$$1(entity.loc); + var nodePadding = 10; + var bbox = { + minX: coord[0] - nodePadding, + minY: coord[1] - nodePadding - markerPadding, + maxX: coord[0] + nodePadding, + maxY: coord[1] + nodePadding + }; + + doInsert(bbox, entity.id + 'P'); + } + + // From here on, treat vertices like points + if (geometry === 'vertex') { + geometry = 'point'; + } + + // Determine which entities are label-able + var preset = geometry === 'area' && context.presets().match(entity, graph); + var icon = preset && !blacklisted(preset) && preset.icon; + + if (!icon && !utilDisplayName(entity)) + continue; + + for (k = 0; k < labelStack.length; k++) { + var matchGeom = labelStack[k][0]; + var matchKey = labelStack[k][1]; + var matchVal = labelStack[k][2]; + var hasVal = entity.tags[matchKey]; + + if (geometry === matchGeom && hasVal && (matchVal === '*' || matchVal === hasVal)) { + labelable[k].push(entity); + break; + } + } + } + + var positions = { + point: [], + line: [], + area: [] + }; + + var labelled = { + point: [], + line: [], + area: [] + }; + + // Try and find a valid label for labellable entities + for (k = 0; k < labelable.length; k++) { + var fontSize = labelStack[k][3]; + + for (i = 0; i < labelable[k].length; i++) { + entity = labelable[k][i]; + geometry = entity.geometry(graph); + + var getName = (geometry === 'line') ? utilDisplayNameForPath : utilDisplayName; + var name = getName(entity); + var width = name && textWidth(name, fontSize); + var p = null; + + if (geometry === 'point' || geometry === 'vertex') { + // no point or vertex labels in wireframe mode + // no vertex labels at low zooms (vertices have no icons) + if (wireframe) continue; + var renderAs = renderNodeAs[entity.id]; + if (renderAs === 'vertex' && zoom < 17) continue; + + p = getPointLabel(entity, width, fontSize, renderAs); + + } else if (geometry === 'line') { + p = getLineLabel(entity, width, fontSize); + + } else if (geometry === 'area') { + p = getAreaLabel(entity, width, fontSize); + } + + if (p) { + if (geometry === 'vertex') { geometry = 'point'; } // treat vertex like point + p.classes = geometry + ' tag-' + labelStack[k][1]; + positions[geometry].push(p); + labelled[geometry].push(entity); + } + } + } + + + function isInterestingVertex(entity) { + var selectedIDs = context.selectedIDs(); + + return entity.hasInterestingTags() || + entity.isEndpoint(graph) || + entity.isConnected(graph) || + selectedIDs.indexOf(entity.id) !== -1 || + some(graph.parentWays(entity), function(parent) { + return selectedIDs.indexOf(parent.id) !== -1; + }); + } + + + function getPointLabel(entity, width, height, geometry) { + var y = (geometry === 'point' ? -12 : 0); + var pointOffsets = { + ltr: [15, y, 'start'], + rtl: [-15, y, 'end'] + }; + + var coord = projection$$1(entity.loc); + var textPadding = 2; + var offset = pointOffsets[textDirection]; + var p = { + height: height, + width: width, + x: coord[0] + offset[0], + y: coord[1] + offset[1], + textAnchor: offset[2] + }; + + // insert a collision box for the text label.. + var bbox; + if (textDirection === 'rtl') { + bbox = { + minX: p.x - width - textPadding, + minY: p.y - (height / 2) - textPadding, + maxX: p.x + textPadding, + maxY: p.y + (height / 2) + textPadding + }; + } else { + bbox = { + minX: p.x - textPadding, + minY: p.y - (height / 2) - textPadding, + maxX: p.x + width + textPadding, + maxY: p.y + (height / 2) + textPadding + }; + } + + if (tryInsert([bbox], entity.id, true)) { + return p; + } + } + + + function getLineLabel(entity, width, height) { + var viewport = geoExtent$$1(context.projection.clipExtent()).polygon(); + var points = map$3(graph.childNodes(entity), 'loc').map(projection$$1); + var length = geoPathLength(points); + + if (length < width + 20) return; + + // todo: properly clip points to viewport + + // % along the line to attempt to place the label + var lineOffsets = [50, 45, 55, 40, 60, 35, 65, 30, 70, + 25, 75, 20, 80, 15, 95, 10, 90, 5, 95]; + var padding = 3; + + for (var i = 0; i < lineOffsets.length; i++) { + var offset = lineOffsets[i]; + var middle = offset / 100 * length; + var start = middle - width / 2; + + if (start < 0 || start + width > length) continue; + + // generate subpath and ignore paths that are invalid or don't cross viewport. + var sub = subpath(points, start, start + width); + if (!sub || !geoPolygonIntersectsPolygon(viewport, sub, true)) { + continue; + } + + var isReverse = reverse(sub); + if (isReverse) { + sub = sub.reverse(); + } + + var bboxes = []; + var boxsize = (height + 2) / 2; + + for (var j = 0; j < sub.length - 1; j++) { + var a = sub[j]; + var b = sub[j + 1]; + + // split up the text into small collision boxes + var num = Math.max(1, Math.floor(geoVecLength(a, b) / boxsize / 2)); + + for (var box = 0; box < num; box++) { + var p = geoVecInterp(a, b, box / num); + var x0 = p[0] - boxsize - padding; + var y0 = p[1] - boxsize - padding; + var x1 = p[0] + boxsize + padding; + var y1 = p[1] + boxsize + padding; + + bboxes.push({ + minX: Math.min(x0, x1), + minY: Math.min(y0, y1), + maxX: Math.max(x0, x1), + maxY: Math.max(y0, y1) + }); + } + } + + if (tryInsert(bboxes, entity.id, false)) { // accept this one + return { + 'font-size': height + 2, + lineString: lineString(sub), + startOffset: offset + '%' + }; + } + } + + function reverse(p) { + var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]); + return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > -Math.PI/2); + } + + function lineString(points) { + return 'M' + points.join('L'); + } + + function subpath(points, from, to) { + var sofar = 0; + var start, end, i0, i1; + + for (var i = 0; i < points.length - 1; i++) { + var a = points[i]; + var b = points[i + 1]; + var current = geoVecLength(a, b); + var portion; + if (!start && sofar + current >= from) { + portion = (from - sofar) / current; + start = [ + a[0] + portion * (b[0] - a[0]), + a[1] + portion * (b[1] - a[1]) + ]; + i0 = i + 1; + } + if (!end && sofar + current >= to) { + portion = (to - sofar) / current; + end = [ + a[0] + portion * (b[0] - a[0]), + a[1] + portion * (b[1] - a[1]) + ]; + i1 = i + 1; + } + sofar += current; + } + + var result = points.slice(i0, i1); + result.unshift(start); + result.push(end); + return result; + } + } + + + function getAreaLabel(entity, width, height) { + var centroid = path.centroid(entity.asGeoJSON(graph, true)); + var extent = entity.extent(graph); + var areaWidth = projection$$1(extent[1])[0] - projection$$1(extent[0])[0]; + + if (isNaN(centroid[0]) || areaWidth < 20) return; + + var preset = context.presets().match(entity, context.graph()); + var picon = preset && preset.icon; + var iconSize = 17; + var padding = 2; + var p = {}; + + if (picon) { // icon and label.. + if (addIcon()) { + addLabel(iconSize + padding); + return p; + } + } else { // label only.. + if (addLabel(0)) { + return p; + } + } + + + function addIcon() { + var iconX = centroid[0] - (iconSize / 2); + var iconY = centroid[1] - (iconSize / 2); + var bbox = { + minX: iconX, + minY: iconY, + maxX: iconX + iconSize, + maxY: iconY + iconSize + }; + + if (tryInsert([bbox], entity.id + 'I', true)) { + p.transform = 'translate(' + iconX + ',' + iconY + ')'; + return true; + } + return false; + } + + function addLabel(yOffset) { + if (width && areaWidth >= width + 20) { + var labelX = centroid[0]; + var labelY = centroid[1] + yOffset; + var bbox = { + minX: labelX - (width / 2) - padding, + minY: labelY - (height / 2) - padding, + maxX: labelX + (width / 2) + padding, + maxY: labelY + (height / 2) + padding + }; + + if (tryInsert([bbox], entity.id, true)) { + p.x = labelX; + p.y = labelY; + p.textAnchor = 'middle'; + p.height = height; + return true; + } + } + return false; + } + } + + + // force insert a singular bounding box + // singular box only, no array, id better be unique + function doInsert(bbox, id) { + bbox.id = id; + + var oldbox = _entitybboxes[id]; + if (oldbox) { + _rdrawn.remove(oldbox); + } + _entitybboxes[id] = bbox; + _rdrawn.insert(bbox); + } + + + function tryInsert(bboxes, id, saveSkipped) { + var skipped = false; + + for (var i = 0; i < bboxes.length; i++) { + var bbox = bboxes[i]; + bbox.id = id; + + // Check that label is visible + if (bbox.minX < 0 || bbox.minY < 0 || bbox.maxX > dimensions[0] || bbox.maxY > dimensions[1]) { + skipped = true; + break; + } + if (_rdrawn.collides(bbox)) { + skipped = true; + break; + } + } + + _entitybboxes[id] = bboxes; + + if (skipped) { + if (saveSkipped) { + _rskipped.load(bboxes); + } + } else { + _rdrawn.load(bboxes); + } + + return !skipped; + } + + + var layer = selection.selectAll('.layer-labels'); + var halo = layer.selectAll('.layer-labels-halo'); + var label = layer.selectAll('.layer-labels-label'); + var debug = layer.selectAll('.layer-labels-debug'); + + // points + drawPointLabels(label, labelled.point, filter, 'pointlabel', positions.point); + drawPointLabels(halo, labelled.point, filter, 'pointlabel-halo', positions.point); + + // lines + drawLinePaths(halo, labelled.line, filter, '', positions.line); + drawLineLabels(label, labelled.line, filter, 'linelabel', positions.line); + drawLineLabels(halo, labelled.line, filter, 'linelabel-halo', positions.line); + + // areas + drawAreaLabels(label, labelled.area, filter, 'arealabel', positions.area); + drawAreaLabels(halo, labelled.area, filter, 'arealabel-halo', positions.area); + drawAreaIcons(label, labelled.area, filter, 'areaicon', positions.area); + drawAreaIcons(halo, labelled.area, filter, 'areaicon-halo', positions.area); + + // debug + drawCollisionBoxes(debug, _rskipped, 'debug-skipped'); + drawCollisionBoxes(debug, _rdrawn, 'debug-drawn'); + + layer.call(filterLabels); + } + + + function filterLabels(selection) { + var layers = selection + .selectAll('.layer-labels-label, .layer-labels-halo'); + + layers.selectAll('.nolabel') + .classed('nolabel', false); + + var mouse = context.mouse(); + var graph = context.graph(); + var selectedIDs = context.selectedIDs(); + var ids = []; + var pad, bbox; + + // hide labels near the mouse + if (mouse) { + pad = 20; + bbox = { minX: mouse[0] - pad, minY: mouse[1] - pad, maxX: mouse[0] + pad, maxY: mouse[1] + pad }; + ids.push.apply(ids, map$3(_rdrawn.search(bbox), 'id')); + } + + // hide labels on selected nodes (they look weird when dragging / haloed) + for (var i = 0; i < selectedIDs.length; i++) { + var entity = graph.hasEntity(selectedIDs[i]); + if (entity && entity.type === 'node') { + ids.push(selectedIDs[i]); + } + } + + layers.selectAll(utilEntitySelector(ids)) + .classed('nolabel', true); + + + // draw the mouse bbox if debugging is on.. + var debug = selection.selectAll('.layer-labels-debug'); + var gj = []; + if (context.getDebug('collision')) { + gj = bbox ? [{ + type: 'Polygon', + coordinates: [[ + [bbox.minX, bbox.minY], + [bbox.maxX, bbox.minY], + [bbox.maxX, bbox.maxY], + [bbox.minX, bbox.maxY], + [bbox.minX, bbox.minY] + ]] + }] : []; + } + + var box = debug.selectAll('.debug-mouse') + .data(gj); + + // exit + box.exit() + .remove(); + + // enter/update + box.enter() + .append('path') + .attr('class', 'debug debug-mouse yellow') + .merge(box) + .attr('d', d3_geoPath()); + } + + + var throttleFilterLabels = throttle(utilCallWhenIdle(filterLabels), 100); + + + drawLabels.observe = function(selection) { + var listener = function() { throttleFilterLabels(selection); }; + selection.on('mousemove.hidelabels', listener); + context.on('enter.hidelabels', listener); + }; + + + drawLabels.off = function(selection) { + throttleFilterLabels.cancel(); + selection.on('mousemove.hidelabels', null); + context.on('enter.hidelabels', null); + }; + + + return drawLabels; + } + + function svgStreetside$$1(projection, context, dispatch) { + var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000); + var minZoom = 14; + var minMarkerZoom = 16; + var minViewfieldZoom = 18; + var layer = select(null); + var _viewerYaw = 0; + var _selectedSequence = null; + var _streetside; + + /** + * init(). + */ + function init() { + if (svgStreetside$$1.initialized) return; // run once + svgStreetside$$1.enabled = false; + svgStreetside$$1.initialized = true; + } + + /** + * getService(). + */ + function getService() { + if (services.streetside && !_streetside) { + _streetside = services.streetside; + _streetside.event + .on('viewerChanged', viewerChanged) + .on('loadedBubbles', throttledRedraw); + } else if (!services.streetside && _streetside) { + _streetside = null; + } + + return _streetside; + } + + /** + * showLayer(). + */ + function showLayer() { + var service = getService(); + if (!service) return; + + service.loadViewer(context); + editOn(); + + layer + .style('opacity', 0) + .transition() + .duration(250) + .style('opacity', 1) + .on('end', function () { dispatch.call('change'); }); + } + + /** + * hideLayer(). + */ + function hideLayer() { + var service = getService(); + if (service) { + service.hideViewer(); + } + + throttledRedraw.cancel(); + + layer + .transition() + .duration(250) + .style('opacity', 0) + .on('end', editOff); + } + + /** + * editOn(). + */ + function editOn() { + layer.style('display', 'block'); + } + + /** + * editOff(). + */ + function editOff() { + layer.selectAll('.viewfield-group').remove(); + layer.style('display', 'none'); + } + + /** + * click() Handles 'bubble' point click event. + */ + function click(d) { + var service = getService(); + if (!service) return; + + // try to preserve the viewer rotation when staying on the same sequence + if (d.sequenceKey !== _selectedSequence) { + _viewerYaw = 0; // reset + } + _selectedSequence = d.sequenceKey; + + service + .selectImage(d) + .showViewer(_viewerYaw); + + context.map().centerEase(d.loc); + } + + /** + * mouseover(). + */ + function mouseover(d) { + var service = getService(); + if (service) service.setStyles(d); + } + + /** + * mouseout(). + */ + function mouseout() { + var service = getService(); + if (service) service.setStyles(null); + } + + /** + * transform(). + */ + function transform(d) { + var t = svgPointTransform(projection)(d); + var rot = d.ca + _viewerYaw; + if (rot) { + t += ' rotate(' + Math.floor(rot) + ',0,0)'; + } + return t; + } + + + function viewerChanged() { + var service = getService(); + if (!service) return; + + var viewer = service.viewer(); + if (!viewer) return; + + // update viewfield rotation + _viewerYaw = viewer.getYaw(); + + // avoid updating if the map is currently transformed + // e.g. during drags or easing. + if (context.map().isTransformed()) return; + + layer.selectAll('.viewfield-group.selected') + .attr('transform', transform); + } + + + /** + * update(). + */ + function update() { + var viewer = select('#photoviewer'); + var selected = viewer.empty() ? undefined : viewer.datum(); + var z = ~~context.map().zoom(); + var showMarkers = (z >= minMarkerZoom); + var showViewfields = (z >= minViewfieldZoom); + var service = getService(); + + var sequences = (service ? service.sequences(projection) : []); + var bubbles = (service && showMarkers ? service.bubbles(projection) : []); + + var traces = layer.selectAll('.sequences').selectAll('.sequence') + .data(sequences, function(d) { return d.properties.key; }); + + // exit + traces.exit() + .remove(); + + // enter/update + traces = traces.enter() + .append('path') + .attr('class', 'sequence') + .merge(traces) + .attr('d', svgPath(projection).geojson); + + + var groups = layer.selectAll('.markers').selectAll('.viewfield-group') + .data(bubbles, function(d) { return d.key; }); + + // exit + groups.exit() + .remove(); + + // enter + var groupsEnter = groups.enter() + .append('g') + .attr('class', 'viewfield-group') + .on('mouseover', mouseover) + .on('mouseout', mouseout) + .on('click', click); + + groupsEnter + .append('g') + .attr('class', 'viewfield-scale'); + + // update + var markers = groups + .merge(groupsEnter) + .sort(function(a, b) { + return (a === selected) ? 1 + : (b === selected) ? -1 + : b.loc[1] - a.loc[1]; + }) + .attr('transform', transform) + .select('.viewfield-scale'); + + + markers.selectAll('circle') + .data([0]) + .enter() + .append('circle') + .attr('dx', '0') + .attr('dy', '0') + .attr('r', '6'); + + var viewfields = markers.selectAll('.viewfield') + .data(showViewfields ? [0] : []); + + viewfields.exit() + .remove(); + + // viewfields may or may not be drawn... + // but if they are, draw below the circles + viewfields.enter() + .insert('path', 'circle') + .attr('class', 'viewfield') + .attr('transform', 'scale(1.5,1.5),translate(-8, -13)') + .attr('d', viewfieldPath); + + + function viewfieldPath() { + var d = this.parentNode.__data__; + if (d.pano) { + return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0'; + } else { + return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z'; + } + } + + } + + /** + * drawImages() + * drawImages is the method that is returned (and that runs) everytime 'svgStreetside()' is called. + * 'svgStreetside()' is called from index.js + */ + function drawImages(selection$$1) { + var enabled = svgStreetside$$1.enabled; + var service = getService(); + + layer = selection$$1.selectAll('.layer-streetside-images') + .data(service ? [0] : []); + + layer.exit() + .remove(); + + var layerEnter = layer.enter() + .append('g') + .attr('class', 'layer-streetside-images') + .style('display', enabled ? 'block' : 'none'); + + layerEnter + .append('g') + .attr('class', 'sequences'); + + layerEnter + .append('g') + .attr('class', 'markers'); + + layer = layerEnter + .merge(layer); + + if (enabled) { + if (service && ~~context.map().zoom() >= minZoom) { + editOn(); + update(); + + service.loadBubbles(projection); + } else { + editOff(); + } + } + } + + + /** + * drawImages.enabled(). + */ + drawImages.enabled = function(_) { + if (!arguments.length) return svgStreetside$$1.enabled; + svgStreetside$$1.enabled = _; + if (svgStreetside$$1.enabled) { + showLayer(); + } else { + hideLayer(); + } + dispatch.call('change'); + return this; + }; + + /** + * drawImages.supported(). + */ + drawImages.supported = function() { + return !!getService(); + }; + + init(); + + return drawImages; + } + + function svgMapillaryImages$$1(projection, context, dispatch) { + var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000); + var minZoom = 12; + var minMarkerZoom = 16; + var minViewfieldZoom = 18; + var layer = select(null); + var _mapillary; + + + function init() { + if (svgMapillaryImages$$1.initialized) return; // run once + svgMapillaryImages$$1.enabled = false; + svgMapillaryImages$$1.initialized = true; + } + + + function getService() { + if (services.mapillary && !_mapillary) { + _mapillary = services.mapillary; + _mapillary.event.on('loadedImages', throttledRedraw); + } else if (!services.mapillary && _mapillary) { + _mapillary = null; + } + + return _mapillary; + } + + + function showLayer() { + var service = getService(); + if (!service) return; + + service.loadViewer(context); + editOn(); + + layer + .style('opacity', 0) + .transition() + .duration(250) + .style('opacity', 1) + .on('end', function () { dispatch.call('change'); }); + } + + + function hideLayer() { + var service = getService(); + if (service) { + service.hideViewer(); + } + + throttledRedraw.cancel(); + + layer + .transition() + .duration(250) + .style('opacity', 0) + .on('end', editOff); + } + + + function editOn() { + layer.style('display', 'block'); + } + + + function editOff() { + layer.selectAll('.viewfield-group').remove(); + layer.style('display', 'none'); + } + + + function click(d) { + var service = getService(); + if (!service) return; + + service + .selectImage(d) + .updateViewer(d.key, context) + .showViewer(); + + context.map().centerEase(d.loc); + } + + + function mouseover(d) { + var service = getService(); + if (service) service.setStyles(d); + } + + + function mouseout() { + var service = getService(); + if (service) service.setStyles(null); + } + + + function transform(d) { + var t = svgPointTransform(projection)(d); + if (d.ca) { + t += ' rotate(' + Math.floor(d.ca) + ',0,0)'; + } + return t; + } + + + function update() { + var viewer = select('#photoviewer'); + var selected = viewer.empty() ? undefined : viewer.datum(); + + var z = ~~context.map().zoom(); + var showMarkers = (z >= minMarkerZoom); + var showViewfields = (z >= minViewfieldZoom); + + var service = getService(); + var sequences = (service ? service.sequences(projection) : []); + var images = (service && showMarkers ? service.images(projection) : []); + + var traces = layer.selectAll('.sequences').selectAll('.sequence') + .data(sequences, function(d) { return d.properties.key; }); + + // exit + traces.exit() + .remove(); + + // enter/update + traces = traces.enter() + .append('path') + .attr('class', 'sequence') + .merge(traces) + .attr('d', svgPath(projection).geojson); + + + var groups = layer.selectAll('.markers').selectAll('.viewfield-group') + .data(images, function(d) { return d.key; }); + + // exit + groups.exit() + .remove(); + + // enter + var groupsEnter = groups.enter() + .append('g') + .attr('class', 'viewfield-group') + .on('mouseover', mouseover) + .on('mouseout', mouseout) + .on('click', click); + + groupsEnter + .append('g') + .attr('class', 'viewfield-scale'); + + // update + var markers = groups + .merge(groupsEnter) + .sort(function(a, b) { + return (a === selected) ? 1 + : (b === selected) ? -1 + : b.loc[1] - a.loc[1]; // sort Y + }) + .attr('transform', transform) + .select('.viewfield-scale'); + + + markers.selectAll('circle') + .data([0]) + .enter() + .append('circle') + .attr('dx', '0') + .attr('dy', '0') + .attr('r', '6'); + + var viewfields = markers.selectAll('.viewfield') + .data(showViewfields ? [0] : []); + + viewfields.exit() + .remove(); + + viewfields.enter() // viewfields may or may not be drawn... + .insert('path', 'circle') // but if they are, draw below the circles + .attr('class', 'viewfield') + .attr('transform', 'scale(1.5,1.5),translate(-8, -13)') + .attr('d', viewfieldPath); + + function viewfieldPath() { + var d = this.parentNode.__data__; + if (d.pano) { + return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0'; + } else { + return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z'; + } + } + } + + + function drawImages(selection$$1) { + var enabled = svgMapillaryImages$$1.enabled, + service = getService(); + + layer = selection$$1.selectAll('.layer-mapillary-images') + .data(service ? [0] : []); + + layer.exit() + .remove(); + + var layerEnter = layer.enter() + .append('g') + .attr('class', 'layer-mapillary-images') + .style('display', enabled ? 'block' : 'none'); + + layerEnter + .append('g') + .attr('class', 'sequences'); + + layerEnter + .append('g') + .attr('class', 'markers'); + + layer = layerEnter + .merge(layer); + + if (enabled) { + if (service && ~~context.map().zoom() >= minZoom) { + editOn(); + update(); + service.loadImages(projection); + } else { + editOff(); + } + } + } + + + drawImages.enabled = function(_) { + if (!arguments.length) return svgMapillaryImages$$1.enabled; + svgMapillaryImages$$1.enabled = _; + if (svgMapillaryImages$$1.enabled) { + showLayer(); + } else { + hideLayer(); + } + dispatch.call('change'); + return this; + }; + + + drawImages.supported = function() { + return !!getService(); + }; + + + init(); + return drawImages; + } + + function svgMapillarySigns$$1(projection, context, dispatch) { + var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000); + var minZoom = 12; + var layer = select(null); + var _mapillary; + + + function init() { + if (svgMapillarySigns$$1.initialized) return; // run once + svgMapillarySigns$$1.enabled = false; + svgMapillarySigns$$1.initialized = true; + } + + + function getService() { + if (services.mapillary && !_mapillary) { + _mapillary = services.mapillary; + _mapillary.event.on('loadedSigns', throttledRedraw); + } else if (!services.mapillary && _mapillary) { + _mapillary = null; + } + return _mapillary; + } + + + function showLayer() { + var service = getService(); + if (!service) return; + + service.loadViewer(context); + editOn(); + } + + + function hideLayer() { + throttledRedraw.cancel(); + editOff(); + } + + + function editOn() { + layer.style('display', 'block'); + } + + + function editOff() { + layer.selectAll('.icon-sign').remove(); + layer.style('display', 'none'); + } + + + function click(d) { + var service = getService(); + if (!service) return; + + context.map().centerEase(d.loc); + + var selected = service.getSelectedImage(); + var selectedImageKey = selected && selected.key; + var imageKey; + + // Pick one of the images the sign was detected in, + // preference given to an image already selected. + d.detections.forEach(function(detection) { + if (!imageKey || selectedImageKey === detection.image_key) { + imageKey = detection.image_key; + } + }); + + service + .selectImage(null, imageKey) + .updateViewer(imageKey, context) + .showViewer(); + } + + + function update() { + var service = getService(); + var data = (service ? service.signs(projection) : []); + var viewer = select('#photoviewer'); + var selected = viewer.empty() ? undefined : viewer.datum(); + var selectedImageKey = selected && selected.key; + var transform = svgPointTransform(projection); + + var signs = layer.selectAll('.icon-sign') + .data(data, function(d) { return d.key; }); + + // exit + signs.exit() + .remove(); + + // enter + var enter = signs.enter() + .append('use') + .attr('class', 'icon-sign') + .attr('width', '24px') + .attr('height', '24px') + .attr('x', '-12px') + .attr('y', '-12px') + .attr('xlink:href', function(d) { return '#' + d.value; }) + .classed('selected', function(d) { + return some(d.detections, function(detection) { + return detection.image_key === selectedImageKey; + }); + }) + .on('click', click); + + // update + signs + .merge(enter) + .sort(function(a, b) { + return (a === selected) ? 1 + : (b === selected) ? -1 + : b.loc[1] - a.loc[1]; // sort Y + }) + .attr('transform', transform); + } + + + function drawSigns(selection$$1) { + var enabled = svgMapillarySigns$$1.enabled; + var service = getService(); + + layer = selection$$1.selectAll('.layer-mapillary-signs') + .data(service ? [0] : []); + + layer.exit() + .remove(); + + layer = layer.enter() + .append('g') + .attr('class', 'layer-mapillary-signs') + .style('display', enabled ? 'block' : 'none') + .merge(layer); + + if (enabled) { + if (service && ~~context.map().zoom() >= minZoom) { + editOn(); + update(); + service.loadSigns(context, projection); + } else { + editOff(); + } + } + } + + + drawSigns.enabled = function(_) { + if (!arguments.length) return svgMapillarySigns$$1.enabled; + svgMapillarySigns$$1.enabled = _; + if (svgMapillarySigns$$1.enabled) { + showLayer(); + } else { + hideLayer(); + } + dispatch.call('change'); + return this; + }; + + + drawSigns.supported = function() { + return !!getService(); + }; + + + init(); + return drawSigns; + } + + function svgOpenstreetcamImages$$1(projection, context, dispatch) { + var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000); + var minZoom = 12; + var minMarkerZoom = 16; + var minViewfieldZoom = 18; + var layer = select(null); + var _openstreetcam; + + + function init() { + if (svgOpenstreetcamImages$$1.initialized) return; // run once + svgOpenstreetcamImages$$1.enabled = false; + svgOpenstreetcamImages$$1.initialized = true; + } + + + function getService() { + if (services.openstreetcam && !_openstreetcam) { + _openstreetcam = services.openstreetcam; + _openstreetcam.event.on('loadedImages', throttledRedraw); + } else if (!services.openstreetcam && _openstreetcam) { + _openstreetcam = null; + } + + return _openstreetcam; + } + + + function showLayer() { + var service = getService(); + if (!service) return; + + service.loadViewer(context); + editOn(); + + layer + .style('opacity', 0) + .transition() + .duration(250) + .style('opacity', 1) + .on('end', function () { dispatch.call('change'); }); + } + + + function hideLayer() { + var service = getService(); + if (service) { + service.hideViewer(); + } + + throttledRedraw.cancel(); + + layer + .transition() + .duration(250) + .style('opacity', 0) + .on('end', editOff); + } + + + function editOn() { + layer.style('display', 'block'); + } + + + function editOff() { + layer.selectAll('.viewfield-group').remove(); + layer.style('display', 'none'); + } + + + function click(d) { + var service = getService(); + if (!service) return; + + service + .selectImage(d) + .updateViewer(d) + .showViewer(); + + context.map().centerEase(d.loc); + } + + + function mouseover(d) { + var service = getService(); + if (service) service.setStyles(d); + } + + + function mouseout() { + var service = getService(); + if (service) service.setStyles(null); + } + + + function transform(d) { + var t = svgPointTransform(projection)(d); + if (d.ca) { + t += ' rotate(' + Math.floor(d.ca) + ',0,0)'; + } + return t; + } + + + function update() { + var viewer = select('#photoviewer'); + var selected = viewer.empty() ? undefined : viewer.datum(); + + var z = ~~context.map().zoom(); + var showMarkers = (z >= minMarkerZoom); + var showViewfields = (z >= minViewfieldZoom); + + var service = getService(); + var sequences = (service ? service.sequences(projection) : []); + var images = (service && showMarkers ? service.images(projection) : []); + + var traces = layer.selectAll('.sequences').selectAll('.sequence') + .data(sequences, function(d) { return d.properties.key; }); + + // exit + traces.exit() + .remove(); + + // enter/update + traces = traces.enter() + .append('path') + .attr('class', 'sequence') + .merge(traces) + .attr('d', svgPath(projection).geojson); + + + var groups = layer.selectAll('.markers').selectAll('.viewfield-group') + .data(images, function(d) { return d.key; }); + + // exit + groups.exit() + .remove(); + + // enter + var groupsEnter = groups.enter() + .append('g') + .attr('class', 'viewfield-group') + .on('mouseover', mouseover) + .on('mouseout', mouseout) + .on('click', click); + + groupsEnter + .append('g') + .attr('class', 'viewfield-scale'); + + // update + var markers = groups + .merge(groupsEnter) + .sort(function(a, b) { + return (a === selected) ? 1 + : (b === selected) ? -1 + : b.loc[1] - a.loc[1]; // sort Y + }) + .attr('transform', transform) + .select('.viewfield-scale'); + + + markers.selectAll('circle') + .data([0]) + .enter() + .append('circle') + .attr('dx', '0') + .attr('dy', '0') + .attr('r', '6'); + + var viewfields = markers.selectAll('.viewfield') + .data(showViewfields ? [0] : []); + + viewfields.exit() + .remove(); + + viewfields.enter() // viewfields may or may not be drawn... + .insert('path', 'circle') // but if they are, draw below the circles + .attr('class', 'viewfield') + .attr('transform', 'scale(1.5,1.5),translate(-8, -13)') + .attr('d', 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z'); + } + + + function drawImages(selection$$1) { + var enabled = svgOpenstreetcamImages$$1.enabled, + service = getService(); + + layer = selection$$1.selectAll('.layer-openstreetcam-images') + .data(service ? [0] : []); + + layer.exit() + .remove(); + + var layerEnter = layer.enter() + .append('g') + .attr('class', 'layer-openstreetcam-images') + .style('display', enabled ? 'block' : 'none'); + + layerEnter + .append('g') + .attr('class', 'sequences'); + + layerEnter + .append('g') + .attr('class', 'markers'); + + layer = layerEnter + .merge(layer); + + if (enabled) { + if (service && ~~context.map().zoom() >= minZoom) { + editOn(); + update(); + service.loadImages(projection); + } else { + editOff(); + } + } + } + + + drawImages.enabled = function(_) { + if (!arguments.length) return svgOpenstreetcamImages$$1.enabled; + svgOpenstreetcamImages$$1.enabled = _; + if (svgOpenstreetcamImages$$1.enabled) { + showLayer(); + } else { + hideLayer(); + } + dispatch.call('change'); + return this; + }; + + + drawImages.supported = function() { + return !!getService(); + }; + + + init(); + return drawImages; + } + + function svgOsm(projection, context, dispatch) { + var enabled = true; + + + function drawOsm(selection) { + selection.selectAll('.layer-osm') + .data(['covered', 'areas', 'lines', 'points', 'labels']) + .enter() + .append('g') + .attr('class', function(d) { return 'layer-osm layer-' + d; }); + + selection.selectAll('.layer-areas').selectAll('.layer-areas-group') + .data(['areas', 'targets']) + .enter() + .append('g') + .attr('class', function(d) { return 'layer-areas-group layer-areas-' + d; }); + + selection.selectAll('.layer-lines').selectAll('.layer-lines-group') + .data(['lines', 'targets']) + .enter() + .append('g') + .attr('class', function(d) { return 'layer-lines-group layer-lines-' + d; }); + + selection.selectAll('.layer-points').selectAll('.layer-points-group') + .data(['points', 'midpoints', 'vertices', 'turns', 'targets']) + .enter() + .append('g') + .attr('class', function(d) { return 'layer-points-group layer-points-' + d; }); + + selection.selectAll('.layer-labels').selectAll('.layer-labels-group') + .data(['halo', 'label', 'debug']) + .enter() + .append('g') + .attr('class', function(d) { return 'layer-labels-group layer-labels-' + d; }); + } + + + function showLayer() { + var layer = context.surface().selectAll('.data-layer-osm'); + layer.interrupt(); + + layer + .classed('disabled', false) + .style('opacity', 0) + .transition() + .duration(250) + .style('opacity', 1) + .on('end interrupt', function () { + dispatch.call('change'); + }); + } + + + function hideLayer() { + var layer = context.surface().selectAll('.data-layer-osm'); + layer.interrupt(); + + layer + .transition() + .duration(250) + .style('opacity', 0) + .on('end interrupt', function () { + layer.classed('disabled', true); + dispatch.call('change'); + }); + } + + + drawOsm.enabled = function(_) { + if (!arguments.length) return enabled; + enabled = _; + + if (enabled) { + showLayer(); + } else { + hideLayer(); + } + + dispatch.call('change'); + return this; + }; + + + return drawOsm; + } + + function svgLayers(projection, context) { + var dispatch$$1 = dispatch('change'); + var svg = select(null); + var layers = [ + { id: 'osm', layer: svgOsm(projection, context, dispatch$$1) }, + { id: 'gpx', layer: svgGpx$$1(projection, context, dispatch$$1) }, + { id: 'streetside', layer: svgStreetside$$1(projection, context, dispatch$$1)}, + { id: 'mapillary-images', layer: svgMapillaryImages$$1(projection, context, dispatch$$1) }, + { id: 'mapillary-signs', layer: svgMapillarySigns$$1(projection, context, dispatch$$1) }, + { id: 'openstreetcam-images', layer: svgOpenstreetcamImages$$1(projection, context, dispatch$$1) }, + { id: 'debug', layer: svgDebug$$1(projection, context, dispatch$$1) } + ]; + + + function drawLayers(selection$$1) { + svg = selection$$1.selectAll('.surface') + .data([0]); + + svg = svg.enter() + .append('svg') + .attr('class', 'surface') + .merge(svg); + + var defs = svg.selectAll('.surface-defs') + .data([0]); + + defs.enter() + .append('defs') + .attr('class', 'surface-defs'); + + var groups = svg.selectAll('.data-layer') + .data(layers); + + groups.exit() + .remove(); + + groups.enter() + .append('g') + .attr('class', function(d) { return 'data-layer data-layer-' + d.id; }) + .merge(groups) + .each(function(d) { select(this).call(d.layer); }); + } + + + drawLayers.all = function() { + return layers; + }; + + + drawLayers.layer = function(id) { + var obj = find$1(layers, function(o) {return o.id === id;}); + return obj && obj.layer; + }; + + + drawLayers.only = function(what) { + var arr = [].concat(what); + drawLayers.remove(difference(map$3(layers, 'id'), arr)); + return this; + }; + + + drawLayers.remove = function(what) { + var arr = [].concat(what); + arr.forEach(function(id) { + layers = reject(layers, function(o) {return o.id === id;}); + }); + dispatch$$1.call('change'); + return this; + }; + + + drawLayers.add = function(what) { + var arr = [].concat(what); + arr.forEach(function(obj) { + if ('id' in obj && 'layer' in obj) { + layers.push(obj); + } + }); + dispatch$$1.call('change'); + return this; + }; + + + drawLayers.dimensions = function(_) { + if (!arguments.length) return utilGetDimensions(svg); + utilSetDimensions(svg, _); + return this; + }; + + + return utilRebind(drawLayers, dispatch$$1, 'on'); + } + + function svgLines$$1(projection, context) { + var detected = utilDetect(); + + var highway_stack = { + motorway: 0, + motorway_link: 1, + trunk: 2, + trunk_link: 3, + primary: 4, + primary_link: 5, + secondary: 6, + tertiary: 7, + unclassified: 8, + residential: 9, + service: 10, + footway: 11 + }; + + + function drawTargets(selection, graph, entities, filter$$1) { + var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor '; + var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor '; + var getPath = svgPath(projection).geojson; + var activeID = context.activeID(); + + // The targets and nopes will be MultiLineString sub-segments of the ways + var data = { targets: [], nopes: [] }; + + entities.forEach(function(way) { + var features = svgSegmentWay(way, graph, activeID); + data.targets.push.apply(data.targets, features.passive); + data.nopes.push.apply(data.nopes, features.active); + }); + + + // Targets allow hover and vertex snapping + var targetData = data.targets.filter(getPath); + var targets = selection.selectAll('.line.target-allowed') + .filter(function(d) { return filter$$1(d.properties.entity); }) + .data(targetData, function key(d) { return d.id; }); + + // exit + targets.exit() + .remove(); + + // enter/update + targets.enter() + .append('path') + .merge(targets) + .attr('d', getPath) + .attr('class', function(d) { return 'way line target target-allowed ' + targetClass + d.id; }); + + + // NOPE + var nopeData = data.nopes.filter(getPath); + var nopes = selection.selectAll('.line.target-nope') + .filter(function(d) { return filter$$1(d.properties.entity); }) + .data(nopeData, function key(d) { return d.id; }); + + // exit + nopes.exit() + .remove(); + + // enter/update + nopes.enter() + .append('path') + .merge(nopes) + .attr('d', getPath) + .attr('class', function(d) { return 'way line target target-nope ' + nopeClass + d.id; }); + } + + + function drawLines(selection, graph, entities, filter$$1) { + + function waystack(a, b) { + var selected = context.selectedIDs(); + var scoreA = selected.indexOf(a.id) !== -1 ? 20 : 0; + var scoreB = selected.indexOf(b.id) !== -1 ? 20 : 0; + + if (a.tags.highway) { scoreA -= highway_stack[a.tags.highway]; } + if (b.tags.highway) { scoreB -= highway_stack[b.tags.highway]; } + return scoreA - scoreB; + } + + + function drawLineGroup(selection, klass, isSelected) { + // Note: Don't add `.selected` class in draw modes + var mode = context.mode(); + var isDrawing = mode && /^draw/.test(mode.id); + var selectedClass = (!isDrawing && isSelected) ? 'selected ' : ''; + + var lines = selection + .selectAll('path') + .filter(filter$$1) + .data(getPathData(isSelected), osmEntity$$1.key); + + lines.exit() + .remove(); + + // Optimization: Call expensive TagClasses only on enter selection. This + // works because osmEntity.key is defined to include the entity v attribute. + lines.enter() + .append('path') + .attr('class', function(d) { + var oldMPClass = oldMultiPolygonOuters[d.id] ? 'old-multipolygon ' : ''; + return 'way line ' + klass + ' ' + selectedClass + oldMPClass + d.id; + }) + .call(svgTagClasses()) + .merge(lines) + .sort(waystack) + .attr('d', getPath) + .call(svgTagClasses().tags(svgRelationMemberTags(graph))); + + return selection; + } + + + function getPathData(isSelected) { + return function() { + var layer = this.parentNode.__data__; + var data = pathdata[layer] || []; + return data.filter(function(d) { + if (isSelected) + return context.selectedIDs().indexOf(d.id) !== -1; + else + return context.selectedIDs().indexOf(d.id) === -1; + }); + }; + } + + + var getPath = svgPath(projection, graph); + var ways = []; + var pathdata = {}; + var onewaydata = {}; + var oldMultiPolygonOuters = {}; + + for (var i = 0; i < entities.length; i++) { + var entity = entities[i]; + var outer = osmSimpleMultipolygonOuterMember(entity, graph); + if (outer) { + ways.push(entity.mergeTags(outer.tags)); + oldMultiPolygonOuters[outer.id] = true; + } else if (entity.geometry(graph) === 'line') { + ways.push(entity); + } + } + + ways = ways.filter(getPath); + pathdata = groupBy(ways, function(way) { return way.layer(); }); + + forOwn(pathdata, function(v, k) { + var arr = filter(v, function(d) { return d.isOneWay(); }); + onewaydata[k] = flatten(map$3(arr, svgOneWaySegments(projection, graph, 35))); + }); + + + var covered = selection.selectAll('.layer-covered'); // under areas + var uncovered = selection.selectAll('.layer-lines .layer-lines-lines'); // over areas + + [covered, uncovered].forEach(function(selection) { + var range$$1 = (selection === covered ? range(-10,0) : range(0,11)); + var layergroup = selection + .selectAll('g.layergroup') + .data(range$$1); + + layergroup = layergroup.enter() + .append('g') + .attr('class', function(d) { return 'layergroup layer' + String(d); }) + .merge(layergroup); + + layergroup + .selectAll('g.linegroup') + .data(['shadow', 'casing', 'stroke', 'shadow-highlighted', 'casing-highlighted', 'stroke-highlighted']) + .enter() + .append('g') + .attr('class', function(d) { return 'linegroup line-' + d; }); + + layergroup.selectAll('g.line-shadow') + .call(drawLineGroup, 'shadow', false); + layergroup.selectAll('g.line-casing') + .call(drawLineGroup, 'casing', false); + layergroup.selectAll('g.line-stroke') + .call(drawLineGroup, 'stroke', false); + + layergroup.selectAll('g.line-shadow-highlighted') + .call(drawLineGroup, 'shadow', true); + layergroup.selectAll('g.line-casing-highlighted') + .call(drawLineGroup, 'casing', true); + layergroup.selectAll('g.line-stroke-highlighted') + .call(drawLineGroup, 'stroke', true); + + + var onewaygroup = layergroup + .selectAll('g.onewaygroup') + .data(['oneway']); + + onewaygroup = onewaygroup.enter() + .append('g') + .attr('class', 'onewaygroup') + .merge(onewaygroup); + + var oneways = onewaygroup + .selectAll('path') + .filter(filter$$1) + .data( + function data() { return onewaydata[this.parentNode.__data__] || []; }, + function key(d) { return [d.id, d.index]; } + ); + + oneways.exit() + .remove(); + + oneways = oneways.enter() + .append('path') + .attr('class', 'oneway') + .attr('marker-mid', 'url(#oneway-marker)') + .merge(oneways) + .attr('d', function(d) { return d.d; }); + + if (detected.ie) { + oneways.each(function() { this.parentNode.insertBefore(this, this); }); + } + }); + + // touch targets + selection.selectAll('.layer-lines .layer-lines-targets') + .call(drawTargets, graph, ways, filter$$1); + } + + + return drawLines; + } + + function svgMidpoints$$1(projection, context) { + var targetRadius = 8; + + function drawTargets(selection, graph, entities, filter) { + var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor '; + var getTransform = svgPointTransform(projection).geojson; + + var data = entities.map(function(midpoint) { + return { + type: 'Feature', + id: midpoint.id, + properties: { + target: true, + entity: midpoint + }, + geometry: { + type: 'Point', + coordinates: midpoint.loc + } + }; + }); + + var targets = selection.selectAll('.midpoint.target') + .filter(function(d) { return filter(d.properties.entity); }) + .data(data, function key(d) { return d.id; }); + + // exit + targets.exit() + .remove(); + + // enter/update + targets.enter() + .append('circle') + .attr('r', targetRadius) + .merge(targets) + .attr('class', function(d) { return 'node midpoint target ' + fillClass + d.id; }) + .attr('transform', getTransform); + } + + + function drawMidpoints(selection, graph, entities, filter, extent) { + var layer = selection.selectAll('.layer-points .layer-points-midpoints'); + + var mode = context.mode(); + if (mode && mode.id !== 'select') { + layer.selectAll('g.midpoint') + .remove(); + + selection.selectAll('.layer-points .layer-points-targets .midpoint.target') + .remove(); + + return; + } + + var poly = extent.polygon(); + var midpoints = {}; + + for (var i = 0; i < entities.length; i++) { + var entity = entities[i]; + + if (entity.type !== 'way') + continue; + if (!filter(entity)) + continue; + if (context.selectedIDs().indexOf(entity.id) < 0) + continue; + + var nodes = graph.childNodes(entity); + for (var j = 0; j < nodes.length - 1; j++) { + + var a = nodes[j]; + var b = nodes[j + 1]; + var id = [a.id, b.id].sort().join('-'); + + if (midpoints[id]) { + midpoints[id].parents.push(entity); + } else { + if (geoVecLength(projection(a.loc), projection(b.loc)) > 40) { + var point = geoVecInterp(a.loc, b.loc, 0.5); + var loc = null; + + if (extent.intersects(point)) { + loc = point; + } else { + for (var k = 0; k < 4; k++) { + point = geoLineIntersection([a.loc, b.loc], [poly[k], poly[k + 1]]); + if (point && + geoVecLength(projection(a.loc), projection(point)) > 20 && + geoVecLength(projection(b.loc), projection(point)) > 20) + { + loc = point; + break; + } + } + } + + if (loc) { + midpoints[id] = { + type: 'midpoint', + id: id, + loc: loc, + edge: [a.id, b.id], + parents: [entity] + }; + } + } + } + } + } + + + function midpointFilter(d) { + if (midpoints[d.id]) + return true; + + for (var i = 0; i < d.parents.length; i++) { + if (filter(d.parents[i])) { + return true; + } + } + + return false; + } + + + var groups = layer + .selectAll('g.midpoint') + .filter(midpointFilter) + .data(values$1(midpoints), function(d) { return d.id; }); + + groups.exit() + .remove(); + + var enter = groups.enter() + .insert('g', ':first-child') + .attr('class', 'midpoint'); + + enter + .append('polygon') + .attr('points', '-6,8 10,0 -6,-8') + .attr('class', 'shadow'); + + enter + .append('polygon') + .attr('points', '-3,4 5,0 -3,-4') + .attr('class', 'fill'); + + groups = groups + .merge(enter) + .attr('transform', function(d) { + var translate = svgPointTransform(projection); + var a = graph.entity(d.edge[0]); + var b = graph.entity(d.edge[1]); + var angle = geoAngle(a, b, projection) * (180 / Math.PI); + return translate(d) + ' rotate(' + angle + ')'; + }) + .call(svgTagClasses().tags( + function(d) { return d.parents[0].tags; } + )); + + // Propagate data bindings. + groups.select('polygon.shadow'); + groups.select('polygon.fill'); + + + // Draw touch targets.. + selection.selectAll('.layer-points .layer-points-targets') + .call(drawTargets, graph, values$1(midpoints), midpointFilter); + } + + return drawMidpoints; + } + + // Touch targets control which other vertices we can drag a vertex onto. + // + // - the activeID - nope + // - 1 away (adjacent) to the activeID - yes (vertices will be merged) + // - 2 away from the activeID - nope (would create a self intersecting segment) + // - all others on a linear way - yes + // - all others on a closed way - nope (would create a self intersecting polygon) + // + // returns + // 0 = active vertex - no touch/connect + // 1 = passive vertex - yes touch/connect + // 2 = adjacent vertex - yes but pay attention segmenting a line here + // + function svgPassiveVertex(node, graph, activeID) { + if (!activeID) return 1; + if (activeID === node.id) return 0; + + var parents = graph.parentWays(node); + + for (var i = 0; i < parents.length; i++) { + var nodes = parents[i].nodes; + var isClosed = parents[i].isClosed(); + for (var j = 0; j < nodes.length; j++) { // find this vertex, look nearby + if (nodes[j] === node.id) { + var ix1 = j - 2; + var ix2 = j - 1; + var ix3 = j + 1; + var ix4 = j + 2; + + if (isClosed) { // wraparound if needed + var max = nodes.length - 1; + if (ix1 < 0) ix1 = max + ix1; + if (ix2 < 0) ix2 = max + ix2; + if (ix3 > max) ix3 = ix3 - max; + if (ix4 > max) ix4 = ix4 - max; + } + + if (nodes[ix1] === activeID) return 0; // no - prevent self intersect + else if (nodes[ix2] === activeID) return 2; // ok - adjacent + else if (nodes[ix3] === activeID) return 2; // ok - adjacent + else if (nodes[ix4] === activeID) return 0; // no - prevent self intersect + else if (isClosed && nodes.indexOf(activeID) !== -1) return 0; // no - prevent self intersect + } + } + } + + return 1; // ok + } + + + function svgOneWaySegments(projection$$1, graph, dt) { + return function(entity) { + var i = 0; + var offset = dt; + var segments = []; + var clip = d3_geoIdentity().clipExtent(projection$$1.clipExtent()).stream; + var coordinates = graph.childNodes(entity).map(function(n) { return n.loc; }); + var a, b; + + if (entity.tags.oneway === '-1') { + coordinates.reverse(); + } + + var isReversible = (entity.tags.oneway === 'reversible' || entity.tags.oneway === 'alternating'); + + geoStream({ + type: 'LineString', + coordinates: coordinates + }, projection$$1.stream(clip({ + lineStart: function() {}, + lineEnd: function() { a = null; }, + point: function(x, y) { + b = [x, y]; + + if (a) { + var span = geoVecLength(a, b) - offset; + + if (span >= 0) { + var heading = geoVecAngle(a, b); + var dx = dt * Math.cos(heading); + var dy = dt * Math.sin(heading); + var p = [ + a[0] + offset * Math.cos(heading), + a[1] + offset * Math.sin(heading) + ]; + + // gather coordinates + var coord = [a, p]; + for (span -= dt; span >= 0; span -= dt) { + p = geoVecAdd(p, [dx, dy]); + coord.push(p); + } + coord.push(b); + + // generate svg paths + var segment = ''; + var j; + + for (j = 0; j < coord.length; j++) { + segment += (j === 0 ? 'M' : 'L') + coord[j][0] + ',' + coord[j][1]; + } + segments.push({ id: entity.id, index: i++, d: segment }); + + if (isReversible) { + segment = ''; + for (j = coord.length - 1; j >= 0; j--) { + segment += (j === coord.length - 1 ? 'M' : 'L') + coord[j][0] + ',' + coord[j][1]; + } + segments.push({ id: entity.id, index: i++, d: segment }); + } + } + + offset = -span; + } + + a = b; + } + }))); + + return segments; + }; + } + + + function svgPath(projection$$1, graph, isArea) { + + // Explanation of magic numbers: + // "padding" here allows space for strokes to extend beyond the viewport, + // so that the stroke isn't drawn along the edge of the viewport when + // the shape is clipped. + // + // When drawing lines, pad viewport by 5px. + // When drawing areas, pad viewport by 65px in each direction to allow + // for 60px area fill stroke (see ".fill-partial path.fill" css rule) + + var cache = {}; + var padding = isArea ? 65 : 5; + var viewport = projection$$1.clipExtent(); + var paddedExtent = [ + [viewport[0][0] - padding, viewport[0][1] - padding], + [viewport[1][0] + padding, viewport[1][1] + padding] + ]; + var clip = d3_geoIdentity().clipExtent(paddedExtent).stream; + var project = projection$$1.stream; + var path = d3_geoPath() + .projection({stream: function(output) { return project(clip(output)); }}); + + var svgpath = function(entity) { + if (entity.id in cache) { + return cache[entity.id]; + } else { + return cache[entity.id] = path(entity.asGeoJSON(graph)); + } + }; + + svgpath.geojson = path; + + return svgpath; + } + + + function svgPointTransform(projection$$1) { + var svgpoint = function(entity) { + // http://jsperf.com/short-array-join + var pt = projection$$1(entity.loc); + return 'translate(' + pt[0] + ',' + pt[1] + ')'; + }; + + svgpoint.geojson = function(d) { + return svgpoint(d.properties.entity); + }; + + return svgpoint; + } + + + function svgRelationMemberTags(graph) { + return function(entity) { + var tags = entity.tags; + graph.parentRelations(entity).forEach(function(relation) { + var type = relation.tags.type; + if (type === 'multipolygon' || type === 'boundary') { + tags = assignIn({}, relation.tags, tags); + } + }); + return tags; + }; + } + + + function svgSegmentWay(way, graph, activeID) { + var isActiveWay = (way.nodes.indexOf(activeID) !== -1); + var features = { passive: [], active: [] }; + var start = {}; + var end = {}; + var node, type; + + for (var i = 0; i < way.nodes.length; i++) { + node = graph.entity(way.nodes[i]); + type = svgPassiveVertex(node, graph, activeID); + end = { node: node, type: type }; + + if (start.type !== undefined) { + if (start.node.id === activeID || end.node.id === activeID) ; else if (isActiveWay && (start.type === 2 || end.type === 2)) { // one adjacent vertex + pushActive(start, end, i); + } else if (start.type === 0 && end.type === 0) { // both active vertices + pushActive(start, end, i); + } else { + pushPassive(start, end, i); + } + } + + start = end; + } + + return features; + + + function pushActive(start, end, index) { + features.active.push({ + type: 'Feature', + id: way.id + '-' + index + '-nope', + properties: { + nope: true, + target: true, + entity: way, + nodes: [start.node, end.node], + index: index + }, + geometry: { + type: 'LineString', + coordinates: [start.node.loc, end.node.loc] + } + }); + } + + function pushPassive(start, end, index) { + features.passive.push({ + type: 'Feature', + id: way.id + '-' + index, + properties: { + target: true, + entity: way, + nodes: [start.node, end.node], + index: index + }, + geometry: { + type: 'LineString', + coordinates: [start.node.loc, end.node.loc] + } + }); + } + } + + function svgPoints$$1(projection, context) { + + function markerPath(selection, klass) { + selection + .attr('class', klass) + .attr('transform', 'translate(-8, -23)') + .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z'); + } + + function sortY(a, b) { + return b.loc[1] - a.loc[1]; + } + + + // Avoid exit/enter if we're just moving stuff around. + // The node will get a new version but we only need to run the update selection. + function fastEntityKey(d) { + var mode = context.mode(); + var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id); + return isMoving ? d.id : osmEntity$$1.key(d); + } + + + function drawTargets(selection, graph, entities, filter) { + var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor '; + var getTransform = svgPointTransform(projection).geojson; + var activeID = context.activeID(); + var data = []; + + entities.forEach(function(node) { + if (activeID === node.id) return; // draw no target on the activeID + + data.push({ + type: 'Feature', + id: node.id, + properties: { + target: true, + entity: node + }, + geometry: node.asGeoJSON() + }); + }); + + var targets = selection.selectAll('.point.target') + .filter(function(d) { return filter(d.properties.entity); }) + .data(data, function key(d) { return d.id; }); + + // exit + targets.exit() + .remove(); + + // enter/update + targets.enter() + .append('rect') + .attr('x', -10) + .attr('y', -26) + .attr('width', 20) + .attr('height', 30) + .merge(targets) + .attr('class', function(d) { return 'node point target ' + fillClass + d.id; }) + .attr('transform', getTransform); + } + + + function drawPoints(selection, graph, entities, filter) { + var wireframe = context.surface().classed('fill-wireframe'); + var zoom = geoScaleToZoom(projection.scale()); + + // points with a direction will render as vertices at higher zooms + function renderAsPoint(entity) { + return entity.geometry(graph) === 'point' && + !(zoom >= 18 && entity.directions(graph, projection).length); + } + + // all points will render as vertices in wireframe mode too + var points = wireframe ? [] : entities.filter(renderAsPoint); + + points.sort(sortY); + + + var layer = selection.selectAll('.layer-points .layer-points-points'); + + var groups = layer.selectAll('g.point') + .filter(filter) + .data(points, fastEntityKey); + + groups.exit() + .remove(); + + var enter = groups.enter() + .append('g') + .attr('class', function(d) { return 'node point ' + d.id; }) + .order(); + + enter + .append('path') + .call(markerPath, 'shadow'); + + enter + .append('ellipse') + .attr('cx', 0.5) + .attr('cy', 1) + .attr('rx', 6.5) + .attr('ry', 3) + .attr('class', 'stroke'); + + enter + .append('path') + .call(markerPath, 'stroke'); + + enter + .append('use') + .attr('transform', 'translate(-5, -19)') + .attr('class', 'icon') + .attr('width', '11px') + .attr('height', '11px'); + + groups = groups + .merge(enter) + .attr('transform', svgPointTransform(projection)) + .call(svgTagClasses()); + + // Selecting the following implicitly + // sets the data (point entity) on the element + groups.select('.shadow'); + groups.select('.stroke'); + groups.select('.icon') + .attr('xlink:href', function(entity) { + var preset = context.presets().match(entity, graph); + var picon = preset && preset.icon; + + if (!picon) + return ''; + else { + var isMaki = /^maki-/.test(picon); + return '#' + picon + (isMaki ? '-11' : ''); + } + }); + + + // touch targets + selection.selectAll('.layer-points .layer-points-targets') + .call(drawTargets, graph, points, filter); + } + + + return drawPoints; + } + + function svgTagClasses() { + var primaries = [ + 'building', 'highway', 'railway', 'waterway', 'aeroway', + 'motorway', 'boundary', 'power', 'amenity', 'natural', 'landuse', + 'leisure', 'military', 'place', 'man_made' + ], + statuses = [ + 'proposed', 'construction', 'disused', 'abandoned', 'dismantled', + 'razed', 'demolished', 'obliterated', 'intermittent' + ], + secondaries = [ + 'oneway', 'bridge', 'tunnel', 'embankment', 'cutting', 'barrier', + 'surface', 'tracktype', 'crossing', 'service', 'sport' + ], + tagClassRe = /^tag-/, + tags = function(entity) { return entity.tags; }; + + + var tagClasses = function(selection$$1) { + selection$$1.each(function tagClassesEach(entity) { + var value = this.className, + classes, primary, status; + + if (value.baseVal !== undefined) value = value.baseVal; + + classes = value.trim().split(/\s+/).filter(function(name) { + return name.length && !tagClassRe.test(name); + }).join(' '); + + var t = tags(entity), i, k, v; + + // pick at most one primary classification tag.. + for (i = 0; i < primaries.length; i++) { + k = primaries[i]; + v = t[k]; + if (!v || v === 'no') continue; + + primary = k; + if (statuses.indexOf(v) !== -1) { // e.g. `railway=abandoned` + status = v; + classes += ' tag-' + k; + } else { + classes += ' tag-' + k + ' tag-' + k + '-' + v; + } + + break; + } + + // add at most one status tag, only if relates to primary tag.. + if (!status) { + for (i = 0; i < statuses.length; i++) { + k = statuses[i]; + v = t[k]; + if (!v || v === 'no') continue; + + if (v === 'yes') { // e.g. `railway=rail + abandoned=yes` + status = k; + } + else if (primary && primary === v) { // e.g. `railway=rail + abandoned=railway` + status = k; + } else if (!primary && primaries.indexOf(v) !== -1) { // e.g. `abandoned=railway` + status = k; + primary = v; + classes += ' tag-' + v; + } // else ignore e.g. `highway=path + abandoned=railway` + + if (status) break; + } + } + + if (status) { + classes += ' tag-status tag-status-' + status; + } + + // add any secondary (structure) tags + for (i = 0; i < secondaries.length; i++) { + k = secondaries[i]; + v = t[k]; + if (!v || v === 'no') continue; + classes += ' tag-' + k + ' tag-' + k + '-' + v; + } + + // For highways, look for surface tagging.. + if (primary === 'highway') { + var paved = (t.highway !== 'track'); + for (k in t) { + v = t[k]; + if (k in osmPavedTags) { + paved = !!osmPavedTags[k][v]; + break; + } + } + if (!paved) { + classes += ' tag-unpaved'; + } + } + + classes = classes.trim(); + + if (classes !== value) { + select(this).attr('class', classes); + } + }); + }; + + + tagClasses.tags = function(_) { + if (!arguments.length) return tags; + tags = _; + return tagClasses; + }; + + return tagClasses; + } + + function svgTurns(projection) { + + return function drawTurns(selection, graph, turns) { + + function icon(turn) { + var u = turn.u ? '-u' : ''; + if (turn.no) return '#iD-turn-no' + u; + if (turn.only) return '#iD-turn-only' + u; + return '#iD-turn-yes' + u; + } + + var layer = selection.selectAll('.data-layer-osm').selectAll('.layer-turns') + .data([0]); + + layer = layer.enter() + .append('g') + .attr('class', 'layer-osm layer-turns') + .merge(layer); + + + var groups = layer.selectAll('g.turn') + .data(turns, function(d) { return d.key; }); + + groups.exit() + .remove(); + + + var enter = groups.enter() + .append('g') + .attr('class', function(d) { return 'turn ' + d.key; }); + + var nEnter = enter + .filter(function(d) { return !d.u; }); + + nEnter.append('rect') + .attr('transform', 'translate(-22, -12)') + .attr('width', '44') + .attr('height', '24'); + + nEnter.append('use') + .attr('transform', 'translate(-22, -12)') + .attr('width', '44') + .attr('height', '24'); + + + var uEnter = enter + .filter(function(d) { return d.u; }); + + uEnter.append('circle') + .attr('r', '16'); + + uEnter.append('use') + .attr('transform', 'translate(-16, -16)') + .attr('width', '32') + .attr('height', '32'); + + + groups = groups + .merge(enter); + + groups + .attr('opacity', function(d) { + return d.direct === false ? '0.7' : null; + }) + .attr('transform', function(d) { + var pxRadius = 50; + var toWay = graph.entity(d.to.way); + var toPoints = graph.childNodes(toWay) + .map(function (n) { return n.loc; }) + .map(projection); + var toLength = geoPathLength(toPoints); + var mid = toLength / 2; // midpoint of destination way + + var toNode = graph.entity(d.to.node); + var toVertex = graph.entity(d.to.vertex); + var a = geoAngle(toVertex, toNode, projection); + var o = projection(toVertex.loc); + var r = d.u ? 0 // u-turn: no radius + : !toWay.__via ? pxRadius // leaf way: put marker at pxRadius + : Math.min(mid, pxRadius); // via way: prefer pxRadius, fallback to mid for very short ways + + return 'translate(' + (r * Math.cos(a) + o[0]) + ',' + (r * Math.sin(a) + o[1]) + ') ' + + 'rotate(' + a * 180 / Math.PI + ')'; + }); + + groups.select('use') + .attr('xlink:href', icon); + + groups.select('rect'); + groups.select('circle'); + + return this; + }; + } + + function svgVertices$$1(projection, context) { + var radiuses = { + // z16-, z17, z18+, w/icon + shadow: [6, 7.5, 7.5, 12], + stroke: [2.5, 3.5, 3.5, 8], + fill: [1, 1.5, 1.5, 1.5] + }; + + var _currHoverTarget; + var _currPersistent = {}; + var _currHover = {}; + var _prevHover = {}; + var _currSelected = {}; + var _prevSelected = {}; + var _radii = {}; + + + function sortY(a, b) { + return b.loc[1] - a.loc[1]; + } + + // Avoid exit/enter if we're just moving stuff around. + // The node will get a new version but we only need to run the update selection. + function fastEntityKey(d) { + var mode = context.mode(); + var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id); + return isMoving ? d.id : osmEntity$$1.key(d); + } + + + function draw(selection$$1, graph, vertices, sets, filter) { + sets = sets || { selected: {}, important: {}, hovered: {} }; + + var icons = {}; + var directions = {}; + var wireframe = context.surface().classed('fill-wireframe'); + var zoom = geoScaleToZoom(projection.scale()); + var z = (zoom < 17 ? 0 : zoom < 18 ? 1 : 2); + + + function getIcon(d) { + // always check latest entity, as fastEntityKey avoids enter/exit now + var entity = graph.entity(d.id); + if (entity.id in icons) return icons[entity.id]; + + icons[entity.id] = + entity.hasInterestingTags() && + context.presets().match(entity, graph).icon; + return icons[entity.id]; + } + + + // memoize directions results, return false for empty arrays (for use in filter) + function getDirections(entity) { + if (entity.id in directions) return directions[entity.id]; + + var angles = entity.directions(graph, projection); + directions[entity.id] = angles.length ? angles : false; + return angles; + } + + + function updateAttributes(selection$$1) { + ['shadow', 'stroke', 'fill'].forEach(function(klass) { + var rads = radiuses[klass]; + selection$$1.selectAll('.' + klass) + .each(function(entity) { + var i = z && getIcon(entity); + var r = rads[i ? 3 : z]; + + // slightly increase the size of unconnected endpoints #3775 + if (entity.isEndpoint(graph) && !entity.isConnected(graph)) { + r += 1.5; + } + + if (klass === 'shadow') { // remember this value, so we don't need to + _radii[entity.id] = r; // recompute it when we draw the touch targets + } + + select(this) + .attr('r', r) + .attr('visibility', (i && klass === 'fill') ? 'hidden' : null); + }); + }); + } + + vertices.sort(sortY); + + var groups = selection$$1.selectAll('g.vertex') + .filter(filter) + .data(vertices, fastEntityKey); + + // exit + groups.exit() + .remove(); + + // enter + var enter = groups.enter() + .append('g') + .attr('class', function(d) { return 'node vertex ' + d.id; }) + .order(); + + enter + .append('circle') + .attr('class', 'shadow'); + + enter + .append('circle') + .attr('class', 'stroke'); + + // Vertices with tags get a fill. + enter.filter(function(d) { return d.hasInterestingTags(); }) + .append('circle') + .attr('class', 'fill'); + + // update + groups = groups + .merge(enter) + .attr('transform', svgPointTransform(projection)) + .classed('sibling', function(d) { return d.id in sets.selected; }) + .classed('shared', function(d) { return graph.isShared(d); }) + .classed('endpoint', function(d) { return d.isEndpoint(graph); }) + .call(updateAttributes); + + + // Vertices with icons get a `use`. + var iconUse = groups + .selectAll('.icon') + .data(function data(d) { return zoom >= 17 && getIcon(d) ? [d] : []; }, fastEntityKey); + + // exit + iconUse.exit() + .remove(); + + // enter + iconUse.enter() + .append('use') + .attr('class', 'icon') + .attr('width', '11px') + .attr('height', '11px') + .attr('transform', 'translate(-5.5, -5.5)') + .attr('xlink:href', function(d) { + var picon = getIcon(d); + var isMaki = /^maki-/.test(picon); + return '#' + picon + (isMaki ? '-11' : ''); + }); + + + // Vertices with directions get viewfields + var dgroups = groups + .selectAll('.viewfieldgroup') + .data(function data(d) { return zoom >= 18 && getDirections(d) ? [d] : []; }, fastEntityKey); + + // exit + dgroups.exit() + .remove(); + + // enter/update + dgroups = dgroups.enter() + .insert('g', '.shadow') + .attr('class', 'viewfieldgroup') + .merge(dgroups); + + var viewfields = dgroups.selectAll('.viewfield') + .data(getDirections, function key(d) { return osmEntity$$1.key(d); }); + + // exit + viewfields.exit() + .remove(); + + // enter/update + viewfields.enter() + .append('path') + .attr('class', 'viewfield') + .attr('d', 'M0,0H0') + .merge(viewfields) + .attr('marker-start', 'url(#viewfield-marker' + (wireframe ? '-wireframe' : '') + ')') + .attr('transform', function(d) { return 'rotate(' + d + ')'; }); + } + + + function drawTargets(selection$$1, graph, entities, filter) { + var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor '; + var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor '; + var getTransform = svgPointTransform(projection).geojson; + var activeID = context.activeID(); + var data = { targets: [], nopes: [] }; + + entities.forEach(function(node) { + if (activeID === node.id) return; // draw no target on the activeID + + var vertexType = svgPassiveVertex(node, graph, activeID); + if (vertexType !== 0) { // passive or adjacent - allow to connect + data.targets.push({ + type: 'Feature', + id: node.id, + properties: { + target: true, + entity: node + }, + geometry: node.asGeoJSON() + }); + } else { + data.nopes.push({ + type: 'Feature', + id: node.id + '-nope', + properties: { + nope: true, + target: true, + entity: node + }, + geometry: node.asGeoJSON() + }); + } + }); + + + // Targets allow hover and vertex snapping + var targets = selection$$1.selectAll('.vertex.target-allowed') + .filter(function(d) { return filter(d.properties.entity); }) + .data(data.targets, function key(d) { return d.id; }); + + // exit + targets.exit() + .remove(); + + // enter/update + targets.enter() + .append('circle') + .attr('r', function(d) { return (_radii[d.id] || radiuses.shadow[3]); }) + .merge(targets) + .attr('class', function(d) { return 'node vertex target target-allowed ' + targetClass + d.id; }) + .attr('transform', getTransform); + + + // NOPE + var nopes = selection$$1.selectAll('.vertex.target-nope') + .filter(function(d) { return filter(d.properties.entity); }) + .data(data.nopes, function key(d) { return d.id; }); + + // exit + nopes.exit() + .remove(); + + // enter/update + nopes.enter() + .append('circle') + .attr('r', function(d) { return (_radii[d.properties.entity.id] || radiuses.shadow[3]); }) + .merge(nopes) + .attr('class', function(d) { return 'node vertex target target-nope ' + nopeClass + d.id; }) + .attr('transform', getTransform); + } + + + // Points can also render as vertices: + // 1. in wireframe mode or + // 2. at higher zooms if they have a direction + function renderAsVertex(entity, graph, wireframe, zoom) { + var geometry = entity.geometry(graph); + return geometry === 'vertex' || (geometry === 'point' && ( + wireframe || (zoom >= 18 && entity.directions(graph, projection).length) + )); + } + + + function getSiblingAndChildVertices(ids, graph, wireframe, zoom) { + var results = {}; + + function addChildVertices(entity) { + var geometry = entity.geometry(graph); + if (!context.features().isHiddenFeature(entity, graph, geometry)) { + var i; + if (entity.type === 'way') { + for (i = 0; i < entity.nodes.length; i++) { + var child = graph.hasEntity(entity.nodes[i]); + if (child) { + addChildVertices(child); + } + } + } else if (entity.type === 'relation') { + for (i = 0; i < entity.members.length; i++) { + var member = graph.hasEntity(entity.members[i].id); + if (member) { + addChildVertices(member); + } + } + } else if (renderAsVertex(entity, graph, wireframe, zoom)) { + results[entity.id] = entity; + } + } + } + + ids.forEach(function(id) { + var entity = graph.hasEntity(id); + if (!entity) return; + + if (entity.type === 'node') { + if (renderAsVertex(entity, graph, wireframe, zoom)) { + results[entity.id] = entity; + graph.parentWays(entity).forEach(function(entity) { + addChildVertices(entity); + }); + } + } else { // way, relation + addChildVertices(entity); + } + }); + + return results; + } + + + function drawVertices(selection$$1, graph, entities, filter, extent, fullRedraw) { + var wireframe = context.surface().classed('fill-wireframe'); + var zoom = geoScaleToZoom(projection.scale()); + var mode = context.mode(); + var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id); + + if (fullRedraw) { + _currPersistent = {}; + _radii = {}; + } + + // Collect important vertices from the `entities` list.. + // (during a paritial redraw, it will not contain everything) + for (var i = 0; i < entities.length; i++) { + var entity = entities[i]; + var geometry = entity.geometry(graph); + var keep = false; + + // a point that looks like a vertex.. + if ((geometry === 'point') && renderAsVertex(entity, graph, wireframe, zoom)) { + _currPersistent[entity.id] = entity; + keep = true; + + // a vertex of some importance.. + } else if (geometry === 'vertex' && + (entity.hasInterestingTags() || entity.isEndpoint(graph) || entity.isConnected(graph))) { + _currPersistent[entity.id] = entity; + keep = true; + } + + // whatever this is, it's not a persistent vertex.. + if (!keep && !fullRedraw) { + delete _currPersistent[entity.id]; + } + } + + // 3 sets of vertices to consider: + var sets = { + persistent: _currPersistent, // persistent = important vertices (render always) + selected: _currSelected, // selected + siblings of selected (render always) + hovered: _currHover // hovered + siblings of hovered (render only in draw modes) + }; + + var all = assign({}, (isMoving ? _currHover : {}), _currSelected, _currPersistent); + + // Draw the vertices.. + // The filter function controls the scope of what objects d3 will touch (exit/enter/update) + // Adjust the filter function to expand the scope beyond whatever entities were passed in. + var filterRendered = function(d) { + return d.id in _currPersistent || d.id in _currSelected || d.id in _currHover || filter(d); + }; + selection$$1.selectAll('.layer-points .layer-points-vertices') + .call(draw, graph, currentVisible(all), sets, filterRendered); + + // Draw touch targets.. + // When drawing, render all targets (not just those affected by a partial redraw) + var filterTouch = function(d) { + return isMoving ? true : filterRendered(d); + }; + selection$$1.selectAll('.layer-points .layer-points-targets') + .call(drawTargets, graph, currentVisible(all), filterTouch); + + + function currentVisible(which) { + return Object.keys(which) + .map(graph.hasEntity, graph) // the current version of this entity + .filter(function (entity) { return entity && entity.intersects(extent, graph); }); + } + } + + + // partial redraw - only update the selected items.. + drawVertices.drawSelected = function(selection$$1, graph, extent) { + var wireframe = context.surface().classed('fill-wireframe'); + var zoom = geoScaleToZoom(projection.scale()); + + _prevSelected = _currSelected || {}; + _currSelected = getSiblingAndChildVertices(context.selectedIDs(), graph, wireframe, zoom); + + // note that drawVertices will add `_currSelected` automatically if needed.. + var filter = function(d) { return d.id in _prevSelected; }; + drawVertices(selection$$1, graph, values$1(_prevSelected), filter, extent, false); + }; + + + // partial redraw - only update the hovered items.. + drawVertices.drawHover = function(selection$$1, graph, target, extent) { + if (target === _currHoverTarget) return; // continue only if something changed + + var wireframe = context.surface().classed('fill-wireframe'); + var zoom = geoScaleToZoom(projection.scale()); + + _prevHover = _currHover || {}; + _currHoverTarget = target; + var entity = target && target.properties && target.properties.entity; + + if (entity) { + _currHover = getSiblingAndChildVertices([entity.id], graph, wireframe, zoom); + } else { + _currHover = {}; + } + + // note that drawVertices will add `_currHover` automatically if needed.. + var filter = function(d) { return d.id in _prevHover; }; + drawVertices(selection$$1, graph, values$1(_prevHover), filter, extent, false); + }; + + return drawVertices; + } + + /* global Mapillary:false */ + + var apibase = 'https://a.mapillary.com/v3/'; + var viewercss = 'mapillary-js/mapillary.min.css'; + var viewerjs = 'mapillary-js/mapillary.min.js'; + var clientId = 'NzNRM2otQkR2SHJzaXJmNmdQWVQ0dzo1ZWYyMmYwNjdmNDdlNmVi'; + var maxResults = 1000; + var tileZoom = 14; + var dispatch$1 = dispatch('loadedImages', 'loadedSigns'); + var _mlyFallback = false; + var _mlyCache; + var _mlyClicks; + var _mlySelectedImage; + var _mlyViewer; + + + function abortRequest(i) { + i.abort(); + } + + + function nearNullIsland(x, y, z) { + if (z >= 7) { + var center = Math.pow(2, z - 1); + var width = Math.pow(2, z - 6); + var min$$1 = center - (width / 2); + var max$$1 = center + (width / 2) - 1; + return x >= min$$1 && x <= max$$1 && y >= min$$1 && y <= max$$1; + } + return false; + } + + + function maxPageAtZoom(z) { + if (z < 15) return 2; + if (z === 15) return 5; + if (z === 16) return 10; + if (z === 17) return 20; + if (z === 18) return 40; + if (z > 18) return 80; + } + + + function localeTimestamp(s) { + if (!s) return null; + var detected = utilDetect(); + var options = { + day: 'numeric', month: 'short', year: 'numeric', + hour: 'numeric', minute: 'numeric', second: 'numeric', + timeZone: 'UTC' + }; + var d = new Date(s); + if (isNaN(d.getTime())) return null; + return d.toLocaleString(detected.locale, options); + } + + + function getTiles(projection) { + var s = projection.scale() * 2 * Math.PI; + var z = Math.max(Math.log(s) / Math.log(2) - 8, 0); + var ts = 256 * Math.pow(2, z - tileZoom); + var origin = [ + s / 2 - projection.translate()[0], + s / 2 - projection.translate()[1] + ]; + + return d3geoTile() + .scaleExtent([tileZoom, tileZoom]) + .scale(s) + .size(projection.clipExtent()[1]) + .translate(projection.translate())() + .map(function(tile) { + var x = tile[0] * ts - origin[0]; + var y = tile[1] * ts - origin[1]; + + return { + id: tile.toString(), + xyz: tile, + extent: geoExtent$$1( + projection.invert([x, y + ts]), + projection.invert([x + ts, y]) + ) + }; + }); + } + + + function loadTiles(which, url, projection) { + var s = projection.scale() * 2 * Math.PI; + var currZoom = Math.floor(Math.max(Math.log(s) / Math.log(2) - 8, 0)); + + var tiles = getTiles(projection).filter(function(t) { + return !nearNullIsland(t.xyz[0], t.xyz[1], t.xyz[2]); + }); + + filter(which.inflight, function(v, k) { + var wanted = find$1(tiles, function(tile) { return k === (tile.id + ',0'); }); + if (!wanted) delete which.inflight[k]; + return !wanted; + }).map(abortRequest); + + tiles.forEach(function(tile) { + loadNextTilePage(which, currZoom, url, tile); + }); + } + + + function loadNextTilePage(which, currZoom, url, tile) { + var cache = _mlyCache[which]; + var rect = tile.extent.rectangle(); + var maxPages = maxPageAtZoom(currZoom); + var nextPage = cache.nextPage[tile.id] || 0; + var nextURL = cache.nextURL[tile.id] || url + + utilQsString({ + per_page: maxResults, + page: nextPage, + client_id: clientId, + bbox: [rect[0], rect[1], rect[2], rect[3]].join(','), + }); + + if (nextPage > maxPages) return; + + var id = tile.id + ',' + String(nextPage); + if (cache.loaded[id] || cache.inflight[id]) return; + cache.inflight[id] = request(nextURL) + .mimeType('application/json') + .response(function(xhr) { + var linkHeader = xhr.getResponseHeader('Link'); + if (linkHeader) { + var pagination = parsePagination(xhr.getResponseHeader('Link')); + if (pagination.next) { + cache.nextURL[tile.id] = pagination.next; + } + } + return JSON.parse(xhr.responseText); + }) + .get(function(err, data) { + cache.loaded[id] = true; + delete cache.inflight[id]; + if (err || !data.features || !data.features.length) return; + + var features = data.features.map(function(feature) { + var loc = feature.geometry.coordinates; + var d; + + if (which === 'images') { + d = { + loc: loc, + key: feature.properties.key, + ca: feature.properties.ca, + captured_at: feature.properties.captured_at, + captured_by: feature.properties.username, + pano: feature.properties.pano + }; + cache.forImageKey[d.key] = d; // cache imageKey -> image + + } else if (which === 'sequences') { + var sequenceKey = feature.properties.key; + cache.lineString[sequenceKey] = feature; // cache sequenceKey -> lineString + feature.properties.coordinateProperties.image_keys.forEach(function(imageKey) { + cache.forImageKey[imageKey] = sequenceKey; // cache imageKey -> sequenceKey + }); + return false; // because no `d` data worth loading into an rbush + + } else if (which === 'objects') { + d = { + loc: loc, + key: feature.properties.key, + value: feature.properties.value, + package: feature.properties.package, + detections: feature.properties.detections + }; + + // cache imageKey -> detectionKey + feature.properties.detections.forEach(function(detection) { + var imageKey = detection.image_key; + var detectionKey = detection.detection_key; + if (!_mlyCache.detections[imageKey]) { + _mlyCache.detections[imageKey] = {}; + } + if (!_mlyCache.detections[imageKey][detectionKey]) { + _mlyCache.detections[imageKey][detectionKey] = {}; + } + }); + } + + return { + minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d + }; + + }).filter(Boolean); + + cache.rtree.load(features); + + if (which === 'images' || which === 'sequences') { + dispatch$1.call('loadedImages'); + } else if (which === 'objects') { + dispatch$1.call('loadedSigns'); + } + + if (data.features.length === maxResults) { // more pages to load + cache.nextPage[tile.id] = nextPage + 1; + loadNextTilePage(which, currZoom, url, tile); + } else { + cache.nextPage[tile.id] = Infinity; // no more pages to load + } + }); + } + + // extract links to pages of API results + function parsePagination(links) { + return links.split(',').map(function(rel) { + var elements = rel.split(';'); + if (elements.length === 2) { + return [ + /<(.+)>/.exec(elements[0])[1], + /rel="(.+)"/.exec(elements[1])[1] + ]; + } else { + return ['','']; + } + }).reduce(function(pagination, val) { + pagination[val[1]] = val[0]; + return pagination; + }, {}); + } + + + // partition viewport into `psize` x `psize` regions + function partitionViewport(psize, projection) { + var dimensions = projection.clipExtent()[1]; + psize = psize || 16; + var cols = range(0, dimensions[0], psize); + var rows = range(0, dimensions[1], psize); + var partitions = []; + + rows.forEach(function(y) { + cols.forEach(function(x) { + var min$$1 = [x, y + psize]; + var max$$1 = [x + psize, y]; + partitions.push( + geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1))); + }); + }); + + return partitions; + } + + + // no more than `limit` results per partition. + function searchLimited(psize, limit, projection, rtree) { + limit = limit || 3; + + var partitions = partitionViewport(psize, projection); + var results; + + // console.time('previous'); + results = flatten(map$3(partitions, function(extent$$1) { + return rtree.search(extent$$1.bbox()) + .slice(0, limit) + .map(function(d) { return d.data; }); + })); + // console.timeEnd('previous'); + + // console.time('new'); + // results = partitions.reduce(function(result, extent) { + // var found = rtree.search(extent.bbox()) + // .map(function(d) { return d.data; }) + // .sort(function(a, b) { + // return a.loc[1] - b.loc[1]; + // // return a.key.localeCompare(b.key); + // }) + // .slice(0, limit); + + // return (found.length ? result.concat(found) : result); + // }, []); + // console.timeEnd('new'); + + return results; + } + + + + var serviceMapillary = { + + init: function() { + if (!_mlyCache) { + this.reset(); + } + + this.event = utilRebind(this, dispatch$1, 'on'); + }, + + reset: function() { + var cache = _mlyCache; + + if (cache) { + if (cache.images && cache.images.inflight) { + forEach(cache.images.inflight, abortRequest); + } + if (cache.objects && cache.objects.inflight) { + forEach(cache.objects.inflight, abortRequest); + } + if (cache.sequences && cache.sequences.inflight) { + forEach(cache.sequences.inflight, abortRequest); + } + } + + _mlyCache = { + images: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1(), forImageKey: {} }, + objects: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1() }, + sequences: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1(), forImageKey: {}, lineString: {} }, + detections: {} + }; + + _mlySelectedImage = null; + _mlyClicks = []; + }, + + + images: function(projection) { + var psize = 16, limit = 3; + return searchLimited(psize, limit, projection, _mlyCache.images.rtree); + }, + + + signs: function(projection) { + var psize = 32, limit = 3; + return searchLimited(psize, limit, projection, _mlyCache.objects.rtree); + }, + + + sequences: function(projection) { + var viewport = projection.clipExtent(); + var min$$1 = [viewport[0][0], viewport[1][1]]; + var max$$1 = [viewport[1][0], viewport[0][1]]; + var bbox = geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)).bbox(); + var sequenceKeys = {}; + + // all sequences for images in viewport + _mlyCache.images.rtree.search(bbox) + .forEach(function(d) { + var sequenceKey = _mlyCache.sequences.forImageKey[d.data.key]; + if (sequenceKey) { + sequenceKeys[sequenceKey] = true; + } + }); + + // Return lineStrings for the sequences + return Object.keys(sequenceKeys).map(function(sequenceKey) { + return _mlyCache.sequences.lineString[sequenceKey]; + }); + }, + + + signsSupported: function() { + return true; + }, + + + loadImages: function(projection) { + loadTiles('images', apibase + 'images?', projection); + loadTiles('sequences', apibase + 'sequences?', projection); + }, + + + loadSigns: function(context, projection) { + // if we are looking at signs, we'll actually need to fetch images too + loadTiles('images', apibase + 'images?', projection); + loadTiles('objects', apibase + 'objects?', projection); + }, + + + loadViewer: function(context) { + // add mly-wrapper + var wrap = select('#photoviewer').selectAll('.mly-wrapper') + .data([0]); + + var wrapEnter = wrap.enter() + .append('div') + .attr('id', 'mly') + .attr('class', 'photo-wrapper mly-wrapper') + .classed('hide', true); + + wrapEnter + .append('div') + .attr('class', 'photo-attribution fillD'); + + + // load mapillary-viewercss + select('head').selectAll('#mapillary-viewercss') + .data([0]) + .enter() + .append('link') + .attr('id', 'mapillary-viewercss') + .attr('rel', 'stylesheet') + .attr('href', context.asset(viewercss)); + + // load mapillary-viewerjs + select('head').selectAll('#mapillary-viewerjs') + .data([0]) + .enter() + .append('script') + .attr('id', 'mapillary-viewerjs') + .attr('src', context.asset(viewerjs)); + + // load mapillary signs sprite + var defs = context.container().select('defs'); + defs.call(svgDefs(context).addSprites, ['mapillary-sprite']); + }, + + + showViewer: function() { + var wrap = select('#photoviewer') + .classed('hide', false); + + var isHidden = wrap.selectAll('.photo-wrapper.mly-wrapper.hide').size(); + + if (isHidden) { + wrap + .selectAll('.photo-wrapper:not(.mly-wrapper)') + .classed('hide', true); + + wrap + .selectAll('.photo-wrapper.mly-wrapper') + .classed('hide', false); + + _mlyViewer.resize(); + } + + return this; + }, + + + hideViewer: function() { + _mlySelectedImage = null; + + if (!_mlyFallback && _mlyViewer) { + _mlyViewer.getComponent('sequence').stop(); + } + + var viewer = select('#photoviewer'); + if (!viewer.empty()) viewer.datum(null); + + viewer + .classed('hide', true) + .selectAll('.photo-wrapper') + .classed('hide', true); + + d3_selectAll('.viewfield-group, .sequence, .icon-sign') + .classed('selected', false); + + return this.setStyles(null, true); + }, + + + parsePagination: parsePagination, + + + updateViewer: function(imageKey, context) { + if (!imageKey) return this; + + if (!_mlyViewer) { + this.initViewer(imageKey, context); + } else { + _mlyViewer.moveToKey(imageKey) + .catch(function(e) { console.error('mly3', e); }); // eslint-disable-line no-console + } + + return this; + }, + + + initViewer: function(imageKey, context) { + var that = this; + if (Mapillary && imageKey) { + var opts = { + baseImageSize: 320, + component: { + cover: false, + keyboard: false, + tag: true + } + }; + + // Disable components requiring WebGL support + if (!Mapillary.isSupported() && Mapillary.isFallbackSupported()) { + _mlyFallback = true; + opts.component = { + cover: false, + direction: false, + imagePlane: false, + keyboard: false, + mouse: false, + sequence: false, + tag: false, + image: true, // fallback + navigation: true // fallback + }; + } + + _mlyViewer = new Mapillary.Viewer('mly', clientId, null, opts); + _mlyViewer.on('nodechanged', nodeChanged); + _mlyViewer.moveToKey(imageKey) + .catch(function(e) { console.error('mly3', e); }); // eslint-disable-line no-console + } + + // nodeChanged: called after the viewer has changed images and is ready. + // + // There is some logic here to batch up clicks into a _mlyClicks array + // because the user might click on a lot of markers quickly and nodechanged + // may be called out of order asychronously. + // + // Clicks are added to the array in `selectedImage` and removed here. + // + function nodeChanged(node) { + if (!_mlyFallback) { + _mlyViewer.getComponent('tag').removeAll(); // remove previous detections + } + + var clicks = _mlyClicks; + var index = clicks.indexOf(node.key); + var selectedKey = _mlySelectedImage && _mlySelectedImage.key; + + if (index > -1) { // `nodechanged` initiated from clicking on a marker.. + clicks.splice(index, 1); // remove the click + // If `node.key` matches the current _mlySelectedImage, call `selectImage()` + // one more time to update the detections and attribution.. + if (node.key === selectedKey) { + that.selectImage(_mlySelectedImage, node.key, true); + } + } else { // `nodechanged` initiated from the Mapillary viewer controls.. + var loc = node.computedLatLon ? [node.computedLatLon.lon, node.computedLatLon.lat] : [node.latLon.lon, node.latLon.lat]; + context.map().centerEase(loc); + that.selectImage(undefined, node.key, true); + } + } + }, + + + // Pass the image datum itself in `d` or the `imageKey` string. + // This allows images to be selected from places that dont have access + // to the full image datum (like the street signs layer or the js viewer) + selectImage: function(d, imageKey, fromViewer) { + if (!d && imageKey) { + // If the user clicked on something that's not an image marker, we + // might get in here.. Cache lookup can fail, e.g. if the user + // clicked a streetsign, but images are loading slowly asynchronously. + // We'll try to carry on anyway if there is no datum. There just + // might be a delay before user sees detections, captured_at, etc. + d = _mlyCache.images.forImageKey[imageKey]; + } + + _mlySelectedImage = d; + var viewer = select('#photoviewer'); + if (!viewer.empty()) viewer.datum(d); + + imageKey = (d && d.key) || imageKey; + if (!fromViewer && imageKey) { + _mlyClicks.push(imageKey); + } + + this.setStyles(null, true); + + d3_selectAll('.layer-mapillary-signs .icon-sign') + .classed('selected', function(d) { + return some(d.detections, function(detection) { + return detection.image_key === imageKey; + }); + }); + + var wrap = select('#photoviewer .mly-wrapper'); + var attribution = wrap.selectAll('.photo-attribution').html(''); + + if (d) { + if (d.captured_by) { + attribution + .append('a') + .attr('class', 'captured_by') + .attr('target', '_blank') + .attr('href', 'https://www.mapillary.com/app/user/' + encodeURIComponent(d.captured_by)) + .text('@' + d.captured_by); + + attribution + .append('span') + .text('|'); + } + + if (d.captured_at) { + attribution + .append('span') + .attr('class', 'captured_at') + .text(localeTimestamp(d.captured_at)); + + attribution + .append('span') + .text('|'); + } + + attribution + .append('a') + .attr('class', 'image_link') + .attr('target', '_blank') + .attr('href', 'https://www.mapillary.com/app/?pKey=' + encodeURIComponent(d.key) + + '&focus=photo&lat=' + d.loc[1] + '&lng=' + d.loc[0] + '&z=17') + .text('mapillary.com'); + + this.updateDetections(d); + } + + return this; + }, + + + getSelectedImage: function() { + return _mlySelectedImage; + }, + + + getSequenceKeyForImage: function(d) { + var imageKey = d && d.key; + return imageKey && _mlyCache.sequences.forImageKey[imageKey]; + }, + + + setStyles: function(hovered, reset) { + if (reset) { // reset all layers + d3_selectAll('.viewfield-group') + .classed('highlighted', false) + .classed('hovered', false) + .classed('selected', false); + + d3_selectAll('.sequence') + .classed('highlighted', false) + .classed('selected', false); + } + + var hoveredImageKey = hovered && hovered.key; + var hoveredSequenceKey = this.getSequenceKeyForImage(hovered); + var hoveredLineString = hoveredSequenceKey && _mlyCache.sequences.lineString[hoveredSequenceKey]; + var hoveredImageKeys = (hoveredLineString && hoveredLineString.properties.coordinateProperties.image_keys) || []; + + var viewer = select('#photoviewer'); + var selected = viewer.empty() ? undefined : viewer.datum(); + var selectedImageKey = selected && selected.key; + var selectedSequenceKey = this.getSequenceKeyForImage(selected); + var selectedLineString = selectedSequenceKey && _mlyCache.sequences.lineString[selectedSequenceKey]; + var selectedImageKeys = (selectedLineString && selectedLineString.properties.coordinateProperties.image_keys) || []; + + // highlight sibling viewfields on either the selected or the hovered sequences + var highlightedImageKeys = union(hoveredImageKeys, selectedImageKeys); + + d3_selectAll('.layer-mapillary-images .viewfield-group') + .classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; }) + .classed('hovered', function(d) { return d.key === hoveredImageKey; }) + .classed('selected', function(d) { return d.key === selectedImageKey; }); + + d3_selectAll('.layer-mapillary-images .sequence') + .classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; }) + .classed('selected', function(d) { return d.properties.key === selectedSequenceKey; }); + + // update viewfields if needed + d3_selectAll('.viewfield-group .viewfield') + .attr('d', viewfieldPath); + + function viewfieldPath() { + var d = this.parentNode.__data__; + if (d.pano && d.key !== selectedImageKey) { + return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0'; + } else { + return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z'; + } + } + + return this; + }, + + + updateDetections: function(d) { + if (!_mlyViewer || _mlyFallback) return; + + var imageKey = d && d.key; + var detections = (imageKey && _mlyCache.detections[imageKey]) || []; + + forEach(detections, function(data, k) { + if (isEmpty(data)) { + loadDetection(k); + } else { + var tag = makeTag(data); + if (tag) { + var tagComponent = _mlyViewer.getComponent('tag'); + tagComponent.add([tag]); + } + } + }); + + + function loadDetection(detectionKey) { + var url = apibase + 'detections/' + + detectionKey + '?' + utilQsString({ client_id: clientId }); + + request(url) + .mimeType('application/json') + .response(function(xhr) { + return JSON.parse(xhr.responseText); + }) + .get(function(err, data) { + if (!data || !data.properties) return; + + var imageKey = data.properties.image_key; + _mlyCache.detections[imageKey][detectionKey] = data; + + var selectedKey = _mlySelectedImage && _mlySelectedImage.key; + if (imageKey === selectedKey) { + var tag = makeTag(data); + if (tag) { + var tagComponent = _mlyViewer.getComponent('tag'); + tagComponent.add([tag]); + } + } + }); + } + + + function makeTag(data) { + var valueParts = data.properties.value.split('--'); + if (valueParts.length !== 3) return; + + var text = valueParts[1].replace(/-/g, ' '); + var tag; + + // Currently only two shapes + if (data.properties.shape.type === 'Polygon') { + var polygonGeometry = new Mapillary + .TagComponent + .PolygonGeometry(data.properties.shape.coordinates[0]); + + tag = new Mapillary.TagComponent.OutlineTag( + data.properties.key, + polygonGeometry, + { + text: text, + textColor: 0xffff00, + lineColor: 0xffff00, + lineWidth: 2, + fillColor: 0xffff00, + fillOpacity: 0.3, + } + ); + + } else if (data.properties.shape.type === 'Point') { + var pointGeometry = new Mapillary + .TagComponent + .PointGeometry(data.properties.shape.coordinates[0]); + + tag = new Mapillary.TagComponent.SpotTag( + data.properties.key, + pointGeometry, + { + text: text, + color: 0xffff00, + textColor: 0xffff00 + } + ); + } + + return tag; + } + }, + + + cache: function() { + return _mlyCache; + } + + }; + + var apibase$1 = 'https://nominatim.openstreetmap.org/', + inflight = {}, + nominatimCache; + + + var serviceNominatim = { + + init: function() { + inflight = {}; + nominatimCache = rbush_1(); + }, + + reset: function() { + forEach(inflight, function(req) { req.abort(); }); + inflight = {}; + nominatimCache = rbush_1(); + }, + + + countryCode: function (location, callback) { + this.reverse(location, function(err, result) { + if (err) { + return callback(err); + } else if (result.address) { + return callback(null, result.address.country_code); + } else { + return callback('Unable to geocode', null); + } + }); + }, + + + reverse: function (location, callback) { + var cached = nominatimCache.search( + { minX: location[0], minY: location[1], maxX: location[0], maxY: location[1] } + ); + + if (cached.length > 0) { + return callback(null, cached[0].data); + } + + var params = { zoom: 13, format: 'json', addressdetails: 1, lat: location[1], lon: location[0] }; + var url = apibase$1 + 'reverse?' + utilQsString(params); + if (inflight[url]) return; + + inflight[url] = d3_json(url, function(err, result) { + delete inflight[url]; + + if (err) { + return callback(err); + } else if (result && result.error) { + return callback(result.error); + } + + var extent = geoExtent$$1(location).padByMeters(200); + nominatimCache.insert(assign(extent.bbox(), {data: result})); + + callback(null, result); + }); + }, + + + search: function (val, callback) { + var searchVal = encodeURIComponent(val); + var url = apibase$1 + 'search/' + searchVal + '?limit=10&format=json'; + if (inflight[url]) return; + + inflight[url] = d3_json(url, function(err, result) { + delete inflight[url]; + callback(err, result); + }); + } + + }; + + var apibase$2 = 'https://openstreetcam.org', + maxResults$1 = 1000, + tileZoom$1 = 14, + dispatch$2 = dispatch('loadedImages'), + imgZoom = d3_zoom() + .extent([[0, 0], [320, 240]]) + .translateExtent([[0, 0], [320, 240]]) + .scaleExtent([1, 15]) + .on('zoom', zoomPan), + _oscCache, + _oscSelectedImage; + + + function abortRequest$1(i) { + i.abort(); + } + + + function nearNullIsland$1(x, y, z) { + if (z >= 7) { + var center = Math.pow(2, z - 1), + width = Math.pow(2, z - 6), + min$$1 = center - (width / 2), + max$$1 = center + (width / 2) - 1; + return x >= min$$1 && x <= max$$1 && y >= min$$1 && y <= max$$1; + } + return false; + } + + + function maxPageAtZoom$1(z) { + if (z < 15) return 2; + if (z === 15) return 5; + if (z === 16) return 10; + if (z === 17) return 20; + if (z === 18) return 40; + if (z > 18) return 80; + } + + + function getTiles$1(projection) { + var s = projection.scale() * 2 * Math.PI, + z = Math.max(Math.log(s) / Math.log(2) - 8, 0), + ts = 256 * Math.pow(2, z - tileZoom$1), + origin = [ + s / 2 - projection.translate()[0], + s / 2 - projection.translate()[1]]; + + return d3geoTile() + .scaleExtent([tileZoom$1, tileZoom$1]) + .scale(s) + .size(projection.clipExtent()[1]) + .translate(projection.translate())() + .map(function(tile) { + var x = tile[0] * ts - origin[0], + y = tile[1] * ts - origin[1]; + + return { + id: tile.toString(), + xyz: tile, + extent: geoExtent$$1( + projection.invert([x, y + ts]), + projection.invert([x + ts, y]) + ) + }; + }); + } + + + function loadTiles$1(which, url, projection) { + var s = projection.scale() * 2 * Math.PI, + currZoom = Math.floor(Math.max(Math.log(s) / Math.log(2) - 8, 0)); + + var tiles = getTiles$1(projection).filter(function(t) { + return !nearNullIsland$1(t.xyz[0], t.xyz[1], t.xyz[2]); + }); + + filter(which.inflight, function(v, k) { + var wanted = find$1(tiles, function(tile) { return k === (tile.id + ',0'); }); + if (!wanted) delete which.inflight[k]; + return !wanted; + }).map(abortRequest$1); + + tiles.forEach(function(tile) { + loadNextTilePage$1(which, currZoom, url, tile); + }); + } + + + function loadNextTilePage$1(which, currZoom, url, tile) { + var cache = _oscCache[which]; + var bbox = tile.extent.bbox(); + var maxPages = maxPageAtZoom$1(currZoom); + var nextPage = cache.nextPage[tile.id] || 1; + var params = utilQsString({ + ipp: maxResults$1, + page: nextPage, + // client_id: clientId, + bbTopLeft: [bbox.maxY, bbox.minX].join(','), + bbBottomRight: [bbox.minY, bbox.maxX].join(',') + }, true); + + if (nextPage > maxPages) return; + + var id = tile.id + ',' + String(nextPage); + if (cache.loaded[id] || cache.inflight[id]) return; + + cache.inflight[id] = request(url) + .mimeType('application/json') + .header('Content-type', 'application/x-www-form-urlencoded') + .response(function(xhr) { return JSON.parse(xhr.responseText); }) + .post(params, function(err, data) { + cache.loaded[id] = true; + delete cache.inflight[id]; + if (err || !data.currentPageItems || !data.currentPageItems.length) return; + + function localeDateString(s) { + if (!s) return null; + var detected = utilDetect(); + var options = { day: 'numeric', month: 'short', year: 'numeric' }; + var d = new Date(s); + if (isNaN(d.getTime())) return null; + return d.toLocaleDateString(detected.locale, options); + } + + var features = data.currentPageItems.map(function(item) { + var loc = [+item.lng, +item.lat], + d; + + if (which === 'images') { + d = { + loc: loc, + key: item.id, + ca: +item.heading, + captured_at: localeDateString(item.shot_date || item.date_added), + captured_by: item.username, + imagePath: item.lth_name, + sequence_id: item.sequence_id, + sequence_index: +item.sequence_index + }; + + // cache sequence info + var seq = _oscCache.sequences[d.sequence_id]; + if (!seq) { + seq = { rotation: 0, images: [] }; + _oscCache.sequences[d.sequence_id] = seq; + } + seq.images[d.sequence_index] = d; + } + + return { + minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d + }; + }); + + cache.rtree.load(features); + + if (which === 'images') { + dispatch$2.call('loadedImages'); + } + + if (data.currentPageItems.length === maxResults$1) { // more pages to load + cache.nextPage[tile.id] = nextPage + 1; + loadNextTilePage$1(which, currZoom, url, tile); + } else { + cache.nextPage[tile.id] = Infinity; // no more pages to load + } + }); + } + + + // partition viewport into `psize` x `psize` regions + function partitionViewport$1(psize, projection) { + var dimensions = projection.clipExtent()[1]; + psize = psize || 16; + var cols = range(0, dimensions[0], psize), + rows = range(0, dimensions[1], psize), + partitions = []; + + rows.forEach(function(y) { + cols.forEach(function(x) { + var min$$1 = [x, y + psize], + max$$1 = [x + psize, y]; + partitions.push( + geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1))); + }); + }); + + return partitions; + } + + + // no more than `limit` results per partition. + function searchLimited$1(psize, limit, projection, rtree) { + limit = limit || 3; + + var partitions = partitionViewport$1(psize, projection); + var results; + + results = flatten(map$3(partitions, function(extent$$1) { + return rtree.search(extent$$1.bbox()) + .slice(0, limit) + .map(function(d) { return d.data; }); + })); + return results; + } + + + function zoomPan() { + var t = event.transform; + select('#photoviewer .osc-image-wrap') + .call(utilSetTransform, t.x, t.y, t.k); + } + + + var serviceOpenstreetcam = { + + init: function() { + if (!_oscCache) { + this.reset(); + } + + this.event = utilRebind(this, dispatch$2, 'on'); + }, + + reset: function() { + var cache = _oscCache; + + if (cache) { + if (cache.images && cache.images.inflight) { + forEach(cache.images.inflight, abortRequest$1); + } + } + + _oscCache = { + images: { inflight: {}, loaded: {}, nextPage: {}, rtree: rbush_1() }, + sequences: {} + }; + + _oscSelectedImage = null; + }, + + + images: function(projection) { + var psize = 16, limit = 3; + return searchLimited$1(psize, limit, projection, _oscCache.images.rtree); + }, + + + sequences: function(projection) { + var viewport = projection.clipExtent(); + var min$$1 = [viewport[0][0], viewport[1][1]]; + var max$$1 = [viewport[1][0], viewport[0][1]]; + var bbox = geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)).bbox(); + var sequenceKeys = {}; + + // all sequences for images in viewport + _oscCache.images.rtree.search(bbox) + .forEach(function(d) { sequenceKeys[d.data.sequence_id] = true; }); + + // make linestrings from those sequences + var lineStrings = []; + Object.keys(sequenceKeys) + .forEach(function(sequenceKey) { + var seq = _oscCache.sequences[sequenceKey]; + var images = seq && seq.images; + if (images) { + lineStrings.push({ + type: 'LineString', + coordinates: images.map(function (d) { return d.loc; }).filter(Boolean), + properties: { key: sequenceKey } + }); + } + }); + return lineStrings; + }, + + + loadImages: function(projection) { + var url = apibase$2 + '/1.0/list/nearby-photos/'; + loadTiles$1('images', url, projection); + }, + + + loadViewer: function(context) { + var that = this; + + // add osc-wrapper + var wrap = select('#photoviewer').selectAll('.osc-wrapper') + .data([0]); + + var wrapEnter = wrap.enter() + .append('div') + .attr('class', 'photo-wrapper osc-wrapper') + .classed('hide', true) + .call(imgZoom) + .on('dblclick.zoom', null); + + wrapEnter + .append('div') + .attr('class', 'photo-attribution fillD'); + + var controlsEnter = wrapEnter + .append('div') + .attr('class', 'osc-controls-wrap') + .append('div') + .attr('class', 'osc-controls'); + + controlsEnter + .append('button') + .on('click.back', step(-1)) + .text('◄'); + + controlsEnter + .append('button') + .on('click.rotate-ccw', rotate(-90)) + .text('⤿'); + + controlsEnter + .append('button') + .on('click.rotate-cw', rotate(90)) + .text('⤾'); + + controlsEnter + .append('button') + .on('click.forward', step(1)) + .text('►'); + + wrapEnter + .append('div') + .attr('class', 'osc-image-wrap'); + + + function rotate(deg) { + return function() { + if (!_oscSelectedImage) return; + var sequenceKey = _oscSelectedImage.sequence_id; + var sequence = _oscCache.sequences[sequenceKey]; + if (!sequence) return; + + var r = sequence.rotation || 0; + r += deg; + + if (r > 180) r -= 360; + if (r < -180) r += 360; + sequence.rotation = r; + + var wrap = select('#photoviewer .osc-wrapper'); + + wrap + .transition() + .duration(100) + .call(imgZoom.transform, identity$7); + + wrap.selectAll('.osc-image') + .transition() + .duration(100) + .style('transform', 'rotate(' + r + 'deg)'); + }; + } + + function step(stepBy) { + return function() { + if (!_oscSelectedImage) return; + var sequenceKey = _oscSelectedImage.sequence_id; + var sequence = _oscCache.sequences[sequenceKey]; + if (!sequence) return; + + var nextIndex = _oscSelectedImage.sequence_index + stepBy; + var nextImage = sequence.images[nextIndex]; + if (!nextImage) return; + + context.map().centerEase(nextImage.loc); + + that + .selectImage(nextImage) + .updateViewer(nextImage); + }; + } + }, + + + showViewer: function() { + var viewer = select('#photoviewer') + .classed('hide', false); + + var isHidden = viewer.selectAll('.photo-wrapper.osc-wrapper.hide').size(); + + if (isHidden) { + viewer + .selectAll('.photo-wrapper:not(.osc-wrapper)') + .classed('hide', true); + + viewer + .selectAll('.photo-wrapper.osc-wrapper') + .classed('hide', false); + } + + return this; + }, + + + hideViewer: function() { + _oscSelectedImage = null; + + var viewer = select('#photoviewer'); + if (!viewer.empty()) viewer.datum(null); + + viewer + .classed('hide', true) + .selectAll('.photo-wrapper') + .classed('hide', true); + + d3_selectAll('.viewfield-group, .sequence, .icon-sign') + .classed('selected', false); + + return this.setStyles(null, true); + }, + + + updateViewer: function(d) { + var wrap = select('#photoviewer .osc-wrapper'); + var imageWrap = wrap.selectAll('.osc-image-wrap'); + var attribution = wrap.selectAll('.photo-attribution').html(''); + + wrap + .transition() + .duration(100) + .call(imgZoom.transform, identity$7); + + imageWrap + .selectAll('.osc-image') + .remove(); + + if (d) { + var sequence = _oscCache.sequences[d.sequence_id]; + var r = (sequence && sequence.rotation) || 0; + + imageWrap + .append('img') + .attr('class', 'osc-image') + .attr('src', apibase$2 + '/' + d.imagePath) + .style('transform', 'rotate(' + r + 'deg)'); + + if (d.captured_by) { + attribution + .append('a') + .attr('class', 'captured_by') + .attr('target', '_blank') + .attr('href', 'https://openstreetcam.org/user/' + encodeURIComponent(d.captured_by)) + .text('@' + d.captured_by); + + attribution + .append('span') + .text('|'); + } + + if (d.captured_at) { + attribution + .append('span') + .attr('class', 'captured_at') + .text(d.captured_at); + + attribution + .append('span') + .text('|'); + } + + attribution + .append('a') + .attr('class', 'image_link') + .attr('target', '_blank') + .attr('href', 'https://openstreetcam.org/details/' + d.sequence_id + '/' + d.sequence_index) + .text('openstreetcam.org'); + } + return this; + }, + + + selectImage: function(d) { + _oscSelectedImage = d; + var viewer = select('#photoviewer'); + if (!viewer.empty()) viewer.datum(d); + + this.setStyles(null, true); + + d3_selectAll('.icon-sign') + .classed('selected', false); + + return this; + }, + + + getSelectedImage: function() { + return _oscSelectedImage; + }, + + + getSequenceKeyForImage: function(d) { + return d && d.sequence_id; + }, + + + setStyles: function(hovered, reset) { + if (reset) { // reset all layers + d3_selectAll('.viewfield-group') + .classed('highlighted', false) + .classed('hovered', false) + .classed('selected', false); + + d3_selectAll('.sequence') + .classed('highlighted', false) + .classed('selected', false); + } + + var hoveredImageKey = hovered && hovered.key; + var hoveredSequenceKey = this.getSequenceKeyForImage(hovered); + var hoveredSequence = hoveredSequenceKey && _oscCache.sequences[hoveredSequenceKey]; + var hoveredImageKeys = (hoveredSequence && hoveredSequence.images.map(function (d) { return d.key; })) || []; + + var viewer = select('#photoviewer'); + var selected = viewer.empty() ? undefined : viewer.datum(); + var selectedImageKey = selected && selected.key; + var selectedSequenceKey = this.getSequenceKeyForImage(selected); + var selectedSequence = selectedSequenceKey && _oscCache.sequences[selectedSequenceKey]; + var selectedImageKeys = (selectedSequence && selectedSequence.images.map(function (d) { return d.key; })) || []; + + // highlight sibling viewfields on either the selected or the hovered sequences + var highlightedImageKeys = union(hoveredImageKeys, selectedImageKeys); + + d3_selectAll('.layer-openstreetcam-images .viewfield-group') + .classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; }) + .classed('hovered', function(d) { return d.key === hoveredImageKey; }) + .classed('selected', function(d) { return d.key === selectedImageKey; }); + + d3_selectAll('.layer-openstreetcam-images .sequence') + .classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; }) + .classed('selected', function(d) { return d.properties.key === selectedSequenceKey; }); + + // update viewfields if needed + d3_selectAll('.viewfield-group .viewfield') + .attr('d', viewfieldPath); + + function viewfieldPath() { + var d = this.parentNode.__data__; + if (d.pano && d.key !== selectedImageKey) { + return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0'; + } else { + return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z'; + } + } + + return this; + }, + + + cache: function() { + return _oscCache; + } + + }; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeCeil = Math.ceil, + nativeMax$4 = Math.max; + + /** + * Creates an array of elements split into groups the length of `size`. + * 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 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']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax$4(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; + } + + var hashes = createCommonjsModule(function (module, exports) { + /** + * jshashes - https://github.com/h2non/jshashes + * Released under the "New BSD" license + * + * Algorithms specification: + * + * MD5 - http://www.ietf.org/rfc/rfc1321.txt + * RIPEMD-160 - http://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * SHA1 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf + * SHA256 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf + * SHA512 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf + * HMAC - http://www.ietf.org/rfc/rfc2104.txt + */ + (function() { + var Hashes; + + function utf8Encode(str) { + var x, y, output = '', + i = -1, + l; + + if (str && str.length) { + l = str.length; + while ((i += 1) < l) { + /* Decode utf-16 surrogate pairs */ + x = str.charCodeAt(i); + y = i + 1 < l ? str.charCodeAt(i + 1) : 0; + if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) { + x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF); + i += 1; + } + /* Encode output as utf-8 */ + if (x <= 0x7F) { + output += String.fromCharCode(x); + } else if (x <= 0x7FF) { + output += String.fromCharCode(0xC0 | ((x >>> 6) & 0x1F), + 0x80 | (x & 0x3F)); + } else if (x <= 0xFFFF) { + output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F), + 0x80 | ((x >>> 6) & 0x3F), + 0x80 | (x & 0x3F)); + } else if (x <= 0x1FFFFF) { + output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07), + 0x80 | ((x >>> 12) & 0x3F), + 0x80 | ((x >>> 6) & 0x3F), + 0x80 | (x & 0x3F)); + } + } + } + return output; + } + + function utf8Decode(str) { + var i, ac, c1, c2, c3, arr = [], + l; + i = ac = c1 = c2 = c3 = 0; + + if (str && str.length) { + l = str.length; + str += ''; + + while (i < l) { + c1 = str.charCodeAt(i); + ac += 1; + if (c1 < 128) { + arr[ac] = String.fromCharCode(c1); + i += 1; + } else if (c1 > 191 && c1 < 224) { + c2 = str.charCodeAt(i + 1); + arr[ac] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63)); + i += 2; + } else { + c2 = str.charCodeAt(i + 1); + c3 = str.charCodeAt(i + 2); + arr[ac] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + } + } + return arr.join(''); + } + + /** + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ + + function safe_add(x, y) { + var lsw = (x & 0xFFFF) + (y & 0xFFFF), + msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); + } + + /** + * Bitwise rotate a 32-bit number to the left. + */ + + function bit_rol(num, cnt) { + return (num << cnt) | (num >>> (32 - cnt)); + } + + /** + * Convert a raw string to a hex string + */ + + function rstr2hex(input, hexcase) { + var hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef', + output = '', + x, i = 0, + l = input.length; + for (; i < l; i += 1) { + x = input.charCodeAt(i); + output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F); + } + return output; + } + + /** + * Convert an array of big-endian words to a string + */ + + function binb2rstr(input) { + var i, l = input.length * 32, + output = ''; + for (i = 0; i < l; i += 8) { + output += String.fromCharCode((input[i >> 5] >>> (24 - i % 32)) & 0xFF); + } + return output; + } + + /** + * Convert an array of little-endian words to a string + */ + + function binl2rstr(input) { + var i, l = input.length * 32, + output = ''; + for (i = 0; i < l; i += 8) { + output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF); + } + return output; + } + + /** + * Convert a raw string to an array of little-endian words + * Characters >255 have their high-byte silently ignored. + */ + + function rstr2binl(input) { + var i, l = input.length * 8, + output = Array(input.length >> 2), + lo = output.length; + for (i = 0; i < lo; i += 1) { + output[i] = 0; + } + for (i = 0; i < l; i += 8) { + output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32); + } + return output; + } + + /** + * Convert a raw string to an array of big-endian words + * Characters >255 have their high-byte silently ignored. + */ + + function rstr2binb(input) { + var i, l = input.length * 8, + output = Array(input.length >> 2), + lo = output.length; + for (i = 0; i < lo; i += 1) { + output[i] = 0; + } + for (i = 0; i < l; i += 8) { + output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32); + } + return output; + } + + /** + * Convert a raw string to an arbitrary string encoding + */ + + function rstr2any(input, encoding) { + var divisor = encoding.length, + remainders = Array(), + i, q, x, ld, quotient, dividend, output, full_length; + + /* Convert to an array of 16-bit big-endian values, forming the dividend */ + dividend = Array(Math.ceil(input.length / 2)); + ld = dividend.length; + for (i = 0; i < ld; i += 1) { + dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1); + } + + /** + * Repeatedly perform a long division. The binary array forms the dividend, + * the length of the encoding is the divisor. Once computed, the quotient + * forms the dividend for the next step. We stop when the dividend is zerHashes. + * All remainders are stored for later use. + */ + while (dividend.length > 0) { + quotient = Array(); + x = 0; + for (i = 0; i < dividend.length; i += 1) { + x = (x << 16) + dividend[i]; + q = Math.floor(x / divisor); + x -= q * divisor; + if (quotient.length > 0 || q > 0) { + quotient[quotient.length] = q; + } + } + remainders[remainders.length] = x; + dividend = quotient; + } + + /* Convert the remainders to the output string */ + output = ''; + for (i = remainders.length - 1; i >= 0; i--) { + output += encoding.charAt(remainders[i]); + } + + /* Append leading zero equivalents */ + full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2))); + for (i = output.length; i < full_length; i += 1) { + output = encoding[0] + output; + } + return output; + } + + /** + * Convert a raw string to a base-64 string + */ + + function rstr2b64(input, b64pad) { + var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', + output = '', + len = input.length, + i, j, triplet; + b64pad = b64pad || '='; + for (i = 0; i < len; i += 3) { + triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0); + for (j = 0; j < 4; j += 1) { + if (i * 8 + j * 6 > input.length * 8) { + output += b64pad; + } else { + output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F); + } + } + } + return output; + } + + Hashes = { + /** + * @property {String} version + * @readonly + */ + VERSION: '1.0.6', + /** + * @member Hashes + * @class Base64 + * @constructor + */ + Base64: function() { + // private properties + var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', + pad = '=', // default pad according with the RFC standard + utf8 = true; // by default enable UTF-8 support encoding + + // public method for encoding + this.encode = function(input) { + var i, j, triplet, + output = '', + len = input.length; + + pad = pad || '='; + input = (utf8) ? utf8Encode(input) : input; + + for (i = 0; i < len; i += 3) { + triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0); + for (j = 0; j < 4; j += 1) { + if (i * 8 + j * 6 > len * 8) { + output += pad; + } else { + output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F); + } + } + } + return output; + }; + + // public method for decoding + this.decode = function(input) { + // var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + var i, o1, o2, o3, h1, h2, h3, h4, bits, ac, + dec = '', + arr = []; + if (!input) { + return input; + } + + i = ac = 0; + input = input.replace(new RegExp('\\' + pad, 'gi'), ''); // use '=' + //input += ''; + + do { // unpack four hexets into three octets using index points in b64 + h1 = tab.indexOf(input.charAt(i += 1)); + h2 = tab.indexOf(input.charAt(i += 1)); + h3 = tab.indexOf(input.charAt(i += 1)); + h4 = tab.indexOf(input.charAt(i += 1)); + + bits = h1 << 18 | h2 << 12 | h3 << 6 | h4; + + o1 = bits >> 16 & 0xff; + o2 = bits >> 8 & 0xff; + o3 = bits & 0xff; + ac += 1; + + if (h3 === 64) { + arr[ac] = String.fromCharCode(o1); + } else if (h4 === 64) { + arr[ac] = String.fromCharCode(o1, o2); + } else { + arr[ac] = String.fromCharCode(o1, o2, o3); + } + } while (i < input.length); + + dec = arr.join(''); + dec = (utf8) ? utf8Decode(dec) : dec; + + return dec; + }; + + // set custom pad string + this.setPad = function(str) { + pad = str || pad; + return this; + }; + // set custom tab string characters + this.setTab = function(str) { + tab = str || tab; + return this; + }; + this.setUTF8 = function(bool) { + if (typeof bool === 'boolean') { + utf8 = bool; + } + return this; + }; + }, + + /** + * CRC-32 calculation + * @member Hashes + * @method CRC32 + * @static + * @param {String} str Input String + * @return {String} + */ + CRC32: function(str) { + var crc = 0, + x = 0, + y = 0, + table, i, iTop; + str = utf8Encode(str); + + table = [ + '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 ', + '79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 ', + '84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F ', + '63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD ', + 'A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC ', + '51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 ', + 'B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 ', + '06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 ', + 'E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 ', + '12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 ', + 'D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 ', + '33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 ', + 'CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 ', + '9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E ', + '7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D ', + '806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 ', + '60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA ', + 'AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 ', + '5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 ', + 'B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 ', + '05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 ', + 'F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA ', + '11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 ', + 'D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F ', + '30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E ', + 'C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D' + ].join(''); + + crc = crc ^ (-1); + for (i = 0, iTop = str.length; i < iTop; i += 1) { + y = (crc ^ str.charCodeAt(i)) & 0xFF; + x = '0x' + table.substr(y * 9, 8); + crc = (crc >>> 8) ^ x; + } + // always return a positive number (that's what >>> 0 does) + return (crc ^ (-1)) >>> 0; + }, + /** + * @member Hashes + * @class MD5 + * @constructor + * @param {Object} [config] + * + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * See for more infHashes. + */ + MD5: function(options) { + /** + * Private config properties. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase} + */ + var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase + b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance + utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding + + // privileged (public) methods + this.hex = function(s) { + return rstr2hex(rstr(s, utf8), hexcase); + }; + this.b64 = function(s) { + return rstr2b64(rstr(s), b64pad); + }; + this.any = function(s, e) { + return rstr2any(rstr(s, utf8), e); + }; + this.raw = function(s) { + return rstr(s, utf8); + }; + this.hex_hmac = function(k, d) { + return rstr2hex(rstr_hmac(k, d), hexcase); + }; + this.b64_hmac = function(k, d) { + return rstr2b64(rstr_hmac(k, d), b64pad); + }; + this.any_hmac = function(k, d, e) { + return rstr2any(rstr_hmac(k, d), e); + }; + /** + * Perform a simple self-test to see if the VM is working + * @return {String} Hexadecimal hash sample + */ + this.vm_test = function() { + return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; + }; + /** + * Enable/disable uppercase hexadecimal returned string + * @param {Boolean} + * @return {Object} this + */ + this.setUpperCase = function(a) { + if (typeof a === 'boolean') { + hexcase = a; + } + return this; + }; + /** + * Defines a base64 pad string + * @param {String} Pad + * @return {Object} this + */ + this.setPad = function(a) { + b64pad = a || b64pad; + return this; + }; + /** + * Defines a base64 pad string + * @param {Boolean} + * @return {Object} [this] + */ + this.setUTF8 = function(a) { + if (typeof a === 'boolean') { + utf8 = a; + } + return this; + }; + + // private methods + + /** + * Calculate the MD5 of a raw string + */ + + function rstr(s) { + s = (utf8) ? utf8Encode(s) : s; + return binl2rstr(binl(rstr2binl(s), s.length * 8)); + } + + /** + * Calculate the HMAC-MD5, of a key and some data (raw strings) + */ + + function rstr_hmac(key, data) { + var bkey, ipad, opad, hash, i; + + key = (utf8) ? utf8Encode(key) : key; + data = (utf8) ? utf8Encode(data) : data; + bkey = rstr2binl(key); + if (bkey.length > 16) { + bkey = binl(bkey, key.length * 8); + } + + ipad = Array(16), opad = Array(16); + for (i = 0; i < 16; i += 1) { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8); + return binl2rstr(binl(opad.concat(hash), 512 + 128)); + } + + /** + * Calculate the MD5 of an array of little-endian words, and a bit length. + */ + + function binl(x, len) { + var i, olda, oldb, oldc, oldd, + a = 1732584193, + b = -271733879, + c = -1732584194, + d = 271733878; + + /* append padding */ + x[len >> 5] |= 0x80 << ((len) % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + + for (i = 0; i < x.length; i += 16) { + olda = a; + oldb = b; + oldc = c; + oldd = d; + + a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936); + d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5_ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329); + + a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302); + a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734); + + a = md5_hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222); + c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651); + + a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844); + d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551); + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + } + return Array(a, b, c, d); + } + + /** + * These functions implement the four basic operations the algorithm uses. + */ + + function md5_cmn(q, a, b, x, s, t) { + return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b); + } + + function md5_ff(a, b, c, d, x, s, t) { + return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); + } + + function md5_gg(a, b, c, d, x, s, t) { + return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); + } + + function md5_hh(a, b, c, d, x, s, t) { + return md5_cmn(b ^ c ^ d, a, b, x, s, t); + } + + function md5_ii(a, b, c, d, x, s, t) { + return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); + } + }, + /** + * @member Hashes + * @class Hashes.SHA1 + * @param {Object} [config] + * @constructor + * + * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1 + * Version 2.2 Copyright Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * See http://pajhome.org.uk/crypt/md5 for details. + */ + SHA1: function(options) { + /** + * Private config properties. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase} + */ + var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase + b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance + utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding + + // public methods + this.hex = function(s) { + return rstr2hex(rstr(s, utf8), hexcase); + }; + this.b64 = function(s) { + return rstr2b64(rstr(s, utf8), b64pad); + }; + this.any = function(s, e) { + return rstr2any(rstr(s, utf8), e); + }; + this.raw = function(s) { + return rstr(s, utf8); + }; + this.hex_hmac = function(k, d) { + return rstr2hex(rstr_hmac(k, d)); + }; + this.b64_hmac = function(k, d) { + return rstr2b64(rstr_hmac(k, d), b64pad); + }; + this.any_hmac = function(k, d, e) { + return rstr2any(rstr_hmac(k, d), e); + }; + /** + * Perform a simple self-test to see if the VM is working + * @return {String} Hexadecimal hash sample + * @public + */ + this.vm_test = function() { + return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; + }; + /** + * @description Enable/disable uppercase hexadecimal returned string + * @param {boolean} + * @return {Object} this + * @public + */ + this.setUpperCase = function(a) { + if (typeof a === 'boolean') { + hexcase = a; + } + return this; + }; + /** + * @description Defines a base64 pad string + * @param {string} Pad + * @return {Object} this + * @public + */ + this.setPad = function(a) { + b64pad = a || b64pad; + return this; + }; + /** + * @description Defines a base64 pad string + * @param {boolean} + * @return {Object} this + * @public + */ + this.setUTF8 = function(a) { + if (typeof a === 'boolean') { + utf8 = a; + } + return this; + }; + + // private methods + + /** + * Calculate the SHA-512 of a raw string + */ + + function rstr(s) { + s = (utf8) ? utf8Encode(s) : s; + return binb2rstr(binb(rstr2binb(s), s.length * 8)); + } + + /** + * Calculate the HMAC-SHA1 of a key and some data (raw strings) + */ + + function rstr_hmac(key, data) { + var bkey, ipad, opad, i, hash; + key = (utf8) ? utf8Encode(key) : key; + data = (utf8) ? utf8Encode(data) : data; + bkey = rstr2binb(key); + + if (bkey.length > 16) { + bkey = binb(bkey, key.length * 8); + } + ipad = Array(16), opad = Array(16); + for (i = 0; i < 16; i += 1) { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8); + return binb2rstr(binb(opad.concat(hash), 512 + 160)); + } + + /** + * Calculate the SHA-1 of an array of big-endian words, and a bit length + */ + + function binb(x, len) { + var i, j, t, olda, oldb, oldc, oldd, olde, + w = Array(80), + a = 1732584193, + b = -271733879, + c = -1732584194, + d = 271733878, + e = -1009589776; + + /* append padding */ + x[len >> 5] |= 0x80 << (24 - len % 32); + x[((len + 64 >> 9) << 4) + 15] = len; + + for (i = 0; i < x.length; i += 16) { + olda = a; + oldb = b; + oldc = c; + oldd = d; + olde = e; + + for (j = 0; j < 80; j += 1) { + if (j < 16) { + w[j] = x[i + j]; + } else { + w[j] = bit_rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1); + } + t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)), + safe_add(safe_add(e, w[j]), sha1_kt(j))); + e = d; + d = c; + c = bit_rol(b, 30); + b = a; + a = t; + } + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + e = safe_add(e, olde); + } + return Array(a, b, c, d, e); + } + + /** + * Perform the appropriate triplet combination function for the current + * iteration + */ + + function sha1_ft(t, b, c, d) { + if (t < 20) { + return (b & c) | ((~b) & d); + } + if (t < 40) { + return b ^ c ^ d; + } + if (t < 60) { + return (b & c) | (b & d) | (c & d); + } + return b ^ c ^ d; + } + + /** + * Determine the appropriate additive constant for the current iteration + */ + + function sha1_kt(t) { + return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : + (t < 60) ? -1894007588 : -899497514; + } + }, + /** + * @class Hashes.SHA256 + * @param {config} + * + * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined in FIPS 180-2 + * Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * See http://pajhome.org.uk/crypt/md5 for details. + * Also http://anmar.eu.org/projects/jssha2/ + */ + SHA256: function(options) { + /** + * Private properties configuration variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + * @see this.setUpperCase() method + * @see this.setPad() method + */ + var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase */ + b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', + /* base-64 pad character. Default '=' for strict RFC compliance */ + utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, + /* enable/disable utf8 encoding */ + sha256_K; + + /* privileged (public) methods */ + this.hex = function(s) { + return rstr2hex(rstr(s, utf8)); + }; + this.b64 = function(s) { + return rstr2b64(rstr(s, utf8), b64pad); + }; + this.any = function(s, e) { + return rstr2any(rstr(s, utf8), e); + }; + this.raw = function(s) { + return rstr(s, utf8); + }; + this.hex_hmac = function(k, d) { + return rstr2hex(rstr_hmac(k, d)); + }; + this.b64_hmac = function(k, d) { + return rstr2b64(rstr_hmac(k, d), b64pad); + }; + this.any_hmac = function(k, d, e) { + return rstr2any(rstr_hmac(k, d), e); + }; + /** + * Perform a simple self-test to see if the VM is working + * @return {String} Hexadecimal hash sample + * @public + */ + this.vm_test = function() { + return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; + }; + /** + * Enable/disable uppercase hexadecimal returned string + * @param {boolean} + * @return {Object} this + * @public + */ + this.setUpperCase = function(a) { + if (typeof a === 'boolean') { + hexcase = a; + } + return this; + }; + /** + * @description Defines a base64 pad string + * @param {string} Pad + * @return {Object} this + * @public + */ + this.setPad = function(a) { + b64pad = a || b64pad; + return this; + }; + /** + * Defines a base64 pad string + * @param {boolean} + * @return {Object} this + * @public + */ + this.setUTF8 = function(a) { + if (typeof a === 'boolean') { + utf8 = a; + } + return this; + }; + + // private methods + + /** + * Calculate the SHA-512 of a raw string + */ + + function rstr(s, utf8) { + s = (utf8) ? utf8Encode(s) : s; + return binb2rstr(binb(rstr2binb(s), s.length * 8)); + } + + /** + * Calculate the HMAC-sha256 of a key and some data (raw strings) + */ + + function rstr_hmac(key, data) { + key = (utf8) ? utf8Encode(key) : key; + data = (utf8) ? utf8Encode(data) : data; + var hash, i = 0, + bkey = rstr2binb(key), + ipad = Array(16), + opad = Array(16); + + if (bkey.length > 16) { + bkey = binb(bkey, key.length * 8); + } + + for (; i < 16; i += 1) { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8); + return binb2rstr(binb(opad.concat(hash), 512 + 256)); + } + + /* + * Main sha256 function, with its support functions + */ + + function sha256_S(X, n) { + return (X >>> n) | (X << (32 - n)); + } + + function sha256_R(X, n) { + return (X >>> n); + } + + function sha256_Ch(x, y, z) { + return ((x & y) ^ ((~x) & z)); + } + + function sha256_Maj(x, y, z) { + return ((x & y) ^ (x & z) ^ (y & z)); + } + + function sha256_Sigma0256(x) { + return (sha256_S(x, 2) ^ sha256_S(x, 13) ^ sha256_S(x, 22)); + } + + function sha256_Sigma1256(x) { + return (sha256_S(x, 6) ^ sha256_S(x, 11) ^ sha256_S(x, 25)); + } + + function sha256_Gamma0256(x) { + return (sha256_S(x, 7) ^ sha256_S(x, 18) ^ sha256_R(x, 3)); + } + + function sha256_Gamma1256(x) { + return (sha256_S(x, 17) ^ sha256_S(x, 19) ^ sha256_R(x, 10)); + } + + sha256_K = [ + 1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993, -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987, + 1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522, + 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585, + 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, + 1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885, -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344, + 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, + 1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872, -1866530822, -1538233109, -1090935817, -965641998 + ]; + + function binb(m, l) { + var HASH = [1779033703, -1150833019, 1013904242, -1521486534, + 1359893119, -1694144372, 528734635, 1541459225 + ]; + var W = new Array(64); + var a, b, c, d, e, f, g, h; + var i, j, T1, T2; + + /* append padding */ + m[l >> 5] |= 0x80 << (24 - l % 32); + m[((l + 64 >> 9) << 4) + 15] = l; + + for (i = 0; i < m.length; i += 16) { + a = HASH[0]; + b = HASH[1]; + c = HASH[2]; + d = HASH[3]; + e = HASH[4]; + f = HASH[5]; + g = HASH[6]; + h = HASH[7]; + + for (j = 0; j < 64; j += 1) { + if (j < 16) { + W[j] = m[j + i]; + } else { + W[j] = safe_add(safe_add(safe_add(sha256_Gamma1256(W[j - 2]), W[j - 7]), + sha256_Gamma0256(W[j - 15])), W[j - 16]); + } + + T1 = safe_add(safe_add(safe_add(safe_add(h, sha256_Sigma1256(e)), sha256_Ch(e, f, g)), + sha256_K[j]), W[j]); + T2 = safe_add(sha256_Sigma0256(a), sha256_Maj(a, b, c)); + h = g; + g = f; + f = e; + e = safe_add(d, T1); + d = c; + c = b; + b = a; + a = safe_add(T1, T2); + } + + HASH[0] = safe_add(a, HASH[0]); + HASH[1] = safe_add(b, HASH[1]); + HASH[2] = safe_add(c, HASH[2]); + HASH[3] = safe_add(d, HASH[3]); + HASH[4] = safe_add(e, HASH[4]); + HASH[5] = safe_add(f, HASH[5]); + HASH[6] = safe_add(g, HASH[6]); + HASH[7] = safe_add(h, HASH[7]); + } + return HASH; + } + + }, + + /** + * @class Hashes.SHA512 + * @param {config} + * + * A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined in FIPS 180-2 + * Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * See http://pajhome.org.uk/crypt/md5 for details. + */ + SHA512: function(options) { + /** + * Private properties configuration variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + * @see this.setUpperCase() method + * @see this.setPad() method + */ + var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, + /* hexadecimal output case format. false - lowercase; true - uppercase */ + b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', + /* base-64 pad character. Default '=' for strict RFC compliance */ + utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, + /* enable/disable utf8 encoding */ + sha512_k; + + /* privileged (public) methods */ + this.hex = function(s) { + return rstr2hex(rstr(s)); + }; + this.b64 = function(s) { + return rstr2b64(rstr(s), b64pad); + }; + this.any = function(s, e) { + return rstr2any(rstr(s), e); + }; + this.raw = function(s) { + return rstr(s, utf8); + }; + this.hex_hmac = function(k, d) { + return rstr2hex(rstr_hmac(k, d)); + }; + this.b64_hmac = function(k, d) { + return rstr2b64(rstr_hmac(k, d), b64pad); + }; + this.any_hmac = function(k, d, e) { + return rstr2any(rstr_hmac(k, d), e); + }; + /** + * Perform a simple self-test to see if the VM is working + * @return {String} Hexadecimal hash sample + * @public + */ + this.vm_test = function() { + return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; + }; + /** + * @description Enable/disable uppercase hexadecimal returned string + * @param {boolean} + * @return {Object} this + * @public + */ + this.setUpperCase = function(a) { + if (typeof a === 'boolean') { + hexcase = a; + } + return this; + }; + /** + * @description Defines a base64 pad string + * @param {string} Pad + * @return {Object} this + * @public + */ + this.setPad = function(a) { + b64pad = a || b64pad; + return this; + }; + /** + * @description Defines a base64 pad string + * @param {boolean} + * @return {Object} this + * @public + */ + this.setUTF8 = function(a) { + if (typeof a === 'boolean') { + utf8 = a; + } + return this; + }; + + /* private methods */ + + /** + * Calculate the SHA-512 of a raw string + */ + + function rstr(s) { + s = (utf8) ? utf8Encode(s) : s; + return binb2rstr(binb(rstr2binb(s), s.length * 8)); + } + /* + * Calculate the HMAC-SHA-512 of a key and some data (raw strings) + */ + + function rstr_hmac(key, data) { + key = (utf8) ? utf8Encode(key) : key; + data = (utf8) ? utf8Encode(data) : data; + + var hash, i = 0, + bkey = rstr2binb(key), + ipad = Array(32), + opad = Array(32); + + if (bkey.length > 32) { + bkey = binb(bkey, key.length * 8); + } + + for (; i < 32; i += 1) { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + hash = binb(ipad.concat(rstr2binb(data)), 1024 + data.length * 8); + return binb2rstr(binb(opad.concat(hash), 1024 + 512)); + } + + /** + * Calculate the SHA-512 of an array of big-endian dwords, and a bit length + */ + + function binb(x, len) { + var j, i, l, + W = new Array(80), + hash = new Array(16), + //Initial hash values + H = [ + new int64(0x6a09e667, -205731576), + new int64(-1150833019, -2067093701), + new int64(0x3c6ef372, -23791573), + new int64(-1521486534, 0x5f1d36f1), + new int64(0x510e527f, -1377402159), + new int64(-1694144372, 0x2b3e6c1f), + new int64(0x1f83d9ab, -79577749), + new int64(0x5be0cd19, 0x137e2179) + ], + T1 = new int64(0, 0), + T2 = new int64(0, 0), + a = new int64(0, 0), + b = new int64(0, 0), + c = new int64(0, 0), + d = new int64(0, 0), + e = new int64(0, 0), + f = new int64(0, 0), + g = new int64(0, 0), + h = new int64(0, 0), + //Temporary variables not specified by the document + s0 = new int64(0, 0), + s1 = new int64(0, 0), + Ch = new int64(0, 0), + Maj = new int64(0, 0), + r1 = new int64(0, 0), + r2 = new int64(0, 0), + r3 = new int64(0, 0); + + if (sha512_k === undefined) { + //SHA512 constants + sha512_k = [ + new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd), + new int64(-1245643825, -330482897), new int64(-373957723, -2121671748), + new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031), + new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736), + new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe), + new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302), + new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1), + new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428), + new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3), + new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65), + new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483), + new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459), + new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210), + new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340), + new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395), + new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70), + new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926), + new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473), + new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8), + new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b), + new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023), + new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30), + new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910), + new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8), + new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53), + new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016), + new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893), + new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397), + new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60), + new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec), + new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047), + new int64(-1090935817, -1295615723), new int64(-965641998, -479046869), + new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207), + new int64(-354779690, -840897762), new int64(-176337025, -294727304), + new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026), + new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b), + new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493), + new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620), + new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430), + new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817) + ]; + } + + for (i = 0; i < 80; i += 1) { + W[i] = new int64(0, 0); + } + + // append padding to the source string. The format is described in the FIPS. + x[len >> 5] |= 0x80 << (24 - (len & 0x1f)); + x[((len + 128 >> 10) << 5) + 31] = len; + l = x.length; + for (i = 0; i < l; i += 32) { //32 dwords is the block size + int64copy(a, H[0]); + int64copy(b, H[1]); + int64copy(c, H[2]); + int64copy(d, H[3]); + int64copy(e, H[4]); + int64copy(f, H[5]); + int64copy(g, H[6]); + int64copy(h, H[7]); + + for (j = 0; j < 16; j += 1) { + W[j].h = x[i + 2 * j]; + W[j].l = x[i + 2 * j + 1]; + } + + for (j = 16; j < 80; j += 1) { + //sigma1 + int64rrot(r1, W[j - 2], 19); + int64revrrot(r2, W[j - 2], 29); + int64shr(r3, W[j - 2], 6); + s1.l = r1.l ^ r2.l ^ r3.l; + s1.h = r1.h ^ r2.h ^ r3.h; + //sigma0 + int64rrot(r1, W[j - 15], 1); + int64rrot(r2, W[j - 15], 8); + int64shr(r3, W[j - 15], 7); + s0.l = r1.l ^ r2.l ^ r3.l; + s0.h = r1.h ^ r2.h ^ r3.h; + + int64add4(W[j], s1, W[j - 7], s0, W[j - 16]); + } + + for (j = 0; j < 80; j += 1) { + //Ch + Ch.l = (e.l & f.l) ^ (~e.l & g.l); + Ch.h = (e.h & f.h) ^ (~e.h & g.h); + + //Sigma1 + int64rrot(r1, e, 14); + int64rrot(r2, e, 18); + int64revrrot(r3, e, 9); + s1.l = r1.l ^ r2.l ^ r3.l; + s1.h = r1.h ^ r2.h ^ r3.h; + + //Sigma0 + int64rrot(r1, a, 28); + int64revrrot(r2, a, 2); + int64revrrot(r3, a, 7); + s0.l = r1.l ^ r2.l ^ r3.l; + s0.h = r1.h ^ r2.h ^ r3.h; + + //Maj + Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l); + Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h); + + int64add5(T1, h, s1, Ch, sha512_k[j], W[j]); + int64add(T2, s0, Maj); + + int64copy(h, g); + int64copy(g, f); + int64copy(f, e); + int64add(e, d, T1); + int64copy(d, c); + int64copy(c, b); + int64copy(b, a); + int64add(a, T1, T2); + } + int64add(H[0], H[0], a); + int64add(H[1], H[1], b); + int64add(H[2], H[2], c); + int64add(H[3], H[3], d); + int64add(H[4], H[4], e); + int64add(H[5], H[5], f); + int64add(H[6], H[6], g); + int64add(H[7], H[7], h); + } + + //represent the hash as an array of 32-bit dwords + for (i = 0; i < 8; i += 1) { + hash[2 * i] = H[i].h; + hash[2 * i + 1] = H[i].l; + } + return hash; + } + + //A constructor for 64-bit numbers + + function int64(h, l) { + this.h = h; + this.l = l; + //this.toString = int64toString; + } + + //Copies src into dst, assuming both are 64-bit numbers + + function int64copy(dst, src) { + dst.h = src.h; + dst.l = src.l; + } + + //Right-rotates a 64-bit number by shift + //Won't handle cases of shift>=32 + //The function revrrot() is for that + + function int64rrot(dst, x, shift) { + dst.l = (x.l >>> shift) | (x.h << (32 - shift)); + dst.h = (x.h >>> shift) | (x.l << (32 - shift)); + } + + //Reverses the dwords of the source and then rotates right by shift. + //This is equivalent to rotation by 32+shift + + function int64revrrot(dst, x, shift) { + dst.l = (x.h >>> shift) | (x.l << (32 - shift)); + dst.h = (x.l >>> shift) | (x.h << (32 - shift)); + } + + //Bitwise-shifts right a 64-bit number by shift + //Won't handle shift>=32, but it's never needed in SHA512 + + function int64shr(dst, x, shift) { + dst.l = (x.l >>> shift) | (x.h << (32 - shift)); + dst.h = (x.h >>> shift); + } + + //Adds two 64-bit numbers + //Like the original implementation, does not rely on 32-bit operations + + function int64add(dst, x, y) { + var w0 = (x.l & 0xffff) + (y.l & 0xffff); + var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16); + var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16); + var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16); + dst.l = (w0 & 0xffff) | (w1 << 16); + dst.h = (w2 & 0xffff) | (w3 << 16); + } + + //Same, except with 4 addends. Works faster than adding them one by one. + + function int64add4(dst, a, b, c, d) { + var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff); + var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16); + var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16); + var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16); + dst.l = (w0 & 0xffff) | (w1 << 16); + dst.h = (w2 & 0xffff) | (w3 << 16); + } + + //Same, except with 5 addends + + function int64add5(dst, a, b, c, d, e) { + var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff), + w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16), + w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16), + w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16); + dst.l = (w0 & 0xffff) | (w1 << 16); + dst.h = (w2 & 0xffff) | (w3 << 16); + } + }, + /** + * @class Hashes.RMD160 + * @constructor + * @param {Object} [config] + * + * A JavaScript implementation of the RIPEMD-160 Algorithm + * Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * See http://pajhome.org.uk/crypt/md5 for details. + * Also http://www.ocf.berkeley.edu/~jjlin/jsotp/ + */ + RMD160: function(options) { + /** + * Private properties configuration variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + * @see this.setUpperCase() method + * @see this.setPad() method + */ + var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, + /* hexadecimal output case format. false - lowercase; true - uppercase */ + b64pad = (options && typeof options.pad === 'string') ? options.pa : '=', + /* base-64 pad character. Default '=' for strict RFC compliance */ + utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, + /* enable/disable utf8 encoding */ + rmd160_r1 = [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 + ], + rmd160_r2 = [ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 + ], + rmd160_s1 = [ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 + ], + rmd160_s2 = [ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 + ]; + + /* privileged (public) methods */ + this.hex = function(s) { + return rstr2hex(rstr(s, utf8)); + }; + this.b64 = function(s) { + return rstr2b64(rstr(s, utf8), b64pad); + }; + this.any = function(s, e) { + return rstr2any(rstr(s, utf8), e); + }; + this.raw = function(s) { + return rstr(s, utf8); + }; + this.hex_hmac = function(k, d) { + return rstr2hex(rstr_hmac(k, d)); + }; + this.b64_hmac = function(k, d) { + return rstr2b64(rstr_hmac(k, d), b64pad); + }; + this.any_hmac = function(k, d, e) { + return rstr2any(rstr_hmac(k, d), e); + }; + /** + * Perform a simple self-test to see if the VM is working + * @return {String} Hexadecimal hash sample + * @public + */ + this.vm_test = function() { + return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72'; + }; + /** + * @description Enable/disable uppercase hexadecimal returned string + * @param {boolean} + * @return {Object} this + * @public + */ + this.setUpperCase = function(a) { + if (typeof a === 'boolean') { + hexcase = a; + } + return this; + }; + /** + * @description Defines a base64 pad string + * @param {string} Pad + * @return {Object} this + * @public + */ + this.setPad = function(a) { + if (typeof a !== 'undefined') { + b64pad = a; + } + return this; + }; + /** + * @description Defines a base64 pad string + * @param {boolean} + * @return {Object} this + * @public + */ + this.setUTF8 = function(a) { + if (typeof a === 'boolean') { + utf8 = a; + } + return this; + }; + + /* private methods */ + + /** + * Calculate the rmd160 of a raw string + */ + + function rstr(s) { + s = (utf8) ? utf8Encode(s) : s; + return binl2rstr(binl(rstr2binl(s), s.length * 8)); + } + + /** + * Calculate the HMAC-rmd160 of a key and some data (raw strings) + */ + + function rstr_hmac(key, data) { + key = (utf8) ? utf8Encode(key) : key; + data = (utf8) ? utf8Encode(data) : data; + var i, hash, + bkey = rstr2binl(key), + ipad = Array(16), + opad = Array(16); + + if (bkey.length > 16) { + bkey = binl(bkey, key.length * 8); + } + + for (i = 0; i < 16; i += 1) { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8); + return binl2rstr(binl(opad.concat(hash), 512 + 160)); + } + + /** + * Convert an array of little-endian words to a string + */ + + function binl2rstr(input) { + var i, output = '', + l = input.length * 32; + for (i = 0; i < l; i += 8) { + output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF); + } + return output; + } + + /** + * Calculate the RIPE-MD160 of an array of little-endian words, and a bit length. + */ + + function binl(x, len) { + var T, j, i, l, + h0 = 0x67452301, + h1 = 0xefcdab89, + h2 = 0x98badcfe, + h3 = 0x10325476, + h4 = 0xc3d2e1f0, + A1, B1, C1, D1, E1, + A2, B2, C2, D2, E2; + + /* append padding */ + x[len >> 5] |= 0x80 << (len % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + l = x.length; + + for (i = 0; i < l; i += 16) { + A1 = A2 = h0; + B1 = B2 = h1; + C1 = C2 = h2; + D1 = D2 = h3; + E1 = E2 = h4; + for (j = 0; j <= 79; j += 1) { + T = safe_add(A1, rmd160_f(j, B1, C1, D1)); + T = safe_add(T, x[i + rmd160_r1[j]]); + T = safe_add(T, rmd160_K1(j)); + T = safe_add(bit_rol(T, rmd160_s1[j]), E1); + A1 = E1; + E1 = D1; + D1 = bit_rol(C1, 10); + C1 = B1; + B1 = T; + T = safe_add(A2, rmd160_f(79 - j, B2, C2, D2)); + T = safe_add(T, x[i + rmd160_r2[j]]); + T = safe_add(T, rmd160_K2(j)); + T = safe_add(bit_rol(T, rmd160_s2[j]), E2); + A2 = E2; + E2 = D2; + D2 = bit_rol(C2, 10); + C2 = B2; + B2 = T; + } + + T = safe_add(h1, safe_add(C1, D2)); + h1 = safe_add(h2, safe_add(D1, E2)); + h2 = safe_add(h3, safe_add(E1, A2)); + h3 = safe_add(h4, safe_add(A1, B2)); + h4 = safe_add(h0, safe_add(B1, C2)); + h0 = T; + } + return [h0, h1, h2, h3, h4]; + } + + // specific algorithm methods + + function rmd160_f(j, x, y, z) { + return (0 <= j && j <= 15) ? (x ^ y ^ z) : + (16 <= j && j <= 31) ? (x & y) | (~x & z) : + (32 <= j && j <= 47) ? (x | ~y) ^ z : + (48 <= j && j <= 63) ? (x & z) | (y & ~z) : + (64 <= j && j <= 79) ? x ^ (y | ~z) : + 'rmd160_f: j out of range'; + } + + function rmd160_K1(j) { + return (0 <= j && j <= 15) ? 0x00000000 : + (16 <= j && j <= 31) ? 0x5a827999 : + (32 <= j && j <= 47) ? 0x6ed9eba1 : + (48 <= j && j <= 63) ? 0x8f1bbcdc : + (64 <= j && j <= 79) ? 0xa953fd4e : + 'rmd160_K1: j out of range'; + } + + function rmd160_K2(j) { + return (0 <= j && j <= 15) ? 0x50a28be6 : + (16 <= j && j <= 31) ? 0x5c4dd124 : + (32 <= j && j <= 47) ? 0x6d703ef3 : + (48 <= j && j <= 63) ? 0x7a6d76e9 : + (64 <= j && j <= 79) ? 0x00000000 : + 'rmd160_K2: j out of range'; + } + } + }; + + // exposes Hashes + (function(window, undefined) { + var freeExports = false; + { + freeExports = exports; + if (exports && typeof commonjsGlobal === 'object' && commonjsGlobal && commonjsGlobal === commonjsGlobal.global) { + window = commonjsGlobal; + } + } + + if (typeof undefined === 'function' && typeof undefined.amd === 'object' && undefined.amd) { + // define as an anonymous module, so, through path mapping, it can be aliased + undefined(function() { + return Hashes; + }); + } else if (freeExports) { + // in Node.js or RingoJS v0.8.0+ + if (module && module.exports === freeExports) { + module.exports = Hashes; + } + // in Narwhal or RingoJS v0.7.0- + else { + freeExports.Hashes = Hashes; + } + } else { + // in a browser or Rhino + window.Hashes = Hashes; + } + }(this)); + }()); // IIFE + }); + + var immutable = extend$2; + + var hasOwnProperty$g = Object.prototype.hasOwnProperty; + + function extend$2() { + var target = {}; + + for (var i = 0; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (hasOwnProperty$g.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target + } + + var sha1 = new hashes.SHA1(); + + var ohauth = {}; + + ohauth.qsString = function(obj) { + return Object.keys(obj).sort().map(function(key) { + return ohauth.percentEncode(key) + '=' + + ohauth.percentEncode(obj[key]); + }).join('&'); + }; + + ohauth.stringQs = function(str) { + return str.split('&').filter(function (pair) { + return pair !== ''; + }).reduce(function(obj, pair){ + var parts = pair.split('='); + obj[decodeURIComponent(parts[0])] = (null === parts[1]) ? + '' : decodeURIComponent(parts[1]); + return obj; + }, {}); + }; + + ohauth.rawxhr = function(method, url, data, headers, callback) { + var xhr = new XMLHttpRequest(), + twoHundred = /^20\d$/; + xhr.onreadystatechange = function() { + if (4 === xhr.readyState && 0 !== xhr.status) { + if (twoHundred.test(xhr.status)) callback(null, xhr); + else return callback(xhr, null); + } + }; + xhr.onerror = function(e) { return callback(e, null); }; + xhr.open(method, url, true); + for (var h in headers) xhr.setRequestHeader(h, headers[h]); + xhr.send(data); + return xhr; + }; + + ohauth.xhr = function(method, url, auth, data, options, callback) { + var headers = (options && options.header) || { + 'Content-Type': 'application/x-www-form-urlencoded' + }; + headers.Authorization = 'OAuth ' + ohauth.authHeader(auth); + return ohauth.rawxhr(method, url, data, headers, callback); + }; + + ohauth.nonce = function() { + for (var o = ''; o.length < 6;) { + o += '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'[Math.floor(Math.random() * 61)]; + } + return o; + }; + + ohauth.authHeader = function(obj) { + return Object.keys(obj).sort().map(function(key) { + return encodeURIComponent(key) + '="' + encodeURIComponent(obj[key]) + '"'; + }).join(', '); + }; + + ohauth.timestamp = function() { return ~~((+new Date()) / 1000); }; + + ohauth.percentEncode = function(s) { + return encodeURIComponent(s) + .replace(/\!/g, '%21').replace(/\'/g, '%27') + .replace(/\*/g, '%2A').replace(/\(/g, '%28').replace(/\)/g, '%29'); + }; + + ohauth.baseString = function(method, url, params) { + if (params.oauth_signature) delete params.oauth_signature; + return [ + method, + ohauth.percentEncode(url), + ohauth.percentEncode(ohauth.qsString(params))].join('&'); + }; + + ohauth.signature = function(oauth_secret, token_secret, baseString) { + return sha1.b64_hmac( + ohauth.percentEncode(oauth_secret) + '&' + + ohauth.percentEncode(token_secret), + baseString); + }; + + /** + * Takes an options object for configuration (consumer_key, + * consumer_secret, version, signature_method, token, token_secret) + * and returns a function that generates the Authorization header + * for given data. + * + * The returned function takes these parameters: + * - method: GET/POST/... + * - uri: full URI with protocol, port, path and query string + * - extra_params: any extra parameters (that are passed in the POST data), + * can be an object or a from-urlencoded string. + * + * Returned function returns full OAuth header with "OAuth" string in it. + */ + + ohauth.headerGenerator = function(options) { + options = options || {}; + var consumer_key = options.consumer_key || '', + consumer_secret = options.consumer_secret || '', + signature_method = options.signature_method || 'HMAC-SHA1', + version = options.version || '1.0', + token = options.token || '', + token_secret = options.token_secret || ''; + + return function(method, uri, extra_params) { + method = method.toUpperCase(); + if (typeof extra_params === 'string' && extra_params.length > 0) { + extra_params = ohauth.stringQs(extra_params); + } + + var uri_parts = uri.split('?', 2), + base_uri = uri_parts[0]; + + var query_params = uri_parts.length === 2 ? + ohauth.stringQs(uri_parts[1]) : {}; + + var oauth_params = { + oauth_consumer_key: consumer_key, + oauth_signature_method: signature_method, + oauth_version: version, + oauth_timestamp: ohauth.timestamp(), + oauth_nonce: ohauth.nonce() + }; + + if (token) oauth_params.oauth_token = token; + + var all_params = immutable({}, oauth_params, query_params, extra_params), + base_str = ohauth.baseString(method, base_uri, all_params); + + oauth_params.oauth_signature = ohauth.signature(consumer_secret, token_secret, base_str); + + return 'OAuth ' + ohauth.authHeader(oauth_params); + }; + }; + + var ohauth_1 = ohauth; + + var resolveUrl = createCommonjsModule(function (module, exports) { + // Copyright 2014 Simon Lydell + // X11 (“MIT”) Licensed. (See LICENSE.) + + void (function(root, factory) { + if (typeof undefined === "function" && undefined.amd) { + undefined(factory); + } else { + module.exports = factory(); + } + }(commonjsGlobal, function() { + + function resolveUrl(/* ...urls */) { + var numUrls = arguments.length; + + if (numUrls === 0) { + throw new Error("resolveUrl requires at least one argument; got none.") + } + + var base = document.createElement("base"); + base.href = arguments[0]; + + if (numUrls === 1) { + return base.href + } + + var head = document.getElementsByTagName("head")[0]; + head.insertBefore(base, head.firstChild); + + var a = document.createElement("a"); + var resolved; + + for (var index = 1; index < numUrls; index++) { + a.href = arguments[index]; + resolved = a.href; + base.href = resolved; + } + + head.removeChild(base); + + return resolved + } + + return resolveUrl + + })); + }); + + var assign$1 = make_assign(); + var create$2 = make_create(); + var trim = make_trim(); + var Global = (typeof window !== 'undefined' ? window : commonjsGlobal); + + var util = { + assign: assign$1, + create: create$2, + trim: trim, + bind: bind, + slice: slice$7, + each: each, + map: map$4, + pluck: pluck, + isList: isList, + isFunction: isFunction$1, + isObject: isObject$1, + Global: Global + }; + + function make_assign() { + if (Object.assign) { + return Object.assign + } else { + return function shimAssign(obj, props1, props2, etc) { + for (var i = 1; i < arguments.length; i++) { + each(Object(arguments[i]), function(val, key) { + obj[key] = val; + }); + } + return obj } - }, - w857: { - id: "w857", - nodes: [ - "n4986", - "n4987", - "n4988", - "n5032", - "n4989", - "n4990", - "n4991", - "n4992", - "n4993", - "n4994", - "n4995", - "n4996", - "n4997", - "n4998", - "n4999", - "n5000", - "n5001", - "n5002", - "n5022", - "n5023", - "n5024", - "n5025", - "n5030", - "n5031", - "n5029", - "n5028", - "n5027", - "n5026", - "n4986" - ], - tags: { - landuse: "farmland" + } + } + + function make_create() { + if (Object.create) { + return function create(obj, assignProps1, assignProps2, etc) { + var assignArgsList = slice$7(arguments, 1); + return assign$1.apply(this, [Object.create(obj)].concat(assignArgsList)) } - }, - w858: { - id: "w858", - nodes: [ - "n5001", - "n5003", - "n5004", - "n4999", - "n5000", - "n5001" - ], - tags: { - natural: "scrub" + } else { + function F() {} // eslint-disable-line no-inner-declarations + return function create(obj, assignProps1, assignProps2, etc) { + var assignArgsList = slice$7(arguments, 1); + F.prototype = obj; + return assign$1.apply(this, [new F()].concat(assignArgsList)) } - }, - w859: { - id: "w859", - nodes: [ - "n5005", - "n5006", - "n5007", - "n5008", - "n5009", - "n5010", - "n5021", - "n5020", - "n5019", - "n5011", - "n5012", - "n5013", - "n5018", - "n5014", - "n5015", - "n5017", - "n5016", - "n5005" - ], - tags: { - landuse: "farmland" + } + } + + function make_trim() { + if (String.prototype.trim) { + return function trim(str) { + return String.prototype.trim.call(str) } - }, - w86: { - id: "w86", - nodes: [ - "n384", - "n385", - "n386", - "n387", - "n384" - ], - tags: { - building: "yes" + } else { + return function trim(str) { + return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '') } - }, - w860: { - id: "w860", - nodes: [ - "n3020", - "n5033", - "n5034", - "n5035", - "n3179", - "n3180", - "n3191", - "n3181", - "n3190", - "n3182", - "n3183", - "n3184", - "n3185", - "n3186", - "n3187", - "n3188", - "n3189", - "n3160", - "n3161", - "n3162", - "n2126", - "n2153", - "n2288", - "n3020" - ], - tags: { - landuse: "industrial" + } + } + + function bind(obj, fn) { + return function() { + return fn.apply(obj, Array.prototype.slice.call(arguments, 0)) + } + } + + function slice$7(arr, index) { + return Array.prototype.slice.call(arr, index || 0) + } + + function each(obj, fn) { + pluck(obj, function(val, key) { + fn(val, key); + return false + }); + } + + function map$4(obj, fn) { + var res = (isList(obj) ? [] : {}); + pluck(obj, function(v, k) { + res[k] = fn(v, k); + return false + }); + return res + } + + function pluck(obj, fn) { + if (isList(obj)) { + for (var i=0; i= 0; i--) { + var key = localStorage$1().key(i); + fn(read(key), key); + } + } + + function remove$2(key) { + return localStorage$1().removeItem(key) + } + + function clearAll() { + return localStorage$1().clear() + } + + // oldFF-globalStorage provides storage for Firefox + // versions 6 and 7, where no localStorage, etc + // is available. + + + var Global$2 = util.Global; + + var oldFFGlobalStorage = { + name: 'oldFF-globalStorage', + read: read$1, + write: write$1, + each: each$3, + remove: remove$3, + clearAll: clearAll$1, + }; + + var globalStorage = Global$2.globalStorage; + + function read$1(key) { + return globalStorage[key] + } + + function write$1(key, data) { + globalStorage[key] = data; + } + + function each$3(fn) { + for (var i = globalStorage.length - 1; i >= 0; i--) { + var key = globalStorage.key(i); + fn(globalStorage[key], key); + } + } + + function remove$3(key) { + return globalStorage.removeItem(key) + } + + function clearAll$1() { + each$3(function(key, _) { + delete globalStorage[key]; + }); + } + + // oldIE-userDataStorage provides storage for Internet Explorer + // versions 6 and 7, where no localStorage, sessionStorage, etc + // is available. + + + var Global$3 = util.Global; + + var oldIEUserDataStorage = { + name: 'oldIE-userDataStorage', + write: write$2, + read: read$2, + each: each$4, + remove: remove$4, + clearAll: clearAll$2, + }; + + var storageName = 'storejs'; + var doc = Global$3.document; + var _withStorageEl = _makeIEStorageElFunction(); + var disable = (Global$3.navigator ? Global$3.navigator.userAgent : '').match(/ (MSIE 8|MSIE 9|MSIE 10)\./); // MSIE 9.x, MSIE 10.x + + function write$2(unfixedKey, data) { + if (disable) { return } + var fixedKey = fixKey(unfixedKey); + _withStorageEl(function(storageEl) { + storageEl.setAttribute(fixedKey, data); + storageEl.save(storageName); + }); + } + + function read$2(unfixedKey) { + if (disable) { return } + var fixedKey = fixKey(unfixedKey); + var res = null; + _withStorageEl(function(storageEl) { + res = storageEl.getAttribute(fixedKey); + }); + return res + } + + function each$4(callback) { + _withStorageEl(function(storageEl) { + var attributes = storageEl.XMLDocument.documentElement.attributes; + for (var i=attributes.length-1; i>=0; i--) { + var attr = attributes[i]; + callback(storageEl.getAttribute(attr.name), attr.name); } - }, - w97: { - id: "w97", - nodes: [ - "n435", - "n912", - "n451", - "n321" - ], - tags: { - highway: "footway" + }); + } + + function remove$4(unfixedKey) { + var fixedKey = fixKey(unfixedKey); + _withStorageEl(function(storageEl) { + storageEl.removeAttribute(fixedKey); + storageEl.save(storageName); + }); + } + + function clearAll$2() { + _withStorageEl(function(storageEl) { + var attributes = storageEl.XMLDocument.documentElement.attributes; + storageEl.load(storageName); + for (var i=attributes.length-1; i>=0; i--) { + storageEl.removeAttribute(attributes[i].name); } - }, - w98: { - id: "w98", - nodes: [ - "n436", - "n319", - "n437", - "n438", - "n439", - "n440", - "n441", - "n476", - "n442" - ], - tags: { - highway: "service" + storageEl.save(storageName); + }); + } + + // Helpers + ////////// + + // In IE7, keys cannot start with a digit or contain certain chars. + // See https://github.com/marcuswestin/store.js/issues/40 + // See https://github.com/marcuswestin/store.js/issues/83 + var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g"); + function fixKey(key) { + return key.replace(/^\d/, '___$&').replace(forbiddenCharsRegex, '___') + } + + function _makeIEStorageElFunction() { + if (!doc || !doc.documentElement || !doc.documentElement.addBehavior) { + return null + } + var scriptTag = 'script', + storageOwner, + storageContainer, + storageEl; + + // Since #userData storage applies only to specific paths, we need to + // somehow link our data to a specific path. We choose /favicon.ico + // as a pretty safe option, since all browsers already make a request to + // this URL anyway and being a 404 will not hurt us here. We wrap an + // iframe pointing to the favicon in an ActiveXObject(htmlfile) object + // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx) + // since the iframe access rules appear to allow direct access and + // manipulation of the document element, even for a 404 page. This + // document can be used instead of the current document (which would + // have been limited to the current path) to perform #userData storage. + try { + /* global ActiveXObject */ + storageContainer = new ActiveXObject('htmlfile'); + storageContainer.open(); + storageContainer.write('<'+scriptTag+'>document.w=window'); + storageContainer.close(); + storageOwner = storageContainer.w.frames[0].document; + storageEl = storageOwner.createElement('div'); + } catch(e) { + // somehow ActiveXObject instantiation failed (perhaps some special + // security settings or otherwse), fall back to per-path storage + storageEl = doc.createElement('div'); + storageOwner = doc.body; + } + + return function(storeFunction) { + var args = [].slice.call(arguments, 0); + args.unshift(storageEl); + // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx + // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx + storageOwner.appendChild(storageEl); + storageEl.addBehavior('#default#userData'); + storageEl.load(storageName); + storeFunction.apply(this, args); + storageOwner.removeChild(storageEl); + return + } + } + + // cookieStorage is useful Safari private browser mode, where localStorage + // doesn't work but cookies do. This implementation is adopted from + // https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage + + + var Global$4 = util.Global; + var trim$1 = util.trim; + + var cookieStorage = { + name: 'cookieStorage', + read: read$3, + write: write$3, + each: each$5, + remove: remove$5, + clearAll: clearAll$3, + }; + + var doc$1 = Global$4.document; + + function read$3(key) { + if (!key || !_has(key)) { return null } + var regexpStr = "(?:^|.*;\\s*)" + + escape(key).replace(/[\-\.\+\*]/g, "\\$&") + + "\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*"; + return unescape(doc$1.cookie.replace(new RegExp(regexpStr), "$1")) + } + + function each$5(callback) { + var cookies = doc$1.cookie.split(/; ?/g); + for (var i = cookies.length - 1; i >= 0; i--) { + if (!trim$1(cookies[i])) { + continue } - }, - w99: { - id: "w99", - nodes: [ - "n443", - "n444", - "n445", - "n446", - "n447", - "n448", - "n449", - "n450", - "n443" - ], - tags: { - amenity: "parking" + var kvp = cookies[i].split('='); + var key = unescape(kvp[0]); + var val = unescape(kvp[1]); + callback(val, key); + } + } + + function write$3(key, data) { + if(!key) { return } + doc$1.cookie = escape(key) + "=" + escape(data) + "; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"; + } + + function remove$5(key) { + if (!key || !_has(key)) { + return + } + doc$1.cookie = escape(key) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; + } + + function clearAll$3() { + each$5(function(_, key) { + remove$5(key); + }); + } + + function _has(key) { + return (new RegExp("(?:^|;\\s*)" + escape(key).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(doc$1.cookie) + } + + var Global$5 = util.Global; + + var sessionStorage_1 = { + name: 'sessionStorage', + read: read$4, + write: write$4, + each: each$6, + remove: remove$6, + clearAll: clearAll$4 + }; + + function sessionStorage() { + return Global$5.sessionStorage + } + + function read$4(key) { + return sessionStorage().getItem(key) + } + + function write$4(key, data) { + return sessionStorage().setItem(key, data) + } + + function each$6(fn) { + for (var i = sessionStorage().length - 1; i >= 0; i--) { + var key = sessionStorage().key(i); + fn(read$4(key), key); + } + } + + function remove$6(key) { + return sessionStorage().removeItem(key) + } + + function clearAll$4() { + return sessionStorage().clear() + } + + // memoryStorage is a useful last fallback to ensure that the store + // is functions (meaning store.get(), store.set(), etc will all function). + // However, stored values will not persist when the browser navigates to + // a new page or reloads the current page. + + var memoryStorage_1 = { + name: 'memoryStorage', + read: read$5, + write: write$5, + each: each$7, + remove: remove$7, + clearAll: clearAll$5, + }; + + var memoryStorage = {}; + + function read$5(key) { + return memoryStorage[key] + } + + function write$5(key, data) { + memoryStorage[key] = data; + } + + function each$7(callback) { + for (var key in memoryStorage) { + if (memoryStorage.hasOwnProperty(key)) { + callback(memoryStorage[key], key); } - }, - n2934: { - id: "n2934", - loc: [ - -85.617051, - 41.952263 - ] - }, - n2935: { - id: "n2935", - loc: [ - -85.61699, - 41.952276 - ] - }, - n2937: { - id: "n2937", - loc: [ - -85.616847, - 41.952262 - ] - }, - n2938: { - id: "n2938", - loc: [ - -85.616577, - 41.951956 - ] - }, - n2939: { - id: "n2939", - loc: [ - -85.61656, - 41.952044 - ] - }, - n3348: { - id: "n3348", - loc: [ - -85.61714, - 41.9522 - ] - }, - n3349: { - id: "n3349", - loc: [ - -85.616517, - 41.95212 - ] - }, - n3350: { - id: "n3350", - loc: [ - -85.616489, - 41.952033 - ] - }, - n3351: { - id: "n3351", - loc: [ - -85.616529, - 41.951907 - ] - }, - n3354: { - id: "n3354", - loc: [ - -85.616488, - 41.951994 - ] } + } + + function remove$7(key) { + delete memoryStorage[key]; + } + + function clearAll$5(key) { + memoryStorage = {}; + } + + var all = [ + // Listed in order of usage preference + localStorage_1, + oldFFGlobalStorage, + oldIEUserDataStorage, + cookieStorage, + sessionStorage_1, + memoryStorage_1 + ]; + + /* eslint-disable */ + + // json2.js + // 2016-10-28 + // Public Domain. + // NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + // See http://www.JSON.org/js.html + // This code should be minified before deployment. + // See http://javascript.crockford.com/jsmin.html + + // USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO + // NOT CONTROL. + + // This file creates a global JSON object containing two methods: stringify + // and parse. This file provides the ES5 JSON capability to ES3 systems. + // If a project might run on IE8 or earlier, then this file should be included. + // This file does nothing on ES5 systems. + + // JSON.stringify(value, replacer, space) + // value any JavaScript value, usually an object or array. + // replacer an optional parameter that determines how object + // values are stringified for objects. It can be a + // function or an array of strings. + // space an optional parameter that specifies the indentation + // of nested structures. If it is omitted, the text will + // be packed without extra whitespace. If it is a number, + // it will specify the number of spaces to indent at each + // level. If it is a string (such as "\t" or " "), + // it contains the characters used to indent at each level. + // This method produces a JSON text from a JavaScript value. + // When an object value is found, if the object contains a toJSON + // method, its toJSON method will be called and the result will be + // stringified. A toJSON method does not serialize: it returns the + // value represented by the name/value pair that should be serialized, + // or undefined if nothing should be serialized. The toJSON method + // will be passed the key associated with the value, and this will be + // bound to the value. + + // For example, this would serialize Dates as ISO strings. + + // Date.prototype.toJSON = function (key) { + // function f(n) { + // // Format integers to have at least two digits. + // return (n < 10) + // ? "0" + n + // : n; + // } + // return this.getUTCFullYear() + "-" + + // f(this.getUTCMonth() + 1) + "-" + + // f(this.getUTCDate()) + "T" + + // f(this.getUTCHours()) + ":" + + // f(this.getUTCMinutes()) + ":" + + // f(this.getUTCSeconds()) + "Z"; + // }; + + // You can provide an optional replacer method. It will be passed the + // key and value of each member, with this bound to the containing + // object. The value that is returned from your method will be + // serialized. If your method returns undefined, then the member will + // be excluded from the serialization. + + // If the replacer parameter is an array of strings, then it will be + // used to select the members to be serialized. It filters the results + // such that only members with keys listed in the replacer array are + // stringified. + + // Values that do not have JSON representations, such as undefined or + // functions, will not be serialized. Such values in objects will be + // dropped; in arrays they will be replaced with null. You can use + // a replacer function to replace those with JSON values. + + // JSON.stringify(undefined) returns undefined. + + // The optional space parameter produces a stringification of the + // value that is filled with line breaks and indentation to make it + // easier to read. + + // If the space parameter is a non-empty string, then that string will + // be used for indentation. If the space parameter is a number, then + // the indentation will be that many spaces. + + // Example: + + // text = JSON.stringify(["e", {pluribus: "unum"}]); + // // text is '["e",{"pluribus":"unum"}]' + + // text = JSON.stringify(["e", {pluribus: "unum"}], null, "\t"); + // // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]' + + // text = JSON.stringify([new Date()], function (key, value) { + // return this[key] instanceof Date + // ? "Date(" + this[key] + ")" + // : value; + // }); + // // text is '["Date(---current time---)"]' + + // JSON.parse(text, reviver) + // This method parses a JSON text to produce an object or array. + // It can throw a SyntaxError exception. + + // The optional reviver parameter is a function that can filter and + // transform the results. It receives each of the keys and values, + // and its return value is used instead of the original value. + // If it returns what it received, then the structure is not modified. + // If it returns undefined then the member is deleted. + + // Example: + + // // Parse the text. Values that look like ISO date strings will + // // be converted to Date objects. + + // myData = JSON.parse(text, function (key, value) { + // var a; + // if (typeof value === "string") { + // a = + // /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); + // if (a) { + // return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], + // +a[5], +a[6])); + // } + // } + // return value; + // }); + + // myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) { + // var d; + // if (typeof value === "string" && + // value.slice(0, 5) === "Date(" && + // value.slice(-1) === ")") { + // d = new Date(value.slice(5, -1)); + // if (d) { + // return d; + // } + // } + // return value; + // }); + + // This is a reference implementation. You are free to copy, modify, or + // redistribute. + + /*jslint + eval, for, this + */ + + /*property + JSON, apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, + getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, + lastIndex, length, parse, prototype, push, replace, slice, stringify, + test, toJSON, toString, valueOf + */ + + + // Create a JSON object only if one does not already exist. We create the + // methods in a closure to avoid creating global variables. + + if (typeof JSON !== "object") { + JSON = {}; + } + + (function () { + + var rx_one = /^[\],:{}\s]*$/; + var rx_two = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g; + var rx_three = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; + var rx_four = /(?:^|:|,)(?:\s*\[)+/g; + var rx_escapable = /[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + var rx_dangerous = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + + function f(n) { + // Format integers to have at least two digits. + return n < 10 + ? "0" + n + : n; + } + + function this_value() { + return this.valueOf(); + } + + if (typeof Date.prototype.toJSON !== "function") { + + Date.prototype.toJSON = function () { + + return isFinite(this.valueOf()) + ? this.getUTCFullYear() + "-" + + f(this.getUTCMonth() + 1) + "-" + + f(this.getUTCDate()) + "T" + + f(this.getUTCHours()) + ":" + + f(this.getUTCMinutes()) + ":" + + f(this.getUTCSeconds()) + "Z" + : null; + }; + + Boolean.prototype.toJSON = this_value; + Number.prototype.toJSON = this_value; + String.prototype.toJSON = this_value; + } + + var gap; + var indent; + var meta; + var rep; + + + function quote(string) { + + // If the string contains no control characters, no quote characters, and no + // backslash characters, then we can safely slap some quotes around it. + // Otherwise we must also replace the offending characters with safe escape + // sequences. + + rx_escapable.lastIndex = 0; + return rx_escapable.test(string) + ? "\"" + string.replace(rx_escapable, function (a) { + var c = meta[a]; + return typeof c === "string" + ? c + : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4); + }) + "\"" + : "\"" + string + "\""; + } + + + function str(key, holder) { + + // Produce a string from holder[key]. + + var i; // The loop counter. + var k; // The member key. + var v; // The member value. + var length; + var mind = gap; + var partial; + var value = holder[key]; + + // If the value has a toJSON method, call it to obtain a replacement value. + + if (value && typeof value === "object" && + typeof value.toJSON === "function") { + value = value.toJSON(key); + } + + // If we were called with a replacer function, then call the replacer to + // obtain a replacement value. + + if (typeof rep === "function") { + value = rep.call(holder, key, value); + } + + // What happens next depends on the value's type. + + switch (typeof value) { + case "string": + return quote(value); + + case "number": + + // JSON numbers must be finite. Encode non-finite numbers as null. + + return isFinite(value) + ? String(value) + : "null"; + + case "boolean": + case "null": + + // If the value is a boolean or null, convert it to a string. Note: + // typeof null does not produce "null". The case is included here in + // the remote chance that this gets fixed someday. + + return String(value); + + // If the type is "object", we might be dealing with an object or an array or + // null. + + case "object": + + // Due to a specification blunder in ECMAScript, typeof null is "object", + // so watch out for that case. + + if (!value) { + return "null"; + } + + // Make an array to hold the partial results of stringifying this object value. + + gap += indent; + partial = []; + + // Is the value an array? + + if (Object.prototype.toString.apply(value) === "[object Array]") { + + // The value is an array. Stringify every element. Use null as a placeholder + // for non-JSON values. + + length = value.length; + for (i = 0; i < length; i += 1) { + partial[i] = str(i, value) || "null"; + } + + // Join all of the elements together, separated with commas, and wrap them in + // brackets. + + v = partial.length === 0 + ? "[]" + : gap + ? "[\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "]" + : "[" + partial.join(",") + "]"; + gap = mind; + return v; + } + + // If the replacer is an array, use it to select the members to be stringified. + + if (rep && typeof rep === "object") { + length = rep.length; + for (i = 0; i < length; i += 1) { + if (typeof rep[i] === "string") { + k = rep[i]; + v = str(k, value); + if (v) { + partial.push(quote(k) + ( + gap + ? ": " + : ":" + ) + v); + } + } + } + } else { + + // Otherwise, iterate through all of the keys in the object. + + for (k in value) { + if (Object.prototype.hasOwnProperty.call(value, k)) { + v = str(k, value); + if (v) { + partial.push(quote(k) + ( + gap + ? ": " + : ":" + ) + v); + } + } + } + } + + // Join all of the member texts together, separated with commas, + // and wrap them in braces. + + v = partial.length === 0 + ? "{}" + : gap + ? "{\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "}" + : "{" + partial.join(",") + "}"; + gap = mind; + return v; + } + } + + // If the JSON object does not yet have a stringify method, give it one. + + if (typeof JSON.stringify !== "function") { + meta = { // table of character substitutions + "\b": "\\b", + "\t": "\\t", + "\n": "\\n", + "\f": "\\f", + "\r": "\\r", + "\"": "\\\"", + "\\": "\\\\" + }; + JSON.stringify = function (value, replacer, space) { + + // The stringify method takes a value and an optional replacer, and an optional + // space parameter, and returns a JSON text. The replacer can be a function + // that can replace values, or an array of strings that will select the keys. + // A default replacer method can be provided. Use of the space parameter can + // produce text that is more easily readable. + + var i; + gap = ""; + indent = ""; + + // If the space parameter is a number, make an indent string containing that + // many spaces. + + if (typeof space === "number") { + for (i = 0; i < space; i += 1) { + indent += " "; + } + + // If the space parameter is a string, it will be used as the indent string. + + } else if (typeof space === "string") { + indent = space; + } + + // If there is a replacer, it must be a function or an array. + // Otherwise, throw an error. + + rep = replacer; + if (replacer && typeof replacer !== "function" && + (typeof replacer !== "object" || + typeof replacer.length !== "number")) { + throw new Error("JSON.stringify"); + } + + // Make a fake root object containing our value under the key of "". + // Return the result of stringifying the value. + + return str("", {"": value}); + }; + } + + + // If the JSON object does not yet have a parse method, give it one. + + if (typeof JSON.parse !== "function") { + JSON.parse = function (text, reviver) { + + // The parse method takes a text and an optional reviver function, and returns + // a JavaScript value if the text is a valid JSON text. + + var j; + + function walk(holder, key) { + + // The walk method is used to recursively walk the resulting structure so + // that modifications can be made. + + var k; + var v; + var value = holder[key]; + if (value && typeof value === "object") { + for (k in value) { + if (Object.prototype.hasOwnProperty.call(value, k)) { + v = walk(value, k); + if (v !== undefined) { + value[k] = v; + } else { + delete value[k]; + } + } + } + } + return reviver.call(holder, key, value); + } + + + // Parsing happens in four stages. In the first stage, we replace certain + // Unicode characters with escape sequences. JavaScript handles many characters + // incorrectly, either silently deleting them, or treating them as line endings. + + text = String(text); + rx_dangerous.lastIndex = 0; + if (rx_dangerous.test(text)) { + text = text.replace(rx_dangerous, function (a) { + return "\\u" + + ("0000" + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + + // In the second stage, we run the text against regular expressions that look + // for non-JSON patterns. We are especially concerned with "()" and "new" + // because they can cause invocation, and "=" because it can cause mutation. + // But just to be safe, we want to reject all unexpected forms. + + // We split the second stage into 4 regexp operations in order to work around + // crippling inefficiencies in IE's and Safari's regexp engines. First we + // replace the JSON backslash pairs with "@" (a non-JSON character). Second, we + // replace all simple value tokens with "]" characters. Third, we delete all + // open brackets that follow a colon or comma or that begin the text. Finally, + // we look to see that the remaining characters are only whitespace or "]" or + // "," or ":" or "{" or "}". If that is so, then the text is safe for eval. + + if ( + rx_one.test( + text + .replace(rx_two, "@") + .replace(rx_three, "]") + .replace(rx_four, "") + ) + ) { + + // In the third stage we use the eval function to compile the text into a + // JavaScript structure. The "{" operator is subject to a syntactic ambiguity + // in JavaScript: it can begin a block or an object literal. We wrap the text + // in parens to eliminate the ambiguity. + + j = eval("(" + text + ")"); + + // In the optional fourth stage, we recursively walk the new structure, passing + // each name/value pair to a reviver function for possible transformation. + + return (typeof reviver === "function") + ? walk({"": j}, "") + : j; + } + + // If the text is not JSON parseable, then a SyntaxError is thrown. + + throw new SyntaxError("JSON.parse"); + }; + } + }()); + + var json2 = json2Plugin; + + function json2Plugin() { + + return {} + } + + var plugins = [json2]; + + var store_legacy = storeEngine.createStore(all, plugins); + + // # osm-auth + // + // This code is only compatible with IE10+ because the [XDomainRequest](http://bit.ly/LfO7xo) + // object, IE<10's idea of [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing), + // does not support custom headers, which this uses everywhere. + var osmAuth = function(o) { + + var oauth = {}; + + // authenticated users will also have a request token secret, but it's + // not used in transactions with the server + oauth.authenticated = function() { + return !!(token('oauth_token') && token('oauth_token_secret')); + }; + + oauth.logout = function() { + token('oauth_token', ''); + token('oauth_token_secret', ''); + token('oauth_request_token_secret', ''); + return oauth; + }; + + // TODO: detect lack of click event + oauth.authenticate = function(callback) { + if (oauth.authenticated()) return callback(); + + oauth.logout(); + + // ## Getting a request token + var params = timenonce(getAuth(o)), + url = o.url + '/oauth/request_token'; + + params.oauth_signature = ohauth_1.signature( + o.oauth_secret, '', + ohauth_1.baseString('POST', url, params)); + + if (!o.singlepage) { + // Create a 600x550 popup window in the center of the screen + var w = 600, h = 550, + settings = [ + ['width', w], ['height', h], + ['left', screen.width / 2 - w / 2], + ['top', screen.height / 2 - h / 2]].map(function(x) { + return x.join('='); + }).join(','), + popup = window.open('about:blank', 'oauth_window', settings); + } + + // Request a request token. When this is complete, the popup + // window is redirected to OSM's authorization page. + ohauth_1.xhr('POST', url, params, null, {}, reqTokenDone); + o.loading(); + + function reqTokenDone(err, xhr) { + o.done(); + if (err) return callback(err); + var resp = ohauth_1.stringQs(xhr.response); + token('oauth_request_token_secret', resp.oauth_token_secret); + var authorize_url = o.url + '/oauth/authorize?' + ohauth_1.qsString({ + oauth_token: resp.oauth_token, + oauth_callback: resolveUrl(o.landing) + }); + + if (o.singlepage) { + location.href = authorize_url; + } else { + popup.location = authorize_url; + } + } + + // Called by a function in a landing page, in the popup window. The + // window closes itself. + window.authComplete = function(token) { + var oauth_token = ohauth_1.stringQs(token.split('?')[1]); + get_access_token(oauth_token.oauth_token); + delete window.authComplete; + }; + + // ## Getting an request token + // + // At this point we have an `oauth_token`, brought in from a function + // call on a landing page popup. + function get_access_token(oauth_token) { + var url = o.url + '/oauth/access_token', + params = timenonce(getAuth(o)), + request_token_secret = token('oauth_request_token_secret'); + params.oauth_token = oauth_token; + params.oauth_signature = ohauth_1.signature( + o.oauth_secret, + request_token_secret, + ohauth_1.baseString('POST', url, params)); + + // ## Getting an access token + // + // The final token required for authentication. At this point + // we have a `request token secret` + ohauth_1.xhr('POST', url, params, null, {}, accessTokenDone); + o.loading(); + } + + function accessTokenDone(err, xhr) { + o.done(); + if (err) return callback(err); + var access_token = ohauth_1.stringQs(xhr.response); + token('oauth_token', access_token.oauth_token); + token('oauth_token_secret', access_token.oauth_token_secret); + callback(null, oauth); + } + }; + + oauth.bootstrapToken = function(oauth_token, callback) { + // ## Getting an request token + // At this point we have an `oauth_token`, brought in from a function + // call on a landing page popup. + function get_access_token(oauth_token) { + var url = o.url + '/oauth/access_token', + params = timenonce(getAuth(o)), + request_token_secret = token('oauth_request_token_secret'); + params.oauth_token = oauth_token; + params.oauth_signature = ohauth_1.signature( + o.oauth_secret, + request_token_secret, + ohauth_1.baseString('POST', url, params)); + + // ## Getting an access token + // The final token required for authentication. At this point + // we have a `request token secret` + ohauth_1.xhr('POST', url, params, null, {}, accessTokenDone); + o.loading(); + } + + function accessTokenDone(err, xhr) { + o.done(); + if (err) return callback(err); + var access_token = ohauth_1.stringQs(xhr.response); + token('oauth_token', access_token.oauth_token); + token('oauth_token_secret', access_token.oauth_token_secret); + callback(null, oauth); + } + + get_access_token(oauth_token); + }; + + // # xhr + // + // A single XMLHttpRequest wrapper that does authenticated calls if the + // user has logged in. + oauth.xhr = function(options, callback) { + if (!oauth.authenticated()) { + if (o.auto) { + return oauth.authenticate(run); + } else { + callback('not authenticated', null); + return; + } + } else { + return run(); + } + + function run() { + var params = timenonce(getAuth(o)), + oauth_token_secret = token('oauth_token_secret'), + url = (options.prefix !== false) ? o.url + options.path : options.path, + url_parts = url.replace(/#.*$/, '').split('?', 2), + base_url = url_parts[0], + query = (url_parts.length === 2) ? url_parts[1] : ''; + + // https://tools.ietf.org/html/rfc5849#section-3.4.1.3.1 + if ((!options.options || !options.options.header || + options.options.header['Content-Type'] === 'application/x-www-form-urlencoded') && + options.content) { + params = immutable(params, ohauth_1.stringQs(options.content)); + } + + params.oauth_token = token('oauth_token'); + params.oauth_signature = ohauth_1.signature( + o.oauth_secret, + oauth_token_secret, + ohauth_1.baseString(options.method, base_url, immutable(params, ohauth_1.stringQs(query))) + ); + + return ohauth_1.xhr(options.method, url, params, options.content, options.options, done); + } + + function done(err, xhr) { + if (err) return callback(err); + else if (xhr.responseXML) return callback(err, xhr.responseXML); + else return callback(err, xhr.response); + } + }; + + // pre-authorize this object, if we can just get a token and token_secret + // from the start + oauth.preauth = function(c) { + if (!c) return; + if (c.oauth_token) token('oauth_token', c.oauth_token); + if (c.oauth_token_secret) token('oauth_token_secret', c.oauth_token_secret); + return oauth; + }; + + oauth.options = function(_) { + if (!arguments.length) return o; + + o = _; + o.url = o.url || 'https://www.openstreetmap.org'; + o.landing = o.landing || 'land.html'; + o.singlepage = o.singlepage || false; + + // Optional loading and loading-done functions for nice UI feedback. + // by default, no-ops + o.loading = o.loading || function() {}; + o.done = o.done || function() {}; + + return oauth.preauth(o); + }; + + // 'stamp' an authentication object from `getAuth()` + // with a [nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce) + // and timestamp + function timenonce(o) { + o.oauth_timestamp = ohauth_1.timestamp(); + o.oauth_nonce = ohauth_1.nonce(); + return o; + } + + // get/set tokens. These are prefixed with the base URL so that `osm-auth` + // can be used with multiple APIs and the keys in `localStorage` + // will not clash + var token; + + if (store_legacy.enabled) { + token = function (x, y) { + if (arguments.length === 1) return store_legacy.get(o.url + x); + else if (arguments.length === 2) return store_legacy.set(o.url + x, y); + }; + } else { + var storage = {}; + token = function (x, y) { + if (arguments.length === 1) return storage[o.url + x]; + else if (arguments.length === 2) return storage[o.url + x] = y; + }; + } + + // Get an authentication object. If you just add and remove properties + // from a single object, you'll need to use `delete` to make sure that + // it doesn't contain undesired properties for authentication + function getAuth(o) { + return { + oauth_consumer_key: o.oauth_consumer_key, + oauth_signature_method: 'HMAC-SHA1' + }; + } + + // potentially pre-authorize + oauth.options(o); + + return oauth; + }; + + var JXON = new (function () { + var + sValueProp = 'keyValue', sAttributesProp = 'keyAttributes', sAttrPref = '@', /* you can customize these values */ + aCache = [], rIsNull = /^\s*$/, rIsBool = /^(?:true|false)$/i; + + function parseText (sValue) { + if (rIsNull.test(sValue)) { return null; } + if (rIsBool.test(sValue)) { return sValue.toLowerCase() === 'true'; } + if (isFinite(sValue)) { return parseFloat(sValue); } + if (isFinite(Date.parse(sValue))) { return new Date(sValue); } + return sValue; + } + + function EmptyTree () { } + EmptyTree.prototype.toString = function () { return 'null'; }; + EmptyTree.prototype.valueOf = function () { return null; }; + + function objectify (vValue) { + return vValue === null ? new EmptyTree() : vValue instanceof Object ? vValue : new vValue.constructor(vValue); + } + + function createObjTree (oParentNode, nVerb, bFreeze, bNesteAttr) { + var + nLevelStart = aCache.length, bChildren = oParentNode.hasChildNodes(), + bAttributes = oParentNode.hasAttributes(), bHighVerb = Boolean(nVerb & 2); + + var + sProp, vContent, nLength = 0, sCollectedTxt = '', + vResult = bHighVerb ? {} : /* put here the default value for empty nodes: */ true; + + if (bChildren) { + for (var oNode, nItem = 0; nItem < oParentNode.childNodes.length; nItem++) { + oNode = oParentNode.childNodes.item(nItem); + if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is 'CDATASection' (4) */ + else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is 'Text' (3) */ + else if (oNode.nodeType === 1 && !oNode.prefix) { aCache.push(oNode); } /* nodeType is 'Element' (1) */ + } + } + + var nLevelEnd = aCache.length, vBuiltVal = parseText(sCollectedTxt); + + if (!bHighVerb && (bChildren || bAttributes)) { vResult = nVerb === 0 ? objectify(vBuiltVal) : {}; } + + for (var nElId = nLevelStart; nElId < nLevelEnd; nElId++) { + sProp = aCache[nElId].nodeName.toLowerCase(); + vContent = createObjTree(aCache[nElId], nVerb, bFreeze, bNesteAttr); + if (vResult.hasOwnProperty(sProp)) { + if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; } + vResult[sProp].push(vContent); + } else { + vResult[sProp] = vContent; + nLength++; + } + } + + if (bAttributes) { + var + nAttrLen = oParentNode.attributes.length, + sAPrefix = bNesteAttr ? '' : sAttrPref, oAttrParent = bNesteAttr ? {} : vResult; + + for (var oAttrib, nAttrib = 0; nAttrib < nAttrLen; nLength++, nAttrib++) { + oAttrib = oParentNode.attributes.item(nAttrib); + oAttrParent[sAPrefix + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim()); + } + + if (bNesteAttr) { + if (bFreeze) { Object.freeze(oAttrParent); } + vResult[sAttributesProp] = oAttrParent; + nLength -= nAttrLen - 1; + } + } + + if (nVerb === 3 || (nVerb === 2 || nVerb === 1 && nLength > 0) && sCollectedTxt) { + vResult[sValueProp] = vBuiltVal; + } else if (!bHighVerb && nLength === 0 && sCollectedTxt) { + vResult = vBuiltVal; + } + + if (bFreeze && (bHighVerb || nLength > 0)) { Object.freeze(vResult); } + + aCache.length = nLevelStart; + + return vResult; + } + + function loadObjTree (oXMLDoc, oParentEl, oParentObj) { + var vValue, oChild; + + if (oParentObj instanceof String || oParentObj instanceof Number || oParentObj instanceof Boolean) { + oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toString())); /* verbosity level is 0 */ + } else if (oParentObj.constructor === Date) { + oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toGMTString())); + } + + for (var sName in oParentObj) { + vValue = oParentObj[sName]; + if (isFinite(sName) || vValue instanceof Function) { continue; } /* verbosity level is 0 */ + if (sName === sValueProp) { + if (vValue !== null && vValue !== true) { oParentEl.appendChild(oXMLDoc.createTextNode(vValue.constructor === Date ? vValue.toGMTString() : String(vValue))); } + } else if (sName === sAttributesProp) { /* verbosity level is 3 */ + for (var sAttrib in vValue) { oParentEl.setAttribute(sAttrib, vValue[sAttrib]); } + } else if (sName.charAt(0) === sAttrPref) { + oParentEl.setAttribute(sName.slice(1), vValue); + } else if (vValue.constructor === Array) { + for (var nItem = 0; nItem < vValue.length; nItem++) { + oChild = oXMLDoc.createElement(sName); + loadObjTree(oXMLDoc, oChild, vValue[nItem]); + oParentEl.appendChild(oChild); + } + } else { + oChild = oXMLDoc.createElement(sName); + if (vValue instanceof Object) { + loadObjTree(oXMLDoc, oChild, vValue); + } else if (vValue !== null && vValue !== true) { + oChild.appendChild(oXMLDoc.createTextNode(vValue.toString())); + } + oParentEl.appendChild(oChild); + } + } + } + + this.build = function (oXMLParent, nVerbosity /* optional */, bFreeze /* optional */, bNesteAttributes /* optional */) { + var _nVerb = arguments.length > 1 && typeof nVerbosity === 'number' ? nVerbosity & 3 : /* put here the default verbosity level: */ 1; + return createObjTree(oXMLParent, _nVerb, bFreeze || false, arguments.length > 3 ? bNesteAttributes : _nVerb === 3); + }; + + this.unbuild = function (oObjTree) { + var oNewDoc = document.implementation.createDocument('', '', null); + loadObjTree(oNewDoc, oNewDoc, oObjTree); + return oNewDoc; + }; + + this.stringify = function (oObjTree) { + return (new XMLSerializer()).serializeToString(JXON.unbuild(oObjTree)); + }; + })(); + + // var myObject = JXON.build(doc); + // we got our javascript object! try: alert(JSON.stringify(myObject)); + + // var newDoc = JXON.unbuild(myObject); + // we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc)); + + var dispatch$3 = dispatch('authLoading', 'authDone', 'change', 'loading', 'loaded'); + var urlroot = 'https://www.openstreetmap.org'; + var oauth = osmAuth({ + url: urlroot, + oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT', + oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL', + loading: authLoading, + done: authDone + }); + + var _blacklists = ['.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*']; + var _tiles = { loaded: {}, inflight: {} }; + var _changeset = {}; + var _entityCache = {}; + var _connectionID = 1; + var _tileZoom = 16; + var _rateLimitError; + var _userChangesets; + var _userDetails; + var _off; + + + function authLoading() { + dispatch$3.call('authLoading'); + } + + + function authDone() { + dispatch$3.call('authDone'); + } + + + function abortRequest$2(i) { + if (i) { + i.abort(); + } + } + + + function getLoc(attrs) { + var lon = attrs.lon && attrs.lon.value; + var lat = attrs.lat && attrs.lat.value; + return [parseFloat(lon), parseFloat(lat)]; + } + + + function getNodes(obj) { + var elems = obj.getElementsByTagName('nd'); + var nodes = new Array(elems.length); + for (var i = 0, l = elems.length; i < l; i++) { + nodes[i] = 'n' + elems[i].attributes.ref.value; + } + return nodes; + } + + + function getTags(obj) { + var elems = obj.getElementsByTagName('tag'); + var tags = {}; + for (var i = 0, l = elems.length; i < l; i++) { + var attrs = elems[i].attributes; + tags[attrs.k.value] = attrs.v.value; + } + + return tags; + } + + + function getMembers(obj) { + var elems = obj.getElementsByTagName('member'); + var members = new Array(elems.length); + for (var i = 0, l = elems.length; i < l; i++) { + var attrs = elems[i].attributes; + members[i] = { + id: attrs.type.value[0] + attrs.ref.value, + type: attrs.type.value, + role: attrs.role.value + }; + } + return members; + } + + + function getVisible(attrs) { + return (!attrs.visible || attrs.visible.value !== 'false'); + } + + + var parsers = { + node: function nodeData(obj, uid) { + var attrs = obj.attributes; + return new osmNode({ + id:uid, + visible: getVisible(attrs), + version: attrs.version.value, + changeset: attrs.changeset && attrs.changeset.value, + timestamp: attrs.timestamp && attrs.timestamp.value, + user: attrs.user && attrs.user.value, + uid: attrs.uid && attrs.uid.value, + loc: getLoc(attrs), + tags: getTags(obj) + }); + }, + + way: function wayData(obj, uid) { + var attrs = obj.attributes; + return new osmWay({ + id: uid, + visible: getVisible(attrs), + version: attrs.version.value, + changeset: attrs.changeset && attrs.changeset.value, + timestamp: attrs.timestamp && attrs.timestamp.value, + user: attrs.user && attrs.user.value, + uid: attrs.uid && attrs.uid.value, + tags: getTags(obj), + nodes: getNodes(obj), + }); + }, + + relation: function relationData(obj, uid) { + var attrs = obj.attributes; + return new osmRelation({ + id: uid, + visible: getVisible(attrs), + version: attrs.version.value, + changeset: attrs.changeset && attrs.changeset.value, + timestamp: attrs.timestamp && attrs.timestamp.value, + user: attrs.user && attrs.user.value, + uid: attrs.uid && attrs.uid.value, + tags: getTags(obj), + members: getMembers(obj) + }); + } + }; + + + function parse$1(xml$$1, callback, options) { + options = assignIn({ cache: true }, options); + if (!xml$$1 || !xml$$1.childNodes) return; + + var root = xml$$1.childNodes[0]; + var children = root.childNodes; + + function parseChild(child) { + var parser = parsers[child.nodeName]; + if (parser) { + var uid = osmEntity$$1.id.fromOSM(child.nodeName, child.attributes.id.value); + if (options.cache && _entityCache[uid]) { + return null; + } + return parser(child, uid); + } + } + + utilIdleWorker(children, parseChild, callback); + } + + + var serviceOsm = { + + init: function() { + utilRebind(this, dispatch$3, 'on'); + }, + + + reset: function() { + _connectionID++; + _userChangesets = undefined; + _userDetails = undefined; + _rateLimitError = undefined; + forEach(_tiles.inflight, abortRequest$2); + if (_changeset.inflight) abortRequest$2(_changeset.inflight); + _tiles = { loaded: {}, inflight: {} }; + _changeset = {}; + _entityCache = {}; + return this; + }, + + + getConnectionId: function() { + return _connectionID; + }, + + + changesetURL: function(changesetId) { + return urlroot + '/changeset/' + changesetId; + }, + + + changesetsURL: function(center, zoom) { + var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)); + return urlroot + '/history#map=' + + Math.floor(zoom) + '/' + + center[1].toFixed(precision) + '/' + + center[0].toFixed(precision); + }, + + + entityURL: function(entity) { + return urlroot + '/' + entity.type + '/' + entity.osmId(); + }, + + + historyURL: function(entity) { + return urlroot + '/' + entity.type + '/' + entity.osmId() + '/history'; + }, + + + userURL: function(username) { + return urlroot + '/user/' + username; + }, + + + loadFromAPI: function(path, callback, options) { + options = assignIn({ cache: true }, options); + var that = this; + var cid = _connectionID; + + function done(err, xml$$1) { + if (that.getConnectionId() !== cid) { + if (callback) callback({ message: 'Connection Switched', status: -1 }); + return; + } + + var isAuthenticated = that.authenticated(); + + // 400 Bad Request, 401 Unauthorized, 403 Forbidden + // Logout and retry the request.. + if (isAuthenticated && err && (err.status === 400 || err.status === 401 || err.status === 403)) { + that.logout(); + that.loadFromAPI(path, callback); + + // else, no retry.. + } else { + // 509 Bandwidth Limit Exceeded, 429 Too Many Requests + // Set the rateLimitError flag and trigger a warning.. + if (!isAuthenticated && !_rateLimitError && err && + (err.status === 509 || err.status === 429)) { + _rateLimitError = err; + dispatch$3.call('change'); + } + + if (callback) { + if (err) return callback(err, null); + parse$1(xml$$1, function (entities) { + if (options.cache) { + for (var i in entities) { + _entityCache[entities[i].id] = true; + } + } + callback(null, entities); + }, options); + } + } + } + + if (this.authenticated()) { + return oauth.xhr({ method: 'GET', path: path }, done); + } else { + var url = urlroot + path; + return d3_xml(url).get(done); + } + }, + + + loadEntity: function(id, callback) { + var type = osmEntity$$1.id.type(id); + var osmID = osmEntity$$1.id.toOSM(id); + var options = { cache: false }; + + this.loadFromAPI( + '/api/0.6/' + type + '/' + osmID + (type !== 'node' ? '/full' : ''), + function(err, entities) { + if (callback) callback(err, { data: entities }); + }, + options + ); + }, + + + loadEntityVersion: function(id, version, callback) { + var type = osmEntity$$1.id.type(id); + var osmID = osmEntity$$1.id.toOSM(id); + var options = { cache: false }; + + this.loadFromAPI( + '/api/0.6/' + type + '/' + osmID + '/' + version, + function(err, entities) { + if (callback) callback(err, { data: entities }); + }, + options + ); + }, + + + loadMultiple: function(ids, callback) { + var that = this; + + forEach(groupBy(uniq(ids), osmEntity$$1.id.type), function(v, k) { + var type = k + 's'; + var osmIDs = map$3(v, osmEntity$$1.id.toOSM); + var options = { cache: false }; + + forEach(chunk(osmIDs, 150), function(arr) { + that.loadFromAPI( + '/api/0.6/' + type + '?' + type + '=' + arr.join(), + function(err, entities) { + if (callback) callback(err, { data: entities }); + }, + options + ); + }); + }); + }, + + + authenticated: function() { + return oauth.authenticated(); + }, + + + putChangeset: function(changeset, changes, callback) { + if (_changeset.inflight) { + return callback({ message: 'Changeset already inflight', status: -2 }, changeset); + } + + var that = this; + var cid = _connectionID; + + if (_changeset.open) { // reuse existing open changeset.. + createdChangeset(null, _changeset.open); + } else { // open a new changeset.. + _changeset.inflight = oauth.xhr({ + method: 'PUT', + path: '/api/0.6/changeset/create', + options: { header: { 'Content-Type': 'text/xml' } }, + content: JXON.stringify(changeset.asJXON()) + }, createdChangeset); + } + + + function createdChangeset(err, changesetID) { + _changeset.inflight = null; + + if (err) { + // 400 Bad Request, 401 Unauthorized, 403 Forbidden.. + if (err.status === 400 || err.status === 401 || err.status === 403) { + that.logout(); + } + return callback(err, changeset); + } + if (that.getConnectionId() !== cid) { + return callback({ message: 'Connection Switched', status: -1 }, changeset); + } + + _changeset.open = changesetID; + changeset = changeset.update({ id: changesetID }); + + // Upload the changeset.. + _changeset.inflight = oauth.xhr({ + method: 'POST', + path: '/api/0.6/changeset/' + changesetID + '/upload', + options: { header: { 'Content-Type': 'text/xml' } }, + content: JXON.stringify(changeset.osmChangeJXON(changes)) + }, uploadedChangeset); + } + + + function uploadedChangeset(err) { + _changeset.inflight = null; + + if (err) return callback(err, changeset); + + // Upload was successful, safe to call the callback. + // Add delay to allow for postgres replication #1646 #2678 + window.setTimeout(function() { + callback(null, changeset); + }, 2500); + + _changeset.open = null; + + // At this point, we don't really care if the connection was switched.. + // Only try to close the changeset if we're still talking to the same server. + if (that.getConnectionId() === cid) { + // Still attempt to close changeset, but ignore response because #2667 + oauth.xhr({ + method: 'PUT', + path: '/api/0.6/changeset/' + changeset.id + '/close', + options: { header: { 'Content-Type': 'text/xml' } } + }, function() { return true; }); + } + } + }, + + + userDetails: function(callback) { + if (_userDetails) { + callback(undefined, _userDetails); + return; + } + + var that = this; + var cid = _connectionID; + + function done(err, user_details) { + if (err) { + // 400 Bad Request, 401 Unauthorized, 403 Forbidden.. + if (err.status === 400 || err.status === 401 || err.status === 403) { + that.logout(); + } + return callback(err); + } + if (that.getConnectionId() !== cid) { + return callback({ message: 'Connection Switched', status: -1 }); + } + + + var u = user_details.getElementsByTagName('user')[0]; + var img = u.getElementsByTagName('img'); + var image_url = ''; + + if (img && img[0] && img[0].getAttribute('href')) { + image_url = img[0].getAttribute('href'); + } + + var changesets = u.getElementsByTagName('changesets'); + var changesets_count = 0; + + if (changesets && changesets[0] && changesets[0].getAttribute('count')) { + changesets_count = changesets[0].getAttribute('count'); + } + + _userDetails = { + id: u.attributes.id.value, + display_name: u.attributes.display_name.value, + image_url: image_url, + changesets_count: changesets_count + }; + + callback(undefined, _userDetails); + } + + oauth.xhr({ method: 'GET', path: '/api/0.6/user/details' }, done); + }, + + + userChangesets: function(callback) { + if (_userChangesets) { + callback(undefined, _userChangesets); + return; + } + + var that = this; + var cid = _connectionID; + + this.userDetails(function(err, user) { + if (err) { + return callback(err); + } + if (that.getConnectionId() !== cid) { + return callback({ message: 'Connection Switched', status: -1 }); + } + + function done(err, changesets) { + if (err) { + // 400 Bad Request, 401 Unauthorized, 403 Forbidden.. + if (err.status === 400 || err.status === 401 || err.status === 403) { + that.logout(); + } + return callback(err); + } + if (that.getConnectionId() !== cid) { + return callback({ message: 'Connection Switched', status: -1 }); + } + + _userChangesets = Array.prototype.map.call( + changesets.getElementsByTagName('changeset'), + function (changeset) { + return { tags: getTags(changeset) }; + } + ).filter(function (changeset) { + var comment = changeset.tags.comment; + return comment && comment !== ''; + }); + + callback(undefined, _userChangesets); + } + + oauth.xhr({ method: 'GET', path: '/api/0.6/changesets?user=' + user.id }, done); + }); + }, + + + status: function(callback) { + var that = this; + var cid = _connectionID; + + function done(xml$$1) { + if (that.getConnectionId() !== cid) { + return callback({ message: 'Connection Switched', status: -1 }, 'connectionSwitched'); + } + + // update blacklists + var elements = xml$$1.getElementsByTagName('blacklist'); + var regexes = []; + for (var i = 0; i < elements.length; i++) { + var regex = elements[i].getAttribute('regex'); // needs unencode? + if (regex) { + regexes.push(regex); + } + } + if (regexes.length) { + _blacklists = regexes; + } + + + if (_rateLimitError) { + callback(_rateLimitError, 'rateLimited'); + } else { + var apiStatus = xml$$1.getElementsByTagName('status'); + var val = apiStatus[0].getAttribute('api'); + + callback(undefined, val); + } + } + + d3_xml(urlroot + '/api/capabilities').get() + .on('load', done) + .on('error', callback); + }, + + + imageryBlacklists: function() { + return _blacklists; + }, + + + tileZoom: function(_) { + if (!arguments.length) return _tileZoom; + _tileZoom = _; + return this; + }, + + + loadTiles: function(projection, dimensions, callback) { + if (_off) return; + + var that = this; + var s = projection.scale() * 2 * Math.PI; + var z = Math.max(Math.log(s) / Math.log(2) - 8, 0); + var ts = 256 * Math.pow(2, z - _tileZoom); + var origin = [ + s / 2 - projection.translate()[0], + s / 2 - projection.translate()[1] + ]; + + var tiles = d3geoTile() + .scaleExtent([_tileZoom, _tileZoom]) + .scale(s) + .size(dimensions) + .translate(projection.translate())() + .map(function(tile) { + var x = tile[0] * ts - origin[0]; + var y = tile[1] * ts - origin[1]; + + return { + id: tile.toString(), + extent: geoExtent$$1( + projection.invert([x, y + ts]), + projection.invert([x + ts, y])) + }; + }); + + filter(_tiles.inflight, function(v, i) { + var wanted = find$1(tiles, function(tile) { + return i === tile.id; + }); + if (!wanted) delete _tiles.inflight[i]; + return !wanted; + }).map(abortRequest$2); + + tiles.forEach(function(tile) { + var id = tile.id; + + if (_tiles.loaded[id] || _tiles.inflight[id]) return; + + if (isEmpty(_tiles.inflight)) { + dispatch$3.call('loading'); + } + + _tiles.inflight[id] = that.loadFromAPI( + '/api/0.6/map?bbox=' + tile.extent.toParam(), + function(err, parsed) { + delete _tiles.inflight[id]; + if (!err) { + _tiles.loaded[id] = true; + } + + if (callback) { + callback(err, assignIn({ data: parsed }, tile)); + } + + if (isEmpty(_tiles.inflight)) { + dispatch$3.call('loaded'); + } + } + ); + }); + }, + + + switch: function(options) { + urlroot = options.urlroot; + + oauth.options(assignIn({ + url: urlroot, + loading: authLoading, + done: authDone + }, options)); + + this.reset(); + this.userChangesets(function() {}); // eagerly load user details/changesets + dispatch$3.call('change'); + return this; + }, + + + toggle: function(_) { + _off = !_; + return this; + }, + + + loadedTiles: function(_) { + if (!arguments.length) return _tiles.loaded; + _tiles.loaded = _; + return this; + }, + + + logout: function() { + _userChangesets = undefined; + _userDetails = undefined; + oauth.logout(); + dispatch$3.call('change'); + return this; + }, + + + authenticate: function(callback) { + var that = this; + var cid = _connectionID; + _userChangesets = undefined; + _userDetails = undefined; + + function done(err, res) { + if (err) { + if (callback) callback(err); + return; + } + if (that.getConnectionId() !== cid) { + if (callback) callback({ message: 'Connection Switched', status: -1 }); + return; + } + _rateLimitError = undefined; + dispatch$3.call('change'); + if (callback) callback(err, res); + that.userChangesets(function() {}); // eagerly load user details/changesets + } + + return oauth.authenticate(done); + } + }; + + var jsonpCache = {}; + window.jsonpCache = jsonpCache; + + function jsonpRequest(url, callback) { + + if (window.JSONP_FIX) { + if (window.JSONP_DELAY === 0) { + callback(window.JSONP_FIX); + } else { + setTimeout(function() { + callback(window.JSONP_FIX); + }, window.JSONP_DELAY || 0); + } + return; + } + + function rand() { + var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', + c = '', i = -1; + while (++i < 15) c += chars.charAt(Math.floor(Math.random() * 52)); + return c; + } + + function create$$1(url) { + var e = url.match(/callback=(\w+)/), + c = e ? e[1] : rand(); + jsonpCache[c] = function(data) { + callback(data); + delete jsonpCache[c]; + script.remove(); + }; + return 'jsonpCache.' + c; + } + + var cb = create$$1(url), + script = select('head') + .append('script') + .attr('type', 'text/javascript') + .attr('src', url.replace(/(\{|%7B)callback(\}|%7D)/, cb)); + } + + var bubbleApi = 'https://dev.virtualearth.net/mapcontrol/HumanScaleServices/GetBubbles.ashx?'; + var streetsideImagesApi = 'https://t.ssl.ak.tiles.virtualearth.net/tiles/'; + var bubbleAppKey = 'AuftgJsO0Xs8Ts4M1xZUQJQXJNsvmh3IV8DkNieCiy3tCwCUMq76-WpkrBtNAuEm'; + var pannellumViewerCSS = 'pannellum-streetside/pannellum.css'; + var pannellumViewerJS = 'pannellum-streetside/pannellum.js'; + var maxResults$2 = 2000; + var tileZoom$2 = 16.5; + var dispatch$4 = dispatch('loadedBubbles', 'viewerChanged'); + var _currScene = 0; + var _ssCache; + var _pannellumViewer; + var _sceneOptions; + + /** + * abortRequest(). + */ + function abortRequest$3(i) { + i.abort(); + } + + /** + * nearNullIsland(). + */ + function nearNullIsland$2(x, y, z) { + if (z >= 7) { + var center = Math.pow(2, z - 1); + var width = Math.pow(2, z - 6); + var min$$1 = center - (width / 2); + var max$$1 = center + (width / 2) - 1; + return x >= min$$1 && x <= max$$1 && y >= min$$1 && y <= max$$1; + } + return false; + } + + /** + * localeTimeStamp(). + */ + function localeTimestamp$1(s) { + if (!s) return null; + var detected = utilDetect(); + var options = { day: 'numeric', month: 'short', year: 'numeric' }; + var d = new Date(s); + if (isNaN(d.getTime())) return null; + return d.toLocaleString(detected.locale, options); + } + + /** + * getTiles() returns array of d3 geo tiles. + * Using d3.geo.tiles.js from lib, gets tile extents for each grid tile in a grid created from + * an area around (and including) the current map view extents. + */ + function getTiles$2(projection) { + // s is the current map scale + // z is the 'Level of Detail', or zoom-level, where Level 1 is far from the earth, and Level 23 is close to the ground. + // ts ('tile size') here is the formula for determining the width/height of the map in pixels, but with a modification. + // See 'Ground Resolution and Map Scale': //https://msdn.microsoft.com/en-us/library/bb259689.aspx. + // As used here, by subtracting constant 'tileZoom' from z (the level), you end up with a much smaller value for the tile size (in pixels). + var s = projection.scale() * 2 * Math.PI; + var z = Math.max(Math.log(s) / Math.log(2) - 8, 0); + var ts = 256 * Math.pow(2, z - tileZoom$2); + var origin = [ + s / 2 - projection.translate()[0], + s / 2 - projection.translate()[1] + ]; + + return d3geoTile() + .scaleExtent([tileZoom$2, tileZoom$2]) + .scale(s) + .size(projection.clipExtent()[1]) + .translate(projection.translate())() + .map(function (tile) { + var x = tile[0] * ts - origin[0]; + var y = tile[1] * ts - origin[1]; + return { + id: tile.toString(), + xyz: tile, + extent: geoExtent$$1( + projection.invert([x, y + ts]), + projection.invert([x + ts, y]) + ) + }; + }); + } + + /** + * loadTiles() wraps the process of generating tiles and then fetching image points for each tile. + */ + function loadTiles$2(which, url, projection) { + var s = projection.scale() * 2 * Math.PI; + var currZoom = Math.floor(Math.max(Math.log(s) / Math.log(2) - 8, 0)); + + // breakup the map view into tiles + var tiles = getTiles$2(projection).filter(function (t$$1) { + return !nearNullIsland$2(t$$1.xyz[0], t$$1.xyz[1], t$$1.xyz[2]); + }); + + tiles.forEach(function (tile) { + loadNextTilePage$2(which, currZoom, url, tile); + }); + } + + /** + * loadNextTilePage() load data for the next tile page in line. + */ + function loadNextTilePage$2(which, currZoom, url, tile) { + var cache = _ssCache[which]; + var nextPage = cache.nextPage[tile.id] || 0; + var id = tile.id + ',' + String(nextPage); + if (cache.loaded[id] || cache.inflight[id]) return; + + cache.inflight[id] = getBubbles(url, tile, function(bubbles) { + cache.loaded[id] = true; + delete cache.inflight[id]; + if (!bubbles) return; + + // [].shift() removes the first element, some statistics info, not a bubble point + bubbles.shift(); + + var features = bubbles.map(function (bubble) { + if (cache.points[bubble.id]) return null; // skip duplicates + + var loc = [bubble.lo, bubble.la]; + var d = { + loc: loc, + key: bubble.id, + ca: bubble.he, + captured_at: bubble.cd, + captured_by: 'microsoft', + // nbn: bubble.nbn, + // pbn: bubble.pbn, + // ad: bubble.ad, + // rn: bubble.rn, + pr: bubble.pr, // previous + ne: bubble.ne, // next + pano: true, + sequenceKey: null + }; + + cache.points[bubble.id] = d; + + // a sequence starts here + if (bubble.pr === undefined) { + cache.leaders.push(bubble.id); + } + + return { + minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d + }; + + }).filter(Boolean); + + cache.rtree.load(features); + + connectSequences(); + + if (which === 'bubbles') { + dispatch$4.call('loadedBubbles'); + } + }); + } + + + // call this sometimes to connect the bubbles into sequences + function connectSequences() { + var cache = _ssCache.bubbles; + var keepLeaders = []; + + for (var i = 0; i < cache.leaders.length; i++) { + var bubble = cache.points[cache.leaders[i]]; + var seen = {}; + + // try to make a sequence.. use the key of the leader bubble. + var sequence = { key: bubble.key, bubbles: [] }; + var complete = false; + + do { + sequence.bubbles.push(bubble); + seen[bubble.key] = true; + + if (bubble.ne === undefined) { + complete = true; + } else { + bubble = cache.points[bubble.ne]; // advance to next + } + } while (bubble && !seen[bubble.key] && !complete); + + + if (complete) { + _ssCache.sequences[sequence.key] = sequence; + + // assign bubbles to the sequence + for (var j = 0; j < sequence.bubbles.length; j++) { + sequence.bubbles[j].sequenceKey = sequence.key; + } + + // create a GeoJSON LineString + sequence.geojson = { + type: 'LineString', + properties: { key: sequence.key }, + coordinates: sequence.bubbles.map(function (d) { return d.loc; }) + }; + + } else { + keepLeaders.push(cache.leaders[i]); + } + } + + // couldn't complete these, save for later + cache.leaders = keepLeaders; + } + + /** + * getBubbles() handles the request to the server for a tile extent of 'bubbles' (streetside image locations). + */ + function getBubbles(url, tile, callback) { + var rect = tile.extent.rectangle(); + var urlForRequest = url + utilQsString({ + n: rect[3], + s: rect[1], + e: rect[2], + w: rect[0], + c: maxResults$2, + appkey: bubbleAppKey, + jsCallback: '{callback}' + }); + + jsonpRequest(urlForRequest, function (data) { + if (!data || data.error) { + callback(null); + } else { + callback(data); + } + }); + } + + /** + * partitionViewport() partition viewport into `psize` x `psize` regions. + */ + function partitionViewport$2(psize, projection) { + var dimensions = projection.clipExtent()[1]; + psize = psize || 16; + + var cols = range(0, dimensions[0], psize); + var rows = range(0, dimensions[1], psize); + var partitions = []; + + rows.forEach(function (y) { + cols.forEach(function (x) { + var min$$1 = [x, y + psize]; + var max$$1 = [x + psize, y]; + partitions.push(geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1))); + }); + }); + + return partitions; + } + + + /** + * searchLimited(). + */ + function searchLimited$2(psize, limit, projection, rtree) { + limit = limit || 3; + + var partitions = partitionViewport$2(psize, projection); + var results; + + results = flatten(map$3(partitions, function (extent$$1) { + return rtree.search(extent$$1.bbox()) + .slice(0, limit) + .map(function (d) { return d.data; }); + })); + + return results; + } + + + var serviceStreetside = { + /** + * init() initialize streetside. + */ + init: function () { + if (!_ssCache) { + this.reset(); + } + + this.event = utilRebind(this, dispatch$4, 'on'); + }, + + /** + * reset() reset the cache. + */ + reset: function () { + var cache = _ssCache; + + if (cache) { + if (cache.bubbles && cache.bubbles.inflight) { + forEach(cache.bubbles.inflight, abortRequest$3); + } + } + + _ssCache = { + bubbles: { inflight: {}, loaded: {}, nextPage: {}, rtree: rbush_1(), points: {}, leaders: [] }, + sequences: {} + }; + }, + + /** + * bubbles() + */ + bubbles: function (projection) { + var psize = 32, limit = 3; + return searchLimited$2(psize, limit, projection, _ssCache.bubbles.rtree); + }, + + + sequences: function(projection) { + var viewport = projection.clipExtent(); + var min$$1 = [viewport[0][0], viewport[1][1]]; + var max$$1 = [viewport[1][0], viewport[0][1]]; + var bbox = geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)).bbox(); + var seen = {}; + var results = []; + + // all sequences for bubbles in viewport + _ssCache.bubbles.rtree.search(bbox) + .forEach(function(d) { + var key = d.data.sequenceKey; + if (key && !seen[key]) { + seen[key] = true; + results.push(_ssCache.sequences[key].geojson); + } + }); + + return results; + }, + + + /** + * loadBubbles() + */ + loadBubbles: function (projection) { + loadTiles$2('bubbles', bubbleApi, projection); + }, + + + viewer: function() { + return _pannellumViewer; + }, + + + initViewer: function () { + if (!window.pannellum) return; + if (_pannellumViewer) return; + + var sceneID = ++_currScene + ''; + var options = { + 'default': { firstScene: sceneID }, + scenes: {} + }; + options.scenes[sceneID] = _sceneOptions; + + _pannellumViewer = window.pannellum.viewer('viewer-streetside', options); + + _pannellumViewer + .on('mousedown', function() { + select(window).on('mousemove.pannellum', function() { + dispatch$4.call('viewerChanged'); + }); + }) + .on('mouseup', function() { + select(window).on('mousemove.pannellum', null); + // continue dispatching events for a few seconds, in case viewer has inertia. + var t$$1 = timer(function(elapsed) { + dispatch$4.call('viewerChanged'); + if (elapsed > 2000) { + t$$1.stop(); + } + }); + }); + }, + + + /** + * loadViewer() create the streeside viewer. + */ + loadViewer: function (context) { + // create ms-wrapper, a photo wrapper class + var wrap = select('#photoviewer').selectAll('.ms-wrapper') + .data([0]); + + // inject ms-wrapper into the photoviewer div + // (used by all to house each custom photo viewer) + var wrapEnter = wrap.enter() + .append('div') + .attr('id', 'ms') + .attr('class', 'photo-wrapper ms-wrapper') + .classed('hide', true); + + // inject div to support streetside viewer (pannellum) and attribution line + wrapEnter + .append('div') + .attr('id', 'viewer-streetside') + .append('div') + .attr('class', 'photo-attribution fillD'); + + // load streetside pannellum viewer css + select('head').selectAll('#streetside-viewercss') + .data([0]) + .enter() + .append('link') + .attr('id', 'streetside-viewercss') + .attr('rel', 'stylesheet') + .attr('href', context.asset(pannellumViewerCSS)); + + // load streetside pannellum viewer js + select('head').selectAll('#streetside-viewerjs') + .data([0]) + .enter() + .append('script') + .attr('id', 'streetside-viewerjs') + .attr('src', context.asset(pannellumViewerJS)); + }, + + /** + * showViewer() + */ + showViewer: function (yaw) { + if (!_sceneOptions) return; + + if (yaw !== undefined) { + _sceneOptions.yaw = yaw; + } + + if (!_pannellumViewer) { + this.initViewer(); + } else { + // make a new scene + var sceneID = ++_currScene + ''; + _pannellumViewer + .addScene(sceneID, _sceneOptions) + .loadScene(sceneID); + + // remove previous scene + if (_currScene > 2) { + sceneID = (_currScene - 1) + ''; + _pannellumViewer + .removeScene(sceneID); + } + + } + + var wrap = select('#photoviewer') + .classed('hide', false); + + var isHidden = wrap.selectAll('.photo-wrapper.ms-wrapper.hide').size(); + + if (isHidden) { + wrap + .selectAll('.photo-wrapper:not(.ms-wrapper)') + .classed('hide', true); + + wrap + .selectAll('.photo-wrapper.ms-wrapper') + .classed('hide', false); + } + + return this; + }, + + /** + * hideViewer() + */ + hideViewer: function () { + var viewer = select('#photoviewer'); + if (!viewer.empty()) viewer.datum(null); + + viewer + .classed('hide', true) + .selectAll('.photo-wrapper') + .classed('hide', true); + + d3_selectAll('.viewfield-group, .sequence, .icon-sign') + .classed('selected', false); + + return this.setStyles(null, true); + }, + + /** + * selectImage(). + */ + selectImage: function (d) { + var viewer = select('#photoviewer'); + if (!viewer.empty()) viewer.datum(d); + + this.setStyles(null, true); + + var wrap = select('#photoviewer .ms-wrapper'); + var attribution = wrap.selectAll('.photo-attribution').html(''); + var year = (new Date()).getFullYear(); + + if (d) { + if (d.captured_by) { + attribution + .append('a') + .attr('class', 'captured_by') + .attr('target', '_blank') + .attr('href', 'https://www.microsoft.com/en-us/maps/streetside') + .text('©' + year + ' Microsoft'); + + attribution + .append('span') + .text('|'); + } + + if (d.captured_at) { + attribution + .append('span') + .attr('class', 'captured_at') + .text(localeTimestamp$1(d.captured_at)); + } + + attribution + .append('a') + .attr('class', 'image_link') + .attr('target', '_blank') + .attr('href', 'https://www.bing.com/maps/privacyreport/streetsideprivacyreport?bubbleid=' + encodeURIComponent(d.key) + + '&focus=photo&lat=' + d.loc[1] + '&lng=' + d.loc[0] + '&z=17') + .text(t('streetside.report')); + + + var bubbleIdQuadKey = d.key.toString(4); + var paddingNeeded = 16 - bubbleIdQuadKey.length; + for (var i = 0; i < paddingNeeded; i++) { + bubbleIdQuadKey = '0' + bubbleIdQuadKey; + } + + // Order matters here: front=01, right=02, back=03, left=10, up=11, down=12 + var imgLocIdxArr = ['01','02','03','10','11','12']; + var imgUrlPrefix = streetsideImagesApi + 'hs' + bubbleIdQuadKey; + var imgUrlSuffix = '.jpg?g=6338&n=z'; + + _sceneOptions = { + showFullscreenCtrl: false, + autoLoad: true, + compass: true, + northOffset: d.ca, + yaw: 0, + type: 'cubemap', + cubeMap: [ + imgUrlPrefix + imgLocIdxArr[0] + imgUrlSuffix, + imgUrlPrefix + imgLocIdxArr[1] + imgUrlSuffix, + imgUrlPrefix + imgLocIdxArr[2] + imgUrlSuffix, + imgUrlPrefix + imgLocIdxArr[3] + imgUrlSuffix, + imgUrlPrefix + imgLocIdxArr[4] + imgUrlSuffix, + imgUrlPrefix + imgLocIdxArr[5] + imgUrlSuffix + ] + }; + } + + return this; + }, + + + getSequenceKeyForBubble: function(d) { + return d && d.sequenceKey; + }, + + + /** + * setStyles(). + */ + setStyles: function (hovered, reset) { + if (reset) { // reset all layers + d3_selectAll('.viewfield-group') + .classed('highlighted', false) + .classed('hovered', false) + .classed('selected', false); + + d3_selectAll('.sequence') + .classed('highlighted', false) + .classed('selected', false); + } + + var hoveredBubbleKey = hovered && hovered.key; + var hoveredSequenceKey = this.getSequenceKeyForBubble(hovered); + var hoveredSequence = hoveredSequenceKey && _ssCache.sequences[hoveredSequenceKey]; + var hoveredBubbleKeys = (hoveredSequence && hoveredSequence.bubbles.map(function (d) { return d.key; })) || []; + + var viewer = select('#photoviewer'); + var selected = viewer.empty() ? undefined : viewer.datum(); + var selectedBubbleKey = selected && selected.key; + var selectedSequenceKey = this.getSequenceKeyForBubble(selected); + var selectedSequence = selectedSequenceKey && _ssCache.sequences[selectedSequenceKey]; + var selectedBubbleKeys = (selectedSequence && selectedSequence.bubbles.map(function (d) { return d.key; })) || []; + + // highlight sibling viewfields on either the selected or the hovered sequences + var highlightedBubbleKeys = union(hoveredBubbleKeys, selectedBubbleKeys); + + d3_selectAll('.layer-streetside-images .viewfield-group') + .classed('highlighted', function (d) { return highlightedBubbleKeys.indexOf(d.key) !== -1; }) + .classed('hovered', function (d) { return d.key === hoveredBubbleKey; }) + .classed('selected', function (d) { return d.key === selectedBubbleKey; }); + + d3_selectAll('.layer-streetside-images .sequence') + .classed('highlighted', function (d) { return d.properties.key === hoveredSequenceKey; }) + .classed('selected', function (d) { return d.properties.key === selectedSequenceKey; }); + + // update viewfields if needed + d3_selectAll('.viewfield-group .viewfield') + .attr('d', viewfieldPath); + + function viewfieldPath() { + var d = this.parentNode.__data__; + if (d.pano && d.key !== selectedBubbleKey) { + return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0'; + } else { + return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z'; + } + } + + return this; + }, + + /** + * cache(). + */ + cache: function () { + return _ssCache; + } + }; + + var apibase$3 = 'https://taginfo.openstreetmap.org/api/4/', + inflight$1 = {}, + popularKeys = {}, + taginfoCache = {}, + tag_sorts = { + point: 'count_nodes', + vertex: 'count_nodes', + area: 'count_ways', + line: 'count_ways' + }, + tag_sort_members = { + point: 'count_node_members', + vertex: 'count_node_members', + area: 'count_way_members', + line: 'count_way_members', + relation: 'count_relation_members' + }, + tag_filters = { + point: 'nodes', + vertex: 'nodes', + area: 'ways', + line: 'ways' + }, + tag_members_fractions = { + point: 'count_node_members_fraction', + vertex: 'count_node_members_fraction', + area: 'count_way_members_fraction', + line: 'count_way_members_fraction', + relation: 'count_relation_members_fraction' + }; + + + function sets(params, n, o) { + if (params.geometry && o[params.geometry]) { + params[n] = o[params.geometry]; + } + return params; + } + + + function setFilter(params) { + return sets(params, 'filter', tag_filters); + } + + + function setSort(params) { + return sets(params, 'sortname', tag_sorts); + } + + + function setSortMembers(params) { + return sets(params, 'sortname', tag_sort_members); + } + + + function clean(params) { + return omit(params, ['geometry', 'debounce']); + } + + + function filterKeys(type) { + var count_type = type ? 'count_' + type : 'count_all'; + return function(d) { + return parseFloat(d[count_type]) > 2500 || d.in_wiki; + }; + } + + + function filterMultikeys(prefix) { + return function(d) { + // d.key begins with prefix, and d.key contains no additional ':'s + var re = new RegExp('^' + prefix + '(.*)$'); + var matches = d.key.match(re) || []; + return (matches.length === 2 && matches[1].indexOf(':') === -1); + }; + } + + + function filterValues(allowUpperCase) { + return function(d) { + if (d.value.match(/[;,]/) !== null) return false; // exclude some punctuation + if (!allowUpperCase && d.value.match(/[A-Z*]/) !== null) return false; // exclude uppercase letters + return parseFloat(d.fraction) > 0.0 || d.in_wiki; + }; + } + + + function filterRoles(geometry) { + return function(d) { + if (d.role === '') return false; // exclude empty role + if (d.role.match(/[A-Z*;,]/) !== null) return false; // exclude uppercase letters and some punctuation + return parseFloat(d[tag_members_fractions[geometry]]) > 0.0; + }; + } + + + function valKey(d) { + return { + value: d.key, + title: d.key + }; + } + + + function valKeyDescription(d) { + return { + value: d.value, + title: d.description || d.value + }; + } + + + function roleKey(d) { + return { + value: d.role, + title: d.role + }; + } + + + // sort keys with ':' lower than keys without ':' + function sortKeys(a, b) { + return (a.key.indexOf(':') === -1 && b.key.indexOf(':') !== -1) ? -1 + : (a.key.indexOf(':') !== -1 && b.key.indexOf(':') === -1) ? 1 + : 0; + } + + + var debouncedRequest = debounce(request$1, 500, { leading: false }); + + function request$1(url, params, exactMatch, callback, loaded) { + if (inflight$1[url]) return; + + if (checkCache(url, params, exactMatch, callback)) return; + + inflight$1[url] = d3_json(url, function (err, data) { + delete inflight$1[url]; + loaded(err, data); + }); + } + + + function checkCache(url, params, exactMatch, callback) { + var rp = params.rp || 25, + testQuery = params.query || '', + testUrl = url; + + do { + var hit = taginfoCache[testUrl]; + + // exact match, or shorter match yielding fewer than max results (rp) + if (hit && (url === testUrl || hit.length < rp)) { + callback(null, hit); + return true; + } + + // don't try to shorten the query + if (exactMatch || !testQuery.length) return false; + + // do shorten the query to see if we already have a cached result + // that has returned fewer than max results (rp) + testQuery = testQuery.slice(0, -1); + testUrl = url.replace(/&query=(.*?)&/, '&query=' + testQuery + '&'); + } while (testQuery.length >= 0); + + return false; + } + + + var serviceTaginfo = { + + init: function() { + inflight$1 = {}; + taginfoCache = {}; + popularKeys = {}; + + // Fetch popular keys. We'll exclude these from `values` + // lookups because they stress taginfo, and they aren't likely + // to yield meaningful autocomplete results.. see #3955 + var params = { rp: 100, sortname: 'values_all', sortorder: 'desc', page: 1, debounce: false }; + this.keys(params, function(err, data) { + if (err) return; + data.forEach(function(d) { + if (d.value === 'opening_hours') return; // exception + popularKeys[d.value] = true; + }); + }); + }, + + + reset: function() { + forEach(inflight$1, function(req) { req.abort(); }); + inflight$1 = {}; + }, + + + keys: function(params, callback) { + var doRequest = params.debounce ? debouncedRequest : request$1; + params = clean(setSort(params)); + params = assignIn({ rp: 10, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); + + var url = apibase$3 + 'keys/all?' + utilQsString(params); + doRequest(url, params, false, callback, function(err, d) { + if (err) { + callback(err); + } else { + var f = filterKeys(params.filter); + var result = d.data.filter(f).sort(sortKeys).map(valKey); + taginfoCache[url] = result; + callback(null, result); + } + }); + }, + + + multikeys: function(params, callback) { + var doRequest = params.debounce ? debouncedRequest : request$1; + params = clean(setSort(params)); + params = assignIn({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); + var prefix = params.query; + + var url = apibase$3 + 'keys/all?' + utilQsString(params); + doRequest(url, params, true, callback, function(err, d) { + if (err) { + callback(err); + } else { + var f = filterMultikeys(prefix); + var result = d.data.filter(f).map(valKey); + taginfoCache[url] = result; + callback(null, result); + } + }); + }, + + + values: function(params, callback) { + // Exclude popular keys from values lookups.. see #3955 + var key = params.key; + if (key && popularKeys[key]) { + callback(null, []); + return; + } + + var doRequest = params.debounce ? debouncedRequest : request$1; + params = clean(setSort(setFilter(params))); + params = assignIn({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1 }, params); + + var url = apibase$3 + 'key/values?' + utilQsString(params); + doRequest(url, params, false, callback, function(err, d) { + if (err) { + callback(err); + } else { + // In most cases we prefer taginfo value results with lowercase letters. + // A few OSM keys expect values to contain uppercase values (see #3377). + // This is not an exhaustive list (e.g. `name` also has uppercase values) + // but these are the fields where taginfo value lookup is most useful. + var re = /network|taxon|genus|species|brand|grape_variety|rating|:output|_hours|_times/; + var allowUpperCase = (params.key.match(re) !== null); + var f = filterValues(allowUpperCase); + + var result = d.data.filter(f).map(valKeyDescription); + taginfoCache[url] = result; + callback(null, result); + } + }); + }, + + + roles: function(params, callback) { + var doRequest = params.debounce ? debouncedRequest : request$1; + var geometry = params.geometry; + params = clean(setSortMembers(params)); + params = assignIn({ rp: 25, sortname: 'count_all_members', sortorder: 'desc', page: 1 }, params); + + var url = apibase$3 + 'relation/roles?' + utilQsString(params); + doRequest(url, params, true, callback, function(err, d) { + if (err) { + callback(err); + } else { + var f = filterRoles(geometry); + var result = d.data.filter(f).map(roleKey); + taginfoCache[url] = result; + callback(null, result); + } + }); + }, + + + docs: function(params, callback) { + var doRequest = params.debounce ? debouncedRequest : request$1; + params = clean(setSort(params)); + + var path = 'key/wiki_pages?'; + if (params.value) path = 'tag/wiki_pages?'; + else if (params.rtype) path = 'relation/wiki_pages?'; + + var url = apibase$3 + path + utilQsString(params); + doRequest(url, params, true, callback, function(err, d) { + if (err) { + callback(err); + } else { + taginfoCache[url] = d.data; + callback(null, d.data); + } + }); + }, + + + apibase: function(_) { + if (!arguments.length) return apibase$3; + apibase$3 = _; + return this; + } + + }; + + var endpoint = 'https://www.wikidata.org/w/api.php?'; + + var serviceWikidata = { + + init: function() {}, + reset: function() {}, + + + // Given a Wikipedia language and article title, return an array of + // corresponding Wikidata entities. + itemsByTitle: function(lang, title, callback) { + if (!title) { + callback('', {}); + return; + } + + lang = lang || 'en'; + jsonpRequest(endpoint + utilQsString({ + action: 'wbgetentities', + format: 'json', + sites: lang.replace(/-/g, '_') + 'wiki', + titles: title, + languages: 'en', // shrink response by filtering to one language + callback: '{callback}' + }), function(data) { + if (!data || data.error) { + callback('', {}); + } else { + callback(title, data.entities || {}); + } + }); + } + + }; + + var endpoint$1 = 'https://en.wikipedia.org/w/api.php?'; + + var serviceWikipedia = { + + init: function() {}, + reset: function() {}, + + + search: function(lang, query, callback) { + if (!query) { + callback('', []); + return; + } + + lang = lang || 'en'; + jsonpRequest(endpoint$1.replace('en', lang) + + utilQsString({ + action: 'query', + list: 'search', + srlimit: '10', + srinfo: 'suggestion', + format: 'json', + callback: '{callback}', + srsearch: query + }), function(data) { + if (!data || !data.query || !data.query.search || data.error) { + callback('', []); + } else { + var results = data.query.search.map(function(d) { return d.title; }); + callback(query, results); + } + } + ); + }, + + + suggestions: function(lang, query, callback) { + if (!query) { + callback('', []); + return; + } + + lang = lang || 'en'; + jsonpRequest(endpoint$1.replace('en', lang) + + utilQsString({ + action: 'opensearch', + namespace: 0, + suggest: '', + format: 'json', + callback: '{callback}', + search: query + }), function(data) { + if (!data || data.error) { + callback('', []); + } else { + callback(data[0], data[1] || []); + } + } + ); + }, + + + translations: function(lang, title, callback) { + if (!title) { + callback({}); + return; + } + + jsonpRequest(endpoint$1.replace('en', lang) + + utilQsString({ + action: 'query', + prop: 'langlinks', + format: 'json', + callback: '{callback}', + lllimit: 500, + titles: title + }), function(data) { + if (!data || !data.query || !data.query.pages || data.error) { + callback({}); + } else { + var list = data.query.pages[Object.keys(data.query.pages)[0]], + translations = {}; + if (list && list.langlinks) { + list.langlinks.forEach(function(d) { + translations[d.lang] = d['*']; + }); + } + callback(translations); + } + } + ); + } + + }; + + var services = { + geocoder: serviceNominatim, + mapillary: serviceMapillary, + openstreetcam: serviceOpenstreetcam, + osm: serviceOsm, + streetside: serviceStreetside, + taginfo: serviceTaginfo, + wikidata: serviceWikidata, + wikipedia: serviceWikipedia + }; + + var _isSaving = false; + + + function modeSave$$1(context) { + var mode = { id: 'save' }; + var keybinding = d3keybinding('modeSave'); + + var loading = uiLoading(context) + .message(t('save.uploading')) + .blocking(true); + + var commit = uiCommit(context) + .on('cancel', cancel) + .on('save', save); + + var _toCheck = []; + var _toLoad = []; + var _loaded = {}; + var _toLoadCount = 0; + var _toLoadTotal = 0; + + var _conflicts = []; + var _errors = []; + var _origChanges; + var _location; + + + function cancel(selectedID) { + if (selectedID) { + context.enter(modeSelect(context, [selectedID])); + } else { + context.enter(modeBrowse(context)); + } + } + + + function save(changeset, tryAgain, checkConflicts) { + // Guard against accidentally entering save code twice - #4641 + if (_isSaving && !tryAgain) { + return; + } + + var osm = context.connection(); + if (!osm) { + cancel(); + return; + } + + // If user somehow got logged out mid-save, try to reauthenticate.. + // This can happen if they were logged in from before, but the tokens are no longer valid. + if (!osm.authenticated()) { + osm.authenticate(function(err) { + if (err) { + cancel(); // quit save mode.. + } else { + save(changeset, tryAgain, checkConflicts); // continue where we left off.. + } + }); + return; + } + + if (!_isSaving) { + keybindingOff(); + context.container().call(loading); // block input + _isSaving = true; + } + + var history = context.history(); + var localGraph = context.graph(); + var remoteGraph = coreGraph$$1(history.base(), true); + + _conflicts = []; + _errors = []; + + // Store original changes, in case user wants to download them as an .osc file + _origChanges = history.changes(actionDiscardTags(history.difference())); + + // First time, `history.perform` a no-op action. + // Any conflict resolutions will be done as `history.replace` + if (!tryAgain) { + history.perform(actionNoop()); + } + + // Attempt a fast upload.. If there are conflicts, re-enter with `checkConflicts = true` + if (!checkConflicts) { + upload(changeset); + + // Do the full (slow) conflict check.. + } else { + var modified = filter(history.difference().summary(), { changeType: 'modified' }); + _toCheck = map$3(map$3(modified, 'entity'), 'id'); + _toLoad = withChildNodes(_toCheck, localGraph); + _loaded = {}; + _toLoadCount = 0; + _toLoadTotal = _toLoad.length; + + if (_toCheck.length) { + showProgress(_toLoadCount, _toLoadTotal); + _toLoad.forEach(function(id) { _loaded[id] = false; }); + osm.loadMultiple(_toLoad, loaded); + } else { + upload(changeset); + } + } + + return; + + + function withChildNodes(ids, graph) { + return uniq(reduce(ids, function(result, id) { + var entity = graph.entity(id); + if (entity.type === 'way') { + try { + var children = graph.childNodes(entity); + result.push.apply(result, map$3(filter(children, 'version'), 'id')); + } catch (err) { + /* eslint-disable no-console */ + if (typeof console !== 'undefined') console.error(err); + /* eslint-enable no-console */ + } + } + return result; + }, clone(ids))); + } + + + // Reload modified entities into an alternate graph and check for conflicts.. + function loaded(err, result) { + if (_errors.length) return; + + if (err) { + _errors.push({ + msg: err.message || err.responseText, + details: [ t('save.status_code', { code: err.status }) ] + }); + showErrors(); + + } else { + var loadMore = []; + + result.data.forEach(function(entity) { + remoteGraph.replace(entity); + _loaded[entity.id] = true; + _toLoad = without(_toLoad, entity.id); + + if (!entity.visible) return; + + // Because loadMultiple doesn't download /full like loadEntity, + // need to also load children that aren't already being checked.. + var i, id; + if (entity.type === 'way') { + for (i = 0; i < entity.nodes.length; i++) { + id = entity.nodes[i]; + if (_loaded[id] === undefined) { + _loaded[id] = false; + loadMore.push(id); + } + } + } else if (entity.type === 'relation' && entity.isMultipolygon()) { + for (i = 0; i < entity.members.length; i++) { + id = entity.members[i].id; + if (_loaded[id] === undefined) { + _loaded[id] = false; + loadMore.push(id); + } + } + } + }); + + _toLoadCount += result.data.length; + _toLoadTotal += loadMore.length; + showProgress(_toLoadCount, _toLoadTotal); + + if (loadMore.length) { + _toLoad.push.apply(_toLoad, loadMore); + osm.loadMultiple(loadMore, loaded); + } + + if (!_toLoad.length) { + detectConflicts(); + } + } + } + + + function detectConflicts() { + function choice(id, text, action) { + return { id: id, text: text, action: function() { history.replace(action); } }; + } + function formatUser(d) { + return '' + d + ''; + } + function entityName(entity) { + return utilDisplayName(entity) || (utilDisplayType(entity.id) + ' ' + entity.id); + } + + function sameVersions(local$$1, remote) { + if (local$$1.version !== remote.version) return false; + + if (local$$1.type === 'way') { + var children = union(local$$1.nodes, remote.nodes); + for (var i = 0; i < children.length; i++) { + var a = localGraph.hasEntity(children[i]); + var b = remoteGraph.hasEntity(children[i]); + if (a && b && a.version !== b.version) return false; + } + } + + return true; + } + + _toCheck.forEach(function(id) { + var local$$1 = localGraph.entity(id); + var remote = remoteGraph.entity(id); + + if (sameVersions(local$$1, remote)) return; + + var action = actionMergeRemoteChanges; + var merge = action(id, localGraph, remoteGraph, formatUser); + + history.replace(merge); + + var mergeConflicts = merge.conflicts(); + if (!mergeConflicts.length) return; // merged safely + + var forceLocal = action(id, localGraph, remoteGraph).withOption('force_local'); + var forceRemote = action(id, localGraph, remoteGraph).withOption('force_remote'); + var keepMine = t('save.conflict.' + (remote.visible ? 'keep_local' : 'restore')); + var keepTheirs = t('save.conflict.' + (remote.visible ? 'keep_remote' : 'delete')); + + _conflicts.push({ + id: id, + name: entityName(local$$1), + details: mergeConflicts, + chosen: 1, + choices: [ + choice(id, keepMine, forceLocal), + choice(id, keepTheirs, forceRemote) + ] + }); + }); + + upload(changeset); + } + } + + + function upload(changeset) { + var osm = context.connection(); + if (!osm) { + _errors.push({ msg: 'No OSM Service' }); + } + + if (_conflicts.length) { + _conflicts.sort(function(a, b) { return b.id.localeCompare(a.id); }); + showConflicts(changeset); + + } else if (_errors.length) { + showErrors(); + + } else { + var history = context.history(); + var changes = history.changes(actionDiscardTags(history.difference())); + if (changes.modified.length || changes.created.length || changes.deleted.length) { + loadLocation(); // so it is ready when we display the save screen + osm.putChangeset(changeset, changes, uploadCallback); + } else { // changes were insignificant or reverted by user + select('.inspector-wrap *').remove(); + loading.close(); + _isSaving = false; + context.flush(); + cancel(); + } + } + } + + + function uploadCallback(err, changeset) { + if (err) { + if (err.status === 409) { // 409 Conflict + save(changeset, true, true); // tryAgain = true, checkConflicts = true + } else { + _errors.push({ + msg: err.message || err.responseText, + details: [ t('save.status_code', { code: err.status }) ] + }); + showErrors(); + } + + } else { + context.history().clearSaved(); + success(changeset); + // Add delay to allow for postgres replication #1646 #2678 + window.setTimeout(function() { + select('.inspector-wrap *').remove(); + loading.close(); + _isSaving = false; + context.flush(); + }, 2500); + } + } + + + function showProgress(num, total) { + var modal = context.container().select('.loading-modal .modal-section'); + var progress = modal.selectAll('.progress') + .data([0]); + + // enter/update + progress.enter() + .append('div') + .attr('class', 'progress') + .merge(progress) + .text(t('save.conflict_progress', { num: num, total: total })); + } + + + function showConflicts(changeset) { + var history = context.history(); + var selection$$1 = context.container() + .select('#sidebar') + .append('div') + .attr('class','sidebar-component'); + + loading.close(); + _isSaving = false; + + var ui = uiConflicts(context) + .conflictList(_conflicts) + .origChanges(_origChanges) + .on('cancel', function() { + history.pop(); + selection$$1.remove(); + keybindingOn(); + }) + .on('save', function() { + for (var i = 0; i < _conflicts.length; i++) { + if (_conflicts[i].chosen === 1) { // user chose "keep theirs" + var entity = context.hasEntity(_conflicts[i].id); + if (entity && entity.type === 'way') { + var children = uniq(entity.nodes); + for (var j = 0; j < children.length; j++) { + history.replace(actionRevert(children[j])); + } + } + history.replace(actionRevert(_conflicts[i].id)); + } + } + + selection$$1.remove(); + save(changeset, true, false); // tryAgain = true, checkConflicts = false + }); + + selection$$1.call(ui); + } + + + function showErrors() { + keybindingOn(); + context.history().pop(); + loading.close(); + _isSaving = false; + + var selection$$1 = uiConfirm(context.container()); + selection$$1 + .select('.modal-section.header') + .append('h3') + .text(t('save.error')); + + addErrors(selection$$1, _errors); + selection$$1.okButton(); + } + + + function addErrors(selection$$1, data) { + var message = selection$$1 + .select('.modal-section.message-text'); + + var items = message + .selectAll('.error-container') + .data(data); + + var enter = items.enter() + .append('div') + .attr('class', 'error-container'); + + enter + .append('a') + .attr('class', 'error-description') + .attr('href', '#') + .classed('hide-toggle', true) + .text(function(d) { return d.msg || t('save.unknown_error_details'); }) + .on('click', function() { + event.preventDefault(); + + var error = select(this); + var detail = select(this.nextElementSibling); + var exp = error.classed('expanded'); + + detail.style('display', exp ? 'none' : 'block'); + error.classed('expanded', !exp); + }); + + var details = enter + .append('div') + .attr('class', 'error-detail-container') + .style('display', 'none'); + + details + .append('ul') + .attr('class', 'error-detail-list') + .selectAll('li') + .data(function(d) { return d.details || []; }) + .enter() + .append('li') + .attr('class', 'error-detail-item') + .text(function(d) { return d; }); + + items.exit() + .remove(); + } + + + function success(changeset) { + commit.reset(); + + var ui = uiSuccess$$1(context) + .changeset(changeset) + .location(_location) + .on('cancel', function() { context.ui().sidebar.hide(); }); + + context.enter(modeBrowse(context).sidebar(ui)); + } + + + function keybindingOn() { + select(document) + .call(keybinding.on('⎋', cancel, true)); + } + + + function keybindingOff() { + select(document) + .call(keybinding.off); + } + + + // Reverse geocode current map location so we can display a message on + // the success screen like "Thank you for editing around city, state." + function loadLocation() { + _location = null; + if (!services.geocoder) return; + + services.geocoder.reverse(context.map().center(), function(err, result) { + if (err || !result || !result.address) return; + + var parts = []; + var addr = result.address; + var city = addr && (addr.town || addr.city || addr.county); + if (city) parts.push(city); + var region = addr && (addr.state || addr.country); + if (region) parts.push(region); + + _location = parts.join(', '); + }); + } + + + mode.enter = function() { + function done() { + context.ui().sidebar.show(commit); + } + + keybindingOn(); + + context.container().selectAll('#content') + .attr('class', 'inactive'); + + var osm = context.connection(); + if (!osm) { + cancel(); + return; + } + + if (osm.authenticated()) { + done(); + } else { + osm.authenticate(function(err) { + if (err) { + cancel(); + } else { + done(); + } + }); + } + }; + + + mode.exit = function() { + _isSaving = false; + + keybindingOff(); + + context.container().selectAll('#content') + .attr('class', 'active'); + + context.ui().sidebar.hide(); + }; + + return mode; + } + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeMin$1 = Math.min; + + /** + * 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$1(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; + } + + /** + * 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 : []; + } + + /** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by 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 intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; + }); + + // Translate a MacOS key command into the appropriate Windows/Linux equivalent. + // For example, ⌘Z -> Ctrl+Z + var uiCmd = function (code) { + var detected = utilDetect(); + + if (detected.os === 'mac') { + return code; + } + + if (detected.os === 'win') { + if (code === '⌘⇧Z') return 'Ctrl+Y'; + } + + var result = '', + replacements = { + '⌘': 'Ctrl', + '⇧': 'Shift', + '⌥': 'Alt', + '⌫': 'Backspace', + '⌦': 'Delete' + }; + + for (var i = 0; i < code.length; i++) { + if (code[i] in replacements) { + result += replacements[code[i]] + (i < code.length - 1 ? '+' : ''); + } else { + result += code[i]; + } + } + + return result; + }; + + + // return a display-focused string for a given keyboard code + uiCmd.display = function(code) { + if (code.length !== 1) return code; + + var detected = utilDetect(); + var mac = (detected.os === 'mac'); + var replacements = { + '⌘': mac ? '⌘ ' + t('shortcuts.key.cmd') : t('shortcuts.key.ctrl'), + '⇧': mac ? '⇧ ' + t('shortcuts.key.shift') : t('shortcuts.key.shift'), + '⌥': mac ? '⌥ ' + t('shortcuts.key.option') : t('shortcuts.key.alt'), + '⌃': mac ? '⌃ ' + t('shortcuts.key.ctrl') : t('shortcuts.key.ctrl'), + '⌫': mac ? '⌫ ' + t('shortcuts.key.delete') : t('shortcuts.key.backspace'), + '⌦': mac ? '⌦ ' + t('shortcuts.key.del') : t('shortcuts.key.del'), + '↖': mac ? '↖ ' + t('shortcuts.key.pgup') : t('shortcuts.key.pgup'), + '↘': mac ? '↘ ' + t('shortcuts.key.pgdn') : t('shortcuts.key.pgdn'), + '⇞': mac ? '⇞ ' + t('shortcuts.key.home') : t('shortcuts.key.home'), + '⇟': mac ? '⇟ ' + t('shortcuts.key.end') : t('shortcuts.key.end'), + '↵': mac ? '↵ ' + t('shortcuts.key.return') : t('shortcuts.key.enter'), + '⎋': mac ? '⎋ ' + t('shortcuts.key.esc') : t('shortcuts.key.esc'), + }; + + return replacements[code] || code; + }; + + var relatedParent; + + + function modeSelect(context, selectedIDs) { + var mode = { + id: 'select', + button: 'browse' + }; + + var keybinding = d3keybinding('select'); + var timeout = null; + var behaviors = [ + behaviorCopy(context), + behaviorPaste(context), + behaviorBreathe(context), + behaviorHover(context), + behaviorSelect(context), + behaviorLasso(context), + modeDragNode$$1(context).restoreSelectedIDs(selectedIDs).behavior + ]; + var inspector; + var editMenu; + var newFeature = false; + var suppressMenu = true; + var follow = false; + + + var wrap = context.container() + .select('.inspector-wrap'); + + + function singular() { + if (selectedIDs.length === 1) { + return context.hasEntity(selectedIDs[0]); + } + } + + + function checkSelectedIDs() { + var ids = []; + if (Array.isArray(selectedIDs)) { + ids = selectedIDs.filter(function(id) { + return context.hasEntity(id); + }); + } + + if (ids.length) { + selectedIDs = ids; + } else { + context.enter(modeBrowse(context)); + } + return !!ids.length; + } + + + // find the common parent ways for nextVertex, previousVertex + function commonParents() { + var graph = context.graph(); + var commonParents = []; + + for (var i = 0; i < selectedIDs.length; i++) { + var entity = context.hasEntity(selectedIDs[i]); + if (!entity || entity.geometry(graph) !== 'vertex') { + return []; // selection includes some not vertexes + } + + var currParents = map$3(graph.parentWays(entity), 'id'); + if (!commonParents.length) { + commonParents = currParents; + continue; + } + + commonParents = intersection(commonParents, currParents); + if (!commonParents.length) { + return []; + } + } + + return commonParents; + } + + + function singularParent() { + var parents = commonParents(); + if (!parents || parents.length === 0) { + relatedParent = null; + return null; + } + + // relatedParent is used when we visit a vertex with multiple + // parents, and we want to remember which parent line we started on. + + if (parents.length === 1) { + relatedParent = parents[0]; // remember this parent for later + return relatedParent; + } + + if (parents.indexOf(relatedParent) !== -1) { + return relatedParent; // prefer the previously seen parent + } + + return parents[0]; + } + + + function closeMenu() { + if (editMenu) { + context.surface().call(editMenu.close); + } + } + + + function positionMenu() { + if (!editMenu) { return; } + + var entity = singular(); + if (entity && context.geometry(entity.id) === 'relation') { + suppressMenu = true; + } else { + var point$$1 = context.mouse(); + var viewport = geoExtent$$1(context.projection.clipExtent()).polygon(); + + if (point$$1 && geoPointInPolygon(point$$1, viewport)) { + editMenu.center(point$$1); + } else { + suppressMenu = true; + } + } + } + + + function showMenu() { + closeMenu(); + if (editMenu) { + context.surface().call(editMenu); + } + } + + + function toggleMenu() { + // deprecation warning - Radial Menu to be removed in iD v3 + if (select('.edit-menu, .radial-menu').empty()) { + positionMenu(); + showMenu(); + } else { + closeMenu(); + } + } + + + mode.selectedIDs = function() { + return selectedIDs; + }; + + + mode.reselect = function() { + if (!checkSelectedIDs()) return; + + var surfaceNode = context.surface().node(); + if (surfaceNode.focus) { // FF doesn't support it + surfaceNode.focus(); + } + + positionMenu(); + if (!suppressMenu) { + showMenu(); + } + }; + + + mode.newFeature = function(_) { + if (!arguments.length) return newFeature; + newFeature = _; + return mode; + }; + + + mode.suppressMenu = function(_) { + if (!arguments.length) return suppressMenu; + suppressMenu = _; + return mode; + }; + + + mode.follow = function(_) { + if (!arguments.length) return follow; + follow = _; + return mode; + }; + + + mode.enter = function() { + + function update() { + closeMenu(); + checkSelectedIDs(); + } + + + function dblclick() { + var target = select(event.target); + + var datum = target.datum(); + var entity = datum && datum.properties && datum.properties.entity; + if (!entity) return; + + if (entity instanceof osmWay && target.classed('target')) { + var choice = geoChooseEdge(context.childNodes(entity), context.mouse(), context.projection); + var prev = entity.nodes[choice.index - 1]; + var next = entity.nodes[choice.index]; + + context.perform( + actionAddMidpoint({loc: choice.loc, edge: [prev, next]}, osmNode()), + t('operations.add.annotation.vertex') + ); + + event.preventDefault(); + event.stopPropagation(); + + } else if (entity.type === 'midpoint') { + context.perform( + actionAddMidpoint({loc: entity.loc, edge: entity.edge}, osmNode()), + t('operations.add.annotation.vertex')); + + event.preventDefault(); + event.stopPropagation(); + } + } + + + function selectElements(drawn) { + if (!checkSelectedIDs()) return; + + var surface = context.surface(); + var entity = singular(); + + if (entity && context.geometry(entity.id) === 'relation') { + suppressMenu = true; + return; + } + + surface.selectAll('.related') + .classed('related', false); + + singularParent(); + if (relatedParent) { + surface.selectAll(utilEntitySelector([relatedParent])) + .classed('related', true); + } + + var selection$$1 = context.surface() + .selectAll(utilEntityOrMemberSelector(selectedIDs, context.graph())); + + if (selection$$1.empty()) { + // Return to browse mode if selected DOM elements have + // disappeared because the user moved them out of view.. + var source = event && event.type === 'zoom' && event.sourceEvent; + if (drawn && source && (source.type === 'mousemove' || source.type === 'touchmove')) { + context.enter(modeBrowse(context)); + } + } else { + selection$$1 + .classed('selected', true); + } + } + + + function esc() { + context.enter(modeBrowse(context)); + } + + + function firstVertex() { + event.preventDefault(); + var entity = singular(); + var parent = singularParent(); + var way; + + if (entity && entity.type === 'way') { + way = entity; + } else if (parent) { + way = context.entity(parent); + } + + if (way) { + context.enter( + modeSelect(context, [way.first()]).follow(true) + ); + } + } + + + function lastVertex() { + event.preventDefault(); + var entity = singular(); + var parent = singularParent(); + var way; + + if (entity && entity.type === 'way') { + way = entity; + } else if (parent) { + way = context.entity(parent); + } + + if (way) { + context.enter( + modeSelect(context, [way.last()]).follow(true) + ); + } + } + + + function previousVertex() { + event.preventDefault(); + var parent = singularParent(); + if (!parent) return; + + var way = context.entity(parent); + var length = way.nodes.length; + var curr = way.nodes.indexOf(selectedIDs[0]); + var index = -1; + + if (curr > 0) { + index = curr - 1; + } else if (way.isClosed()) { + index = length - 2; + } + + if (index !== -1) { + context.enter( + modeSelect(context, [way.nodes[index]]).follow(true) + ); + } + } + + + function nextVertex() { + event.preventDefault(); + var parent = singularParent(); + if (!parent) return; + + var way = context.entity(parent); + var length = way.nodes.length; + var curr = way.nodes.indexOf(selectedIDs[0]); + var index = -1; + + if (curr < length - 1) { + index = curr + 1; + } else if (way.isClosed()) { + index = 0; + } + + if (index !== -1) { + context.enter( + modeSelect(context, [way.nodes[index]]).follow(true) + ); + } + } + + + function nextParent() { + event.preventDefault(); + var parents = uniq(commonParents()); + if (!parents || parents.length < 2) return; + + var index = parents.indexOf(relatedParent); + if (index < 0 || index > parents.length - 2) { + relatedParent = parents[0]; + } else { + relatedParent = parents[index + 1]; + } + + var surface = context.surface(); + surface.selectAll('.related') + .classed('related', false); + + if (relatedParent) { + surface.selectAll(utilEntitySelector([relatedParent])) + .classed('related', true); + } + } + + + if (!checkSelectedIDs()) return; + + var operations = without(values$1(Operations), operationDelete) + .map(function(o) { return o(selectedIDs, context); }) + .filter(function(o) { return o.available(); }); + + // deprecation warning - Radial Menu to be removed in iD v3 + var isRadialMenu = context.storage('edit-menu-style') === 'radial'; + if (isRadialMenu) { + operations = operations.slice(0,7); + operations.unshift(operationDelete(selectedIDs, context)); + } else { + operations.push(operationDelete(selectedIDs, context)); + } + + operations.forEach(function(operation) { + if (operation.behavior) { + behaviors.push(operation.behavior); + } + }); + + behaviors.forEach(function(behavior) { + context.install(behavior); + }); + + keybinding + .on(['[', 'pgup'], previousVertex) + .on([']', 'pgdown'], nextVertex) + .on(['{', uiCmd('⌘['), 'home'], firstVertex) + .on(['}', uiCmd('⌘]'), 'end'], lastVertex) + .on(['\\', 'pause'], nextParent) + .on('⎋', esc, true) + .on('space', toggleMenu); + + select(document) + .call(keybinding); + + + // deprecation warning - Radial Menu to be removed in iD v3 + editMenu = isRadialMenu + ? uiRadialMenu(context, operations) + : uiEditMenu(context, operations); + + context.ui().sidebar + .select(singular() ? singular().id : null, newFeature); + + context.history() + .on('undone.select', update) + .on('redone.select', update); + + context.map() + .on('move.select', closeMenu) + .on('drawn.select', selectElements); + + context.surface() + .on('dblclick.select', dblclick); + + + selectElements(); + + if (selectedIDs.length > 1) { + var entities = uiSelectionList(context, selectedIDs); + context.ui().sidebar.show(entities); + } + + if (follow) { + var extent = geoExtent$$1(); + var graph = context.graph(); + selectedIDs.forEach(function(id) { + var entity = context.entity(id); + extent._extend(entity.extent(graph)); + }); + + var loc = extent.center(); + context.map().centerEase(loc); + } else if (singular() && singular().type === 'way') { + context.map().pan([0,0]); // full redraw, to adjust z-sorting #2914 + } + + timeout = window.setTimeout(function() { + positionMenu(); + if (!suppressMenu) { + showMenu(); + } + }, 270); /* after any centerEase completes */ + + }; + + + mode.exit = function() { + if (timeout) window.clearTimeout(timeout); + if (inspector) wrap.call(inspector.close); + + behaviors.forEach(function(behavior) { + context.uninstall(behavior); + }); + + keybinding.off(); + closeMenu(); + editMenu = undefined; + + context.history() + .on('undone.select', null) + .on('redone.select', null); + + var surface = context.surface(); + + surface + .on('dblclick.select', null); + + surface + .selectAll('.selected') + .classed('selected', false); + + surface + .selectAll('.related') + .classed('related', false); + + context.map().on('drawn.select', null); + context.ui().sidebar.hide(); + }; + + + return mode; + } + + function behaviorAddWay(context) { + var dispatch$$1 = dispatch('start', 'startFromWay', 'startFromNode'), + draw = behaviorDraw(context); + + var addWay = function(surface) { + draw.on('click', function() { dispatch$$1.apply('start', this, arguments); }) + .on('clickWay', function() { dispatch$$1.apply('startFromWay', this, arguments); }) + .on('clickNode', function() { dispatch$$1.apply('startFromNode', this, arguments); }) + .on('cancel', addWay.cancel) + .on('finish', addWay.cancel); + + context.map() + .dblclickEnable(false); + + surface.call(draw); + }; + + + addWay.off = function(surface) { + surface.call(draw.off); + }; + + + addWay.cancel = function() { + window.setTimeout(function() { + context.map().dblclickEnable(true); + }, 1000); + + context.enter(modeBrowse(context)); + }; + + + addWay.tail = function(text) { + draw.tail(text); + return addWay; + }; + + + return utilRebind(addWay, dispatch$$1, 'on'); + } + + function behaviorBreathe() { + var duration = 800, + steps = 4, + selector$$1 = '.selected.shadow, .selected .shadow', + selected = select(null), + classed = '', + params = {}, + done = false, + timer$$1; + + + function ratchetyInterpolator(a, b, steps, units) { + a = parseFloat(a); + b = parseFloat(b); + var sample = quantize() + .domain([0, 1]) + .range(d3_quantize(interpolateNumber(a, b), steps)); + + return function(t) { + return String(sample(t)) + (units || ''); + }; + } + + + function reset(selection$$1) { + selection$$1 + .style('stroke-opacity', null) + .style('stroke-width', null) + .style('fill-opacity', null) + .style('r', null); + } + + + function setAnimationParams(transition, fromTo) { + var toFrom = (fromTo === 'from' ? 'to' : 'from'); + + transition + .styleTween('stroke-opacity', function(d) { + return ratchetyInterpolator( + params[d.id][toFrom].opacity, + params[d.id][fromTo].opacity, + steps + ); + }) + .styleTween('stroke-width', function(d) { + return ratchetyInterpolator( + params[d.id][toFrom].width, + params[d.id][fromTo].width, + steps, + 'px' + ); + }) + .styleTween('fill-opacity', function(d) { + return ratchetyInterpolator( + params[d.id][toFrom].opacity, + params[d.id][fromTo].opacity, + steps + ); + }) + .styleTween('r', function(d) { + return ratchetyInterpolator( + params[d.id][toFrom].width, + params[d.id][fromTo].width, + steps, + 'px' + ); + }); + } + + + function calcAnimationParams(selection$$1) { + selection$$1 + .call(reset) + .each(function(d) { + var s = select(this), + tag = s.node().tagName, + p = {'from': {}, 'to': {}}, + opacity, width; + + // determine base opacity and width + if (tag === 'circle') { + opacity = parseFloat(s.style('fill-opacity') || 0.5); + width = parseFloat(s.style('r') || 15.5); + } else { + opacity = parseFloat(s.style('stroke-opacity') || 0.7); + width = parseFloat(s.style('stroke-width') || 10); + } + + // calculate from/to interpolation params.. + p.tag = tag; + p.from.opacity = opacity * 0.6; + p.to.opacity = opacity * 1.25; + p.from.width = width * 0.7; + p.to.width = width * (tag === 'circle' ? 1.5 : 1); + params[d.id] = p; + }); + } + + + function run(surface, fromTo) { + var toFrom = (fromTo === 'from' ? 'to' : 'from'), + currSelected = surface.selectAll(selector$$1), + currClassed = surface.attr('class'); + + if (done || currSelected.empty()) { + selected.call(reset); + return; + } + + if (!isEqual(currSelected.data(), selected.data()) || currClassed !== classed) { + selected.call(reset); + classed = currClassed; + selected = currSelected.call(calcAnimationParams); + } + + selected + .transition() + .duration(duration) + .call(setAnimationParams, fromTo) + .on('end', function() { + surface.call(run, toFrom); + }); + } + + + var breathe = function(surface) { + done = false; + timer$$1 = timer(function() { + // wait for elements to actually become selected + if (surface.selectAll(selector$$1).empty()) { + return false; + } + + surface.call(run, 'from'); + timer$$1.stop(); + return true; + }, 20); + }; + + + breathe.off = function() { + done = true; + if (timer$$1) { + timer$$1.stop(); + } + selected + .interrupt() + .call(reset); + }; + + + return breathe; + } + + function behaviorCopy(context) { + var keybinding = d3keybinding('copy'); + + + function groupEntities(ids, graph) { + var entities = ids.map(function (id) { return graph.entity(id); }); + return assignIn({relation: [], way: [], node: []}, + groupBy(entities, function(entity) { return entity.type; })); + } + + + function getDescendants(id, graph, descendants) { + var entity = graph.entity(id), + i, children; + + descendants = descendants || {}; + + if (entity.type === 'relation') { + children = map$3(entity.members, 'id'); + } else if (entity.type === 'way') { + children = entity.nodes; + } else { + children = []; + } + + for (i = 0; i < children.length; i++) { + if (!descendants[children[i]]) { + descendants[children[i]] = true; + descendants = getDescendants(children[i], graph, descendants); + } + } + + return descendants; + } + + + function doCopy() { + if (!getSelectionText()) event.preventDefault(); + + var graph = context.graph(), + selected = groupEntities(context.selectedIDs(), graph), + canCopy = [], + skip = {}, + i, entity; + + for (i = 0; i < selected.relation.length; i++) { + entity = selected.relation[i]; + if (!skip[entity.id] && entity.isComplete(graph)) { + canCopy.push(entity.id); + skip = getDescendants(entity.id, graph, skip); + } + } + for (i = 0; i < selected.way.length; i++) { + entity = selected.way[i]; + if (!skip[entity.id]) { + canCopy.push(entity.id); + skip = getDescendants(entity.id, graph, skip); + } + } + for (i = 0; i < selected.node.length; i++) { + entity = selected.node[i]; + if (!skip[entity.id]) { + canCopy.push(entity.id); + } + } + + context.copyIDs(canCopy); + } + + + function copy() { + keybinding.on(uiCmd('⌘C'), doCopy); + select(document).call(keybinding); + return copy; + } + + function getSelectionText() { + return window.getSelection().toString(); + } + + copy.off = function() { + select(document).call(keybinding.off); + }; + + + return copy; + } + + /* + `behaviorDrag` is like `d3_behavior.drag`, with the following differences: + + * The `origin` function is expected to return an [x, y] tuple rather than an + {x, y} object. + * The events are `start`, `move`, and `end`. + (https://github.com/mbostock/d3/issues/563) + * The `start` event is not dispatched until the first cursor movement occurs. + (https://github.com/mbostock/d3/pull/368) + * The `move` event has a `point` and `delta` [x, y] tuple properties rather + than `x`, `y`, `dx`, and `dy` properties. + * The `end` event is not dispatched if no movement occurs. + * An `off` function is available that unbinds the drag's internal event handlers. + */ + + function behaviorDrag() { + var dispatch$$1 = dispatch('start', 'move', 'end'); + var _origin = null; + var _selector = ''; + var _event; + var _target; + var _surface; + + + var d3_event_userSelectProperty = utilPrefixCSSProperty('UserSelect'); + var d3_event_userSelectSuppress = function() { + var selection$$1 = selection(); + var select$$1 = selection$$1.style(d3_event_userSelectProperty); + selection$$1.style(d3_event_userSelectProperty, 'none'); + return function() { + selection$$1.style(d3_event_userSelectProperty, select$$1); + }; + }; + + + function d3_eventCancel() { + event.stopPropagation(); + event.preventDefault(); + } + + + function eventOf(thiz, argumentz) { + return function(e1) { + e1.target = drag; + customEvent(e1, dispatch$$1.apply, dispatch$$1, [e1.type, thiz, argumentz]); + }; + } + + + function dragstart() { + _target = this; + _event = eventOf(_target, arguments); + + var eventTarget = event.target; + var touchId = event.touches ? event.changedTouches[0].identifier : null; + var offset; + var startOrigin = point$$1(); + var started = false; + var selectEnable = d3_event_userSelectSuppress(touchId !== null ? 'drag-' + touchId : 'drag'); + + select(window) + .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', dragmove) + .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', dragend, true); + + if (_origin) { + offset = _origin.apply(_target, arguments); + offset = [offset[0] - startOrigin[0], offset[1] - startOrigin[1]]; + } else { + offset = [0, 0]; + } + + if (touchId === null) { + event.stopPropagation(); + } + + + function point$$1() { + var p = _surface || _target.parentNode; + return touchId !== null ? d3_touches(p).filter(function(p) { + return p.identifier === touchId; + })[0] : mouse(p); + } + + + function dragmove() { + var p = point$$1(); + var dx = p[0] - startOrigin[0]; + var dy = p[1] - startOrigin[1]; + + if (dx === 0 && dy === 0) + return; + + startOrigin = p; + d3_eventCancel(); + + if (!started) { + started = true; + _event({ type: 'start' }); + } else { + _event({ + type: 'move', + point: [p[0] + offset[0], p[1] + offset[1]], + delta: [dx, dy] + }); + } + } + + + function dragend() { + if (started) { + _event({ type: 'end' }); + + d3_eventCancel(); + if (event.target === eventTarget) { + select(window) + .on('click.drag', click, true); + } + } + + select(window) + .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', null) + .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', null); + + selectEnable(); + } + + + function click() { + d3_eventCancel(); + select(window) + .on('click.drag', null); + } + } + + + function drag(selection$$1) { + var matchesSelector = utilPrefixDOMProperty('matchesSelector'); + var delegate = dragstart; + + if (_selector) { + delegate = function() { + var root = this; + var target = event.target; + for (; target && target !== root; target = target.parentNode) { + var datum = target.__data__; + var entity = datum && datum.properties && datum.properties.entity; + if (entity && target[matchesSelector](_selector)) { + return dragstart.call(target, entity); + } + } + }; + } + + selection$$1 + .on('mousedown.drag' + _selector, delegate) + .on('touchstart.drag' + _selector, delegate); + } + + + drag.off = function(selection$$1) { + selection$$1 + .on('mousedown.drag' + _selector, null) + .on('touchstart.drag' + _selector, null); + }; + + + drag.selector = function(_) { + if (!arguments.length) return _selector; + _selector = _; + return drag; + }; + + + drag.origin = function (_) { + if (!arguments.length) return _origin; + _origin = _; + return drag; + }; + + + drag.cancel = function() { + select(window) + .on('mousemove.drag', null) + .on('mouseup.drag', null); + return drag; + }; + + + drag.target = function() { + if (!arguments.length) return _target; + _target = arguments[0]; + _event = eventOf(_target, Array.prototype.slice.call(arguments, 1)); + return drag; + }; + + + drag.surface = function() { + if (!arguments.length) return _surface; + _surface = arguments[0]; + return drag; + }; + + + return utilRebind(drag, dispatch$$1, 'on'); + } + + function behaviorDrawWay(context, wayId, index, mode, startGraph) { + var origWay = context.entity(wayId); + var annotation = t((origWay.isDegenerate() ? + 'operations.start.annotation.' : + 'operations.continue.annotation.') + context.geometry(wayId) + ); + var behavior = behaviorDraw(context); + var _tempEdits = 0; + + var end = osmNode({ loc: context.map().mouseCoordinates() }); + + // Push an annotated state for undo to return back to. + // We must make sure to remove this edit later. + context.perform(actionNoop(), annotation); + _tempEdits++; + + // Add the drawing node to the graph. + // We must make sure to remove this edit later. + context.perform(_actionAddDrawNode()); + _tempEdits++; + + + + function keydown() { + if (event.keyCode === d3keybinding.modifierCodes.alt) { + if (context.surface().classed('nope')) { + context.surface() + .classed('nope-suppressed', true); + } + context.surface() + .classed('nope', false) + .classed('nope-disabled', true); + } + } + + + function keyup() { + if (event.keyCode === d3keybinding.modifierCodes.alt) { + if (context.surface().classed('nope-suppressed')) { + context.surface() + .classed('nope', true); + } + context.surface() + .classed('nope-suppressed', false) + .classed('nope-disabled', false); + } + } + + + // related code + // - `mode/drag_node.js` `doMode()` + // - `behavior/draw.js` `click()` + // - `behavior/draw_way.js` `move()` + function move(datum) { + context.surface().classed('nope-disabled', event.altKey); + + var targetLoc = datum && datum.properties && datum.properties.entity && datum.properties.entity.loc; + var targetNodes = datum && datum.properties && datum.properties.nodes; + var loc = context.map().mouseCoordinates(); + + if (targetLoc) { // snap to node/vertex - a point target with `.loc` + loc = targetLoc; + + } else if (targetNodes) { // snap to way - a line target with `.nodes` + var choice = geoChooseEdge(targetNodes, context.mouse(), context.projection, end.id); + if (choice) { + loc = choice.loc; + } + } + + context.replace(actionMoveNode(end.id, loc)); + end = context.entity(end.id); + checkGeometry(false); + } + + + // Check whether this edit causes the geometry to break. + // If so, class the surface with a nope cursor. + // `finishDraw` - Only checks the relevant line segments if finishing drawing + function checkGeometry(finishDraw) { + var nopeDisabled = context.surface().classed('nope-disabled'); + var isInvalid = isInvalidGeometry(end, context.graph(), finishDraw); + + if (nopeDisabled) { + context.surface() + .classed('nope', false) + .classed('nope-suppressed', isInvalid); + } else { + context.surface() + .classed('nope', isInvalid) + .classed('nope-suppressed', false); + } + } + + + function isInvalidGeometry(entity, graph, finishDraw) { + var parents = graph.parentWays(entity); + + for (var i = 0; i < parents.length; i++) { + var parent = parents[i]; + var nodes = parent.nodes.map(function(nodeID) { return graph.entity(nodeID); }); + + if (origWay.isClosed()) { // Check if Area + if (finishDraw) { + nodes.splice(-2, 1); + entity = nodes[nodes.length-2]; + } else { + nodes.pop(); + } + } else { // Line + if (finishDraw) { + nodes.pop(); + } + } + + if (geoHasSelfIntersections(nodes, entity.id)) { + return true; + } + } + + return false; + } + + + function undone() { + // Undo popped the history back to the initial annotated no-op edit. + // Remove initial no-op edit and whatever edit happened immediately before it. + context.pop(2); + _tempEdits = 0; + + if (context.hasEntity(wayId)) { + context.enter(mode); + } else { + context.enter(modeBrowse(context)); + } + } + + + function setActiveElements() { + context.surface().selectAll('.' + end.id) + .classed('active', true); + } + + + var drawWay = function(surface) { + behavior + .on('move', move) + .on('click', drawWay.add) + .on('clickWay', drawWay.addWay) + .on('clickNode', drawWay.addNode) + .on('undo', context.undo) + .on('cancel', drawWay.cancel) + .on('finish', drawWay.finish); + + select(window) + .on('keydown.drawWay', keydown) + .on('keyup.drawWay', keyup); + + context.map() + .dblclickEnable(false) + .on('drawn.draw', setActiveElements); + + setActiveElements(); + + surface.call(behavior); + + context.history() + .on('undone.draw', undone); + }; + + + drawWay.off = function(surface) { + // Drawing was interrupted unexpectedly. + // This can happen if the user changes modes, + // clicks geolocate button, a hashchange event occurs, etc. + if (_tempEdits) { + context.pop(_tempEdits); + while (context.graph() !== startGraph) { + context.pop(); + } + } + + context.map() + .on('drawn.draw', null); + + surface.call(behavior.off) + .selectAll('.active') + .classed('active', false); + + surface + .classed('nope', false) + .classed('nope-suppressed', false) + .classed('nope-disabled', false); + + select(window) + .on('keydown.hover', null) + .on('keyup.hover', null); + + context.history() + .on('undone.draw', null); + }; + + + function _actionAddDrawNode() { + return function(graph) { + return graph + .replace(end) + .replace(origWay.addNode(end.id, index)); + }; + } + + + function _actionReplaceDrawNode(newNode) { + return function(graph) { + return graph + .replace(origWay.addNode(newNode.id, index)) + .remove(end); + }; + } + + + // Accept the current position of the drawing node and continue drawing. + drawWay.add = function(loc, d) { + if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) { + return; // can't click here + } + + context.pop(_tempEdits); + _tempEdits = 0; + + context.perform( + _actionAddDrawNode(), + annotation + ); + + checkGeometry(false); // finishDraw = false + context.enter(mode); + }; + + + // Connect the way to an existing way. + drawWay.addWay = function(loc, edge, d) { + if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) { + return; // can't click here + } + + context.pop(_tempEdits); + _tempEdits = 0; + + context.perform( + _actionAddDrawNode(), + actionAddMidpoint({ loc: loc, edge: edge }, end), + annotation + ); + + checkGeometry(false); // finishDraw = false + context.enter(mode); + }; + + + // Connect the way to an existing node and continue drawing. + drawWay.addNode = function(node, d) { + if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) { + return; // can't click here + } + + context.pop(_tempEdits); + _tempEdits = 0; + + context.perform( + _actionReplaceDrawNode(node), + annotation + ); + + checkGeometry(false); // finishDraw = false + context.enter(mode); + }; + + + // Finish the draw operation, removing the temporary edits. + // If the way has enough nodes to be valid, it's selected. + // Otherwise, delete everything and return to browse mode. + drawWay.finish = function() { + checkGeometry(true); // finishDraw = true + if (context.surface().classed('nope')) { + return; // can't click here + } + + context.pop(_tempEdits); + _tempEdits = 0; + + var way = context.hasEntity(wayId); + if (!way || way.isDegenerate()) { + drawWay.cancel(); + return; + } + + window.setTimeout(function() { + context.map().dblclickEnable(true); + }, 1000); + + context.enter(modeSelect(context, [wayId]).newFeature(true)); + }; + + + // Cancel the draw operation, delete everything, and return to browse mode. + drawWay.cancel = function() { + context.pop(_tempEdits); + _tempEdits = 0; + + while (context.graph() !== startGraph) { + context.pop(); + } + + window.setTimeout(function() { + context.map().dblclickEnable(true); + }, 1000); + + context.surface() + .classed('nope', false) + .classed('nope-disabled', false) + .classed('nope-suppressed', false); + + context.enter(modeBrowse(context)); + }; + + + drawWay.activeID = function() { + if (!arguments.length) return end.id; + // no assign + return drawWay; + }; + + + drawWay.tail = function(text) { + behavior.tail(text); + return drawWay; + }; + + + return drawWay; + } + + function behaviorHash(context) { + var s0 = null; // cached window.location.hash + var lat = 90 - 1e-8; // allowable latitude range + + + var parser = function(map, s) { + var q = utilStringQs(s); + var args = (q.map || '').split('/').map(Number); + + if (args.length < 3 || args.some(isNaN)) { + return true; // replace bogus hash + + } else if (s !== formatter(map).slice(1)) { // hash has changed + var mode = context.mode(), + dist = geoSphericalDistance(map.center(), [args[2], args[1]]), + maxdist = 500; + + // Don't allow the hash location to change too much while drawing + // This can happen if the user accidently hit the back button. #3996 + if (mode && mode.id.match(/^draw/) !== null && dist > maxdist) { + context.enter(modeBrowse(context)); + } + + map.centerZoom([args[2], Math.min(lat, Math.max(-lat, args[1]))], args[0]); + } + }; + + + var formatter = function(map) { + var center = map.center(); + var zoom = map.zoom(); + var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)); + var q = omit(utilStringQs(window.location.hash.substring(1)), + ['comment', 'source', 'hashtags', 'walkthrough'] + ); + var newParams = {}; + + delete q.id; + var selected = context.selectedIDs().filter(function(id) { + return !context.entity(id).isNew(); + }); + if (selected.length) { + newParams.id = selected.join(','); + } + + newParams.map = zoom.toFixed(2) + + '/' + center[1].toFixed(precision) + + '/' + center[0].toFixed(precision); + + return '#' + utilQsString(assign(q, newParams), true); + }; + + + function update() { + if (context.inIntro()) return; + var s1 = formatter(context.map()); + if (s0 !== s1) { + window.location.replace(s0 = s1); // don't recenter the map! + } + } + + + var throttledUpdate = throttle(update, 500); + + + function hashchange() { + if (window.location.hash === s0) return; // ignore spurious hashchange events + if (parser(context.map(), (s0 = window.location.hash).substring(1))) { + update(); // replace bogus hash + } + } + + + function hash() { + context.map() + .on('move.hash', throttledUpdate); + + context + .on('enter.hash', throttledUpdate); + + select(window) + .on('hashchange.hash', hashchange); + + if (window.location.hash) { + + var q = utilStringQs(window.location.hash.substring(1)); + + if (q.id) { + context.zoomToEntity(q.id.split(',')[0], !q.map); + } + + if (q.comment) { + context.storage('comment', q.comment); + context.storage('commentDate', Date.now()); + } + + if (q.source) { + context.storage('source', q.source); + context.storage('commentDate', Date.now()); + } + + if (q.hashtags) { + context.storage('hashtags', q.hashtags); + } + + if (q.walkthrough === 'true') { + hash.startWalkthrough = true; + } + + hashchange(); + + if (q.map) { + hash.hadHash = true; + } + } + } + + + hash.off = function() { + throttledUpdate.cancel(); + + context.map() + .on('move.hash', null); + + context + .on('enter.hash', null); + + select(window) + .on('hashchange.hash', null); + + window.location.hash = ''; + }; + + + return hash; + } + + function behaviorLasso(context) { + + var behavior = function(selection$$1) { + var lasso; + + + function mousedown() { + var button = 0; // left + if (event.button === button && event.shiftKey === true) { + lasso = null; + + select(window) + .on('mousemove.lasso', mousemove) + .on('mouseup.lasso', mouseup); + + event.stopPropagation(); + } + } + + + function mousemove() { + if (!lasso) { + lasso = uiLasso(context); + context.surface().call(lasso); + } + + lasso.p(context.mouse()); + } + + + function normalize(a, b) { + return [ + [Math.min(a[0], b[0]), Math.min(a[1], b[1])], + [Math.max(a[0], b[0]), Math.max(a[1], b[1])]]; + } + + + function lassoed() { + if (!lasso) return []; + + var graph = context.graph(), + bounds = lasso.extent().map(context.projection.invert), + extent = geoExtent$$1(normalize(bounds[0], bounds[1])); + + return map$3(context.intersects(extent).filter(function(entity) { + return entity.type === 'node' && + geoPointInPolygon(context.projection(entity.loc), lasso.coordinates) && + !context.features().isHidden(entity, graph, entity.geometry(graph)); + }), 'id'); + } + + + function mouseup() { + select(window) + .on('mousemove.lasso', null) + .on('mouseup.lasso', null); + + if (!lasso) return; + + var ids = lassoed(); + lasso.close(); + + if (ids.length) { + context.enter(modeSelect(context, ids)); + } + } + + selection$$1 + .on('mousedown.lasso', mousedown); + }; + + + behavior.off = function(selection$$1) { + selection$$1.on('mousedown.lasso', null); + }; + + + return behavior; + } + + /* Creates a keybinding behavior for an operation */ + function behaviorOperation() { + var _operation, keybinding; + + var behavior = function () { + if (_operation && _operation.available()) { + keybinding = d3keybinding('behavior.key.' + _operation.id); + keybinding.on(_operation.keys, function() { + event.preventDefault(); + var disabled = _operation.disabled(); + var flash; + + if (disabled) { + flash = uiFlash() + .duration(4000) + .iconName('#iD-operation-' + _operation.id) + .iconClass('operation disabled') + .text(_operation.tooltip); + + flash(); + + } else { + flash = uiFlash() + .duration(2000) + .iconName('#iD-operation-' + _operation.id) + .iconClass('operation') + .text(_operation.annotation() || _operation.title); + + flash(); + _operation(); + } + }); + + select(document).call(keybinding); + } + + return behavior; + }; + + + behavior.off = function() { + if (keybinding) { + select(document).call(keybinding.off); + } + }; + + + behavior.which = function (_) { + if (!arguments.length) return _operation; + _operation = _; + return behavior; + }; + + + return behavior; + } + + /** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ + function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; + } + + /** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ + function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; + } + + /** Used for built-in method references. */ + var objectProto$j = Object.prototype; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString$2 = objectProto$j.toString; + + /** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ + var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString$2.call(value); + } + + result[value] = key; + }, constant$d(identity$8)); + + /** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ + function mapValues(object, iteratee) { + var result = {}; + iteratee = baseIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; + } + + function behaviorPaste(context) { + var keybinding = d3keybinding('paste'); + + + function doPaste() { + event.preventDefault(); + + var baseGraph = context.graph(), + mouse$$1 = context.mouse(), + projection = context.projection, + viewport = geoExtent$$1(projection.clipExtent()).polygon(); + + if (!geoPointInPolygon(mouse$$1, viewport)) return; + + var extent = geoExtent$$1(), + oldIDs = context.copyIDs(), + oldGraph = context.copyGraph(), + newIDs = []; + + if (!oldIDs.length) return; + + var action = actionCopyEntities(oldIDs, oldGraph); + context.perform(action); + + var copies = action.copies(); + var originals = invert(mapValues(copies, 'id')); + for (var id in copies) { + var oldEntity = oldGraph.entity(id), + newEntity = copies[id]; + + extent._extend(oldEntity.extent(oldGraph)); + + // Exclude child nodes from newIDs if their parent way was also copied. + var parents = context.graph().parentWays(newEntity), + parentCopied = false; + for (var i = 0; i < parents.length; i++) { + if (originals[parents[i].id]) { + parentCopied = true; + break; + } + } + + if (!parentCopied) { + newIDs.push(newEntity.id); + } + } + + // Put pasted objects where mouse pointer is.. + var center = projection(extent.center()), + delta = [ mouse$$1[0] - center[0], mouse$$1[1] - center[1] ]; + + context.perform(actionMove(newIDs, delta, projection)); + context.enter(modeMove$$1(context, newIDs, baseGraph)); + } + + + function paste() { + keybinding.on(uiCmd('⌘V'), doPaste); + select(document).call(keybinding); + return paste; + } + + + paste.off = function() { + select(document).call(keybinding.off); + }; + + + return paste; + } + + function behaviorSelect(context) { + var lastMouse = null; + var suppressMenu = true; + var tolerance = 4; + var p1 = null; + + + function point$$1() { + return mouse(context.container().node()); + } + + + function keydown() { + var e = event; + if (e && e.shiftKey) { + context.surface() + .classed('behavior-multiselect', true); + } + + if (e && e.keyCode === 93) { // context menu + e.preventDefault(); + e.stopPropagation(); + } + } + + + function keyup() { + var e = event; + if (!e || !e.shiftKey) { + context.surface() + .classed('behavior-multiselect', false); + } + + + if (e && e.keyCode === 93) { // context menu + e.preventDefault(); + e.stopPropagation(); + contextmenu(); + } + } + + + function mousedown() { + if (!p1) p1 = point$$1(); + select(window) + .on('mouseup.select', mouseup, true); + + var isShowAlways = +context.storage('edit-menu-show-always') === 1; + suppressMenu = !isShowAlways; + } + + + function mousemove() { + if (event) lastMouse = event; + } + + + function mouseup() { + click(); + } + + + function contextmenu() { + var e = event; + e.preventDefault(); + e.stopPropagation(); + + if (!+e.clientX && !+e.clientY) { + if (lastMouse) { + e.sourceEvent = lastMouse; + } else { + return; + } + } + + if (!p1) p1 = point$$1(); + suppressMenu = false; + click(); + } + + + function click() { + select(window) + .on('mouseup.select', null, true); + + if (!p1) return; + var p2 = point$$1(); + var dist = geoVecLength(p1, p2); + + p1 = null; + if (dist > tolerance) { + return; + } + + var isMultiselect = event.shiftKey || select('#surface .lasso').node(); + var isShowAlways = +context.storage('edit-menu-show-always') === 1; + var datum = event.target.__data__ || (lastMouse && lastMouse.target.__data__); + var mode = context.mode(); + + var entity = datum && datum.properties && datum.properties.entity; + if (entity) datum = entity; + + if (datum && datum.type === 'midpoint') { + datum = datum.parents[0]; + } + + if (!(datum instanceof osmEntity$$1)) { + // clicked nothing.. + if (!isMultiselect && mode.id !== 'browse') { + context.enter(modeBrowse(context)); + } + + } else { + // clicked an entity.. + var selectedIDs = context.selectedIDs(); + + if (!isMultiselect) { + if (selectedIDs.length > 1 && (!suppressMenu && !isShowAlways)) { + // multiple things already selected, just show the menu... + mode.suppressMenu(false).reselect(); + } else { + // select a single thing.. + context.enter(modeSelect(context, [datum.id]).suppressMenu(suppressMenu)); + } + + } else { + if (selectedIDs.indexOf(datum.id) !== -1) { + // clicked entity is already in the selectedIDs list.. + if (!suppressMenu && !isShowAlways) { + // don't deselect clicked entity, just show the menu. + mode.suppressMenu(false).reselect(); + } else { + // deselect clicked entity, then reenter select mode or return to browse mode.. + selectedIDs = without(selectedIDs, datum.id); + context.enter(selectedIDs.length ? modeSelect(context, selectedIDs) : modeBrowse(context)); + } + } else { + // clicked entity is not in the selected list, add it.. + selectedIDs = selectedIDs.concat([datum.id]); + context.enter(modeSelect(context, selectedIDs).suppressMenu(suppressMenu)); + } + } + } + + // reset for next time.. + suppressMenu = true; + } + + + var behavior = function(selection$$1) { + lastMouse = null; + suppressMenu = true; + p1 = null; + + select(window) + .on('keydown.select', keydown) + .on('keyup.select', keyup) + .on('contextmenu.select-window', function() { + // Edge and IE really like to show the contextmenu on the + // menubar when user presses a keyboard menu button + // even after we've already preventdefaulted the key event. + var e = event; + if (+e.clientX === 0 && +e.clientY === 0) { + event.preventDefault(); + event.stopPropagation(); + } + }); + + selection$$1 + .on('mousedown.select', mousedown) + .on('mousemove.select', mousemove) + .on('contextmenu.select', contextmenu); + + if (event && event.shiftKey) { + context.surface() + .classed('behavior-multiselect', true); + } + }; + + + behavior.off = function(selection$$1) { + select(window) + .on('keydown.select', null) + .on('keyup.select', null) + .on('contextmenu.select-window', null) + .on('mouseup.select', null, true); + + selection$$1 + .on('mousedown.select', null) + .on('mousemove.select', null) + .on('contextmenu.select', null); + + context.surface() + .classed('behavior-multiselect', false); + }; + + + return behavior; + } + + function uiAccount(context) { + var osm = context.connection(); + + + function update(selection$$1) { + if (!osm) return; + + if (!osm.authenticated()) { + selection$$1.selectAll('#userLink, #logoutLink') + .classed('hide', true); + return; + } + + osm.userDetails(function(err, details) { + var userLink = selection$$1.select('#userLink'), + logoutLink = selection$$1.select('#logoutLink'); + + userLink.html(''); + logoutLink.html(''); + + if (err) return; + + selection$$1.selectAll('#userLink, #logoutLink') + .classed('hide', false); + + // Link + userLink.append('a') + .attr('href', osm.userURL(details.display_name)) + .attr('target', '_blank'); + + // Add thumbnail or dont + if (details.image_url) { + userLink.append('img') + .attr('class', 'icon pre-text user-icon') + .attr('src', details.image_url); + } else { + userLink + .call(svgIcon('#iD-icon-avatar', 'pre-text light')); + } + + // Add user name + userLink.append('span') + .attr('class', 'label') + .text(details.display_name); + + logoutLink.append('a') + .attr('class', 'logout') + .attr('href', '#') + .text(t('logout')) + .on('click.logout', function() { + event.preventDefault(); + osm.logout(); + }); + }); + } + + + return function(selection$$1) { + selection$$1.append('li') + .attr('id', 'logoutLink') + .classed('hide', true); + + selection$$1.append('li') + .attr('id', 'userLink') + .classed('hide', true); + + if (osm) { + osm.on('change.account', function() { update(selection$$1); }); + update(selection$$1); + } + }; + } + + function uiAttribution(context) { + var selection$$1; + + + function attribution(data, klass) { + var div = selection$$1.selectAll('.' + klass) + .data([0]); + + div = div.enter() + .append('div') + .attr('class', klass) + .merge(div); + + + var background = div.selectAll('.attribution') + .data(data, function(d) { return d.name(); }); + + background.exit() + .remove(); + + background = background.enter() + .append('span') + .attr('class', 'attribution') + .each(function(d) { + if (d.terms_html) { + select(this) + .html(d.terms_html); + return; + } + + var selection$$1; + if (d.terms_url) { + selection$$1 = select(this) + .append('a') + .attr('href', d.terms_url) + .attr('target', '_blank'); + } else { + selection$$1 = select(this); + } + + + var id_safe = d.id.replace('.', ''); + var terms_text = t('imagery.' + id_safe + '.attribution.text', + { default: d.terms_text || d.id || d.name() } + ); + + if (d.icon && !d.overlay) { + selection$$1 + .append('img') + .attr('class', 'source-image') + .attr('src', d.icon); + } + + selection$$1 + .append('span') + .attr('class', 'attribution-text') + .text(terms_text); + }) + .merge(background); + + + var copyright = background.selectAll('.copyright-notice') + .data(function(d) { + var notice = d.copyrightNotices(context.map().zoom(), context.map().extent()); + return notice ? [notice] : []; + }); + + copyright.exit() + .remove(); + + copyright = copyright.enter() + .append('span') + .attr('class', 'copyright-notice') + .merge(copyright); + + copyright + .text(String); + } + + + function update() { + attribution([context.background().baseLayerSource()], 'base-layer-attribution'); + attribution(context.background().overlayLayerSources().filter(function (s) { + return s.validZoom(context.map().zoom()); + }), 'overlay-layer-attribution'); + } + + + return function(select$$1) { + selection$$1 = select$$1; + + context.background() + .on('change.attribution', update); + + context.map() + .on('move.attribution', throttle(update, 400, {leading: false})); + + update(); + }; + } + + // toggles the visibility of ui elements, using a combination of the + // hide class, which sets display=none, and a d3 transition for opacity. + // this will cause blinking when called repeatedly, so check that the + // value actually changes between calls. + function uiToggle(show, callback) { + return function(selection$$1) { + selection$$1 + .style('opacity', show ? 0 : 1) + .classed('hide', false) + .transition() + .style('opacity', show ? 1 : 0) + .on('end', function() { + select(this) + .classed('hide', !show) + .style('opacity', null); + if (callback) callback.apply(this); + }); + }; + } + + function uiDisclosure(context, key, expandedDefault) { + var dispatch$$1 = dispatch('toggled'); + var _preference = (context.storage('disclosure.' + key + '.expanded')); + var _expanded = (_preference === null ? !!expandedDefault : (_preference === 'true')); + var _title; + var _updatePreference = true; + var _content = function () {}; + + + var disclosure = function(selection$$1) { + var hideToggle = selection$$1.selectAll('.hide-toggle-' + key) + .data([0]); + + // enter + var hideToggleEnter = hideToggle.enter() + .append('a') + .attr('href', '#') + .attr('class', 'hide-toggle hide-toggle-' + key) + .call(svgIcon('', 'pre-text', 'hide-toggle-icon')); + + hideToggleEnter + .append('span') + .attr('class', 'hide-toggle-text'); + + // update + hideToggle = hideToggleEnter + .merge(hideToggle); + + hideToggle + .on('click', toggle) + .classed('expanded', _expanded); + + hideToggle.selectAll('.hide-toggle-text') + .text(_title); + + hideToggle.selectAll('.hide-toggle-icon') + .attr('xlink:href', _expanded ? '#iD-icon-down' + : (textDirection === 'rtl') ? '#iD-icon-backward' : '#iD-icon-forward' + ); + + + var wrap = selection$$1.selectAll('.disclosure-wrap') + .data([0]); + + wrap = wrap.enter() + .append('div') + .attr('class', 'disclosure-wrap disclosure-wrap-' + key) + .merge(wrap); + + wrap + .classed('hide', !_expanded) + .call(_content); + + + function toggle() { + event.preventDefault(); + + _expanded = !_expanded; + + if (_updatePreference) { + context.storage('disclosure.' + key + '.expanded', _expanded); + } + + hideToggle + .classed('expanded', _expanded); + + hideToggle.selectAll('.hide-toggle-icon') + .attr('xlink:href', _expanded ? '#iD-icon-down' + : (textDirection === 'rtl') ? '#iD-icon-backward' : '#iD-icon-forward' + ); + + wrap + .call(uiToggle(_expanded)); + + dispatch$$1.call('toggled', this, _expanded); + } + }; + + + disclosure.title = function(_) { + if (!arguments.length) return _title; + _title = _; + return disclosure; + }; + + + disclosure.expanded = function(_) { + if (!arguments.length) return _expanded; + _expanded = _; + return disclosure; + }; + + + disclosure.updatePreference = function(_) { + if (!arguments.length) return _updatePreference; + _updatePreference = _; + return disclosure; + }; + + + disclosure.content = function(_) { + if (!arguments.length) return _content; + _content = _; + return disclosure; + }; + + + return utilRebind(disclosure, dispatch$$1, 'on'); + } + + function uiBackgroundDisplayOptions(context) { + var detected = utilDetect(); + var storedOpacity = context.storage('background-opacity'); + var minVal = 0.25; + var maxVal = detected.cssfilters ? 2 : 1; + + var sliders = detected.cssfilters + ? ['brightness', 'contrast', 'saturation', 'sharpness'] + : ['brightness']; + + var _options = { + brightness: (storedOpacity !== null ? (+storedOpacity) : 1), + contrast: 1, + saturation: 1, + sharpness: 1 + }; + + var _selection = select(null); + + + function clamp(x, min, max) { + return Math.max(min, Math.min(x, max)); + } + + + function updateValue(d, val) { + if (!val && event && event.target) { + val = event.target.value; + } + + val = clamp(val, minVal, maxVal); + + _options[d] = val; + context.background()[d](val); + + if (d === 'brightness') { + context.storage('background-opacity', val); + } + + _selection + .call(render); + } + + + function render(selection$$1) { + var container = selection$$1.selectAll('.display-options-container') + .data([0]); + + var containerEnter = container.enter() + .append('div') + .attr('class', 'display-options-container controls-list'); + + // add slider controls + var slidersEnter = containerEnter.selectAll('.display-control') + .data(sliders) + .enter() + .append('div') + .attr('class', function(d) { return 'display-control display-control-' + d; }); + + slidersEnter + .append('h5') + .text(function(d) { return t('background.' + d); }) + .append('span') + .attr('class', function(d) { return 'display-option-value display-option-value-' + d; }); + + slidersEnter + .append('input') + .attr('class', function(d) { return 'display-option-input display-option-input-' + d; }) + .attr('type', 'range') + .attr('min', minVal) + .attr('max', maxVal) + .attr('step', '0.05') + .on('input', function(d) { + var val = select(this).property('value'); + updateValue(d, val); + }); + + slidersEnter + .append('button') + .attr('title', t('background.reset')) + .attr('class', function(d) { return 'display-option-reset display-option-reset-' + d; }) + .on('click', function(d) { + if (event.button !== 0) return; + updateValue(d, 1); + }) + .call(svgIcon('#iD-icon-' + (textDirection === 'rtl' ? 'redo' : 'undo'))); + + + // update + container = containerEnter + .merge(container); + + container.selectAll('.display-option-input') + .property('value', function(d) { return _options[d]; }); + + container.selectAll('.display-option-value') + .text(function(d) { return Math.floor(_options[d] * 100) + '%'; }); + + container.selectAll('.display-option-reset') + .classed('disabled', function(d) { return _options[d] === 1; }); + + // first time only, set brightness if needed + if (containerEnter.size() && _options.brightness !== 1) { + context.background().brightness(_options.brightness); + } + } + + + function backgroundDisplayOptions(selection$$1) { + _selection = selection$$1; + + selection$$1 + .call(uiDisclosure(context, 'background_display_options', true) + .title(t('background.display_options')) + .content(render) + ); + } + + + return backgroundDisplayOptions; + } + + function uiBackgroundOffset(context) { + var directions = [ + ['right', [0.5, 0]], + ['top', [0, -0.5]], + ['left', [-0.5, 0]], + ['bottom', [0, 0.5]] + ]; + + + function d3_eventCancel() { + event.stopPropagation(); + event.preventDefault(); + } + + + function updateValue() { + var meters = geoOffsetToMeters(context.background().offset()); + var x = +meters[0].toFixed(2); + var y = +meters[1].toFixed(2); + + d3_selectAll('.nudge-inner-rect') + .select('input') + .classed('error', false) + .property('value', x + ', ' + y); + + d3_selectAll('.nudge-reset') + .classed('disabled', function() { + return (x === 0 && y === 0); + }); + } + + + function resetOffset() { + context.background().offset([0, 0]); + updateValue(); + } + + + function nudge(d) { + context.background().nudge(d, context.map().zoom()); + updateValue(); + } + + + function clickNudgeButton(d) { + var interval; + var timeout = window.setTimeout(function() { + interval = window.setInterval(nudge.bind(null, d), 100); + }, 500); + + function doneNudge() { + window.clearTimeout(timeout); + window.clearInterval(interval); + select(window) + .on('mouseup.buttonoffset', null, true) + .on('mousedown.buttonoffset', null, true); + } + + select(window) + .on('mouseup.buttonoffset', doneNudge, true) + .on('mousedown.buttonoffset', doneNudge, true); + + nudge(d); + } + + + function inputOffset() { + var input = select(this); + var d = input.node().value; + + if (d === '') return resetOffset(); + + d = d.replace(/;/g, ',').split(',').map(function(n) { + // if n is NaN, it will always get mapped to false. + return !isNaN(n) && n; + }); + + if (d.length !== 2 || !d[0] || !d[1]) { + input.classed('error', true); + return; + } + + context.background().offset(geoMetersToOffset(d)); + updateValue(); + } + + + function dragOffset() { + event.preventDefault(); + if (event.button !== 0) return; + + var origin = [event.clientX, event.clientY]; + + context.container() + .append('div') + .attr('class', 'nudge-surface'); + + select(window) + .on('mousemove.offset', function() { + var latest = [event.clientX, event.clientY]; + var d = [ + -(origin[0] - latest[0]) / 4, + -(origin[1] - latest[1]) / 4 + ]; + + origin = latest; + nudge(d); + }) + .on('mouseup.offset', function() { + if (event.button !== 0) return; + d3_selectAll('.nudge-surface') + .remove(); + + select(window) + .on('mousemove.offset', null) + .on('mouseup.offset', null); + }); + } + + + function render(selection$$1) { + var container = selection$$1.selectAll('.nudge-container') + .data([0]); + + var containerEnter = container.enter() + .append('div') + .attr('class', 'nudge-container cf'); + + containerEnter + .append('div') + .attr('class', 'nudge-instructions') + .text(t('background.offset')); + + var nudgeEnter = containerEnter + .append('div') + .attr('class', 'nudge-outer-rect') + .on('mousedown', dragOffset); + + nudgeEnter + .append('div') + .attr('class', 'nudge-inner-rect') + .append('input') + .on('change', inputOffset); + + containerEnter + .append('div') + .selectAll('button') + .data(directions).enter() + .append('button') + .attr('class', function(d) { return d[0] + ' nudge'; }) + .on('contextmenu', d3_eventCancel) + .on('mousedown', function(d) { + if (event.button !== 0) return; + clickNudgeButton(d[1]); + }); + + containerEnter + .append('button') + .attr('title', t('background.reset')) + .attr('class', 'nudge-reset disabled') + .on('contextmenu', d3_eventCancel) + .on('click', function() { + if (event.button !== 0) return; + resetOffset(); + }) + .call(svgIcon('#iD-icon-' + (textDirection === 'rtl' ? 'redo' : 'undo'))); + + updateValue(); + } + + + function backgroundOffset(selection$$1) { + selection$$1 + .call(uiDisclosure(context, 'background_offset', false) + .title(t('background.fix_misalignment')) + .content(render) + ); + } + + + context.background() + .on('change.backgroundOffset-update', updateValue); + + return backgroundOffset; + } + + var marked = createCommonjsModule(function (module, exports) { + (function(root) { + + /** + * Block-Level Grammar + */ + + var block = { + newline: /^\n+/, + code: /^( {4}[^\n]+\n*)+/, + fences: noop, + hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, + heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, + nptable: noop, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?\\?>\\n*' // (3) + + '|\\n*' // (4) + + '|\\n*' // (5) + + '|)[\\s\\S]*?(?:\\n{2,}|$)' // (6) + + '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag + + '|(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, + table: noop, + lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/, + paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/, + text: /^[^\n]+/ + }; + + block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/; + block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; + block.def = edit(block.def) + .replace('label', block._label) + .replace('title', block._title) + .getRegex(); + + block.bullet = /(?:[*+-]|\d+\.)/; + block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/; + block.item = edit(block.item, 'gm') + .replace(/bull/g, block.bullet) + .getRegex(); + + block.list = edit(block.list) + .replace(/bull/g, block.bullet) + .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))') + .replace('def', '\\n+(?=' + block.def.source + ')') + .getRegex(); + + block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + + '|track|ul'; + block._comment = //; + block.html = edit(block.html, 'i') + .replace('comment', block._comment) + .replace('tag', block._tag) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex(); + + block.paragraph = edit(block.paragraph) + .replace('hr', block.hr) + .replace('heading', block.heading) + .replace('lheading', block.lheading) + .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + + block.blockquote = edit(block.blockquote) + .replace('paragraph', block.paragraph) + .getRegex(); + + /** + * Normal Block Grammar + */ + + block.normal = merge({}, block); + + /** + * GFM Block Grammar + */ + + block.gfm = merge({}, block.normal, { + fences: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/, + paragraph: /^/, + heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/ + }); + + block.gfm.paragraph = edit(block.paragraph) + .replace('(?!', '(?!' + + block.gfm.fences.source.replace('\\1', '\\2') + '|' + + block.list.source.replace('\\1', '\\3') + '|') + .getRegex(); + + /** + * GFM + Tables Block Grammar + */ + + block.tables = merge({}, block.gfm, { + nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/, + table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/ + }); + + /** + * Pedantic grammar + */ + + block.pedantic = merge({}, block.normal, { + html: edit( + '^ *(?:comment *(?:\\n|\\s*$)' + + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))') + .replace('comment', block._comment) + .replace(/tag/g, '(?!(?:' + + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/ + }); + + /** + * Block Lexer + */ + + function Lexer(options) { + this.tokens = []; + this.tokens.links = {}; + this.options = options || marked.defaults; + this.rules = block.normal; + + if (this.options.pedantic) { + this.rules = block.pedantic; + } else if (this.options.gfm) { + if (this.options.tables) { + this.rules = block.tables; + } else { + this.rules = block.gfm; + } + } + } + + /** + * Expose Block Rules + */ + + Lexer.rules = block; + + /** + * Static Lex Method + */ + + Lexer.lex = function(src, options) { + var lexer = new Lexer(options); + return lexer.lex(src); + }; + + /** + * Preprocessing + */ + + Lexer.prototype.lex = function(src) { + src = src + .replace(/\r\n|\r/g, '\n') + .replace(/\t/g, ' ') + .replace(/\u00a0/g, ' ') + .replace(/\u2424/g, '\n'); + + return this.token(src, true); + }; + + /** + * Lexing + */ + + Lexer.prototype.token = function(src, top) { + src = src.replace(/^ +$/gm, ''); + var next, + loose, + cap, + bull, + b, + item, + space, + i, + tag, + l, + isordered, + istask, + ischecked; + + while (src) { + // newline + if (cap = this.rules.newline.exec(src)) { + src = src.substring(cap[0].length); + if (cap[0].length > 1) { + this.tokens.push({ + type: 'space' + }); + } + } + + // code + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + cap = cap[0].replace(/^ {4}/gm, ''); + this.tokens.push({ + type: 'code', + text: !this.options.pedantic + ? cap.replace(/\n+$/, '') + : cap + }); + continue; + } + + // fences (gfm) + if (cap = this.rules.fences.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'code', + lang: cap[2], + text: cap[3] || '' + }); + continue; + } + + // heading + if (cap = this.rules.heading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[1].length, + text: cap[2] + }); + continue; + } + + // table no leading pipe (gfm) + if (top && (cap = this.rules.nptable.exec(src))) { + item = { + type: 'table', + header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells(item.cells[i], item.header.length); + } + + this.tokens.push(item); + + continue; + } + } + + // hr + if (cap = this.rules.hr.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'hr' + }); + continue; + } + + // blockquote + if (cap = this.rules.blockquote.exec(src)) { + src = src.substring(cap[0].length); + + this.tokens.push({ + type: 'blockquote_start' + }); + + cap = cap[0].replace(/^ *> ?/gm, ''); + + // Pass `top` to keep the current + // "toplevel" state. This is exactly + // how markdown.pl works. + this.token(cap, top); + + this.tokens.push({ + type: 'blockquote_end' + }); + + continue; + } + + // list + if (cap = this.rules.list.exec(src)) { + src = src.substring(cap[0].length); + bull = cap[2]; + isordered = bull.length > 1; + + this.tokens.push({ + type: 'list_start', + ordered: isordered, + start: isordered ? +bull : '' + }); + + // Get each top-level item. + cap = cap[0].match(this.rules.item); + + next = false; + l = cap.length; + i = 0; + + for (; i < l; i++) { + item = cap[i]; + + // Remove the list item's bullet + // so it is seen as the next token. + space = item.length; + item = item.replace(/^ *([*+-]|\d+\.) +/, ''); + + // Outdent whatever the + // list item contains. Hacky. + if (~item.indexOf('\n ')) { + space -= item.length; + item = !this.options.pedantic + ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') + : item.replace(/^ {1,4}/gm, ''); + } + + // Determine whether the next list item belongs here. + // Backpedal if it does not belong in this list. + if (this.options.smartLists && i !== l - 1) { + b = block.bullet.exec(cap[i + 1])[0]; + if (bull !== b && !(bull.length > 1 && b.length > 1)) { + src = cap.slice(i + 1).join('\n') + src; + i = l - 1; + } + } + + // Determine whether item is loose or not. + // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ + // for discount behavior. + loose = next || /\n\n(?!\s*$)/.test(item); + if (i !== l - 1) { + next = item.charAt(item.length - 1) === '\n'; + if (!loose) loose = next; + } + + // Check for task list items + istask = /^\[[ xX]\] /.test(item); + ischecked = undefined; + if (istask) { + ischecked = item[1] !== ' '; + item = item.replace(/^\[[ xX]\] +/, ''); + } + + this.tokens.push({ + type: loose + ? 'loose_item_start' + : 'list_item_start', + task: istask, + checked: ischecked + }); + + // Recurse. + this.token(item, false); + + this.tokens.push({ + type: 'list_item_end' + }); + } + + this.tokens.push({ + type: 'list_end' + }); + + continue; + } + + // html + if (cap = this.rules.html.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: this.options.sanitize + ? 'paragraph' + : 'html', + pre: !this.options.sanitizer + && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: cap[0] + }); + continue; + } + + // def + if (top && (cap = this.rules.def.exec(src))) { + src = src.substring(cap[0].length); + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + if (!this.tokens.links[tag]) { + this.tokens.links[tag] = { + href: cap[2], + title: cap[3] + }; + } + continue; + } + + // table (gfm) + if (top && (cap = this.rules.table.exec(src))) { + item = { + type: 'table', + header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/(?: *\| *)?\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells( + item.cells[i].replace(/^ *\| *| *\| *$/g, ''), + item.header.length); + } + + this.tokens.push(item); + + continue; + } + } + + // lheading + if (cap = this.rules.lheading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[2] === '=' ? 1 : 2, + text: cap[1] + }); + continue; + } + + // top-level paragraph + if (top && (cap = this.rules.paragraph.exec(src))) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'paragraph', + text: cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1] + }); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + // Top-level should never reach here. + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'text', + text: cap[0] + }); + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return this.tokens; + }; + + /** + * Inline-Level Grammar + */ + + var inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noop, + tag: '^comment' + + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', // CDATA section + link: /^!?\[(label)\]\(href(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, + nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, + strong: /^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)|^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)/, + em: /^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*][\s\S]*?[^\s])\*(?!\*)|^_([^\s_])_(?!_)|^\*([^\s*])\*(?!\*)/, + code: /^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/, + br: /^ {2,}\n(?!\s*$)/, + del: noop, + text: /^[\s\S]+?(?=[\\?@\[\]\\^_`{|}~])/g; + + inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; + inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; + inline.autolink = edit(inline.autolink) + .replace('scheme', inline._scheme) + .replace('email', inline._email) + .getRegex(); + + inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; + + inline.tag = edit(inline.tag) + .replace('comment', block._comment) + .replace('attribute', inline._attribute) + .getRegex(); + + inline._label = /(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/; + inline._href = /\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f()\\]*\)|[^\s\x00-\x1f()\\])*?)/; + inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; + + inline.link = edit(inline.link) + .replace('label', inline._label) + .replace('href', inline._href) + .replace('title', inline._title) + .getRegex(); + + inline.reflink = edit(inline.reflink) + .replace('label', inline._label) + .getRegex(); + + /** + * Normal Inline Grammar + */ + + inline.normal = merge({}, inline); + + /** + * Pedantic Inline Grammar + */ + + inline.pedantic = merge({}, inline.normal, { + strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, + link: edit(/^!?\[(label)\]\((.*?)\)/) + .replace('label', inline._label) + .getRegex(), + reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', inline._label) + .getRegex() + }); + + /** + * GFM Inline Grammar + */ + + inline.gfm = merge({}, inline.normal, { + escape: edit(inline.escape).replace('])', '~|])').getRegex(), + url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/) + .replace('email', inline._email) + .getRegex(), + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^~~(?=\S)([\s\S]*?\S)~~/, + text: edit(inline.text) + .replace(']|', '~]|') + .replace('|', '|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&\'*+/=?^_`{\\|}~-]+@|') + .getRegex() + }); + + /** + * GFM + Line Breaks Inline Grammar + */ + + inline.breaks = merge({}, inline.gfm, { + br: edit(inline.br).replace('{2,}', '*').getRegex(), + text: edit(inline.gfm.text).replace('{2,}', '*').getRegex() + }); + + /** + * Inline Lexer & Compiler + */ + + function InlineLexer(links, options) { + this.options = options || marked.defaults; + this.links = links; + this.rules = inline.normal; + this.renderer = this.options.renderer || new Renderer(); + this.renderer.options = this.options; + + if (!this.links) { + throw new Error('Tokens array requires a `links` property.'); + } + + if (this.options.pedantic) { + this.rules = inline.pedantic; + } else if (this.options.gfm) { + if (this.options.breaks) { + this.rules = inline.breaks; + } else { + this.rules = inline.gfm; + } + } + } + + /** + * Expose Inline Rules + */ + + InlineLexer.rules = inline; + + /** + * Static Lexing/Compiling Method + */ + + InlineLexer.output = function(src, links, options) { + var inline = new InlineLexer(links, options); + return inline.output(src); + }; + + /** + * Lexing/Compiling + */ + + InlineLexer.prototype.output = function(src) { + var out = '', + link, + text, + href, + title, + cap; + + while (src) { + // escape + if (cap = this.rules.escape.exec(src)) { + src = src.substring(cap[0].length); + out += cap[1]; + continue; + } + + // autolink + if (cap = this.rules.autolink.exec(src)) { + src = src.substring(cap[0].length); + if (cap[2] === '@') { + text = escape(this.mangle(cap[1])); + href = 'mailto:' + text; + } else { + text = escape(cap[1]); + href = text; + } + out += this.renderer.link(href, null, text); + continue; + } + + // url (gfm) + if (!this.inLink && (cap = this.rules.url.exec(src))) { + cap[0] = this.rules._backpedal.exec(cap[0])[0]; + src = src.substring(cap[0].length); + if (cap[2] === '@') { + text = escape(cap[0]); + href = 'mailto:' + text; + } else { + text = escape(cap[0]); + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + out += this.renderer.link(href, null, text); + continue; + } + + // tag + if (cap = this.rules.tag.exec(src)) { + if (!this.inLink && /^/i.test(cap[0])) { + this.inLink = false; + } + src = src.substring(cap[0].length); + out += this.options.sanitize + ? this.options.sanitizer + ? this.options.sanitizer(cap[0]) + : escape(cap[0]) + : cap[0]; + continue; + } + + // link + if (cap = this.rules.link.exec(src)) { + src = src.substring(cap[0].length); + this.inLink = true; + href = cap[2]; + if (this.options.pedantic) { + link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } else { + title = ''; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + href = href.trim().replace(/^<([\s\S]*)>$/, '$1'); + out += this.outputLink(cap, { + href: InlineLexer.escapes(href), + title: InlineLexer.escapes(title) + }); + this.inLink = false; + continue; + } + + // reflink, nolink + if ((cap = this.rules.reflink.exec(src)) + || (cap = this.rules.nolink.exec(src))) { + src = src.substring(cap[0].length); + link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = this.links[link.toLowerCase()]; + if (!link || !link.href) { + out += cap[0].charAt(0); + src = cap[0].substring(1) + src; + continue; + } + this.inLink = true; + out += this.outputLink(cap, link); + this.inLink = false; + continue; + } + + // strong + if (cap = this.rules.strong.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } + + // em + if (cap = this.rules.em.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } + + // code + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.codespan(escape(cap[2].trim(), true)); + continue; + } + + // br + if (cap = this.rules.br.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.br(); + continue; + } + + // del (gfm) + if (cap = this.rules.del.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.del(this.output(cap[1])); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.text(escape(this.smartypants(cap[0]))); + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return out; + }; + + InlineLexer.escapes = function(text) { + return text ? text.replace(InlineLexer.rules._escapes, '$1') : text; + }; + + /** + * Compile Link + */ + + InlineLexer.prototype.outputLink = function(cap, link) { + var href = link.href, + title = link.title ? escape(link.title) : null; + + return cap[0].charAt(0) !== '!' + ? this.renderer.link(href, title, this.output(cap[1])) + : this.renderer.image(href, title, escape(cap[1])); + }; + + /** + * Smartypants Transformations + */ + + InlineLexer.prototype.smartypants = function(text) { + if (!this.options.smartypants) return text; + return text + // em-dashes + .replace(/---/g, '\u2014') + // en-dashes + .replace(/--/g, '\u2013') + // opening singles + .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') + // closing singles & apostrophes + .replace(/'/g, '\u2019') + // opening doubles + .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') + // closing doubles + .replace(/"/g, '\u201d') + // ellipses + .replace(/\.{3}/g, '\u2026'); + }; + + /** + * Mangle Links + */ + + InlineLexer.prototype.mangle = function(text) { + if (!this.options.mangle) return text; + var out = '', + l = text.length, + i = 0, + ch; + + for (; i < l; i++) { + ch = text.charCodeAt(i); + if (Math.random() > 0.5) { + ch = 'x' + ch.toString(16); + } + out += '&#' + ch + ';'; + } + + return out; + }; + + /** + * Renderer + */ + + function Renderer(options) { + this.options = options || marked.defaults; + } + + Renderer.prototype.code = function(code, lang, escaped) { + if (this.options.highlight) { + var out = this.options.highlight(code, lang); + if (out != null && out !== code) { + escaped = true; + code = out; + } + } + + if (!lang) { + return '
    '
    +        + (escaped ? code : escape(code, true))
    +        + '
    '; + } + + return '
    '
    +      + (escaped ? code : escape(code, true))
    +      + '
    \n'; + }; + + Renderer.prototype.blockquote = function(quote) { + return '
    \n' + quote + '
    \n'; + }; + + Renderer.prototype.html = function(html) { + return html; + }; + + Renderer.prototype.heading = function(text, level, raw) { + if (this.options.headerIds) { + return '' + + text + + '\n'; + } + // ignore IDs + return '' + text + '\n'; + }; + + Renderer.prototype.hr = function() { + return this.options.xhtml ? '
    \n' : '
    \n'; + }; + + Renderer.prototype.list = function(body, ordered, start) { + var type = ordered ? 'ol' : 'ul', + startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + }; + + Renderer.prototype.listitem = function(text) { + return '
  • ' + text + '
  • \n'; + }; + + Renderer.prototype.checkbox = function(checked) { + return ' '; + }; + + Renderer.prototype.paragraph = function(text) { + return '

    ' + text + '

    \n'; + }; + + Renderer.prototype.table = function(header, body) { + if (body) body = '' + body + ''; + + return '\n' + + '\n' + + header + + '\n' + + body + + '
    \n'; + }; + + Renderer.prototype.tablerow = function(content) { + return '\n' + content + '\n'; + }; + + Renderer.prototype.tablecell = function(content, flags) { + var type = flags.header ? 'th' : 'td'; + var tag = flags.align + ? '<' + type + ' align="' + flags.align + '">' + : '<' + type + '>'; + return tag + content + '\n'; + }; + + // span level renderer + Renderer.prototype.strong = function(text) { + return '' + text + ''; + }; + + Renderer.prototype.em = function(text) { + return '' + text + ''; + }; + + Renderer.prototype.codespan = function(text) { + return '' + text + ''; + }; + + Renderer.prototype.br = function() { + return this.options.xhtml ? '
    ' : '
    '; + }; + + Renderer.prototype.del = function(text) { + return '' + text + ''; + }; + + Renderer.prototype.link = function(href, title, text) { + if (this.options.sanitize) { + try { + var prot = decodeURIComponent(unescape(href)) + .replace(/[^\w:]/g, '') + .toLowerCase(); + } catch (e) { + return text; + } + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return text; + } + } + if (this.options.baseUrl && !originIndependentUrl.test(href)) { + href = resolveUrl(this.options.baseUrl, href); + } + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return text; + } + var out = '
    '; + return out; + }; + + Renderer.prototype.image = function(href, title, text) { + if (this.options.baseUrl && !originIndependentUrl.test(href)) { + href = resolveUrl(this.options.baseUrl, href); + } + var out = '' + text + '' : '>'; + return out; + }; + + Renderer.prototype.text = function(text) { + return text; + }; + + /** + * TextRenderer + * returns only the textual part of the token + */ + + function TextRenderer() {} + + // no need for block level renderers + + TextRenderer.prototype.strong = + TextRenderer.prototype.em = + TextRenderer.prototype.codespan = + TextRenderer.prototype.del = + TextRenderer.prototype.text = function (text) { + return text; + }; + + TextRenderer.prototype.link = + TextRenderer.prototype.image = function(href, title, text) { + return '' + text; + }; + + TextRenderer.prototype.br = function() { + return ''; + }; + + /** + * Parsing & Compiling + */ + + function Parser(options) { + this.tokens = []; + this.token = null; + this.options = options || marked.defaults; + this.options.renderer = this.options.renderer || new Renderer(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; + } + + /** + * Static Parse Method + */ + + Parser.parse = function(src, options) { + var parser = new Parser(options); + return parser.parse(src); + }; + + /** + * Parse Loop + */ + + Parser.prototype.parse = function(src) { + this.inline = new InlineLexer(src.links, this.options); + // use an InlineLexer with a TextRenderer to extract pure text + this.inlineText = new InlineLexer( + src.links, + merge({}, this.options, {renderer: new TextRenderer()}) + ); + this.tokens = src.reverse(); + + var out = ''; + while (this.next()) { + out += this.tok(); + } + + return out; + }; + + /** + * Next Token + */ + + Parser.prototype.next = function() { + return this.token = this.tokens.pop(); + }; + + /** + * Preview Next Token + */ + + Parser.prototype.peek = function() { + return this.tokens[this.tokens.length - 1] || 0; + }; + + /** + * Parse Text Tokens + */ + + Parser.prototype.parseText = function() { + var body = this.token.text; + + while (this.peek().type === 'text') { + body += '\n' + this.next().text; + } + + return this.inline.output(body); + }; + + /** + * Parse Current Token + */ + + Parser.prototype.tok = function() { + switch (this.token.type) { + case 'space': { + return ''; + } + case 'hr': { + return this.renderer.hr(); + } + case 'heading': { + return this.renderer.heading( + this.inline.output(this.token.text), + this.token.depth, + unescape(this.inlineText.output(this.token.text))); + } + case 'code': { + return this.renderer.code(this.token.text, + this.token.lang, + this.token.escaped); + } + case 'table': { + var header = '', + body = '', + i, + row, + cell, + j; + + // header + cell = ''; + for (i = 0; i < this.token.header.length; i++) { + cell += this.renderer.tablecell( + this.inline.output(this.token.header[i]), + { header: true, align: this.token.align[i] } + ); + } + header += this.renderer.tablerow(cell); + + for (i = 0; i < this.token.cells.length; i++) { + row = this.token.cells[i]; + + cell = ''; + for (j = 0; j < row.length; j++) { + cell += this.renderer.tablecell( + this.inline.output(row[j]), + { header: false, align: this.token.align[j] } + ); + } + + body += this.renderer.tablerow(cell); + } + return this.renderer.table(header, body); + } + case 'blockquote_start': { + body = ''; + + while (this.next().type !== 'blockquote_end') { + body += this.tok(); + } + + return this.renderer.blockquote(body); + } + case 'list_start': { + body = ''; + var ordered = this.token.ordered, + start = this.token.start; + + while (this.next().type !== 'list_end') { + body += this.tok(); + } + + return this.renderer.list(body, ordered, start); + } + case 'list_item_start': { + body = ''; + + if (this.token.task) { + body += this.renderer.checkbox(this.token.checked); + } + + while (this.next().type !== 'list_item_end') { + body += this.token.type === 'text' + ? this.parseText() + : this.tok(); + } + + return this.renderer.listitem(body); + } + case 'loose_item_start': { + body = ''; + + while (this.next().type !== 'list_item_end') { + body += this.tok(); + } + + return this.renderer.listitem(body); + } + case 'html': { + // TODO parse inline content if parameter markdown=1 + return this.renderer.html(this.token.text); + } + case 'paragraph': { + return this.renderer.paragraph(this.inline.output(this.token.text)); + } + case 'text': { + return this.renderer.paragraph(this.parseText()); + } + } + }; + + /** + * Helpers + */ + + function escape(html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); + } + + function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, function(_, n) { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); + } + + function edit(regex, opt) { + regex = regex.source || regex; + opt = opt || ''; + return { + replace: function(name, val) { + val = val.source || val; + val = val.replace(/(^|[^\[])\^/g, '$1'); + regex = regex.replace(name, val); + return this; + }, + getRegex: function() { + return new RegExp(regex, opt); + } + }; + } + + function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (/^[^:]+:\/*[^/]*$/.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = base.replace(/[^/]*$/, ''); + } + } + base = baseUrls[' ' + base]; + + if (href.slice(0, 2) === '//') { + return base.replace(/:[\s\S]*/, ':') + href; + } else if (href.charAt(0) === '/') { + return base.replace(/(:\/*[^/]*)[\s\S]*/, '$1') + href; + } else { + return base + href; + } + } + var baseUrls = {}; + var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; + + function noop() {} + noop.exec = noop; + + function merge(obj) { + var i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; + } + + function splitCells(tableRow, count) { + var cells = tableRow.replace(/([^\\])\|/g, '$1 |').split(/ +\| */), + i = 0; + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) cells.push(''); + } + + for (; i < cells.length; i++) { + cells[i] = cells[i].replace(/\\\|/g, '|'); + } + return cells; + } + + /** + * Marked + */ + + function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + if (callback || typeof opt === 'function') { + if (!callback) { + callback = opt; + opt = null; + } + + opt = merge({}, marked.defaults, opt || {}); + + var highlight = opt.highlight, + tokens, + pending, + i = 0; + + try { + tokens = Lexer.lex(src, opt); + } catch (e) { + return callback(e); + } + + pending = tokens.length; + + var done = function(err) { + if (err) { + opt.highlight = highlight; + return callback(err); + } + + var out; + + try { + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } + + opt.highlight = highlight; + + return err + ? callback(err) + : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + + if (!pending) return done(); + + for (; i < tokens.length; i++) { + (function(token) { + if (token.type !== 'code') { + return --pending || done(); + } + return highlight(token.text, token.lang, function(err, code) { + if (err) return done(err); + if (code == null || code === token.text) { + return --pending || done(); + } + token.text = code; + token.escaped = true; + --pending || done(); + }); + })(tokens[i]); + } + + return; + } + try { + if (opt) opt = merge({}, marked.defaults, opt); + return Parser.parse(Lexer.lex(src, opt), opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if ((opt || marked.defaults).silent) { + return '

    An error occurred:

    '
    +          + escape(e.message + '', true)
    +          + '
    '; + } + throw e; + } + } + + /** + * Options + */ + + marked.options = + marked.setOptions = function(opt) { + merge(marked.defaults, opt); + return marked; + }; + + marked.getDefaults = function () { + return { + baseUrl: null, + breaks: false, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: new Renderer(), + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + tables: true, + xhtml: false + }; }; + marked.defaults = marked.getDefaults(); + + /** + * Expose + */ + + marked.Parser = Parser; + marked.parser = Parser.parse; + + marked.Renderer = Renderer; + marked.TextRenderer = TextRenderer; + + marked.Lexer = Lexer; + marked.lexer = Lexer.lex; + + marked.InlineLexer = InlineLexer; + marked.inlineLexer = InlineLexer.output; + + marked.parse = marked; + + { + module.exports = marked; + } + })(commonjsGlobal || (typeof window !== 'undefined' ? window : commonjsGlobal)); + }); + + function pointBox(loc, context) { + var rect = context.surfaceRect(); + var point$$1 = context.curtainProjection(loc); + return { + left: point$$1[0] + rect.left - 40, + top: point$$1[1] + rect.top - 60, + width: 80, + height: 90 + }; + } + + + function pad$1(locOrBox, padding, context) { + var box; + if (locOrBox instanceof Array) { + var rect = context.surfaceRect(); + var point$$1 = context.curtainProjection(locOrBox); + box = { + left: point$$1[0] + rect.left, + top: point$$1[1] + rect.top + }; + } else { + box = locOrBox; + } + + return { + left: box.left - padding, + top: box.top - padding, + width: (box.width || 0) + 2 * padding, + height: (box.width || 0) + 2 * padding + }; + } + + + function icon(name, svgklass, useklass) { + return '' + + ''; + } + + + function slugify(text) { + return text.toString().toLowerCase() + .replace(/\s+/g, '-') // Replace spaces with - + .replace(/[^\w\-]+/g, '') // Remove all non-word chars + .replace(/\-\-+/g, '-') // Replace multiple - with single - + .replace(/^-+/, '') // Trim - from start of text + .replace(/-+$/, ''); // Trim - from end of text + } + + + // console warning for missing walkthrough names + var missingStrings = {}; + function checkKey(key, text) { + if (t(key, { default: undefined}) === undefined) { + if (missingStrings.hasOwnProperty(key)) return; // warn once + missingStrings[key] = text; + var missing = key + ': ' + text; + if (typeof console !== 'undefined') console.log(missing); // eslint-disable-line + } + } + + + function localize(obj) { + var key; + + // Assign name if entity has one.. + var name = obj.tags && obj.tags.name; + if (name) { + key = 'intro.graph.name.' + slugify(name); + obj.tags.name = t(key, { default: name }); + checkKey(key, name); + } + + // Assign street name if entity has one.. + var street = obj.tags && obj.tags['addr:street']; + if (street) { + key = 'intro.graph.name.' + slugify(street); + obj.tags['addr:street'] = t(key, { default: street }); + checkKey(key, street); + + // Add address details common across walkthrough.. + var addrTags = [ + 'block_number', 'city', 'county', 'district', 'hamlet', 'neighbourhood', + 'postcode', 'province', 'quarter', 'state', 'subdistrict', 'suburb' + ]; + addrTags.forEach(function(k) { + var key = 'intro.graph.' + k, + tag = 'addr:' + k, + val = obj.tags && obj.tags[tag], + str = t(key, { default: val }); + + if (str) { + if (str.match(/^<.*>$/) !== null) { + delete obj.tags[tag]; + } else { + obj.tags[tag] = str; + } + } + }); + } + + return obj; + } + + + // Used to detect squareness.. some duplicataion of code from actionOrthogonalize. + function isMostlySquare(points) { + // note: uses 15 here instead of the 12 from actionOrthogonalize because + // actionOrthogonalize can actually straighten some larger angles as it iterates + var threshold = 15, // degrees within right or straight + lowerBound = Math.cos((90 - threshold) * Math.PI / 180), // near right + upperBound = Math.cos(threshold * Math.PI / 180), // near straight + mag; + + for (var i = 0; i < points.length; i++) { + mag = Math.abs(normalizedDotProduct(i, points)); + if (mag > lowerBound && mag < upperBound) { + return false; + } + } + + return true; + + + function normalizedDotProduct(i, points) { + var a = points[(i - 1 + points.length) % points.length], + b = points[i], + c = points[(i + 1) % points.length], + p = subtractPoints(a, b), + q = subtractPoints(c, b); + + p = normalizePoint(p); + q = normalizePoint(q); + + return p[0] * q[0] + p[1] * q[1]; + + + function subtractPoints(a, b) { + return [a[0] - b[0], a[1] - b[1]]; + } + + function normalizePoint(point$$1) { + var vector = [0, 0]; + var length = Math.sqrt(point$$1[0] * point$$1[0] + point$$1[1] * point$$1[1]); + if (length !== 0) { + vector[0] = point$$1[0] / length; + vector[1] = point$$1[1] / length; + } + return vector; + } + } + } + + + function selectMenuItem(operation) { + var selector$$1 = '.edit-menu .edit-menu-item-' + operation + + ', .radial-menu .radial-menu-item-' + operation; + return select(selector$$1); + } + + + function transitionTime(point1, point2) { + var distance = geoSphericalDistance(point1, point2); + if (distance === 0) + return 0; + else if (distance < 80) + return 500; + else + return 1000; + } + + var dataIntroGraph = {n1:{id:"n1",loc:[-85.631039,41.948829]},n10:{id:"n10",loc:[-85.634733,41.941588]},n100:{id:"n100",loc:[-85.637395,41.942252]},n1000:{id:"n1000",loc:[-85.632699,41.944763]},n1001:{id:"n1001",loc:[-85.632685,41.944763]},n1002:{id:"n1002",loc:[-85.632673,41.944755]},n1003:{id:"n1003",loc:[-85.632595,41.944682]},n1004:{id:"n1004",loc:[-85.632576,41.944673]},n1005:{id:"n1005",loc:[-85.632551,41.944667]},n1006:{id:"n1006",loc:[-85.63253,41.944667]},n1007:{id:"n1007",loc:[-85.632502,41.944669]},n1008:{id:"n1008",loc:[-85.632483,41.944677]},n1009:{id:"n1009",loc:[-85.632383,41.944731]},n101:{id:"n101",loc:[-85.637357,41.942252]},n1010:{id:"n1010",loc:[-85.63349,41.944976],tags:{"addr:city":"Three Rivers","addr:housenumber":"31","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Sherwin-Williams",shop:"paint"}},n1011:{id:"n1011",loc:[-85.633548,41.945034],tags:{"addr:city":"Three Rivers","addr:housenumber":"33","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Unique Jewelry",shop:"jewelry"}},n1012:{id:"n1012",loc:[-85.633683,41.945129],tags:{"addr:city":"Three Rivers","addr:housenumber":"37","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"World Fare",shop:"gift"}},n1013:{id:"n1013",loc:[-85.634563,41.945469],tags:{"addr:city":"Three Rivers","addr:housenumber":"62","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Golden Finch Framing",shop:"frame"}},n1014:{id:"n1014",loc:[-85.634469,41.945379],tags:{"addr:city":"Three Rivers","addr:housenumber":"58","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Dollar Tree",shop:"second_hand"}},n1015:{id:"n1015",loc:[-85.634227,41.945159],tags:{"addr:city":"Three Rivers","addr:housenumber":"48","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",amenity:"theatre",name:"Riviera Theatre"}},n1016:{id:"n1016",loc:[-85.634057,41.945012],tags:{"addr:city":"Three Rivers","addr:housenumber":"42","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"River City Appliance",shop:"appliance"}},n1017:{id:"n1017",loc:[-85.633879,41.945325],tags:{"addr:city":"Three Rivers","addr:housenumber":"45","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Paparazzi Tattoo",shop:"tattoo"}},n1018:{id:"n1018",loc:[-85.634914,41.945839],tags:{"addr:city":"Three Rivers","addr:housenumber":"88","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",amenity:"bank",name:"Southern Michigan Bank"}},n1019:{id:"n1019",loc:[-85.634514,41.946176]},n102:{id:"n102",loc:[-85.637357,41.942216]},n1020:{id:"n1020",loc:[-85.634087,41.946178]},n1021:{id:"n1021",loc:[-85.634357,41.945805]},n1022:{id:"n1022",loc:[-85.634389,41.945788]},n1023:{id:"n1023",loc:[-85.634491,41.94581]},n1024:{id:"n1024",loc:[-85.634513,41.945853]},n1025:{id:"n1025",loc:[-85.634506,41.94583]},n1026:{id:"n1026",loc:[-85.634762,41.946056],tags:{crossing:"zebra",highway:"crossing"}},n1027:{id:"n1027",loc:[-85.634767,41.946172]},n1028:{id:"n1028",loc:[-85.634622,41.946175],tags:{crossing:"zebra",highway:"crossing"}},n1029:{id:"n1029",loc:[-85.640655,41.942057]},n103:{id:"n103",loc:[-85.637386,41.942054]},n1030:{id:"n1030",loc:[-85.640947,41.942057]},n1031:{id:"n1031",loc:[-85.640957,41.942593]},n1032:{id:"n1032",loc:[-85.630953,41.960873]},n1033:{id:"n1033",loc:[-85.632174,41.960679]},n1034:{id:"n1034",loc:[-85.638785,41.943066]},n1035:{id:"n1035",loc:[-85.638853,41.943065]},n1036:{id:"n1036",loc:[-85.638855,41.943183]},n1037:{id:"n1037",loc:[-85.638552,41.943189]},n1038:{id:"n1038",loc:[-85.63855,41.943149]},n1039:{id:"n1039",loc:[-85.638638,41.943068]},n104:{id:"n104",loc:[-85.637387,41.942125]},n1040:{id:"n1040",loc:[-85.638638,41.943078]},n1041:{id:"n1041",loc:[-85.638813,41.943163]},n1042:{id:"n1042",loc:[-85.638684,41.943165]},n1043:{id:"n1043",loc:[-85.638682,41.943105]},n1044:{id:"n1044",loc:[-85.638706,41.943105]},n1045:{id:"n1045",loc:[-85.638707,41.943117]},n1046:{id:"n1046",loc:[-85.638812,41.943115]},n1047:{id:"n1047",loc:[-85.638769,41.943407]},n1048:{id:"n1048",loc:[-85.638549,41.943407]},n1049:{id:"n1049",loc:[-85.638567,41.943555]},n105:{id:"n105",loc:[-85.637319,41.942125]},n1050:{id:"n1050",loc:[-85.638426,41.943554]},n1051:{id:"n1051",loc:[-85.638427,41.94346]},n1052:{id:"n1052",loc:[-85.638568,41.943461]},n1053:{id:"n1053",loc:[-85.639264,41.943415]},n1054:{id:"n1054",loc:[-85.639082,41.943417]},n1055:{id:"n1055",loc:[-85.63908,41.943331]},n1056:{id:"n1056",loc:[-85.639136,41.94333]},n1057:{id:"n1057",loc:[-85.639158,41.943312]},n1058:{id:"n1058",loc:[-85.639188,41.943313]},n1059:{id:"n1059",loc:[-85.639211,41.943331]},n106:{id:"n106",loc:[-85.637319,41.942137]},n1060:{id:"n1060",loc:[-85.639262,41.943331]},n1061:{id:"n1061",loc:[-85.638986,41.943515]},n1062:{id:"n1062",loc:[-85.63888,41.943521]},n1063:{id:"n1063",loc:[-85.638871,41.943436]},n1064:{id:"n1064",loc:[-85.638958,41.943431]},n1065:{id:"n1065",loc:[-85.638979,41.943443]},n1066:{id:"n1066",loc:[-85.63926,41.943703]},n1067:{id:"n1067",loc:[-85.639152,41.943704]},n1068:{id:"n1068",loc:[-85.639152,41.943691]},n1069:{id:"n1069",loc:[-85.639063,41.943691]},n107:{id:"n107",loc:[-85.637259,41.942137]},n1070:{id:"n1070",loc:[-85.639062,41.943613]},n1071:{id:"n1071",loc:[-85.639259,41.943611]},n1072:{id:"n1072",loc:[-85.639117,41.943726]},n1073:{id:"n1073",loc:[-85.639118,41.943767]},n1074:{id:"n1074",loc:[-85.639051,41.943768]},n1075:{id:"n1075",loc:[-85.63905,41.943727]},n1076:{id:"n1076",loc:[-85.638627,41.943716]},n1077:{id:"n1077",loc:[-85.63863,41.943634]},n1078:{id:"n1078",loc:[-85.63844,41.943631]},n1079:{id:"n1079",loc:[-85.638437,41.943729]},n108:{id:"n108",loc:[-85.637259,41.942126]},n1080:{id:"n1080",loc:[-85.638533,41.94373]},n1081:{id:"n1081",loc:[-85.638534,41.943715]},n1082:{id:"n1082",loc:[-85.638678,41.943941]},n1083:{id:"n1083",loc:[-85.638522,41.943944]},n1084:{id:"n1084",loc:[-85.63852,41.943864]},n1085:{id:"n1085",loc:[-85.638676,41.943861]},n1086:{id:"n1086",loc:[-85.638663,41.944059]},n1087:{id:"n1087",loc:[-85.638513,41.944061]},n1088:{id:"n1088",loc:[-85.638511,41.943991]},n1089:{id:"n1089",loc:[-85.638661,41.943989]},n109:{id:"n109",loc:[-85.637193,41.942126]},n1090:{id:"n1090",loc:[-85.63865,41.944134]},n1091:{id:"n1091",loc:[-85.638429,41.944144]},n1092:{id:"n1092",loc:[-85.638426,41.944106]},n1093:{id:"n1093",loc:[-85.638476,41.944104]},n1094:{id:"n1094",loc:[-85.638475,41.94409]},n1095:{id:"n1095",loc:[-85.638594,41.944084]},n1096:{id:"n1096",loc:[-85.638595,41.944101]},n1097:{id:"n1097",loc:[-85.638647,41.944099]},n1098:{id:"n1098",loc:[-85.63829,41.944154]},n1099:{id:"n1099",loc:[-85.638558,41.944155]},n11:{id:"n11",loc:[-85.634602,41.941523]},n110:{id:"n110",loc:[-85.637192,41.942053]},n1100:{id:"n1100",loc:[-85.638558,41.944338]},n1101:{id:"n1101",loc:[-85.638851,41.944408]},n1102:{id:"n1102",loc:[-85.637771,41.943989]},n1103:{id:"n1103",loc:[-85.639345,41.943964]},n1104:{id:"n1104",loc:[-85.638515,41.94397]},n1105:{id:"n1105",loc:[-85.639256,41.943928]},n1106:{id:"n1106",loc:[-85.639157,41.943929]},n1107:{id:"n1107",loc:[-85.639156,41.9439]},n1108:{id:"n1108",loc:[-85.639118,41.9439]},n1109:{id:"n1109",loc:[-85.639116,41.94382]},n111:{id:"n111",loc:[-85.637248,41.942053]},n1110:{id:"n1110",loc:[-85.639202,41.943819]},n1111:{id:"n1111",loc:[-85.639202,41.943837]},n1112:{id:"n1112",loc:[-85.639293,41.943836]},n1113:{id:"n1113",loc:[-85.639295,41.943898]},n1114:{id:"n1114",loc:[-85.639255,41.943898]},n1115:{id:"n1115",loc:[-85.639296,41.944083]},n1116:{id:"n1116",loc:[-85.639144,41.944084]},n1117:{id:"n1117",loc:[-85.639143,41.944026]},n1118:{id:"n1118",loc:[-85.639162,41.944026]},n1119:{id:"n1119",loc:[-85.639162,41.944]},n112:{id:"n112",loc:[-85.637248,41.942042]},n1120:{id:"n1120",loc:[-85.639295,41.943999]},n1121:{id:"n1121",loc:[-85.639131,41.944139]},n1122:{id:"n1122",loc:[-85.63901,41.94414]},n1123:{id:"n1123",loc:[-85.63901,41.944076]},n1124:{id:"n1124",loc:[-85.63913,41.944075]},n1125:{id:"n1125",loc:[-85.639092,41.944155]},n1126:{id:"n1126",loc:[-85.639093,41.944308]},n1127:{id:"n1127",loc:[-85.639225,41.944308]},n1128:{id:"n1128",loc:[-85.639225,41.94429]},n1129:{id:"n1129",loc:[-85.639253,41.944289]},n113:{id:"n113",loc:[-85.637338,41.942041]},n1130:{id:"n1130",loc:[-85.639253,41.944269]},n1131:{id:"n1131",loc:[-85.639243,41.944269]},n1132:{id:"n1132",loc:[-85.639243,41.944229]},n1133:{id:"n1133",loc:[-85.639224,41.944229]},n1134:{id:"n1134",loc:[-85.639224,41.944196]},n1135:{id:"n1135",loc:[-85.639195,41.944196]},n1136:{id:"n1136",loc:[-85.639195,41.944155]},n1137:{id:"n1137",loc:[-85.639072,41.944154]},n1138:{id:"n1138",loc:[-85.638865,41.944154]},n1139:{id:"n1139",loc:[-85.638863,41.943967]},n114:{id:"n114",loc:[-85.637338,41.942055]},n1140:{id:"n1140",loc:[-85.6386,41.942698]},n1141:{id:"n1141",loc:[-85.639348,41.942698]},n1142:{id:"n1142",loc:[-85.639377,41.944984]},n1143:{id:"n1143",loc:[-85.63937,41.945013]},n1144:{id:"n1144",loc:[-85.639357,41.945033]},n1145:{id:"n1145",loc:[-85.639353,41.945053]},n1146:{id:"n1146",loc:[-85.639352,41.945084]},n1147:{id:"n1147",loc:[-85.638278,41.945516]},n1148:{id:"n1148",loc:[-85.637505,41.945801]},n1149:{id:"n1149",loc:[-85.637327,41.945857]},n115:{id:"n115",loc:[-85.637583,41.941943]},n1150:{id:"n1150",loc:[-85.637168,41.945899]},n1151:{id:"n1151",loc:[-85.637017,41.94593]},n1152:{id:"n1152",loc:[-85.637185,41.945938]},n1153:{id:"n1153",loc:[-85.63682,41.945963]},n1154:{id:"n1154",loc:[-85.636639,41.945984]},n1155:{id:"n1155",loc:[-85.636439,41.945999]},n1156:{id:"n1156",loc:[-85.635801,41.945999]},n1157:{id:"n1157",loc:[-85.635769,41.945908]},n1158:{id:"n1158",loc:[-85.635953,41.946154]},n1159:{id:"n1159",loc:[-85.635472,41.94598]},n116:{id:"n116",loc:[-85.637584,41.941983]},n1160:{id:"n1160",loc:[-85.635409,41.945981]},n1161:{id:"n1161",loc:[-85.635583,41.945987]},n1162:{id:"n1162",loc:[-85.636452,41.945805]},n1163:{id:"n1163",loc:[-85.636425,41.94582]},n1164:{id:"n1164",loc:[-85.636396,41.945817]},n1165:{id:"n1165",loc:[-85.636368,41.945797]},n1166:{id:"n1166",loc:[-85.636346,41.945767]},n1167:{id:"n1167",loc:[-85.636307,41.945745]},n1168:{id:"n1168",loc:[-85.636194,41.94565]},n1169:{id:"n1169",loc:[-85.636121,41.945579]},n117:{id:"n117",loc:[-85.63751,41.941983]},n1170:{id:"n1170",loc:[-85.635995,41.945432]},n1171:{id:"n1171",loc:[-85.637564,41.943538]},n1172:{id:"n1172",loc:[-85.63756,41.943505]},n1173:{id:"n1173",loc:[-85.637435,41.943489]},n1174:{id:"n1174",loc:[-85.637093,41.943556]},n1175:{id:"n1175",loc:[-85.634836,41.941574]},n1176:{id:"n1176",loc:[-85.634692,41.9415]},n1177:{id:"n1177",loc:[-85.634261,41.941337]},n1178:{id:"n1178",loc:[-85.634208,41.940962]},n1179:{id:"n1179",loc:[-85.635247,41.940968]},n118:{id:"n118",loc:[-85.637509,41.941944]},n1180:{id:"n1180",loc:[-85.63514,41.941205]},n1181:{id:"n1181",loc:[-85.634858,41.941511]},n1182:{id:"n1182",loc:[-85.630725,41.943465]},n1183:{id:"n1183",loc:[-85.632591,41.942826]},n1184:{id:"n1184",loc:[-85.634487,41.941928]},n1185:{id:"n1185",loc:[-85.634499,41.942056]},n1186:{id:"n1186",loc:[-85.63433,41.943102]},n1187:{id:"n1187",loc:[-85.634158,41.943151]},n1188:{id:"n1188",loc:[-85.634107,41.94305]},n1189:{id:"n1189",loc:[-85.634279,41.943002]},n119:{id:"n119",loc:[-85.637724,41.941973]},n1190:{id:"n1190",loc:[-85.634362,41.943762]},n1191:{id:"n1191",loc:[-85.634331,41.943731]},n1192:{id:"n1192",loc:[-85.634396,41.943695]},n1193:{id:"n1193",loc:[-85.634426,41.943726]},n1194:{id:"n1194",loc:[-85.621569,41.956021]},n1195:{id:"n1195",loc:[-85.621574,41.956164]},n1196:{id:"n1196",loc:[-85.621489,41.956165]},n1197:{id:"n1197",loc:[-85.621488,41.956136]},n1198:{id:"n1198",loc:[-85.621372,41.956139]},n1199:{id:"n1199",loc:[-85.621369,41.956049]},n12:{id:"n12",loc:[-85.63359,41.941093]},n120:{id:"n120",loc:[-85.637633,41.941973]},n1200:{id:"n1200",loc:[-85.621493,41.956047]},n1201:{id:"n1201",loc:[-85.621492,41.956022]},n1202:{id:"n1202",loc:[-85.619744,41.953192]},n1203:{id:"n1203",loc:[-85.619059,41.953902]},n1204:{id:"n1204",loc:[-85.623984,41.95469]},n1205:{id:"n1205",loc:[-85.630159,41.958208]},n1206:{id:"n1206",loc:[-85.63002,41.958208]},n1207:{id:"n1207",loc:[-85.630021,41.95814]},n1208:{id:"n1208",loc:[-85.63,41.95814]},n1209:{id:"n1209",loc:[-85.63,41.958043]},n121:{id:"n121",loc:[-85.637633,41.941853]},n1210:{id:"n1210",loc:[-85.630159,41.958043]},n1211:{id:"n1211",loc:[-85.630304,41.957566]},n1212:{id:"n1212",loc:[-85.630303,41.957684]},n1213:{id:"n1213",loc:[-85.630073,41.957683]},n1214:{id:"n1214",loc:[-85.630072,41.957721]},n1215:{id:"n1215",loc:[-85.629993,41.95772]},n1216:{id:"n1216",loc:[-85.629993,41.95768]},n1217:{id:"n1217",loc:[-85.629968,41.95768]},n1218:{id:"n1218",loc:[-85.629969,41.957588]},n1219:{id:"n1219",loc:[-85.630219,41.95759]},n122:{id:"n122",loc:[-85.637724,41.941853]},n1220:{id:"n1220",loc:[-85.630219,41.957566]},n1221:{id:"n1221",loc:[-85.630717,41.957744]},n1222:{id:"n1222",loc:[-85.630596,41.957745]},n1223:{id:"n1223",loc:[-85.630598,41.957553]},n1224:{id:"n1224",loc:[-85.630717,41.957555]},n1225:{id:"n1225",loc:[-85.630609,41.957745]},n1226:{id:"n1226",loc:[-85.63061,41.957789]},n1227:{id:"n1227",loc:[-85.630327,41.957791]},n1228:{id:"n1228",loc:[-85.630324,41.95752]},n1229:{id:"n1229",loc:[-85.630325,41.95756]},n123:{id:"n123",loc:[-85.637773,41.941988]},n1230:{id:"n1230",loc:[-85.63057,41.95756]},n1231:{id:"n1231",loc:[-85.63069,41.958016]},n1232:{id:"n1232",loc:[-85.630586,41.958017]},n1233:{id:"n1233",loc:[-85.630584,41.957956]},n1234:{id:"n1234",loc:[-85.630614,41.957956]},n1235:{id:"n1235",loc:[-85.630611,41.957835]},n1236:{id:"n1236",loc:[-85.630737,41.957833]},n1237:{id:"n1237",loc:[-85.630739,41.957921]},n1238:{id:"n1238",loc:[-85.630688,41.957922]},n1239:{id:"n1239",loc:[-85.630719,41.958291]},n124:{id:"n124",loc:[-85.637773,41.942046]},n1240:{id:"n1240",loc:[-85.630592,41.958291]},n1241:{id:"n1241",loc:[-85.630593,41.958108]},n1242:{id:"n1242",loc:[-85.630701,41.958109]},n1243:{id:"n1243",loc:[-85.6307,41.958173]},n1244:{id:"n1244",loc:[-85.630711,41.958173]},n1245:{id:"n1245",loc:[-85.630711,41.958233]},n1246:{id:"n1246",loc:[-85.630719,41.958233]},n1247:{id:"n1247",loc:[-85.630523,41.958329]},n1248:{id:"n1248",loc:[-85.630388,41.958329]},n1249:{id:"n1249",loc:[-85.630387,41.958262]},n125:{id:"n125",loc:[-85.637693,41.942047]},n1250:{id:"n1250",loc:[-85.630523,41.958261]},n1251:{id:"n1251",loc:[-85.63072,41.958636]},n1252:{id:"n1252",loc:[-85.630721,41.958709]},n1253:{id:"n1253",loc:[-85.630503,41.958712]},n1254:{id:"n1254",loc:[-85.630498,41.958511]},n1255:{id:"n1255",loc:[-85.630635,41.95851]},n1256:{id:"n1256",loc:[-85.630638,41.958636]},n1257:{id:"n1257",loc:[-85.630437,41.958822]},n1258:{id:"n1258",loc:[-85.630437,41.958849]},n1259:{id:"n1259",loc:[-85.630393,41.958849]},n126:{id:"n126",loc:[-85.637692,41.941988]},n1260:{id:"n1260",loc:[-85.630393,41.958822]},n1261:{id:"n1261",loc:[-85.630605,41.959102]},n1262:{id:"n1262",loc:[-85.63049,41.959104]},n1263:{id:"n1263",loc:[-85.630487,41.958996]},n1264:{id:"n1264",loc:[-85.630462,41.958996]},n1265:{id:"n1265",loc:[-85.63046,41.958922]},n1266:{id:"n1266",loc:[-85.630562,41.958921]},n1267:{id:"n1267",loc:[-85.630564,41.958992]},n1268:{id:"n1268",loc:[-85.630602,41.958992]},n1269:{id:"n1269",loc:[-85.630126,41.957096]},n127:{id:"n127",loc:[-85.637604,41.941994]},n1270:{id:"n1270",loc:[-85.630129,41.957283]},n1271:{id:"n1271",loc:[-85.629993,41.957284]},n1272:{id:"n1272",loc:[-85.629992,41.957216]},n1273:{id:"n1273",loc:[-85.630015,41.957215]},n1274:{id:"n1274",loc:[-85.630013,41.957097]},n1275:{id:"n1275",loc:[-85.630211,41.956592]},n1276:{id:"n1276",loc:[-85.630211,41.956676]},n1277:{id:"n1277",loc:[-85.630162,41.956676]},n1278:{id:"n1278",loc:[-85.630162,41.95676]},n1279:{id:"n1279",loc:[-85.630037,41.956761]},n128:{id:"n128",loc:[-85.637604,41.942057]},n1280:{id:"n1280",loc:[-85.630037,41.956592]},n1281:{id:"n1281",loc:[-85.630309,41.95653]},n1282:{id:"n1282",loc:[-85.630326,41.957065]},n1283:{id:"n1283",loc:[-85.630118,41.957065]},n1284:{id:"n1284",loc:[-85.630119,41.957096]},n1285:{id:"n1285",loc:[-85.63067,41.957307]},n1286:{id:"n1286",loc:[-85.630536,41.957308]},n1287:{id:"n1287",loc:[-85.630533,41.957111]},n1288:{id:"n1288",loc:[-85.630667,41.95711]},n1289:{id:"n1289",loc:[-85.630676,41.956808]},n129:{id:"n129",loc:[-85.63748,41.942057]},n1290:{id:"n1290",loc:[-85.630551,41.956808]},n1291:{id:"n1291",loc:[-85.630552,41.956982]},n1292:{id:"n1292",loc:[-85.63059,41.956982]},n1293:{id:"n1293",loc:[-85.63059,41.957001]},n1294:{id:"n1294",loc:[-85.630692,41.957001]},n1295:{id:"n1295",loc:[-85.630692,41.956936]},n1296:{id:"n1296",loc:[-85.630676,41.956936]},n1297:{id:"n1297",loc:[-85.630496,41.956889]},n1298:{id:"n1298",loc:[-85.630501,41.956947]},n1299:{id:"n1299",loc:[-85.630377,41.956953]},n13:{id:"n13",loc:[-85.633643,41.941143]},n130:{id:"n130",loc:[-85.63748,41.941994]},n1300:{id:"n1300",loc:[-85.630359,41.956938]},n1301:{id:"n1301",loc:[-85.630359,41.956912]},n1302:{id:"n1302",loc:[-85.63038,41.956894]},n1303:{id:"n1303",loc:[-85.630679,41.956747]},n1304:{id:"n1304",loc:[-85.630572,41.956748]},n1305:{id:"n1305",loc:[-85.63057,41.956668]},n1306:{id:"n1306",loc:[-85.630501,41.956669]},n1307:{id:"n1307",loc:[-85.630499,41.95659]},n1308:{id:"n1308",loc:[-85.630565,41.956589]},n1309:{id:"n1309",loc:[-85.630564,41.956541]},n131:{id:"n131",loc:[-85.637431,41.941832]},n1310:{id:"n1310",loc:[-85.630686,41.956539]},n1311:{id:"n1311",loc:[-85.630688,41.956631]},n1312:{id:"n1312",loc:[-85.630676,41.956631]},n1313:{id:"n1313",loc:[-85.630686,41.956487]},n1314:{id:"n1314",loc:[-85.63059,41.956487]},n1315:{id:"n1315",loc:[-85.63059,41.956396]},n1316:{id:"n1316",loc:[-85.630686,41.956396]},n1317:{id:"n1317",loc:[-85.630643,41.9563]},n1318:{id:"n1318",loc:[-85.630548,41.956301]},n1319:{id:"n1319",loc:[-85.630545,41.956217]},n132:{id:"n132",loc:[-85.637432,41.94189]},n1320:{id:"n1320",loc:[-85.630529,41.956214]},n1321:{id:"n1321",loc:[-85.630521,41.956202]},n1322:{id:"n1322",loc:[-85.63052,41.95618]},n1323:{id:"n1323",loc:[-85.630527,41.956169]},n1324:{id:"n1324",loc:[-85.630544,41.956163]},n1325:{id:"n1325",loc:[-85.630543,41.956094]},n1326:{id:"n1326",loc:[-85.630641,41.956093]},n1327:{id:"n1327",loc:[-85.630642,41.956134]},n1328:{id:"n1328",loc:[-85.630656,41.956134]},n1329:{id:"n1329",loc:[-85.630657,41.956252]},n133:{id:"n133",loc:[-85.637412,41.94189]},n1330:{id:"n1330",loc:[-85.630643,41.956252]},n1331:{id:"n1331",loc:[-85.630409,41.956044]},n1332:{id:"n1332",loc:[-85.630409,41.956075]},n1333:{id:"n1333",loc:[-85.630195,41.956078]},n1334:{id:"n1334",loc:[-85.630195,41.9561]},n1335:{id:"n1335",loc:[-85.630088,41.956101]},n1336:{id:"n1336",loc:[-85.630087,41.956048]},n1337:{id:"n1337",loc:[-85.630345,41.956114]},n1338:{id:"n1338",loc:[-85.630328,41.956113]},n1339:{id:"n1339",loc:[-85.63034,41.956189]},n134:{id:"n134",loc:[-85.637413,41.941938]},n1340:{id:"n1340",loc:[-85.630355,41.956185]},n1341:{id:"n1341",loc:[-85.630311,41.956117]},n1342:{id:"n1342",loc:[-85.630297,41.956125]},n1343:{id:"n1343",loc:[-85.630287,41.956136]},n1344:{id:"n1344",loc:[-85.630283,41.956149]},n1345:{id:"n1345",loc:[-85.630285,41.956162]},n1346:{id:"n1346",loc:[-85.630293,41.956174]},n1347:{id:"n1347",loc:[-85.630306,41.956183]},n1348:{id:"n1348",loc:[-85.630322,41.956188]},n1349:{id:"n1349",loc:[-85.630368,41.956179]},n135:{id:"n135",loc:[-85.637342,41.941939]},n1350:{id:"n1350",loc:[-85.630378,41.95617]},n1351:{id:"n1351",loc:[-85.630384,41.956159]},n1352:{id:"n1352",loc:[-85.630385,41.956147]},n1353:{id:"n1353",loc:[-85.630381,41.956136]},n1354:{id:"n1354",loc:[-85.630372,41.956126]},n1355:{id:"n1355",loc:[-85.63036,41.956118]},n1356:{id:"n1356",loc:[-85.630776,41.956041]},n1357:{id:"n1357",loc:[-85.630195,41.956036]},n1358:{id:"n1358",loc:[-85.630137,41.956037]},n1359:{id:"n1359",loc:[-85.630136,41.956006]},n136:{id:"n136",loc:[-85.637342,41.941914]},n1360:{id:"n1360",loc:[-85.630194,41.956005]},n1361:{id:"n1361",loc:[-85.629864,41.956039]},n1362:{id:"n1362",loc:[-85.629864,41.955862]},n1363:{id:"n1363",loc:[-85.629541,41.958291]},n1364:{id:"n1364",loc:[-85.629419,41.958292]},n1365:{id:"n1365",loc:[-85.629417,41.958168]},n1366:{id:"n1366",loc:[-85.629445,41.958168]},n1367:{id:"n1367",loc:[-85.629444,41.958109]},n1368:{id:"n1368",loc:[-85.629537,41.958108]},n1369:{id:"n1369",loc:[-85.629351,41.958136]},n137:{id:"n137",loc:[-85.637212,41.941916]},n1370:{id:"n1370",loc:[-85.629352,41.958202]},n1371:{id:"n1371",loc:[-85.629365,41.958202]},n1372:{id:"n1372",loc:[-85.629365,41.958223]},n1373:{id:"n1373",loc:[-85.629291,41.958224]},n1374:{id:"n1374",loc:[-85.62929,41.958137]},n1375:{id:"n1375",loc:[-85.629443,41.958073]},n1376:{id:"n1376",loc:[-85.629252,41.958075]},n1377:{id:"n1377",loc:[-85.629253,41.95827]},n1378:{id:"n1378",loc:[-85.629566,41.957585]},n1379:{id:"n1379",loc:[-85.629566,41.957692]},n138:{id:"n138",loc:[-85.637211,41.941835]},n1380:{id:"n1380",loc:[-85.629281,41.957693]},n1381:{id:"n1381",loc:[-85.62928,41.957585]},n1382:{id:"n1382",loc:[-85.629004,41.957599]},n1383:{id:"n1383",loc:[-85.629004,41.957682]},n1384:{id:"n1384",loc:[-85.628902,41.957682]},n1385:{id:"n1385",loc:[-85.628902,41.957723]},n1386:{id:"n1386",loc:[-85.628731,41.957724]},n1387:{id:"n1387",loc:[-85.628731,41.9576]},n1388:{id:"n1388",loc:[-85.62836,41.957679]},n1389:{id:"n1389",loc:[-85.628359,41.957759]},n139:{id:"n139",loc:[-85.637293,41.941834]},n1390:{id:"n1390",loc:[-85.628062,41.957757]},n1391:{id:"n1391",loc:[-85.628063,41.957657]},n1392:{id:"n1392",loc:[-85.628198,41.957657]},n1393:{id:"n1393",loc:[-85.628198,41.957678]},n1394:{id:"n1394",loc:[-85.627775,41.958095]},n1395:{id:"n1395",loc:[-85.627608,41.958095]},n1396:{id:"n1396",loc:[-85.627606,41.957829]},n1397:{id:"n1397",loc:[-85.627774,41.957829]},n1398:{id:"n1398",loc:[-85.626816,41.957636]},n1399:{id:"n1399",loc:[-85.626787,41.957681]},n14:{id:"n14",loc:[-85.633643,41.940122]},n140:{id:"n140",loc:[-85.637293,41.941823]},n1400:{id:"n1400",loc:[-85.626673,41.95764]},n1401:{id:"n1401",loc:[-85.626703,41.957594]},n1402:{id:"n1402",loc:[-85.62694,41.95752]},n1403:{id:"n1403",loc:[-85.62688,41.957611]},n1404:{id:"n1404",loc:[-85.626798,41.957582]},n1405:{id:"n1405",loc:[-85.626793,41.95759]},n1406:{id:"n1406",loc:[-85.626657,41.95754]},n1407:{id:"n1407",loc:[-85.626666,41.957526]},n1408:{id:"n1408",loc:[-85.626584,41.957497]},n1409:{id:"n1409",loc:[-85.626638,41.957415]},n141:{id:"n141",loc:[-85.637363,41.941822]},n1410:{id:"n1410",loc:[-85.626731,41.957449]},n1411:{id:"n1411",loc:[-85.626725,41.957457]},n1412:{id:"n1412",loc:[-85.626843,41.9575]},n1413:{id:"n1413",loc:[-85.626851,41.957487]},n1414:{id:"n1414",loc:[-85.626579,41.957521]},n1415:{id:"n1415",loc:[-85.626537,41.957587]},n1416:{id:"n1416",loc:[-85.626427,41.957551]},n1417:{id:"n1417",loc:[-85.626468,41.957483]},n1418:{id:"n1418",loc:[-85.626592,41.957639]},n1419:{id:"n1419",loc:[-85.626807,41.957713]},n142:{id:"n142",loc:[-85.637364,41.941833]},n1420:{id:"n1420",loc:[-85.627129,41.957401]},n1421:{id:"n1421",loc:[-85.627209,41.95742]},n1422:{id:"n1422",loc:[-85.627302,41.957435]},n1423:{id:"n1423",loc:[-85.629566,41.957048]},n1424:{id:"n1424",loc:[-85.629568,41.957215]},n1425:{id:"n1425",loc:[-85.629383,41.957216]},n1426:{id:"n1426",loc:[-85.629384,41.95727]},n1427:{id:"n1427",loc:[-85.629231,41.957271]},n1428:{id:"n1428",loc:[-85.62923,41.957198]},n1429:{id:"n1429",loc:[-85.629322,41.957198]},n143:{id:"n143",loc:[-85.637559,41.942448]},n1430:{id:"n1430",loc:[-85.629321,41.957108]},n1431:{id:"n1431",loc:[-85.629441,41.957108]},n1432:{id:"n1432",loc:[-85.62944,41.957049]},n1433:{id:"n1433",loc:[-85.629337,41.957018]},n1434:{id:"n1434",loc:[-85.629366,41.957028]},n1435:{id:"n1435",loc:[-85.629375,41.957044]},n1436:{id:"n1436",loc:[-85.629354,41.957071]},n1437:{id:"n1437",loc:[-85.629317,41.957071]},n1438:{id:"n1438",loc:[-85.62929,41.957074]},n1439:{id:"n1439",loc:[-85.62927,41.957084]},n144:{id:"n144",loc:[-85.637036,41.942454]},n1440:{id:"n1440",loc:[-85.629232,41.957081]},n1441:{id:"n1441",loc:[-85.629222,41.957057]},n1442:{id:"n1442",loc:[-85.629259,41.957025]},n1443:{id:"n1443",loc:[-85.629293,41.957017]},n1444:{id:"n1444",loc:[-85.629251,41.957085]},n1445:{id:"n1445",loc:[-85.629235,41.957041]},n1446:{id:"n1446",loc:[-85.62937,41.95706]},n1447:{id:"n1447",loc:[-85.629531,41.956909]},n1448:{id:"n1448",loc:[-85.629408,41.956909]},n1449:{id:"n1449",loc:[-85.629402,41.956681]},n145:{id:"n145",loc:[-85.636692,41.942828]},n1450:{id:"n1450",loc:[-85.62953,41.956681]},n1451:{id:"n1451",loc:[-85.629402,41.956728]},n1452:{id:"n1452",loc:[-85.629408,41.956845]},n1453:{id:"n1453",loc:[-85.629385,41.956845]},n1454:{id:"n1454",loc:[-85.629384,41.956728]},n1455:{id:"n1455",loc:[-85.629063,41.956973]},n1456:{id:"n1456",loc:[-85.629064,41.957009]},n1457:{id:"n1457",loc:[-85.62902,41.957009]},n1458:{id:"n1458",loc:[-85.629019,41.956973]},n1459:{id:"n1459",loc:[-85.629136,41.956633]},n146:{id:"n146",loc:[-85.635929,41.942826]},n1460:{id:"n1460",loc:[-85.629084,41.956632]},n1461:{id:"n1461",loc:[-85.629084,41.956605]},n1462:{id:"n1462",loc:[-85.629136,41.956605]},n1463:{id:"n1463",loc:[-85.629153,41.956657]},n1464:{id:"n1464",loc:[-85.627914,41.956661]},n1465:{id:"n1465",loc:[-85.630096,41.956101]},n1466:{id:"n1466",loc:[-85.630097,41.95612]},n1467:{id:"n1467",loc:[-85.630011,41.956121]},n1468:{id:"n1468",loc:[-85.630015,41.956374]},n1469:{id:"n1469",loc:[-85.629148,41.95626]},n147:{id:"n147",loc:[-85.636433,41.942828]},n1470:{id:"n1470",loc:[-85.629527,41.956591]},n1471:{id:"n1471",loc:[-85.629405,41.956591]},n1472:{id:"n1472",loc:[-85.629405,41.956459]},n1473:{id:"n1473",loc:[-85.629369,41.956459]},n1474:{id:"n1474",loc:[-85.629369,41.956424]},n1475:{id:"n1475",loc:[-85.629413,41.956424]},n1476:{id:"n1476",loc:[-85.629414,41.956326]},n1477:{id:"n1477",loc:[-85.629522,41.956326]},n1478:{id:"n1478",loc:[-85.629522,41.956487]},n1479:{id:"n1479",loc:[-85.629527,41.956487]},n148:{id:"n148",loc:[-85.636435,41.942864],tags:{entrance:"yes"}},n1480:{id:"n1480",loc:[-85.629414,41.95634]},n1481:{id:"n1481",loc:[-85.629149,41.956338]},n1482:{id:"n1482",loc:[-85.62931,41.956531]},n1483:{id:"n1483",loc:[-85.629291,41.95655]},n1484:{id:"n1484",loc:[-85.629255,41.95655]},n1485:{id:"n1485",loc:[-85.629236,41.956533]},n1486:{id:"n1486",loc:[-85.629237,41.956461]},n1487:{id:"n1487",loc:[-85.629257,41.956445]},n1488:{id:"n1488",loc:[-85.629257,41.956428]},n1489:{id:"n1489",loc:[-85.629287,41.956428]},n149:{id:"n149",loc:[-85.637235,41.942622]},n1490:{id:"n1490",loc:[-85.629287,41.956445]},n1491:{id:"n1491",loc:[-85.62931,41.95646]},n1492:{id:"n1492",loc:[-85.629049,41.956425]},n1493:{id:"n1493",loc:[-85.628907,41.956427]},n1494:{id:"n1494",loc:[-85.628907,41.956455]},n1495:{id:"n1495",loc:[-85.628841,41.956455]},n1496:{id:"n1496",loc:[-85.62884,41.956424]},n1497:{id:"n1497",loc:[-85.628764,41.956425]},n1498:{id:"n1498",loc:[-85.628762,41.956323]},n1499:{id:"n1499",loc:[-85.628808,41.956323]},n15:{id:"n15",loc:[-85.633477,41.940187]},n150:{id:"n150",loc:[-85.637247,41.943116]},n1500:{id:"n1500",loc:[-85.628808,41.956314]},n1501:{id:"n1501",loc:[-85.628911,41.956313]},n1502:{id:"n1502",loc:[-85.628911,41.956322]},n1503:{id:"n1503",loc:[-85.62896,41.956322]},n1504:{id:"n1504",loc:[-85.62896,41.956348]},n1505:{id:"n1505",loc:[-85.629047,41.956347]},n1506:{id:"n1506",loc:[-85.628893,41.957263]},n1507:{id:"n1507",loc:[-85.628788,41.957264]},n1508:{id:"n1508",loc:[-85.628786,41.95711]},n1509:{id:"n1509",loc:[-85.628894,41.957109]},n151:{id:"n151",loc:[-85.637564,41.943116]},n1510:{id:"n1510",loc:[-85.628893,41.957075]},n1511:{id:"n1511",loc:[-85.628965,41.957075]},n1512:{id:"n1512",loc:[-85.628965,41.957111]},n1513:{id:"n1513",loc:[-85.629035,41.95711]},n1514:{id:"n1514",loc:[-85.629036,41.957209]},n1515:{id:"n1515",loc:[-85.628893,41.95721]},n1516:{id:"n1516",loc:[-85.631348,41.95773]},n1517:{id:"n1517",loc:[-85.631101,41.957732]},n1518:{id:"n1518",loc:[-85.631099,41.957558]},n1519:{id:"n1519",loc:[-85.63123,41.957557]},n152:{id:"n152",loc:[-85.637552,41.942619]},n1520:{id:"n1520",loc:[-85.631231,41.957618]},n1521:{id:"n1521",loc:[-85.63129,41.957618]},n1522:{id:"n1522",loc:[-85.63129,41.957651]},n1523:{id:"n1523",loc:[-85.631346,41.957651]},n1524:{id:"n1524",loc:[-85.631366,41.95802]},n1525:{id:"n1525",loc:[-85.631141,41.958021]},n1526:{id:"n1526",loc:[-85.63114,41.957943]},n1527:{id:"n1527",loc:[-85.631167,41.957943]},n1528:{id:"n1528",loc:[-85.631166,41.957808]},n1529:{id:"n1529",loc:[-85.631301,41.957807]},n153:{id:"n153",loc:[-85.63763,41.942528]},n1530:{id:"n1530",loc:[-85.631302,41.95789]},n1531:{id:"n1531",loc:[-85.631364,41.95789]},n1532:{id:"n1532",loc:[-85.631539,41.957754]},n1533:{id:"n1533",loc:[-85.631069,41.957756]},n1534:{id:"n1534",loc:[-85.631536,41.957518]},n1535:{id:"n1535",loc:[-85.631543,41.957995]},n1536:{id:"n1536",loc:[-85.631531,41.957748]},n1537:{id:"n1537",loc:[-85.631485,41.957748]},n1538:{id:"n1538",loc:[-85.631484,41.957698]},n1539:{id:"n1539",loc:[-85.631531,41.957698]},n154:{id:"n154",loc:[-85.637151,41.94253]},n1540:{id:"n1540",loc:[-85.631586,41.957742]},n1541:{id:"n1541",loc:[-85.63155,41.957742]},n1542:{id:"n1542",loc:[-85.631551,41.957702]},n1543:{id:"n1543",loc:[-85.631587,41.957702]},n1544:{id:"n1544",loc:[-85.631534,41.95807]},n1545:{id:"n1545",loc:[-85.631534,41.958097]},n1546:{id:"n1546",loc:[-85.631491,41.958097]},n1547:{id:"n1547",loc:[-85.631491,41.95807]},n1548:{id:"n1548",loc:[-85.631304,41.958861]},n1549:{id:"n1549",loc:[-85.631186,41.958862]},n155:{id:"n155",loc:[-85.63715,41.942424]},n1550:{id:"n1550",loc:[-85.631182,41.958653]},n1551:{id:"n1551",loc:[-85.6313,41.958651]},n1552:{id:"n1552",loc:[-85.631293,41.95854]},n1553:{id:"n1553",loc:[-85.631176,41.958539]},n1554:{id:"n1554",loc:[-85.631176,41.958377]},n1555:{id:"n1555",loc:[-85.631297,41.958377]},n1556:{id:"n1556",loc:[-85.631297,41.958422]},n1557:{id:"n1557",loc:[-85.631333,41.958422]},n1558:{id:"n1558",loc:[-85.631333,41.958479]},n1559:{id:"n1559",loc:[-85.631293,41.958479]},n156:{id:"n156",loc:[-85.637629,41.942422]},n1560:{id:"n1560",loc:[-85.631951,41.958908]},n1561:{id:"n1561",loc:[-85.631838,41.958909]},n1562:{id:"n1562",loc:[-85.631837,41.958847]},n1563:{id:"n1563",loc:[-85.631859,41.958847]},n1564:{id:"n1564",loc:[-85.631858,41.958746]},n1565:{id:"n1565",loc:[-85.631961,41.958745]},n1566:{id:"n1566",loc:[-85.631962,41.958812]},n1567:{id:"n1567",loc:[-85.631949,41.958813]},n1568:{id:"n1568",loc:[-85.631579,41.958913]},n1569:{id:"n1569",loc:[-85.631567,41.95864]},n157:{id:"n157",loc:[-85.638232,41.942477]},n1570:{id:"n1570",loc:[-85.631942,41.958639]},n1571:{id:"n1571",loc:[-85.631543,41.958594]},n1572:{id:"n1572",loc:[-85.631543,41.958065]},n1573:{id:"n1573",loc:[-85.631888,41.958546]},n1574:{id:"n1574",loc:[-85.631804,41.958546]},n1575:{id:"n1575",loc:[-85.631803,41.95841]},n1576:{id:"n1576",loc:[-85.631886,41.958409]},n1577:{id:"n1577",loc:[-85.631897,41.958125]},n1578:{id:"n1578",loc:[-85.631755,41.958126]},n1579:{id:"n1579",loc:[-85.631756,41.958174]},n158:{id:"n158",loc:[-85.637775,41.942483]},n1580:{id:"n1580",loc:[-85.63178,41.958174]},n1581:{id:"n1581",loc:[-85.631782,41.958272]},n1582:{id:"n1582",loc:[-85.631922,41.958271]},n1583:{id:"n1583",loc:[-85.631922,41.958244]},n1584:{id:"n1584",loc:[-85.631883,41.958245]},n1585:{id:"n1585",loc:[-85.631882,41.958175]},n1586:{id:"n1586",loc:[-85.631898,41.958175]},n1587:{id:"n1587",loc:[-85.631924,41.958032]},n1588:{id:"n1588",loc:[-85.631762,41.958032]},n1589:{id:"n1589",loc:[-85.63176,41.957827]},n159:{id:"n159",loc:[-85.638107,41.942512]},n1590:{id:"n1590",loc:[-85.631888,41.957826]},n1591:{id:"n1591",loc:[-85.631888,41.957892]},n1592:{id:"n1592",loc:[-85.631871,41.957892]},n1593:{id:"n1593",loc:[-85.631872,41.957949]},n1594:{id:"n1594",loc:[-85.631923,41.957949]},n1595:{id:"n1595",loc:[-85.631695,41.95795]},n1596:{id:"n1596",loc:[-85.631666,41.957975]},n1597:{id:"n1597",loc:[-85.63163,41.957975]},n1598:{id:"n1598",loc:[-85.6316,41.957951]},n1599:{id:"n1599",loc:[-85.6316,41.95785]},n16:{id:"n16",loc:[-85.63341,41.94032]},n160:{id:"n160",loc:[-85.637763,41.942514]},n1600:{id:"n1600",loc:[-85.63166,41.95785]},n1601:{id:"n1601",loc:[-85.631696,41.957873]},n1602:{id:"n1602",loc:[-85.631924,41.957762]},n1603:{id:"n1603",loc:[-85.631762,41.957762]},n1604:{id:"n1604",loc:[-85.631762,41.957708]},n1605:{id:"n1605",loc:[-85.631785,41.957708]},n1606:{id:"n1606",loc:[-85.631785,41.957606]},n1607:{id:"n1607",loc:[-85.631734,41.957606]},n1608:{id:"n1608",loc:[-85.631734,41.957538]},n1609:{id:"n1609",loc:[-85.631821,41.957538]},n161:{id:"n161",loc:[-85.637763,41.942445]},n1610:{id:"n1610",loc:[-85.631935,41.957545]},n1611:{id:"n1611",loc:[-85.631821,41.957544]},n1612:{id:"n1612",loc:[-85.631935,41.957645]},n1613:{id:"n1613",loc:[-85.631924,41.957645]},n1614:{id:"n1614",loc:[-85.627135,41.953828]},n1615:{id:"n1615",loc:[-85.633517,41.941353],tags:{man_made:"lighthouse"}},n1616:{id:"n1616",loc:[-85.633659,41.942041],tags:{amenity:"bbq"}},n1617:{id:"n1617",loc:[-85.63662,41.942911],tags:{amenity:"toilets"}},n1618:{id:"n1618",loc:[-85.637487,41.943876],tags:{amenity:"toilets"}},n1619:{id:"n1619",loc:[-85.634938,41.941917],tags:{amenity:"toilets"}},n162:{id:"n162",loc:[-85.638107,41.942443]},n1620:{id:"n1620",loc:[-85.632427,41.941678],tags:{amenity:"bbq"}},n1621:{id:"n1621",loc:[-85.638033,41.944568],tags:{amenity:"bbq"}},n1622:{id:"n1622",loc:[-85.638052,41.944522],tags:{amenity:"bbq"}},n1623:{id:"n1623",loc:[-85.635001,41.941965]},n1624:{id:"n1624",loc:[-85.634635,41.941884]},n1625:{id:"n1625",loc:[-85.634667,41.941894]},n1626:{id:"n1626",loc:[-85.634791,41.942011]},n1627:{id:"n1627",loc:[-85.634749,41.941938]},n1628:{id:"n1628",loc:[-85.627295,41.953946],tags:{barrier:"gate"}},n1629:{id:"n1629",loc:[-85.629076,41.954689]},n163:{id:"n163",loc:[-85.638813,41.942475]},n1630:{id:"n1630",loc:[-85.640667,41.942595]},n1631:{id:"n1631",loc:[-85.639455,41.94261]},n1632:{id:"n1632",loc:[-85.643407,41.942336]},n1633:{id:"n1633",loc:[-85.641845,41.941316]},n1634:{id:"n1634",loc:[-85.643322,41.942224]},n1635:{id:"n1635",loc:[-85.643301,41.942124]},n1636:{id:"n1636",loc:[-85.640639,41.941326]},n1637:{id:"n1637",loc:[-85.640614,41.940058]},n1638:{id:"n1638",loc:[-85.639428,41.941335]},n1639:{id:"n1639",loc:[-85.643078,41.941293]},n164:{id:"n164",loc:[-85.63883,41.942422]},n1640:{id:"n1640",loc:[-85.64371,41.942302]},n1641:{id:"n1641",loc:[-85.643056,41.94001]},n1642:{id:"n1642",loc:[-85.643097,41.942575],tags:{highway:"traffic_signals",traffic_signals:"signal","traffic_signals:direction":"both"}},n1643:{id:"n1643",loc:[-85.641855,41.942586]},n1644:{id:"n1644",loc:[-85.643549,41.942209]},n1645:{id:"n1645",loc:[-85.639359,41.94007]},n1646:{id:"n1646",loc:[-85.642797,41.940522]},n1647:{id:"n1647",loc:[-85.642589,41.940523]},n1648:{id:"n1648",loc:[-85.642587,41.940287]},n1649:{id:"n1649",loc:[-85.642797,41.940286]},n165:{id:"n165",loc:[-85.63883,41.942508]},n1650:{id:"n1650",loc:[-85.642571,41.940523]},n1651:{id:"n1651",loc:[-85.642568,41.940286]},n1652:{id:"n1652",loc:[-85.642316,41.940289]},n1653:{id:"n1653",loc:[-85.642321,41.940436]},n1654:{id:"n1654",loc:[-85.642292,41.940458]},n1655:{id:"n1655",loc:[-85.642287,41.940483]},n1656:{id:"n1656",loc:[-85.642323,41.940509]},n1657:{id:"n1657",loc:[-85.642385,41.940511]},n1658:{id:"n1658",loc:[-85.642408,41.940526]},n1659:{id:"n1659",loc:[-85.641962,41.94109]},n166:{id:"n166",loc:[-85.638364,41.942508]},n1660:{id:"n1660",loc:[-85.642753,41.941084]},n1661:{id:"n1661",loc:[-85.642752,41.941004]},n1662:{id:"n1662",loc:[-85.642806,41.941003]},n1663:{id:"n1663",loc:[-85.642803,41.940731]},n1664:{id:"n1664",loc:[-85.642741,41.940732]},n1665:{id:"n1665",loc:[-85.64274,41.940645]},n1666:{id:"n1666",loc:[-85.641957,41.940651]},n1667:{id:"n1667",loc:[-85.642937,41.941241]},n1668:{id:"n1668",loc:[-85.641776,41.941253]},n1669:{id:"n1669",loc:[-85.641766,41.940598]},n167:{id:"n167",loc:[-85.638836,41.942167]},n1670:{id:"n1670",loc:[-85.64198,41.940598]},n1671:{id:"n1671",loc:[-85.641961,41.940137]},n1672:{id:"n1672",loc:[-85.642934,41.94012]},n1673:{id:"n1673",loc:[-85.643074,41.941173]},n1674:{id:"n1674",loc:[-85.642841,41.940997]},n1675:{id:"n1675",loc:[-85.642839,41.940721]},n1676:{id:"n1676",loc:[-85.643065,41.940552]},n1677:{id:"n1677",loc:[-85.642732,41.94124]},n1678:{id:"n1678",loc:[-85.641815,41.941246]},n1679:{id:"n1679",loc:[-85.641813,41.941132]},n168:{id:"n168",loc:[-85.638836,41.94229]},n1680:{id:"n1680",loc:[-85.641839,41.941111]},n1681:{id:"n1681",loc:[-85.641884,41.941098]},n1682:{id:"n1682",loc:[-85.642732,41.941092]},n1683:{id:"n1683",loc:[-85.642776,41.941302]},n1684:{id:"n1684",loc:[-85.632788,41.946236]},n1685:{id:"n1685",loc:[-85.622342,41.953127]},n1686:{id:"n1686",loc:[-85.641848,41.941167]},n1687:{id:"n1687",loc:[-85.643753,41.941503]},n1688:{id:"n1688",loc:[-85.643762,41.942119]},n1689:{id:"n1689",loc:[-85.64238,41.942262]},n169:{id:"n169",loc:[-85.638594,41.94229]},n1690:{id:"n1690",loc:[-85.642374,41.941944]},n1691:{id:"n1691",loc:[-85.642518,41.941943]},n1692:{id:"n1692",loc:[-85.642519,41.94198]},n1693:{id:"n1693",loc:[-85.642831,41.941977]},n1694:{id:"n1694",loc:[-85.642837,41.942312]},n1695:{id:"n1695",loc:[-85.642495,41.942315]},n1696:{id:"n1696",loc:[-85.642494,41.942261]},n1697:{id:"n1697",loc:[-85.641087,41.942433]},n1698:{id:"n1698",loc:[-85.641081,41.942006]},n1699:{id:"n1699",loc:[-85.641244,41.942005]},n17:{id:"n17",loc:[-85.633478,41.94081]},n170:{id:"n170",loc:[-85.638594,41.942422]},n1700:{id:"n1700",loc:[-85.64125,41.942431]},n1701:{id:"n1701",loc:[-85.641331,41.942968]},n1702:{id:"n1702",loc:[-85.641328,41.942713]},n1703:{id:"n1703",loc:[-85.641521,41.942712]},n1704:{id:"n1704",loc:[-85.641523,41.942924]},n1705:{id:"n1705",loc:[-85.641504,41.942924]},n1706:{id:"n1706",loc:[-85.641505,41.942967]},n1707:{id:"n1707",loc:[-85.638612,41.942408]},n1708:{id:"n1708",loc:[-85.638612,41.942327]},n1709:{id:"n1709",loc:[-85.638775,41.942327]},n171:{id:"n171",loc:[-85.638364,41.942356]},n1710:{id:"n1710",loc:[-85.638775,41.942299]},n1711:{id:"n1711",loc:[-85.638835,41.942298]},n1712:{id:"n1712",loc:[-85.638835,41.942407]},n1713:{id:"n1713",loc:[-85.639116,41.942444]},n1714:{id:"n1714",loc:[-85.639114,41.942362]},n1715:{id:"n1715",loc:[-85.639294,41.94236]},n1716:{id:"n1716",loc:[-85.639296,41.942442]},n1717:{id:"n1717",loc:[-85.639808,41.942385]},n1718:{id:"n1718",loc:[-85.639805,41.942285]},n1719:{id:"n1719",loc:[-85.639988,41.942283]},n172:{id:"n172",loc:[-85.638364,41.942167]},n1720:{id:"n1720",loc:[-85.63999,41.942383]},n1721:{id:"n1721",loc:[-85.639633,41.943023]},n1722:{id:"n1722",loc:[-85.639867,41.943019]},n1723:{id:"n1723",loc:[-85.639866,41.942964]},n1724:{id:"n1724",loc:[-85.639888,41.942963]},n1725:{id:"n1725",loc:[-85.639883,41.942779]},n1726:{id:"n1726",loc:[-85.639851,41.94278]},n1727:{id:"n1727",loc:[-85.63985,41.94274]},n1728:{id:"n1728",loc:[-85.639789,41.942741]},n1729:{id:"n1729",loc:[-85.639789,41.942753]},n173:{id:"n173",loc:[-85.639038,41.942463]},n1730:{id:"n1730",loc:[-85.639698,41.942754]},n1731:{id:"n1731",loc:[-85.639699,41.942788]},n1732:{id:"n1732",loc:[-85.639675,41.942789]},n1733:{id:"n1733",loc:[-85.639676,41.94283]},n1734:{id:"n1734",loc:[-85.639701,41.942829]},n1735:{id:"n1735",loc:[-85.639702,41.942869]},n1736:{id:"n1736",loc:[-85.639629,41.94287]},n1737:{id:"n1737",loc:[-85.643568,41.942946]},n1738:{id:"n1738",loc:[-85.643568,41.942777]},n1739:{id:"n1739",loc:[-85.643401,41.942777]},n174:{id:"n174",loc:[-85.638897,41.942464]},n1740:{id:"n1740",loc:[-85.643401,41.942863]},n1741:{id:"n1741",loc:[-85.643448,41.942863]},n1742:{id:"n1742",loc:[-85.643448,41.942946]},n1743:{id:"n1743",loc:[-85.642836,41.942981]},n1744:{id:"n1744",loc:[-85.642917,41.942979]},n1745:{id:"n1745",loc:[-85.642914,41.942904]},n1746:{id:"n1746",loc:[-85.642938,41.942903]},n1747:{id:"n1747",loc:[-85.642935,41.942813]},n1748:{id:"n1748",loc:[-85.642775,41.942816]},n1749:{id:"n1749",loc:[-85.642778,41.942906]},n175:{id:"n175",loc:[-85.638897,41.942423]},n1750:{id:"n1750",loc:[-85.642833,41.942905]},n1751:{id:"n1751",loc:[-85.642302,41.942886]},n1752:{id:"n1752",loc:[-85.642299,41.942721]},n1753:{id:"n1753",loc:[-85.642422,41.94272]},n1754:{id:"n1754",loc:[-85.642425,41.942868]},n1755:{id:"n1755",loc:[-85.642385,41.942869]},n1756:{id:"n1756",loc:[-85.642385,41.942885]},n1757:{id:"n1757",loc:[-85.641533,41.942939]},n1758:{id:"n1758",loc:[-85.64161,41.942877]},n1759:{id:"n1759",loc:[-85.641676,41.942922]},n176:{id:"n176",loc:[-85.638853,41.942423]},n1760:{id:"n1760",loc:[-85.6416,41.942985]},n1761:{id:"n1761",loc:[-85.64206,41.942802]},n1762:{id:"n1762",loc:[-85.642059,41.942741]},n1763:{id:"n1763",loc:[-85.642196,41.942741]},n1764:{id:"n1764",loc:[-85.642196,41.942818]},n1765:{id:"n1765",loc:[-85.642128,41.942819]},n1766:{id:"n1766",loc:[-85.642128,41.942801]},n1767:{id:"n1767",loc:[-85.640943,41.942934]},n1768:{id:"n1768",loc:[-85.641035,41.942933]},n1769:{id:"n1769",loc:[-85.641032,41.942797]},n177:{id:"n177",loc:[-85.638852,41.94237]},n1770:{id:"n1770",loc:[-85.640997,41.942798]},n1771:{id:"n1771",loc:[-85.640996,41.942764]},n1772:{id:"n1772",loc:[-85.640861,41.942766]},n1773:{id:"n1773",loc:[-85.640862,41.942848]},n1774:{id:"n1774",loc:[-85.640941,41.942847]},n1775:{id:"n1775",loc:[-85.643766,41.942226]},n1776:{id:"n1776",loc:[-85.643768,41.942407]},n1777:{id:"n1777",loc:[-85.643218,41.94177]},n1778:{id:"n1778",loc:[-85.64321,41.941327]},n1779:{id:"n1779",loc:[-85.643649,41.941323]},n178:{id:"n178",loc:[-85.638892,41.94237]},n1780:{id:"n1780",loc:[-85.643656,41.941716]},n1781:{id:"n1781",loc:[-85.64358,41.941717]},n1782:{id:"n1782",loc:[-85.64358,41.941767]},n1783:{id:"n1783",loc:[-85.64382,41.941495]},n1784:{id:"n1784",loc:[-85.643817,41.941317]},n1785:{id:"n1785",loc:[-85.643235,41.941833]},n1786:{id:"n1786",loc:[-85.64335,41.941842]},n1787:{id:"n1787",loc:[-85.643504,41.941903]},n1788:{id:"n1788",loc:[-85.643554,41.941946]},n1789:{id:"n1789",loc:[-85.643618,41.942015]},n179:{id:"n179",loc:[-85.638891,41.942334]},n1790:{id:"n1790",loc:[-85.64346,41.941971]},n1791:{id:"n1791",loc:[-85.643528,41.942468]},n1792:{id:"n1792",loc:[-85.643621,41.942363]},n1793:{id:"n1793",loc:[-85.643496,41.942297]},n1794:{id:"n1794",loc:[-85.643446,41.942246]},n1795:{id:"n1795",loc:[-85.643398,41.942177]},n1796:{id:"n1796",loc:[-85.643398,41.942031]},n1797:{id:"n1797",loc:[-85.621531,41.952693]},n1798:{id:"n1798",loc:[-85.643221,41.942028]},n1799:{id:"n1799",loc:[-85.643225,41.942276]},n18:{id:"n18",loc:[-85.63345,41.94071]},n180:{id:"n180",loc:[-85.639037,41.942334]},n1800:{id:"n1800",loc:[-85.643265,41.942347]},n1801:{id:"n1801",loc:[-85.643323,41.942413]},n1802:{id:"n1802",loc:[-85.643411,41.94247]},n1803:{id:"n1803",loc:[-85.643459,41.942435]},n1804:{id:"n1804",loc:[-85.643767,41.942307]},n1805:{id:"n1805",loc:[-85.643661,41.942293]},n1806:{id:"n1806",loc:[-85.643578,41.942247]},n1807:{id:"n1807",loc:[-85.643522,41.942125]},n1808:{id:"n1808",loc:[-85.643515,41.942061]},n1809:{id:"n1809",loc:[-85.643346,41.941924]},n181:{id:"n181",loc:[-85.638074,41.941839]},n1810:{id:"n1810",loc:[-85.643086,41.94192]},n1811:{id:"n1811",loc:[-85.643529,41.94217]},n1812:{id:"n1812",loc:[-85.643489,41.942003]},n1813:{id:"n1813",loc:[-85.643295,41.941919]},n1814:{id:"n1814",loc:[-85.643305,41.942163]},n1815:{id:"n1815",loc:[-85.643354,41.942285]},n1816:{id:"n1816",loc:[-85.643472,41.942389]},n1817:{id:"n1817",loc:[-85.643608,41.942271]},n1818:{id:"n1818",loc:[-85.643876,41.941402]},n1819:{id:"n1819",loc:[-85.643818,41.941369]},n182:{id:"n182",loc:[-85.638076,41.941942]},n1820:{id:"n1820",loc:[-85.643682,41.941304]},n1821:{id:"n1821",loc:[-85.64359,41.941286]},n1822:{id:"n1822",loc:[-85.643317,41.941727]},n1823:{id:"n1823",loc:[-85.643301,41.941286]},n1824:{id:"n1824",loc:[-85.643553,41.941698]},n1825:{id:"n1825",loc:[-85.643543,41.941286]},n1826:{id:"n1826",loc:[-85.636967,41.940118]},n1827:{id:"n1827",loc:[-85.63378,41.940114]},n1828:{id:"n1828",loc:[-85.637254,41.940075]},n1829:{id:"n1829",loc:[-85.637002,41.941355]},n183:{id:"n183",loc:[-85.637955,41.941944]},n1830:{id:"n1830",loc:[-85.643532,41.94204]},n1831:{id:"n1831",loc:[-85.638235,41.942615]},n1832:{id:"n1832",loc:[-85.637039,41.942624]},n1833:{id:"n1833",loc:[-85.636369,41.94266]},n1834:{id:"n1834",loc:[-85.63582,41.942771],tags:{highway:"traffic_signals",traffic_signals:"emergency","traffic_signals:direction":"both"}},n1835:{id:"n1835",loc:[-85.634873,41.943044]},n1836:{id:"n1836",loc:[-85.643482,41.941976]},n1837:{id:"n1837",loc:[-85.64345,41.941945]},n1838:{id:"n1838",loc:[-85.641885,41.943851]},n1839:{id:"n1839",loc:[-85.641915,41.945121]},n184:{id:"n184",loc:[-85.637953,41.94184]},n1840:{id:"n1840",loc:[-85.639454,41.943871]},n1841:{id:"n1841",loc:[-85.639491,41.945191]},n1842:{id:"n1842",loc:[-85.635768,41.940113]},n1843:{id:"n1843",loc:[-85.638206,41.941345]},n1844:{id:"n1844",loc:[-85.640721,41.94513]},n1845:{id:"n1845",loc:[-85.643137,41.945103]},n1846:{id:"n1846",loc:[-85.638199,41.940079]},n1847:{id:"n1847",loc:[-85.640688,41.943861]},n1848:{id:"n1848",loc:[-85.643397,41.941924]},n1849:{id:"n1849",loc:[-85.643117,41.943841]},n185:{id:"n185",loc:[-85.637953,41.941866]},n1850:{id:"n1850",loc:[-85.636731,41.94263]},n1851:{id:"n1851",loc:[-85.63518,41.942955],tags:{highway:"crossing"}},n1852:{id:"n1852",loc:[-85.636152,41.942695]},n1853:{id:"n1853",loc:[-85.644202,41.941499]},n1854:{id:"n1854",loc:[-85.644211,41.942116]},n1855:{id:"n1855",loc:[-85.644233,41.942404]},n1856:{id:"n1856",loc:[-85.644231,41.942223]},n1857:{id:"n1857",loc:[-85.644133,41.941315]},n1858:{id:"n1858",loc:[-85.644136,41.941493]},n1859:{id:"n1859",loc:[-85.644345,41.942307]},n186:{id:"n186",loc:[-85.637873,41.941867]},n1860:{id:"n1860",loc:[-85.644232,41.942304]},n1861:{id:"n1861",loc:[-85.644134,41.941403]},n1862:{id:"n1862",loc:[-85.63607,41.943005],tags:{"addr:city":"Three Rivers","addr:housenumber":"333","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",amenity:"fire_station",name:"Three Rivers Fire Department"}},n1863:{id:"n1863",loc:[-85.637,41.941236]},n1864:{id:"n1864",loc:[-85.634476,41.941475]},n1865:{id:"n1865",loc:[-85.635036,41.941858]},n1866:{id:"n1866",loc:[-85.635362,41.941962]},n1867:{id:"n1867",loc:[-85.635796,41.941962]},n1868:{id:"n1868",loc:[-85.63295,41.943006]},n1869:{id:"n1869",loc:[-85.634692,41.943098]},n187:{id:"n187",loc:[-85.637877,41.941975]},n1870:{id:"n1870",loc:[-85.633128,41.940484]},n1871:{id:"n1871",loc:[-85.633117,41.942798]},n1872:{id:"n1872",loc:[-85.633303,41.942412]},n1873:{id:"n1873",loc:[-85.633482,41.941912]},n1874:{id:"n1874",loc:[-85.633455,41.941359]},n1875:{id:"n1875",loc:[-85.633162,41.942679]},n1876:{id:"n1876",loc:[-85.634274,41.943479]},n1877:{id:"n1877",loc:[-85.634678,41.942909]},n1878:{id:"n1878",loc:[-85.6339,41.941453]},n1879:{id:"n1879",loc:[-85.634571,41.942774]},n188:{id:"n188",loc:[-85.636855,41.942488]},n1880:{id:"n1880",loc:[-85.63419,41.941732]},n1881:{id:"n1881",loc:[-85.634067,41.941565]},n1882:{id:"n1882",loc:[-85.63436,41.942358]},n1883:{id:"n1883",loc:[-85.634327,41.942247]},n1884:{id:"n1884",loc:[-85.633391,41.941231]},n1885:{id:"n1885",loc:[-85.634303,41.941972]},n1886:{id:"n1886",loc:[-85.633541,41.940147]},n1887:{id:"n1887",loc:[-85.633433,41.940252]},n1888:{id:"n1888",loc:[-85.633402,41.940411]},n1889:{id:"n1889",loc:[-85.633551,41.941023]},n189:{id:"n189",loc:[-85.636702,41.942488]},n1890:{id:"n1890",loc:[-85.633719,41.941186]},n1891:{id:"n1891",loc:[-85.633067,41.941845]},n1892:{id:"n1892",loc:[-85.634902,41.942766]},n1893:{id:"n1893",loc:[-85.634603,41.942202]},n1894:{id:"n1894",loc:[-85.634858,41.942152]},n1895:{id:"n1895",loc:[-85.634842,41.942269]},n1896:{id:"n1896",loc:[-85.634907,41.942313]},n1897:{id:"n1897",loc:[-85.635049,41.942331]},n1898:{id:"n1898",loc:[-85.635101,41.942281]},n1899:{id:"n1899",loc:[-85.635129,41.942144]},n19:{id:"n19",loc:[-85.633009,41.942229]},n190:{id:"n190",loc:[-85.636702,41.942434]},n1900:{id:"n1900",loc:[-85.635531,41.942143]},n1901:{id:"n1901",loc:[-85.635534,41.942577]},n1902:{id:"n1902",loc:[-85.635158,41.942656]},n1903:{id:"n1903",loc:[-85.635121,41.942703]},n1904:{id:"n1904",loc:[-85.635087,41.941508]},n1905:{id:"n1905",loc:[-85.63536,41.941106]},n1906:{id:"n1906",loc:[-85.635442,41.941094]},n1907:{id:"n1907",loc:[-85.635508,41.941104]},n1908:{id:"n1908",loc:[-85.635569,41.941125]},n1909:{id:"n1909",loc:[-85.635583,41.941106]},n191:{id:"n191",loc:[-85.636761,41.942434]},n1910:{id:"n1910",loc:[-85.635555,41.940976]},n1911:{id:"n1911",loc:[-85.635501,41.940915]},n1912:{id:"n1912",loc:[-85.635392,41.940922]},n1913:{id:"n1913",loc:[-85.635276,41.940974]},n1914:{id:"n1914",loc:[-85.63517,41.941204]},n1915:{id:"n1915",loc:[-85.634888,41.941517]},n1916:{id:"n1916",loc:[-85.634897,41.941576]},n1917:{id:"n1917",loc:[-85.634961,41.94164]},n1918:{id:"n1918",loc:[-85.635028,41.941659]},n1919:{id:"n1919",loc:[-85.635118,41.941621]},n192:{id:"n192",loc:[-85.636761,41.942369]},n1920:{id:"n1920",loc:[-85.635085,41.941558]},n1921:{id:"n1921",loc:[-85.63504,41.94136]},n1922:{id:"n1922",loc:[-85.635221,41.941077]},n1923:{id:"n1923",loc:[-85.634387,41.941559]},n1924:{id:"n1924",loc:[-85.634351,41.941587]},n1925:{id:"n1925",loc:[-85.634416,41.941756]},n1926:{id:"n1926",loc:[-85.634461,41.941797]},n1927:{id:"n1927",loc:[-85.634501,41.941819]},n1928:{id:"n1928",loc:[-85.634597,41.941816]},n1929:{id:"n1929",loc:[-85.634732,41.941724]},n193:{id:"n193",loc:[-85.636855,41.942369]},n1930:{id:"n1930",loc:[-85.634672,41.941775]},n1931:{id:"n1931",loc:[-85.633403,41.939101]},n1932:{id:"n1932",loc:[-85.633297,41.939397]},n1933:{id:"n1933",loc:[-85.633205,41.939674]},n1934:{id:"n1934",loc:[-85.63322,41.939777]},n1935:{id:"n1935",loc:[-85.633345,41.939936]},n1936:{id:"n1936",loc:[-85.633376,41.940002]},n1937:{id:"n1937",loc:[-85.633266,41.940228]},n1938:{id:"n1938",loc:[-85.633236,41.940352]},n1939:{id:"n1939",loc:[-85.633282,41.94063]},n194:{id:"n194",loc:[-85.636645,41.94249]},n1940:{id:"n1940",loc:[-85.633364,41.940874]},n1941:{id:"n1941",loc:[-85.633439,41.941052]},n1942:{id:"n1942",loc:[-85.633582,41.941172]},n1943:{id:"n1943",loc:[-85.633748,41.941273]},n1944:{id:"n1944",loc:[-85.634317,41.941527]},n1945:{id:"n1945",loc:[-85.634389,41.94174]},n1946:{id:"n1946",loc:[-85.634441,41.941801]},n1947:{id:"n1947",loc:[-85.634514,41.941837]},n1948:{id:"n1948",loc:[-85.634485,41.942005]},n1949:{id:"n1949",loc:[-85.63457,41.942202]},n195:{id:"n195",loc:[-85.636565,41.94249]},n1950:{id:"n1950",loc:[-85.634869,41.942769]},n1951:{id:"n1951",loc:[-85.634943,41.942792]},n1952:{id:"n1952",loc:[-85.635139,41.942882]},n1953:{id:"n1953",loc:[-85.634962,41.943161]},n1954:{id:"n1954",loc:[-85.635002,41.943131]},n1955:{id:"n1955",loc:[-85.635005,41.943091]},n1956:{id:"n1956",loc:[-85.635216,41.943033]},n1957:{id:"n1957",loc:[-85.634817,41.94267]},n1958:{id:"n1958",loc:[-85.634614,41.942599]},n1959:{id:"n1959",loc:[-85.634494,41.942381]},n196:{id:"n196",loc:[-85.636565,41.942474]},n1960:{id:"n1960",loc:[-85.634486,41.9423]},n1961:{id:"n1961",loc:[-85.634671,41.941795]},n1962:{id:"n1962",loc:[-85.634595,41.941831]},n1963:{id:"n1963",loc:[-85.634332,41.941866]},n1964:{id:"n1964",loc:[-85.634207,41.941885]},n1965:{id:"n1965",loc:[-85.634133,41.941892]},n1966:{id:"n1966",loc:[-85.634131,41.942203]},n1967:{id:"n1967",loc:[-85.634047,41.942327]},n1968:{id:"n1968",loc:[-85.634219,41.942793]},n1969:{id:"n1969",loc:[-85.634061,41.942392]},n197:{id:"n197",loc:[-85.636514,41.942474]},n1970:{id:"n1970",loc:[-85.633989,41.942407]},n1971:{id:"n1971",loc:[-85.633971,41.942356]},n1972:{id:"n1972",loc:[-85.63361,41.942423]},n1973:{id:"n1973",loc:[-85.633714,41.942682]},n1974:{id:"n1974",loc:[-85.633698,41.942863]},n1975:{id:"n1975",loc:[-85.633882,41.942865]},n1976:{id:"n1976",loc:[-85.633941,41.943007]},n1977:{id:"n1977",loc:[-85.633887,41.943035]},n1978:{id:"n1978",loc:[-85.633768,41.942815]},n1979:{id:"n1979",loc:[-85.633682,41.942351]},n198:{id:"n198",loc:[-85.636514,41.942326]},n1980:{id:"n1980",loc:[-85.634037,41.942273]},n1981:{id:"n1981",loc:[-85.634029,41.942252]},n1982:{id:"n1982",loc:[-85.633673,41.942331]},n1983:{id:"n1983",loc:[-85.634219,41.942571]},n1984:{id:"n1984",loc:[-85.634252,41.942565]},n1985:{id:"n1985",loc:[-85.634144,41.942299]},n1986:{id:"n1986",loc:[-85.634115,41.942306]},n1987:{id:"n1987",loc:[-85.634059,41.943094]},n1988:{id:"n1988",loc:[-85.633944,41.942903]},n1989:{id:"n1989",loc:[-85.634311,41.942821]},n199:{id:"n199",loc:[-85.636561,41.942326]},n1990:{id:"n1990",loc:[-85.634351,41.94277]},n1991:{id:"n1991",loc:[-85.634153,41.942254]},n1992:{id:"n1992",loc:[-85.634092,41.94222]},n1993:{id:"n1993",loc:[-85.633571,41.942336]},n1994:{id:"n1994",loc:[-85.633513,41.942387]},n1995:{id:"n1995",loc:[-85.633509,41.942455]},n1996:{id:"n1996",loc:[-85.63363,41.942665]},n1997:{id:"n1997",loc:[-85.63414,41.94286]},n1998:{id:"n1998",loc:[-85.63397,41.942449]},n1999:{id:"n1999",loc:[-85.633551,41.942529]},n2:{id:"n2",loc:[-85.627421,41.953877]},n20:{id:"n20",loc:[-85.633013,41.941438]},n200:{id:"n200",loc:[-85.636561,41.942311]},n2000:{id:"n2000",loc:[-85.633741,41.942493]},n2001:{id:"n2001",loc:[-85.633894,41.942869]},n2002:{id:"n2002",loc:[-85.634132,41.941954]},n2003:{id:"n2003",loc:[-85.634032,41.942038]},n2004:{id:"n2004",loc:[-85.633765,41.942238]},n2005:{id:"n2005",loc:[-85.63376,41.942268]},n2006:{id:"n2006",loc:[-85.633768,41.942293]},n2007:{id:"n2007",loc:[-85.633808,41.942386]},n2008:{id:"n2008",loc:[-85.634946,41.941663]},n2009:{id:"n2009",loc:[-85.63511,41.941697]},n201:{id:"n201",loc:[-85.636621,41.942311]},n2010:{id:"n2010",loc:[-85.635337,41.94168]},n2011:{id:"n2011",loc:[-85.634997,41.942251]},n2012:{id:"n2012",loc:[-85.635013,41.942173]},n2013:{id:"n2013",loc:[-85.634876,41.942157]},n2014:{id:"n2014",loc:[-85.634859,41.942235]},n2015:{id:"n2015",loc:[-85.634992,41.941951]},n2016:{id:"n2016",loc:[-85.634952,41.941877]},n2017:{id:"n2017",loc:[-85.634844,41.94191]},n2018:{id:"n2018",loc:[-85.634884,41.941983]},n2019:{id:"n2019",loc:[-85.635189,41.941691]},n202:{id:"n202",loc:[-85.636621,41.942351]},n2020:{id:"n2020",loc:[-85.635089,41.941896]},n2021:{id:"n2021",loc:[-85.635077,41.941964]},n2022:{id:"n2022",loc:[-85.635058,41.942147]},n2023:{id:"n2023",loc:[-85.635099,41.942161]},n2024:{id:"n2024",loc:[-85.635099,41.942213]},n2025:{id:"n2025",loc:[-85.635079,41.942285]},n2026:{id:"n2026",loc:[-85.635047,41.942316]},n2027:{id:"n2027",loc:[-85.634925,41.9423]},n2028:{id:"n2028",loc:[-85.634911,41.942276]},n2029:{id:"n2029",loc:[-85.634917,41.942242]},n203:{id:"n203",loc:[-85.63666,41.942351]},n2030:{id:"n2030",loc:[-85.634698,41.941898]},n2031:{id:"n2031",loc:[-85.634964,41.941878]},n2032:{id:"n2032",loc:[-85.635025,41.941929]},n2033:{id:"n2033",loc:[-85.634862,41.941887]},n2034:{id:"n2034",loc:[-85.634811,41.94181]},n2035:{id:"n2035",loc:[-85.634731,41.941745]},n2036:{id:"n2036",loc:[-85.634933,41.94176]},n2037:{id:"n2037",loc:[-85.634942,41.942145]},n2038:{id:"n2038",loc:[-85.634944,41.942065]},n2039:{id:"n2039",loc:[-85.634914,41.941996]},n204:{id:"n204",loc:[-85.63666,41.942453]},n2040:{id:"n2040",loc:[-85.634981,41.941979]},n2041:{id:"n2041",loc:[-85.633419,41.942172]},n2042:{id:"n2042",loc:[-85.633509,41.941631]},n2043:{id:"n2043",loc:[-85.633686,41.942937]},n2044:{id:"n2044",loc:[-85.633371,41.942722]},n2045:{id:"n2045",loc:[-85.633291,41.942538]},n2046:{id:"n2046",loc:[-85.633902,41.940941]},n2047:{id:"n2047",loc:[-85.635254,41.940939]},n2048:{id:"n2048",loc:[-85.635686,41.940829]},n2049:{id:"n2049",loc:[-85.635712,41.942681]},n205:{id:"n205",loc:[-85.636645,41.942453]},n2050:{id:"n2050",loc:[-85.633721,41.942118]},n2051:{id:"n2051",loc:[-85.633698,41.942057]},n2052:{id:"n2052",loc:[-85.633591,41.942079]},n2053:{id:"n2053",loc:[-85.633614,41.94214]},n2054:{id:"n2054",loc:[-85.633968,41.941099]},n2055:{id:"n2055",loc:[-85.633907,41.941138]},n2056:{id:"n2056",loc:[-85.633968,41.941197]},n2057:{id:"n2057",loc:[-85.63404,41.941162]},n2058:{id:"n2058",loc:[-85.634839,41.941665]},n2059:{id:"n2059",loc:[-85.635314,41.943035]},n206:{id:"n206",loc:[-85.636394,41.942471]},n2060:{id:"n2060",loc:[-85.634919,41.943142]},n2061:{id:"n2061",loc:[-85.636433,41.942959],tags:{"addr:city":"Three Rivers","addr:housenumber":"333","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",amenity:"townhall",name:"Three Rivers City Hall"}},n2062:{id:"n2062",loc:[-85.637039,41.942789]},n2063:{id:"n2063",loc:[-85.636333,41.94279]},n2064:{id:"n2064",loc:[-85.634484,41.940726]},n2065:{id:"n2065",loc:[-85.634483,41.940603]},n2066:{id:"n2066",loc:[-85.634908,41.940601]},n2067:{id:"n2067",loc:[-85.634908,41.94053]},n2068:{id:"n2068",loc:[-85.634934,41.94053]},n2069:{id:"n2069",loc:[-85.634934,41.940496]},n207:{id:"n207",loc:[-85.636262,41.942472]},n2070:{id:"n2070",loc:[-85.63504,41.940495]},n2071:{id:"n2071",loc:[-85.63504,41.940531]},n2072:{id:"n2072",loc:[-85.635068,41.940531]},n2073:{id:"n2073",loc:[-85.635071,41.940794]},n2074:{id:"n2074",loc:[-85.635183,41.940793]},n2075:{id:"n2075",loc:[-85.635185,41.940916]},n2076:{id:"n2076",loc:[-85.634799,41.940919]},n2077:{id:"n2077",loc:[-85.634798,41.940798]},n2078:{id:"n2078",loc:[-85.634925,41.940797]},n2079:{id:"n2079",loc:[-85.634924,41.940724]},n208:{id:"n208",loc:[-85.636261,41.94233]},n2080:{id:"n2080",loc:[-85.637448,41.938233]},n2081:{id:"n2081",loc:[-85.634168,41.943279]},n2082:{id:"n2082",loc:[-85.635744,41.938248]},n2083:{id:"n2083",loc:[-85.638744,41.951211]},n2084:{id:"n2084",loc:[-85.636421,41.946392]},n2085:{id:"n2085",loc:[-85.635965,41.945809]},n2086:{id:"n2086",loc:[-85.635683,41.945449]},n2087:{id:"n2087",loc:[-85.635281,41.945025]},n2088:{id:"n2088",loc:[-85.632443,41.942574]},n2089:{id:"n2089",loc:[-85.638243,41.943674]},n209:{id:"n209",loc:[-85.636353,41.942329]},n2090:{id:"n2090",loc:[-85.638228,41.943747]},n2091:{id:"n2091",loc:[-85.638163,41.943797]},n2092:{id:"n2092",loc:[-85.638089,41.943832]},n2093:{id:"n2093",loc:[-85.637969,41.943841]},n2094:{id:"n2094",loc:[-85.637841,41.943833]},n2095:{id:"n2095",loc:[-85.637342,41.943734]},n2096:{id:"n2096",loc:[-85.637232,41.943707]},n2097:{id:"n2097",loc:[-85.637163,41.943668]},n2098:{id:"n2098",loc:[-85.637118,41.943615]},n2099:{id:"n2099",loc:[-85.637078,41.943494]},n21:{id:"n21",loc:[-85.634126,41.942228]},n210:{id:"n210",loc:[-85.636354,41.94239]},n2100:{id:"n2100",loc:[-85.632903,41.998429],tags:{railway:"level_crossing"}},n2101:{id:"n2101",loc:[-85.633616,41.943581],tags:{railway:"level_crossing"}},n2102:{id:"n2102",loc:[-85.636943,41.947311]},n2103:{id:"n2103",loc:[-85.6376,41.94854]},n2104:{id:"n2104",loc:[-85.634565,41.93631]},n2105:{id:"n2105",loc:[-85.629597,41.942562]},n2106:{id:"n2106",loc:[-85.630821,41.943077]},n2107:{id:"n2107",loc:[-85.627473,41.940659]},n2108:{id:"n2108",loc:[-85.629708,41.942872]},n2109:{id:"n2109",loc:[-85.634093,41.935448]},n211:{id:"n211",loc:[-85.636393,41.94239]},n2110:{id:"n2110",loc:[-85.630413,41.94366]},n2111:{id:"n2111",loc:[-85.630488,41.942662]},n2112:{id:"n2112",loc:[-85.63361,41.936749]},n2113:{id:"n2113",loc:[-85.630038,41.941808]},n2114:{id:"n2114",loc:[-85.632016,41.942922]},n2115:{id:"n2115",loc:[-85.631525,41.944303]},n2116:{id:"n2116",loc:[-85.626862,41.94022]},n2117:{id:"n2117",loc:[-85.629673,41.94121]},n2118:{id:"n2118",loc:[-85.632752,41.943101]},n2119:{id:"n2119",loc:[-85.631147,41.943201]},n212:{id:"n212",loc:[-85.63444,41.943176]},n2120:{id:"n2120",loc:[-85.624974,41.940579]},n2121:{id:"n2121",loc:[-85.629518,41.941783]},n2122:{id:"n2122",loc:[-85.632349,41.942699]},n2123:{id:"n2123",loc:[-85.628418,41.940356]},n2124:{id:"n2124",loc:[-85.629147,41.94129]},n2125:{id:"n2125",loc:[-85.631111,41.943979]},n2126:{id:"n2126",loc:[-85.632087,41.940013]},n2127:{id:"n2127",loc:[-85.634469,41.935057]},n2128:{id:"n2128",loc:[-85.630097,41.943449]},n2129:{id:"n2129",loc:[-85.6331,41.937878]},n213:{id:"n213",loc:[-85.63375,41.942814]},n2130:{id:"n2130",loc:[-85.625274,41.941114]},n2131:{id:"n2131",loc:[-85.632632,41.941217]},n2132:{id:"n2132",loc:[-85.632739,41.941926]},n2133:{id:"n2133",loc:[-85.631647,41.94366]},n2134:{id:"n2134",loc:[-85.635059,41.935456]},n2135:{id:"n2135",loc:[-85.631259,41.944349]},n2136:{id:"n2136",loc:[-85.626336,41.940811]},n2137:{id:"n2137",loc:[-85.631507,41.943875]},n2138:{id:"n2138",loc:[-85.625081,41.940859]},n2139:{id:"n2139",loc:[-85.625778,41.940093]},n214:{id:"n214",loc:[-85.633674,41.942869]},n2140:{id:"n2140",loc:[-85.632641,41.942436]},n2141:{id:"n2141",loc:[-85.628825,41.941034]},n2142:{id:"n2142",loc:[-85.627913,41.940292]},n2143:{id:"n2143",loc:[-85.628943,41.940516]},n2144:{id:"n2144",loc:[-85.63139,41.943941]},n2145:{id:"n2145",loc:[-85.630081,41.94204]},n2146:{id:"n2146",loc:[-85.632194,41.93963]},n2147:{id:"n2147",loc:[-85.632913,41.93939]},n2148:{id:"n2148",loc:[-85.632001,41.943492]},n2149:{id:"n2149",loc:[-85.63149,41.943154]},n215:{id:"n215",loc:[-85.633542,41.942768]},n2150:{id:"n2150",loc:[-85.625167,41.940117]},n2151:{id:"n2151",loc:[-85.63287,41.939941]},n2152:{id:"n2152",loc:[-85.630789,41.943732]},n2153:{id:"n2153",loc:[-85.632173,41.940348]},n2154:{id:"n2154",loc:[-85.626587,41.940113]},n2155:{id:"n2155",loc:[-85.62684,41.940667]},n2156:{id:"n2156",loc:[-85.632527,41.938904]},n2157:{id:"n2157",loc:[-85.624866,41.94018]},n2158:{id:"n2158",loc:[-85.633267,41.93872]},n2159:{id:"n2159",loc:[-85.62934,41.940843]},n216:{id:"n216",loc:[-85.633618,41.942714]},n2160:{id:"n2160",loc:[-85.62272,41.953817]},n2161:{id:"n2161",loc:[-85.622555,41.954453]},n2162:{id:"n2162",loc:[-85.637225,41.944128]},n2163:{id:"n2163",loc:[-85.622628,41.953683]},n2164:{id:"n2164",loc:[-85.635441,41.943989]},n2165:{id:"n2165",loc:[-85.622629,41.953807]},n2166:{id:"n2166",loc:[-85.62262,41.953807]},n2167:{id:"n2167",loc:[-85.62262,41.953837]},n2168:{id:"n2168",loc:[-85.622532,41.953838]},n2169:{id:"n2169",loc:[-85.637469,41.944579]},n217:{id:"n217",loc:[-85.634001,41.942336]},n2170:{id:"n2170",loc:[-85.63688,41.943935]},n2171:{id:"n2171",loc:[-85.638263,41.946367]},n2172:{id:"n2172",loc:[-85.622532,41.953807]},n2173:{id:"n2173",loc:[-85.622353,41.953808]},n2174:{id:"n2174",loc:[-85.622352,41.953685]},n2175:{id:"n2175",loc:[-85.622464,41.953684]},n2176:{id:"n2176",loc:[-85.622464,41.953648]},n2177:{id:"n2177",loc:[-85.637136,41.94576]},n2178:{id:"n2178",loc:[-85.622521,41.953648]},n2179:{id:"n2179",loc:[-85.637129,41.945415]},n218:{id:"n218",loc:[-85.633825,41.942376]},n2180:{id:"n2180",loc:[-85.637473,41.94607]},n2181:{id:"n2181",loc:[-85.622521,41.953683]},n2182:{id:"n2182",loc:[-85.622717,41.954104]},n2183:{id:"n2183",loc:[-85.637769,41.946095]},n2184:{id:"n2184",loc:[-85.623872,41.953515]},n2185:{id:"n2185",loc:[-85.623851,41.953588]},n2186:{id:"n2186",loc:[-85.631385,41.94433]},n2187:{id:"n2187",loc:[-85.623608,41.953543]},n2188:{id:"n2188",loc:[-85.637308,41.944882]},n2189:{id:"n2189",loc:[-85.634898,41.944041]},n219:{id:"n219",loc:[-85.633807,41.942334]},n2190:{id:"n2190",loc:[-85.623604,41.953442]},n2191:{id:"n2191",loc:[-85.623705,41.953442]},n2192:{id:"n2192",loc:[-85.623708,41.953493]},n2193:{id:"n2193",loc:[-85.624064,41.952655]},n2194:{id:"n2194",loc:[-85.62395,41.952654]},n2195:{id:"n2195",loc:[-85.623951,41.952579]},n2196:{id:"n2196",loc:[-85.637435,41.944342]},n2197:{id:"n2197",loc:[-85.624064,41.952579]},n2198:{id:"n2198",loc:[-85.623812,41.952648]},n2199:{id:"n2199",loc:[-85.623813,41.952705]},n22:{id:"n22",loc:[-85.633531,41.942357]},n220:{id:"n220",loc:[-85.633983,41.942294]},n2200:{id:"n2200",loc:[-85.637169,41.945098]},n2201:{id:"n2201",loc:[-85.623552,41.952707]},n2202:{id:"n2202",loc:[-85.623551,41.95263]},n2203:{id:"n2203",loc:[-85.623701,41.952629]},n2204:{id:"n2204",loc:[-85.635894,41.943719]},n2205:{id:"n2205",loc:[-85.637297,41.945992]},n2206:{id:"n2206",loc:[-85.623724,41.952648]},n2207:{id:"n2207",loc:[-85.623812,41.952438]},n2208:{id:"n2208",loc:[-85.625239,41.952197]},n2209:{id:"n2209",loc:[-85.625232,41.952257]},n221:{id:"n221",loc:[-85.634182,41.942495]},n2210:{id:"n2210",loc:[-85.635175,41.94408]},n2211:{id:"n2211",loc:[-85.636381,41.943761]},n2212:{id:"n2212",loc:[-85.625115,41.952249]},n2213:{id:"n2213",loc:[-85.638578,41.946644]},n2214:{id:"n2214",loc:[-85.625122,41.952189]},n2215:{id:"n2215",loc:[-85.625085,41.952031]},n2216:{id:"n2216",loc:[-85.636126,41.943713]},n2217:{id:"n2217",loc:[-85.635005,41.944041]},n2218:{id:"n2218",loc:[-85.63714,41.945328]},n2219:{id:"n2219",loc:[-85.634871,41.943292]},n222:{id:"n222",loc:[-85.634149,41.942503]},n2220:{id:"n2220",loc:[-85.635705,41.943799]},n2221:{id:"n2221",loc:[-85.634995,41.943576]},n2222:{id:"n2222",loc:[-85.635026,41.943829]},n2223:{id:"n2223",loc:[-85.632874,41.941031]},n2224:{id:"n2224",loc:[-85.632531,41.940233]},n2225:{id:"n2225",loc:[-85.634247,41.936003]},n2226:{id:"n2226",loc:[-85.62929,41.941127]},n2227:{id:"n2227",loc:[-85.630428,41.943266]},n2228:{id:"n2228",loc:[-85.631608,41.943425]},n2229:{id:"n2229",loc:[-85.632316,41.943042]},n223:{id:"n223",loc:[-85.634098,41.942373]},n2230:{id:"n2230",loc:[-85.628711,41.940744]},n2231:{id:"n2231",loc:[-85.627831,41.940536]},n2232:{id:"n2232",loc:[-85.625514,41.94052]},n2233:{id:"n2233",loc:[-85.631127,41.943545]},n2234:{id:"n2234",loc:[-85.632909,41.942531]},n2235:{id:"n2235",loc:[-85.632917,41.938796]},n2236:{id:"n2236",loc:[-85.626716,41.94044]},n2237:{id:"n2237",loc:[-85.630122,41.942852]},n2238:{id:"n2238",loc:[-85.632509,41.939674]},n2239:{id:"n2239",loc:[-85.634762,41.935237]},n224:{id:"n224",loc:[-85.634131,41.942366]},n2240:{id:"n2240",loc:[-85.63384,41.937025]},n2241:{id:"n2241",loc:[-85.629741,41.941909]},n2242:{id:"n2242",loc:[-85.635254,41.945001],tags:{railway:"level_crossing"}},n2243:{id:"n2243",loc:[-85.634005,41.938168]},n2244:{id:"n2244",loc:[-85.63393,41.938335]},n2245:{id:"n2245",loc:[-85.633859,41.93846]},n2246:{id:"n2246",loc:[-85.633663,41.938776]},n2247:{id:"n2247",loc:[-85.633513,41.938936]},n2248:{id:"n2248",loc:[-85.635295,41.943225]},n2249:{id:"n2249",loc:[-85.635393,41.943293]},n225:{id:"n225",loc:[-85.635986,41.94177]},n2250:{id:"n2250",loc:[-85.635645,41.94332]},n2251:{id:"n2251",loc:[-85.63629,41.943328]},n2252:{id:"n2252",loc:[-85.636554,41.943372]},n2253:{id:"n2253",loc:[-85.636869,41.943526]},n2254:{id:"n2254",loc:[-85.637099,41.943704]},n2255:{id:"n2255",loc:[-85.637268,41.943773]},n2256:{id:"n2256",loc:[-85.637483,41.943821]},n2257:{id:"n2257",loc:[-85.637616,41.943929]},n2258:{id:"n2258",loc:[-85.637752,41.944114]},n2259:{id:"n2259",loc:[-85.638399,41.944308]},n226:{id:"n226",loc:[-85.635982,41.941523]},n2260:{id:"n2260",loc:[-85.638573,41.944451]},n2261:{id:"n2261",loc:[-85.638702,41.944574]},n2262:{id:"n2262",loc:[-85.638718,41.944652]},n2263:{id:"n2263",loc:[-85.638715,41.944809]},n2264:{id:"n2264",loc:[-85.638766,41.944988]},n2265:{id:"n2265",loc:[-85.638773,41.945136]},n2266:{id:"n2266",loc:[-85.638705,41.945251]},n2267:{id:"n2267",loc:[-85.638335,41.944291]},n2268:{id:"n2268",loc:[-85.638474,41.944352]},n2269:{id:"n2269",loc:[-85.635408,41.943429]},n227:{id:"n227",loc:[-85.636108,41.941521]},n2270:{id:"n2270",loc:[-85.635271,41.943654]},n2271:{id:"n2271",loc:[-85.635266,41.943744]},n2272:{id:"n2272",loc:[-85.635271,41.943819]},n2273:{id:"n2273",loc:[-85.635192,41.943876]},n2274:{id:"n2274",loc:[-85.635129,41.943857]},n2275:{id:"n2275",loc:[-85.635122,41.943764]},n2276:{id:"n2276",loc:[-85.635124,41.943664]},n2277:{id:"n2277",loc:[-85.63515,41.943611]},n2278:{id:"n2278",loc:[-85.635106,41.943534]},n2279:{id:"n2279",loc:[-85.634972,41.943197]},n228:{id:"n228",loc:[-85.636109,41.941559]},n2280:{id:"n2280",loc:[-85.633978,41.938227]},n2281:{id:"n2281",loc:[-85.634216,41.943255]},n2282:{id:"n2282",loc:[-85.634434,41.943622]},n2283:{id:"n2283",loc:[-85.632406,41.940854]},n2284:{id:"n2284",loc:[-85.632488,41.941063],tags:{leisure:"slipway"}},n2285:{id:"n2285",loc:[-85.632726,41.941537]},n2286:{id:"n2286",loc:[-85.632639,41.94136]},n2287:{id:"n2287",loc:[-85.632704,41.941439]},n2288:{id:"n2288",loc:[-85.632289,41.940601]},n2289:{id:"n2289",loc:[-85.632541,41.942526]},n229:{id:"n229",loc:[-85.636145,41.941559]},n2290:{id:"n2290",loc:[-85.634058,41.943173]},n2291:{id:"n2291",loc:[-85.636175,41.945974]},n2292:{id:"n2292",loc:[-85.636528,41.945975]},n2293:{id:"n2293",loc:[-85.637092,41.945893]},n2294:{id:"n2294",loc:[-85.637881,41.945647]},n2295:{id:"n2295",loc:[-85.639329,41.945162]},n2296:{id:"n2296",loc:[-85.639323,41.945026]},n2297:{id:"n2297",loc:[-85.638826,41.945032]},n2298:{id:"n2298",loc:[-85.638817,41.944174]},n2299:{id:"n2299",loc:[-85.638291,41.94418]},n23:{id:"n23",loc:[-85.633504,41.942418]},n230:{id:"n230",loc:[-85.636145,41.941551]},n2300:{id:"n2300",loc:[-85.63828,41.943811]},n2301:{id:"n2301",loc:[-85.638195,41.943601]},n2302:{id:"n2302",loc:[-85.63719,41.943592]},n2303:{id:"n2303",loc:[-85.636697,41.943273]},n2304:{id:"n2304",loc:[-85.635375,41.943274]},n2305:{id:"n2305",loc:[-85.635091,41.943547]},n2306:{id:"n2306",loc:[-85.63442,41.944117]},n2307:{id:"n2307",loc:[-85.635117,41.943717]},n2308:{id:"n2308",loc:[-85.635601,41.945177]},n2309:{id:"n2309",loc:[-85.635819,41.945494]},n231:{id:"n231",loc:[-85.636312,41.941549]},n2310:{id:"n2310",loc:[-85.635303,41.944891]},n2311:{id:"n2311",loc:[-85.637674,41.943802]},n2312:{id:"n2312",loc:[-85.638263,41.944272]},n2313:{id:"n2313",loc:[-85.634267,41.935266]},n2314:{id:"n2314",loc:[-85.639788,41.945152]},n2315:{id:"n2315",loc:[-85.639645,41.945167]},n2316:{id:"n2316",loc:[-85.639362,41.945233]},n2317:{id:"n2317",loc:[-85.638616,41.945163]},n2318:{id:"n2318",loc:[-85.638514,41.944936]},n2319:{id:"n2319",loc:[-85.638578,41.94503]},n232:{id:"n232",loc:[-85.636314,41.941649]},n2320:{id:"n2320",loc:[-85.638578,41.945215]},n2321:{id:"n2321",loc:[-85.640495,41.947015]},n2322:{id:"n2322",loc:[-85.639577,41.946495]},n2323:{id:"n2323",loc:[-85.638935,41.946087]},n2324:{id:"n2324",loc:[-85.637535,41.94584]},n2325:{id:"n2325",loc:[-85.638357,41.945404]},n2326:{id:"n2326",loc:[-85.638051,41.94553]},n2327:{id:"n2327",loc:[-85.637732,41.945555]},n2328:{id:"n2328",loc:[-85.637657,41.945524]},n2329:{id:"n2329",loc:[-85.637598,41.945467]},n233:{id:"n233",loc:[-85.636152,41.94165]},n2330:{id:"n2330",loc:[-85.637669,41.945318]},n2331:{id:"n2331",loc:[-85.637894,41.945171]},n2332:{id:"n2332",loc:[-85.637923,41.945082]},n2333:{id:"n2333",loc:[-85.63793,41.944756]},n2334:{id:"n2334",loc:[-85.637976,41.944696]},n2335:{id:"n2335",loc:[-85.638044,41.944671]},n2336:{id:"n2336",loc:[-85.638129,41.944597]},n2337:{id:"n2337",loc:[-85.638252,41.944413]},n2338:{id:"n2338",loc:[-85.638092,41.945442]},n2339:{id:"n2339",loc:[-85.638409,41.945315]},n234:{id:"n234",loc:[-85.636152,41.941628]},n2340:{id:"n2340",loc:[-85.638325,41.944771]},n2341:{id:"n2341",loc:[-85.638103,41.944744]},n2342:{id:"n2342",loc:[-85.637976,41.944781]},n2343:{id:"n2343",loc:[-85.637983,41.944865]},n2344:{id:"n2344",loc:[-85.638063,41.945074]},n2345:{id:"n2345",loc:[-85.638041,41.945206]},n2346:{id:"n2346",loc:[-85.637907,41.945309]},n2347:{id:"n2347",loc:[-85.637925,41.94539]},n2348:{id:"n2348",loc:[-85.637998,41.94545]},n2349:{id:"n2349",loc:[-85.637135,41.946254]},n235:{id:"n235",loc:[-85.63611,41.941628]},n2350:{id:"n2350",loc:[-85.636837,41.946615]},n2351:{id:"n2351",loc:[-85.637954,41.948909]},n2352:{id:"n2352",loc:[-85.638382,41.949786]},n2353:{id:"n2353",loc:[-85.639367,41.951242]},n2354:{id:"n2354",loc:[-85.640554,41.951777]},n2355:{id:"n2355",loc:[-85.6411,41.952234]},n2356:{id:"n2356",loc:[-85.641742,41.952657]},n2357:{id:"n2357",loc:[-85.642321,41.952941]},n2358:{id:"n2358",loc:[-85.64277,41.953228]},n2359:{id:"n2359",loc:[-85.643333,41.953825]},n236:{id:"n236",loc:[-85.636113,41.941768]},n2360:{id:"n2360",loc:[-85.643579,41.954365]},n2361:{id:"n2361",loc:[-85.644439,41.954105]},n2362:{id:"n2362",loc:[-85.64506,41.954]},n2363:{id:"n2363",loc:[-85.645483,41.953911]},n2364:{id:"n2364",loc:[-85.646046,41.953853]},n2365:{id:"n2365",loc:[-85.646318,41.953717]},n2366:{id:"n2366",loc:[-85.646276,41.953414]},n2367:{id:"n2367",loc:[-85.631063,41.957478],tags:{emergency:"fire_hydrant"}},n2368:{id:"n2368",loc:[-85.630996,41.955857],tags:{emergency:"fire_hydrant"}},n2369:{id:"n2369",loc:[-85.630976,41.954608],tags:{emergency:"fire_hydrant"}},n237:{id:"n237",loc:[-85.635983,41.941589],tags:{entrance:"yes"}},n2370:{id:"n2370",loc:[-85.646,41.953154]},n2371:{id:"n2371",loc:[-85.645222,41.953193]},n2372:{id:"n2372",loc:[-85.644732,41.953181]},n2373:{id:"n2373",loc:[-85.644064,41.953298]},n2374:{id:"n2374",loc:[-85.643818,41.953177]},n2375:{id:"n2375",loc:[-85.644001,41.95284]},n2376:{id:"n2376",loc:[-85.628174,41.95456],tags:{emergency:"fire_hydrant"}},n2377:{id:"n2377",loc:[-85.644267,41.952591]},n2378:{id:"n2378",loc:[-85.644288,41.952328]},n2379:{id:"n2379",loc:[-85.627276,41.953987],tags:{emergency:"fire_hydrant"}},n238:{id:"n238",loc:[-85.635906,41.94159]},n2380:{id:"n2380",loc:[-85.644262,41.952153]},n2381:{id:"n2381",loc:[-85.644168,41.95204]},n2382:{id:"n2382",loc:[-85.64421,41.951749]},n2383:{id:"n2383",loc:[-85.64385,41.951586]},n2384:{id:"n2384",loc:[-85.62736,41.955964],tags:{emergency:"fire_hydrant"}},n2385:{id:"n2385",loc:[-85.626307,41.957198],tags:{emergency:"fire_hydrant"}},n2386:{id:"n2386",loc:[-85.643589,41.951323]},n2387:{id:"n2387",loc:[-85.62747,41.957509],tags:{emergency:"fire_hydrant"}},n2388:{id:"n2388",loc:[-85.628665,41.957492],tags:{emergency:"fire_hydrant"}},n2389:{id:"n2389",loc:[-85.642535,41.951031]},n239:{id:"n239",loc:[-85.635883,41.940182]},n2390:{id:"n2390",loc:[-85.642269,41.95088]},n2391:{id:"n2391",loc:[-85.641878,41.950814]},n2392:{id:"n2392",loc:[-85.641549,41.950806]},n2393:{id:"n2393",loc:[-85.641103,41.950549]},n2394:{id:"n2394",loc:[-85.630864,41.959046],tags:{emergency:"fire_hydrant"}},n2395:{id:"n2395",loc:[-85.632249,41.958969],tags:{emergency:"fire_hydrant"}},n2396:{id:"n2396",loc:[-85.641037,41.949821]},n2397:{id:"n2397",loc:[-85.641006,41.949433]},n2398:{id:"n2398",loc:[-85.632232,41.95859],tags:{emergency:"fire_hydrant"}},n2399:{id:"n2399",loc:[-85.632071,41.958345],tags:{emergency:"fire_hydrant"}},n24:{id:"n24",loc:[-85.634346,41.942792]},n240:{id:"n240",loc:[-85.635916,41.94264]},n2400:{id:"n2400",loc:[-85.632228,41.9573],tags:{emergency:"fire_hydrant"}},n2401:{id:"n2401",loc:[-85.641152,41.948257]},n2402:{id:"n2402",loc:[-85.641055,41.947304]},n2403:{id:"n2403",loc:[-85.638022,41.945897]},n2404:{id:"n2404",loc:[-85.638672,41.950778]},n2405:{id:"n2405",loc:[-85.63666,41.944492],tags:{name:"Memory Isle",place:"island"}},n2406:{id:"n2406",loc:[-85.635,41.946389],tags:{amenity:"post_office",name:"Three Rivers Post Office"}},n2407:{id:"n2407",loc:[-85.633676,41.946036]},n2408:{id:"n2408",loc:[-85.633736,41.946078]},n2409:{id:"n2409",loc:[-85.633997,41.946185]},n241:{id:"n241",loc:[-85.635795,41.941906]},n2410:{id:"n2410",loc:[-85.634448,41.945626],tags:{highway:"traffic_signals",traffic_signals:"signal"}},n2411:{id:"n2411",loc:[-85.63456,41.945731],tags:{crossing:"zebra",highway:"crossing"}},n2412:{id:"n2412",loc:[-85.634592,41.94578]},n2413:{id:"n2413",loc:[-85.634607,41.945815]},n2414:{id:"n2414",loc:[-85.634614,41.945864]},n2415:{id:"n2415",loc:[-85.636066,41.946185]},n2416:{id:"n2416",loc:[-85.636128,41.946352]},n2417:{id:"n2417",loc:[-85.636142,41.946452]},n2418:{id:"n2418",loc:[-85.635327,41.945292]},n2419:{id:"n2419",loc:[-85.635648,41.94558]},n242:{id:"n242",loc:[-85.635909,41.941906]},n2420:{id:"n2420",loc:[-85.635769,41.945729]},n2421:{id:"n2421",loc:[-85.637349,41.945897]},n2422:{id:"n2422",loc:[-85.632211,41.95596],tags:{emergency:"fire_hydrant"}},n2423:{id:"n2423",loc:[-85.635942,41.94598]},n2424:{id:"n2424",loc:[-85.636443,41.946042]},n2425:{id:"n2425",loc:[-85.635819,41.946052]},n2426:{id:"n2426",loc:[-85.636669,41.946025]},n2427:{id:"n2427",loc:[-85.636832,41.946005]},n2428:{id:"n2428",loc:[-85.637039,41.945968]},n2429:{id:"n2429",loc:[-85.636291,41.946046]},n243:{id:"n243",loc:[-85.636359,41.941904]},n2430:{id:"n2430",loc:[-85.634005,41.943367]},n2431:{id:"n2431",loc:[-85.633366,41.943724]},n2432:{id:"n2432",loc:[-85.634617,41.946057]},n2433:{id:"n2433",loc:[-85.636534,41.944793]},n2434:{id:"n2434",loc:[-85.637055,41.945188]},n2435:{id:"n2435",loc:[-85.636153,41.944618]},n2436:{id:"n2436",loc:[-85.636803,41.944944]},n2437:{id:"n2437",loc:[-85.633389,41.945735]},n2438:{id:"n2438",loc:[-85.633536,41.94585]},n2439:{id:"n2439",loc:[-85.63363,41.945993]},n244:{id:"n244",loc:[-85.636351,41.941438]},n2440:{id:"n2440",loc:[-85.633268,41.94568]},n2441:{id:"n2441",loc:[-85.635947,41.94546]},n2442:{id:"n2442",loc:[-85.636277,41.945268]},n2443:{id:"n2443",loc:[-85.635203,41.944287]},n2444:{id:"n2444",loc:[-85.634876,41.944477]},n2445:{id:"n2445",loc:[-85.634975,41.944419]},n2446:{id:"n2446",loc:[-85.633877,41.943438]},n2447:{id:"n2447",loc:[-85.63508,41.945113]},n2448:{id:"n2448",loc:[-85.635372,41.944932]},n2449:{id:"n2449",loc:[-85.636594,41.945935]},n245:{id:"n245",loc:[-85.635903,41.941436]},n2450:{id:"n2450",loc:[-85.636901,41.945747]},n2451:{id:"n2451",loc:[-85.636329,41.945228]},n2452:{id:"n2452",loc:[-85.636025,41.945417]},n2453:{id:"n2453",loc:[-85.634002,41.944644]},n2454:{id:"n2454",loc:[-85.63407,41.944692]},n2455:{id:"n2455",loc:[-85.634114,41.944756]},n2456:{id:"n2456",loc:[-85.633762,41.944809]},n2457:{id:"n2457",loc:[-85.634184,41.944807]},n2458:{id:"n2458",loc:[-85.634291,41.944819]},n2459:{id:"n2459",loc:[-85.634639,41.944845]},n246:{id:"n246",loc:[-85.635788,41.941436]},n2460:{id:"n2460",loc:[-85.633822,41.944861]},n2461:{id:"n2461",loc:[-85.63411,41.944855]},n2462:{id:"n2462",loc:[-85.63435,41.944872]},n2463:{id:"n2463",loc:[-85.63441,41.944903]},n2464:{id:"n2464",loc:[-85.633883,41.944913]},n2465:{id:"n2465",loc:[-85.634164,41.944896]},n2466:{id:"n2466",loc:[-85.633487,41.944926]},n2467:{id:"n2467",loc:[-85.634736,41.944929]},n2468:{id:"n2468",loc:[-85.633944,41.944965]},n2469:{id:"n2469",loc:[-85.633555,41.944983]},n247:{id:"n247",loc:[-85.635929,41.941511]},n2470:{id:"n2470",loc:[-85.633995,41.945013]},n2471:{id:"n2471",loc:[-85.633614,41.945037]},n2472:{id:"n2472",loc:[-85.634848,41.945031]},n2473:{id:"n2473",loc:[-85.634049,41.945061]},n2474:{id:"n2474",loc:[-85.633678,41.945094]},n2475:{id:"n2475",loc:[-85.63317,41.945111]},n2476:{id:"n2476",loc:[-85.633357,41.945103]},n2477:{id:"n2477",loc:[-85.633728,41.945136]},n2478:{id:"n2478",loc:[-85.634146,41.945148]},n2479:{id:"n2479",loc:[-85.633416,41.945157]},n248:{id:"n248",loc:[-85.635929,41.941317]},n2480:{id:"n2480",loc:[-85.634625,41.945172]},n2481:{id:"n2481",loc:[-85.633239,41.945174]},n2482:{id:"n2482",loc:[-85.63469,41.945185]},n2483:{id:"n2483",loc:[-85.634661,41.945203]},n2484:{id:"n2484",loc:[-85.63348,41.945214]},n2485:{id:"n2485",loc:[-85.633578,41.945221]},n2486:{id:"n2486",loc:[-85.634742,41.945231]},n2487:{id:"n2487",loc:[-85.634251,41.94525]},n2488:{id:"n2488",loc:[-85.633524,41.945254]},n2489:{id:"n2489",loc:[-85.63468,41.945271]},n249:{id:"n249",loc:[-85.636414,41.941316]},n2490:{id:"n2490",loc:[-85.633885,41.945272]},n2491:{id:"n2491",loc:[-85.634795,41.945288]},n2492:{id:"n2492",loc:[-85.634742,41.94532]},n2493:{id:"n2493",loc:[-85.633946,41.945327]},n2494:{id:"n2494",loc:[-85.634844,41.945331]},n2495:{id:"n2495",loc:[-85.63435,41.945349]},n2496:{id:"n2496",loc:[-85.633733,41.945357]},n2497:{id:"n2497",loc:[-85.633987,41.945375]},n2498:{id:"n2498",loc:[-85.634911,41.945419]},n2499:{id:"n2499",loc:[-85.634049,41.945431]},n25:{id:"n25",loc:[-85.634333,41.942809]},n250:{id:"n250",loc:[-85.636414,41.941511]},n2500:{id:"n2500",loc:[-85.633705,41.945461]},n2501:{id:"n2501",loc:[-85.633642,41.945408]},n2502:{id:"n2502",loc:[-85.634493,41.945475]},n2503:{id:"n2503",loc:[-85.634106,41.945484]},n2504:{id:"n2504",loc:[-85.635008,41.945505]},n2505:{id:"n2505",loc:[-85.633757,41.945506]},n2506:{id:"n2506",loc:[-85.634542,41.945519]},n2507:{id:"n2507",loc:[-85.634162,41.945536]},n2508:{id:"n2508",loc:[-85.633843,41.945547]},n2509:{id:"n2509",loc:[-85.634919,41.94556]},n251:{id:"n251",loc:[-85.636819,41.941617]},n2510:{id:"n2510",loc:[-85.633818,41.945561]},n2511:{id:"n2511",loc:[-85.634638,41.94559]},n2512:{id:"n2512",loc:[-85.633901,41.945598]},n2513:{id:"n2513",loc:[-85.634257,41.945626]},n2514:{id:"n2514",loc:[-85.633967,41.945652]},n2515:{id:"n2515",loc:[-85.634735,41.945676]},n2516:{id:"n2516",loc:[-85.635057,41.945683]},n2517:{id:"n2517",loc:[-85.635296,41.945703]},n2518:{id:"n2518",loc:[-85.635112,41.945703]},n2519:{id:"n2519",loc:[-85.634782,41.945729]},n252:{id:"n252",loc:[-85.636718,41.941619]},n2520:{id:"n2520",loc:[-85.634052,41.945747]},n2521:{id:"n2521",loc:[-85.635296,41.945757]},n2522:{id:"n2522",loc:[-85.635314,41.945757]},n2523:{id:"n2523",loc:[-85.635112,41.945761]},n2524:{id:"n2524",loc:[-85.63484,41.945778]},n2525:{id:"n2525",loc:[-85.635314,41.945938]},n2526:{id:"n2526",loc:[-85.63484,41.945922]},n2527:{id:"n2527",loc:[-85.635461,41.944879]},n2528:{id:"n2528",loc:[-85.636024,41.945384]},n2529:{id:"n2529",loc:[-85.636145,41.945312]},n253:{id:"n253",loc:[-85.636716,41.941509]},n2530:{id:"n2530",loc:[-85.6356,41.944797]},n2531:{id:"n2531",loc:[-85.635135,41.944354]},n2532:{id:"n2532",loc:[-85.632988,41.945369]},n2533:{id:"n2533",loc:[-85.633376,41.94563]},n2534:{id:"n2534",loc:[-85.633539,41.945534]},n2535:{id:"n2535",loc:[-85.633238,41.945248]},n2536:{id:"n2536",loc:[-85.633166,41.945216]},n2537:{id:"n2537",loc:[-85.633114,41.945188]},n2538:{id:"n2538",loc:[-85.633078,41.945127]},n2539:{id:"n2539",loc:[-85.633066,41.94508]},n254:{id:"n254",loc:[-85.636732,41.941509]},n2540:{id:"n2540",loc:[-85.633222,41.945358]},n2541:{id:"n2541",loc:[-85.633425,41.945541]},n2542:{id:"n2542",loc:[-85.63299,41.9455]},n2543:{id:"n2543",loc:[-85.634374,41.944327]},n2544:{id:"n2544",loc:[-85.633648,41.943697]},n2545:{id:"n2545",loc:[-85.633533,41.943764]},n2546:{id:"n2546",loc:[-85.634239,41.944417]},n2547:{id:"n2547",loc:[-85.634122,41.944395]},n2548:{id:"n2548",loc:[-85.634235,41.944326]},n2549:{id:"n2549",loc:[-85.633613,41.943787]},n255:{id:"n255",loc:[-85.636731,41.941461]},n2550:{id:"n2550",loc:[-85.633915,41.943613]},n2551:{id:"n2551",loc:[-85.634015,41.943555]},n2552:{id:"n2552",loc:[-85.63433,41.943839]},n2553:{id:"n2553",loc:[-85.634236,41.943894]},n2554:{id:"n2554",loc:[-85.635413,41.946052]},n2555:{id:"n2555",loc:[-85.635405,41.94569]},n2556:{id:"n2556",loc:[-85.635684,41.945925]},n2557:{id:"n2557",loc:[-85.635614,41.945742]},n2558:{id:"n2558",loc:[-85.635401,41.945745]},n2559:{id:"n2559",loc:[-85.635406,41.945928]},n256:{id:"n256",loc:[-85.636799,41.941461]},n2560:{id:"n2560",loc:[-85.633478,41.943663]},n2561:{id:"n2561",loc:[-85.633291,41.943526]},n2562:{id:"n2562",loc:[-85.633094,41.943541]},n2563:{id:"n2563",loc:[-85.633302,41.943492]},n2564:{id:"n2564",loc:[-85.633047,41.943623]},n2565:{id:"n2565",loc:[-85.633275,41.943562]},n2566:{id:"n2566",loc:[-85.633351,41.943518]},n2567:{id:"n2567",loc:[-85.633224,41.9434]},n2568:{id:"n2568",loc:[-85.633235,41.943369]},n2569:{id:"n2569",loc:[-85.635179,41.943911]},n257:{id:"n257",loc:[-85.6368,41.9415]},n2570:{id:"n2570",loc:[-85.635146,41.943918]},n2571:{id:"n2571",loc:[-85.634888,41.943905]},n2572:{id:"n2572",loc:[-85.634832,41.943911]},n2573:{id:"n2573",loc:[-85.634638,41.944007]},n2574:{id:"n2574",loc:[-85.634568,41.94405]},n2575:{id:"n2575",loc:[-85.635994,41.94501]},n2576:{id:"n2576",loc:[-85.636388,41.944608]},n2577:{id:"n2577",loc:[-85.636215,41.944787]},n2578:{id:"n2578",loc:[-85.637948,41.944587]},n2579:{id:"n2579",loc:[-85.637849,41.944567]},n258:{id:"n258",loc:[-85.636814,41.9415]},n2580:{id:"n2580",loc:[-85.637895,41.944455]},n2581:{id:"n2581",loc:[-85.637996,41.944477]},n2582:{id:"n2582",loc:[-85.635525,41.94337]},n2583:{id:"n2583",loc:[-85.637847,41.943923]},n2584:{id:"n2584",loc:[-85.637891,41.944124]},n2585:{id:"n2585",loc:[-85.638167,41.944229]},n2586:{id:"n2586",loc:[-85.638236,41.944097]},n2587:{id:"n2587",loc:[-85.638207,41.944025]},n2588:{id:"n2588",loc:[-85.638141,41.943997]},n2589:{id:"n2589",loc:[-85.638057,41.944015]},n259:{id:"n259",loc:[-85.636815,41.941538]},n2590:{id:"n2590",loc:[-85.637902,41.944231]},n2591:{id:"n2591",loc:[-85.638134,41.944307]},n2592:{id:"n2592",loc:[-85.638242,41.944294]},n2593:{id:"n2593",loc:[-85.638274,41.944222]},n2594:{id:"n2594",loc:[-85.638236,41.944174]},n2595:{id:"n2595",loc:[-85.638207,41.944157]},n2596:{id:"n2596",loc:[-85.637818,41.943984]},n2597:{id:"n2597",loc:[-85.634996,41.944439]},n2598:{id:"n2598",loc:[-85.633946,41.945804]},n2599:{id:"n2599",loc:[-85.634102,41.945864]},n26:{id:"n26",loc:[-85.634346,41.942744]},n260:{id:"n260",loc:[-85.636827,41.941538]},n2600:{id:"n2600",loc:[-85.633819,41.945756]},n2601:{id:"n2601",loc:[-85.634025,41.945975]},n2602:{id:"n2602",loc:[-85.633742,41.945867]},n2603:{id:"n2603",loc:[-85.63373,41.946004]},n2604:{id:"n2604",loc:[-85.633947,41.946081]},n2605:{id:"n2605",loc:[-85.633872,41.945917]},n2606:{id:"n2606",loc:[-85.633825,41.945985]},n2607:{id:"n2607",loc:[-85.633762,41.94596]},n2608:{id:"n2608",loc:[-85.634224,41.946037]},n2609:{id:"n2609",loc:[-85.634357,41.945851]},n261:{id:"n261",loc:[-85.636828,41.941584]},n2610:{id:"n2610",loc:[-85.634398,41.945813]},n2611:{id:"n2611",loc:[-85.634461,41.945812]},n2612:{id:"n2612",loc:[-85.634501,41.945852]},n2613:{id:"n2613",loc:[-85.634503,41.94597]},n2614:{id:"n2614",loc:[-85.634462,41.945971]},n2615:{id:"n2615",loc:[-85.634465,41.946036]},n2616:{id:"n2616",loc:[-85.634235,41.946072]},n2617:{id:"n2617",loc:[-85.634447,41.946036]},n2618:{id:"n2618",loc:[-85.634448,41.946052]},n2619:{id:"n2619",loc:[-85.634494,41.946051]},n262:{id:"n262",loc:[-85.636819,41.941585]},n2620:{id:"n2620",loc:[-85.634497,41.946144]},n2621:{id:"n2621",loc:[-85.634453,41.946144]},n2622:{id:"n2622",loc:[-85.634454,41.94616]},n2623:{id:"n2623",loc:[-85.634393,41.946161]},n2624:{id:"n2624",loc:[-85.634394,41.94618]},n2625:{id:"n2625",loc:[-85.634345,41.94618]},n2626:{id:"n2626",loc:[-85.634344,41.946162]},n2627:{id:"n2627",loc:[-85.63427,41.946163]},n2628:{id:"n2628",loc:[-85.634266,41.946071]},n2629:{id:"n2629",loc:[-85.634148,41.946163]},n263:{id:"n263",loc:[-85.636854,41.941714]},n2630:{id:"n2630",loc:[-85.634213,41.946072]},n2631:{id:"n2631",loc:[-85.633293,41.946309]},n2632:{id:"n2632",loc:[-85.633122,41.946239]},n2633:{id:"n2633",loc:[-85.633295,41.946005]},n2634:{id:"n2634",loc:[-85.633395,41.946047]},n2635:{id:"n2635",loc:[-85.633404,41.946035]},n2636:{id:"n2636",loc:[-85.633459,41.946057]},n2637:{id:"n2637",loc:[-85.633387,41.946154]},n2638:{id:"n2638",loc:[-85.633403,41.946161]},n2639:{id:"n2639",loc:[-85.634176,41.946415]},n264:{id:"n264",loc:[-85.636855,41.941774]},n2640:{id:"n2640",loc:[-85.634179,41.946339]},n2641:{id:"n2641",loc:[-85.634455,41.946345]},n2642:{id:"n2642",loc:[-85.634452,41.946422]},n2643:{id:"n2643",loc:[-85.63437,41.946421]},n2644:{id:"n2644",loc:[-85.634367,41.946497]},n2645:{id:"n2645",loc:[-85.634289,41.946495]},n2646:{id:"n2646",loc:[-85.634291,41.946448]},n2647:{id:"n2647",loc:[-85.634269,41.946448]},n2648:{id:"n2648",loc:[-85.63427,41.946417]},n2649:{id:"n2649",loc:[-85.63484,41.946328]},n265:{id:"n265",loc:[-85.636822,41.941774]},n2650:{id:"n2650",loc:[-85.634839,41.946187]},n2651:{id:"n2651",loc:[-85.635148,41.946186]},n2652:{id:"n2652",loc:[-85.635148,41.946216]},n2653:{id:"n2653",loc:[-85.63521,41.946216]},n2654:{id:"n2654",loc:[-85.63521,41.946348]},n2655:{id:"n2655",loc:[-85.635154,41.946348]},n2656:{id:"n2656",loc:[-85.635153,41.946327]},n2657:{id:"n2657",loc:[-85.634037,41.946957]},n2658:{id:"n2658",loc:[-85.634253,41.946953]},n2659:{id:"n2659",loc:[-85.63481,41.946543]},n266:{id:"n266",loc:[-85.636822,41.941778]},n2660:{id:"n2660",loc:[-85.634809,41.946459]},n2661:{id:"n2661",loc:[-85.635154,41.946458]},n2662:{id:"n2662",loc:[-85.635155,41.946554]},n2663:{id:"n2663",loc:[-85.635022,41.946547]},n2664:{id:"n2664",loc:[-85.635022,41.946573]},n2665:{id:"n2665",loc:[-85.634909,41.946574]},n2666:{id:"n2666",loc:[-85.634909,41.946561]},n2667:{id:"n2667",loc:[-85.634896,41.947159]},n2668:{id:"n2668",loc:[-85.634894,41.947032]},n2669:{id:"n2669",loc:[-85.635024,41.947031]},n267:{id:"n267",loc:[-85.636756,41.941779]},n2670:{id:"n2670",loc:[-85.635026,41.947158]},n2671:{id:"n2671",loc:[-85.635233,41.947105]},n2672:{id:"n2672",loc:[-85.635236,41.946991]},n2673:{id:"n2673",loc:[-85.635369,41.946993]},n2674:{id:"n2674",loc:[-85.635366,41.947107]},n2675:{id:"n2675",loc:[-85.634824,41.946929]},n2676:{id:"n2676",loc:[-85.634825,41.946818]},n2677:{id:"n2677",loc:[-85.63512,41.946819]},n2678:{id:"n2678",loc:[-85.635119,41.94693]},n2679:{id:"n2679",loc:[-85.634796,41.946806]},n268:{id:"n268",loc:[-85.636756,41.941774]},n2680:{id:"n2680",loc:[-85.634792,41.946604]},n2681:{id:"n2681",loc:[-85.634948,41.946602]},n2682:{id:"n2682",loc:[-85.634949,41.946645]},n2683:{id:"n2683",loc:[-85.634975,41.946644]},n2684:{id:"n2684",loc:[-85.634974,41.946599]},n2685:{id:"n2685",loc:[-85.635117,41.946598]},n2686:{id:"n2686",loc:[-85.635122,41.946801]},n2687:{id:"n2687",loc:[-85.634981,41.946803]},n2688:{id:"n2688",loc:[-85.634979,41.946752]},n2689:{id:"n2689",loc:[-85.634952,41.946752]},n269:{id:"n269",loc:[-85.636721,41.941774]},n2690:{id:"n2690",loc:[-85.634953,41.946804]},n2691:{id:"n2691",loc:[-85.634649,41.946841]},n2692:{id:"n2692",loc:[-85.634331,41.94684]},n2693:{id:"n2693",loc:[-85.634183,41.946809]},n2694:{id:"n2694",loc:[-85.633699,41.946607]},n2695:{id:"n2695",loc:[-85.634487,41.946664]},n2696:{id:"n2696",loc:[-85.634486,41.946598]},n2697:{id:"n2697",loc:[-85.63423,41.946599]},n2698:{id:"n2698",loc:[-85.634231,41.946662]},n2699:{id:"n2699",loc:[-85.634284,41.946662]},n27:{id:"n27",loc:[-85.634136,41.943183]},n270:{id:"n270",loc:[-85.63672,41.941714]},n2700:{id:"n2700",loc:[-85.634284,41.946679]},n2701:{id:"n2701",loc:[-85.634365,41.946679]},n2702:{id:"n2702",loc:[-85.634365,41.946664]},n2703:{id:"n2703",loc:[-85.635443,41.947015]},n2704:{id:"n2704",loc:[-85.635442,41.946801]},n2705:{id:"n2705",loc:[-85.63603,41.9468]},n2706:{id:"n2706",loc:[-85.636028,41.947016]},n2707:{id:"n2707",loc:[-85.635457,41.946582]},n2708:{id:"n2708",loc:[-85.635455,41.946211]},n2709:{id:"n2709",loc:[-85.635636,41.946579]},n271:{id:"n271",loc:[-85.636767,41.941713]},n2710:{id:"n2710",loc:[-85.635716,41.9468]},n2711:{id:"n2711",loc:[-85.635969,41.9468]},n2712:{id:"n2712",loc:[-85.635973,41.946295]},n2713:{id:"n2713",loc:[-85.636019,41.946484]},n2714:{id:"n2714",loc:[-85.636022,41.946388]},n2715:{id:"n2715",loc:[-85.635961,41.946493]},n2716:{id:"n2716",loc:[-85.635713,41.94621]},n2717:{id:"n2717",loc:[-85.635416,41.946142]},n2718:{id:"n2718",loc:[-85.635759,41.946203]},n2719:{id:"n2719",loc:[-85.636153,41.946747]},n272:{id:"n272",loc:[-85.636767,41.941706]},n2720:{id:"n2720",loc:[-85.635417,41.946915]},n2721:{id:"n2721",loc:[-85.636154,41.946915]},n2722:{id:"n2722",loc:[-85.635866,41.946473]},n2723:{id:"n2723",loc:[-85.635717,41.946633]},n2724:{id:"n2724",loc:[-85.635556,41.946166]},n2725:{id:"n2725",loc:[-85.63556,41.946556]},n2726:{id:"n2726",loc:[-85.635731,41.946594]},n2727:{id:"n2727",loc:[-85.635866,41.946595]},n2728:{id:"n2728",loc:[-85.635456,41.947028]},n2729:{id:"n2729",loc:[-85.635796,41.947023]},n273:{id:"n273",loc:[-85.636779,41.941698]},n2730:{id:"n2730",loc:[-85.635798,41.947091]},n2731:{id:"n2731",loc:[-85.63573,41.947092]},n2732:{id:"n2732",loc:[-85.635733,41.947233]},n2733:{id:"n2733",loc:[-85.636283,41.946863]},n2734:{id:"n2734",loc:[-85.63628,41.946706]},n2735:{id:"n2735",loc:[-85.636341,41.946705]},n2736:{id:"n2736",loc:[-85.636273,41.946584]},n2737:{id:"n2737",loc:[-85.636396,41.946545]},n2738:{id:"n2738",loc:[-85.636474,41.946684]},n2739:{id:"n2739",loc:[-85.636511,41.946861]},n274:{id:"n274",loc:[-85.636798,41.941697]},n2740:{id:"n2740",loc:[-85.633713,41.947184]},n2741:{id:"n2741",loc:[-85.633651,41.94716]},n2742:{id:"n2742",loc:[-85.633704,41.947085]},n2743:{id:"n2743",loc:[-85.6336,41.947044]},n2744:{id:"n2744",loc:[-85.633506,41.947177]},n2745:{id:"n2745",loc:[-85.629586,41.952469]},n2746:{id:"n2746",loc:[-85.634723,41.953681]},n2747:{id:"n2747",loc:[-85.63478,41.959007]},n2748:{id:"n2748",loc:[-85.632793,41.94405],tags:{highway:"traffic_signals",traffic_signals:"signal","traffic_signals:direction":"both"}},n2749:{id:"n2749",loc:[-85.634648,41.947325]},n275:{id:"n275",loc:[-85.63681,41.941705]},n2750:{id:"n2750",loc:[-85.625078,41.952097]},n2751:{id:"n2751",loc:[-85.633195,41.94734]},n2752:{id:"n2752",loc:[-85.626447,41.957168]},n2753:{id:"n2753",loc:[-85.632023,41.949012]},n2754:{id:"n2754",loc:[-85.630835,41.950656]},n2755:{id:"n2755",loc:[-85.634655,41.948612]},n2756:{id:"n2756",loc:[-85.636182,41.948605]},n2757:{id:"n2757",loc:[-85.634729,41.954667]},n2758:{id:"n2758",loc:[-85.634686,41.951159]},n2759:{id:"n2759",loc:[-85.636206,41.951146]},n276:{id:"n276",loc:[-85.63681,41.941714]},n2760:{id:"n2760",loc:[-85.634668,41.949891]},n2761:{id:"n2761",loc:[-85.634701,41.952422]},n2762:{id:"n2762",loc:[-85.634747,41.955907]},n2763:{id:"n2763",loc:[-85.627975,41.954695]},n2764:{id:"n2764",loc:[-85.626832,41.954698]},n2765:{id:"n2765",loc:[-85.632278,41.948624]},n2766:{id:"n2766",loc:[-85.628639,41.953725]},n2767:{id:"n2767",loc:[-85.636233,41.95241]},n2768:{id:"n2768",loc:[-85.631385,41.949913]},n2769:{id:"n2769",loc:[-85.630486,41.951194]},n277:{id:"n277",loc:[-85.636861,41.942041]},n2770:{id:"n2770",loc:[-85.624937,41.952088]},n2771:{id:"n2771",loc:[-85.624945,41.952022]},n2772:{id:"n2772",loc:[-85.636162,41.94731]},n2773:{id:"n2773",loc:[-85.636188,41.949881]},n2774:{id:"n2774",loc:[-85.631422,41.948294]},n2775:{id:"n2775",loc:[-85.632844,41.945547]},n2776:{id:"n2776",loc:[-85.632484,41.945344]},n2777:{id:"n2777",loc:[-85.631775,41.944636]},n2778:{id:"n2778",loc:[-85.632656,41.945471]},n2779:{id:"n2779",loc:[-85.631959,41.944827]},n278:{id:"n278",loc:[-85.636862,41.942099]},n2780:{id:"n2780",loc:[-85.631679,41.94438]},n2781:{id:"n2781",loc:[-85.625129,41.959272]},n2782:{id:"n2782",loc:[-85.632446,41.944861]},n2783:{id:"n2783",loc:[-85.632804,41.945477]},n2784:{id:"n2784",loc:[-85.632255,41.944962]},n2785:{id:"n2785",loc:[-85.632736,41.944757]},n2786:{id:"n2786",loc:[-85.632543,41.94486]},n2787:{id:"n2787",loc:[-85.632889,41.945561]},n2788:{id:"n2788",loc:[-85.632091,41.944949]},n2789:{id:"n2789",loc:[-85.632537,41.944713]},n279:{id:"n279",loc:[-85.636807,41.942099]},n2790:{id:"n2790",loc:[-85.632279,41.94485]},n2791:{id:"n2791",loc:[-85.632749,41.943247]},n2792:{id:"n2792",loc:[-85.632824,41.943152]},n2793:{id:"n2793",loc:[-85.632929,41.94317]},n2794:{id:"n2794",loc:[-85.632897,41.943078]},n2795:{id:"n2795",loc:[-85.632626,41.943231]},n2796:{id:"n2796",loc:[-85.634048,41.947257]},n2797:{id:"n2797",loc:[-85.634264,41.947252]},n2798:{id:"n2798",loc:[-85.635418,41.947317]},n2799:{id:"n2799",loc:[-85.635461,41.947237]},n28:{id:"n28",loc:[-85.63821,41.944308]},n280:{id:"n280",loc:[-85.636807,41.942126]},n2800:{id:"n2800",loc:[-85.632868,41.946229]},n2801:{id:"n2801",loc:[-85.633673,41.947242]},n2802:{id:"n2802",loc:[-85.623604,41.945881],tags:{amenity:"school",name:"Barrows School"}},n2803:{id:"n2803",loc:[-85.627401,41.943496]},n2804:{id:"n2804",loc:[-85.627403,41.943625]},n2805:{id:"n2805",loc:[-85.626409,41.943215]},n2806:{id:"n2806",loc:[-85.624884,41.943508]},n2807:{id:"n2807",loc:[-85.625191,41.943509]},n2808:{id:"n2808",loc:[-85.624882,41.94382]},n2809:{id:"n2809",loc:[-85.624893,41.945618]},n281:{id:"n281",loc:[-85.636726,41.942126]},n2810:{id:"n2810",loc:[-85.624912,41.946524]},n2811:{id:"n2811",loc:[-85.622721,41.946535]},n2812:{id:"n2812",loc:[-85.627399,41.94469]},n2813:{id:"n2813",loc:[-85.622716,41.945622]},n2814:{id:"n2814",loc:[-85.624886,41.944724]},n2815:{id:"n2815",loc:[-85.622674,41.944737]},n2816:{id:"n2816",loc:[-85.625092,41.945063]},n2817:{id:"n2817",loc:[-85.625233,41.945064]},n2818:{id:"n2818",loc:[-85.625229,41.944871]},n2819:{id:"n2819",loc:[-85.625066,41.944871]},n282:{id:"n282",loc:[-85.636726,41.942098]},n2820:{id:"n2820",loc:[-85.625024,41.944901]},n2821:{id:"n2821",loc:[-85.625025,41.944924]},n2822:{id:"n2822",loc:[-85.625087,41.944926]},n2823:{id:"n2823",loc:[-85.625349,41.944506]},n2824:{id:"n2824",loc:[-85.625347,41.944388]},n2825:{id:"n2825",loc:[-85.625152,41.94439]},n2826:{id:"n2826",loc:[-85.625152,41.944431]},n2827:{id:"n2827",loc:[-85.625134,41.944431]},n2828:{id:"n2828",loc:[-85.625136,41.944508]},n2829:{id:"n2829",loc:[-85.623236,41.946341]},n283:{id:"n283",loc:[-85.636708,41.942098]},n2830:{id:"n2830",loc:[-85.623241,41.946067]},n2831:{id:"n2831",loc:[-85.623207,41.946067]},n2832:{id:"n2832",loc:[-85.623212,41.945827]},n2833:{id:"n2833",loc:[-85.622981,41.945825]},n2834:{id:"n2834",loc:[-85.622976,41.946063]},n2835:{id:"n2835",loc:[-85.623006,41.946063]},n2836:{id:"n2836",loc:[-85.623002,41.946256]},n2837:{id:"n2837",loc:[-85.623075,41.946256]},n2838:{id:"n2838",loc:[-85.623074,41.946339]},n2839:{id:"n2839",loc:[-85.624574,41.951755]},n284:{id:"n284",loc:[-85.636708,41.942041]},n2840:{id:"n2840",loc:[-85.62498,41.951844]},n2841:{id:"n2841",loc:[-85.625086,41.95188]},n2842:{id:"n2842",loc:[-85.625135,41.951922]},n2843:{id:"n2843",loc:[-85.615273,41.945637]},n2844:{id:"n2844",loc:[-85.620172,41.945627]},n2845:{id:"n2845",loc:[-85.625167,41.951985]},n2846:{id:"n2846",loc:[-85.622741,41.947437]},n2847:{id:"n2847",loc:[-85.624907,41.947428]},n2848:{id:"n2848",loc:[-85.627046,41.940995]},n2849:{id:"n2849",loc:[-85.627295,41.941304]},n285:{id:"n285",loc:[-85.635618,41.941852]},n2850:{id:"n2850",loc:[-85.627352,41.94148]},n2851:{id:"n2851",loc:[-85.62737,41.942261]},n2852:{id:"n2852",loc:[-85.6264,41.942263]},n2853:{id:"n2853",loc:[-85.622769,41.949228]},n2854:{id:"n2854",loc:[-85.624937,41.949218]},n2855:{id:"n2855",loc:[-85.630001,41.944664]},n2856:{id:"n2856",loc:[-85.624873,41.942022]},n2857:{id:"n2857",loc:[-85.622761,41.948333]},n2858:{id:"n2858",loc:[-85.624924,41.948334]},n2859:{id:"n2859",loc:[-85.620051,41.94383]},n286:{id:"n286",loc:[-85.635621,41.94202]},n2860:{id:"n2860",loc:[-85.627629,41.946498]},n2861:{id:"n2861",loc:[-85.622757,41.950111]},n2862:{id:"n2862",loc:[-85.623685,41.954624]},n2863:{id:"n2863",loc:[-85.621459,41.944756]},n2864:{id:"n2864",loc:[-85.628637,41.944676]},n2865:{id:"n2865",loc:[-85.630125,41.944654]},n2866:{id:"n2866",loc:[-85.625196,41.952097]},n2867:{id:"n2867",loc:[-85.630257,41.944637]},n2868:{id:"n2868",loc:[-85.631247,41.944459]},n2869:{id:"n2869",loc:[-85.624867,41.94159]},n287:{id:"n287",loc:[-85.63524,41.942023]},n2870:{id:"n2870",loc:[-85.624958,41.950343]},n2871:{id:"n2871",loc:[-85.624948,41.950484]},n2872:{id:"n2872",loc:[-85.624813,41.950983]},n2873:{id:"n2873",loc:[-85.624723,41.951789]},n2874:{id:"n2874",loc:[-85.624262,41.9512]},n2875:{id:"n2875",loc:[-85.62414,41.951201]},n2876:{id:"n2876",loc:[-85.624139,41.95112]},n2877:{id:"n2877",loc:[-85.628481,41.945611]},n2878:{id:"n2878",loc:[-85.620072,41.946538]},n2879:{id:"n2879",loc:[-85.622763,41.95099]},n288:{id:"n288",loc:[-85.635237,41.941855]},n2880:{id:"n2880",loc:[-85.62814,41.946963]},n2881:{id:"n2881",loc:[-85.628245,41.947031]},n2882:{id:"n2882",loc:[-85.628331,41.947066]},n2883:{id:"n2883",loc:[-85.629722,41.944444],tags:{leisure:"park",name:"Scouter Park"}},n2884:{id:"n2884",loc:[-85.629977,41.943907]},n2885:{id:"n2885",loc:[-85.629947,41.943775]},n2886:{id:"n2886",loc:[-85.629899,41.943625]},n2887:{id:"n2887",loc:[-85.632286,41.944257]},n2888:{id:"n2888",loc:[-85.632523,41.944179]},n2889:{id:"n2889",loc:[-85.632141,41.944293]},n289:{id:"n289",loc:[-85.635568,41.940475]},n2890:{id:"n2890",loc:[-85.631571,41.9444]},n2891:{id:"n2891",loc:[-85.643236,41.941895]},n2892:{id:"n2892",loc:[-85.62865,41.945353]},n2893:{id:"n2893",loc:[-85.628594,41.945481]},n2894:{id:"n2894",loc:[-85.628581,41.947169]},n2895:{id:"n2895",loc:[-85.631843,41.943793]},n2896:{id:"n2896",loc:[-85.632299,41.943472]},n2897:{id:"n2897",loc:[-85.631519,41.944881]},n2898:{id:"n2898",loc:[-85.628429,41.947219]},n2899:{id:"n2899",loc:[-85.63145,41.945162]},n29:{id:"n29",loc:[-85.637963,41.944263]},n290:{id:"n290",loc:[-85.634584,41.940477]},n2900:{id:"n2900",loc:[-85.630939,41.945519]},n2901:{id:"n2901",loc:[-85.62903,41.945719]},n2902:{id:"n2902",loc:[-85.630521,41.945559]},n2903:{id:"n2903",loc:[-85.629294,41.945585]},n2904:{id:"n2904",loc:[-85.629845,41.945543]},n2905:{id:"n2905",loc:[-85.631497,41.944625]},n2906:{id:"n2906",loc:[-85.630281,41.945553]},n2907:{id:"n2907",loc:[-85.628553,41.946973]},n2908:{id:"n2908",loc:[-85.631383,41.945338]},n2909:{id:"n2909",loc:[-85.628843,41.946103]},n291:{id:"n291",loc:[-85.634583,41.940203]},n2910:{id:"n2910",loc:[-85.631193,41.945473]},n2911:{id:"n2911",loc:[-85.628897,41.945944]},n2912:{id:"n2912",loc:[-85.628789,41.946454]},n2913:{id:"n2913",loc:[-85.632548,41.944563]},n2914:{id:"n2914",loc:[-85.627527,41.944555]},n2915:{id:"n2915",loc:[-85.62752,41.943726]},n2916:{id:"n2916",loc:[-85.627894,41.943723]},n2917:{id:"n2917",loc:[-85.627897,41.943919]},n2918:{id:"n2918",loc:[-85.627991,41.943934]},n2919:{id:"n2919",loc:[-85.628082,41.943966]},n292:{id:"n292",loc:[-85.635567,41.940201]},n2920:{id:"n2920",loc:[-85.628177,41.944015]},n2921:{id:"n2921",loc:[-85.628193,41.944048]},n2922:{id:"n2922",loc:[-85.628167,41.944054]},n2923:{id:"n2923",loc:[-85.628193,41.944094]},n2924:{id:"n2924",loc:[-85.628213,41.944144]},n2925:{id:"n2925",loc:[-85.628214,41.944199]},n2926:{id:"n2926",loc:[-85.62833,41.944196]},n2927:{id:"n2927",loc:[-85.628328,41.944262]},n2928:{id:"n2928",loc:[-85.628173,41.944262]},n2929:{id:"n2929",loc:[-85.628171,41.944293]},n293:{id:"n293",loc:[-85.635816,41.942673],tags:{crossing:"zebra",highway:"crossing"}},n2930:{id:"n2930",loc:[-85.628039,41.944296]},n2931:{id:"n2931",loc:[-85.62804,41.944329]},n2932:{id:"n2932",loc:[-85.627829,41.944335]},n2933:{id:"n2933",loc:[-85.627835,41.94455]},n2936:{id:"n2936",loc:[-85.632823,41.945994]},n294:{id:"n294",loc:[-85.635696,41.942712]},n2940:{id:"n2940",loc:[-85.632192,41.945973]},n2941:{id:"n2941",loc:[-85.63226,41.94587]},n2942:{id:"n2942",loc:[-85.632721,41.946036]},n2943:{id:"n2943",loc:[-85.632641,41.946142]},n2944:{id:"n2944",loc:[-85.62937,41.947467]},n2945:{id:"n2945",loc:[-85.62959,41.942936]},n2946:{id:"n2946",loc:[-85.629551,41.94284]},n2947:{id:"n2947",loc:[-85.629501,41.942704]},n2948:{id:"n2948",loc:[-85.629472,41.942578]},n2949:{id:"n2949",loc:[-85.629361,41.941801]},n295:{id:"n295",loc:[-85.635679,41.941962]},n2950:{id:"n2950",loc:[-85.629339,41.941716]},n2951:{id:"n2951",loc:[-85.629315,41.94166]},n2952:{id:"n2952",loc:[-85.629279,41.941602]},n2953:{id:"n2953",loc:[-85.629227,41.941556]},n2954:{id:"n2954",loc:[-85.624261,41.95112]},n2955:{id:"n2955",loc:[-85.629153,41.941524]},n2956:{id:"n2956",loc:[-85.626904,41.941098]},n2957:{id:"n2957",loc:[-85.624588,41.951294]},n2958:{id:"n2958",loc:[-85.631844,41.942945]},n2959:{id:"n2959",loc:[-85.625854,41.949222]},n296:{id:"n296",loc:[-85.635672,41.941337]},n2960:{id:"n2960",loc:[-85.625146,41.955238]},n2961:{id:"n2961",loc:[-85.626745,41.948296]},n2962:{id:"n2962",loc:[-85.625721,41.95524]},n2963:{id:"n2963",loc:[-85.624706,41.952317]},n2964:{id:"n2964",loc:[-85.62609,41.956147]},n2965:{id:"n2965",loc:[-85.624401,41.954928]},n2966:{id:"n2966",loc:[-85.626558,41.955367]},n2967:{id:"n2967",loc:[-85.62468,41.955096]},n2968:{id:"n2968",loc:[-85.624159,41.953929]},n2969:{id:"n2969",loc:[-85.62506,41.951113]},n297:{id:"n297",loc:[-85.635658,41.941284]},n2970:{id:"n2970",loc:[-85.624942,41.951591]},n2971:{id:"n2971",loc:[-85.627399,41.947546]},n2972:{id:"n2972",loc:[-85.627695,41.947404]},n2973:{id:"n2973",loc:[-85.625925,41.94896]},n2974:{id:"n2974",loc:[-85.625725,41.950211]},n2975:{id:"n2975",loc:[-85.627008,41.947963]},n2976:{id:"n2976",loc:[-85.624373,41.953458]},n2977:{id:"n2977",loc:[-85.624137,41.954392]},n2978:{id:"n2978",loc:[-85.628257,41.947307]},n2979:{id:"n2979",loc:[-85.625281,41.95066]},n298:{id:"n298",loc:[-85.635602,41.941166]},n2980:{id:"n2980",loc:[-85.625865,41.949804]},n2981:{id:"n2981",loc:[-85.626508,41.955932]},n2982:{id:"n2982",loc:[-85.626333,41.955216]},n2983:{id:"n2983",loc:[-85.626637,41.955676]},n2984:{id:"n2984",loc:[-85.624223,41.954599]},n2985:{id:"n2985",loc:[-85.626219,41.948671]},n2986:{id:"n2986",loc:[-85.624556,41.953043]},n2987:{id:"n2987",loc:[-85.625598,41.956302]},n2988:{id:"n2988",loc:[-85.624571,41.952971]},n2989:{id:"n2989",loc:[-85.627141,41.940727]},n299:{id:"n299",loc:[-85.635598,41.941138]},n2990:{id:"n2990",loc:[-85.627102,41.939144]},n2991:{id:"n2991",loc:[-85.627127,41.940086]},n2992:{id:"n2992",loc:[-85.627116,41.940843]},n2993:{id:"n2993",loc:[-85.627132,41.9402]},n2994:{id:"n2994",loc:[-85.629734,41.940078]},n2995:{id:"n2995",loc:[-85.6276,41.937412]},n2996:{id:"n2996",loc:[-85.627451,41.937549]},n2997:{id:"n2997",loc:[-85.627375,41.937618]},n2998:{id:"n2998",loc:[-85.627278,41.937728]},n2999:{id:"n2999",loc:[-85.627199,41.937842]},n3:{id:"n3",loc:[-85.627345,41.953983]},n30:{id:"n30",loc:[-85.637882,41.944205]},n300:{id:"n300",loc:[-85.635614,41.941076]},n3000:{id:"n3000",loc:[-85.627141,41.937981]},n3001:{id:"n3001",loc:[-85.627109,41.938153]},n3002:{id:"n3002",loc:[-85.627101,41.938699]},n3003:{id:"n3003",loc:[-85.628311,41.942261]},n3004:{id:"n3004",loc:[-85.628439,41.940082]},n3005:{id:"n3005",loc:[-85.619538,41.942622],tags:{leisure:"slipway"}},n3006:{id:"n3006",loc:[-85.619872,41.942618]},n3007:{id:"n3007",loc:[-85.619755,41.942612]},n3008:{id:"n3008",loc:[-85.619647,41.942628]},n3009:{id:"n3009",loc:[-85.619415,41.942626]},n301:{id:"n301",loc:[-85.635659,41.940956]},n3010:{id:"n3010",loc:[-85.619212,41.942623]},n3011:{id:"n3011",loc:[-85.631485,41.942472]},n3012:{id:"n3012",loc:[-85.630986,41.941786]},n3013:{id:"n3013",loc:[-85.631797,41.942006]},n3014:{id:"n3014",loc:[-85.630972,41.941162]},n3015:{id:"n3015",loc:[-85.631396,41.941611],tags:{railway:"level_crossing"}},n3016:{id:"n3016",loc:[-85.631878,41.941545]},n3017:{id:"n3017",loc:[-85.630461,41.94055]},n3018:{id:"n3018",loc:[-85.629751,41.939539],tags:{railway:"level_crossing"}},n3019:{id:"n3019",loc:[-85.631663,41.941513]},n302:{id:"n302",loc:[-85.635666,41.940922]},n3020:{id:"n3020",loc:[-85.631328,41.941375]},n3021:{id:"n3021",loc:[-85.632554,41.941779]},n3022:{id:"n3022",loc:[-85.63245,41.941769]},n3023:{id:"n3023",loc:[-85.632475,41.941644]},n3024:{id:"n3024",loc:[-85.632581,41.941654]},n3025:{id:"n3025",loc:[-85.631957,41.941352]},n3026:{id:"n3026",loc:[-85.632293,41.941139]},n3027:{id:"n3027",loc:[-85.632315,41.941153]},n3028:{id:"n3028",loc:[-85.632302,41.941262]},n3029:{id:"n3029",loc:[-85.63237,41.941267]},n303:{id:"n303",loc:[-85.635667,41.940877]},n3030:{id:"n3030",loc:[-85.632356,41.941538]},n3031:{id:"n3031",loc:[-85.632134,41.941678]},n3032:{id:"n3032",loc:[-85.631942,41.941687]},n3033:{id:"n3033",loc:[-85.63203,41.941694]},n3034:{id:"n3034",loc:[-85.632166,41.941555]},n3035:{id:"n3035",loc:[-85.632412,41.941416]},n3036:{id:"n3036",loc:[-85.63248,41.941342]},n3037:{id:"n3037",loc:[-85.632502,41.941259]},n3038:{id:"n3038",loc:[-85.632453,41.941161]},n3039:{id:"n3039",loc:[-85.63235,41.941103]},n304:{id:"n304",loc:[-85.635668,41.940655]},n3040:{id:"n3040",loc:[-85.632236,41.941118]},n3041:{id:"n3041",loc:[-85.631894,41.941355]},n3042:{id:"n3042",loc:[-85.631859,41.941411]},n3043:{id:"n3043",loc:[-85.632011,41.941587]},n3044:{id:"n3044",loc:[-85.632446,41.941379]},n3045:{id:"n3045",loc:[-85.632511,41.941416]},n3046:{id:"n3046",loc:[-85.632545,41.941634]},n3047:{id:"n3047",loc:[-85.632612,41.94164]},n3048:{id:"n3048",loc:[-85.632595,41.942197]},n3049:{id:"n3049",loc:[-85.632565,41.942241]},n305:{id:"n305",loc:[-85.635628,41.940617]},n3050:{id:"n3050",loc:[-85.632515,41.942256]},n3051:{id:"n3051",loc:[-85.63245,41.94223]},n3052:{id:"n3052",loc:[-85.632401,41.942174]},n3053:{id:"n3053",loc:[-85.632391,41.942115]},n3054:{id:"n3054",loc:[-85.632029,41.941859]},n3055:{id:"n3055",loc:[-85.631828,41.941639]},n3056:{id:"n3056",loc:[-85.631829,41.941508]},n3057:{id:"n3057",loc:[-85.631281,41.94312]},n3058:{id:"n3058",loc:[-85.631421,41.943065]},n3059:{id:"n3059",loc:[-85.631339,41.942949]},n306:{id:"n306",loc:[-85.635623,41.940272]},n3060:{id:"n3060",loc:[-85.631199,41.943004]},n3061:{id:"n3061",loc:[-85.631102,41.942931]},n3062:{id:"n3062",loc:[-85.631009,41.942809]},n3063:{id:"n3063",loc:[-85.631383,41.94265]},n3064:{id:"n3064",loc:[-85.631477,41.942773]},n3065:{id:"n3065",loc:[-85.630638,41.942809]},n3066:{id:"n3066",loc:[-85.630738,41.942943]},n3067:{id:"n3067",loc:[-85.630841,41.9429]},n3068:{id:"n3068",loc:[-85.630741,41.942766]},n3069:{id:"n3069",loc:[-85.63054,41.942603]},n307:{id:"n307",loc:[-85.635651,41.940183]},n3070:{id:"n3070",loc:[-85.630498,41.942619]},n3071:{id:"n3071",loc:[-85.630567,41.942718]},n3072:{id:"n3072",loc:[-85.630616,41.942698]},n3073:{id:"n3073",loc:[-85.630642,41.94273]},n3074:{id:"n3074",loc:[-85.630686,41.942714]},n3075:{id:"n3075",loc:[-85.630715,41.942754]},n3076:{id:"n3076",loc:[-85.6309,41.942681]},n3077:{id:"n3077",loc:[-85.630843,41.942605]},n3078:{id:"n3078",loc:[-85.6309,41.942581]},n3079:{id:"n3079",loc:[-85.630832,41.942487]},n308:{id:"n308",loc:[-85.63577,41.940183],tags:{crossing:"zebra",highway:"crossing"}},n3080:{id:"n3080",loc:[-85.630773,41.942509]},n3081:{id:"n3081",loc:[-85.630718,41.942436]},n3082:{id:"n3082",loc:[-85.630485,41.942524]},n3083:{id:"n3083",loc:[-85.631468,41.941233]},n3084:{id:"n3084",loc:[-85.631334,41.94114]},n3085:{id:"n3085",loc:[-85.632052,41.940568]},n3086:{id:"n3086",loc:[-85.63219,41.940663]},n3087:{id:"n3087",loc:[-85.631323,41.940834]},n3088:{id:"n3088",loc:[-85.631122,41.941002]},n3089:{id:"n3089",loc:[-85.631321,41.941133]},n309:{id:"n309",loc:[-85.636939,41.942544]},n3090:{id:"n3090",loc:[-85.631521,41.940966]},n3091:{id:"n3091",loc:[-85.631103,41.940253]},n3092:{id:"n3092",loc:[-85.631226,41.940211]},n3093:{id:"n3093",loc:[-85.631597,41.940805]},n3094:{id:"n3094",loc:[-85.631474,41.940847]},n3095:{id:"n3095",loc:[-85.631811,41.940534]},n3096:{id:"n3096",loc:[-85.631588,41.94061]},n3097:{id:"n3097",loc:[-85.631438,41.940366]},n3098:{id:"n3098",loc:[-85.631661,41.94029]},n3099:{id:"n3099",loc:[-85.630621,41.940041]},n31:{id:"n31",loc:[-85.63827,41.944203]},n310:{id:"n310",loc:[-85.636323,41.942552]},n3100:{id:"n3100",loc:[-85.630436,41.939773]},n3101:{id:"n3101",loc:[-85.63059,41.939714]},n3102:{id:"n3102",loc:[-85.630775,41.939983]},n3103:{id:"n3103",loc:[-85.63047,41.940167]},n3104:{id:"n3104",loc:[-85.63013,41.939686]},n3105:{id:"n3105",loc:[-85.630302,41.939618]},n3106:{id:"n3106",loc:[-85.630641,41.9401]},n3107:{id:"n3107",loc:[-85.630966,41.940619]},n3108:{id:"n3108",loc:[-85.630874,41.940493]},n3109:{id:"n3109",loc:[-85.630933,41.940469]},n311:{id:"n311",loc:[-85.636257,41.942555]},n3110:{id:"n3110",loc:[-85.630763,41.940236]},n3111:{id:"n3111",loc:[-85.63088,41.940189]},n3112:{id:"n3112",loc:[-85.631142,41.940548]},n3113:{id:"n3113",loc:[-85.630958,41.940871]},n3114:{id:"n3114",loc:[-85.630874,41.940778]},n3115:{id:"n3115",loc:[-85.631062,41.940684]},n3116:{id:"n3116",loc:[-85.631146,41.940777]},n3117:{id:"n3117",loc:[-85.632031,41.940575]},n3118:{id:"n3118",loc:[-85.631777,41.940186]},n3119:{id:"n3119",loc:[-85.631346,41.940179]},n312:{id:"n312",loc:[-85.636208,41.942561]},n3120:{id:"n3120",loc:[-85.631342,41.94012]},n3121:{id:"n3121",loc:[-85.631831,41.940118]},n3122:{id:"n3122",loc:[-85.632115,41.940543]},n3123:{id:"n3123",loc:[-85.631031,41.941683]},n3124:{id:"n3124",loc:[-85.630981,41.941608]},n3125:{id:"n3125",loc:[-85.631209,41.941516]},n3126:{id:"n3126",loc:[-85.631264,41.941586]},n3127:{id:"n3127",loc:[-85.630938,41.94155]},n3128:{id:"n3128",loc:[-85.631156,41.941462]},n3129:{id:"n3129",loc:[-85.631197,41.94152]},n313:{id:"n313",loc:[-85.636159,41.942573]},n3130:{id:"n3130",loc:[-85.630895,41.941485]},n3131:{id:"n3131",loc:[-85.630824,41.941389]},n3132:{id:"n3132",loc:[-85.630986,41.941323]},n3133:{id:"n3133",loc:[-85.631057,41.941419]},n3134:{id:"n3134",loc:[-85.630777,41.941328]},n3135:{id:"n3135",loc:[-85.630907,41.941274]},n3136:{id:"n3136",loc:[-85.630953,41.941335]},n3137:{id:"n3137",loc:[-85.630797,41.941247]},n3138:{id:"n3138",loc:[-85.630701,41.94117]},n3139:{id:"n3139",loc:[-85.630829,41.941113]},n314:{id:"n314",loc:[-85.635743,41.942881]},n3140:{id:"n3140",loc:[-85.6309,41.941201]},n3141:{id:"n3141",loc:[-85.630765,41.941206]},n3142:{id:"n3142",loc:[-85.630739,41.941218]},n3143:{id:"n3143",loc:[-85.630582,41.941039]},n3144:{id:"n3144",loc:[-85.630412,41.940818]},n3145:{id:"n3145",loc:[-85.630509,41.940777]},n3146:{id:"n3146",loc:[-85.630678,41.941004]},n3147:{id:"n3147",loc:[-85.630773,41.942166]},n3148:{id:"n3148",loc:[-85.630708,41.942074]},n3149:{id:"n3149",loc:[-85.630863,41.942013]},n315:{id:"n315",loc:[-85.635452,41.942966]},n3150:{id:"n3150",loc:[-85.630928,41.942105]},n3151:{id:"n3151",loc:[-85.630701,41.942026]},n3152:{id:"n3152",loc:[-85.630665,41.941971]},n3153:{id:"n3153",loc:[-85.630793,41.941918]},n3154:{id:"n3154",loc:[-85.630837,41.94197]},n3155:{id:"n3155",loc:[-85.630757,41.941871]},n3156:{id:"n3156",loc:[-85.630629,41.941923]},n3157:{id:"n3157",loc:[-85.630694,41.941783]},n3158:{id:"n3158",loc:[-85.630534,41.941847]},n3159:{id:"n3159",loc:[-85.630598,41.941935]},n316:{id:"n316",loc:[-85.634911,41.943118]},n3160:{id:"n3160",loc:[-85.631548,41.93938]},n3161:{id:"n3161",loc:[-85.631525,41.939919]},n3162:{id:"n3162",loc:[-85.631648,41.940043]},n3163:{id:"n3163",loc:[-85.624586,41.951121]},n3164:{id:"n3164",loc:[-85.622139,41.952064]},n3165:{id:"n3165",loc:[-85.622141,41.952144]},n3166:{id:"n3166",loc:[-85.621977,41.952146]},n3167:{id:"n3167",loc:[-85.621978,41.952211]},n3168:{id:"n3168",loc:[-85.62191,41.952212]},n3169:{id:"n3169",loc:[-85.633628,41.935437]},n317:{id:"n317",loc:[-85.634743,41.943167]},n3170:{id:"n3170",loc:[-85.632849,41.935518]},n3171:{id:"n3171",loc:[-85.632376,41.93574]},n3172:{id:"n3172",loc:[-85.631517,41.935897]},n3173:{id:"n3173",loc:[-85.630433,41.936124]},n3174:{id:"n3174",loc:[-85.630207,41.936427]},n3175:{id:"n3175",loc:[-85.630346,41.936795]},n3176:{id:"n3176",loc:[-85.62996,41.936974]},n3177:{id:"n3177",loc:[-85.629916,41.937488]},n3178:{id:"n3178",loc:[-85.629946,41.937802]},n3179:{id:"n3179",loc:[-85.629977,41.937905]},n318:{id:"n318",loc:[-85.634401,41.94328]},n3180:{id:"n3180",loc:[-85.63016,41.937909]},n3181:{id:"n3181",loc:[-85.630804,41.937791]},n3182:{id:"n3182",loc:[-85.631688,41.937808]},n3183:{id:"n3183",loc:[-85.631685,41.938008]},n3184:{id:"n3184",loc:[-85.631845,41.938116]},n3185:{id:"n3185",loc:[-85.63207,41.938181]},n3186:{id:"n3186",loc:[-85.632143,41.938371]},n3187:{id:"n3187",loc:[-85.632056,41.938435]},n3188:{id:"n3188",loc:[-85.631787,41.938457]},n3189:{id:"n3189",loc:[-85.631657,41.938728]},n319:{id:"n319",loc:[-85.634345,41.943299]},n3190:{id:"n3190",loc:[-85.631595,41.93775]},n3191:{id:"n3191",loc:[-85.630264,41.937839]},n3192:{id:"n3192",loc:[-85.628591,41.948536]},n3193:{id:"n3193",loc:[-85.63205,41.951181]},n3194:{id:"n3194",loc:[-85.632034,41.949909]},n3195:{id:"n3195",loc:[-85.630841,41.951191]},n3196:{id:"n3196",loc:[-85.632083,41.9537]},n3197:{id:"n3197",loc:[-85.630929,41.959037]},n3198:{id:"n3198",loc:[-85.632151,41.959028]},n3199:{id:"n3199",loc:[-85.630911,41.957428]},n32:{id:"n32",loc:[-85.638273,41.944246]},n320:{id:"n320",loc:[-85.634287,41.943326]},n3200:{id:"n3200",loc:[-85.63213,41.957427]},n3201:{id:"n3201",loc:[-85.632072,41.952447]},n3202:{id:"n3202",loc:[-85.632095,41.954677]},n3203:{id:"n3203",loc:[-85.632111,41.955911]},n3204:{id:"n3204",loc:[-85.630855,41.952457]},n3205:{id:"n3205",loc:[-85.630869,41.953709]},n3206:{id:"n3206",loc:[-85.63088,41.954682]},n3207:{id:"n3207",loc:[-85.630894,41.955913]},n3208:{id:"n3208",loc:[-85.633214,41.948619]},n3209:{id:"n3209",loc:[-85.633253,41.951171]},n321:{id:"n321",loc:[-85.634233,41.943354]},n3210:{id:"n3210",loc:[-85.633234,41.949901]},n3211:{id:"n3211",loc:[-85.633922,41.948616]},n3212:{id:"n3212",loc:[-85.625188,41.947832]},n3213:{id:"n3213",loc:[-85.625208,41.947775]},n3214:{id:"n3214",loc:[-85.625229,41.94776]},n3215:{id:"n3215",loc:[-85.625201,41.947749]},n3216:{id:"n3216",loc:[-85.625168,41.947707]},n3217:{id:"n3217",loc:[-85.625171,41.947609]},n3218:{id:"n3218",loc:[-85.625213,41.947564]},n3219:{id:"n3219",loc:[-85.62529,41.94756]},n322:{id:"n322",loc:[-85.634099,41.943429]},n3220:{id:"n3220",loc:[-85.625303,41.947533]},n3221:{id:"n3221",loc:[-85.625344,41.947482]},n3222:{id:"n3222",loc:[-85.625442,41.947468]},n3223:{id:"n3223",loc:[-85.62565,41.947494]},n3224:{id:"n3224",loc:[-85.625726,41.947613]},n3225:{id:"n3225",loc:[-85.625703,41.947728]},n3226:{id:"n3226",loc:[-85.625534,41.94781]},n3227:{id:"n3227",loc:[-85.625391,41.947822]},n3228:{id:"n3228",loc:[-85.625304,41.947859]},n3229:{id:"n3229",loc:[-85.625203,41.947885]},n323:{id:"n323",loc:[-85.633958,41.943507],tags:{highway:"crossing"}},n3230:{id:"n3230",loc:[-85.624691,41.948659]},n3231:{id:"n3231",loc:[-85.624328,41.948661]},n3232:{id:"n3232",loc:[-85.624331,41.949046]},n3233:{id:"n3233",loc:[-85.624694,41.949045]},n3234:{id:"n3234",loc:[-85.623623,41.949606]},n3235:{id:"n3235",loc:[-85.623623,41.9497]},n3236:{id:"n3236",loc:[-85.623357,41.9497]},n3237:{id:"n3237",loc:[-85.623357,41.949614]},n3238:{id:"n3238",loc:[-85.623974,41.949429]},n3239:{id:"n3239",loc:[-85.623974,41.949605]},n324:{id:"n324",loc:[-85.633698,41.943651],tags:{railway:"crossing"}},n3240:{id:"n3240",loc:[-85.624501,41.951226]},n3241:{id:"n3241",loc:[-85.624501,41.951123]},n3242:{id:"n3242",loc:[-85.624319,41.951123]},n3243:{id:"n3243",loc:[-85.624319,41.951226]},n3244:{id:"n3244",loc:[-85.624121,41.950866]},n3245:{id:"n3245",loc:[-85.624115,41.950525]},n3246:{id:"n3246",loc:[-85.624315,41.950523]},n3247:{id:"n3247",loc:[-85.62432,41.950865]},n3248:{id:"n3248",loc:[-85.624393,41.950867]},n3249:{id:"n3249",loc:[-85.62439,41.950596]},n325:{id:"n325",loc:[-85.633508,41.943757]},n3250:{id:"n3250",loc:[-85.624673,41.950594]},n3251:{id:"n3251",loc:[-85.624675,41.95082]},n3252:{id:"n3252",loc:[-85.62451,41.950821]},n3253:{id:"n3253",loc:[-85.62451,41.950866]},n3254:{id:"n3254",loc:[-85.624101,41.949346]},n3255:{id:"n3255",loc:[-85.624244,41.949346]},n3256:{id:"n3256",loc:[-85.624244,41.949368]},n3257:{id:"n3257",loc:[-85.62434,41.949368]},n3258:{id:"n3258",loc:[-85.624342,41.949351]},n3259:{id:"n3259",loc:[-85.624725,41.949348]},n326:{id:"n326",loc:[-85.634839,41.942974]},n3260:{id:"n3260",loc:[-85.624755,41.950495]},n3261:{id:"n3261",loc:[-85.624121,41.950502]},n3262:{id:"n3262",loc:[-85.625453,41.950163]},n3263:{id:"n3263",loc:[-85.625454,41.949976]},n3264:{id:"n3264",loc:[-85.625549,41.949977]},n3265:{id:"n3265",loc:[-85.62555,41.949833]},n3266:{id:"n3266",loc:[-85.625577,41.949833]},n3267:{id:"n3267",loc:[-85.625578,41.949656]},n3268:{id:"n3268",loc:[-85.625195,41.949655]},n3269:{id:"n3269",loc:[-85.625192,41.950162]},n327:{id:"n327",loc:[-85.634657,41.943028]},n3270:{id:"n3270",loc:[-85.622992,41.949614]},n3271:{id:"n3271",loc:[-85.622991,41.949431]},n3272:{id:"n3272",loc:[-85.620103,41.951]},n3273:{id:"n3273",loc:[-85.605644,41.947468]},n3274:{id:"n3274",loc:[-85.617421,41.947457]},n3275:{id:"n3275",loc:[-85.620078,41.947444]},n3276:{id:"n3276",loc:[-85.620087,41.94924]},n3277:{id:"n3277",loc:[-85.62156,41.948333]},n3278:{id:"n3278",loc:[-85.620106,41.950132]},n3279:{id:"n3279",loc:[-85.637412,41.951136]},n328:{id:"n328",loc:[-85.634222,41.943152]},n3280:{id:"n3280",loc:[-85.635429,41.948608]},n3281:{id:"n3281",loc:[-85.635047,41.947788]},n3282:{id:"n3282",loc:[-85.635048,41.947796]},n3283:{id:"n3283",loc:[-85.635002,41.947797]},n3284:{id:"n3284",loc:[-85.635002,41.947788]},n3285:{id:"n3285",loc:[-85.634914,41.94779]},n3286:{id:"n3286",loc:[-85.634913,41.947753]},n3287:{id:"n3287",loc:[-85.63494,41.947753]},n3288:{id:"n3288",loc:[-85.634938,41.947708]},n3289:{id:"n3289",loc:[-85.635124,41.947705]},n329:{id:"n329",loc:[-85.634099,41.943202]},n3290:{id:"n3290",loc:[-85.635126,41.947787]},n3291:{id:"n3291",loc:[-85.634972,41.947599]},n3292:{id:"n3292",loc:[-85.634921,41.9476]},n3293:{id:"n3293",loc:[-85.63485,41.947546]},n3294:{id:"n3294",loc:[-85.63485,41.947508]},n3295:{id:"n3295",loc:[-85.634924,41.947457]},n3296:{id:"n3296",loc:[-85.634967,41.947456]},n3297:{id:"n3297",loc:[-85.635041,41.947512]},n3298:{id:"n3298",loc:[-85.635041,41.947542]},n3299:{id:"n3299",loc:[-85.634244,41.947839]},n33:{id:"n33",loc:[-85.638257,41.944188]},n330:{id:"n330",loc:[-85.634093,41.943138]},n3300:{id:"n3300",loc:[-85.634243,41.947793]},n3301:{id:"n3301",loc:[-85.634244,41.947686]},n3302:{id:"n3302",loc:[-85.634243,41.947657]},n3303:{id:"n3303",loc:[-85.634462,41.947653]},n3304:{id:"n3304",loc:[-85.634468,41.947835]},n3305:{id:"n3305",loc:[-85.634416,41.948006]},n3306:{id:"n3306",loc:[-85.634415,41.947898]},n3307:{id:"n3307",loc:[-85.634275,41.947899]},n3308:{id:"n3308",loc:[-85.634275,41.947927]},n3309:{id:"n3309",loc:[-85.63425,41.947927]},n331:{id:"n331",loc:[-85.633938,41.943291]},n3310:{id:"n3310",loc:[-85.63425,41.947976]},n3311:{id:"n3311",loc:[-85.634274,41.947976]},n3312:{id:"n3312",loc:[-85.634275,41.948007]},n3313:{id:"n3313",loc:[-85.634342,41.947635]},n3314:{id:"n3314",loc:[-85.634339,41.947497]},n3315:{id:"n3315",loc:[-85.634313,41.94748]},n3316:{id:"n3316",loc:[-85.634287,41.947474]},n3317:{id:"n3317",loc:[-85.63498,41.94815]},n3318:{id:"n3318",loc:[-85.634891,41.94815]},n3319:{id:"n3319",loc:[-85.634892,41.948169]},n332:{id:"n332",loc:[-85.633535,41.943511],tags:{railway:"crossing"}},n3320:{id:"n3320",loc:[-85.634852,41.948169]},n3321:{id:"n3321",loc:[-85.634853,41.948268]},n3322:{id:"n3322",loc:[-85.634832,41.948268]},n3323:{id:"n3323",loc:[-85.634832,41.948296]},n3324:{id:"n3324",loc:[-85.634965,41.948295]},n3325:{id:"n3325",loc:[-85.634966,41.948321]},n3326:{id:"n3326",loc:[-85.634999,41.948321]},n3327:{id:"n3327",loc:[-85.634999,41.948295]},n3328:{id:"n3328",loc:[-85.635175,41.948293]},n3329:{id:"n3329",loc:[-85.635175,41.948262]},n333:{id:"n333",loc:[-85.63339,41.943596]},n3330:{id:"n3330",loc:[-85.635159,41.948262]},n3331:{id:"n3331",loc:[-85.635158,41.948152]},n3332:{id:"n3332",loc:[-85.635067,41.948152]},n3333:{id:"n3333",loc:[-85.635065,41.947966]},n3334:{id:"n3334",loc:[-85.634979,41.947966]},n3335:{id:"n3335",loc:[-85.634307,41.948326]},n3336:{id:"n3336",loc:[-85.634305,41.948298]},n3337:{id:"n3337",loc:[-85.634331,41.948055]},n3338:{id:"n3338",loc:[-85.634331,41.948046]},n3339:{id:"n3339",loc:[-85.634435,41.948047]},n334:{id:"n334",loc:[-85.632842,41.943895]},n3340:{id:"n3340",loc:[-85.634434,41.948375]},n3341:{id:"n3341",loc:[-85.634463,41.948373]},n3342:{id:"n3342",loc:[-85.634464,41.948456]},n3343:{id:"n3343",loc:[-85.63443,41.948457]},n3344:{id:"n3344",loc:[-85.634432,41.948505]},n3345:{id:"n3345",loc:[-85.637386,41.94906]},n3346:{id:"n3346",loc:[-85.637113,41.9486]},n3347:{id:"n3347",loc:[-85.635448,41.949424]},n335:{id:"n335",loc:[-85.633856,41.943315]},n3352:{id:"n3352",loc:[-85.635457,41.949787]},n3353:{id:"n3353",loc:[-85.635459,41.949886]},n336:{id:"n336",loc:[-85.633697,41.943405]},n337:{id:"n337",loc:[-85.63347,41.943181]},n3372:{id:"n3372",loc:[-85.634423,41.950964]},n3373:{id:"n3373",loc:[-85.634424,41.95074]},n3374:{id:"n3374",loc:[-85.634394,41.950284]},n3375:{id:"n3375",loc:[-85.634398,41.950626]},n3376:{id:"n3376",loc:[-85.63452,41.951063]},n3377:{id:"n3377",loc:[-85.634511,41.949977]},n3378:{id:"n3378",loc:[-85.637409,41.949873]},n3379:{id:"n3379",loc:[-85.634824,41.94996]},n338:{id:"n338",loc:[-85.633597,41.943109]},n3380:{id:"n3380",loc:[-85.635437,41.949954]},n3381:{id:"n3381",loc:[-85.634844,41.951064]},n3382:{id:"n3382",loc:[-85.635458,41.951058]},n3383:{id:"n3383",loc:[-85.633921,41.947333]},n3384:{id:"n3384",loc:[-85.634208,41.947793]},n3385:{id:"n3385",loc:[-85.634204,41.947687]},n3386:{id:"n3386",loc:[-85.63424,41.947475]},n3387:{id:"n3387",loc:[-85.63424,41.947635]},n3388:{id:"n3388",loc:[-85.634089,41.948328]},n3389:{id:"n3389",loc:[-85.63424,41.948299]},n339:{id:"n339",loc:[-85.633673,41.943184]},n3390:{id:"n3390",loc:[-85.634239,41.948212]},n3391:{id:"n3391",loc:[-85.634086,41.948214]},n3392:{id:"n3392",loc:[-85.63408,41.948056]},n3393:{id:"n3393",loc:[-85.634093,41.948506]},n3394:{id:"n3394",loc:[-85.64344,41.941866]},n3395:{id:"n3395",loc:[-85.63378,41.95099]},n3396:{id:"n3396",loc:[-85.633779,41.950967]},n3397:{id:"n3397",loc:[-85.63375,41.950746]},n3398:{id:"n3398",loc:[-85.63375,41.950697]},n3399:{id:"n3399",loc:[-85.633903,41.950696]},n34:{id:"n34",loc:[-85.638176,41.944312]},n340:{id:"n340",loc:[-85.633714,41.94316]},n3400:{id:"n3400",loc:[-85.633901,41.950436]},n3401:{id:"n3401",loc:[-85.633492,41.950438]},n3402:{id:"n3402",loc:[-85.633494,41.950756]},n3403:{id:"n3403",loc:[-85.633454,41.950756]},n3404:{id:"n3404",loc:[-85.633456,41.950992]},n3405:{id:"n3405",loc:[-85.633994,41.950284]},n3406:{id:"n3406",loc:[-85.633998,41.950628]},n3407:{id:"n3407",loc:[-85.633364,41.951068]},n3408:{id:"n3408",loc:[-85.633356,41.949982]},n3409:{id:"n3409",loc:[-85.643327,41.941903]},n341:{id:"n341",loc:[-85.633811,41.943256]},n3410:{id:"n3410",loc:[-85.633292,41.953691]},n3411:{id:"n3411",loc:[-85.637432,41.952399]},n3412:{id:"n3412",loc:[-85.633349,41.957422]},n3413:{id:"n3413",loc:[-85.633326,41.955909]},n3414:{id:"n3414",loc:[-85.633307,41.954673]},n3415:{id:"n3415",loc:[-85.633273,41.952436]},n3416:{id:"n3416",loc:[-85.633361,41.95823],tags:{highway:"turning_circle"}},n3417:{id:"n3417",loc:[-85.619899,41.945527]},n3418:{id:"n3418",loc:[-85.643422,41.941946]},n3419:{id:"n3419",loc:[-85.643505,41.942033]},n342:{id:"n342",loc:[-85.633801,41.943261]},n3420:{id:"n3420",loc:[-85.620088,41.945571]},n3421:{id:"n3421",loc:[-85.620051,41.945505]},n3422:{id:"n3422",loc:[-85.62001,41.94541]},n3423:{id:"n3423",loc:[-85.620982,41.944742]},n3424:{id:"n3424",loc:[-85.621305,41.944782]},n3425:{id:"n3425",loc:[-85.621174,41.944819]},n3426:{id:"n3426",loc:[-85.621029,41.944871]},n3427:{id:"n3427",loc:[-85.620741,41.945011]},n3428:{id:"n3428",loc:[-85.620616,41.945085]},n3429:{id:"n3429",loc:[-85.620506,41.945172]},n343:{id:"n343",loc:[-85.63374,41.943514]},n3430:{id:"n3430",loc:[-85.620394,41.945273]},n3431:{id:"n3431",loc:[-85.620316,41.94536]},n3432:{id:"n3432",loc:[-85.620257,41.945452]},n3433:{id:"n3433",loc:[-85.620212,41.945535]},n3434:{id:"n3434",loc:[-85.620101,41.945811]},n3435:{id:"n3435",loc:[-85.620081,41.945937]},n3436:{id:"n3436",loc:[-85.619899,41.943718]},n3437:{id:"n3437",loc:[-85.619969,41.943211]},n3438:{id:"n3438",loc:[-85.619894,41.943292]},n3439:{id:"n3439",loc:[-85.620047,41.944738]},n344:{id:"n344",loc:[-85.633665,41.943441]},n3440:{id:"n3440",loc:[-85.620226,41.946088]},n3441:{id:"n3441",loc:[-85.620225,41.945864]},n3442:{id:"n3442",loc:[-85.620518,41.945863]},n3443:{id:"n3443",loc:[-85.620519,41.945944]},n3444:{id:"n3444",loc:[-85.620388,41.945944]},n3445:{id:"n3445",loc:[-85.620389,41.946088]},n3446:{id:"n3446",loc:[-85.618405,41.946566]},n3447:{id:"n3447",loc:[-85.619156,41.946562]},n3448:{id:"n3448",loc:[-85.619154,41.946319]},n3449:{id:"n3449",loc:[-85.618736,41.946322]},n345:{id:"n345",loc:[-85.633162,41.942947]},n3450:{id:"n3450",loc:[-85.618733,41.94612]},n3451:{id:"n3451",loc:[-85.619317,41.946116]},n3452:{id:"n3452",loc:[-85.619316,41.946023]},n3453:{id:"n3453",loc:[-85.619622,41.946021]},n3454:{id:"n3454",loc:[-85.619624,41.946171]},n3455:{id:"n3455",loc:[-85.61977,41.94617]},n3456:{id:"n3456",loc:[-85.619769,41.94602]},n3457:{id:"n3457",loc:[-85.619732,41.94602]},n3458:{id:"n3458",loc:[-85.619731,41.945856]},n3459:{id:"n3459",loc:[-85.619617,41.945857]},n346:{id:"n346",loc:[-85.633598,41.943083]},n3460:{id:"n3460",loc:[-85.619616,41.945776]},n3461:{id:"n3461",loc:[-85.619447,41.945777]},n3462:{id:"n3462",loc:[-85.619415,41.945778]},n3463:{id:"n3463",loc:[-85.618378,41.945788]},n3464:{id:"n3464",loc:[-85.618384,41.946132]},n3465:{id:"n3465",loc:[-85.618503,41.94613]},n3466:{id:"n3466",loc:[-85.618506,41.946319]},n3467:{id:"n3467",loc:[-85.6184,41.94632]},n3468:{id:"n3468",loc:[-85.618248,41.946416]},n3469:{id:"n3469",loc:[-85.618247,41.946319]},n347:{id:"n347",loc:[-85.63343,41.943179]},n3470:{id:"n3470",loc:[-85.618039,41.946321]},n3471:{id:"n3471",loc:[-85.61804,41.946418]},n3472:{id:"n3472",loc:[-85.620118,41.951895]},n3473:{id:"n3473",loc:[-85.617075,41.95469]},n3474:{id:"n3474",loc:[-85.620107,41.952113]},n3475:{id:"n3475",loc:[-85.620091,41.95232]},n3476:{id:"n3476",loc:[-85.620047,41.952505]},n3477:{id:"n3477",loc:[-85.61998,41.952715]},n3478:{id:"n3478",loc:[-85.619861,41.952986]},n3479:{id:"n3479",loc:[-85.619622,41.953365]},n348:{id:"n348",loc:[-85.633669,41.94341]},n3480:{id:"n3480",loc:[-85.619441,41.953567]},n3481:{id:"n3481",loc:[-85.619259,41.953741]},n3482:{id:"n3482",loc:[-85.618835,41.954056]},n3483:{id:"n3483",loc:[-85.618602,41.954194]},n3484:{id:"n3484",loc:[-85.618305,41.954347]},n3485:{id:"n3485",loc:[-85.618006,41.954466]},n3486:{id:"n3486",loc:[-85.617611,41.954587]},n3487:{id:"n3487",loc:[-85.615094,41.943412]},n3488:{id:"n3488",loc:[-85.619337,41.943025]},n3489:{id:"n3489",loc:[-85.610477,41.945527]},n349:{id:"n349",loc:[-85.633566,41.943466]},n3490:{id:"n3490",loc:[-85.610477,41.943718]},n3491:{id:"n3491",loc:[-85.619804,41.942976]},n3492:{id:"n3492",loc:[-85.61921,41.942672]},n3493:{id:"n3493",loc:[-85.619862,41.942836]},n3494:{id:"n3494",loc:[-85.616326,41.942769]},n3495:{id:"n3495",loc:[-85.617953,41.942917]},n3496:{id:"n3496",loc:[-85.61972,41.942728]},n3497:{id:"n3497",loc:[-85.61944,41.942784]},n3498:{id:"n3498",loc:[-85.615323,41.942841]},n3499:{id:"n3499",loc:[-85.612923,41.943718]},n35:{id:"n35",loc:[-85.637928,41.944249]},n350:{id:"n350",loc:[-85.633031,41.942986]},n3500:{id:"n3500",loc:[-85.61958,41.942756]},n3501:{id:"n3501",loc:[-85.619643,41.942647],tags:{leisure:"fishing"}},n3502:{id:"n3502",loc:[-85.619935,41.942962]},n3503:{id:"n3503",loc:[-85.629677,41.954687]},n3504:{id:"n3504",loc:[-85.629083,41.953722]},n3505:{id:"n3505",loc:[-85.621907,41.952067]},n3506:{id:"n3506",loc:[-85.621788,41.952058]},n3507:{id:"n3507",loc:[-85.629665,41.953718]},n3508:{id:"n3508",loc:[-85.624454,41.954707]},n3509:{id:"n3509",loc:[-85.634609,41.954585]},n351:{id:"n351",loc:[-85.633238,41.94283]},n3510:{id:"n3510",loc:[-85.634595,41.953772]},n3511:{id:"n3511",loc:[-85.633425,41.953783]},n3512:{id:"n3512",loc:[-85.633439,41.954596]},n3517:{id:"n3517",loc:[-85.621789,41.952179]},n3518:{id:"n3518",loc:[-85.624105,41.954704]},n3519:{id:"n3519",loc:[-85.623306,41.954542]},n352:{id:"n352",loc:[-85.633173,41.943556]},n3520:{id:"n3520",loc:[-85.623123,41.954502]},n3521:{id:"n3521",loc:[-85.622965,41.954473]},n3522:{id:"n3522",loc:[-85.622822,41.954455]},n3523:{id:"n3523",loc:[-85.62269,41.954448]},n3524:{id:"n3524",loc:[-85.622388,41.954467]},n3525:{id:"n3525",loc:[-85.62403,41.954895]},n3526:{id:"n3526",loc:[-85.623579,41.954855]},n3527:{id:"n3527",loc:[-85.623836,41.954951]},n3528:{id:"n3528",loc:[-85.622473,41.954592]},n3529:{id:"n3529",loc:[-85.622753,41.95458]},n353:{id:"n353",loc:[-85.633127,41.943552]},n3530:{id:"n3530",loc:[-85.62404,41.955078]},n3531:{id:"n3531",loc:[-85.624126,41.954999]},n3532:{id:"n3532",loc:[-85.623171,41.954687]},n3533:{id:"n3533",loc:[-85.624276,41.955206]},n3534:{id:"n3534",loc:[-85.62491,41.952801]},n3535:{id:"n3535",loc:[-85.625186,41.952756]},n3536:{id:"n3536",loc:[-85.625552,41.952792]},n3537:{id:"n3537",loc:[-85.626001,41.952948]},n3538:{id:"n3538",loc:[-85.626528,41.952984]},n3539:{id:"n3539",loc:[-85.626942,41.952886]},n354:{id:"n354",loc:[-85.632745,41.943222]},n3540:{id:"n3540",loc:[-85.627092,41.952685]},n3541:{id:"n3541",loc:[-85.627212,41.95244]},n3542:{id:"n3542",loc:[-85.627158,41.952226]},n3543:{id:"n3543",loc:[-85.627002,41.951972]},n3544:{id:"n3544",loc:[-85.626822,41.951838]},n3545:{id:"n3545",loc:[-85.626528,41.951807]},n3546:{id:"n3546",loc:[-85.625653,41.951852]},n3547:{id:"n3547",loc:[-85.625348,41.951834]},n3548:{id:"n3548",loc:[-85.625114,41.951767]},n3549:{id:"n3549",loc:[-85.620627,41.954682]},n355:{id:"n355",loc:[-85.632756,41.943199]},n3550:{id:"n3550",loc:[-85.622758,41.951884]},n3551:{id:"n3551",loc:[-85.618135,41.954734]},n3552:{id:"n3552",loc:[-85.620229,41.95472]},n3553:{id:"n3553",loc:[-85.624491,41.955573]},n3554:{id:"n3554",loc:[-85.621792,41.958314]},n3555:{id:"n3555",loc:[-85.623395,41.960001]},n3556:{id:"n3556",loc:[-85.620461,41.956212]},n3557:{id:"n3557",loc:[-85.62109,41.956766]},n3558:{id:"n3558",loc:[-85.620246,41.956224]},n3559:{id:"n3559",loc:[-85.625017,41.956068]},n356:{id:"n356",loc:[-85.632855,41.943147]},n3560:{id:"n3560",loc:[-85.622795,41.959702]},n3561:{id:"n3561",loc:[-85.621573,41.958457]},n3562:{id:"n3562",loc:[-85.619631,41.9573]},n3563:{id:"n3563",loc:[-85.62095,41.956311]},n3564:{id:"n3564",loc:[-85.619694,41.957408]},n3565:{id:"n3565",loc:[-85.621079,41.957751]},n3566:{id:"n3566",loc:[-85.622426,41.961142]},n3567:{id:"n3567",loc:[-85.623251,41.960484]},n3568:{id:"n3568",loc:[-85.619084,41.956291]},n3569:{id:"n3569",loc:[-85.622227,41.959303]},n357:{id:"n357",loc:[-85.632888,41.94315]},n3570:{id:"n3570",loc:[-85.620976,41.959104]},n3571:{id:"n3571",loc:[-85.621208,41.95653]},n3572:{id:"n3572",loc:[-85.623531,41.95951]},n3573:{id:"n3573",loc:[-85.623556,41.957935]},n3574:{id:"n3574",loc:[-85.623037,41.95746]},n3575:{id:"n3575",loc:[-85.621175,41.956427]},n3576:{id:"n3576",loc:[-85.622651,41.960109]},n3577:{id:"n3577",loc:[-85.621803,41.960747]},n3578:{id:"n3578",loc:[-85.620791,41.961874]},n3579:{id:"n3579",loc:[-85.625295,41.956786]},n358:{id:"n358",loc:[-85.633232,41.943547]},n3580:{id:"n3580",loc:[-85.619662,41.956894]},n3581:{id:"n3581",loc:[-85.622442,41.958708]},n3582:{id:"n3582",loc:[-85.621744,41.955864]},n3583:{id:"n3583",loc:[-85.621336,41.959212]},n3584:{id:"n3584",loc:[-85.622801,41.957304]},n3585:{id:"n3585",loc:[-85.619973,41.957433]},n3586:{id:"n3586",loc:[-85.619556,41.955717]},n3587:{id:"n3587",loc:[-85.622978,41.958601]},n3588:{id:"n3588",loc:[-85.625396,41.956264]},n3589:{id:"n3589",loc:[-85.623525,41.958034]},n359:{id:"n359",loc:[-85.633302,41.94351]},n3590:{id:"n3590",loc:[-85.623299,41.959631]},n3591:{id:"n3591",loc:[-85.622678,41.959873]},n3592:{id:"n3592",loc:[-85.625553,41.956179]},n3593:{id:"n3593",loc:[-85.623557,41.959231]},n3594:{id:"n3594",loc:[-85.622843,41.957373]},n3595:{id:"n3595",loc:[-85.619378,41.955677]},n3596:{id:"n3596",loc:[-85.620092,41.955425]},n3597:{id:"n3597",loc:[-85.622666,41.96044]},n3598:{id:"n3598",loc:[-85.621996,41.960256]},n3599:{id:"n3599",loc:[-85.623273,41.959997]},n36:{id:"n36",loc:[-85.637894,41.945551]},n360:{id:"n360",loc:[-85.633442,41.943794],tags:{highway:"crossing"}},n3600:{id:"n3600",loc:[-85.62477,41.95689]},n3601:{id:"n3601",loc:[-85.621641,41.955015]},n3602:{id:"n3602",loc:[-85.622495,41.960392]},n3603:{id:"n3603",loc:[-85.61918,41.955565]},n3604:{id:"n3604",loc:[-85.620017,41.955505]},n3605:{id:"n3605",loc:[-85.621739,41.956315]},n3606:{id:"n3606",loc:[-85.622957,41.959837]},n3607:{id:"n3607",loc:[-85.620912,41.960919]},n3608:{id:"n3608",loc:[-85.625231,41.956235]},n3609:{id:"n3609",loc:[-85.620976,41.961868]},n361:{id:"n361",loc:[-85.633381,41.94383]},n3610:{id:"n3610",loc:[-85.620956,41.958908]},n3611:{id:"n3611",loc:[-85.619035,41.956139]},n3612:{id:"n3612",loc:[-85.623643,41.958669]},n3613:{id:"n3613",loc:[-85.61949,41.956539]},n3614:{id:"n3614",loc:[-85.621927,41.958242]},n3615:{id:"n3615",loc:[-85.620826,41.955721]},n3616:{id:"n3616",loc:[-85.621202,41.961321]},n3617:{id:"n3617",loc:[-85.624877,41.95594]},n3618:{id:"n3618",loc:[-85.62065,41.958369]},n3619:{id:"n3619",loc:[-85.621524,41.956279]},n362:{id:"n362",loc:[-85.632977,41.944053]},n3620:{id:"n3620",loc:[-85.624662,41.955932]},n3621:{id:"n3621",loc:[-85.623048,41.958509]},n3622:{id:"n3622",loc:[-85.62111,41.95754]},n3623:{id:"n3623",loc:[-85.621508,41.954847]},n3624:{id:"n3624",loc:[-85.620655,41.958601]},n3625:{id:"n3625",loc:[-85.62154,41.954971]},n3626:{id:"n3626",loc:[-85.621691,41.955521]},n3627:{id:"n3627",loc:[-85.62154,41.954739]},n3628:{id:"n3628",loc:[-85.621996,41.959913]},n3629:{id:"n3629",loc:[-85.622286,41.960699]},n363:{id:"n363",loc:[-85.632915,41.943981],tags:{crossing:"zebra",highway:"crossing"}},n3630:{id:"n3630",loc:[-85.622844,41.9572]},n3631:{id:"n3631",loc:[-85.620252,41.955446]},n3632:{id:"n3632",loc:[-85.623434,41.957528]},n3633:{id:"n3633",loc:[-85.623429,41.956858]},n3634:{id:"n3634",loc:[-85.622957,41.957137]},n3635:{id:"n3635",loc:[-85.622554,41.959027]},n3636:{id:"n3636",loc:[-85.623289,41.958314]},n3637:{id:"n3637",loc:[-85.622977,41.960855]},n3638:{id:"n3638",loc:[-85.624008,41.956953]},n3639:{id:"n3639",loc:[-85.621278,41.960855]},n364:{id:"n364",loc:[-85.632724,41.943969],tags:{crossing:"zebra",highway:"crossing"}},n3640:{id:"n3640",loc:[-85.623128,41.956993]},n3641:{id:"n3641",loc:[-85.622452,41.959183]},n3642:{id:"n3642",loc:[-85.621095,41.961082]},n3643:{id:"n3643",loc:[-85.622011,41.960544]},n3644:{id:"n3644",loc:[-85.621637,41.955385]},n3645:{id:"n3645",loc:[-85.620999,41.959271]},n3646:{id:"n3646",loc:[-85.620044,41.956347]},n3647:{id:"n3647",loc:[-85.621936,41.959682]},n3648:{id:"n3648",loc:[-85.623761,41.95685]},n3649:{id:"n3649",loc:[-85.621239,41.959343]},n365:{id:"n365",loc:[-85.632621,41.944034]},n3650:{id:"n3650",loc:[-85.621073,41.956012]},n3651:{id:"n3651",loc:[-85.621271,41.956184]},n3652:{id:"n3652",loc:[-85.623444,41.95778]},n3653:{id:"n3653",loc:[-85.62125,41.96186]},n3654:{id:"n3654",loc:[-85.62169,41.961059]},n3655:{id:"n3655",loc:[-85.620012,41.955637]},n3656:{id:"n3656",loc:[-85.621058,41.9573]},n3657:{id:"n3657",loc:[-85.621138,41.957663]},n3658:{id:"n3658",loc:[-85.620773,41.957895]},n3659:{id:"n3659",loc:[-85.62007,41.957157]},n366:{id:"n366",loc:[-85.632684,41.944109],tags:{crossing:"zebra",highway:"crossing"}},n3660:{id:"n3660",loc:[-85.624534,41.955844]},n3661:{id:"n3661",loc:[-85.621932,41.960807]},n3662:{id:"n3662",loc:[-85.623358,41.958138]},n3663:{id:"n3663",loc:[-85.620456,41.955514]},n3664:{id:"n3664",loc:[-85.623504,41.957607]},n3665:{id:"n3665",loc:[-85.621444,41.960751]},n3666:{id:"n3666",loc:[-85.623492,41.960213]},n3667:{id:"n3667",loc:[-85.621669,41.954655]},n3668:{id:"n3668",loc:[-85.623106,41.958685]},n3669:{id:"n3669",loc:[-85.620922,41.957867]},n367:{id:"n367",loc:[-85.632738,41.944172]},n3670:{id:"n3670",loc:[-85.620092,41.957296]},n3671:{id:"n3671",loc:[-85.621669,41.955222]},n3672:{id:"n3672",loc:[-85.621614,41.960967]},n3673:{id:"n3673",loc:[-85.621691,41.955732]},n3674:{id:"n3674",loc:[-85.619207,41.956419]},n3675:{id:"n3675",loc:[-85.621116,41.956603]},n3676:{id:"n3676",loc:[-85.623311,41.956929]},n3677:{id:"n3677",loc:[-85.625671,41.956499]},n3678:{id:"n3678",loc:[-85.623525,41.956738]},n3679:{id:"n3679",loc:[-85.625381,41.956634]},n368:{id:"n368",loc:[-85.63287,41.944135],tags:{crossing:"zebra",highway:"crossing"}},n3680:{id:"n3680",loc:[-85.620096,41.95677]},n3681:{id:"n3681",loc:[-85.623803,41.958745]},n3682:{id:"n3682",loc:[-85.623498,41.958457]},n3683:{id:"n3683",loc:[-85.624223,41.957009]},n3684:{id:"n3684",loc:[-85.620026,41.956946]},n3685:{id:"n3685",loc:[-85.623005,41.960124]},n3686:{id:"n3686",loc:[-85.619073,41.955832]},n3687:{id:"n3687",loc:[-85.621744,41.95501]},n3688:{id:"n3688",loc:[-85.620804,41.958781]},n3689:{id:"n3689",loc:[-85.619844,41.957448]},n369:{id:"n369",loc:[-85.63298,41.944076]},n3690:{id:"n3690",loc:[-85.623713,41.958872]},n3691:{id:"n3691",loc:[-85.622329,41.960507]},n3692:{id:"n3692",loc:[-85.620804,41.956244]},n3693:{id:"n3693",loc:[-85.621818,41.955968]},n3694:{id:"n3694",loc:[-85.621405,41.958697]},n3695:{id:"n3695",loc:[-85.620998,41.960996]},n3696:{id:"n3696",loc:[-85.621621,41.960444]},n3697:{id:"n3697",loc:[-85.620941,41.961637]},n3698:{id:"n3698",loc:[-85.622195,41.958333]},n3699:{id:"n3699",loc:[-85.621668,41.961529]},n37:{id:"n37",loc:[-85.637611,41.945383]},n370:{id:"n370",loc:[-85.633191,41.944471]},n3700:{id:"n3700",loc:[-85.621015,41.957049]},n3701:{id:"n3701",loc:[-85.619368,41.955521]},n3702:{id:"n3702",loc:[-85.651578,41.942534]},n3703:{id:"n3703",loc:[-85.651541,41.943847]},n3704:{id:"n3704",loc:[-85.651365,41.944817]},n3705:{id:"n3705",loc:[-85.651076,41.945985]},n3706:{id:"n3706",loc:[-85.650626,41.947213]},n3707:{id:"n3707",loc:[-85.649669,41.949161]},n3708:{id:"n3708",loc:[-85.641802,41.961801]},n3709:{id:"n3709",loc:[-85.623333,41.961987]},n371:{id:"n371",loc:[-85.633132,41.94372]},n3710:{id:"n3710",loc:[-85.620621,41.965658]},n3711:{id:"n3711",loc:[-85.605673,41.965764]},n3712:{id:"n3712",loc:[-85.605664,41.962094]},n3713:{id:"n3713",loc:[-85.583774,41.962178]},n3714:{id:"n3714",loc:[-85.583774,41.961789]},n3715:{id:"n3715",loc:[-85.581303,41.961783]},n3716:{id:"n3716",loc:[-85.581245,41.958394]},n3717:{id:"n3717",loc:[-85.585299,41.955483]},n3718:{id:"n3718",loc:[-85.585588,41.955331]},n3719:{id:"n3719",loc:[-85.586053,41.955163]},n372:{id:"n372",loc:[-85.633011,41.943788]},n3720:{id:"n3720",loc:[-85.58632,41.955076]},n3721:{id:"n3721",loc:[-85.586478,41.955025]},n3722:{id:"n3722",loc:[-85.58692,41.954947]},n3723:{id:"n3723",loc:[-85.587345,41.954913]},n3724:{id:"n3724",loc:[-85.605592,41.954766]},n3725:{id:"n3725",loc:[-85.605303,41.936236]},n3726:{id:"n3726",loc:[-85.606941,41.936117]},n3727:{id:"n3727",loc:[-85.60876,41.935856]},n3728:{id:"n3728",loc:[-85.610092,41.935451]},n3729:{id:"n3729",loc:[-85.610681,41.935247]},n373:{id:"n373",loc:[-85.632854,41.943632]},n3730:{id:"n3730",loc:[-85.611446,41.934955]},n3731:{id:"n3731",loc:[-85.612057,41.934696]},n3732:{id:"n3732",loc:[-85.613256,41.934084]},n3733:{id:"n3733",loc:[-85.613948,41.933682]},n3734:{id:"n3734",loc:[-85.614638,41.933212]},n3735:{id:"n3735",loc:[-85.619801,41.929305]},n3736:{id:"n3736",loc:[-85.619768,41.925548]},n3737:{id:"n3737",loc:[-85.625761,41.925597]},n3738:{id:"n3738",loc:[-85.6263,41.927323]},n3739:{id:"n3739",loc:[-85.633708,41.927402]},n374:{id:"n374",loc:[-85.632974,41.943565]},n3740:{id:"n3740",loc:[-85.633927,41.929109]},n3741:{id:"n3741",loc:[-85.639213,41.929088]},n3742:{id:"n3742",loc:[-85.639204,41.925488]},n3743:{id:"n3743",loc:[-85.651425,41.925406]},n3744:{id:"n3744",loc:[-85.643386,41.941933]},n3745:{id:"n3745",loc:[-85.642776,41.941161]},n3746:{id:"n3746",loc:[-85.637277,41.948812]},n3747:{id:"n3747",loc:[-85.637366,41.94897]},n3748:{id:"n3748",loc:[-85.637329,41.94889]},n3749:{id:"n3749",loc:[-85.629649,41.952596]},n375:{id:"n375",loc:[-85.632741,41.943351]},n3750:{id:"n3750",loc:[-85.630291,41.954684]},n3751:{id:"n3751",loc:[-85.630284,41.953713]},n3752:{id:"n3752",loc:[-85.630269,41.952463]},n3753:{id:"n3753",loc:[-85.633933,41.949896]},n3754:{id:"n3754",loc:[-85.629339,41.941467]},n3755:{id:"n3755",loc:[-85.629857,41.94316]},n3756:{id:"n3756",loc:[-85.629987,41.944025]},n3757:{id:"n3757",loc:[-85.628538,41.948604]},n3758:{id:"n3758",loc:[-85.627415,41.957442]},n3759:{id:"n3759",loc:[-85.627019,41.957369]},n376:{id:"n376",loc:[-85.63251,41.943481]},n3760:{id:"n3760",loc:[-85.62167,41.952179]},n3761:{id:"n3761",loc:[-85.62167,41.952138]},n3762:{id:"n3762",loc:[-85.621562,41.952139]},n3763:{id:"n3763",loc:[-85.621562,41.952058]},n3764:{id:"n3764",loc:[-85.621476,41.952043]},n3765:{id:"n3765",loc:[-85.621477,41.952132]},n3766:{id:"n3766",loc:[-85.621386,41.952132]},n3767:{id:"n3767",loc:[-85.621387,41.95214]},n3768:{id:"n3768",loc:[-85.621262,41.95214]},n3769:{id:"n3769",loc:[-85.621261,41.952038]},n377:{id:"n377",loc:[-85.632706,41.943715]},n3770:{id:"n3770",loc:[-85.621389,41.952038]},n3771:{id:"n3771",loc:[-85.621389,41.952043]},n3772:{id:"n3772",loc:[-85.620898,41.952024]},n3773:{id:"n3773",loc:[-85.620898,41.952085]},n3774:{id:"n3774",loc:[-85.620774,41.952084]},n3775:{id:"n3775",loc:[-85.620774,41.952023]},n3776:{id:"n3776",loc:[-85.620749,41.952036]},n3777:{id:"n3777",loc:[-85.620723,41.952097]},n3778:{id:"n3778",loc:[-85.626158,41.958996]},n3779:{id:"n3779",loc:[-85.626319,41.958686]},n378:{id:"n378",loc:[-85.638683,41.943295]},n3780:{id:"n3780",loc:[-85.626119,41.958629]},n3781:{id:"n3781",loc:[-85.626064,41.958733]},n3782:{id:"n3782",loc:[-85.626155,41.958759]},n3783:{id:"n3783",loc:[-85.626048,41.958965]},n3784:{id:"n3784",loc:[-85.620648,41.952079]},n3785:{id:"n3785",loc:[-85.63826,41.961213]},n3786:{id:"n3786",loc:[-85.638003,41.961614]},n3787:{id:"n3787",loc:[-85.638817,41.961902]},n3788:{id:"n3788",loc:[-85.639073,41.961501]},n3789:{id:"n3789",loc:[-85.620674,41.952018]},n379:{id:"n379",loc:[-85.638684,41.94323]},n3790:{id:"n3790",loc:[-85.62082,41.952106]},n3791:{id:"n3791",loc:[-85.620819,41.952143]},n3792:{id:"n3792",loc:[-85.620778,41.952143]},n3793:{id:"n3793",loc:[-85.620778,41.952106]},n3794:{id:"n3794",loc:[-85.620563,41.952276]},n3795:{id:"n3795",loc:[-85.620543,41.95238]},n3796:{id:"n3796",loc:[-85.620422,41.952367]},n3797:{id:"n3797",loc:[-85.620441,41.952263]},n3798:{id:"n3798",loc:[-85.620561,41.952266]},n3799:{id:"n3799",loc:[-85.620444,41.952254]},n38:{id:"n38",loc:[-85.63879,41.943295]},n380:{id:"n380",loc:[-85.638627,41.94322]},n3800:{id:"n3800",loc:[-85.620773,41.955585]},n3801:{id:"n3801",loc:[-85.621265,41.955989]},n3802:{id:"n3802",loc:[-85.620692,41.954969]},n3803:{id:"n3803",loc:[-85.620691,41.955367]},n3804:{id:"n3804",loc:[-85.620458,41.952178]},n3805:{id:"n3805",loc:[-85.620575,41.95219]},n3806:{id:"n3806",loc:[-85.617609,41.952712]},n3807:{id:"n3807",loc:[-85.617533,41.952801],tags:{entrance:"yes"}},n3808:{id:"n3808",loc:[-85.616816,41.952911]},n3809:{id:"n3809",loc:[-85.616797,41.952901]},n381:{id:"n381",loc:[-85.638624,41.943294]},n3810:{id:"n3810",loc:[-85.616343,41.952694]},n3811:{id:"n3811",loc:[-85.616336,41.952729]},n3812:{id:"n3812",loc:[-85.616343,41.952772]},n3813:{id:"n3813",loc:[-85.628479,41.948649]},n3814:{id:"n3814",loc:[-85.628413,41.948679]},n3815:{id:"n3815",loc:[-85.628336,41.948694]},n3816:{id:"n3816",loc:[-85.62826,41.948694]},n3817:{id:"n3817",loc:[-85.628185,41.948679]},n3818:{id:"n3818",loc:[-85.628103,41.948649]},n3819:{id:"n3819",loc:[-85.627482,41.948395]},n382:{id:"n382",loc:[-85.638437,41.943291]},n3820:{id:"n3820",loc:[-85.619957,41.951168]},n3821:{id:"n3821",loc:[-85.619955,41.952077]},n3822:{id:"n3822",loc:[-85.619843,41.952666]},n3823:{id:"n3823",loc:[-85.619513,41.95324]},n3824:{id:"n3824",loc:[-85.619163,41.953668]},n3825:{id:"n3825",loc:[-85.618813,41.953947]},n3826:{id:"n3826",loc:[-85.618265,41.954252]},n3827:{id:"n3827",loc:[-85.617691,41.954458]},n3828:{id:"n3828",loc:[-85.616978,41.95459]},n3829:{id:"n3829",loc:[-85.615408,41.954628]},n383:{id:"n383",loc:[-85.63844,41.943209]},n3830:{id:"n3830",loc:[-85.615374,41.951076]},n3831:{id:"n3831",loc:[-85.61932,41.947564]},n3832:{id:"n3832",loc:[-85.610553,41.94755]},n3833:{id:"n3833",loc:[-85.610572,41.951065]},n3834:{id:"n3834",loc:[-85.617548,41.94757]},n3835:{id:"n3835",loc:[-85.619842,41.947939]},n3836:{id:"n3836",loc:[-85.619874,41.950905]},n3837:{id:"n3837",loc:[-85.619695,41.950911]},n3838:{id:"n3838",loc:[-85.617591,41.951078]},n3839:{id:"n3839",loc:[-85.619551,41.951065]},n384:{id:"n384",loc:[-85.632616,41.944021]},n3840:{id:"n3840",loc:[-85.626813,41.947337]},n3841:{id:"n3841",loc:[-85.616371,41.952814]},n3842:{id:"n3842",loc:[-85.617205,41.951308]},n3843:{id:"n3843",loc:[-85.616795,41.950953]},n3844:{id:"n3844",loc:[-85.617441,41.950889]},n3845:{id:"n3845",loc:[-85.619155,41.949377]},n3846:{id:"n3846",loc:[-85.618556,41.949377]},n3847:{id:"n3847",loc:[-85.618557,41.948372]},n3848:{id:"n3848",loc:[-85.619156,41.948372]},n3849:{id:"n3849",loc:[-85.61927,41.949796]},n385:{id:"n385",loc:[-85.632319,41.944172]},n3850:{id:"n3850",loc:[-85.61926,41.948344]},n3851:{id:"n3851",loc:[-85.619219,41.948264]},n3852:{id:"n3852",loc:[-85.619147,41.948196]},n3853:{id:"n3853",loc:[-85.619049,41.948144]},n3854:{id:"n3854",loc:[-85.618942,41.948116]},n3855:{id:"n3855",loc:[-85.618822,41.948109]},n3856:{id:"n3856",loc:[-85.618699,41.94813]},n3857:{id:"n3857",loc:[-85.618937,41.951943]},n3858:{id:"n3858",loc:[-85.616762,41.952222]},n3859:{id:"n3859",loc:[-85.616799,41.95472]},n386:{id:"n386",loc:[-85.63221,41.944066]},n3860:{id:"n3860",loc:[-85.616458,41.954735]},n3861:{id:"n3861",loc:[-85.61763,41.951515]},n3862:{id:"n3862",loc:[-85.617735,41.951572]},n3863:{id:"n3863",loc:[-85.61929,41.951573]},n3864:{id:"n3864",loc:[-85.617134,41.951348]},n3865:{id:"n3865",loc:[-85.616598,41.95192]},n3866:{id:"n3866",loc:[-85.616557,41.951997]},n3867:{id:"n3867",loc:[-85.61658,41.952093]},n3868:{id:"n3868",loc:[-85.616636,41.952145]},n3869:{id:"n3869",loc:[-85.616918,41.952276]},n387:{id:"n387",loc:[-85.632524,41.943912]},n3870:{id:"n3870",loc:[-85.617098,41.952235]},n3871:{id:"n3871",loc:[-85.61892,41.951467]},n3872:{id:"n3872",loc:[-85.618035,41.951473]},n3873:{id:"n3873",loc:[-85.618036,41.951572]},n3874:{id:"n3874",loc:[-85.61892,41.951573]},n3875:{id:"n3875",loc:[-85.618919,41.951957]},n3876:{id:"n3876",loc:[-85.619457,41.952237]},n3877:{id:"n3877",loc:[-85.618178,41.953618]},n3878:{id:"n3878",loc:[-85.617658,41.953366]},n3879:{id:"n3879",loc:[-85.617987,41.953024]},n388:{id:"n388",loc:[-85.632268,41.943621]},n3880:{id:"n3880",loc:[-85.618429,41.953248]},n3881:{id:"n3881",loc:[-85.618554,41.953119]},n3882:{id:"n3882",loc:[-85.618077,41.952868]},n3883:{id:"n3883",loc:[-85.618039,41.952886]},n3884:{id:"n3884",loc:[-85.619375,41.952169]},n3885:{id:"n3885",loc:[-85.618137,41.953538]},n3886:{id:"n3886",loc:[-85.61799,41.953555]},n3887:{id:"n3887",loc:[-85.617729,41.953423]},n3888:{id:"n3888",loc:[-85.618101,41.953029]},n3889:{id:"n3889",loc:[-85.618516,41.953119]},n389:{id:"n389",loc:[-85.631951,41.943773]},n3890:{id:"n3890",loc:[-85.619132,41.952042]},n3891:{id:"n3891",loc:[-85.618235,41.952981]},n3892:{id:"n3892",loc:[-85.618485,41.952425]},n3893:{id:"n3893",loc:[-85.618676,41.952519]},n3894:{id:"n3894",loc:[-85.618942,41.952648]},n3895:{id:"n3895",loc:[-85.618287,41.953122]},n3896:{id:"n3896",loc:[-85.617914,41.953516]},n3897:{id:"n3897",loc:[-85.617836,41.953573]},n3898:{id:"n3898",loc:[-85.616477,41.95289]},n3899:{id:"n3899",loc:[-85.618441,41.953201]},n39:{id:"n39",loc:[-85.619931,41.951013]},n390:{id:"n390",loc:[-85.631981,41.943654]},n3900:{id:"n3900",loc:[-85.617537,41.953335]},n3901:{id:"n3901",loc:[-85.617221,41.953166]},n3902:{id:"n3902",loc:[-85.617253,41.953135]},n3903:{id:"n3903",loc:[-85.617211,41.953114]},n3904:{id:"n3904",loc:[-85.617197,41.95313]},n3905:{id:"n3905",loc:[-85.616802,41.952925]},n3906:{id:"n3906",loc:[-85.616771,41.952928]},n3907:{id:"n3907",loc:[-85.616493,41.952785]},n3908:{id:"n3908",loc:[-85.616823,41.952426]},n3909:{id:"n3909",loc:[-85.617191,41.952616]},n391:{id:"n391",loc:[-85.631886,41.943699]},n3910:{id:"n3910",loc:[-85.61724,41.952559]},n3911:{id:"n3911",loc:[-85.61721,41.952542]},n3912:{id:"n3912",loc:[-85.617395,41.952351]},n3913:{id:"n3913",loc:[-85.617426,41.952368]},n3914:{id:"n3914",loc:[-85.617483,41.952309]},n3915:{id:"n3915",loc:[-85.617332,41.952229]},n3916:{id:"n3916",loc:[-85.617451,41.952102]},n3917:{id:"n3917",loc:[-85.617477,41.952115]},n3918:{id:"n3918",loc:[-85.617658,41.951923]},n3919:{id:"n3919",loc:[-85.617634,41.95191]},n392:{id:"n392",loc:[-85.631807,41.943606]},n3920:{id:"n3920",loc:[-85.617747,41.951786]},n3921:{id:"n3921",loc:[-85.618268,41.952056]},n3922:{id:"n3922",loc:[-85.618211,41.952122]},n3923:{id:"n3923",loc:[-85.618386,41.95222]},n3924:{id:"n3924",loc:[-85.618098,41.952527]},n3925:{id:"n3925",loc:[-85.617916,41.95243]},n3926:{id:"n3926",loc:[-85.617854,41.952498]},n3927:{id:"n3927",loc:[-85.617769,41.952453]},n3928:{id:"n3928",loc:[-85.617476,41.952773]},n3929:{id:"n3929",loc:[-85.617876,41.952973]},n393:{id:"n393",loc:[-85.631902,41.943561]},n3930:{id:"n3930",loc:[-85.617174,41.953638]},n3931:{id:"n3931",loc:[-85.618016,41.953578]},n3932:{id:"n3932",loc:[-85.618107,41.953628]},n3933:{id:"n3933",loc:[-85.618067,41.954268]},n3934:{id:"n3934",loc:[-85.617864,41.954263]},n3935:{id:"n3935",loc:[-85.61762,41.954205]},n3936:{id:"n3936",loc:[-85.617437,41.954103]},n3937:{id:"n3937",loc:[-85.617294,41.953978]},n3938:{id:"n3938",loc:[-85.617217,41.95384]},n3939:{id:"n3939",loc:[-85.616814,41.954327]},n394:{id:"n394",loc:[-85.63236,41.943543]},n3940:{id:"n3940",loc:[-85.616778,41.95381]},n3941:{id:"n3941",loc:[-85.616585,41.953707]},n3942:{id:"n3942",loc:[-85.616458,41.954318]},n3943:{id:"n3943",loc:[-85.616643,41.954345]},n3944:{id:"n3944",loc:[-85.618133,41.951412]},n3945:{id:"n3945",loc:[-85.618326,41.951411]},n3946:{id:"n3946",loc:[-85.618503,41.95141]},n3947:{id:"n3947",loc:[-85.618681,41.951409]},n3948:{id:"n3948",loc:[-85.618868,41.951408]},n3949:{id:"n3949",loc:[-85.617047,41.95136]},n395:{id:"n395",loc:[-85.633839,41.944082]},n3950:{id:"n3950",loc:[-85.616502,41.951946]},n3951:{id:"n3951",loc:[-85.616497,41.952072]},n3952:{id:"n3952",loc:[-85.616565,41.952165]},n3953:{id:"n3953",loc:[-85.616663,41.952218]},n3954:{id:"n3954",loc:[-85.616733,41.952255]},n3955:{id:"n3955",loc:[-85.617238,41.952512],tags:{entrance:"yes"}},n3956:{id:"n3956",loc:[-85.617043,41.952406]},n3957:{id:"n3957",loc:[-85.617691,41.951711]},n3958:{id:"n3958",loc:[-85.617773,41.951679]},n3959:{id:"n3959",loc:[-85.619085,41.951681]},n396:{id:"n396",loc:[-85.63376,41.944097]},n3960:{id:"n3960",loc:[-85.617943,41.952895]},n3961:{id:"n3961",loc:[-85.618039,41.952938]},n3962:{id:"n3962",loc:[-85.61763,41.95336]},n3963:{id:"n3963",loc:[-85.617554,41.95344]},n3964:{id:"n3964",loc:[-85.617381,41.952366],tags:{entrance:"yes"}},n3965:{id:"n3965",loc:[-85.617184,41.952254]},n3966:{id:"n3966",loc:[-85.617208,41.952496]},n3967:{id:"n3967",loc:[-85.617124,41.952581],tags:{entrance:"yes"}},n3968:{id:"n3968",loc:[-85.618094,41.952735]},n3969:{id:"n3969",loc:[-85.617702,41.952525],tags:{entrance:"yes"}},n397:{id:"n397",loc:[-85.63361,41.943957]},n3970:{id:"n3970",loc:[-85.617554,41.952686],tags:{entrance:"yes"}},n3971:{id:"n3971",loc:[-85.617959,41.952878]},n3972:{id:"n3972",loc:[-85.616367,41.952655]},n3973:{id:"n3973",loc:[-85.616416,41.952851]},n3974:{id:"n3974",loc:[-85.619777,41.951075]},n3975:{id:"n3975",loc:[-85.618611,41.94817]},n3976:{id:"n3976",loc:[-85.618538,41.948229]},n3977:{id:"n3977",loc:[-85.617421,41.947559]},n3978:{id:"n3978",loc:[-85.617395,41.951039]},n3979:{id:"n3979",loc:[-85.618488,41.94829]},n398:{id:"n398",loc:[-85.633309,41.943886]},n3980:{id:"n3980",loc:[-85.610238,41.954774]},n3981:{id:"n3981",loc:[-85.617449,41.950756]},n3982:{id:"n3982",loc:[-85.617288,41.951286]},n3983:{id:"n3983",loc:[-85.61745,41.950197]},n3984:{id:"n3984",loc:[-85.617436,41.948908]},n3985:{id:"n3985",loc:[-85.615915,41.953804]},n3986:{id:"n3986",loc:[-85.615953,41.953968]},n3987:{id:"n3987",loc:[-85.616031,41.954085]},n3988:{id:"n3988",loc:[-85.616135,41.954181]},n3989:{id:"n3989",loc:[-85.616273,41.954263]},n399:{id:"n399",loc:[-85.633226,41.943931]},n3990:{id:"n3990",loc:[-85.618327,41.951083]},n3991:{id:"n3991",loc:[-85.618135,41.951084]},n3992:{id:"n3992",loc:[-85.618503,41.951082]},n3993:{id:"n3993",loc:[-85.618682,41.951081]},n3994:{id:"n3994",loc:[-85.618864,41.951082]},n3995:{id:"n3995",loc:[-85.616761,41.950101]},n3996:{id:"n3996",loc:[-85.617317,41.947558]},n3997:{id:"n3997",loc:[-85.617336,41.948883]},n3998:{id:"n3998",loc:[-85.616779,41.949295]},n3999:{id:"n3999",loc:[-85.616754,41.949349]},n4:{id:"n4",loc:[-85.622764,41.950892],tags:{highway:"stop",direction:"forward",stop:"minor"}},n40:{id:"n40",loc:[-85.619841,41.951037]},n400:{id:"n400",loc:[-85.63326,41.943966]},n4000:{id:"n4000",loc:[-85.616761,41.950865]},n4001:{id:"n4001",loc:[-85.616883,41.951041]},n4002:{id:"n4002",loc:[-85.617004,41.951142]},n4003:{id:"n4003",loc:[-85.617062,41.951248]},n4004:{id:"n4004",loc:[-85.616809,41.949273]},n4005:{id:"n4005",loc:[-85.616755,41.949489]},n4006:{id:"n4006",loc:[-85.616759,41.949971]},n4007:{id:"n4007",loc:[-85.616757,41.949702]},n4008:{id:"n4008",loc:[-85.618456,41.94836]},n4009:{id:"n4009",loc:[-85.618447,41.948428]},n401:{id:"n401",loc:[-85.63324,41.943976]},n4010:{id:"n4010",loc:[-85.618437,41.949322]},n4011:{id:"n4011",loc:[-85.618447,41.949418]},n4012:{id:"n4012",loc:[-85.618478,41.949491]},n4013:{id:"n4013",loc:[-85.618535,41.949559]},n4014:{id:"n4014",loc:[-85.618623,41.94962]},n4015:{id:"n4015",loc:[-85.618721,41.94966]},n4016:{id:"n4016",loc:[-85.618838,41.949674]},n4017:{id:"n4017",loc:[-85.618967,41.949667]},n4018:{id:"n4018",loc:[-85.619065,41.949632]},n4019:{id:"n4019",loc:[-85.61915,41.949578]},n402:{id:"n402",loc:[-85.63327,41.944006]},n4020:{id:"n4020",loc:[-85.619216,41.949507]},n4021:{id:"n4021",loc:[-85.61927,41.949399]},n4022:{id:"n4022",loc:[-85.619074,41.947639]},n4023:{id:"n4023",loc:[-85.619073,41.947793]},n4024:{id:"n4024",loc:[-85.618912,41.947793]},n4025:{id:"n4025",loc:[-85.618911,41.947947]},n4026:{id:"n4026",loc:[-85.618752,41.947947]},n4027:{id:"n4027",loc:[-85.618754,41.947637]},n4028:{id:"n4028",loc:[-85.617896,41.947599]},n4029:{id:"n4029",loc:[-85.617898,41.947811]},n403:{id:"n403",loc:[-85.633278,41.944002]},n4030:{id:"n4030",loc:[-85.617717,41.947812]},n4031:{id:"n4031",loc:[-85.617715,41.9476]},n4032:{id:"n4032",loc:[-85.619003,41.949828]},n4033:{id:"n4033",loc:[-85.619003,41.949882]},n4034:{id:"n4034",loc:[-85.618926,41.949882]},n4035:{id:"n4035",loc:[-85.618926,41.949828]},n4036:{id:"n4036",loc:[-85.618861,41.949809]},n4037:{id:"n4037",loc:[-85.618861,41.949898]},n4038:{id:"n4038",loc:[-85.618688,41.949898]},n4039:{id:"n4039",loc:[-85.618687,41.94981]},n404:{id:"n404",loc:[-85.63331,41.944036]},n4040:{id:"n4040",loc:[-85.618349,41.949473]},n4041:{id:"n4041",loc:[-85.618287,41.949473]},n4042:{id:"n4042",loc:[-85.618287,41.94942]},n4043:{id:"n4043",loc:[-85.618348,41.949419]},n4044:{id:"n4044",loc:[-85.62316,41.951604]},n4045:{id:"n4045",loc:[-85.623026,41.951605]},n4046:{id:"n4046",loc:[-85.623023,41.951466]},n4047:{id:"n4047",loc:[-85.623134,41.951465]},n4048:{id:"n4048",loc:[-85.623136,41.951539]},n4049:{id:"n4049",loc:[-85.623159,41.951539]},n405:{id:"n405",loc:[-85.633348,41.944015]},n4050:{id:"n4050",loc:[-85.623025,41.95155]},n4051:{id:"n4051",loc:[-85.622955,41.951551]},n4052:{id:"n4052",loc:[-85.622953,41.951507]},n4053:{id:"n4053",loc:[-85.623024,41.951506]},n4054:{id:"n4054",loc:[-85.623318,41.951242]},n4055:{id:"n4055",loc:[-85.623175,41.951241]},n4056:{id:"n4056",loc:[-85.623176,41.951153]},n4057:{id:"n4057",loc:[-85.623319,41.951154]},n4058:{id:"n4058",loc:[-85.623077,41.951191]},n4059:{id:"n4059",loc:[-85.622973,41.951191]},n406:{id:"n406",loc:[-85.63338,41.944048]},n4060:{id:"n4060",loc:[-85.622972,41.951349]},n4061:{id:"n4061",loc:[-85.623059,41.95135]},n4062:{id:"n4062",loc:[-85.62306,41.951301]},n4063:{id:"n4063",loc:[-85.623077,41.951301]},n4064:{id:"n4064",loc:[-85.623117,41.951405]},n4065:{id:"n4065",loc:[-85.62312,41.951087]},n4066:{id:"n4066",loc:[-85.623118,41.951274]},n4067:{id:"n4067",loc:[-85.62328,41.951275]},n4068:{id:"n4068",loc:[-85.62328,41.951242]},n4069:{id:"n4069",loc:[-85.623179,41.951392]},n407:{id:"n407",loc:[-85.633431,41.94402]},n4070:{id:"n4070",loc:[-85.623141,41.951392]},n4071:{id:"n4071",loc:[-85.623142,41.95136]},n4072:{id:"n4072",loc:[-85.623179,41.951361]},n4073:{id:"n4073",loc:[-85.622565,41.951639]},n4074:{id:"n4074",loc:[-85.622565,41.951741]},n4075:{id:"n4075",loc:[-85.622463,41.95174]},n4076:{id:"n4076",loc:[-85.622463,41.95173]},n4077:{id:"n4077",loc:[-85.622442,41.95173]},n4078:{id:"n4078",loc:[-85.622442,41.951742]},n4079:{id:"n4079",loc:[-85.622361,41.951742]},n408:{id:"n408",loc:[-85.633425,41.944014]},n4080:{id:"n4080",loc:[-85.622362,41.951667]},n4081:{id:"n4081",loc:[-85.622441,41.951667]},n4082:{id:"n4082",loc:[-85.622441,41.951688]},n4083:{id:"n4083",loc:[-85.622461,41.951688]},n4084:{id:"n4084",loc:[-85.622461,41.951638]},n4085:{id:"n4085",loc:[-85.62255,41.951587]},n4086:{id:"n4086",loc:[-85.622449,41.95159]},n4087:{id:"n4087",loc:[-85.622441,41.951448]},n4088:{id:"n4088",loc:[-85.62253,41.951445]},n4089:{id:"n4089",loc:[-85.622532,41.951486]},n409:{id:"n409",loc:[-85.633457,41.943997]},n4090:{id:"n4090",loc:[-85.622555,41.951485]},n4091:{id:"n4091",loc:[-85.622558,41.951531]},n4092:{id:"n4092",loc:[-85.622547,41.951531]},n4093:{id:"n4093",loc:[-85.622451,41.95159]},n4094:{id:"n4094",loc:[-85.622452,41.95161]},n4095:{id:"n4095",loc:[-85.622106,41.951617]},n4096:{id:"n4096",loc:[-85.622133,41.951443]},n4097:{id:"n4097",loc:[-85.622552,41.951379]},n4098:{id:"n4098",loc:[-85.622443,41.95138]},n4099:{id:"n4099",loc:[-85.622441,41.951281]},n41:{id:"n41",loc:[-85.636233,41.942764]},n410:{id:"n410",loc:[-85.633429,41.943969]},n4100:{id:"n4100",loc:[-85.62255,41.95128]},n4101:{id:"n4101",loc:[-85.622541,41.951437]},n4102:{id:"n4102",loc:[-85.622441,41.951438]},n4103:{id:"n4103",loc:[-85.621561,41.951444]},n4104:{id:"n4104",loc:[-85.622302,41.951479]},n4105:{id:"n4105",loc:[-85.6223,41.95152]},n4106:{id:"n4106",loc:[-85.622169,41.951517]},n4107:{id:"n4107",loc:[-85.622171,41.951476]},n4108:{id:"n4108",loc:[-85.622543,41.951228]},n4109:{id:"n4109",loc:[-85.622433,41.951228]},n411:{id:"n411",loc:[-85.633442,41.943962]},n4110:{id:"n4110",loc:[-85.622433,41.951133]},n4111:{id:"n4111",loc:[-85.622543,41.951133]},n4112:{id:"n4112",loc:[-85.622356,41.951256]},n4113:{id:"n4113",loc:[-85.622293,41.951256]},n4114:{id:"n4114",loc:[-85.622292,41.9512]},n4115:{id:"n4115",loc:[-85.622313,41.9512]},n4116:{id:"n4116",loc:[-85.622312,41.951173]},n4117:{id:"n4117",loc:[-85.622364,41.951173]},n4118:{id:"n4118",loc:[-85.622365,41.951231]},n4119:{id:"n4119",loc:[-85.622355,41.951231]},n412:{id:"n412",loc:[-85.633411,41.943932]},n4120:{id:"n4120",loc:[-85.62197,41.951155]},n4121:{id:"n4121",loc:[-85.62197,41.951213]},n4122:{id:"n4122",loc:[-85.621848,41.951213]},n4123:{id:"n4123",loc:[-85.621848,41.951155]},n4124:{id:"n4124",loc:[-85.622193,41.951268]},n4125:{id:"n4125",loc:[-85.622194,41.951305]},n4126:{id:"n4126",loc:[-85.622121,41.951306]},n4127:{id:"n4127",loc:[-85.622121,41.951322]},n4128:{id:"n4128",loc:[-85.621984,41.951324]},n4129:{id:"n4129",loc:[-85.621983,41.951271]},n413:{id:"n413",loc:[-85.633421,41.943926]},n4130:{id:"n4130",loc:[-85.622171,41.9514]},n4131:{id:"n4131",loc:[-85.622148,41.951382]},n4132:{id:"n4132",loc:[-85.6221,41.951414]},n4133:{id:"n4133",loc:[-85.622122,41.951433]},n4134:{id:"n4134",loc:[-85.621782,41.951148]},n4135:{id:"n4135",loc:[-85.621783,41.951219]},n4136:{id:"n4136",loc:[-85.62164,41.951221]},n4137:{id:"n4137",loc:[-85.62164,41.951236]},n4138:{id:"n4138",loc:[-85.621556,41.951237]},n4139:{id:"n4139",loc:[-85.621555,41.95117]},n414:{id:"n414",loc:[-85.633376,41.94388]},n4140:{id:"n4140",loc:[-85.621644,41.951169]},n4141:{id:"n4141",loc:[-85.621643,41.951139]},n4142:{id:"n4142",loc:[-85.621719,41.951138]},n4143:{id:"n4143",loc:[-85.621719,41.951148]},n4144:{id:"n4144",loc:[-85.621409,41.951322]},n4145:{id:"n4145",loc:[-85.621338,41.951322]},n4146:{id:"n4146",loc:[-85.621336,41.95115]},n4147:{id:"n4147",loc:[-85.621521,41.951149]},n4148:{id:"n4148",loc:[-85.621522,41.951228]},n4149:{id:"n4149",loc:[-85.621408,41.951228]},n415:{id:"n415",loc:[-85.633348,41.943895]},n4150:{id:"n4150",loc:[-85.621284,41.951219]},n4151:{id:"n4151",loc:[-85.621153,41.951219]},n4152:{id:"n4152",loc:[-85.621152,41.951152]},n4153:{id:"n4153",loc:[-85.621283,41.951152]},n4154:{id:"n4154",loc:[-85.621159,41.951241]},n4155:{id:"n4155",loc:[-85.62116,41.951301]},n4156:{id:"n4156",loc:[-85.621088,41.951302]},n4157:{id:"n4157",loc:[-85.621088,41.951241]},n4158:{id:"n4158",loc:[-85.621049,41.951158]},n4159:{id:"n4159",loc:[-85.62105,41.951229]},n416:{id:"n416",loc:[-85.633341,41.943888]},n4160:{id:"n4160",loc:[-85.620976,41.951229]},n4161:{id:"n4161",loc:[-85.620977,41.951295]},n4162:{id:"n4162",loc:[-85.620887,41.951296]},n4163:{id:"n4163",loc:[-85.620886,41.951229]},n4164:{id:"n4164",loc:[-85.620862,41.951229]},n4165:{id:"n4165",loc:[-85.620861,41.951159]},n4166:{id:"n4166",loc:[-85.620626,41.951133]},n4167:{id:"n4167",loc:[-85.620626,41.951205]},n4168:{id:"n4168",loc:[-85.620412,41.951206]},n4169:{id:"n4169",loc:[-85.620411,41.951134]},n417:{id:"n417",loc:[-85.633321,41.943898]},n4170:{id:"n4170",loc:[-85.621775,41.951443]},n4171:{id:"n4171",loc:[-85.621777,41.951264]},n4172:{id:"n4172",loc:[-85.621565,41.951654]},n4173:{id:"n4173",loc:[-85.621331,41.951439]},n4174:{id:"n4174",loc:[-85.621031,41.951443]},n4175:{id:"n4175",loc:[-85.621836,41.951724]},n4176:{id:"n4176",loc:[-85.621834,41.951621]},n4177:{id:"n4177",loc:[-85.62197,41.951619]},n4178:{id:"n4178",loc:[-85.621972,41.951722]},n4179:{id:"n4179",loc:[-85.621772,41.951638]},n418:{id:"n418",loc:[-85.633547,41.943896]},n4180:{id:"n4180",loc:[-85.621772,41.951715]},n4181:{id:"n4181",loc:[-85.621699,41.951716]},n4182:{id:"n4182",loc:[-85.6217,41.951722]},n4183:{id:"n4183",loc:[-85.621641,41.951722]},n4184:{id:"n4184",loc:[-85.62164,41.951639]},n4185:{id:"n4185",loc:[-85.621505,41.951655]},n4186:{id:"n4186",loc:[-85.621505,41.951729]},n4187:{id:"n4187",loc:[-85.621389,41.951729]},n4188:{id:"n4188",loc:[-85.62139,41.951654]},n4189:{id:"n4189",loc:[-85.621105,41.951635]},n419:{id:"n419",loc:[-85.633467,41.944075]},n4190:{id:"n4190",loc:[-85.621104,41.951576]},n4191:{id:"n4191",loc:[-85.621168,41.951576]},n4192:{id:"n4192",loc:[-85.621168,41.951595]},n4193:{id:"n4193",loc:[-85.621261,41.951595]},n4194:{id:"n4194",loc:[-85.621261,41.951646]},n4195:{id:"n4195",loc:[-85.621294,41.951646]},n4196:{id:"n4196",loc:[-85.621294,41.951732]},n4197:{id:"n4197",loc:[-85.621251,41.951732]},n4198:{id:"n4198",loc:[-85.621251,41.95174]},n4199:{id:"n4199",loc:[-85.621175,41.951741]},n42:{id:"n42",loc:[-85.635996,41.942727]},n420:{id:"n420",loc:[-85.633578,41.944055]},n4200:{id:"n4200",loc:[-85.621175,41.951651]},n4201:{id:"n4201",loc:[-85.621189,41.951651]},n4202:{id:"n4202",loc:[-85.621189,41.951635]},n4203:{id:"n4203",loc:[-85.620554,41.951641]},n4204:{id:"n4204",loc:[-85.620555,41.951742]},n4205:{id:"n4205",loc:[-85.620719,41.951742]},n4206:{id:"n4206",loc:[-85.620719,41.951731]},n4207:{id:"n4207",loc:[-85.620803,41.95173]},n4208:{id:"n4208",loc:[-85.620803,41.951603]},n4209:{id:"n4209",loc:[-85.62072,41.951603]},n421:{id:"n421",loc:[-85.633462,41.944125]},n4210:{id:"n4210",loc:[-85.620721,41.951641]},n4211:{id:"n4211",loc:[-85.620269,41.953053]},n4212:{id:"n4212",loc:[-85.620229,41.953051]},n4213:{id:"n4213",loc:[-85.620231,41.953013]},n4214:{id:"n4214",loc:[-85.620271,41.953015]},n4215:{id:"n4215",loc:[-85.620215,41.953133]},n4216:{id:"n4216",loc:[-85.62013,41.953134]},n4217:{id:"n4217",loc:[-85.620129,41.953083]},n4218:{id:"n4218",loc:[-85.620214,41.953082]},n4219:{id:"n4219",loc:[-85.62016,41.953272]},n422:{id:"n422",loc:[-85.633372,41.944061]},n4220:{id:"n4220",loc:[-85.620046,41.953273]},n4221:{id:"n4221",loc:[-85.620045,41.953171]},n4222:{id:"n4222",loc:[-85.620088,41.953171]},n4223:{id:"n4223",loc:[-85.620087,41.953162]},n4224:{id:"n4224",loc:[-85.620121,41.953162]},n4225:{id:"n4225",loc:[-85.620121,41.953173]},n4226:{id:"n4226",loc:[-85.620157,41.953173]},n4227:{id:"n4227",loc:[-85.620158,41.953196]},n4228:{id:"n4228",loc:[-85.620189,41.953196]},n4229:{id:"n4229",loc:[-85.620189,41.953246]},n423:{id:"n423",loc:[-85.633509,41.943981]},n4230:{id:"n4230",loc:[-85.62016,41.953246]},n4231:{id:"n4231",loc:[-85.6195,41.954012]},n4232:{id:"n4232",loc:[-85.619438,41.954057]},n4233:{id:"n4233",loc:[-85.619418,41.954043]},n4234:{id:"n4234",loc:[-85.619381,41.954069]},n4235:{id:"n4235",loc:[-85.619399,41.954083]},n4236:{id:"n4236",loc:[-85.619339,41.954126]},n4237:{id:"n4237",loc:[-85.619584,41.954313]},n4238:{id:"n4238",loc:[-85.619743,41.954198]},n4239:{id:"n4239",loc:[-85.619453,41.954727]},n424:{id:"n424",loc:[-85.635421,41.945367]},n4240:{id:"n4240",loc:[-85.619503,41.954581]},n4241:{id:"n4241",loc:[-85.619597,41.954472]},n4242:{id:"n4242",loc:[-85.619862,41.95419]},n4243:{id:"n4243",loc:[-85.619506,41.953907]},n4244:{id:"n4244",loc:[-85.619261,41.9541]},n4245:{id:"n4245",loc:[-85.619246,41.954139]},n4246:{id:"n4246",loc:[-85.619244,41.9542]},n4247:{id:"n4247",loc:[-85.619259,41.954243]},n4248:{id:"n4248",loc:[-85.619285,41.954274]},n4249:{id:"n4249",loc:[-85.619123,41.954381]},n425:{id:"n425",loc:[-85.634425,41.943552]},n4250:{id:"n4250",loc:[-85.619641,41.954607]},n4251:{id:"n4251",loc:[-85.619383,41.954615]},n4252:{id:"n4252",loc:[-85.61896,41.954391]},n4253:{id:"n4253",loc:[-85.619211,41.954178]},n4254:{id:"n4254",loc:[-85.619115,41.954102]},n4255:{id:"n4255",loc:[-85.619519,41.953821]},n4256:{id:"n4256",loc:[-85.619956,41.954156]},n4257:{id:"n4257",loc:[-85.619851,41.954266]},n4258:{id:"n4258",loc:[-85.619779,41.95436]},n4259:{id:"n4259",loc:[-85.620525,41.954364]},n426:{id:"n426",loc:[-85.634248,41.943654]},n4260:{id:"n4260",loc:[-85.620398,41.954365]},n4261:{id:"n4261",loc:[-85.620398,41.954324]},n4262:{id:"n4262",loc:[-85.620525,41.954323]},n4263:{id:"n4263",loc:[-85.620359,41.954588]},n4264:{id:"n4264",loc:[-85.620321,41.954588]},n4265:{id:"n4265",loc:[-85.620321,41.954599]},n4266:{id:"n4266",loc:[-85.620296,41.954599]},n4267:{id:"n4267",loc:[-85.620296,41.954587]},n4268:{id:"n4268",loc:[-85.620262,41.954588]},n4269:{id:"n4269",loc:[-85.620261,41.954516]},n427:{id:"n427",loc:[-85.634177,41.943585]},n4270:{id:"n4270",loc:[-85.620282,41.954516]},n4271:{id:"n4271",loc:[-85.620282,41.954373]},n4272:{id:"n4272",loc:[-85.620378,41.954373]},n4273:{id:"n4273",loc:[-85.620379,41.954486]},n4274:{id:"n4274",loc:[-85.620348,41.954486]},n4275:{id:"n4275",loc:[-85.620348,41.954537]},n4276:{id:"n4276",loc:[-85.620359,41.954537]},n4277:{id:"n4277",loc:[-85.620463,41.95521]},n4278:{id:"n4278",loc:[-85.620409,41.955273]},n4279:{id:"n4279",loc:[-85.620205,41.955177]},n428:{id:"n428",loc:[-85.634354,41.943484]},n4280:{id:"n4280",loc:[-85.620288,41.955079]},n4281:{id:"n4281",loc:[-85.620379,41.955121]},n4282:{id:"n4282",loc:[-85.620349,41.955157]},n4283:{id:"n4283",loc:[-85.620083,41.955101]},n4284:{id:"n4284",loc:[-85.620083,41.954986]},n4285:{id:"n4285",loc:[-85.620016,41.954986]},n4286:{id:"n4286",loc:[-85.620016,41.954999]},n4287:{id:"n4287",loc:[-85.619941,41.954999]},n4288:{id:"n4288",loc:[-85.619941,41.954988]},n4289:{id:"n4289",loc:[-85.619815,41.954988]},n429:{id:"n429",loc:[-85.638577,41.943212]},n4290:{id:"n4290",loc:[-85.619815,41.955075]},n4291:{id:"n4291",loc:[-85.619948,41.955075]},n4292:{id:"n4292",loc:[-85.619948,41.955082]},n4293:{id:"n4293",loc:[-85.620004,41.955082]},n4294:{id:"n4294",loc:[-85.620004,41.955101]},n4295:{id:"n4295",loc:[-85.619293,41.955127]},n4296:{id:"n4296",loc:[-85.619208,41.955124]},n4297:{id:"n4297",loc:[-85.619212,41.955061]},n4298:{id:"n4298",loc:[-85.619297,41.955064]},n4299:{id:"n4299",loc:[-85.619068,41.954936]},n43:{id:"n43",loc:[-85.637047,41.943054]},n430:{id:"n430",loc:[-85.638576,41.943219]},n4300:{id:"n4300",loc:[-85.619003,41.954936]},n4301:{id:"n4301",loc:[-85.619004,41.955003]},n4302:{id:"n4302",loc:[-85.618994,41.955003]},n4303:{id:"n4303",loc:[-85.618994,41.955016]},n4304:{id:"n4304",loc:[-85.618973,41.955016]},n4305:{id:"n4305",loc:[-85.618973,41.955071]},n4306:{id:"n4306",loc:[-85.619061,41.955071]},n4307:{id:"n4307",loc:[-85.61906,41.955024]},n4308:{id:"n4308",loc:[-85.619105,41.955024]},n4309:{id:"n4309",loc:[-85.619105,41.954956]},n431:{id:"n431",loc:[-85.638653,41.943078]},n4310:{id:"n4310",loc:[-85.619068,41.954956]},n4311:{id:"n4311",loc:[-85.618294,41.954596]},n4312:{id:"n4312",loc:[-85.618235,41.954602]},n4313:{id:"n4313",loc:[-85.618222,41.954535]},n4314:{id:"n4314",loc:[-85.618281,41.954529]},n4315:{id:"n4315",loc:[-85.618593,41.954556]},n4316:{id:"n4316",loc:[-85.618551,41.954565]},n4317:{id:"n4317",loc:[-85.618545,41.954552]},n4318:{id:"n4318",loc:[-85.618493,41.954563]},n4319:{id:"n4319",loc:[-85.618449,41.954455]},n432:{id:"n432",loc:[-85.638654,41.943148]},n4320:{id:"n4320",loc:[-85.618544,41.954434]},n4321:{id:"n4321",loc:[-85.622545,41.950775]},n4322:{id:"n4322",loc:[-85.622546,41.950843]},n4323:{id:"n4323",loc:[-85.622503,41.950844]},n4324:{id:"n4324",loc:[-85.622503,41.950853]},n4325:{id:"n4325",loc:[-85.622479,41.950853]},n4326:{id:"n4326",loc:[-85.622478,41.950843]},n4327:{id:"n4327",loc:[-85.622425,41.950843]},n4328:{id:"n4328",loc:[-85.622425,41.950808]},n4329:{id:"n4329",loc:[-85.622366,41.950809]},n433:{id:"n433",loc:[-85.638387,41.943151]},n4330:{id:"n4330",loc:[-85.622364,41.950673]},n4331:{id:"n4331",loc:[-85.622448,41.950673]},n4332:{id:"n4332",loc:[-85.622449,41.950732]},n4333:{id:"n4333",loc:[-85.622479,41.950731]},n4334:{id:"n4334",loc:[-85.622479,41.950775]},n4335:{id:"n4335",loc:[-85.621909,41.950641]},n4336:{id:"n4336",loc:[-85.621864,41.950641]},n4337:{id:"n4337",loc:[-85.621865,41.950567]},n4338:{id:"n4338",loc:[-85.62191,41.950567]},n4339:{id:"n4339",loc:[-85.621787,41.950829]},n434:{id:"n434",loc:[-85.638386,41.94308]},n4340:{id:"n4340",loc:[-85.621786,41.950775]},n4341:{id:"n4341",loc:[-85.621588,41.950776]},n4342:{id:"n4342",loc:[-85.621589,41.950848]},n4343:{id:"n4343",loc:[-85.621737,41.950847]},n4344:{id:"n4344",loc:[-85.621737,41.950829]},n4345:{id:"n4345",loc:[-85.621509,41.950846]},n4346:{id:"n4346",loc:[-85.621399,41.950846]},n4347:{id:"n4347",loc:[-85.621398,41.95073]},n4348:{id:"n4348",loc:[-85.621509,41.95073]},n4349:{id:"n4349",loc:[-85.621217,41.950841]},n435:{id:"n435",loc:[-85.634427,41.943533]},n4350:{id:"n4350",loc:[-85.6211,41.95084]},n4351:{id:"n4351",loc:[-85.6211,41.950777]},n4352:{id:"n4352",loc:[-85.621218,41.950778]},n4353:{id:"n4353",loc:[-85.621055,41.950764]},n4354:{id:"n4354",loc:[-85.621054,41.950826]},n4355:{id:"n4355",loc:[-85.620988,41.950826]},n4356:{id:"n4356",loc:[-85.620988,41.950843]},n4357:{id:"n4357",loc:[-85.620842,41.950843]},n4358:{id:"n4358",loc:[-85.620842,41.950764]},n4359:{id:"n4359",loc:[-85.620825,41.950922]},n436:{id:"n436",loc:[-85.63428,41.943229]},n4360:{id:"n4360",loc:[-85.620824,41.950553]},n4361:{id:"n4361",loc:[-85.620543,41.950771]},n4362:{id:"n4362",loc:[-85.620431,41.950772]},n4363:{id:"n4363",loc:[-85.62043,41.950585]},n4364:{id:"n4364",loc:[-85.620542,41.950585]},n4365:{id:"n4365",loc:[-85.62068,41.950505]},n4366:{id:"n4366",loc:[-85.620681,41.950552]},n4367:{id:"n4367",loc:[-85.620589,41.950553]},n4368:{id:"n4368",loc:[-85.620588,41.950506]},n4369:{id:"n4369",loc:[-85.620539,41.950407]},n437:{id:"n437",loc:[-85.634499,41.943461]},n4370:{id:"n4370",loc:[-85.62054,41.950504]},n4371:{id:"n4371",loc:[-85.620416,41.950504]},n4372:{id:"n4372",loc:[-85.620416,41.950408]},n4373:{id:"n4373",loc:[-85.620742,41.95038]},n4374:{id:"n4374",loc:[-85.620527,41.95038]},n4375:{id:"n4375",loc:[-85.620528,41.950408]},n4376:{id:"n4376",loc:[-85.622449,41.950373]},n4377:{id:"n4377",loc:[-85.622452,41.950397]},n4378:{id:"n4378",loc:[-85.622336,41.950404]},n4379:{id:"n4379",loc:[-85.622333,41.950379]},n438:{id:"n438",loc:[-85.634514,41.943486]},n4380:{id:"n4380",loc:[-85.622263,41.950324]},n4381:{id:"n4381",loc:[-85.622261,41.950256]},n4382:{id:"n4382",loc:[-85.62236,41.950254]},n4383:{id:"n4383",loc:[-85.62236,41.95027]},n4384:{id:"n4384",loc:[-85.622402,41.950281]},n4385:{id:"n4385",loc:[-85.622403,41.9503]},n4386:{id:"n4386",loc:[-85.622439,41.950299]},n4387:{id:"n4387",loc:[-85.62244,41.950334]},n4388:{id:"n4388",loc:[-85.622414,41.950335]},n4389:{id:"n4389",loc:[-85.622414,41.95036]},n439:{id:"n439",loc:[-85.63452,41.943511]},n4390:{id:"n4390",loc:[-85.62231,41.950362]},n4391:{id:"n4391",loc:[-85.622309,41.950323]},n4392:{id:"n4392",loc:[-85.622015,41.950539]},n4393:{id:"n4393",loc:[-85.621909,41.95054]},n4394:{id:"n4394",loc:[-85.621909,41.950472]},n4395:{id:"n4395",loc:[-85.622015,41.950471]},n4396:{id:"n4396",loc:[-85.62199,41.950439]},n4397:{id:"n4397",loc:[-85.621956,41.95044]},n4398:{id:"n4398",loc:[-85.621955,41.950405]},n4399:{id:"n4399",loc:[-85.621988,41.950404]},n44:{id:"n44",loc:[-85.636799,41.943055]},n440:{id:"n440",loc:[-85.63451,41.943534]},n4400:{id:"n4400",loc:[-85.621668,41.950418]},n4401:{id:"n4401",loc:[-85.621667,41.950343]},n4402:{id:"n4402",loc:[-85.621745,41.950342]},n4403:{id:"n4403",loc:[-85.621744,41.950306]},n4404:{id:"n4404",loc:[-85.621764,41.950306]},n4405:{id:"n4405",loc:[-85.621763,41.950254]},n4406:{id:"n4406",loc:[-85.621861,41.950253]},n4407:{id:"n4407",loc:[-85.621861,41.950274]},n4408:{id:"n4408",loc:[-85.621896,41.950273]},n4409:{id:"n4409",loc:[-85.621898,41.950389]},n441:{id:"n441",loc:[-85.634483,41.943556]},n4410:{id:"n4410",loc:[-85.621843,41.95039]},n4411:{id:"n4411",loc:[-85.621843,41.950425]},n4412:{id:"n4412",loc:[-85.621789,41.950425]},n4413:{id:"n4413",loc:[-85.621789,41.950386]},n4414:{id:"n4414",loc:[-85.621752,41.950387]},n4415:{id:"n4415",loc:[-85.621753,41.950417]},n4416:{id:"n4416",loc:[-85.621556,41.950562]},n4417:{id:"n4417",loc:[-85.621552,41.950217]},n4418:{id:"n4418",loc:[-85.621788,41.950562]},n4419:{id:"n4419",loc:[-85.621155,41.950562]},n442:{id:"n442",loc:[-85.63419,41.943713]},n4420:{id:"n4420",loc:[-85.622473,41.950551]},n4421:{id:"n4421",loc:[-85.622043,41.950551]},n4422:{id:"n4422",loc:[-85.62142,41.950454]},n4423:{id:"n4423",loc:[-85.621315,41.950455]},n4424:{id:"n4424",loc:[-85.621313,41.950311]},n4425:{id:"n4425",loc:[-85.621388,41.950311]},n4426:{id:"n4426",loc:[-85.621387,41.950261]},n4427:{id:"n4427",loc:[-85.621468,41.95026]},n4428:{id:"n4428",loc:[-85.621468,41.950271]},n4429:{id:"n4429",loc:[-85.621503,41.95027]},n443:{id:"n443",loc:[-85.634462,41.943294]},n4430:{id:"n4430",loc:[-85.621505,41.950353]},n4431:{id:"n4431",loc:[-85.621483,41.950354]},n4432:{id:"n4432",loc:[-85.621483,41.950392]},n4433:{id:"n4433",loc:[-85.621419,41.950393]},n4434:{id:"n4434",loc:[-85.621213,41.95039]},n4435:{id:"n4435",loc:[-85.621127,41.950391]},n4436:{id:"n4436",loc:[-85.621126,41.950357]},n4437:{id:"n4437",loc:[-85.621094,41.950357]},n4438:{id:"n4438",loc:[-85.621094,41.950391]},n4439:{id:"n4439",loc:[-85.620977,41.950392]},n444:{id:"n444",loc:[-85.634298,41.943389]},n4440:{id:"n4440",loc:[-85.620975,41.950278]},n4441:{id:"n4441",loc:[-85.621087,41.950277]},n4442:{id:"n4442",loc:[-85.621088,41.950331]},n4443:{id:"n4443",loc:[-85.621211,41.950312]},n4444:{id:"n4444",loc:[-85.621104,41.950313]},n4445:{id:"n4445",loc:[-85.621105,41.950331]},n4446:{id:"n4446",loc:[-85.620706,41.950328]},n4447:{id:"n4447",loc:[-85.620606,41.950327]},n4448:{id:"n4448",loc:[-85.620607,41.950261]},n4449:{id:"n4449",loc:[-85.620707,41.950262]},n445:{id:"n445",loc:[-85.634527,41.943623]},n4450:{id:"n4450",loc:[-85.620599,41.950336]},n4451:{id:"n4451",loc:[-85.620559,41.950336]},n4452:{id:"n4452",loc:[-85.620559,41.950299]},n4453:{id:"n4453",loc:[-85.620599,41.950299]},n4454:{id:"n4454",loc:[-85.620545,41.950357]},n4455:{id:"n4455",loc:[-85.620418,41.950357]},n4456:{id:"n4456",loc:[-85.620417,41.950257]},n4457:{id:"n4457",loc:[-85.620544,41.950256]},n4458:{id:"n4458",loc:[-85.620246,41.950131],tags:{highway:"crossing"}},n4459:{id:"n4459",loc:[-85.620252,41.950956]},n446:{id:"n446",loc:[-85.634608,41.943577]},n4460:{id:"n4460",loc:[-85.620245,41.950179]},n4461:{id:"n4461",loc:[-85.620246,41.950088]},n4462:{id:"n4462",loc:[-85.620251,41.950885]},n4463:{id:"n4463",loc:[-85.620103,41.950884],tags:{crossing:"zebra",highway:"crossing"}},n4464:{id:"n4464",loc:[-85.619992,41.950884]},n4465:{id:"n4465",loc:[-85.619704,41.951008]},n4466:{id:"n4466",loc:[-85.619599,41.951122]},n4467:{id:"n4467",loc:[-85.619264,41.951486]},n4468:{id:"n4468",loc:[-85.619179,41.951573],tags:{highway:"crossing"}},n4469:{id:"n4469",loc:[-85.620251,41.950999],tags:{highway:"crossing"}},n447:{id:"n447",loc:[-85.634555,41.943531]},n4470:{id:"n4470",loc:[-85.620249,41.951066]},n4471:{id:"n4471",loc:[-85.620256,41.951374]},n4472:{id:"n4472",loc:[-85.620249,41.951389]},n4473:{id:"n4473",loc:[-85.620249,41.951407]},n4474:{id:"n4474",loc:[-85.620255,41.951423]},n4475:{id:"n4475",loc:[-85.62026,41.951853]},n4476:{id:"n4476",loc:[-85.620262,41.951894],tags:{highway:"crossing"}},n4477:{id:"n4477",loc:[-85.620265,41.951957]},n4478:{id:"n4478",loc:[-85.620262,41.952135]},n4479:{id:"n4479",loc:[-85.620241,41.952424]},n448:{id:"n448",loc:[-85.634555,41.943482]},n4480:{id:"n4480",loc:[-85.620213,41.952583]},n4481:{id:"n4481",loc:[-85.620158,41.952754]},n4482:{id:"n4482",loc:[-85.620065,41.952942]},n4483:{id:"n4483",loc:[-85.619753,41.953439]},n4484:{id:"n4484",loc:[-85.619605,41.953626]},n4485:{id:"n4485",loc:[-85.619381,41.953834]},n4486:{id:"n4486",loc:[-85.619069,41.954066]},n4487:{id:"n4487",loc:[-85.618674,41.95429]},n4488:{id:"n4488",loc:[-85.621816,41.952389]},n4489:{id:"n4489",loc:[-85.6217,41.952386]},n449:{id:"n449",loc:[-85.634509,41.943427]},n4490:{id:"n4490",loc:[-85.621705,41.952306]},n4491:{id:"n4491",loc:[-85.621821,41.95231]},n4492:{id:"n4492",loc:[-85.621819,41.952272]},n4493:{id:"n4493",loc:[-85.621778,41.952272]},n4494:{id:"n4494",loc:[-85.621778,41.952199]},n4495:{id:"n4495",loc:[-85.621818,41.952199]},n4496:{id:"n4496",loc:[-85.621754,41.952281]},n4497:{id:"n4497",loc:[-85.621701,41.95228]},n4498:{id:"n4498",loc:[-85.621702,41.952197]},n4499:{id:"n4499",loc:[-85.621755,41.952197]},n45:{id:"n45",loc:[-85.636791,41.942792]},n450:{id:"n450",loc:[-85.63453,41.943365]},n4500:{id:"n4500",loc:[-85.628201,41.954694],tags:{highway:"stop",stop:"all",direction:"forward"}},n4501:{id:"n4501",loc:[-85.627921,41.954783],tags:{highway:"stop",stop:"all",direction:"backward"}},n4502:{id:"n4502",loc:[-85.62775,41.954696],tags:{highway:"stop",stop:"all",direction:"backward"}},n4503:{id:"n4503",loc:[-85.628046,41.954591],tags:{highway:"stop",stop:"all",direction:"forward"}},n4504:{id:"n4504",loc:[-85.631074,41.957428],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4505:{id:"n4505",loc:[-85.630768,41.957429],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4506:{id:"n4506",loc:[-85.629888,41.957432],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4507:{id:"n4507",loc:[-85.629565,41.957433],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4508:{id:"n4508",loc:[-85.629559,41.957343]},n4509:{id:"n4509",loc:[-85.628723,41.95735]},n451:{id:"n451",loc:[-85.634356,41.943468]},n4510:{id:"n4510",loc:[-85.62842,41.957515]},n4511:{id:"n4511",loc:[-85.627561,41.957525]},n4512:{id:"n4512",loc:[-85.630323,41.957508]},n4513:{id:"n4513",loc:[-85.630811,41.957506]},n4514:{id:"n4514",loc:[-85.630839,41.960874]},n4515:{id:"n4515",loc:[-85.631035,41.957506]},n4516:{id:"n4516",loc:[-85.632027,41.9575]},n4517:{id:"n4517",loc:[-85.631038,41.958066]},n4518:{id:"n4518",loc:[-85.630787,41.954769]},n4519:{id:"n4519",loc:[-85.630806,41.957342]},n452:{id:"n452",loc:[-85.634123,41.943596]},n4520:{id:"n4520",loc:[-85.630809,41.957428],tags:{highway:"crossing"}},n4521:{id:"n4521",loc:[-85.630912,41.957506],tags:{highway:"crossing"}},n4522:{id:"n4522",loc:[-85.631033,41.957428],tags:{highway:"crossing"}},n4523:{id:"n4523",loc:[-85.631032,41.957341]},n4524:{id:"n4524",loc:[-85.63091,41.957341],tags:{highway:"crossing"}},n4525:{id:"n4525",loc:[-85.631027,41.95597]},n4526:{id:"n4526",loc:[-85.631027,41.955913],tags:{highway:"crossing"}},n4527:{id:"n4527",loc:[-85.631025,41.955873]},n4528:{id:"n4528",loc:[-85.631073,41.955913],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4529:{id:"n4529",loc:[-85.631007,41.954766]},n453:{id:"n453",loc:[-85.634709,41.943926]},n4530:{id:"n4530",loc:[-85.630881,41.954768],tags:{highway:"crossing"}},n4531:{id:"n4531",loc:[-85.628022,41.954776]},n4532:{id:"n4532",loc:[-85.627385,41.95584]},n4533:{id:"n4533",loc:[-85.627329,41.955937]},n4534:{id:"n4534",loc:[-85.626583,41.957153]},n4535:{id:"n4535",loc:[-85.629675,41.954564],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4536:{id:"n4536",loc:[-85.630881,41.954806],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4537:{id:"n4537",loc:[-85.630879,41.954564],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4538:{id:"n4538",loc:[-85.630784,41.954682],tags:{highway:"crossing"}},n4539:{id:"n4539",loc:[-85.63078,41.954595]},n454:{id:"n454",loc:[-85.63525,41.943855]},n4540:{id:"n4540",loc:[-85.630879,41.954595],tags:{highway:"crossing"}},n4541:{id:"n4541",loc:[-85.631004,41.954594]},n4542:{id:"n4542",loc:[-85.631006,41.954681],tags:{highway:"crossing"}},n4543:{id:"n4543",loc:[-85.631045,41.959036],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4544:{id:"n4544",loc:[-85.632071,41.959029],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4545:{id:"n4545",loc:[-85.632257,41.959027],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4546:{id:"n4546",loc:[-85.631966,41.957427],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4547:{id:"n4547",loc:[-85.632297,41.957426],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4548:{id:"n4548",loc:[-85.631976,41.955911],tags:{highway:"give_way",direction:"forward"}},n4549:{id:"n4549",loc:[-85.632272,41.955911],tags:{highway:"give_way",direction:"backward"}},n455:{id:"n455",loc:[-85.635224,41.943869]},n4550:{id:"n4550",loc:[-85.632097,41.954805],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4551:{id:"n4551",loc:[-85.632094,41.954566],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4552:{id:"n4552",loc:[-85.626519,41.957256]},n4553:{id:"n4553",loc:[-85.625334,41.959165]},n4554:{id:"n4554",loc:[-85.626483,41.95806]},n4555:{id:"n4555",loc:[-85.626481,41.958175]},n4556:{id:"n4556",loc:[-85.626412,41.958174]},n4557:{id:"n4557",loc:[-85.626412,41.958202]},n4558:{id:"n4558",loc:[-85.62628,41.958201]},n4559:{id:"n4559",loc:[-85.626283,41.958057]},n456:{id:"n456",loc:[-85.638854,41.943104]},n4560:{id:"n4560",loc:[-85.622763,41.95109],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4561:{id:"n4561",loc:[-85.622858,41.950876],tags:{emergency:"fire_hydrant"}},n4562:{id:"n4562",loc:[-85.624073,41.950393]},n4563:{id:"n4563",loc:[-85.624077,41.950924]},n4564:{id:"n4564",loc:[-85.624599,41.950984],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4565:{id:"n4565",loc:[-85.624831,41.95119],tags:{emergency:"fire_hydrant"}},n4566:{id:"n4566",loc:[-85.624437,41.952568],tags:{emergency:"fire_hydrant"}},n4567:{id:"n4567",loc:[-85.624077,41.954606],tags:{emergency:"fire_hydrant"}},n4568:{id:"n4568",loc:[-85.624263,41.954888]},n4569:{id:"n4569",loc:[-85.624206,41.954919]},n457:{id:"n457",loc:[-85.635186,41.943901]},n4570:{id:"n4570",loc:[-85.624154,41.954865]},n4571:{id:"n4571",loc:[-85.624212,41.954835]},n4572:{id:"n4572",loc:[-85.622442,41.954401],tags:{emergency:"fire_hydrant"}},n4573:{id:"n4573",loc:[-85.619751,41.954658],tags:{emergency:"fire_hydrant"}},n4574:{id:"n4574",loc:[-85.617785,41.954534]},n4575:{id:"n4575",loc:[-85.617416,41.954721]},n4576:{id:"n4576",loc:[-85.617662,41.95474]},n4577:{id:"n4577",loc:[-85.618014,41.954717]},n4578:{id:"n4578",loc:[-85.617886,41.954671]},n4579:{id:"n4579",loc:[-85.617831,41.954612]},n458:{id:"n458",loc:[-85.635162,41.943917]},n4580:{id:"n4580",loc:[-85.617968,41.954752]},n4581:{id:"n4581",loc:[-85.617815,41.954752]},n4582:{id:"n4582",loc:[-85.617938,41.954695]},n4583:{id:"n4583",loc:[-85.617856,41.954642],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4584:{id:"n4584",loc:[-85.619116,41.954164],tags:{man_made:"flagpole"}},n4585:{id:"n4585",loc:[-85.619569,41.953255],tags:{emergency:"fire_hydrant"}},n4586:{id:"n4586",loc:[-85.620352,41.951894],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4587:{id:"n4587",loc:[-85.620485,41.951948],tags:{emergency:"fire_hydrant"}},n4588:{id:"n4588",loc:[-85.620316,41.950999],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4589:{id:"n4589",loc:[-85.620311,41.950131],tags:{highway:"stop",direction:"backward",stop:"minor"}},n459:{id:"n459",loc:[-85.634856,41.943905]},n4590:{id:"n4590",loc:[-85.620374,41.95018],tags:{emergency:"fire_hydrant"}},n4591:{id:"n4591",loc:[-85.620301,41.949239],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4592:{id:"n4592",loc:[-85.620278,41.947443],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4593:{id:"n4593",loc:[-85.619844,41.947444],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4594:{id:"n4594",loc:[-85.620191,41.947352],tags:{emergency:"fire_hydrant"}},n4595:{id:"n4595",loc:[-85.622819,41.947493],tags:{emergency:"fire_hydrant"}},n4596:{id:"n4596",loc:[-85.622744,41.947541],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4597:{id:"n4597",loc:[-85.622739,41.947316],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4598:{id:"n4598",loc:[-85.622909,41.948333],tags:{highway:"give_way"}},n4599:{id:"n4599",loc:[-85.622593,41.948333],tags:{highway:"give_way"}},n46:{id:"n46",loc:[-85.637131,41.94307]},n460:{id:"n460",loc:[-85.634811,41.944007]},n4600:{id:"n4600",loc:[-85.622835,41.948387],tags:{emergency:"fire_hydrant"}},n4601:{id:"n4601",loc:[-85.622768,41.949125],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4602:{id:"n4602",loc:[-85.622769,41.949325],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4603:{id:"n4603",loc:[-85.622837,41.949329],tags:{emergency:"fire_hydrant"}},n4604:{id:"n4604",loc:[-85.622614,41.950113],tags:{highway:"give_way",direction:"forward"}},n4605:{id:"n4605",loc:[-85.624777,41.949219],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4606:{id:"n4606",loc:[-85.624849,41.949106],tags:{emergency:"fire_hydrant"}},n4607:{id:"n4607",loc:[-85.624858,41.950119],tags:{emergency:"fire_hydrant"}},n4608:{id:"n4608",loc:[-85.624752,41.948334],tags:{highway:"give_way"}},n4609:{id:"n4609",loc:[-85.624845,41.948422],tags:{emergency:"fire_hydrant"}},n461:{id:"n461",loc:[-85.634987,41.943112]},n4610:{id:"n4610",loc:[-85.62484,41.947539],tags:{emergency:"fire_hydrant"}},n4611:{id:"n4611",loc:[-85.62476,41.947428],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4612:{id:"n4612",loc:[-85.620286,41.950926]},n4613:{id:"n4613",loc:[-85.618237,41.950963]},n4614:{id:"n4614",loc:[-85.618107,41.950876]},n4615:{id:"n4615",loc:[-85.618131,41.950393]},n4616:{id:"n4616",loc:[-85.618232,41.949913]},n4617:{id:"n4617",loc:[-85.619138,41.950212]},n4618:{id:"n4618",loc:[-85.619299,41.950388]},n4619:{id:"n4619",loc:[-85.619306,41.950897]},n462:{id:"n462",loc:[-85.634698,41.943194]},n4620:{id:"n4620",loc:[-85.619155,41.950958]},n4621:{id:"n4621",loc:[-85.620079,41.947715]},n4622:{id:"n4622",loc:[-85.619674,41.947728]},n4623:{id:"n4623",loc:[-85.619634,41.947735]},n4624:{id:"n4624",loc:[-85.619587,41.947756],tags:{barrier:"gate"}},n4625:{id:"n4625",loc:[-85.61953,41.947796]},n4626:{id:"n4626",loc:[-85.619475,41.947847]},n4627:{id:"n4627",loc:[-85.619433,41.947903]},n4628:{id:"n4628",loc:[-85.619402,41.947982]},n4629:{id:"n4629",loc:[-85.619394,41.948043]},n463:{id:"n463",loc:[-85.634632,41.943219]},n4630:{id:"n4630",loc:[-85.619395,41.948476]},n4631:{id:"n4631",loc:[-85.618367,41.947452]},n4632:{id:"n4632",loc:[-85.618371,41.947567],tags:{barrier:"gate"}},n4633:{id:"n4633",loc:[-85.618341,41.947622]},n4634:{id:"n4634",loc:[-85.618138,41.94773]},n4635:{id:"n4635",loc:[-85.618078,41.947814]},n4636:{id:"n4636",loc:[-85.618072,41.948009]},n4637:{id:"n4637",loc:[-85.618269,41.947666]},n4638:{id:"n4638",loc:[-85.618099,41.947765]},n4639:{id:"n4639",loc:[-85.618378,41.954453]},n464:{id:"n464",loc:[-85.63459,41.943239]},n4640:{id:"n4640",loc:[-85.618198,41.95453]},n4641:{id:"n4641",loc:[-85.618212,41.954623]},n4642:{id:"n4642",loc:[-85.635211,41.943103],tags:{leisure:"picnic_table"}},n4643:{id:"n4643",loc:[-85.635345,41.943448],tags:{leisure:"picnic_table"}},n4644:{id:"n4644",loc:[-85.635901,41.943353],tags:{amenity:"bench"}},n4645:{id:"n4645",loc:[-85.635815,41.942638],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4646:{id:"n4646",loc:[-85.635355,41.942044],tags:{leisure:"picnic_table"}},n4647:{id:"n4647",loc:[-85.635206,41.942045],tags:{leisure:"picnic_table"}},n4648:{id:"n4648",loc:[-85.63504,41.941992],tags:{leisure:"picnic_table"}},n4649:{id:"n4649",loc:[-85.635185,41.942001]},n465:{id:"n465",loc:[-85.634555,41.943263]},n4650:{id:"n4650",loc:[-85.635176,41.942021]},n4651:{id:"n4651",loc:[-85.635127,41.942008]},n4652:{id:"n4652",loc:[-85.635136,41.941988]},n4653:{id:"n4653",loc:[-85.635,41.941709],tags:{emergency:"fire_hydrant"}},n4654:{id:"n4654",loc:[-85.634893,41.941801]},n4655:{id:"n4655",loc:[-85.634937,41.941843]},n4656:{id:"n4656",loc:[-85.634963,41.941859]},n4657:{id:"n4657",loc:[-85.635027,41.941904]},n4658:{id:"n4658",loc:[-85.63494,41.94187]},n4659:{id:"n4659",loc:[-85.634951,41.941871]},n466:{id:"n466",loc:[-85.634526,41.943289]},n4660:{id:"n4660",loc:[-85.634753,41.941701],tags:{amenity:"drinking_water"}},n4661:{id:"n4661",loc:[-85.634717,41.941804],tags:{amenity:"bench"}},n4662:{id:"n4662",loc:[-85.634554,41.941883],tags:{amenity:"bench"}},n4663:{id:"n4663",loc:[-85.635002,41.941579],tags:{amenity:"fountain"}},n4664:{id:"n4664",loc:[-85.635258,41.94188],tags:{amenity:"waste_basket"}},n4665:{id:"n4665",loc:[-85.635262,41.941581],tags:{amenity:"bench"}},n4666:{id:"n4666",loc:[-85.635319,41.941744],tags:{amenity:"bench"}},n4667:{id:"n4667",loc:[-85.634702,41.941473],tags:{amenity:"waste_basket"}},n4668:{id:"n4668",loc:[-85.633981,41.941966],tags:{amenity:"bench"}},n4669:{id:"n4669",loc:[-85.63388,41.941743]},n467:{id:"n467",loc:[-85.635163,41.944985]},n4670:{id:"n4670",loc:[-85.633746,41.941741]},n4671:{id:"n4671",loc:[-85.633749,41.941664]},n4672:{id:"n4672",loc:[-85.633883,41.941667]},n4673:{id:"n4673",loc:[-85.634283,41.941183],tags:{leisure:"picnic_table"}},n4674:{id:"n4674",loc:[-85.634046,41.941102],tags:{amenity:"bbq"}},n4675:{id:"n4675",loc:[-85.63401,41.941093],tags:{amenity:"bbq"}},n4676:{id:"n4676",loc:[-85.633408,41.940862],tags:{amenity:"bench"}},n4677:{id:"n4677",loc:[-85.633359,41.940651],tags:{amenity:"bench"}},n4678:{id:"n4678",loc:[-85.634109,41.940831]},n4679:{id:"n4679",loc:[-85.63396,41.940867]},n468:{id:"n468",loc:[-85.635095,41.945035]},n4680:{id:"n4680",loc:[-85.633816,41.940913]},n4681:{id:"n4681",loc:[-85.633237,41.940455]},n4682:{id:"n4682",loc:[-85.634453,41.940025],tags:{emergency:"fire_hydrant"}},n4683:{id:"n4683",loc:[-85.635692,41.940218],tags:{emergency:"fire_hydrant"}},n4684:{id:"n4684",loc:[-85.635566,41.940102],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4685:{id:"n4685",loc:[-85.635961,41.940125],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4686:{id:"n4686",loc:[-85.635883,41.94012],tags:{crossing:"zebra",highway:"crossing"}},n4687:{id:"n4687",loc:[-85.635883,41.94006]},n4688:{id:"n4688",loc:[-85.635768,41.940051],tags:{crossing:"zebra",highway:"crossing"}},n4689:{id:"n4689",loc:[-85.635669,41.940043]},n469:{id:"n469",loc:[-85.634269,41.944431]},n4690:{id:"n4690",loc:[-85.635661,41.940107],tags:{crossing:"zebra",highway:"crossing"}},n4691:{id:"n4691",loc:[-85.635424,41.941005],tags:{amenity:"fountain"}},n4692:{id:"n4692",loc:[-85.635542,41.941371],tags:{amenity:"bench"}},n4693:{id:"n4693",loc:[-85.635709,41.941341],tags:{emergency:"fire_hydrant"}},n4694:{id:"n4694",loc:[-85.637038,41.942513],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4695:{id:"n4695",loc:[-85.637174,41.941354],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4696:{id:"n4696",loc:[-85.637091,41.941273],tags:{emergency:"fire_hydrant"}},n4697:{id:"n4697",loc:[-85.638058,41.941346],tags:{highway:"give_way",direction:"forward"}},n4698:{id:"n4698",loc:[-85.638359,41.941344],tags:{highway:"give_way",direction:"backward"}},n4699:{id:"n4699",loc:[-85.638288,41.941236],tags:{emergency:"fire_hydrant"}},n47:{id:"n47",loc:[-85.636693,41.943073]},n470:{id:"n470",loc:[-85.634352,41.944376]},n4700:{id:"n4700",loc:[-85.63935,41.94128],tags:{emergency:"fire_hydrant"}},n4701:{id:"n4701",loc:[-85.639277,41.941337],tags:{highway:"give_way",direction:"forward"}},n4702:{id:"n4702",loc:[-85.639548,41.941334],tags:{highway:"give_way",direction:"backward"}},n4703:{id:"n4703",loc:[-85.642191,41.940039]},n4704:{id:"n4704",loc:[-85.640585,41.941263],tags:{emergency:"fire_hydrant"}},n4705:{id:"n4705",loc:[-85.64049,41.941327],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4706:{id:"n4706",loc:[-85.640803,41.941324],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4707:{id:"n4707",loc:[-85.641717,41.941317],tags:{highway:"stop",direction:"forward",stop:"all"}},n4708:{id:"n4708",loc:[-85.641846,41.941415],tags:{highway:"stop",direction:"backward",stop:"all"}},n4709:{id:"n4709",loc:[-85.641756,41.941392],tags:{emergency:"fire_hydrant"}},n471:{id:"n471",loc:[-85.634747,41.944561],tags:{railway:"crossing"}},n4710:{id:"n4710",loc:[-85.642014,41.941313],tags:{highway:"stop",direction:"forward",stop:"all"}},n4711:{id:"n4711",loc:[-85.641854,41.942455],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4712:{id:"n4712",loc:[-85.641859,41.942739],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4713:{id:"n4713",loc:[-85.640754,41.942707],tags:{emergency:"fire_hydrant"}},n4714:{id:"n4714",loc:[-85.640669,41.942716],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4715:{id:"n4715",loc:[-85.640664,41.942478],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4716:{id:"n4716",loc:[-85.63964,41.94274],tags:{man_made:"flagpole"}},n4717:{id:"n4717",loc:[-85.639455,41.942731],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4718:{id:"n4718",loc:[-85.63945,41.942492],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4719:{id:"n4719",loc:[-85.639527,41.942505],tags:{emergency:"fire_hydrant"}},n472:{id:"n472",loc:[-85.634667,41.944613]},n4720:{id:"n4720",loc:[-85.638238,41.942745],tags:{highway:"stop",direction:"backward",stop:"minor"}},n4721:{id:"n4721",loc:[-85.638233,41.942511],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4722:{id:"n4722",loc:[-85.638018,41.94299],tags:{amenity:"waste_disposal"}},n4723:{id:"n4723",loc:[-85.637918,41.944152],tags:{amenity:"waste_basket"}},n4724:{id:"n4724",loc:[-85.635902,41.943291],tags:{leisure:"picnic_table"}},n4725:{id:"n4725",loc:[-85.63704,41.942741],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4726:{id:"n4726",loc:[-85.633467,41.943818],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4727:{id:"n4727",loc:[-85.633987,41.943531],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4728:{id:"n4728",loc:[-85.632154,41.943539],tags:{emergency:"fire_hydrant"}},n4729:{id:"n4729",loc:[-85.633567,41.944641],tags:{amenity:"bench"}},n473:{id:"n473",loc:[-85.634161,41.944371]},n4730:{id:"n4730",loc:[-85.633127,41.944574],tags:{amenity:"bench"}},n4731:{id:"n4731",loc:[-85.633439,41.944871],tags:{amenity:"bench"}},n4732:{id:"n4732",loc:[-85.633676,41.944799],tags:{amenity:"waste_basket"}},n4733:{id:"n4733",loc:[-85.633466,41.944862],tags:{amenity:"waste_basket"}},n4734:{id:"n4734",loc:[-85.633451,41.944847],tags:{emergency:"fire_hydrant"}},n4735:{id:"n4735",loc:[-85.634202,41.945543],tags:{amenity:"waste_basket"}},n4736:{id:"n4736",loc:[-85.634652,41.945472],tags:{leisure:"picnic_table"}},n4737:{id:"n4737",loc:[-85.6347,41.945445],tags:{leisure:"picnic_table"}},n4738:{id:"n4738",loc:[-85.634646,41.945662],tags:{emergency:"fire_hydrant"}},n4739:{id:"n4739",loc:[-85.634673,41.945687],tags:{amenity:"waste_basket"}},n474:{id:"n474",loc:[-85.633861,41.944117]},n4740:{id:"n4740",loc:[-85.63449,41.945827],tags:{amenity:"clock",display:"analog"}},n4741:{id:"n4741",loc:[-85.63481,41.946056],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4742:{id:"n4742",loc:[-85.634814,41.946176],tags:{amenity:"post_box"}},n4743:{id:"n4743",loc:[-85.638744,41.945328]},n4744:{id:"n4744",loc:[-85.63867,41.945228],tags:{amenity:"bench"}},n4745:{id:"n4745",loc:[-85.639487,41.945042],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4746:{id:"n4746",loc:[-85.639635,41.94387],tags:{highway:"stop",stop:"minor",direction:"backward"}},n4747:{id:"n4747",loc:[-85.639549,41.943756],tags:{emergency:"fire_hydrant"}},n4748:{id:"n4748",loc:[-85.64055,41.943862],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4749:{id:"n4749",loc:[-85.640864,41.943859],tags:{highway:"stop",stop:"minor",direction:"backward"}},n475:{id:"n475",loc:[-85.633906,41.943535]},n4750:{id:"n4750",loc:[-85.640718,41.945022],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4751:{id:"n4751",loc:[-85.640664,41.945076],tags:{emergency:"fire_hydrant"}},n4752:{id:"n4752",loc:[-85.641913,41.94502],tags:{highway:"stop",direction:"forward",stop:"minor"}},n4753:{id:"n4753",loc:[-85.641838,41.945076],tags:{emergency:"fire_hydrant"}},n4754:{id:"n4754",loc:[-85.642045,41.94385],tags:{highway:"give_way",direction:"backward"}},n4755:{id:"n4755",loc:[-85.641738,41.943852],tags:{highway:"give_way",direction:"forward"}},n4756:{id:"n4756",loc:[-85.642928,41.943843],tags:{highway:"stop",stop:"minor",direction:"forward"}},n4757:{id:"n4757",loc:[-85.64305,41.943902],tags:{emergency:"fire_hydrant"}},n4758:{id:"n4758",loc:[-85.642986,41.945105],tags:{highway:"stop",direction:"backward",stop:"all"}},n4759:{id:"n4759",loc:[-85.643136,41.94502],tags:{highway:"stop",stop:"all",direction:"forward"}},n476:{id:"n476",loc:[-85.63423,41.943692]},n4760:{id:"n4760",loc:[-85.63169,41.947812]},n4761:{id:"n4761",loc:[-85.631307,41.947655]},n4762:{id:"n4762",loc:[-85.631407,41.947413]},n4763:{id:"n4763",loc:[-85.631173,41.947306]},n4764:{id:"n4764",loc:[-85.631316,41.947145]},n4765:{id:"n4765",loc:[-85.631476,41.947087]},n4766:{id:"n4766",loc:[-85.631793,41.946871]},n4767:{id:"n4767",loc:[-85.631884,41.946723]},n4768:{id:"n4768",loc:[-85.631814,41.946397]},n4769:{id:"n4769",loc:[-85.631382,41.947685]},n477:{id:"n477",loc:[-85.635096,41.942814]},n4770:{id:"n4770",loc:[-85.63109,41.947819]},n4771:{id:"n4771",loc:[-85.630921,41.947961]},n4772:{id:"n4772",loc:[-85.630249,41.947709]},n4773:{id:"n4773",loc:[-85.630149,41.947451]},n4774:{id:"n4774",loc:[-85.629733,41.947339]},n4775:{id:"n4775",loc:[-85.629755,41.946948]},n4776:{id:"n4776",loc:[-85.630457,41.947103]},n4777:{id:"n4777",loc:[-85.630934,41.946939]},n4778:{id:"n4778",loc:[-85.631277,41.946852]},n4779:{id:"n4779",loc:[-85.63142,41.946781]},n478:{id:"n478",loc:[-85.635058,41.942795]},n4780:{id:"n4780",loc:[-85.631116,41.946474]},n4781:{id:"n4781",loc:[-85.63073,41.945965]},n4782:{id:"n4782",loc:[-85.631337,41.94571]},n4783:{id:"n4783",loc:[-85.631589,41.945487]},n4784:{id:"n4784",loc:[-85.632278,41.945784]},n4785:{id:"n4785",loc:[-85.632105,41.946034]},n4786:{id:"n4786",loc:[-85.632532,41.946198]},n4787:{id:"n4787",loc:[-85.632566,41.946151]},n4788:{id:"n4788",loc:[-85.632684,41.946196]},n4789:{id:"n4789",loc:[-85.628676,41.947106]},n479:{id:"n479",loc:[-85.635002,41.94279]},n4790:{id:"n4790",loc:[-85.628973,41.946476]},n4791:{id:"n4791",loc:[-85.629094,41.946079]},n4792:{id:"n4792",loc:[-85.629226,41.94578]},n4793:{id:"n4793",loc:[-85.629479,41.945682]},n4794:{id:"n4794",loc:[-85.630606,41.94569]},n4795:{id:"n4795",loc:[-85.631255,41.945588]},n4796:{id:"n4796",loc:[-85.631546,41.945281]},n4797:{id:"n4797",loc:[-85.631629,41.944823]},n4798:{id:"n4798",loc:[-85.631766,41.944958]},n4799:{id:"n4799",loc:[-85.631689,41.945318]},n48:{id:"n48",loc:[-85.636689,41.94276]},n480:{id:"n480",loc:[-85.634908,41.94279]},n4800:{id:"n4800",loc:[-85.615069,41.945527]},n4801:{id:"n4801",loc:[-85.615058,41.946677]},n4802:{id:"n4802",loc:[-85.613692,41.946689]},n4803:{id:"n4803",loc:[-85.613475,41.946531]},n4804:{id:"n4804",loc:[-85.611717,41.946252]},n4805:{id:"n4805",loc:[-85.611353,41.946385]},n4806:{id:"n4806",loc:[-85.611304,41.947397]},n4807:{id:"n4807",loc:[-85.610564,41.947401]},n4808:{id:"n4808",loc:[-85.610553,41.947122]},n4809:{id:"n4809",loc:[-85.610194,41.946992]},n481:{id:"n481",loc:[-85.634478,41.942342]},n4810:{id:"n4810",loc:[-85.609976,41.946628]},n4811:{id:"n4811",loc:[-85.609769,41.946523]},n4812:{id:"n4812",loc:[-85.609307,41.946523]},n4813:{id:"n4813",loc:[-85.609035,41.946462]},n4814:{id:"n4814",loc:[-85.609018,41.943277]},n4815:{id:"n4815",loc:[-85.609617,41.943423]},n4816:{id:"n4816",loc:[-85.610471,41.943447]},n4817:{id:"n4817",loc:[-85.621491,41.949168]},n4818:{id:"n4818",loc:[-85.620266,41.94917]},n4819:{id:"n4819",loc:[-85.620262,41.947557]},n482:{id:"n482",loc:[-85.634521,41.942254]},n4820:{id:"n4820",loc:[-85.620825,41.947556]},n4821:{id:"n4821",loc:[-85.620827,41.948371]},n4822:{id:"n4822",loc:[-85.621489,41.94837]},n4823:{id:"n4823",loc:[-85.622865,41.950928]},n4824:{id:"n4824",loc:[-85.622858,41.949744]},n4825:{id:"n4825",loc:[-85.623696,41.949714]},n4826:{id:"n4826",loc:[-85.623696,41.949647]},n4827:{id:"n4827",loc:[-85.624019,41.949647]},n4828:{id:"n4828",loc:[-85.624024,41.950093]},n4829:{id:"n4829",loc:[-85.622885,41.949711]},n483:{id:"n483",loc:[-85.63425,41.941819]},n4830:{id:"n4830",loc:[-85.624584,41.951049]},n4831:{id:"n4831",loc:[-85.624669,41.9511]},n4832:{id:"n4832",loc:[-85.624316,41.952218]},n4833:{id:"n4833",loc:[-85.623819,41.952094]},n4834:{id:"n4834",loc:[-85.623385,41.952101]},n4835:{id:"n4835",loc:[-85.623456,41.951238]},n4836:{id:"n4836",loc:[-85.623535,41.951051]},n4837:{id:"n4837",loc:[-85.624693,41.950921]},n4838:{id:"n4838",loc:[-85.624727,41.950897]},n4839:{id:"n4839",loc:[-85.624869,41.950341]},n484:{id:"n484",loc:[-85.634324,41.942131]},n4840:{id:"n4840",loc:[-85.624859,41.949284]},n4841:{id:"n4841",loc:[-85.624788,41.949262]},n4842:{id:"n4842",loc:[-85.62402,41.949265]},n4843:{id:"n4843",loc:[-85.610382,41.954663]},n4844:{id:"n4844",loc:[-85.605675,41.954667]},n4845:{id:"n4845",loc:[-85.605669,41.949407]},n4846:{id:"n4846",loc:[-85.610376,41.949404]},n4847:{id:"n4847",loc:[-85.605552,41.958536]},n4848:{id:"n4848",loc:[-85.595755,41.958588]},n4849:{id:"n4849",loc:[-85.595732,41.956419]},n485:{id:"n485",loc:[-85.634211,41.941374]},n4850:{id:"n4850",loc:[-85.596908,41.955605]},n4851:{id:"n4851",loc:[-85.597723,41.955596]},n4852:{id:"n4852",loc:[-85.597715,41.954967]},n4853:{id:"n4853",loc:[-85.5874,41.955018]},n4854:{id:"n4854",loc:[-85.586615,41.955124]},n4855:{id:"n4855",loc:[-85.58613,41.955293]},n4856:{id:"n4856",loc:[-85.586166,41.962122]},n4857:{id:"n4857",loc:[-85.587008,41.955052]},n4858:{id:"n4858",loc:[-85.591685,41.95499]},n4859:{id:"n4859",loc:[-85.591718,41.956649]},n486:{id:"n486",loc:[-85.634085,41.940704]},n4860:{id:"n4860",loc:[-85.591133,41.956649]},n4861:{id:"n4861",loc:[-85.591061,41.95582]},n4862:{id:"n4862",loc:[-85.590677,41.95613]},n4863:{id:"n4863",loc:[-85.590826,41.956369]},n4864:{id:"n4864",loc:[-85.591016,41.954991]},n4865:{id:"n4865",loc:[-85.587656,41.954855]},n4866:{id:"n4866",loc:[-85.5964,41.955274]},n4867:{id:"n4867",loc:[-85.58776,41.96178]},n4868:{id:"n4868",loc:[-85.601172,41.960448]},n4869:{id:"n4869",loc:[-85.589489,41.960478]},n487:{id:"n487",loc:[-85.635567,41.940944]},n4870:{id:"n4870",loc:[-85.586664,41.960493]},n4871:{id:"n4871",loc:[-85.591227,41.95676]},n4872:{id:"n4872",loc:[-85.589424,41.958093]},n4873:{id:"n4873",loc:[-85.588779,41.957611]},n4874:{id:"n4874",loc:[-85.590583,41.956278]},n4875:{id:"n4875",loc:[-85.590759,41.957106]},n4876:{id:"n4876",loc:[-85.592213,41.958218]},n4877:{id:"n4877",loc:[-85.592262,41.958279]},n4878:{id:"n4878",loc:[-85.592304,41.958358]},n4879:{id:"n4879",loc:[-85.592351,41.95849]},n488:{id:"n488",loc:[-85.635542,41.940919]},n4880:{id:"n4880",loc:[-85.592363,41.958605]},n4881:{id:"n4881",loc:[-85.592383,41.96047]},n4882:{id:"n4882",loc:[-85.592376,41.959808]},n4883:{id:"n4883",loc:[-85.600825,41.959779]},n4884:{id:"n4884",loc:[-85.601084,41.959844]},n4885:{id:"n4885",loc:[-85.601144,41.959908]},n4886:{id:"n4886",loc:[-85.601164,41.960008]},n4887:{id:"n4887",loc:[-85.601162,41.960125]},n4888:{id:"n4888",loc:[-85.601134,41.960221]},n4889:{id:"n4889",loc:[-85.600993,41.960353]},n489:{id:"n489",loc:[-85.635514,41.940906]},n4890:{id:"n4890",loc:[-85.600794,41.960449]},n4891:{id:"n4891",loc:[-85.60098,41.959792]},n4892:{id:"n4892",loc:[-85.601067,41.960294]},n4893:{id:"n4893",loc:[-85.596829,41.959793]},n4894:{id:"n4894",loc:[-85.596839,41.960459]},n4895:{id:"n4895",loc:[-85.589364,41.958048]},n4896:{id:"n4896",loc:[-85.587374,41.959511]},n4897:{id:"n4897",loc:[-85.587286,41.959564]},n4898:{id:"n4898",loc:[-85.587163,41.959632]},n4899:{id:"n4899",loc:[-85.586694,41.959865]},n49:{id:"n49",loc:[-85.637127,41.942757]},n490:{id:"n490",loc:[-85.635469,41.940896]},n4900:{id:"n4900",loc:[-85.586634,41.959921]},n4901:{id:"n4901",loc:[-85.586607,41.960001]},n4902:{id:"n4902",loc:[-85.586599,41.960099]},n4903:{id:"n4903",loc:[-85.586602,41.96034]},n4904:{id:"n4904",loc:[-85.586669,41.960439]},n4905:{id:"n4905",loc:[-85.586758,41.960493]},n4906:{id:"n4906",loc:[-85.586618,41.960391]},n4907:{id:"n4907",loc:[-85.591201,41.956352]},n4908:{id:"n4908",loc:[-85.59112,41.954843]},n4909:{id:"n4909",loc:[-85.591536,41.956349]},n491:{id:"n491",loc:[-85.635667,41.940826]},n4910:{id:"n4910",loc:[-85.590953,41.956354]},n4911:{id:"n4911",loc:[-85.591468,41.956406]},n4912:{id:"n4912",loc:[-85.591469,41.956478]},n4913:{id:"n4913",loc:[-85.591123,41.956481]},n4914:{id:"n4914",loc:[-85.591121,41.956409]},n4915:{id:"n4915",loc:[-85.590826,41.955954]},n4916:{id:"n4916",loc:[-85.590612,41.956115]},n4917:{id:"n4917",loc:[-85.590402,41.955962]},n4918:{id:"n4918",loc:[-85.590622,41.955804]},n4919:{id:"n4919",loc:[-85.59011,41.956502]},n492:{id:"n492",loc:[-85.636197,41.940599]},n4920:{id:"n4920",loc:[-85.589877,41.956668]},n4921:{id:"n4921",loc:[-85.589777,41.95659]},n4922:{id:"n4922",loc:[-85.59001,41.956424]},n4923:{id:"n4923",loc:[-85.589595,41.956427]},n4924:{id:"n4924",loc:[-85.589434,41.956549]},n4925:{id:"n4925",loc:[-85.589262,41.956424]},n4926:{id:"n4926",loc:[-85.589422,41.956302]},n4927:{id:"n4927",loc:[-85.589358,41.956286]},n4928:{id:"n4928",loc:[-85.5892,41.956408]},n4929:{id:"n4929",loc:[-85.589032,41.956288]},n493:{id:"n493",loc:[-85.6362,41.940686]},n4930:{id:"n4930",loc:[-85.58919,41.956166]},n4931:{id:"n4931",loc:[-85.589165,41.956132]},n4932:{id:"n4932",loc:[-85.589002,41.956253]},n4933:{id:"n4933",loc:[-85.588826,41.956122]},n4934:{id:"n4934",loc:[-85.588989,41.956001]},n4935:{id:"n4935",loc:[-85.588673,41.955757]},n4936:{id:"n4936",loc:[-85.588502,41.955882]},n4937:{id:"n4937",loc:[-85.588339,41.955759]},n4938:{id:"n4938",loc:[-85.58851,41.955633]},n4939:{id:"n4939",loc:[-85.590382,41.955892]},n494:{id:"n494",loc:[-85.635969,41.94069]},n4940:{id:"n4940",loc:[-85.589923,41.956231]},n4941:{id:"n4941",loc:[-85.58984,41.956168]},n4942:{id:"n4942",loc:[-85.5903,41.95583]},n4943:{id:"n4943",loc:[-85.589636,41.956038]},n4944:{id:"n4944",loc:[-85.589546,41.956105]},n4945:{id:"n4945",loc:[-85.589045,41.955729]},n4946:{id:"n4946",loc:[-85.589135,41.955662]},n4947:{id:"n4947",loc:[-85.590718,41.955293]},n4948:{id:"n4948",loc:[-85.590718,41.955374]},n4949:{id:"n4949",loc:[-85.589211,41.955369]},n495:{id:"n495",loc:[-85.635965,41.940561]},n4950:{id:"n4950",loc:[-85.589212,41.955287]},n4951:{id:"n4951",loc:[-85.589675,41.956817]},n4952:{id:"n4952",loc:[-85.58947,41.95697]},n4953:{id:"n4953",loc:[-85.589219,41.956784]},n4954:{id:"n4954",loc:[-85.589425,41.95663]},n4955:{id:"n4955",loc:[-85.589373,41.95702]},n4956:{id:"n4956",loc:[-85.589171,41.957172]},n4957:{id:"n4957",loc:[-85.588962,41.957019]},n4958:{id:"n4958",loc:[-85.589164,41.956867]},n4959:{id:"n4959",loc:[-85.588881,41.955006]},n496:{id:"n496",loc:[-85.636031,41.94056]},n4960:{id:"n4960",loc:[-85.588804,41.955006]},n4961:{id:"n4961",loc:[-85.604773,41.954521]},n4962:{id:"n4962",loc:[-85.601603,41.954527]},n4963:{id:"n4963",loc:[-85.600823,41.954169]},n4964:{id:"n4964",loc:[-85.600828,41.950191]},n4965:{id:"n4965",loc:[-85.601673,41.949457]},n4966:{id:"n4966",loc:[-85.604464,41.949488]},n4967:{id:"n4967",loc:[-85.60538,41.950212]},n4968:{id:"n4968",loc:[-85.605395,41.954108]},n4969:{id:"n4969",loc:[-85.604771,41.954109]},n497:{id:"n497",loc:[-85.636032,41.940602]},n4970:{id:"n4970",loc:[-85.600613,41.953916]},n4971:{id:"n4971",loc:[-85.599758,41.954649]},n4972:{id:"n4972",loc:[-85.591194,41.954663]},n4973:{id:"n4973",loc:[-85.591182,41.950465]},n4974:{id:"n4974",loc:[-85.591871,41.950464]},n4975:{id:"n4975",loc:[-85.591868,41.949209]},n4976:{id:"n4976",loc:[-85.592155,41.949209]},n4977:{id:"n4977",loc:[-85.592155,41.94848]},n4978:{id:"n4978",loc:[-85.600615,41.948482]},n4979:{id:"n4979",loc:[-85.605421,41.949378]},n498:{id:"n498",loc:[-85.635776,41.940583]},n4980:{id:"n4980",loc:[-85.600614,41.949373]},n4981:{id:"n4981",loc:[-85.601316,41.94849]},n4982:{id:"n4982",loc:[-85.601592,41.947641]},n4983:{id:"n4983",loc:[-85.60395,41.947618]},n4984:{id:"n4984",loc:[-85.603973,41.948114]},n4985:{id:"n4985",loc:[-85.605398,41.948103]},n4986:{id:"n4986",loc:[-85.614017,41.965566]},n4987:{id:"n4987",loc:[-85.605787,41.965619]},n4988:{id:"n4988",loc:[-85.60577,41.963821]},n4989:{id:"n4989",loc:[-85.612886,41.963808]},n499:{id:"n499",loc:[-85.63589,41.940578]},n4990:{id:"n4990",loc:[-85.613207,41.963705]},n4991:{id:"n4991",loc:[-85.613511,41.963525]},n4992:{id:"n4992",loc:[-85.613667,41.963305]},n4993:{id:"n4993",loc:[-85.613779,41.962983]},n4994:{id:"n4994",loc:[-85.613797,41.959709]},n4995:{id:"n4995",loc:[-85.613663,41.95936]},n4996:{id:"n4996",loc:[-85.61339,41.959064]},n4997:{id:"n4997",loc:[-85.610503,41.956898]},n4998:{id:"n4998",loc:[-85.610485,41.956595]},n4999:{id:"n4999",loc:[-85.613892,41.956621]},n5:{id:"n5",loc:[-85.622744,41.95268]},n50:{id:"n50",loc:[-85.636673,41.943143]},n500:{id:"n500",loc:[-85.636198,41.940578]},n5000:{id:"n5000",loc:[-85.613866,41.958574]},n5001:{id:"n5001",loc:[-85.615262,41.958561]},n5002:{id:"n5002",loc:[-85.615279,41.959541]},n5003:{id:"n5003",loc:[-85.615314,41.95597]},n5004:{id:"n5004",loc:[-85.613887,41.955988]},n5005:{id:"n5005",loc:[-85.613074,41.962244]},n5006:{id:"n5006",loc:[-85.611678,41.963354]},n5007:{id:"n5007",loc:[-85.611678,41.963487]},n5008:{id:"n5008",loc:[-85.606906,41.963502]},n5009:{id:"n5009",loc:[-85.605777,41.962657]},n501:{id:"n501",loc:[-85.636251,41.940584]},n5010:{id:"n5010",loc:[-85.605711,41.9599]},n5011:{id:"n5011",loc:[-85.608139,41.9585]},n5012:{id:"n5012",loc:[-85.60814,41.956306]},n5013:{id:"n5013",loc:[-85.608854,41.95581]},n5014:{id:"n5014",loc:[-85.610039,41.955883]},n5015:{id:"n5015",loc:[-85.610068,41.956754]},n5016:{id:"n5016",loc:[-85.613058,41.959411]},n5017:{id:"n5017",loc:[-85.610234,41.957068]},n5018:{id:"n5018",loc:[-85.609826,41.95581]},n5019:{id:"n5019",loc:[-85.606987,41.958505]},n502:{id:"n502",loc:[-85.636279,41.940605]},n5020:{id:"n5020",loc:[-85.606498,41.958846]},n5021:{id:"n5021",loc:[-85.606013,41.959342]},n5022:{id:"n5022",loc:[-85.614553,41.961581]},n5023:{id:"n5023",loc:[-85.61465,41.96214]},n5024:{id:"n5024",loc:[-85.615277,41.962442]},n5025:{id:"n5025",loc:[-85.615451,41.962972]},n5026:{id:"n5026",loc:[-85.614355,41.964826]},n5027:{id:"n5027",loc:[-85.615133,41.964589]},n5028:{id:"n5028",loc:[-85.615342,41.963818]},n5029:{id:"n5029",loc:[-85.615971,41.963792]},n503:{id:"n503",loc:[-85.636285,41.940633]},n5030:{id:"n5030",loc:[-85.615751,41.963122]},n5031:{id:"n5031",loc:[-85.616575,41.963123]},n5032:{id:"n5032",loc:[-85.612527,41.963846]},n5033:{id:"n5033",loc:[-85.630653,41.940709]},n5034:{id:"n5034",loc:[-85.629858,41.939568]},n5035:{id:"n5035",loc:[-85.629847,41.937926]},n504:{id:"n504",loc:[-85.636281,41.940662]},n505:{id:"n505",loc:[-85.636266,41.940688]},n506:{id:"n506",loc:[-85.636236,41.940701]},n507:{id:"n507",loc:[-85.63619,41.940706]},n508:{id:"n508",loc:[-85.635892,41.940707]},n509:{id:"n509",loc:[-85.635777,41.9407]},n51:{id:"n51",loc:[-85.636673,41.942864]},n510:{id:"n510",loc:[-85.636044,41.940578]},n511:{id:"n511",loc:[-85.635946,41.940578]},n512:{id:"n512",loc:[-85.636475,41.940732]},n513:{id:"n513",loc:[-85.636475,41.940777]},n514:{id:"n514",loc:[-85.636405,41.940777]},n515:{id:"n515",loc:[-85.636405,41.940732]},n516:{id:"n516",loc:[-85.636471,41.940916]},n517:{id:"n517",loc:[-85.636471,41.940961]},n518:{id:"n518",loc:[-85.636404,41.940961]},n519:{id:"n519",loc:[-85.636404,41.940916]},n52:{id:"n52",loc:[-85.636227,41.942864]},n520:{id:"n520",loc:[-85.636286,41.941127]},n521:{id:"n521",loc:[-85.636203,41.941126]},n522:{id:"n522",loc:[-85.636204,41.941083]},n523:{id:"n523",loc:[-85.636287,41.941083]},n524:{id:"n524",loc:[-85.636124,41.941064]},n525:{id:"n525",loc:[-85.636,41.941065]},n526:{id:"n526",loc:[-85.636,41.940964]},n527:{id:"n527",loc:[-85.636045,41.940964]},n528:{id:"n528",loc:[-85.636045,41.940928]},n529:{id:"n529",loc:[-85.636111,41.940928]},n53:{id:"n53",loc:[-85.636227,41.943143]},n530:{id:"n530",loc:[-85.636111,41.940961]},n531:{id:"n531",loc:[-85.636123,41.940961]},n532:{id:"n532",loc:[-85.636124,41.940997]},n533:{id:"n533",loc:[-85.636164,41.940997]},n534:{id:"n534",loc:[-85.636164,41.941044]},n535:{id:"n535",loc:[-85.636124,41.941044]},n536:{id:"n536",loc:[-85.636534,41.941256]},n537:{id:"n537",loc:[-85.63645,41.941246]},n538:{id:"n538",loc:[-85.636462,41.941189]},n539:{id:"n539",loc:[-85.636546,41.941199]},n54:{id:"n54",loc:[-85.636198,41.943119]},n540:{id:"n540",loc:[-85.636802,41.941226]},n541:{id:"n541",loc:[-85.636701,41.941215]},n542:{id:"n542",loc:[-85.636709,41.941174]},n543:{id:"n543",loc:[-85.636656,41.941168]},n544:{id:"n544",loc:[-85.636666,41.941122]},n545:{id:"n545",loc:[-85.636781,41.941136]},n546:{id:"n546",loc:[-85.636774,41.94117]},n547:{id:"n547",loc:[-85.636812,41.941175]},n548:{id:"n548",loc:[-85.636803,41.941047]},n549:{id:"n549",loc:[-85.636785,41.941047]},n55:{id:"n55",loc:[-85.635945,41.94312]},n550:{id:"n550",loc:[-85.636785,41.941058]},n551:{id:"n551",loc:[-85.636644,41.941059]},n552:{id:"n552",loc:[-85.636644,41.941038]},n553:{id:"n553",loc:[-85.636581,41.941039]},n554:{id:"n554",loc:[-85.636581,41.940995]},n555:{id:"n555",loc:[-85.636746,41.940995]},n556:{id:"n556",loc:[-85.636746,41.940978]},n557:{id:"n557",loc:[-85.636803,41.940978]},n558:{id:"n558",loc:[-85.636781,41.940768]},n559:{id:"n559",loc:[-85.636783,41.940828]},n56:{id:"n56",loc:[-85.635943,41.942909]},n560:{id:"n560",loc:[-85.636761,41.940828]},n561:{id:"n561",loc:[-85.636762,41.940857]},n562:{id:"n562",loc:[-85.636641,41.940859]},n563:{id:"n563",loc:[-85.63664,41.940805]},n564:{id:"n564",loc:[-85.636676,41.940804]},n565:{id:"n565",loc:[-85.636675,41.940769]},n566:{id:"n566",loc:[-85.636733,41.94033]},n567:{id:"n567",loc:[-85.636471,41.940334]},n568:{id:"n568",loc:[-85.636469,41.940262]},n569:{id:"n569",loc:[-85.636731,41.940257]},n57:{id:"n57",loc:[-85.636227,41.942909]},n570:{id:"n570",loc:[-85.636798,41.940419]},n571:{id:"n571",loc:[-85.6368,41.940524]},n572:{id:"n572",loc:[-85.63664,41.940526]},n573:{id:"n573",loc:[-85.636638,41.940421]},n574:{id:"n574",loc:[-85.636372,41.940551]},n575:{id:"n575",loc:[-85.636338,41.94055]},n576:{id:"n576",loc:[-85.636339,41.940524]},n577:{id:"n577",loc:[-85.636373,41.940525]},n578:{id:"n578",loc:[-85.636388,41.940435]},n579:{id:"n579",loc:[-85.636222,41.940436]},n58:{id:"n58",loc:[-85.63627,41.943175]},n580:{id:"n580",loc:[-85.636222,41.940366]},n581:{id:"n581",loc:[-85.636387,41.940365]},n582:{id:"n582",loc:[-85.636158,41.940482]},n583:{id:"n583",loc:[-85.635963,41.940484]},n584:{id:"n584",loc:[-85.635961,41.940399]},n585:{id:"n585",loc:[-85.636156,41.940397]},n586:{id:"n586",loc:[-85.635987,41.940314]},n587:{id:"n587",loc:[-85.635987,41.940268]},n588:{id:"n588",loc:[-85.635968,41.940268]},n589:{id:"n589",loc:[-85.635967,41.940212]},n59:{id:"n59",loc:[-85.635531,41.943176]},n590:{id:"n590",loc:[-85.636082,41.940211]},n591:{id:"n591",loc:[-85.636083,41.94027]},n592:{id:"n592",loc:[-85.636064,41.94027]},n593:{id:"n593",loc:[-85.636064,41.940313]},n594:{id:"n594",loc:[-85.638071,41.941562]},n595:{id:"n595",loc:[-85.637953,41.941562]},n596:{id:"n596",loc:[-85.637952,41.941522]},n597:{id:"n597",loc:[-85.637876,41.941523]},n598:{id:"n598",loc:[-85.637876,41.941471]},n599:{id:"n599",loc:[-85.638035,41.94147]},n6:{id:"n6",loc:[-85.624925,41.950604]},n60:{id:"n60",loc:[-85.63542,41.942883]},n600:{id:"n600",loc:[-85.638035,41.941513]},n601:{id:"n601",loc:[-85.638071,41.941512]},n602:{id:"n602",loc:[-85.637038,41.942543],tags:{crossing:"zebra",highway:"crossing"}},n603:{id:"n603",loc:[-85.637134,41.942542]},n604:{id:"n604",loc:[-85.638122,41.942532]},n605:{id:"n605",loc:[-85.638121,41.942478]},n606:{id:"n606",loc:[-85.638104,41.941424]},n607:{id:"n607",loc:[-85.637115,41.941438]},n608:{id:"n608",loc:[-85.637133,41.942453]},n609:{id:"n609",loc:[-85.637429,41.942004]},n61:{id:"n61",loc:[-85.635701,41.942802]},n610:{id:"n610",loc:[-85.637125,41.942004]},n611:{id:"n611",loc:[-85.637022,41.942004]},n612:{id:"n612",loc:[-85.635952,41.943579]},n613:{id:"n613",loc:[-85.635872,41.943594]},n614:{id:"n614",loc:[-85.635857,41.943551]},n615:{id:"n615",loc:[-85.635937,41.943535]},n616:{id:"n616",loc:[-85.63671,41.94344]},n617:{id:"n617",loc:[-85.636427,41.94334]},n618:{id:"n618",loc:[-85.635353,41.943279]},n619:{id:"n619",loc:[-85.635319,41.943257]},n62:{id:"n62",loc:[-85.6358,41.942997]},n620:{id:"n620",loc:[-85.638786,41.943105]},n621:{id:"n621",loc:[-85.634957,41.943146]},n622:{id:"n622",loc:[-85.635012,41.943119]},n623:{id:"n623",loc:[-85.632409,41.944222]},n624:{id:"n624",loc:[-85.631863,41.944749]},n625:{id:"n625",loc:[-85.631915,41.944722]},n626:{id:"n626",loc:[-85.631884,41.94464]},n627:{id:"n627",loc:[-85.631792,41.944359]},n628:{id:"n628",loc:[-85.631817,41.944703]},n629:{id:"n629",loc:[-85.633464,41.945787]},n63:{id:"n63",loc:[-85.635808,41.943176]},n630:{id:"n630",loc:[-85.633583,41.945919]},n631:{id:"n631",loc:[-85.63382,41.945698]},n632:{id:"n632",loc:[-85.633681,41.945571]},n633:{id:"n633",loc:[-85.634217,41.946824]},n634:{id:"n634",loc:[-85.634271,41.946836]},n635:{id:"n635",loc:[-85.634319,41.94573]},n636:{id:"n636",loc:[-85.634377,41.945672]},n637:{id:"n637",loc:[-85.634909,41.945354]},n638:{id:"n638",loc:[-85.634726,41.945493],tags:{artwork_type:"mural",tourism:"artwork"}},n639:{id:"n639",loc:[-85.63546,41.945612]},n64:{id:"n64",loc:[-85.63631,41.943253]},n640:{id:"n640",loc:[-85.635561,41.945493]},n641:{id:"n641",loc:[-85.635417,41.945565]},n642:{id:"n642",loc:[-85.635315,41.945583]},n643:{id:"n643",loc:[-85.63506,41.945383]},n644:{id:"n644",loc:[-85.635198,41.945199]},n645:{id:"n645",loc:[-85.635361,41.94558]},n646:{id:"n646",loc:[-85.635017,41.945066]},n647:{id:"n647",loc:[-85.634779,41.945206]},n648:{id:"n648",loc:[-85.63425,41.945655]},n649:{id:"n649",loc:[-85.634247,41.945631]},n65:{id:"n65",loc:[-85.635398,41.943259]},n650:{id:"n650",loc:[-85.634889,41.945921]},n651:{id:"n651",loc:[-85.634889,41.945939]},n652:{id:"n652",loc:[-85.634889,41.945761]},n653:{id:"n653",loc:[-85.634889,41.945778]},n654:{id:"n654",loc:[-85.635112,41.945715]},n655:{id:"n655",loc:[-85.635025,41.945714]},n656:{id:"n656",loc:[-85.635027,41.945761]},n657:{id:"n657",loc:[-85.635438,41.945665]},n658:{id:"n658",loc:[-85.635416,41.945676]},n659:{id:"n659",loc:[-85.635401,41.945709]},n66:{id:"n66",loc:[-85.635336,41.943036]},n660:{id:"n660",loc:[-85.635271,41.945566]},n661:{id:"n661",loc:[-85.636106,41.946268]},n662:{id:"n662",loc:[-85.635867,41.946747]},n663:{id:"n663",loc:[-85.636476,41.946797]},n664:{id:"n664",loc:[-85.63651,41.946796]},n665:{id:"n665",loc:[-85.635367,41.946389]},n666:{id:"n666",loc:[-85.635367,41.946437]},n667:{id:"n667",loc:[-85.634787,41.946441]},n668:{id:"n668",loc:[-85.6358,41.946243]},n669:{id:"n669",loc:[-85.635784,41.94622]},n67:{id:"n67",loc:[-85.635911,41.942899]},n670:{id:"n670",loc:[-85.635727,41.946195]},n671:{id:"n671",loc:[-85.635708,41.946588]},n672:{id:"n672",loc:[-85.635648,41.946561]},n673:{id:"n673",loc:[-85.635624,41.946555]},n674:{id:"n674",loc:[-85.635417,41.946559]},n675:{id:"n675",loc:[-85.634866,41.946561]},n676:{id:"n676",loc:[-85.634866,41.946543]},n677:{id:"n677",loc:[-85.635085,41.946546]},n678:{id:"n678",loc:[-85.635085,41.946554]},n679:{id:"n679",loc:[-85.634584,41.94488]},n68:{id:"n68",loc:[-85.635915,41.943156]},n680:{id:"n680",loc:[-85.634557,41.944882]},n681:{id:"n681",loc:[-85.634455,41.944943]},n682:{id:"n682",loc:[-85.634305,41.944968]},n683:{id:"n683",loc:[-85.634261,41.944927]},n684:{id:"n684",loc:[-85.634132,41.944741]},n685:{id:"n685",loc:[-85.633705,41.944759]},n686:{id:"n686",loc:[-85.633918,41.944616]},n687:{id:"n687",loc:[-85.633974,41.944663]},n688:{id:"n688",loc:[-85.6336,41.944665]},n689:{id:"n689",loc:[-85.633817,41.944528]},n69:{id:"n69",loc:[-85.63631,41.943157]},n690:{id:"n690",loc:[-85.633889,41.944485]},n691:{id:"n691",loc:[-85.633931,41.944525]},n692:{id:"n692",loc:[-85.633864,41.944563]},n693:{id:"n693",loc:[-85.633456,41.944524]},n694:{id:"n694",loc:[-85.633676,41.944399]},n695:{id:"n695",loc:[-85.633352,41.944415]},n696:{id:"n696",loc:[-85.633655,41.944234]},n697:{id:"n697",loc:[-85.633761,41.94435]},n698:{id:"n698",loc:[-85.633254,41.944318]},n699:{id:"n699",loc:[-85.633472,41.944188]},n7:{id:"n7",loc:[-85.638791,41.943231]},n70:{id:"n70",loc:[-85.63579,41.942967]},n700:{id:"n700",loc:[-85.633524,41.944237]},n701:{id:"n701",loc:[-85.633583,41.944202]},n702:{id:"n702",loc:[-85.633632,41.944247]},n703:{id:"n703",loc:[-85.633165,41.944228]},n704:{id:"n704",loc:[-85.633388,41.944105]},n705:{id:"n705",loc:[-85.633117,41.944175]},n706:{id:"n706",loc:[-85.633302,41.944077]},n707:{id:"n707",loc:[-85.633352,41.944126]},n708:{id:"n708",loc:[-85.633052,41.944107]},n709:{id:"n709",loc:[-85.633237,41.944009]},n71:{id:"n71",loc:[-85.637506,41.942824]},n710:{id:"n710",loc:[-85.633187,41.943955]},n711:{id:"n711",loc:[-85.633,41.944054]},n712:{id:"n712",loc:[-85.633155,41.944265]},n713:{id:"n713",loc:[-85.633669,41.944765]},n714:{id:"n714",loc:[-85.634468,41.945503]},n715:{id:"n715",loc:[-85.63455,41.945566]},n716:{id:"n716",loc:[-85.634737,41.945729]},n717:{id:"n717",loc:[-85.634753,41.945752]},n718:{id:"n718",loc:[-85.634756,41.945781]},n719:{id:"n719",loc:[-85.634758,41.945978]},n72:{id:"n72",loc:[-85.637511,41.943056]},n720:{id:"n720",loc:[-85.634363,41.945548],tags:{crossing:"zebra",highway:"crossing"}},n721:{id:"n721",loc:[-85.634245,41.945599]},n722:{id:"n722",loc:[-85.633474,41.944889]},n723:{id:"n723",loc:[-85.632997,41.944418]},n724:{id:"n724",loc:[-85.63278,41.944183]},n725:{id:"n725",loc:[-85.63331,41.944429]},n726:{id:"n726",loc:[-85.633568,41.944829],tags:{crossing:"zebra",highway:"crossing"}},n727:{id:"n727",loc:[-85.634669,41.94567]},n728:{id:"n728",loc:[-85.634462,41.945787]},n729:{id:"n729",loc:[-85.634272,41.945625]},n73:{id:"n73",loc:[-85.637361,41.943058]},n730:{id:"n730",loc:[-85.634344,41.945699],tags:{crossing:"zebra",highway:"crossing"}},n731:{id:"n731",loc:[-85.634426,41.945783]},n732:{id:"n732",loc:[-85.632425,41.944137]},n733:{id:"n733",loc:[-85.632302,41.944192]},n734:{id:"n734",loc:[-85.632762,41.944174]},n735:{id:"n735",loc:[-85.632713,41.944179]},n736:{id:"n736",loc:[-85.632411,41.944327]},n737:{id:"n737",loc:[-85.632362,41.944341]},n738:{id:"n738",loc:[-85.632236,41.944204]},n739:{id:"n739",loc:[-85.634939,41.942165]},n74:{id:"n74",loc:[-85.637356,41.942825]},n740:{id:"n740",loc:[-85.635079,41.941535]},n741:{id:"n741",loc:[-85.635112,41.941595]},n742:{id:"n742",loc:[-85.635113,41.941633]},n743:{id:"n743",loc:[-85.635067,41.941652]},n744:{id:"n744",loc:[-85.634989,41.941651]},n745:{id:"n745",loc:[-85.634921,41.941609]},n746:{id:"n746",loc:[-85.634881,41.941544]},n747:{id:"n747",loc:[-85.635537,41.940939]},n748:{id:"n748",loc:[-85.635573,41.941048]},n749:{id:"n749",loc:[-85.635453,41.94091]},n75:{id:"n75",loc:[-85.638097,41.942833]},n750:{id:"n750",loc:[-85.635319,41.940943]},n751:{id:"n751",loc:[-85.637057,41.943224]},n752:{id:"n752",loc:[-85.636989,41.943296]},n753:{id:"n753",loc:[-85.636851,41.943299]},n754:{id:"n754",loc:[-85.636848,41.94322]},n755:{id:"n755",loc:[-85.636986,41.943217]},n756:{id:"n756",loc:[-85.637569,41.943454]},n757:{id:"n757",loc:[-85.637437,41.943458]},n758:{id:"n758",loc:[-85.637432,41.943384]},n759:{id:"n759",loc:[-85.637564,41.94338]},n76:{id:"n76",loc:[-85.638098,41.942912]},n760:{id:"n760",loc:[-85.637213,41.943378]},n761:{id:"n761",loc:[-85.637217,41.943435]},n762:{id:"n762",loc:[-85.637235,41.943434]},n763:{id:"n763",loc:[-85.637237,41.943465]},n764:{id:"n764",loc:[-85.637424,41.943459]},n765:{id:"n765",loc:[-85.637418,41.943371]},n766:{id:"n766",loc:[-85.638094,41.943149]},n767:{id:"n767",loc:[-85.638096,41.943201]},n768:{id:"n768",loc:[-85.638041,41.943202]},n769:{id:"n769",loc:[-85.638042,41.943216]},n77:{id:"n77",loc:[-85.637705,41.942913]},n770:{id:"n770",loc:[-85.637927,41.943218]},n771:{id:"n771",loc:[-85.637926,41.943201]},n772:{id:"n772",loc:[-85.637897,41.943201]},n773:{id:"n773",loc:[-85.637896,41.943155]},n774:{id:"n774",loc:[-85.637962,41.943153]},n775:{id:"n775",loc:[-85.637962,41.943134]},n776:{id:"n776",loc:[-85.638017,41.943132]},n777:{id:"n777",loc:[-85.638018,41.943151]},n778:{id:"n778",loc:[-85.638045,41.943289]},n779:{id:"n779",loc:[-85.638048,41.943363]},n78:{id:"n78",loc:[-85.637705,41.942834]},n780:{id:"n780",loc:[-85.637842,41.943367]},n781:{id:"n781",loc:[-85.637839,41.943296]},n782:{id:"n782",loc:[-85.637896,41.943295]},n783:{id:"n783",loc:[-85.637897,41.943314]},n784:{id:"n784",loc:[-85.637957,41.943312]},n785:{id:"n785",loc:[-85.637957,41.943291]},n786:{id:"n786",loc:[-85.637816,41.943375]},n787:{id:"n787",loc:[-85.637815,41.943416]},n788:{id:"n788",loc:[-85.637715,41.943415]},n789:{id:"n789",loc:[-85.637716,41.943374]},n79:{id:"n79",loc:[-85.638071,41.942298]},n790:{id:"n790",loc:[-85.637912,41.943545]},n791:{id:"n791",loc:[-85.637909,41.943479]},n792:{id:"n792",loc:[-85.637967,41.943477]},n793:{id:"n793",loc:[-85.637967,41.94346]},n794:{id:"n794",loc:[-85.638077,41.943457]},n795:{id:"n795",loc:[-85.638078,41.943473]},n796:{id:"n796",loc:[-85.638124,41.943471]},n797:{id:"n797",loc:[-85.638126,41.943514]},n798:{id:"n798",loc:[-85.638079,41.943515]},n799:{id:"n799",loc:[-85.638079,41.943532]},n8:{id:"n8",loc:[-85.635241,41.941948]},n80:{id:"n80",loc:[-85.638074,41.942431]},n800:{id:"n800",loc:[-85.638028,41.943534]},n801:{id:"n801",loc:[-85.638028,41.943542]},n802:{id:"n802",loc:[-85.638845,41.942983]},n803:{id:"n803",loc:[-85.638846,41.94305]},n804:{id:"n804",loc:[-85.638661,41.943052]},n805:{id:"n805",loc:[-85.63866,41.942984]},n806:{id:"n806",loc:[-85.638579,41.942753]},n807:{id:"n807",loc:[-85.638445,41.942755]},n808:{id:"n808",loc:[-85.638452,41.942978]},n809:{id:"n809",loc:[-85.638545,41.942976]},n81:{id:"n81",loc:[-85.637836,41.942433]},n810:{id:"n810",loc:[-85.638543,41.942935]},n811:{id:"n811",loc:[-85.638571,41.942934]},n812:{id:"n812",loc:[-85.63857,41.942901]},n813:{id:"n813",loc:[-85.638611,41.9429]},n814:{id:"n814",loc:[-85.638607,41.942769]},n815:{id:"n815",loc:[-85.63858,41.94277]},n816:{id:"n816",loc:[-85.638597,41.942614]},n817:{id:"n817",loc:[-85.638601,41.94273]},n818:{id:"n818",loc:[-85.638686,41.942731]},n819:{id:"n819",loc:[-85.638689,41.942917]},n82:{id:"n82",loc:[-85.637835,41.94242]},n820:{id:"n820",loc:[-85.638558,41.943018]},n821:{id:"n821",loc:[-85.638243,41.943019]},n822:{id:"n822",loc:[-85.637536,41.943887]},n823:{id:"n823",loc:[-85.63749,41.943926]},n824:{id:"n824",loc:[-85.63743,41.943886]},n825:{id:"n825",loc:[-85.637476,41.943847]},n826:{id:"n826",loc:[-85.637527,41.943846]},n827:{id:"n827",loc:[-85.637141,41.943728]},n828:{id:"n828",loc:[-85.637201,41.943755]},n829:{id:"n829",loc:[-85.636987,41.943608]},n83:{id:"n83",loc:[-85.63776,41.942421]},n830:{id:"n830",loc:[-85.637441,41.943807]},n831:{id:"n831",loc:[-85.637673,41.94399]},n832:{id:"n832",loc:[-85.637783,41.944137]},n833:{id:"n833",loc:[-85.63845,41.944333]},n834:{id:"n834",loc:[-85.638159,41.944248]},n835:{id:"n835",loc:[-85.637859,41.94416]},n836:{id:"n836",loc:[-85.638685,41.944542]},n837:{id:"n837",loc:[-85.638714,41.944611]},n838:{id:"n838",loc:[-85.638711,41.944757]},n839:{id:"n839",loc:[-85.638774,41.945069]},n84:{id:"n84",loc:[-85.637758,41.942339]},n840:{id:"n840",loc:[-85.638742,41.945205]},n841:{id:"n841",loc:[-85.640267,41.942403]},n842:{id:"n842",loc:[-85.640154,41.942404]},n843:{id:"n843",loc:[-85.640152,41.942249]},n844:{id:"n844",loc:[-85.640266,41.942248]},n845:{id:"n845",loc:[-85.640366,41.942599]},n846:{id:"n846",loc:[-85.640362,41.942192]},n847:{id:"n847",loc:[-85.640146,41.942191]},n848:{id:"n848",loc:[-85.640122,41.942196]},n849:{id:"n849",loc:[-85.640108,41.942211]},n85:{id:"n85",loc:[-85.637836,41.942339]},n850:{id:"n850",loc:[-85.640101,41.942236]},n851:{id:"n851",loc:[-85.640103,41.94241]},n852:{id:"n852",loc:[-85.64011,41.942435]},n853:{id:"n853",loc:[-85.640126,41.942445]},n854:{id:"n854",loc:[-85.640153,41.942451]},n855:{id:"n855",loc:[-85.640183,41.942452]},n856:{id:"n856",loc:[-85.640364,41.942452]},n857:{id:"n857",loc:[-85.640007,41.942452]},n858:{id:"n858",loc:[-85.639449,41.942461]},n859:{id:"n859",loc:[-85.640049,41.942391]},n86:{id:"n86",loc:[-85.637835,41.942301]},n860:{id:"n860",loc:[-85.640052,41.942503]},n861:{id:"n861",loc:[-85.639575,41.94251]},n862:{id:"n862",loc:[-85.639572,41.942398]},n863:{id:"n863",loc:[-85.638782,41.942227]},n864:{id:"n864",loc:[-85.63843,41.942226]},n865:{id:"n865",loc:[-85.63823,41.942183]},n866:{id:"n866",loc:[-85.638363,41.942216],tags:{barrier:"gate"}},n867:{id:"n867",loc:[-85.6384,41.942223]},n868:{id:"n868",loc:[-85.636042,41.942797]},n869:{id:"n869",loc:[-85.636308,41.942752]},n87:{id:"n87",loc:[-85.637566,41.942367]},n870:{id:"n870",loc:[-85.636516,41.942729]},n871:{id:"n871",loc:[-85.636782,41.942712]},n872:{id:"n872",loc:[-85.636944,41.942706]},n873:{id:"n873",loc:[-85.63704,41.942706]},n874:{id:"n874",loc:[-85.637237,41.942703]},n875:{id:"n875",loc:[-85.637553,41.9427]},n876:{id:"n876",loc:[-85.638236,41.942697]},n877:{id:"n877",loc:[-85.636284,41.942781]},n878:{id:"n878",loc:[-85.636551,41.942641]},n879:{id:"n879",loc:[-85.633914,41.943693]},n88:{id:"n88",loc:[-85.637566,41.94241]},n880:{id:"n880",loc:[-85.63389,41.943708]},n881:{id:"n881",loc:[-85.633866,41.943686]},n882:{id:"n882",loc:[-85.63389,41.943671]},n883:{id:"n883",loc:[-85.633857,41.943609]},n884:{id:"n884",loc:[-85.634858,41.944474]},n885:{id:"n885",loc:[-85.633988,41.943234]},n886:{id:"n886",loc:[-85.633999,41.943485]},n887:{id:"n887",loc:[-85.634109,41.943449],tags:{emergency:"fire_hydrant"}},n888:{id:"n888",loc:[-85.635728,41.942655],tags:{emergency:"fire_hydrant"}},n889:{id:"n889",loc:[-85.636499,41.942845],tags:{man_made:"flagpole"}},n89:{id:"n89",loc:[-85.637455,41.94241]},n890:{id:"n890",loc:[-85.636197,41.943073]},n891:{id:"n891",loc:[-85.636227,41.943073]},n892:{id:"n892",loc:[-85.637433,41.942933],tags:{"addr:city":"Three Rivers","addr:housenumber":"401","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",amenity:"restaurant",cuisine:"pizza",name:"Pizza Hut"}},n893:{id:"n893",loc:[-85.637907,41.942879],tags:{amenity:"car_wash"}},n894:{id:"n894",loc:[-85.637661,41.943018]},n895:{id:"n895",loc:[-85.636933,41.942733],tags:{emergency:"fire_hydrant"}},n896:{id:"n896",loc:[-85.637661,41.94304]},n897:{id:"n897",loc:[-85.637562,41.943041]},n898:{id:"n898",loc:[-85.637556,41.942725]},n899:{id:"n899",loc:[-85.637656,41.942724]},n9:{id:"n9",loc:[-85.635159,41.941926]},n90:{id:"n90",loc:[-85.637454,41.942367]},n900:{id:"n900",loc:[-85.637657,41.942779]},n901:{id:"n901",loc:[-85.637983,41.942777]},n902:{id:"n902",loc:[-85.637982,41.942616]},n903:{id:"n903",loc:[-85.637777,41.942778]},n904:{id:"n904",loc:[-85.637775,41.942699]},n905:{id:"n905",loc:[-85.637772,41.942618]},n906:{id:"n906",loc:[-85.637982,41.942698]},n907:{id:"n907",loc:[-85.637941,41.942378],tags:{"addr:city":"Three Rivers","addr:housenumber":"416","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",name:"Gem Pawnbroker",shop:"pawnbroker"}},n908:{id:"n908",loc:[-85.637515,41.942394],tags:{second_hand:"only",shop:"car"}},n909:{id:"n909",loc:[-85.638743,41.942374],tags:{"addr:city":"Three Rivers","addr:housenumber":"500","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",name:"William Towing","service:vehicle:towing":"yes","service:vehicle:tyres":"yes",shop:"car_repair"}},n91:{id:"n91",loc:[-85.637565,41.942341]},n910:{id:"n910",loc:[-85.638594,41.942357]},n911:{id:"n911",loc:[-85.634312,41.943562],tags:{"addr:city":"Three Rivers","addr:housenumber":"145","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",amenity:"cafe",cuisine:"coffee_shop",name:"L.A.'s Coffee Cafe",outdoor_seating:"yes"}},n912:{id:"n912",loc:[-85.634404,41.943512]},n913:{id:"n913",loc:[-85.634391,41.943519],tags:{entrance:"yes"}},n914:{id:"n914",loc:[-85.634259,41.943538],tags:{entrance:"yes"}},n915:{id:"n915",loc:[-85.634247,41.943528]},n916:{id:"n916",loc:[-85.633747,41.943322],tags:{"addr:city":"Three Rivers","addr:housenumber":"132","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue",name:"Preferred Insurance Services",office:"insurance"}},n917:{id:"n917",loc:[-85.63299,41.943686],tags:{"addr:city":"Three Rivers","addr:housenumber":"101","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Lynn's Garage","service:vehicle:tyres":"yes",shop:"car_repair"}},n918:{id:"n918",loc:[-85.633438,41.944883]},n919:{id:"n919",loc:[-85.633265,41.944983]},n92:{id:"n92",loc:[-85.637481,41.942341]},n920:{id:"n920",loc:[-85.633315,41.945027]},n921:{id:"n921",loc:[-85.633376,41.944827]},n922:{id:"n922",loc:[-85.633199,41.944922]},n923:{id:"n923",loc:[-85.633316,41.944772]},n924:{id:"n924",loc:[-85.633147,41.944867]},n925:{id:"n925",loc:[-85.633261,41.944719]},n926:{id:"n926",loc:[-85.633096,41.944812]},n927:{id:"n927",loc:[-85.633191,41.944645]},n928:{id:"n928",loc:[-85.632981,41.94476]},n929:{id:"n929",loc:[-85.633062,41.94483]},n93:{id:"n93",loc:[-85.637481,41.94226]},n930:{id:"n930",loc:[-85.633146,41.944602]},n931:{id:"n931",loc:[-85.632969,41.944703]},n932:{id:"n932",loc:[-85.633008,41.944745]},n933:{id:"n933",loc:[-85.633088,41.944545]},n934:{id:"n934",loc:[-85.632868,41.944655]},n935:{id:"n935",loc:[-85.632941,41.944718]},n936:{id:"n936",loc:[-85.633028,41.944483]},n937:{id:"n937",loc:[-85.632817,41.944605]},n938:{id:"n938",loc:[-85.632923,41.944373]},n939:{id:"n939",loc:[-85.632692,41.944485]},n94:{id:"n94",loc:[-85.637565,41.94226]},n940:{id:"n940",loc:[-85.632871,41.944316]},n941:{id:"n941",loc:[-85.632655,41.944421]},n942:{id:"n942",loc:[-85.632711,41.944478]},n943:{id:"n943",loc:[-85.632825,41.94426]},n944:{id:"n944",loc:[-85.632606,41.944363]},n945:{id:"n945",loc:[-85.63275,41.94418]},n946:{id:"n946",loc:[-85.632588,41.944256]},n947:{id:"n947",loc:[-85.632611,41.944279]},n948:{id:"n948",loc:[-85.632548,41.944306]},n949:{id:"n949",loc:[-85.632512,41.944406]},n95:{id:"n95",loc:[-85.637188,41.942217]},n950:{id:"n950",loc:[-85.632565,41.944463]},n951:{id:"n951",loc:[-85.632579,41.944456]},n952:{id:"n952",loc:[-85.632634,41.944518]},n953:{id:"n953",loc:[-85.632686,41.944569]},n954:{id:"n954",loc:[-85.632745,41.944537]},n955:{id:"n955",loc:[-85.632659,41.944587]},n956:{id:"n956",loc:[-85.632778,41.944705]},n957:{id:"n957",loc:[-85.632815,41.944301],tags:{"addr:city":"Three Rivers","addr:housenumber":"5","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Access Point Employment",office:"employment_agency"}},n958:{id:"n958",loc:[-85.6332,41.944174],tags:{"addr:city":"Three Rivers","addr:housenumber":"6","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Paisley Emporium",shop:"second_hand"}},n959:{id:"n959",loc:[-85.633578,41.944568],tags:{"addr:city":"Three Rivers","addr:housenumber":"22","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",name:"Lowry's Books",shop:"books"}},n96:{id:"n96",loc:[-85.637189,41.942303]},n960:{id:"n960",loc:[-85.63344,41.944443],tags:{"addr:city":"Three Rivers","addr:housenumber":"16","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",amenity:"restaurant",cuisine:"pizza",name:"Paisano's Bar and Grill"}},n961:{id:"n961",loc:[-85.633009,41.944542],tags:{"addr:city":"Three Rivers","addr:housenumber":"13","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",amenity:"cafe",cuisine:"american",internet_access:"yes",name:"Main Street Cafe"}},n962:{id:"n962",loc:[-85.633674,41.944682],tags:{"addr:city":"Three Rivers","addr:housenumber":"28","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",leisure:"fitness_centre",name:"Main Street Fitness"}},n963:{id:"n963",loc:[-85.633376,41.944868],tags:{"addr:city":"Three Rivers","addr:housenumber":"27","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street",leisure:"fitness_centre",name:"Main Street Barbell"}},n964:{id:"n964",loc:[-85.633366,41.944783]},n965:{id:"n965",loc:[-85.633296,41.94482]},n966:{id:"n966",loc:[-85.633214,41.94487]},n967:{id:"n967",loc:[-85.633005,41.944988]},n968:{id:"n968",loc:[-85.633269,41.944816]},n969:{id:"n969",loc:[-85.633215,41.944842]},n97:{id:"n97",loc:[-85.637299,41.942302]},n970:{id:"n970",loc:[-85.633245,41.944871]},n971:{id:"n971",loc:[-85.633296,41.944845]},n972:{id:"n972",loc:[-85.633254,41.944845],tags:{natural:"tree"}},n973:{id:"n973",loc:[-85.633557,41.945515]},n974:{id:"n974",loc:[-85.633279,41.945246]},n975:{id:"n975",loc:[-85.63324,41.945226]},n976:{id:"n976",loc:[-85.6332,41.945213]},n977:{id:"n977",loc:[-85.633133,41.945164]},n978:{id:"n978",loc:[-85.63312,41.945132]},n979:{id:"n979",loc:[-85.633095,41.945081]},n98:{id:"n98",loc:[-85.637299,41.942314]},n980:{id:"n980",loc:[-85.633064,41.945047]},n981:{id:"n981",loc:[-85.632739,41.944742]},n982:{id:"n982",loc:[-85.633281,41.945026]},n983:{id:"n983",loc:[-85.633155,41.944903]},n984:{id:"n984",loc:[-85.633079,41.944829]},n985:{id:"n985",loc:[-85.63304,41.944853]},n986:{id:"n986",loc:[-85.632949,41.944776]},n987:{id:"n987",loc:[-85.632921,41.944725]},n988:{id:"n988",loc:[-85.632859,41.944673]},n989:{id:"n989",loc:[-85.632895,41.94505]},n99:{id:"n99",loc:[-85.637396,41.942313]},n990:{id:"n990",loc:[-85.633336,41.945138]},n991:{id:"n991",loc:[-85.633466,41.945265]},n992:{id:"n992",loc:[-85.633367,41.945327]},n993:{id:"n993",loc:[-85.633163,41.945189]},n994:{id:"n994",loc:[-85.633678,41.945309]},n995:{id:"n995",loc:[-85.633619,41.945261]},n996:{id:"n996",loc:[-85.63355,41.945301]},n997:{id:"n997",loc:[-85.633607,41.945352]},n998:{id:"n998",loc:[-85.633579,41.945327],tags:{entrance:"yes"}},n999:{id:"n999",loc:[-85.633445,41.945404]},r2:{id:"r2",members:[{id:"w225",role:"outer",type:"way"}],tags:{type:"multipolygon",waterway:"riverbank"}},r5:{id:"r5",members:[{id:"w642",role:"outer",type:"way"}],tags:{admin_level:"8",border_type:"city",boundary:"administrative",name:"Three Rivers",place:"city",type:"boundary"}},w1:{id:"w1",nodes:["n5","n1797"],tags:{highway:"residential",name:"12th Avenue"}},w10:{id:"w10",nodes:["n54","n55","n56","n57","n891","n890","n54"],tags:{building:"yes"}},w100:{id:"w100",nodes:["n451","n915","n452"],tags:{highway:"footway"}},w101:{id:"w101",nodes:["n461","n462","n463","n464","n465","n466"],tags:{barrier:"fence"}},w102:{id:"w102",nodes:["n467","n468","n469","n470","n472","n467"],tags:{amenity:"parking"}},w103:{id:"w103",nodes:["n2597","n2444","n471","n472"],tags:{highway:"footway"}},w104:{id:"w104",nodes:["n473","n474","n325"],tags:{footway:"sidewalk",highway:"footway"}},w105:{id:"w105",nodes:["n475","n324","n325"],tags:{footway:"sidewalk",highway:"footway"}},w106:{id:"w106",nodes:["n886","n452","n476"],tags:{footway:"sidewalk",highway:"footway"}},w107:{id:"w107",nodes:["n485","n4678","n486","n18"],tags:{highway:"service"}},w108:{id:"w108",nodes:["n300","n487","n488","n489","n490"],tags:{highway:"footway"}},w109:{id:"w109",nodes:["n490","n491"],tags:{highway:"footway"}},w11:{id:"w11",nodes:["n58","n63","n59","n315","n60"],tags:{highway:"service"}},w110:{id:"w110",nodes:["n492","n493","n494","n495","n496","n497","n492"],tags:{building:"yes"}},w111:{id:"w111",nodes:["n498","n499","n511"],tags:{highway:"service"}},w112:{id:"w112",nodes:["n510","n500","n501","n502","n503","n504","n505","n506","n507","n508","n509"],tags:{highway:"service"}},w113:{id:"w113",nodes:["n511","n510"],tags:{covered:"yes",highway:"service"}},w114:{id:"w114",nodes:["n512","n513","n514","n515","n512"],tags:{building:"yes"}},w115:{id:"w115",nodes:["n516","n517","n518","n519","n516"],tags:{building:"yes"}},w116:{id:"w116",nodes:["n520","n521","n522","n523","n520"],tags:{building:"yes"}},w117:{id:"w117",nodes:["n524","n525","n526","n527","n528","n529","n530","n531","n532","n533","n534","n535","n524"],tags:{building:"yes"}},w118:{id:"w118",nodes:["n536","n537","n538","n539","n536"],tags:{building:"yes"}},w119:{id:"w119",nodes:["n540","n541","n542","n543","n544","n545","n546","n547","n540"],tags:{building:"yes"}},w12:{id:"w12",nodes:["n61","n314","n70","n62","n63"],tags:{highway:"service"}},w120:{id:"w120",nodes:["n548","n549","n550","n551","n552","n553","n554","n555","n556","n557","n548"],tags:{building:"yes"}},w121:{id:"w121",nodes:["n558","n559","n560","n561","n562","n563","n564","n565","n558"],tags:{building:"yes"}},w122:{id:"w122",nodes:["n566","n567","n568","n569","n566"],tags:{building:"yes"}},w123:{id:"w123",nodes:["n570","n571","n572","n573","n570"],tags:{building:"yes"}},w124:{id:"w124",nodes:["n574","n575","n576","n577","n574"],tags:{building:"yes"}},w125:{id:"w125",nodes:["n578","n579","n580","n581","n578"],tags:{building:"yes"}},w126:{id:"w126",nodes:["n582","n583","n584","n585","n582"],tags:{building:"yes"}},w127:{id:"w127",nodes:["n586","n587","n588","n589","n590","n591","n592","n593","n586"],tags:{building:"yes"}},w128:{id:"w128",nodes:["n594","n595","n596","n597","n598","n599","n600","n601","n594"],tags:{building:"yes"}},w129:{id:"w129",nodes:["n309","n602","n603"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w13:{id:"w13",nodes:["n64","n65","n66","n67","n68","n69","n64"],tags:{amenity:"parking"}},w130:{id:"w130",nodes:["n603","n604"],tags:{footway:"sidewalk",highway:"footway"}},w131:{id:"w131",nodes:["n604","n605","n606"],tags:{footway:"sidewalk",highway:"footway"}},w132:{id:"w132",nodes:["n606","n607"],tags:{footway:"sidewalk",highway:"footway"}},w133:{id:"w133",nodes:["n607","n610","n608","n603"],tags:{footway:"sidewalk",highway:"footway"}},w134:{id:"w134",nodes:["n609","n610","n611"],tags:{highway:"service",service:"driveway",surface:"unpaved"}},w135:{id:"w135",nodes:["n244","n245","n246"],tags:{highway:"service"}},w136:{id:"w136",nodes:["n612","n613","n614","n615","n612"],tags:{amenity:"shelter"}},w137:{id:"w137",nodes:["n2779","n2788","n2776","n2778","n2775","n2787","n2440","n2437","n629","n2438","n630","n2439","n2407","n2408","n2409"],tags:{highway:"residential",name:"Foster Street"}},w138:{id:"w138",nodes:["n2779","n625","n626","n627"],tags:{highway:"residential",name:"Foster Street",oneway:"yes"}},w139:{id:"w139",nodes:["n630","n631","n632","n2437"],tags:{highway:"service"}},w14:{id:"w14",nodes:["n71","n72","n73","n74","n71"],tags:{building:"yes"}},w140:{id:"w140",nodes:["n643","n637","n715","n2410"],tags:{highway:"footway",name:"Mural Mall"}},w141:{id:"w141",nodes:["n639","n2516"],tags:{barrier:"wall"}},w142:{id:"w142",nodes:["n640","n641","n645","n642","n660","n643","n644"],tags:{highway:"service"}},w143:{id:"w143",nodes:["n646","n647"],tags:{highway:"service"}},w144:{id:"w144",nodes:["n654","n655","n656"],tags:{barrier:"wall"}},w145:{id:"w145",nodes:["n665","n666","n667"],tags:{barrier:"wall"}},w146:{id:"w146",nodes:["n2727","n662","n2719"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w147:{id:"w147",nodes:["n2725","n674"],tags:{highway:"service",oneway:"yes"}},w148:{id:"w148",nodes:["n2464","n2460","n2454","n684","n2455","n2464"],tags:{building:"yes"}},w149:{id:"w149",nodes:["n2456","n685","n686","n687","n2456"],tags:{building:"yes"}},w15:{id:"w15",nodes:["n75","n76","n77","n78","n75"],tags:{building:"yes"}},w150:{id:"w150",nodes:["n685","n688","n689","n690","n691","n692","n686","n685"],tags:{building:"yes"}},w151:{id:"w151",nodes:["n688","n693","n694","n689","n688"],tags:{building:"yes"}},w152:{id:"w152",nodes:["n693","n695","n702","n696","n697","n694","n693"],tags:{building:"yes"}},w153:{id:"w153",nodes:["n695","n698","n699","n700","n701","n702","n695"],tags:{building:"yes"}},w154:{id:"w154",nodes:["n698","n703","n707","n704","n699","n698"],tags:{building:"yes"}},w155:{id:"w155",nodes:["n703","n705","n706","n707","n703"],tags:{building:"yes"}},w156:{id:"w156",nodes:["n705","n708","n709","n706","n705"],tags:{building:"yes"}},w157:{id:"w157",nodes:["n709","n710","n711","n708","n709"],tags:{building:"yes"}},w158:{id:"w158",nodes:["n369","n712","n725","n713","n714","n715","n727","n716","n717","n718","n719"],tags:{footway:"sidewalk",highway:"footway"}},w159:{id:"w159",nodes:["n714","n720","n721"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w16:{id:"w16",nodes:["n79","n80","n81","n82","n83","n84","n85","n86","n79"],tags:{building:"yes"}},w160:{id:"w160",nodes:["n729","n721","n722","n964","n723","n724"],tags:{footway:"sidewalk",highway:"footway"}},w161:{id:"w161",nodes:["n713","n726","n722"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w162:{id:"w162",nodes:["n727","n2411","n728"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w163:{id:"w163",nodes:["n729","n730","n731"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w164:{id:"w164",nodes:["n365","n732","n733","n738"],tags:{footway:"sidewalk",highway:"footway"}},w165:{id:"w165",nodes:["n724","n734","n367","n735","n736","n737"],tags:{footway:"sidewalk",highway:"footway"}},w166:{id:"w166",nodes:["n739","n2037","n2038","n2039","n2040","n1623","n2032"],tags:{highway:"footway"}},w167:{id:"w167",nodes:["n150","n751"],tags:{highway:"service"}},w168:{id:"w168",nodes:["n752","n753","n754","n755","n752"],tags:{building:"yes"}},w169:{id:"w169",nodes:["n756","n757","n758","n759","n756"],tags:{building:"yes"}},w17:{id:"w17",nodes:["n87","n88","n89","n90","n87"],tags:{building:"yes"}},w170:{id:"w170",nodes:["n760","n761","n762","n763","n764","n765","n760"],tags:{building:"yes"}},w171:{id:"w171",nodes:["n766","n767","n768","n769","n770","n771","n772","n773","n774","n775","n776","n777","n766"],tags:{building:"yes"}},w172:{id:"w172",nodes:["n778","n779","n780","n781","n782","n783","n784","n785","n778"],tags:{building:"yes"}},w173:{id:"w173",nodes:["n786","n787","n788","n789","n786"],tags:{building:"yes"}},w174:{id:"w174",nodes:["n790","n791","n792","n793","n794","n795","n796","n797","n798","n799","n800","n801","n790"],tags:{building:"yes"}},w175:{id:"w175",nodes:["n802","n803","n804","n805","n802"],tags:{building:"yes"}},w176:{id:"w176",nodes:["n806","n807","n808","n809","n810","n811","n812","n813","n814","n815","n806"],tags:{building:"yes"}},w177:{id:"w177",nodes:["n816","n1140","n817","n818","n819","n820","n821"],tags:{highway:"service"}},w178:{id:"w178",nodes:["n822","n823","n824","n825","n822"],tags:{building:"yes"}},w179:{id:"w179",nodes:["n841","n842","n843","n844","n841"],tags:{building:"yes"}},w18:{id:"w18",nodes:["n91","n92","n93","n94","n91"],tags:{building:"yes"}},w180:{id:"w180",nodes:["n845","n856","n846"],tags:{highway:"service"}},w181:{id:"w181",nodes:["n846","n847","n848","n849","n850","n851","n852","n853","n854","n855","n856"],tags:{highway:"service",oneway:"yes",service:"drive-through"}},w182:{id:"w182",nodes:["n857","n858"],tags:{highway:"service"}},w183:{id:"w183",nodes:["n859","n860","n861","n862","n859"],tags:{amenity:"parking"}},w184:{id:"w184",nodes:["n863","n864","n867","n866","n865"],tags:{highway:"service"}},w185:{id:"w185",nodes:["n883","n884"],tags:{barrier:"fence"}},w186:{id:"w186",nodes:["n1954","n622","n1955"],tags:{highway:"path",name:"Riverwalk Trail"}},w187:{id:"w187",nodes:["n621","n1954"],tags:{highway:"steps",incline:"up",name:"Riverwalk Trail",surface:"wood"}},w188:{id:"w188",nodes:["n2274","n2275","n2276","n2277","n2278","n2279","n1953","n621"],tags:{highway:"path",name:"Riverwalk Trail",surface:"wood"}},w189:{id:"w189",nodes:["n2273","n2274"],tags:{highway:"steps",incline:"down",name:"Riverwalk Trail",surface:"wood"}},w19:{id:"w19",nodes:["n95","n96","n97","n98","n99","n100","n101","n102","n95"],tags:{building:"yes"}},w190:{id:"w190",nodes:["n821","n894","n900","n903","n901"],tags:{highway:"service"}},w191:{id:"w191",nodes:["n896","n897","n898","n899","n900","n894","n896"],tags:{amenity:"parking"}},w192:{id:"w192",nodes:["n903","n904","n905"],tags:{highway:"service"}},w193:{id:"w193",nodes:["n901","n906","n902"],tags:{highway:"service"}},w194:{id:"w194",nodes:["n912","n913"],tags:{highway:"footway"}},w195:{id:"w195",nodes:["n914","n915"],tags:{highway:"footway"}},w196:{id:"w196",nodes:["n2466","n918","n919","n920","n2466"],tags:{building:"yes"}},w197:{id:"w197",nodes:["n918","n921","n922","n919","n918"],tags:{building:"yes"}},w198:{id:"w198",nodes:["n923","n925","n926","n924","n923"],tags:{building:"yes"}},w199:{id:"w199",nodes:["n925","n927","n932","n928","n929","n926","n925"],tags:{building:"yes"}},w2:{id:"w2",nodes:["n3523","n2182","n2160"],tags:{highway:"service"}},w20:{id:"w20",nodes:["n103","n104","n105","n106","n107","n108","n109","n110","n111","n112","n113","n114","n103"],tags:{building:"yes"}},w200:{id:"w200",nodes:["n927","n930","n931","n932","n927"],tags:{building:"yes"}},w201:{id:"w201",nodes:["n930","n933","n934","n935","n931","n930"],tags:{building:"yes"}},w202:{id:"w202",nodes:["n933","n936","n937","n934","n933"],tags:{building:"yes"}},w203:{id:"w203",nodes:["n936","n938","n942","n939","n954","n937","n936"],tags:{building:"yes"}},w204:{id:"w204",nodes:["n938","n940","n941","n942","n938"],tags:{building:"yes"}},w205:{id:"w205",nodes:["n940","n943","n944","n941","n940"],tags:{building:"yes"}},w206:{id:"w206",nodes:["n943","n945","n946","n947","n948","n944","n943"],tags:{building:"yes"}},w207:{id:"w207",nodes:["n944","n949","n950","n951","n941","n944"],tags:{building:"yes"}},w208:{id:"w208",nodes:["n941","n951","n952","n939","n942","n941"],tags:{building:"yes"}},w209:{id:"w209",nodes:["n952","n953","n954","n939","n952"],tags:{building:"yes"}},w21:{id:"w21",nodes:["n115","n116","n117","n118","n115"],tags:{building:"yes"}},w210:{id:"w210",nodes:["n953","n955","n956","n934","n937","n954","n953"],tags:{building:"yes"}},w211:{id:"w211",nodes:["n964","n965"],tags:{highway:"footway"}},w212:{id:"w212",nodes:["n966","n983","n967","n989"],tags:{highway:"footway"}},w213:{id:"w213",nodes:["n965","n968","n969","n966","n970","n971","n965"],tags:{highway:"footway"}},w214:{id:"w214",nodes:["n973","n999","n992","n974","n975","n976","n993","n977","n978","n979","n980","n967","n981","n1000","n1001","n1002","n1003","n1004","n1005","n1006","n1007","n1008","n1009"],tags:{footway:"sidewalk",highway:"footway"}},w215:{id:"w215",nodes:["n978","n982","n983","n984","n985","n986","n987","n988","n981"],tags:{highway:"footway"}},w216:{id:"w216",nodes:["n976","n990","n991","n992"],tags:{highway:"footway"}},w217:{id:"w217",nodes:["n998","n999"],tags:{highway:"footway"}},w218:{id:"w218",nodes:["n1019","n1020","n1021","n1022","n731","n728","n1023","n1025","n1024","n1019"],tags:{footway:"sidewalk",highway:"footway"}},w219:{id:"w219",nodes:["n719","n1026","n1027"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w22:{id:"w22",nodes:["n119","n120","n121","n122","n119"],tags:{building:"yes"}},w220:{id:"w220",nodes:["n1027","n1028","n1019"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w221:{id:"w221",nodes:["n2080","n1828","n1863","n1829"],tags:{highway:"tertiary",name:"Constantine Street"}},w222:{id:"w222",nodes:["n1029","n1030","n1031"],tags:{highway:"service"}},w223:{id:"w223",nodes:["n2213","n2171","n2183","n2180","n2205","n2177","n2179","n2218","n2200","n2188","n2169","n2196","n2162","n2170","n2211","n2216","n2204","n2220","n2164","n2210","n2217","n2189","n460","n453","n2282"],tags:{name:"Rocky River",waterway:"river"}},w224:{id:"w224",nodes:["n3750","n3751","n3752"],tags:{highway:"service",service:"alley",surface:"unpaved"}},w225:{id:"w225",nodes:["n2134","n2127","n2313","n2109","n2112","n2129","n2156","n2146","n2126","n2153","n2288","n2283","n2284","n2131","n2286","n2287","n2285","n2132","n2140","n2289","n2122","n2114","n2149","n2119","n2106","n2111","n2145","n2113","n2117","n2159","n2143","n2123","n2142","n2116","n2154","n2139","n2150","n2157","n2120","n2138","n2130","n2136","n2155","n2107","n2141","n2124","n3754","n2121","n2105","n2108","n3755","n2128","n2110","n2152","n2125","n2135","n2186","n2115","n2144","n2137","n2133","n2148","n2118","n1871","n1875","n1872","n2041","n1873","n2042","n1874","n1884","n1870","n2151","n2147","n2158","n2104","n2134"]},w226:{id:"w226",nodes:["n2243","n2280","n2244","n2245","n2246","n2247","n1931","n1932","n1933","n1934","n1935","n1936","n1937","n1938","n4681","n1939","n1940","n1941","n1942","n1943","n1944","n1945","n1946","n1947"],tags:{highway:"path",name:"Riverwalk Trail",surface:"asphalt",width:"3"}},w227:{id:"w227",nodes:["n2994","n3012","n3011","n2958"],tags:{highway:"secondary",name:"Main Street"}},w228:{id:"w228",nodes:["n2747","n2762","n2757","n2746","n2761","n2758","n2760","n2755","n2749","n2691","n1028","n2432","n2414","n2413","n2412","n2411","n2410","n720","n726","n370","n368","n2748"],tags:{highway:"primary",name:"Main Street"}},w229:{id:"w229",nodes:["n2083","n2103","n2102","n2084","n2085","n2086","n2087","n2242","n471","n324","n2101","n332","n1868"],tags:{name:"Conrail Railroad",railway:"rail"}},w23:{id:"w23",nodes:["n123","n124","n125","n126","n123"],tags:{building:"yes"}},w230:{id:"w230",nodes:["n2232","n2236","n2231","n2230","n2226","n2241","n2237","n2227","n1182","n2233","n2228","n2229","n1183","n2234","n19","n1891","n20","n2223","n2224","n2238","n2235","n2240","n2225","n2239"],tags:{name:"Saint Joseph River",waterway:"river"}},w231:{id:"w231",nodes:["n456","n1036","n1037","n1038"],tags:{barrier:"wall"}},w232:{id:"w232",nodes:["n1034","n1039","n1040"],tags:{barrier:"wall"}},w233:{id:"w233",nodes:["n1041","n1042","n1043","n1044","n1045","n1046","n1041"],tags:{access:"private",leisure:"swimming_pool"}},w234:{id:"w234",nodes:["n1047","n1048"],tags:{barrier:"hedge"}},w235:{id:"w235",nodes:["n1049","n1050","n1051","n1052","n1049"],tags:{building:"yes"}},w236:{id:"w236",nodes:["n1053","n1054","n1055","n1056","n1057","n1058","n1059","n1060","n1053"],tags:{building:"yes"}},w237:{id:"w237",nodes:["n1061","n1062","n1063","n1064","n1065","n1061"],tags:{building:"yes"}},w238:{id:"w238",nodes:["n1066","n1067","n1068","n1069","n1070","n1071","n1066"],tags:{building:"yes"}},w239:{id:"w239",nodes:["n1072","n1073","n1074","n1075","n1072"],tags:{building:"yes"}},w24:{id:"w24",nodes:["n127","n128","n129","n130","n127"],tags:{building:"yes"}},w240:{id:"w240",nodes:["n1076","n1077","n1078","n1079","n1080","n1081","n1076"],tags:{building:"yes"}},w241:{id:"w241",nodes:["n1082","n1083","n1084","n1085","n1082"],tags:{building:"yes"}},w242:{id:"w242",nodes:["n1086","n1087","n1088","n1089","n1086"],tags:{building:"yes"}},w243:{id:"w243",nodes:["n1090","n1091","n1092","n1093","n1094","n1095","n1096","n1097","n1090"],tags:{building:"yes"}},w244:{id:"w244",nodes:["n1098","n1099","n1100","n1101"],tags:{barrier:"fence"}},w245:{id:"w245",nodes:["n1102","n835","n30","n2590","n35","n29","n2591","n34","n28","n2592","n2312","n32","n2593","n31","n33","n2594","n2595","n1102"],tags:{highway:"service"}},w246:{id:"w246",nodes:["n1103","n1139","n1104"],tags:{barrier:"fence"}},w247:{id:"w247",nodes:["n1105","n1106","n1107","n1108","n1109","n1110","n1111","n1112","n1113","n1114","n1105"],tags:{building:"yes"}},w248:{id:"w248",nodes:["n1115","n1116","n1117","n1118","n1119","n1120","n1115"],tags:{building:"yes"}},w249:{id:"w249",nodes:["n1121","n1122","n1123","n1124","n1121"],tags:{building:"yes"}},w25:{id:"w25",nodes:["n131","n132","n133","n134","n135","n136","n137","n138","n139","n140","n141","n142","n131"],tags:{building:"yes"}},w250:{id:"w250",nodes:["n1125","n1126","n1127","n1128","n1129","n1130","n1131","n1132","n1133","n1134","n1135","n1136","n1125"],tags:{building:"yes"}},w251:{id:"w251",nodes:["n1137","n1138","n1139"],tags:{barrier:"fence"}},w252:{id:"w252",nodes:["n876","n1140","n1141"],tags:{footway:"sidewalk",highway:"footway"}},w253:{id:"w253",nodes:["n1141","n1142","n1143","n1144","n1145","n1146"],tags:{footway:"sidewalk",highway:"footway"}},w254:{id:"w254",nodes:["n1146","n4743","n1147","n1148"],tags:{footway:"sidewalk",highway:"footway"}},w255:{id:"w255",nodes:["n1148","n1149","n1150","n1151"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w256:{id:"w256",nodes:["n1151","n1153","n1154","n1155"],tags:{footway:"sidewalk",highway:"footway"}},w257:{id:"w257",nodes:["n1155","n1156"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w258:{id:"w258",nodes:["n1157","n1158"],tags:{barrier:"retaining_wall"}},w259:{id:"w259",nodes:["n1156","n1161","n1159","n1160","n719"],tags:{footway:"sidewalk",highway:"footway"}},w26:{id:"w26",nodes:["n143","n608","n144"],tags:{highway:"service"}},w260:{id:"w260",nodes:["n1162","n1163","n1164","n1165","n1166","n1167","n1168","n1169","n1170","n2528"],tags:{highway:"footway"}},w261:{id:"w261",nodes:["n1171","n1172","n1173"],tags:{barrier:"wall"}},w262:{id:"w262",nodes:["n1175","n1176","n1177","n1178","n1179","n1180","n1181","n1175"],tags:{natural:"wood"}},w263:{id:"w263",nodes:["n1947","n1184","n1948","n1185","n1949","n1957","n1950","n480","n1951","n479","n478","n477","n1952","n1851","n1956","n2248","n619","n618","n2249","n2250","n2251","n617","n2252","n616","n2253","n829","n2254","n827","n828","n2255","n830","n2256","n826","n2257","n831","n2258","n832","n835","n834","n2312","n2267","n2259","n833","n2268","n2260","n836","n2261","n837","n2262","n838","n2263","n2264","n839","n2265","n840","n2266"],tags:{highway:"path",name:"Riverwalk Trail",surface:"asphalt",width:"3"}},w264:{id:"w264",nodes:["n1186","n1187","n1188","n1189","n1186"],tags:{building:"yes"}},w265:{id:"w265",nodes:["n1190","n1191","n1192","n1193","n1190"],tags:{building:"yes"}},w266:{id:"w266",nodes:["n1194","n1195","n1196","n1197","n1198","n1199","n1200","n1201","n1194"],tags:{building:"yes"}},w267:{id:"w267",nodes:["n1205","n1206","n1207","n1208","n1209","n1210","n1205"],tags:{building:"house"}},w268:{id:"w268",nodes:["n1211","n1212","n1213","n1214","n1215","n1216","n1217","n1218","n1219","n1220","n1211"],tags:{building:"house"}},w269:{id:"w269",nodes:["n1221","n1225","n1222","n1223","n1224","n1221"],tags:{building:"house"}},w27:{id:"w27",nodes:["n145","n147","n146"],tags:{highway:"footway"}},w270:{id:"w270",nodes:["n1225","n1226","n1227","n1229","n1228"],tags:{barrier:"fence"}},w271:{id:"w271",nodes:["n1229","n1230"],tags:{barrier:"fence"}},w272:{id:"w272",nodes:["n1231","n1232","n1233","n1234","n1235","n1236","n1237","n1238","n1231"],tags:{building:"house"}},w273:{id:"w273",nodes:["n1239","n1240","n1241","n1242","n1243","n1244","n1245","n1246","n1239"],tags:{building:"house"}},w274:{id:"w274",nodes:["n1247","n1248","n1249","n1250","n1247"],tags:{building:"house"}},w275:{id:"w275",nodes:["n1251","n1252","n1253","n1254","n1255","n1256","n1251"],tags:{building:"house"}},w276:{id:"w276",nodes:["n1257","n1258","n1259","n1260","n1257"],tags:{building:"shed"}},w277:{id:"w277",nodes:["n1261","n1262","n1263","n1264","n1265","n1266","n1267","n1268","n1261"],tags:{building:"house"}},w278:{id:"w278",nodes:["n1269","n1270","n1271","n1272","n1273","n1274","n1284","n1269"],tags:{building:"house"}},w279:{id:"w279",nodes:["n1275","n1276","n1277","n1278","n1279","n1280","n1275"],tags:{building:"house"}},w28:{id:"w28",nodes:["n147","n148"],tags:{highway:"footway"}},w280:{id:"w280",nodes:["n1281","n1282","n1283","n1284"],tags:{barrier:"fence"}},w281:{id:"w281",nodes:["n1285","n1286","n1287","n1288","n1285"],tags:{building:"house"}},w282:{id:"w282",nodes:["n1289","n1290","n1291","n1292","n1293","n1294","n1295","n1296","n1289"],tags:{building:"house"}},w283:{id:"w283",nodes:["n1297","n1298","n1299","n1300","n1301","n1302","n1297"],tags:{access:"private",leisure:"swimming_pool"}},w284:{id:"w284",nodes:["n1303","n1304","n1305","n1306","n1307","n1308","n1309","n1310","n1311","n1312","n1303"],tags:{building:"house"}},w285:{id:"w285",nodes:["n1313","n1314","n1315","n1316","n1313"],tags:{building:"house"}},w286:{id:"w286",nodes:["n1317","n1318","n1319","n1320","n1321","n1322","n1323","n1324","n1325","n1326","n1327","n1328","n1329","n1330","n1317"],tags:{building:"house"}},w287:{id:"w287",nodes:["n1331","n1332","n1333","n1334","n1465","n1335","n1336","n1331"],tags:{building:"yes"}},w288:{id:"w288",nodes:["n1349","n1350","n1351","n1352","n1353","n1354","n1355","n1337","n1338","n1341","n1342","n1343","n1344","n1345","n1346","n1347","n1348","n1339","n1340","n1349"],tags:{access:"private",leisure:"swimming_pool"}},w289:{id:"w289",nodes:["n1356","n1331"],tags:{barrier:"fence"}},w29:{id:"w29",nodes:["n149","n874","n150","n151","n897","n898","n875","n152"],tags:{highway:"service",oneway:"yes"}},w290:{id:"w290",nodes:["n1357","n1358","n1359","n1360","n1357"],tags:{building:"shed"}},w291:{id:"w291",nodes:["n1358","n1361","n1362"],tags:{barrier:"fence"}},w292:{id:"w292",nodes:["n1363","n1364","n1365","n1366","n1367","n1368","n1363"],tags:{building:"house"}},w293:{id:"w293",nodes:["n1369","n1370","n1371","n1372","n1373","n1374","n1369"],tags:{leisure:"swimming_pool"}},w294:{id:"w294",nodes:["n1367","n1375","n1376","n1377"],tags:{barrier:"fence"}},w295:{id:"w295",nodes:["n1378","n1379","n1380","n1381","n1378"],tags:{building:"house"}},w296:{id:"w296",nodes:["n1382","n1383","n1384","n1385","n1386","n1387","n1382"],tags:{building:"house"}},w297:{id:"w297",nodes:["n1388","n1389","n1390","n1391","n1392","n1393","n1388"],tags:{building:"house"}},w298:{id:"w298",nodes:["n1394","n1395","n1396","n1397","n1394"],tags:{building:"house"}},w299:{id:"w299",nodes:["n1398","n1399","n1400","n1401","n1398"],tags:{access:"private3",leisure:"swimming_pool"}},w3:{id:"w3",nodes:["n1","n2"],tags:{highway:"track",name:"Water Street"}},w30:{id:"w30",nodes:["n153","n154","n155","n156","n153"],tags:{amenity:"parking"}},w300:{id:"w300",nodes:["n1402","n1403","n1404","n1405","n1406","n1407","n1408","n1409","n1410","n1411","n1412","n1413","n1402"],tags:{building:"house"}},w301:{id:"w301",nodes:["n1414","n1415","n1416","n1417","n1414"],tags:{building:"garage"}},w302:{id:"w302",nodes:["n1406","n1418","n1419","n1403"],tags:{barrier:"fence"}},w303:{id:"w303",nodes:["n1423","n1424","n1425","n1426","n1427","n1428","n1429","n1430","n1431","n1432","n1423"],tags:{building:"house"}},w304:{id:"w304",nodes:["n1433","n1434","n1435","n1446","n1436","n1437","n1438","n1439","n1444","n1440","n1441","n1445","n1442","n1443","n1433"],tags:{access:"private",leisure:"swimming_pool"}},w305:{id:"w305",nodes:["n1447","n1448","n1452","n1453","n1454","n1451","n1449","n1450","n1447"],tags:{building:"house"}},w306:{id:"w306",nodes:["n1455","n1456","n1457","n1458","n1455"],tags:{building:"shed"}},w307:{id:"w307",nodes:["n1459","n1460","n1461","n1462","n1459"],tags:{building:"shed"}},w308:{id:"w308",nodes:["n1463","n1464"],tags:{barrier:"fence"}},w309:{id:"w309",nodes:["n1465","n1466","n1467","n1468"],tags:{barrier:"fence"}},w31:{id:"w31",nodes:["n157","n605","n158"],tags:{highway:"service"}},w310:{id:"w310",nodes:["n1469","n1481","n1463"],tags:{barrier:"hedge"}},w311:{id:"w311",nodes:["n1470","n1471","n1472","n1473","n1474","n1475","n1480","n1476","n1477","n1478","n1479","n1470"],tags:{building:"house"}},w312:{id:"w312",nodes:["n1480","n1481"],tags:{barrier:"wall"}},w313:{id:"w313",nodes:["n1482","n1483","n1484","n1485","n1486","n1487","n1488","n1489","n1490","n1491","n1482"],tags:{access:"private",leisure:"swimming_pool"}},w314:{id:"w314",nodes:["n1492","n1493","n1494","n1495","n1496","n1497","n1498","n1499","n1500","n1501","n1502","n1503","n1504","n1505","n1492"],tags:{building:"house"}},w315:{id:"w315",nodes:["n1506","n1507","n1508","n1509","n1510","n1511","n1512","n1513","n1514","n1515","n1506"],tags:{building:"house"}},w316:{id:"w316",nodes:["n1516","n1517","n1518","n1519","n1520","n1521","n1522","n1523","n1516"],tags:{building:"house"}},w317:{id:"w317",nodes:["n1524","n1525","n1526","n1527","n1528","n1529","n1530","n1531","n1524"],tags:{building:"house"}},w318:{id:"w318",nodes:["n1532","n1533"],tags:{barrier:"fence"}},w319:{id:"w319",nodes:["n1534","n1532","n1535"],tags:{barrier:"fence"}},w32:{id:"w32",nodes:["n159","n160","n161","n162","n159"],tags:{amenity:"parking"}},w320:{id:"w320",nodes:["n1536","n1537","n1538","n1539","n1536"],tags:{building:"shed"}},w321:{id:"w321",nodes:["n1540","n1541","n1542","n1543","n1540"],tags:{building:"shed"}},w322:{id:"w322",nodes:["n1544","n1545","n1546","n1547","n1544"],tags:{building:"shed"}},w323:{id:"w323",nodes:["n1548","n1549","n1550","n1551","n1548"],tags:{building:"house"}},w324:{id:"w324",nodes:["n1552","n1553","n1554","n1555","n1556","n1557","n1558","n1559","n1552"],tags:{building:"house"}},w325:{id:"w325",nodes:["n1560","n1561","n1562","n1563","n1564","n1565","n1566","n1567","n1560"],tags:{building:"house"}},w326:{id:"w326",nodes:["n1561","n1568","n1569","n1570"],tags:{barrier:"wall"}},w327:{id:"w327",nodes:["n1571","n1572"],tags:{barrier:"fence"}},w328:{id:"w328",nodes:["n1573","n1574","n1575","n1576","n1573"],tags:{building:"house"}},w329:{id:"w329",nodes:["n1577","n1578","n1579","n1580","n1581","n1582","n1583","n1584","n1585","n1586","n1577"],tags:{building:"house"}},w33:{id:"w33",nodes:["n157","n163"],tags:{highway:"service"}},w330:{id:"w330",nodes:["n1587","n1588","n1589","n1590","n1591","n1592","n1593","n1594","n1587"],tags:{building:"house"}},w331:{id:"w331",nodes:["n1595","n1596","n1597","n1598","n1599","n1600","n1601","n1595"],tags:{access:"private",leisure:"swimming_pool"}},w332:{id:"w332",nodes:["n1602","n1603","n1604","n1605","n1606","n1607","n1608","n1609","n1611","n1610","n1612","n1613","n1602"],tags:{building:"house"}},w333:{id:"w333",nodes:["n2018","n1626","n1627","n2017","n2018"],tags:{amenity:"shelter",shelter_type:"picnic_shelter"}},w334:{id:"w334",nodes:["n2","n3","n2764"],tags:{highway:"service",name:"Water Street"}},w335:{id:"w335",nodes:["n3","n1628","n1614"],tags:{highway:"service"}},w336:{id:"w336",nodes:["n3198","n4545","n2747"],tags:{highway:"residential",name:"Morris Avenue"}},w337:{id:"w337",nodes:["n1629","n3504"],tags:{highway:"service",service:"alley",surface:"unpaved"}},w338:{id:"w338",nodes:["n1813","n1635","n1814","n1634","n1815","n1632","n1816","n1817"],tags:{highway:"service",service:"parking_aisle"}},w339:{id:"w339",nodes:["n1827","n4684","n4690","n1842","n4686","n4685","n1826","n1828","n1846","n1645","n1637","n4703","n1641"],tags:{highway:"residential",name:"Millard Street"}},w34:{id:"w34",nodes:["n164","n165","n166","n171","n866","n172","n167","n168","n169","n910","n170","n164"],tags:{amenity:"parking"}},w340:{id:"w340",nodes:["n1824","n1825"],tags:{highway:"service",service:"parking_aisle"}},w341:{id:"w341",nodes:["n1701","n1702","n1703","n1704","n1705","n1706","n1701"],tags:{building:"yes"}},w342:{id:"w342",nodes:["n1855","n1860","n1856","n1775","n1804","n1776","n1855"],tags:{amenity:"parking",fee:"no"}},w343:{id:"w343",nodes:["n1757","n1758","n1759","n1760","n1757"],tags:{building:"yes"}},w344:{id:"w344",nodes:["n1659","n1660","n1661","n1662","n1663","n1664","n1665","n1666","n1659"],tags:{building:"school"}},w345:{id:"w345",nodes:["n1751","n1752","n1753","n1754","n1755","n1756","n1751"],tags:{building:"yes"}},w346:{id:"w346",nodes:["n1641","n1676","n1673","n1639","n1810","n1642","n1849","n4759","n1845"],tags:{highway:"residential",name:"Douglas Avenue"}},w347:{id:"w347",nodes:["n1642","n1643","n1031","n1630","n845","n1631","n816","n1831","n902","n905","n152","n149","n1832","n1850","n878","n1833","n1852","n42","n1834","n61","n60","n1851","n1835"],tags:{highway:"primary",name:"Michigan Avenue"}},w348:{id:"w348",nodes:["n1650","n1651","n1652","n1653","n1654","n1655","n1656","n1657","n1658","n1650"],tags:{leisure:"playground"}},w349:{id:"w349",nodes:["n1861","n1818","n1819","n1820","n1821","n1825","n1823","n1639"],tags:{highway:"service"}},w35:{id:"w35",nodes:["n168","n167","n172"],tags:{barrier:"fence",fence_type:"chain_link"}},w350:{id:"w350",nodes:["n1783","n1819","n1784","n1857","n1861","n1858","n1783"],tags:{amenity:"parking"}},w351:{id:"w351",nodes:["n1717","n1718","n1719","n1720","n1717"],tags:{building:"yes"}},w352:{id:"w352",nodes:["n1743","n1744","n1745","n1746","n1747","n1748","n1749","n1750","n1743"],tags:{building:"yes"}},w353:{id:"w353",nodes:["n1637","n1636","n1029","n4715","n1630"],tags:{highway:"residential",name:"Lincoln Avenue"}},w354:{id:"w354",nodes:["n1713","n1714","n1715","n1716","n1713"],tags:{building:"yes"}},w355:{id:"w355",nodes:["n1689","n1690","n1691","n1692","n1693","n1694","n1695","n1696","n1689"],tags:{building:"yes"}},w356:{id:"w356",nodes:["n1631","n4717","n1840","n4745","n1841"],tags:{highway:"residential",name:"Hook Avenue"}},w357:{id:"w357",nodes:["n1737","n1738","n1739","n1740","n1741","n1742","n1737"],tags:{building:"yes"}},w358:{id:"w358",nodes:["n1707","n1708","n1709","n1710","n1711","n1712","n1707"],tags:{building:"yes"}},w359:{id:"w359",nodes:["n1829","n4695","n4697","n1843","n4698","n4701","n1638","n4702","n4705","n1636","n4706","n4707","n1633"],tags:{highway:"residential",name:"South Street"}},w36:{id:"w36",nodes:["n910","n171","n866","n172"],tags:{barrier:"fence",fence_type:"chain_link"}},w360:{id:"w360",nodes:["n1767","n1768","n1769","n1770","n1771","n1772","n1773","n1774","n1767"],tags:{building:"yes"}},w361:{id:"w361",nodes:["n1859","n1860","n1804","n1640","n1805","n1817","n1806","n1644","n1811","n1807","n1808","n3419","n1812","n1790","n3418","n3744","n1809","n1813","n1810"],tags:{highway:"service"}},w362:{id:"w362",nodes:["n1639","n1683","n4710","n1633"],tags:{highway:"residential",name:"South Street",oneway:"yes"}},w363:{id:"w363",nodes:["n1646","n1647","n1648","n1649","n1646"],tags:{leisure:"pitch",pitch:"basketball"}},w364:{id:"w364",nodes:["n3820","n3821","n3822","n3823","n3824","n3825","n3826","n3827","n3828","n3829","n3830","n3838","n3839","n3820"],tags:{amenity:"school",name:"Three Rivers Middle School"}},w365:{id:"w365",nodes:["n1721","n1722","n1723","n1724","n1725","n1726","n1727","n1728","n1729","n1730","n1731","n1732","n1733","n1734","n1735","n1736","n1721"],tags:{building:"yes"}},w366:{id:"w366",nodes:["n1791","n1792","n1793","n1794","n1795","n1796","n1798","n1799","n1800","n1801","n1802","n1803","n1791"],tags:{amenity:"parking"}},w367:{id:"w367",nodes:["n1633","n4708","n4711","n1643","n4712","n1838","n4752","n1839"],tags:{highway:"residential",name:"Grant Avenue"}},w368:{id:"w368",nodes:["n1853","n1687","n1688","n1854","n1853"],tags:{amenity:"library",building:"yes",name:"Three Rivers Public Library"}},w369:{id:"w369",nodes:["n1777","n1778","n1779","n1780","n1781","n1782","n1777"],tags:{amenity:"parking"}},w37:{id:"w37",nodes:["n173","n174","n175","n176","n177","n178","n179","n180","n173"],tags:{building:"yes"}},w370:{id:"w370",nodes:["n1645","n1638","n858","n4718","n1631"],tags:{highway:"residential",name:"Hook Avenue"}},w371:{id:"w371",nodes:["n3836","n3835","n4624","n3831","n4632","n3834","n3832","n3833","n3830","n3838","n3839","n3837","n3836"],tags:{amenity:"school",name:"Three Rivers High School"}},w372:{id:"w372",nodes:["n1697","n1698","n1699","n1700","n1697"],tags:{building:"yes"}},w373:{id:"w373",nodes:["n2891","n1785","n1786","n3394","n1787","n1788","n1789","n1830","n1836","n1837","n1848","n3409","n2891"],tags:{amenity:"parking"}},w374:{id:"w374",nodes:["n1761","n1762","n1763","n1764","n1765","n1766","n1761"],tags:{building:"yes"}},w375:{id:"w375",nodes:["n1822","n1823"],tags:{highway:"service",service:"parking_aisle"}},w376:{id:"w376",nodes:["n1677","n1678","n1679","n1680","n1681","n1682","n1677"],tags:{amenity:"parking"}},w377:{id:"w377",nodes:["n1676","n1675","n1674","n1673"],tags:{highway:"service",oneway:"yes"}},w378:{id:"w378",nodes:["n1667","n1668","n1669","n1670","n1671","n1672","n1667"],tags:{amenity:"school",name:"Andrews Elementary School"}},w379:{id:"w379",nodes:["n1630","n4714","n1847","n4750","n1844"],tags:{highway:"residential",name:"Lincoln Avenue"}},w38:{id:"w38",nodes:["n181","n182","n183","n185","n184","n181"],tags:{building:"yes"}},w380:{id:"w380",nodes:["n1683","n3745","n1686","n1633"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w381:{id:"w381",nodes:["n2022","n2037"],tags:{highway:"footway"}},w382:{id:"w382",nodes:["n1826","n1863"],tags:{highway:"residential"}},w383:{id:"w383",nodes:["n2011","n2012","n739","n2013","n2014","n2029","n2011"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w384:{id:"w384",nodes:["n2064","n2065","n2066","n2067","n2068","n2069","n2070","n2071","n2072","n2073","n2074","n2075","n2076","n2077","n2078","n2079","n2064"],tags:{building:"yes"}},w385:{id:"w385",nodes:["n1923","n1924","n1925","n1926","n1927","n1928","n1930","n1929","n1923"],tags:{natural:"water"}},w386:{id:"w386",nodes:["n1827","n14","n1886","n15","n1887","n16","n1888","n18","n17","n1889","n12","n13","n1890","n485","n1864","n11","n10","n2058","n2036","n1865","n2020","n9","n8","n1866","n295","n1867"],tags:{highway:"service"}},w387:{id:"w387",nodes:["n1846","n1843","n865","n157","n4721","n1831"],tags:{highway:"residential",name:"Andrews Street"}},w388:{id:"w388",nodes:["n2019","n2020","n2021","n2022","n2023","n2024","n2025","n2026","n2027","n2028","n2029"],tags:{highway:"footway"}},w389:{id:"w389",nodes:["n2217","n2222","n2221","n2219","n1877","n1879","n1882","n1883","n484","n1885","n483","n1880","n1881","n1878","n1884","n2223"],tags:{name:"Rocky River",waterway:"river"}},w39:{id:"w39",nodes:["n185","n186","n187"],tags:{barrier:"fence"}},w390:{id:"w390",nodes:["n2050","n2051","n2052","n2053","n2050"],tags:{amenity:"shelter",shelter_type:"picnic_shelter"}},w391:{id:"w391",nodes:["n2089","n2090","n2091","n2092","n2093","n2094","n2311","n2095","n2096","n2097","n2098","n1174","n2099","n751","n43","n2062","n4725","n873","n1832"],tags:{highway:"residential",name:"Constantine Street"}},w392:{id:"w392",nodes:["n1869","n212","n436","n2281","n2081"],tags:{highway:"primary",name:"Michigan Avenue"}},w393:{id:"w393",nodes:["n1829","n611","n144","n4694","n602","n1832"],tags:{highway:"tertiary",name:"Constantine Street"}},w394:{id:"w394",nodes:["n1997","n1998","n2000","n1999"],tags:{highway:"service",service:"parking_aisle"}},w395:{id:"w395",nodes:["n1835","n1869"],tags:{bridge:"yes",highway:"primary",name:"Michigan Avenue"}},w396:{id:"w396",nodes:["n2000","n2001"],tags:{highway:"service",service:"parking_aisle"}},w397:{id:"w397",nodes:["n2082","n4688","n1842","n308","n498","n509","n246","n241","n1867","n4645","n293","n1834"],tags:{highway:"residential",name:"Spring Street"}},w398:{id:"w398",nodes:["n2015","n2016","n2017","n2018","n2015"],tags:{building:"yes"}},w399:{id:"w399",nodes:["n2062","n45","n2063","n877","n41","n1852"],tags:{highway:"service"}},w4:{id:"w4",nodes:["n7","n38","n378","n379","n7"],tags:{building:"yes"}},w40:{id:"w40",nodes:["n188","n189","n190","n191","n192","n193","n188"],tags:{building:"house"}},w400:{id:"w400",nodes:["n1968","n1969","n1970","n1971","n2007","n1972","n1973","n1978","n1974","n1977","n1976","n1975","n1968"],tags:{amenity:"parking"}},w401:{id:"w401",nodes:["n1963","n1964"],tags:{bridge:"yes",highway:"footway"}},w402:{id:"w402",nodes:["n1892","n1893","n1894","n1895","n1896","n1897","n1898","n1899","n1900","n1901","n1902","n1903","n1892"],tags:{"addr:city":"Three Rivers","addr:housenumber":"112","addr:postcode":"49093","addr:state":"MI","addr:street":"Spring Street",barrier:"fence",name:"Scidmore Park Petting Zoo",tourism:"zoo",zoo:"petting_zoo"}},w403:{id:"w403",nodes:["n1957","n1958","n1959","n481","n1960","n482","n1949"],tags:{highway:"path"}},w404:{id:"w404",nodes:["n2281","n27","n330","n1987","n1988"],tags:{highway:"service"}},w405:{id:"w405",nodes:["n2249","n2269","n2270","n2271","n2272","n454","n455","n2273"],tags:{highway:"path",name:"Riverwalk Trail"}},w406:{id:"w406",nodes:["n1947","n1624","n1625","n2030","n2033","n4658","n4659","n2031","n2032","n2021"],tags:{highway:"footway"}},w407:{id:"w407",nodes:["n2034","n2036","n2009"],tags:{highway:"footway"}},w408:{id:"w408",nodes:["n1964","n1965","n2002","n1966","n21","n1967","n1969"],tags:{highway:"footway"}},w409:{id:"w409",nodes:["n1904","n1905","n1906","n1907","n1908","n1909","n748","n1910","n747","n1911","n749","n1912","n750","n1913","n1922","n1914","n1921","n1915","n746","n1916","n745","n1917","n744","n1918","n743","n742","n1919","n741","n1920","n740","n1904"],tags:{natural:"water"}},w41:{id:"w41",nodes:["n194","n195","n196","n197","n198","n199","n200","n201","n202","n203","n204","n205","n194"],tags:{building:"house"}},w410:{id:"w410",nodes:["n1868","n2088"],tags:{bridge:"yes",name:"Conrail Railroad",railway:"rail"}},w411:{id:"w411",nodes:["n2010","n2019","n2009","n2008","n2058","n2035","n1961","n1962","n1947","n1963"],tags:{highway:"footway"}},w412:{id:"w412",nodes:["n2290","n2043","n2044","n2045","n1872","n2041","n1873","n2042","n1874","n2046","n2047","n2048","n2049","n2290"],tags:{"addr:city":"Three Rivers","addr:housenumber":"112","addr:postcode":"49093","addr:state":"MI","addr:street":"Spring Street",leisure:"park",name:"Scidmore Park"}},w413:{id:"w413",nodes:["n1831","n876","n4720","n821","n2089"],tags:{highway:"residential",name:"Andrews Street"}},w414:{id:"w414",nodes:["n2002","n2003","n2004","n2005","n2006","n2007"],tags:{highway:"footway"}},w415:{id:"w415",nodes:["n1979","n1980","n1981","n1982","n1979"],tags:{amenity:"parking"}},w416:{id:"w416",nodes:["n2054","n2055","n2056","n2057","n2054"],tags:{amenity:"shelter",shelter_type:"picnic_shelter"}},w417:{id:"w417",nodes:["n2291","n2292","n2293","n2294","n2295","n2296","n2297","n2298","n2299","n1098","n2300","n2301","n2302","n2303","n2304","n2059","n2060","n2305","n2307","n2306","n2310","n2308","n2309","n2291"],tags:{leisure:"park",name:"Memory Isle Park"}},w418:{id:"w418",nodes:["n2033","n2034","n2035"],tags:{highway:"footway"}},w419:{id:"w419",nodes:["n1983","n1984","n1985","n1986","n1983"],tags:{amenity:"parking"}},w42:{id:"w42",nodes:["n206","n207","n208","n209","n210","n211","n206"],tags:{building:"house"}},w420:{id:"w420",nodes:["n1840","n4746","n4748","n1847","n4749","n4755","n1838","n4754","n4756","n1849"],tags:{highway:"residential",name:"French Street"}},w421:{id:"w421",nodes:["n2337","n2268"],tags:{highway:"path"}},w422:{id:"w422",nodes:["n2338","n2339","n2320","n2317","n2319","n2318","n2340","n2341","n2342","n2343","n2344","n2345","n2346","n2347","n2348","n2338"],tags:{natural:"water"}},w423:{id:"w423",nodes:["n2180","n2349","n2350","n2351","n2352","n2404","n2353","n2354","n2355","n2356","n2357","n2358","n2359","n2360","n2361","n2362","n2363","n2364","n2365","n2366","n2370","n2371","n2372","n2373","n2374","n2375","n2377","n2378","n2380","n2381","n2382","n2383","n2386","n2389","n2390","n2391","n2392","n2393","n2396","n2397","n2401","n2402","n2321","n2322","n2323","n2403","n2180"],tags:{natural:"wetland"}},w424:{id:"w424",nodes:["n2324","n2316","n1841","n2315","n2314","n1844","n1839","n4758","n1845"],tags:{highway:"residential",name:"Pealer Street"}},w425:{id:"w425",nodes:["n2267","n2337","n2336","n2335","n2334","n2333","n2332","n2331","n2330","n37","n2329","n2328","n2327","n36","n2326","n2325","n2266"],tags:{highway:"path",name:"Riverwalk Trail"}},w426:{id:"w426",nodes:["n2478","n681","n680","n679","n2459","n2467","n2487","n2478"],tags:{building:"yes"}},w427:{id:"w427",nodes:["n2671","n2672","n2673","n2674","n2671"],tags:{building:"yes"}},w428:{id:"w428",nodes:["n2483","n2482","n2486","n2489","n2492","n2502","n2495","n2480","n2483"],tags:{building:"yes"}},w429:{id:"w429",nodes:["n2707","n2708","n2716","n2712","n2714","n2713","n2715","n2711","n2710","n2723","n2709","n2707"],tags:{amenity:"parking"}},w43:{id:"w43",nodes:["n1955","n1956"],tags:{footway:"sidewalk",highway:"footway",name:"Riverwalk Trail"}},w430:{id:"w430",nodes:["n2471","n2474","n2484","n2479","n2471"],tags:{building:"yes"}},w431:{id:"w431",nodes:["n2218","n2434","n2436","n2433","n2435","n2210"],tags:{name:"Rocky River",waterway:"river"}},w432:{id:"w432",nodes:["n2782","n2532","n2783","n2784","n2782"],tags:{amenity:"parking"}},w433:{id:"w433",nodes:["n2513","n649","n2520","n2514","n2507","n2513"],tags:{building:"yes"}},w434:{id:"w434",nodes:["n2470","n2468","n2461","n2465","n2470"],tags:{building:"yes"}},w435:{id:"w435",nodes:["n2598","n2599","n648","n649","n2520","n2598"],tags:{building:"yes"}},w436:{id:"w436",nodes:["n2639","n2640","n2641","n2642","n2643","n2644","n2645","n2646","n2647","n2648","n2639"],tags:{building:"yes"}},w437:{id:"w437",nodes:["n2503","n2512","n2508","n2499","n2503"],tags:{building:"yes"}},w438:{id:"w438",nodes:["n2440","n2800","n2774","n1"],tags:{highway:"residential",name:"Water Street"}},w439:{id:"w439",nodes:["n2675","n2676","n2677","n2678","n2675"],tags:{building:"yes"}},w44:{id:"w44",nodes:["n213","n214","n215","n216","n213"],tags:{building:"yes"}},w440:{id:"w440",nodes:["n2512","n2503","n2507","n2514","n2512"],tags:{building:"yes"}},w441:{id:"w441",nodes:["n2554","n2717","n674","n2720","n2798"],tags:{highway:"service",oneway:"yes"}},w442:{id:"w442",nodes:["n2583","n2596","n2584","n2585","n2595","n2586","n2587","n2588","n2589","n2583"],tags:{amenity:"parking"}},w443:{id:"w443",nodes:["n2629","n2627","n2628","n2616","n2630","n2629"],tags:{building:"yes"}},w444:{id:"w444",nodes:["n2717","n2724","n670","n2718","n669","n668","n2722","n2727"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w445:{id:"w445",nodes:["n2572","n2573"],tags:{bridge:"yes",highway:"path",name:"Riverwalk Trail"}},w446:{id:"w446",nodes:["n2603","n2604","n2601","n2605","n2606","n2607","n2603"],tags:{building:"yes"}},w447:{id:"w447",nodes:["n2780","n2777","n628","n624","n2779"],tags:{highway:"residential",name:"Foster Street",oneway:"yes"}},w448:{id:"w448",nodes:["n2733","n2734","n2735","n2736","n2737","n2738","n663","n664","n2739","n2733"],tags:{building:"yes"}},w449:{id:"w449",nodes:["n2564","n2565","n2566","n2567","n2568","n2794","n2795","n2564"],tags:{amenity:"parking"}},w45:{id:"w45",nodes:["n217","n218","n219","n220","n217"],tags:{amenity:"shelter",shelter_type:"picnic_shelter"}},w450:{id:"w450",nodes:["n2799","n2728","n2729","n2730","n2731","n2732","n2799"],tags:{building:"yes"}},w451:{id:"w451",nodes:["n2441","n1170","n2442","n2575","n2443","n2445","n2444","n2448","n2441"],tags:{amenity:"parking"}},w452:{id:"w452",nodes:["n2273","n457","n2569","n458","n2570"],tags:{highway:"path",name:"Riverwalk Trail"}},w453:{id:"w453",nodes:["n2447","n2242","n2448","n2527","n2530"],tags:{highway:"service"}},w454:{id:"w454",nodes:["n2560","n333","n2561"],tags:{highway:"service",service:"parking_aisle"}},w455:{id:"w455",nodes:["n2679","n2680","n2681","n2682","n2683","n2684","n2685","n2686","n2687","n2688","n2689","n2690","n2679"],tags:{building:"yes"}},w456:{id:"w456",nodes:["n2425","n2429","n2424"],tags:{bridge:"yes",highway:"residential",name:"Moore Street"}},w457:{id:"w457",nodes:["n2487","n2467","n2472","n2480","n2495","n2487"],tags:{building:"yes"}},w458:{id:"w458",nodes:["n2659","n2660","n2661","n2662","n678","n677","n2663","n2664","n2665","n2666","n675","n676","n2659"],tags:{building:"yes"}},w459:{id:"w459",nodes:["n2600","n2598","n2599","n2601","n2605","n2602","n2600"],tags:{building:"yes"}},w46:{id:"w46",nodes:["n221","n222","n223","n224","n221"],tags:{amenity:"shelter",shelter_type:"picnic_shelter"}},w460:{id:"w460",nodes:["n2468","n2464","n2455","n2457","n2461","n2468"],tags:{building:"yes"}},w461:{id:"w461",nodes:["n2478","n2473","n683","n682","n2463","n681","n2478"],tags:{building:"yes"}},w462:{id:"w462",nodes:["n2547","n473","n2548","n2549"],tags:{highway:"service",service:"parking_aisle"}},w463:{id:"w463",nodes:["n2573","n2574"],tags:{highway:"path",name:"Riverwalk Trail"}},w464:{id:"w464",nodes:["n2445","n2597","n2527","n2528","n2529","n2530","n2531","n2597"],tags:{highway:"service",service:"parking_aisle"}},w465:{id:"w465",nodes:["n2571","n459","n2572"],tags:{highway:"path",name:"Riverwalk Trail"}},w466:{id:"w466",nodes:["n2445","n2574","n2552","n442","n2551","n4727","n323","n2446"],tags:{highway:"service"}},w467:{id:"w467",nodes:["n2484","n2474","n2477","n2485","n2488","n2484"],tags:{building:"yes"}},w468:{id:"w468",nodes:["n2695","n2696","n2697","n2698","n2699","n2700","n2701","n2702","n2695"],tags:{building:"yes"}},w469:{id:"w469",nodes:["n2469","n2476","n2481","n2475","n920","n2466","n2469"],tags:{building:"yes"}},w47:{id:"w47",nodes:["n1988","n1997","n1989","n25","n24","n1990","n26","n1991","n21","n1992","n2006","n1993","n22","n1994","n23","n1995","n1999","n1996","n2001","n1988"],tags:{highway:"service"}},w470:{id:"w470",nodes:["n2473","n2470","n2465","n2458","n2462","n683","n2473"],tags:{building:"yes"}},w471:{id:"w471",nodes:["n2490","n2496","n994","n997","n998","n996","n995","n2485","n2477","n2490"],tags:{building:"yes"}},w472:{id:"w472",nodes:["n2424","n2426","n2427","n2428"],tags:{highway:"residential",name:"Moore Street"}},w473:{id:"w473",nodes:["n2432","n1026","n4741","n2554","n2425"],tags:{highway:"residential",name:"Moore Street"}},w474:{id:"w474",nodes:["n2577","n2576"],tags:{bridge:"yes",highway:"footway"}},w475:{id:"w475",nodes:["n2497","n2505","n2500","n2493","n2497"],tags:{building:"yes"}},w476:{id:"w476",nodes:["n2493","n2500","n2501","n2496","n2490","n2493"],tags:{building:"yes"}},w477:{id:"w477",nodes:["n2431","n360","n4726","n418","n397","n396","n2547","n646","n2447","n644","n2418","n424","n640","n2419","n2420","n2423"],tags:{highway:"residential",name:"Railroad Drive"}},w478:{id:"w478",nodes:["n2515","n2511","n2498","n2504","n2509","n2515"],tags:{building:"yes"}},w479:{id:"w479",nodes:["n2525","n651","n650","n2526","n2524","n653","n652","n656","n2523","n654","n2518","n2517","n2521","n2522","n2525"],tags:{building:"yes"}},w48:{id:"w48",nodes:["n225","n237","n226","n227","n228","n229","n230","n231","n232","n233","n234","n235","n236","n225"],tags:{building:"yes"}},w480:{id:"w480",nodes:["n2703","n2704","n2710","n2711","n2705","n2706","n2703"],tags:{amenity:"parking"}},w481:{id:"w481",nodes:["n2796","n2657","n2658","n2797","n2796"],tags:{building:"yes"}},w482:{id:"w482",nodes:["n2550","n2551","n442","n2552","n2553","n2550"],tags:{amenity:"parking"}},w483:{id:"w483",nodes:["n2790","n2542"],tags:{highway:"service",service:"parking_aisle"}},w484:{id:"w484",nodes:["n2311","n1102"],tags:{highway:"service"}},w485:{id:"w485",nodes:["n2515","n2509","n2516","n2519","n2515"],tags:{building:"yes"}},w486:{id:"w486",nodes:["n2506","n2502","n2492","n2491","n2494","n2506"],tags:{building:"yes"}},w487:{id:"w487",nodes:["n2667","n2668","n2669","n2670","n2667"],tags:{building:"yes"}},w488:{id:"w488",nodes:["n2616","n2608","n2617","n2618","n2619","n2620","n2621","n2622","n2623","n2624","n2625","n2626","n2627","n2628","n2616"],tags:{building:"yes"}},w489:{id:"w489",nodes:["n2081","n2430"],tags:{bridge:"yes",highway:"primary",name:"Michigan Avenue"}},w49:{id:"w49",nodes:["n237","n238"],tags:{highway:"footway"}},w490:{id:"w490",nodes:["n2410","n636","n730","n635","n2409","n2694","n2751","n2765","n2753","n2768","n2754","n2769","n2745","n2766","n4503","n2763","n4501","n2752","n2781"],tags:{highway:"residential",name:"Portage Avenue"}},w491:{id:"w491",nodes:["n2578","n2579","n2580","n2581","n2578"],tags:{amenity:"shelter",building:"yes",shelter_type:"picnic_shelter"}},w492:{id:"w492",nodes:["n2556","n2557","n2558","n2559","n2556"],tags:{amenity:"parking"}},w493:{id:"w493",nodes:["n2460","n2456","n687","n2453","n2454","n2460"],tags:{building:"yes"}},w494:{id:"w494",nodes:["n2471","n2479","n2476","n2469","n2471"],tags:{building:"yes"}},w495:{id:"w495",nodes:["n2724","n2725","n673","n672","n671","n2726","n2727"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w496:{id:"w496",nodes:["n2649","n2650","n2651","n2652","n2653","n2654","n2655","n2656","n2649"],tags:{building:"yes"}},w497:{id:"w497",nodes:["n2430","n2446","n343","n2101","n2560","n2431","n363","n2748"],tags:{highway:"primary",name:"Michigan Avenue"}},w498:{id:"w498",nodes:["n2691","n2692","n634","n633","n2693","n2694"],tags:{highway:"service"}},w499:{id:"w499",nodes:["n2423","n2415","n661","n2416","n2417","n2719","n2721","n2772","n2756","n2773","n2759","n2767"],tags:{highway:"residential",name:"West Street"}},w5:{id:"w5",nodes:["n380","n381","n382","n383","n429","n430","n380"],tags:{building:"yes"}},w50:{id:"w50",nodes:["n239","n499","n508","n245","n238","n242","n240"],tags:{footway:"sidewalk",highway:"footway"}},w500:{id:"w500",nodes:["n2428","n1152","n2421","n2324"],tags:{bridge:"yes",highway:"residential",name:"Moore Street"}},w501:{id:"w501",nodes:["n2608","n2609","n2610","n2611","n2612","n2613","n2614","n2615","n2617","n2608"],tags:{building:"yes"}},w502:{id:"w502",nodes:["n2570","n2571"],tags:{bridge:"yes",highway:"path",name:"Riverwalk Trail"}},w503:{id:"w503",nodes:["n2540","n2542","n2787"],tags:{highway:"service"}},w504:{id:"w504",nodes:["n2269","n2582","n2250"],tags:{highway:"path"}},w505:{id:"w505",nodes:["n2631","n2632","n2633","n2634","n2635","n2636","n2637","n2638","n2631"],tags:{building:"yes"}},w506:{id:"w506",nodes:["n2543","n2544","n2545","n395","n2546","n2543"],tags:{amenity:"parking"}},w507:{id:"w507",nodes:["n2449","n2450","n2451","n2452","n1162","n2449"],tags:{leisure:"pitch",sport:"tennis"}},w508:{id:"w508",nodes:["n2554","n1160","n2559","n2558","n659","n2555","n658","n657","n2419"],tags:{highway:"service"}},w509:{id:"w509",nodes:["n2499","n2508","n2510","n2505","n2497","n2499"],tags:{building:"yes"}},w51:{id:"w51",nodes:["n241","n242","n243","n244"],tags:{highway:"service",surface:"unpaved"}},w510:{id:"w510",nodes:["n2575","n2577"],tags:{highway:"footway"}},w511:{id:"w511",nodes:["n2533","n2534","n2535","n2536","n2537","n2538","n2539","n2785","n2786","n2533"],tags:{amenity:"parking"}},w512:{id:"w512",nodes:["n2801","n2740","n2741","n2742","n2743","n2744","n2801"],tags:{building:"yes"}},w513:{id:"w513",nodes:["n2720","n2721"],tags:{highway:"service",service:"parking_aisle"}},w514:{id:"w514",nodes:["n2788","n2790","n2789","n989","n2540","n2541"],tags:{highway:"service",service:"parking_aisle"}},w515:{id:"w515",nodes:["n2848","n2849","n2850","n2851","n2803","n2804","n2812"],tags:{highway:"residential",name:"Middle Street"}},w516:{id:"w516",nodes:["n2852","n2805"],tags:{access:"private",highway:"service",name:"Battle Street"}},w517:{id:"w517",nodes:["n2863","n2815","n2814","n2812","n2864","n2855","n2865","n2867","n2868"],tags:{highway:"secondary",name:"Michigan Avenue",name_1:"State Highway 60",ref:"M 60"}},w518:{id:"w518",nodes:["n2859","n2808"],tags:{highway:"residential",name:"2nd Avenue"}},w519:{id:"w519",nodes:["n2823","n2824","n2825","n2826","n2827","n2828","n2823"],tags:{building:"yes"}},w52:{id:"w52",nodes:["n247","n248","n249","n250","n247"],tags:{amenity:"parking"}},w520:{id:"w520",nodes:["n2806","n2807","n2803"],tags:{highway:"residential",name:"2nd Avenue"}},w521:{id:"w521",nodes:["n2829","n2830","n2831","n2832","n2833","n2834","n2835","n2836","n2837","n2838","n2829"],tags:{building:"yes"}},w522:{id:"w522",nodes:["n2815","n2813","n2811","n4597","n2846","n4596","n2857","n4601","n2853","n4602","n2861","n4","n2879","n4560","n3550","n5","n1685"],tags:{highway:"residential",name:"Washington Street"}},w523:{id:"w523",nodes:["n2878","n2811","n2810","n2860","n2880","n2881","n2882"],tags:{highway:"residential",name:"5th Avenue"}},w524:{id:"w524",nodes:["n2816","n2817","n2818","n2819","n2820","n2821","n2822","n2816"],tags:{building:"yes"}},w525:{id:"w525",nodes:["n2869","n2856","n2806","n2808","n2814","n2809","n2810","n2847","n2858","n2854","n2870","n2871","n6","n2872","n2839","n2862"],tags:{highway:"residential",name:"Wood Street"}},w526:{id:"w526",nodes:["n2877","n2809","n2813","n2844","n2843"],tags:{highway:"residential",name:"4th Avenue"}},w527:{id:"w527",nodes:["n4785","n4784","n2936","n4788","n4787","n4786","n4785"],tags:{amenity:"parking"}},w528:{id:"w528",nodes:["n2864","n2892","n2893","n2877","n2860","n3840"],tags:{highway:"residential",name:"Garden Street"}},w529:{id:"w529",nodes:["n2868","n2890"],tags:{bridge:"yes",highway:"secondary",name:"Michigan Avenue",name_1:"State Highway 60",ref:"M 60"}},w53:{id:"w53",nodes:["n251","n252","n253","n254","n255","n256","n257","n258","n259","n260","n261","n262","n251"],tags:{building:"yes"}},w530:{id:"w530",nodes:["n2914","n2915","n2916","n2917","n2918","n2919","n2920","n2921","n2922","n2923","n2924","n2925","n2926","n2927","n2928","n2929","n2930","n2931","n2932","n2933","n2914"],tags:{building:"yes"}},w531:{id:"w531",nodes:["n2958","n2896"],tags:{bridge:"yes",highway:"secondary",name:"Main Street"}},w532:{id:"w532",nodes:["n2896","n394","n364","n2748"],tags:{highway:"secondary",name:"Main Street"}},w533:{id:"w533",nodes:["n2800","n2943","n2940","n2941","n2942","n2943"],tags:{highway:"service",service:"parking_aisle"}},w534:{id:"w534",nodes:["n3836","n3837","n3839","n3838","n3834","n4632","n3831","n4624","n3835","n3836"],tags:{barrier:"fence"}},w535:{id:"w535",nodes:["n2894","n2944","n2774","n2765"],tags:{highway:"residential",name:"5th Avenue"}},w536:{id:"w536",nodes:["n2890","n2780","n627","n2889","n2887","n623","n2888","n366","n2748"],tags:{highway:"secondary",name:"Michigan Avenue",name_1:"State Highway 60",ref:"M 60"}},w537:{id:"w537",nodes:["n2895","n738","n2887","n737","n2913"],tags:{highway:"residential",name:"Water Street"}},w538:{id:"w538",nodes:["n2855","n3756","n2884","n2885","n2886","n2945","n2946","n2947","n2948","n2949","n2950","n2951","n2952","n2953","n2955","n2848","n2956","n2856"],tags:{highway:"residential",name:"River Drive"}},w539:{id:"w539",nodes:["n2882","n2894"],tags:{bridge:"yes",highway:"residential",name:"5th Avenue"}},w54:{id:"w54",nodes:["n263","n264","n265","n266","n267","n268","n269","n270","n271","n272","n273","n274","n275","n276","n263"],tags:{building:"yes"}},w540:{id:"w540",nodes:["n2987","n2964","n2981","n2983","n2966","n2982","n2962","n2960","n2967","n2965","n2984","n2977","n2968","n2976","n2986","n2988","n2963","n2970","n2969","n2979","n2974","n2980","n2959","n2973","n2985","n2961","n2975","n2971","n2972","n2978","n2898","n2907","n2912","n2909","n2911","n2901","n2903","n2904","n2906","n2902","n2900","n2910","n2908","n2899","n2897","n2905","n2186","n2233"],tags:{name:"Portage River",waterway:"river"}},w541:{id:"w541",nodes:["n2852","n2851","n3003"],tags:{highway:"residential",name:"1st Avenue"}},w542:{id:"w542",nodes:["n2991","n3004","n2994"],tags:{highway:"residential",name:"River Street"}},w543:{id:"w543",nodes:["n2993","n2989"],tags:{bridge:"yes",highway:"residential",name:"6th Street"}},w544:{id:"w544",nodes:["n2995","n2996","n2997","n2998","n2999","n3000","n3001","n3002","n2990","n2991","n2993"],tags:{highway:"residential",name:"6th Street"}},w545:{id:"w545",nodes:["n2989","n2992","n2848"],tags:{highway:"residential",name:"6th Street"}},w546:{id:"w546",nodes:["n2313","n3169","n3170","n3171","n3172","n3173","n3174","n3175","n3176","n3177","n3178","n3179","n3180","n3191","n3181","n3190","n3182","n3183","n3184","n3185","n3186","n3187","n3188","n3189","n3160","n3161","n3162","n2126","n2146","n2156","n2129","n2112","n2109","n2313"],tags:{natural:"wetland"}},w547:{id:"w547",nodes:["n2088","n3013","n3015","n3014","n3017","n3018"],tags:{name:"Conrail Railroad",railway:"rail"}},w548:{id:"w548",nodes:["n3083","n3084","n3085","n3086","n3083"],tags:{building:"yes"}},w549:{id:"w549",nodes:["n3020","n2288","n2283","n2284","n2131","n2286","n2287","n2285","n2132","n2140","n2289","n3020"],tags:{leisure:"park",name:"Conservation Park"}},w55:{id:"w55",nodes:["n277","n278","n279","n280","n281","n282","n283","n284","n277"],tags:{building:"yes"}},w550:{id:"w550",nodes:["n3056","n3042","n3041","n3040","n3039","n3038","n3037","n3036","n3044","n3035","n3034","n3043","n3016","n3056","n3019","n3015","n3012"],tags:{highway:"service"}},w551:{id:"w551",nodes:["n3044","n3045","n3046","n3047","n3048","n3049","n3050","n3051","n3052","n3053","n3054","n3055","n3016"],tags:{highway:"footway"}},w552:{id:"w552",nodes:["n3117","n3118","n3119","n3120","n3121","n3122","n3117"],tags:{building:"yes"}},w553:{id:"w553",nodes:["n3123","n3124","n3129","n3125","n3126","n3123"],tags:{building:"yes"}},w554:{id:"w554",nodes:["n3069","n3070","n3071","n3072","n3073","n3074","n3075","n3076","n3077","n3078","n3079","n3080","n3081","n3082","n3069"],tags:{building:"yes"}},w555:{id:"w555",nodes:["n3087","n3088","n3089","n3090","n3087"],tags:{building:"yes"}},w556:{id:"w556",nodes:["n3113","n3114","n3115","n3116","n3113"],tags:{building:"yes"}},w557:{id:"w557",nodes:["n3103","n3104","n3105","n3106","n3103"],tags:{building:"yes"}},w558:{id:"w558",nodes:["n3127","n3128","n3129","n3124","n3127"],tags:{building:"yes"}},w559:{id:"w559",nodes:["n3137","n3141","n3142","n3138","n3139","n3140","n3137"],tags:{building:"yes"}},w56:{id:"w56",nodes:["n285","n286","n287","n288","n285"],tags:{amenity:"parking"}},w560:{id:"w560",nodes:["n3091","n3092","n3093","n3094","n3091"],tags:{building:"yes"}},w561:{id:"w561",nodes:["n3155","n3157","n3158","n3159","n3156","n3155"],tags:{building:"yes"}},w562:{id:"w562",nodes:["n3057","n3058","n3059","n3060","n3057"],tags:{building:"yes"}},w563:{id:"w563",nodes:["n3107","n3108","n3109","n3110","n3111","n3112","n3107"],tags:{building:"yes"}},w564:{id:"w564",nodes:["n3134","n3135","n3136","n3131","n3134"],tags:{building:"yes"}},w565:{id:"w565",nodes:["n3143","n3144","n3145","n3146","n3143"],tags:{building:"yes"}},w566:{id:"w566",nodes:["n3095","n3096","n3097","n3098","n3095"],tags:{building:"yes"}},w567:{id:"w567",nodes:["n3130","n3131","n3136","n3132","n3133","n3130"],tags:{building:"yes"}},w568:{id:"w568",nodes:["n3025","n3026","n3027","n3028","n3029","n3030","n3031","n3033","n3032","n3025"],tags:{amenity:"parking"}},w569:{id:"w569",nodes:["n3061","n3062","n3063","n3064","n3061"],tags:{building:"yes"}},w57:{id:"w57",nodes:["n289","n290","n291","n292","n289"],tags:{amenity:"parking"}},w570:{id:"w570",nodes:["n3155","n3156","n3152","n3153","n3155"],tags:{building:"yes"}},w571:{id:"w571",nodes:["n3099","n3100","n3101","n3102","n3099"],tags:{building:"yes"}},w572:{id:"w572",nodes:["n3147","n3148","n3149","n3150","n3147"],tags:{building:"yes"}},w573:{id:"w573",nodes:["n3039","n2284"],tags:{highway:"service"}},w574:{id:"w574",nodes:["n3151","n3152","n3153","n3154","n3151"],tags:{building:"yes"}},w575:{id:"w575",nodes:["n3021","n3022","n3023","n3024","n3021"],tags:{amenity:"shelter",shelter_type:"picnic_shelter"}},w576:{id:"w576",nodes:["n3065","n3066","n3067","n3068","n3065"],tags:{building:"yes"}},w577:{id:"w577",nodes:["n2944","n3192","n3757","n3813","n3814","n3815","n3816","n3817","n3818","n3819"],tags:{highway:"service",name:"Willow Drive",service:"driveway",surface:"unpaved"}},w578:{id:"w578",nodes:["n2163","n2165","n2166","n2167","n2168","n2172","n2173","n2174","n2175","n2176","n2178","n2181","n2163"],tags:{building:"yes"}},w579:{id:"w579",nodes:["n2754","n3195","n3204","n3205","n4537","n4540","n3206","n4530","n4536","n3207","n4524","n3199","n4521","n3197","n1032"],tags:{highway:"residential",name:"Elm Street"}},w58:{id:"w58",nodes:["n240","n293","n294"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w580:{id:"w580",nodes:["n2184","n2185","n2187","n2190","n2191","n2192","n2184"],tags:{building:"yes"}},w581:{id:"w581",nodes:["n2765","n3208","n3211","n2755","n3280","n2756","n3346"],tags:{highway:"residential",name:"Kelsey Street"}},w582:{id:"w582",nodes:["n2753","n3194","n3193","n3201","n3196","n4551","n3202","n4550","n3203","n3200","n3198","n1033"],tags:{highway:"residential",name:"Walnut Street"}},w583:{id:"w583",nodes:["n3272","n4469","n4588","n2879","n4564","n2872"],tags:{highway:"residential",name:"10th Avenue"}},w584:{id:"w584",nodes:["n3243","n3242","n3241","n3240","n3243"],tags:{building:"industrial"}},w585:{id:"w585",nodes:["n3273","n3274","n4631","n4593","n3275","n4592","n2846","n4611","n2847"],tags:{highway:"residential",name:"6th Avenue"}},w586:{id:"w586",nodes:["n3276","n4591","n2853","n4605","n2854"],tags:{highway:"residential",name:"8th Avenue"}},w587:{id:"w587",nodes:["n3269","n3268","n3267","n3266","n3265","n3264","n3263","n3262","n3269"],tags:{building:"industrial"}},w588:{id:"w588",nodes:["n3277","n4599","n2857","n4598","n4608","n2858"],tags:{highway:"residential",name:"7th Avenue"}},w589:{id:"w589",nodes:["n3239","n3238","n3271","n3270","n3237","n3236","n3235","n3234","n3239"],tags:{building:"yes"}},w59:{id:"w59",nodes:["n294","n295","n296","n297","n298","n299","n300","n301","n302","n303","n491","n304","n305","n306","n307"],tags:{footway:"sidewalk",highway:"footway"}},w590:{id:"w590",nodes:["n3278","n4458","n4589","n4604","n2861"],tags:{highway:"residential",name:"9th Avenue"}},w591:{id:"w591",nodes:["n3253","n3252","n3251","n3250","n3249","n3248","n3253"],tags:{building:"industrial"}},w592:{id:"w592",nodes:["n3229","n3228","n3227","n3226","n3225","n3224","n3223","n3222","n3221","n3220","n3219","n3218","n3217","n3216","n3215","n3214","n3213","n3212","n3229"],tags:{natural:"water",water:"pond"}},w593:{id:"w593",nodes:["n3261","n3260","n3259","n3258","n3257","n3256","n3255","n3254","n3261"],tags:{building:"industrial"}},w594:{id:"w594",nodes:["n3233","n3232","n3231","n3230","n3233"],tags:{building:"yes"}},w595:{id:"w595",nodes:["n3247","n3246","n3245","n3244","n3247"],tags:{building:"industrial"}},w596:{id:"w596",nodes:["n2769","n3195","n3193","n3209","n2758","n2759","n3279"],tags:{highway:"residential",name:"Armitage Street"}},w597:{id:"w597",nodes:["n2193","n2194","n2195","n2197","n2193"],tags:{building:"yes"}},w598:{id:"w598",nodes:["n3404","n3403","n3402","n3401","n3400","n3399","n3398","n3397","n3373","n3372","n3396","n3395","n3404"],tags:{building:"school"}},w6:{id:"w6",nodes:["n879","n880","n881","n882","n879"],tags:{building:"shed"}},w60:{id:"w60",nodes:["n239","n308","n307"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w600:{id:"w600",nodes:["n3387","n3386","n3316","n3315","n3314","n3313","n3387"],tags:{building:"yes"}},w601:{id:"w601",nodes:["n3304","n3303","n3302","n3301","n3385","n3384","n3300","n3299","n3304"],tags:{building:"yes"}},w602:{id:"w602",nodes:["n3334","n3333","n3332","n3331","n3330","n3329","n3328","n3327","n3326","n3325","n3324","n3323","n3322","n3321","n3320","n3319","n3318","n3317","n3334"],tags:{building:"yes"}},w603:{id:"w603",nodes:["n3353","n3352","n3347","n3280","n2798"],tags:{highway:"service",service:"alley",surface:"unpaved"}},w604:{id:"w604",nodes:["n3753","n3211","n3383"],tags:{highway:"service",service:"alley"}},w605:{id:"w605",nodes:["n3290","n3289","n3288","n3287","n3286","n3285","n3284","n3283","n3282","n3281","n3290"],tags:{building:"yes"}},w606:{id:"w606",nodes:["n2198","n2199","n2201","n2202","n2203","n2206","n2198"],tags:{building:"yes"}},w607:{id:"w607",nodes:["n2198","n2207"],tags:{barrier:"wall"}},w608:{id:"w608",nodes:["n2751","n3208","n3210","n3209","n3415","n3410","n3414","n3413","n3412","n3416"],tags:{highway:"residential",name:"East Street"}},w609:{id:"w609",nodes:["n2772","n3346","n3746","n3748","n3747","n3345","n3378","n3279","n3411"],tags:{highway:"residential",name:"Maple Street"}},w61:{id:"w61",nodes:["n309","n310","n311","n312","n313","n240"],tags:{footway:"sidewalk",highway:"footway"}},w610:{id:"w610",nodes:["n3379","n3380","n3382","n3381","n3379"],tags:{leisure:"park",name:"LaFayette Park"}},w611:{id:"w611",nodes:["n2768","n3194","n3210","n3753","n2760","n3353","n2773","n3378"],tags:{highway:"residential",name:"Bennett Street"}},w612:{id:"w612",nodes:["n2751","n3383","n2749","n2798","n2772"],tags:{highway:"residential",name:"Market Street"}},w613:{id:"w613",nodes:["n3298","n3297","n3296","n3295","n3294","n3293","n3292","n3291","n3298"],tags:{building:"yes"}},w614:{id:"w614",nodes:["n3375","n3406","n3405","n3374","n3375"],tags:{leisure:"playground"}},w615:{id:"w615",nodes:["n3393","n3344","n3343","n3342","n3341","n3340","n3339","n3338","n3337","n3392","n3391","n3390","n3389","n3336","n3335","n3388","n3393"],tags:{building:"yes"}},w616:{id:"w616",nodes:["n3376","n3407","n3408","n3377","n3376"],tags:{amenity:"school",name:"Three Rivers Elementary School"}},w617:{id:"w617",nodes:["n3312","n3311","n3310","n3309","n3308","n3307","n3306","n3305","n3312"],tags:{building:"yes"}},w619:{id:"w619",nodes:["n2863","n3424","n3425","n3426","n3427","n3428","n3429","n3430","n3431","n3432","n3433","n2844"],tags:{highway:"secondary",name:"Michigan Avenue",ref:"M 60"}},w62:{id:"w62",nodes:["n876","n906","n904","n875","n874","n873","n872","n871","n870","n869","n41","n868","n146","n314","n315","n1956"],tags:{footway:"sidewalk",highway:"footway"}},w620:{id:"w620",nodes:["n2844","n3420","n3421","n3422","n3439","n2859","n3437","n3493","n3496","n3500","n3497"],tags:{highway:"residential"}},w621:{id:"w621",nodes:["n3468","n3469","n3470","n3471","n3468"],tags:{building:"yes"}},w622:{id:"w622",nodes:["n3417","n3436","n3438","n3491","n3488","n3492","n3495","n3494","n3498","n3487","n3499","n3490","n3489","n4800","n3417"],tags:{landuse:"cemetery",name:"Riverside Cemetery"}},w623:{id:"w623",nodes:["n3440","n3441","n3442","n3443","n3444","n3445","n3440"],tags:{building:"yes"}},w624:{id:"w624",nodes:["n3446","n3447","n3448","n3449","n3450","n3451","n3452","n3453","n3454","n3455","n3456","n3457","n3458","n3459","n3460","n3461","n3462","n3463","n3464","n3465","n3466","n3467","n3446"],tags:{building:"yes"}},w625:{id:"w625",nodes:["n2844","n3434","n3435","n2878","n3275","n4621","n3276","n3278","n4463","n3272","n3472","n3474","n3475","n3476","n3477","n3478","n1202","n3479","n3480","n3481","n1203","n3482","n3483","n3484","n3485","n4574","n3486","n3473"],tags:{highway:"secondary",name:"Jefferson Street",name_1:"State Highway 60",ref:"M 60"}},w626:{id:"w626",nodes:["n3439","n3423","n2863"],tags:{highway:"unclassified",name:"Michigan Avenue",name_1:"State Highway 60"}},w627:{id:"w627",nodes:["n3500","n3005"],tags:{highway:"service"}},w628:{id:"w628",nodes:["n3491","n3488","n3492","n3010","n3009","n3005","n3008","n3007","n3006","n3502","n3491"],tags:{leisure:"park",name:"Marina Park"}},w629:{id:"w629",nodes:["n2208","n2209","n2212","n2214","n2208"],tags:{building:"yes"}},w63:{id:"w63",nodes:["n1955","n316"],tags:{footway:"sidewalk",highway:"footway"}},w630:{id:"w630",nodes:["n2757","n3414","n3202","n4542","n3206","n4538","n3750","n3503","n1629","n4500","n2763","n4502","n2764","n3508"],tags:{highway:"residential",name:"Hoffman Street"}},w631:{id:"w631",nodes:["n2215","n2750","n2770","n2771","n2215"],tags:{building:"yes"}},w632:{id:"w632",nodes:["n2766","n3504","n3507","n3751","n3205","n3196","n3410","n2746"],tags:{highway:"residential",name:"Cushman Street"}},w633:{id:"w633",nodes:["n2745","n3749","n3507","n4535","n3503"],tags:{highway:"residential",name:"Pine Street"}},w634:{id:"w634",nodes:["n3510","n3511","n3512","n3509","n3510"],tags:{leisure:"park",name:"Bowman Park"}},w636:{id:"w636",nodes:["n2745","n3752","n3204","n3201","n3415","n2761","n2767","n3411"],tags:{highway:"residential",name:"Wheeler Street"}},w637:{id:"w637",nodes:["n3550","n4586","n4476","n3472"],tags:{highway:"residential",name:"11th Avenue"}},w638:{id:"w638",nodes:["n3508","n3518"],tags:{bridge:"yes",highway:"residential",name:"Hoffman Street"}},w639:{id:"w639",nodes:["n3518","n1204","n2862","n3519","n3520","n3521","n3522","n3523","n2161","n3524","n3549","n3552","n4239","n3551","n4577","n4582","n4578","n4583","n4579","n4574"],tags:{highway:"residential",name:"Hoffman Street"}},w64:{id:"w64",nodes:["n316","n317"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w640:{id:"w640",nodes:["n3634","n3640","n3676","n3633","n3678","n3648","n3638","n3683","n3600","n3579","n3679","n3677","n2987","n3592","n3588","n3608","n3559","n3617","n3620","n3660","n3553","n3533","n3530","n3531","n3525","n3527","n3526","n3532","n3529","n3528","n3667","n3627","n3623","n3625","n3601","n3687","n3671","n3644","n3626","n3673","n3582","n3693","n3605","n3619","n3651","n3650","n3615","n3663","n3631","n3596","n3604","n3655","n3586","n3595","n3701","n3603","n3686","n3611","n3568","n3674","n3613","n3580","n3562","n3564","n3689","n3585","n3670","n3659","n3684","n3680","n3646","n3558","n3556","n3692","n3563","n3575","n3571","n3675","n3557","n3700","n3656","n3622","n3657","n3565","n3669","n3658","n3618","n3624","n3688","n3610","n3570","n3645","n3649","n3583","n3694","n3561","n3554","n3614","n3698","n3581","n3635","n3641","n3569","n3647","n3628","n3598","n3696","n3665","n3639","n3607","n3695","n3642","n3672","n3577","n3643","n3691","n3602","n3576","n3591","n3560","n3606","n3685","n3597","n3629","n3661","n3654","n3616","n3697","n3578","n3609","n3653","n3699","n3566","n3637","n3567","n3666","n3555","n3599","n3590","n3572","n3593","n3690","n3681","n3612","n3682","n3668","n3587","n3621","n3636","n3662","n3589","n3573","n3652","n3664","n3632","n3574","n3594","n3584","n3630","n3634"],tags:{landuse:"reservoir",name:"Hoffman Pond",natural:"water"}},w641:{id:"w641",nodes:["n2988","n3534","n3535","n3536","n3537","n3538","n3539","n3540","n3541","n3542","n3543","n3544","n3545","n3546","n3547","n3548","n2970"],tags:{waterway:"river"}},w642:{id:"w642",nodes:["n3702","n3703","n3704","n3705","n3706","n3707","n3708","n3709","n3710","n3711","n3712","n3713","n3714","n3715","n3716","n3717","n3718","n3719","n3720","n3721","n3722","n3723","n3724","n3725","n3726","n3727","n3728","n3729","n3730","n3731","n3732","n3733","n3734","n3735","n3736","n3737","n3738","n3739","n3740","n3741","n3742","n3743","n3702"],tags:{admin_level:"8",boundary:"administrative"}},w643:{id:"w643",nodes:["n2839","n2873"],tags:{highway:"service",service:"driveway"}},w644:{id:"w644",nodes:["n2873","n2840"],tags:{bridge:"yes",highway:"service",layer:"1",service:"driveway"}},w645:{id:"w645",nodes:["n2840","n2841","n2842","n2845","n2866"],tags:{highway:"service",service:"driveway",surface:"unpaved"}},w646:{id:"w646",nodes:["n2752","n3759","n1420","n1421","n1422","n3758","n4507","n4506","n4505","n4520","n3199","n4522","n4504","n4546","n3200","n4547","n3412"],tags:{highway:"residential",name:"Flower Street"}},w647:{id:"w647",nodes:["n2874","n2875","n2876","n2954","n2874"],tags:{building:"industrial"}},w648:{id:"w648",nodes:["n3778","n3779","n3780","n3781","n3782","n3783","n3778"],tags:{building:"yes"}},w649:{id:"w649",nodes:["n3197","n4543","n4544","n3198"],tags:{highway:"residential",name:"Morris Avenue",surface:"unpaved"}},w65:{id:"w65",nodes:["n317","n318","n319","n320","n321"],tags:{footway:"sidewalk",highway:"footway"}},w650:{id:"w650",nodes:["n3207","n4526","n4528","n4548","n3203","n4549","n3413","n2762"],tags:{highway:"residential",name:"Adams Street"}},w651:{id:"w651",nodes:["n3788","n3785","n3786","n3787","n3788"],tags:{power:"station"}},w652:{id:"w652",nodes:["n2957","n3163","n3241"],tags:{barrier:"wall"}},w653:{id:"w653",nodes:["n3549","n3802","n3803","n3800","n3801"],tags:{highway:"service",surface:"unpaved"}},w654:{id:"w654",nodes:["n3164","n3165","n3166","n3167","n3168","n3505","n3164"],tags:{building:"yes"}},w655:{id:"w655",nodes:["n3506","n3517","n3760","n3761","n3762","n3763","n3506"],tags:{building:"yes"}},w656:{id:"w656",nodes:["n3764","n3765","n3766","n3767","n3768","n3769","n3770","n3771","n3764"],tags:{building:"yes"}},w657:{id:"w657",nodes:["n3772","n3773","n3774","n3775","n3772"],tags:{building:"yes"}},w658:{id:"w658",nodes:["n3776","n3777","n3784","n3789","n3776"],tags:{building:"yes"}},w659:{id:"w659",nodes:["n3930","n3931","n3932","n3933","n3934","n3935","n3936","n3937","n3938","n3930"],tags:{leisure:"pitch",sport:"baseball"}},w66:{id:"w66",nodes:["n321","n322"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w660:{id:"w660",nodes:["n3982","n3842","n3864","n3865","n2938","n3866","n2939","n3867","n3868","n3858","n2937","n3869","n2935","n2934","n3870","n3348","n3862"],tags:{highway:"service"}},w661:{id:"w661",nodes:["n3968","n3969"],tags:{highway:"footway"}},w662:{id:"w662",nodes:["n3875","n3876","n3877","n3878","n3879","n3880","n3881","n3882","n3875"],tags:{amenity:"parking"}},w663:{id:"w663",nodes:["n3964","n3965"],tags:{highway:"footway"}},w664:{id:"w664",nodes:["n3966","n3967"],tags:{highway:"footway"}},w665:{id:"w665",nodes:["n3857","n3890","n3884","n3894","n3889","n3899","n3885","n3886","n3896","n3887"],tags:{highway:"service",service:"parking_aisle"}},w666:{id:"w666",nodes:["n3895","n3896"],tags:{highway:"service",service:"parking_aisle"}},w667:{id:"w667",nodes:["n3274","n3977","n3984","n3983","n3981","n3844","n3978","n3982","n3861","n3862","n3873","n3874","n4468","n3863"],tags:{access:"private",highway:"service",name:"Collins Drive"}},w668:{id:"w668",nodes:["n3900","n3901","n3902","n3903","n3904","n3905","n3808","n3809","n3906","n3907","n3908","n3967","n3909","n3910","n3911","n3955","n3964","n3912","n3913","n3914","n3915","n3916","n3917","n3918","n3919","n3920","n3921","n3922","n3923","n3924","n3925","n3926","n3927","n3969","n3970","n3928","n3807","n3929","n3900"],tags:{building:"school"}},w669:{id:"w669",nodes:["n3272","n39","n40","n3974","n3863","n3857","n3892","n3883","n3891","n3889"],tags:{highway:"service"}},w67:{id:"w67",nodes:["n322","n886","n323","n475"],tags:{footway:"crossing",highway:"footway"}},w670:{id:"w670",nodes:["n3473","n3859","n3860","n3980","n4908","n4865"],tags:{highway:"secondary",name:"Hoffman Street",ref:"M 60"}},w671:{id:"w671",nodes:["n3970","n3806","n3971"],tags:{highway:"footway"}},w672:{id:"w672",nodes:["n3892","n3893","n3894"],tags:{highway:"service",service:"parking_aisle"}},w673:{id:"w673",nodes:["n3945","n3946","n3992","n3990","n3945"],tags:{leisure:"pitch",sport:"tennis"}},w674:{id:"w674",nodes:["n3890","n3893","n3891"],tags:{highway:"service",service:"parking_aisle"}},w675:{id:"w675",nodes:["n3947","n3948","n3994","n3993","n3947"],tags:{leisure:"pitch",sport:"tennis"}},w676:{id:"w676",nodes:["n3858","n3954","n3972","n3810","n3811","n3812","n3841","n3973","n3898","n3963","n3897","n3896"],tags:{highway:"service"}},w677:{id:"w677",nodes:["n3977","n3996","n3997","n4004","n3998","n3999","n4005","n4007","n4006","n3995","n4000","n3843","n4001","n4002","n4003","n3949","n3351","n3950","n3354","n3350","n3951","n3349","n3952","n3953","n3954","n3956","n3966","n3955"],tags:{highway:"footway"}},w678:{id:"w678",nodes:["n3887","n3888","n3895","n3899"],tags:{highway:"service",service:"parking_aisle"}},w679:{id:"w679",nodes:["n3946","n3947","n3993","n3992","n3946"],tags:{leisure:"pitch",sport:"tennis"}},w68:{id:"w68",nodes:["n294","n1952","n326"],tags:{footway:"sidewalk",highway:"footway"}},w680:{id:"w680",nodes:["n3939","n3940","n3941","n3985","n3986","n3987","n3988","n3989","n3942","n3943","n3939"],tags:{leisure:"pitch",sport:"baseball"}},w681:{id:"w681",nodes:["n3990","n3991","n3944","n3945","n3990"],tags:{leisure:"pitch",sport:"tennis"}},w682:{id:"w682",nodes:["n3871","n3872","n3873","n3874","n3871"],tags:{amenity:"parking"}},w683:{id:"w683",nodes:["n3956","n3965","n3957","n3958","n3959"],tags:{footway:"sidewalk",highway:"footway"}},w684:{id:"w684",nodes:["n3790","n3791","n3792","n3793","n3790"],tags:{building:"shed"}},w685:{id:"w685",nodes:["n3794","n3795","n3796","n3797","n3794"],tags:{building:"yes"}},w686:{id:"w686",nodes:["n3798","n3799","n3804","n3805","n3798"],tags:{building:"yes"}},w687:{id:"w687",nodes:["n3806","n3807"],tags:{highway:"footway"}},w688:{id:"w688",nodes:["n3845","n3846","n3847","n3848","n3845"],tags:{leisure:"pitch",sport:"american_football"}},w689:{id:"w689",nodes:["n3849","n4021","n3850","n3851","n3852","n3853","n3854","n3855","n3856","n3975","n3976","n3979","n4008","n4009","n4010","n4011","n4012","n4013","n4014","n4015","n4016","n4017","n4018","n4019","n4020","n4021"],tags:{leisure:"track",sport:"running"}},w69:{id:"w69",nodes:["n326","n327"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w690:{id:"w690",nodes:["n4022","n4023","n4024","n4025","n4026","n4027","n4022"],tags:{building:"yes"}},w691:{id:"w691",nodes:["n4028","n4029","n4030","n4031","n4028"],tags:{building:"yes"}},w692:{id:"w692",nodes:["n4032","n4033","n4034","n4035","n4032"],tags:{building:"yes"}},w693:{id:"w693",nodes:["n4036","n4037","n4038","n4039","n4036"],tags:{building:"yes"}},w694:{id:"w694",nodes:["n4040","n4041","n4042","n4043","n4040"],tags:{building:"yes"}},w695:{id:"w695",nodes:["n4044","n4045","n4050","n4053","n4046","n4047","n4048","n4049","n4044"],tags:{building:"yes"}},w696:{id:"w696",nodes:["n4050","n4051","n4052","n4053","n4050"],tags:{building:"roof"}},w697:{id:"w697",nodes:["n4054","n4068","n4055","n4056","n4057","n4054"],tags:{building:"yes"}},w698:{id:"w698",nodes:["n4058","n4059","n4060","n4061","n4062","n4063","n4058"],tags:{building:"yes"}},w699:{id:"w699",nodes:["n4064","n4066","n4065"],tags:{barrier:"fence"}},w7:{id:"w7",nodes:["n43","n44","n45"],tags:{highway:"service"}},w70:{id:"w70",nodes:["n327","n328","n27","n329"],tags:{footway:"sidewalk",highway:"footway"}},w700:{id:"w700",nodes:["n4066","n4067","n4068"],tags:{barrier:"fence"}},w701:{id:"w701",nodes:["n4069","n4070","n4071","n4072","n4069"],tags:{building:"shed"}},w702:{id:"w702",nodes:["n4073","n4074","n4075","n4076","n4077","n4078","n4079","n4080","n4081","n4082","n4083","n4084","n4073"],tags:{building:"yes"}},w703:{id:"w703",nodes:["n4085","n4093","n4086","n4087","n4088","n4089","n4090","n4091","n4092","n4085"],tags:{building:"yes"}},w704:{id:"w704",nodes:["n4093","n4094","n4095","n4096"],tags:{barrier:"fence"}},w705:{id:"w705",nodes:["n4097","n4098","n4099","n4100","n4097"],tags:{building:"yes"}},w706:{id:"w706",nodes:["n4098","n4102","n4087"],tags:{barrier:"fence"}},w707:{id:"w707",nodes:["n4101","n4102","n4096","n4170","n4103"],tags:{barrier:"fence"}},w708:{id:"w708",nodes:["n4104","n4105","n4106","n4107","n4104"],tags:{access:"private",leisure:"swimming_pool"}},w709:{id:"w709",nodes:["n4108","n4109","n4110","n4111","n4108"],tags:{building:"yes"}},w71:{id:"w71",nodes:["n329","n331"],tags:{bridge:"yes",footway:"sidewalk",highway:"footway",layer:"1"}},w710:{id:"w710",nodes:["n4112","n4113","n4114","n4115","n4116","n4117","n4118","n4119","n4112"],tags:{building:"yes"}},w711:{id:"w711",nodes:["n4120","n4121","n4122","n4123","n4120"],tags:{building:"yes"}},w712:{id:"w712",nodes:["n4124","n4125","n4126","n4127","n4128","n4129","n4124"],tags:{building:"yes"}},w713:{id:"w713",nodes:["n4130","n4131","n4132","n4133","n4130"],tags:{building:"shed"}},w714:{id:"w714",nodes:["n4134","n4135","n4136","n4137","n4138","n4139","n4140","n4141","n4142","n4143","n4134"],tags:{building:"yes"}},w715:{id:"w715",nodes:["n4144","n4145","n4146","n4147","n4148","n4149","n4144"],tags:{building:"yes"}},w716:{id:"w716",nodes:["n4150","n4151","n4152","n4153","n4150"],tags:{building:"yes"}},w717:{id:"w717",nodes:["n4154","n4155","n4156","n4157","n4154"],tags:{building:"yes"}},w718:{id:"w718",nodes:["n4158","n4159","n4160","n4161","n4162","n4163","n4164","n4165","n4158"],tags:{building:"yes"}},w719:{id:"w719",nodes:["n4166","n4167","n4168","n4169","n4166"],tags:{building:"yes"}},w72:{id:"w72",nodes:["n331","n344","n332","n333","n334"],tags:{footway:"sidewalk",highway:"footway"}},w720:{id:"w720",nodes:["n4170","n4171"],tags:{barrier:"fence"}},w721:{id:"w721",nodes:["n4138","n4103"],tags:{barrier:"fence"}},w722:{id:"w722",nodes:["n4103","n4172"],tags:{barrier:"fence"}},w723:{id:"w723",nodes:["n4173","n4174"],tags:{barrier:"fence"}},w724:{id:"w724",nodes:["n4175","n4176","n4177","n4178","n4175"],tags:{building:"yes"}},w725:{id:"w725",nodes:["n4179","n4180","n4181","n4182","n4183","n4184","n4179"],tags:{building:"yes"}},w726:{id:"w726",nodes:["n4185","n4186","n4187","n4188","n4185"],tags:{building:"yes"}},w727:{id:"w727",nodes:["n4189","n4190","n4191","n4192","n4193","n4194","n4195","n4196","n4197","n4198","n4199","n4200","n4201","n4202","n4189"],tags:{building:"yes"}},w728:{id:"w728",nodes:["n4203","n4204","n4205","n4206","n4207","n4208","n4209","n4210","n4203"],tags:{building:"yes"}},w729:{id:"w729",nodes:["n4211","n4212","n4213","n4214","n4211"],tags:{building:"shed"}},w73:{id:"w73",nodes:["n335","n336","n337","n338","n339","n340","n341","n342","n335"],tags:{building:"yes"}},w730:{id:"w730",nodes:["n4215","n4216","n4217","n4218","n4215"],tags:{building:"yes"}},w731:{id:"w731",nodes:["n4219","n4220","n4221","n4222","n4223","n4224","n4225","n4226","n4227","n4228","n4229","n4230","n4219"],tags:{building:"yes"}},w732:{id:"w732",nodes:["n4231","n4232","n4233","n4234","n4235","n4236","n4237","n4238","n4231"],tags:{building:"yes"}},w733:{id:"w733",nodes:["n4239","n4240","n4241","n4242","n4243","n4244","n4245","n4246","n4247","n4248","n4241"],tags:{highway:"service"}},w734:{id:"w734",nodes:["n4240","n4249","n4248"],tags:{highway:"service",service:"parking_aisle"}},w735:{id:"w735",nodes:["n4250","n4251","n4252","n4253","n4254","n4255","n4256","n4257","n4258","n4250"],tags:{amenity:"parking"}},w736:{id:"w736",nodes:["n4259","n4260","n4261","n4262","n4259"],tags:{building:"yes"}},w737:{id:"w737",nodes:["n4263","n4264","n4265","n4266","n4267","n4268","n4269","n4270","n4271","n4272","n4273","n4274","n4275","n4276","n4263"],tags:{building:"yes"}},w738:{id:"w738",nodes:["n4277","n4278","n4279","n4280","n4281","n4282","n4277"],tags:{building:"yes"}},w739:{id:"w739",nodes:["n4283","n4284","n4285","n4286","n4287","n4288","n4289","n4290","n4291","n4292","n4293","n4294","n4283"],tags:{building:"yes"}},w74:{id:"w74",nodes:["n343","n344","n345"],tags:{highway:"service"}},w740:{id:"w740",nodes:["n4295","n4296","n4297","n4298","n4295"],tags:{building:"yes"}},w741:{id:"w741",nodes:["n4299","n4300","n4301","n4302","n4303","n4304","n4305","n4306","n4307","n4308","n4309","n4310","n4299"],tags:{building:"yes"}},w742:{id:"w742",nodes:["n4311","n4312","n4313","n4314","n4311"],tags:{building:"shed"}},w743:{id:"w743",nodes:["n4315","n4316","n4317","n4318","n4319","n4320","n4315"],tags:{building:"yes"}},w744:{id:"w744",nodes:["n4321","n4322","n4323","n4324","n4325","n4326","n4327","n4328","n4329","n4330","n4331","n4332","n4333","n4334","n4321"],tags:{building:"yes"}},w745:{id:"w745",nodes:["n4335","n4336","n4337","n4338","n4335"],tags:{building:"shed"}},w746:{id:"w746",nodes:["n4339","n4340","n4341","n4342","n4343","n4344","n4339"],tags:{building:"yes"}},w747:{id:"w747",nodes:["n4345","n4346","n4347","n4348","n4345"],tags:{building:"yes"}},w748:{id:"w748",nodes:["n4349","n4350","n4351","n4352","n4349"],tags:{building:"yes"}},w749:{id:"w749",nodes:["n4353","n4354","n4355","n4356","n4357","n4358","n4353"],tags:{building:"yes"}},w75:{id:"w75",nodes:["n346","n347","n348","n349","n350","n351","n346"],tags:{amenity:"parking"}},w750:{id:"w750",nodes:["n4612","n4359","n4360"],tags:{barrier:"fence"}},w751:{id:"w751",nodes:["n4361","n4362","n4363","n4364","n4361"],tags:{building:"yes"}},w752:{id:"w752",nodes:["n4365","n4366","n4367","n4368","n4365"],tags:{building:"yes"}},w753:{id:"w753",nodes:["n4369","n4370","n4371","n4372","n4375","n4369"],tags:{building:"yes"}},w754:{id:"w754",nodes:["n4373","n4374","n4375"],tags:{barrier:"fence"}},w755:{id:"w755",nodes:["n4376","n4377","n4378","n4379","n4376"],tags:{building:"shed"}},w756:{id:"w756",nodes:["n4380","n4381","n4382","n4383","n4384","n4385","n4386","n4387","n4388","n4389","n4390","n4391","n4380"],tags:{building:"yes"}},w757:{id:"w757",nodes:["n4392","n4393","n4394","n4395","n4392"],tags:{building:"yes"}},w758:{id:"w758",nodes:["n4396","n4397","n4398","n4399","n4396"],tags:{building:"shed"}},w759:{id:"w759",nodes:["n4400","n4401","n4402","n4403","n4404","n4405","n4406","n4407","n4408","n4409","n4410","n4411","n4412","n4413","n4414","n4415","n4400"],tags:{building:"yes"}},w76:{id:"w76",nodes:["n2561","n359","n2563","n2793","n357","n356","n2792","n355","n354","n2791","n2562","n353","n352","n358","n2561"],tags:{highway:"service",oneway:"yes",service:"parking_aisle"}},w760:{id:"w760",nodes:["n4416","n4417"],tags:{barrier:"fence"}},w761:{id:"w761",nodes:["n4418","n4416","n4419"],tags:{barrier:"fence"}},w762:{id:"w762",nodes:["n4420","n4421"],tags:{barrier:"fence"}},w763:{id:"w763",nodes:["n4422","n4423","n4424","n4425","n4426","n4427","n4428","n4429","n4430","n4431","n4432","n4433","n4422"],tags:{building:"yes"}},w764:{id:"w764",nodes:["n4434","n4435","n4436","n4437","n4438","n4439","n4440","n4441","n4442","n4445","n4444","n4443","n4434"],tags:{building:"yes"}},w765:{id:"w765",nodes:["n4446","n4447","n4448","n4449","n4446"],tags:{building:"yes"}},w766:{id:"w766",nodes:["n4450","n4451","n4452","n4453","n4450"],tags:{building:"yes"}},w767:{id:"w767",nodes:["n4454","n4455","n4456","n4457","n4454"],tags:{building:"yes"}},w768:{id:"w768",nodes:["n4461","n4458","n4460"],tags:{footway:"crossing",highway:"footway"}},w769:{id:"w769",nodes:["n4460","n4462","n4459"],tags:{footway:"sidewalk",highway:"footway"}},w77:{id:"w77",nodes:["n325","n360","n361"],tags:{footway:"crossing",highway:"footway"}},w770:{id:"w770",nodes:["n4462","n4463","n4464"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w771:{id:"w771",nodes:["n4464","n4465","n4466","n4467"],tags:{footway:"sidewalk",highway:"footway"}},w772:{id:"w772",nodes:["n3959","n3968","n3971","n3960","n3961","n3962","n3963"],tags:{footway:"sidewalk",highway:"footway"}},w773:{id:"w773",nodes:["n4467","n4468","n3959"],tags:{footway:"crossing",highway:"footway"}},w774:{id:"w774",nodes:["n4459","n4469","n4470"],tags:{footway:"crossing",highway:"footway"}},w775:{id:"w775",nodes:["n4470","n4471","n4472","n4473","n4474","n4475"],tags:{footway:"sidewalk",highway:"footway"}},w776:{id:"w776",nodes:["n4475","n4476","n4477"],tags:{footway:"crossing",highway:"footway"}},w777:{id:"w777",nodes:["n4477","n4478","n4479","n4480","n4481","n4482","n4483","n4484","n4485","n4486","n4487"],tags:{footway:"sidewalk",highway:"footway"}},w778:{id:"w778",nodes:["n4488","n4489","n4490","n4491","n4488"],tags:{building:"yes"}},w779:{id:"w779",nodes:["n4492","n4493","n4494","n4495","n4492"],tags:{building:"yes"}},w78:{id:"w78",nodes:["n361","n362","n369"],tags:{footway:"sidewalk",highway:"footway"}},w780:{id:"w780",nodes:["n4496","n4497","n4498","n4499","n4496"],tags:{access:"private",leisure:"swimming_pool"}},w781:{id:"w781",nodes:["n4508","n4509"],tags:{footway:"sidewalk",highway:"footway"}},w782:{id:"w782",nodes:["n4510","n4511"],tags:{footway:"sidewalk",highway:"footway"}},w783:{id:"w783",nodes:["n4512","n4513"],tags:{footway:"sidewalk",highway:"footway"}},w784:{id:"w784",nodes:["n4513","n4514"],tags:{footway:"sidewalk",highway:"footway"}},w785:{id:"w785",nodes:["n4515","n4516"],tags:{footway:"sidewalk",highway:"footway"}},w786:{id:"w786",nodes:["n4517","n4515"],tags:{footway:"sidewalk",highway:"footway"}},w787:{id:"w787",nodes:["n4518","n4519"],tags:{footway:"sidewalk",highway:"footway"}},w788:{id:"w788",nodes:["n4519","n4520","n4513"],tags:{footway:"crossing",highway:"footway"}},w789:{id:"w789",nodes:["n4515","n4521","n4513"],tags:{footway:"crossing",highway:"footway"}},w79:{id:"w79",nodes:["n362","n363","n334"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w790:{id:"w790",nodes:["n4515","n4522","n4523"],tags:{footway:"crossing",highway:"footway"}},w791:{id:"w791",nodes:["n4523","n4524","n4519"],tags:{footway:"crossing",highway:"footway"}},w792:{id:"w792",nodes:["n4523","n4525"],tags:{footway:"sidewalk",highway:"footway"}},w793:{id:"w793",nodes:["n4525","n4526","n4527"],tags:{footway:"crossing",highway:"footway"}},w794:{id:"w794",nodes:["n4527","n4529"],tags:{footway:"sidewalk",highway:"footway"}},w795:{id:"w795",nodes:["n4529","n4530","n4518"],tags:{footway:"crossing",highway:"footway"}},w796:{id:"w796",nodes:["n4518","n4531"],tags:{footway:"sidewalk",highway:"footway"}},w797:{id:"w797",nodes:["n4531","n4532"],tags:{footway:"sidewalk",highway:"footway"}},w798:{id:"w798",nodes:["n4533","n4534"],tags:{footway:"sidewalk",highway:"footway"}},w799:{id:"w799",nodes:["n4518","n4538","n4539"],tags:{footway:"crossing",highway:"footway"}},w8:{id:"w8",nodes:["n46","n47","n145","n48","n49","n46"],tags:{amenity:"parking"}},w80:{id:"w80",nodes:["n334","n364","n365"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w800:{id:"w800",nodes:["n4539","n4540","n4541"],tags:{footway:"crossing",highway:"footway"}},w801:{id:"w801",nodes:["n4541","n4542","n4529"],tags:{footway:"crossing",highway:"footway"}},w802:{id:"w802",nodes:["n4552","n4553"],tags:{footway:"sidewalk",highway:"footway"}},w803:{id:"w803",nodes:["n4554","n4555","n4556","n4557","n4558","n4559","n4554"],tags:{building:"yes"}},w804:{id:"w804",nodes:["n4562","n4563"],tags:{barrier:"retaining_wall"}},w805:{id:"w805",nodes:["n4568","n4569","n4570","n4571","n4568"],tags:{building:"yes"}},w806:{id:"w806",nodes:["n3473","n4575","n4576","n4581","n4580","n3551"],tags:{highway:"residential",oneway:"yes"}},w807:{id:"w807",nodes:["n4613","n4614","n4615","n4616","n4617","n4618","n4619","n4620","n4613"],tags:{leisure:"pitch",sport:"baseball"}},w808:{id:"w808",nodes:["n4621","n4622","n4623","n4624","n4625","n4626","n4627","n4628","n4629","n4630"],tags:{highway:"service"}},w809:{id:"w809",nodes:["n4631","n4632","n4633","n4637","n4634","n4638","n4635","n4636"],tags:{highway:"service"}},w81:{id:"w81",nodes:["n365","n366","n367"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w810:{id:"w810",nodes:["n4639","n4640","n4641"],tags:{barrier:"fence"}},w811:{id:"w811",nodes:["n4649","n4650","n4651","n4652","n4649"],tags:{building:"yes"}},w812:{id:"w812",nodes:["n4654","n4655"],tags:{barrier:"fence"}},w813:{id:"w813",nodes:["n4656","n4657"],tags:{barrier:"fence"}},w814:{id:"w814",nodes:["n4669","n4670","n4671","n4672","n4669"],tags:{amenity:"shelter",shelter_type:"picnic_shelters"}},w815:{id:"w815",nodes:["n4678","n4679","n4680","n1889"],tags:{highway:"service"}},w816:{id:"w816",nodes:["n239","n4686","n4687"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w817:{id:"w817",nodes:["n4687","n4688","n4689"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w818:{id:"w818",nodes:["n4689","n4690","n307"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w819:{id:"w819",nodes:["n2266","n4743"],tags:{highway:"path"}},w82:{id:"w82",nodes:["n724","n368","n369"],tags:{crossing:"zebra",footway:"crossing",highway:"footway"}},w820:{id:"w820",nodes:["n4785","n4786","n4787","n4788","n1684","n4760","n4769","n4761","n4762","n4763","n4764","n4765","n4766","n4767","n4768","n4785"],tags:{natural:"wood"}},w821:{id:"w821",nodes:["n4769","n4770","n4771","n4772","n4773","n4774","n4775","n4776","n4777","n4778","n4779","n4780","n4781","n4782","n4783","n4784","n4785","n4768","n4767","n4766","n4765","n4764","n4763","n4762","n4761","n4769"],tags:{natural:"scrub"}},w822:{id:"w822",nodes:["n4772","n4789","n4790","n4791","n4792","n4793","n4794","n4795","n4796","n4797","n4798","n4799","n4783","n4782","n4781","n4780","n4779","n4778","n4777","n4776","n4775","n4774","n4773","n4772"],tags:{natural:"wood"}},w823:{id:"w823",nodes:["n4800","n4801","n4802","n4803","n4804","n4805","n4806","n4807","n4808","n4809","n4810","n4811","n4812","n4813","n4814","n4815","n4816","n3490","n3489","n4800"],tags:{natural:"wood"}},w824:{id:"w824",nodes:["n4817","n4818","n4819","n4820","n4821","n4822","n4817"],tags:{landuse:"recreation_ground"}},w825:{id:"w825",nodes:["n4563","n4823","n4824","n4829","n4825","n4826","n4827","n4828","n4562","n4563"],tags:{landuse:"recreation_ground"}},w826:{id:"w826",nodes:["n4830","n4831","n4832","n4833","n4834","n4835","n4836","n4830"],tags:{landuse:"industrial"}},w827:{id:"w827",nodes:["n4563","n4837","n4838","n4839","n4840","n4841","n4842","n4827","n4828","n4562","n4563"],tags:{landuse:"industrial"}},w828:{id:"w828",nodes:["n4843","n4844","n4845","n4846","n4843"],tags:{landuse:"farmland"}},w829:{id:"w829",nodes:["n3712","n4847","n4848","n4849","n4850","n4851","n4852","n4858","n4864","n4959","n4960","n4853","n4857","n4854","n4855","n4856","n3712"],tags:{aeroway:"aerodrome",name:"Three Rivers Municipal Airport"}},w83:{id:"w83",nodes:["n371","n372","n373","n374","n371"],tags:{building:"yes"}},w830:{id:"w830",nodes:["n4855","n4854","n4857","n4853","n4960"],tags:{barrier:"fence"}},w831:{id:"w831",nodes:["n4860","n4859","n4858","n4852","n4851"],tags:{barrier:"fence"}},w832:{id:"w832",nodes:["n4866","n4878","n4869","n4867"],tags:{aeroway:"runway",ref:"5/23"}},w833:{id:"w833",nodes:["n4868","n4890","n4894","n4881","n4869","n4905","n4870"],tags:{aeroway:"runway",ref:"9/27"}},w834:{id:"w834",nodes:["n4871","n4875","n4872","n4895","n4873","n4874","n4871"],tags:{aeroway:"apron"}},w835:{id:"w835",nodes:["n4875","n4876","n4877","n4878","n4879","n4880","n4882","n4881"],tags:{aeroway:"taxiway"}},w836:{id:"w836",nodes:["n4882","n4893","n4883","n4891","n4884","n4885","n4886","n4887","n4888","n4892","n4889","n4890"],tags:{aeroway:"taxiway"}},w837:{id:"w837",nodes:["n4893","n4894"],tags:{aeroway:"taxiway"}},w838:{id:"w838",nodes:["n4895","n4896","n4897","n4898","n4899","n4900","n4901","n4902","n4903","n4906","n4904","n4905"],tags:{aeroway:"taxiway"}},w839:{id:"w839",nodes:["n4907","n4908"],tags:{highway:"service"}},w84:{id:"w84",nodes:["n374","n375","n376","n377","n373","n374"],tags:{building:"yes"}},w840:{id:"w840",nodes:["n4909","n4907","n4910"],tags:{highway:"service"}},w841:{id:"w841",nodes:["n4911","n4912","n4913","n4914","n4911"],tags:{building:"yes"}},w842:{id:"w842",nodes:["n4915","n4916","n4917","n4918","n4915"],tags:{aeroway:"hangar",building:"yes"}},w843:{id:"w843",nodes:["n4919","n4920","n4921","n4922","n4919"],tags:{building:"yes"}},w844:{id:"w844",nodes:["n4923","n4924","n4925","n4926","n4923"],tags:{aeroway:"hangar",building:"yes"}},w845:{id:"w845",nodes:["n4927","n4928","n4929","n4930","n4927"],tags:{aeroway:"hangar",building:"yes"}},w846:{id:"w846",nodes:["n4931","n4932","n4933","n4934","n4931"],tags:{aeroway:"hangar",building:"yes"}},w847:{id:"w847",nodes:["n4935","n4936","n4937","n4938","n4935"],tags:{aeroway:"hangar",building:"yes"}},w848:{id:"w848",nodes:["n4939","n4940","n4941","n4942","n4939"],tags:{aeroway:"hangar",building:"yes"}},w849:{id:"w849",nodes:["n4943","n4944","n4945","n4946","n4943"],tags:{aeroway:"hangar",building:"yes"}},w85:{id:"w85",nodes:["n431","n432","n1038","n433","n434","n1040","n431"],tags:{building:"yes"}},w850:{id:"w850",nodes:["n4947","n4948","n4949","n4950","n4947"],tags:{aeroway:"hangar",building:"yes"}},w851:{id:"w851",nodes:["n4951","n4952","n4953","n4954","n4951"],tags:{aeroway:"hangar",building:"yes"}},w852:{id:"w852",nodes:["n4955","n4956","n4957","n4958","n4955"],tags:{aeroway:"hangar",building:"yes"}},w853:{id:"w853",nodes:["n4959","n4864","n4861","n4862","n4863"],tags:{barrier:"fence"}},w854:{id:"w854",nodes:["n4961","n4962","n4963","n4964","n4965","n4966","n4967","n4968","n4969","n4961"],tags:{landuse:"farmland"}},w855:{id:"w855",nodes:["n4970","n4971","n4972","n4973","n4974","n4975","n4976","n4977","n4978","n4980","n4970"],tags:{landuse:"farmland"}},w856:{id:"w856",nodes:["n4979","n4980","n4978","n4981","n4982","n4983","n4984","n4985","n4979"],tags:{natural:"scrub"}},w857:{id:"w857",nodes:["n4986","n4987","n4988","n5032","n4989","n4990","n4991","n4992","n4993","n4994","n4995","n4996","n4997","n4998","n4999","n5000","n5001","n5002","n5022","n5023","n5024","n5025","n5030","n5031","n5029","n5028","n5027","n5026","n4986"],tags:{landuse:"farmland"}},w858:{id:"w858",nodes:["n5001","n5003","n5004","n4999","n5000","n5001"],tags:{natural:"scrub"}},w859:{id:"w859",nodes:["n5005","n5006","n5007","n5008","n5009","n5010","n5021","n5020","n5019","n5011","n5012","n5013","n5018","n5014","n5015","n5017","n5016","n5005"],tags:{landuse:"farmland"}},w86:{id:"w86",nodes:["n384","n385","n386","n387","n384"],tags:{building:"yes"}},w860:{id:"w860",nodes:["n3020","n5033","n5034","n5035","n3179","n3180","n3191","n3181","n3190","n3182","n3183","n3184","n3185","n3186","n3187","n3188","n3189","n3160","n3161","n3162","n2126","n2153","n2288","n3020"],tags:{landuse:"industrial"}},w87:{id:"w87",nodes:["n387","n388","n389","n386","n387"],tags:{building:"yes"}},w88:{id:"w88",nodes:["n390","n391","n392","n393","n390"],tags:{building:"yes"}},w89:{id:"w89",nodes:["n394","n2895"],tags:{highway:"service"}},w9:{id:"w9",nodes:["n50","n51","n148","n52","n57","n891","n53","n50"],tags:{building:"yes"}},w90:{id:"w90",nodes:["n398","n399","n400","n401","n402","n403","n404","n405","n406","n407","n408","n409","n410","n411","n412","n413","n414","n415","n416","n417","n398"],tags:{building:"yes"}},w91:{id:"w91",nodes:["n418","n423","n419"],tags:{highway:"service"}},w92:{id:"w92",nodes:["n420","n421","n422","n423","n420"],tags:{amenity:"parking"}},w93:{id:"w93",nodes:["n2282","n1876"],tags:{name:"Rocky River",tunnel:"building_passage",waterway:"river"}},w94:{id:"w94",nodes:["n1876","n885","n1875","n2234"],tags:{name:"Rocky River",waterway:"river"}},w95:{id:"w95",nodes:["n425","n426","n427","n914","n428","n913","n425"],tags:{building:"yes"}},w96:{id:"w96",nodes:["n456","n620","n1034","n1035","n456"],tags:{building:"yes"}},w97:{id:"w97",nodes:["n435","n912","n451","n321"],tags:{highway:"footway"}},w98:{id:"w98",nodes:["n436","n319","n437","n438","n439","n440","n441","n476","n442"],tags:{highway:"service"}},w99:{id:"w99",nodes:["n443","n444","n445","n446","n447","n448","n449","n450","n443"],tags:{amenity:"parking"}},n2934:{id:"n2934",loc:[-85.617051,41.952263]},n2935:{id:"n2935",loc:[-85.61699,41.952276]},n2937:{id:"n2937",loc:[-85.616847,41.952262]},n2938:{id:"n2938",loc:[-85.616577,41.951956]},n2939:{id:"n2939",loc:[-85.61656,41.952044]},n3348:{id:"n3348",loc:[-85.61714,41.9522]},n3349:{id:"n3349",loc:[-85.616517,41.95212]},n3350:{id:"n3350",loc:[-85.616489,41.952033]},n3351:{id:"n3351",loc:[-85.616529,41.951907]},n3354:{id:"n3354",loc:[-85.616488,41.951994]}}; + // Tooltips and svg mask used to highlight certain features function uiCurtain() { @@ -416728,7 +51155,7 @@ .insert('svg', 'span') .attr('class', 'tooltip-illustration') .append('use') - .attr('xlink:href', '#walkthrough-mouse'); + .attr('xlink:href', '#iD-walkthrough-mouse'); tooltip .append('div') @@ -416769,7 +51196,7 @@ .insert('svg', 'span') .attr('class', 'tooltip-illustration') .append('use') - .attr('xlink:href', '#walkthrough-mouse'); + .attr('xlink:href', '#iD-walkthrough-mouse'); tooltip .append('div') @@ -417023,16 +51450,16 @@ reveal('#surface', t('intro.navigation.zoom', { - plus: icon('#icon-plus', 'pre-text'), - minus: icon('#icon-minus', 'pre-text') + plus: icon('#iD-icon-plus', 'pre-text'), + minus: icon('#iD-icon-minus', 'pre-text') }) ); context.map().on('drawn.intro', function() { reveal('#surface', t('intro.navigation.zoom', { - plus: icon('#icon-plus', 'pre-text'), - minus: icon('#icon-minus', 'pre-text') + plus: icon('#iD-icon-plus', 'pre-text'), + minus: icon('#iD-icon-minus', 'pre-text') }), { duration: 0 } ); }); @@ -417300,7 +51727,7 @@ if (!isTownHallSelected()) return clickTownHall(); var selector$$1 = '.entity-editor-pane button.preset-close svg use'; - var href = select(selector$$1).attr('href') || '#icon-close'; + var href = select(selector$$1).attr('href') || '#iD-icon-close'; reveal('.entity-editor-pane', t('intro.navigation.close_townhall', { button: icon(href, 'pre-text') }) @@ -417313,7 +51740,7 @@ context.history().on('change.intro', function() { // update the close icon in the tooltip if the user edits something. var selector$$1 = '.entity-editor-pane button.preset-close svg use'; - var href = select(selector$$1).attr('href') || '#icon-close'; + var href = select(selector$$1).attr('href') || '#iD-icon-close'; reveal('.entity-editor-pane', t('intro.navigation.close_townhall', { button: icon(href, 'pre-text') }), @@ -417436,7 +51863,7 @@ function editorStreet() { var selector$$1 = '.entity-editor-pane button.preset-close svg use'; - var href = select(selector$$1).attr('href') || '#icon-close'; + var href = select(selector$$1).attr('href') || '#iD-icon-close'; reveal('.entity-editor-pane', t('intro.navigation.editor_street', { @@ -417453,7 +51880,7 @@ context.history().on('change.intro', function() { // update the close icon in the tooltip if the user edits something. var selector$$1 = '.entity-editor-pane button.preset-close svg use'; - var href = select(selector$$1).attr('href') || '#icon-close'; + var href = select(selector$$1).attr('href') || '#iD-icon-close'; reveal('.entity-editor-pane', t('intro.navigation.editor_street', { @@ -417561,7 +51988,7 @@ timeout(function() { var tooltip = reveal('button.add-point', - t('intro.points.add_point', { button: icon('#icon-point', 'pre-text') })); + t('intro.points.add_point', { button: icon('#iD-icon-point', 'pre-text') })); pointId = null; @@ -417569,7 +51996,7 @@ .insert('svg', 'span') .attr('class', 'tooltip-illustration') .append('use') - .attr('xlink:href', '#poi-images'); + .attr('xlink:href', '#iD-graphic-points'); context.on('enter.intro', function(mode) { if (mode.id !== 'add-point') return; @@ -417757,7 +52184,7 @@ select('.inspector-wrap .panewrap').style('right', '0%'); var selector$$1 = '.entity-editor-pane button.preset-close svg use'; - var href = select(selector$$1).attr('href') || '#icon-close'; + var href = select(selector$$1).attr('href') || '#iD-icon-close'; context.on('exit.intro', function() { continueTo(reselectPoint); @@ -417861,7 +52288,7 @@ timeout(function() { reveal('.entity-editor-pane', - t('intro.points.update_close', { button: icon('#icon-apply', 'pre-text') }) + t('intro.points.update_close', { button: icon('#iD-icon-apply', 'pre-text') }) ); }, 500); @@ -417920,13 +52347,13 @@ if (!node) { return continueTo(rightClickPoint); } revealEditMenu(entity.loc, - t('intro.points.delete', { button: icon('#operation-delete', 'pre-text') }) + t('intro.points.delete', { button: icon('#iD-operation-delete', 'pre-text') }) ); timeout(function() { context.map().on('move.intro drawn.intro', function() { revealEditMenu(entity.loc, - t('intro.points.delete', { button: icon('#operation-delete', 'pre-text') }), + t('intro.points.delete', { button: icon('#iD-operation-delete', 'pre-text') }), { duration: 0} ); }); @@ -417958,7 +52385,7 @@ continueTo(play); }); - var iconName = '#icon-' + (textDirection === 'rtl' ? 'redo' : 'undo'); + var iconName = '#iD-icon-' + (textDirection === 'rtl' ? 'redo' : 'undo'); reveal('#bar button.undo-button', t('intro.points.undo', { button: icon(iconName, 'pre-text') }) ); @@ -418049,13 +52476,13 @@ timeout(function() { var tooltip = reveal('button.add-area', - t('intro.areas.add_playground', { button: icon('#icon-area', 'pre-text') })); + t('intro.areas.add_playground', { button: icon('#iD-icon-area', 'pre-text') })); tooltip.selectAll('.tooltip-inner') .insert('svg', 'span') .attr('class', 'tooltip-illustration') .append('use') - .attr('xlink:href', '#landuse-images'); + .attr('xlink:href', '#iD-graphic-areas'); context.on('enter.intro', function(mode) { if (mode.id !== 'add-area') return; @@ -418410,7 +52837,7 @@ }); reveal('.entity-editor-pane', - t('intro.areas.describe_playground', { button: icon('#icon-apply', 'pre-text') }), + t('intro.areas.describe_playground', { button: icon('#iD-icon-apply', 'pre-text') }), { duration: 300 } ); @@ -418557,13 +52984,13 @@ timeout(function() { var tooltip = reveal('button.add-line', - t('intro.lines.add_line', { button: icon('#icon-line', 'pre-text') })); + t('intro.lines.add_line', { button: icon('#iD-icon-line', 'pre-text') })); tooltip.selectAll('.tooltip-inner') .insert('svg', 'span') .attr('class', 'tooltip-illustration') .append('use') - .attr('xlink:href', '#feature-images'); + .attr('xlink:href', '#iD-graphic-lines'); context.on('enter.intro', function(mode) { if (mode.id !== 'add-line') return; @@ -418833,7 +53260,7 @@ timeout(function() { reveal('.entity-editor-pane', - t('intro.lines.name_road', { button: icon('#icon-apply', 'pre-text') }), + t('intro.lines.name_road', { button: icon('#iD-icon-apply', 'pre-text') }), { tooltipClass: 'intro-lines-name_road' } ); }, 500); @@ -419197,7 +53624,7 @@ washingtonSegmentId = null; revealEditMenu(menuCoords, t('intro.lines.split_intersection', - { button: icon('#operation-split', 'pre-text'), street: t('intro.graph.name.washington-street') }) + { button: icon('#iD-operation-split', 'pre-text'), street: t('intro.graph.name.washington-street') }) ); context.map().on('move.intro drawn.intro', function() { @@ -419205,7 +53632,7 @@ if (!wasChanged && !node) { return continueTo(rightClickIntersection); } revealEditMenu(menuCoords, t('intro.lines.split_intersection', - { button: icon('#operation-split', 'pre-text'), street: t('intro.graph.name.washington-street') }), + { button: icon('#iD-operation-split', 'pre-text'), street: t('intro.graph.name.washington-street') }), { duration: 0 } ); }); @@ -419472,12 +53899,12 @@ var menuCoords = context.map().mouseCoordinates(); revealEditMenu(menuCoords, - t('intro.lines.multi_delete', { button: icon('#operation-delete', 'pre-text') }) + t('intro.lines.multi_delete', { button: icon('#iD-operation-delete', 'pre-text') }) ); context.map().on('move.intro drawn.intro', function() { revealEditMenu(menuCoords, - t('intro.lines.multi_delete', { button: icon('#operation-delete', 'pre-text') }), + t('intro.lines.multi_delete', { button: icon('#iD-operation-delete', 'pre-text') }), { duration: 0 } ); }); @@ -419629,13 +54056,13 @@ timeout(function() { var tooltip = reveal('button.add-area', - t('intro.buildings.add_building', { button: icon('#icon-area', 'pre-text') })); + t('intro.buildings.add_building', { button: icon('#iD-icon-area', 'pre-text') })); tooltip.selectAll('.tooltip-inner') .insert('svg', 'span') .attr('class', 'tooltip-illustration') .append('use') - .attr('xlink:href', '#building-images'); + .attr('xlink:href', '#iD-graphic-buildings'); context.on('enter.intro', function(mode) { if (mode.id !== 'add-area') return; @@ -419858,7 +54285,7 @@ timeout(function() { reveal('.entity-editor-pane', - t('intro.buildings.close', { button: icon('#icon-apply', 'pre-text') }) + t('intro.buildings.close', { button: icon('#iD-icon-apply', 'pre-text') }) ); }, 500); @@ -419923,7 +54350,7 @@ var menuCoords = context.map().mouseCoordinates(); revealEditMenu(menuCoords, - t('intro.buildings.square_building', { button: icon('#operation-orthogonalize', 'pre-text') }) + t('intro.buildings.square_building', { button: icon('#iD-operation-orthogonalize', 'pre-text') }) ); context.on('enter.intro', function(mode) { @@ -419939,7 +54366,7 @@ if (!wasChanged && !node) { return continueTo(rightClickHouse); } revealEditMenu(menuCoords, - t('intro.buildings.square_building', { button: icon('#operation-orthogonalize', 'pre-text') }), + t('intro.buildings.square_building', { button: icon('#iD-operation-orthogonalize', 'pre-text') }), { duration: 0 } ); }); @@ -420006,7 +54433,7 @@ timeout(function() { reveal('button.add-area', - t('intro.buildings.add_tank', { button: icon('#icon-area', 'pre-text') }) + t('intro.buildings.add_tank', { button: icon('#iD-icon-area', 'pre-text') }) ); context.on('enter.intro', function(mode) { @@ -420181,7 +54608,7 @@ timeout(function() { reveal('.entity-editor-pane', - t('intro.buildings.close', { button: icon('#icon-apply', 'pre-text') }) + t('intro.buildings.close', { button: icon('#iD-icon-apply', 'pre-text') }) ); }, 500); @@ -420245,7 +54672,7 @@ var menuCoords = context.map().mouseCoordinates(); revealEditMenu(menuCoords, - t('intro.buildings.circle_tank', { button: icon('#operation-circularize', 'pre-text') }) + t('intro.buildings.circle_tank', { button: icon('#iD-operation-circularize', 'pre-text') }) ); context.on('enter.intro', function(mode) { @@ -420261,7 +54688,7 @@ if (!wasChanged && !node) { return continueTo(rightClickTank); } revealEditMenu(menuCoords, - t('intro.buildings.circle_tank', { button: icon('#operation-circularize', 'pre-text') }), + t('intro.buildings.circle_tank', { button: icon('#iD-operation-circularize', 'pre-text') }), { duration: 0 } ); }); @@ -420385,7 +54812,7 @@ modal.append('button') .attr('class', 'close') .on('click', shaded.close) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); keybinding .on('⌫', shaded.close) @@ -420410,8 +54837,8 @@ } function uiIntroStartEditing(context, reveal) { - var dispatch$$1 = dispatch('done', 'startEditing'), - modalSelection = select(null); + var dispatch$$1 = dispatch('done', 'startEditing'); + var modalSelection = select(null); var chapter = { @@ -420420,7 +54847,7 @@ function showHelp() { reveal('.map-control.help-control', - t('intro.startediting.help', { button: icon('#icon-help', 'pre-text'), key: t('help.key') }), { + t('intro.startediting.help', { button: icon('#iD-icon-help', 'pre-text'), key: t('help.key') }), { buttonText: t('intro.ok'), buttonCallback: function() { shortcuts(); } } @@ -420468,7 +54895,7 @@ .append('svg') .attr('class', 'illustration') .append('use') - .attr('xlink:href', '#logo-walkthrough'); + .attr('xlink:href', '#iD-logo-walkthrough'); startbutton .append('h2') @@ -420631,7 +55058,7 @@ .append('svg') .attr('class', 'intro-nav-wrap-logo') .append('use') - .attr('xlink:href', '#logo-walkthrough'); + .attr('xlink:href', '#iD-logo-walkthrough'); var buttonwrap = navwrap .append('div') @@ -420652,7 +55079,7 @@ buttons .append('span') .attr('class', 'status') - .call(svgIcon((textDirection === 'rtl' ? '#icon-backward' : '#icon-forward'), 'inline')); + .call(svgIcon((textDirection === 'rtl' ? '#iD-icon-backward' : '#iD-icon-forward'), 'inline')); enterChapter(chapters[0]); @@ -420765,7 +55192,7 @@ function drawPhotoItems(selection$$1) { - var photoKeys = ['mapillary-images', 'mapillary-signs', 'openstreetcam-images']; + var photoKeys = ['streetside','mapillary-images', 'mapillary-signs', 'openstreetcam-images']; var photoLayers = layers.all().filter(function(obj) { return photoKeys.indexOf(obj.id) !== -1; }); var data = photoLayers.filter(function(obj) { return obj.layer.supported(); }); @@ -420851,7 +55278,7 @@ .append('label') .call(tooltip() .title(t('map_data.layers.osm.tooltip')) - .placement('top') + .placement('bottom') ); labelEnter @@ -420908,7 +55335,7 @@ event.stopPropagation(); gpx.fitZoom(); }) - .call(svgIcon('#icon-search')); + .call(svgIcon('#iD-icon-search')); liEnter .append('button') @@ -420925,7 +55352,7 @@ }) .node().click(); }) - .call(svgIcon('#icon-geolocate')); + .call(svgIcon('#iD-icon-geolocate')); var labelEnter = liEnter .append('label') @@ -421132,7 +55559,7 @@ .append('button') .attr('tabindex', -1) .on('click', togglePane) - .call(svgIcon('#icon-data', 'light')) + .call(svgIcon('#iD-icon-data', 'light')) .call(paneTooltip); @@ -421147,7 +55574,7 @@ heading .append('button') .on('click', function() { uiMapData.hidePane(); }) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); var content = pane @@ -421391,7 +55818,7 @@ if (click && click[1]) { selection$$1 - .call(svgIcon('#walkthrough-mouse', 'mouseclick', click[1])); + .call(svgIcon('#iD-walkthrough-mouse', 'mouseclick', click[1])); } else { selection$$1 .append('kbd') @@ -421652,25 +56079,25 @@ }; var replacements = { - point: icon('#icon-point', 'pre-text'), - line: icon('#icon-line', 'pre-text'), - area: icon('#icon-area', 'pre-text'), - plus: icon('#icon-plus', 'pre-text'), - minus: icon('#icon-minus', 'pre-text'), - orthogonalize: icon('#operation-orthogonalize', 'pre-text'), - disconnect: icon('#operation-disconnect', 'pre-text'), - layers: icon('#icon-layers', 'pre-text'), - data: icon('#icon-data', 'pre-text'), - inspect: icon('#icon-inspect', 'pre-text'), - move: icon('#operation-move', 'pre-text'), - merge: icon('#operation-merge', 'pre-text'), - delete: icon('#operation-delete', 'pre-text'), - close: icon('#icon-close', 'pre-text'), - undo: icon(textDirection === 'rtl' ? '#icon-redo' : '#icon-undo', 'pre-text'), - redo: icon(textDirection === 'rtl' ? '#icon-undo' : '#icon-redo', 'pre-text'), - save: icon('#icon-save', 'pre-text'), - leftclick: icon('#walkthrough-mouse', 'pre-text mouseclick', 'left'), - rightclick: icon('#walkthrough-mouse', 'pre-text mouseclick', 'right'), + point: icon('#iD-icon-point', 'pre-text'), + line: icon('#iD-icon-line', 'pre-text'), + area: icon('#iD-icon-area', 'pre-text'), + plus: icon('#iD-icon-plus', 'pre-text'), + minus: icon('#iD-icon-minus', 'pre-text'), + orthogonalize: icon('#iD-operation-orthogonalize', 'pre-text'), + disconnect: icon('#iD-operation-disconnect', 'pre-text'), + layers: icon('#iD-icon-layers', 'pre-text'), + data: icon('#iD-icon-data', 'pre-text'), + inspect: icon('#iD-icon-inspect', 'pre-text'), + move: icon('#iD-operation-move', 'pre-text'), + merge: icon('#iD-operation-merge', 'pre-text'), + delete: icon('#iD-operation-delete', 'pre-text'), + close: icon('#iD-icon-close', 'pre-text'), + undo: icon(textDirection === 'rtl' ? '#iD-icon-redo' : '#iD-icon-undo', 'pre-text'), + redo: icon(textDirection === 'rtl' ? '#iD-icon-undo' : '#iD-icon-redo', 'pre-text'), + save: icon('#iD-icon-save', 'pre-text'), + leftclick: icon('#iD-walkthrough-mouse', 'pre-text mouseclick', 'left'), + rightclick: icon('#iD-walkthrough-mouse', 'pre-text mouseclick', 'right'), shift: uiCmd.display('⇧'), alt: uiCmd.display('⌥'), return: uiCmd.display('↵'), @@ -421768,7 +56195,7 @@ nextLink .append('span') .text(docs[i + 1].title) - .call(svgIcon((rtl ? '#icon-backward' : '#icon-forward'), 'inline')); + .call(svgIcon((rtl ? '#iD-icon-backward' : '#iD-icon-forward'), 'inline')); } } @@ -421783,7 +56210,7 @@ }); prevLink - .call(svgIcon((rtl ? '#icon-forward' : '#icon-backward'), 'inline')) + .call(svgIcon((rtl ? '#iD-icon-forward' : '#iD-icon-backward'), 'inline')) .append('span') .text(docs[i - 1].title); } @@ -421814,7 +56241,7 @@ var button = selection$$1.append('button') .attr('tabindex', -1) .on('click', togglePane) - .call(svgIcon('#icon-help', 'light')) + .call(svgIcon('#iD-icon-help', 'light')) .call(tooltipBehavior); var shown = false; @@ -421831,7 +56258,7 @@ heading .append('button') .on('click', function() { uiHelp.hidePane(); }) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); var content = pane @@ -421875,7 +56302,7 @@ .append('svg') .attr('class', 'logo logo-walkthrough') .append('use') - .attr('xlink:href', '#logo-walkthrough'); + .attr('xlink:href', '#iD-logo-walkthrough'); walkthrough .append('div') @@ -422805,6 +57232,11 @@ imageryUsed.push(extension + 'data file'); } + var streetside = context.layers().layer('streetside'); + if (streetside && streetside.enabled()) { + imageryUsed.push('Bing Streetside'); + } + var mapillary_images = context.layers().layer('mapillary-images'); if (mapillary_images && mapillary_images.enabled()) { imageryUsed.push('Mapillary Images'); @@ -423591,11 +58023,11 @@ var surface = select(null); var dimensions = [1, 1]; - var dblclickEnabled = true; - var redrawEnabled = true; - var transformStart = projection.transform(); - var transformLast; - var transformed = false; + var _dblClickEnabled = true; + var _redrawEnabled = true; + var _transformStart = projection.transform(); + var _transformLast; + var _transformed = false; var minzoom = 0; var mouse$$1; var mousemove; @@ -423704,7 +58136,7 @@ mousemove = event; }) .on('mouseover.vertices', function() { - if (map.editable() && !transformed) { + if (map.editable() && !_transformed) { var hover = event.target.__data__; surface.selectAll('.data-layer-osm') .call(drawVertices.drawHover, context.graph(), hover, map.extent()); @@ -423712,7 +58144,7 @@ } }) .on('mouseout.vertices', function() { - if (map.editable() && !transformed) { + if (map.editable() && !_transformed) { var hover = event.relatedTarget && event.relatedTarget.__data__; surface.selectAll('.data-layer-osm') .call(drawVertices.drawHover, context.graph(), hover, map.extent()); @@ -423724,7 +58156,7 @@ .call(context.background()); context.on('enter.map', function() { - if (map.editable() && !transformed) { + if (map.editable() && !_transformed) { // redraw immediately any objects affected by a change in selectedIDs. var graph = context.graph(); @@ -423871,7 +58303,7 @@ function dblClick() { - if (!dblclickEnabled) { + if (!_dblClickEnabled) { event.preventDefault(); event.stopImmediatePropagation(); } @@ -423883,9 +58315,9 @@ var source = event$$1.sourceEvent; var eventTransform = event$$1.transform; - if (transformStart.x === eventTransform.x && - transformStart.y === eventTransform.y && - transformStart.k === eventTransform.k) { + if (_transformStart.x === eventTransform.x && + _transformStart.y === eventTransform.y && + _transformStart.k === eventTransform.k) { return; // no change } @@ -423900,7 +58332,7 @@ var lines = Math.abs(source.deltaY); var scroll = lines > 2 ? 40 : lines * 10; - var t0 = transformed ? transformLast : transformStart; + var t0 = _transformed ? _transformLast : _transformStart; var p0 = mouse$$1(source); var p1 = t0.invert(p0); var k2 = t0.k * Math.pow(2, -source.deltaY * scroll / 500); @@ -423922,9 +58354,9 @@ projection.transform(eventTransform); - var scale = eventTransform.k / transformStart.k; - var tX = (eventTransform.x / scale - transformStart.x) * scale; - var tY = (eventTransform.y / scale - transformStart.y) * scale; + var scale = eventTransform.k / _transformStart.k; + var tX = (eventTransform.x / scale - _transformStart.x) * scale; + var tY = (eventTransform.y / scale - _transformStart.y) * scale; if (context.inIntro()) { curtainProjection.transform({ @@ -423935,8 +58367,8 @@ } if (source) mousemove = event$$1; - transformed = true; - transformLast = eventTransform; + _transformed = true; + _transformLast = eventTransform; utilSetTransform(supersurface, tX, tY, scale); scheduleRedraw(); @@ -423945,12 +58377,12 @@ function resetTransform() { - if (!transformed) return false; + if (!_transformed) return false; // deprecation warning - Radial Menu to be removed in iD v3 surface.selectAll('.edit-menu, .radial-menu').interrupt().remove(); utilSetTransform(supersurface, 0, 0); - transformed = false; + _transformed = false; if (context.inIntro()) { curtainProjection.transform(projection.transform()); } @@ -423959,7 +58391,7 @@ function redraw(difference, extent) { - if (surface.empty() || !redrawEnabled) return; + if (surface.empty() || !_redrawEnabled) return; // If we are in the middle of a zoom/pan, we can't do differenced redraws. // It would result in artifacts where differenced entities are redrawn with @@ -423989,7 +58421,7 @@ editOff(); } - transformStart = projection.transform(); + _transformStart = projection.transform(); return map; } @@ -424021,19 +58453,24 @@ map.dblclickEnable = function(_) { - if (!arguments.length) return dblclickEnabled; - dblclickEnabled = _; + if (!arguments.length) return _dblClickEnabled; + _dblClickEnabled = _; return map; }; map.redrawEnable = function(_) { - if (!arguments.length) return redrawEnabled; - redrawEnabled = _; + if (!arguments.length) return _redrawEnabled; + _redrawEnabled = _; return map; }; + map.isTransformed = function() { + return _transformed; + }; + + function setTransform(t2, duration, force) { var t$$1 = projection.transform(); if (!force && t2.k === t$$1.k && t2.x === t$$1.x && t2.y === t$$1.y) { @@ -424048,8 +58485,8 @@ .call(zoom$$1.transform, identity$7.translate(t2.x, t2.y).scale(t2.k)); } else { projection.transform(t2); - transformStart = t2; - _selection.call(zoom$$1.transform, transformStart); + _transformStart = t2; + _selection.call(zoom$$1.transform, _transformStart); } } @@ -424081,8 +58518,8 @@ .call(zoom$$1.transform, identity$7.translate(t$$1[0], t$$1[1]).scale(k2)); } else { projection.translate(t$$1); - transformStart = projection.transform(); - _selection.call(zoom$$1.transform, transformStart); + _transformStart = projection.transform(); + _selection.call(zoom$$1.transform, _transformStart); } return true; @@ -424124,8 +58561,8 @@ .call(zoom$$1.transform, identity$7.translate(t$$1[0], t$$1[1]).scale(k)); } else { projection.translate(t$$1); - transformStart = projection.transform(); - _selection.call(zoom$$1.transform, transformStart); + _transformStart = projection.transform(); + _selection.call(zoom$$1.transform, _transformStart); } return true; @@ -424147,8 +58584,8 @@ .call(zoom$$1.transform, identity$7.translate(t$$1[0], t$$1[1]).scale(k)); } else { projection.translate(t$$1); - transformStart = projection.transform(); - _selection.call(zoom$$1.transform, transformStart); + _transformStart = projection.transform(); + _selection.call(zoom$$1.transform, _transformStart); dispatch$$1.call('move', this, map); immediateRedraw(); } @@ -424801,7 +59238,7 @@ .placement((textDirection === 'rtl') ? 'right' : 'left') ) .on('click', editCustom) - .call(svgIcon('#icon-edit')); + .call(svgIcon('#iD-icon-edit')); enter.filter(function(d) { return d.best(); }) .append('div') @@ -424895,7 +59332,7 @@ .append('a') .attr('target', '_blank') .attr('tabindex', -1) - .call(svgIcon('#icon-out-link', 'inline')) + .call(svgIcon('#iD-icon-out-link', 'inline')) .attr('href', 'https://github.com/openstreetmap/iD/blob/master/FAQ.md#how-can-i-report-an-issue-with-background-imagery') .append('span') .text(t('background.imagery_source_faq')); @@ -424997,7 +59434,7 @@ .append('button') .attr('tabindex', -1) .on('click', togglePane) - .call(svgIcon('#icon-layers', 'light')) + .call(svgIcon('#iD-icon-layers', 'light')) .call(paneTooltip); @@ -425012,7 +59449,7 @@ heading .append('button') .on('click', function() { uiBackground.hidePane(); }) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); var content = pane @@ -425096,7 +59533,7 @@ subset = u.slice(0, u.length > limit ? limit - 1 : limit); wrap.html('') - .call(svgIcon('#icon-nearby', 'pre-text light')); + .call(svgIcon('#iD-icon-nearby', 'pre-text light')); var userList = select(document.createElement('span')); @@ -425380,7 +59817,7 @@ .attr('tabindex', -1) .attr('title', t('geolocate.title')) .on('click', click) - .call(svgIcon('#icon-geolocate', 'light')) + .call(svgIcon('#iD-icon-geolocate', 'light')) .call(tooltip() .placement((textDirection === 'rtl') ? 'right' : 'left')); }; @@ -425692,7 +60129,7 @@ .attr('target', '_blank') .attr('tabindex', -1) .attr('href', osm.historyURL(entity)) - .call(svgIcon('#icon-out-link', 'inline')) + .call(svgIcon('#iD-icon-out-link', 'inline')) .append('span') .text(t('info_panels.history.link_text')); } @@ -426206,7 +60643,7 @@ .append('button') .attr('class', 'close') .on('click', function (d) { toggle(d); }) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); enter .append('div') @@ -426318,7 +60755,7 @@ buttons .each(function(d) { select(this) - .call(svgIcon('#icon-' + d.button, 'pre-text')); + .call(svgIcon('#iD-icon-' + d.button, 'pre-text')); }); buttons @@ -426395,7 +60832,7 @@ }); button - .call(svgIcon('#icon-plus', 'pre-text')) + .call(svgIcon('#iD-icon-plus', 'pre-text')) .append('span') .attr('class', 'label') .text(t('zoom_in_edit')); @@ -426457,7 +60894,7 @@ .append('svg') .attr('class', 'logo logo-restore') .append('use') - .attr('xlink:href', '#logo-restore'); + .attr('xlink:href', '#iD-logo-restore'); restore .append('div') @@ -426475,7 +60912,7 @@ .append('svg') .attr('class', 'logo logo-reset') .append('use') - .attr('xlink:href', '#logo-reset'); + .attr('xlink:href', '#iD-logo-reset'); reset .append('div') @@ -426558,7 +60995,7 @@ .call(tooltipBehavior); button - .call(svgIcon('#icon-save', 'pre-text')) + .call(svgIcon('#iD-icon-save', 'pre-text')) .append('span') .attr('class', 'label') .text(t('save.title')); @@ -426749,7 +61186,7 @@ .on('input', inputevent); searchWrap - .call(svgIcon('#icon-search', 'pre-text')); + .call(svgIcon('#iD-icon-search', 'pre-text')); var listWrap = selection$$1 .append('div') @@ -426928,7 +61365,7 @@ .append('button') .property('disabled', true) .attr('class', 'no-results-item') - .call(svgIcon('#icon-alert', 'pre-text')); + .call(svgIcon('#iD-icon-alert', 'pre-text')); resultsIndicator.append('span') .attr('class', 'entity-name'); @@ -426977,7 +61414,7 @@ label .each(function(d) { select(this) - .call(svgIcon('#icon-' + d.geometry, 'pre-text')); + .call(svgIcon('#iD-icon-' + d.geometry, 'pre-text')); }); label @@ -427061,22 +61498,24 @@ if (p.icon) return p.icon; else if (geom === 'line') - return 'other-line'; + return 'iD-other-line'; else if (geom === 'vertex') - return p.isFallback() ? '' : 'poi-vertex'; + return p.isFallback() ? '' : 'temaki-vertex'; else - return 'marker-stroked'; + return 'maki-marker-stroked'; } function render() { - var selection$$1 = select(this), - p = preset.apply(this, arguments), - geom = geometry.apply(this, arguments), - picon = getIcon(p, geom), - isPoi = picon.match(/^poi-/) !== null, - isMaki = dataFeatureIcons.indexOf(picon) !== -1, - isFramed = (geom === 'area' || geom === 'verex'); + var selection$$1 = select(this); + var p = preset.apply(this, arguments); + var geom = geometry.apply(this, arguments); + var picon = getIcon(p, geom); + var isMaki = /^maki-/.test(picon); + var isTemaki = /^temaki-/.test(picon); + var isFa = /^fa[srb]-/.test(picon); + var isPOI = isMaki || isTemaki || isFa; + var isFramed = (geom === 'area' || geom === 'vertex'); function tag_classes(p) { @@ -427113,7 +61552,7 @@ areaFrame = areaFrame.enter() .append('div') .attr('class', 'preset-icon-frame') - .call(svgIcon('#preset-icon-frame')); + .call(svgIcon('#iD-preset-icon-frame')); var icon = selection$$1.selectAll('.preset-icon') @@ -427127,12 +61566,12 @@ icon .attr('class', 'preset-icon preset-icon-' + - ((isMaki || isPoi) ? (isFramed ? '24' : '28') : (isFramed ? '44' : '60')) + (isPOI ? (isFramed ? '24' : '28') : (isFramed ? '44' : '60')) ); icon.selectAll('svg') .attr('class', function() { - return 'icon ' + picon + (isMaki || isPoi ? '' : tag_classes(p)); + return 'icon ' + picon + (isPOI ? '' : tag_classes(p)); }); icon.selectAll('use') @@ -427616,7 +62055,7 @@ .attr('tabindex', -1) .attr('class', 'remove button-input-action member-delete minor') .on('click', deleteMember) - .call(svgIcon('#operation-delete')); + .call(svgIcon('#iD-operation-delete')); if (taginfo) { enter.each(bindTypeahead); @@ -427857,7 +62296,7 @@ .attr('tabindex', -1) .attr('class', 'remove button-input-action member-delete minor') .on('click', deleteMembership) - .call(svgIcon('#operation-delete')); + .call(svgIcon('#iD-operation-delete')); if (taginfo) { enter.each(bindTypeahead); @@ -427894,7 +62333,7 @@ .attr('tabindex', -1) .attr('class', 'remove button-input-action member-delete minor') .on('click', deleteMembership) - .call(svgIcon('#operation-delete')); + .call(svgIcon('#iD-operation-delete')); newrow = newrow .merge(enter); @@ -427917,7 +62356,7 @@ .merge(addrel); addrel - .call(svgIcon('#icon-plus', 'light')) + .call(svgIcon('#iD-icon-plus', 'light')) .on('click', function() { _showBlank = true; content(wrap); @@ -428071,7 +62510,7 @@ .attr('target', '_blank') .attr('tabindex', -1) .attr('href', 'https://wiki.openstreetmap.org/wiki/' + docs.title) - .call(svgIcon('#icon-out-link', 'inline')) + .call(svgIcon('#iD-icon-out-link', 'inline')) .append('span') .text(t('inspector.reference')); @@ -428082,7 +62521,7 @@ .attr('class', 'tag-reference-comment-link') .attr('target', '_blank') .attr('tabindex', -1) - .call(svgIcon('#icon-out-link', 'inline')) + .call(svgIcon('#iD-icon-out-link', 'inline')) .attr('href', t('commit.about_changeset_comments_link')) .append('span') .text(t('commit.about_changeset_comments')); @@ -428131,7 +62570,7 @@ .attr('class', 'tag-reference-button') .attr('title', t('icons.information')) .attr('tabindex', -1) - .call(svgIcon('#icon-inspect')) + .call(svgIcon('#iD-icon-inspect')) .merge(_button); _button @@ -428246,7 +62685,7 @@ .append('button') .attr('class', 'add-tag') .on('click', addTag) - .call(svgIcon('#icon-plus', 'light')); + .call(svgIcon('#iD-icon-plus', 'light')); var items = list.selectAll('.tag-row') @@ -428290,7 +62729,7 @@ .append('button') .attr('tabindex', -1) .attr('class', 'remove minor') - .call(svgIcon('#operation-delete')); + .call(svgIcon('#iD-operation-delete')); // Update @@ -428439,6 +62878,15 @@ while (_tags[kNew]) { // rename key if already in use kNew = base + '_' + suffix++; } + + if (includes(kNew, '=')) { + var splitStr = kNew.split('=').map(function(str) { return str.trim(); }), + key = splitStr[0], + value = splitStr[1]; + + kNew = key; + d.value = value; + } } tag[kOld] = undefined; tag[kNew] = d.value; @@ -428590,13 +63038,13 @@ var replacements = { distField: t('restriction.controls.distance'), viaField: t('restriction.controls.via'), - fromShadow: icon('#turn-shadow', 'pre-text shadow from'), - allowShadow: icon('#turn-shadow', 'pre-text shadow allow'), - restrictShadow: icon('#turn-shadow', 'pre-text shadow restrict'), - onlyShadow: icon('#turn-shadow', 'pre-text shadow only'), - allowTurn: icon('#turn-yes', 'pre-text turn'), - restrictTurn: icon('#turn-no', 'pre-text turn'), - onlyTurn: icon('#turn-only', 'pre-text turn') + fromShadow: icon('#iD-turn-shadow', 'pre-text shadow from'), + allowShadow: icon('#iD-turn-shadow', 'pre-text shadow allow'), + restrictShadow: icon('#iD-turn-shadow', 'pre-text shadow restrict'), + onlyShadow: icon('#iD-turn-shadow', 'pre-text shadow only'), + allowTurn: icon('#iD-turn-yes', 'pre-text turn'), + restrictTurn: icon('#iD-turn-no', 'pre-text turn'), + onlyTurn: icon('#iD-turn-only', 'pre-text turn') }; @@ -428683,7 +63131,7 @@ .append('button') .attr('class', 'field-help-button') .attr('tabindex', -1) - .call(svgIcon('#icon-help')) + .call(svgIcon('#iD-icon-help')) .merge(button) .on('click', function () { event.stopPropagation(); @@ -428741,7 +63189,7 @@ event.preventDefault(); hide(); }) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); var navEnter = enter .append('div') @@ -428837,7 +63285,7 @@ var first = entity.first(); var last = entity.isClosed() ? entity.nodes[entity.nodes.length - 2] : entity.last(); var pseudoDirection = first < last; - var icon = pseudoDirection ? '#icon-forward' : '#icon-backward'; + var icon = pseudoDirection ? '#iD-icon-forward' : '#iD-icon-backward'; selection$$1.selectAll('.reverser-span') .text(t('inspector.check.reverser')) @@ -429428,10 +63876,10 @@ } function uiFieldText(field, context) { - var dispatch$$1 = dispatch('change'), - nominatim = services.geocoder, - input, - entity; + var dispatch$$1 = dispatch('change'); + var nominatim = services.geocoder; + var input; + var entity; function i(selection$$1) { @@ -429491,18 +63939,40 @@ spinControl.selectAll('button') .on('click', function(d) { event.preventDefault(); - var num = parseInt(input.node().value || 0, 10); - if (!isNaN(num)) input.node().value = num + d; + input.node().value = parsed(input.node().value) + d; change()(); }); } } + // parse as a number + function parsed(val) { + return parseInt(val || 0, 10) || 0; + } + + // clamp number to min/max + function clamped(num) { + if (field.minValue !== undefined) { + num = Math.max(num, field.minValue); + } + if (field.maxValue !== undefined) { + num = Math.min(num, field.maxValue); + } + return num; + } + + function change(onInput) { return function() { var t$$1 = {}; - t$$1[field.key] = utilGetSetValue(input) || undefined; + var val = utilGetSetValue(input) || undefined; + + if (!onInput && field.type === 'number') { + val = clamped(parsed(val)) + ''; + utilGetSetValue(input, val); + } + t$$1[field.key] = val; dispatch$$1.call('change', this, t$$1, onInput); }; } @@ -430296,7 +64766,7 @@ .append('button') .attr('class', 'button-input-action localized-add minor') .attr('tabindex', -1) - .call(svgIcon('#icon-plus')) + .call(svgIcon('#iD-icon-plus')) .call(tooltip() .title(t('translate.translate')) .placement('left')) @@ -430437,7 +64907,7 @@ .style('max-height','0px') .remove(); }) - .call(svgIcon('#operation-delete')); + .call(svgIcon('#iD-operation-delete')); wrap .append('input') @@ -431811,7 +66281,7 @@ .append('button') .attr('class', 'button-input-action wiki-link minor') .attr('tabindex', -1) - .call(svgIcon('#icon-out-link')) + .call(svgIcon('#iD-icon-out-link')) .merge(link); link @@ -432085,7 +66555,7 @@ .attr('class', 'remove-icon') .attr('title', t('icons.remove')) .attr('tabindex', -1) - .call(svgIcon('#operation-delete')); + .call(svgIcon('#iD-operation-delete')); } if (options.revert) { @@ -432094,9 +66564,7 @@ .attr('class', 'modified-icon') .attr('title', t('icons.undo')) .attr('tabindex', -1) - .call( - (textDirection === 'rtl') ? svgIcon('#icon-redo') : svgIcon('#icon-undo') - ); + .call(svgIcon((textDirection === 'rtl') ? '#iD-icon-redo' : '#iD-icon-undo')); } } @@ -432458,13 +66926,13 @@ enter .append('button') .attr('class', 'fl preset-reset preset-choose') - .call(svgIcon((textDirection === 'rtl') ? '#icon-forward' : '#icon-backward')); + .call(svgIcon((textDirection === 'rtl') ? '#iD-icon-forward' : '#iD-icon-backward')); enter .append('button') .attr('class', 'fr preset-close') .on('click', function() { context.enter(modeBrowse(context)); }) - .call(svgIcon(_modified ? '#icon-apply' : '#icon-close')); + .call(svgIcon(_modified ? '#iD-icon-apply' : '#iD-icon-close')); enter .append('h3') @@ -432650,7 +67118,7 @@ if (!arguments.length) return _modified; _modified = _; d3_selectAll('button.preset-close use') - .attr('xlink:href', (_modified ? '#icon-apply' : '#icon-close')); + .attr('xlink:href', (_modified ? '#iD-icon-apply' : '#iD-icon-close')); return entityEditor; }; @@ -432723,7 +67191,7 @@ .append('button') .attr('class', 'preset-choose') .on('click', function() { dispatch$$1.call('choose', this, currentPreset); }) - .call(svgIcon((textDirection === 'rtl') ? '#icon-backward' : '#icon-forward')); + .call(svgIcon((textDirection === 'rtl') ? '#iD-icon-backward' : '#iD-icon-forward')); } else { messagewrap .append('button') @@ -432731,7 +67199,7 @@ .on('click', function() { context.enter(modeBrowse(context)); }) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); } function keydown() { @@ -432792,7 +67260,7 @@ .on('input', inputevent); searchWrap - .call(svgIcon('#icon-search', 'pre-text')); + .call(svgIcon('#iD-icon-search', 'pre-text')); if (autofocus) { search.node().focus(); @@ -432850,7 +67318,7 @@ .on('click', function() { var isExpanded = select(this).classed('expanded'); var iconName = isExpanded ? - (textDirection === 'rtl' ? '#icon-backward' : '#icon-forward') : '#icon-down'; + (textDirection === 'rtl' ? '#iD-icon-backward' : '#iD-icon-forward') : '#iD-icon-down'; select(this) .classed('expanded', !isExpanded); select(this).selectAll('div.label svg.icon use') @@ -432863,7 +67331,7 @@ .attr('class', 'label'); label - .call(svgIcon((textDirection === 'rtl' ? '#icon-backward' : '#icon-forward'), 'inline')) + .call(svgIcon((textDirection === 'rtl' ? '#iD-icon-backward' : '#iD-icon-forward'), 'inline')) .append('span') .html(function() { return preset.name() + '…'; }); @@ -432989,7 +67457,7 @@ .append('a') .attr('class', 'view-on-osm') .attr('target', '_blank') - .call(svgIcon('#icon-out-link', 'inline')); + .call(svgIcon('#iD-icon-out-link', 'inline')); enter .append('span') @@ -433308,7 +67776,7 @@ .append('svg') .attr('class', 'logo logo-walkthrough') .append('use') - .attr('xlink:href', '#logo-walkthrough'); + .attr('xlink:href', '#iD-logo-walkthrough'); walkthrough .append('div') @@ -433323,7 +67791,7 @@ .append('svg') .attr('class', 'logo logo-features') .append('use') - .attr('xlink:href', '#logo-features'); + .attr('xlink:href', '#iD-logo-features'); startEditing .append('div') @@ -433359,7 +67827,7 @@ .append('a') .attr('class', 'api-status-login') .attr('target', '_blank') - .call(svgIcon('#icon-out-link', 'inline')) + .call(svgIcon('#iD-icon-out-link', 'inline')) .append('span') .text(t('login')) .on('click.login', function() { @@ -433437,7 +67905,7 @@ } } select(this) - .call(svgIcon('#icon-' + iconName)); + .call(svgIcon('#iD-icon-' + iconName)); }); var keybinding = d3keybinding('undo') @@ -433510,7 +67978,7 @@ .attr('target', '_blank') .attr('tabindex', -1) .attr('href', 'https://github.com/openstreetmap/iD/blob/master/CHANGELOG.md#whats-new') - .call(svgIcon('#gift-11')) + .call(svgIcon('#maki-gift-11')) .call(tooltip() .title(t('version.whats_new', { version: currVersion })) .placement('top') @@ -433577,7 +68045,7 @@ button.each(function(d) { select(this) - .call(svgIcon('#icon-' + d.icon, 'light')); + .call(svgIcon('#iD-icon-' + d.icon, 'light')); }); var keybinding = d3keybinding('zoom'); @@ -433769,7 +68237,7 @@ .attr('target', '_blank') .attr('tabindex', -1) .attr('href', 'https://github.com/openstreetmap/iD/issues') - .call(svgIcon('#icon-bug', 'light')) + .call(svgIcon('#iD-icon-bug', 'light')) .call(tooltip().title(t('report_a_bug')).placement('top')); issueLinks @@ -433777,7 +68245,7 @@ .attr('target', '_blank') .attr('tabindex', -1) .attr('href', 'https://github.com/openstreetmap/iD/blob/master/CONTRIBUTING.md#translating') - .call(svgIcon('#icon-translate', 'light')) + .call(svgIcon('#iD-icon-translate', 'light')) .call(tooltip().title(t('help_translate')).placement('top')); aboutList @@ -433803,11 +68271,12 @@ .append('button') .attr('class', 'thumb-hide') .on('click', function () { + if (services.streetside) { services.streetside.hideViewer(); } if (services.mapillary) { services.mapillary.hideViewer(); } if (services.openstreetcam) { services.openstreetcam.hideViewer(); } }) .append('div') - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); window.onbeforeunload = function() { @@ -434025,7 +68494,7 @@ .append('a') .attr('target', '_blank') .attr('tabindex', -1) - .call(svgIcon('#icon-alert', 'inline')) + .call(svgIcon('#iD-icon-alert', 'inline')) .attr('href', t('commit.google_warning_link')) .append('span') .text(t('commit.google_warning')); @@ -434126,7 +68595,7 @@ itemsEnter .each(function(d) { select(this) - .call(svgIcon('#icon-' + d.entity.geometry(d.graph), 'pre-text ' + d.changeType)); + .call(svgIcon('#iD-icon-' + d.entity.geometry(d.graph), 'pre-text ' + d.changeType)); }); itemsEnter @@ -434198,7 +68667,7 @@ } linkEnter - .call(svgIcon('#icon-load', 'inline')) + .call(svgIcon('#iD-icon-load', 'inline')) .append('span') .text(t('commit.download_changes')); @@ -434282,7 +68751,7 @@ .attr('class', 'warning-item'); itemsEnter - .call(svgIcon('#icon-alert', 'pre-text')); + .call(svgIcon('#iD-icon-alert', 'pre-text')); itemsEnter .append('strong') @@ -434822,7 +69291,7 @@ .append('button') .attr('class', 'fr') .on('click', cancel) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); headerEnter .append('h3') @@ -434868,7 +69337,7 @@ } linkEnter - .call(svgIcon('#icon-load', 'inline')) + .call(svgIcon('#iD-icon-load', 'inline')) .append('span') .text(t('save.conflict.download_changes')); @@ -435108,23 +69577,23 @@ } function uiEditMenu(context, operations) { - var menu, - center = [0, 0], - offset = [0, 0], - tooltip; - - var p = 8, // top padding - m = 4, // top margin - h = 15, // height of icon - vpBottomMargin = 45, // viewport bottom margin - vpSideMargin = 35, // viewport side margin - buttonWidth = 44, - buttonHeight = (2 * p + h), - menuWidth = buttonWidth, - menuHeight = (2 * m) + operations.length * buttonHeight, - menuSideMargin = 10, - tooltipWidth = 200, - tooltipHeight = 200; // a reasonable guess, real height depends on tooltip contents + var menu; + var center = [0, 0]; + var offset = [0, 0]; + var tooltip; + + var p = 8; // top padding + var m = 4; // top margin + var h = 15; // height of icon + var vpBottomMargin = 45; // viewport bottom margin + var vpSideMargin = 35; // viewport side margin + var buttonWidth = 44; + var buttonHeight = (2 * p + h); + var menuWidth = buttonWidth; + var menuHeight = (2 * m) + operations.length * buttonHeight; + var menuSideMargin = 10; + var tooltipWidth = 200; + var tooltipHeight = 200; // a reasonable guess, real height depends on tooltip contents var editMenu = function (selection$$1) { @@ -435132,8 +69601,8 @@ selection$$1.node().parentNode.focus(); - var isRTL = textDirection === 'rtl', - viewport = context.surfaceRect(); + var isRTL = textDirection === 'rtl'; + var viewport = context.surfaceRect(); if (!isRTL && (center[0] + menuSideMargin + menuWidth) > (viewport.width - vpSideMargin)) { // menu is going left-to-right and near right viewport edge, go left instead @@ -435200,10 +69669,8 @@ .append('use') .attr('width', '20') .attr('height', '20') - .attr('transform', function () { - return 'translate(' + [2 * p, 5] + ')'; - }) - .attr('xlink:href', function (d) { return '#operation-' + d.id; }); + .attr('transform', function () { return 'translate(' + [2 * p, 5] + ')'; }) + .attr('xlink:href', function (d) { return '#iD-operation-' + d.id; }); tooltip = select(document.body) .append('div') @@ -435287,7 +69754,7 @@ function uiFlash() { var _duration = 2000; - var _iconName = '#icon-no'; + var _iconName = '#iD-icon-no'; var _iconClass = 'disabled'; var _text = ''; var _textClass; @@ -435454,9 +69921,9 @@ } function uiRadialMenu(context, operations) { - var menu, - center = [0, 0], - tooltip; + var menu; + var center = [0, 0]; + var tooltip; var radialMenu = function(selection$$1) { @@ -435481,10 +69948,10 @@ .transition() .attr('opacity', 1); - var r = 50, - a = Math.PI / 4, - a0 = -Math.PI / 4, - a1 = a0 + (operations.length - 1) * a; + var r = 50; + var a = Math.PI / 4; + var a0 = -Math.PI / 4; + var a1 = a0 + (operations.length - 1) * a; menu .append('path') @@ -435522,7 +69989,7 @@ .attr('transform', 'translate(-10,-10)') .attr('width', '20') .attr('height', '20') - .attr('xlink:href', function(d) { return '#operation-' + d.id; }); + .attr('xlink:href', function(d) { return '#iD-operation-' + d.id; }); tooltip = select(document.body) .append('div') @@ -435533,12 +70000,12 @@ } function mouseover(d, i) { - var rect = context.surfaceRect(), - angle = a0 + i * a, - top = rect.top + (r + 25) * Math.cos(angle) + center[1] + 'px', - left = rect.left + (r + 25) * Math.sin(angle) + center[0] + 'px', - bottom = rect.height - (r + 25) * Math.cos(angle) - center[1] + 'px', - right = rect.width - (r + 25) * Math.sin(angle) - center[0] + 'px'; + var rect = context.surfaceRect(); + var angle = a0 + i * a; + var top = rect.top + (r + 25) * Math.cos(angle) + center[1] + 'px'; + var left = rect.left + (r + 25) * Math.sin(angle) + center[0] + 'px'; + var bottom = rect.height - (r + 25) * Math.cos(angle) - center[1] + 'px'; + var right = rect.width - (r + 25) * Math.sin(angle) - center[0] + 'px'; tooltip .style('top', null) @@ -435659,7 +70126,7 @@ .append('button') .attr('class', 'close') .on('click', deselectEntity) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); label .append('span') @@ -435680,7 +70147,7 @@ items.selectAll('.entity-geom-icon use') .attr('href', function() { var entity = this.parentNode.parentNode.__data__; - return '#icon-' + context.geometry(entity.id); + return '#iD-icon-' + context.geometry(entity.id); }); items.selectAll('.entity-type') @@ -435791,7 +70258,7 @@ .append('button') .attr('class', 'fr') .on('click', function() { dispatch$$1.call('cancel'); }) - .call(svgIcon('#icon-close')); + .call(svgIcon('#iD-icon-close')); header .append('h3') @@ -435817,7 +70284,7 @@ .attr('target', '_blank') .attr('tabindex', -1) .attr('href', t('success.help_link_url')) - .call(svgIcon('#icon-out-link', 'inline')) + .call(svgIcon('#iD-icon-out-link', 'inline')) .append('span') .text(t('success.help_link_text')); @@ -435843,7 +70310,7 @@ .append('svg') .attr('class', 'logo-small') .append('use') - .attr('xlink:href', '#logo-osm'); + .attr('xlink:href', '#iD-logo-osm'); var summaryDetail = row .append('td') @@ -435940,7 +70407,7 @@ .attr('class', 'link-out') .attr('target', '_blank') .attr('tabindex', -1) - .call(svgIcon('#icon-out-link', 'inline')) + .call(svgIcon('#iD-icon-out-link', 'inline')) .attr('href', 'https://github.com/osmlab/osm-community-index/issues') .append('span') .text(t('success.tell_us')); @@ -436917,10 +71384,10 @@ var realNames = {}; /** Used for built-in method references. */ - var objectProto$20 = Object.prototype; + var objectProto$k = Object.prototype; /** Used to check objects for own properties. */ - var hasOwnProperty$17 = objectProto$20.hasOwnProperty; + var hasOwnProperty$h = objectProto$k.hasOwnProperty; /** * Gets the name of `func`. @@ -436932,7 +71399,7 @@ function getFuncName(func) { var result = (func.name + ''), array = realNames[result], - length = hasOwnProperty$17.call(realNames, result) ? array.length : 0; + length = hasOwnProperty$h.call(realNames, result) ? array.length : 0; while (length--) { var data = array[length], @@ -436981,10 +71448,10 @@ } /** Used for built-in method references. */ - var objectProto$21 = Object.prototype; + var objectProto$l = Object.prototype; /** Used to check objects for own properties. */ - var hasOwnProperty$18 = objectProto$21.hasOwnProperty; + var hasOwnProperty$i = objectProto$l.hasOwnProperty; /** * Creates a `lodash` object which wraps `value` to enable implicit method @@ -437108,7 +71575,7 @@ if (value instanceof LodashWrapper) { return value; } - if (hasOwnProperty$18.call(value, '__wrapped__')) { + if (hasOwnProperty$i.call(value, '__wrapped__')) { return wrapperClone(value); } } @@ -438313,7 +72780,7 @@ function coreContext() { var context = {}; - context.version = '2.8.2'; + context.version = '2.9.0'; // create a special translation that contains the keys in place of the strings var tkeys = cloneDeep(en); @@ -443518,7 +77985,6 @@ coreGraph: coreGraph$$1, coreHistory: coreHistory, coreTree: coreTree, - dataFeatureIcons: dataFeatureIcons, data: data, dataWikipedia: wikipedia$2, dataSuggestions: dataSuggestions, @@ -443620,6 +78086,7 @@ serviceNominatim: serviceNominatim, serviceOpenstreetcam: serviceOpenstreetcam, serviceOsm: serviceOsm, + serviceStreetside: serviceStreetside, serviceTaginfo: serviceTaginfo, serviceWikidata: serviceWikidata, serviceWikipedia: serviceWikipedia, @@ -443632,7 +78099,7 @@ svgLayers: svgLayers, svgLines: svgLines$$1, svgMapillaryImages: svgMapillaryImages$$1, - svgMapillarySigns: svgMapillarySigns, + svgMapillarySigns: svgMapillarySigns$$1, svgMidpoints: svgMidpoints$$1, svgOneWaySegments: svgOneWaySegments, svgOpenstreetcamImages: svgOpenstreetcamImages$$1, @@ -443643,6 +78110,7 @@ svgPoints: svgPoints$$1, svgRelationMemberTags: svgRelationMemberTags, svgSegmentWay: svgSegmentWay, + svgStreetside: svgStreetside$$1, svgTagClasses: svgTagClasses, svgTurns: svgTurns, svgVertices: svgVertices$$1, diff --git a/vendor/assets/iD/iD/img/fa-sprite.svg b/vendor/assets/iD/iD/img/fa-sprite.svg new file mode 100644 index 000000000..8b75e730c --- /dev/null +++ b/vendor/assets/iD/iD/img/fa-sprite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/vendor/assets/iD/iD/img/iD-sprite.svg b/vendor/assets/iD/iD/img/iD-sprite.svg index 1dad62812..a8b768802 100644 --- a/vendor/assets/iD/iD/img/iD-sprite.svg +++ b/vendor/assets/iD/iD/img/iD-sprite.svg @@ -1,1504 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/vendor/assets/iD/iD/img/maki-sprite.svg b/vendor/assets/iD/iD/img/maki-sprite.svg index 927b93357..408b428c2 100644 --- a/vendor/assets/iD/iD/img/maki-sprite.svg +++ b/vendor/assets/iD/iD/img/maki-sprite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/vendor/assets/iD/iD/img/mapillary-sprite.svg b/vendor/assets/iD/iD/img/mapillary-sprite.svg new file mode 100644 index 000000000..5a8c8e4d8 --- /dev/null +++ b/vendor/assets/iD/iD/img/mapillary-sprite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/vendor/assets/iD/iD/img/temaki-sprite.svg b/vendor/assets/iD/iD/img/temaki-sprite.svg new file mode 100644 index 000000000..b6845c11a --- /dev/null +++ b/vendor/assets/iD/iD/img/temaki-sprite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/vendor/assets/iD/iD/img/traffic-signs/traffic-signs.json b/vendor/assets/iD/iD/img/traffic-signs/traffic-signs.json deleted file mode 100644 index a19b0beb7..000000000 --- a/vendor/assets/iD/iD/img/traffic-signs/traffic-signs.json +++ /dev/null @@ -1,2823 +0,0 @@ -{ - "complementary--both-directions--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 0 - }, - "complementary--chevron-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 0 - }, - "complementary--chevron-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 24 - }, - "complementary--maximum-speed-limit-10--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 24 - }, - "complementary--maximum-speed-limit-15--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 0 - }, - "complementary--maximum-speed-limit-20--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 0 - }, - "complementary--maximum-speed-limit-25--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 24 - }, - "complementary--maximum-speed-limit-30--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 24 - }, - "complementary--maximum-speed-limit-35--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 48 - }, - "complementary--maximum-speed-limit-40--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 48 - }, - "complementary--maximum-speed-limit-45--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 48 - }, - "complementary--maximum-speed-limit-50--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 48 - }, - "complementary--maximum-speed-limit-55--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 72 - }, - "complementary--maximum-speed-limit-60--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 72 - }, - "complementary--maximum-speed-limit-65--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 72 - }, - "complementary--one-direction-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 72 - }, - "complementary--one-direction-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 0 - }, - "information--bus-stop--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 0 - }, - "information--dead-end--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 0 - }, - "information--dead-end-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 0 - }, - "information--dead-end-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 24 - }, - "information--disabled-persons--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 24 - }, - "information--end-of-limited-access-road--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 24 - }, - "information--end-of-living-street--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 24 - }, - "information--end-of-motorway--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 48 - }, - "information--highway-exit--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 48 - }, - "information--highway-interchange--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 48 - }, - "information--limited-access-road--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 48 - }, - "information--living-street--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 72 - }, - "information--living-street--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 72 - }, - "information--motorway--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 72 - }, - "information--parking--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 72 - }, - "information--parking--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 96 - }, - "information--pedestrians-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 96 - }, - "information--road-bump--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 96 - }, - "information--street-name--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 96 - }, - "information--tunnel--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 96 - }, - "regulatory--bicycles-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 96 - }, - "regulatory--bicycles-only--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 96 - }, - "regulatory--bicycles-only--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 96 - }, - "regulatory--bicycles-only--g5": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 120 - }, - "regulatory--buses-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 120 - }, - "regulatory--buses-only--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 120 - }, - "regulatory--do-not-block-intersection--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 120 - }, - "regulatory--do-not-pass--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 120 - }, - "regulatory--dual-lanes-bicyclists-and-pedestrians--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 120 - }, - "regulatory--dual-lanes-turn-left-or-straight--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 120 - }, - "regulatory--dual-lanes-turn-right-or-straight--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 120 - }, - "regulatory--dual-path-bicycles-and-pedestrians--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 144 - }, - "regulatory--dual-path-pedestrians-and-bicycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 144 - }, - "regulatory--end-of-bicycles-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 144 - }, - "regulatory--end-of-buses-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 144 - }, - "regulatory--end-of-equestrians-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 144 - }, - "regulatory--end-of-mopeds-and-bicycles-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 144 - }, - "regulatory--end-of-pedestrians-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 144 - }, - "regulatory--end-of-priority-road--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 144 - }, - "regulatory--equestrians-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 168 - }, - "regulatory--give-way-to-oncoming-traffic--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 168 - }, - "regulatory--give-way-to-oncoming-traffic--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 168 - }, - "regulatory--go-straight--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 168 - }, - "regulatory--go-straight--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 168 - }, - "regulatory--go-straight--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 168 - }, - "regulatory--go-straight-or-turn-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 168 - }, - "regulatory--go-straight-or-turn-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 168 - }, - "regulatory--go-straight-or-turn-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 0 - }, - "regulatory--go-straight-or-turn-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 0 - }, - "regulatory--height-limit--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 0 - }, - "regulatory--keep-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 0 - }, - "regulatory--keep-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 0 - }, - "regulatory--keep-left--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 0 - }, - "regulatory--keep-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 0 - }, - "regulatory--keep-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 0 - }, - "regulatory--keep-right--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 24 - }, - "regulatory--keep-right--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 24 - }, - "regulatory--length-limit--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 24 - }, - "regulatory--length-limit--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 24 - }, - "regulatory--maximum-speed-limit-10--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 24 - }, - "regulatory--maximum-speed-limit-10--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 24 - }, - "regulatory--maximum-speed-limit-10--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 24 - }, - "regulatory--maximum-speed-limit-100--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 24 - }, - "regulatory--maximum-speed-limit-100--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 48 - }, - "regulatory--maximum-speed-limit-110--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 48 - }, - "regulatory--maximum-speed-limit-110--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 48 - }, - "regulatory--maximum-speed-limit-120--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 48 - }, - "regulatory--maximum-speed-limit-120--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 48 - }, - "regulatory--maximum-speed-limit-130--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 48 - }, - "regulatory--maximum-speed-limit-15--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 48 - }, - "regulatory--maximum-speed-limit-15--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 48 - }, - "regulatory--maximum-speed-limit-15--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 72 - }, - "regulatory--maximum-speed-limit-20--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 72 - }, - "regulatory--maximum-speed-limit-20--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 72 - }, - "regulatory--maximum-speed-limit-20--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 72 - }, - "regulatory--maximum-speed-limit-25--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 72 - }, - "regulatory--maximum-speed-limit-25--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 72 - }, - "regulatory--maximum-speed-limit-30--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 72 - }, - "regulatory--maximum-speed-limit-30--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 72 - }, - "regulatory--maximum-speed-limit-30--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 96 - }, - "regulatory--maximum-speed-limit-35--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 96 - }, - "regulatory--maximum-speed-limit-35--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 96 - }, - "regulatory--maximum-speed-limit-40--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 96 - }, - "regulatory--maximum-speed-limit-40--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 96 - }, - "regulatory--maximum-speed-limit-40--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 96 - }, - "regulatory--maximum-speed-limit-45--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 96 - }, - "regulatory--maximum-speed-limit-45--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 96 - }, - "regulatory--maximum-speed-limit-5--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 120 - }, - "regulatory--maximum-speed-limit-5--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 120 - }, - "regulatory--maximum-speed-limit-50--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 120 - }, - "regulatory--maximum-speed-limit-50--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 120 - }, - "regulatory--maximum-speed-limit-50--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 120 - }, - "regulatory--maximum-speed-limit-55--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 120 - }, - "regulatory--maximum-speed-limit-55--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 120 - }, - "regulatory--maximum-speed-limit-60--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 120 - }, - "regulatory--maximum-speed-limit-60--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 144 - }, - "regulatory--maximum-speed-limit-60--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 144 - }, - "regulatory--maximum-speed-limit-65--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 144 - }, - "regulatory--maximum-speed-limit-65--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 144 - }, - "regulatory--maximum-speed-limit-70--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 144 - }, - "regulatory--maximum-speed-limit-70--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 144 - }, - "regulatory--maximum-speed-limit-70--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 144 - }, - "regulatory--maximum-speed-limit-75--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 144 - }, - "regulatory--maximum-speed-limit-75--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 168 - }, - "regulatory--maximum-speed-limit-80--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 168 - }, - "regulatory--maximum-speed-limit-80--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 168 - }, - "regulatory--maximum-speed-limit-80--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 168 - }, - "regulatory--maximum-speed-limit-85--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 168 - }, - "regulatory--maximum-speed-limit-85--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 168 - }, - "regulatory--maximum-speed-limit-90--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 168 - }, - "regulatory--maximum-speed-limit-90--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 168 - }, - "regulatory--minimum-safe-distance--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 192 - }, - "regulatory--mopeds-and-bicycles-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 192 - }, - "regulatory--no-bicycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 192 - }, - "regulatory--no-bicycles--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 192 - }, - "regulatory--no-bicycles--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 192 - }, - "regulatory--no-buses--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 192 - }, - "regulatory--no-entry--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 192 - }, - "regulatory--no-equestrians--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 192 - }, - "regulatory--no-heavy-goods-vehicles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 192 - }, - "regulatory--no-heavy-goods-vehicles--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 192 - }, - "regulatory--no-heavy-goods-vehicles-or-buses--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 192 - }, - "regulatory--no-left-or-u-turn--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 192 - }, - "regulatory--no-left-turn--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 192 - }, - "regulatory--no-left-turn--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 192 - }, - "regulatory--no-mopeds-or-bicycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 192 - }, - "regulatory--no-motor-vehicles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 192 - }, - "regulatory--no-motor-vehicles--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 216 - }, - "regulatory--no-motor-vehicles--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 216 - }, - "regulatory--no-motor-vehicles--g5": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 216 - }, - "regulatory--no-motor-vehicles--g6": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 216 - }, - "regulatory--no-motor-vehicles-except-motorcycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 216 - }, - "regulatory--no-motor-vehicles-except-motorcycles--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 216 - }, - "regulatory--no-motorcycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 216 - }, - "regulatory--no-motorcycles--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 216 - }, - "regulatory--no-overtaking--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 216 - }, - "regulatory--no-overtaking--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 216 - }, - "regulatory--no-overtaking-by-heavy-goods-vehicles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 216 - }, - "regulatory--no-parking--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 216 - }, - "regulatory--no-parking--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 216 - }, - "regulatory--no-parking--g5": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 216 - }, - "regulatory--no-parking-bicycles-or-motorcycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 216 - }, - "regulatory--no-pedestrians--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 216 - }, - "regulatory--no-pedestrians--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 240 - }, - "regulatory--no-right-turn--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 240 - }, - "regulatory--no-right-turn--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 240 - }, - "regulatory--no-stopping--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 240 - }, - "regulatory--no-stopping--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 240 - }, - "regulatory--no-stopping--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 240 - }, - "regulatory--no-stopping--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 240 - }, - "regulatory--no-straight-through--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 240 - }, - "regulatory--no-tractors--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 240 - }, - "regulatory--no-tractors-mopeds-or-bicycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 240 - }, - "regulatory--no-turn-on-red--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 240 - }, - "regulatory--no-turn-on-red--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 240 - }, - "regulatory--no-u-turn--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 240 - }, - "regulatory--no-u-turn--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 240 - }, - "regulatory--no-u-turn--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 240 - }, - "regulatory--no-vehicles-carrying-dangerous-goods--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 240 - }, - "regulatory--no-vehicles-carrying-explosives--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 264 - }, - "regulatory--one-way-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 264 - }, - "regulatory--one-way-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 264 - }, - "regulatory--one-way-left--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 264 - }, - "regulatory--one-way-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 264 - }, - "regulatory--one-way-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 264 - }, - "regulatory--one-way-right--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 264 - }, - "regulatory--one-way-straight--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 264 - }, - "regulatory--pass-on-either-side--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 264 - }, - "regulatory--pedestrians-only--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 264 - }, - "regulatory--pedestrians-only--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 264 - }, - "regulatory--priority-over-oncoming-vehicles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 264 - }, - "regulatory--priority-road--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 264 - }, - "regulatory--road-closed-to-vehicles--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 264 - }, - "regulatory--roundabout--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 264 - }, - "regulatory--roundabout--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 264 - }, - "regulatory--shared-path-bicycles-and-pedestrians--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 288 - }, - "regulatory--shared-path-pedestrians-and-bicycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 288 - }, - "regulatory--sidewalk-closed--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 288 - }, - "regulatory--stay-in-lane--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 288 - }, - "regulatory--stop--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 288 - }, - "regulatory--stop-signals--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 288 - }, - "regulatory--traffic-signal-photo-enforced--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 288 - }, - "regulatory--triple-lanes-go-straight-center-lane--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 288 - }, - "regulatory--triple-lanes-turn-left-center-lane--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 288 - }, - "regulatory--triple-lanes-turn-right-center-lane--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 288 - }, - "regulatory--turn-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 288 - }, - "regulatory--turn-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 288 - }, - "regulatory--turn-left-ahead--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 288 - }, - "regulatory--turn-left-or-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 288 - }, - "regulatory--turn-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 288 - }, - "regulatory--turn-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 288 - }, - "regulatory--turn-right--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 312 - }, - "regulatory--turn-right-ahead--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 312 - }, - "regulatory--two-way-traffic--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 312 - }, - "regulatory--weight-limit--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 312 - }, - "regulatory--weight-limit--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 312 - }, - "regulatory--weight-limit--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 312 - }, - "regulatory--weight-limit-per-axle--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 312 - }, - "regulatory--width-limit--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 312 - }, - "regulatory--yield--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 312 - }, - "warning--added-lane-from-entering-roadway--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 312 - }, - "warning--added-lane-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 312 - }, - "warning--added-lane-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 312 - }, - "warning--atv-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 312 - }, - "warning--bicycles-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 312 - }, - "warning--bicycles-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 312 - }, - "warning--bicycles-crossing--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 312 - }, - "warning--bicycles-crossing--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 336 - }, - "warning--bollard--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 336 - }, - "warning--children--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 336 - }, - "warning--children--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 336 - }, - "warning--crossroads--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 336 - }, - "warning--crossroads--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 336 - }, - "warning--crossroads--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 336 - }, - "warning--crossroads-with-priority-to-the-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 336 - }, - "warning--curve-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 336 - }, - "warning--curve-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 336 - }, - "warning--curve-out-intersection-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 336 - }, - "warning--curve-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 336 - }, - "warning--curve-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 336 - }, - "warning--dangerous-crosswinds-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 336 - }, - "warning--disabled-persons-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 336 - }, - "warning--divided-highway--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 336 - }, - "warning--divided-highway--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 0, - "y": 360 - }, - "warning--divided-highway-ends--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 24, - "y": 360 - }, - "warning--divided-highway-ends--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 48, - "y": 360 - }, - "warning--domestic-animals--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 72, - "y": 360 - }, - "warning--domestic-animals--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 96, - "y": 360 - }, - "warning--domestic-animals--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 120, - "y": 360 - }, - "warning--double-curve-first-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 144, - "y": 360 - }, - "warning--double-curve-first-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 168, - "y": 360 - }, - "warning--double-curve-first-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 192, - "y": 360 - }, - "warning--double-curve-first-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 216, - "y": 360 - }, - "warning--double-curve-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 240, - "y": 360 - }, - "warning--double-curve-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 264, - "y": 360 - }, - "warning--double-reverse-curve--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 288, - "y": 360 - }, - "warning--double-side-roads-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 312, - "y": 360 - }, - "warning--double-side-roads-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 336, - "y": 360 - }, - "warning--double-turn-first-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 360, - "y": 360 - }, - "warning--double-turn-first-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 0 - }, - "warning--emergency-vehicles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 0 - }, - "warning--emu-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 0 - }, - "warning--emu-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 0 - }, - "warning--entering-roadway-merge--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 0 - }, - "warning--equestrians--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 0 - }, - "warning--equestrians-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 0 - }, - "warning--falling-rocks-or-debris-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 0 - }, - "warning--falling-rocks-or-debris-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 0 - }, - "warning--falling-rocks-or-debris-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 0 - }, - "warning--falling-rocks-or-debris-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 0 - }, - "warning--falling-rocks-or-debris-right--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 0 - }, - "warning--flaggers-in-road--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 0 - }, - "warning--golf-carts-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 0 - }, - "warning--hairpin-curve-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 0 - }, - "warning--hairpin-curve-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 0 - }, - "warning--hairpin-curve-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 24 - }, - "warning--height-restriction--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 24 - }, - "warning--height-restriction--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 24 - }, - "warning--horizontal-alignment-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 24 - }, - "warning--horizontal-alignment-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 24 - }, - "warning--icy-road--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 24 - }, - "warning--junction-with-a-side-road-acute-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 24 - }, - "warning--junction-with-a-side-road-acute-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 24 - }, - "warning--junction-with-a-side-road-perpendicular-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 24 - }, - "warning--junction-with-a-side-road-perpendicular-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 24 - }, - "warning--junction-with-a-side-road-perpendicular-left--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 24 - }, - "warning--junction-with-a-side-road-perpendicular-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 24 - }, - "warning--junction-with-a-side-road-perpendicular-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 24 - }, - "warning--junction-with-a-side-road-perpendicular-right--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 24 - }, - "warning--koala-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 24 - }, - "warning--koala-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 24 - }, - "warning--loop-270-degree--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 48 - }, - "warning--loop-pretzel--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 48 - }, - "warning--loose-road-surface--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 48 - }, - "warning--loose-road-surface--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 48 - }, - "warning--loose-road-surface--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 48 - }, - "warning--low-flying-aircraft--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 48 - }, - "warning--low-flying-aircraft--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 48 - }, - "warning--low-ground-clearance--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 48 - }, - "warning--motorcycles-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 48 - }, - "warning--narrow-bridge--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 48 - }, - "warning--narrow-bridge--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 48 - }, - "warning--offset-roads--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 48 - }, - "warning--offset-roads--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 48 - }, - "warning--opening-or-swing-bridge--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 48 - }, - "warning--opening-or-swing-bridge--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 48 - }, - "warning--other-danger--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 48 - }, - "warning--pass-left-or-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 72 - }, - "warning--pass-left-or-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 72 - }, - "warning--pavement-ends--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 72 - }, - "warning--pedestrians-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 72 - }, - "warning--pedestrians-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 72 - }, - "warning--pedestrians-crossing--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 72 - }, - "warning--pedestrians-crossing--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 72 - }, - "warning--pedestrians-crossing--g5": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 72 - }, - "warning--playground--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 72 - }, - "warning--playground--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 72 - }, - "warning--playground--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 72 - }, - "warning--quay-or-river-bank--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 72 - }, - "warning--railroad-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 72 - }, - "warning--railroad-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 72 - }, - "warning--railroad-crossing-with-barriers--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 72 - }, - "warning--railroad-crossing-with-barriers--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 72 - }, - "warning--railroad-crossing-without-barriers--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 96 - }, - "warning--railroad-crossing-without-barriers--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 96 - }, - "warning--railroad-crossing-without-barriers--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 96 - }, - "warning--railroad-intersection--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 96 - }, - "warning--railroad-intersection--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 96 - }, - "warning--railroad-intersection--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 96 - }, - "warning--railroad-intersection--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 96 - }, - "warning--railroad-intersection--g5": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 96 - }, - "warning--reduced-maximum-speed-limit--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 96 - }, - "warning--road-bump--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 96 - }, - "warning--road-bump--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 96 - }, - "warning--road-narrows--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 96 - }, - "warning--road-narrows--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 96 - }, - "warning--road-narrows-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 96 - }, - "warning--road-narrows-left--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 96 - }, - "warning--road-narrows-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 96 - }, - "warning--road-narrows-right--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 120 - }, - "warning--roadworks--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 120 - }, - "warning--roadworks--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 120 - }, - "warning--roadworks--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 120 - }, - "warning--roadworks--g5": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 120 - }, - "warning--roundabout--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 120 - }, - "warning--roundabout--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 120 - }, - "warning--school-zone--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 120 - }, - "warning--school-zone--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 120 - }, - "warning--shared-lane-motorcycles-bicycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 120 - }, - "warning--single-reverse-curve--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 120 - }, - "warning--slippery-bicycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 120 - }, - "warning--slippery-motorcycles--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 120 - }, - "warning--slippery-road-surface--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 120 - }, - "warning--slippery-road-surface--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 120 - }, - "warning--soft-shoulder--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 120 - }, - "warning--steep-ascent--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 144 - }, - "warning--steep-ascent--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 144 - }, - "warning--steep-ascent--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 144 - }, - "warning--steep-descent--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 144 - }, - "warning--steep-descent--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 144 - }, - "warning--steep-descent--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 144 - }, - "warning--stop-ahead--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 144 - }, - "warning--stop-ahead--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 144 - }, - "warning--t-roads--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 144 - }, - "warning--texts--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 144 - }, - "warning--texts--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 144 - }, - "warning--texts--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 144 - }, - "warning--tractors--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 144 - }, - "warning--tractors--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 144 - }, - "warning--tractors--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 144 - }, - "warning--traffic-merges-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 144 - }, - "warning--traffic-merges-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 168 - }, - "warning--traffic-queues-likely--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 168 - }, - "warning--traffic-signals--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 168 - }, - "warning--traffic-signals--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 168 - }, - "warning--traffic-signals--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 168 - }, - "warning--trail-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 168 - }, - "warning--trail-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 168 - }, - "warning--trail-crossing--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 168 - }, - "warning--trams-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 168 - }, - "warning--trams-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 168 - }, - "warning--triple-curve-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 168 - }, - "warning--triple-curve-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 168 - }, - "warning--triple-reverse-curve-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 168 - }, - "warning--trucks-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 168 - }, - "warning--trucks-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 168 - }, - "warning--trucks-rollover--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 168 - }, - "warning--tunnel--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 192 - }, - "warning--tunnel--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 192 - }, - "warning--turn-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 192 - }, - "warning--turn-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 456, - "y": 192 - }, - "warning--two-way-traffic--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 480, - "y": 192 - }, - "warning--two-way-traffic--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 504, - "y": 192 - }, - "warning--two-way-traffic--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 528, - "y": 192 - }, - "warning--uneven-road--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 552, - "y": 192 - }, - "warning--uneven-road--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 576, - "y": 192 - }, - "warning--wild-animals--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 600, - "y": 192 - }, - "warning--wild-animals--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 624, - "y": 192 - }, - "warning--wild-animals--g3": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 648, - "y": 192 - }, - "warning--wild-animals--g4": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 672, - "y": 192 - }, - "warning--winding-road-first-left--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 696, - "y": 192 - }, - "warning--winding-road-first-right--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 720, - "y": 192 - }, - "warning--wombat-crossing--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 744, - "y": 192 - }, - "warning--wombat-crossing--g2": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 384, - "y": 216 - }, - "warning--y-roads--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 408, - "y": 216 - }, - "warning--yield-ahead--g1": { - "height": 24, - "pixelRatio": 1, - "width": 24, - "x": 432, - "y": 216 - } -} \ No newline at end of file diff --git a/vendor/assets/iD/iD/img/traffic-signs/traffic-signs.png b/vendor/assets/iD/iD/img/traffic-signs/traffic-signs.png deleted file mode 100644 index 77f787a6fa874192244c45d48c83823b9c3eafa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242443 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%0Anfg_ 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", "subdistrict": "", "suburb": "", - "countrycode": "bg" + "countrycode": "bg", + "name": { + "pizza-hut": "Pizza Hut" + } }, "navigation": { "title": "Навигация" @@ -846,8 +849,18 @@ "start": "Започнете да картографирате!" } }, + "shortcuts": { + "editing": { + "operations": { + "delete": "Изтриване на избраните обекти" + } + } + }, "presets": { "categories": { + "category-path": { + "name": "Пътеки" + }, "category-rail": { "name": "Железопътни Обекти" }, @@ -1578,10 +1591,10 @@ "label": "Трудност на трасе за планинско колоездене", "options": { "0": "Валиран чакъл/уплътнена земя, без препятствия, широки криви", - "1": "Малко нестабилна настилка, дребни препятствия, широки криви", - "2": "Много нестабилна настилка, големи препятствия, лесни серпентини", + "1": "1: Малко нестабилна настилка, дребни препятствия, широки криви", + "2": "2: Много нестабилна настилка, големи препятствия, лесни серпентини", "3": "Хлъзгава настилка, големи препятствия, тесни серпентини", - "4": "Нестабилна настилка или камъни, опасни серпентини", + "4": "4: Нестабилна настилка или камъни, опасни серпентини", "5": "Максимална трудност, големи участъци покрити с камъни, свлачища", "6": "Невъзможно за каране с изключение на най-добрите планински колоездачи." }, @@ -1872,6 +1885,9 @@ "shop": { "label": "Вид" }, + "site": { + "label": "Вид" + }, "structure": { "label": "Структура", "options": { @@ -2524,6 +2540,9 @@ "shop/car_repair": { "name": "Сервиз автомобили" }, + "shop/chemist": { + "name": "Дрогерия" + }, "shop/clothes": { "name": "Магазин за дрехи" }, @@ -2575,12 +2594,18 @@ "shop/hifi": { "name": "Магазин за аудиотехника" }, + "shop/houseware": { + "name": "Домашни потреби" + }, "shop/jewelry": { "name": "Бижутер" }, "shop/laundry": { "name": "Пералня" }, + "shop/lottery": { + "name": "Лотарийни билети" + }, "shop/mall": { "name": "Мол" }, @@ -2797,7 +2822,7 @@ "attribution": { "text": "Условия & oбратна връзка" }, - "description": "Esri world изображения.", + "description": "Esri World изображения.", "name": "Esri World изображения" }, "EsriWorldImageryClarity": { @@ -2992,6 +3017,9 @@ } }, "community": { + "be-facebook": { + "description": "Картографи и OpenStreetMap във Фейсбук в Белгия" + }, "Central-Pennsylvania-OSM": { "name": "Централна Пенсилвания OSM" }, diff --git a/vendor/assets/iD/iD/locales/bn.json b/vendor/assets/iD/iD/locales/bn.json index 02c98a5df..45e13029a 100644 --- a/vendor/assets/iD/iD/locales/bn.json +++ b/vendor/assets/iD/iD/locales/bn.json @@ -62,7 +62,7 @@ "annotation": "অাঁকা বাতিল করা হয়েছে।" }, "change_tags": { - "annotation": "কিছু ট্যাগ পরিবর্তন করা হয়েছে।" + "annotation": "পরিবর্তিত ট্যাগ।" }, "circularize": { "title": "বৃত্তাকার করুন", @@ -79,8 +79,8 @@ "orthogonalize": { "title": "বর্গাকৃতি", "description": { - "line": "এই লাইন এর কোনসমূহ বর্গাকৃতি করুন.", - "area": "এই ক্ষেত্রটির কোনসমূহ বর্গাকৃতি করুন." + "line": "এই রেখার কোণাসমূহ বর্গাকৃতি করুন।", + "area": "এই ক্ষেত্রটির কোণাসমূহ বর্গাকৃতি করুন।" }, "key": "S", "annotation": { @@ -122,17 +122,17 @@ "disconnect": { "title": "বিচ্ছিন্ন করুন", "description": "এই রেখা/এলাকাগুলিকে একে অপরের থেকে বিচ্ছিন্ন করুন।", - "key": "ডি", + "key": "D", "annotation": "এই রেখা/এলাকাগুলিকে বিচ্ছিন্ন করা হয়েছে।" }, "merge": { "title": "এদের এক করুন", - "key": "সি", + "key": "C", "not_eligible": "এই বৈশিষ্ট্যগুলি একত্রীকরণ করা যাবে না" }, "move": { "title": "সরান", - "key": "এম", + "key": "M", "annotation": { "point": "একটি বিন্দুকে সরানো হয়েছে।", "vertex": "একটি গমনপথে একটি নোডকে সরানো হয়েছে।", @@ -148,7 +148,7 @@ }, "rotate": { "title": "ঘোরান", - "key": "আর", + "key": "R", "annotation": { "line": "একটি রেখাকে ঘোরানো হয়েছে।", "area": "একটি এলাকাকে ঘোরানো হয়েছে।" @@ -157,7 +157,7 @@ "reverse": { "title": "উল্টো করুন", "description": "এই রেখাটিকে উল্টোদিকে পাঠান।", - "key": "ভি", + "key": "V", "annotation": "একটি রেখাকে উল্টো করা হয়েছে।" }, "split": { @@ -167,7 +167,7 @@ "area": "এই এলাকাটির সীমানাকে দুই ভাগে ভাগ করুন।", "multiple": "রেখাগুলিকে/এলাকার সীমানাকে এই নোড-এ দুইভাগে ভাগ করুন।" }, - "key": "এক্স", + "key": "X", "annotation": { "line": "একটি রেখাকে ভাগ করুন।", "area": "একটি এলাকার সীমানাকে ভাগ করুন।", @@ -209,7 +209,7 @@ "save": "আপলোড করুন", "cancel": "বাতিল করুন", "changes": "{count}টি পরিবর্তন", - "warnings": "সতর্ক বার্তাসমুহ", + "warnings": "সতর্কতা", "modified": "পরিবর্তিত", "deleted": "মুছে ফেলা হয়েছে", "created": "তৈরী করা হয়েছে" @@ -223,6 +223,8 @@ "background": { "key": "B", "zoom": "জুম", + "source": "উৎস", + "description": "বিবরণ", "unknown": "অজানা" }, "history": { @@ -243,7 +245,9 @@ "key": "M", "selected": "{n}টি নির্বাচিত", "length": "দৈর্ঘ্য", - "location": "অবস্থান" + "area": "এলাকা", + "location": "অবস্থান", + "metric": "মেট্রিক" } }, "geometry": { @@ -251,7 +255,7 @@ "line": "রেখা" }, "geocoder": { - "search": "দুনিয়াজুরে খুজুন...", + "search": "বিশ্বব্যাপী খুঁজুন...", "no_results_visible": "দৃশ্যমান মানচিত্রে কোন ফলাফল নেই", "no_results_worldwide": "কোন ফলাফল পাওয়া যায় নি।" }, @@ -268,19 +272,26 @@ "all_relations": "সকল সম্পর্কসমুহ", "new_relation": "নতুন সম্পর্ক...", "role": "ভূমিকা", - "choose": "বৈশিষ্ট্যএর প্রকার নির্বাচন করুন", + "choose": "বৈশিষ্ট্যের প্রকার নির্বাচন করুন", "results": "{search}-এর জন্য {n}-টি ফলাফল ", "reference": "openstreetmap.org-এর উইকি-তে দেখুন", "back_tooltip": "বৈশিষ্ট্য পরিবর্তন করুন", "remove": "অপসারণ", "search": "কিছু খুঁজুন", "unknown": "অজানা", - "incomplete": "<ডাউনলোড করা হয়নি>", - "feature_list": "বৈশিষ্ট্যসমূহ খুজুন", + "incomplete": "", + "feature_list": "বৈশিষ্ট্যসমূহ খুঁজুন", "edit": "বৈশিষ্ট্য সম্পাদনা করুন", "check": { "yes": "হ্যাঁ", - "no": "না" + "no": "না", + "reverser": "দিক পাল্টান" + }, + "radio": { + "structure": { + "type": "ধরন", + "default": "পূর্বনির্ধারিত" + } }, "add": "যোগ করুন", "none": "কিছুনা", @@ -298,7 +309,17 @@ "map_data": { "title": "মানচিত্রের উপাত্ত", "description": "মানচিত্রের উপাত্ত", - "key": "F" + "key": "F", + "layers": { + "osm": { + "title": "ওপেনস্ট্রীটম্যাপের উপাত্ত" + } + } + }, + "feature": { + "others": { + "description": "অন্যান্য" + } }, "restore": { "heading": "অাপনার কিছু পরিবর্তন সংরক্ষণ করা বাকি অাছে", @@ -307,14 +328,32 @@ "save": { "title": "সংরক্ষণ করুন", "no_changes": "সংরক্ষণ করার মত কোন পরিবর্তন বাকি নেই।", - "unsaved_changes": "অাপনার কিছু পরিবর্তন সংরক্ষণ করা বাকি অাছে" + "unsaved_changes": "অাপনার কিছু পরিবর্তন সংরক্ষণ করা বাকি অাছে", + "conflict": { + "previous": "< পূর্ববর্তী", + "next": "পরবর্তী >" + } }, "success": { - "just_edited": "অাপনি এইমাত্র ওপেনস্ট্রীটম্যাপ সম্পাদন করলেন!" + "just_edited": "অাপনি এইমাত্র ওপেনস্ট্রীটম্যাপ সম্পাদন করলেন!", + "thank_you": "মানচিত্রের উন্নতি করার জন্য আপনাকে ধন্যবাদ।", + "thank_you_location": "{where}-এর চারপাশের মানচিত্রের উন্নয়ন করার জন্য আপনাকে ধন্যবাদ।", + "help_html": "আপনার পরিবর্তন কয়েক মিনিটের মধ্যে ওপেনস্ট্রীটম্যাপের মধ্যে প্রদর্শিত হওয়া উচিত। হালনাগাদগুলি পেতে অন্যত্র মানচিত্রগুলির কিছু বেশি সময় লাগতে পারে।", + "help_link_text": "বিস্তারিত", + "changeset_id": "আপনার পরিবর্তনধার্য #: {changeset_id}", + "more": "অারো", + "languages": "ভাষাসমূহ: {languages}", + "missing": "এই তালিকা থেকে কিছু অনুপস্থিত?", + "tell_us": "আমাদের বলুন!" + }, + "confirm": { + "okay": "ঠিক আছে", + "cancel": "বাতিল" }, "splash": { "welcome": "iD ওপেনস্ট্রীটম্যাপ সম্পাদকে অাপনাকে স্বাগতম", - "walkthrough": "ওয়াকথ্রু শুরু করুন" + "walkthrough": "ওয়াকথ্রু শুরু করুন", + "start": "এখুনি সম্পাদনা করুন" }, "source_switch": { "live": "সরাসরি", @@ -333,7 +372,7 @@ "tag_suggests_area": "{tag} ট্যাগটি অনুসারে রেখাটি এলাকা হবে, কিন্তু নয়।", "deprecated_tags": "পুরোন ও অব্যবহৃত ট্যাগ: {tags}" }, - "cannot_zoom": "বর্তমান মোডে আরও জুম আউট করা যাবে না.", + "cannot_zoom": "বর্তমান মোডে আরও জুম আউট করা যাবে না।", "help": { "title": "সাহায্য" }, @@ -1281,14 +1320,34 @@ "text": "শর্তাবলী ও প্রতিক্রিয়া" } }, + "DigitalGlobe-Premium-vintage": { + "attribution": { + "text": "শর্তাবলী ও প্রতিক্রিয়া" + } + }, "DigitalGlobe-Standard": { "attribution": { "text": "শর্তাবলী ও প্রতিক্রিয়া" } }, + "DigitalGlobe-Standard-vintage": { + "attribution": { + "text": "শর্তাবলী ও প্রতিক্রিয়া" + } + }, + "EsriWorldImagery": { + "attribution": { + "text": "শর্তাবলী ও প্রতিক্রিয়া" + } + }, + "EsriWorldImageryClarity": { + "attribution": { + "text": "শর্তাবলী ও প্রতিক্রিয়া" + } + }, "MAPNIK": { "attribution": { - "text": "© ওপেনস্ট্রীটম্যাপ অবদানকারীগণ, সিসি-বাই-এসএ" + "text": "© ওপেনস্ট্রীটম্যাপের অবদানকারীগণ, সিসি-বাই-এসএ" }, "name": "ওপেনস্ট্রীটম্যাপ (মানক)" }, @@ -1301,38 +1360,48 @@ }, "OSM_Inspector-Highways": { "attribution": { - "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপ অবদানকারীগণ, সিসি-বাই-এসএ" + "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপের অবদানকারীগণ, সিসি-বাই-এসএ" } }, "OSM_Inspector-Multipolygon": { "attribution": { - "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপ অবদানকারীগণ, সিসি-বাই-এসএ" + "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপের অবদানকারীগণ, সিসি-বাই-এসএ" } }, "OSM_Inspector-Places": { "attribution": { - "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপ অবদানকারীগণ, সিসি-বাই-এসএ" + "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপের অবদানকারীগণ, সিসি-বাই-এসএ" } }, "OSM_Inspector-Routing": { "attribution": { - "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপ অবদানকারীগণ, সিসি-বাই-এসএ" + "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপের অবদানকারীগণ, সিসি-বাই-এসএ" } }, "OSM_Inspector-Tagging": { "attribution": { - "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপ অবদানকারীগণ, সিসি-বাই-এসএ" + "text": "© Geofabrik GmbH, ওপেনস্ট্রীটম্যাপের অবদানকারীগণ, সিসি-বাই-এসএ" } }, "hike_n_bike": { "attribution": { - "text": "© ওপেনস্ট্রীটম্যাপ অবদানকারীগণ" + "text": "© ওপেনস্ট্রীটম্যাপের অবদানকারীগণ" } }, "mapbox_locator_overlay": { "attribution": { "text": "শর্তাবলী ও প্রতিক্রিয়া" } + }, + "osm-mapnik-german_style": { + "attribution": { + "text": "© ওপেনস্ট্রীটম্যাপের অবদানকারীগণ, সিসি-বাই-এসএ" + } + }, + "tf-landscape": { + "attribution": { + "text": "মানচিত্র © Thunderforest, উপাত্ত © ওপেনস্ট্রীটম্যাপের অবদানকারীগণ" + } } } } diff --git a/vendor/assets/iD/iD/locales/ca.json b/vendor/assets/iD/iD/locales/ca.json index 026c26a1f..03c758aaa 100644 --- a/vendor/assets/iD/iD/locales/ca.json +++ b/vendor/assets/iD/iD/locales/ca.json @@ -2,8 +2,8 @@ "ca": { "icons": { "information": "Informació", - "remove": "Eliminar", - "undo": "Desfer" + "remove": "Elimina", + "undo": "Desfés" }, "modes": { "add_area": { @@ -19,20 +19,20 @@ "add_point": { "title": "Punt", "description": "Afegiu restaurants, monuments, bústies de correus o altres punts al mapa.", - "tail": "Cliqueu al mapa per afegir un punt." + "tail": "Cliqueu al mapa per a afegir un punt." }, "browse": { "title": "Navega", - "description": "Allunyeu o amplieu el mapa" + "description": "Allunyeu o apropeu el mapa" }, "draw_area": { - "tail": "Feu clic per afegir nodes a la vostra àrea. Feu clic al primer node per finalitzar l'àrea." + "tail": "Feu clic per a afegir nodes a la vostra àrea. Feu clic al primer node per a finalitzar l'àrea." }, "draw_line": { - "tail": "Feu clic per afegir més nodes a la línia. Feu clic a altres línies per connectar amb elles, i feu doble clic per acabar la línia." + "tail": "Feu clic per a afegir més nodes a la línia. Feu clic a altres línies per a connectar amb elles, i feu doble clic per a acabar la línia." }, "drag_node": { - "connected_to_hidden": "Això no pot ser editat perquè és connectat a una característica amagada." + "connected_to_hidden": "Això no es pot editar perquè és connectat a una característica amagada." } }, "operations": { @@ -51,8 +51,8 @@ }, "continue": { "key": "A", - "title": "Continuar", - "description": "Continuar aquesta línia", + "title": "Continua", + "description": "Continueu aquesta línia", "not_eligible": "No es pot continuar cap línia aquí", "multiple": "Aquí es poden continuar diferents línies. Per a escollir una línia, premeu la tecla Maj i feu clic a sobre la línia per a seleccionar-la.", "annotation": { @@ -85,10 +85,10 @@ "connected_to_hidden": "No es pot distribuir en cercle perquè està connectat a un objecte ocult." }, "orthogonalize": { - "title": "Quadrar", + "title": "Quadra", "description": { - "line": "Quadrar les cantonades d'aquesta línia", - "area": "Quadrar les cantonades d'aquesta àrea" + "line": "Quadra les cantonades d'aquesta línia", + "area": "Quadra les cantonades d'aquesta àrea" }, "key": "Q", "annotation": { @@ -100,15 +100,15 @@ "connected_to_hidden": "No es pot distribuir en quadrat perquè està connectat a un objecte ocult." }, "straighten": { - "title": "Fer recte", - "description": "Feu aquesta línia recte", + "title": "Fes recte", + "description": "Feu aquesta línia recta", "key": "S", - "annotation": "Quadrar una línia", + "annotation": "Quadra una línia", "too_bendy": "Això no es pot quadrar perquè és massa sinuós.", "connected_to_hidden": "Aquesta línia no es pot adreçar perquè està connectada a un objecte ocult." }, "delete": { - "title": "Eliminar", + "title": "Elimina", "description": { "single": "Elimina aquest objecte permanentment", "multiple": "Elimina aquests objectes permanentment" @@ -150,29 +150,33 @@ "vertex": "Heu connectat una via a una altra.", "line": "Heu connectat una via a una línia.", "area": "Heu connectat una via a una àrea." - } + }, + "relation": "Aquestes característiques no es poden connectar perquè tenen rols de relació amb conflicte.", + "restriction": "Aquestes característiques no es poden connectar perquè podria malmetre la relació «{relation}»-" }, "disconnect": { - "title": "Desconnectar", + "title": "Desconnecta", "description": "Desconnecteu aquestes línies/àrees entre elles.", "key": "D", - "annotation": "Heu desconnectat línies/àrees.", - "not_connected": "Aquí no hi han suficients línies/àrees a desconnectar.", + "annotation": "Heu desconnectat línies o àrees.", + "not_connected": "Aquí no hi han suficients línies o àrees per a desconnectar.", "connected_to_hidden": "No es pot desconnectar perquè està connectat a un objecte ocult.", "relation": "Això no pot ser desconnectat perquè connecta membres d'una relació." }, "merge": { - "title": "Fusionar", + "title": "Fusiona", "description": "Fusiona aquests objectes", "key": "C", "annotation": "S'han fusionat {n} objectes.", "not_eligible": "Aquests objectes no es poden fusionar.", "not_adjacent": "Aquests objectes no es poden fusionar perquè els seu extrems no estan connectats.", + "restriction": "Aquestes característiques no es poden fusionar perquè podria malmetre la relació «{relation}».", + "relation": "Aquestes característiques no es poden fusionar perquè tenen rols de relació amb conflicte.", "incomplete_relation": "Aquests objectes no es poden fusionar perquè com a mínim un de ells no s'ha baixat del tot.", "conflicting_tags": "Aquests objectes no es poden fusionar donat que algunes de les seves etiquetes tenen valors diferents." }, "move": { - "title": "Moure", + "title": "Mou", "description": { "single": "Mou aquest objecte a una posició diferent.", "multiple": "Mou aquests objectes a una posició diferent." @@ -183,7 +187,7 @@ "vertex": "Heu mogut un node d'una via.", "line": "Heu mogut una línia.", "area": "Heu mogut una àrea.", - "multiple": "S'han mogut diversos objectes." + "multiple": "Heu mogut diversos objectes." }, "incomplete_relation": { "single": "Aquest objecte no es pot moure perquè no s'ha baixat del tot.", @@ -322,7 +326,13 @@ }, "from": "DES DE", "via": "VIA", - "to": "A" + "to": "A", + "from_name": "{from} {fromName}", + "from_name_to_name": "{from} {fromName} {to} {toName}", + "via_names": "{via} {viaNames}", + "select_from": "Feu clic per a seleccionar un segment de: {from}", + "select_from_name": "Feu clic per a seleccionar: {from} {fromName}", + "toggle": "Feu clic per a «{turn}»" } }, "undo": { @@ -400,6 +410,7 @@ "key": "H", "title": "Història", "selected": "{n} seleccionat", + "no_history": "No hi ha cap historial (objecte nou)", "version": "Versió", "last_edit": "Darrera modificació", "edited_by": "Modificat per", @@ -637,8 +648,19 @@ }, "success": { "just_edited": "Acabeu d'editar l'OpenStreetMap!", + "thank_you": "Gràcies per millorar el mapa.", + "thank_you_location": "Gràcies per millorar el mapa prop de: {where}.", + "help_html": "Els vostres canvis haurien d'aparèixer a l'OpenStreetMap en pocs minuts. Els mapes d'altres llocs poden trigar més temps en rebre les actualitzacions.", "help_link_text": "Detalls", - "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" + "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", + "view_on_osm": "Mostra els canvis a l'OSM", + "changeset_id": "El conjunt de canvis núm: {changeset_id}", + "like_osm": "Us agrada l'OpenStreetMap? Connecteu amb altres usuaris:", + "more": "Més", + "events": "Esdeveniments", + "languages": "Llengues: {languages}", + "missing": "manca res en aquesta llista?", + "tell_us": "Digueu-nos ho!" }, "confirm": { "okay": "D'acord", @@ -667,6 +689,7 @@ "disconnected_highway": "Via desconnectada", "disconnected_highway_tooltip": "Les vies haurien de connectar altres vies o entrades d'edificis.", "old_multipolygon": "Etiqueta Multipoligon en ", + "old_multipolygon_tooltip": "Aquest estil de polígon és en desús. Assigneu les etiquetes al multipolígon pare en comptes d'a la via exterior.", "untagged_point": "Punt sense etiquetar", "untagged_point_tooltip": "Seleccioneu un tipus d'objecte que descrigui el que és aquest punt.", "untagged_line": "Línia sense etiquetar", @@ -727,7 +750,9 @@ "title": "Visió general", "navigation_h": "Navegació", "navigation_zoom": "Us podeu acostar o allunyar movent la rodeta del ratolí o del ratolí tàctil o clicant els botons {plus} / {minus} al llarg del costat del mapa. També podeu fer servir les tecles `+`, `-`  del teclat.", - "features_h": "Característiques del mapa" + "features_h": "Característiques del mapa", + "features": "Utilitzem la paraula *objectes* per descriure les coses que es mostren al mapa, com vies, edificis o punts d'interès. Qualsevol cosa del món real es pot representar al mapa com un objecte a OpenStreetmap. Els objectes del mapa s´hi representen utilitzant *punts*, *línies*, o *àrees*.", + "nodes_ways": "A l'OpenStreetMap, els punts de vegades s'anomenen *nodes*, i les línies i àrees de vegades s'anomenen *vies*." }, "editing": { "title": "Editant i Salvant", @@ -1481,6 +1506,10 @@ "diaper": { "label": "Canviadors per a nadons" }, + "direction": { + "label": "Direcció (graus en sentit horari)", + "placeholder": "45, 90, 180, 270" + }, "direction_cardinal": { "label": "Direcció", "options": { @@ -1520,6 +1549,9 @@ "display": { "label": "Pantalla" }, + "distance": { + "label": "Distància total" + }, "dock": { "label": "Tipus" }, @@ -1560,6 +1592,9 @@ "except": { "label": "Excepcions" }, + "faces": { + "label": "Cares" + }, "fax": { "label": "Fax", "placeholder": "+31 42 123 4567" @@ -1671,6 +1706,24 @@ "label": "Cistella de basquetbol", "placeholder": "1, 2, 4..." }, + "horse_dressage": { + "options": { + "equestrian": "Sí", + "undefined": "No" + } + }, + "horse_riding": { + "options": { + "horse_riding": "Sí", + "undefined": "No" + } + }, + "horse_stables": { + "options": { + "stables": "Sí", + "undefined": "No" + } + }, "iata": { "label": "IATA" }, @@ -1690,6 +1743,9 @@ "indoor": { "label": "Interior" }, + "industrial": { + "label": "Tipus" + }, "information": { "label": "Tipus" }, @@ -1810,6 +1866,9 @@ "label": "Límit de velocitat", "placeholder": "40, 50, 60..." }, + "maxspeed/advisory": { + "placeholder": "40, 50, 60..." + }, "maxstay": { "label": "Estada màxima" }, @@ -2376,6 +2435,16 @@ "label": "Tipus", "placeholder": "Predeterminat" }, + "usage_rail": { + "label": "Tipus d'ús", + "options": { + "industrial": "Industrial", + "military": "Militar" + } + }, + "vending": { + "label": "Tipus de mercaderies" + }, "visibility": { "label": "Visibilitat", "options": { @@ -2466,6 +2535,9 @@ "name": "Taulell", "terms": "Cartellera" }, + "advertising/column": { + "terms": "Columna publicitària, publicitat, cartell, propaganda" + }, "aerialway": { "name": "Transport per cable" }, @@ -2477,12 +2549,19 @@ "name": "Telecadira", "terms": "Telecadira" }, + "aerialway/drag_lift": { + "terms": "elevador, remunta pendents, telesquí, esquí, lliscant, snowboarder" + }, "aerialway/gondola": { "name": "Telecabina", "terms": "Góndola" }, + "aerialway/goods": { + "terms": "producte, mercaderia, article, càrrega, material" + }, "aerialway/magic_carpet": { - "name": "Cinta remuntadora" + "name": "Cinta remuntadora", + "terms": "catifa màgica, catifa rodant, cinta transportadora" }, "aerialway/platter": { "name": "Teleesquí individual" @@ -2557,8 +2636,8 @@ "terms": "Banc, Institució financera, sucursal bancària," }, "amenity/bar": { - "name": "Bar", - "terms": "Bar, Local d'oci nocturn, Bar Musical, Local d'oci " + "name": "Bar de copes", + "terms": "Bar de copes, Local d'oci nocturn, Bar Musical, Local d'oci " }, "amenity/bbq": { "name": "Barbacoa/graella" @@ -2805,8 +2884,8 @@ "name": "Terrenys de presó" }, "amenity/pub": { - "name": "Pub", - "terms": "Bar, Bar Musical, Pub, Local de copes, Local d'oci nocturn, Bareto" + "name": "Bar", + "terms": "Bar, Pub, Granja, Local d'oci nocturn, Bareto" }, "amenity/public_bath": { "name": "Banys públic", @@ -3612,6 +3691,9 @@ "name": "Ruïnes", "terms": "Ruines" }, + "historic/tomb": { + "name": "Tomba" + }, "historic/wayside_cross": { "name": "Creu Cristiana", "terms": "Calvari,Encreuament del camí" @@ -3668,6 +3750,9 @@ "landuse/industrial": { "name": "Zona Industrial" }, + "landuse/industrial/slaughterhouse": { + "name": "Escorxador" + }, "landuse/landfill": { "name": "Abocador" }, @@ -3678,6 +3763,12 @@ "landuse/military": { "name": "Zona Militar" }, + "landuse/military/airfield": { + "name": "Aeròdrom militar" + }, + "landuse/military/barracks": { + "name": "Caserna militar" + }, "landuse/military/bunker": { "name": "Búnquer militar" }, @@ -3687,6 +3778,9 @@ "landuse/military/naval_base": { "name": "Base naval" }, + "landuse/military/obstacle_course": { + "name": "Cursa d'obstacles" + }, "landuse/military/office": { "name": "Oficina militar" }, @@ -3713,6 +3807,9 @@ "landuse/recreation_ground": { "name": "Terrenys per al Lleure" }, + "landuse/religious": { + "name": "Àrea religiosa" + }, "landuse/residential": { "name": "Zona Residencial" }, @@ -3990,6 +4087,9 @@ "natural/saddle": { "name": "Seient" }, + "natural/sand": { + "name": "Sorra" + }, "natural/scree": { "name": "Tartera" }, @@ -4038,9 +4138,27 @@ "name": "Oficines", "terms": "Oficina, Oficines" }, + "office/accountant": { + "name": "Oficina comptable" + }, "office/administrative": { "name": "Oficina de tràmits locals" }, + "office/adoption_agency": { + "name": "Agència d'adopció" + }, + "office/advertising_agency": { + "name": "Agència de publicitat" + }, + "office/architect": { + "name": "Oficina d'arquitectura" + }, + "office/association": { + "name": "Oficina d'organització no governamental" + }, + "office/company": { + "name": "Oficina corporativa" + }, "office/coworking": { "name": "Espai de coworking" }, @@ -4074,6 +4192,9 @@ "office/ngo": { "name": "Oficina d'ONG" }, + "office/notary": { + "name": "Notaria" + }, "office/physician": { "name": "Metge" }, @@ -4087,6 +4208,9 @@ "office/telecommunication": { "name": "Oficina de telecomunicacions" }, + "office/therapist": { + "name": "Oficina de terapeuta" + }, "office/travel_agent": { "name": "Agència de viatges" }, @@ -4119,12 +4243,18 @@ "place/neighbourhood": { "name": "Barri" }, + "place/square": { + "name": "Plaça" + }, "place/town": { "name": "Ciutat" }, "place/village": { "name": "Poble" }, + "playground/structure": { + "name": "Estructura de jocs" + }, "point": { "name": "Punt", "terms": "Punt" @@ -4135,6 +4265,9 @@ "power/generator": { "name": "Generador elèctric" }, + "power/generator/source_nuclear": { + "name": "Reactor nuclear" + }, "power/line": { "name": "Línia elèctrica" }, @@ -4159,6 +4292,15 @@ "name": "Transformador", "terms": "Transformador" }, + "public_transport/linear_platform_bus": { + "name": "Plataforma de parada bus" + }, + "public_transport/station_bus": { + "name": "Estació d'autobusos" + }, + "public_transport/station_train": { + "name": "Estació de ferrocarril" + }, "railway": { "name": "Ferrocarril" }, @@ -4188,6 +4330,9 @@ "railway/rail": { "name": "Via fèrria" }, + "railway/station": { + "name": "Estació de ferrocarril" + }, "railway/subway": { "name": "Metro", "terms": "Metro, Transport metropolità" @@ -4775,6 +4920,9 @@ "type/site": { "name": "Lloc" }, + "type/waterway": { + "name": "Curs d'aigua" + }, "vertex": { "name": "Altres", "terms": "Altre, Altres" @@ -4850,6 +4998,7 @@ "attribution": { "text": "Termes i comentaris" }, + "description": "Límits de les imatges i dates de captura. Les etiquetes apareixen al nivell de zoom 13 i superiors.", "name": "Imatges de DigitalGlobe Premium Vintage" }, "DigitalGlobe-Standard": { @@ -4863,6 +5012,7 @@ "attribution": { "text": "Termes i comentaris" }, + "description": "Límits de les imatges i dates de captura. Les etiquetes apareixen al nivell de zoom 13 i superiors.", "name": "Imatges de DigitalGlobe estàndard Vintage" }, "EsriWorldImagery": { @@ -4946,6 +5096,9 @@ "description": "Groc = Dades de mapa del domini públic del US Census. Vermell = No es troben dades a OpenStreetMap", "name": "Carreteres TIGER 2017" }, + "US_Forest_Service_roads_overlay": { + "name": "Capa superposada dels Camins Forestals dels EUA" + }, "Waymarked_Trails-Cycling": { "attribution": { "text": "© waymarkedtrails.org, OpenStreetMap contribuïdors, CC by-SA 3.0" @@ -5041,6 +5194,9 @@ "name": "skobbler" }, "stamen-terrain-background": { + "attribution": { + "text": "Quadrícula de mapes de Stamen Design, sota CC BY 3.0. Dades d'OpenStreetMap, sota ODbL" + }, "name": "Stamen Terrain" }, "tf-cycle": { @@ -5060,6 +5216,9 @@ "OSM-India-facebook": { "description": "Millora OpenStreetMap a l'Índia" }, + "OSM-india-twitter": { + "name": "Twitter de l'Índia d'OpenStreetMap" + }, "OSM-japan-facebook": { "name": "Comunitat de Japó d'OpenStreetMap", "description": "Mapador i usuari d'OpenStreetMap a Japó" diff --git a/vendor/assets/iD/iD/locales/cs.json b/vendor/assets/iD/iD/locales/cs.json index f62575ebc..a74492467 100644 --- a/vendor/assets/iD/iD/locales/cs.json +++ b/vendor/assets/iD/iD/locales/cs.json @@ -2020,6 +2020,7 @@ "placeholder": "1, 2, 3…" }, "phone": { + "label": "Telefon", "placeholder": "+420 603 123456" }, "piste/difficulty": { @@ -2999,7 +3000,7 @@ }, "amenity/telephone": { "name": "Telefon", - "terms": "telefon" + "terms": "telefon,telefonní budka,veřejný telefon,veřejná telefonní stanice" }, "amenity/theatre": { "name": "Divadlo", @@ -3602,6 +3603,10 @@ "name": "Přechod pro chodce", "terms": "přechod pro chodce,zebra,přechod,přechod pro pěší" }, + "footway/crossing-raised": { + "name": "Zvýšený přechod pro chodce", + "terms": "zpomalovací stůl s přechodem,rychlostní stůl s přechodem" + }, "footway/crosswalk": { "name": "Přechod pro chodce typu zebra", "terms": "přechod pro chodce,zebra,přechod,přechod pro pěší" @@ -5509,7 +5514,8 @@ "terms": "opticko-akustická brzda,spotflex,zpomalovací práh,optická brzda,akustická brzda" }, "traffic_calming/table": { - "name": "Rychlostní cedule" + "name": "Zvýšená plocha pro zpomalení", + "terms": "zpomalovací stůl,rychlostní stůl" }, "type/boundary": { "name": "Hranice", diff --git a/vendor/assets/iD/iD/locales/da.json b/vendor/assets/iD/iD/locales/da.json index fae66d541..4c0f15a08 100644 --- a/vendor/assets/iD/iD/locales/da.json +++ b/vendor/assets/iD/iD/locales/da.json @@ -1269,7 +1269,7 @@ "options": { "designated": { "description": "Adgang tilladt ifølge trafikskilte eller lokale bestemmelser", - "title": "Udpeget til netop dette formÃ¥l" + "title": "Bestemt netop til dette formÃ¥l" }, "destination": { "description": "Ærindekørsel tilladt", @@ -1825,6 +1825,13 @@ "label": "Kurve", "placeholder": "1, 2, 4..." }, + "horse_dressage": { + "label": "Dressurridning", + "options": { + "equestrian": "Ja", + "undefined": "Nej" + } + }, "iata": { "label": "IATA" }, @@ -1963,6 +1970,9 @@ "label": "Hastighedsbegrænsning", "placeholder": "40, 50, 60..." }, + "maxspeed/advisory": { + "label": "Anbefalet fartgrænse" + }, "maxstay": { "label": "Max tid" }, @@ -2113,6 +2123,7 @@ "placeholder": "1, 2, 3..." }, "phone": { + "label": "Telefon", "placeholder": "+31 42 123 4567" }, "piste/difficulty": { @@ -2190,6 +2201,9 @@ "railway": { "label": "Type" }, + "railway/position": { + "placeholder": "Afstand med en decimal (123.4)" + }, "railway/signal/direction": { "label": "Retning", "options": { @@ -2304,7 +2318,7 @@ "label": "Servicetid" }, "shelter": { - "label": "Shelter" + "label": "Venteskur" }, "shelter_type": { "label": "Type" @@ -2612,6 +2626,9 @@ "name": "Reklameskilt", "terms": "Reklameskilt, Gadeopslagstavle" }, + "advertising/column": { + "name": "Reklamesøjle" + }, "aerialway": { "name": "Skiliftbane" }, @@ -2714,7 +2731,7 @@ }, "amenity/animal_shelter": { "name": "Dyrehjem", - "terms": "Dyrepension, Dyrehjem" + "terms": "Dyrepension, Hundepension, Hestepension, Dyrehjem" }, "amenity/arts_centre": { "name": "Kunstcenter", @@ -3067,8 +3084,8 @@ "name": "Skrotplads" }, "amenity/shelter": { - "name": "Shelter", - "terms": "Shelter, læskur" + "name": "Skur", + "terms": "Shelter, Bivuak" }, "amenity/shower": { "name": "Brusebad", @@ -3091,8 +3108,8 @@ "terms": "Plejehjem, Alderdomshjem" }, "amenity/social_facility/homeless_shelter": { - "name": "Hjemløseskur", - "terms": "Hjemløseskur" + "name": "Hjemløseherberg", + "terms": "Hjemløs" }, "amenity/social_facility/nursing_home": { "name": "Plejehjem", @@ -3137,6 +3154,9 @@ "name": "Cigaretautomat", "terms": "Cigaretautomat, Tobaksautomat" }, + "amenity/vending_machine/coffee": { + "name": "Kaffeautomat" + }, "amenity/vending_machine/condoms": { "name": "Kondomautomat", "terms": "Kondomautomat" @@ -3238,6 +3258,9 @@ "name": "Forlystelse i mørke", "terms": "spøgelsestog" }, + "attraction/maze": { + "name": "Labyrint" + }, "attraction/pirate_ship": { "name": "Piratskib", "terms": "sørøver" @@ -3339,6 +3362,9 @@ "name": "Lade", "terms": "Lade, Stald" }, + "building/boathouse": { + "name": "BÃ¥dehus" + }, "building/bunker": { "name": "Bunker" }, @@ -3886,6 +3912,9 @@ "name": "Motorvejsafkørsel", "terms": "Motorvejsafkørsel" }, + "highway/passing_place": { + "name": "Vigested" + }, "highway/path": { "name": "Sti", "terms": "Sti" @@ -4433,6 +4462,10 @@ "name": "Skorsten", "terms": "Skorsten" }, + "man_made/clearcut": { + "name": "Rydning", + "terms": "Ryddet skov" + }, "man_made/crane": { "name": "Kran", "terms": "kran, løft, grej" @@ -4599,6 +4632,9 @@ "name": "Højdedrag", "terms": "Højdedrag, Bakketop, Bjergtop" }, + "natural/reef": { + "name": "Rev" + }, "natural/ridge": { "name": "Højderyg", "terms": "Højderyg, Bjergryg, Bjergkam, Bakkekam" @@ -4769,6 +4805,9 @@ "name": "Ø", "terms": "Ø" }, + "place/islet": { + "name": "Holm" + }, "place/isolated_dwelling": { "name": "Lille beboet omrÃ¥de (1-2 hustande)", "terms": "Lille beboet omrÃ¥de (1-2 hustande)" @@ -4781,6 +4820,9 @@ "name": "Nabolag", "terms": "Nabolag" }, + "place/plot": { + "name": "Matrikel" + }, "place/quarter": { "name": "Nabolag / Kvarter", "terms": "Nabolag / Kvarter" @@ -4801,6 +4843,15 @@ "name": "Landsby", "terms": "Landsby" }, + "playground/cushion": { + "name": "Hoppepude" + }, + "playground/sandpit": { + "name": "Sandkasse" + }, + "playground/swing": { + "name": "Gynge" + }, "point": { "name": "Punkt", "terms": "Punkt" @@ -4883,6 +4934,9 @@ "railway/milestone": { "name": "Jernbanemilepæl" }, + "railway/miniature": { + "name": "Miniaturejernbane" + }, "railway/monorail": { "name": "Monorail", "terms": "Monorail" @@ -4976,7 +5030,7 @@ "terms": "Neglesalon" }, "shop/beauty/tanning": { - "name": "Hudklinik", + "name": "Solcenter", "terms": "Hudklinik" }, "shop/bed": { @@ -5436,6 +5490,9 @@ "name": "Autocamperplads", "terms": "Autocamperplads" }, + "tourism/chalet": { + "name": "Feriehus" + }, "tourism/gallery": { "name": "Kunstgalleri", "terms": "Kunstgalleri, Galleri" @@ -5492,6 +5549,9 @@ "name": "Udsigtspunkt", "terms": "Udsigtspunkt" }, + "tourism/wilderness_hut": { + "name": "Vildmarkshytte" + }, "tourism/zoo": { "name": "Zoologisk have", "terms": "Zoologisk have, Zoo" @@ -5566,6 +5626,15 @@ "name": "Ingen U-vending", "terms": "Ingen U-vending" }, + "type/restriction/only_left_turn": { + "name": "Kun venstresving" + }, + "type/restriction/only_right_turn": { + "name": "Kun højresving" + }, + "type/restriction/only_straight_on": { + "name": "Kun lige ud" + }, "type/route": { "name": "Rute", "terms": "Rute" @@ -5915,6 +5984,43 @@ }, "name": "Thunderforest Landskab" } + }, + "community": { + "dk-forum": { + "name": "Dansk OpenStreetMap online forum" + }, + "dk-irc": { + "name": "Dansk OpenStreetMap IRC-kanal" + }, + "dk-mailinglist": { + "description": "En email-liste hvor OpenStreetMap i Danmark diskuteres" + }, + "OSM-Facebook": { + "name": "OpenStreetMap pÃ¥ Facebook", + "description": "Like os pÃ¥ Facebook for nyheder og opdateringer om OpenStreetMap." + }, + "OSM-help": { + "name": "OpenStreetMap Hjælp", + "description": "Stil et spørgsmÃ¥l og fÃ¥ svar pÃ¥ OSM's fællesskabs-drevne spørgsmÃ¥l- og svar side.", + "extendedDescription": "{url} er for alle der har brug for hjælp med OpenStreetMap. Hvad enten du er en begynder eller har et teknisk spørgsmÃ¥l, er vi her for at hjælpe!" + }, + "OSM-Reddit": { + "name": "OpenStreetMap pÃ¥ Reddit", + "description": "/r/openstreetmap/ er et godt sted at lære mere om OpenStreetMap. Spørg os om alt!" + }, + "OSM-Twitter": { + "description": "Følg os pÃ¥ Twitter pÃ¥ {url}" + }, + "OSMF": { + "description": "OSMF er en UK-baseret non-profit organisation der støtter OpenStreetMap projektet", + "extendedDescription": "OSMF støtter OpenStreetMap ved at rejse penge, vedligeholde serverne der driver OSM, organisere den Ã¥rlige State of the Map konference, og koordinere de frivillige der holder OSM kørende. Du kan vise din støtte og have en stemme i forhold til OpenStreetMaps retning ved at melde dig som OSMF medlem her: {signupUrl}", + "events": { + "sotm2018": { + "description": "Deltag 3 dage i Milano, Italien pÃ¥ den Ã¥rlige internationale OpenStreetMap konference, der bringer alle i fællesskabet sammen for at socialisere, dele og lære.", + "where": "Milano, Italien" + } + } + } } } } \ No newline at end of file diff --git a/vendor/assets/iD/iD/locales/de.json b/vendor/assets/iD/iD/locales/de.json index 25b9f69c4..a21e89883 100644 --- a/vendor/assets/iD/iD/locales/de.json +++ b/vendor/assets/iD/iD/locales/de.json @@ -148,7 +148,7 @@ "annotation": { "point": "Weg mit einem Punkt verbunden.", "vertex": "Weg mit einem anderem Weg verbunden.", - "line": "Weg mit einer Linie / einer Fläche verbunden.", + "line": "Weg mit einer Linie / Fläche verbunden.", "area": "Weg mit einer Fläche verbunden." }, "relation": "Diese Objekte können nicht verbunden werden, weil sich Ihre Relations-Rollen widersprechen.", @@ -1335,7 +1335,7 @@ "name": "Gebäude" }, "category-golf": { - "name": "Golfplatz Merkmale" + "name": "Golfplatz" }, "category-landuse": { "name": "Flächennutzung" @@ -1985,10 +1985,10 @@ "label": "ICAO" }, "incline": { - "label": "Steigung" + "label": "Neigung" }, "incline_steps": { - "label": "Steigung", + "label": "Neigung", "options": { "down": "Hinunter", "up": "Hinauf" @@ -2163,11 +2163,11 @@ "mtb/scale/uphill": { "label": "Mountainbike-Schwierigkeitsgrad bergauf", "options": { - "0": "0: Durchschnittliche Steigung <10%, Kies/verdichtete Erde, keine Hindernisse", - "1": "1: Durchschnittliche Steigung <15%, Kies/verdichtete Erde, wenige kleine Hindernisse", - "2": "2: Durchschnittliche Steigung <20%, stabile Oberfläche, faustgroße Steine/Wurzeln", - "3": "3: Durchschnittliche Steigung <25%, variable Oberfläche, faustgroße Steine/Äste", - "4": "4: Durchschnittliche Steigung <30%, schlechter Zustand, große Steine/Äste. Rad muss meist geschoben oder getragen werden.", + "0": "0: Durchschnittliche Neigung <10%, Kies/verdichtete Erde, keine Hindernisse", + "1": "1: Durchschnittliche Neigung <15%, Kies/verdichtete Erde, wenige kleine Hindernisse", + "2": "2: Durchschnittliche Neigung <20%, stabile Oberfläche, faustgroße Steine/Wurzeln", + "3": "3: Durchschnittliche Neigung <25%, variable Oberfläche, faustgroße Steine/Äste", + "4": "4: Durchschnittliche Neigung <30%, schlechter Zustand, große Steine/Äste. Rad muss meist geschoben oder getragen werden.", "5": "5: Sehr steil, Mountainbike muss generell geschoben oder getragen werden" }, "placeholder": "0, 1, 2, 3, 4, 5" @@ -3996,6 +3996,10 @@ "emergency/destination": { "name": "Notzufahrt ohne Notdurchfahrt" }, + "emergency/fire_extinguisher": { + "name": "Feuerlöscher", + "terms": "Feuerlöscher, Feuerlöschapparat, Löschgerät, Feuerlöschgerät" + }, "emergency/fire_hydrant": { "name": "Hydrant", "terms": "Hydrant,Löschwasserentnahmestelle" @@ -4566,8 +4570,8 @@ "terms": "Gelände mit religiöser Nutzung" }, "landuse/residential": { - "name": "Siedlungsraum", - "terms": "Wohngebiet, Wohngegend, Wohnregion, Siedlungsfläche, Ortslage" + "name": "Wohngebiet", + "terms": "Wohngebiet, Wohngegend, Wohnregion, Siedlungsfläche, Ortslage, Siedlungsraum" }, "landuse/retail": { "name": "Einzelhandel", @@ -4597,6 +4601,10 @@ "name": "Vogelbeobachtungsturm", "terms": "Vogelbeobachtungsturm, Vogelbeobachtungshütte" }, + "leisure/bleachers": { + "name": "Haupttribüne", + "terms": "Haupttribüne, Ehrentribüne" + }, "leisure/bowling_alley": { "name": "Bowlingbahn", "terms": "Bowlingbahn, Kegelbahn" @@ -6024,6 +6032,10 @@ "name": "Motorradhändler", "terms": "Motorrad-Handlung, Motorradladen" }, + "shop/motorcycle_repair": { + "name": "Motorrad Reperaturwerkstätte", + "terms": "Motorrad Reperaturwerkstatt, Motorrad Reperaturbetrieb" + }, "shop/music": { "name": "Musikgeschäft", "terms": "Musikladen, Musikgeschäft" @@ -6930,6 +6942,10 @@ "description": "Unregelmässiges Treffen der OpenStreetMap Gemeinschaft in Chiang Mai", "extendedDescription": "Mitgieder der OpenStreetMap treffen sich alle paar Monate in Chiang Mai. Nimm Kontakt auch und lies bei {url} um zu sehen wann das nächste Treffen stattfindet." }, + "OSM-TH-facebook": { + "name": "OpenStreetMap TH Facebook Gruppe", + "description": "Facebook Gruppe für OpenStreetMapper in Thailand" + }, "OSM-TH-forum": { "name": "OpenStreetMap TH forum", "description": "OpenStreetMap Thailand Web Forum" @@ -7011,8 +7027,20 @@ "name": "OpenStreetMap Belgien Twitter", "description": "OSM Belgien auf Twitter: @osm_be" }, + "czech-community": { + "name": "Tschechische OSM community", + "description": "Mapping Portal, website und Kontaktdaten der OSM Mitglieder in Tschechien" + }, + "osmcz-facebook": { + "name": "OpenStreetMap CZ auf Facebook", + "description": "Folge der tschechischen Gemeinschaft auf Facebook - inklusive übersetztem WeeklyOSM!" + }, + "osmcz-twitter": { + "name": "Tschechischer Twitter @osmcz", + "description": "Folge der tschechischen Gemeinschaft auf Twitter - inklusive übersetztem WeeklyOSM!" + }, "talk-cz-mailinglist": { - "name": "Talk-cz Mailingliste", + "name": "Tschechische Mailing Liste (talk-cz)", "description": "Talk-cz is die offizielle Mailingliste for the tschechische OSM-Gemeinschaft" }, "dk-forum": { @@ -7091,6 +7119,10 @@ "name": "OWL Mailing Liste", "description": "Das ist die Mailing Liste für die Ostwestfalen-Lippe OSM Gemeinschaft" }, + "de-telegram": { + "name": "OpenStreetMap Deutschland Telegram", + "description": "Beteilige dich an der OpenStreetMap Deutschland Telegram Supergruppe auf {url}" + }, "osm-de": { "name": "OpenStreetMap Deutschland", "description": "Die Plattform für Informationen über OpenStreetMap in Deutschland" @@ -7513,6 +7545,10 @@ "name": "OpenStreetMap in Reddit", "description": "/r/openstreetmap/ ist ein großartiger Ort um mehr über OpenStreetMap zu lernen. Du kannst jede Frage stellen!" }, + "OSM-Telegram": { + "name": "OpenStreetMap Telegram", + "description": "Beteilige dich an der globalen OpenStreetMap Telegram Supergruppe auf {url}" + }, "OSM-Twitter": { "name": "OpenStreetMap Twitter", "description": "Folge uns auf Twitter unter {url}" diff --git a/vendor/assets/iD/iD/locales/el.json b/vendor/assets/iD/iD/locales/el.json index 5455619f1..98f63fa48 100644 --- a/vendor/assets/iD/iD/locales/el.json +++ b/vendor/assets/iD/iD/locales/el.json @@ -797,6 +797,10 @@ "maintain_relation_h": "Διατήρηση Σχέσεων", "maintain_relation": "Ως επί το πλείστον, το iD θα διατηρεί αυτόματα τις σχέσεις καθώς τις επεξεργάζεστε. Θα πρέπει να προσέχετε όταν αντικαθιστάτε χαρακτηριστικά που μπορεί να είναι μέλη των σχέσεων. Για παράδειγμα, αν διαγράψετε ένα τμήμα δρόμου και σχεδιάσετε ένα νέο τμήμα δρόμου για να το αντικαταστήσετε, θα πρέπει να προσθέσετε το νέο τμήμα στις ίδιες σχέσεις (διαδρομές, περιορισμούς στροφής κ.λπ.) όπως το πρωτότυπο.", "relation_types_h": "Τύποι Σχέσεων", + "multipolygon_h": "Πολυπολύγωνα", + "multipolygon": "Η σχέση *πολυπολυγώνων* είναι μια ομάδα από ένα ή περισσότερα *εξωτερικά* χαρακτηριστικά και ένα ή περισσότερα εσωτερικά χαρακτηριστικά. Τα εξωτερικά χαρακτηριστικά ορίζουν τις εξωτερικές άκρες του πολυπολυγώνου και τα εσωτερικά χαρακτηριστικά ορίζουν τις υποπεριοχές ή τις οπές που κόβονται από το εσωτερικό του πολυπολυγώνου .", + "multipolygon_create": "Για να δημιουργήσετε ένα πολυπολύγωνο, για παράδειγμα ένα κτίριο με μια τρύπα σε αυτό, σχεδιάστε την εξωτερική άκρη ως μία περιοχή και την εσωτερική άκρη ως μία γραμμή διαφορετικής περιοχής. Στη συνέχεια, πατήστε το `{shift}`+{leftclick} αριστερό κλικ για να επιλέξετε και τα δύο χαρακτηριστικά, και {rightclick} κάντε δεξί κλικ για να εμφανίσετε το μενού επεξεργασίας και επιλέξτε την εντολή {συγχώνευση} **Συγχώνευση**.", + "multipolygon_merge": "Η συγχώνευση διαφόρων γραμμών ή περιοχών θα δημιουργήσει μια νέα σχέση πολυπολύγωνων με όλες τις επιλεγμένες περιοχές ως μέλη. Το iD θα επιλέξει αυτόματα τους εσωτερικούς και εξωτερικούς ρόλους, βάσει των χαρακτηριστικών που περιέχονται μέσα σε άλλα χαρακτηριστικά.", "turn_restriction_h": "Περιορισμοί Στροφών", "turn_restriction_field": "Για να επεξεργαστείτε τους περιορισμούς στροφής, επιλέξτε έναν κόμβο διασταύρωσης όπου συναντώνται δύο ή περισσότεροι δρόμοι. Ο επεξεργαστής χαρακτηριστικών θα εμφανίσει ένα ειδικό πεδίο \"Περιορισμοί Στροφής\" που περιέχει ένα μοντέλο της διασταύρωσης.", "route_h": "Δρομολόγια", @@ -852,7 +856,8 @@ }, "tips": { "title": "Συμβουλές", - "simple": "**Προτιμήστε απλούς περιορισμούς περισσότερο από σύνθετους.**" + "simple": "**Προτιμήστε απλούς περιορισμούς περισσότερο από σύνθετους.**", + "indirect": "**Μερικοί περιορισμοί εμφανίζουν το κείμενο \"(έμμεσα)\" και είναι φωτεινότεροι. **" } } } @@ -887,6 +892,7 @@ "10th-avenue": "10η Λεωφόρος", "11th-avenue": "11η Λεωφόρος", "12th-avenue": "12η Λεωφόρος", + "access-point-employment": "Σημείο Εισόδου Εργαζόμενων", "adams-street": "Οδός Adams", "andrews-elementary-school": "Δημοτικό Σχολείο Andrews", "andrews-street": "Οδός Andrews", @@ -939,6 +945,7 @@ "points_lines_areas": "Τα χαρτογραφικά χαρακτηριστικά αντιπροσωπεύονται χρησιμοποιώντας *σημεία, γραμμές ή περιοχές.", "nodes_ways": "Στο OpenStreetMap, τα σημεία ονομάζονται μερικές φορές *κόμβοι*, και οι γραμμές και οι περιοχές καλούνται μερικές φορές *διαδρομές*.", "click_townhall": "Όλες τα χαρακτηριστικά του χάρτη μπορούν να επιλεγούν κάνοντας κλικ πάνω τους. **Κάντε κλικ στο σημείο για να το επιλέξετε.**", + "selected_townhall": "Εξαιρετικά! Το σημείο είναι τώρα επιλεγμένο. Τα επιλεγμένα χαρακτηριστικά είναι σχεδιασμένα με παλλόμενη λάμψη.", "editor_townhall": "Όταν ένα χαρακτηριστικό είναι επιλεγμένο, εμφανίζεται παράλληλα με τον χάρτη ο *επεξεργαστής χαρακτηριστικών*.", "preset_townhall": "Στο επάνω μέρος του επεξεργαστή χαρακτηριστικών εμφανίζεται το είδος των χαρακτηριστικών. Αυτό το σημείο είναι ένα {preset}.", "fields_townhall": "Το μεσαίο τμήμα του επεξεργαστή χαρακτηριστικών περιέχει *πεδία* που εμφανίζουν τις ιδιότητες του χαρακτηριστικού, όπως το όνομα και τη διεύθυνσή του.", @@ -946,6 +953,7 @@ "search_street": "Μπορείτε επίσης να ψάξετε για χαρακτηριστικά στην τρέχουσα προβολή ή παγκοσμίως. **Αναζήτηση για '{όνομα}'.**", "choose_street": "**Επιλέξτε {όνομα} από τη λίστα για να την διαλέξετε. **", "selected_street": "Εξαιρετικά! {όνομα} έχει τώρα επιλεγεί.", + "editor_street": "Τα πεδία που εμφανίζονται για έναν δρόμο είναι διαφορετικά από τα πεδία που εμφανίστηκαν για το δημαρχείο. {br} Για αυτόν τον επιλεγμένο δρόμο, ο επεξεργαστής χαρακτηριστικών εμφανίζει πεδία όπως το '{field1}' και το '{field2}'. **Κλείστε τον επεξεργαστή χαρακτηριστικών πατώντας το escape ή πατώντας το πλήκτρο {κουμπί}.**", "play": "Δοκιμάστε να μετακινήσετε τον χάρτη και κάνοντας κλικ σε κάποια άλλα χαρακτηριστικά για να δείτε τι είδους πράγματα μπορούν να προστεθούν στο OpenStreetMap. **Όταν είστε έτοιμοι να συνεχίσετε στο επόμενο κεφάλαιο, κάντε κλικ στο '{επόμενο}'.**" }, "points": { @@ -993,12 +1001,16 @@ "did_name_road": "Φαίνεται καλό! Στη συνέχεια θα μάθουμε πώς να ενημερώσουμε το σχήμα μιας γραμμής.", "update_line": "Μερικές φορές θα χρειαστεί να αλλάξετε το σχήμα μιας υπάρχουσας γραμμής. Εδώ είναι ένας δρόμος που δεν φαίνεται σωστός.", "add_node": "Μπορούμε να προσθέσουμε μερικούς κόμβους σε αυτή τη γραμμή για να βελτιώσουμε το σχήμα της. Ένας τρόπος για να προσθέσετε έναν κόμβο είναι να κάνετε διπλό κλικ στη γραμμή εκεί όπου θέλετε να προσθέσετε έναν κόμβο. **Κάντε διπλό κλικ στη γραμμή για να δημιουργήσετε έναν νέο κόμβο.**", + "start_drag_endpoint": "Όταν επιλεγεί μια γραμμή, μπορείτε να σύρετε οποιονδήποτε από τους κόμβους της κάνοντας κλικ και κρατώντας πατημένο το αριστερό κουμπί του ποντικιού ενώ σύρετε. **Σύρετε το τελικό σημείο στον τόπο όπου πρέπει να διασταυρώνονται.**", "finish_drag_endpoint": "Αυτό το σημείο φαίνεται καλό. **Αφήστε το αριστερό πλήκτρο του ποντικιού για να ολοκληρώσετε τη μεταφορά.**", "start_drag_midpoint": "Μικρά τρίγωνα σχεδιάζονται στην *μέση* μεταξύ των κόμβων. Ένας άλλος τρόπος για να δημιουργήσετε ένα νέο κόμβο είναι να σύρετε ένα μεσαίο σημείο σε μια νέα θέση. **Σύρετε το τρίγωνο του μεσαίου σημείου για να δημιουργήσετε έναν νέο κόμβο κατά μήκος της καμπύλης του δρόμου.**", "continue_drag_midpoint": "Αυτή η γραμμή φαίνεται πολύ καλύτερη! Συνεχίστε να προσαρμόζετε αυτή τη γραμμή κάνοντας διπλό κλικ ή σύροντας τα μεσαία σημεία μέχρι η καμπύλη να ταιριάζει με το σχήμα του δρόμου. **Όταν είστε ικανοποιημένοι με το πώς φαίνεται η γραμμή, κάντε κλικ στο OK.**", "delete_lines": "Είναι εντάξει να διαγράψετε γραμμές για δρόμους που δεν υπάρχουν στον πραγματικό κόσμο. {Br} Εδώ είναι ένα παράδειγμα όπου η πόλη σχεδίαζε ένα {δρόμο} αλλά ποτέ δεν το κατασκεύασε. Μπορούμε να βελτιώσουμε αυτό το τμήμα του χάρτη διαγράφοντας τις επιπλέον γραμμές.", + "rightclick_intersection": "Ο τελευταίος πραγματικός δρόμος είναι ο {street1}, οπότε θα χωρίσουμε το {street2} σε αυτή τη διασταύρωση και θα αφαιρέσουμε τα πάντα πάνω από αυτό. **Κάντε δεξί κλικ στον κόμβο διασταύρωσης.**", "split_intersection": "**Κάντε κλικ στο κουμπί {κουμπί} για να διαχωρίσετε τον {δρόμο}.**", "retry_split": "Δεν κάνατε κλικ στο κουμπί Διαχωρισμού. Προσπάθησε ξανά.", + "did_split_multi": "Καλή δουλειά! Το {street1} χωρίζεται τώρα σε δύο κομμάτια. Το άνω μέρος μπορεί να αφαιρεθεί. **Κάντε κλικ στο επάνω μέρος του {street2} για να το επιλέξετε.**", + "did_split_single": "**Κάντε κλικ στο επάνω μέρος του {street2} για να το επιλέξετε.**", "multi_rightclick": "Ωραία! Και οι δύο γραμμές που θέλετε να διαγράψετε έχουν τώρα επιλεγεί. **Κάντε δεξί κλικ σε μία από τις γραμμές για να εμφανιστεί το μενού επεξεργασίας.**", "multi_delete": "**Κάντε κλικ στο κουμπί {κουμπί} για να διαγράψετε τις επιπλέον γραμμές.**", "retry_delete": "Δεν κάνατε κλικ στο κουμπί Διαγραφή. Δοκιμάστε πάλι.", @@ -1042,7 +1054,8 @@ "key": "?" }, "key": { - "alt": "Alt" + "alt": "Alt", + "option": "Επιλογή" }, "or": "-ή-", "browsing": { @@ -1063,7 +1076,8 @@ "background": "Εμφάνιση επιλογών φόντου", "background_switch": "Επαναφορά στο τελευταίο φόντο", "map_data": "Εμφάνιση επιλογών δεδομένων χάρτη", - "fullscreen": "Μπείτε στη λειτουργία πλήρους οθόνης" + "fullscreen": "Μπείτε στη λειτουργία πλήρους οθόνης", + "minimap": "Εναλλαγή του μίνι χάρτη" }, "selecting": { "title": "Επιλογή χαρακτηριστικών", @@ -1073,7 +1087,8 @@ "search": "Βρείτε χαρακτηριστικά που ταιριάζουν με το κείμενο αναζήτησης" }, "with_selected": { - "title": "Με το επιλεγμένο χαρακτηριστικό" + "title": "Με το επιλεγμένο χαρακτηριστικό", + "edit_menu": "Εναλλαγή μενού επεξεργασίας" }, "vertex_selected": { "title": "Με τον επιλεγμένο κόμβο", @@ -1118,10 +1133,37 @@ "tools": { "title": "Εργαλεία", "info": { - "title": "Πληροφορίες" + "title": "Πληροφορίες", + "all": "Εναλλαγή όλων των πινάκων πληροφοριών", + "background": "Εναλλαγή του πίνακα φόντου", + "history": "Εναλλαγή του πίνακα ιστορικού", + "location": "Εναλλαγή του πίνακα τοποθεσίας", + "measurement": "Εναλλαγή του πίνακα μέτρησης" } } }, + "units": { + "feet": "{ποσότητα} ft", + "miles": "{ποσότητα} mi", + "square_feet": "{ποσότητα} sq ft", + "square_miles": "{ποσότητα} sq mi", + "acres": "{ποσότητα} ac", + "meters": "{ποσότητα} km", + "kilometers": "{ποσότητα} km", + "square_meters": "{ποσότητα} m²", + "square_kilometers": "{ποσότητα} km²", + "hectares": "{ποσότητα} ha", + "area_pair": "{περιοχή1} ({περιοχή2})", + "arcdegrees": "{ποσότητα}°", + "arcminutes": "{ποσότητα}′", + "arcseconds": "{ποσότητα}″", + "north": "Β", + "south": "Ν", + "east": "Α", + "west": "Δ", + "coordinate": "{συντεταγμένες} {κατεύθυνση}", + "coordinate_pair": "{γεωγραφικό πλάτος}, {γεωγραφικό μήκος}" + }, "presets": { "categories": { "category-barrier": { @@ -1218,6 +1260,7 @@ "block_number": "Αριθμός Οικοδομικού Τετραγώνου", "block_number!jp": "Αριθμός Οικοδομικού Τετραγώνου", "city": "Πόλη", + "city!jp": "Πόλη/Κωμόπολη/Χωριό/Ειδικό Διαμέρισμα του Τόκιο", "city!vn": "Πόλη", "conscriptionnumber": "123", "country": "Χώρα", @@ -1238,7 +1281,8 @@ "quarter": "Συνοικία", "state": "Πολιτεία", "street": "Οδός", - "suburb": "Προάστιο" + "suburb": "Προάστιο", + "unit": "Μονάδα" } }, "admin_level": { @@ -1378,6 +1422,7 @@ "label": "Είδος" }, "cables": { + "label": "Καλώδια", "placeholder": "1, 2, 3..." }, "camera/direction": { @@ -1411,6 +1456,10 @@ "collection_times": { "label": "Ώρες Συλλογής" }, + "comment": { + "label": "Σχόλια Πακέτου Αλλαγών", + "placeholder": "Σύντομη περιγραφή των συνεισφορών σας (απαιτείται)" + }, "communication_multi": { "label": "Είδη Επικοινωνίας" }, @@ -1514,6 +1563,12 @@ "label": "Συσκευές", "placeholder": "1, 2, 3..." }, + "diaper": { + "label": "Διαθεσιμότητα Αλλαγής Πάνας" + }, + "direction": { + "label": "Κατεύθυνση (Μοίρες Δεξιόστροφα)" + }, "direction_cardinal": { "label": "Κατεύθυνση", "options": { @@ -1550,12 +1605,21 @@ "forward": "Εμπρός" } }, + "dispensing": { + "label": "Χορήγηση Συνταγών" + }, + "display": { + "label": "Εμφάνιση" + }, "distance": { "label": "Συνολική Απόσταση" }, "dock": { "label": "Είδος" }, + "drive_through": { + "label": "Οδήγηση Δια Μέσου" + }, "duration": { "label": "Διάρκεια", "placeholder": "00:00" @@ -1714,7 +1778,12 @@ "horse_scale": { "label": "Δυσκολία Ιππασίας", "options": { - "common": "Εύκολο: Δεν υπάρχουν προβλήματα ή δυσκολίες. (προκαθορισμένο)" + "common": "Εύκολο: Δεν υπάρχουν προβλήματα ή δυσκολίες. (προκαθορισμένο)", + "critical": "Σύνορο : Πέρασμα μόνο για έμπειρους αναβάτες και άλογα. Σημαντικά εμπόδια. Οι γέφυρες πρέπει να εξεταστούν προσεκτικά.", + "dangerous": "Επικίνδυνο: Πέρασμα μόνο για πολύ έμπειρους αναβάτες και άλογα και μόνο σε καλό καιρό. Αφιππεύστε.", + "demanding": "Χρησιμοποιήστε με προσοχή: Ανώμαλος δρόμος, περιστασιακά δύσκολα περάσματα.", + "difficult": "Δύσκολο: Ο δρόμος είναι στενός και εκτεθειμένος. Μπορεί να περιέχει εμπόδια για να περάσετε και τα στενά περάσματα.", + "impossible": "Αδιάβατο: Στον δρόμο ή και την γέφυρα δεν περνάνε τα άλογα. Πολύ στενά με ανεπαρκή υποστήριξη και εμπόδια όπως σκάλες. Κίνδυνος ζωής." }, "placeholder": "Δύσκολο, Επικίνδυνο ..." }, @@ -1874,9 +1943,18 @@ "memorial": { "label": "Είδος" }, + "monitoring_multi": { + "label": "Παρακολούθηση" + }, "mtb/scale": { "label": "Δυσκολία Ορεινής Ποδηλασίας", "options": { + "0": "0: Συμπαγές χαλίκι / συμπιεσμένο χώμα, χωρίς εμπόδια, ευρείες καμπύλες", + "1": "1: Μερικές χαλαρές επιφάνειες, μικρά εμπόδια, ευρείες καμπύλες", + "2": "2: Πολύ χαλαρή επιφάνεια, μεγάλα εμπόδια, εύκολες φουρκέτες", + "3": "3: Ολισθηρή επιφάνεια, μεγάλα εμπόδια, στενές φουρκέτες", + "4": "4: Χαλαρή επιφάνεια ή βράχια, επικίνδυνες φουρκέτες", + "5": "5: Μέγιστη δυσκολία, πεδία με βράχια, κατολισθήσεις", "6": "6: Αδιάβατο εκτός από πολύ έμπειρους ορεινούς ποδηλάτες" }, "placeholder": "0, 1, 2, 3..." @@ -1894,6 +1972,14 @@ }, "mtb/scale/uphill": { "label": "Δυσκολία Ανηφορικής Ορεινής Ποδηλασίας", + "options": { + "0": "0: Μέση κλίση <10%, χαλίκι/συμπιεσμένο χώμα, χωρίς εμπόδια", + "1": "1: Μέση κλίση <15%, χαλίκι/συμπιεσμένο χώμα, λίγα μικρά αντικείμενα", + "2": "2: Μέση κλίση <20%, σταθερή επιφάνεια, μικρές πέτρες/ρίζες", + "3": "3: Μέση κλίση <25%, ευμετάβλητη επιφάνεια, μικρές πέτρες/κλαδιά", + "4": "4: Μέση κλίση <30%, κακή κατάσταση, μεγάλες πέτρες/κλαδιά", + "5": "5: Πολύ απότομα, το ποδήλατο πρέπει γενικά να σπρωχθεί ή να μεταφερθεί" + }, "placeholder": "0, 1, 2, 3..." }, "name": { @@ -2010,7 +2096,12 @@ } }, "piste/type": { - "label": "Τύπος" + "label": "Τύπος", + "options": { + "hike": "Πεζοπορία", + "playground": "Παιδική Χαρά", + "snow_park": "Πάρκο Χιονιού" + } }, "place": { "label": "Είδος" @@ -2022,6 +2113,15 @@ "label": "Ισχύς Εξόδου", "placeholder": "500 MW, 1000 MW, 2000 MW..." }, + "playground/baby": { + "label": "Βρεφικό Κάθισμα" + }, + "playground/max_age": { + "label": "Μέγιστη Ηλικία" + }, + "playground/min_age": { + "label": "Ελάχιστη Ηλικία" + }, "population": { "label": "Πληθυσμός" }, @@ -2031,9 +2131,26 @@ "power_supply": { "label": "Παροχή ενέργειας" }, + "produce": { + "label": "Παραγωγή" + }, + "product": { + "label": "Προϊόντα" + }, "railway": { "label": "Είδος" }, + "railway/signal/direction": { + "label": "Κατεύθυνση", + "options": { + "backward": "Όπισθεν", + "both": "Και τα Δύο / Όλα", + "forward": "Μπροστά" + } + }, + "ref": { + "label": "Κώδικας Αναφοράς" + }, "ref_aeroway_gate": { "label": "Αριθμός Πύλης" }, @@ -2041,6 +2158,21 @@ "label": "Αριθμός Τρύπας", "placeholder": "1-18" }, + "ref_highway_junction": { + "label": "Αριθμός Διασταύρωσης" + }, + "ref_platform": { + "label": "Αριθμός Αποβάθρας" + }, + "ref_road_number": { + "label": "Αριθμός Δρόμου" + }, + "ref_route": { + "label": "Αριθμός Δρομολογίου" + }, + "ref_runway": { + "label": "Αριθμός Αεροδιαδρόμου" + }, "relation": { "label": "Είδος" }, @@ -2078,6 +2210,7 @@ "label": "Εποχιακή" }, "second_hand": { + "label": "Πώληση Μεταχειρισμένων", "options": { "no": "Όχι", "only": "Μόνο", @@ -2095,8 +2228,10 @@ "label": "Υπηρεσίες" }, "service_rail": { + "label": "Είδος Υπηρεσίας", "options": { - "crossover": "Σύνδεση Παραλλήλων Γραμμών" + "crossover": "Σύνδεση Παραλλήλων Γραμμών", + "yard": "Αυλή" } }, "service_times": { @@ -2117,6 +2252,7 @@ "smoking": { "label": "Κάπνισμα", "options": { + "dedicated": "Αφιερωμένο στους καπνιστές (π.χ. κλαμπ καπνιστών)", "isolated": "Σε περιοχές καπνίσματος φυσικά απομονωμένες", "no": "Απαγορεύεται το κάπνισμα οπουδήποτε", "outside": "Επιτρέπεται έξω", @@ -2126,11 +2262,21 @@ "placeholder": "Όχι, Ξεχωριστά, Ναι..." }, "smoothness": { - "label": "Ομαλότητα" + "label": "Ομαλότητα", + "options": { + "horrible": "Off-Road: βαρέα οχήματα εκτός δρόμου", + "impassable": "Αδιάβατο / Δεν επιτρέπονται τα τροχοφόρα οχήματα", + "intermediate": "Τροχοί: ποδήλατο πόλης, αναπηρικό καροτσάκι, σκούτερ", + "very_bad": "Μεγάλο καθάρισμα: ελαφριά οχήματα εκτός δρόμου", + "very_horrible": "Ειδικευμένο off-road: τρακτέρ, ATV" + } }, "social_facility": { "label": "Είδος" }, + "source": { + "label": "Πηγές" + }, "sport": { "label": "Αθλήματα" }, @@ -2155,7 +2301,8 @@ "stop": { "label": "Είδος Στοπ", "options": { - "all": "'Ολες οι Κατευθύνσεις" + "all": "'Ολες οι Κατευθύνσεις", + "minor": "Δευτερεύων Δρόμος" } }, "structure": { @@ -2169,6 +2316,13 @@ }, "placeholder": "Άγνωστο" }, + "structure_waterway": { + "label": "Κατασκευή", + "options": { + "tunnel": "Τούνελ" + }, + "placeholder": "Άγνωστο" + }, "studio": { "label": "Είδος" }, @@ -2184,6 +2338,9 @@ "surface": { "label": "Επιφάνεια" }, + "surveillance": { + "label": "Είδος Επιτήρησης" + }, "surveillance/type": { "label": "Είδος Επιτήρησης", "options": { @@ -2195,6 +2352,14 @@ "surveillance/zone": { "label": "Ζώνη Επιτήρησης" }, + "switch": { + "label": "Είδος", + "options": { + "circuit_breaker": "Διακόπτης", + "earthing": "Γείωση", + "mechanical": "Μηχανικός" + } + }, "takeaway": { "label": "Παραλαβή από το κατάστημα", "options": { @@ -2205,7 +2370,9 @@ "placeholder": "Ναι, Όχι, Μόνο Παραλαβή από το κατάστημα..." }, "toilets/disposal": { + "label": "Απόρριψη", "options": { + "bucket": "Κάδος", "chemical": "Χημική", "flush": "Καζανάκι", "pitlatrine": "Βόθρος" @@ -2220,14 +2387,28 @@ "tourism": { "label": "Τύπος" }, + "tourism_attraction": { + "label": "Τουρισμός" + }, + "tower/construction": { + "label": "Κατασκευή" + }, "tower/type": { "label": "Είδος" }, "tracktype": { + "label": "Είδος Διαδρομής", "options": { + "grade1": "Συμπαγής: στρωμένη ή βαριά συμπιεσμένη σκληρή επιφάνεια", + "grade2": "Σχεδόν συμπαγής: χαλίκι/βράχος αναμεμιγμένα με μερικά μαλακά υλικά", + "grade3": "Ακόμη και μείγμα σκληρών και μαλακών υλικών", "grade4": "Κυρίως μαλακό: χώμα/άμμος/γρασίδι αναμεμειγμένο με κάποια σκληρά υλικά", "grade5": "Μαλακό: χώμα/άμμος/γρασίδι" - } + }, + "placeholder": "Συμπαγές, Κυρίως Συμπαγές, Μαλακό ..." + }, + "trade": { + "label": "Είδος" }, "traffic_calming": { "label": "Είδος" @@ -2235,6 +2416,14 @@ "traffic_signals": { "label": "Είδος" }, + "traffic_signals/direction": { + "label": "Κατεύθυνση", + "options": { + "backward": "Όπισθεν", + "both": "Και τα Δύο / Όλα", + "forward": "Μπροστά" + } + }, "trail_visibility": { "label": "Ορατότητα Μονοπατιού", "options": { @@ -2247,9 +2436,39 @@ }, "placeholder": "Εξαιρετική, Καλή, Κακή..." }, + "transformer": { + "label": "Είδος", + "options": { + "auxiliary": "Βοηθητικό", + "converter": "Μετατροπέας", + "distribution": "Διανομή", + "generator": "Γεννήτρια", + "phase_angle_regulator": "Ρυθμιστής Γωνίας Φάσης", + "traction": "Πρόσφυση", + "yes": "Άγνωστο" + } + }, "trees": { "label": "Δέντρα" }, + "tunnel": { + "label": "Είδος", + "placeholder": "Προεπιλογή" + }, + "usage_rail": { + "label": "Είδος Χρήσης", + "options": { + "branch": "Κλαδί", + "industrial": "Βιομηχανικό", + "main": "Κύριο", + "military": "Στρατιωτικό", + "test": "Δοκιμή", + "tourism": "Τουρισμός" + } + }, + "vending": { + "label": "Είδη Εμπορευμάτων" + }, "visibility": { "label": "Ορατότητα", "options": { @@ -2258,6 +2477,33 @@ "street": "Από 5 μέχρι 20m (από 16 μέχρι 65ft)" } }, + "volcano/status": { + "label": "Κατάσταση Ηφαιστείου", + "options": { + "active": "Ενεργό", + "dormant": "Ανενεργό", + "extinct": "Σβησμένο" + } + }, + "volcano/type": { + "label": "Είδος Ηφαιστείου", + "options": { + "scoria": "Σκουριά", + "shield": "Ασπίδα" + } + }, + "voltage": { + "label": "Τάση" + }, + "voltage/primary": { + "label": "Πρωτογενής Τάση" + }, + "voltage/secondary": { + "label": "Δευτερογενής Τάση" + }, + "voltage/tertiary": { + "label": "Τριτογενής Τάση" + }, "wall": { "label": "Είδος" }, @@ -2280,11 +2526,22 @@ "wheelchair": { "label": "Πρόσβαση Με Αναπηρικό Καροτσάκι" }, + "wholesale": { + "label": "Χονδρική" + }, "width": { "label": "Πλάτος (Μέτρα)" }, "wikipedia": { "label": "Βικιπαίδεια" + }, + "windings/configuration": { + "options": { + "delta": "Δέλτα", + "open": "Ανοιχτό", + "open-delta": "Ανοιχτό Δέλτα", + "zigzag": "Ζικ Ζακ" + } } }, "presets": { @@ -2292,6 +2549,9 @@ "name": "Διεύθυνση", "terms": "Διεύθυνση, Αριθμός σπιτιού, Οδός" }, + "advertising/billboard": { + "name": "Πινακίδα" + }, "aerialway": { "name": "Αεροδίοδος" }, @@ -4665,7 +4925,6 @@ "description": "Όλοι οι χαρτογράφοι είναι ευπρόσδεκτοι!" }, "talk-cz-mailinglist": { - "name": "Talk-cz Κατάλογος Αλληλογραφίας", "description": "Το Talk-cz είναι ο επίσημος κατάλογος αλληλογραφίας για την Τσέχικη Κοινότητα" }, "dk-mailinglist": { diff --git a/vendor/assets/iD/iD/locales/en-GB.json b/vendor/assets/iD/iD/locales/en-GB.json index 838106b9f..13647d9f0 100644 --- a/vendor/assets/iD/iD/locales/en-GB.json +++ b/vendor/assets/iD/iD/locales/en-GB.json @@ -170,6 +170,8 @@ "annotation": "Merged {n} features.", "not_eligible": "These features can't be merged.", "not_adjacent": "These features can't be merged because their endpoints aren't connected.", + "restriction": "These features can't be merged because it would damage a \"{relation}\" relation.", + "relation": "These features can't be merged because they have conflicting relation roles.", "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." }, @@ -713,6 +715,9 @@ "zoom": "Zoom to layer", "browse": "Browse for a file" }, + "streetside": { + "report": "Report a privacy concern with this image" + }, "mapillary_images": { "tooltip": "Street-level photos from Mapillary", "title": "Photo Overlay (Mapillary)" @@ -1573,6 +1578,9 @@ "brand": { "label": "Brand" }, + "brewery": { + "label": "Draught Beers" + }, "bridge": { "label": "Type", "placeholder": "Default" @@ -1712,6 +1720,9 @@ "cycleway:right": "Right side" } }, + "dance/style": { + "label": "Dance Styles" + }, "date": { "label": "Date" }, @@ -1734,9 +1745,55 @@ "diaper": { "label": "Baby Changing Available" }, + "direction": { + "label": "Direction (Degrees Clockwise)", + "placeholder": "45, 90, 180, 270" + }, + "direction_cardinal": { + "label": "Direction", + "options": { + "E": "East", + "ENE": "East-northeast", + "ESE": "East-southeast", + "N": "North", + "NE": "Northeast", + "NNE": "North-northeast", + "NNW": "North-northwest", + "NW": "Northwest", + "S": "South", + "SE": "Southeast", + "SSE": "South-southeast", + "SSW": "South-southwest", + "SW": "Southwest", + "W": "West", + "WNW": "West-northwest", + "WSW": "West-southwest" + } + }, + "direction_clock": { + "label": "Direction", + "options": { + "anticlockwise": "Counterclockwise", + "clockwise": "Clockwise" + } + }, + "direction_vertex": { + "label": "Direction", + "options": { + "backward": "Backward", + "both": "Both / All", + "forward": "Forward" + } + }, + "dispensing": { + "label": "Dispenses Prescriptions" + }, "display": { "label": "Display" }, + "distance": { + "label": "Total Distance" + }, "dock": { "label": "Type" }, @@ -1777,6 +1834,9 @@ "except": { "label": "Exceptions" }, + "faces": { + "label": "Faces" + }, "fax": { "label": "Fax", "placeholder": "+44 1632 961234" @@ -1888,6 +1948,39 @@ "label": "Hoops", "placeholder": "1, 2, 4..." }, + "horse_dressage": { + "label": "Dressage Riding", + "options": { + "equestrian": "Yes", + "undefined": "No" + } + }, + "horse_riding": { + "label": "Horseback Riding", + "options": { + "horse_riding": "Yes", + "undefined": "No" + } + }, + "horse_scale": { + "label": "Horseback Riding Difficulty", + "options": { + "common": "Easy: No problems or difficulties. (default)", + "critical": "Borderline: Passable only for experienced riders and horses. Major obstacles. Bridges should be examined carefully.", + "dangerous": "Dangerous: Passable only for very experienced riders and horses and only in good weather. Dismount.", + "demanding": "Use with caution: Uneven way, occasional difficult passages.", + "difficult": "Difficult: Way narrow and exposed. May contain obstacles to step over and narrow passages.", + "impossible": "Impassable: Way or bridge not passable for horses. Too narrow, insuffient support, obstacles like ladders. Danger of life." + }, + "placeholder": "Difficult, Dangerous..." + }, + "horse_stables": { + "label": "Riding Stable", + "options": { + "stables": "Yes", + "undefined": "No" + } + }, "iata": { "label": "IATA" }, @@ -1907,6 +2000,9 @@ "indoor": { "label": "Indoor" }, + "industrial": { + "label": "Type" + }, "information": { "label": "Type" }, @@ -2027,6 +2123,10 @@ "label": "Speed Limit", "placeholder": "40, 50, 60..." }, + "maxspeed/advisory": { + "label": "Advisory Speed Limit", + "placeholder": "40, 50, 60..." + }, "maxstay": { "label": "Max Stay" }, @@ -2127,7 +2227,9 @@ "oneway": { "label": "One Way", "options": { + "alternating": "Alternating", "no": "No", + "reversible": "Reversible", "undefined": "Assumed to be No", "yes": "Yes" } @@ -2135,7 +2237,9 @@ "oneway_yes": { "label": "One Way", "options": { + "alternating": "Alternating", "no": "No", + "reversible": "Reversible", "undefined": "Assumed to be Yes", "yes": "Yes" } @@ -2176,6 +2280,7 @@ "placeholder": "1, 2, 3..." }, "phone": { + "label": "Telephone", "placeholder": "+44 1632 961234" }, "piste/difficulty": { @@ -2253,6 +2358,18 @@ "railway": { "label": "Type" }, + "railway/position": { + "label": "Milestone Position", + "placeholder": "Distance to one decimal (123.4)" + }, + "railway/signal/direction": { + "label": "Direction", + "options": { + "backward": "Backward", + "both": "Both / All", + "forward": "Forward" + } + }, "rating": { "label": "Power Rating" }, @@ -2262,6 +2379,9 @@ "ref": { "label": "Reference Code" }, + "ref/isil": { + "label": "ISIL Code" + }, "ref_aeroway_gate": { "label": "Gate Number" }, @@ -2555,6 +2675,14 @@ "traffic_signals": { "label": "Type" }, + "traffic_signals/direction": { + "label": "Direction", + "options": { + "backward": "Backward", + "both": "Both / All", + "forward": "Forward" + } + }, "trail_visibility": { "label": "Trail Visibility", "options": { @@ -2587,6 +2715,20 @@ "label": "Type", "placeholder": "Default" }, + "usage_rail": { + "label": "Usage Type", + "options": { + "branch": "Branch", + "industrial": "Industrial", + "main": "Main", + "military": "Military", + "test": "Test", + "tourism": "Tourism" + } + }, + "vending": { + "label": "Types of Goods" + }, "visibility": { "label": "Visibility", "options": { @@ -2645,6 +2787,9 @@ "wheelchair": { "label": "Wheelchair Access" }, + "wholesale": { + "label": "Wholesale" + }, "width": { "label": "Width (Metres)" }, @@ -2675,6 +2820,9 @@ "advertising/billboard": { "name": "Billboard" }, + "advertising/column": { + "name": "Advertising Column" + }, "aerialway": { "name": "Aerialway" }, @@ -2742,6 +2890,9 @@ "aeroway/terminal": { "name": "Airport Terminal" }, + "allotments/plot": { + "name": "Allotments Plot" + }, "amenity": { "name": "Amenity" }, @@ -2790,9 +2941,15 @@ "amenity/bureau_de_change": { "name": "Currency Exchange" }, + "amenity/bus_station": { + "name": "Bus Station / Terminal" + }, "amenity/cafe": { "name": "Cafe" }, + "amenity/car_pooling": { + "name": "Car Pooling" + }, "amenity/car_rental": { "name": "Car Rental" }, @@ -2865,6 +3022,9 @@ "amenity/fast_food": { "name": "Fast Food" }, + "amenity/ferry_terminal": { + "name": "Ferry Station / Terminal" + }, "amenity/fire_station": { "name": "Fire Station" }, @@ -2902,9 +3062,15 @@ "amenity/library": { "name": "Library" }, + "amenity/love_hotel": { + "name": "Love Hotel" + }, "amenity/marketplace": { "name": "Marketplace" }, + "amenity/monastery": { + "name": "Monastery Grounds" + }, "amenity/motorcycle_parking": { "name": "Motorcycle Parking" }, @@ -2987,6 +3153,9 @@ "amenity/ranger_station": { "name": "Warden Station" }, + "amenity/recycling": { + "name": "Recycling Container" + }, "amenity/recycling_centre": { "name": "Recycling Centre" }, @@ -3011,6 +3180,9 @@ "amenity/shower": { "name": "Shower" }, + "amenity/smoking_area": { + "name": "Smoking Area" + }, "amenity/social_facility": { "name": "Social Facility" }, @@ -3056,18 +3228,36 @@ "amenity/vending_machine/cigarettes": { "name": "Cigarette Vending Machine" }, + "amenity/vending_machine/coffee": { + "name": "Coffee Vending Machine" + }, "amenity/vending_machine/condoms": { "name": "Condom Vending Machine" }, "amenity/vending_machine/drinks": { "name": "Drink Vending Machine" }, + "amenity/vending_machine/electronics": { + "name": "Electronics Vending Machine" + }, + "amenity/vending_machine/elongated_coin": { + "name": "Elongated Coin Vending Machine" + }, "amenity/vending_machine/excrement_bags": { "name": "Excrement Bag Vending Machine" }, "amenity/vending_machine/feminine_hygiene": { "name": "Feminine Hygiene Vending Machine" }, + "amenity/vending_machine/food": { + "name": "Food Vending Machine" + }, + "amenity/vending_machine/fuel": { + "name": "Fuel Pump" + }, + "amenity/vending_machine/ice_cream": { + "name": "Ice Cream Vending Machine" + }, "amenity/vending_machine/news_papers": { "name": "Newspaper Vending Machine" }, @@ -3083,6 +3273,9 @@ "amenity/vending_machine/public_transport_tickets": { "name": "Transit Ticket Vending Machine" }, + "amenity/vending_machine/stamps": { + "name": "Postage Vending Machine" + }, "amenity/vending_machine/sweets": { "name": "Snack Vending Machine" }, @@ -3137,6 +3330,9 @@ "attraction/drop_tower": { "name": "Drop Tower" }, + "attraction/maze": { + "name": "Maze" + }, "attraction/pirate_ship": { "name": "Pirate Ship" }, @@ -3188,6 +3384,9 @@ "barrier/hedge": { "name": "Hedge" }, + "barrier/kerb": { + "name": "Kerb" + }, "barrier/kissing_gate": { "name": "Kissing Gate" }, @@ -3218,6 +3417,12 @@ "building/barn": { "name": "Barn" }, + "building/boathouse": { + "name": "Boathouse" + }, + "building/bungalow": { + "name": "Bungalow" + }, "building/bunker": { "name": "Bunker" }, @@ -3233,6 +3438,9 @@ "building/church": { "name": "Church Building" }, + "building/civic": { + "name": "Civic Building" + }, "building/college": { "name": "College Building" }, @@ -3251,12 +3459,21 @@ "building/entrance": { "name": "Entrance/Exit" }, + "building/farm": { + "name": "Farm House" + }, + "building/farm_auxiliary": { + "name": "Farm Building" + }, "building/garage": { "name": "Garage" }, "building/garages": { "name": "Garages" }, + "building/grandstand": { + "name": "Grandstand" + }, "building/greenhouse": { "name": "Greenhouse" }, @@ -3278,6 +3495,9 @@ "building/kindergarten": { "name": "Preschool/Kindergarten Building" }, + "building/mosque": { + "name": "Mosque Building" + }, "building/public": { "name": "Public Building" }, @@ -3290,27 +3510,42 @@ "building/roof": { "name": "Roof" }, + "building/ruins": { + "name": "Building Ruins" + }, "building/school": { "name": "School Building" }, "building/semidetached_house": { "name": "Semi-Detached House" }, + "building/service": { + "name": "Service Building" + }, "building/shed": { "name": "Shed" }, "building/stable": { "name": "Stable" }, + "building/stadium": { + "name": "Stadium Building" + }, "building/static_caravan": { "name": "Static Caravan" }, + "building/temple": { + "name": "Temple Building" + }, "building/terrace": { "name": "Terraced houses" }, "building/train_station": { "name": "Train Station" }, + "building/transportation": { + "name": "Transportation Building" + }, "building/university": { "name": "University Building" }, @@ -3320,6 +3555,9 @@ "camp_site/camp_pitch": { "name": "Camp Pitch" }, + "circular": { + "name": "Traffic Circle" + }, "club": { "name": "Club" }, @@ -3503,6 +3741,9 @@ "emergency/private": { "name": "Emergency Access Private" }, + "emergency/water_tank": { + "name": "Emergency Water Tank" + }, "emergency/yes": { "name": "Emergency Access Yes" }, @@ -3579,6 +3820,9 @@ "healthcare/hospice": { "name": "Hospice" }, + "healthcare/laboratory": { + "name": "Medical Laboratory" + }, "healthcare/midwife": { "name": "Midwife" }, @@ -3609,6 +3853,12 @@ "highway/bridleway": { "name": "Bridleway" }, + "highway/bus_guideway": { + "name": "Bus Guideway" + }, + "highway/bus_stop": { + "name": "Bus Stop / Platform" + }, "highway/corridor": { "name": "Indoor Corridor" }, @@ -3651,6 +3901,9 @@ "highway/motorway_link": { "name": "Motorway Link" }, + "highway/passing_place": { + "name": "Passing Place" + }, "highway/path": { "name": "Path" }, @@ -3819,12 +4072,18 @@ "landuse/forest": { "name": "Forest" }, + "landuse/garages": { + "name": "Garage Landuse" + }, "landuse/grass": { "name": "Grass" }, "landuse/greenfield": { "name": "Greenfield" }, + "landuse/greenhouse_horticulture": { + "name": "Greenhouse Horticulture" + }, "landuse/harbour": { "name": "Harbor" }, @@ -3912,6 +4171,12 @@ "leisure/adult_gaming_centre": { "name": "Adult Gaming Centre" }, + "leisure/amusement_arcade": { + "name": "Amusement Arcade" + }, + "leisure/beach_resort": { + "name": "Beach Resort" + }, "leisure/bird_hide": { "name": "Bird Hide" }, @@ -3924,6 +4189,9 @@ "leisure/dance": { "name": "Dance Hall" }, + "leisure/dancing_school": { + "name": "Dance School" + }, "leisure/dog_park": { "name": "Dog Park" }, @@ -3996,6 +4264,9 @@ "leisure/nature_reserve": { "name": "Nature Reserve" }, + "leisure/outdoor_seating": { + "name": "Outdoor Seating Area" + }, "leisure/park": { "name": "Park" }, @@ -4092,6 +4363,9 @@ "man_made/adit": { "name": "Adit" }, + "man_made/antenna": { + "name": "Antenna" + }, "man_made/breakwater": { "name": "Breakwater" }, @@ -4101,6 +4375,9 @@ "man_made/chimney": { "name": "Chimney" }, + "man_made/clearcut": { + "name": "Clearcut Forest" + }, "man_made/crane": { "name": "Crane" }, @@ -4221,9 +4498,15 @@ "natural/heath": { "name": "Heath" }, + "natural/mud": { + "name": "Mud" + }, "natural/peak": { "name": "Peak" }, + "natural/reef": { + "name": "Reef" + }, "natural/ridge": { "name": "Ridge" }, @@ -4296,6 +4579,9 @@ "office/charity": { "name": "Charity Office" }, + "office/company": { + "name": "Corporate Office" + }, "office/coworking": { "name": "Coworking Space" }, @@ -4521,6 +4807,132 @@ "power/transformer": { "name": "Transformer" }, + "public_transport/linear_platform": { + "name": "Transit Stop / Platform" + }, + "public_transport/linear_platform_aerialway": { + "name": "Aerialway Stop / Platform" + }, + "public_transport/linear_platform_bus": { + "name": "Bus Stop / Platform" + }, + "public_transport/linear_platform_ferry": { + "name": "Ferry Stop / Platform" + }, + "public_transport/linear_platform_light_rail": { + "name": "Light Rail Stop / Platform" + }, + "public_transport/linear_platform_monorail": { + "name": "Monorail Stop / Platform" + }, + "public_transport/linear_platform_subway": { + "name": "Subway Stop / Platform" + }, + "public_transport/linear_platform_train": { + "name": "Train Stop / Platform" + }, + "public_transport/linear_platform_tram": { + "name": "Tram Stop / Platform" + }, + "public_transport/linear_platform_trolleybus": { + "name": "Trolleybus Stop / Platform" + }, + "public_transport/platform": { + "name": "Transit Stop / Platform" + }, + "public_transport/platform_aerialway": { + "name": "Aerialway Stop / Platform" + }, + "public_transport/platform_bus": { + "name": "Bus Stop / Platform" + }, + "public_transport/platform_ferry": { + "name": "Ferry Stop / Platform" + }, + "public_transport/platform_light_rail": { + "name": "Light Rail Stop / Platform" + }, + "public_transport/platform_monorail": { + "name": "Monorail Stop / Platform" + }, + "public_transport/platform_subway": { + "name": "Subway Stop / Platform" + }, + "public_transport/platform_train": { + "name": "Train Stop / Platform" + }, + "public_transport/platform_tram": { + "name": "Tram Stop / Platform" + }, + "public_transport/platform_trolleybus": { + "name": "Trolleybus Stop / Platform" + }, + "public_transport/station": { + "name": "Transit Station" + }, + "public_transport/station_aerialway": { + "name": "Aerialway Station" + }, + "public_transport/station_bus": { + "name": "Bus Station / Terminal" + }, + "public_transport/station_ferry": { + "name": "Ferry Station / Terminal" + }, + "public_transport/station_light_rail": { + "name": "Light Rail Station" + }, + "public_transport/station_monorail": { + "name": "Monorail Station" + }, + "public_transport/station_subway": { + "name": "Subway Station" + }, + "public_transport/station_train": { + "name": "Train Station" + }, + "public_transport/station_train_halt": { + "name": "Train Station (Halt / Request)" + }, + "public_transport/station_tram": { + "name": "Tram Station" + }, + "public_transport/station_trolleybus": { + "name": "Trolleybus Station / Terminal" + }, + "public_transport/stop_area": { + "name": "Transit Stop Area" + }, + "public_transport/stop_position": { + "name": "Transit Stopping Location" + }, + "public_transport/stop_position_aerialway": { + "name": "Aerialway Stopping Location" + }, + "public_transport/stop_position_bus": { + "name": "Bus Stopping Location" + }, + "public_transport/stop_position_ferry": { + "name": "Ferry Stopping Location" + }, + "public_transport/stop_position_light_rail": { + "name": "Light Rail Stopping Location" + }, + "public_transport/stop_position_monorail": { + "name": "Monorail Stopping Location" + }, + "public_transport/stop_position_subway": { + "name": "Subway Stopping Location" + }, + "public_transport/stop_position_train": { + "name": "Train Stopping Location" + }, + "public_transport/stop_position_tram": { + "name": "Tram Stopping Location" + }, + "public_transport/stop_position_trolleybus": { + "name": "Trolleybus Stopping Location" + }, "railway": { "name": "Railway" }, @@ -4542,24 +4954,39 @@ "railway/funicular": { "name": "Funicular" }, + "railway/halt": { + "name": "Train Station (Halt / Request)" + }, "railway/level_crossing": { "name": "Level Crossing (Road)" }, + "railway/light_rail": { + "name": "Light Rail" + }, "railway/milestone": { "name": "Railway Milestone" }, + "railway/miniature": { + "name": "Miniature Railway" + }, "railway/monorail": { "name": "Monorail" }, "railway/narrow_gauge": { "name": "Narrow Gauge Rail" }, + "railway/platform": { + "name": "Train Stop / Platform" + }, "railway/rail": { "name": "Rail" }, "railway/signal": { "name": "Railway Signal" }, + "railway/station": { + "name": "Train Station" + }, "railway/subway": { "name": "Subway" }, @@ -4575,6 +5002,9 @@ "railway/tram": { "name": "Tram" }, + "railway/tram_stop": { + "name": "Tram Stopping Position" + }, "relation": { "name": "Relation" }, @@ -4767,6 +5197,9 @@ "shop/hardware": { "name": "Hardware Store" }, + "shop/health_food": { + "name": "Health Food Shop" + }, "shop/hearing_aids": { "name": "Hearing Aids Store" }, @@ -4818,6 +5251,9 @@ "shop/motorcycle": { "name": "Motorcycle Dealership" }, + "shop/motorcycle_repair": { + "name": "Motorcycle Repair Shop" + }, "shop/music": { "name": "Music Store" }, @@ -4854,6 +5290,9 @@ "shop/pet": { "name": "Pet Store" }, + "shop/pet_grooming": { + "name": "Pet Grooming Store" + }, "shop/photo": { "name": "Photography Store" }, @@ -4944,6 +5383,9 @@ "shop/weapons": { "name": "Weapon Shop" }, + "shop/wholesale": { + "name": "Wholesale Store" + }, "shop/window_blind": { "name": "Window Blind Store" }, @@ -5016,6 +5458,9 @@ "tourism/theme_park": { "name": "Theme Park" }, + "tourism/trail_riding_station": { + "name": "Trail Riding Station" + }, "tourism/viewpoint": { "name": "Viewpoint" }, @@ -5079,6 +5524,18 @@ "type/restriction/no_u_turn": { "name": "No U-turn" }, + "type/restriction/only_left_turn": { + "name": "Only Left Turn" + }, + "type/restriction/only_right_turn": { + "name": "Only Right Turn" + }, + "type/restriction/only_straight_on": { + "name": "Only Straight On" + }, + "type/restriction/only_u_turn": { + "name": "Only U-turn" + }, "type/route": { "name": "Route" }, @@ -5103,15 +5560,24 @@ "type/route/horse": { "name": "Riding Route" }, + "type/route/light_rail": { + "name": "Light Rail Route" + }, "type/route/pipeline": { "name": "Pipeline Route" }, + "type/route/piste": { + "name": "Piste/Ski Route" + }, "type/route/power": { "name": "Power Route" }, "type/route/road": { "name": "Road Route" }, + "type/route/subway": { + "name": "Subway Route" + }, "type/route/train": { "name": "Train Route" }, @@ -5295,6 +5761,7 @@ "name": "TIGER Roads 2017" }, "US_Forest_Service_roads_overlay": { + "description": "Highway: Green casing = unclassified. Brown casing = track. Surface: gravel = light brown fill, Asphalt = black, paved = gray, ground =white, concrete = blue, grass = green. Seasonal = white bars", "name": "U.S. Forest Roads Overlay" }, "Waymarked_Trails-Cycling": { diff --git a/vendor/assets/iD/iD/locales/en.json b/vendor/assets/iD/iD/locales/en.json index 21f290b37..c0ba6ad9d 100644 --- a/vendor/assets/iD/iD/locales/en.json +++ b/vendor/assets/iD/iD/locales/en.json @@ -715,6 +715,11 @@ "zoom": "Zoom to layer", "browse": "Browse for a file" }, + "streetside": { + "tooltip": "Streetside photos from Microsoft", + "title": "Photo Overlay (Bing Streetside)", + "report": "Report a privacy concern with this image" + }, "mapillary_images": { "tooltip": "Street-level photos from Mapillary", "title": "Photo Overlay (Mapillary)" @@ -4059,6 +4064,10 @@ "name": "Defibrillator", "terms": "AED" }, + "emergency/fire_extinguisher": { + "name": "Fire Extinguisher", + "terms": "" + }, "emergency/fire_hydrant": { "name": "Fire Hydrant", "terms": "fire plug" @@ -4647,6 +4656,10 @@ "name": "Bird Hide", "terms": "machan,ornithology" }, + "leisure/bleachers": { + "name": "Bleachers", + "terms": "crowd,bench,sports,stand,stands,seat,seating" + }, "leisure/bowling_alley": { "name": "Bowling Alley", "terms": "bowling center" @@ -6075,6 +6088,10 @@ "name": "Money Lender", "terms": "" }, + "shop/motorcycle_repair": { + "name": "Motorcycle Repair Shop", + "terms": "auto,bike,garage,motorcycle,repair,service" + }, "shop/motorcycle": { "name": "Motorcycle Dealership", "terms": "bike" @@ -6594,6 +6611,24 @@ } }, "imagery": { + "AGIV": { + "attribution": { + "text": "Orthophoto Flanders most recent © AGIV" + }, + "name": "AGIV Flanders most recent aerial imagery" + }, + "AGIV10cm": { + "attribution": { + "text": "Orthophoto Flanders © AGIV" + }, + "name": "AGIV Flanders 2013-2015 aerial imagery 10cm" + }, + "AGIVFlandersGRB": { + "attribution": { + "text": "GRB Flanders © AGIV" + }, + "name": "AGIV Flanders GRB" + }, "Bing": { "description": "Satellite and aerial imagery.", "name": "Bing aerial imagery" @@ -6696,6 +6731,12 @@ }, "name": "OSM Inspector: Tagging" }, + "SPW_ORTHO_LAST": { + "name": "SPW(allonie) most recent aerial imagery" + }, + "SPW_PICC": { + "name": "SPW(allonie) PICC numerical imagery" + }, "US-TIGER-Roads-2012": { "name": "TIGER Roads 2012" }, @@ -6711,6 +6752,30 @@ "description": "Highway: Green casing = unclassified. Brown casing = track. Surface: gravel = light brown fill, Asphalt = black, paved = gray, ground =white, concrete = blue, grass = green. Seasonal = white bars", "name": "U.S. Forest Roads Overlay" }, + "UrbISOrtho2016": { + "attribution": { + "text": "Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB" + }, + "name": "UrbIS-Ortho 2016" + }, + "UrbISOrtho2017": { + "attribution": { + "text": "Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB" + }, + "name": "UrbIS-Ortho 2017" + }, + "UrbisAdmFR": { + "attribution": { + "text": "Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB" + }, + "name": "UrbisAdm FR" + }, + "UrbisAdmNL": { + "attribution": { + "text": "Realized by means of Brussels UrbIS®© - Distribution & Copyright CIRB" + }, + "name": "UrbisAdm NL" + }, "Waymarked_Trails-Cycling": { "attribution": { "text": "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0" @@ -6980,6 +7045,10 @@ "description": "Irregular meeting of the OpenStreetMap community in Chiang Mai", "extendedDescription": "Members of the OpenStreetMap community meet every few months in Chiang Mai. Get in contact and check out {url} to see when the next meetup is scheduled" }, + "OSM-TH-facebook": { + "name": "OpenStreetMap TH Facebook group", + "description": "Facebook group for OpenStreetMappers in Thailand" + }, "OSM-TH-forum": { "name": "OpenStreetMap TH forum", "description": "OpenStreetMap Thailand web forum" @@ -7061,8 +7130,20 @@ "name": "OpenStreetMap Belgium Twitter", "description": "OSM Belgium on Twitter: @osm_be" }, + "czech-community": { + "name": "Czech OSM community", + "description": "Map portal, website and contacts on OSM members in Czechia" + }, + "osmcz-facebook": { + "name": "OpenStreetMap CZ on Facebook", + "description": "Follow czech community on Facebook - including translated WeeklyOSM!" + }, + "osmcz-twitter": { + "name": "Czech twitter @osmcz", + "description": "Follow czech community on Twitter - including translated WeeklyOSM!" + }, "talk-cz-mailinglist": { - "name": "Talk-cz Mailing List", + "name": "Czech mailing list (talk-cz)", "description": "Talk-cz is the official mailing list for Czech community" }, "dk-forum": { @@ -7141,6 +7222,10 @@ "name": "OWL Mailing List", "description": "This is the mailing list for the Ostwestfalen-Lippe OSM community" }, + "de-telegram": { + "name": "OpenStreetMap Germany Telegram", + "description": "Join the OpenStreetMap Germany Telegram supergroup at {url}" + }, "osm-de": { "name": "OpenStreetMap Germany", "description": "The platform for information on OpenStreetMap in Germany" @@ -7563,6 +7648,10 @@ "name": "OpenStreetMap on Reddit", "description": "/r/openstreetmap/ is a great place to learn more about OpenStreetMap. Ask us anything!" }, + "OSM-Telegram": { + "name": "OpenStreetMap Telegram", + "description": "Join the OpenStreetMap Telegram global supergroup at {url}" + }, "OSM-Twitter": { "name": "OpenStreetMap Twitter", "description": "Follow us on Twitter at {url}" diff --git a/vendor/assets/iD/iD/locales/eo.json b/vendor/assets/iD/iD/locales/eo.json index 59a4ca946..3823c0b32 100644 --- a/vendor/assets/iD/iD/locales/eo.json +++ b/vendor/assets/iD/iD/locales/eo.json @@ -652,7 +652,7 @@ "thank_you_location": "Dankon por plibonigi la mapon ĉirkaÅ­ {where}.", "help_html": "Viaj ŝanĝoj aperos en OpenStreetMap post kelkaj minutoj. Aktualigo de aliaj mapoj povas okupi pli da tempo.", "help_link_text": "Detaloj", - "view_on_osm": "Montri ŝanĝoj ĉe OSM", + "view_on_osm": "Montri ŝanĝojn ĉe OSM", "changeset_id": "Via ŝanĝaro #: {changeset_id}", "like_osm": "Ĉu OpenStreetMap plaĉas al vi? Komunikiĝu kun aliaj:", "more": "Pli", @@ -3667,8 +3667,8 @@ "terms": "garagharo,garagxaro,garaĝo,aÅ­tejo,aÅ­tomobilejo" }, "building/grandstand": { - "name": "Spektoteraso", - "terms": "tribuno,spektejo,podio,estrado" + "name": "Spektejo ĉefa", + "terms": "tribuno,podio,estrado,spektoteraso,spektantejo" }, "building/greenhouse": { "name": "Kultivdomo", @@ -3994,6 +3994,10 @@ "emergency/destination": { "name": "Vivsav-serva aliro: nur al celloko" }, + "emergency/fire_extinguisher": { + "name": "Fajr-estingilo", + "terms": "fajrestingilo,fajroestingilo,estingilo,malfajrilo" + }, "emergency/fire_hydrant": { "name": "Hidranto", "terms": "akvokrano,fajrohidranto" @@ -4595,6 +4599,10 @@ "name": "Bird-observejo", "terms": "birdobservejo" }, + "leisure/bleachers": { + "name": "Spektejo", + "terms": "tribuno,podio,estrado,spektoteraso,spektantejo,benkoj" + }, "leisure/bowling_alley": { "name": "Kegloludejo", "terms": "keglejo" @@ -6022,6 +6030,10 @@ "name": "Motorcikla vendejo", "terms": "motorcikloj,motocikloj" }, + "shop/motorcycle_repair": { + "name": "Motorcikl-riparejo", + "terms": "motocikloj,motorcikloj,riparejo" + }, "shop/music": { "name": "Muzika vendejo", "terms": "muzikvendejo,lumdiskoj,cd,laserdiskoj" @@ -6794,9 +6806,13 @@ "name": "OpenStreetMap ĉe Reddit", "description": "/r/openstreetmap/ estas bonega loko por sciiĝi pli pri OpenStreetMap. Demandu pri io ajn!" }, + "OSM-Telegram": { + "name": "OpenStreetMap ĉe Telegram", + "description": "Aniĝu al la tutmonda Telegram-grupo pri OpenStreetMap ĉe {url}" + }, "OSM-Twitter": { "name": "OpenStreetMap ĉe Twitter", - "description": "Sekvi nin ĉe Twitter ĉe {url}" + "description": "Sekvu nin ĉe Twitter ĉe {url}" }, "OSMF": { "name": "Fondaĵo OpenStreetMap", diff --git a/vendor/assets/iD/iD/locales/es.json b/vendor/assets/iD/iD/locales/es.json index c9978ea0f..32d47d09d 100644 --- a/vendor/assets/iD/iD/locales/es.json +++ b/vendor/assets/iD/iD/locales/es.json @@ -4029,11 +4029,11 @@ "terms": "Entrada,Salida" }, "footway/crossing": { - "name": "Cruce de calle", + "name": "Cruce de calle peatonal", "terms": "cruce, calle, peatones, peatonal, cruce perpendicular entre aceras, vía peatonal sobre calle" }, "footway/crossing-raised": { - "name": "Cruce de calle elevado", + "name": "Cruce de calle peatonal sobreelevado", "terms": "Cruce de calle elevado, plano, lomo, velocidad, lento, resalto, resalte, tope" }, "footway/crosswalk": { @@ -4597,6 +4597,10 @@ "name": "Observatorio de aves", "terms": "observatorio, refugio, ave, pájaro, vida silvestre, naturaleza" }, + "leisure/bleachers": { + "name": "Gradas", + "terms": "gradas, multitud, banco, deportes, soporte, asiento, asientos" + }, "leisure/bowling_alley": { "name": "Pista de bolos", "terms": "bowling, bolos, boliche, juego de bolos, pista de bowling, bolera" @@ -6024,6 +6028,10 @@ "name": "Concesionario de motocicletas", "terms": "motocicleta, ciclomotor, ciclomoto, moto" }, + "shop/motorcycle_repair": { + "name": "Taller de reparación de motocicletas", + "terms": "taller, moto, garaje, motocicleta, reparación, servicio" + }, "shop/music": { "name": "Tienda de música", "terms": "música, audio, discos, discográfica, tienda de discos" @@ -6925,10 +6933,32 @@ "name": "Lista de correo de OpenStreetMap Taiwán", "description": "Talk-tw es la lista de correo oficial para que las Comunidades discutan asuntos sobre Taiwán" }, + "OSM-TH-CNX-meetup": { + "name": "Meetup de OSM en Chiang Mai", + "description": "Reunión irregular de la comunidad OpenStreetMap en Chiang Mai", + "extendedDescription": "Los miembros de la comunidad OpenStreetMap se reúnen cada pocos meses en Chiang Mai. Póngase en contacto y eche un vistazo a {url} para ver cuándo está programada la próxima reunión" + }, + "OSM-TH-facebook": { + "name": "Grupo de Facebook de OpenStreetMap TH", + "description": "Grupo de Facebook para OpenStreetMappers en Tailandia" + }, "OSM-TH-forum": { "name": "Foro OpenStreetMap TH", "description": "Foro web de OpenStreetMap Tailandia" }, + "al-forum": { + "name": "Foro de OSM de Albania", + "description": "Foro de OpenStreetMap de Albania" + }, + "al-maptime-tirana": { + "name": "Maptime Tirana", + "description": "¡Eventos sociales organizados alrededor del mapeando - principiantes más bienvenidos!", + "extendedDescription": "Maptime es un entorno de aprendizaje abierto para todos los niveles y grados de conocimiento, que ofrece apoyo educativo intencional para el principiante. Maptime es a la vez flexible y estructurado, creando espacio para mapeando de tutoriales, talleres, proyectos en curso con un objetivo compartido, y tiempo de trabajo independiente/colaborativo." + }, + "al-telegram": { + "name": "Canal de Telegram de OSM de Albania", + "description": "Canal de Telegram de OpenStreetMap de Albania" + }, "at-forum": { "name": "Foro de OpenStreetMap Austria", "description": "El foro oficial para preguntas sobre OpenStreetMap en y alrededor de Austria" @@ -6942,7 +6972,7 @@ "description": "OpenStreetMap Austria en Twitter: {url}" }, "osmgraz-meetup": { - "name": "Reunión de la comunidad de OSM en Graz", + "name": "Meetup de la comunidad de OSM en Graz", "description": "Reunión mensual de la comunidad OpenStreetMap en Graz" }, "osmgraz-twitter": { @@ -6974,13 +7004,18 @@ "name": "Lista de correo de Talk-be", "description": "Talk-be es la lista de correo oficial para la comunidad belga de OSM" }, + "be-maptime": { + "name": "Maptime de Bélgica", + "description": "Eventos sociales organizados en torno al mapeo: ¡Los principiantes son bienvenidos!", + "extendedDescription": "Maptime es un entorno de aprendizaje abierto para todos los niveles y grados de conocimiento, que ofrece apoyo educativo intencional para el principiante. Maptime es a la vez flexible y estructurado, creando espacio para tutoriales de mapeo, talleres, proyectos en curso con un objetivo compartido y tiempo de trabajo independiente / colaborativo." + }, "be-matrix": { "name": "Canal Matrix de OpenStreetMap BE", "description": "¡Todos los mapeadores son bienvenidos!", "extendedDescription": "La mayoría de las charlas ocurren en el canal \"OpenStreetMap Belgium\". ¡Puede preguntar cualquier cosa allí! Las otras salas son para temas específicos." }, "be-meetup": { - "name": "Grupo de encuentro OpenStreetMap Bélgica", + "name": "Meetup de encuentro OpenStreetMap Bélgica", "description": "Reuniones en la vida real de todos los interesados en OpenStreetMap", "extendedDescription": "Las reuniones presenciales son geniales para conocer a otros mapeadores, hacerles preguntas y aprender mucho. ¡Son especialmente bienvenidos los nuevos contribuidores!" }, @@ -6989,7 +7024,6 @@ "description": "OSM Bélgica en Twitter: @osm_be" }, "talk-cz-mailinglist": { - "name": "Lista de correo Talk-cz", "description": "Talk-cz es la lista de correo oficial para la comunidad checa" }, "dk-forum": { @@ -7004,6 +7038,18 @@ "name": "Lista de correo Talk-dk", "description": "Una lista de correo para discutir OpenStreetMap en Dinamarca" }, + "fi-forum": { + "name": "Foro de OpenStreetMap FI", + "description": "Foro web de OpenStreetMap Finlandia" + }, + "fi-irc": { + "name": "IRC de OpenStreetMap Finlandia", + "description": "Únase a #osm-fi en irc.oftc.net (puerto 6667)" + }, + "fi-mailinglist": { + "name": "Lista de correo de Talk-fi", + "description": "Talk-fi es la lista de correo oficial para la comunidad finlandesa de OSM" + }, "fr-facebook": { "name": "Página de Facebook de OpenStreetMap Francia", "description": "Página de Facebook de OpenStreetMap Francia" @@ -7029,7 +7075,7 @@ "description": "Esta es la lista de correo de la comunidad de OSM de Berlín" }, "de-berlin-meetup": { - "name": "Encuentro de OpenStreetMap Berlín-Brandenburgo", + "name": "Meetup de OpenStreetMap Berlín-Brandenburgo", "description": "Mapeadores y usuarios en OpenStreetMap en el área de Berlín" }, "de-berlin-telegram": { @@ -7056,6 +7102,10 @@ "name": "Lista de correo OWL", "description": "Esta es la lista de correo de la comunidad Ostwestfalen-Lippe de OSM" }, + "de-telegram": { + "name": "Telegram de OpenStreetMap Alemania", + "description": "Únase al supergrupo de Telegram de OpenStreetMap Alemania en {url}" + }, "osm-de": { "name": "OpenStreetMap Alemania", "description": "La plataforma de información sobre OpenStreetMap en Alemania" @@ -7084,6 +7134,9 @@ "name": "Lista de correo de Talk-it", "description": "Talk-it es la lista de correo oficial de la comunidad OSM italiana" }, + "it-telegram": { + "name": "@OpenStreetMapItalia en Telegram" + }, "it-twitter": { "name": "Twitter de OpenStreetMap Italia", "description": "Síganos en Twitter en {url}" diff --git a/vendor/assets/iD/iD/locales/et.json b/vendor/assets/iD/iD/locales/et.json index e732f9d35..c90e77aeb 100644 --- a/vendor/assets/iD/iD/locales/et.json +++ b/vendor/assets/iD/iD/locales/et.json @@ -981,6 +981,9 @@ "fence_type": { "label": "Tüüp" }, + "fixme": { + "label": "Paranda mind" + }, "fuel": { "label": "Kütus" }, @@ -1329,7 +1332,7 @@ "label": "Puud" }, "usage_rail": { - "label": "Kasutusostarve" + "label": "Kasutusotstarve" }, "visibility": { "label": "Nähtavus" @@ -1922,7 +1925,7 @@ }, "building/ruins": { "name": "Hoone varemed", - "terms": "varemed,purunenud,maha jäätud" + "terms": "varemed,purunenud,maha jäetud" }, "building/school": { "name": "Koolihoone", @@ -3486,8 +3489,8 @@ "terms": "einestuskoht,söögikoht" }, "tourism/theme_park": { - "name": "Teemapark", - "terms": "lõbustuspark" + "name": "Lõbustuspark", + "terms": "teemapark,seikluskeskus,perepark,seikluspark" }, "tourism/viewpoint": { "name": "Vaatekoht", @@ -3669,7 +3672,7 @@ "terms": "vesi,vee" }, "waterway/waterfall": { - "name": "Kosk" + "name": "Juga" }, "waterway/weir": { "name": "Ülevoolupais", diff --git a/vendor/assets/iD/iD/locales/fa.json b/vendor/assets/iD/iD/locales/fa.json index 47e22d9f2..701f8017b 100644 --- a/vendor/assets/iD/iD/locales/fa.json +++ b/vendor/assets/iD/iD/locales/fa.json @@ -335,7 +335,7 @@ "title": "آپلود در اوپن استریت مپ", "upload_explanation": "تغییراتی که بارگذاری میکنید در همه ی نقشه هایی که از داده های OpenStreetMap استفاده میکنند پدیدار میشوند.", "upload_explanation_with_user": "تفییراتی که شما به عنوان {user} بارگذاری میکنید در همه ی نقشه هایی که از داده های OpenStreetMap استفاده میکنند پدیدار میشوند.", - "request_review": "مایل به بازنگری در ویرایش های خود هستم", + "request_review": "می‌خواهم کسی ویرایش‌هایم را بررسی کند.", "save": "بارگزاری", "cancel": "لغو", "changes": "{count} تغییر", @@ -512,7 +512,7 @@ }, "boundaries": { "description": "مرزها", - "tooltip": "مرزهای اداری" + "tooltip": "مرزهای حکومتی" }, "water": { "description": "عناصر آبی", @@ -558,6 +558,7 @@ }, "save": { "title": "ذخیره", + "help": "بررسی تغییرات و ذخیره آن‌ها در OpenStreetMap, آنها را برای دیگران قابل نمایش می سازد.", "no_changes": "تغییراتی برای دخیره نیست.", "error": "هنگامی که تلاش شد ذخیره شود مشکلاتی رخ داد", "status_code": "سرور کد {code} را بازگرداند.", @@ -588,7 +589,8 @@ "success": { "just_edited": "شما OpenStreetMap را ویرایش کردید!", "help_link_text": "جزئیات", - "help_link_url": "https://wiki.openstreetmap.org/wiki/Fa:FAQ#.D9.85.D9.86_.D8.AA.D8.BA.DB.8C.DB.8C.D8.B1.D8.A7.D8.AA.DB.8C_.D8.AF.D8.B1_.D9.86.D9.82.D8.B4.D9.87_.D8.A7.DB.8C.D8.AC.D8.A7.D8.AF_.DA.A9.D8.B1.D8.AF.D9.85.D8.8C_.DA.86.D8.B7.D9.88.D8.B1_.D9.85.DB.8C_.D8.AA.D9.88.D8.A7.D9.86.D9.85_.D9.88.DB.8C.D8.B1.D8.A7.DB.8C.D8.B4_.D9.87.D8.A7.DB.8C_.D8.AE.D9.88.D8.AF_.D8.B1.D8.A7_.D8.A8.D8.A8.DB.8C.D9.86.D9.85.D8.9F" + "help_link_url": "https://wiki.openstreetmap.org/wiki/Fa:FAQ#.D9.85.D9.86_.D8.AA.D8.BA.DB.8C.DB.8C.D8.B1.D8.A7.D8.AA.DB.8C_.D8.AF.D8.B1_.D9.86.D9.82.D8.B4.D9.87_.D8.A7.DB.8C.D8.AC.D8.A7.D8.AF_.DA.A9.D8.B1.D8.AF.D9.85.D8.8C_.DA.86.D8.B7.D9.88.D8.B1_.D9.85.DB.8C_.D8.AA.D9.88.D8.A7.D9.86.D9.85_.D9.88.DB.8C.D8.B1.D8.A7.DB.8C.D8.B4_.D9.87.D8.A7.DB.8C_.D8.AE.D9.88.D8.AF_.D8.B1.D8.A7_.D8.A8.D8.A8.DB.8C.D9.86.D9.85.D8.9F", + "languages": "زبان‌ها: {languages}" }, "confirm": { "okay": "ok", @@ -597,7 +599,8 @@ "splash": { "welcome": "به ویرایشگر ID OpenStreetMap خوش آمدید", "text": "iD یک ابزار دوستانه اما قدرتمند برای کمک کردن به بهترین نقشه رایگان جهان است. این نسخه ی {version} است. برای اطلاعات بیشتر {website} را ببینید و باگ را در {github} گزارش دهید.", - "walkthrough": "آغاز گردش" + "walkthrough": "آغاز گردش", + "start": "حالا ویرایش کن" }, "source_switch": { "live": "زنده", @@ -653,6 +656,7 @@ "features_h": "ویژگی‌های نقشه" }, "editing": { + "title": "ویرایش و ذخیره", "select_h": "انتخاب", "multiselect_h": "انتخاب چندتایی", "save_h": "ذخیره کن", @@ -660,6 +664,9 @@ "backups_h": "بکآپ اتوماتیک", "keyboard_h": "کلید میانبر" }, + "feature_editor": { + "tags_h": "برچسب ها" + }, "points": { "title": "نقاط", "add_point_h": "اضافه کردن نقاط", @@ -669,6 +676,8 @@ "lines": { "title": "خطوط", "add_line_h": "اصافه کردن خطوط", + "modify_line_h": "ویرایش خطوط", + "disconnect_line_h": "قطع اتصال خطوط", "move_line_h": "جابجایی خطوط", "delete_line_h": "پاک کردن خطوط" }, @@ -680,6 +689,13 @@ "relations": { "edit_relation_h": "ویرایش روابط", "multipolygon_h": "چند ضلعی" + }, + "field": { + "restrictions": { + "tips": { + "title": "نکات" + } + } } }, "intro": { @@ -773,7 +789,10 @@ "title": "ویرایش", "drawing": { "title": "نقشه برداری", - "place_point": "ایجاد نقطه" + "add_line": "حالت 'افزودن خط'", + "add_area": "حالت 'افزودن ناحیه'", + "place_point": "ایجاد نقطه", + "stop_line": "اتمام رسم خط یا ناحیه" }, "operations": { "title": "عملیات", @@ -799,6 +818,8 @@ "square_miles": "{quantity} مایل مربع", "meters": "{quantity} متر", "kilometers": "{quantity} کیلومتر", + "square_meters": "{quantity} متر مربع", + "square_kilometers": "{quantity} کیلومتر مربع", "area_pair": "{area1} ({area2})", "arcdegrees": "{quantity}°", "arcminutes": "{quantity}′", @@ -1201,6 +1222,9 @@ "cycleway:right": "سمت راست" } }, + "dance/style": { + "label": "سبک های رقص" + }, "date": { "label": "تاریخ" }, @@ -1713,6 +1737,7 @@ "placeholder": "1, 2, 3..." }, "phone": { + "label": "تلفن", "placeholder": "+31 42 123 4567" }, "piste/difficulty": { @@ -2147,6 +2172,14 @@ "label": "نوع", "placeholder": "پیش فرض" }, + "usage_rail": { + "options": { + "tourism": "توریستی" + } + }, + "vending": { + "label": "نوع اجناس:" + }, "visibility": { "label": "دید", "options": { @@ -2160,7 +2193,7 @@ "options": { "active": "فعال", "dormant": "خاموش", - "extinct": "از بین رفته" + "extinct": "منقرض شده" } }, "volcano/type": { @@ -2490,7 +2523,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سفارت'، با کاما جدا می‌شوند>" }, "amenity/fast_food": { - "name": "غذای آماده", + "name": "فست فود", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'غذای آماده'، با کاما جدا می‌شوند>" }, "amenity/fire_station": { @@ -2498,7 +2531,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه آتش نشانی'، با کاما جدا می‌شوند>" }, "amenity/food_court": { - "name": "بوفه غذا", + "name": "فودکورت", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بوفه غذا'، با کاما جدا می‌شوند>" }, "amenity/fountain": { @@ -2534,7 +2567,7 @@ "terms": "کافه‌ی اینترنت" }, "amenity/kindergarten": { - "name": "پیش دبستانی / محیط کودکستان", + "name": "محوطه پیش دبستانی / مهدکودک", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیش دبستانی / محیط کودکستان'، با کاما جدا می‌شوند>" }, "amenity/library": { @@ -2615,6 +2648,7 @@ "terms": "" }, "amenity/place_of_worship/sikh": { + "name": "معبد سیک", "terms": "" }, "amenity/place_of_worship/taoist": { @@ -2739,7 +2773,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تالار شهر'، با کاما جدا می‌شوند>" }, "amenity/university": { - "name": "محیط دانشگاهی", + "name": "محوطه دانشگاه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محیط دانشگاه'، با کاما جدا می‌شوند>" }, "amenity/vending_machine": { @@ -2750,6 +2784,9 @@ "name": "دستگاه فروش سیگار", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه فروش سیگار'، با کاما جدا می‌شوند>" }, + "amenity/vending_machine/coffee": { + "name": "دستگاه فروش قهوه" + }, "amenity/vending_machine/condoms": { "name": "دستگاه فروش کاندوم", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه فروش کاندوم'، با کاما جدا می‌شوند>" @@ -2763,8 +2800,12 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه خود توزیع کیسه پسماند'، با کاما جدا می‌شوند>" }, "amenity/vending_machine/feminine_hygiene": { + "name": "دستتگاه فروش لوازم بهداشتی زنان", "terms": "" }, + "amenity/vending_machine/food": { + "name": "دستگاه فروش خوراکی" + }, "amenity/vending_machine/ice_cream": { "name": "دستگاه فروش بستنی" }, @@ -2830,6 +2871,7 @@ "terms": "" }, "attraction/animal": { + "name": "حیوان", "terms": "" }, "attraction/big_wheel": { @@ -2945,7 +2987,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دیوار'، با کاما جدا می‌شوند>" }, "boundary/administrative": { - "name": "مرز اداری", + "name": "مرز حکومتی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرز اداری'، با کاما جدا می‌شوند>" }, "building": { @@ -3055,6 +3097,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیش دبستانی / ساختمان کودکستان'، با کاما جدا می‌شوند>" }, "building/mosque": { + "name": "ساختمان مسجد", "terms": "" }, "building/public": { @@ -3074,6 +3117,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سقف'، با کاما جدا می‌شوند>" }, "building/ruins": { + "name": "خرابه های ساختمان", "terms": "" }, "building/school": { @@ -3096,6 +3140,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اصطبل'، با کاما جدا می‌شوند>" }, "building/stadium": { + "name": "ساختمان استادیوم", "terms": "" }, "building/static_caravan": { @@ -3103,6 +3148,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خانه از پیش ساخته متحرک'، با کاما جدا می‌شوند>" }, "building/temple": { + "name": "ساختمان معبد", "terms": "" }, "building/terrace": { @@ -3439,9 +3485,11 @@ "terms": "" }, "healthcare/audiologist": { + "name": "شنوایی سنجی", "terms": "" }, "healthcare/birthing_center": { + "name": "زایشگاه", "terms": "" }, "healthcare/blood_donation": { @@ -3449,8 +3497,12 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز اهدای خون'، با کاما جدا می‌شوند>" }, "healthcare/hospice": { + "name": "آسایشگاه", "terms": "" }, + "healthcare/laboratory": { + "name": "آزمایشگاه پزشکی" + }, "healthcare/midwife": { "name": "ماما", "terms": "" @@ -3459,21 +3511,26 @@ "terms": "" }, "healthcare/optometrist": { + "name": "چشم پزشک", "terms": "" }, "healthcare/physiotherapist": { + "name": "فیزیوتراپیست", "terms": "" }, "healthcare/podiatrist": { + "name": "پاپزشک", "terms": "" }, "healthcare/psychotherapist": { + "name": "روان‎‌درمانگر", "terms": "" }, "healthcare/rehabilitation": { "terms": "" }, "healthcare/speech_therapist": { + "name": "گفتار درمان", "terms": "" }, "highway": { @@ -3548,9 +3605,11 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر'، با کاما جدا می‌شوند>" }, "highway/pedestrian_area": { + "name": "محل عابر پیاده", "terms": "" }, "highway/pedestrian_line": { + "name": "خیابان عابرپیاده", "terms": "" }, "highway/primary": { @@ -3613,6 +3672,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جایگاه خدماتی'، با کاما جدا می‌شوند>" }, "highway/speed_camera": { + "name": "دوربین سرعت", "terms": "" }, "highway/steps": { @@ -3794,7 +3854,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محل دفن زباله'، با کاما جدا می‌شوند>" }, "landuse/meadow": { - "name": "مرغزار", + "name": "علفزار", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'علفزار'، با کاما جدا می‌شوند>" }, "landuse/military": { @@ -3919,7 +3979,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'گودال آتش'، با کاما جدا می‌شوند>" }, "leisure/fitness_centre": { - "name": "مرکز پرورش و تناسب اندام", + "name": "باشگاه تناسب اندام", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز پرورش و تناسب اندام'، با کاما جدا می‌شوند>" }, "leisure/fitness_centre/yoga": { @@ -3949,6 +4009,7 @@ "terms": "" }, "leisure/fitness_station/push-up": { + "name": "محل شنا رفتن", "terms": "" }, "leisure/fitness_station/rings": { @@ -3958,6 +4019,7 @@ "terms": "" }, "leisure/fitness_station/sit-up": { + "name": "محل دراز و نشست", "terms": "" }, "leisure/fitness_station/stairs": { @@ -4055,6 +4117,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین فوتبال'، با کاما جدا می‌شوند>" }, "leisure/pitch/table_tennis": { + "name": "میز پینگ پنگ", "terms": "" }, "leisure/pitch/tennis": { @@ -4374,7 +4437,7 @@ "terms": "" }, "office/administrative": { - "name": "دفتر اداری" + "name": "دفتر حکومتی" }, "office/adoption_agency": { "terms": "" @@ -4564,6 +4627,12 @@ "name": "مولد برق", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مولد برق'، با کاما جدا می‌شوند>" }, + "power/generator/source_nuclear": { + "name": "راکتور هسته‌ای" + }, + "power/generator/source_wind": { + "name": "توربین بادی" + }, "power/line": { "name": "خط نیرو", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خط فشار قوی برق'، با کاما جدا می‌شوند>" @@ -4600,6 +4669,12 @@ "public_transport/station_monorail": { "name": "ایستگاه مونوریل" }, + "public_transport/station_subway": { + "name": "ایستگاه مترو" + }, + "public_transport/station_train": { + "name": "ایستگاه قطار" + }, "railway": { "name": "راه آهن" }, @@ -4662,6 +4737,9 @@ "name": "فروشگاه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه'، با کاما جدا می‌شوند>" }, + "shop/agrarian": { + "name": "فروشگاه لوازم کشاورزی" + }, "shop/alcohol": { "name": "مغازه مشروب فروشی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'Liquor Store'، با کاما جدا می‌شوند>" @@ -4960,6 +5038,9 @@ "name": "نمایندگی موتور سیکلت", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'نمایندگی موتور سیکلت'، با کاما جدا می‌شوند>" }, + "shop/motorcycle_repair": { + "name": "تعمیرگاه موتورسیکلت" + }, "shop/music": { "name": "فروشگاه موسیقی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه موسیقی'، با کاما جدا می‌شوند>" @@ -5000,6 +5081,9 @@ "name": "سمساری", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سمساری'، با کاما جدا می‌شوند>" }, + "shop/perfumery": { + "name": "عطر فروشی" + }, "shop/pet": { "name": "فروشگاه حیوانات خانگی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه حیوانات خانگی'، با کاما جدا می‌شوند>" @@ -5103,6 +5187,9 @@ "name": "فروشگاه بازی ویدئویی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه بازی ویدئویی'، با کاما جدا می‌شوند>" }, + "shop/watches": { + "name": "ساعت فروشی" + }, "shop/water_sports": { "name": "فروشگاه ورزش‌های آبی/شنا ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه ورزش‌های آبی/شنا '، با کاما جدا می‌شوند>" @@ -5252,7 +5339,7 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرز'، با کاما جدا می‌شوند>" }, "type/boundary/administrative": { - "name": "مرز اداری", + "name": "مرز حکومتی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرز اداری'، با کاما جدا می‌شوند>" }, "type/multipolygon": { @@ -5278,6 +5365,18 @@ "name": "دور زدن ممنوع", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دور زدن ممنوع'، با کاما جدا می‌شوند>" }, + "type/restriction/only_left_turn": { + "name": "فقط پیچیدن به چپ" + }, + "type/restriction/only_right_turn": { + "name": "فقط پیچیدن به راست" + }, + "type/restriction/only_straight_on": { + "name": "فقط مستقیم" + }, + "type/restriction/only_u_turn": { + "name": "فقط دورزدن" + }, "type/route": { "name": "مسیر", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر'، با کاما جدا می‌شوند>" @@ -5314,6 +5413,9 @@ "name": "مسیر خط لوله", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر خط لوله'، با کاما جدا می‌شوند>" }, + "type/route/piste": { + "name": "مسیر پیست اسکی" + }, "type/route/power": { "name": "مسیر برق", "terms": "خط انتقال برق" @@ -5641,6 +5743,9 @@ } }, "community": { + "cape-coast-youthmappers": { + "description": "ما را در توییتر دنبال کنید: {url}" + }, "Central-Pennsylvania-OSM": { "name": "پنسیلوانیا مرکزی OSM", "description": "جامعه نقشه برداری آنلاین بر اساس کالج ایالتی، پنسیلوانیا" diff --git a/vendor/assets/iD/iD/locales/fi.json b/vendor/assets/iD/iD/locales/fi.json index 3d65e6e68..85f13c320 100644 --- a/vendor/assets/iD/iD/locales/fi.json +++ b/vendor/assets/iD/iD/locales/fi.json @@ -1321,7 +1321,7 @@ "label": "Erikoisuus", "options": { "foot_bath": "Jalkakylpy", - "hot_spring": "Kuuma lähd", + "hot_spring": "Kuuma lähde", "onsen": "Japanilainen Onsen" } }, @@ -1564,6 +1564,9 @@ "display": { "label": "Näyttö" }, + "distance": { + "label": "Kokonaisetäisyys" + }, "dock": { "label": "Tyyppi" }, @@ -1690,7 +1693,8 @@ "label": "Käsikaide" }, "hashtags": { - "label": "Aihetunnisteet ja hashtagit" + "label": "Aihetunnisteet ja hashtagit", + "placeholder": "#esimerkki" }, "healthcare": { "label": "Tyyppi" @@ -1714,6 +1718,27 @@ "label": "Koritelineet", "placeholder": "1, 2, 4..." }, + "horse_dressage": { + "options": { + "equestrian": "Kyllä", + "undefined": "Ei" + } + }, + "horse_riding": { + "label": "Hevosratsastus", + "options": { + "horse_riding": "Kyllä", + "undefined": "Ei" + } + }, + "horse_scale": { + "label": "Ratsastuksen vaativuus", + "options": { + "common": "Helppo: Ei ongelmia tai haasteita (oletus)", + "critical": "Rajallinen: Saavutettavissa vain kokeneille ratsastajille ja hevosille. Merkittäviä esteitä. Sillat tulee tarkastaa huolella.", + "dangerous": "Vaarallinen: Saavutettavissa vain erittäin kokeneille ratsastajille ja hevosille hyvällä säällä. Jalkaisin." + } + }, "iata": { "label": "IATA" }, @@ -1997,6 +2022,7 @@ "label": "Maksutavat" }, "phone": { + "label": "Puhelin", "placeholder": "+358 40 123 4567" }, "piste/difficulty": { @@ -2047,6 +2073,9 @@ "label": "Voiman ulostulo", "placeholder": "500 MW, 1000 MW, 2000 MW..." }, + "playground/baby": { + "label": "Vauvanistuin" + }, "playground/max_age": { "label": "Yläikäraja" }, @@ -2401,7 +2430,12 @@ "placeholder": "Erinomainen, hyvä, huono..." }, "transformer": { - "label": "Tyyppi" + "label": "Tyyppi", + "options": { + "converter": "Muuntaja", + "distribution": "Jakauma", + "generator": "Generaattori" + } }, "trees": { "label": "Puut" @@ -2409,6 +2443,18 @@ "tunnel": { "label": "Tyyppi" }, + "usage_rail": { + "options": { + "industrial": "Teollinen", + "main": "Tärkein", + "military": "Armeija", + "test": "Testi", + "tourism": "Turismi" + } + }, + "vending": { + "label": "Hyödykkeiden tyyppi" + }, "visibility": { "label": "Näkyvyys", "options": { @@ -2679,6 +2725,9 @@ "name": "Raskaudenkeskeytysklinikka", "terms": "abortti, raskaus, raskauden, keskeytys, raskaudenkesketys, sairaala, terveyskeskus, klinikka" }, + "amenity/clinic/fertility": { + "name": "Hedelmällisyysklinikka" + }, "amenity/clock": { "name": "Kello" }, @@ -4143,6 +4192,9 @@ "man_made/chimney": { "name": "Savupiippu" }, + "man_made/clearcut": { + "name": "Avohakattu metsä" + }, "man_made/crane": { "name": "Nosturi" }, diff --git a/vendor/assets/iD/iD/locales/fr.json b/vendor/assets/iD/iD/locales/fr.json index 7a7d09be5..6d83cf7cc 100644 --- a/vendor/assets/iD/iD/locales/fr.json +++ b/vendor/assets/iD/iD/locales/fr.json @@ -374,7 +374,7 @@ "request_review": "Je souhaite que quelqu'un vérifie mes modifications", "save": "Envoyer", "cancel": "Annuler", - "changes": "{count} modifications", + "changes": "{count} modification(s) :", "download_changes": "Télécharger le fichier osmChange", "warnings": "Attention", "modified": "Modifié", @@ -463,7 +463,7 @@ "documentation_redirect": "Cette documentation a été redirigée vers une nouvelle page", "show_more": "Plus d'informations", "view_on_osm": "Visualiser sur openstreetmap.org", - "all_fields": "Tous les champs", + "all_fields": "Tous les tags", "all_tags": "Tous les tags", "all_members": "Tous les membres", "all_relations": "Toutes les relations", @@ -498,7 +498,7 @@ "way": "Chemin", "relation": "Relation", "location": "Endroit", - "add_fields": "Ajouter champ:" + "add_fields": "Ajouter un tag :" }, "background": { "title": "Fond de carte", @@ -660,7 +660,7 @@ "more": "Plus", "events": "Événements", "languages": "Langues: {languages}", - "missing": "Quelque chose manque-t-il dans cette liste?", + "missing": "Quelque-chose manque-t-il dans cette liste ?", "tell_us": "Dîtes-nous en plus !" }, "confirm": { @@ -715,6 +715,11 @@ "zoom": "Zoomer sur la couche", "browse": "Sélectionnez un fichier" }, + "streetside": { + "tooltip": "Photos Streetside de Microsoft", + "title": "Sucouche photo (Bing Streetside)", + "report": "Signaler un problème relatif à la vie privée sur cette image" + }, "mapillary_images": { "tooltip": "Photos de rue depuis Mapillary", "title": "Surcouche Photo (Mapillary)" @@ -3669,7 +3674,7 @@ "terms": "garages, bloc de garages, boxes, box, hangar, parcages, parkings, voitures, parc de stationnement couvert" }, "building/grandstand": { - "name": "tribune", + "name": "Tribune", "terms": "" }, "building/greenhouse": { @@ -3996,6 +4001,10 @@ "emergency/destination": { "name": "Accessible aux services d'urgences" }, + "emergency/fire_extinguisher": { + "name": "Extincteur d'incendie", + "terms": "Extincteur, incendie, feu, poudre, mousse" + }, "emergency/fire_hydrant": { "name": "Borne incendie", "terms": "Borne incendie, borne-fontaine, borne fontaine, bouche d'incendie" @@ -4597,6 +4606,10 @@ "name": "Observatoire ornithologique", "terms": "Observatoire d'oiseaux" }, + "leisure/bleachers": { + "name": "Gradins", + "terms": "" + }, "leisure/bowling_alley": { "name": "Bowling", "terms": "Jeux de boules,Jeu de quilles,Quilles" @@ -4658,8 +4671,8 @@ "terms": "Barres parallèles" }, "leisure/fitness_station/push-up": { - "name": "Les pompes inclinées en extérieur", - "terms": "Les pompes inclinées en extérieur" + "name": "Équipement pour pompes inclinées en extérieur", + "terms": "" }, "leisure/fitness_station/rings": { "name": "Anneaux de gymnastique ", @@ -4670,8 +4683,8 @@ "terms": "Panneau d'instruction d'un exercice" }, "leisure/fitness_station/sit-up": { - "name": "Équipement de Sit-up en extérieur", - "terms": "Équipement de Sit-up en extérieur" + "name": "Équipement pour abdominaux en extérieur", + "terms": "" }, "leisure/fitness_station/stairs": { "name": "Escalier d'exercices", @@ -6024,6 +6037,10 @@ "name": "Vendeur de motos", "terms": "Vendeur de motocyclettes" }, + "shop/motorcycle_repair": { + "name": "Réparateur de motos", + "terms": "Réparateur de motos" + }, "shop/music": { "name": "Magasin de musique", "terms": "Magasin de musique" @@ -6930,6 +6947,10 @@ "description": "Rencontres irrégulières de la communauté OpenStreetMap à Chiang Mai", "extendedDescription": "Les membres de la communauté OpenStreetMap se rencontrent tous les quelques mois à Chiang Mai. Contactez-nous et regardez {url} pour voir quand notre prochaine rencontre est prévue" }, + "OSM-TH-facebook": { + "name": "Groupe Facebook OpenStreetMap TH", + "description": "Groupe Facebook pour les cartographes en thaïlande" + }, "OSM-TH-forum": { "name": "Forum OpenStreetMap TH", "description": "Forum web d'OpenStreetMap Thaïlande" @@ -7011,8 +7032,20 @@ "name": "Fil Twitter d'OpenStreetMap Belgique", "description": "OSM Belgique sur Twitter: @osm_be" }, + "czech-community": { + "name": "Communauté OSM tchèque", + "description": "Portail cartographique, site web et contacts des membres OSM en République Tchèque" + }, + "osmcz-facebook": { + "name": "OpenStreetMap CZ sur Facebook", + "description": "Suivez la communauté tchèque sur Facebook - dont la traduction des HebdoOSM !" + }, + "osmcz-twitter": { + "name": "Twitter tchèque @osmcz", + "description": "Suivez la communauté tchèque sur Twitter - dont la traduction des HebdoOSM !" + }, "talk-cz-mailinglist": { - "name": "Liste de diffusion talk-cz", + "name": "Liste de diffusion tchèque (talk-cz)", "description": "Talk-cz est la liste de diffusion officielle pour la communauté tchèque" }, "dk-forum": { @@ -7091,6 +7124,10 @@ "name": "Liste de diffusion OWL", "description": "Il s'agit de la liste de diffusion pour la communauté OSM en Westphalie Est-Lippe" }, + "de-telegram": { + "name": "Telegram d'OpenStreetMap Allemagne", + "description": "Rejoignez le groupe Telegram d'OpenStreetMap Allemagne sur {url}" + }, "osm-de": { "name": "OpenStreetMap Allemagne", "description": "La plate-forme pour l'information sur OpenStreetMap en Allemagne" @@ -7513,6 +7550,10 @@ "name": "OpenStreetMap sur Reddit", "description": "/r/openstreetmap/ est un super endroit pour en apprendre plus sur OpenStreetMap. Demandez-nous tout ce que vous voulez !" }, + "OSM-Telegram": { + "name": "Telegram d'OpenStreetMap", + "description": "Rejoignez le groupe Telegram d'OpenStreetMap sur {url}" + }, "OSM-Twitter": { "name": "Fil Twitter d'OpenStreetMap", "description": "Suivez-nous sur Twitter à l'adresse {url}" diff --git a/vendor/assets/iD/iD/locales/gl.json b/vendor/assets/iD/iD/locales/gl.json index 25b73623d..4ff3b251c 100644 --- a/vendor/assets/iD/iD/locales/gl.json +++ b/vendor/assets/iD/iD/locales/gl.json @@ -1184,13 +1184,13 @@ "name": "Usos do solo" }, "category-natural-area": { - "name": "Recurso Natural" + "name": "Características naturais" }, "category-natural-line": { - "name": "Recurso Natural" + "name": "Características naturais" }, "category-natural-point": { - "name": "Recurso Natural" + "name": "Características naturais" }, "category-path": { "name": "Características de camiño" @@ -1262,7 +1262,7 @@ "address": { "label": "Enderezo", "placeholders": { - "block_number": "Bloque Número", + "block_number": "Número de bloque", "block_number!jp": "Bloque Nº", "city": "Cidade", "city!jp": "Concello/Cidade/Vila/Barrio Especial de Tokio", @@ -1386,7 +1386,7 @@ } }, "beauty": { - "label": "Tipo de Tenda" + "label": "Tipo de tenda" }, "bench": { "label": "Banco" @@ -1771,7 +1771,7 @@ "label": "Tipo" }, "historic/civilization": { - "label": "Civilización Histórica" + "label": "Civilización histórica" }, "hoops": { "label": "Canastras", @@ -1934,7 +1934,7 @@ "label": "Tipo" }, "maxheight": { - "label": "Máxima Altura", + "label": "Altura máxima", "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" }, "maxspeed": { @@ -1946,10 +1946,10 @@ "placeholder": "40, 50, 60..." }, "maxstay": { - "label": "Estancia Máxima" + "label": "Estancia máxima" }, "maxweight": { - "label": "Peso Máximo" + "label": "Peso máximo" }, "memorial": { "label": "Tipo" @@ -2001,7 +2001,7 @@ "label": "Rede" }, "network_bicycle": { - "label": "Tipo de Rede", + "label": "Tipo de rede", "options": { "icn": "Internacional", "lcn": "Local", @@ -2011,7 +2011,7 @@ "placeholder": "Local, Rexional, Nacional, Internacional" }, "network_foot": { - "label": "Tipo de Rede", + "label": "Tipo de rede", "options": { "iwn": "Internacional", "lwn": "Local", @@ -2095,6 +2095,7 @@ "placeholder": "1, 2, 3..." }, "phone": { + "label": "Teléfono", "placeholder": "+34 989 12 34 56" }, "piste/difficulty": { @@ -2176,7 +2177,7 @@ "label": "Acepta" }, "ref": { - "label": "Código de Referencia" + "label": "Código de referencia" }, "ref_aeroway_gate": { "label": "Número de porta" @@ -2505,7 +2506,11 @@ "placeholder": "Por defecto" }, "usage_rail": { - "label": "Tipo de uso" + "label": "Tipo de uso", + "options": { + "military": "Militar", + "tourism": "Turismo" + } }, "visibility": { "label": "Visibilidade", @@ -3048,7 +3053,7 @@ "terms": "campus, universidade" }, "amenity/vending_machine": { - "name": "Máquina de Vending", + "name": "Máquina expendedora", "terms": "vending, expendedora" }, "amenity/vending_machine/cigarettes": { @@ -3516,6 +3521,9 @@ "name": "Andamista", "terms": "andamios, andamista" }, + "craft/sculptor": { + "name": "Escultor" + }, "craft/shoemaker": { "name": "Zapateiro", "terms": "zapateiro, zapatos" @@ -3564,6 +3572,9 @@ "emergency/destination": { "name": "Acceso de emerxencia como destino" }, + "emergency/fire_extinguisher": { + "name": "Extintor" + }, "emergency/fire_hydrant": { "name": "Boca de incendio" }, @@ -3649,6 +3660,9 @@ "name": "Camiño de ferradura", "terms": "camiño, ferradura, cabalo" }, + "highway/bus_stop": { + "name": "Parada/plataforma de autobús" + }, "highway/corridor": { "name": "Corredor interior", "terms": "corredor, pasillo" @@ -3848,6 +3862,9 @@ "name": "Cunca", "terms": "cunca, auga" }, + "landuse/brownfield": { + "name": "Solar anteriormente edificado" + }, "landuse/cemetery": { "name": "Cemiterio" }, @@ -3878,6 +3895,9 @@ "name": "Céspede", "terms": "céspede, herba" }, + "landuse/greenfield": { + "name": "Solar urbanizable" + }, "landuse/harbour": { "name": "Peirao", "terms": "peirao, porto, muelle" @@ -3978,6 +3998,9 @@ "leisure/dance": { "name": "Sala de baile" }, + "leisure/dancing_school": { + "name": "Escola de danza" + }, "leisure/dog_park": { "name": "Parque canino" }, @@ -4119,6 +4142,9 @@ "name": "Entrada a mina", "terms": "entrada, mina, minería, cova, galería, túnel" }, + "man_made/antenna": { + "name": "Antena" + }, "man_made/breakwater": { "name": "Rompeondas", "terms": "rompeolas, rompeondas, quebraondas, crebaondas, dique" @@ -4156,10 +4182,16 @@ "name": "Mastro", "terms": "mastro, pau, poste, hasta, antena, telefonía, comunicación, torre" }, + "man_made/monitoring_station": { + "name": "Estación meteorolóxica" + }, "man_made/observation": { "name": "Torre de observación", "terms": "torre, observación, atalaia, vixilancia" }, + "man_made/observatory": { + "name": "Observatorio" + }, "man_made/petroleum_well": { "name": "Pozo petrolífero", "terms": "pozo, petróleo, petrolífero" @@ -4270,10 +4302,16 @@ "name": "Uceira", "terms": "uceira, breixeira, moural, urceira, uzal, herba, arbustos, gamallos" }, + "natural/mud": { + "name": "Barro" + }, "natural/peak": { "name": "Cume", "terms": "pico, cume, montaña, monte, cúspide" }, + "natural/reef": { + "name": "Arrecife" + }, "natural/ridge": { "name": "Cume" }, @@ -4300,7 +4338,7 @@ "name": "Árbore" }, "natural/tree_row": { - "name": "Fila de arbores", + "name": "Fila de árbores", "terms": "fila, ringleira, árbores" }, "natural/volcano": { @@ -4334,9 +4372,27 @@ "office": { "name": "Oficina" }, + "office/accountant": { + "name": "Contable" + }, "office/administrative": { "name": "Administración local" }, + "office/adoption_agency": { + "name": "Axencia de adopción" + }, + "office/advertising_agency": { + "name": "Axencia publicitaria" + }, + "office/architect": { + "name": "Arquitecto" + }, + "office/association": { + "name": "Oficina de organización sen ánimo de lucro" + }, + "office/company": { + "name": "Oficina corporativa" + }, "office/coworking": { "name": "Espacio de cotraballo" }, @@ -4346,6 +4402,9 @@ "office/employment_agency": { "name": "Oficina de emprego" }, + "office/energy_supplier": { + "name": "Oficina de empresa enerxética" + }, "office/estate_agent": { "name": "Axencia inmobiliaria" }, @@ -4358,10 +4417,16 @@ "office/government/register_office": { "name": "Oficina de rexistro civil" }, + "office/guide": { + "name": "Oficina de guías turísticos" + }, "office/insurance": { "name": "Oficina de seguros", "terms": "seguros, aseguradora" }, + "office/it": { + "name": "Oficina de tecnoloxías da información" + }, "office/lawyer": { "name": "Bufete", "terms": "bufete, avogados, legal" @@ -4369,25 +4434,46 @@ "office/lawyer/notary": { "name": "Notaría" }, + "office/moving_company": { + "name": "Empresa de mudanzas" + }, + "office/newspaper": { + "name": "Oficina de xornal" + }, "office/ngo": { "name": "Oficina ONG" }, + "office/notary": { + "name": "Notaría" + }, "office/physician": { "name": "Médico" }, "office/political_party": { "name": "Partido político" }, + "office/private_investigator": { + "name": "Oficina de investigador privado" + }, "office/research": { "name": "Oficina de investigación", "terms": "investigación, desenvolvemento, I+D, laboratorio" }, + "office/tax_advisor": { + "name": "Oficina de xestor fiscal" + }, "office/telecommunication": { "name": "Oficina de telecomunicacións" }, + "office/therapist": { + "name": "Oficina de terapeuta" + }, "office/travel_agent": { "name": "Axencia de viaxes" }, + "office/water_utility": { + "name": "Oficina de servizos públicos de auga" + }, "piste": { "name": "Pista de esquí" }, @@ -4407,6 +4493,9 @@ "name": "Illa", "terms": "illa, isla, illote, insua" }, + "place/islet": { + "name": "Illote" + }, "place/isolated_dwelling": { "name": "Vivenda illada" }, @@ -4416,6 +4505,9 @@ "place/neighbourhood": { "name": "Barrio" }, + "place/plot": { + "name": "Parcela" + }, "place/quarter": { "name": "Sub-municipio / Distrito" }, @@ -4475,6 +4567,69 @@ "power/transformer": { "name": "Transformador" }, + "public_transport/linear_platform": { + "name": "Parada/plataforma de autobús" + }, + "public_transport/linear_platform_bus": { + "name": "Parada/plataforma de autobús" + }, + "public_transport/linear_platform_subway": { + "name": "Parada/plataforma de metro" + }, + "public_transport/linear_platform_train": { + "name": "Parada/plataforma de tren" + }, + "public_transport/linear_platform_tram": { + "name": "Parada/plataforma de tranvía" + }, + "public_transport/platform": { + "name": "Parada/plataforma de transporte público" + }, + "public_transport/platform_bus": { + "name": "Parada/plataforma de autobús" + }, + "public_transport/platform_subway": { + "name": "Parada/plataforma de metro" + }, + "public_transport/platform_train": { + "name": "Parada/plataforma de tren" + }, + "public_transport/platform_tram": { + "name": "Parada/plataforma de tranvía" + }, + "public_transport/station": { + "name": "Estación de transporte público" + }, + "public_transport/station_bus": { + "name": "Estación de autobuses" + }, + "public_transport/station_subway": { + "name": "Estación de metro" + }, + "public_transport/station_train": { + "name": "Estación de tren" + }, + "public_transport/station_tram": { + "name": "Estación de tranvía" + }, + "public_transport/stop_area": { + "name": "Zona de parada de transporte público" + }, + "public_transport/stop_position": { + "name": "Punto de parada de transporte público" + }, + "public_transport/stop_position_bus": { + "name": "Punto de parada de autobús" + }, + "public_transport/stop_position_subway": { + "name": "Punto de parada de metro" + }, + "public_transport/stop_position_train": { + "name": "Punto de parada de tren" + }, + "public_transport/stop_position_tram": { + "name": "Punto de parada de tranvía" + }, "railway": { "name": "Ferrocarril" }, @@ -4542,6 +4697,9 @@ "shop": { "name": "Tenda" }, + "shop/agrarian": { + "name": "Tenda de suministros agrícolas" + }, "shop/alcohol": { "name": "Licorería" }, @@ -4743,6 +4901,9 @@ "shop/jewelry": { "name": "Xoiería" }, + "shop/kiosk": { + "name": "Quiosco" + }, "shop/kitchen": { "name": "Tenda de cociñas" }, @@ -4778,6 +4939,9 @@ "shop/motorcycle": { "name": "Concesionario de motocicletas" }, + "shop/motorcycle_repair": { + "name": "Taller de reparación de motocicletas" + }, "shop/music": { "name": "Tenda de música" }, @@ -4905,6 +5069,9 @@ "shop/weapons": { "name": "Armería" }, + "shop/wholesale": { + "name": "Almacén ao por maior" + }, "shop/window_blind": { "name": "Tenda de persianas" }, @@ -4955,7 +5122,8 @@ "name": "Placa de información" }, "tourism/information/guidepost": { - "name": "Posto Guía" + "name": "Poste indicador", + "terms": "indicador, poste indicador, cartel indicador" }, "tourism/information/map": { "name": "Mapa" @@ -4985,13 +5153,14 @@ "name": "Acougo de Tráfico" }, "traffic_calming/bump": { - "name": "Banda de frenado" + "name": "Banda de freado", + "terms": "reductora de velocidade, banda de frenado, badén" }, "traffic_calming/chicane": { "name": "Chicán de Tráfico" }, "traffic_calming/choker": { - "name": "Choker de tráfico" + "name": "Estreitamento" }, "traffic_calming/cushion": { "name": "Almofa de Velocidade" @@ -5000,13 +5169,15 @@ "name": "Soterrado" }, "traffic_calming/hump": { - "name": "Speed Hump" + "name": "Badén", + "terms": "badén, reductora de velocidade" }, "traffic_calming/island": { "name": "Illa de Tráfico" }, "traffic_calming/rumble_strip": { - "name": "Rumble Faixa" + "name": "Bandas sonoras", + "terms": "bandas reductoras de velocidade, bandas sonoras" }, "type/boundary": { "name": "Límite" @@ -5042,46 +5213,52 @@ "name": "Ruta de autobús" }, "type/route/detour": { - "name": "Ruta de Desvío" + "name": "Ruta de desvío" }, "type/route/ferry": { - "name": "Ruta do Ferry" + "name": "Ruta do ferry" }, "type/route/foot": { - "name": "Rúa a Pé" + "name": "Rúa a pé" }, "type/route/hiking": { - "name": "Ruta de Camiñata" + "name": "Ruta de camiñata" }, "type/route/horse": { - "name": "Ruta de Equitación" + "name": "Ruta de equitación" }, "type/route/pipeline": { - "name": "Ruta de Tubaría" + "name": "Ruta de tubaría" }, "type/route/power": { - "name": "Ruta de Enerxía" + "name": "Ruta de enerxía" }, "type/route/road": { - "name": "Ruta de Estrada" + "name": "Ruta de estrada" + }, + "type/route/subway": { + "name": "Ruta de metro" }, "type/route/train": { - "name": "Ruta de Tren" + "name": "Ruta de tren" }, "type/route/tram": { - "name": "Ruta de Tranvía" + "name": "Ruta de tranvía" }, "type/route_master": { - "name": "Ruta Mestre" + "name": "Ruta mestra" }, "type/site": { "name": "Lugar" }, + "type/waterway": { + "name": "Vía de auga" + }, "vertex": { "name": "Outro" }, "waterway": { - "name": "Vía de Auga" + "name": "Vía de auga" }, "waterway/boatyard": { "name": "Estaleiro" @@ -5102,7 +5279,7 @@ "name": "Cuneta" }, "waterway/fuel": { - "name": "Estación Mariá de Fuel" + "name": "Gasolineira para embarcacións" }, "waterway/river": { "name": "Río", @@ -5118,8 +5295,11 @@ "name": "Regato", "terms": "río, regato, rego, torrente, auga" }, + "waterway/stream_intermittent": { + "name": "Regato intermitente" + }, "waterway/water_point": { - "name": "Auga Potable Mariña" + "name": "Auga potable para embarcacións" }, "waterway/waterfall": { "name": "Fervenza" diff --git a/vendor/assets/iD/iD/locales/he.json b/vendor/assets/iD/iD/locales/he.json index 1d506872b..c23560c28 100644 --- a/vendor/assets/iD/iD/locales/he.json +++ b/vendor/assets/iD/iD/locales/he.json @@ -2,8 +2,8 @@ "he": { "icons": { "information": "מידע", - "remove": "הסר", - "undo": "בטל" + "remove": "הסרה", + "undo": "ביטול" }, "modes": { "add_area": { @@ -23,7 +23,7 @@ }, "browse": { "title": "עיון", - "description": "הזז את המפה והתמקד בה." + "description": "ניתן להזיז את המפה ולהתמקד בה." }, "draw_area": { "tail": "יש ללחוץ כדי להוסיף קודקודים לאזור שלך. יש ללחוץ שוב על הקודקוד הראשון כדי לסיים את ציור האיזור." @@ -209,12 +209,12 @@ }, "description": { "long": { - "single": "שקף את הצורה לאורך ציר האורך שלה.", - "multiple": "שקף את הצורות לאורך ציר האורך שלהן." + "single": "שיקוף הצורה לאורך ציר האורך שלה.", + "multiple": "שיקוף הצורות לאורך ציר האורך שלהן." }, "short": { - "single": "שקף את הצורה לאורך הציר הקצר שלה.", - "multiple": "שקף את הצורות לאורך הציר הקצר שלהן." + "single": "שיקוף הצורה לאורך הציר הקצר שלה.", + "multiple": "שיקוף הצורות לאורך הציר הקצר שלהן." } }, "key": { @@ -1359,10 +1359,10 @@ "name": "מאפייני הגבלה" }, "category-road": { - "name": "מאפייני כביש" + "name": "מאפייני דרך" }, "category-route": { - "name": "מאפפיני שביל" + "name": "מאפייני שביל" }, "category-water-area": { "name": "מאפייני מים" @@ -1376,7 +1376,7 @@ "label": "הכניסה מותרת", "options": { "designated": { - "description": "הגיש מותרת לפי שילוט", + "description": "הגישה מותרת לפי שילוט או חוקים מקומיים", "title": "מיועד" }, "destination": { @@ -1385,7 +1385,7 @@ }, "dismount": { "description": "הגישה מותרת ללא רכיבה", - "title": "ירידה מסוס\\אופניים" + "title": "ירידה מסוס/אופניים" }, "no": { "description": "הכניסה אסורה לקהל הרחב", @@ -1396,7 +1396,7 @@ "title": "מתירני" }, "private": { - "description": "הכניסה מותרת רק עם אישור מבעל המקום", + "description": "הכניסה מותרת רק עם אישור מבעל המקום על בסיס פרטני", "title": "פרטי" }, "yes": { @@ -1422,14 +1422,14 @@ "block_number": "מספר שכונה", "block_number!jp": "מספר שכונה", "city": "עיר", - "city!jp": "עיר\\עירה\\ישוב", - "city!vn": "עיר\\יעיריה", + "city!jp": "עיר/עיריה/יישוב", + "city!vn": "עיר/עיריה", "conscriptionnumber": "123", "country": "מדינה", "county": "נפה", "county!jp": "מחוז", "district": "מחוז", - "district!vn": "עיר\\עירה\\ישוב", + "district!vn": "מחוז/עיר/עיריה/יישוב", "floor": "קומה", "hamlet": "כפר", "housename": "שם הבית", @@ -1440,13 +1440,13 @@ "place": "מקום", "postcode": "מיקוד", "province": "מחוז", - "province!jp": " תחום שיפוטו של מושל\\משטרה", + "province!jp": " תחום שיפוט של מושל/משטרה", "quarter": "רובע", "quarter!jp": "כתובת יפנית", "state": "מדינה", "street": "רחוב", - "subdistrict": "תת-מחוז", - "subdistrict!vn": "כפר", + "subdistrict": "תת־מחוז", + "subdistrict!vn": "כפר/מושב/יישוב", "suburb": "פרוור", "suburb!jp": "כפר", "unit": "יחידה" @@ -1606,13 +1606,13 @@ "label": "סוג המצלמה", "options": { "dome": "כיפה", - "fixed": "מתוקן", - "panning": "צילום פנוראמי" + "fixed": "קבוע", + "panning": "צילום פנורמי" } }, "capacity": { "label": "קיבולת", - "placeholder": "50, 100, 200" + "placeholder": "50, 100, 200…" }, "castle_type": { "label": "סוג" @@ -1628,7 +1628,7 @@ }, "comment": { "label": "הערה על ערכת שינויים", - "placeholder": "הסבר בקצרה על התרומות שלך (חובה)" + "placeholder": "הסבר קצר על התרומות שלך (חובה)" }, "communication_multi": { "label": "סוגי התקשורת" @@ -1638,7 +1638,7 @@ }, "contact/webcam": { "label": "כתובת המצלמה", - "placeholder": "http://example.com/" + "placeholder": "http://example.com/‎" }, "content": { "label": "תוכן" @@ -1691,34 +1691,34 @@ "title": "אין" }, "opposite": { - "description": "נתיב אופניים דו סיטרי בכביש חד-סיטירי", + "description": "נתיב אופניים דו־סטרי בכביש חד־סטרי", "title": "נתיב אופניים נגד כיוון התנועה" }, "opposite_lane": { - "description": "נתיב אופניים נגד כיוון התנועה", - "title": "נתיב אופניים נגד כיוון התנועה" + "description": "נתיב אופניים שכיוונו מנוגד לכיוון התנועה", + "title": "נתיב אופניים מאוחד" }, "share_busway": { - "description": "נתיב אוופניים שמשותף עם אוטובוסים", - "title": "נתיב אוופניים שמשותף עם אוטובוסים" + "description": "נתיב אופניים משותף עם אוטובוסים", + "title": "נתיב אופניים משותף עם אוטובוסים" }, "shared_lane": { "description": "נתיב אופניים בלי הפרדה מתחבורה", "title": "נתיב אופניים משותף" }, "track": { - "description": "נתיב אופניים עם מחסום", + "description": "נתיב אופניים מופרד פיזית", "title": "שביל אופניים" } }, - "placeholder": "בכלל לא", + "placeholder": "אין", "types": { "cycleway:left": "צד שמאל", "cycleway:right": "צד ימין" } }, "dance/style": { - "label": "סוגי ריקוד" + "label": "סגנונות ריקוד" }, "date": { "label": "תאריך" @@ -1737,7 +1737,7 @@ }, "devices": { "label": "התקנים", - "placeholder": "1, 2, 3" + "placeholder": "1, 2, 3…" }, "diaper": { "label": "יש החלפת חיתולים" @@ -1778,7 +1778,7 @@ "label": "כיוון", "options": { "backward": "אחורה", - "both": "שניהם \\ כולם", + "both": "שניהם / כולם", "forward": "קדימה" } }, @@ -1804,7 +1804,7 @@ "electrified": { "label": "חישמול", "options": { - "contact_line": "קו ליצירת קשר", + "contact_line": "טלפון ליצירת קשר", "no": "אין", "rail": "מסילה מחושמלת", "yes": "יש (לא צוין)" @@ -1856,8 +1856,8 @@ "fire_hydrant/type": { "label": "סוג", "options": { - "pillar": "עמוד\\מעל האדמה", - "pond": "בריכת דגים\\נוי", + "pillar": "עמוד/מעל האדמה", + "pond": "בריכת דגים/נוי", "underground": "תת־קרקעי", "wall": "קיר" } @@ -1898,7 +1898,7 @@ }, "generator/output/electricity": { "label": "הספק", - "placeholder": "50 MW, 100 MW, 200 MW" + "placeholder": "‎50 MW,‏ ‎100 MW,‏ ‎200 MW…" }, "generator/source": { "label": "מקור" @@ -1920,8 +1920,8 @@ "label": "מעקה" }, "hashtags": { - "label": "Hashtag מומלץ", - "placeholder": "#דוגמא" + "label": "תגית מומלצת", + "placeholder": "#דוגמה" }, "healthcare": { "label": "סוג" @@ -1948,22 +1948,28 @@ "horse_dressage": { "label": "רכיבה אומנותית", "options": { - "equestrian": "כן", - "undefined": "לא" + "equestrian": "יש", + "undefined": "אין" } }, "horse_riding": { "label": "רכיבה על סוסים", "options": { - "horse_riding": "כן", - "undefined": "לא" + "horse_riding": "יש", + "undefined": "אין" } }, "horse_scale": { - "label": "קושי הרכיבה על סוסים", + "label": "קושי ברכיבה על סוסים", "options": { - "common": "קל: אין בעיות או קשיים. (בררת מחדל)" - } + "common": "קל: אין בעיות או קשיים. (בררת מחדל)", + "critical": "גבולי: המעבר אפשרי לרוכבים ולסוסים מנוסים. מכשולים משמעותיים. כדאי לבחון את הגשרים היטב.", + "dangerous": "מסוכן: המעבר אפשרי לרוכבים וסוים מנוסים מאוד ובמזג אוויר טוב. כנראה מוטב לרדת מהסוס בחלקים מהמסלול.", + "demanding": "להשתמש בזהירות: דרך בלתי מאוזנת, מעבר קשה ברוב המקרים.", + "difficult": "קשה: הדרך צרה וחשופה. עשויה להכיל מכשולים שעשויים להפיל את הרוכב וגם מעברים צרים.", + "impossible": "בלתי אפשרי: דרך או גשר שלא ניתן לעבור על גבי סוסים. צרה מדי, אין מספיק תמיכה, מכשולים כגון סולמות. סכנת חיים." + }, + "placeholder": "קשה, מסוכן…" }, "horse_stables": { "label": "אורוות רכיבה", @@ -1998,7 +2004,7 @@ "label": "סוג" }, "inscription": { - "label": "הקדשה" + "label": "חריטה" }, "intermittent": { "label": "תקופתי" @@ -2040,22 +2046,22 @@ "placeholder": "0" }, "leaf_cycle": { - "label": "מחזו עלים", + "label": "מחזור עלים", "options": { "deciduous": "נשירים", - "evergreen": "ירוק-עד", + "evergreen": "ירוק־עד", "mixed": "מעורב", "semi_deciduous": "חצי נשירים", - "semi_evergreen": "חצי ירוק-עד" + "semi_evergreen": "חצי ירוק־עד" } }, "leaf_cycle_singular": { - "label": "מחזו עלים", + "label": "מחזור עלים", "options": { "deciduous": "נשירים", - "evergreen": "ירוק-עד", + "evergreen": "ירוק־עד", "semi_deciduous": "חצי נשירים", - "semi_evergreen": "חצי ירוק-עד" + "semi_evergreen": "חצי ירוק־עד" } }, "leaf_type": { @@ -2089,7 +2095,7 @@ "placeholder": "2, 4, 6" }, "lit": { - "label": "דלוק" + "label": "מואר" }, "location": { "label": "מיקום" @@ -2108,18 +2114,18 @@ }, "maxheight": { "label": "גובה מרבי", - "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + "placeholder": "4, 4.5, 5, ‎14'0\"‎,‏ ‎14'6\"‎,‏ ‎15'0\"‎‎" }, "maxspeed": { "label": "מגבלת מהירות", - "placeholder": "40, 50, 60" + "placeholder": "40, 50, 60…" }, "maxspeed/advisory": { - "label": "מהירות מותרת", - "placeholder": "40, 50, 60" + "label": "הגבלת מהירות מומלצת", + "placeholder": "40, 50, 60…" }, "maxstay": { - "label": "זמן המותר להישאר" + "label": "זמן השהיה המרבי" }, "maxweight": { "label": "משקל מרבי" @@ -2131,15 +2137,20 @@ "label": "פיקוח" }, "mtb/scale": { - "label": "רמת קושי באופניים", + "label": "רמת קושי באופני הרים", "options": { - "5": "5: קושי מירבי, שדות סלעים, מפולות", - "6": "6: לא ניתן לרכוב עם אופניים מלבד מקצוענים" + "0": "0: חצץ יציב/אדמה דחוסה, ללא מכשולים, פיתולים רחבים", + "1": "1: משטח מעט רופף, מכשולים קטנים, פיתולים רחבים", + "2": "2: משטח רופף במיוחד, מכשולים גדולים, סיבובים קלים", + "3": "3: משטח חלק, מכשולים גדולים, פניות חדות", + "4": "4: משטח רעוע ביותר או סלעים גדולים, פניות מסוכנות", + "5": "5: קושי מירבי, מסלעות, מפולות", + "6": "6: לא ניתן לרכוב עם אופניים מלבד רוכבי אופני הרים מקצוענים" }, "placeholder": "0, 1, 2, 3..." }, "mtb/scale/imba": { - "label": "דרגת קושי בלתי אפשרי", + "label": "קושי מסלול לפי IMBA", "options": { "0": "הכי קל (עיגול לבן)", "1": "קל (עיגול ירוק)", @@ -2150,7 +2161,15 @@ "placeholder": "קל, בינוני, קשה..." }, "mtb/scale/uphill": { - "label": "רמת קושי אופני הרים", + "label": "רמת קושי באופני הרים בעליה", + "options": { + "0": "0: שיפוע ממוצע <10%, חצץ/אדמה דחוסה, ללא מכשולים", + "1": "1: שיפוע ממוצע <15%, חצץ/אדמה דחוסה, מכשולים מעטים", + "2": "0: שיפוע ממוצע <10%, משטח יציב, אבנים בגודל אגרוף/שורשים", + "3": "3: שיפוע ממוצע <25%, משטח משתנה, אבנים בגודל אגרוף/ענפים", + "4": "4: שיפוע ממוצע <30%, תנאים קשים, אבנים גדולות וענפים", + "5": "5: תלול מאוד, בדרך כלל דוחפים או סוחבים את האופניים" + }, "placeholder": "0, 1, 2, 3..." }, "name": { @@ -2166,32 +2185,32 @@ "network_bicycle": { "label": "סוג רשת", "options": { - "icn": "בינלאומי", - "lcn": "מקומי", - "ncn": "לאומי", - "rcn": "אזורי" + "icn": "בינלאומית", + "lcn": "מקומית", + "ncn": "לאומית", + "rcn": "אזורית" }, - "placeholder": "מקומי,אזורי, לאומי, בינלאומי" + "placeholder": "מקומית, אזורית, לאומית, בינלאומית" }, "network_foot": { "label": "סוג רשת", "options": { - "iwn": "בינלאומי", - "lwn": "מקומי", - "nwn": "לאומי", - "rwn": "אזורי" + "iwn": "בינלאומית", + "lwn": "מקומית", + "nwn": "לאומית", + "rwn": "אזורית" }, - "placeholder": "מקומי,אזורי, לאומי, בינלאומי" + "placeholder": "מקומית, אזורית, לאומית, בינלאומית" }, "network_horse": { "label": "סוג רשת", "options": { - "ihn": "בינלאומי", - "lhn": "מקומי", - "nhn": "לאומי", - "rhn": "אזורי" + "ihn": "בינלאומית", + "lhn": "מקומית", + "nhn": "לאומית", + "rhn": "אזורית" }, - "placeholder": "מקומי,אזורי, לאומי, בינלאומי" + "placeholder": "מקומית, אזורית, לאומית, בינלאומית" }, "network_road": { "label": "רשת" @@ -2206,20 +2225,20 @@ "label": "חד־סטרי", "options": { "alternating": "נתיב מתחלף", - "no": "אין", - "reversible": "יכול להיתפך", + "no": "לא", + "reversible": "הפיך", "undefined": "כנראה שלא", - "yes": "יש" + "yes": "כן" } }, "oneway_yes": { "label": "חד־סטרי", "options": { "alternating": "נתיב מתחלף", - "no": "אין", - "reversible": "יכול להיתפך", - "undefined": "כנרא שכן", - "yes": "יש" + "no": "כן", + "reversible": "הפיך", + "undefined": "כנראה שכן", + "yes": "כן" } }, "opening_hours": { @@ -2232,7 +2251,7 @@ "label": "ישיבה בחוץ" }, "par": { - "label": "ערך", + "label": "תקן", "placeholder": "3, 4, 5..." }, "park_ride": { @@ -2241,9 +2260,11 @@ "parking": { "label": "סוג", "options": { - "carports": "אחסון מכוניות", - "multi-storey": "רב-קומתי", - "sheds": "מחסן", + "carports": "חניות מקורות", + "garage_boxes": "מוסך קופסה", + "lane": "לצד הכביש", + "multi-storey": "רב־קומתי", + "sheds": "מסוכך", "surface": "משטח", "underground": "תת־קרקעי" } @@ -2252,7 +2273,7 @@ "label": "צורות תשלום" }, "phases": { - "label": "שלבים", + "label": "פאזות", "placeholder": "1, 2, 3..." }, "phone": { @@ -2266,31 +2287,34 @@ "easy": "קל (עיגול ירוק)", "expert": "קשה מאוד (שני יהלומים שחורים)", "extreme": "קיצוני (דורש ציוד טיפוס)", + "freeride": "מחוץ למסלול", "intermediate": "בינוני (ריבוע כחול)", "novice": "קל מאוד (למטרות לימוד)" }, "placeholder": "קל, בינוני, קשה..." }, "piste/grooming": { - "label": "טיפוח", + "label": "גרומינג", "options": { - "classic": "קלאסי", - "mogul": "סקי מוגול'", - "scooter": "קורקינט\\רכב שלג", - "skating": "סקייטינג" + "backcountry": "ללא סימון", + "classic": "קלסי", + "classic+skating": "קלסי ומגלשיים", + "mogul": "מוגול", + "scooter": "אופנוע שלג", + "skating": "מגלשיים" } }, "piste/type": { "label": "סוג", "options": { "downhill": "מורד", - "hike": "טיול רגל", + "hike": "טיול רגלי", "ice_skate": "החלקרח", "nordic": "נורדי", "playground": "גן שעשועים", "skitour": "סיור סקי", - "sled": "מזחלת", - "sleigh": "מזחלת", + "sled": "מזחלת פתוחה", + "sleigh": "מזחלת סגורה", "snow_park": "פארק שלג" } }, @@ -2305,7 +2329,7 @@ "placeholder": "500 MW, 1000 MW, 2000 MW..." }, "playground/baby": { - "label": "כיסא תינוקות" + "label": "מושב תינוקות" }, "playground/max_age": { "label": "גיל מרבי" @@ -2333,13 +2357,13 @@ }, "railway/position": { "label": "אבן דרך", - "placeholder": "מרחק עד עשרון (123.4)" + "placeholder": "מרחק עד נקודה עשרונית אחת (123.4)" }, "railway/signal/direction": { "label": "כיוון", "options": { "backward": "אחורה", - "both": "שניהם \\ כולם", + "both": "שניהם / כולם", "forward": "קדימה" } }, @@ -2347,7 +2371,7 @@ "label": "דירוג חשמל" }, "recycling_accepts": { - "label": "מסכים" + "label": "מקבל" }, "ref": { "label": "מספר הפניה" @@ -2359,7 +2383,7 @@ "label": "מספר שער" }, "ref_golf_hole": { - "label": "מספר חור", + "label": "מספר גומות", "placeholder": "1-18" }, "ref_highway_junction": { @@ -2376,14 +2400,14 @@ }, "ref_runway": { "label": "מספר מסלול", - "placeholder": "e.g. 01L/19R" + "placeholder": "למשל: 01L/19R" }, "ref_stop_position": { "label": "מספר תחנה" }, "ref_taxiway": { "label": "שם דרך מוניות", - "placeholder": "e.g. A5" + "placeholder": "למשל: A5" }, "relation": { "label": "סוג" @@ -2407,7 +2431,7 @@ "label": "סוג" }, "sac_scale": { - "label": "דרגת קושי", + "label": "דרגת קושי בטיול", "options": { "alpine_hiking": "T4: טיול אלפי", "demanding_alpine_hiking": "T5: טיול אלפי קשה", @@ -2445,6 +2469,8 @@ "service_rail": { "label": "סוג שירות", "options": { + "crossover": "מסוט", + "siding": "עקלתון", "spur": "דורבן", "yard": "גינה" } @@ -2471,12 +2497,24 @@ "isolated": "מותר לעשן באזור עישון", "no": "אסור לעשן", "outside": "מותר לעשן בחוץ", + "separated": "באזורי עישון, ללא הפרדה פיזית", "yes": "מותר לעשן בכל המתחם" }, "placeholder": "אין, הפרדה, יש…" }, "smoothness": { - "label": "חלקות" + "label": "חלקות", + "options": { + "bad": "צמיגים חסונים: אופנוע שטח, מכונית, ריקשה", + "excellent": "גלגלים קטנים: רולר בליידס, סקייטבורד", + "good": "גלגלים צרים: אופנוע מרוצים", + "horrible": "שטח: רכב שטח יציב", + "impassable": "ללא מעבר / לא לרכב עם גלגלים", + "intermediate": "גלגלים: אופנוע עירוני, כיסא גלגלים, קורקינט", + "very_bad": "עבירות גבוהה: רכב שטח קל", + "very_horrible": "מותאמים לשטח: טרקטור, טרקטורון" + }, + "placeholder": "גלגלים צרים, צמידים, שטח…" }, "social_facility": { "label": "סוג" @@ -2519,6 +2557,8 @@ "label": "מבנה", "options": { "bridge": "גשר", + "cutting": "הגבהה", + "embankment": "סוללה", "ford": "מקום צליחה", "tunnel": "מנהרה" }, @@ -2566,9 +2606,15 @@ "switch": { "label": "סוג", "options": { + "circuit_breaker": "מפסק זרם", + "disconnector": "מפסק", + "earthing": "הארקה", "mechanical": "מכני" } }, + "tactile_paving": { + "label": "מדרכה נגישה" + }, "takeaway": { "label": "איסוף עצמי", "options": { @@ -2583,9 +2629,13 @@ "options": { "bucket": "דלי", "chemical": "כימיים", - "flush": "הדחה" + "flush": "הדחה", + "pitlatrine": "בור ספיגה" } }, + "toll": { + "label": "אגרה" + }, "tomb": { "label": "סוג" }, @@ -2596,13 +2646,22 @@ "label": "תיירות" }, "tower/construction": { - "label": "בנייה" + "label": "בנייה", + "placeholder": "כבלי עזר, סריג, חיפוי, …" }, "tower/type": { "label": "סוג" }, "tracktype": { - "label": "סוג המסלול" + "label": "סוג המסלול", + "options": { + "grade1": "יציב: משטח סלול או מהודק היטב", + "grade2": "די יציב: חצץ/אבנים בערבוב עם חומר רך", + "grade3": "ערבוב שווה של חומרים קשים וקלים", + "grade4": "די רך: אדמה/חול/דשא בערבוב עם חומר קשה", + "grade5": "רך: אדמה/חול/דשא" + }, + "placeholder": "יציב, די יציב, רך…" }, "trade": { "label": "סוג" @@ -2617,19 +2676,32 @@ "label": "כיוון", "options": { "backward": "אחורה", - "both": "שניהם \\ כולם", + "both": "שניהם / כולם", "forward": "קדימה" } }, "trail_visibility": { "label": "ראות שביל", - "placeholder": "מצוין, טוב, רע..." + "options": { + "bad": "רע: אין סימוני שביל, לפעמים לא קיים שביל", + "excellent": "מצוין: שביל ברור ומסומן לאורך כל הדרך", + "good": "טוב: סימון שביל גלוי, לפעמים נדרש חיפוש", + "horrible": "נוראי: לרוב ללא שביל, נדרשות יכולות ניווט", + "intermediate": "בינוני: מעט סימונים, השביל גלוי ברובו", + "no": "אין: אין שביל, נדרשות יכולות ניווט מתקדמות" + }, + "placeholder": "מצוינת, טובה, רעה..." }, "transformer": { "label": "סוג", "options": { - "auxiliary": "משני", + "auto": "שנאי עצמי", + "auxiliary": "עזר", + "converter": "שנאי", + "distribution": "חלוקה", "generator": "גנרטור", + "phase_angle_regulator": "שנאי משולש", + "traction": "גרירה", "yes": "לא ידוע" } }, @@ -2641,7 +2713,9 @@ "placeholder": "בררת מחדל" }, "usage_rail": { + "label": "סוג השימוש", "options": { + "branch": "סניף", "industrial": "תעשייתי", "main": "ראשי", "military": "צבאי", @@ -2649,12 +2723,15 @@ "tourism": "תיירות" } }, + "vending": { + "label": "סוגי הטובין" + }, "visibility": { "label": "ראות", "options": { "area": "מעל 20 מטר", "house": "עד 5 מטר", - "street": "בין 5 ל20 מטר" + "street": "בין 5 ל־20 מטרים" } }, "volcano/status": { @@ -2668,22 +2745,22 @@ "volcano/type": { "label": "סוג הר הגעש", "options": { - "scoria": "סיג", - "shield": "מגן", + "scoria": "סקוריה", + "shield": "חרוט מגן", "stratovolcano": "הר געש שכבתי" } }, "voltage": { - "label": "וולטג'" + "label": "מתח" }, "voltage/primary": { - "label": "וולטג' מרכזי" + "label": "מתח עיקרי" }, "voltage/secondary": { - "label": "וולטג' משני" + "label": "מתח משני" }, "voltage/tertiary": { - "label": "וולטג' גיבוי" + "label": "מתח גיבוי" }, "wall": { "label": "סוג" @@ -2699,7 +2776,7 @@ }, "website": { "label": "אתר", - "placeholder": "http://example.com/" + "placeholder": "http://example.com/‎" }, "wetland": { "label": "סוג" @@ -2717,38 +2794,96 @@ "label": "ויקיפדיה" }, "windings": { + "label": "ליפופים", "placeholder": "1, 2, 3..." }, "windings/configuration": { + "label": "תצורת ליפופים", "options": { "delta": "דלטא", "leblanc": "Leblanc", "open": "פתוח", "open-delta": "דלטא פתוח", + "scott": "סקוט", + "star": "התמרת כוכב משולש", "zigzag": "זיגזג" } } }, "presets": { "address": { - "name": "כתובת" + "name": "כתובת", + "terms": "כתובת,מען" }, "advertising/billboard": { - "name": "שלט חוצות" + "name": "שלט חוצות", + "terms": "שלט פרסום" }, - "aerialway/cable_car": { + "advertising/column": { + "name": "עמוד פרסום", + "terms": "עמוד פרסום,לוח פרסום,עמוד מודעות,לוח מודעות" + }, + "aerialway": { "name": "רכבל" }, + "aerialway/cable_car": { + "name": "רכבל", + "terms": "רכבל" + }, + "aerialway/chair_lift": { + "name": "רכבל סקי", + "terms": "רכבל מושבים" + }, + "aerialway/drag_lift": { + "name": "מעלית גרר לסקי", + "terms": "מעלית סקי" + }, "aerialway/gondola": { - "name": "גונדולה" + "name": "גונדולה", + "terms": "גונדולה" + }, + "aerialway/goods": { + "name": "רכבל סחורה", + "terms": "רכבל סחורה" }, "aerialway/magic_carpet": { - "name": "מעלית שטיח מעופף" + "name": "מסוע קרקעי", + "terms": "מסוע שלג,מסוע שטיח מעופף,מעלית שטיח מעופף" + }, + "aerialway/mixed_lift": { + "name": "רכבל מעורב", + "terms": "רכבל מעורב" + }, + "aerialway/platter": { + "name": "רכבל תא", + "terms": "רכבל סגור,רכבל קפסולה" + }, + "aerialway/pylon": { + "name": "עמוד רכבל", + "terms": "עמוד רכבל" + }, + "aerialway/rope_tow": { + "name": "רכבל חבלים", + "terms": "רכבל חבלים" + }, + "aerialway/station": { + "name": "תחנת רכבל" + }, + "aerialway/t-bar": { + "name": "רכבל שטחי", + "terms": "רכבל שטחי" + }, + "aeroway": { + "name": "מתחם שדה תעופה" }, "aeroway/aerodrome": { "name": "נמל תעופה", "terms": "שדה תעופה, נתב״ג, נתב\"ג" }, + "aeroway/apron": { + "name": "רחבת חניית מטוסים", + "terms": "רחבת חנייה למטוסים,רחבת חנייה" + }, "aeroway/gate": { "name": "שער נמל תעופה", "terms": "שער שדה תעופה, שער טיסה" @@ -2773,15 +2908,19 @@ "name": "טרמינל שדה תעופה", "terms": "טרמינל שדה תעופה" }, + "allotments/plot": { + "name": "חלקת גינה קהילתית", + "terms": "חלקת גינה ציבורית" + }, "amenity": { "name": "נוחיות" }, "amenity/animal_boarding": { - "name": "מתקן עליה לבעלי חיים", - "terms": "מתקן עליה לבעלי חיים" + "name": "פנסיון", + "terms": "פנסיון לבעלי חיים" }, "amenity/animal_breeding": { - "name": "מתקן רבייה לבעלי חיים", + "name": "מתקן לגידול לבעלי חיים", "terms": "מתקן רבייה לבעלי חיים" }, "amenity/animal_shelter": { @@ -2806,7 +2945,7 @@ }, "amenity/bbq": { "name": "ברביקיו", - "terms": "ברביקיו" + "terms": "גריל/מנגל" }, "amenity/bench": { "name": "ספסל", @@ -2826,11 +2965,11 @@ }, "amenity/biergarten": { "name": "גן בירה", - "terms": "גן בירה" + "terms": "גינת בירה,ביר גארדן,ביר גרדן" }, "amenity/boat_rental": { "name": "השכרת סירה", - "terms": "השכרת סירה" + "terms": "השכרת כלי שיט" }, "amenity/bureau_de_change": { "name": "המרת מט״ח", @@ -2923,8 +3062,8 @@ "terms": "רופאה" }, "amenity/dojo": { - "name": "דוג'ו", - "terms": "דוג'ו" + "name": "דוג׳ו / מרכז לאומנויות לחימה", + "terms": "אקדמיה למקצועות לחימה" }, "amenity/drinking_water": { "name": "מי שתייה", @@ -2971,7 +3110,7 @@ }, "amenity/hospital": { "name": "גן בית חולים", - "terms": "גן בית חולים" + "terms": "גינת בית חולים" }, "amenity/hunting_stand": { "name": "עמדת ציד", @@ -2995,12 +3134,16 @@ }, "amenity/love_hotel": { "name": "מלון לפי שעות", - "terms": "מלון לפי שעות" + "terms": "מלון לפי שעה" }, "amenity/marketplace": { "name": "שוק", "terms": "שוק" }, + "amenity/monastery": { + "name": "מתחם מנזר", + "terms": "גני מנזר,שטחי מנזר" + }, "amenity/motorcycle_parking": { "name": "חניית אופנועים", "terms": "חניית אופנועים" @@ -3049,8 +3192,8 @@ "terms": "כנסייה" }, "amenity/place_of_worship/hindu": { - "name": "מקדש הודי", - "terms": "מקדש הודי" + "name": "מקדש הינדו", + "terms": "מקדש הינדואיסטי" }, "amenity/place_of_worship/jewish": { "name": "בית כנסת", @@ -3069,8 +3212,8 @@ "terms": "מקדש סיקי" }, "amenity/place_of_worship/taoist": { - "name": "מקדש טאויסטי", - "terms": "מקדש טאויסטי" + "name": "מקדש דאואיסטי", + "terms": "מקדש טאואיסטי" }, "amenity/planetarium": { "name": "מצפה כוכבים", @@ -3090,7 +3233,7 @@ }, "amenity/prison": { "name": "מגרש כלא", - "terms": "מגרש כלא" + "terms": "חצר כלא,חצר בית כלא" }, "amenity/pub": { "name": "פאב", @@ -3105,16 +3248,16 @@ "terms": "ספריה" }, "amenity/ranger_station": { - "name": "תחנת הפקחים", + "name": "תחנת פקחים", "terms": "תחנת הפקחים" }, "amenity/recycling": { - "name": "סל מחזור", + "name": "סל מיחזור", "terms": "סל מחזור" }, "amenity/recycling_centre": { "name": "מרכז מיחזור", - "terms": "מרכז מחזור" + "terms": "מרכז מיחזור" }, "amenity/register_office": { "name": "משרד רישום" @@ -3124,8 +3267,8 @@ "terms": "מסעדה" }, "amenity/sanitary_dump_station": { - "name": "תחנת סילוק RV", - "terms": "תחנת סילוק RV" + "name": "תחנת סילוק שפכים מקרוונים", + "terms": "תחנת סילוק לקרוונים" }, "amenity/school": { "name": "מגרש בית ספר", @@ -3140,7 +3283,7 @@ }, "amenity/shower": { "name": "מקלחת", - "terms": "מקלחט" + "terms": "מקלחת" }, "amenity/smoking_area": { "name": "אזור עישון", @@ -3164,7 +3307,7 @@ }, "amenity/social_facility/nursing_home": { "name": "בית אבות", - "terms": "בית אבות" + "terms": "בית אבות סיעודי" }, "amenity/studio": { "name": "סטודיו", @@ -3190,66 +3333,86 @@ "terms": "בתי שימוש" }, "amenity/townhall": { - "name": "בניין עיריה", + "name": "בניין עירייה", "terms": "בניין עיריה" }, + "amenity/university": { + "name": "מתחם אוניברסיטה", + "terms": "שטחי אוניברסיטה,מרחב אוניברסיטה,אזור אוניברסיטה" + }, "amenity/vending_machine": { - "name": "אוטומט מכירות", + "name": "מכונת ממכר", "terms": "אוטומט מכירות" }, "amenity/vending_machine/cigarettes": { - "name": "אוטומט מכירת סיגריות", + "name": "מכונת סיגריות", "terms": "אוטומט מכירת סיגריות" }, + "amenity/vending_machine/coffee": { + "name": "מכונת קפה", + "terms": "מכונת קפה" + }, "amenity/vending_machine/condoms": { - "name": "אוטומט מכירת קונדומים", + "name": "מכונת קונדומים", "terms": "אוטומט מכירת קונדומים" }, "amenity/vending_machine/drinks": { - "name": "אוטומט מכירת שתיה", + "name": "מכונת שתייה", "terms": "אוטומט מכירת שתיה" }, "amenity/vending_machine/electronics": { - "name": "אוטומט מכירת אלקטרוניקה", + "name": "מכונת אלקטרוניקה", "terms": "אוטומט מכירת אלקטרוניקה" }, "amenity/vending_machine/elongated_coin": { - "name": "אוטומט השטחת מטבעות", + "name": "מכונת השטחת מטבעות", "terms": "אוטומט השטחת מטבעות" }, "amenity/vending_machine/excrement_bags": { - "name": "אוטומט מכירת שקיות פסולת", + "name": "מכונת שקיות פסולת", "terms": "אוטומט מכירת שקיות פסולת" }, "amenity/vending_machine/feminine_hygiene": { - "name": "אוטומט מכירת היגינה נשית", + "name": "מכונת היגיינה נשית", "terms": "אוטומט מכירת היגינה נשית" }, "amenity/vending_machine/food": { - "name": "אוטומט אוכל", + "name": "מכונת אוכל", "terms": "אוטומט אוכל" }, + "amenity/vending_machine/fuel": { + "name": "משאבת דלק", + "terms": "משאבת דלק" + }, + "amenity/vending_machine/ice_cream": { + "name": "מכונת גלידה", + "terms": "אוטומט גלידה" + }, "amenity/vending_machine/news_papers": { - "name": "עמדת חלוקת עיתונים" + "name": "מכונת חלוקת עיתונים" }, "amenity/vending_machine/newspapers": { "name": "עמדת חלוקת עיתונים", "terms": "עמדת חלוקת עיתונים" }, "amenity/vending_machine/parcel_pickup_dropoff": { - "name": "עמדת חלוקת חבילות", + "name": "מכונת חלוקת חבילות", "terms": "עמדת חלוקת חבילות" }, "amenity/vending_machine/parking_tickets": { - "name": "אוטומט מכירת כרטיסי חניה", + "name": "מכונת כרטיסי חניה", "terms": "אוטומט מכירת כרטיסי חניה" }, "amenity/vending_machine/public_transport_tickets": { - "name": "אוטומט מכירת כרטיסי רכבת", + "name": "מכונת כרטיסי רכבת", "terms": "אוטומט מכירת כרטיסי רכבת" }, + "amenity/vending_machine/stamps": { + "name": "מכונת בולים", + "terms": "אוטומט בולים" + }, "amenity/vending_machine/sweets": { - "name": "אוטומט מכירת חטיפים", + "name": "מכונת חטיפים", "terms": "אוטומט מכירת חטיפים" }, "amenity/veterinary": { @@ -3261,17 +3424,25 @@ "terms": "שקי-קקי" }, "amenity/waste_basket": { - "name": "פח אשפה", - "terms": "פח אשפה" + "name": "סל אשפה", + "terms": "סל אשפה" }, "amenity/waste_disposal": { "name": "פח אשפה", "terms": "פח אשפה" }, + "amenity/waste_transfer_station": { + "name": "תחנת מעבר זבל", + "terms": "תחנת מעבר זבל" + }, "amenity/water_point": { - "name": "מי שתייה לקרון", + "name": "מי שתייה לקרוואן", "terms": "מי שתייה לקרון" }, + "amenity/watering_place": { + "name": "מקור מים לחיות", + "terms": "מקור מים לחיות" + }, "area": { "name": "שטח", "terms": "שטח" @@ -3304,6 +3475,14 @@ "name": "קרוסלה", "terms": "קרוסלה" }, + "attraction/dark_ride": { + "name": "מתקן אפל", + "terms": "מתקן אפל" + }, + "attraction/drop_tower": { + "name": "מגדל נפילה", + "terms": "מגדל שעשועים" + }, "attraction/maze": { "name": "מבוך", "terms": "מבוך" @@ -3332,6 +3511,14 @@ "name": "מחסום", "terms": "מחסום" }, + "barrier/block": { + "name": "מחסום בטון", + "terms": "בטונדה,קוביית בטון, קוביות בטון" + }, + "barrier/bollard": { + "name": "עמוד חסימה", + "terms": "עמוד חסימה,עמוד חוסם" + }, "barrier/border_control": { "name": "משמר הגבול", "terms": "משטרת הגבולות" @@ -3344,6 +3531,10 @@ "name": "חומת עיר", "terms": "חומת עיר" }, + "barrier/cycle_barrier": { + "name": "מחסום אופניים", + "terms": "מחסום אפניים" + }, "barrier/ditch": { "name": "תעלה", "terms": "תעלה" @@ -3360,8 +3551,8 @@ "terms": "שער" }, "barrier/hedge": { - "name": "גדר", - "terms": "גדר" + "name": "גדר חיה", + "terms": "גדר חיה" }, "barrier/kerb": { "name": "אבן שפה", @@ -3372,20 +3563,24 @@ "terms": "מחסום חיות" }, "barrier/lift_gate": { - "name": "שער הרמה", - "terms": "שער הרמה" + "name": "שער זרוע", + "terms": "שער הרמה,שער מתרומם" + }, + "barrier/retaining_wall": { + "name": "קיר תומך", + "terms": "קיר תמך,קיר תמיכה" }, "barrier/stile": { "name": "מדרגות למעבר מעל גדר", - "terms": "מדרגות למעבר מעל גדר" + "terms": "מדרגות לחציית גדר" }, "barrier/toll_booth": { "name": "תא אגרה", "terms": "תא אגרה" }, "barrier/wall": { - "name": "קיר\\חומה", - "terms": "קיר\\חומה" + "name": "קיר/חומה", + "terms": "קיר/חומה" }, "boundary/administrative": { "name": "גבול ניהולי", @@ -3403,6 +3598,10 @@ "name": "אסם", "terms": "אסם" }, + "building/boathouse": { + "name": "בית סירה", + "terms": "בית צף" + }, "building/bungalow": { "name": "בונגלו", "terms": "בונגלו" @@ -3415,16 +3614,20 @@ "terms": "בקתה" }, "building/cathedral": { - "name": "קתדרל", - "terms": "קתדרל" + "name": "קתדרלה", + "terms": "קתדרלה" }, "building/chapel": { "name": "קפלה", "terms": "קפלה" }, "building/church": { - "name": "כניסיה", - "terms": "כניסיה" + "name": "כנסייה", + "terms": "כנסיה" + }, + "building/civic": { + "name": "בניין ממשלתי", + "terms": "בניין ממשלתי" }, "building/college": { "name": "בניין מכללה", @@ -3435,15 +3638,19 @@ "terms": "בניין מסחרי" }, "building/construction": { - "name": "מבנה בבנייה", + "name": "מבנה בהקמה", "terms": "מבנה בבנייה" }, + "building/detached": { + "name": "בית לא מחובר", + "terms": "בית לא מחובר" + }, "building/dormitory": { "name": "מעונות", "terms": "מעונות" }, "building/entrance": { - "name": "כניסה\\יציאה" + "name": "כניסה/יציאה" }, "building/farm": { "name": "בית חווה", @@ -3461,6 +3668,10 @@ "name": "מוסכים", "terms": "מוסך" }, + "building/grandstand": { + "name": "בימת צופים", + "terms": "בימת צופים" + }, "building/greenhouse": { "name": "חממה", "terms": "חממה" @@ -3502,8 +3713,8 @@ "terms": "בניין מגורים" }, "building/retail": { - "name": "בניין קמעוני", - "terms": "בניין קמעוני" + "name": "בניין לקמעונאות", + "terms": "בניין קמעוני,בניין קימעונאי" }, "building/roof": { "name": "גג", @@ -3511,12 +3722,16 @@ }, "building/ruins": { "name": "בניין הרוס", - "terms": "בניין הרוס" + "terms": "חורבות בניין" }, "building/school": { "name": "בניין בית ספר", "terms": "מבנה בית ספר, בניין ביצפר, מבנה ביצפר" }, + "building/semidetached_house": { + "name": "בית חצי מחובר", + "terms": "בית חצי מחובר" + }, "building/service": { "name": "בניין שירות", "terms": "בניין שירות" @@ -3534,13 +3749,17 @@ "terms": "אצטדיון" }, "building/static_caravan": { - "name": "RV סטטי", - "terms": "RV סטטי" + "name": "קרוון נייח", + "terms": "קרוון סטטי" }, "building/temple": { "name": "מקדש", "terms": "מקדש" }, + "building/terrace": { + "name": "שורת בתים", + "terms": "בתים בשורות" + }, "building/train_station": { "name": "תחנת רכבת" }, @@ -3556,6 +3775,10 @@ "name": "מחסן", "terms": "מחסן" }, + "camp_site/camp_pitch": { + "name": "מאהל", + "terms": "מתחם אוהלים,אוהלי מחאה" + }, "circular": { "name": "מעגל תנועה" }, @@ -3563,17 +3786,21 @@ "name": "מועדון", "terms": "מועדון" }, + "craft": { + "name": "מלאכה", + "terms": "מלאכת יד" + }, "craft/basket_maker": { - "name": "מייצר סלים", - "terms": "מייצר סלים" + "name": "קליעת סלים", + "terms": "מייצר סלים,יצרן סלים,קולע סלים,קולעת סלים" }, "craft/beekeeper": { "name": "כוורן", - "terms": "כוורן" + "terms": "כוורנית" }, "craft/blacksmith": { "name": "נפח", - "terms": "נפח" + "terms": "נפחית" }, "craft/boatbuilder": { "name": "בונה סירות", @@ -3581,7 +3808,7 @@ }, "craft/bookbinder": { "name": "כורך ספרים", - "terms": "כורך ספרים" + "terms": "כורכת ספרים" }, "craft/brewery": { "name": "מבשלת בירה", @@ -3589,11 +3816,11 @@ }, "craft/carpenter": { "name": "נגר", - "terms": "נגר" + "terms": "נגרית,נגרת" }, "craft/carpet_layer": { "name": "מתקין שטיחים", - "terms": "מתקין שטיחים" + "terms": "מתקינת שטיחים" }, "craft/caterer": { "name": "הסעדה", @@ -3605,7 +3832,7 @@ }, "craft/clockmaker": { "name": "שען", - "terms": "שען" + "terms": "שענית" }, "craft/confectionery": { "name": "חנות ממתקים", @@ -3617,11 +3844,11 @@ }, "craft/dressmaker": { "name": "תופרת", - "terms": "תופרת" + "terms": "תופר" }, "craft/electrician": { "name": "חשמלאי", - "terms": "חשמלאי" + "terms": "חשמלאית" }, "craft/electronics_repair": { "name": "חנות תיקון אלקטרוניקה", @@ -3629,7 +3856,15 @@ }, "craft/gardener": { "name": "גנן", - "terms": "גנן" + "terms": "גננית" + }, + "craft/glaziery": { + "name": "זגגות", + "terms": "זגג,זכוכית,זגוגית" + }, + "craft/handicraft": { + "name": "עבודת יד", + "terms": "עבודה ידנית,מלאכת יד" }, "craft/hvac": { "name": "שירות מיזוג מרכזי", @@ -3651,69 +3886,89 @@ }, "craft/metal_construction": { "name": "נפח", - "terms": "נפח" + "terms": "נפחית" }, "craft/optician": { "name": "אופטיקאי" }, "craft/painter": { "name": "צבעי", - "terms": "צבעי" + "terms": "צבעית" }, "craft/photographer": { "name": "צלם", - "terms": "צלם" + "terms": "צלמת" }, "craft/photographic_laboratory": { "name": "מעבדת צילום", "terms": "מעבדת צילום" }, + "craft/plasterer": { + "name": "עבודת גבס", + "terms": "מגבס,גבס,איש גבס" + }, "craft/plumber": { "name": "שרברב", - "terms": "שרברב" + "terms": "שרברבית" }, "craft/pottery": { "name": "כלי חרס", "terms": "כלי חרס" }, + "craft/rigger": { + "name": "חבלאות", + "terms": "חבלאי,יצרן ציוד לספינות,יצרן ציוד לסירות,יצרן ציוד לכלי שיט,יצרן ציוד לדייגים" + }, "craft/roofer": { "name": "מתקין גגות", - "terms": "מתקין גגות" + "terms": "מתקינת גגות" + }, + "craft/saddler": { + "name": "אוכפן", + "terms": "הכנת אוכפים,אוכפים,אכפן,יצרן אוכפים,מכין אוכפים" + }, + "craft/sailmaker": { + "name": "תופר מפרשים", + "terms": "תפירת מפרשים" }, "craft/sawmill": { "name": "מנסרה", "terms": "מנסרה" }, + "craft/scaffolder": { + "name": "התקנת פיגומים", + "terms": "מתקין פיגומים,התקנת פיגומים,פיגומאי" + }, "craft/sculptor": { "name": "פסל", - "terms": "פסל" + "terms": "פסלת,פסלית" }, "craft/shoemaker": { "name": "סנדלר", - "terms": "סנדלר" + "terms": "סנדלרית" }, "craft/stonemason": { "name": "סתת", - "terms": "סתת" + "terms": "סתתית,סתתת" }, "craft/tailor": { "name": "חיט" }, "craft/tiler": { "name": "מתקין אריחים", - "terms": "מתקין אריחים" + "terms": "מתקינת אריחים" }, "craft/tinsmith": { "name": "פחח", - "terms": "פחח" + "terms": "פחחית" }, "craft/upholsterer": { "name": "רפד", - "terms": "רפד" + "terms": "רפדית" }, "craft/watchmaker": { "name": "שען", - "terms": "שען" + "terms": "שענית" }, "craft/window_construction": { "name": "הרכבת חלונות", @@ -3723,13 +3978,17 @@ "name": "יקב", "terms": "יקב" }, + "embankment": { + "name": "סוללה", + "terms": "הגבהה,סלילה" + }, "emergency/ambulance_station": { "name": "תחנת אמבולנס", "terms": "תחנת אמבולנס" }, "emergency/defibrillator": { "name": "דפיברילטור", - "terms": "דפיברילטור" + "terms": "מפעם,התקן החייאה" }, "emergency/designated": { "name": "גישת חירום" @@ -3737,43 +3996,57 @@ "emergency/destination": { "name": "גישת חירום" }, + "emergency/fire_extinguisher": { + "name": "מטפה", + "terms": "מטפה כיבוי אש,מטף כיבוי אש,מטף" + }, "emergency/fire_hydrant": { "name": "ברז כיבוי אש", "terms": "ברז כיבוי אש" }, + "emergency/life_ring": { + "name": "גלגל הצלה", + "terms": "גלגל הצלה" + }, "emergency/no": { "name": "אין גישת חירום" }, + "emergency/official": { + "name": "גישת חירום רשמית" + }, "emergency/phone": { "name": "טלפון חרום", "terms": "טלפון חרום" }, + "emergency/private": { + "name": "גישת חירום פרטית" + }, "emergency/water_tank": { - "name": "מיכל מים חרום", + "name": "מיכל מים לחירום", "terms": "מיכל מים חרום" }, "emergency/yes": { "name": "כניסת חירום" }, "entrance": { - "name": "כניסה\\יציאה", - "terms": "כניסה\\יציאה" + "name": "כניסה/יציאה", + "terms": "כניסה/יציאה" }, "footway/crossing": { - "name": "מעבר חציה מוגבה", - "terms": "מעבר חציה מוגבה" + "name": "מעבר חצייה", + "terms": "מעבר חציה" }, "footway/crossing-raised": { - "name": "מעבר חציה מוגבה", + "name": "מעבר חצייה מוגבה", "terms": "מעבר חציה מוגבה" }, "footway/crosswalk": { - "name": "מעבר חציה", - "terms": "מעבר חציה" + "name": "מעבר הולכי רגל", + "terms": "מעבר הולכי רגל" }, "footway/crosswalk-raised": { - "name": "מעבר חציה מוגבה", - "terms": "מעבר חציה מוגבה" + "name": "מעבר מוגבה להולכי רגל", + "terms": "מעבר מוגבה להולכי רגל" }, "footway/sidewalk": { "name": "מדרכה", @@ -3792,20 +4065,20 @@ "terms": "אזור פתוח בגולף" }, "golf/green": { - "name": "דשא סביב חור גולף", + "name": "דשא סביב גומת גולף", "terms": "דשא סביב חור גולף" }, "golf/hole": { - "name": "חור גוף", - "terms": "חור גוף" + "name": "גומת גולף", + "terms": "חור גולף" }, "golf/lateral_water_hazard_area": { "name": "מכשול מים", "terms": "מכשול מים" }, "golf/lateral_water_hazard_line": { - "name": "מכשול מים", - "terms": "מכשול מים" + "name": "מכשול מים צדדי", + "terms": "מכשול מים צדי" }, "golf/rough": { "name": "שטח קשה בגולף", @@ -3828,20 +4101,20 @@ "terms": "מוסד טיפול בריאותי" }, "healthcare/alternative": { - "name": "בריאות אלטרנטיבי", - "terms": "בריאות אלטרנטיבי" + "name": "בריאות אלטרנטיבית", + "terms": "בריאות אלטרנטיבית" }, "healthcare/alternative/chiropractic": { "name": "כירופרקט", - "terms": "כירופרקט" + "terms": "כירופרקטית" }, "healthcare/audiologist": { "name": "אודיולוג", - "terms": "אודיולוג" + "terms": "אודיולוגית" }, "healthcare/birthing_center": { - "name": "מתקן לידה", - "terms": "מתקן לידה" + "name": "מרכז לידה", + "terms": "מרכז לידה" }, "healthcare/blood_donation": { "name": "מרכז תרומת דם", @@ -3849,31 +4122,35 @@ }, "healthcare/hospice": { "name": "הוספיס", - "terms": "הוספיס" + "terms": "מרכז לטיפול תומך" + }, + "healthcare/laboratory": { + "name": "מעבדה רפואית", + "terms": "מעבדת רפואה" }, "healthcare/midwife": { "name": "מיילדת", - "terms": "מיילדת" + "terms": "מיילד" }, "healthcare/occupational_therapist": { - "name": "מרפא בעיסוק", + "name": "מרפאה בעיסוק", "terms": "מרפא בעיסוק" }, "healthcare/optometrist": { "name": "אופטומטריסט", - "terms": "אופטומטריסט" + "terms": "אופטומטריסטית" }, "healthcare/physiotherapist": { - "name": "פזיווטרפיה", + "name": "פיזיותרפיה", "terms": "פזיווטרפיה" }, "healthcare/podiatrist": { - "name": "פודיאטר", - "terms": "פודיאטר" + "name": "פודיאטור", + "terms": "פודיאטורית" }, "healthcare/psychotherapist": { - "name": "פסיכוטרפיסט", - "terms": "פסיכוטרפיסט" + "name": "פסיכותרפיסט", + "terms": "פסיכותרפיסט" }, "healthcare/rehabilitation": { "name": "מוסד שיקומי", @@ -3881,33 +4158,41 @@ }, "healthcare/speech_therapist": { "name": "קלינאית תקשורת", - "terms": "קלינאית תקשורת" + "terms": "קלינאי תקשורת" }, "highway": { - "name": "כביש בין-עירוני" + "name": "כביש בין־עירוני" + }, + "highway/bridleway": { + "name": "מסלול רכיבה על סוסים", + "terms": "מסלול יער,מסלול סוסים,מסלול רכיבה" + }, + "highway/bus_guideway": { + "name": "מסלול לאוטובוסים מונחים", + "terms": "מסלול אוטובוסים,מסלול מנחה לאוטובוסים" }, "highway/bus_stop": { - "name": "תחנת אוטובוס \\ רציף" + "name": "תחנת אוטובוס / רציף" }, "highway/corridor": { - "name": "מזדרון", - "terms": "מזדרון" + "name": "מסדרון", + "terms": "מסדרון" }, "highway/crossing": { - "name": "מעבר חציה", - "terms": "מעבר חציה" + "name": "מעבר חצייה", + "terms": "מעבר חצייה" }, "highway/crossing-raised": { - "name": "מעבר חציה מוגבה", - "terms": "מעבר חציה מוגבה" + "name": "מעבר חצייה מוגבה", + "terms": "מעבר חצייה מוגבה" }, "highway/crosswalk": { - "name": "מעבר חציה", - "terms": "מעבר חציה" + "name": "מעבר חצייה להולכי רגל", + "terms": "מעבר חציה להולכי רגל" }, "highway/crosswalk-raised": { - "name": "מעבר חציה מוגבה", - "terms": "מעבר חציה מוגבה" + "name": "מעבר חצייה מוגבה להולכי רגל", + "terms": "מעבר חציה מוגבה להולכי רגל" }, "highway/cycleway": { "name": "מסלול אופניים", @@ -3918,28 +4203,48 @@ "terms": "מעלית" }, "highway/footway": { - "name": "דרך רגל", - "terms": "דרך רגל" + "name": "דרך רגלית", + "terms": "דרך רגלית" }, "highway/give_way": { "name": "תן זכות קדימה", - "terms": "תן זכות קדימה" + "terms": "מתן זכות קדימה,האט" + }, + "highway/living_street": { + "name": "רחוב מגורים", + "terms": "רחוב מגורים" }, "highway/mini_roundabout": { "name": "מעגל תנועה קטן", "terms": "מעגל תנועה קטן" }, + "highway/motorway": { + "name": "כביש מהיר", + "terms": "אוטוסטרדה,כביש בינעירוני" + }, + "highway/motorway_junction": { + "name": "יציאה / צומת כביש מהיר", + "terms": "יציאה / צומת כביש מהיר" + }, + "highway/motorway_link": { + "name": "חיבור לכביש מהיר", + "terms": "חיבור לכביש מהיר" + }, + "highway/passing_place": { + "name": "מקטע החלפה", + "terms": "אזור החלפה בכביש חד־נתיבי" + }, "highway/path": { "name": "שביל", "terms": "שביל" }, "highway/pedestrian_area": { - "name": "אזור רק עם תנועה רגלית", - "terms": "אזור רק עם תנועה רגלית" + "name": "אזור עם תנועה רגלית בלבד", + "terms": "אזור עם תנועה רגלית בלבד" }, "highway/pedestrian_line": { - "name": "רחוב רק עם תנועה רגלית", - "terms": "רחוב רק עם תנועה רגלית" + "name": "רחוב עם תנועה רגלית בלבד", + "terms": "רחוב עם תנועה רגלית בלבד" }, "highway/primary": { "name": "כביש ראשי", @@ -3950,7 +4255,7 @@ "terms": "חיבור ראשי" }, "highway/raceway": { - "name": "מסלול מרוצים (מונע)", + "name": "מסלול מרוצים (לממונעים)", "terms": "מסלול מרוצים (מונע)" }, "highway/residential": { @@ -3974,29 +4279,89 @@ "terms": "חיבור משני" }, "highway/service": { - "name": "כבישי שירות", - "terms": "כבישי שירות" + "name": "כביש שירות", + "terms": "כביש שירות" }, "highway/service/alley": { "name": "סמטה", "terms": "סמטה" }, + "highway/service/drive-through": { + "name": "הזמנה-דרך-אשנב", + "terms": "מסעדת הזמנה-דרך-חלון" + }, + "highway/service/driveway": { + "name": "כביש גישה", + "terms": "דרך גישה" + }, "highway/service/emergency_access": { "name": "גישת חירום", "terms": "גישת חירום" }, + "highway/service/parking_aisle": { + "name": "מעבר במגרש חנייה", + "terms": "מעבר במגרש חנייה" + }, + "highway/services": { + "name": "מתחם שירות", + "terms": "מתחם שרות" + }, "highway/speed_camera": { "name": "מצלמת מהירות", "terms": "מצלמת מהירות" }, + "highway/steps": { + "name": "מדרגות", + "terms": "מדרגות" + }, "highway/stop": { "name": "תמרור עצור", "terms": "תמרור עצור" }, + "highway/street_lamp": { + "name": "תאורת רחוב", + "terms": "תאורת רחוב" + }, + "highway/tertiary": { + "name": "כביש שלישוני", + "terms": "דרך שלישונית" + }, + "highway/tertiary_link": { + "name": "חיבור לכביש שלישוני", + "terms": "חיבור לדרך שלישונית" + }, + "highway/track": { + "name": "דרך בלתי סלולה", + "terms": "דרך לא סלולה,מסלול שדות,כביש שדות,דרך עפר" + }, + "highway/traffic_mirror": { + "name": "מראות כביש פנורמיות", + "terms": "מראות כביש פנורמיות" + }, + "highway/traffic_signals": { + "name": "רמזורים", + "terms": "רמזור,תמרור" + }, + "highway/trunk": { + "name": "כביש בין עירוני", + "terms": "כביש בין עירוני" + }, + "highway/trunk_link": { + "name": "חיבור לכביש בין עירוני", + "terms": "חיבור לכביש בין עירוני" + }, "highway/turning_circle": { "name": "מעגל תנועה", "terms": "מעגל תנועה" }, + "highway/turning_loop": { + "name": "כיכר פרסה (אי)", + "terms": "מעגל פרסה (אי),מעגל תנועה (אי)" + }, + "highway/unclassified": { + "name": "כביש לא מסומן/מזערי", + "terms": "כביש לא מסומן" + }, "historic": { "name": "אתר היסטורי", "terms": "אתר היסטורי" @@ -4006,7 +4371,7 @@ "terms": "אתר ארכיאולוגי" }, "historic/boundary_stone": { - "name": "אבן גבול", + "name": "אבן תוחמת", "terms": "אבן גבול" }, "historic/castle": { @@ -4018,7 +4383,7 @@ "terms": "אתר הנצחה" }, "historic/monument": { - "name": "מונומנט", + "name": "אתר מורשת", "terms": "מונומנט" }, "historic/ruins": { @@ -4029,31 +4394,64 @@ "name": "קבר", "terms": "קבר" }, + "historic/wayside_cross": { + "name": "צלב נוצרי לצד הדרך", + "terms": "צלב נוצרי לצד השביל" + }, + "historic/wayside_shrine": { + "name": "קבר קדוש בצדי הדרך", + "terms": "מקדש בצד הדרך,מקום קדוש בצד הדרך" + }, "junction": { "name": "צומת", "terms": "צומת" }, + "landuse": { + "name": "שימוש בקרקע", + "terms": "קרקע בשימוש" + }, "landuse/allotments": { - "name": "גינה קהילתית" + "name": "גינה קהילתית", + "terms": "גן קהילתי" + }, + "landuse/aquaculture": { + "name": "חקלאות ימית", + "terms": "דיג,דגה,דייגים" + }, + "landuse/basin": { + "name": "מאגר", + "terms": "מקווה" + }, + "landuse/brownfield": { + "name": "קרקע מזוהמת", + "terms": "שדה חום,שדה מזוהם" }, "landuse/cemetery": { "name": "בית קברות", - "terms": "בית קברות" + "terms": "בית עלמין" + }, + "landuse/churchyard": { + "name": "חצר כנסייה", + "terms": "חצר כנסייה" }, "landuse/commercial": { "name": "אזור מסחרי", - "terms": "אזור מסחרי" + "terms": "שטח מסחרי" + }, + "landuse/construction": { + "name": "בנייה", + "terms": "בנייה" }, "landuse/farm": { "name": "אזור חקלאי" }, "landuse/farmland": { "name": "אזור חקלאי", - "terms": "אזור חקלאי" + "terms": "שטח חקלאי" }, "landuse/farmyard": { - "name": "אזור חקלאי", - "terms": "אזור חקלאי" + "name": "חצר חקלאית", + "terms": "חצר חקלאית" }, "landuse/forest": { "name": "יער", @@ -4067,6 +4465,14 @@ "name": "דשא", "terms": "דשא" }, + "landuse/greenfield": { + "name": "קרקע בתולה", + "terms": "קרקע בתולית,קרקע בלתי מעובדת,אדמה ירוקה,שטח ירוק" + }, + "landuse/greenhouse_horticulture": { + "name": "מתחם חממות", + "terms": "מתחם חממות" + }, "landuse/harbour": { "name": "מזח", "terms": "מזח" @@ -4075,6 +4481,10 @@ "name": "אזור תעשיה", "terms": "אזור תעשיה" }, + "landuse/industrial/scrap_yard": { + "name": "חצר גרוטאות", + "terms": "מתחם גרוטאות" + }, "landuse/industrial/slaughterhouse": { "name": "משחטה", "terms": "משחטה" @@ -4089,7 +4499,7 @@ }, "landuse/military": { "name": "אזור צבאי", - "terms": "אזור צבאי" + "terms": "שטח צבאי" }, "landuse/military/airfield": { "name": "שדה תעופה צבאי", @@ -4128,8 +4538,8 @@ "terms": "משרד צבאי" }, "landuse/military/range": { - "name": "אזור ירי צבאי", - "terms": "אזור ירי צבאי" + "name": "שטח אש", + "terms": "אזור ירי צבאי,שטח אש צבאי" }, "landuse/military/training_area": { "name": "אזור אימונים", @@ -4139,13 +4549,25 @@ "name": "פרדס", "terms": "פרדס" }, + "landuse/plant_nursery": { + "name": "משתלה", + "terms": "משתלה" + }, "landuse/quarry": { "name": "מחצבה", "terms": "מחצבה" }, + "landuse/railway": { + "name": "מסדרון תעבורה", + "terms": "מסדרון תעבורה חוצה מדינה" + }, + "landuse/recreation_ground": { + "name": "אזור מיועד לבילוי", + "terms": "אזור מיועד לבילוי" + }, "landuse/religious": { "name": "אזור דתי", - "terms": "אזור דתי" + "terms": "אזור דתי,שטח דתי,מתחם דת" }, "landuse/residential": { "name": " אזור מגורים", @@ -4159,6 +4581,30 @@ "name": "כרם", "terms": "כרם" }, + "leisure": { + "name": "אזור פנאי", + "terms": "אזור פנאי" + }, + "leisure/adult_gaming_centre": { + "name": "מרכז בידור למבוגרים", + "terms": "מרכז הימורים,קזינו,בית הימורים" + }, + "leisure/amusement_arcade": { + "name": "משחקי ארקייד", + "terms": "מתחם משחקים" + }, + "leisure/beach_resort": { + "name": "אתר נופש על החוף", + "terms": "אתר נופש חופי" + }, + "leisure/bird_hide": { + "name": "מסתור צפרות", + "terms": "מסתור ציפורים,עמדת צפרות,בקתת צפרות" + }, + "leisure/bleachers": { + "name": "טריבונות", + "terms": "שטח משופע,יציע,ספורט,מושבים,ספסלים" + }, "leisure/bowling_alley": { "name": "אולם כדורת", "terms": "אולם כדורת" @@ -4167,10 +4613,22 @@ "name": "אזור משותף", "terms": "אזור משותף" }, + "leisure/dance": { + "name": "היכל ריקודים", + "terms": "רחבת ריקודים,מועדון ריקודים" + }, + "leisure/dancing_school": { + "name": "בית ספר לריקוד", + "terms": "סווינג,דנס,טנגו,סלסה,ריקוד" + }, "leisure/dog_park": { "name": "פארק כלבים", "terms": "פארק כלבים" }, + "leisure/firepit": { + "name": "שוחה למדורה", + "terms": "מדורה,אש,להבה,קומזיץ" + }, "leisure/fitness_centre": { "name": "מכון כושר", "terms": "מכון כושר" @@ -4183,8 +4641,49 @@ "name": "תחנת כושר", "terms": "תחנת כושר" }, + "leisure/fitness_station/balance_beam": { + "name": "קורת התעמלות", + "terms": "קורה" + }, + "leisure/fitness_station/box": { + "name": "קופסאות קפיצה", + "terms": "תיבות התעמלות,קופסאות התעלמות,תיבות קפיצה" + }, + "leisure/fitness_station/horizontal_bar": { + "name": "מוט מתח", + "terms": "מוט התעמלות,מוט אופקי,מוט התעמלות מתח,עליות מתח" + }, + "leisure/fitness_station/horizontal_ladder": { + "name": "סולם אופקי", + "terms": "סולם התעמלות,סולם כושר,מוטות אופקיים" + }, + "leisure/fitness_station/hyperextension": { + "name": "מתקן זוקפי גב", + "terms": "מותח,עמדת זוקפי גב" + }, + "leisure/fitness_station/parallel_bars": { + "name": "מוטות מקבילים", + "terms": "מוטות מקביליים" + }, + "leisure/fitness_station/push-up": { + "name": "עמדת שכיבות סמיכה", + "terms": "עמדת שכיבות שמיכה,שכיבות סמיכה" + }, + "leisure/fitness_station/rings": { + "name": "טבעות התעמלות", + "terms": "טבעות אימון" + }, + "leisure/fitness_station/sign": { + "name": "שלט הנחיות התעמלות", + "terms": "שלט הנחיות אימון" + }, + "leisure/fitness_station/sit-up": { + "name": "עמדת כפיפות בטן", + "terms": "עמדת כפיפות בטן" + }, "leisure/fitness_station/stairs": { - "name": "מדרגות התעמלות" + "name": "מדרגות התעמלות", + "terms": "מדרגות כושר,מדרגות ספורט" }, "leisure/garden": { "name": "גן", @@ -4195,16 +4694,16 @@ "terms": "מגרש גולף" }, "leisure/hackerspace": { - "name": "משרד משותף היי טק", - "terms": "משרד משותף היי טק" + "name": "משרד היי טק משותף", + "terms": "מתחם היי טק משותף" }, "leisure/horse_riding": { "name": "מתקן רכיבה על סוסים", - "terms": "משרד משותף היי טק" + "terms": "מתקן רכיבה על סוסים" }, "leisure/ice_rink": { - "name": "החלקה על הקרח", - "terms": "משרד משותף היי טק" + "name": "החלקרח", + "terms": "החלקה על הקרח" }, "leisure/marina": { "name": "מרינה", @@ -4219,7 +4718,8 @@ "terms": "שמורת טבע" }, "leisure/outdoor_seating": { - "name": "אזור ישיבה בחוץ" + "name": "אזור ישיבה בחוץ", + "terms": "אזור לישיבה בחוץ" }, "leisure/park": { "name": "פארק", @@ -4229,37 +4729,53 @@ "name": "שולחן פיקניק", "terms": "שולחן פיקניק" }, + "leisure/pitch": { + "name": "מגרש ספורט", + "terms": "צגרש,כדורגל,כדורסל,טניס" + }, "leisure/pitch/american_football": { "name": "מגרש פוטבול", "terms": "מגרש פוטבול" }, "leisure/pitch/baseball": { "name": "מגרש בייסבול", - "terms": "מגרש בייסבול" + "terms": "מגרש כדור בסיס" }, "leisure/pitch/basketball": { "name": "מגרש כדורסל", "terms": "מגרש כדורסל" }, "leisure/pitch/beachvolleyball": { - "name": "מגרש כדור-×¢×£ חוף", - "terms": "מגרש כדור-×¢×£ חוף" + "name": "מגרש כדורעף חופים", + "terms": "מגרש כדורעף חוף" + }, + "leisure/pitch/boules": { + "name": "מגרש משחקי כדור", + "terms": "מגרש כדורגל,מגרש כדורסל,מגרש טניס,מגרש כדורעף" + }, + "leisure/pitch/bowls": { + "name": "משטח כדורת דשא", + "terms": "כר דשא לכדורת דשא,מתחם כדורת דשא" }, "leisure/pitch/cricket": { "name": "מגרש קריקט", "terms": "מגרש קריקט" }, + "leisure/pitch/equestrian": { + "name": "זירת רכיבה", + "terms": "מתחם רכיבה" + }, "leisure/pitch/rugby_league": { - "name": "מגרש רוגבי", - "terms": "מגרש רוגבי" + "name": "מגרש ליגת רוגבי", + "terms": "מגרש ליגה של רוגבי" }, "leisure/pitch/rugby_union": { - "name": "מגרש רוגבי", - "terms": "מגרש רוגבי" + "name": "מגרש התאחדות רוגבי", + "terms": "מגרש התאחדות של רוגבי" }, "leisure/pitch/skateboard": { - "name": "סקייטפארק", - "terms": "סקייטפארק" + "name": "פארק גלגיליות", + "terms": "סקייטפארק,פארק גלישה" }, "leisure/pitch/soccer": { "name": "מגרש כדורגל", @@ -4270,19 +4786,33 @@ "terms": "שולחן פינג פונג" }, "leisure/pitch/tennis": { - "name": "מגרש טניס" + "name": "מגרש טניס", + "terms": "מגרש טניס,רחבת טניס" }, "leisure/pitch/volleyball": { - "name": "מגרש כדורעף" + "name": "מגרש כדורעף", + "terms": "מגרש כדורעף,רחבת כדורעף" }, "leisure/playground": { "name": "גן שעשועים", - "terms": "גן שעשועים" + "terms": "מגרש שעשועים" + }, + "leisure/resort": { + "name": "אתר נופש", + "terms": "נווה נופש,מלון תיירות,תיירות" + }, + "leisure/running_track": { + "name": "מסלול ריצה", + "terms": "מסלול תחרויות ריצה" }, "leisure/sauna": { "name": "סאונה", "terms": "סאונה" }, + "leisure/slipway": { + "name": "ממשה", + "terms": "שיפוע למשיית אונייה" + }, "leisure/sports_centre": { "name": "מרכז ספורט", "terms": "מרכז ספורט" @@ -4300,8 +4830,8 @@ "terms": "בריכת שחייה" }, "leisure/track": { - "name": "מסלול מרוץ (לא מונע)", - "terms": "מסלול מרוץ (לא מונע)" + "name": "מסלול מרוצים (לבלתי ממונעים)", + "terms": "מסלול מרוצים (לא מונע)" }, "leisure/water_park": { "name": "פארק מים", @@ -4312,13 +4842,20 @@ "terms": "קו" }, "man_made": { - "name": "מעשה ידי אדם" + "name": "מעשה ידי אדם", + "terms": "מעשה ידי אדם" + }, + "man_made/adit": { + "name": "פתח גישה", + "terms": "פתח גישה" }, "man_made/antenna": { - "name": "אנטנה" + "name": "אנטנה", + "terms": "אנטנה" }, "man_made/breakwater": { - "name": "שובר גלים" + "name": "שובר גלים", + "terms": "שובר גלים" }, "man_made/bridge": { "name": "גשר", @@ -4328,50 +4865,95 @@ "name": "ארובה", "terms": "ארובה" }, + "man_made/clearcut": { + "name": "יער מגולח", + "terms": "קרחת יער" + }, "man_made/crane": { "name": "מנוף", "terms": "מנוף" }, + "man_made/cutline": { + "name": "אזור חיץ", + "terms": "מקטע חיץ,הפרדה" + }, "man_made/embankment": { "name": "סוללה" }, "man_made/flagpole": { - "name": "עמוד דגל" + "name": "עמוד דגל", + "terms": "עמוד דגל" + }, + "man_made/gasometer": { + "name": "מיכל גז", + "terms": "מיכל גז" + }, + "man_made/groyne": { + "name": "שובר גלים", + "terms": "שובר גלים" }, "man_made/lighthouse": { "name": "מגדלור", "terms": "מגדלור" }, + "man_made/mast": { + "name": "תורן", + "terms": "תורן" + }, "man_made/monitoring_station": { - "name": "תחנת ניטור" + "name": "תחנת ניטור", + "terms": "תחנת ניטור" }, "man_made/observation": { - "name": "מגדל תצפית" + "name": "מגדל תצפית", + "terms": "מגדל תצפית" + }, + "man_made/observatory": { + "name": "מצפה כוכבים", + "terms": "מצפה כוכבים" }, "man_made/petroleum_well": { "name": "באר נפט", "terms": "באר נפט" }, + "man_made/pier": { + "name": "מזח", + "terms": "מזח" + }, + "man_made/pipeline": { + "name": "קו צינורות ", + "terms": "קו צינורות " + }, "man_made/pumping_station": { "name": "תחנת שאיבה", "terms": "תחנת שאיבה" }, "man_made/silo": { "name": "סילו", - "terms": "סילו" + "terms": "ממגורה" + }, + "man_made/storage_tank": { + "name": "מיכל אחסון", + "terms": "מכל אחסון,מיכל איחסון,מכל איכסון" }, "man_made/surveillance": { - "name": "מעקב" + "name": "מעקב", + "terms": "מעקב" }, "man_made/surveillance_camera": { - "name": "מצלמת מעקב" + "name": "מצלמת מעקב", + "terms": "מצלמת מעקב" + }, + "man_made/survey_point": { + "name": "נקודת גבול", + "terms": "נקודת מדד,נקודת מדידה" }, "man_made/tower": { "name": "מגדל", "terms": "מגדל" }, "man_made/wastewater_plant": { - "name": "מפעל טיפול במי ביוב", + "name": "מפעל טיפול בשפכים", "terms": "מפעל טיפול במי ביוב" }, "man_made/water_tower": { @@ -4387,12 +4969,12 @@ "terms": "מזרקה" }, "man_made/watermill": { - "name": "תחנת מים", + "name": "טחנת מים", "terms": "תחנת מים" }, "man_made/windmill": { "name": "טחנת רוח", - "terms": "טחנת רוח" + "terms": "תחנת רוח" }, "man_made/works": { "name": "מפעל", @@ -4407,7 +4989,7 @@ "terms": "צינור לניקוז מי גשמים" }, "manhole/telecom": { - "name": "בור טלקום", + "name": "בור תקשורת", "terms": "בור טלקום" }, "natural": { @@ -4415,8 +4997,8 @@ "terms": "מאפייני טבע" }, "natural/bare_rock": { - "name": "סלע חסוף", - "terms": "סלע חסוף" + "name": "סלע חשוף", + "terms": "סלע חשוף" }, "natural/bay": { "name": "מפרץ", @@ -4435,7 +5017,7 @@ "terms": "צוק" }, "natural/coastline": { - "name": "מישור חוף", + "name": "קו חוף", "terms": "מישור חוף" }, "natural/fell": { @@ -4444,7 +5026,7 @@ }, "natural/glacier": { "name": "קרחון", - "terms": "קרחון" + "terms": "קרחון" }, "natural/grassland": { "name": "דשא", @@ -4452,7 +5034,7 @@ }, "natural/heath": { "name": "שדה בור", - "terms": "שדה בור" + "terms": "שדה בור,אברש" }, "natural/mud": { "name": "בוץ", @@ -4462,6 +5044,14 @@ "name": "פסגה", "terms": "פסגה" }, + "natural/reef": { + "name": "שונית", + "terms": "שונית" + }, + "natural/ridge": { + "name": "רכס", + "terms": "רכס" + }, "natural/saddle": { "name": "אוכף", "terms": "אוכף" @@ -4471,13 +5061,16 @@ "terms": "חול" }, "natural/scree": { - "name": "חלוקי נחל" + "name": "חלוקי נחל", + "terms": "חלוקי נחל" }, "natural/scrub": { - "name": "עשביה" + "name": "עשביה", + "terms": "עשביה" }, "natural/spring": { - "name": "מעיין" + "name": "מעיין", + "terms": "מעיין" }, "natural/tree": { "name": "×¢×¥", @@ -4500,8 +5093,8 @@ "terms": "אגם" }, "natural/water/pond": { - "name": "בריכת דגים\\נוי", - "terms": "בריכת דגים\\נוי" + "name": "בריכת דגים/נוי", + "terms": "בריכת נוי/דגים" }, "natural/water/reservoir": { "name": "מאגר", @@ -4525,7 +5118,7 @@ }, "office/accountant": { "name": "משרד רואה חשבון", - "terms": "משרד רואה חשבון" + "terms": "משרד רואי חשבון,משרד רואת חשבון" }, "office/administrative": { "name": "משרד אדמינסטרטיבי" @@ -4540,7 +5133,7 @@ }, "office/architect": { "name": "משרד אדריכלים", - "terms": "משרד אדריכלים" + "terms": "משרד ארכיטקטים,משרד אדריכלות" }, "office/association": { "name": "ארגון ללא מטרת רווח", @@ -4556,7 +5149,7 @@ }, "office/coworking": { "name": "משרדים משותפים", - "terms": "משרדים משותפים" + "terms": "משרדים שיתופיים" }, "office/educational_institution": { "name": "מוסד חינוכי", @@ -4567,20 +5160,20 @@ "terms": "סוכנות כוח אדם" }, "office/energy_supplier": { - "name": "משרדת ספק חשמל", - "terms": "משרדת ספק חשמל" + "name": "משרד ספק חשמל", + "terms": "משרד אספקת חשמל" }, "office/estate_agent": { - "name": "משרד נדל\"ן", - "terms": "משרד נדל\"ן" + "name": "משרד נדל״ן", + "terms": "משרד נדל״ן" }, "office/financial": { "name": "משרד פיננסי", - "terms": "משרד פיננסי" + "terms": "משרד כלכלי" }, "office/forestry": { "name": "משרד יעור", - "terms": "משרד יעור" + "terms": "יערנות,יערן,יערנית" }, "office/foundation": { "name": "משרד קרן", @@ -4596,7 +5189,7 @@ }, "office/government/tax": { "name": "משרד עריכת מס", - "terms": "משרד עריכת מס" + "terms": "מס הכנסה" }, "office/guide": { "name": "משרד תיירות", @@ -4607,19 +5200,19 @@ "terms": "משרד ביטוח" }, "office/it": { - "name": "משרד IT", - "terms": "משרד IT" + "name": "משרד שירותי מחשוב", + "terms": "משרד מחשוב" }, "office/lawyer": { "name": "משרד עורכי דין", - "terms": "משרד עורכי דין" + "terms": "משרד עריכת דין" }, "office/lawyer/notary": { "name": "משרד נוטריון" }, "office/moving_company": { - "name": "משרד מעבירי רכוש", - "terms": "משרד מעבירי רכוש" + "name": "משרד תובלה", + "terms": "משרד הובלה,משרד העברת רכוש" }, "office/newspaper": { "name": "משרד עיתונאות", @@ -4642,7 +5235,7 @@ }, "office/private_investigator": { "name": "משרד חוקר פרטי", - "terms": "משרד חוקר פרטי" + "terms": "משרד חוקרת פרטי" }, "office/quango": { "name": "משרד ארגון חצי לא ממשלתי", @@ -4654,19 +5247,19 @@ }, "office/surveyor": { "name": "משרד מודד", - "terms": "משרד מודד" + "terms": "משרד מודד,משרד מדידה" }, "office/tax_advisor": { "name": "משרד יועץ מס", - "terms": "משרד יועץ מס" + "terms": "משרד יועץ מס,משרד ייעוץ מס,משרד יועצת מס" }, "office/telecommunication": { - "name": "משרד לשירות ציבורי - טלפוניה", - "terms": "משרד לשירות ציבורי - טלפוניה" + "name": "משרד חברת תקשורת", + "terms": "משרד לשירות ציבורי - טלפוניה,משרד תקשורת" }, "office/therapist": { "name": "משרד מטפל", - "terms": "משרד מטפל" + "terms": "משרד מטפלת" }, "office/travel_agent": { "name": "סוכנות נסיעות" @@ -4677,7 +5270,7 @@ }, "piste": { "name": "מסלול לגלישת סקי", - "terms": "מסלול לגלישת סקי" + "terms": "נתיב לגלישת סקי" }, "place": { "name": "מקום" @@ -4687,11 +5280,11 @@ "terms": "עיר" }, "place/farm": { - "name": "חוה" + "name": "חווה" }, "place/hamlet": { - "name": "כפר", - "terms": "כפר" + "name": "כפריר", + "terms": "כפר קטן" }, "place/island": { "name": "אי", @@ -4706,12 +5299,12 @@ "terms": "מבנה מבודד" }, "place/locality": { - "name": "שכונה", - "terms": "שכונה" + "name": "אזור בלתי מיושב", + "terms": "שטח פתוח,מתחם ללא תושבים,מתחם בלתי מיושב,מתחם פתוח" }, "place/neighbourhood": { "name": "שכונה", - "terms": "שכונה" + "terms": "שכונת מגורים" }, "place/plot": { "name": "חלקה", @@ -4730,7 +5323,7 @@ "terms": "פרוור" }, "place/town": { - "name": "עיריה", + "name": "עירייה", "terms": "עיריה" }, "place/village": { @@ -4738,16 +5331,36 @@ "terms": "כפר" }, "playground/balance_beam": { - "name": "לשחק את קורה", - "terms": "לשחק את קורה" + "name": "קורת שיווי משקל", + "terms": "קורת שיווי משקל" }, "playground/basket_spinner": { - "name": "סל טווה", - "terms": "סל טווה" + "name": "סל מסתובב", + "terms": "מסובב סלים" }, "playground/basket_swing": { - "name": "סל הנדנדה", - "terms": "סל הנדנדה" + "name": "נדנדת סל", + "terms": "נדנדת סלים" + }, + "playground/climbing_frame": { + "name": "מגדל טיפוס", + "terms": "אוהל טיפוס,מתקן טיפוס" + }, + "playground/cushion": { + "name": "מתנפחים", + "terms": "מתנפח,בלון" + }, + "playground/horizontal_bar": { + "name": "מוט משחק אופקי", + "terms": "מתח,טיפוס,קורת טיפוס,קורת מתח" + }, + "playground/rocker": { + "name": "דמויות קפיץ", + "terms": "קופצים,קופצנים,קפיץ" + }, + "playground/roundabout": { + "name": "קרוסלה", + "terms": "קרוסלה" }, "playground/sandpit": { "name": "ארגז חול", @@ -4761,6 +5374,10 @@ "name": "מגלשה", "terms": "מגלשה" }, + "playground/structure": { + "name": "מבנה משחקים", + "terms": "בניין צעצוע,מתקן טיפוס" + }, "playground/swing": { "name": "נדנדות", "terms": "נדנדות" @@ -4770,7 +5387,8 @@ "terms": "אומגה" }, "point": { - "name": "נקודה" + "name": "נקודה", + "terms": "נקודה" }, "power": { "name": "חשמל" @@ -4788,93 +5406,127 @@ "terms": "טורבינת רוח" }, "power/line": { - "name": "קו מתח" + "name": "קו מתח", + "terms": "חוט חשמל" }, "power/minor_line": { - "name": "קו מתח משני" + "name": "קו מתח משני", + "terms": "חוט חשמל משני" }, "power/plant": { - "name": "תחנת כוח" + "name": "תחנת כוח", + "terms": "תחנת חשמל" }, "power/pole": { - "name": "עמוד חשמל" + "name": "עמוד חשמל", + "terms": "תורן חשמל" }, "power/sub_station": { "name": "תחנה תת קרקעית" }, "power/substation": { - "name": "תחנה תת קרקעית" + "name": "תחנה תת קרקעית", + "terms": "תת־קרקעית" }, "power/switch": { "name": "מתג חשמל", "terms": "מתג חשמל" }, "power/tower": { - "name": "מגדל מתח גבוה" + "name": "מגדל מתח גבוה", + "terms": "מגדל מתח" + }, + "power/transformer": { + "name": "שנאי", + "terms": "שנאי" }, "public_transport/linear_platform": { - "name": "תחנת רכבת \\ רציף", - "terms": "תחנת רכבת \\ רציף" + "name": "תחנת / רציף תחבורה ציבורית", + "terms": "רציף / תחנת תחבורה ציבורית" + }, + "public_transport/linear_platform_aerialway": { + "name": "תחנה / רציף של תחבורת כבל", + "terms": "תחנת רכבל,רציף רכבל,רציף / תחנה של תחבורת כבל" }, "public_transport/linear_platform_bus": { - "name": "תחנת אוטובוס \\ רציף", - "terms": "תחנת אוטובוס \\ רציף" + "name": "תחנת / רציף אוטובוס", + "terms": "רציף / תחנת אוטובוס" }, "public_transport/linear_platform_ferry": { - "name": "תחנת מעבורת \\ רציף", - "terms": "תחנת מעבורת \\ רציף" + "name": "תחנת / רציף מעבורת", + "terms": "רציף / תחנת מעבורת" }, "public_transport/linear_platform_light_rail": { - "name": "תחנת רכבת קלה \\ רציף", - "terms": "תחנת רכבת קלה \\ רציף" + "name": "תחנת / רציף רכבת קלה", + "terms": "רציף / תחנת רכבת קלה" }, "public_transport/linear_platform_monorail": { - "name": "תחנת מונורייל \\ רציף", - "terms": "תחנת מונורייל \\ רציף" + "name": "תחנת / רציף מונורייל", + "terms": "רציף / תחנת מונורייל" }, "public_transport/linear_platform_subway": { - "name": "תחנת רכבת תחתית \\ רציף", - "terms": "תחנת רכבת תחתית \\ רציף" + "name": "תחנת / רציף רכבת תחתית", + "terms": "רציף / תחנת רכבת תחתית" }, "public_transport/linear_platform_train": { - "name": "תחנת רכבת \\ רציף", - "terms": "תחנת רכבת \\ רציף" + "name": "תחנת / רציף רכבת", + "terms": "רציף / תחנת רכבת" }, "public_transport/linear_platform_tram": { - "name": "תחנת חשמלית \\ רציף", - "terms": "תחנת חשמלית \\ רציף" + "name": "תחנת / רציף חשמלית", + "terms": "רציף / תחנת טראם,רציף / תחנת חשמלית,תחנת / רציף טראם" + }, + "public_transport/linear_platform_trolleybus": { + "name": "תחנת / רציף טרוליבוס", + "terms": "רציף / תחנת טרוליבוס" + }, + "public_transport/platform": { + "name": "תחנת / רציף תחבורה ציבורית", + "terms": "רציף / תחנת תחבורה ציבורית" + }, + "public_transport/platform_aerialway": { + "name": "תחנה / רציף של תחבורת כבל", + "terms": "תחנת רכבל,רציף רכבל,רציף / תחנה של תחבורת כבל" }, "public_transport/platform_bus": { - "name": "תחנת אוטובוס \\ רציף", - "terms": "תחנת אוטובוס \\ רציף" + "name": "תחנת / רציף אוטובוס", + "terms": "רציף / תחנת אוטובוס" }, "public_transport/platform_ferry": { - "name": "תחנת מעבורת \\ רציף", - "terms": "תחנת מעבורת \\ רציף" + "name": "תחנת / רציף מעבורת", + "terms": "רציף / תחנת מעבורת" }, "public_transport/platform_light_rail": { - "name": "תחנת רכבת קלה \\ רציף", - "terms": "תחנת רכבת קלה \\ רציף" + "name": "תחנת / רציף רכבת קלה", + "terms": "רציף / תחנת רכבת קלה" }, "public_transport/platform_monorail": { - "name": "תחנת מונורייל \\ רציף", - "terms": "תחנת מונורייל \\ רציף" + "name": "תחנת / רציף מונורייל", + "terms": "רציף / תחנת מונורייל" }, "public_transport/platform_subway": { - "name": "תחנת רכבת תחתית \\ רציף", - "terms": "תחנת רכבת תחתית \\ רציף" + "name": "תחנת / רציף רכבת תחתית", + "terms": "רציף / תחנת רכבת תחתית" }, "public_transport/platform_train": { - "name": "תחנת רכבת \\ רציף", - "terms": "תחנת רכבת \\ רציף" + "name": "תחנת / רציף רכבת ", + "terms": "רציף / תחנת רכבת" }, "public_transport/platform_tram": { - "name": "תחנת חשמלית \\ רציף", - "terms": "תחנת חשמלית \\ רציף" + "name": "תחנת / רציף חשמלית", + "terms": "רציף / תחנת חשמלית" }, "public_transport/platform_trolleybus": { - "name": "תחנת חשמלית \\ רציף", - "terms": "תחנת חשמלית \\ רציף" + "name": "תחנת / רציף טרוליבוס", + "terms": "רציף / תחנת טרוליבוס" + }, + "public_transport/station": { + "name": "תחנת תחבורה ציבורית", + "terms": "תחנת תחבורה ציבורית" + }, + "public_transport/station_aerialway": { + "name": "תחנת רכבל", + "terms": "תחנת רכבל" }, "public_transport/station_bus": { "name": "תחנת אוטובוס", @@ -4901,62 +5553,90 @@ "terms": "תחנת רכבת" }, "public_transport/station_train_halt": { - "name": "תחנת רכבת", - "terms": "תחנת רכבת" + "name": "תחנת רכבת ללא החלפה", + "terms": "תחנת רכבת (לא מעבר),תחנת רכבת ללא מעבר" + }, + "public_transport/station_tram": { + "name": "תחנת חשמלית", + "terms": "תחנת טראם" + }, + "public_transport/station_trolleybus": { + "name": "תחנת / מסוף טרוליבוס", + "terms": "מסוף / תחנת טרוליבוס" + }, + "public_transport/stop_area": { + "name": "אזור תחנת תחבורה ציבורית", + "terms": "מתחם תחנת תחבורה ציבורית" + }, + "public_transport/stop_position": { + "name": "מיקום עצירת תחבורה ציבורית", + "terms": "סיום קו תחבורה ציבורית,סוף קו תחבורה ציבורית" + }, + "public_transport/stop_position_aerialway": { + "name": "תחנת עצירה לרכבל", + "terms": "תחנת עצירה לרכבל" }, "public_transport/stop_position_bus": { - "name": "תחנת אוטובוס", - "terms": "תחנת אוטובוס" + "name": "מתחם עצירת אוטובוס", + "terms": "שטח עצירת אוטובוס" }, "public_transport/stop_position_ferry": { - "name": "תחנת מעבורת", - "terms": "תחנת מעבורת" + "name": "מתחם עצירת מעבורת", + "terms": "שטח עצירת מעבורת" }, "public_transport/stop_position_light_rail": { - "name": "תחנת רכבת קלה", - "terms": "תחנת רכבת קלה" + "name": "מתחם עצירת רכבת קלה", + "terms": "שטח עצירת רכבת קלה" }, "public_transport/stop_position_monorail": { - "name": "תחנת מונורייל", - "terms": "תחנת מונורייל" + "name": "מתחם עצירת מונורייל", + "terms": "שטח עצירת מונורייל" }, "public_transport/stop_position_subway": { - "name": "תחנת רכבת תחתית", - "terms": "תחנת רכבת תחתית" + "name": "מתחם עצירת רכבת תחתית", + "terms": "שטח עצירת רכבת תחתית" }, "public_transport/stop_position_train": { - "name": "תחנת רכבת", - "terms": "תחנת רכבת" + "name": "מתחם עצירת רכבת", + "terms": "שטח עצירת רכבת" }, "public_transport/stop_position_tram": { - "name": "תחנת חשמלית", - "terms": "תחנת חשמלית" + "name": "מתחם עצירת חשמלית", + "terms": "שטח עצירת חשמלית" }, "public_transport/stop_position_trolleybus": { - "name": "תחנת חשמלית", - "terms": "תחנת חשמלית" + "name": "תחנת טרוליבוס", + "terms": "תחנת טרוליבוס" }, "railway": { "name": "מסילת רכבת" }, "railway/abandoned": { - "name": "מסילת רכבת לא בשימוש", - "terms": "מסילת רכבת לא בשימוש" + "name": "מסילת רכבת נטושה", + "terms": "מסילת רכבת שננטשה" }, "railway/buffer_stop": { "name": "אוטם מסילה", "terms": "אוטם מסילה" }, + "railway/crossing": { + "name": "חציית מסילת רכבת (דרך)", + "terms": "חציית מסילת רכבת (שביל)" + }, + "railway/derail": { + "name": "שומטן", + "terms": "שומטן" + }, "railway/disused": { "name": "מסילת רכבת לא בשימוש", - "terms": "מסילת רכבת לא בשימוש" + "terms": "מסילת רכבת שאינה בשימוש" }, "railway/funicular": { - "name": "רכבל", - "terms": "רכבל" + "name": "פוניקולר", + "terms": "פוניקולר" }, "railway/halt": { - "name": "תחנת רכבת (עצירה בלבד)" + "name": "תחנת רכבת (ללא החלפה)" }, "railway/level_crossing": { "name": "חציית מסילת רכבת (כביש)", @@ -4971,15 +5651,19 @@ "terms": "אבן דרך" }, "railway/miniature": { - "name": "מסילת רכבת זעיר", - "terms": "מסילת רכבת זעיר" + "name": "מסילת רכבת זעירה", + "terms": "מסילת רכבת זעירה" }, "railway/monorail": { "name": "מונורייל", "terms": "מונורייל" }, + "railway/narrow_gauge": { + "name": "מסילה צרה", + "terms": "מסילה עם מרווח צר" + }, "railway/platform": { - "name": "תחנת רכבת \\ רציף" + "name": "תחנת / רציף רכבת" }, "railway/rail": { "name": "מסילת רכבת", @@ -5013,7 +5697,7 @@ "terms": "חשמלית" }, "railway/tram_stop": { - "name": "תחנת חשמלית" + "name": "תחנת עצירה לחשמלית" }, "relation": { "name": "יחס", @@ -5035,11 +5719,11 @@ "terms": "חנות אביזרי חקלאות" }, "shop/alcohol": { - "name": "חנות משקעות חריפים", - "terms": "חנות משקעות חריפים" + "name": "חנות משקאות חריפים", + "terms": "חנות משקאות" }, "shop/anime": { - "name": "חנות סרטים מצוירים יפנים", + "name": "חנות אנימה", "terms": "חנות סרטים מצוירים יפנים" }, "shop/antiques": { @@ -5051,28 +5735,28 @@ "terms": "חנות כלים חשמלים" }, "shop/art": { - "name": "חנות למוצרי אומנות", + "name": "חנות לחפצי אומנות", "terms": "חנות למוצרי אומנות" }, "shop/baby_goods": { "name": "חנות לדברי תינוקות", - "terms": "חנות לדברי תינוקות" + "terms": "חנות לציוד תינוקות" }, "shop/bag": { - "name": "חנות מזודות", - "terms": "חנות מזודות" + "name": "חנות מזוודות", + "terms": "חנות מזוודות" }, "shop/bakery": { "name": "מאפייה", "terms": "מאפייה" }, "shop/bathroom_furnishing": { - "name": "חנות רהיטי שירותים\\מקלחת", - "terms": "חנות רהיטי שירותים\\מקלחת" + "name": "חנות רהיטי שירותים/מקלחת", + "terms": "חנות ריהוט לשירותים/מקלחת" }, "shop/beauty": { - "name": "חנות מוצרי יופי\\טיפוח", - "terms": "חנות מוצרי יופי\\טיפוח" + "name": "חנות מוצרי יופי/טיפוח", + "terms": "חנות מוצרי יופיטיפוח" }, "shop/beauty/nails": { "name": "סלון ציפורניים", @@ -5083,12 +5767,12 @@ "terms": "מכון שיזוף" }, "shop/bed": { - "name": "חנות מזרונים", - "terms": "חנות מזרונים" + "name": "חנות מזרנים", + "terms": "חנות אביזרי שינה,חנות מזרנים" }, "shop/beverages": { - "name": "חנות משקעות", - "terms": "חנות משקעות" + "name": "חנות משקאות", + "terms": "חנות משקאות" }, "shop/bicycle": { "name": "חנות אופניים", @@ -5096,7 +5780,7 @@ }, "shop/bookmaker": { "name": "כורך ספרים", - "terms": "כורך ספרים" + "terms": "כורכת ספרים" }, "shop/books": { "name": "חנות ספרים", @@ -5108,7 +5792,7 @@ }, "shop/butcher": { "name": "קצב", - "terms": "קצב" + "terms": "קצבית" }, "shop/candles": { "name": "חנות נרות", @@ -5120,7 +5804,7 @@ }, "shop/car_parts": { "name": "חנות חלקי מכוניות", - "terms": "חנות חלקי מכוניות" + "terms": "חנות חלקי חילוף" }, "shop/car_repair": { "name": "מוסך", @@ -5135,8 +5819,8 @@ "terms": "חנות צדקה" }, "shop/cheese": { - "name": "חנות צדקה", - "terms": "חנות צדקה" + "name": "חנות גבינות", + "terms": "פרומז׳רי" }, "shop/chemist": { "name": "בית מרקחת", @@ -5151,8 +5835,8 @@ "terms": "חנות בגדים" }, "shop/coffee": { - "name": "בית קפה", - "terms": "בית קפה" + "name": "חנות קפה", + "terms": "חנות קפה" }, "shop/computer": { "name": "חנות מחשבים", @@ -5163,19 +5847,19 @@ "terms": "חנות ממתקים" }, "shop/convenience": { - "name": "חנות כולבו", - "terms": "חנות כולבו" + "name": "חנות נוחות", + "terms": "חנות נוחות" }, "shop/copyshop": { - "name": "חנות עותקים", - "terms": "חנות עותקים" + "name": "חנות העתקות", + "terms": "חנות עותקים,חנות שכפולים" }, "shop/cosmetics": { "name": "חנות קוסמטיקה", "terms": "חנות קוסמטיקה" }, "shop/craft": { - "name": "חנות דברי אומנות", + "name": "חנות חפצי אומנות", "terms": "חנות דברי אומנות" }, "shop/curtain": { @@ -5183,7 +5867,7 @@ "terms": "חנות וילונות" }, "shop/dairy": { - "name": "חנות דברי חלב", + "name": "חנות מוצרי חלב", "terms": "חנות דברי חלב" }, "shop/deli": { @@ -5191,8 +5875,8 @@ "terms": "מעדניה" }, "shop/department_store": { - "name": "חנות כולבו", - "terms": "חנות כולבו" + "name": "חנות כלבו", + "terms": "חנות כלבו" }, "shop/doityourself": { "name": "חנות עשה זאת בעצמך", @@ -5203,7 +5887,7 @@ "terms": "ניקוי יבש" }, "shop/e-cigarette": { - "name": "חנות דברי עישון", + "name": "חנות מוצרי עישון", "terms": "חנות דברי עישון" }, "shop/electronics": { @@ -5211,7 +5895,7 @@ "terms": "חנות אלקטרוניקה" }, "shop/erotic": { - "name": "חנות סקס", + "name": "חנות ארוטיקה", "terms": "חנות סקס" }, "shop/fabric": { @@ -5219,7 +5903,7 @@ "terms": "חנות אריגה" }, "shop/farm": { - "name": "ירקן", + "name": "דוכן ירקות", "terms": "ירקן" }, "shop/fashion": { @@ -5227,30 +5911,30 @@ "terms": "חנות אופנה" }, "shop/fishmonger": { - "name": "חנות דגים" + "name": "דוכן דגים" }, "shop/florist": { "name": "חנות פרחים", "terms": "חנות פרחים" }, "shop/frame": { - "name": "חנות חלקאות", - "terms": "חנות חלקאות" + "name": "חנות חקלאות", + "terms": "חנות חקלאות" }, "shop/funeral_directors": { "name": "קברן", - "terms": "קברן" + "terms": "קברנית" }, "shop/furnace": { "name": "חנות כבשנים" }, "shop/furniture": { - "name": "חנות רההיטים", - "terms": "חנות רההיטים" + "name": "חנות רהיטים", + "terms": "חנות ריהוט" }, "shop/garden_centre": { "name": "חנות גננות", - "terms": "חנות גננות" + "terms": "חנות ציוד לגן" }, "shop/gas": { "name": "חנות גז", @@ -5262,14 +5946,14 @@ }, "shop/greengrocer": { "name": "ירקן", - "terms": "ירקן" + "terms": "חנות ירקות" }, "shop/hairdresser": { - "name": "מעצב שער", + "name": "מעצב שיער", "terms": "מעצב שער" }, "shop/hardware": { - "name": "חנות כלי חומרה", + "name": "חנות אספקה טכנית", "terms": "חנות כלי חומרה" }, "shop/health_food": { @@ -5281,9 +5965,13 @@ "terms": "חנות מכשירי שמיעה" }, "shop/herbalist": { - "name": "הרבליסט", + "name": "חנות צמחי מרפא", "terms": "הרבליסט" }, + "shop/hifi": { + "name": "חנות הגברה", + "terms": "חנות ציוד הגברה" + }, "shop/houseware": { "name": "חנות כלי בית", "terms": "חנות כלי בית" @@ -5294,14 +5982,14 @@ }, "shop/jewelry": { "name": "תכשיטן", - "terms": "תכשיטן" + "terms": "תכשיטנית" }, "shop/kiosk": { "name": "קיוסק", - "terms": "קיוסק" + "terms": "פיצוציה" }, "shop/kitchen": { - "name": "חנות עיצוב מטבח", + "name": "חנות עיצוב המטבח", "terms": "חנות עיצוב מטבח" }, "shop/laundry": { @@ -5314,19 +6002,19 @@ }, "shop/locksmith": { "name": "מנעולן", - "terms": "מנעולן" + "terms": "מנעולנית" }, "shop/lottery": { "name": "חנות לוטו", - "terms": "חנות לוטו" + "terms": "עמדת לוטו" }, "shop/mall": { "name": "קניון", "terms": "קניון" }, "shop/massage": { - "name": "מכון מסג'", - "terms": "מכון מסג'" + "name": "מכון עיסוי", + "terms": "מכון מסאז׳" }, "shop/medical_supply": { "name": "חנות ציוד רפואי", @@ -5344,6 +6032,10 @@ "name": "חנות אופנועים", "terms": "חנות אופנועים" }, + "shop/motorcycle_repair": { + "name": "מוסך אופנועים", + "terms": "מוסך אופנועים" + }, "shop/music": { "name": "חנות מוזיקה", "terms": "חנות מוזיקה" @@ -5362,23 +6054,23 @@ }, "shop/optician": { "name": "אופטיקאי", - "terms": "אופטיקאי" + "terms": "אופטיקאית" }, "shop/organic": { - "name": "חנות אורגני", - "terms": "חנות אורגני" + "name": "חנות למוצרים אורגניים", + "terms": "חנות אורגנית" }, "shop/outdoor": { "name": "חנות רהיטי גינה", - "terms": "חנות רהיטי גינה" + "terms": "חנות ריהוט גינה" }, "shop/paint": { "name": "חנות צבע", "terms": "חנות צבע" }, "shop/pastry": { - "name": "מאפייה", - "terms": "מאפייה" + "name": "בית מאפה", + "terms": "חנות מאפים" }, "shop/pawnbroker": { "name": "חנות יד שניה", @@ -5409,12 +6101,12 @@ "terms": "חנות אלקטרוניקה ורדיו" }, "shop/religion": { - "name": "חנות לדברי דת", - "terms": "חנות לדברי דת" + "name": "חנות לתשמישי דת", + "terms": "חנות לפריטי דת,חנות יודאיקה,חנות לתשמישי קדושה" }, "shop/scuba_diving": { "name": "חנות לצוללנים", - "terms": "חנות לצוללנים" + "terms": "חנות צלילה" }, "shop/seafood": { "name": "חנות למאכלי ים", @@ -5429,7 +6121,7 @@ "terms": "חנות נעליים" }, "shop/sports": { - "name": "חנות לדברי ספורט", + "name": "חנות לאביזרי ספורט", "terms": "חנות לדברי ספורט" }, "shop/stationery": { @@ -5441,12 +6133,12 @@ "terms": "שטח אחסון להשכרה" }, "shop/supermarket": { - "name": "כול-בו", - "terms": "כול-בו" + "name": "סופרמרקט", + "terms": "סופרמרקט" }, "shop/tailor": { "name": "חייט", - "terms": "חייט" + "terms": "חייטת" }, "shop/tattoo": { "name": "מכון קעקועים", @@ -5473,7 +6165,7 @@ "terms": "חנות צעצועים" }, "shop/trade": { - "name": "חנות מוצרים", + "name": "חנות קמעונאית", "terms": "חנות מוצרים" }, "shop/travel_agency": { @@ -5488,11 +6180,11 @@ "name": "חנות ריקה" }, "shop/vacuum_cleaner": { - "name": "חנות שועבי אבק", - "terms": "חנות שועבי אבק" + "name": "חנות שואבי אבק", + "terms": "חנות שואבי אבק" }, "shop/variety_store": { - "name": "חנות מגון מוצרים", + "name": "חנות מגוון מוצרים", "terms": "חנות מגון מוצרים" }, "shop/video": { @@ -5505,15 +6197,15 @@ }, "shop/watches": { "name": "שען", - "terms": "שען" + "terms": "שענית" }, "shop/water_sports": { - "name": "חנות שחיה", + "name": "חנות שחייה", "terms": "חנות שחיה" }, "shop/weapons": { - "name": "חנות נשקים קרים", - "terms": "חנות נשקים קרים" + "name": "חנות נשק קר", + "terms": "חנות כלי נשק קרים" }, "shop/wholesale": { "name": "חנות סיטונאות", @@ -5528,16 +6220,16 @@ "terms": "חנות יינות" }, "tourism": { - "name": "משרד תיירות", - "terms": "משרד תיירות" + "name": "תיירות", + "terms": "תיירות" }, "tourism/alpine_hut": { "name": "בקטה הררית", "terms": "בקטה הררית" }, "tourism/apartment": { - "name": "בית משותף", - "terms": "בית משותף" + "name": "דירה לאורחים", + "terms": "בית לאורחים" }, "tourism/aquarium": { "name": "אקווריום", @@ -5572,8 +6264,8 @@ "terms": "בית הארחה" }, "tourism/hostel": { - "name": "הוסטל", - "terms": "הוסטל" + "name": "אכסנייה", + "terms": "אכסנייה" }, "tourism/hotel": { "name": "מלון", @@ -5600,11 +6292,11 @@ "terms": "מידע תיירותי" }, "tourism/motel": { - "name": "מלון", - "terms": "מלון" + "name": "מלון דרכים", + "terms": "מלונית" }, "tourism/museum": { - "name": "מוזאון", + "name": "מוזיאון", "terms": "מוזאון" }, "tourism/picnic_site": { @@ -5615,6 +6307,10 @@ "name": "לונה פארק", "terms": "לונה פארק" }, + "tourism/trail_riding_station": { + "name": "תחנת רכיבה", + "terms": "תחנת רכיבה" + }, "tourism/viewpoint": { "name": "תצפית", "terms": "תצפית" @@ -5632,40 +6328,40 @@ "terms": "הקלת פקקי תנועה" }, "traffic_calming/bump": { - "name": "פסי האטה", + "name": "פס האטה", "terms": "פסי האטה" }, "traffic_calming/chicane": { - "name": "אי תנועה", - "terms": "אי תנועה" + "name": "מאט תנועה", + "terms": "מאט תנועה" }, "traffic_calming/choker": { - "name": "פסי האטה", - "terms": "פסי האטה" + "name": "מרסן תנועה", + "terms": "חונק תנועה" }, "traffic_calming/cushion": { - "name": "פסי האטה", - "terms": "פסי האטה" + "name": "כרית האטה", + "terms": "כרית האטה" }, "traffic_calming/dip": { "name": "שקע", "terms": "שקע" }, "traffic_calming/hump": { - "name": "פסי האטה", - "terms": "פסי האטה" + "name": "פס האטה ארוך", + "terms": "פסי האטה ארוכים" }, "traffic_calming/island": { "name": "אי תנועה", "terms": "אי תנועה" }, "traffic_calming/rumble_strip": { - "name": "פסי האטה", - "terms": "פסי האטה" + "name": "פס רעד", + "terms": "פסי רעד,פס רטט,פסי רטט" }, "traffic_calming/table": { - "name": "פסי האטה", - "terms": "פסי האטה" + "name": "פס האטה משוטח", + "terms": "פסי האטה משוטחים" }, "type/boundary": { "name": "גבול", @@ -5676,7 +6372,7 @@ "terms": "גבול ניהולי" }, "type/multipolygon": { - "name": "מולטיפוליגון" + "name": "רב־מצולעים" }, "type/restriction": { "name": "הפרדה", @@ -5735,8 +6431,8 @@ "terms": "נתיב מעבורת" }, "type/route/foot": { - "name": "דרך רגל", - "terms": "דרך רגל" + "name": "דרך רגלית", + "terms": "דרך רגלית" }, "type/route/hiking": { "name": "דרך טיול", @@ -5755,7 +6451,7 @@ "terms": "נתיב צנרת" }, "type/route/piste": { - "name": "נתיב סקי", + "name": "מסלול סקי", "terms": "נתיב סקי" }, "type/route/power": { @@ -5779,8 +6475,8 @@ "terms": "נתיב חשמלית" }, "type/route_master": { - "name": "נתיב על", - "terms": "נתיב על" + "name": "תחנת מעבר אחודה", + "terms": "תחנת מעבר מאוחדת" }, "type/site": { "name": "אתר", @@ -5826,8 +6522,8 @@ "terms": "תחנת תדלוק ימית" }, "waterway/river": { - "name": "נחל", - "terms": "נחל" + "name": "נהר", + "terms": "נהר" }, "waterway/riverbank": { "name": "גדות נהר", @@ -5839,10 +6535,10 @@ }, "waterway/stream": { "name": "נחל", - "terms": "נחל" + "terms": "פלג,יובל" }, "waterway/stream_intermittent": { - "name": "נחל תקופתי", + "name": "נחל אכזב", "terms": "נחל תקופתי" }, "waterway/water_point": { @@ -5854,8 +6550,8 @@ "terms": "מפל" }, "waterway/weir": { - "name": "סכר", - "terms": "סכר" + "name": "סכר מגלש", + "terms": "מגלש,סכר" } } }, @@ -6143,10 +6839,14 @@ "description": "אנחנו במרחק ציוץ: {url}" }, "OSM-India-Puducherry-Facebook": { - "name": "תנועת החומרה והתכנה החופשית - פייסבוק" + "name": "תנועת החומרה והתכנה החופשית - פייסבוק", + "description": "עמוד הפייסבוק של FSHM נועד לעדכון על אירועים ופעילויות של הקהילה", + "extendedDescription": "FSHM מארגנים אירועים שקשורים לתכנה/חומרה פתוחים, טכנולוגיה, מעורבות חברתית ו־OpenStreetMap. עמוד הפייסבוק הוא הדרך הטוב ביותר לשמור על קשר בנוגע לאירועים." }, "OSM-India-Puducherry-Matrix": { - "name": "תנועת החומרה והתכנה החופשית - Matrix" + "name": "תנועת החומרה והתכנה החופשית - Matrix", + "description": "קבוצת ה־Riot של FSHM מיועדת לדיונים, שיתוף ועדכון פעילויות מיפוי ואירועים בתוך ומסביב לפודוצ׳רי.", + "extendedDescription": "חברי קהילת FSHM משתפים עדכונים / חוויות על המיפוי שלהם עם OSM דרך קבוצה ב־Riot.im, קבוצה זה גם משמשת לדיונים בנוגע תכנה / חומרה חופשיים, טכנולוגיה ומעורבות חברתית." }, "OSM-IDN-facebook": { "name": "OpenStreetMap אינדונזיה", @@ -6239,7 +6939,12 @@ }, "OSM-TH-CNX-meetup": { "name": "מפגשי OSM צ׳אנג מאי", - "description": "מפגשים בתדירות בלתי קבועה של קהילת OpenStreetMap של צ׳אנג מאי" + "description": "מפגשים בתדירות בלתי קבועה של קהילת OpenStreetMap של צ׳אנג מאי", + "extendedDescription": "חברי קהילת OpenStreetMap נפגשים מדי מספר חודשים בצ׳אנג מאי. ניתן ליצור אתם קשר ולבקר בכתובת {url} כדי לראות מתי מתקיים המפגש הבא." + }, + "OSM-TH-facebook": { + "name": "קבוצת הפייסבוק של OpenStreetMap תאילנד", + "description": "קבוצת פייסבוק עבור OpenStreetMap בתאילנד" }, "OSM-TH-forum": { "name": "הפורום של OpenStreetMap תאילנד", @@ -6251,7 +6956,8 @@ }, "al-maptime-tirana": { "name": "Maptime טירנה", - "description": "אירועים חברתיים שמתגבשים סביב מיפוי - מתחילים מוזמנים בהחלט!" + "description": "אירועים חברתיים שמתגבשים סביב מיפוי - מתחילים מוזמנים בהחלט!", + "extendedDescription": "Maptime היא סביבת למידה פתוחה לכל רמות ודרגות הידע, המציעה תמיכה חינוכית המיועדת למתחילים. Maptime היא גמישה ובנויה היטב בו זמנית, לטובת יצירת מקום להדרכות, סדנאות ומיזמים בנושאי מיפוי עם מטרה משותפת וזמן עבודה עצמאי/שיתופי." }, "al-telegram": { "name": "ערוץ הטלגרם של OSM אלבניה", @@ -6304,7 +7010,8 @@ }, "be-maptime": { "name": "Maptime בלגיה", - "description": "אירועים חברתיים סביב מיפוי - מתחילים מוזמנים!" + "description": "אירועים חברתיים סביב מיפוי - מתחילים מוזמנים!", + "extendedDescription": "Maptime היא סביבת למידה פתוחה לכל רמות ודרגות הידע, המציעה תמיכה חינוכית המיועדת למתחילים. Maptime היא גמישה ובנויה היטב בו זמנית, לטובת יצירת מקום להדרכות, סדנאות ומיזמים בנושאי מיפוי עם מטרה משותפת וזמן עבודה עצמאי/שיתופי." }, "be-matrix": { "name": "ערוץ ה־Matrix של OpenStreetMap בלגיה", @@ -6313,14 +7020,27 @@ }, "be-meetup": { "name": "קבוצת המפגשים של OpenStreetMap בלגיה", - "description": "מפגשים פנים אל פנים של כל מי שמעוניין ב־OpenStreetMap." + "description": "מפגשים פנים אל פנים של כל מי שמעוניין ב־OpenStreetMap.", + "extendedDescription": "מפגשים בחיים האמתיים מהווים דרך נפלאה לפגוש ממפים אחרים, לשאול אותם שאלות וללמוד הרבה. מתנדבים חדשים מוזמנים במיוחד!" }, "be-twitter": { "name": "הטוויטר של OpenStreetMap בלגיה", "description": "OSM בלגיה בטווויטר: ‎@osm_be" }, + "czech-community": { + "name": "קהילת OSM הצ׳כית", + "description": "פורטל המפה, האתר ופרטי הקשר של חברי OSM בצ׳כיה" + }, + "osmcz-facebook": { + "name": "הפייסבוק של OpenStreetMap צ׳כיה", + "description": "ניתן לעקוב אחר הקהילה הצ׳כית בפייסבוק - כולל ה־WeeklyOSM המתורגם!" + }, + "osmcz-twitter": { + "name": "הטוויטר של הקהילה הצ׳כית ‎@osmcz", + "description": "ניתן לעקוב אחר הקהילה הצ׳כית בטוויטר - כולל ה־WeeklyOSM המתורגם!" + }, "talk-cz-mailinglist": { - "name": "קבוצת הדיוור Talk-cz", + "name": "קבוצת הדיונים הצ׳כית (talk-cz)", "description": "Talk-cz היא קבוצת הדיוור הרשמית של הקהילה הצ׳כית" }, "dk-forum": { @@ -6399,6 +7119,10 @@ "name": "קבוצת הדיוור OWL", "description": "זאת רשימת הדיוור לקהילת OSM במזרח וסטפליה-ליפה" }, + "de-telegram": { + "name": "הטלגרם של OpenStreetMap גרמניה", + "description": "ניתן להצטרף לקבוצת העל של OpenStreetMap גרמניה בטלגרם בכתובת {url}" + }, "osm-de": { "name": "OpenStreetMap גרמניה", "description": "הפלטפורמה למידע על OpenStreetMap בגרמניה" @@ -6437,10 +7161,12 @@ }, "OSM-Rome-meetup": { "name": "מפגש המיפוי של רומא - Incontro Mappatori Romani", - "description": "שיפור OpenStreetMap באזור רומא" + "description": "שיפור OpenStreetMap באזור רומא", + "extendedDescription": "אנו מכוונים להוות משאב לשיחות בין אנשים ולשתף מידע על שימוש בנתונים גאוגרפיים חופשיים ובמיוחד OpenStreetMap ותכניות לניהול גאו־מרחבי שמנהלות, עורכות ומציגות נתונים גאוגרפיים וקידום השימוש בהן לטובת לאציו." }, "South-Tyrol-Mailing-List": { - "name": "קבוצת הדיוור של OpenStreetMap לדרום טירול" + "name": "קבוצת הדיוור של OpenStreetMap לדרום טירול", + "description": "קבוצת הדיונים האזורית של OpenStreetMap איטליה לאזור דרום טירול" }, "talk-it-lazio": { "name": "OpenStreetMap לאציו, איטליה", @@ -6448,17 +7174,20 @@ "extendedDescription": "קבוצת דיוור לאזורי רומא ולאציו." }, "Trentino-Mailing-List": { - "name": "קבוצת הדיוור של OpenStreetMap טרנטינו" + "name": "קבוצת הדיוור של OpenStreetMap טרנטינו", + "description": "קבוצת הדיונים האזורית של OpenStreetMap איטליה לאזור טרנטינו" }, "no-forum": { "name": "הפורום המקוון של OpenStreetMap נורווגיה", "description": "הפורום המקוון של OpenStreetMap נורווגיה" }, "no-irc": { - "name": "OpenStreetMap נורווגיה ב־IRC" + "name": "OpenStreetMap נורווגיה ב־IRC", + "description": "חדר צ׳אט לממפי, משתמשי, מפתחי וחובבי OpenStreetMap בנורווגיה" }, "no-mailinglist": { - "name": "קבוצת הדיוור של OpenStreetMap נורווגיה" + "name": "קבוצת הדיוור של OpenStreetMap נורווגיה", + "description": "קבוצת דיוור לממפי, משתמשי, מפתחי וחובבי OpenStreetMap בנורווגיה" }, "OSM-PL-facebook-group": { "name": "קבוצת הפייסבוק של OpenStreetMap פולין", @@ -6500,10 +7229,20 @@ "name": "הטוויטר של OpenStreetMap שוודיה", "description": "ניתן לעקוב אחרינו בטוויטר: {url}" }, + "Nottingham-OSM-pub-meetup": { + "name": "קבוצת המפגשים החודשיים של מזרח המידלנדס (נוטינגהם)", + "description": "מפגשים חברתיים לממפי ומשתמשי מזרח המידלנדס", + "extendedDescription": "הקבוצה עורכת מפגשים מאז מרץ 2011, בהתחלה בנוטינגהם ובהמשך בדרבי ומדי פעם בפעם במקומות אחרים במזרח המידלנדס. מדובר במפגשים חברתיים אך הם גם מקום נפלא לבוא ולשאול שאלות על OSM, או נקודתית על האזור או באופן כללי. בחודשי הקיץ אנחנו בדרך כלל עורכים פעילות מיפוי קליל למשך כשעה בקרבת מקום המפגש. לקבוצה ככלל יש עניין מיוחד בזכויות מיפוי ציבורי של דרכים ומדי פעם מתקיימות גם פגישות למטרה זו." + }, "gb-mailinglist": { "name": "קבוצת הדיוור Talk-gb", "description": "Talk-gb היא קבוצת הדיוור הרשמית של קהילת OSM הבריטית (כולל צפון אירלנד)" }, + "mappa-mercia-group": { + "name": "הקבוצה המקומית Mappa Mercia", + "description": "בית לחובבי OpenStreetMap במידלנדס", + "extendedDescription": "מיזם Mappa Mercia מיועד לטפל את OpenStreetMap במערב המידלנדס, אנגליה. אנו מגבשים אירועים קהילתיים, מספקים הכשרה ותומכים בארגונים מקומיים שרוצים לפתוח את הנתונים שלהם." + }, "gb-irc": { "name": "OpenStreetMap המלכה המאוחדת ב־IRC", "description": "ניתן להצטרף ל־‎#osm-gb תחת irc.oftc.net (פתחה 6667)", @@ -6527,7 +7266,8 @@ }, "Bay-Area-OpenStreetMappers": { "name": "ממפי OpenStreetMap באזור מפרץ סן פרנסיסקו", - "description": "שיפור OpenStreetMap באזור מפרץ סן פרנסיסקו" + "description": "שיפור OpenStreetMap באזור מפרץ סן פרנסיסקו", + "extendedDescription": "מטרת הקבוצה הזו היא להגדיל את קהילת OpenStreetMap כאן באזור מפרץ סן פרנסיסקו. האירועים שלנו פתוחים לכולם, החל מחובבי קוד פתוח, רוכבי אופניים, מומחי GIS, אוצרי נתונים גאוגרפיים והרבה מעבר לזה. כולם וכל מי שמעוניין במפות, יצירת מפות ונתוני מפות חופשיים מוזמנים להצטרף לקבוצה שלנו ולהשתתף באירועים שלנו." }, "Central-Pennsylvania-OSM": { "name": "OSM מרכז פנסילבניה", @@ -6544,10 +7284,13 @@ }, "GeoPhilly": { "name": "GeoPhilly", - "description": "קבוצת מפגשים לחובבי מפות באזור פילדלפיה" + "description": "קבוצת מפגשים לחובבי מפות באזור פילדלפיה", + "extendedDescription": "GeoPhilly היא קבוצה של מפתחים, מומחי גאוגרפיה, גיקים של מידע, חובבי קוד פתוח, האקרים אזרחיים ומכורי מפות שמתאגדים סביב אהבתם המשותפת למפות ולסיפורים שהן מספרות. אם מפות משמשות אותך כחלק מהעבודה שלך או שפשוט מעניין אותך לדעת יותר, המפגש הזה מיועד לך! האירועים שלנו מתוכננים להיות פתוחים, ידידותיים, חינוכיים וחברתיים, החל מהרמת כוסית דרך הרצאות בזק ואפילו סדנאות. מזמינים אותך ליצור קהילה גאו־‏מרחבית מגוונת ומעוררת השראה בפילדלפיה ביחד אתנו!" }, "MapMinnesota": { - "name": "MapMinnesota" + "name": "MapMinnesota", + "description": "ממפי וחובבי OpenStreetMap באזור טווין סיטיז", + "extendedDescription": "חיבור חובבי OpenStreetMap באזורי מינסוטה וטווין סיטיז!" }, "Mapping-DC-meetup": { "name": "מיפוי וושינגטון הבירה", @@ -6561,7 +7304,8 @@ }, "OpenCleveland-meetup": { "name": "קליבלנד פתוחה", - "description": "שיפור OpenStreetMap באזור קליבלנד" + "description": "שיפור OpenStreetMap באזור קליבלנד", + "extendedDescription": "Open Geo קליבנד מכוונים להוות משאב לשיחות בין אנשים ולשתף מידע על שימוש בנתונים גאוגרפיים חופשיים ובמיוחד OpenStreetMap ותכניות לניהול גאו־מרחבי שמנהלות, עורכות ומציגות נתונים גאוגרפיים וקידום השימוש בהן לטובת צפון מזרח אוהיו, אנו גם סניף של maptime =)." }, "OSM-Boston": { "name": "OpenStreetMap בוסטון", @@ -6569,6 +7313,7 @@ "extendedDescription": "OpenStreetMap היא מפת העולם פתוחה בסגנון ויקי, מורכבת ממאות אלפי תרומות כל יום שנתרמות על ידי אנשים כמוך. עריכת המפה היא תהליך פשוט ומהנה! מזמינים אותך להצטרף אלינו בפעילויות הפנים והחוץ כחלק מהניסיון שלנו ליצור את המפה הטובה ביותר של אזור בוסטון ושאר העולם!" }, "OSM-Central-Salish-Sea": { + "name": "OpenStreetMap מרכז ים סאליש", "description": "ממפים ומשתמשי OpenStreetMap סביב מאונט ורנון, וירג׳יניה", "extendedDescription": "OpenStreetMap היא מפת העולם שנוצרת על ידי אנשים כמוך. זו מפה בהרכבתך, שמוגשת לציבור בחינם כמו ויקיפדיה. כדאי לבקר ב־osm.org למידע נוסף. אנו נפגשים כל הזמן ומדברים על מפות, ממפים ונהנים!" }, @@ -6578,14 +7323,17 @@ }, "OSM-Colorado": { "name": "OpenStreetMap קולורדו", - "description": "ממפים ומשתמשים ב־OpenStreetMap במדינת קולורדו, ארה״ב" + "description": "ממפים ומשתמשים ב־OpenStreetMap במדינת קולורדו, ארה״ב", + "extendedDescription": "OpenStreetMap (OSM) קולורדו היא שיתוף פעולה מקומי בין אנשים שמתעניינים ברתימת מאמציהם ליצירת מפות חופשיות. אנו מעודדים את כל הממפים לארגן או להציע אירועי מיפוי בכל רחבי המדינה. פעילויות במפגשים יכול להיות סתם מפגש חברתי, תרגול OSM ממתחילים ועד מתקדמים או מסיבות מיפוי קהילתיות." }, "OSM-NYC": { - "name": "OpenStreetMap העיר ניו יורק" + "name": "OpenStreetMap העיר ניו יורק", + "description": "ממפי, משתמשי, מפתחי וחובבי OpenStreetMap באיזור המטרופולין של ניו יורק " }, "OSM-Portland": { "name": "OpenStreetMap פורטלנד", - "description": "ממפים ומשתמשים ב־OpenStreetMap באזור פורטלנד" + "description": "ממפים ומשתמשים ב־OpenStreetMap באזור פורטלנד", + "extendedDescription": "OpenStreetMap (OSM) היא מפה של העולם שנוצרה על ידי אנשים כמוך. זו מפה שנבנית על ידיך ומוגשת לקהילה באופן חופשי כמו ויקיפדיה. כדאי לבקר ב־osm.org למידע נוסף, ניתן גם להצטרף אלינו למפגשים כדי לדבר על מפות, לתרום ל־OSM וליהנות!" }, "OSM-Seattle": { "name": "OpenStreetMap סיאטל", @@ -6593,11 +7341,18 @@ }, "OSM-SoCal": { "name": "OpenStreetMap דרום קליפורניה", - "description": "בואו נהנה, נתרום משהו ללוס אנג׳לס ונלמד על מיפוי!" + "description": "בואו נהנה, נתרום משהו ללוס אנג׳לס ונלמד על מיפוי!", + "extendedDescription": "OpenStreetMap (OSM) דרום קליפורניה היא קבוצה שמיועדת לכל מי שמעניין אות להיפגש ולעבוד יחד על OpenStreetMap.‏ OpenStreetMap, הוויקיפדיה של המפות, מפה חופשית של העולם שנוצרת על ידי למעלה ממיליון משתתפים מכל רחבי העולם. כולם מוזמנים. אם עוד אין לך היכרות עם OpenStreetMap, אנו נלמד אותך. אם יש לך רעיון למיזם מיפוי או אפילו סיור שטח עם הקבוצה, מעולה!" + }, + "OSM-South-Bay": { + "name": "OSM סאות׳ ביי", + "description": "Map Nights באירוח של Code for San Jose", + "extendedDescription": "Code for San Jose, הבריגדה המקומית של Code for America, מארחת Map Nights חודשיים בימי חמישי באזור המרכזי של סן חוזה. ניתן לפגוש ממפים עמיתים מסאות׳ ביי, לסייע עם מיזמי מיפוי מקומיים ולשמוע על מיזמים טכנולוגיים אזרחיים נוספים. לא נדרש ידע מקדים בתכנות או ב־GIS." }, "OSM-Tampa-Bay": { "name": "OpenStreetMap מפרץ טמפה", - "description": "ממפים ומשתמשים ב־OpenStreetMap באזור מפרץ טמפה" + "description": "ממפים ומשתמשים ב־OpenStreetMap באזור מפרץ טמפה", + "extendedDescription": "קבוצת OSM בטמפה ביי למפגשים ולבניית המפה המכריעה של טמפה ביי על ידי תושבים מקומיים עם OpenStreetMap, מפת העולם החופשית גם לעריכה. אם תחומי העניין הבאים מרתקים אותך: מפות, נתונים, קוד פתוח, GPS, טיולים בטבע, רכיבה על אופניים וכו׳, ירתק אותך לעבוד עם OpenStreetMap - אז למה שלא להצטרף אלינו? אנו נפגשים, ממפים ומדברים על נושאים חדשים בערך פעם בחודש." }, "OSM-US-Slack": { "name": "ה־Slack של OpenStreetMap ארה״ב", @@ -6610,11 +7365,13 @@ }, "OSM-Utah": { "name": "OpenStreetMap יוטה", - "description": "ממפים ומשתמשים ב־OpenStreetMap באזור סולט לייק סיטי" + "description": "ממפים ומשתמשים ב־OpenStreetMap באזור סולט לייק סיטי", + "extendedDescription": "פעילויות עשויות לכלול דברים כגון סדנאות הדרכה למיפוי, מסיבות מיפוי ואיסוף נתונים באוויר הפתוח. האירועים מתקיימים באזור סולט לייק סיטי, לפחות בתחילת הדרך. אנו מחפשים ממפים מנוסים לצד מתחילים ב־OSM. מזמינים אותך להצטרף אלינו ופשוט למפות!" }, "OSM-Wyoming": { "name": "OpenStreetMap ויומינג", - "description": "ממפים ומשתמשים ב־OpenStreetMap במדינת ויומינג" + "description": "ממפים ומשתמשים ב־OpenStreetMap במדינת ויומינג", + "extendedDescription": "OpenStreetMap (OSM) ויומינג היא שיתוף פעולה מקומי בין אנשים שמתעניינים ברתימת מאמציהם ליצירת מפות חופשיות. אנו מעודדים את כל הממפים לארגן או להציע אירועי מיפוי בכל רחבי המדינה. פעילויות במפגשים יכול להיות סתם מפגש חברתי, תרגול OSM ממתחילים ועד מתקדמים או מסיבות מיפוי קהילתיות." }, "PHXGeo-meetup": { "name": "קבוצת המפגשים של PHXGeo", @@ -6626,10 +7383,13 @@ "description": "ניתן לעקוב אחרינו בטוויטר בכתובת {url}" }, "Western-Slope-facebook": { + "name": "הפייסבוק של OSM וסטרן סלופ", "description": "ממפי ומשתמשי OpenStreetMap סביב גרנד ג׳נקשן, קולורדו" }, "Western-Slope-meetup": { - "description": "ממפי ומשתמשי OpenStreetMap סביב גרנד ג׳נקשן, קולורדו" + "name": "קבוצת המפגשים של OSM וסטרן סלופ", + "description": "ממפי ומשתמשי OpenStreetMap סביב גרנד ג׳נקשן, קולורדו", + "extendedDescription": "מטרת הקבוצה הזאת היא להפגיש את הקהילה עם OpenStreetMap, לפתח קהילת ממפים, ליצור את הנתונים הגאוגרפיים המרשימים ביותר שניתן באמצעות כל שיטה שאפשר למצוא כדי לבנות אסטרטגיה לקבל את המידע הזה לתוך הקהילה שלנו. איך נשמע לך תיחום שבילים מדויק? אולי פיתוח נוסף של שבילי אופניים? כל מה שרק מעניין אותך, זה היופי ב־OpenStreetMap!" }, "Maptime-Australia-Slack": { "name": "ה־Slack של Maptime אוסטרליה", @@ -6785,6 +7545,10 @@ "name": "OpenStreetMap ב־Reddit", "description": "/r/openstreetmap/ הוא מקום נהדר ללמוד עוד על OpenStreetMap. מצפים לשאלות שלכם בכל נושא שהוא!" }, + "OSM-Telegram": { + "name": "הטלגרם של OpenStreetMap", + "description": "ניתן להצטרף לקבוצת העל הגלובלית של OpenStreetMap בטלגרם בכתובת {url}" + }, "OSM-Twitter": { "name": "הטוויטר של OpenStreetMap", "description": "ניתן לעקוב אחרינו בטוויטר בכתובת {url}" diff --git a/vendor/assets/iD/iD/locales/is.json b/vendor/assets/iD/iD/locales/is.json index 006255e6d..15e3877f0 100644 --- a/vendor/assets/iD/iD/locales/is.json +++ b/vendor/assets/iD/iD/locales/is.json @@ -150,7 +150,9 @@ "vertex": "Tengdi leið við aðra leið.", "line": "Tengdi leið við línu.", "area": "Tengdi leið við svæði." - } + }, + "relation": "Það er ekki hægt að tengja þessi atriði því þau eru með gagnstæð venslahlutverk.", + "restriction": "Það er ekki hægt að tengja þessi atriði því það myndi skemma \"{relation}\" vensl." }, "disconnect": { "title": "Aftengja", @@ -168,6 +170,8 @@ "annotation": "Sameinaði {n} fitjur.", "not_eligible": "Það er ekki hægt að sameina þessa hluti.", "not_adjacent": "Það er ekki hægt að sameina þessi atriði því endapunktar þeirra eru ekki tengdir.", + "restriction": "Það er ekki hægt að sameina þessi atriði því það myndi skemma \"{relation}\" vensl.", + "relation": "Það er ekki hægt að sameina þessi atriði því þau eru með gagnstæð venslahlutverk.", "incomplete_relation": "Það er ekki hægt að sameina þessi atriði því ekki er búið að hlaða inn að fullu a.m.k. einu þeirra.", "conflicting_tags": "Það er ekki hægt að sameina þessi atriði því sum merki þeirra eru ekki með samstæð gildi." }, @@ -406,6 +410,7 @@ "key": "H", "title": "Aðgerðaferill", "selected": "{n} valin", + "no_history": "Enginn ferill (nýr eiginleiki)", "version": "Útgáfa", "last_edit": "Síðasta breyting", "edited_by": "Breytt af", @@ -644,8 +649,19 @@ }, "success": { "just_edited": "Þú hefur breytt OpenStreetMap!", + "thank_you": "Takk fyrir að bæta kortið.", + "thank_you_location": "Takk fyrir að bæta kortið í kringum {where}.", + "help_html": "Breytingarnar þínar ættu að birtast á OpenStreetMap innan skamms. Breytingar á öðrum kortum og ákveðnum eigindum gætu tekið lengri tíma.", "help_link_text": "Nánar", - "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" + "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", + "view_on_osm": "Skoða breytingar á OSM", + "changeset_id": "Breytingasettið þitt #: {changeset_id}", + "like_osm": "Kanntu vel við OpenStreetMap? Tengstu öðrum þátttakendum:", + "more": "Meira", + "events": "Atburðir", + "languages": "Tungumál: {languages}", + "missing": "Er eitthvað sem vantar á þennan lista?", + "tell_us": "Segðu okkur!" }, "confirm": { "okay": "Í lagi", @@ -1772,6 +1788,9 @@ "display": { "label": "Birting" }, + "distance": { + "label": "Heildarfjarlægð" + }, "dock": { "label": "Tegund" }, @@ -1923,6 +1942,31 @@ "label": "Körfur", "placeholder": "1, 2, 4..." }, + "horse_dressage": { + "options": { + "equestrian": "Já", + "undefined": "Nei" + } + }, + "horse_riding": { + "options": { + "horse_riding": "Já", + "undefined": "Nei" + } + }, + "horse_scale": { + "options": { + "common": "Auðvelt: Engin vandamál eða erfiðleikar. (sjálfgefið)" + }, + "placeholder": "Erfitt, hættulegt..." + }, + "horse_stables": { + "label": "Reiðhús", + "options": { + "stables": "Já", + "undefined": "Nei" + } + }, "iata": { "label": "IATA" }, @@ -2222,6 +2266,7 @@ "placeholder": "1, 2, 3..." }, "phone": { + "label": "Sími", "placeholder": "+31 42 123 4567" }, "piste/difficulty": { @@ -5604,6 +5649,7 @@ "attribution": { "text": "Skilmálar og umsagnir" }, + "description": "Útjaðar myndefnis og tökudagsetningar. Merkingar birtast við aðdráttarstig 13 og hærra.", "name": "Eldri myndir frá DigitalGlobe (Premium Vintage)" }, "DigitalGlobe-Standard": { @@ -5617,6 +5663,7 @@ "attribution": { "text": "Skilmálar og umsagnir" }, + "description": "Útjaðar myndefnis og tökudagsetningar. Merkingar birtast við aðdráttarstig 13 og hærra.", "name": "Eldri myndir frá DigitalGlobe (Standard Vintage)" }, "EsriWorldImagery": { @@ -5700,6 +5747,10 @@ "description": "Gult = Kortagögn í almenningseigu frá US Census þjóðskránni. Rautt = Gögn fundust ekki í OpenStreetMap", "name": "TIGER vegir 2017" }, + "US_Forest_Service_roads_overlay": { + "description": "Vegur: Grænn útjaðar = óflokkað. Brúnn útjaðar = slóði. Yfirborð: möl = ljósbrún fylling, malbik = svart, hellur = grátt, jarðvegur = hvítt, steypa = blátt, gras = grænt. Árstíðabundið = hvítar rendur", + "name": "U.S. Forest vegayfirlag" + }, "Waymarked_Trails-Cycling": { "attribution": { "text": "© waymarkedtrails.org, þátttakendur í OpenStreetMap, CC by-SA 3.0" @@ -5814,10 +5865,29 @@ } }, "community": { + "cape-coast-youthmappers": { + "description": "Fylgstu með okkur á Twitter: {url}" + }, + "osm-gh-twitter": { + "name": "OpenStreetMap Ghana á Twitter", + "description": "Fylgstu með okkur á Twitter: {url}" + }, + "talk-gh": { + "name": "Talk-gh póstlistinn" + }, + "talk-mg": { + "name": "Talk-mg póstlistinn" + }, + "OSM-BGD-facebook": { + "name": "OpenStreetMap Bangladesh" + }, "OSM-India-facebook": { "name": "OpenStreetMap India - Kortagerð með þáttöku nágranna", "description": "Bætum OpenStreetMap-gögn á Indlandi" }, + "OSM-india-twitter": { + "name": "Twitter-hópur OpenStreetMap Indland" + }, "OSM-japan-facebook": { "name": "OpenStreetMap Japan samfélagið", "description": "Kortagerðarfólk og notendur OpenStreetMap í Japan" @@ -5862,18 +5932,54 @@ "name": "Póstlisti OpenStreetMap Tævan", "description": "Talk-ja er opinber póstlisti tævanska OSM-hópsins" }, + "at-twitter": { + "name": "Twitter-hópur OpenStreetMap í Austurríki", + "description": "Twitter-hópur OpenStreetMap í Austurríki: {url}" + }, + "osmgraz-twitter": { + "name": "Twitter-hópur OpenStreetMap í Graz", + "description": "Twitter-hópur OpenStreetMap í Graz" + }, "byosm": { "name": "OpenStreetMap Hvítarússland", "description": "Telegram-hópur OpenStreetMap Hvítarússlands" }, + "be-twitter": { + "name": "Twitter-hópur OpenStreetMap í Belgíu", + "description": "Twitter-hópur OpenStreetMap í Belgíu: @osm_be" + }, "talk-cz-mailinglist": { - "name": "Talk-cz póstlistinn", "description": "Talk-ja er opinber póstlisti tékkneska OSM-hópsins" }, + "fr-twitter": { + "name": "Twitter-hópur OpenStreetMap í Frakklandi", + "description": "Twitter-hópur OpenStreetMap í Frakklandi: {url}" + }, + "de-berlin-twitter": { + "name": "Twitter-hópur OpenStreetMap í Berlín", + "description": "Fylgstu með okkur á Twitter: {url}" + }, + "de-mailinglist": { + "name": "Talk-de póstlistinn" + }, + "it-twitter": { + "name": "Twitter-hópur OpenStreetMap á Ítalíu", + "description": "Fylgstu með okkur á Twitter á {url}" + }, "OSM-ES-telegram": { "name": "@OSMes á Telegram", "description": "Telegram-hópur OpenStreetMap Spánn" }, + "se-facebook": { + "name": "OpenStreetMap Sweden Facebook" + }, + "se-mailinglist": { + "name": "Talk-se póstlistinn" + }, + "se-twitter": { + "name": "Twitter-hópur OpenStreetMap í Svíþjóð", + "description": "Fylgstu með okkur á Twitter: {url}" + }, "OSM-Vancouver-meetup": { "name": "OpenStreetMap Vancouver", "description": "Kortagerðarfólk og notendur OpenStreetMap í Vancouver, BC-svæðinu" @@ -5968,6 +6074,7 @@ "description": "Kortagerðarfólk og notendur OpenStreetMap á Phoenix, AZ-svæðinu" }, "PHXGeo-twitter": { + "name": "Twitter-hópur PHXGeo", "description": "Fylgstu með okkur á Twitter á {url}" }, "Western-Slope-facebook": { @@ -5981,7 +6088,8 @@ }, "OSM-AR-facebook": { "name": "Facebook-hópur OpenStreetMap Argentína", - "description": "Gakktu til liðs við OpenStreetMap Argentína hópinn á Facebook" + "description": "Gakktu til liðs við OpenStreetMap Argentína hópinn á Facebook", + "extendedDescription": "Fréttir frá fólki á staðnum" }, "OSM-AR-forum": { "name": "Vefspjall (forum) OpenStreetMap Argentína", @@ -6002,9 +6110,56 @@ "name": "Twitter-hópur OpenStreetMap Argentína", "description": "Fylgstu með okkur á Twitter á {url}" }, + "OSM-br-twitter": { + "name": "Twitter-hópur OpenStreetMap í Brasilíu", + "description": "Fylgstu með okkur á Twitter á {url}" + }, + "OSM-CL-twitter": { + "name": "Twitter-hópur OpenStreetMap í Síle", + "description": "Fylgstu með okkur á Twitter á {url}" + }, + "OSM-CO-mailinglist": { + "name": "Talk-co póstlistinn" + }, + "OSM-CO-twitter": { + "name": "Twitter-hópur OpenStreetMap í Kólumbíu", + "description": "Fylgstu með okkur á Twitter á {url}" + }, + "OSM-PE-mailinglist": { + "name": "Talk-pe póstlistinn" + }, + "OSM-PE-telegram": { + "name": "Telegram-hópur OpenStreetMap í Perú" + }, + "OSM-PE-twitter": { + "name": "Twitter-hópur OpenStreetMap í Perú", + "description": "Fylgstu með okkur á Twitter á {url}" + }, + "OSM-PE": { + "name": "OpenStreetMap í Perú" + }, + "OSM-Facebook": { + "name": "OpenStreetMap á Facebook" + }, + "OSM-help": { + "name": "Aðstoð með OpenStreetMap" + }, "OSM-Reddit": { "name": "OpenStreetMap á Reddit", "description": "/r/openstreetmap/ er góður staður til að læra meira um OpenStreetMap. Spurðu okkur um allt milli himins og jarðar!" + }, + "OSM-Twitter": { + "name": "Twitter-hópur OpenStreetMap", + "description": "Fylgstu með okkur á Twitter á {url}" + }, + "OSMF": { + "name": "OpenStreetMap sjálfseignarstofnunin", + "events": { + "sotm2018": { + "name": "Ástand landakortsins 2018", + "where": "Mílanó, Ítalíu" + } + } } } } diff --git a/vendor/assets/iD/iD/locales/it.json b/vendor/assets/iD/iD/locales/it.json index 87287a9a9..f6effebd2 100644 --- a/vendor/assets/iD/iD/locales/it.json +++ b/vendor/assets/iD/iD/locales/it.json @@ -123,7 +123,7 @@ }, "too_large": { "single": "Questo elemento non può essere cancellato perché non è del tutto visibile.", - "multiple": "Questi elementi non possono essere cacnellati perché non tutti sono visibili." + "multiple": "Questi elementi non possono essere cancellati perché non tutti sono visibili." }, "incomplete_relation": { "single": "Questo elemento non può essere cancellato perché non è stato completamente scaricato.", @@ -715,6 +715,11 @@ "zoom": "Zoom sul livello", "browse": "Scegli un file" }, + "streetside": { + "tooltip": "Foto Streetside da Microsoft", + "title": "Foto sovrimpresse (Bing Streetside)", + "report": "Segnala un problema di privacy su questa foto" + }, "mapillary_images": { "tooltip": "Fotografie stradali da Mapillary", "title": "Livello Foto (Mapillary)" @@ -861,7 +866,7 @@ "multipolygon_merge": "Quando si uniscono più linee o aree, viene creata una nuova relazione multipoligono avente come membri gli elementi selezionati. iD aggiungerà automaticamente i ruoli outer e inner, determinando quali elementi sono contenuti all'interno degli altri.", "turn_restriction_h": "Restrizione di svolta", "turn_restriction": "Una relazione *Obbligo di svolta* è formata da un gruppo di segmenti di strade ad una intersezione. Gli obblighi di svolta contengono una strada *da*, un nodo *via* e una strada *verso*.", - "turn_restriction_field": "Per modificare un obbligo di svolta, seleziona il nodo di giunzione dove due o più strade s'incontrano. L'editor dell'elemento mostrerà un campo speciale \"Obblighi di svolta' contenente un modello dell'intersezione.", + "turn_restriction_field": "Per modificare un obbligo di svolta, seleziona il nodo di giunzione dove due o più strade s’incontrano. L’editor dell’elemento mostrerà un campo speciale “Obblighi di svolta” contenente un modello dell’intersezione.", "turn_restriction_editing": "Nel campo \"Obblighi di svolta\", clicca per selezionare una strada \"da\" e decidi se le svolte sono consentite oppure vietate per ogni strada \"verso\". Clicca nelle icone di svolta per alternare lo stato tra consentito e vietato. iD creerà automaticamente le relazione e imposterà i ruoli \"da\", \"via\" e \"verso\" basandosi sulle tue scelte.", "route_h": "Percorsi", "route": "Una relazione *percorso* consiste in un gruppo di uno o più elementi linea che formano insieme una rete di percorsi, come per esempio la linea di un autobus, quella di un treno oppure un percorso stradale.", @@ -2685,7 +2690,7 @@ "options": { "bad": "Cattiva: tracciato visibile a stento", "excellent": "Eccellente: tracciato evidente o segnavia sempre presenti", - "good": "Buona: segnavia visibili, ma talvolta difficile da individuare", + "good": "Buona: segnavia visibili, ma talvolta difficili da individuare", "horrible": "Orribile: spesso non tracciato", "intermediate": "Media: tracciato non sempre visibile", "no": "Nessuna: perlopiù non tracciato" @@ -2941,7 +2946,7 @@ }, "amenity/bar": { "name": "Bar", - "terms": "caffè,caffé,snack,caffetteria" + "terms": "bettola,lounge bar,alcool,birra,bevuta,bevute,snack" }, "amenity/bbq": { "name": "Barbecue/Griglia", @@ -2980,7 +2985,7 @@ }, "amenity/cafe": { "name": "Caffè", - "terms": "caffè,te,bar" + "terms": "bistrot,caffè,thè,te,bar,caffetteria" }, "amenity/car_pooling": { "name": "Condivisione automobile", @@ -3122,7 +3127,7 @@ }, "amenity/internet_cafe": { "name": "Internet Cafe", - "terms": "caffè,te,bar,internet,point" + "terms": "caffè,te,bar,internet,point,internet point,cybercafe" }, "amenity/kindergarten": { "name": "Area della Scuola dell'infanzia", @@ -3996,6 +4001,10 @@ "emergency/destination": { "name": "Destinazione d'uso accesso di emergenzza" }, + "emergency/fire_extinguisher": { + "name": "Estintore", + "terms": "estintore fuoco,incendio,emergenza,antincendio,pompieri,fiamme,fuoco" + }, "emergency/fire_hydrant": { "name": "Idrante", "terms": " Pompa antincendio " @@ -4597,6 +4606,10 @@ "name": "osservazione uccelli", "terms": "Capanno di osservazione" }, + "leisure/bleachers": { + "name": "Gradinata", + "terms": "folla,panchina,panchine,sport,calcio,stadio,gradino,gradini,posti,posto,posto a sedere" + }, "leisure/bowling_alley": { "name": "Sala da Bowling", "terms": "sala,bowling,birilli" @@ -6024,6 +6037,10 @@ "name": "Concessionario di motociclette", "terms": "Motoconcessionaria" }, + "shop/motorcycle_repair": { + "name": "Officina riparazione motocicli", + "terms": "auto,veicolo,moto,bici,garage,motocicletta,motorino,scooter,riparazione,riparatore,officina,servizio" + }, "shop/music": { "name": "Negozio di musica", "terms": "Negozio di nusica" @@ -6930,6 +6947,10 @@ "description": "Riunioni con cadenza irregolare della comunità OpenStreetMap a Chiang Mai", "extendedDescription": "I membri della comunità di OpenStreetMap si incontrano ogni qualche mese a Chiang Mai. Contattaci all’indirizzo {url} per sapere quando avverrà il prossimo ‘meetup’." }, + "OSM-TH-facebook": { + "name": "Gruppo Facebook di OpenStreetMap della Thailandia", + "description": "Gruppo Facebook degli utenti di OpenStreetMap in Thailandia" + }, "OSM-TH-forum": { "name": "Forum di OpenStreetMap della Thailandia", "description": "Forum web di OpenStreetMap della Thailandia" @@ -7011,8 +7032,20 @@ "name": "Twitter di OpenStreetMap del Belgio", "description": "OSM del Belgio su Twitter: @osm_be" }, + "czech-community": { + "name": "Comunità OSM della Repubblica Ceca", + "description": "Portale delle mappe, sito web e contatti fra i membri di OSM nella Repubblica Ceca" + }, + "osmcz-facebook": { + "name": "OpenStreetMap della Repubblica Ceca su Facebook", + "description": "Segui la comunità ceca su Facebook - include la versione tradotta del settimanale WeeklyOSM!" + }, + "osmcz-twitter": { + "name": "Twitter della Repubblica Ceca @osmcz", + "description": "Segui la comunità ceca su Twitter - include la versione tradotta del settimanale WeeklyOSM!" + }, "talk-cz-mailinglist": { - "name": "Mailinglist Talk-cz", + "name": "Mailinglist della Repubblica Ceca (talk-cz)", "description": "Talk-cz è la mailinglist ufficiale della comunità ceca" }, "dk-forum": { @@ -7091,6 +7124,10 @@ "name": "Mailinglist OWL", "description": "Questa è la mailinglist della comunità OSM nella regione di Ostwestfalen-Lippe" }, + "de-telegram": { + "name": "Telegram di OpenStreetMap della Germania", + "description": "Unisciti al supergruppo di OpenStreetMap della Germania su Telegram all’indirizzo {url}" + }, "osm-de": { "name": "OpenStreetMap della Germania", "description": "La piattaforma d’informazione per OpenStreetMap in Germania" @@ -7513,6 +7550,10 @@ "name": "OpenStreetMap su Reddit", "description": "/r/openstreetmap/ è il posto perfetto per imparare di più su OpenStreetMap. Chiedici di tutto!" }, + "OSM-Telegram": { + "name": "Telegram di OpenStreetMap", + "description": "Unisciti al supergruppo globale di OpenStreetMap su Telegram all’indirizzo {url}" + }, "OSM-Twitter": { "name": "Twitter di OpenStreetMap", "description": "Seguici su Twitter all’indirizzo {url}" diff --git a/vendor/assets/iD/iD/locales/ja.json b/vendor/assets/iD/iD/locales/ja.json index 4787b5052..ee25acc38 100644 --- a/vendor/assets/iD/iD/locales/ja.json +++ b/vendor/assets/iD/iD/locales/ja.json @@ -1467,7 +1467,7 @@ } }, "aerialway/bubble": { - "label": "覆い" + "label": "フード" }, "aerialway/capacity": { "label": "運搬人数(1時間当たり)", @@ -3401,7 +3401,7 @@ }, "amenity/veterinary": { "name": "獣医", - "terms": "獣医, ペット医, 病院, 医療" + "terms": "獣医, ペット医, 病院, 医療, 動物病院" }, "amenity/waste/dog_excrement": { "name": "犬の便入れ", @@ -3808,7 +3808,7 @@ }, "craft/caterer": { "name": "仕出し料理店", - "terms": "仕出し料理店, ケータリング" + "terms": "仕出し料理店, ケータリング, ホカ弁, 弁当" }, "craft/chimney_sweeper": { "name": "煙突掃除人", @@ -4581,6 +4581,10 @@ "name": "野鳥観察舎", "terms": "ハイド, 野鳥観察小屋, アウトドア" }, + "leisure/bleachers": { + "name": "観覧席", + "terms": "観覧席, 外野席, 外野スタンド" + }, "leisure/bowling_alley": { "name": "ボウリング場", "terms": "ボウリング場, ボウリング, ボーリング, スポーツ, 娯楽, 運動, レジャー, ゲーム" @@ -5094,7 +5098,7 @@ }, "office/accountant": { "name": "会計事務所", - "terms": "会計事務所" + "terms": "会計事務所, 税理士, 税理士事務所, 会計士, 公認会計士" }, "office/administrative": { "name": "地方行政事務所" @@ -5164,8 +5168,8 @@ "terms": "登記所, 法人登記, 登録所, 法務局" }, "office/government/tax": { - "name": "税理士事務所", - "terms": "税理士事務所, 税理士" + "name": "税務署", + "terms": "税務署" }, "office/guide": { "name": "ツアーガイド", @@ -5843,7 +5847,7 @@ "terms": "カーテン店, 家具" }, "shop/dairy": { - "name": "日配品店", + "name": "乳製品店", "terms": "日配品店, 食品, 食べ物" }, "shop/deli": { @@ -6008,6 +6012,10 @@ "name": "バイク店", "terms": "バイク店, オートバイ店" }, + "shop/motorcycle_repair": { + "name": "バイク修理店", + "terms": "バイク修理店, オートバイ修理, バイク, オートバイ" + }, "shop/music": { "name": "CD/レコード店", "terms": "CD店, レコード店, 音楽" @@ -6914,10 +6922,27 @@ "description": "Irregular meeting of the OpenStreetMap community in Chiang Mai", "extendedDescription": "Members of the OpenStreetMap community meet every few months in Chiang Mai. Get in contact and check out {url} to see when the next meetup is scheduled" }, + "OSM-TH-facebook": { + "name": "OpenStreetMap TH Facebook group", + "description": "Facebook group for OpenStreetMappers in Thailand" + }, "OSM-TH-forum": { "name": "OpenStreetMap TH forum", "description": "OpenStreetMap Thailand web forum" }, + "al-forum": { + "name": "OSM Albania Forum", + "description": "OpenStreetMap Albania Forum" + }, + "al-maptime-tirana": { + "name": "Maptime Tirana", + "description": "Social events organized around mapping - beginners most welcome!", + "extendedDescription": "Maptime is an open learning environment for all levels and degrees of knowledge, offering intentional educational support for the beginner. Maptime is simultaneously flexible and structured, creating space for mapping tutorials, workshops, ongoing projects with a shared goal, and independent/collaborative work time." + }, + "al-telegram": { + "name": "OSM Albania Telegram channel", + "description": "OpenStreetMap Albania Telegram channel" + }, "at-forum": { "name": "OpenStreetMap Austria Forum", "description": "The official forum for OpenStreetMap questions in and around Austria" @@ -6982,8 +7007,20 @@ "name": "OpenStreetMap Belgium Twitter", "description": "OSM Belgium on Twitter: @osm_be" }, + "czech-community": { + "name": "Czech OSM community", + "description": "Map portal, website and contacts on OSM members in Czechia" + }, + "osmcz-facebook": { + "name": "OpenStreetMap CZ on Facebook", + "description": "Follow czech community on Facebook - including translated WeeklyOSM!" + }, + "osmcz-twitter": { + "name": "Czech twitter @osmcz", + "description": "Follow czech community on Twitter - including translated WeeklyOSM!" + }, "talk-cz-mailinglist": { - "name": "Talk-cz Mailing List", + "name": "Czech mailing list (talk-cz)", "description": "Talk-cz is the official mailing list for Czech community" }, "dk-forum": { @@ -6998,6 +7035,18 @@ "name": "Talk-dk Mailing List", "description": "A mailing list to discuss OpenStreetMap in Denmark" }, + "fi-forum": { + "name": "OpenStreetMap FI forum", + "description": "OpenStreetMap Finland web forum" + }, + "fi-irc": { + "name": "OpenStreetMap Finland IRC", + "description": "Join #osm-fi on irc.oftc.net (port 6667)" + }, + "fi-mailinglist": { + "name": "Talk-fi Mailing List", + "description": "Talk-fi is the official mailing list for the Finnish OSM community" + }, "fr-facebook": { "name": "OpenStreetMap France Facebook page", "description": "OpenStreetMap France Facebook page" @@ -7050,6 +7099,10 @@ "name": "OWL Mailing List", "description": "This is the mailing list for the Ostwestfalen-Lippe OSM community" }, + "de-telegram": { + "name": "OpenStreetMap Germany Telegram", + "description": "Join the OpenStreetMap Germany Telegram supergroup at {url}" + }, "osm-de": { "name": "OpenStreetMap Germany", "description": "The platform for information on OpenStreetMap in Germany" @@ -7078,6 +7131,10 @@ "name": "Talk-it Mailing List", "description": "Talk-it is the official mailing list for the Italian OSM community" }, + "it-telegram": { + "name": "@OpenStreetMapItalia on Telegram", + "description": "OpenStreetMap Italy Telegram chat" + }, "it-twitter": { "name": "OpenStreetMap Italy Twitter", "description": "Follow us on Twitter at {url}" @@ -7468,6 +7525,10 @@ "name": "Reddit上のOpenStreetMap", "description": "/r/openstreetmap/ is a great place to learn more about OpenStreetMap. Ask us anything!" }, + "OSM-Telegram": { + "name": "OpenStreetMap Telegram", + "description": "Join the OpenStreetMap Telegram global supergroup at {url}" + }, "OSM-Twitter": { "name": "OpenStreetMap Twitter", "description": "Follow us on Twitter at {url}" diff --git a/vendor/assets/iD/iD/locales/ko.json b/vendor/assets/iD/iD/locales/ko.json index 2a072272e..9cae1eedd 100644 --- a/vendor/assets/iD/iD/locales/ko.json +++ b/vendor/assets/iD/iD/locales/ko.json @@ -150,7 +150,8 @@ "vertex": "다른 곳에 길을 연결했습니다.", "line": "선에 길을 연결했습니다.", "area": " 길에서 공간을 연결했습니다." - } + }, + "relation": "이 지물은 일부 역할 관계의 값이 상반되어 병합할 수 없습니다." }, "disconnect": { "title": "연결 해제", @@ -617,6 +618,7 @@ }, "success": { "just_edited": "오픈스트리트맵을 편집했습니다!", + "thank_you": "지도 제작에 기여해 주셔서 감사합니다", "thank_you_location": "{where} 주변의 지도에 기여해 주셔서 감사합니다.", "help_html": "변경 내역은 몇 분 후에 OpenStreetMap에 보여집니다. 지도의 몇몇 부분은 업데이트 되기에 더 오래 걸릴 수 있습니다.", "help_link_text": "자세한 정보", diff --git a/vendor/assets/iD/iD/locales/mg.json b/vendor/assets/iD/iD/locales/mg.json index 920ca0ce3..27258c8c0 100644 --- a/vendor/assets/iD/iD/locales/mg.json +++ b/vendor/assets/iD/iD/locales/mg.json @@ -1,5 +1,10 @@ { "mg": { + "icons": { + "information": "fanazavana", + "remove": "hanala", + "undo": "hanafoana" + }, "modes": { "add_area": { "title": "Faritra", @@ -44,6 +49,7 @@ } }, "continue": { + "key": "A", "title": "Hanohy", "description": "Hanohy ity tsipika ity.", "not_eligible": "Tsy misy tsipika azo tohizana eto.", @@ -62,6 +68,7 @@ "line": "Hanaboribory ity tsipika ity.", "area": "Hanaboribory ity faritra ity." }, + "key": "O", "annotation": { "line": "Nanaboribory an'ilay tsipika.", "area": "Nanaboribory an'ilay faritra." @@ -76,6 +83,7 @@ "line": "Hampahitsy ny zoron'ito tsipika ito.", "area": "Hampahitsy ireo zoron'ito faritra ito." }, + "key": "S", "annotation": { "line": "Nampahitsy ny zoron'ilay tsipika.", "area": "Nampahitsy ireo zoron'ilay faritra." @@ -87,6 +95,7 @@ "straighten": { "title": "Hampahitsy", "description": "Hampahitsy ito tsipika ito.", + "key": "S", "annotation": "Nampahitsy an'ilay tsipika.", "too_bendy": "Tsy mety ampahitsiana ito satria miolaka loatra.", "connected_to_hidden": "Tsy mety ampahitsiana ito tsipika ito satria mifampitohy amina zavatra tsy miseho." @@ -129,6 +138,7 @@ "disconnect": { "title": "Hanatsoaka", "description": "Hanasaraka an'ireto tsipika/faritra ireto.", + "key": "D", "annotation": "Nanasaraka an'ireo tsipika/faritra.", "not_connected": "Tsy ampy mba hosarahina ny tsipika/faritra misy.", "connected_to_hidden": "Tsy mety tsoahina ito satria mifampitohy amina zavatra tsy miseho." @@ -136,6 +146,7 @@ "merge": { "title": "Hanambatra", "description": "Hanambatra an'ireto singa ireto.", + "key": "C", "annotation": "Nanambatra singa {n}.", "not_eligible": "Tsy mety atambatra ireto singa ireto.", "not_adjacent": "Tsy mety atambatra ireto singa ireto satria tsy mifampitohy ny faran'izy ireo.", @@ -147,6 +158,7 @@ "single": "Hamindra an'ito singa ito amin'ny toerana hafa.", "multiple": "Hamindra an'ireto singa ireto amin'ny toerana hafa." }, + "key": "M", "annotation": { "point": "Namindra an'ilay teboka.", "vertex": "Namindra an'ilay vona tamin'ilay soritra.", @@ -167,6 +179,12 @@ "multiple": "Tsy mety afindra ireo singa ireo satria mifampitohy amina zavatra tsy miseho ny sasany aminy." } }, + "reflect": { + "key": { + "long": "T", + "short": "Y" + } + }, "rotate": { "title": "Hanodina", "description": { @@ -201,7 +219,28 @@ "description": { "line": "Hizara an'ito tsipika ito ho roa eto amin'ito vona ito.", "area": "Hizara ny sisin'ito faritra ito ho roa." - } + }, + "annotation": { + "line": "Hanapaka tsipika", + "area": "Hanapaka sisina faritra", + "multiple": "Hanapaka tsipika/sisina faritra {n}" + }, + "not_eligible": "Tsy mety tapahana amin'ny fanombohany na ny fiafarany ny tsipika.", + "multiple_ways": "Misy tsipika maro loatra eto ka tsy mety tapahana.", + "connected_to_hidden": "Tsy mety tapahana ity satria mifampitohy amina zavatra tsy miseho." + } + }, + "restriction": { + "controls": { + "distance": "Halavirana", + "distance_up_to": "Hatramin'ny {distance}", + "via": "Amin'ny alalan'ny", + "via_node_only": "Teboka ihany" + }, + "help": { + "from": "AVY AO", + "via": "MANARAKA NY", + "to": "HATRAO" } }, "zoom_in_edit": "Hakaikezo raha hanova", diff --git a/vendor/assets/iD/iD/locales/nl.json b/vendor/assets/iD/iD/locales/nl.json index 900ad6363..b66565d7d 100644 --- a/vendor/assets/iD/iD/locales/nl.json +++ b/vendor/assets/iD/iD/locales/nl.json @@ -1471,18 +1471,18 @@ }, "aerialway/capacity": { "label": "Capaciteit (per uur)", - "placeholder": "500, 2500, 5000 …" + "placeholder": "500, 2500, 5000, …" }, "aerialway/duration": { "label": "Duur (minuten)", - "placeholder": "1, 2, 3 …" + "placeholder": "1, 2, 3, …" }, "aerialway/heating": { "label": "Verwarmd" }, "aerialway/occupancy": { "label": "Bezetting", - "placeholder": "2, 4, 8 …" + "placeholder": "2, 4, 8, …" }, "aerialway/summer/access": { "label": "Toegang (zomer)", @@ -1593,7 +1593,7 @@ }, "cables": { "label": "Kabels onder elektrische spanning", - "placeholder": "1, 2, 3 …" + "placeholder": "1, 2, 3, …" }, "camera/direction": { "label": "Richting (in graden met de klok mee)", @@ -1612,7 +1612,7 @@ }, "capacity": { "label": "Capaciteit", - "placeholder": "50, 100, 200 …" + "placeholder": "50, 100, 200, …" }, "castle_type": { "label": "Type" @@ -1737,7 +1737,7 @@ }, "devices": { "label": "Aantal apparaten", - "placeholder": "1, 2, 3 …" + "placeholder": "1, 2, 3, …" }, "diaper": { "label": "Luierverschoning mogelijk" @@ -1809,7 +1809,7 @@ "rail": "Elektrisch Spoor", "yes": "Ja (onbepaald)" }, - "placeholder": "Contactleiding, Elektrisch Spoor …" + "placeholder": "Contactleiding, Elektrisch Spoor, …" }, "elevation": { "label": "Hoogte" @@ -1898,7 +1898,7 @@ }, "generator/output/electricity": { "label": "Stroomuitvoer", - "placeholder": "50 MW, 100 MW, 200 MW …" + "placeholder": "50 MW, 100 MW, 200 MW, …" }, "generator/source": { "label": "Bron" @@ -1943,7 +1943,7 @@ }, "hoops": { "label": "Lussen", - "placeholder": "1, 2, 4 …" + "placeholder": "1, 2, 4, …" }, "horse_dressage": { "label": "Dressuur", @@ -1969,7 +1969,7 @@ "difficult": "Moeilijk: Smalle en onbeschutte weg. Er kunnen obstakels en nauwe passages zijn.", "impossible": "Ondoordringbaar: Weg of brug niet toegankelijk voor paarden. Te smal, niet genoeg draagkracht, obstakels zoals ladders. Levensgevaar." }, - "placeholder": "Moeilijk, Gevaarlijk …" + "placeholder": "Moeilijk, Gevaarlijk, …" }, "horse_stables": { "label": "Rijstal", @@ -2038,8 +2038,8 @@ "label": "Type" }, "lanes": { - "label": "Rijbanen", - "placeholder": "1, 2, 3 …" + "label": "Rijstroken", + "placeholder": "1, 2, 3, …" }, "layer": { "label": "Relatieve hoogteligging", @@ -2085,14 +2085,14 @@ "label": "Type" }, "length": { - "label": "Lengte (Meter)" + "label": "Lengte (meter)" }, "level": { "label": "Verdieping" }, "levels": { "label": "Niveaus", - "placeholder": "2, 4, 6 …" + "placeholder": "2, 4, 6, …" }, "lit": { "label": "Verlicht" @@ -2118,11 +2118,11 @@ }, "maxspeed": { "label": "Snelheidsbeperking", - "placeholder": "40, 50, 60 …" + "placeholder": "40, 50, 60, …" }, "maxspeed/advisory": { "label": "Adviessnelheid", - "placeholder": "40, 50, 70 …" + "placeholder": "40, 50, 70, …" }, "maxstay": { "label": "Maximale verblijftijd" @@ -2147,10 +2147,10 @@ "5": "5: Moeilijkst/gevaarlijkst, gebieden met rotsblokken, aardverschuivingen", "6": "6: Niet berijdbaar, behalve voor de allerbeste mountainbikers" }, - "placeholder": "0, 1, 2, 3 …" + "placeholder": "0, 1, 2, 3, …" }, "mtb/scale/imba": { - "label": "IMBA Route-moeilijkheidsgraad", + "label": "IMBA-route-moeilijkheidsgraad", "options": { "0": "Gemakkelijkst (witte cirkel)", "1": "Makkelijk (groene cirkel)", @@ -2158,7 +2158,7 @@ "3": "Moeilijk (Zwarte diamand)", "4": "Extreem moeilijk (dubbele zwarte diamand)" }, - "placeholder": "Makkelijk, gemiddeld, moeilijk …" + "placeholder": "Makkelijk, Gemiddeld, Moeilijk, …" }, "mtb/scale/uphill": { "label": "Mountainbike-moeilijkheidsgraad bij berg-op", @@ -2170,7 +2170,7 @@ "4": "4: Gem. stijging <30%, slechte staat, grote rotsen/takken", "5": "5: Erg steil, fiets wordt meestal geduwd of gedragen" }, - "placeholder": "0, 1, 2, 3 …" + "placeholder": "0, 1, 2, 3, …" }, "name": { "label": "Naam", @@ -2252,7 +2252,7 @@ }, "par": { "label": "Par", - "placeholder": "3, 4, 5 …" + "placeholder": "3, 4, 5, …" }, "park_ride": { "label": "Park & Ride (parkeren en ander vervoersmiddel nemen)" @@ -2274,9 +2274,10 @@ }, "phases": { "label": "Fasen", - "placeholder": "1, 2, 3 …" + "placeholder": "1, 2, 3, …" }, "phone": { + "label": "Telefoon", "placeholder": "+31 42 123 4567" }, "piste/difficulty": { @@ -2290,7 +2291,7 @@ "intermediate": "Gemiddeld (blauw vierkant)", "novice": "Beginner (educatief)" }, - "placeholder": "Gemakkelijk, gemiddeld, moeilijk …" + "placeholder": "Gemakkelijk, Gemiddeld, Moeilijk, …" }, "piste/grooming": { "label": "Manier van sneeuw-grooming", @@ -2325,7 +2326,7 @@ }, "plant/output/electricity": { "label": "Stroomuitvoer", - "placeholder": "500 MW, 1000 MW, 2000 MW …" + "placeholder": "500 MW, 1000 MW, 2000 MW, …" }, "playground/baby": { "label": "Kinderstoeltje" @@ -2439,7 +2440,7 @@ "hiking": "T1: Wandelen", "mountain_hiking": "T2: Bergwandelen" }, - "placeholder": "Bergwandelen, alpinewandelen …" + "placeholder": "Bergwandelen, Alpinewandelen, …" }, "sanitary_dump_station": { "label": "Toilet-afvoer" @@ -2499,7 +2500,7 @@ "separated": "Toegestaan op aangegeven, niet-afgescheiden plaatsen", "yes": "Overal toegestaan" }, - "placeholder": "Nee, Gescheiden, Ja …" + "placeholder": "Nee, Gescheiden, Ja, …" }, "smoothness": { "label": "Gladheid", @@ -2513,7 +2514,7 @@ "very_bad": "Grote bodemvrijheid: lichte offroadvoertuigen", "very_horrible": "Gespecialiseerde offroad: tractor, quad" }, - "placeholder": "Dunne Wieltjes, Wielen, Offroad …" + "placeholder": "Dunne Wieltjes, Wielen, Offroad, …" }, "social_facility": { "label": "Type" @@ -2621,7 +2622,7 @@ "only": "Alleen afhaal", "yes": "Ja" }, - "placeholder": "Ja, Nee, Alleen afhaal …" + "placeholder": "Ja, Nee, Alleen afhaal, …" }, "toilets/disposal": { "label": "Afvoer", @@ -2646,7 +2647,7 @@ }, "tower/construction": { "label": "Constructie", - "placeholder": "Mast, Raamwerk, Verborgen …" + "placeholder": "Mast, Raamwerk, Verborgen, …" }, "tower/type": { "label": "Type" @@ -2660,7 +2661,7 @@ "grade4": "Voornamelijk los: aarde/zand/gras met wat vast materiaal", "grade5": "Los: aarde/zand/gras" }, - "placeholder": "Vast, voornamelijk vast, los …" + "placeholder": "Vast, Voornamelijk vast, Los, …" }, "trade": { "label": "Type" @@ -2689,7 +2690,7 @@ "intermediate": "Gemiddeld: weinig wegwijzers, paden meestal zichtbaar", "no": "Geen: geen paden, perfecte oriëntatie vaardigheden vereist" }, - "placeholder": "Uitmuntend, Goed, Slecht …" + "placeholder": "Uitmuntend, Goed, Slecht, …" }, "transformer": { "label": "Type", @@ -2794,7 +2795,7 @@ }, "windings": { "label": "Wikkelingen", - "placeholder": "1, 2, 3 …" + "placeholder": "1, 2, 3, …" }, "windings/configuration": { "label": "Wikkelingconfiguratie", @@ -3661,6 +3662,9 @@ "name": "Garages (privéstalling voor voertuigen)", "terms": "autogarage" }, + "building/grandstand": { + "name": "Overdekte tribune" + }, "building/greenhouse": { "name": "Broeikas", "terms": "serre,kas,glastuinbouw" @@ -3885,7 +3889,7 @@ "terms": "portetten,pasfoto's,fotografie,fotokunstenaar" }, "craft/photographic_laboratory": { - "name": "Foto-ontwikkellabo", + "name": "Foto-ontwikkellab", "terms": "donkere kamer,foto,analoge foto,negatieven,fotograaf,fotografie" }, "craft/plasterer": { @@ -4579,6 +4583,9 @@ "name": "Vogelkijkscherm of -hut", "terms": "vogelkijkhut,vogelkijkscherm" }, + "leisure/bleachers": { + "name": "Tribune" + }, "leisure/bowling_alley": { "name": "Bowlingbaan", "terms": "bowlingcentrum,kegelbaan,bowlen,bowl inn" @@ -4816,7 +4823,7 @@ }, "man_made/antenna": { "name": "Antenne", - "terms": "zender,ontvanger,radio" + "terms": "zender,ontvanger,radio,zendmast" }, "man_made/breakwater": { "name": "Golfbreker", @@ -4830,6 +4837,9 @@ "name": "Industriële schoorsteen", "terms": "schoorsteen,schouw" }, + "man_made/clearcut": { + "name": "Gekapt bos" + }, "man_made/crane": { "name": "Permanente kraan", "terms": "kraan,containerkraan,havenkraan" @@ -5236,7 +5246,7 @@ "terms": "eiland" }, "place/islet": { - "name": "Eilandje <1km²", + "name": "Eilandje < 1 km²", "terms": "archipel,atol,islet,rif" }, "place/isolated_dwelling": { @@ -5869,6 +5879,7 @@ "terms": "bouwcentrum,bouwmaterialenspeciaalzaak" }, "shop/health_food": { + "name": "Gezondheidswinkel", "terms": "supervoedselwinkel,superfoodwinkel" }, "shop/hearing_aids": { @@ -5939,6 +5950,9 @@ "shop/motorcycle": { "name": "Motorwinkel" }, + "shop/motorcycle_repair": { + "name": "Motorreparatie" + }, "shop/music": { "name": "Muziekwinkel" }, @@ -6000,7 +6014,7 @@ "terms": "radiotechniek,satelliet-TV" }, "shop/religion": { - "name": "Religieuze Winkel", + "name": "Religieuze winkel", "terms": "liturgisch centrum,kerk,godsdienstwinkel,kruisbeelden,souvenirwinkel" }, "shop/scuba_diving": { @@ -6086,7 +6100,7 @@ "terms": "videoverhuur,dvd-theek,dvd-verhuur" }, "shop/video_games": { - "name": "videogame winkel" + "name": "Computerspelwinkel" }, "shop/watches": { "name": "Horlogewinkel", @@ -6097,8 +6111,8 @@ "terms": "watersportwinkel,zwemwinkel,watersportzaak,zwemgerief,watersportgerief" }, "shop/weapons": { - "name": "wapen winkel", - "terms": "wapenwinkel" + "name": "Wapenwinkel", + "terms": "wapens,munitie" }, "shop/wholesale": { "name": "Groothandel" @@ -6122,7 +6136,8 @@ "terms": "gastenappartement,verhuurd appartement,zomerappartement,vakantieflat,gastenflat,gastappartement,gastflat,verhuurde flat,zomerflat" }, "tourism/aquarium": { - "name": "Aquarium" + "name": "Aquarium", + "terms": "vis,zee,water" }, "tourism/artwork": { "name": "Kunstwerk", @@ -6212,7 +6227,8 @@ "terms": "zoo" }, "traffic_calming": { - "name": "Verkeersremmer" + "name": "Verkeersremmer", + "terms": "drempel,heuvel,langzaam,snelheid" }, "traffic_calming/bump": { "name": "Kleine verkeersdrempel", @@ -6314,14 +6330,14 @@ "terms": "hikingroute,trekkingroute" }, "type/route/hiking": { - "name": "Hikingroute", - "terms": "wandelroute,trekkingroute" + "name": "Hikingtraject", + "terms": "wandelroute,trekkingroute,wandeltraject" }, "type/route/horse": { - "name": "Ruiterroute" + "name": "Ruitertraject" }, "type/route/light_rail": { - "name": "Lightrailroute", + "name": "Lightrailtraject", "terms": "lichtspoorroute,lichtespoorwegroute" }, "type/route/pipeline": { @@ -6329,8 +6345,8 @@ "terms": "pijplijnroute,pijplijntraject,pijpleidingsroute" }, "type/route/piste": { - "name": "Skipiste/Skiroute", - "terms": "piste,skiroute" + "name": "Piste of skiroute", + "terms": "skipiste" }, "type/route/power": { "name": "Elektriciteitsleidingstraject", @@ -6341,7 +6357,7 @@ "terms": "autotraject,sightseeingroute" }, "type/route/subway": { - "name": "Metroroute", + "name": "Metrotraject", "terms": "metrolijn,route,lijn,metrotraject" }, "type/route/train": { @@ -6353,7 +6369,7 @@ "terms": "tramroute" }, "type/route_master": { - "name": "Openbaar-vervoer-lijn", + "name": "Openbaarvervoerstraject", "terms": "lijn,buslijn,tramlijn,metrolijn,treintraject,treinlijn" }, "type/site": { @@ -6396,7 +6412,7 @@ "terms": "greppel,gracht" }, "waterway/fuel": { - "name": "Tankstation voor Boten", + "name": "Maritiem tankstation", "terms": "schip,brandstof" }, "waterway/river": { @@ -6408,7 +6424,7 @@ "terms": "oever" }, "waterway/sanitary_dump_station": { - "name": "Boot-toilet-afvoer", + "name": "Maritieme toiletafvoer", "terms": "schip,uitwerpselen,urine,toilet" }, "waterway/stream": { @@ -6731,6 +6747,15 @@ "name": "OpenStreetMap Japan Twitter", "description": "Volg ons op Twitter: {url}" }, + "OSM-japan-website": { + "name": "OpenStreetMap Japan" + }, + "OSM-korea-telegram": { + "name": "OSM Korea Telegram-kanaal" + }, + "OSM-MY-facebook": { + "name": "OpenStreetMap Malaysia op Facebook" + }, "OSM-MY-forum": { "name": "OpenStreetMap Maleisië Forum", "description": "Officiële OpenStreetMap Maleisië Forum" @@ -6784,6 +6809,16 @@ "name": "OpenStreetMap Taiwan Mailinglijst", "description": "Talk-tw is de officiële Mailinglijst voor Taiwan" }, + "OSM-TH-forum": { + "name": "OpenStreetMap TH-forum" + }, + "al-maptime-tirana": { + "name": "Maptime Tirana" + }, + "al-telegram": { + "name": "OSM Albanië Telegram-kanaal", + "description": "OpenStreetMap Albanië Telegram-kanaal" + }, "at-mailinglist": { "name": "Talk-at Mailinglijst", "description": "Talk-at is de officiële Mailinglijst voor Oostenrijk" @@ -6829,7 +6864,6 @@ "name": "OpenStreetMap België Twitter" }, "talk-cz-mailinglist": { - "name": "Talk-cz Mailinglijst", "description": "Talk-cz is de officiële Mailinglijst voor Tsjechië" }, "fr-facebook": { @@ -6840,6 +6874,9 @@ "name": "OpenStreetMap Frankrijk op Twitter", "description": "OpenStreetMap Frankrijk op Twitter: {url}" }, + "de-berlin-telegram": { + "name": "@osmberlin op Telegram" + }, "de-irc": { "name": "OpenStreetMap Duitsland IRC" }, @@ -6847,10 +6884,16 @@ "name": "Talk-de Mailinglijst", "description": "Talk-de is de officiële Mailinglijst voor Duitsland" }, + "de-telegram": { + "name": "OpenStreetMap Duitsland Telegram" + }, "osm-de": { "name": "OpenStreetMap Duitsland", "description": "Het platform voor informatie over OpenStreetMap in Duitsland" }, + "it-telegram": { + "name": "@OpenStreetMapItalia op Telegram" + }, "OSM-Rome-meetup": { "name": "Incontro Mappatori Romani", "description": "Verbeter OpenStreetMap in Rome" @@ -6863,7 +6906,7 @@ "name": "OpenStreetMap Polen Facebook-groep" }, "OSM-ES-telegram": { - "name": "Telegram", + "name": "@OSMes op Telegram", "description": "OpenStreetMap Spanje op Telegram" }, "se-facebook": { @@ -6880,6 +6923,12 @@ "OSM-Vancouver-meetup": { "name": "OpenStreetMap Vancouver" }, + "OSM-CU-telegram": { + "name": "OSM Cuba op Telegram" + }, + "OSM-NI-telegram": { + "name": "OSM Nicaragua op Telegram" + }, "Bay-Area-OpenStreetMappers": { "name": "Bay Area OpenStreetMappers", "description": "Verbeter OpenStreetMap in de Bay Area" @@ -6974,7 +7023,7 @@ "name": "Talk-ar Mailinglijst" }, "OSM-AR-telegram": { - "name": "Telegram", + "name": "OpenStreetMap Argentinië Telegram", "description": "OpenStreetMap Argentinië op Telegram" }, "OSM-AR-twitter": { @@ -6982,15 +7031,17 @@ "description": "Volg ons op Twitter: {url}" }, "Bahia-telegram": { - "name": "Telegram", "description": "OpenStreetMap Bahia op Telegram" }, + "DF-telegram": { + "name": "OpenStreetMap Brasília Telegram-groep" + }, "OSM-br-mailinglist": { "name": "Talk-br Mailinglijst", "description": "Talk-br is de officiële Mailinglijst voor Brazilië" }, "OSM-br-telegram": { - "name": "Telegram", + "name": "OpenStreetMap Brazilië Telegram", "description": "OpenStreetMap Brazilië op Telegram" }, "OSM-br-twitter": { @@ -7006,7 +7057,7 @@ "description": "Talk-cl is de officiële Mailinglijst voor Chili" }, "OSM-CL-telegram": { - "name": "Telegram", + "name": "OpenStreetMap Chili Telegram", "description": "OpenStreetMap Chili op Telegram" }, "OSM-CL-twitter": { @@ -7020,6 +7071,9 @@ "name": "OpenStreetMap Colombia Facebook", "description": "Wordt lid van de OpenStreetMap Colombia community op Facebook" }, + "OSM-CO-telegram": { + "name": "OSM Colombia op Telegram" + }, "OSM-CO-twitter": { "name": "OpenStreetMap Colombia Twitter", "description": "Volg ons op Twitter at {url}" @@ -7027,9 +7081,21 @@ "OSM-CO": { "name": "OpenStreetMap Colombia" }, + "OSM-EC-telegram": { + "name": "OSM Ecuador op Telegram" + }, + "OSM-PY-telegram": { + "name": "OSM Paraguay op Telegram" + }, + "OSM-PE-telegram": { + "name": "OpenStreetMap Peru Telegram" + }, "OSM-Reddit": { "name": "OpenStreetMap op Reddit", "description": "Op /r/openstreetmap/ vind een levendige dialoog plaats over OpenStreetMap. Hier kun je alles vragen!" + }, + "OSM-Telegram": { + "name": "OpenStreetMap Telegram" } } } diff --git a/vendor/assets/iD/iD/locales/nn.json b/vendor/assets/iD/iD/locales/nn.json index b944fd18d..dbaeff710 100644 --- a/vendor/assets/iD/iD/locales/nn.json +++ b/vendor/assets/iD/iD/locales/nn.json @@ -1,5 +1,129 @@ { "nn": { + "icons": { + "information": "info", + "remove": "fjern" + }, + "modes": { + "add_area": { + "title": "OmrÃ¥de" + } + }, + "operations": { + "continue": { + "title": "Fortset" + }, + "delete": { + "title": "Slett" + }, + "disconnect": { + "title": "Kople frÃ¥" + }, + "merge": { + "title": "SlÃ¥ saman", + "description": "SlÃ¥ saman desse funksjonane", + "key": "S" + }, + "move": { + "title": "Flytt" + }, + "rotate": { + "title": "Roter" + } + }, + "restriction": { + "controls": { + "via": "Via" + }, + "help": { + "from": "FRÅ", + "via": "VIA", + "to": "TIL" + } + }, + "translate": { + "localized_translation_language": "Vel sprÃ¥k", + "localized_translation_name": "Namn" + }, + "zoom_in_edit": "Zoom inn for Ã¥ redigere", + "login": "Logg inn", + "logout": "Logg ut", + "report_a_bug": "Rapporter ein feil", + "help_translate": "Hjelp til med Ã¥ omsette", + "commit": { + "save": "Last opp", + "cancel": "Avbryt", + "changes": "{count} endringar", + "warnings": "Åtvaringar", + "modified": "Modifisert", + "deleted": "Sletta", + "created": "Oppretta" + }, + "contributors": { + "list": "Redigeringar av {users}", + "truncated_list": "Redigeringar av {users} og {count} andre" + }, + "info_panels": { + "key": "R", + "background": { + "key": "B", + "title": "Bakgrunn", + "zoom": "Zoom", + "vintage": "Årgang", + "source": "Kjelde", + "description": "Skildring", + "resolution": "Oppløysing", + "accuracy": "Nøyaktigheit", + "unknown": "Ukjend" + }, + "history": { + "title": "Historikk", + "selected": "{n} valt", + "no_history": "Ingen historikk (ny funksjon)", + "version": "Versjon", + "last_edit": "Siste redigering", + "edited_by": "Redigert av", + "unknown": "Ukjend" + }, + "location": { + "key": "P", + "title": "Plassering", + "unknown_location": "Ukjend plassering" + }, + "measurement": { + "selected": "{n} valt", + "geometry": "Geometri", + "length": "Lengde", + "area": "OmrÃ¥de", + "location": "Plassering" + } + }, + "geolocate": { + "title": "Vis plasseringa mi" + }, + "inspector": { + "radio": { + "structure": { + "default": "Standard", + "layer": "Lag" + } + }, + "add": "Legg till", + "none": "Ingen", + "node": "Node", + "location": "Plassering", + "add_fields": "Legg til felt:" + }, + "background": { + "title": "Bakgrunn", + "description": "Bakgrunns-innstillingar", + "key": "B", + "backgrounds": "Bakgrunnar", + "none": "Ingen", + "custom": "Tilpassa", + "custom_button": "Rediger tilpassa bakgrunn", + "contrast": "Kontrast" + }, "intro": { "graph": { "block_number": "", @@ -14,6 +138,106 @@ "suburb": "", "countrycode": "no" } + }, + "presets": { + "fields": { + "access": { + "options": { + "destination": { + "title": "Destinasjon" + }, + "private": { + "title": "Privat" + } + }, + "placeholder": "Ikkje spesifisert", + "types": { + "access": "Alle", + "bicycle": "Syklar", + "foot": "Fot", + "horse": "Hestar" + } + }, + "address": { + "label": "Addresse", + "placeholders": { + "block_number": "Blokknummer", + "city": "By", + "city!vn": "By/bygd", + "conscriptionnumber": "123", + "country": "Land", + "county": "Fylke", + "county!jp": "District", + "district": "Distrikt", + "floor": "Etasje", + "hamlet": "Grend", + "housename": "Husnamn", + "housenumber": "123", + "neighbourhood": "Grannelag", + "place": "Plass", + "postcode": "Postnummer", + "state": "Stat", + "street": "Gate/Veg", + "subdistrict": "Underdistrikt", + "suburb": "Drabantby", + "unit": "Eining" + } + }, + "admin_level": { + "label": "AdministrasjonsnivÃ¥" + }, + "aerialway": { + "label": "Type" + }, + "aerialway/access": { + "label": "Tilgang", + "options": { + "both": "Begge", + "entry": "Oppføring", + "exit": "Utgang" + } + }, + "aerialway/bubble": { + "label": "Boble" + }, + "agrarian": { + "label": "Produkts" + }, + "animal_boarding": { + "label": "For dyr" + }, + "animal_breeding": { + "label": "For dyr" + }, + "animal_shelter": { + "label": "For dyr" + }, + "area/highway": { + "label": "Type" + }, + "artist": { + "label": "Artist" + }, + "artwork_type": { + "label": "Type" + }, + "atm": { + "label": "MInibank" + }, + "country": { + "label": "Land" + }, + "direction_cardinal": { + "options": { + "E": "Aust" + } + } + } + }, + "imagery": { + "MAPNIK": { + "name": "OpenStreetMap (standard)" + } } } } \ No newline at end of file diff --git a/vendor/assets/iD/iD/locales/pl.json b/vendor/assets/iD/iD/locales/pl.json index 22814b9e2..d5ef2343f 100644 --- a/vendor/assets/iD/iD/locales/pl.json +++ b/vendor/assets/iD/iD/locales/pl.json @@ -1,6 +1,8 @@ { "pl": { "icons": { + "information": "informacja", + "remove": "usuń", "undo": "Cofnij" }, "modes": { @@ -480,6 +482,7 @@ "custom": "Własne", "custom_button": "Edycja własnego podkładu", "overlays": "Nakładki", + "imagery_source_faq": "Informacje o obrazie / Zgłoś problem", "reset": "Przywraca ustawienia", "display_options": "Wyświetl opcje", "brightness": "Jasnosć", @@ -625,6 +628,7 @@ "changeset_id": "Twój zestaw zmian: #{changeset_id}", "like_osm": "Podoba Ci się OpenStreetMap? Skontaktuj się z innymi mapującymi:", "more": "Więcej", + "events": "Wydarzenia", "languages": "Języki: {languages}", "missing": "Brakuje czegoś na tej liście?", "tell_us": "Daj nam znać!" @@ -2127,6 +2131,7 @@ "placeholder": "1, 2, 3..." }, "phone": { + "label": "Telefon", "placeholder": "+48 42 123 4567" }, "piste/difficulty": { @@ -2562,7 +2567,12 @@ "placeholder": "Domyślny" }, "usage_rail": { - "label": "Sposób użytkowania" + "label": "Sposób użytkowania", + "options": { + "industrial": "Przemysłowe", + "military": "Wojskowe", + "tourism": "Turystyka" + } }, "visibility": { "label": "Widoczność", @@ -6409,7 +6419,8 @@ "description": "Obserwuj nas na Twitterze: {url}" }, "osm-gh-facebook": { - "name": "OpenStreetMap Ghana na Facebook'u" + "name": "OpenStreetMap Ghana na Facebook'u", + "description": "Grupa w serwisie Facebook dla osób zainteresowanych OpenStreetMap." }, "osm-gh-twitter": { "name": "OpenStreetMap Ghana na Twitter'rze", @@ -6419,18 +6430,26 @@ "name": "Lista dyskusyjna Talk-gh", "description": "Talk-gh to oficjalna mailingowa lista dyskusyjna społeczności OSM w Ghanie" }, + "osm-mg-facebook": { + "name": "Grupa facebookowa OpenStreetMap Madagaskar" + }, "talk-mg": { "name": "Lista dyskusyjna Talk-mg" }, "OSM-BGD-facebook": { - "name": "OpenStreetMap Bangladesz" + "name": "OpenStreetMap Bangladesz", + "description": "Ulepsz OpenStreetMap w Bangladeszu" + }, + "OSM-India-facebook": { + "description": "Ulepsz OpenStreetMap w Indiach" }, "OSM-india-mailinglist": { "name": "Lista dyskusyjna OpenStreetMap Indie", "description": "Talk-in to oficjalna mailingowa lista dyskusyjna społeczności OSM w Indiach" }, "OSM-IDN-facebook": { - "name": "OpenStreetMap Indonezja" + "name": "OpenStreetMap Indonezja", + "description": "Ulepsz OpenStreetMap w Indonezji" }, "OSM-japan-mailinglist": { "name": "Lista dyskusyjna OpenStreetMap Japonia" @@ -6438,6 +6457,9 @@ "OSM-japan-twitter": { "description": "Hashtag na Twitterze: {url}" }, + "OSM-japan-website": { + "name": "OpenStreetMap Japonia" + }, "OSM-MNG-facebook": { "name": "OpenStreetMap Mongolia" }, @@ -6445,7 +6467,8 @@ "name": "OpenStreetMap Mjanma" }, "OSM-Nepal-facebook": { - "name": "OpenStreetMap Nepal" + "name": "OpenStreetMap Nepal", + "description": "Ulepsz OpenStreetMap w Nepalu" }, "OSM-PH-mailinglist": { "name": "Lista dyskusyjna Talk-ph", @@ -6483,8 +6506,13 @@ "name": "Lista dyskusyjna Talk-be", "description": "Talk-be to oficjalna mailingowa lista dyskusyjna belgijskiej społeczności OSM " }, + "be-matrix": { + "description": "Wszyscy mapujący są mile widziani!" + }, + "czech-community": { + "name": "Czeska społeczność OSM" + }, "talk-cz-mailinglist": { - "name": "Lista dyskusyjna Talk-cz", "description": "Talk-cz to oficjalna mailingowa lista dyskusyjna czeskiej społeczności OSM" }, "dk-mailinglist": { diff --git a/vendor/assets/iD/iD/locales/pt-BR.json b/vendor/assets/iD/iD/locales/pt-BR.json index 2a43f7ee4..74a9ef194 100644 --- a/vendor/assets/iD/iD/locales/pt-BR.json +++ b/vendor/assets/iD/iD/locales/pt-BR.json @@ -821,9 +821,11 @@ "disconnect_line_h": "Desconectando Linhas", "disconnect_line_command": "Para desconectar uma rua de outro elemento, clique com o {rightclick} botão direito no nó conectado, e selecione o comando {disconnect} **Desconectar** no menu de edição.", "move_line_h": "Movendo Linhas", + "move_line_command": "Para mover uma linha na sua totalidade, clique com o lado direito do rato {rightclick} na linha e selecione o comando {move} **Mover** no menu de edição. Depois mova o rato e clique com o botão esquerdo do rato {leftclick} para colocar a linha na nova localização.", "move_line_connected": "Linhas conectadas a outros recursos permanecerão conectadas conforme você move a linha para um novo local. O iD pode impedir que você mova uma linha através de outra linha conectada.", "delete_line_h": "Removendo Linhas", - "delete_line": "Se uma linha estiver totalmente incorreta, por exemplo, uma estrada que não existe no mundo real, não há problema em excluí-la. Tenha cuidado ao excluir recursos: as imagens de plano de fundo que você está usando podem estar desatualizadas e uma estrada que parece estar errada pode simplesmente ser recém-criada." + "delete_line": "Se uma linha estiver totalmente incorreta, por exemplo, uma estrada que não existe no mundo real, não há problema em excluí-la. Tenha cuidado ao excluir recursos: as imagens de plano de fundo que você está usando podem estar desatualizadas e uma estrada que parece estar errada pode simplesmente ser recém-criada.", + "delete_line_command": "Para eliminar uma linha, clique no lado direito do rato {rightclick} na linha para selecioná-la e mostrar o menu de edição, utilize o comando {delete} **Eliminar**." }, "areas": { "title": "Áreas", @@ -831,47 +833,67 @@ "point_or_area_h": "Pontos ou Áreas", "point_or_area": "Muitos recursos podem ser representados como pontos ou áreas. Você deve mapear contornos de edifícios e propriedades como áreas sempre que possível. Coloque pontos dentro de uma área de construção para representar empresas, comodidades e outros recursos localizados dentro do prédio.", "add_area_h": "Adicionando Áreas", + "add_area_command": "Para adicionar uma área, clique no botão de {area} **Área** na barra de ferramentas acima do mapa ou utilize o atalho do teclado através da tecla `3`. Isto alterará o cursor do rato para um símbolo com uma cruz.", + "add_area_draw": "De seguida, posicione o cursor do rato num dos cantos do elemento e clique com o botão esquerdo {leftclick} do rato or toque na tecla `Espaço` para iniciar a colocação dos nós ao longo do limite exterior da área. Continue a colocar mais nós, clicando ou tocando na tecla `Espaço`. Enquanto desenha, pode aproximar ou arrastar o mapa para obter mais detalhes.", + "add_area_finish": "Para concluir uma área, pressione `{return}` ou clique novamente no primeiro ou último nó da área.", "square_area_h": "Alinhar Cantos", + "square_area_command": "Muitos elementos em área, como edifícios, possuem cantos esquadrados. Para esquadrar a área, clique no botão direito do rato {right-click} no limite da área e selecione o comando {orthogonalize} **Esquadrar** no menu de edição. ", "modify_area_h": "Modificando Áreas", + "modify_area_dragnode": "Frequentemente verá áreas que não possuem a forma correta, por exemplo um edifício que não está alinhado com a imagem de fundo. Para ajustar a forma da área, primeiro selecione-a clicando com o lado esquerdo {leftclick} do rato. Todos os nós da área serão representados por pequenos círculos. Pode arrastar os nós para melhorar a localização.", + "modify_area_addnode": "Pode também criar nós ao longo da área ao cliclar duas vezes {leftclick}**x2** ja extremidade da área ou arrastar os pequenos triângulos nos pontos intermédios entre os nós.", "delete_area_h": "Removendo Áreas", - "delete_area": "Se uma área estiver totalmente incorreta, por exemplo, um prédio que não existe no mundo real, não há problema em excluí-lo. Seja cauteloso ao excluir recursos - as imagens de plano de fundo que você está usando podem estar desatualizadas e um edifício que parece estar errado pode simplesmente ser recém-construído." + "delete_area": "Se uma área estiver totalmente incorreta, por exemplo, um prédio que não existe no mundo real, não há problema em excluí-lo. Seja cauteloso ao excluir recursos - as imagens de plano de fundo que você está usando podem estar desatualizadas e um edifício que parece estar errado pode simplesmente ser recém-construído.", + "delete_area_command": "Para eliminar uma área, {rightclick} use o lado direito do rato na área para selecioná-la e mostrar o menu de edição, utilize o comando {delete} **Eliminar**." }, "relations": { "title": "Relações", "intro": "Uma *relação* é um tipo especial de recurso no OpenStreetMap que agrupa outros recursos. Os recursos que pertencem a uma relação são chamados de *membros*, e cada membro pode ter uma *função* na relação.", "edit_relation_h": "Editando Relações", "edit_relation": "Na parte inferior do editor de recursos, você pode expandir a seção \"Todas as relações\" para ver se o recurso selecionado é um membro de qualquer relação. Você pode clicar na relação para selecioná-la e editá-la.", + "edit_relation_add": "Para adicionar um elemento a uma relação, selecione o elemento e clique no botão {plus} em \"Todas as relações\" na seção do editor de elementos. Você pode escolher de uma lista de relações na próximas ou escolher a opção \"Nova relação...\".", + "edit_relation_delete": "Pode também clicar no botão {delete} **Eliminar** para remover o elemento selecionado da relação. Se remover todos os elementos de uma relação, a relação será eliminada automaticamente. ", "maintain_relation_h": "Mantendo Relações", "maintain_relation": "Na maioria das vezes, o iD manterá as relações automaticamente conforme você edita. Você deve tomar cuidado ao substituir recursos que possam ser membros de relações. Por exemplo, se você excluir uma seção da estrada e desenhar uma nova seção da estrada para substituí-la, adicione a nova seção às mesmas relações (rotas, restrições de rotação, etc.) do original.", "relation_types_h": "Tipos de Relações", "multipolygon_h": "Multipolígonos", + "multipolygon": "Uma relação multi-polígono, é um grupo de um ou mais elementos exteriores e um ou mais elementos interiores. Os elementos exteriores definem as extremidades externas de um multi-polígono e os elementos interiores as sub-áreas ou espaços ocos do interior de um multi-polígono. ", + "multipolygon_create": "Para criar um multi-polígono, por exemplo um edifício com um logradouro (espaço oco), desenhe as extremidades externas como uma área e as internas como uma linha ou como uma outra área. Depois clique no lado esquerdo {leftclick} para selecionar ambos os elementos, clique no lado direito {rightclick} para mostrar o menu de edição e selecione o comando {merge} **Unir**.", + "multipolygon_merge": "Juntar várias linhas ou áreas de interesse criará uma nova relação multi-poligono com todas as áreas selecionadas como membros. O iD irá escolher os elementos interiores e exteriores automaticamente, com base nos elementos que estão contidos dentro de outros elementos. ", "turn_restriction_h": "Restrições de Manobra", "turn_restriction": "Uma relação de restrição de giro é um grupo de vários segmentos de estrada em uma interseção. As restrições de curva consistem em um *de* estrada, *via* nó ou estradas e uma *para* estrada.", "turn_restriction_field": "Para editar as restrições de curva, selecione um nó de junção onde duas ou mais estradas se encontram. O editor de recursos exibirá um campo especial \"Ativar restrições\" contendo um modelo da interseção.", "turn_restriction_editing": "No campo \"Ativar restrições\", clique para selecionar uma estrada \"de\" e veja se as curvas são permitidas ou restritas a qualquer uma das estradas \"para\". Você pode clicar nos ícones de turno para alterná-los entre permitido e restrito. O iD criará relações automaticamente e definirá as funções de, para e com base nas suas escolhas.", "route_h": "Rotas", "route": "Uma relação *rota* é um grupo de um ou mais recursos de linha que juntos formam uma rede de rotas, como uma rota de ônibus, rota de trem ou rota de rodovia.", + "route_add": "Para adicionar um elemento a uma relação de rota, selecione o elemento e vá até ao fundo em \"todas as relações\" na secção do editor de elementos, depois clique no botão {plus} para adicionar este elemento a uma relação próxima ou criar uma nova relação.", "boundary_h": "Fronteiras", - "boundary": "Uma relação *limite* é um grupo de um ou mais recursos de linha que juntos formam um limite administrativo." + "boundary": "Uma relação *limite* é um grupo de um ou mais recursos de linha que juntos formam um limite administrativo.", + "boundary_add": "Para adicionar um elemento a uma relação de fronteira, selecione o elemento e desça até à secção \"Todas as relações\" do editor de elementos e clique no botão adicionar {plus} para adicionar os elementos próximos que existam na relação ou numa nova relação." }, "imagery": { "title": "Imagens de Fundo", "intro": "As imagens de fundo que aparecem abaixo dos dados do mapa são um recurso importante para o mapeamento. Essas imagens podem ser fotos aéreas coletadas de satélites, aviões e drones, ou podem ser mapas históricos digitalizados ou outros dados de fonte disponíveis gratuitamente.", "sources_h": "Fontes de Imagens", + "choosing": "Para ver quais as fontes de imagens que estão disponíveis para editar, clique no botão {camadas} **Definições de fundo** ao lado do mapa.", + "sources": "Por padão, a camada satélite do [Bing Maps](https://www.bing.com/maps/) é escolhida como imagem de fundo. Dependendo de onde está a editar, poderá haver disponibilidade de outras fontes de imagens. Algumas poderão ser mais recentes ou possuírem maior resolução, pelo que é sempre pertinente verificar qual a melhor camada para utilizar como referência para o mapeamento.", "offsets_h": "Ajustando o Deslocamento das Imagens de Fundo", "offset": "Às vezes, as imagens são ligeiramente compensadas pelos dados precisos do mapa. Se você vir muitas estradas ou edifícios deslocados das imagens de plano de fundo, pode ser que as imagens estejam incorretas, por isso não mova todas elas para corresponder ao plano de fundo. Em vez disso, você pode ajustar o plano de fundo para que ele corresponda aos dados existentes, expandindo a seção \"Ajustar contorno da imagem\" na parte inferior do painel Configurações do plano de fundo.", "offset_change": "Clique nos pequenos triângulos para ajustar o deslocamento de imagens em pequenos passos, ou segure o botão esquerdo do mouse e arraste no quadrado cinzento para deslizar a imagem para o alinhamento." }, "streetlevel": { "title": "Fotos de Rua", + "intro": "As imagens ao nível de rua são bastante úteis para mapear sinais de trânsito, negócios e outros detalhes que não são visíveis em imagens aéreas ou de satélite. O editor iD suporta imagens ao nível de rua do [Mapillary](https://www.mapillary.com) e do [OpenStreetCam](https://www.openstreetcam.org).", "using_h": "Usando Fotos de Rua", + "using": "Para utilizar imagens ao nível de rua para mapear, clique no painel {data} **Dados do mapa** ao lado do mapa para ativar ou desativar a camada de imagens de rua que estão disponíveis.", "photos": "Quando ativado, a camada de foto exibe uma linha ao longo da seqüência de fotos. Em níveis de zoom mais altos, um círculo marca em cada local da foto e, em níveis de zoom ainda maiores, um cone indica a direção em que a câmera estava voltada quando a foto foi tirada.", "viewer": "Quando você clica em um dos locais da foto, um visualizador de fotos aparece no canto inferior do mapa. O visualizador de fotos contém controles para avançar e retroceder na sequência da imagem. Também mostra o nome de usuário da pessoa que capturou a imagem, a data em que foi capturada e um link para visualizar a imagem no site original." }, "gps": { "title": "Traçados de GPS", + "intro": "Os rastos de GPS são informação importante para o OpenStreetMap. Este editor suporta arquivos *.gpx*, *.geojson* e *.kml* que estejam no seu computador. Pode criar rastos GPS utilizando o seu telemóvel, relógios desportivos ou outros aparelhos GPS.", "survey": "Para informações sobre como coletar dados com GPS, leia [Mapeando com um smartphone, GPS, ou papel](http://learnosm.org/pt/mobile-mapping/).", "using_h": "Usando Traçados de GPS", + "using": "Para utilizar um rasto GPS para mapear, arraste-o e coloque o arquivo no editor do mapa do seu browser. Se for reconhecido, será desenhado no mapa como uma linha com uma cor de roxo claro. Clique em {data} **Dados do mapa** no painel lateral ao mapa para ativar, desativar ou aproximar para a sua informação GPS.", "tracing": "A trilha GPX não está sendo enviada ao OpenStreetMap - a melhor maneira de usá-la é desenhar no mapa, usando-a como um guia para os novos elementos que você adicionar.", "upload": "Você também pode [enviá-la ao OpenStreetMap](https://www.openstreetmap.org/trace/create) para que outros usuários possam utilizá-la." }, @@ -906,6 +928,9 @@ "tips": { "title": "Dicas", "simple": "**Prefira restrições simples ao invés de complexas**", + "simple_example": "Por exemplo, evite criar uma restrição de via se uma restrição de giro via nó mais simples servir.", + "indirect": "** Algumas restrições exibem o texto \"(indireto)\" e são desenhadas mais claras. **", + "indirect_example": "Essas restrições existem por causa de outra restrição próxima. Por exemplo, uma restrição \"Somente Direto\" criará indiretamente restrições \"Nenhuma volta\" para todos os outros caminhos através da interseção.", "indirect_noedit": "Você não pode editar restrições indiretas. Ao invés disso, tente editar uma relação direta próxima." } } @@ -1087,6 +1112,7 @@ }, "areas": { "title": "Áreas", + "add_playground": "*Áreas* são utilizadas para representar fronteiras de elementos como lagos, edifícios ou áreas residenciais.{br}Podem ser utilizadas para o mapeamento detalhado de muitos elementos que normalmente seriam representados por pontos. **Clique em {button} Área para adicionar uma nova área.**", "start_playground": "Vamos adicionar este parquinho ao mapa desenhando uma área. Áreas podem ser traçadas colocando *nós* ao longo do limite exterior do elemento. **Clique com o mouse ou pressione a barra de espaço para posicionar um nó inicial em um dos cantos do parquinho.**", "continue_playground": "Continue desenhando a área colocando mais nós ao longo da borda do campo de recreação. É bom conectar a área as vias de caminhada existentes.{br} Dica: você pode pressionar a tecla '{alt}' para evitar que os nós se conectem a outros recursos. **Continue a desenhar uma área para o campo de recreação.**", "finish_playground": "Termine a área pressionando Enter, ou clicando novamente no primeiro ou último nó. **Termine de desenhar a área do parquinho.**", @@ -2775,8 +2801,10 @@ "label": "Configuração das Bombinas", "options": { "delta": "Delta", + "leblanc": "Leblanc", "open": "Aberta", "open-delta": "Delta Aberto", + "scott": "Scott", "star": "Estrela / Y", "zigzag": "Zig Zag" } @@ -3519,6 +3547,9 @@ "name": "Cerca Viva", "terms": "Cerca viva" }, + "barrier/kerb": { + "name": "Meio-fio" + }, "barrier/kissing_gate": { "name": "Quebra Corpo", "terms": "Porteira Giratória, quebra cabeça, quebra costela, passa um, passador, imbricação" @@ -3559,6 +3590,9 @@ "name": "Celeiro", "terms": "Celeiro" }, + "building/boathouse": { + "name": "Garagem de barcos" + }, "building/bungalow": { "name": "Bangalô", "terms": "bangaló, casa de um andar" @@ -3623,6 +3657,9 @@ "name": "Garagens", "terms": "Garagens" }, + "building/grandstand": { + "name": "Arquibancada" + }, "building/greenhouse": { "name": "Estufa", "terms": "Estufa" @@ -4365,7 +4402,7 @@ "terms": "Bacia" }, "landuse/brownfield": { - "name": "Área contaminada", + "name": "Área degradada", "terms": "Terreno industrial abandonado, área em revitalização, área abandonada, terreno em revitalização, zona industrial abandonada, desenvolvimento" }, "landuse/cemetery": { @@ -4404,6 +4441,7 @@ "terms": "Gramado" }, "landuse/greenfield": { + "name": "Terra não cultivada", "terms": "área projetada, área em desenvolvimento, terreno projetado" }, "landuse/greenhouse_horticulture": { @@ -4524,10 +4562,20 @@ "name": "Centro de Jogos para Adultos", "terms": "Centro de Jogos Adutos" }, + "leisure/amusement_arcade": { + "name": "Fliperama", + "terms": "Fliperama, parque de diversões" + }, + "leisure/beach_resort": { + "name": "Resort em Praia" + }, "leisure/bird_hide": { "name": "Local de observação de pássaros", "terms": "torre de observação, pássaros, aves, animais" }, + "leisure/bleachers": { + "name": "Arquibancada simples" + }, "leisure/bowling_alley": { "name": "Pista de Boliche", "terms": "Boliche" @@ -4575,6 +4623,10 @@ "leisure/fitness_station/parallel_bars": { "name": "Barras Paralelas" }, + "leisure/fitness_station/rings": { + "name": "Argolas de Exercício", + "terms": "Argolas" + }, "leisure/fitness_station/sit-up": { "name": "Prancha para Abdominais" }, @@ -5828,6 +5880,9 @@ "name": "Revenda de Motos", "terms": "Concessionária de Motos" }, + "shop/motorcycle_repair": { + "name": "Oficina de Motocicletas" + }, "shop/music": { "name": "Loja de Discos Musicais", "terms": "Loja de Discos Musicais, Loja de CD's, Loja de Vinil, Loja Musical" @@ -6359,35 +6414,35 @@ "text": "Termos e Comentários" }, "description": "Limites de imagens e datas de captura. Os rótulos aparecem no nível de zoom 13 e superior.", - "name": "Bordas das Imagens de Satélite DigitalGlobe Premium" + "name": "Data das imagens de satélite premium da DigitalGlobe" }, "DigitalGlobe-Standard": { "attribution": { "text": "Termos e Comentários" }, - "description": "Imagens de satélite padrão da DigitalGlobe.", - "name": "Imagens padrão da DigitalGlobe" + "description": "Imagens de satélite comuns da DigitalGlobe.", + "name": "Imagens comuns da DigitalGlobe" }, "DigitalGlobe-Standard-vintage": { "attribution": { "text": "Termos e Comentários" }, "description": "Limites de imagens e datas de captura. Os rótulos aparecem no nível de zoom 13 e superior.", - "name": "Boradas das Imagens de Satélite DigitalGlobe Standard" + "name": "Data das imagens de satélite comuns da DigitalGlobe" }, "EsriWorldImagery": { "attribution": { "text": "Termos e Comentários" }, - "description": "Imagens globais da ESRI.", - "name": "Imagens globais da ESRI" + "description": "Imagens globais da Esri.", + "name": "Imagens globais da Esri" }, "EsriWorldImageryClarity": { "attribution": { "text": "Termos e Comentários" }, - "description": "Esri imagens de arquivo que podem ser mais claras e mais precisas do que a camada padrão.", - "name": "Esri World Imagery (Clarity) Beta" + "description": "Arquivo de imagens da Esri que podem ser mais claras e precisas do que a camada padrão.", + "name": "Imagens globais da Esri (Clareadas) Beta" }, "MAPNIK": { "attribution": { @@ -6558,7 +6613,7 @@ "attribution": { "text": "Quadros do mapa de Stamen Design, sob CC BY 3.0. Dados por OpenStreetMap, sob ODbL" }, - "name": "Stamen, Terreno" + "name": "Relevo Stamen" }, "tf-cycle": { "attribution": { @@ -6570,11 +6625,12 @@ "attribution": { "text": "Mapas © Thunderforest, Dados © Colaboradores do OpenStreetMap" }, - "name": "Paisagens Thunderforest" + "name": "Panorama Thunderforest" } }, "community": { "cape-coast-youthmappers": { + "name": "Universidade de Cape Coast YouthMappers", "description": "Siga-nos no Twitter: {url}" }, "osm-gh-facebook": { @@ -6591,9 +6647,13 @@ "talk-mg": { "name": "Lista de Discussão Talk-mg" }, + "OSM-BGD-facebook": { + "extendedDescription": "Mapeando em Bangladesh? Tem dúvidas, quer conectar-se com a comunidade aqui? Junte-se a nós em {url}. Todos são bem-vindos!" + }, "OSM-India-facebook": { "name": "OpenStreetMap Índia - Mapeamento de vizinhança participativa", - "description": "Melhorar o OpenStreetMap na Índia" + "description": "Melhorar o OpenStreetMap na Índia", + "extendedDescription": "Mapeando na Índia? Tem dúvidas, quer conectar-se com a comunidade aqui? Junte-se a nós em {url}. Todos são bem-vindos!" }, "OSM-india-mailinglist": { "name": "Lista de Discussão do OpenStreetMap na Índia", @@ -6612,10 +6672,25 @@ "OSM-japan-twitter": { "description": "Hashtag no Twitter: {url}" }, + "OSM-japan-website": { + "name": "OpenStreetMap Japão" + }, + "OSM-MNG-facebook": { + "extendedDescription": "Mapeando na Mongólia? Tem dúvidas, quer conectar-se com a comunidade aqui? Junte-se a nós em {Url}. Todos são bem-vindos!" + }, + "OSM-MMR-facebook": { + "extendedDescription": "Mapeando em Myanmar? Tem dúvidas, quer conectar-se com a comunidade aqui? Junte-se a nós em {Url}. Todos são bem-vindos!" + }, + "OSM-Nepal-facebook": { + "extendedDescription": "Mapeando no Nepal? Tem dúvidas, quer conectar-se com a comunidade aqui? Junte-se a nós em {Url}. Todos são bem-vindos!" + }, "OSM-PH-mailinglist": { "name": "Lista de Discussão Talk-ph", "description": "Uma lista de discussão para falar sobre o OpenStreetMap nas Filipinas" }, + "OSM-LKA-facebook": { + "extendedDescription": "Mapeando no Sri Lanka? Tem dúvidas, quer conectar-se com a comunidade aqui? Junte-se a nós em {Url}. Todos são bem-vindos!" + }, "de-berlin-twitter": { "description": "Siga-nos no Twitter: {url}" }, @@ -6689,12 +6764,28 @@ "Maptime-Australia-Slack": { "description": "Se inscreva em {signupUrl}" }, + "talk-au": { + "name": "Lista de Discussão Talk-au" + }, + "OSM-AR-mailinglist": { + "name": "Lista de Discussão Talk-ar", + "description": "Lista histórica. Em desuso hoje." + }, "OSM-AR-twitter": { "description": "Siga-nos no Twitter em {url}" }, + "OSM-BO-mailinglist": { + "name": "Lista de Discussão Talk-bo", + "description": "Lista de discussão oficial da comunidade OpenStreetMap Boliviana", + "extendedDescription": "Mapeando na Bolívia? Tem dúvidas, quer conectar-se com a comunidade aqui? Junte-se a nós em {url}. Todos são bem-vindos!" + }, "Bahia-telegram": { "name": "Grupo Telegram OpenStreetMap Bahia", - "description": "Participe da comunidade OpenStreetMap Bahia no Telegram" + "description": "Participe da comunidade OpenStreetMap Bahia no Telegram", + "extendedDescription": "Entre na comunidade para aprender mais sobre o OpenStreetMap, fazer perguntas ou participar dos nossos encontros. Todos são bem-vindos!" + }, + "DF-telegram": { + "extendedDescription": "Entre na comunidade para aprender mais sobre o OpenStreetMap, fazer perguntas ou participar dos nossos encontros. Todos são bem-vindos!" }, "OSM-br-mailinglist": { "name": "Talk-br Mailing List", @@ -6712,6 +6803,9 @@ "OSM-CL-twitter": { "description": "Siga-nos no Twitter: {url}" }, + "OSM-CO-facebook": { + "extendedDescription": "Entre na comunidade para aprender mais sobre o OpenStreetMap. Todos são bem-vindos!" + }, "OSM-CO-twitter": { "description": "Siga-nos no Twitter: {url}" }, diff --git a/vendor/assets/iD/iD/locales/pt.json b/vendor/assets/iD/iD/locales/pt.json index eed460051..89a0cc77f 100644 --- a/vendor/assets/iD/iD/locales/pt.json +++ b/vendor/assets/iD/iD/locales/pt.json @@ -6468,9 +6468,6 @@ "be-mailinglist": { "name": "Lista de Discussão Talk-be" }, - "talk-cz-mailinglist": { - "name": "Lista de Discussão Talk-cz" - }, "dk-mailinglist": { "name": "Lista de Discussão Talk-dk" }, diff --git a/vendor/assets/iD/iD/locales/ru.json b/vendor/assets/iD/iD/locales/ru.json index 9c4b4bc04..1cb1eb4d9 100644 --- a/vendor/assets/iD/iD/locales/ru.json +++ b/vendor/assets/iD/iD/locales/ru.json @@ -650,12 +650,12 @@ "success": { "just_edited": "Вы только что отредактировали карту OpenStreetMap!", "thank_you": "Благодарим за улучшение карты.", - "thank_you_location": "Благодарим за улучшение карты в районе {where}.", - "help_html": "Сделанные вами изменения отобразятся в OpenStreetMap в течение нескольких минут. На другие карты они могут попасть не так быстро.", + "thank_you_location": "Благодарим за улучшение карты в районе: {where}.", + "help_html": "Сделанные вами изменения отобразятся на OpenStreetMap в течение нескольких минут. На другие карты они могут попасть не так быстро.", "help_link_text": "Подробности", "help_link_url": "https://wiki.openstreetmap.org/wiki/RU:FAQ#.D0.AF_.D0.BD.D0.B0.D0.BD.D1.91.D1.81_.D0.BD.D0.B5.D1.81.D0.BA.D0.BE.D0.BB.D1.8C.D0.BA.D0.BE_.D0.BE.D0.B1.D1.8A.D0.B5.D0.BA.D1.82.D0.BE.D0.B2_.D0.BD.D0.B0_.D0.BA.D0.B0.D1.80.D1.82.D1.83.2C_.D0.BD.D0.BE_.D0.BE.D0.BD.D0.B8_.D0.BD.D0.B5_.D0.BE.D1.82.D0.BE.D0.B1.D1.80.D0.B0.D0.B6.D0.B0.D1.8E.D1.82.D1.81.D1.8F._.D0.9F.D0.BE.D1.87.D0.B5.D0.BC.D1.83.3F", "view_on_osm": "Посмотреть изменения на OSM", - "changeset_id": "Ваш пакет правок #: {changeset_id}", + "changeset_id": "Ваш пакет правок: {changeset_id}", "like_osm": "Нравится OpenStreetMap? Объединяйтесь с другими:", "more": "Показать больше", "events": "События", @@ -759,7 +759,7 @@ "editing": { "title": "Редактирование и Сохранение", "select_h": "Выбрать", - "select_left_click": "{leftclick} выбирает объект. Это подсветит объект и заставит его обводку пульсировать, боковая панель при этом отобразит свойства объекта, такие, как его название и адрес.", + "select_left_click": "{leftclick} выбирает объект. Это подсветит объект и заставит его обводку пульсировать, боковая панель при этом отобразит свойства объекта, такие как его название и адрес.", "select_right_click": "{rightclick} Щелчок правой кнопкой на объекте отобразит меню редактирования, которое покажет доступные команды, такие как: разворот, перемещние и удаление.", "multiselect_h": "Мультивыбор", "multiselect_shift_click": "`{shift}`+{leftclick} выбирает нескольких объектов одновременно. Это облегчит перемещение или удаление нескольких предметов.", @@ -782,7 +782,7 @@ "definitions": "Верхняя область отображает тип объекта. Средняя — содержит *поля*, отображающие аттрибуты объекта, такие как его название или адрес.", "type_h": "Тип объекта", "type": "Нажмите на тип объекта, чтобы изменить его на другой. Всё, что существует в реальном мире, может быть добавлено в OpenStreetMap, так что в списке могут быть тысячи типов объектов для выбора.", - "type_picker": "В списке типов отображаются наиболее распространённые типы объектов, такие, как парки, больницы, рестораны, дороги и здания. Вы можете использовать поиск, напечатав в поле поиска то, что хотите найти. Вы также можете нажать на значок {inspect} **Инфо** рядом с типом объекта, чтобы узнать его свойства.", + "type_picker": "В списке типов отображаются наиболее распространённые типы объектов, такие как парки, больницы, рестораны, дороги и здания. Вы можете использовать поиск, напечатав в поле поиска то, что хотите найти. Вы также можете нажать на значок {inspect} **Инфо** рядом с типом объекта, чтобы узнать его свойства.", "fields_h": "Поля", "fields_all_fields": "Область \"Все поля\" содержит все детали объекта, которые можно отредактировать. В OpenStreetMap, все поля необязательные, и это нормально оставить их пустыми, если вы неуверенны.", "fields_example": "У каждого типа объекта отображается свой набор полей. Например, у дорог отображается поле о дорожном покрытии и ограничении скорости, а у ресторанов могут отображаться поля о кухне, услугах и времени работы.", @@ -2272,6 +2272,7 @@ "placeholder": "1, 2, 3…" }, "phone": { + "label": "Телефон", "placeholder": "+7 495 1234567" }, "piste/difficulty": { @@ -3965,6 +3966,10 @@ "emergency/destination": { "name": "Место прибытия экстренных служб" }, + "emergency/fire_extinguisher": { + "name": "Огнетушитель", + "terms": "пожар, тушение, огонь" + }, "emergency/fire_hydrant": { "name": "Пожарный гидрант", "terms": "Пожарный Гидрант, Пожарная Колонка" @@ -3986,7 +3991,8 @@ "name": "Доступ экстренных служб по пропускам" }, "emergency/water_tank": { - "name": "Пожарный бассейн/резервуар" + "name": "Пожарный водоём/резервуар", + "terms": "пожарный бассейн, пожарный водоём, пожарная цистерна" }, "emergency/yes": { "name": "Доступ экстренных служб разрешён" @@ -4003,11 +4009,11 @@ "name": "Приподнятый пешеходный переход (линия)" }, "footway/crosswalk": { - "name": "Пешеходный переход (зебра, британский тег)", + "name": "Пешеходный переход-зебра", "terms": "переход, пешеходный переход, зебра, светофор" }, "footway/crosswalk-raised": { - "name": "Приподнятый пешеходный переход (зебра, британский тег)" + "name": "Приподнятый пешеходный переход-зебра" }, "footway/sidewalk": { "name": "Тротуар", @@ -4129,11 +4135,11 @@ "name": "Приподнятый пешеходный переход" }, "highway/crosswalk": { - "name": "Пешеходный переход (британский тег)", + "name": "Пешеходный переход-зебра", "terms": "переход, пешеходный переход, зебра, светофор" }, "highway/crosswalk-raised": { - "name": "Приподнятый пешеходный переход (зебра, британский тег)" + "name": "Приподнятый пешеходный переход-зебра" }, "highway/cycleway": { "name": "Велодорожка", @@ -4519,6 +4525,10 @@ "leisure/bird_hide": { "name": "Пункт наблюдения за птицами" }, + "leisure/bleachers": { + "name": "Трибуны", + "terms": "стадион, болельщики, сиденье, скамья" + }, "leisure/bowling_alley": { "name": "Боулинг центр", "terms": "боулинг" @@ -4754,6 +4764,10 @@ "name": "Дымовая труба", "terms": "дымовая труба, труба, заводская труба" }, + "man_made/clearcut": { + "name": "Сплошная рубка", + "terms": "вырубка, рубка" + }, "man_made/crane": { "name": "Подъемный кран", "terms": "кран" @@ -5837,6 +5851,10 @@ "name": "Магазин мотоциклов", "terms": "Магазин мотоциклов, Мотодиллер" }, + "shop/motorcycle_repair": { + "name": "Мотомастерская", + "terms": "мотосервис, ремонт, мотоцикл, байк, техобслуживание" + }, "shop/music": { "name": "Музыкальный магазин", "terms": "Музыкальный магазин, Аудио салон, винил, компакт диски, аудио диски, постеры, журналы" @@ -6346,14 +6364,14 @@ "text": "Условия и обратная связь" }, "description": "Премиум спутниковые снимки DigitalGlobe.", - "name": "Премиум снимки DigitalGlobe." + "name": "Премиум снимки DigitalGlobe" }, "DigitalGlobe-Premium-vintage": { "attribution": { "text": "Условия и обратная связь" }, "description": "Границы подложек и даты съемки. Надписи появляются на 13 масштабе и выше.", - "name": "Премиум снимки DigitalGlobe (Vintage)." + "name": "Премиум снимки DigitalGlobe (Vintage)" }, "DigitalGlobe-Standard": { "attribution": { @@ -6373,7 +6391,7 @@ "attribution": { "text": "Условия и обратная связь" }, - "description": "Всемирные снимки Esri", + "description": "Всемирные снимки Esri.", "name": "Всемирные снимки Esri" }, "EsriWorldImageryClarity": { @@ -6584,7 +6602,7 @@ }, "byosm": { "name": "OpenStreetMap Беларусь", - "description": "Telegram-чат OpenStreetMap Буларусь" + "description": "Telegram-чат OpenStreetMap Беларусь" }, "de-berlin-twitter": { "description": "Подписывайтесь на нас в Twitter {url}" @@ -6638,7 +6656,8 @@ }, "OSM-help": { "name": "OpenStreetMap Помощь", - "description": "Задайте вопрос и получите ответы на сайте вопросов и ответов, поддерживаемом OSM сообществом." + "description": "Задайте вопрос и получите ответы на сайте вопросов и ответов, поддерживаемом OSM сообществом.", + "extendedDescription": "{url} для всех нуждающихся в помощи касательно OpenStreetMap. Начинающий ли вы участник или у вас возник технический вопрос — здесь вам помогут!" }, "OSM-Reddit": { "name": "OpenStreetMap на Reddit", @@ -6650,7 +6669,8 @@ }, "OSMF": { "name": "Фонд OpenStreetMap", - "description": "OSMF — это зарегистрированная в Великобритании бесприбыльная организация, поддерживающая проект OpenStreetMap." + "description": "OSMF — это зарегистрированная в Великобритании бесприбыльная организация, поддерживающая проект OpenStreetMap.", + "extendedDescription": "OSMF поддерживает OpenStreetMap, собирая деньги, поддерживая работоспособность серверов, на которых работает OSM, организуя ежегодную конференцию State of the Map, координируя волонтёров, что держат OSM на плаву. Вы можете выразить свою поддержку и принять участие в судьбе OpenStreetMap, приосединившись как участник OSMF по ссылке: {signupUrl}" } } } diff --git a/vendor/assets/iD/iD/locales/sk.json b/vendor/assets/iD/iD/locales/sk.json index 8231b5722..fcf078095 100644 --- a/vendor/assets/iD/iD/locales/sk.json +++ b/vendor/assets/iD/iD/locales/sk.json @@ -1181,6 +1181,9 @@ "aeroway": { "label": "Typ" }, + "agrarian": { + "label": "Produkty" + }, "amenity": { "label": "Typ" }, @@ -1400,9 +1403,45 @@ "diaper": { "label": "Obsahuje miesto na výmenu plienok" }, + "direction_cardinal": { + "label": "Svetové strany", + "options": { + "E": "Východ", + "ENE": "Východ-severovýchod", + "ESE": "Východ-juhovýchod", + "N": "Sever", + "NE": "Severovýchod", + "NNE": "Sever-severovýchod", + "NNW": "Sever-severozápad", + "NW": "Severozápad", + "S": "Juh", + "SE": "Juhovýchod", + "SSE": "Juh-juhovýchod", + "SSW": "Juh-juhozápad", + "SW": "Juhozápad", + "W": "Západ", + "WNW": "Západ-severozápad", + "WSW": "Západ-juhozápad" + } + }, + "direction_clock": { + "label": "Smer", + "options": { + "anticlockwise": "Proti smeru hodinových ručičiek", + "clockwise": "V smere hodinových ručičiek" + } + }, + "direction_vertex": { + "options": { + "forward": "Dopredu" + } + }, "display": { "label": "Ciferník" }, + "distance": { + "label": "Celková vzdialenosÅ¥" + }, "dock": { "label": "Typ" }, @@ -1522,6 +1561,9 @@ "hashtags": { "placeholder": "#príklad" }, + "healthcare/speciality": { + "label": "Å peciality" + }, "height": { "label": "Výška (metrov)" }, @@ -1538,6 +1580,31 @@ "label": "KoÅ¡e", "placeholder": "1, 2, 4..." }, + "horse_dressage": { + "label": "Drezúra koní", + "options": { + "equestrian": "Áno", + "undefined": "Nie" + } + }, + "horse_riding": { + "label": "Jazda na koni", + "options": { + "horse_riding": "Áno", + "undefined": "Nie" + } + }, + "horse_scale": { + "label": "ObtiažnosÅ¥ pri jazde na koni", + "placeholder": "Obtiažne, nebezpečné" + }, + "horse_stables": { + "label": "Stajňa", + "options": { + "stables": "Áno", + "undefined": "Nie" + } + }, "iata": { "label": "IATA" }, @@ -1557,12 +1624,18 @@ "indoor": { "label": "Vnútri" }, + "industrial": { + "label": "Typ" + }, "information": { "label": "Typ" }, "inscription": { "label": "Nápis" }, + "intermittent": { + "label": "Striedavý" + }, "internet_access": { "label": "Prístup k Internetu", "options": { @@ -1674,6 +1747,9 @@ "label": "Povolená rýchlosÅ¥", "placeholder": "40, 50, 60..." }, + "maxspeed/advisory": { + "label": "Doporučená rýchlosÅ¥" + }, "maxstay": { "label": "Maximálna dĺžka parkovania" }, @@ -1769,6 +1845,7 @@ "label": "Jednosmerná", "options": { "no": "Nie", + "reversible": "Obojstranný", "undefined": "Pravdepodobne nie", "yes": "Áno" } @@ -1813,6 +1890,7 @@ "label": "Typy platieb" }, "phone": { + "label": "Telefón", "placeholder": "+31 42 123 4567" }, "piste/difficulty": { @@ -1863,6 +1941,15 @@ "label": "Elektrický výkon", "placeholder": "500 MW, 1000 MW, 2000 MW..." }, + "playground/baby": { + "label": "Detská sedačka" + }, + "playground/max_age": { + "label": "Najvyšší vek" + }, + "playground/min_age": { + "label": "Najnižší vek" + }, "population": { "label": "Populácia" }, @@ -2072,6 +2159,12 @@ }, "placeholder": "Neznáme" }, + "structure_waterway": { + "options": { + "tunnel": "Tunel" + }, + "placeholder": "Neznáme" + }, "studio": { "label": "Typ" }, @@ -2101,6 +2194,11 @@ "surveillance/zone": { "label": "Monitorovaná zóna" }, + "switch": { + "options": { + "circuit_breaker": "Istič" + } + }, "tactile_paving": { "label": "Taktilné značenie" }, @@ -2131,6 +2229,9 @@ "tourism": { "label": "Typ" }, + "tourism_attraction": { + "label": "Turizmus" + }, "tower/construction": { "label": "Konštrukcia veže", "placeholder": "Ukotvená, Mrežovaná, Maskovaná, ..." @@ -2167,6 +2268,16 @@ }, "placeholder": "Výborná, dobrá, zlá..." }, + "transformer": { + "options": { + "auto": "Auto-transformátor", + "auxiliary": "Pomocný", + "generator": "Generátor", + "phase_angle_regulator": "Fázový regulátor", + "traction": "Pohon", + "yes": "Neznáme" + } + }, "trees": { "label": "Stromy" }, @@ -2174,6 +2285,19 @@ "label": "Typ", "placeholder": "Prednastavené" }, + "usage_rail": { + "label": "Použitý typ", + "options": { + "branch": "Vetva", + "industrial": "Priemyselné", + "main": "Hlavný", + "military": "Armádne", + "tourism": "Cestovný ruch" + } + }, + "vending": { + "label": "Druhy tovaru" + }, "visibility": { "label": "Viditeľnosť", "options": { @@ -2182,6 +2306,34 @@ "street": "5 až 20m (16 až 65 stôp)" } }, + "volcano/status": { + "label": "Stav sopky", + "options": { + "active": "Aktívny", + "dormant": "Nečinná", + "extinct": "Vyhasnutá" + } + }, + "volcano/type": { + "label": "Typ sopky", + "options": { + "scoria": "Škvára", + "shield": "Štít", + "stratovolcano": "Stratovulkán" + } + }, + "voltage": { + "label": "Napätie" + }, + "voltage/primary": { + "label": "Primárne napätie" + }, + "voltage/secondary": { + "label": "Sekundárne napätie" + }, + "voltage/tertiary": { + "label": "Terciárne napätie" + }, "wall": { "label": "Typ" }, @@ -2204,11 +2356,17 @@ "wheelchair": { "label": "Prístup pre vozičkárov" }, + "wholesale": { + "label": "Veľkoobchod" + }, "width": { "label": "Šírka (metrov)" }, "wikipedia": { "label": "Wikipédia" + }, + "windings": { + "label": "Vinutia" } }, "presets": { @@ -4534,6 +4692,12 @@ "name": "Informácie", "terms": "informacie,turisticke informacie,turistické informácie" }, + "tourism/information/board": { + "name": "Informačná tabuľa" + }, + "tourism/information/map": { + "name": "Mapa" + }, "tourism/motel": { "name": "Motel", "terms": "hostel,hotel,ubytovna,ubytovňa,ubytovanie" diff --git a/vendor/assets/iD/iD/locales/sl.json b/vendor/assets/iD/iD/locales/sl.json index a3f7d03bc..b4a750260 100644 --- a/vendor/assets/iD/iD/locales/sl.json +++ b/vendor/assets/iD/iD/locales/sl.json @@ -5074,6 +5074,20 @@ } }, "community": { + "cape-coast-youthmappers": { + "description": "Sledi nam na Twitterju: {url}" + }, + "osm-gh-facebook": { + "name": "OpenStreetMap Ghana na Facebooku", + "description": "Facebook skupina za ljudi, ki jih zanima OpenStreetMap" + }, + "osm-gh-twitter": { + "name": "OpenStreetMap Ghana na Twitterju", + "description": "Sledi nam na Twitterju: {url}" + }, + "osm-mg-facebook": { + "name": "Facebook skupina OpenStreetMap Madagaskar" + }, "OSM-help": { "name": "Pomoč OpenStreetMap" }, diff --git a/vendor/assets/iD/iD/locales/sv.json b/vendor/assets/iD/iD/locales/sv.json index 306a3c7e5..f8cdc8fdc 100644 --- a/vendor/assets/iD/iD/locales/sv.json +++ b/vendor/assets/iD/iD/locales/sv.json @@ -715,6 +715,11 @@ "zoom": "Zooma till lager", "browse": "Bläddra efter en fil" }, + "streetside": { + "tooltip": "Gatubilder från Microsoft", + "title": "Bildlager (Bing Streetside)", + "report": "Rapportera ett integritetsproblem med den här bilden" + }, "mapillary_images": { "tooltip": "Gatubilder från Mapillary", "title": "Bildlager (Mapillary)" @@ -3407,6 +3412,10 @@ "name": "Biljettautomat för kollektivtrafik", "terms": "Biljettautomat, tågbiljett, tågbiljetter, bussbiljett, bussbiljetter, buss, tåg, tunnelbana, spårvagn, färja, båt, biljett, transport" }, + "amenity/vending_machine/stamps": { + "name": "Frimärksautomat", + "terms": "Frimärksautomat, frimärke, frankering, frankeringsautomat, porto, post, brev, vykort, Varuautomat, varumaskin" + }, "amenity/vending_machine/sweets": { "name": "Godisautomat", "terms": "godisautomat, tuggummiautomater, godisautomat, mellanmål, tuggummi, godis, chips" @@ -3479,6 +3488,10 @@ "name": "Fritt fall", "terms": "Fritt fall, åkattraktion, karusell, nöjeskarusell, nöjespark, temapark, tivoli" }, + "attraction/maze": { + "name": "Labyrint", + "terms": "Labyrint, irrgång, Trojaborg,Trojeborg, Trädgårdslabyrint, irrgång, slingergång" + }, "attraction/pirate_ship": { "name": "Båtgunga", "terms": "Båtgunga, piratskepp, vikingaskepp, gunga, gungande båt, roterande båt, Åkattraktion, karusell, nöjeskarusell, nöjespark, temapark, tivoli" @@ -3660,6 +3673,10 @@ "name": "Garage", "terms": "skydd för bilar, bilstall, bilskjul, carport, parkeringshus, varmgarage, kallgarage, uppställningsplats, bilgarage, bilförvaring" }, + "building/grandstand": { + "name": "Huvudläktare", + "terms": "Huvudläktare, läktare, åskådarplats, åskådare, publik, läktare, sittplats, sport" + }, "building/greenhouse": { "name": "Växthus", "terms": "växthus, drivhus, orangeri, driveri, vinterträdgård, växtodling, blomsterhus, odlingshus" @@ -3720,6 +3737,10 @@ "name": "Delvist Fristående hus", "terms": "Villa, hus, småhus, fristående hus, friliggande hus, radhus, parhus, radhusområde, parhusområde" }, + "building/service": { + "name": "Teknikhus", + "terms": "teknikhus, teknik, transformatorhus, pumphus, transformator, pump, mäthus, mätning, mätstation, nätstation, fördelningsstation" + }, "building/shed": { "name": "Skjul", "terms": "Skjul, friggebod, uthus, bod, barack, förråd, förvaringsskjul, visthusbod, visthus, hobbyhus, förvaring, verkstad, hobbyrum" @@ -3737,7 +3758,8 @@ "terms": "Villavagn, husvagn, campingvagn" }, "building/temple": { - "name": "Tempelbyggnad" + "name": "Tempelbyggnad", + "terms": "Tempelbyggnad, tempel, andaktsrum, bönhus, bönehus, böneplats, dyrkan, fristad, gud, guds hus, gudshus, helgedom, mission, religion, religiös, religiös anläggning, religiöst område, tempelområde, tillbedjan, tro" }, "building/terrace": { "name": "Terrasshus", @@ -3746,6 +3768,10 @@ "building/train_station": { "name": "Järnvägsstation" }, + "building/transportation": { + "name": "Byggnad för kollektivtrafik", + "terms": "Byggnad för kollektivtrafik, kollektivtrafikbyggnad, kollektivtrafik, buss, bussterminal, båt, båtterminal, färja, Färjeterminal, linbana, linbaneterminal, linjetrafik, metro, Perrong, spårvagnsterminal, station, terminal, transit, transport" + }, "building/university": { "name": "Universitetsbyggnad", "terms": "Universitetsbyggnad, högskolebyggnad, universitet, högskola, högskolebyggnad" @@ -3975,6 +4001,10 @@ "emergency/destination": { "name": "Åtkomst för utryckningsfordon - Destination" }, + "emergency/fire_extinguisher": { + "name": "Brandsläckare", + "terms": "Brandsläckare, Brandpost, brand, vattenpost, brandsläckning, vattenpost, brandslang, eldsläckare, handbrandsläckare, skumsläckare, pulversläckare, vattensläckare, kolsyresläckare, koldioxidsläckare" + }, "emergency/fire_hydrant": { "name": "Brandpost", "terms": "Brandpost, vattenpost, brandsläckning, vattenpost, brandslang" @@ -3996,6 +4026,10 @@ "emergency/private": { "name": "Åtkomst för utryckningsfordon - Ja" }, + "emergency/water_tank": { + "name": "Vattentank för brandsläckning", + "terms": "Vattentank för brandsläckning, vattentank, nödtank, brandsläckningstank, brand, brandsläckning, nöd, vatten, tank, kris, reservoar, räddning, vattensamling, lagringstank, tank, cistern, vattentorn" + }, "emergency/yes": { "name": "Åtkomst för utryckningsfordon - Ja" }, @@ -4095,6 +4129,10 @@ "name": "Hospis (palliativ vård)", "terms": "Hospis, Palliativ vård, död, döende, terminalvård " }, + "healthcare/laboratory": { + "name": "Medicinskt laboratorium", + "terms": "medicinskt laboratorium, Laboratoriemedicin, laboratorium, medicinskt lab, lab, blodkontroll, provtagning, blodanalys, analys, analysrådgivning, diagnos, diagnosering, genetik, farmakologi, kemi, mikrobiologi, patologi, immunologi, transfusionsmedicin" + }, "healthcare/midwife": { "name": "Barnmorska", "terms": "Barnmorska, jordemo, ackuschörska, mödrahälsovård, mödravårdscentra, gynekolog, Gynekologi, Preventivmedel, ungdomsmottagning" @@ -4568,6 +4606,10 @@ "name": "Torn/gömsle för fågelskådning", "terms": "Fågelskådning, fågelskådare, fågelskådartorn, vilttorn, fågeltorn, fågelskådargömsel, utsiktstorn, fågelskådningstorn" }, + "leisure/bleachers": { + "name": "Läktare", + "terms": "läktare, åskådarplats, åskådare, publik, sittplats, bänk, sport" + }, "leisure/bowling_alley": { "name": "Bowlinghall", "terms": "Bowlingbana, bowlinghall, bowling, kägelsport, kägelspel" @@ -4828,6 +4870,10 @@ "name": "Skorsten", "terms": "skorsten, rökgång" }, + "man_made/clearcut": { + "name": "Kalhygge", + "terms": "kalhygge, hygge, skog, timmer, träd, trä, Slutavverkning, avverkning, föryngringsyta, föryngringsavverkning, avskogning, skövlat skogsområde, avverkningsområde" + }, "man_made/crane": { "name": "Kran", "terms": "Kran, lyftkran, vinsch, travers, telfer" @@ -5003,6 +5049,10 @@ "name": "Bergstopp", "terms": "Bergstopp, berg, alp, hjässa, kalott, klack, klint, klätt, kulle, höjdpunkt, höjd, topp" }, + "natural/reef": { + "name": "Rev", + "terms": "rev, barriär, korall, hav, sand, Sandbank, korallrev, grund, undervattensgrund, undervattensskär, revel, sandrev, sandbank, bank" + }, "natural/ridge": { "name": "Ås", "terms": "ås, höjd, bergsrygg, kam, kulle, krön, berg, bergsområde, högland, horst" @@ -5987,6 +6037,10 @@ "name": "Återförsäljare av motorcyklar", "terms": "Motorcykel, motorcyklar, motorcykelåterförsäljare, motorcykelbutik, motorcykeltillbehör" }, + "shop/motorcycle_repair": { + "name": "Motorcykelverkstad", + "terms": "Motorcykelverkstad, motorcykel, motorcyklar, verkstad, reparation, service, motorcykelservice, cykel, moped, mopedverkstad, reparatör, motorcykelreparatör" + }, "shop/music": { "name": "Musikaffär", "terms": "Musikaffär, musikbutik, CD-affär, CD, kassett, vinyl, LP, skivaffär , skivbutik" @@ -6258,6 +6312,10 @@ "name": "Nöjespark", "terms": "Temapark, nöjespark, åkattraktioner, tivoli, nöjesfält, nöjesplats" }, + "tourism/trail_riding_station": { + "name": "Turridningsstation", + "terms": "Turridningsstation, tur, turridning, ridstation, ridningsstation, gästhus, häst, hästrastning, stall, häststall" + }, "tourism/viewpoint": { "name": "Utsiktspunkt", "terms": "Utsiktsplats, utsikt, vy" @@ -6886,7 +6944,12 @@ }, "OSM-TH-CNX-meetup": { "name": "OSM Meetup Chiang Mai", - "description": "Oregelbundna träffar för OpenStreetMap-gemenskapen i Chiang Mai" + "description": "Oregelbundna träffar för OpenStreetMap-gemenskapen i Chiang Mai", + "extendedDescription": "Medlemmar av OpenStreetMap-gemenskapen träffas då och då i Chiang Mai. Kom i kontakt och kolla in {url} för att se när nästa träff är planerad" + }, + "OSM-TH-facebook": { + "name": "OpenStreetMap TH på Facebook", + "description": "Facebook-grupp för OpenStreetMap-kartläggare i Thailand" }, "OSM-TH-forum": { "name": "Forum för OpenStreetMap TH", @@ -6897,7 +6960,9 @@ "description": "Forum för OpenStreetMap Albanien" }, "al-maptime-tirana": { - "description": "Sociala evenemang organiserade runt kartläggning - nybörjare är varmt välkomna!" + "name": "Maptime Tirana", + "description": "Sociala evenemang organiserade runt kartläggning - nybörjare är varmt välkomna!", + "extendedDescription": "Maptime är en öppen inlärningsmiljö för alla kunskapsnivåer, och erbjuder riktat pedagogiskt stöd till nybörjaren. Maptime är både flexibel och strukturerad, vilket skapar möjlighet för kartläggningsguider, workshops, pågående projekt med gemensamt mål samt arbetstid för oberoende projekt eller samarbetande." }, "al-telegram": { "name": "Telegram-kanal för OSM Albanien", @@ -6950,7 +7015,8 @@ }, "be-maptime": { "name": "Maptime Belgien", - "description": "Sociala evenemang organiserade runt kartläggning - nybörjare är varmt välkomna!" + "description": "Sociala evenemang organiserade runt kartläggning - nybörjare är varmt välkomna!", + "extendedDescription": "Maptime är en öppen inlärningsmiljö för alla kunskapsnivåer, och erbjuder riktat pedagogiskt stöd till nybörjaren. Maptime är både flexibel och strukturerad, vilket skapar möjlighet för kartläggningsguider, workshops, pågående projekt med gemensamt mål samt arbetstid för oberoende projekt eller samarbetande." }, "be-matrix": { "name": "Matrix-kanal för OpenStreetMap BE", @@ -6966,8 +7032,20 @@ "name": "OpenStreetMap Belgium på Twitter", "description": "OSM Belgien på Twitter: @osm_be" }, + "czech-community": { + "name": "Tjeckiska OSM-gemenskapen", + "description": "Kartportal, webbplats och kontaktuppgifter för OSM-medlemmar i Tjeckien" + }, + "osmcz-facebook": { + "name": "OpenStreetMap CZ på Facebook", + "description": "Följ tjeckiska gemenskapen på Facebook - inklusive översatt WeeklyOSM!" + }, + "osmcz-twitter": { + "name": "Tjeckiska twitter @osmcz", + "description": "Följ tjeckiska gemenskapen på Twitter - inklusive översatt WeeklyOSM!" + }, "talk-cz-mailinglist": { - "name": "E-postlistan Talk-cz", + "name": "Tjeckisk e-postlista (talk-cz)", "description": "Talk-cz är den officiella e-postlistan för den tjeckiska gemenskapen" }, "dk-forum": { @@ -7046,6 +7124,10 @@ "name": "E-postlista för OWL", "description": "Detta är e-postlistan för OSM-gemenskap i Ostwestfalen-Lippe" }, + "de-telegram": { + "name": "Telegram för OpenStreetMap Tyskland", + "description": "Anslut till gemenskapen i OpenStreetMap Tyskland via Telegram på {url}" + }, "osm-de": { "name": "OpenStreetMap Tyskland", "description": "Plattformen för information om OpenStreetMap i Tyskland" @@ -7468,6 +7550,10 @@ "name": "OpenStreetMap på Reddit", "description": "/r/openstreetmap/ är ett bra ställe att lära sig mer om OpenStreetMap. Fråga om vad som helst!" }, + "OSM-Telegram": { + "name": "Telegram för OpenStreetMap", + "description": "Anslut till den världsomspännande gemenskapen i OpenStreetMap via Telegram på {url}" + }, "OSM-Twitter": { "name": "OpenStreetMap på Twitter", "description": "Följ oss på Twitter på {url}" diff --git a/vendor/assets/iD/iD/locales/uk.json b/vendor/assets/iD/iD/locales/uk.json index 03a29839b..516519dee 100644 --- a/vendor/assets/iD/iD/locales/uk.json +++ b/vendor/assets/iD/iD/locales/uk.json @@ -3668,6 +3668,10 @@ "name": "Гаражі", "terms": "Garages, ufhfs, гаражі" }, + "building/grandstand": { + "name": "Трибуна", + "terms": "трибуна,сидіння,лавки" + }, "building/greenhouse": { "name": "Теплиця", "terms": "Greenhouse, ntgkbwz, теплиця" @@ -4593,6 +4597,10 @@ "name": "Пункт спостереження", "terms": "птахи,звіри,природа,тварини" }, + "leisure/bleachers": { + "name": "Трибуни", + "terms": "стадіон,трибуна,місця,сидіння,лавка,крісло,стілець" + }, "leisure/bowling_alley": { "name": "Боулінг", "terms": "боулінг,кеглі,доріжка,розваги,дозвілля,центр,спорт,10" @@ -4853,6 +4861,10 @@ "name": "Димохід", "terms": "труба,дим,димохід,викиди" }, + "man_made/clearcut": { + "name": "Вирубка", + "terms": "ліс,дерева,заготівлі,рубка,суцільна" + }, "man_made/crane": { "name": "Кран", "terms": "кран,піднімач,підйомник,стаціонарний,портальний,козловий,балка,пересувний" @@ -6016,6 +6028,10 @@ "name": "Мотомагазин", "terms": "Motorcycle Dealership,vjnjvfufpby, мотоцикли" }, + "shop/motorcycle_repair": { + "name": "Ремонт мотоциклів", + "terms": "ремонт,мотоцикл,гараж,сервіс" + }, "shop/music": { "name": "Музичний магазин", "terms": "Music Store,vepbxybq vfufpby, музичний магазин" @@ -6795,7 +6811,8 @@ }, "OSM-BGD-facebook": { "name": "OpenStreetMap Бангладеш", - "description": "Покращити OpenStreetMap в Бангладеш" + "description": "Покращити OpenStreetMap в Бангладеш", + "extendedDescription": "Мапите в Бангладеш? Маєте питання чи бажаєте поспілкуватись зі спільнотою тут? Приєднуйтесь до нас - {url}. Ласкаво просимо!" }, "OSM-India-facebook": { "name": "OpenStreetMap Індія - участь в мапінгу поселень", @@ -6823,7 +6840,9 @@ "extendedDescription": "FSHM організовує події пов'язані з вільним програмним та апаратним забезпечення, технологіями, розповсюдженням інформації про них та OpenStreetMap. На цій сторінці у FB ви завжди знайдете свіжу інформацію про події." }, "OSM-India-Puducherry-Matrix": { - "name": "Free Software Hardware Movement - Matrix" + "name": "Free Software Hardware Movement - Matrix", + "description": "Група FSHM Riot для обговорення, поширення та сповіщення про заходи та події у та навколо Пудучеррі", + "extendedDescription": "Члени спільноти FSHM поширюють свій досвід та досягнення в OSM в групі Riot.im, ця група також використовується для обговорення питань, пов'язаних з вільним програмним забезпеченням / обладнанням, технологіями та активізмом." }, "OSM-IDN-facebook": { "name": "OpenStreetMap Індонезія", @@ -6842,53 +6861,207 @@ "name": "OpenStreetMap Японія Twitter", "description": "Хеш-теґ у Twitter: {url}" }, + "OSM-japan-website": { + "name": "OpenStreetMap Японія", + "description": "Учасники та користувачі OpenStreetMap в Японії" + }, + "OSM-korea-telegram": { + "name": "OSM Korea канал в Telegram", + "description": "Неофіційний канал для учасників OpenStreetMap в Кореї, для спілкування та обміну досвідом." + }, + "OSM-MY-facebook": { + "name": "OpenStreetMap Малайзія у Facebook", + "description": "Для спілкування про все, що пов'язано з OpenStreetMap!" + }, + "OSM-MY-forum": { + "name": "Форум OpenStreetMap Малайзія", + "description": "Офіційний форум OpenStreetMap Малайзія" + }, + "OSM-MY-matrix": { + "name": "Канал OpenStreetMap Малайзія на Riot", + "description": "Запрошуємо всіх маперів! Зареєструйтеся на {signupUrl}" + }, "OSM-MNG-facebook": { "name": "OpenStreetMap Монголія", "description": "Покращити OpenStreetMap в Монголії", "extendedDescription": "Мапите в Монголії? Маєте питання, бажаєте зв'язатись зі спільнотою? Приєднуйтесь до нас за адресою {Url}. Ласкаво просимо!" }, + "OSM-MMR-facebook": { + "name": "OpenStreetMap М'янма", + "description": "Покращити OpenStreetMap в М'янмі", + "extendedDescription": "Мапите в М'янмі? Маєте питання, бажаєте зв'язатись зі спільнотою? Приєднуйтесь до нас за адресою {Url}. Ласкаво просимо!" + }, "OSM-Nepal-facebook": { "name": "OpenStreetMap Непал", "description": "Покращити OpenStreetMap в Непалі", "extendedDescription": "Мапите в Непалі? Маєте питання, бажаєте зв'язатись зі спільнотою? Приєднуйтесь до нас за адресою {Url}. Ласкаво просимо!" }, "OSM-PH-facebook": { - "name": "OpenStreetMap Філіппіни у Facebook" + "name": "OpenStreetMap Філіппіни у Facebook", + "description": "Ласкаво просимо до OpenStreetMap Філіппіни, ми закликаємо всіх філіппінців взяти участь в OpenStreetMap." }, "OSM-PH-mailinglist": { - "name": "Talk-ph Список розсилки" + "name": "Talk-ph Список розсилки", + "description": "Список розсилки для обговорення OpenStreetMap на Філіппінах" + }, + "OSM-PH-slack": { + "name": "OpenStreetMap PH Slack", + "description": "Запрошуємо всіх! Зареєструйтеся на {signupUrl}" + }, + "OSM-PH-telegram": { + "name": "OpenStreetMap PH Telegram", + "description": "Неофіційний канал в Telegram місцевої спільноти учасників OpenStreetMap та друзів на Філіппінах" + }, + "OSM-RU-forum": { + "name": "Форум OpenStreetMap RU", + "description": "Форум OpenStreetMap Росія" + }, + "OSM-RU-telegram": { + "name": "OpenStreetMap RU telegram", + "description": "OpenStreetMap Russia канал telegram" }, "OSM-LKA-facebook": { + "name": "OpenStreetMap Шрі-Ланка", "description": "Покращити OpenStreetMap у Шрі-Ланці", "extendedDescription": "Мапите у Шрі-Ланці? Маєте питання, бажаєте зв'язатись зі спільнотою? Приєднуйтесь до нас за адресою {Url}. Ласкаво просимо!" }, + "OSM-TW-facebook": { + "name": "Тайванська спільнота OpenStreetMap ", + "description": "Група Facebook для маперів та користувачів OpenStreetMap для обговорення питань пов'язаних з Тайванем." + }, "OSM-TW-mailinglist": { "name": "OpenStreetMap Тайвань, список розсилки", "description": "Talk-tw – офіційний список розсилки спільноти для обговорення питань пов'язаних з Тайванем" }, + "OSM-TH-CNX-meetup": { + "name": "OSM зустріч в Чіангмай", + "description": "Нерегулярні зустрічі спільноти OpenStreetMap в Чіангмай", + "extendedDescription": "Члени спільноти OpenStreetMap зустрічаються кожні кілька місяців у Чіангмаі. Слідкуйте на {url}, щоб дізнатись, коли відбудеться наступна зустріч" + }, + "OSM-TH-facebook": { + "name": "OpenStreetMap Таїланд група у Facebook", + "description": "Група Facebook OpenStreetMap в Таїланді" + }, + "OSM-TH-forum": { + "name": "Форум OpenStreetMap TH", + "description": "Форум OpenStreetMap Тайланд" + }, + "al-forum": { + "name": "Форум OSM Албанія", + "description": "Форум OpenStreetMap Албанія" + }, + "al-maptime-tirana": { + "name": "Maptime Тирана", + "description": "Соціальні заходи, пов'язані з мапінгом - в першу чергу запрошуємо початківців!", + "extendedDescription": "Maptime - це відкрите навчальне середовище для всіх, з різним ступенем знань, пропонуе особисту ​​освітню підтримку для початківців. Maptime одночасно є гнучким та структурованим, створюючи простір для посібників з мапінгу, семінарів, поточних проектів із спільною метою та незалежним / спільним робочим часом." + }, + "al-telegram": { + "name": "OSM Albania канал в Telegram", + "description": "OpenStreetMap OSM Albania канал в Telegram" + }, + "at-forum": { + "name": "Форум OpenStreetMap Австрія", + "description": "Офіційний форум для питань про OpenStreetMap у Австрії та навкруги" + }, "at-mailinglist": { "name": "Talk-at Список розсилки", "description": "Talk-at – офіційний список розсилки OSM спільноти Австрії." }, + "at-twitter": { + "name": "OpenStreetMap Австрія Twitter", + "description": "OpenStreetMap Австрія у Twitter: {url}" + }, + "osmgraz-meetup": { + "name": "Зустріч спільноти OSM в Граці", + "description": "Щомісячні зустрічі спільноти OpenStreetMap в Граці" + }, + "osmgraz-twitter": { + "name": "OSM спілнота Грац у Твіттері", + "description": "OpenStreetMap спілнота Грац у Твіттері" + }, + "osm-at": { + "name": "OpenStreetMap Австрія", + "description": "Інформація про OpenStreetMap в Австрії" + }, + "byosm": { + "name": "OpenStreetMap Білорусь", + "description": "OpenStreetMap Belarus канал telegram" + }, + "be-facebook": { + "name": "Спільнота OpenStreetMap BE", + "description": "Мапери та OpenStreetMap Бельгія у Facebook" + }, + "be-forum": { + "name": "Форум OpenStreetMap BE", + "description": "Форум OpenStreetMap Бельгія" + }, + "be-irc": { + "name": "OpenStreetMap Бельгія IRC", + "description": "Приєднуйтесь до #osmbe на irc.oftc.net (port 6667)" + }, "be-mailinglist": { "name": "Talk-be Список розсилки" }, + "be-twitter": { + "name": "OpenStreetMap Бельгія Twitter", + "description": "OSM Бельгія у Twitter: @osm_be" + }, "talk-cz-mailinglist": { - "name": "Talk-cz Список розсилки", "description": "Talk-cz – офіційний список розсилки OSM спільноти Чехії." }, + "dk-forum": { + "name": "Форум OpenStreetMap Данія", + "description": "Форум OpenStreetMap Данія" + }, + "fi-forum": { + "name": "Форум OpenStreetMap FI", + "description": "Форум OpenStreetMap Фінляндія" + }, + "fr-facebook": { + "name": "Сторінка OpenStreetMap Франція у Facebook", + "description": "Сторінка OpenStreetMap Франція у Facebook" + }, + "fr-forum": { + "name": "Форум OpenStreetMap Франція", + "description": "Форум OpenStreetMap Франція" + }, "fr-mailinglist": { "name": "Talk-fr Список розсилки", "description": "Talk-fr Список розсилки" }, + "fr-twitter": { + "name": "OpenStreetMap Франція у Twitter", + "description": "OpenStreetMap Франція у Twitter: {url}" + }, + "de-berlin-meetup": { + "description": "Учасники та користувачі OpenStreetMap з Берліна" + }, "de-berlin-twitter": { + "name": "OpenStreetMap Берлін Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, + "de-forum": { + "name": "Форум OpenStreetMap DE", + "description": "Форум OpenStreetMap Німеччина" + }, "de-mailinglist": { "name": "Talk-de Список розсилки", "description": "Talk-de – офіційний список розсилки OSM спільноти Німеччини." }, + "hu-facebook": { + "name": "OpenStreetMap Угорщина у Facebook", + "description": "Мапери та OpenStreetMap Угорщина у Facebook" + }, + "hu-forum": { + "name": "Форум OpenStreetMap HU", + "description": "Форум OpenStreetMap Угорщина" + }, + "it-facebook": { + "name": "OpenStreetMap Італія у Facebook", + "description": "Приєднуйтесь до спільноти OpenStreetMap Італія у Facebook" + }, "it-twitter": { + "name": "OpenStreetMap Італія Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, "OSM-Rome-meetup": { @@ -6897,15 +7070,38 @@ "talk-it-lazio": { "extendedDescription": "Список розсилки спільноти Риму та Лаціо" }, + "no-forum": { + "name": "Форум OpenStreetMap Норвегія", + "description": "Форум OpenStreetMap Норвегія" + }, + "OSM-PL-facebook-group": { + "name": "Група Facebook OpenStreetMap в Польщі" + }, + "OSM-PL-forum": { + "name": "Форум OpenStreetMap Польща", + "description": "Форум польської спільноти OpenStreetMap" + }, "OSM-ES-mailinglist": { "name": "Talk-es Список розсилки" }, + "se-facebook": { + "name": "OpenStreetMap Швеція у Facebook", + "description": "OpenStreetMap Швеція у Facebook" + }, + "se-forum": { + "name": "Форум OpenStreetMap Швеція", + "description": "Форум OpenStreetMap Швеція" + }, "se-mailinglist": { "name": "Talk-se Список розсилки" }, "se-twitter": { + "name": "OpenStreetMap Швеція у Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, + "gb-mailinglist": { + "description": "Talk-gb - це основне місце спілкування для британської (включаючи Північну Ірландію) спільноти OSM" + }, "Bay-Area-OpenStreetMappers": { "description": "Покращити OpenStreetMap в районі Затоки Сан-Франциско" }, @@ -6920,41 +7116,83 @@ "description": "Ми допомагаємо розвивати та вдосконалювати OpenStreetMap у Сполучених Штатах." }, "PHXGeo-twitter": { + "name": "PHXGeo Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, + "Western-Slope-facebook": { + "name": "Western Slope OSM Facebook" + }, "talk-au": { "name": "Talk-au Список розсилки" }, + "OSM-AR-facebook": { + "name": "OpenStreetMap Аргентина у Facebook", + "description": "Приєднуйтесь до спільноти OpenStreetMap Аргентина у Facebook" + }, + "OSM-AR-forum": { + "name": "Форум OpenStreetMap Argentina", + "description": "Приєднуйтесь до спільноти OpenStreetMap Аргентина на форумі" + }, "OSM-AR-mailinglist": { "name": "Talk-ar Список розсилки" }, "OSM-AR-twitter": { + "name": "OpenStreetMap Аргентина Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, "OSM-br-mailinglist": { "name": "Talk-br Список розсилки" }, "OSM-br-twitter": { + "name": "OpenStreetMap Бразилія Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, + "OSM-CL-facebook": { + "name": "OpenStreetMap Чилі у Facebook", + "description": "Приєднуйтесь до спільноти OpenStreetMap Чилі у Facebook" + }, "OSM-CL-mailinglist": { "name": "Talk-cl Список розсилки" }, "OSM-CL-twitter": { + "name": "OpenStreetMap Чилі Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, + "OSM-CO-facebook": { + "name": "OpenStreetMap Колумбія у Facebook", + "description": "Приєднуйтесь до спільноти OpenStreetMap Колумбія у Facebook" + }, "OSM-CO-mailinglist": { "name": "Talk-co Список розсилки" }, "OSM-CO-twitter": { + "name": "OpenStreetMap Колумбія Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, + "OSM-PE-facebook": { + "name": "OpenStreetMap Перу у Facebook", + "description": "Приєднуйтесь до спільноти OpenStreetMap Перу у Facebook" + }, "OSM-PE-mailinglist": { - "name": "Talk-pe Список розсилки" + "name": "Talk-pe Список розсилки", + "description": "Офіційний список розсилки для спільноти OpenStreetMap Перу" + }, + "OSM-PE-matrix": { + "name": "OpenStreetMap Перу Matrix чат", + "description": "Спілкуйтесь з іншими членами OpenStreetMap спільноти Перу в Matrix." + }, + "OSM-PE-telegram": { + "name": "OpenStreetMap Перу Telegram", + "description": "Приєднуйтесь до спільноти OpenStreetMap Перу у Telegram" }, "OSM-PE-twitter": { + "name": "OpenStreetMap Перу Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" }, + "OSM-PE": { + "name": "OpenStreetMap Перу", + "description": "Новини та ресурси для спільноти OpenStreetMap в Перу" + }, "OSM-Facebook": { "name": "OpenStreetMap у Facebook", "description": "Вподобайте нашу сторінку на Facebook, щоб отримувати новини про OpenStreetMap." @@ -6968,6 +7206,10 @@ "name": "OpenStreetMap на Reddit", "description": "/r/openstreetmap/ чудове місце, щоб дізнатись більше про OpenStreetMap. Можете питати про будь-що!" }, + "OSM-Telegram": { + "name": "OpenStreetMap Telegram", + "description": "Приєднайтеся до глобальної групти OpenStreetMap Telegram за адресою {url}" + }, "OSM-Twitter": { "name": "OpenStreetMap Twitter", "description": "Приєднуйтесь до нас у Twitter: {url}" diff --git a/vendor/assets/iD/iD/locales/vi.json b/vendor/assets/iD/iD/locales/vi.json index 7da36110e..d10601a0c 100644 --- a/vendor/assets/iD/iD/locales/vi.json +++ b/vendor/assets/iD/iD/locales/vi.json @@ -715,6 +715,9 @@ "zoom": "Phóng vừa lớp", "browse": "Duyệt tập tin" }, + "streetside": { + "report": "Báo cáo lo ngại riêng tư trong hình" + }, "mapillary_images": { "tooltip": "Hình ảnh cấp phố do Mapillary cung cấp", "title": "Lớp phủ Hình ảnh (Mapillary)" @@ -1546,7 +1549,7 @@ "label": "Loại Tiệm" }, "bench": { - "label": "Ghế" + "label": "Băng ghế" }, "bicycle_parking": { "label": "Kiểu" @@ -2277,6 +2280,7 @@ "placeholder": "1, 2, 3…" }, "phone": { + "label": "Số Điện thoại", "placeholder": "+84 1 234 5678" }, "piste/difficulty": { @@ -2947,8 +2951,8 @@ "terms": "vỉ, vỉ nướng thịt, bbq, vi, vi nuong thit" }, "amenity/bench": { - "name": "Ghế", - "terms": "ghế dài, ghế, ghế ngồi, chỗ ngồi, ghe dai, ghe, ghe ngoi, cho ngoi" + "name": "Băng ghế", + "terms": "băng ghế, ghế dài, ghế, ghế ngồi, chỗ ngồi, bang ghe, ghe dai, ghe, ghe ngoi, cho ngoi" }, "amenity/bicycle_parking": { "name": "Chỗ Đậu Xe đạp", @@ -3667,6 +3671,10 @@ "name": "Dãy Ga ra", "terms": "dãy ga ra, dãy ga-ra, dãy nhà để xe, day ga ra, day ga-ra, day nha de xe" }, + "building/grandstand": { + "name": "Khán đài", + "terms": "khán đài, khan dai" + }, "building/greenhouse": { "name": "Nhà kính", "terms": "nhà kính, nhà kiếng, nhà trồng rau, nhà trồng hoa, nha kinh, nha kieng, nha trong rau, nha trong hoa" @@ -3991,6 +3999,10 @@ "emergency/destination": { "name": "Dịch vụ Khẩn cấp Đến nơi" }, + "emergency/fire_extinguisher": { + "name": "Bình Cứu hỏa", + "terms": "bình cứu hỏa, bình cứu hoả, bình chữa cháy, bình chữa lửa, binh cuu hoa, binh chua chay, binh chua lua" + }, "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" @@ -4592,6 +4604,10 @@ "name": "Căn nhà Quan sát Chim", "terms": "căn nhà quan sát chim, căn nhà quan sát động vật, can nha quan sat chim, can nha quan sat dong vat" }, + "leisure/bleachers": { + "name": "Khán đài Ngoài trời", + "terms": "khán đài ngoài trời, băng ghế, khan dai ngoai troi, bang ghe" + }, "leisure/bowling_alley": { "name": "Khu Bowling", "terms": "khu bowling, trung tâm bowling, khu bóng gỗ, trung tam bowling, khu bong go" @@ -4852,6 +4868,10 @@ "name": "Ống khói", "terms": "ống khói, lò sưởi, ong khoi, lo suoi" }, + "man_made/clearcut": { + "name": "Rừng bị Chặt trắng", + "terms": "rừng bị chặt trắng, rừng được chặt trắng, rung bi chat trang, rung duoc chat trang" + }, "man_made/crane": { "name": "Cẩu", "terms": "cẩu, cần cẩu, cần trục, cầu trục, cầu chạy, cổng trục, cẩu bay, cau, can cau, can truc, cau truc, cau chay, cong truc, cau bay" @@ -6015,6 +6035,10 @@ "name": "Tiệm Xe máy", "terms": "tiệm xe máy, tiệm xe gắn máy, tiệm xe hai bánh, chỗ bán xe máy, cửa hàng xe máy, tiem xe may, tiem xe gan may, tiem xe hai banh, cho ban xe may, cua hang xe may" }, + "shop/motorcycle_repair": { + "name": "Tiệm Sửa Xe máy", + "terms": "tiệm sửa xe máy, cửa hàng sửa xe máy, tiệm sửa xe mô tô, cửa hàng sửa xe mô tô, tiem sua xe may, cua hang sua xe may, tiem sua xe mo to, cua hang sua xe mo to" + }, "shop/music": { "name": "Tiệm Âm nhạc", "terms": "tiệm nhạc cụ, tiệm đĩa nhạc, tiệm thiết bị âm nhạc, tiệm bản nhạc, chỗ bán nhạc, quầy nhạc, cửa hàng nhạc, cửa hiệu nhạc, tiem nhac cu, tiem dia nhac, tiem thiet bi am nhac, tiem ban nhac, cho ban nhac, quay nhac, cua hang nhac, cua hieu nhac" @@ -6793,7 +6817,8 @@ }, "OSM-BGD-facebook": { "name": "OpenStreetMap Bangladesh", - "description": "Cải thiện OpenStreetMap tại Bangladesh" + "description": "Cải thiện OpenStreetMap tại Bangladesh", + "extendedDescription": "Bạn có lập bản đồ tại Bangladesh? Bạn có thắc mắc, muốn liên hệ với cộng đồng tại đây? Mời bạn tham gia tại {url}." }, "OSM-India-facebook": { "name": "OpenStreetMap Ấn Độ – tham gia lập bản đồ hàng xóm", @@ -6838,6 +6863,10 @@ "name": "Twitter OpenStreetMap Nhật Bản", "description": "Thẻ băm tại Twitter: {url}" }, + "OSM-japan-website": { + "name": "OpenStreetMap Nhật Bản", + "description": "Những người lập bản đồ và người dùng OpenStreetMap ở Nhật Bản" + }, "OSM-korea-telegram": { "name": "Kênh Telegram OSM Hàn Quốc", "description": "Kênh không chính chức cho phép những người đóng góp, cộng đồng, và người dùng OpenStreetMap tại Hàn Quốc chia sẻ và thảo luận." @@ -6906,6 +6935,28 @@ "name": "Danh sách thư OpenStreetMap Đài Loan", "description": "talk-tw là danh sách thư chính thức của cộng đồng Đài Loan" }, + "OSM-TH-CNX-meetup": { + "name": "Họp mặt OSM Chiềng Mai" + }, + "OSM-TH-facebook": { + "name": "Nhóm Facebook OpenStreetMap Thái Lan", + "description": "Nhóm Facebook dành cho những người OpenStreetMap tại Thái Lan" + }, + "OSM-TH-forum": { + "name": "Diễn đàn OpenStreetMap Thái Lan", + "description": "Diễn đàn Web của OpenStreetMap Thái Lan" + }, + "al-forum": { + "name": "Diễn đàn OSM Albania", + "description": "Diễn đàn OpenStreetMap Albania" + }, + "al-maptime-tirana": { + "name": "Maptime Tirana" + }, + "al-telegram": { + "name": "Kênh Telegram OSM Albania", + "description": "Kênh Telegram OpenStreetMap Albania" + }, "at-forum": { "name": "Diễn đàn OpenStreetMap Áo", "description": "Diễn đàn chính thức dành cho các câu hỏi về OpenStreetMap trong và chung quanh nước Áo" @@ -6951,6 +7002,9 @@ "name": "Danh sách thư talk-be", "description": "talk-be là danh sách thư chính thức của cộng đồng OSM tại Bỉ" }, + "be-maptime": { + "name": "Maptime Bỉ" + }, "be-matrix": { "name": "Kênh Matrix OpenStreetMap Bỉ", "description": "Mời mọi người tham gia!" @@ -6960,10 +7014,23 @@ "description": "Họp mặt dành cho mọi người quan tâm đến OpenStreetMap" }, "be-twitter": { - "name": "Twitter OpenStreetMap Bỉ" + "name": "Twitter OpenStreetMap Bỉ", + "description": "OSM Bỉ tại Twitter: @osm_be" + }, + "czech-community": { + "name": "Cộng đồng OSM Séc", + "description": "Trang bản đồ và thông tin liên lạc với thành viên OSM tại Séc" + }, + "osmcz-facebook": { + "name": "OpenStreetMap Séc tại Facebook", + "description": "Theo dõi cộng đồng Séc tại Facebook – có cả bản dịch WeeklyOSM!" + }, + "osmcz-twitter": { + "name": "Twitter Séc @osmcz", + "description": "Theo dõi cộng đồng Séc tại Twitter – có cả bản dịch WeeklyOSM!" }, "talk-cz-mailinglist": { - "name": "Danh sách thư talk-cz", + "name": "Danh sách thư Séc (talk-cz)", "description": "talk-cz là danh sách thư chính thức của cộng đồng Séc" }, "dk-forum": { @@ -6978,6 +7045,18 @@ "name": "Danh sách thư talk-dk", "description": "Danh sách thư để thảo luận về OpenStreetMap tại Đan Mạch" }, + "fi-forum": { + "name": "Diễn đàn OpenStreetMap Phần Lan", + "description": "Diễn đàn Web của OpenStreetMap Phần Lan" + }, + "fi-irc": { + "name": "IRC OpenStreetMap Phần Lan", + "description": "Hãy tham gia #osm-fi tại irc.oftc.net (cổng 6667)" + }, + "fi-mailinglist": { + "name": "Danh sách thư talk-fi", + "description": "talk-fi là danh sách thư chính thức của cộng đồng Phần Lan" + }, "fr-facebook": { "name": "Trang Facebook của OpenStreetMap Pháp", "description": "Trang Facebook của OpenStreetMap Pháp" @@ -7030,6 +7109,10 @@ "name": "Danh sách OWL", "description": "Đây là danh sách thư của cộng đồng OSM tại Ostwestfalen-Lippe" }, + "de-telegram": { + "name": "Telegram OpenStreetMap Đức", + "description": "Hãy tham gia siêu nhóm Telegram của OpenStreetMap Đức tại {url}" + }, "osm-de": { "name": "OpenStreetMap Đức", "description": "Trang thông tin về OpenStreetMap tại Đức" @@ -7043,7 +7126,8 @@ "description": "Diễn đàn Web của OpenStreetMap Hungary" }, "hu-meetup": { - "name": "Họp mặt OpenStreetMap Hungary" + "name": "Họp mặt OpenStreetMap Hungary", + "description": "Trang tổ chức cuộc họp mặt tại Hungary" }, "it-facebook": { "name": "Facebook OpenStreetMap Ý", @@ -7057,6 +7141,10 @@ "name": "Danh sách thư talk-it", "description": "talk-it là danh sách thư chính thức của cộng đồng Ý" }, + "it-telegram": { + "name": "@OpenStreetMapItalia tại Telegram", + "description": "Trò chuyện Telegram của OpenStreetMap Ý" + }, "it-twitter": { "name": "Twitter OpenStreetMap Ý", "description": "Theo dõi chúng tôi trên Twitter: {url}" @@ -7154,6 +7242,14 @@ "name": "OpenStreetMap Vancouver", "description": "Những người lập bản đồ và người dùng OpenStreetMap ở vùng Vancouver, British Columbia" }, + "OSM-CU-telegram": { + "name": "OSM Cuba tại Telegram", + "description": "Trò chuyện Telegram của OpenStreetMap Cuba" + }, + "OSM-NI-telegram": { + "name": "OSM Nicaragua tại Telegram", + "description": "Trò chuyện Telegram của OpenStreetMap Nicaragua" + }, "Bay-Area-OpenStreetMappers": { "name": "Cộng đồng OpenStreetMap tại Khu vực vịnh", "description": "Cải thiện OpenStreetMap tại Khu vực Vịnh San Francisco", @@ -7300,7 +7396,8 @@ "description": "Hãy tham gia #osm-ar tại irc.oftc.net (cổng 6667)" }, "OSM-AR-mailinglist": { - "name": "Danh sách thư talk-ar" + "name": "Danh sách thư talk-ar", + "description": "Danh sách thư lịch sử, ít dùng ngày nay" }, "OSM-AR-telegram": { "name": "Telegram OpenStreetMap Argentina", @@ -7369,6 +7466,10 @@ "name": "Danh sách thư talk-co", "description": "Danh sách thư để thảo luận về OpenStreetMap tại Colombia" }, + "OSM-CO-telegram": { + "name": "OSM Colombia tại Telegram", + "description": "Trò chuyện Telegram của OpenStreetMap Colombia" + }, "OSM-CO-twitter": { "name": "Twitter OpenStreetMap Colombia", "description": "Theo dõi chúng tôi trên Twitter: {url}" @@ -7377,6 +7478,14 @@ "name": "OpenStreetMap Colombia", "description": "Tin tức về cộng đồng OpenStreetMap Colombia và Quỹ OSMCo" }, + "OSM-EC-telegram": { + "name": "OSM Ecuador tại Telegram", + "description": "Trò chuyện Telegram của OpenStreetMap Ecuador" + }, + "OSM-PY-telegram": { + "name": "OSM Paraguay tại Telegram", + "description": "Trò chuyện Telegram của OpenStreetMap Paraguay" + }, "OSM-PE-facebook": { "name": "Facebook OpenStreetMap Peru", "description": "Hãy tham gia cộng đồng OpenStreetMap Peru tại Facebook" @@ -7414,6 +7523,10 @@ "name": "OpenStreetMap tại Reddit", "description": "/r/openstreetmap/ là nơi để tìm hiểu thêm về OpenStreetMap. Có thắc mắc thì hỏi ở đây!" }, + "OSM-Telegram": { + "name": "Telegram OpenStreetMap", + "description": "Hãy tham gia siêu nhóm Telegram của OpenStreetMap toàn cầu tại {url}" + }, "OSM-Twitter": { "name": "Twitter OpenStreetMap", "description": "Theo dõi chúng tôi trên Twitter: {url}" diff --git a/vendor/assets/iD/iD/locales/zh-CN.json b/vendor/assets/iD/iD/locales/zh-CN.json index 19f330ec2..c5f8f62ff 100644 --- a/vendor/assets/iD/iD/locales/zh-CN.json +++ b/vendor/assets/iD/iD/locales/zh-CN.json @@ -715,6 +715,11 @@ "zoom": "缩放到图层", "browse": "浏览文件" }, + "streetside": { + "tooltip": "来自微软公司的街景照片", + "title": "照片叠加层 (必应 Streetside)", + "report": "报告该图像的隐私问题" + }, "mapillary_images": { "tooltip": "来自Mapillary的街景照片", "title": "照片叠加层 (Mapillary)" @@ -728,7 +733,7 @@ }, "openstreetcam_images": { "tooltip": "来自 OpenStreetCam 的街道等级照片", - "title": "照片覆盖(OpenStreetCam)" + "title": "照片叠加层 (OpenStreetCam)" }, "openstreetcam": { "view_on_openstreetcam": "在 OpenStreetCam 上查看该图像" @@ -1682,7 +1687,7 @@ }, "duration": { "label": "乘坐时长", - "placeholder": "00:00" + "placeholder": "hh:mm" }, "electrified": { "label": "电气化", @@ -4232,7 +4237,7 @@ }, "landuse/construction": { "name": "建设用地", - "terms": "建筑物" + "terms": "建设,建造,施工,工地,在建,建筑,构筑,构建,承建,用地,建设用地" }, "landuse/farm": { "name": "农田" @@ -4848,7 +4853,7 @@ "terms": "建筑事务所" }, "office/association": { - "name": "非盈利机构办公室", + "name": "非营利机构办公室", "terms": "非盈利机构办公室" }, "office/charity": { @@ -5944,7 +5949,7 @@ "terms": "美术馆,画廊,艺术中心" }, "tourism/guest_house": { - "name": "招待所", + "name": "客栈", "terms": "招待所,旅馆,宾馆" }, "tourism/hostel": { @@ -6495,7 +6500,8 @@ }, "OSM-BGD-facebook": { "name": "OpenStreetMap 孟加拉国", - "description": "改进位于孟加拉国的 OpenStreetMap" + "description": "改进位于孟加拉国的 OpenStreetMap", + "extendedDescription": "在孟加拉国绘图?有任何疑问,想要与当地的社区交流?在 {url} 加入我们。欢迎所有人!" }, "OSM-India-facebook": { "name": "OpenStreetMap 印度 - 共同参与的街区绘图", @@ -6541,6 +6547,10 @@ "name": "OpenStreetMap 日本 Twitter", "description": "Twitter 上的#标签:{url}" }, + "OSM-japan-website": { + "name": "OpenStreetMap 日本", + "description": "位于日本的绘图者和 OpenStreetMap 用户" + }, "OSM-MY-forum": { "name": "OpenStreetMap 马来西亚论坛", "description": "官方 OpenStreetMap 马来西亚论坛" @@ -6637,7 +6647,6 @@ "name": "OpenStreetMap 比利时 Twitter" }, "talk-cz-mailinglist": { - "name": "Talk-cz 邮件列表", "description": "Talk-cz 是捷克 OpenStreetMap 社区的官方邮件列表" }, "fr-facebook": { @@ -6944,16 +6953,21 @@ "name": "OpenStreetMap Reddit 社区", "description": "/r/openstreetmap/ 是了解更多关于 OpenStreetMap 的好地方。来尽管问我们吧!" }, + "OSM-Telegram": { + "name": "OpenStreetMap Telegram 群组", + "description": "加入 OpenStreetMap Telegram 全球大群:{url}" + }, "OSM-Twitter": { "name": "OpenStreetMap Twitter 主页", "description": "在 Twitter 上关注我们:{url}" }, "OSMF": { "name": "OpenStreetMap 基金会 (OSMF)", - "description": "OSMF 是总部位于英国的非盈利组织,用于支持 OpenStreetMap 项目。", + "description": "OSMF 是总部位于英国的非营利组织,用于支持 OpenStreetMap 项目。", "events": { "sotm2018": { "name": "State of the Map 2018", + "description": "加入我们为期3天在意大利米兰举办的年度全球 OpenStreetMap 会议,与社区中的每个人相聚并进行交流、分享和学习。", "where": "意大利米兰" } } diff --git a/vendor/assets/iD/iD/locales/zh-TW.json b/vendor/assets/iD/iD/locales/zh-TW.json index b57e420c1..c49212221 100644 --- a/vendor/assets/iD/iD/locales/zh-TW.json +++ b/vendor/assets/iD/iD/locales/zh-TW.json @@ -715,6 +715,9 @@ "zoom": "縮放到圖層", "browse": "瀏覽檔案" }, + "streetside": { + "report": "回報關於此照片的隱私疑慮" + }, "mapillary_images": { "tooltip": "從 Mapillary 來的街道級照片", "title": "照片覆蓋層 (Mapillary)" @@ -3996,6 +3999,10 @@ "emergency/destination": { "name": "緊急通道目的地" }, + "emergency/fire_extinguisher": { + "name": "滅火器", + "terms": "滅火器" + }, "emergency/fire_hydrant": { "name": "消防栓", "terms": "消防栓,消防設施," @@ -4199,7 +4206,7 @@ "terms": "電梯,升降梯" }, "highway/footway": { - "name": "人行道", + "name": "步道", "terms": "步行徑,人行步道" }, "highway/give_way": { @@ -4597,6 +4604,10 @@ "name": "鳥類棲息處", "terms": "鳥類棲息處,鳥類棲地,鳥類藏身處" }, + "leisure/bleachers": { + "name": "看台", + "terms": "看台,看臺" + }, "leisure/bowling_alley": { "name": "保齡球館", "terms": "保齡球館,保齡球場,地球社" @@ -4857,6 +4868,10 @@ "name": "煙囪", "terms": "煙筒" }, + "man_made/clearcut": { + "name": "伐木林", + "terms": "人工林" + }, "man_made/crane": { "name": "起重機", "terms": "起重機" @@ -6020,6 +6035,10 @@ "name": "機車行", "terms": "摩托車行,機器腳踏車行" }, + "shop/motorcycle_repair": { + "name": "摩托車維修店", + "terms": "摩托車維修店,機車維修店,機車行,摩托車行" + }, "shop/music": { "name": "音樂店", "terms": "唱片行" @@ -6920,6 +6939,22 @@ "name": "開放街圖台灣郵件論壇", "description": "Talk-tw 是台灣社群專門討論有關台灣圖資的官方郵件論壇" }, + "OSM-TH-CNX-meetup": { + "name": "OSM 清邁聚會", + "description": "開放街圖清邁社群不定期聚會", + "extendedDescription": "清邁開放街圖社群每隔幾個月的時候的聚會,歡迎接洽以及找尋 {url} 下次聚會時間" + }, + "OSM-TH-forum": { + "name": "開放街圖泰國論壇", + "description": "開放街圖泰國網頁論壇 " + }, + "al-forum": { + "name": "開放街圖阿爾巴尼亞論壇", + "description": "開放街圖阿爾巴尼亞論壇" + }, + "al-maptime-tirana": { + "name": "Maptime Tirana" + }, "at-forum": { "name": "開放街圖奧地利論壇", "description": "開放街圖在奧地利問答的官方論壇" @@ -6965,6 +7000,9 @@ "name": "Talk-be 郵件論壇", "description": "Talk-be 是比利時社群的官方郵件論壇 " }, + "be-maptime": { + "name": "Maptime Belgium" + }, "be-matrix": { "name": "OpenStreetMap BE Matrix channel", "description": "歡迎所有圖客!" @@ -6978,7 +7016,6 @@ "name": "開放街圖比利時 Twitter" }, "talk-cz-mailinglist": { - "name": "Talk-cz 郵件論壇", "description": "Talk-cz 是捷克社群的官方郵件論壇 " }, "dk-forum": { diff --git a/vendor/assets/iD/iD/mapillary-js/cover-logo.svg b/vendor/assets/iD/iD/mapillary-js/cover-logo.svg deleted file mode 100644 index 4c0344c10..000000000 --- a/vendor/assets/iD/iD/mapillary-js/cover-logo.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - Group - Created with Sketch. - - - - - - - - - - - \ No newline at end of file diff --git a/vendor/assets/iD/iD/mapillary-js/mapillary.js b/vendor/assets/iD/iD/mapillary-js/mapillary.js index f9e160aa5..40cbd5b8f 100644 --- a/vendor/assets/iD/iD/mapillary-js/mapillary.js +++ b/vendor/assets/iD/iD/mapillary-js/mapillary.js @@ -156,7 +156,7 @@ function getSegDistSq(px, py, a, b) { return dx * dx + dy * dy; } -},{"tinyqueue":242}],2:[function(require,module,exports){ +},{"tinyqueue":241}],2:[function(require,module,exports){ /* * Copyright (C) 2008 Apple Inc. All Rights Reserved. * @@ -5394,7 +5394,7 @@ var BehaviorSubject = (function (_super) { }(Subject_1.Subject)); exports.BehaviorSubject = BehaviorSubject; -},{"./Subject":34,"./util/ObjectUnsubscribedError":221}],27:[function(require,module,exports){ +},{"./Subject":34,"./util/ObjectUnsubscribedError":220}],27:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -5865,7 +5865,7 @@ var Observable = (function () { }()); exports.Observable = Observable; -},{"./symbol/observable":216,"./util/pipe":236,"./util/root":237,"./util/toSubscriber":239}],30:[function(require,module,exports){ +},{"./symbol/observable":215,"./util/pipe":235,"./util/root":236,"./util/toSubscriber":238}],30:[function(require,module,exports){ "use strict"; exports.empty = { closed: true, @@ -6008,7 +6008,7 @@ var ReplayEvent = (function () { return ReplayEvent; }()); -},{"./Subject":34,"./SubjectSubscription":35,"./Subscription":37,"./operators/observeOn":182,"./scheduler/queue":214,"./util/ObjectUnsubscribedError":221}],33:[function(require,module,exports){ +},{"./Subject":34,"./SubjectSubscription":35,"./Subscription":37,"./operators/observeOn":183,"./scheduler/queue":213,"./util/ObjectUnsubscribedError":220}],33:[function(require,module,exports){ "use strict"; /** * An execution context and a data structure to order tasks and schedule their @@ -6227,7 +6227,7 @@ var AnonymousSubject = (function (_super) { }(Subject)); exports.AnonymousSubject = AnonymousSubject; -},{"./Observable":29,"./SubjectSubscription":35,"./Subscriber":36,"./Subscription":37,"./symbol/rxSubscriber":217,"./util/ObjectUnsubscribedError":221}],35:[function(require,module,exports){ +},{"./Observable":29,"./SubjectSubscription":35,"./Subscriber":36,"./Subscription":37,"./symbol/rxSubscriber":216,"./util/ObjectUnsubscribedError":220}],35:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -6533,7 +6533,7 @@ var SafeSubscriber = (function (_super) { return SafeSubscriber; }(Subscriber)); -},{"./Observer":30,"./Subscription":37,"./symbol/rxSubscriber":217,"./util/isFunction":230}],37:[function(require,module,exports){ +},{"./Observer":30,"./Subscription":37,"./symbol/rxSubscriber":216,"./util/isFunction":229}],37:[function(require,module,exports){ "use strict"; var isArray_1 = require('./util/isArray'); var isObject_1 = require('./util/isObject'); @@ -6727,7 +6727,7 @@ function flattenUnsubscriptionErrors(errors) { return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError_1.UnsubscriptionError) ? err.errors : err); }, []); } -},{"./util/UnsubscriptionError":224,"./util/errorObject":225,"./util/isArray":227,"./util/isFunction":230,"./util/isObject":232,"./util/tryCatch":240}],38:[function(require,module,exports){ +},{"./util/UnsubscriptionError":223,"./util/errorObject":224,"./util/isArray":226,"./util/isFunction":229,"./util/isObject":231,"./util/tryCatch":239}],38:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var combineLatest_1 = require('../../observable/combineLatest'); @@ -6845,199 +6845,199 @@ Observable_1.Observable.prototype.concat = concat_1.concat; },{"../../Observable":29,"../../operator/concat":122}],57:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); +var count_1 = require('../../operator/count'); +Observable_1.Observable.prototype.count = count_1.count; + +},{"../../Observable":29,"../../operator/count":123}],58:[function(require,module,exports){ +"use strict"; +var Observable_1 = require('../../Observable'); var debounceTime_1 = require('../../operator/debounceTime'); Observable_1.Observable.prototype.debounceTime = debounceTime_1.debounceTime; -},{"../../Observable":29,"../../operator/debounceTime":123}],58:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/debounceTime":124}],59:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var delay_1 = require('../../operator/delay'); Observable_1.Observable.prototype.delay = delay_1.delay; -},{"../../Observable":29,"../../operator/delay":124}],59:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/delay":125}],60:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var distinct_1 = require('../../operator/distinct'); Observable_1.Observable.prototype.distinct = distinct_1.distinct; -},{"../../Observable":29,"../../operator/distinct":125}],60:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/distinct":126}],61:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var distinctUntilChanged_1 = require('../../operator/distinctUntilChanged'); Observable_1.Observable.prototype.distinctUntilChanged = distinctUntilChanged_1.distinctUntilChanged; -},{"../../Observable":29,"../../operator/distinctUntilChanged":126}],61:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/distinctUntilChanged":127}],62:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var do_1 = require('../../operator/do'); Observable_1.Observable.prototype.do = do_1._do; Observable_1.Observable.prototype._do = do_1._do; -},{"../../Observable":29,"../../operator/do":127}],62:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/do":128}],63:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var expand_1 = require('../../operator/expand'); Observable_1.Observable.prototype.expand = expand_1.expand; -},{"../../Observable":29,"../../operator/expand":128}],63:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/expand":129}],64:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var filter_1 = require('../../operator/filter'); Observable_1.Observable.prototype.filter = filter_1.filter; -},{"../../Observable":29,"../../operator/filter":129}],64:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/filter":130}],65:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var finally_1 = require('../../operator/finally'); Observable_1.Observable.prototype.finally = finally_1._finally; Observable_1.Observable.prototype._finally = finally_1._finally; -},{"../../Observable":29,"../../operator/finally":130}],65:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/finally":131}],66:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var first_1 = require('../../operator/first'); Observable_1.Observable.prototype.first = first_1.first; -},{"../../Observable":29,"../../operator/first":131}],66:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/first":132}],67:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var last_1 = require('../../operator/last'); Observable_1.Observable.prototype.last = last_1.last; -},{"../../Observable":29,"../../operator/last":132}],67:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/last":133}],68:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var map_1 = require('../../operator/map'); Observable_1.Observable.prototype.map = map_1.map; -},{"../../Observable":29,"../../operator/map":133}],68:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/map":134}],69:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var merge_1 = require('../../operator/merge'); Observable_1.Observable.prototype.merge = merge_1.merge; -},{"../../Observable":29,"../../operator/merge":134}],69:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/merge":135}],70:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var mergeAll_1 = require('../../operator/mergeAll'); Observable_1.Observable.prototype.mergeAll = mergeAll_1.mergeAll; -},{"../../Observable":29,"../../operator/mergeAll":135}],70:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/mergeAll":136}],71:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var mergeMap_1 = require('../../operator/mergeMap'); Observable_1.Observable.prototype.mergeMap = mergeMap_1.mergeMap; Observable_1.Observable.prototype.flatMap = mergeMap_1.mergeMap; -},{"../../Observable":29,"../../operator/mergeMap":136}],71:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/mergeMap":137}],72:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var pairwise_1 = require('../../operator/pairwise'); Observable_1.Observable.prototype.pairwise = pairwise_1.pairwise; -},{"../../Observable":29,"../../operator/pairwise":137}],72:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/pairwise":138}],73:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var pluck_1 = require('../../operator/pluck'); Observable_1.Observable.prototype.pluck = pluck_1.pluck; -},{"../../Observable":29,"../../operator/pluck":138}],73:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/pluck":139}],74:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var publish_1 = require('../../operator/publish'); Observable_1.Observable.prototype.publish = publish_1.publish; -},{"../../Observable":29,"../../operator/publish":139}],74:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/publish":140}],75:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var publishReplay_1 = require('../../operator/publishReplay'); Observable_1.Observable.prototype.publishReplay = publishReplay_1.publishReplay; -},{"../../Observable":29,"../../operator/publishReplay":140}],75:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/publishReplay":141}],76:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var reduce_1 = require('../../operator/reduce'); Observable_1.Observable.prototype.reduce = reduce_1.reduce; -},{"../../Observable":29,"../../operator/reduce":141}],76:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/reduce":142}],77:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var retry_1 = require('../../operator/retry'); Observable_1.Observable.prototype.retry = retry_1.retry; -},{"../../Observable":29,"../../operator/retry":142}],77:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/retry":143}],78:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var sample_1 = require('../../operator/sample'); Observable_1.Observable.prototype.sample = sample_1.sample; -},{"../../Observable":29,"../../operator/sample":143}],78:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/sample":144}],79:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var scan_1 = require('../../operator/scan'); Observable_1.Observable.prototype.scan = scan_1.scan; -},{"../../Observable":29,"../../operator/scan":144}],79:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/scan":145}],80:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var share_1 = require('../../operator/share'); Observable_1.Observable.prototype.share = share_1.share; -},{"../../Observable":29,"../../operator/share":145}],80:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/share":146}],81:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var skip_1 = require('../../operator/skip'); Observable_1.Observable.prototype.skip = skip_1.skip; -},{"../../Observable":29,"../../operator/skip":146}],81:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/skip":147}],82:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var skipUntil_1 = require('../../operator/skipUntil'); Observable_1.Observable.prototype.skipUntil = skipUntil_1.skipUntil; -},{"../../Observable":29,"../../operator/skipUntil":147}],82:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/skipUntil":148}],83:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var skipWhile_1 = require('../../operator/skipWhile'); Observable_1.Observable.prototype.skipWhile = skipWhile_1.skipWhile; -},{"../../Observable":29,"../../operator/skipWhile":148}],83:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/skipWhile":149}],84:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var startWith_1 = require('../../operator/startWith'); Observable_1.Observable.prototype.startWith = startWith_1.startWith; -},{"../../Observable":29,"../../operator/startWith":149}],84:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/startWith":150}],85:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var switchMap_1 = require('../../operator/switchMap'); Observable_1.Observable.prototype.switchMap = switchMap_1.switchMap; -},{"../../Observable":29,"../../operator/switchMap":150}],85:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/switchMap":151}],86:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var take_1 = require('../../operator/take'); Observable_1.Observable.prototype.take = take_1.take; -},{"../../Observable":29,"../../operator/take":151}],86:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/take":152}],87:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var takeUntil_1 = require('../../operator/takeUntil'); Observable_1.Observable.prototype.takeUntil = takeUntil_1.takeUntil; -},{"../../Observable":29,"../../operator/takeUntil":152}],87:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/takeUntil":153}],88:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var takeWhile_1 = require('../../operator/takeWhile'); Observable_1.Observable.prototype.takeWhile = takeWhile_1.takeWhile; -},{"../../Observable":29,"../../operator/takeWhile":153}],88:[function(require,module,exports){ -"use strict"; -var Observable_1 = require('../../Observable'); -var throttleTime_1 = require('../../operator/throttleTime'); -Observable_1.Observable.prototype.throttleTime = throttleTime_1.throttleTime; - -},{"../../Observable":29,"../../operator/throttleTime":154}],89:[function(require,module,exports){ +},{"../../Observable":29,"../../operator/takeWhile":154}],89:[function(require,module,exports){ "use strict"; var Observable_1 = require('../../Observable'); var timeout_1 = require('../../operator/timeout'); @@ -7249,7 +7249,7 @@ var ArrayObservable = (function (_super) { }(Observable_1.Observable)); exports.ArrayObservable = ArrayObservable; -},{"../Observable":29,"../util/isScheduler":234,"./EmptyObservable":96,"./ScalarObservable":102}],94:[function(require,module,exports){ +},{"../Observable":29,"../util/isScheduler":233,"./EmptyObservable":96,"./ScalarObservable":102}],94:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -7420,7 +7420,7 @@ var RefCountSubscriber = (function (_super) { return RefCountSubscriber; }(Subscriber_1.Subscriber)); -},{"../Observable":29,"../Subject":34,"../Subscriber":36,"../Subscription":37,"../operators/refCount":188}],95:[function(require,module,exports){ +},{"../Observable":29,"../Subject":34,"../Subscriber":36,"../Subscription":37,"../operators/refCount":189}],95:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -7520,7 +7520,7 @@ var DeferSubscriber = (function (_super) { return DeferSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../Observable":29,"../OuterSubscriber":31,"../util/subscribeToResult":238}],96:[function(require,module,exports){ +},{"../Observable":29,"../OuterSubscriber":31,"../util/subscribeToResult":237}],96:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -7903,7 +7903,7 @@ var FromEventObservable = (function (_super) { }(Observable_1.Observable)); exports.FromEventObservable = FromEventObservable; -},{"../Observable":29,"../Subscription":37,"../util/errorObject":225,"../util/isFunction":230,"../util/tryCatch":240}],99:[function(require,module,exports){ +},{"../Observable":29,"../Subscription":37,"../util/errorObject":224,"../util/isFunction":229,"../util/tryCatch":239}],99:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -8026,7 +8026,7 @@ var FromObservable = (function (_super) { }(Observable_1.Observable)); exports.FromObservable = FromObservable; -},{"../Observable":29,"../operators/observeOn":182,"../symbol/iterator":215,"../symbol/observable":216,"../util/isArray":227,"../util/isArrayLike":228,"../util/isPromise":233,"./ArrayLikeObservable":92,"./ArrayObservable":93,"./IteratorObservable":100,"./PromiseObservable":101}],100:[function(require,module,exports){ +},{"../Observable":29,"../operators/observeOn":183,"../symbol/iterator":214,"../symbol/observable":215,"../util/isArray":226,"../util/isArrayLike":227,"../util/isPromise":232,"./ArrayLikeObservable":92,"./ArrayObservable":93,"./IteratorObservable":100,"./PromiseObservable":101}],100:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -8190,7 +8190,7 @@ function sign(value) { return valueAsNumber < 0 ? -1 : 1; } -},{"../Observable":29,"../symbol/iterator":215,"../util/root":237}],101:[function(require,module,exports){ +},{"../Observable":29,"../symbol/iterator":214,"../util/root":236}],101:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -8312,7 +8312,7 @@ function dispatchError(arg) { } } -},{"../Observable":29,"../util/root":237}],102:[function(require,module,exports){ +},{"../Observable":29,"../util/root":236}],102:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -8479,7 +8479,7 @@ var TimerObservable = (function (_super) { }(Observable_1.Observable)); exports.TimerObservable = TimerObservable; -},{"../Observable":29,"../scheduler/async":213,"../util/isDate":229,"../util/isNumeric":231,"../util/isScheduler":234}],104:[function(require,module,exports){ +},{"../Observable":29,"../scheduler/async":212,"../util/isDate":228,"../util/isNumeric":230,"../util/isScheduler":233}],104:[function(require,module,exports){ "use strict"; var isScheduler_1 = require('../util/isScheduler'); var isArray_1 = require('../util/isArray'); @@ -8616,7 +8616,7 @@ function combineLatest() { } exports.combineLatest = combineLatest; -},{"../operators/combineLatest":164,"../util/isArray":227,"../util/isScheduler":234,"./ArrayObservable":93}],105:[function(require,module,exports){ +},{"../operators/combineLatest":164,"../util/isArray":226,"../util/isScheduler":233,"./ArrayObservable":93}],105:[function(require,module,exports){ "use strict"; var isScheduler_1 = require('../util/isScheduler'); var of_1 = require('./of'); @@ -8728,7 +8728,7 @@ function concat() { } exports.concat = concat; -},{"../operators/concatAll":166,"../util/isScheduler":234,"./from":108,"./of":112}],106:[function(require,module,exports){ +},{"../operators/concatAll":166,"../util/isScheduler":233,"./from":108,"./of":112}],106:[function(require,module,exports){ "use strict"; var DeferObservable_1 = require('./DeferObservable'); exports.defer = DeferObservable_1.DeferObservable.create; @@ -8758,7 +8758,7 @@ exports.fromPromise = PromiseObservable_1.PromiseObservable.create; var merge_1 = require('../operator/merge'); exports.merge = merge_1.mergeStatic; -},{"../operator/merge":134}],112:[function(require,module,exports){ +},{"../operator/merge":135}],112:[function(require,module,exports){ "use strict"; var ArrayObservable_1 = require('./ArrayObservable'); exports.of = ArrayObservable_1.ArrayObservable.of; @@ -8778,7 +8778,7 @@ exports.timer = TimerObservable_1.TimerObservable.create; var zip_1 = require('../operators/zip'); exports.zip = zip_1.zipStatic; -},{"../operators/zip":207}],116:[function(require,module,exports){ +},{"../operators/zip":206}],116:[function(require,module,exports){ "use strict"; var async_1 = require('../scheduler/async'); var auditTime_1 = require('../operators/auditTime'); @@ -8830,7 +8830,7 @@ function auditTime(duration, scheduler) { } exports.auditTime = auditTime; -},{"../operators/auditTime":159,"../scheduler/async":213}],117:[function(require,module,exports){ +},{"../operators/auditTime":159,"../scheduler/async":212}],117:[function(require,module,exports){ "use strict"; var buffer_1 = require('../operators/buffer'); /** @@ -9148,6 +9148,62 @@ exports.concat = concat; },{"../operators/concat":165}],123:[function(require,module,exports){ "use strict"; +var count_1 = require('../operators/count'); +/** + * Counts the number of emissions on the source and emits that number when the + * source completes. + * + * Tells how many values were emitted, when the source + * completes. + * + * + * + * `count` transforms an Observable that emits values into an Observable that + * emits a single value that represents the number of values emitted by the + * source Observable. If the source Observable terminates with an error, `count` + * will pass this error notification along without emitting a value first. If + * the source Observable does not terminate at all, `count` will neither emit + * a value nor terminate. This operator takes an optional `predicate` function + * as argument, in which case the output emission will represent the number of + * source values that matched `true` with the `predicate`. + * + * @example Counts how many seconds have passed before the first click happened + * var seconds = Rx.Observable.interval(1000); + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var secondsBeforeClick = seconds.takeUntil(clicks); + * var result = secondsBeforeClick.count(); + * result.subscribe(x => console.log(x)); + * + * @example Counts how many odd numbers are there between 1 and 7 + * var numbers = Rx.Observable.range(1, 7); + * var result = numbers.count(i => i % 2 === 1); + * result.subscribe(x => console.log(x)); + * + * // Results in: + * // 4 + * + * @see {@link max} + * @see {@link min} + * @see {@link reduce} + * + * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A + * boolean function to select what values are to be counted. It is provided with + * arguments of: + * - `value`: the value from the source Observable. + * - `index`: the (zero-based) "index" of the value from the source Observable. + * - `source`: the source Observable instance itself. + * @return {Observable} An Observable of one number that represents the count as + * described above. + * @method count + * @owner Observable + */ +function count(predicate) { + return count_1.count(predicate)(this); +} +exports.count = count; + +},{"../operators/count":167}],124:[function(require,module,exports){ +"use strict"; var async_1 = require('../scheduler/async'); var debounceTime_1 = require('../operators/debounceTime'); /** @@ -9202,7 +9258,7 @@ function debounceTime(dueTime, scheduler) { } exports.debounceTime = debounceTime; -},{"../operators/debounceTime":167,"../scheduler/async":213}],124:[function(require,module,exports){ +},{"../operators/debounceTime":168,"../scheduler/async":212}],125:[function(require,module,exports){ "use strict"; var async_1 = require('../scheduler/async'); var delay_1 = require('../operators/delay'); @@ -9251,7 +9307,7 @@ function delay(delay, scheduler) { } exports.delay = delay; -},{"../operators/delay":169,"../scheduler/async":213}],125:[function(require,module,exports){ +},{"../operators/delay":170,"../scheduler/async":212}],126:[function(require,module,exports){ "use strict"; var distinct_1 = require('../operators/distinct'); /** @@ -9304,7 +9360,7 @@ function distinct(keySelector, flushes) { } exports.distinct = distinct; -},{"../operators/distinct":170}],126:[function(require,module,exports){ +},{"../operators/distinct":171}],127:[function(require,module,exports){ "use strict"; var distinctUntilChanged_1 = require('../operators/distinctUntilChanged'); /* tslint:enable:max-line-length */ @@ -9352,7 +9408,7 @@ function distinctUntilChanged(compare, keySelector) { } exports.distinctUntilChanged = distinctUntilChanged; -},{"../operators/distinctUntilChanged":171}],127:[function(require,module,exports){ +},{"../operators/distinctUntilChanged":172}],128:[function(require,module,exports){ "use strict"; var tap_1 = require('../operators/tap'); /* tslint:enable:max-line-length */ @@ -9404,7 +9460,7 @@ function _do(nextOrObserver, error, complete) { } exports._do = _do; -},{"../operators/tap":202}],128:[function(require,module,exports){ +},{"../operators/tap":203}],129:[function(require,module,exports){ "use strict"; var expand_1 = require('../operators/expand'); /* tslint:enable:max-line-length */ @@ -9461,7 +9517,7 @@ function expand(project, concurrent, scheduler) { } exports.expand = expand; -},{"../operators/expand":172}],129:[function(require,module,exports){ +},{"../operators/expand":173}],130:[function(require,module,exports){ "use strict"; var filter_1 = require('../operators/filter'); /* tslint:enable:max-line-length */ @@ -9509,7 +9565,7 @@ function filter(predicate, thisArg) { } exports.filter = filter; -},{"../operators/filter":173}],130:[function(require,module,exports){ +},{"../operators/filter":174}],131:[function(require,module,exports){ "use strict"; var finalize_1 = require('../operators/finalize'); /** @@ -9525,7 +9581,7 @@ function _finally(callback) { } exports._finally = _finally; -},{"../operators/finalize":174}],131:[function(require,module,exports){ +},{"../operators/finalize":175}],132:[function(require,module,exports){ "use strict"; var first_1 = require('../operators/first'); /** @@ -9582,7 +9638,7 @@ function first(predicate, resultSelector, defaultValue) { } exports.first = first; -},{"../operators/first":175}],132:[function(require,module,exports){ +},{"../operators/first":176}],133:[function(require,module,exports){ "use strict"; var last_1 = require('../operators/last'); /* tslint:enable:max-line-length */ @@ -9608,7 +9664,7 @@ function last(predicate, resultSelector, defaultValue) { } exports.last = last; -},{"../operators/last":176}],133:[function(require,module,exports){ +},{"../operators/last":177}],134:[function(require,module,exports){ "use strict"; var map_1 = require('../operators/map'); /** @@ -9649,7 +9705,7 @@ function map(project, thisArg) { } exports.map = map; -},{"../operators/map":177}],134:[function(require,module,exports){ +},{"../operators/map":178}],135:[function(require,module,exports){ "use strict"; var merge_1 = require('../operators/merge'); var merge_2 = require('../operators/merge'); @@ -9710,7 +9766,7 @@ function merge() { } exports.merge = merge; -},{"../operators/merge":178}],135:[function(require,module,exports){ +},{"../operators/merge":179}],136:[function(require,module,exports){ "use strict"; var mergeAll_1 = require('../operators/mergeAll'); /** @@ -9763,7 +9819,7 @@ function mergeAll(concurrent) { } exports.mergeAll = mergeAll; -},{"../operators/mergeAll":179}],136:[function(require,module,exports){ +},{"../operators/mergeAll":180}],137:[function(require,module,exports){ "use strict"; var mergeMap_1 = require('../operators/mergeMap'); /* tslint:enable:max-line-length */ @@ -9831,7 +9887,7 @@ function mergeMap(project, resultSelector, concurrent) { } exports.mergeMap = mergeMap; -},{"../operators/mergeMap":180}],137:[function(require,module,exports){ +},{"../operators/mergeMap":181}],138:[function(require,module,exports){ "use strict"; var pairwise_1 = require('../operators/pairwise'); /** @@ -9874,7 +9930,7 @@ function pairwise() { } exports.pairwise = pairwise; -},{"../operators/pairwise":183}],138:[function(require,module,exports){ +},{"../operators/pairwise":184}],139:[function(require,module,exports){ "use strict"; var pluck_1 = require('../operators/pluck'); /** @@ -9912,7 +9968,7 @@ function pluck() { } exports.pluck = pluck; -},{"../operators/pluck":184}],139:[function(require,module,exports){ +},{"../operators/pluck":185}],140:[function(require,module,exports){ "use strict"; var publish_1 = require('../operators/publish'); /* tslint:enable:max-line-length */ @@ -9934,7 +9990,7 @@ function publish(selector) { } exports.publish = publish; -},{"../operators/publish":185}],140:[function(require,module,exports){ +},{"../operators/publish":186}],141:[function(require,module,exports){ "use strict"; var publishReplay_1 = require('../operators/publishReplay'); /* tslint:enable:max-line-length */ @@ -9952,7 +10008,7 @@ function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) { } exports.publishReplay = publishReplay; -},{"../operators/publishReplay":186}],141:[function(require,module,exports){ +},{"../operators/publishReplay":187}],142:[function(require,module,exports){ "use strict"; var reduce_1 = require('../operators/reduce'); /* tslint:enable:max-line-length */ @@ -10013,7 +10069,7 @@ function reduce(accumulator, seed) { } exports.reduce = reduce; -},{"../operators/reduce":187}],142:[function(require,module,exports){ +},{"../operators/reduce":188}],143:[function(require,module,exports){ "use strict"; var retry_1 = require('../operators/retry'); /** @@ -10038,7 +10094,7 @@ function retry(count) { } exports.retry = retry; -},{"../operators/retry":189}],143:[function(require,module,exports){ +},{"../operators/retry":190}],144:[function(require,module,exports){ "use strict"; var sample_1 = require('../operators/sample'); /** @@ -10080,7 +10136,7 @@ function sample(notifier) { } exports.sample = sample; -},{"../operators/sample":190}],144:[function(require,module,exports){ +},{"../operators/sample":191}],145:[function(require,module,exports){ "use strict"; var scan_1 = require('../operators/scan'); /* tslint:enable:max-line-length */ @@ -10129,7 +10185,7 @@ function scan(accumulator, seed) { } exports.scan = scan; -},{"../operators/scan":191}],145:[function(require,module,exports){ +},{"../operators/scan":192}],146:[function(require,module,exports){ "use strict"; var share_1 = require('../operators/share'); /** @@ -10154,7 +10210,7 @@ function share() { exports.share = share; ; -},{"../operators/share":192}],146:[function(require,module,exports){ +},{"../operators/share":193}],147:[function(require,module,exports){ "use strict"; var skip_1 = require('../operators/skip'); /** @@ -10173,7 +10229,7 @@ function skip(count) { } exports.skip = skip; -},{"../operators/skip":193}],147:[function(require,module,exports){ +},{"../operators/skip":194}],148:[function(require,module,exports){ "use strict"; var skipUntil_1 = require('../operators/skipUntil'); /** @@ -10193,7 +10249,7 @@ function skipUntil(notifier) { } exports.skipUntil = skipUntil; -},{"../operators/skipUntil":194}],148:[function(require,module,exports){ +},{"../operators/skipUntil":195}],149:[function(require,module,exports){ "use strict"; var skipWhile_1 = require('../operators/skipWhile'); /** @@ -10213,7 +10269,7 @@ function skipWhile(predicate) { } exports.skipWhile = skipWhile; -},{"../operators/skipWhile":195}],149:[function(require,module,exports){ +},{"../operators/skipWhile":196}],150:[function(require,module,exports){ "use strict"; var startWith_1 = require('../operators/startWith'); /* tslint:enable:max-line-length */ @@ -10240,7 +10296,7 @@ function startWith() { } exports.startWith = startWith; -},{"../operators/startWith":196}],150:[function(require,module,exports){ +},{"../operators/startWith":197}],151:[function(require,module,exports){ "use strict"; var switchMap_1 = require('../operators/switchMap'); /* tslint:enable:max-line-length */ @@ -10296,7 +10352,7 @@ function switchMap(project, resultSelector) { } exports.switchMap = switchMap; -},{"../operators/switchMap":197}],151:[function(require,module,exports){ +},{"../operators/switchMap":198}],152:[function(require,module,exports){ "use strict"; var take_1 = require('../operators/take'); /** @@ -10337,7 +10393,7 @@ function take(count) { } exports.take = take; -},{"../operators/take":198}],152:[function(require,module,exports){ +},{"../operators/take":199}],153:[function(require,module,exports){ "use strict"; var takeUntil_1 = require('../operators/takeUntil'); /** @@ -10378,7 +10434,7 @@ function takeUntil(notifier) { } exports.takeUntil = takeUntil; -},{"../operators/takeUntil":200}],153:[function(require,module,exports){ +},{"../operators/takeUntil":201}],154:[function(require,module,exports){ "use strict"; var takeWhile_1 = require('../operators/takeWhile'); /** @@ -10422,58 +10478,7 @@ function takeWhile(predicate) { } exports.takeWhile = takeWhile; -},{"../operators/takeWhile":201}],154:[function(require,module,exports){ -"use strict"; -var async_1 = require('../scheduler/async'); -var throttle_1 = require('../operators/throttle'); -var throttleTime_1 = require('../operators/throttleTime'); -/** - * Emits a value from the source Observable, then ignores subsequent source - * values for `duration` milliseconds, then repeats this process. - * - * Lets a value pass, then ignores source values for the - * next `duration` milliseconds. - * - * - * - * `throttleTime` emits the source Observable values on the output Observable - * when its internal timer is disabled, and ignores source values when the timer - * is enabled. Initially, the timer is disabled. As soon as the first source - * value arrives, it is forwarded to the output Observable, and then the timer - * is enabled. After `duration` milliseconds (or the time unit determined - * internally by the optional `scheduler`) has passed, the timer is disabled, - * and this process repeats for the next source value. Optionally takes a - * {@link IScheduler} for managing timers. - * - * @example Emit clicks at a rate of at most one click per second - * var clicks = Rx.Observable.fromEvent(document, 'click'); - * var result = clicks.throttleTime(1000); - * result.subscribe(x => console.log(x)); - * - * @see {@link auditTime} - * @see {@link debounceTime} - * @see {@link delay} - * @see {@link sampleTime} - * @see {@link throttle} - * - * @param {number} duration Time to wait before emitting another value after - * emitting the last value, measured in milliseconds or the time unit determined - * internally by the optional `scheduler`. - * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for - * managing the timers that handle the throttling. - * @return {Observable} An Observable that performs the throttle operation to - * limit the rate of emissions from the source. - * @method throttleTime - * @owner Observable - */ -function throttleTime(duration, scheduler, config) { - if (scheduler === void 0) { scheduler = async_1.async; } - if (config === void 0) { config = throttle_1.defaultThrottleConfig; } - return throttleTime_1.throttleTime(duration, scheduler, config)(this); -} -exports.throttleTime = throttleTime; - -},{"../operators/throttle":203,"../operators/throttleTime":204,"../scheduler/async":213}],155:[function(require,module,exports){ +},{"../operators/takeWhile":202}],155:[function(require,module,exports){ "use strict"; var async_1 = require('../scheduler/async'); var timeout_1 = require('../operators/timeout'); @@ -10548,7 +10553,7 @@ function timeout(due, scheduler) { } exports.timeout = timeout; -},{"../operators/timeout":205,"../scheduler/async":213}],156:[function(require,module,exports){ +},{"../operators/timeout":204,"../scheduler/async":212}],156:[function(require,module,exports){ "use strict"; var withLatestFrom_1 = require('../operators/withLatestFrom'); /* tslint:enable:max-line-length */ @@ -10599,7 +10604,7 @@ function withLatestFrom() { } exports.withLatestFrom = withLatestFrom; -},{"../operators/withLatestFrom":206}],157:[function(require,module,exports){ +},{"../operators/withLatestFrom":205}],157:[function(require,module,exports){ "use strict"; var zip_1 = require('../operators/zip'); /* tslint:enable:max-line-length */ @@ -10618,7 +10623,7 @@ function zipProto() { } exports.zipProto = zipProto; -},{"../operators/zip":207}],158:[function(require,module,exports){ +},{"../operators/zip":206}],158:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -10737,7 +10742,7 @@ var AuditSubscriber = (function (_super) { return AuditSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../util/errorObject":225,"../util/subscribeToResult":238,"../util/tryCatch":240}],159:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/errorObject":224,"../util/subscribeToResult":237,"../util/tryCatch":239}],159:[function(require,module,exports){ "use strict"; var async_1 = require('../scheduler/async'); var audit_1 = require('./audit'); @@ -10790,7 +10795,7 @@ function auditTime(duration, scheduler) { } exports.auditTime = auditTime; -},{"../observable/timer":114,"../scheduler/async":213,"./audit":158}],160:[function(require,module,exports){ +},{"../observable/timer":114,"../scheduler/async":212,"./audit":158}],160:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -10869,7 +10874,7 @@ var BufferSubscriber = (function (_super) { return BufferSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],161:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/subscribeToResult":237}],161:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -11137,7 +11142,7 @@ var BufferWhenSubscriber = (function (_super) { return BufferWhenSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../Subscription":37,"../util/errorObject":225,"../util/subscribeToResult":238,"../util/tryCatch":240}],163:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../Subscription":37,"../util/errorObject":224,"../util/subscribeToResult":237,"../util/tryCatch":239}],163:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -11254,7 +11259,7 @@ var CatchSubscriber = (function (_super) { return CatchSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],164:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/subscribeToResult":237}],164:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -11406,7 +11411,7 @@ var CombineLatestSubscriber = (function (_super) { }(OuterSubscriber_1.OuterSubscriber)); exports.CombineLatestSubscriber = CombineLatestSubscriber; -},{"../OuterSubscriber":31,"../observable/ArrayObservable":93,"../util/isArray":227,"../util/subscribeToResult":238}],165:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../observable/ArrayObservable":93,"../util/isArray":226,"../util/subscribeToResult":237}],165:[function(require,module,exports){ "use strict"; var concat_1 = require('../observable/concat'); /* tslint:enable:max-line-length */ @@ -11524,7 +11529,119 @@ function concatAll() { } exports.concatAll = concatAll; -},{"./mergeAll":179}],167:[function(require,module,exports){ +},{"./mergeAll":180}],167:[function(require,module,exports){ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Subscriber_1 = require('../Subscriber'); +/** + * Counts the number of emissions on the source and emits that number when the + * source completes. + * + * Tells how many values were emitted, when the source + * completes. + * + * + * + * `count` transforms an Observable that emits values into an Observable that + * emits a single value that represents the number of values emitted by the + * source Observable. If the source Observable terminates with an error, `count` + * will pass this error notification along without emitting a value first. If + * the source Observable does not terminate at all, `count` will neither emit + * a value nor terminate. This operator takes an optional `predicate` function + * as argument, in which case the output emission will represent the number of + * source values that matched `true` with the `predicate`. + * + * @example Counts how many seconds have passed before the first click happened + * var seconds = Rx.Observable.interval(1000); + * var clicks = Rx.Observable.fromEvent(document, 'click'); + * var secondsBeforeClick = seconds.takeUntil(clicks); + * var result = secondsBeforeClick.count(); + * result.subscribe(x => console.log(x)); + * + * @example Counts how many odd numbers are there between 1 and 7 + * var numbers = Rx.Observable.range(1, 7); + * var result = numbers.count(i => i % 2 === 1); + * result.subscribe(x => console.log(x)); + * + * // Results in: + * // 4 + * + * @see {@link max} + * @see {@link min} + * @see {@link reduce} + * + * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A + * boolean function to select what values are to be counted. It is provided with + * arguments of: + * - `value`: the value from the source Observable. + * - `index`: the (zero-based) "index" of the value from the source Observable. + * - `source`: the source Observable instance itself. + * @return {Observable} An Observable of one number that represents the count as + * described above. + * @method count + * @owner Observable + */ +function count(predicate) { + return function (source) { return source.lift(new CountOperator(predicate, source)); }; +} +exports.count = count; +var CountOperator = (function () { + function CountOperator(predicate, source) { + this.predicate = predicate; + this.source = source; + } + CountOperator.prototype.call = function (subscriber, source) { + return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source)); + }; + return CountOperator; +}()); +/** + * We need this JSDoc comment for affecting ESDoc. + * @ignore + * @extends {Ignored} + */ +var CountSubscriber = (function (_super) { + __extends(CountSubscriber, _super); + function CountSubscriber(destination, predicate, source) { + _super.call(this, destination); + this.predicate = predicate; + this.source = source; + this.count = 0; + this.index = 0; + } + CountSubscriber.prototype._next = function (value) { + if (this.predicate) { + this._tryPredicate(value); + } + else { + this.count++; + } + }; + CountSubscriber.prototype._tryPredicate = function (value) { + var result; + try { + result = this.predicate(value, this.index++, this.source); + } + catch (err) { + this.destination.error(err); + return; + } + if (result) { + this.count++; + } + }; + CountSubscriber.prototype._complete = function () { + this.destination.next(this.count); + this.destination.complete(); + }; + return CountSubscriber; +}(Subscriber_1.Subscriber)); + +},{"../Subscriber":36}],168:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -11641,7 +11758,7 @@ function dispatchNext(subscriber) { subscriber.debouncedNext(); } -},{"../Subscriber":36,"../scheduler/async":213}],168:[function(require,module,exports){ +},{"../Subscriber":36,"../scheduler/async":212}],169:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -11719,7 +11836,7 @@ var DefaultIfEmptySubscriber = (function (_super) { return DefaultIfEmptySubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],169:[function(require,module,exports){ +},{"../Subscriber":36}],170:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -11855,7 +11972,7 @@ var DelayMessage = (function () { return DelayMessage; }()); -},{"../Notification":28,"../Subscriber":36,"../scheduler/async":213,"../util/isDate":229}],170:[function(require,module,exports){ +},{"../Notification":28,"../Subscriber":36,"../scheduler/async":212,"../util/isDate":228}],171:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -11976,7 +12093,7 @@ var DistinctSubscriber = (function (_super) { }(OuterSubscriber_1.OuterSubscriber)); exports.DistinctSubscriber = DistinctSubscriber; -},{"../OuterSubscriber":31,"../util/Set":222,"../util/subscribeToResult":238}],171:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/Set":221,"../util/subscribeToResult":237}],172:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -12085,7 +12202,7 @@ var DistinctUntilChangedSubscriber = (function (_super) { return DistinctUntilChangedSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36,"../util/errorObject":225,"../util/tryCatch":240}],172:[function(require,module,exports){ +},{"../Subscriber":36,"../util/errorObject":224,"../util/tryCatch":239}],173:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -12237,7 +12354,7 @@ var ExpandSubscriber = (function (_super) { }(OuterSubscriber_1.OuterSubscriber)); exports.ExpandSubscriber = ExpandSubscriber; -},{"../OuterSubscriber":31,"../util/errorObject":225,"../util/subscribeToResult":238,"../util/tryCatch":240}],173:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/errorObject":224,"../util/subscribeToResult":237,"../util/tryCatch":239}],174:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -12332,7 +12449,7 @@ var FilterSubscriber = (function (_super) { return FilterSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],174:[function(require,module,exports){ +},{"../Subscriber":36}],175:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -12376,7 +12493,7 @@ var FinallySubscriber = (function (_super) { return FinallySubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36,"../Subscription":37}],175:[function(require,module,exports){ +},{"../Subscriber":36,"../Subscription":37}],176:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -12529,7 +12646,7 @@ var FirstSubscriber = (function (_super) { return FirstSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36,"../util/EmptyError":220}],176:[function(require,module,exports){ +},{"../Subscriber":36,"../util/EmptyError":219}],177:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -12649,7 +12766,7 @@ var LastSubscriber = (function (_super) { return LastSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36,"../util/EmptyError":220}],177:[function(require,module,exports){ +},{"../Subscriber":36,"../util/EmptyError":219}],178:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -12739,7 +12856,7 @@ var MapSubscriber = (function (_super) { return MapSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],178:[function(require,module,exports){ +},{"../Subscriber":36}],179:[function(require,module,exports){ "use strict"; var Observable_1 = require('../Observable'); var ArrayObservable_1 = require('../observable/ArrayObservable'); @@ -12839,7 +12956,7 @@ function mergeStatic() { } exports.mergeStatic = mergeStatic; -},{"../Observable":29,"../observable/ArrayObservable":93,"../util/isScheduler":234,"./mergeAll":179}],179:[function(require,module,exports){ +},{"../Observable":29,"../observable/ArrayObservable":93,"../util/isScheduler":233,"./mergeAll":180}],180:[function(require,module,exports){ "use strict"; var mergeMap_1 = require('./mergeMap'); var identity_1 = require('../util/identity'); @@ -12893,7 +13010,7 @@ function mergeAll(concurrent) { } exports.mergeAll = mergeAll; -},{"../util/identity":226,"./mergeMap":180}],180:[function(require,module,exports){ +},{"../util/identity":225,"./mergeMap":181}],181:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -13067,7 +13184,7 @@ var MergeMapSubscriber = (function (_super) { }(OuterSubscriber_1.OuterSubscriber)); exports.MergeMapSubscriber = MergeMapSubscriber; -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],181:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/subscribeToResult":237}],182:[function(require,module,exports){ "use strict"; var ConnectableObservable_1 = require('../observable/ConnectableObservable'); /* tslint:enable:max-line-length */ @@ -13127,7 +13244,7 @@ var MulticastOperator = (function () { }()); exports.MulticastOperator = MulticastOperator; -},{"../observable/ConnectableObservable":94}],182:[function(require,module,exports){ +},{"../observable/ConnectableObservable":94}],183:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -13243,7 +13360,7 @@ var ObserveOnMessage = (function () { }()); exports.ObserveOnMessage = ObserveOnMessage; -},{"../Notification":28,"../Subscriber":36}],183:[function(require,module,exports){ +},{"../Notification":28,"../Subscriber":36}],184:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -13321,7 +13438,7 @@ var PairwiseSubscriber = (function (_super) { return PairwiseSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],184:[function(require,module,exports){ +},{"../Subscriber":36}],185:[function(require,module,exports){ "use strict"; var map_1 = require('./map'); /** @@ -13379,7 +13496,7 @@ function plucker(props, length) { return mapper; } -},{"./map":177}],185:[function(require,module,exports){ +},{"./map":178}],186:[function(require,module,exports){ "use strict"; var Subject_1 = require('../Subject'); var multicast_1 = require('./multicast'); @@ -13404,7 +13521,7 @@ function publish(selector) { } exports.publish = publish; -},{"../Subject":34,"./multicast":181}],186:[function(require,module,exports){ +},{"../Subject":34,"./multicast":182}],187:[function(require,module,exports){ "use strict"; var ReplaySubject_1 = require('../ReplaySubject'); var multicast_1 = require('./multicast'); @@ -13419,7 +13536,7 @@ function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) { } exports.publishReplay = publishReplay; -},{"../ReplaySubject":32,"./multicast":181}],187:[function(require,module,exports){ +},{"../ReplaySubject":32,"./multicast":182}],188:[function(require,module,exports){ "use strict"; var scan_1 = require('./scan'); var takeLast_1 = require('./takeLast'); @@ -13489,7 +13606,7 @@ function reduce(accumulator, seed) { } exports.reduce = reduce; -},{"../util/pipe":236,"./defaultIfEmpty":168,"./scan":191,"./takeLast":199}],188:[function(require,module,exports){ +},{"../util/pipe":235,"./defaultIfEmpty":169,"./scan":192,"./takeLast":200}],189:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -13575,7 +13692,7 @@ var RefCountSubscriber = (function (_super) { return RefCountSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],189:[function(require,module,exports){ +},{"../Subscriber":36}],190:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -13641,7 +13758,7 @@ var RetrySubscriber = (function (_super) { return RetrySubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],190:[function(require,module,exports){ +},{"../Subscriber":36}],191:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -13730,7 +13847,7 @@ var SampleSubscriber = (function (_super) { return SampleSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],191:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/subscribeToResult":237}],192:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -13852,7 +13969,7 @@ var ScanSubscriber = (function (_super) { return ScanSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],192:[function(require,module,exports){ +},{"../Subscriber":36}],193:[function(require,module,exports){ "use strict"; var multicast_1 = require('./multicast'); var refCount_1 = require('./refCount'); @@ -13878,7 +13995,7 @@ function share() { exports.share = share; ; -},{"../Subject":34,"./multicast":181,"./refCount":188}],193:[function(require,module,exports){ +},{"../Subject":34,"./multicast":182,"./refCount":189}],194:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -13930,7 +14047,7 @@ var SkipSubscriber = (function (_super) { return SkipSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],194:[function(require,module,exports){ +},{"../Subscriber":36}],195:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -14002,7 +14119,7 @@ var SkipUntilSubscriber = (function (_super) { return SkipUntilSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],195:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/subscribeToResult":237}],196:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -14069,7 +14186,7 @@ var SkipWhileSubscriber = (function (_super) { return SkipWhileSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],196:[function(require,module,exports){ +},{"../Subscriber":36}],197:[function(require,module,exports){ "use strict"; var ArrayObservable_1 = require('../observable/ArrayObservable'); var ScalarObservable_1 = require('../observable/ScalarObservable'); @@ -14118,7 +14235,7 @@ function startWith() { } exports.startWith = startWith; -},{"../observable/ArrayObservable":93,"../observable/EmptyObservable":96,"../observable/ScalarObservable":102,"../observable/concat":105,"../util/isScheduler":234}],197:[function(require,module,exports){ +},{"../observable/ArrayObservable":93,"../observable/EmptyObservable":96,"../observable/ScalarObservable":102,"../observable/concat":105,"../util/isScheduler":233}],198:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -14261,7 +14378,7 @@ var SwitchMapSubscriber = (function (_super) { return SwitchMapSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],198:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/subscribeToResult":237}],199:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -14353,7 +14470,7 @@ var TakeSubscriber = (function (_super) { return TakeSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36,"../observable/EmptyObservable":96,"../util/ArgumentOutOfRangeError":219}],199:[function(require,module,exports){ +},{"../Subscriber":36,"../observable/EmptyObservable":96,"../util/ArgumentOutOfRangeError":218}],200:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -14463,7 +14580,7 @@ var TakeLastSubscriber = (function (_super) { return TakeLastSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36,"../observable/EmptyObservable":96,"../util/ArgumentOutOfRangeError":219}],200:[function(require,module,exports){ +},{"../Subscriber":36,"../observable/EmptyObservable":96,"../util/ArgumentOutOfRangeError":218}],201:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -14539,7 +14656,7 @@ var TakeUntilSubscriber = (function (_super) { return TakeUntilSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],201:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/subscribeToResult":237}],202:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -14632,7 +14749,7 @@ var TakeWhileSubscriber = (function (_super) { return TakeWhileSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],202:[function(require,module,exports){ +},{"../Subscriber":36}],203:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -14746,267 +14863,7 @@ var DoSubscriber = (function (_super) { return DoSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36}],203:[function(require,module,exports){ -"use strict"; -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var OuterSubscriber_1 = require('../OuterSubscriber'); -var subscribeToResult_1 = require('../util/subscribeToResult'); -exports.defaultThrottleConfig = { - leading: true, - trailing: false -}; -/** - * Emits a value from the source Observable, then ignores subsequent source - * values for a duration determined by another Observable, then repeats this - * process. - * - * It's like {@link throttleTime}, but the silencing - * duration is determined by a second Observable. - * - * - * - * `throttle` emits the source Observable values on the output Observable - * when its internal timer is disabled, and ignores source values when the timer - * is enabled. Initially, the timer is disabled. As soon as the first source - * value arrives, it is forwarded to the output Observable, and then the timer - * is enabled by calling the `durationSelector` function with the source value, - * which returns the "duration" Observable. When the duration Observable emits a - * value or completes, the timer is disabled, and this process repeats for the - * next source value. - * - * @example Emit clicks at a rate of at most one click per second - * var clicks = Rx.Observable.fromEvent(document, 'click'); - * var result = clicks.throttle(ev => Rx.Observable.interval(1000)); - * result.subscribe(x => console.log(x)); - * - * @see {@link audit} - * @see {@link debounce} - * @see {@link delayWhen} - * @see {@link sample} - * @see {@link throttleTime} - * - * @param {function(value: T): SubscribableOrPromise} durationSelector A function - * that receives a value from the source Observable, for computing the silencing - * duration for each source value, returned as an Observable or a Promise. - * @param {Object} config a configuration object to define `leading` and `trailing` behavior. Defaults - * to `{ leading: true, trailing: false }`. - * @return {Observable} An Observable that performs the throttle operation to - * limit the rate of emissions from the source. - * @method throttle - * @owner Observable - */ -function throttle(durationSelector, config) { - if (config === void 0) { config = exports.defaultThrottleConfig; } - return function (source) { return source.lift(new ThrottleOperator(durationSelector, config.leading, config.trailing)); }; -} -exports.throttle = throttle; -var ThrottleOperator = (function () { - function ThrottleOperator(durationSelector, leading, trailing) { - this.durationSelector = durationSelector; - this.leading = leading; - this.trailing = trailing; - } - ThrottleOperator.prototype.call = function (subscriber, source) { - return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing)); - }; - return ThrottleOperator; -}()); -/** - * We need this JSDoc comment for affecting ESDoc - * @ignore - * @extends {Ignored} - */ -var ThrottleSubscriber = (function (_super) { - __extends(ThrottleSubscriber, _super); - function ThrottleSubscriber(destination, durationSelector, _leading, _trailing) { - _super.call(this, destination); - this.destination = destination; - this.durationSelector = durationSelector; - this._leading = _leading; - this._trailing = _trailing; - this._hasTrailingValue = false; - } - ThrottleSubscriber.prototype._next = function (value) { - if (this.throttled) { - if (this._trailing) { - this._hasTrailingValue = true; - this._trailingValue = value; - } - } - else { - var duration = this.tryDurationSelector(value); - if (duration) { - this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration)); - } - if (this._leading) { - this.destination.next(value); - if (this._trailing) { - this._hasTrailingValue = true; - this._trailingValue = value; - } - } - } - }; - ThrottleSubscriber.prototype.tryDurationSelector = function (value) { - try { - return this.durationSelector(value); - } - catch (err) { - this.destination.error(err); - return null; - } - }; - ThrottleSubscriber.prototype._unsubscribe = function () { - var _a = this, throttled = _a.throttled, _trailingValue = _a._trailingValue, _hasTrailingValue = _a._hasTrailingValue, _trailing = _a._trailing; - this._trailingValue = null; - this._hasTrailingValue = false; - if (throttled) { - this.remove(throttled); - this.throttled = null; - throttled.unsubscribe(); - } - }; - ThrottleSubscriber.prototype._sendTrailing = function () { - var _a = this, destination = _a.destination, throttled = _a.throttled, _trailing = _a._trailing, _trailingValue = _a._trailingValue, _hasTrailingValue = _a._hasTrailingValue; - if (throttled && _trailing && _hasTrailingValue) { - destination.next(_trailingValue); - this._trailingValue = null; - this._hasTrailingValue = false; - } - }; - ThrottleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) { - this._sendTrailing(); - this._unsubscribe(); - }; - ThrottleSubscriber.prototype.notifyComplete = function () { - this._sendTrailing(); - this._unsubscribe(); - }; - return ThrottleSubscriber; -}(OuterSubscriber_1.OuterSubscriber)); - -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],204:[function(require,module,exports){ -"use strict"; -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var Subscriber_1 = require('../Subscriber'); -var async_1 = require('../scheduler/async'); -var throttle_1 = require('./throttle'); -/** - * Emits a value from the source Observable, then ignores subsequent source - * values for `duration` milliseconds, then repeats this process. - * - * Lets a value pass, then ignores source values for the - * next `duration` milliseconds. - * - * - * - * `throttleTime` emits the source Observable values on the output Observable - * when its internal timer is disabled, and ignores source values when the timer - * is enabled. Initially, the timer is disabled. As soon as the first source - * value arrives, it is forwarded to the output Observable, and then the timer - * is enabled. After `duration` milliseconds (or the time unit determined - * internally by the optional `scheduler`) has passed, the timer is disabled, - * and this process repeats for the next source value. Optionally takes a - * {@link IScheduler} for managing timers. - * - * @example Emit clicks at a rate of at most one click per second - * var clicks = Rx.Observable.fromEvent(document, 'click'); - * var result = clicks.throttleTime(1000); - * result.subscribe(x => console.log(x)); - * - * @see {@link auditTime} - * @see {@link debounceTime} - * @see {@link delay} - * @see {@link sampleTime} - * @see {@link throttle} - * - * @param {number} duration Time to wait before emitting another value after - * emitting the last value, measured in milliseconds or the time unit determined - * internally by the optional `scheduler`. - * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for - * managing the timers that handle the throttling. - * @return {Observable} An Observable that performs the throttle operation to - * limit the rate of emissions from the source. - * @method throttleTime - * @owner Observable - */ -function throttleTime(duration, scheduler, config) { - if (scheduler === void 0) { scheduler = async_1.async; } - if (config === void 0) { config = throttle_1.defaultThrottleConfig; } - return function (source) { return source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); }; -} -exports.throttleTime = throttleTime; -var ThrottleTimeOperator = (function () { - function ThrottleTimeOperator(duration, scheduler, leading, trailing) { - this.duration = duration; - this.scheduler = scheduler; - this.leading = leading; - this.trailing = trailing; - } - ThrottleTimeOperator.prototype.call = function (subscriber, source) { - return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing)); - }; - return ThrottleTimeOperator; -}()); -/** - * We need this JSDoc comment for affecting ESDoc. - * @ignore - * @extends {Ignored} - */ -var ThrottleTimeSubscriber = (function (_super) { - __extends(ThrottleTimeSubscriber, _super); - function ThrottleTimeSubscriber(destination, duration, scheduler, leading, trailing) { - _super.call(this, destination); - this.duration = duration; - this.scheduler = scheduler; - this.leading = leading; - this.trailing = trailing; - this._hasTrailingValue = false; - this._trailingValue = null; - } - ThrottleTimeSubscriber.prototype._next = function (value) { - if (this.throttled) { - if (this.trailing) { - this._trailingValue = value; - this._hasTrailingValue = true; - } - } - else { - this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this })); - if (this.leading) { - this.destination.next(value); - } - } - }; - ThrottleTimeSubscriber.prototype.clearThrottle = function () { - var throttled = this.throttled; - if (throttled) { - if (this.trailing && this._hasTrailingValue) { - this.destination.next(this._trailingValue); - this._trailingValue = null; - this._hasTrailingValue = false; - } - throttled.unsubscribe(); - this.remove(throttled); - this.throttled = null; - } - }; - return ThrottleTimeSubscriber; -}(Subscriber_1.Subscriber)); -function dispatchNext(arg) { - var subscriber = arg.subscriber; - subscriber.clearThrottle(); -} - -},{"../Subscriber":36,"../scheduler/async":213,"./throttle":203}],205:[function(require,module,exports){ +},{"../Subscriber":36}],204:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -15148,7 +15005,7 @@ var TimeoutSubscriber = (function (_super) { return TimeoutSubscriber; }(Subscriber_1.Subscriber)); -},{"../Subscriber":36,"../scheduler/async":213,"../util/TimeoutError":223,"../util/isDate":229}],206:[function(require,module,exports){ +},{"../Subscriber":36,"../scheduler/async":212,"../util/TimeoutError":222,"../util/isDate":228}],205:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -15281,7 +15138,7 @@ var WithLatestFromSubscriber = (function (_super) { return WithLatestFromSubscriber; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../util/subscribeToResult":238}],207:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../util/subscribeToResult":237}],206:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -15563,7 +15420,7 @@ var ZipBufferIterator = (function (_super) { return ZipBufferIterator; }(OuterSubscriber_1.OuterSubscriber)); -},{"../OuterSubscriber":31,"../Subscriber":36,"../observable/ArrayObservable":93,"../symbol/iterator":215,"../util/isArray":227,"../util/subscribeToResult":238}],208:[function(require,module,exports){ +},{"../OuterSubscriber":31,"../Subscriber":36,"../observable/ArrayObservable":93,"../symbol/iterator":214,"../util/isArray":226,"../util/subscribeToResult":237}],207:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -15608,7 +15465,7 @@ var Action = (function (_super) { }(Subscription_1.Subscription)); exports.Action = Action; -},{"../Subscription":37}],209:[function(require,module,exports){ +},{"../Subscription":37}],208:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -15751,7 +15608,7 @@ var AsyncAction = (function (_super) { }(Action_1.Action)); exports.AsyncAction = AsyncAction; -},{"../util/root":237,"./Action":208}],210:[function(require,module,exports){ +},{"../util/root":236,"./Action":207}],209:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -15803,7 +15660,7 @@ var AsyncScheduler = (function (_super) { }(Scheduler_1.Scheduler)); exports.AsyncScheduler = AsyncScheduler; -},{"../Scheduler":33}],211:[function(require,module,exports){ +},{"../Scheduler":33}],210:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -15853,7 +15710,7 @@ var QueueAction = (function (_super) { }(AsyncAction_1.AsyncAction)); exports.QueueAction = QueueAction; -},{"./AsyncAction":209}],212:[function(require,module,exports){ +},{"./AsyncAction":208}],211:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -15870,7 +15727,7 @@ var QueueScheduler = (function (_super) { }(AsyncScheduler_1.AsyncScheduler)); exports.QueueScheduler = QueueScheduler; -},{"./AsyncScheduler":210}],213:[function(require,module,exports){ +},{"./AsyncScheduler":209}],212:[function(require,module,exports){ "use strict"; var AsyncAction_1 = require('./AsyncAction'); var AsyncScheduler_1 = require('./AsyncScheduler'); @@ -15918,7 +15775,7 @@ var AsyncScheduler_1 = require('./AsyncScheduler'); */ exports.async = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction); -},{"./AsyncAction":209,"./AsyncScheduler":210}],214:[function(require,module,exports){ +},{"./AsyncAction":208,"./AsyncScheduler":209}],213:[function(require,module,exports){ "use strict"; var QueueAction_1 = require('./QueueAction'); var QueueScheduler_1 = require('./QueueScheduler'); @@ -15985,7 +15842,7 @@ var QueueScheduler_1 = require('./QueueScheduler'); */ exports.queue = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction); -},{"./QueueAction":211,"./QueueScheduler":212}],215:[function(require,module,exports){ +},{"./QueueAction":210,"./QueueScheduler":211}],214:[function(require,module,exports){ "use strict"; var root_1 = require('../util/root'); function symbolIteratorPonyfill(root) { @@ -16024,7 +15881,7 @@ exports.iterator = symbolIteratorPonyfill(root_1.root); */ exports.$$iterator = exports.iterator; -},{"../util/root":237}],216:[function(require,module,exports){ +},{"../util/root":236}],215:[function(require,module,exports){ "use strict"; var root_1 = require('../util/root'); function getSymbolObservable(context) { @@ -16051,7 +15908,7 @@ exports.observable = getSymbolObservable(root_1.root); */ exports.$$observable = exports.observable; -},{"../util/root":237}],217:[function(require,module,exports){ +},{"../util/root":236}],216:[function(require,module,exports){ "use strict"; var root_1 = require('../util/root'); var Symbol = root_1.root.Symbol; @@ -16062,7 +15919,7 @@ exports.rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'f */ exports.$$rxSubscriber = exports.rxSubscriber; -},{"../util/root":237}],218:[function(require,module,exports){ +},{"../util/root":236}],217:[function(require,module,exports){ "use strict"; var root_1 = require('./root'); var RequestAnimationFrameDefinition = (function () { @@ -16097,7 +15954,7 @@ var RequestAnimationFrameDefinition = (function () { exports.RequestAnimationFrameDefinition = RequestAnimationFrameDefinition; exports.AnimationFrame = new RequestAnimationFrameDefinition(root_1.root); -},{"./root":237}],219:[function(require,module,exports){ +},{"./root":236}],218:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -16126,7 +15983,7 @@ var ArgumentOutOfRangeError = (function (_super) { }(Error)); exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError; -},{}],220:[function(require,module,exports){ +},{}],219:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -16155,7 +16012,7 @@ var EmptyError = (function (_super) { }(Error)); exports.EmptyError = EmptyError; -},{}],221:[function(require,module,exports){ +},{}],220:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -16183,7 +16040,7 @@ var ObjectUnsubscribedError = (function (_super) { }(Error)); exports.ObjectUnsubscribedError = ObjectUnsubscribedError; -},{}],222:[function(require,module,exports){ +},{}],221:[function(require,module,exports){ "use strict"; var root_1 = require('./root'); function minimalSetImpl() { @@ -16217,7 +16074,7 @@ function minimalSetImpl() { exports.minimalSetImpl = minimalSetImpl; exports.Set = root_1.root.Set || minimalSetImpl(); -},{"./root":237}],223:[function(require,module,exports){ +},{"./root":236}],222:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -16243,7 +16100,7 @@ var TimeoutError = (function (_super) { }(Error)); exports.TimeoutError = TimeoutError; -},{}],224:[function(require,module,exports){ +},{}],223:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; @@ -16269,41 +16126,41 @@ var UnsubscriptionError = (function (_super) { }(Error)); exports.UnsubscriptionError = UnsubscriptionError; -},{}],225:[function(require,module,exports){ +},{}],224:[function(require,module,exports){ "use strict"; // typeof any so that it we don't have to cast when comparing a result to the error object exports.errorObject = { e: {} }; -},{}],226:[function(require,module,exports){ +},{}],225:[function(require,module,exports){ "use strict"; function identity(x) { return x; } exports.identity = identity; -},{}],227:[function(require,module,exports){ +},{}],226:[function(require,module,exports){ "use strict"; exports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); -},{}],228:[function(require,module,exports){ +},{}],227:[function(require,module,exports){ "use strict"; exports.isArrayLike = (function (x) { return x && typeof x.length === 'number'; }); -},{}],229:[function(require,module,exports){ +},{}],228:[function(require,module,exports){ "use strict"; function isDate(value) { return value instanceof Date && !isNaN(+value); } exports.isDate = isDate; -},{}],230:[function(require,module,exports){ +},{}],229:[function(require,module,exports){ "use strict"; function isFunction(x) { return typeof x === 'function'; } exports.isFunction = isFunction; -},{}],231:[function(require,module,exports){ +},{}],230:[function(require,module,exports){ "use strict"; var isArray_1 = require('../util/isArray'); function isNumeric(val) { @@ -16316,34 +16173,34 @@ function isNumeric(val) { exports.isNumeric = isNumeric; ; -},{"../util/isArray":227}],232:[function(require,module,exports){ +},{"../util/isArray":226}],231:[function(require,module,exports){ "use strict"; function isObject(x) { return x != null && typeof x === 'object'; } exports.isObject = isObject; -},{}],233:[function(require,module,exports){ +},{}],232:[function(require,module,exports){ "use strict"; function isPromise(value) { return value && typeof value.subscribe !== 'function' && typeof value.then === 'function'; } exports.isPromise = isPromise; -},{}],234:[function(require,module,exports){ +},{}],233:[function(require,module,exports){ "use strict"; function isScheduler(value) { return value && typeof value.schedule === 'function'; } exports.isScheduler = isScheduler; -},{}],235:[function(require,module,exports){ +},{}],234:[function(require,module,exports){ "use strict"; /* tslint:disable:no-empty */ function noop() { } exports.noop = noop; -},{}],236:[function(require,module,exports){ +},{}],235:[function(require,module,exports){ "use strict"; var noop_1 = require('./noop'); /* tslint:enable:max-line-length */ @@ -16369,7 +16226,7 @@ function pipeFromArray(fns) { } exports.pipeFromArray = pipeFromArray; -},{"./noop":235}],237:[function(require,module,exports){ +},{"./noop":234}],236:[function(require,module,exports){ (function (global){ "use strict"; // CommonJS / Node have global context exposed as "global" variable. @@ -16392,7 +16249,7 @@ exports.root = _root; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],238:[function(require,module,exports){ +},{}],237:[function(require,module,exports){ "use strict"; var root_1 = require('./root'); var isArrayLike_1 = require('./isArrayLike'); @@ -16472,7 +16329,7 @@ function subscribeToResult(outerSubscriber, result, outerValue, outerIndex) { } exports.subscribeToResult = subscribeToResult; -},{"../InnerSubscriber":27,"../Observable":29,"../symbol/iterator":215,"../symbol/observable":216,"./isArrayLike":228,"./isObject":232,"./isPromise":233,"./root":237}],239:[function(require,module,exports){ +},{"../InnerSubscriber":27,"../Observable":29,"../symbol/iterator":214,"../symbol/observable":215,"./isArrayLike":227,"./isObject":231,"./isPromise":232,"./root":236}],238:[function(require,module,exports){ "use strict"; var Subscriber_1 = require('../Subscriber'); var rxSubscriber_1 = require('../symbol/rxSubscriber'); @@ -16493,7 +16350,7 @@ function toSubscriber(nextOrObserver, error, complete) { } exports.toSubscriber = toSubscriber; -},{"../Observer":30,"../Subscriber":36,"../symbol/rxSubscriber":217}],240:[function(require,module,exports){ +},{"../Observer":30,"../Subscriber":36,"../symbol/rxSubscriber":216}],239:[function(require,module,exports){ "use strict"; var errorObject_1 = require('./errorObject'); var tryCatchTarget; @@ -16513,7 +16370,7 @@ function tryCatch(fn) { exports.tryCatch = tryCatch; ; -},{"./errorObject":225}],241:[function(require,module,exports){ +},{"./errorObject":224}],240:[function(require,module,exports){ // threejs.org/license (function(m,ja){"object"===typeof exports&&"undefined"!==typeof module?ja(exports):"function"===typeof define&&define.amd?define(["exports"],ja):ja(m.THREE=m.THREE||{})})(this,function(m){function ja(){}function C(a,b){this.x=a||0;this.y=b||0}function K(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];0 b ? 1 : -1 } -},{}],252:[function(require,module,exports){ +},{}],251:[function(require,module,exports){ var applyProperties = require("./apply-properties") var isWidget = require("../vnode/is-widget.js") @@ -19474,7 +19331,7 @@ function replaceRoot(oldRoot, newRoot) { return newRoot; } -},{"../vnode/is-widget.js":264,"../vnode/vpatch.js":267,"./apply-properties":249,"./update-widget":254}],253:[function(require,module,exports){ +},{"../vnode/is-widget.js":263,"../vnode/vpatch.js":266,"./apply-properties":248,"./update-widget":253}],252:[function(require,module,exports){ var document = require("global/document") var isArray = require("x-is-array") @@ -19556,7 +19413,7 @@ function patchIndices(patches) { return indices } -},{"./create-element":250,"./dom-index":251,"./patch-op":252,"global/document":16,"x-is-array":289}],254:[function(require,module,exports){ +},{"./create-element":249,"./dom-index":250,"./patch-op":251,"global/document":16,"x-is-array":288}],253:[function(require,module,exports){ var isWidget = require("../vnode/is-widget.js") module.exports = updateWidget @@ -19573,7 +19430,7 @@ function updateWidget(a, b) { return false } -},{"../vnode/is-widget.js":264}],255:[function(require,module,exports){ +},{"../vnode/is-widget.js":263}],254:[function(require,module,exports){ 'use strict'; var EvStore = require('ev-store'); @@ -19602,7 +19459,7 @@ EvHook.prototype.unhook = function(node, propertyName) { es[propName] = undefined; }; -},{"ev-store":9}],256:[function(require,module,exports){ +},{"ev-store":9}],255:[function(require,module,exports){ 'use strict'; module.exports = SoftSetHook; @@ -19621,7 +19478,7 @@ SoftSetHook.prototype.hook = function (node, propertyName) { } }; -},{}],257:[function(require,module,exports){ +},{}],256:[function(require,module,exports){ 'use strict'; var isArray = require('x-is-array'); @@ -19760,7 +19617,7 @@ function errorString(obj) { } } -},{"../vnode/is-thunk":260,"../vnode/is-vhook":261,"../vnode/is-vnode":262,"../vnode/is-vtext":263,"../vnode/is-widget":264,"../vnode/vnode.js":266,"../vnode/vtext.js":268,"./hooks/ev-hook.js":255,"./hooks/soft-set-hook.js":256,"./parse-tag.js":258,"x-is-array":289}],258:[function(require,module,exports){ +},{"../vnode/is-thunk":259,"../vnode/is-vhook":260,"../vnode/is-vnode":261,"../vnode/is-vtext":262,"../vnode/is-widget":263,"../vnode/vnode.js":265,"../vnode/vtext.js":267,"./hooks/ev-hook.js":254,"./hooks/soft-set-hook.js":255,"./parse-tag.js":257,"x-is-array":288}],257:[function(require,module,exports){ 'use strict'; var split = require('browser-split'); @@ -19816,7 +19673,7 @@ function parseTag(tag, props) { return props.namespace ? tagName : tagName.toUpperCase(); } -},{"browser-split":5}],259:[function(require,module,exports){ +},{"browser-split":5}],258:[function(require,module,exports){ var isVNode = require("./is-vnode") var isVText = require("./is-vtext") var isWidget = require("./is-widget") @@ -19858,14 +19715,14 @@ function renderThunk(thunk, previous) { return renderedThunk } -},{"./is-thunk":260,"./is-vnode":262,"./is-vtext":263,"./is-widget":264}],260:[function(require,module,exports){ +},{"./is-thunk":259,"./is-vnode":261,"./is-vtext":262,"./is-widget":263}],259:[function(require,module,exports){ module.exports = isThunk function isThunk(t) { return t && t.type === "Thunk" } -},{}],261:[function(require,module,exports){ +},{}],260:[function(require,module,exports){ module.exports = isHook function isHook(hook) { @@ -19874,7 +19731,7 @@ function isHook(hook) { typeof hook.unhook === "function" && !hook.hasOwnProperty("unhook")) } -},{}],262:[function(require,module,exports){ +},{}],261:[function(require,module,exports){ var version = require("./version") module.exports = isVirtualNode @@ -19883,7 +19740,7 @@ function isVirtualNode(x) { return x && x.type === "VirtualNode" && x.version === version } -},{"./version":265}],263:[function(require,module,exports){ +},{"./version":264}],262:[function(require,module,exports){ var version = require("./version") module.exports = isVirtualText @@ -19892,17 +19749,17 @@ function isVirtualText(x) { return x && x.type === "VirtualText" && x.version === version } -},{"./version":265}],264:[function(require,module,exports){ +},{"./version":264}],263:[function(require,module,exports){ module.exports = isWidget function isWidget(w) { return w && w.type === "Widget" } -},{}],265:[function(require,module,exports){ +},{}],264:[function(require,module,exports){ module.exports = "2" -},{}],266:[function(require,module,exports){ +},{}],265:[function(require,module,exports){ var version = require("./version") var isVNode = require("./is-vnode") var isWidget = require("./is-widget") @@ -19976,7 +19833,7 @@ function VirtualNode(tagName, properties, children, key, namespace) { VirtualNode.prototype.version = version VirtualNode.prototype.type = "VirtualNode" -},{"./is-thunk":260,"./is-vhook":261,"./is-vnode":262,"./is-widget":264,"./version":265}],267:[function(require,module,exports){ +},{"./is-thunk":259,"./is-vhook":260,"./is-vnode":261,"./is-widget":263,"./version":264}],266:[function(require,module,exports){ var version = require("./version") VirtualPatch.NONE = 0 @@ -20000,7 +19857,7 @@ function VirtualPatch(type, vNode, patch) { VirtualPatch.prototype.version = version VirtualPatch.prototype.type = "VirtualPatch" -},{"./version":265}],268:[function(require,module,exports){ +},{"./version":264}],267:[function(require,module,exports){ var version = require("./version") module.exports = VirtualText @@ -20012,7 +19869,7 @@ function VirtualText(text) { VirtualText.prototype.version = version VirtualText.prototype.type = "VirtualText" -},{"./version":265}],269:[function(require,module,exports){ +},{"./version":264}],268:[function(require,module,exports){ var isObject = require("is-object") var isHook = require("../vnode/is-vhook") @@ -20072,7 +19929,7 @@ function getPrototype(value) { } } -},{"../vnode/is-vhook":261,"is-object":20}],270:[function(require,module,exports){ +},{"../vnode/is-vhook":260,"is-object":20}],269:[function(require,module,exports){ var isArray = require("x-is-array") var VPatch = require("../vnode/vpatch") @@ -20501,7 +20358,7 @@ function appendPatch(apply, patch) { } } -},{"../vnode/handle-thunk":259,"../vnode/is-thunk":260,"../vnode/is-vnode":262,"../vnode/is-vtext":263,"../vnode/is-widget":264,"../vnode/vpatch":267,"./diff-props":269,"x-is-array":289}],271:[function(require,module,exports){ +},{"../vnode/handle-thunk":258,"../vnode/is-thunk":259,"../vnode/is-vnode":261,"../vnode/is-vtext":262,"../vnode/is-widget":263,"../vnode/vpatch":266,"./diff-props":268,"x-is-array":288}],270:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -20520,7 +20377,7 @@ define(function (require) { }); })(typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); }); -},{"./Scheduler":272,"./env":284,"./makePromise":286}],272:[function(require,module,exports){ +},{"./Scheduler":271,"./env":283,"./makePromise":285}],271:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -20602,7 +20459,7 @@ define(function() { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],273:[function(require,module,exports){ +},{}],272:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -20630,7 +20487,7 @@ define(function() { return TimeoutError; }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],274:[function(require,module,exports){ +},{}],273:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -20687,7 +20544,7 @@ define(function() { -},{}],275:[function(require,module,exports){ +},{}],274:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -20988,7 +20845,7 @@ define(function(require) { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); })); -},{"../apply":274,"../state":287}],276:[function(require,module,exports){ +},{"../apply":273,"../state":286}],275:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21150,7 +21007,7 @@ define(function() { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],277:[function(require,module,exports){ +},{}],276:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21179,7 +21036,7 @@ define(function() { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],278:[function(require,module,exports){ +},{}],277:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21201,7 +21058,7 @@ define(function(require) { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); })); -},{"../state":287}],279:[function(require,module,exports){ +},{"../state":286}],278:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21268,7 +21125,7 @@ define(function() { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],280:[function(require,module,exports){ +},{}],279:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21294,7 +21151,7 @@ define(function() { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],281:[function(require,module,exports){ +},{}],280:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21374,7 +21231,7 @@ define(function(require) { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); })); -},{"../TimeoutError":273,"../env":284}],282:[function(require,module,exports){ +},{"../TimeoutError":272,"../env":283}],281:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21462,7 +21319,7 @@ define(function(require) { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); })); -},{"../env":284,"../format":285}],283:[function(require,module,exports){ +},{"../env":283,"../format":284}],282:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21502,7 +21359,7 @@ define(function() { }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],284:[function(require,module,exports){ +},{}],283:[function(require,module,exports){ (function (process){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ @@ -21580,7 +21437,7 @@ define(function(require) { }).call(this,require('_process')) -},{"_process":6}],285:[function(require,module,exports){ +},{"_process":6}],284:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -21638,7 +21495,7 @@ define(function() { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],286:[function(require,module,exports){ +},{}],285:[function(require,module,exports){ (function (process){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ @@ -22598,7 +22455,7 @@ define(function() { }).call(this,require('_process')) -},{"_process":6}],287:[function(require,module,exports){ +},{"_process":6}],286:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @author Brian Cavalier */ /** @author John Hann */ @@ -22635,7 +22492,7 @@ define(function() { }); }(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); })); -},{}],288:[function(require,module,exports){ +},{}],287:[function(require,module,exports){ /** @license MIT License (c) copyright 2010-2014 original author or authors */ /** @@ -22865,7 +22722,7 @@ define(function (require) { }); })(typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); }); -},{"./lib/Promise":271,"./lib/TimeoutError":273,"./lib/apply":274,"./lib/decorators/array":275,"./lib/decorators/flow":276,"./lib/decorators/fold":277,"./lib/decorators/inspect":278,"./lib/decorators/iterate":279,"./lib/decorators/progress":280,"./lib/decorators/timed":281,"./lib/decorators/unhandledRejection":282,"./lib/decorators/with":283}],289:[function(require,module,exports){ +},{"./lib/Promise":270,"./lib/TimeoutError":272,"./lib/apply":273,"./lib/decorators/array":274,"./lib/decorators/flow":275,"./lib/decorators/fold":276,"./lib/decorators/inspect":277,"./lib/decorators/iterate":278,"./lib/decorators/progress":279,"./lib/decorators/timed":280,"./lib/decorators/unhandledRejection":281,"./lib/decorators/with":282}],288:[function(require,module,exports){ var nativeIsArray = Array.isArray var toString = Object.prototype.toString @@ -22875,7 +22732,7 @@ function isArray(obj) { return toString.call(obj) === "[object Array]" } -},{}],290:[function(require,module,exports){ +},{}],289:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var APIv3_1 = require("./api/APIv3"); @@ -22883,7 +22740,7 @@ exports.APIv3 = APIv3_1.APIv3; var ModelCreator_1 = require("./api/ModelCreator"); exports.ModelCreator = ModelCreator_1.ModelCreator; -},{"./api/APIv3":303,"./api/ModelCreator":304}],291:[function(require,module,exports){ +},{"./api/APIv3":302,"./api/ModelCreator":303}],290:[function(require,module,exports){ "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; @@ -22895,6 +22752,10 @@ var ComponentService_1 = require("./component/ComponentService"); exports.ComponentService = ComponentService_1.ComponentService; var HandlerBase_1 = require("./component/utils/HandlerBase"); exports.HandlerBase = HandlerBase_1.HandlerBase; +var MeshFactory_1 = require("./component/utils/MeshFactory"); +exports.MeshFactory = MeshFactory_1.MeshFactory; +var MeshScene_1 = require("./component/utils/MeshScene"); +exports.MeshScene = MeshScene_1.MeshScene; var AttributionComponent_1 = require("./component/AttributionComponent"); exports.AttributionComponent = AttributionComponent_1.AttributionComponent; var BackgroundComponent_1 = require("./component/BackgroundComponent"); @@ -22963,20 +22824,20 @@ var SequenceMode_1 = require("./component/sequence/SequenceMode"); exports.SequenceMode = SequenceMode_1.SequenceMode; var ImagePlaneComponent_1 = require("./component/imageplane/ImagePlaneComponent"); exports.ImagePlaneComponent = ImagePlaneComponent_1.ImagePlaneComponent; -var ImagePlaneFactory_1 = require("./component/imageplane/ImagePlaneFactory"); -exports.ImagePlaneFactory = ImagePlaneFactory_1.ImagePlaneFactory; var ImagePlaneGLRenderer_1 = require("./component/imageplane/ImagePlaneGLRenderer"); exports.ImagePlaneGLRenderer = ImagePlaneGLRenderer_1.ImagePlaneGLRenderer; -var ImagePlaneScene_1 = require("./component/imageplane/ImagePlaneScene"); -exports.ImagePlaneScene = ImagePlaneScene_1.ImagePlaneScene; -var ImagePlaneShaders_1 = require("./component/imageplane/ImagePlaneShaders"); -exports.ImagePlaneShaders = ImagePlaneShaders_1.ImagePlaneShaders; +var Shaders_1 = require("./component/shaders/Shaders"); +exports.Shaders = Shaders_1.Shaders; var SimpleMarker_1 = require("./component/marker/marker/SimpleMarker"); exports.SimpleMarker = SimpleMarker_1.SimpleMarker; var CircleMarker_1 = require("./component/marker/marker/CircleMarker"); exports.CircleMarker = CircleMarker_1.CircleMarker; -var SliderComponent_1 = require("./component/imageplane/SliderComponent"); +var SliderComponent_1 = require("./component/slider/SliderComponent"); exports.SliderComponent = SliderComponent_1.SliderComponent; +var SliderDOMRenderer_1 = require("./component/slider/SliderDOMRenderer"); +exports.SliderDOMRenderer = SliderDOMRenderer_1.SliderDOMRenderer; +var SliderGLRenderer_1 = require("./component/slider/SliderGLRenderer"); +exports.SliderGLRenderer = SliderGLRenderer_1.SliderGLRenderer; var StatsComponent_1 = require("./component/StatsComponent"); exports.StatsComponent = StatsComponent_1.StatsComponent; var TagHandlerBase_1 = require("./component/tag/handlers/TagHandlerBase"); @@ -23035,9 +22896,11 @@ var PolygonGeometry_1 = require("./component/tag/geometry/PolygonGeometry"); exports.PolygonGeometry = PolygonGeometry_1.PolygonGeometry; var GeometryTagError_1 = require("./component/tag/error/GeometryTagError"); exports.GeometryTagError = GeometryTagError_1.GeometryTagError; +var ZoomComponent_1 = require("./component/zoom/ZoomComponent"); +exports.ZoomComponent = ZoomComponent_1.ZoomComponent; __export(require("./component/interfaces/interfaces")); -},{"./component/AttributionComponent":305,"./component/BackgroundComponent":306,"./component/BearingComponent":307,"./component/CacheComponent":308,"./component/Component":309,"./component/ComponentService":310,"./component/CoverComponent":311,"./component/DebugComponent":312,"./component/ImageComponent":313,"./component/LoadingComponent":314,"./component/NavigationComponent":315,"./component/RouteComponent":316,"./component/StatsComponent":317,"./component/direction/DirectionComponent":318,"./component/direction/DirectionDOMCalculator":319,"./component/direction/DirectionDOMRenderer":320,"./component/imageplane/ImagePlaneComponent":321,"./component/imageplane/ImagePlaneFactory":322,"./component/imageplane/ImagePlaneGLRenderer":323,"./component/imageplane/ImagePlaneScene":324,"./component/imageplane/ImagePlaneShaders":325,"./component/imageplane/SliderComponent":326,"./component/interfaces/interfaces":328,"./component/keyboard/KeyPlayHandler":329,"./component/keyboard/KeySequenceNavigationHandler":330,"./component/keyboard/KeySpatialNavigationHandler":331,"./component/keyboard/KeyZoomHandler":332,"./component/keyboard/KeyboardComponent":333,"./component/marker/MarkerComponent":335,"./component/marker/MarkerScene":336,"./component/marker/MarkerSet":337,"./component/marker/marker/CircleMarker":338,"./component/marker/marker/Marker":339,"./component/marker/marker/SimpleMarker":340,"./component/mouse/BounceHandler":341,"./component/mouse/DoubleClickZoomHandler":342,"./component/mouse/DragPanHandler":343,"./component/mouse/MouseComponent":344,"./component/mouse/ScrollZoomHandler":345,"./component/mouse/TouchZoomHandler":346,"./component/popup/PopupComponent":348,"./component/popup/popup/Popup":349,"./component/sequence/SequenceComponent":350,"./component/sequence/SequenceDOMRenderer":351,"./component/sequence/SequenceMode":352,"./component/tag/TagComponent":354,"./component/tag/TagCreator":355,"./component/tag/TagDOMRenderer":356,"./component/tag/TagMode":357,"./component/tag/TagOperation":358,"./component/tag/TagScene":359,"./component/tag/TagSet":360,"./component/tag/error/GeometryTagError":361,"./component/tag/geometry/Geometry":362,"./component/tag/geometry/PointGeometry":363,"./component/tag/geometry/PolygonGeometry":364,"./component/tag/geometry/RectGeometry":365,"./component/tag/geometry/VertexGeometry":366,"./component/tag/handlers/CreateHandlerBase":367,"./component/tag/handlers/CreatePointHandler":368,"./component/tag/handlers/CreatePolygonHandler":369,"./component/tag/handlers/CreateRectDragHandler":370,"./component/tag/handlers/CreateRectHandler":371,"./component/tag/handlers/CreateVertexHandler":372,"./component/tag/handlers/EditVertexHandler":373,"./component/tag/handlers/TagHandlerBase":374,"./component/tag/tag/OutlineCreateTag":375,"./component/tag/tag/OutlineRenderTag":376,"./component/tag/tag/OutlineTag":377,"./component/tag/tag/RenderTag":378,"./component/tag/tag/SpotRenderTag":379,"./component/tag/tag/SpotTag":380,"./component/tag/tag/Tag":381,"./component/utils/HandlerBase":382}],292:[function(require,module,exports){ +},{"./component/AttributionComponent":304,"./component/BackgroundComponent":305,"./component/BearingComponent":306,"./component/CacheComponent":307,"./component/Component":308,"./component/ComponentService":309,"./component/CoverComponent":310,"./component/DebugComponent":311,"./component/ImageComponent":312,"./component/LoadingComponent":313,"./component/NavigationComponent":314,"./component/RouteComponent":315,"./component/StatsComponent":316,"./component/direction/DirectionComponent":317,"./component/direction/DirectionDOMCalculator":318,"./component/direction/DirectionDOMRenderer":319,"./component/imageplane/ImagePlaneComponent":320,"./component/imageplane/ImagePlaneGLRenderer":321,"./component/interfaces/interfaces":324,"./component/keyboard/KeyPlayHandler":325,"./component/keyboard/KeySequenceNavigationHandler":326,"./component/keyboard/KeySpatialNavigationHandler":327,"./component/keyboard/KeyZoomHandler":328,"./component/keyboard/KeyboardComponent":329,"./component/marker/MarkerComponent":331,"./component/marker/MarkerScene":332,"./component/marker/MarkerSet":333,"./component/marker/marker/CircleMarker":334,"./component/marker/marker/Marker":335,"./component/marker/marker/SimpleMarker":336,"./component/mouse/BounceHandler":337,"./component/mouse/DoubleClickZoomHandler":338,"./component/mouse/DragPanHandler":339,"./component/mouse/MouseComponent":340,"./component/mouse/ScrollZoomHandler":341,"./component/mouse/TouchZoomHandler":342,"./component/popup/PopupComponent":344,"./component/popup/popup/Popup":345,"./component/sequence/SequenceComponent":346,"./component/sequence/SequenceDOMRenderer":347,"./component/sequence/SequenceMode":348,"./component/shaders/Shaders":349,"./component/slider/SliderComponent":350,"./component/slider/SliderDOMRenderer":351,"./component/slider/SliderGLRenderer":352,"./component/tag/TagComponent":354,"./component/tag/TagCreator":355,"./component/tag/TagDOMRenderer":356,"./component/tag/TagMode":357,"./component/tag/TagOperation":358,"./component/tag/TagScene":359,"./component/tag/TagSet":360,"./component/tag/error/GeometryTagError":361,"./component/tag/geometry/Geometry":362,"./component/tag/geometry/PointGeometry":363,"./component/tag/geometry/PolygonGeometry":364,"./component/tag/geometry/RectGeometry":365,"./component/tag/geometry/VertexGeometry":366,"./component/tag/handlers/CreateHandlerBase":367,"./component/tag/handlers/CreatePointHandler":368,"./component/tag/handlers/CreatePolygonHandler":369,"./component/tag/handlers/CreateRectDragHandler":370,"./component/tag/handlers/CreateRectHandler":371,"./component/tag/handlers/CreateVertexHandler":372,"./component/tag/handlers/EditVertexHandler":373,"./component/tag/handlers/TagHandlerBase":374,"./component/tag/tag/OutlineCreateTag":375,"./component/tag/tag/OutlineRenderTag":376,"./component/tag/tag/OutlineTag":377,"./component/tag/tag/RenderTag":378,"./component/tag/tag/SpotRenderTag":379,"./component/tag/tag/SpotTag":380,"./component/tag/tag/Tag":381,"./component/utils/HandlerBase":382,"./component/utils/MeshFactory":383,"./component/utils/MeshScene":384,"./component/zoom/ZoomComponent":385}],291:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var EdgeDirection_1 = require("./graph/edge/EdgeDirection"); @@ -23051,7 +22914,7 @@ exports.EdgeCalculatorCoefficients = EdgeCalculatorCoefficients_1.EdgeCalculator var EdgeCalculator_1 = require("./graph/edge/EdgeCalculator"); exports.EdgeCalculator = EdgeCalculator_1.EdgeCalculator; -},{"./graph/edge/EdgeCalculator":402,"./graph/edge/EdgeCalculatorCoefficients":403,"./graph/edge/EdgeCalculatorDirections":404,"./graph/edge/EdgeCalculatorSettings":405,"./graph/edge/EdgeDirection":406}],293:[function(require,module,exports){ +},{"./graph/edge/EdgeCalculator":405,"./graph/edge/EdgeCalculatorCoefficients":406,"./graph/edge/EdgeCalculatorDirections":407,"./graph/edge/EdgeCalculatorSettings":408,"./graph/edge/EdgeDirection":409}],292:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var AbortMapillaryError_1 = require("./error/AbortMapillaryError"); @@ -23063,7 +22926,7 @@ exports.GraphMapillaryError = GraphMapillaryError_1.GraphMapillaryError; var MapillaryError_1 = require("./error/MapillaryError"); exports.MapillaryError = MapillaryError_1.MapillaryError; -},{"./error/AbortMapillaryError":383,"./error/ArgumentMapillaryError":384,"./error/GraphMapillaryError":385,"./error/MapillaryError":386}],294:[function(require,module,exports){ +},{"./error/AbortMapillaryError":386,"./error/ArgumentMapillaryError":387,"./error/GraphMapillaryError":388,"./error/MapillaryError":389}],293:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Camera_1 = require("./geo/Camera"); @@ -23077,7 +22940,7 @@ exports.Spatial = Spatial_1.Spatial; var Transform_1 = require("./geo/Transform"); exports.Transform = Transform_1.Transform; -},{"./geo/Camera":387,"./geo/GeoCoords":388,"./geo/Spatial":389,"./geo/Transform":390,"./geo/ViewportCoords":391}],295:[function(require,module,exports){ +},{"./geo/Camera":390,"./geo/GeoCoords":391,"./geo/Spatial":392,"./geo/Transform":393,"./geo/ViewportCoords":394}],294:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var FilterCreator_1 = require("./graph/FilterCreator"); @@ -23101,7 +22964,7 @@ exports.NodeCache = NodeCache_1.NodeCache; var Sequence_1 = require("./graph/Sequence"); exports.Sequence = Sequence_1.Sequence; -},{"./graph/FilterCreator":392,"./graph/Graph":393,"./graph/GraphCalculator":394,"./graph/GraphMode":395,"./graph/GraphService":396,"./graph/ImageLoadingService":397,"./graph/MeshReader":398,"./graph/Node":399,"./graph/NodeCache":400,"./graph/Sequence":401}],296:[function(require,module,exports){ +},{"./graph/FilterCreator":395,"./graph/Graph":396,"./graph/GraphCalculator":397,"./graph/GraphMode":398,"./graph/GraphService":399,"./graph/ImageLoadingService":400,"./graph/MeshReader":401,"./graph/Node":402,"./graph/NodeCache":403,"./graph/Sequence":404}],295:[function(require,module,exports){ "use strict"; /** * MapillaryJS is a WebGL JavaScript library for exploring street level imagery @@ -23114,6 +22977,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); __export(require("./Support")); var Edge_1 = require("./Edge"); exports.EdgeDirection = Edge_1.EdgeDirection; +var Error_1 = require("./Error"); +exports.AbortMapillaryError = Error_1.AbortMapillaryError; var Render_1 = require("./Render"); exports.RenderMode = Render_1.RenderMode; var State_1 = require("./State"); @@ -23122,6 +22987,8 @@ var Viewer_1 = require("./Viewer"); exports.Alignment = Viewer_1.Alignment; exports.ImageSize = Viewer_1.ImageSize; exports.Viewer = Viewer_1.Viewer; +var Component_1 = require("./Component"); +exports.SliderMode = Component_1.SliderMode; var TagComponent = require("./component/tag/Tag"); exports.TagComponent = TagComponent; var MarkerComponent = require("./component/marker/Marker"); @@ -23129,7 +22996,7 @@ exports.MarkerComponent = MarkerComponent; var PopupComponent = require("./component/popup/Popup"); exports.PopupComponent = PopupComponent; -},{"./Edge":292,"./Render":297,"./State":298,"./Support":299,"./Viewer":302,"./component/marker/Marker":334,"./component/popup/Popup":347,"./component/tag/Tag":353}],297:[function(require,module,exports){ +},{"./Component":290,"./Edge":291,"./Error":292,"./Render":296,"./State":297,"./Support":298,"./Viewer":301,"./component/marker/Marker":330,"./component/popup/Popup":343,"./component/tag/Tag":353}],296:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var DOMRenderer_1 = require("./render/DOMRenderer"); @@ -23145,9 +23012,11 @@ exports.RenderMode = RenderMode_1.RenderMode; var RenderService_1 = require("./render/RenderService"); exports.RenderService = RenderService_1.RenderService; -},{"./render/DOMRenderer":407,"./render/GLRenderStage":408,"./render/GLRenderer":409,"./render/RenderCamera":410,"./render/RenderMode":411,"./render/RenderService":412}],298:[function(require,module,exports){ +},{"./render/DOMRenderer":410,"./render/GLRenderStage":411,"./render/GLRenderer":412,"./render/RenderCamera":413,"./render/RenderMode":414,"./render/RenderService":415}],297:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +var RotationDelta_1 = require("./state/RotationDelta"); +exports.RotationDelta = RotationDelta_1.RotationDelta; var State_1 = require("./state/State"); exports.State = State_1.State; var StateBase_1 = require("./state/states/StateBase"); @@ -23158,12 +23027,16 @@ var StateService_1 = require("./state/StateService"); exports.StateService = StateService_1.StateService; var TransitionMode_1 = require("./state/TransitionMode"); exports.TransitionMode = TransitionMode_1.TransitionMode; +var InteractiveStateBase_1 = require("./state/states/InteractiveStateBase"); +exports.InteractiveStateBase = InteractiveStateBase_1.InteractiveStateBase; +var InteractiveWaitingState_1 = require("./state/states/InteractiveWaitingState"); +exports.InteractiveWaitingState = InteractiveWaitingState_1.InteractiveWaitingState; var TraversingState_1 = require("./state/states/TraversingState"); exports.TraversingState = TraversingState_1.TraversingState; var WaitingState_1 = require("./state/states/WaitingState"); exports.WaitingState = WaitingState_1.WaitingState; -},{"./state/State":413,"./state/StateContext":414,"./state/StateService":415,"./state/TransitionMode":416,"./state/states/StateBase":417,"./state/states/TraversingState":418,"./state/states/WaitingState":419}],299:[function(require,module,exports){ +},{"./state/RotationDelta":416,"./state/State":417,"./state/StateContext":418,"./state/StateService":419,"./state/TransitionMode":420,"./state/states/InteractiveStateBase":421,"./state/states/InteractiveWaitingState":422,"./state/states/StateBase":423,"./state/states/TraversingState":424,"./state/states/WaitingState":425}],298:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var support = require("./utils/Support"); @@ -23195,6 +23068,7 @@ exports.isSupported = isSupported; */ function isFallbackSupported() { return support.isBrowser() && + support.isBlobSupported() && support.isArraySupported() && support.isFunctionSupported() && support.isJSONSupported() && @@ -23202,7 +23076,7 @@ function isFallbackSupported() { } exports.isFallbackSupported = isFallbackSupported; -},{"./utils/Support":427}],300:[function(require,module,exports){ +},{"./utils/Support":433}],299:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ImageTileLoader_1 = require("./tiles/ImageTileLoader"); @@ -23214,7 +23088,7 @@ exports.TextureProvider = TextureProvider_1.TextureProvider; var RegionOfInterestCalculator_1 = require("./tiles/RegionOfInterestCalculator"); exports.RegionOfInterestCalculator = RegionOfInterestCalculator_1.RegionOfInterestCalculator; -},{"./tiles/ImageTileLoader":420,"./tiles/ImageTileStore":421,"./tiles/RegionOfInterestCalculator":422,"./tiles/TextureProvider":423}],301:[function(require,module,exports){ +},{"./tiles/ImageTileLoader":426,"./tiles/ImageTileStore":427,"./tiles/RegionOfInterestCalculator":428,"./tiles/TextureProvider":429}],300:[function(require,module,exports){ "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; @@ -23230,7 +23104,7 @@ __export(require("./utils/Support")); var Urls_1 = require("./utils/Urls"); exports.Urls = Urls_1.Urls; -},{"./utils/DOM":424,"./utils/EventEmitter":425,"./utils/Settings":426,"./utils/Support":427,"./utils/Urls":428}],302:[function(require,module,exports){ +},{"./utils/DOM":430,"./utils/EventEmitter":431,"./utils/Settings":432,"./utils/Support":433,"./utils/Urls":434}],301:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Alignment_1 = require("./viewer/Alignment"); @@ -23264,15 +23138,11 @@ exports.TouchService = TouchService_1.TouchService; var Viewer_1 = require("./viewer/Viewer"); exports.Viewer = Viewer_1.Viewer; -},{"./viewer/Alignment":429,"./viewer/CacheService":430,"./viewer/ComponentController":431,"./viewer/Container":432,"./viewer/ImageSize":433,"./viewer/KeyboardService":434,"./viewer/LoadingService":435,"./viewer/MouseService":436,"./viewer/Navigator":437,"./viewer/Observer":438,"./viewer/PlayService":439,"./viewer/Projection":440,"./viewer/SpriteService":441,"./viewer/TouchService":442,"./viewer/Viewer":443}],303:[function(require,module,exports){ +},{"./viewer/Alignment":435,"./viewer/CacheService":436,"./viewer/ComponentController":437,"./viewer/Container":438,"./viewer/ImageSize":439,"./viewer/KeyboardService":440,"./viewer/LoadingService":441,"./viewer/MouseService":442,"./viewer/Navigator":443,"./viewer/Observer":444,"./viewer/PlayService":445,"./viewer/Projection":446,"./viewer/SpriteService":447,"./viewer/TouchService":448,"./viewer/Viewer":449}],302:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/observable/defer"); -require("rxjs/add/observable/fromPromise"); -require("rxjs/add/operator/catch"); -require("rxjs/add/operator/map"); var API_1 = require("../API"); /** * @class APIv3 @@ -23488,7 +23358,7 @@ var APIv3 = /** @class */ (function () { exports.APIv3 = APIv3; exports.default = APIv3; -},{"../API":290,"rxjs/Observable":29,"rxjs/add/observable/defer":40,"rxjs/add/observable/fromPromise":44,"rxjs/add/operator/catch":54,"rxjs/add/operator/map":67}],304:[function(require,module,exports){ +},{"../API":289,"rxjs/Observable":29}],303:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -23532,7 +23402,7 @@ var ModelCreator = /** @class */ (function () { exports.ModelCreator = ModelCreator; exports.default = ModelCreator; -},{"../Utils":301,"falcor":15,"falcor-http-datasource":10}],305:[function(require,module,exports){ +},{"../Utils":300,"falcor":15,"falcor-http-datasource":10}],304:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -23547,6 +23417,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var vd = require("virtual-dom"); +var Observable_1 = require("rxjs/Observable"); var Component_1 = require("../Component"); var Utils_1 = require("../Utils"); var AttributionComponent = /** @class */ (function (_super) { @@ -23556,9 +23427,14 @@ var AttributionComponent = /** @class */ (function (_super) { } AttributionComponent.prototype._activate = function () { var _this = this; - this._disposable = this._navigator.stateService.currentNode$ - .map(function (node) { - return { name: _this._name, vnode: _this._getAttributionNode(node.username, node.key) }; + this._disposable = Observable_1.Observable + .combineLatest(this._navigator.stateService.currentNode$, this._container.renderService.size$) + .map(function (_a) { + var node = _a[0], size = _a[1]; + return { + name: _this._name, + vnode: _this._getAttributionNode(node.username, node.key, node.capturedAt, size.width), + }; }) .subscribe(this._container.domRenderer.render$); }; @@ -23568,18 +23444,22 @@ var AttributionComponent = /** @class */ (function (_super) { AttributionComponent.prototype._getDefaultConfiguration = function () { return {}; }; - AttributionComponent.prototype._getAttributionNode = function (username, key) { - return vd.h("div.Attribution", {}, [ - vd.h("a", { href: Utils_1.Urls.exporeUser(username), - target: "_blank", - textContent: "@" + username, - }, []), - vd.h("span", { textContent: "|" }, []), - vd.h("a", { href: Utils_1.Urls.exporeImage(key), - target: "_blank", - textContent: "mapillary.com", - }, []), - ]); + AttributionComponent.prototype._getAttributionNode = function (username, key, capturedAt, width) { + var compact = width <= 640; + var mapillaryIcon = vd.h("div.AttributionMapillaryLogo", []); + var mapillaryLink = vd.h("a.AttributionIconContainer", { href: Utils_1.Urls.explore, target: "_blank" }, [mapillaryIcon]); + var imageBy = compact ? "" + username : "image by " + username; + var imageByContent = vd.h("div.AttributionUsername", { textContent: imageBy }, []); + var date = new Date(capturedAt).toDateString().split(" "); + var formatted = (date.length > 3 ? + compact ? + [date[3]] : + [date[1], date[2] + ",", date[3]] : + date).join(" "); + var dateContent = vd.h("div.AttributionDate", { textContent: formatted }, []); + var imageLink = vd.h("a.AttributionImageContainer", { href: Utils_1.Urls.exporeImage(key), target: "_blank" }, [imageByContent, dateContent]); + var compactClass = compact ? ".AttributionCompact" : ""; + return vd.h("div.AttributionContainer" + compactClass, {}, [mapillaryLink, imageLink]); }; AttributionComponent.componentName = "attribution"; return AttributionComponent; @@ -23588,7 +23468,7 @@ exports.AttributionComponent = AttributionComponent; Component_1.ComponentService.register(AttributionComponent); exports.default = AttributionComponent; -},{"../Component":291,"../Utils":301,"virtual-dom":247}],306:[function(require,module,exports){ +},{"../Component":290,"../Utils":300,"rxjs/Observable":29,"virtual-dom":246}],305:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -23632,7 +23512,7 @@ exports.BackgroundComponent = BackgroundComponent; Component_1.ComponentService.register(BackgroundComponent); exports.default = BackgroundComponent; -},{"../Component":291,"virtual-dom":247}],307:[function(require,module,exports){ +},{"../Component":290,"virtual-dom":246}],306:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -23647,7 +23527,6 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var vd = require("virtual-dom"); -var Observable_1 = require("rxjs/Observable"); var Component_1 = require("../Component"); var Geo_1 = require("../Geo"); var BearingComponent = /** @class */ (function (_super) { @@ -23656,36 +23535,11 @@ var BearingComponent = /** @class */ (function (_super) { var _this = _super.call(this, name, container, navigator) || this; _this._spatial = new Geo_1.Spatial(); _this._svgNamespace = "http://www.w3.org/2000/svg"; - _this._distinctThreshold = Math.PI / 90; + _this._distinctThreshold = Math.PI / 360; return _this; } BearingComponent.prototype._activate = function () { var _this = this; - var nodeBearingFov$ = this._navigator.stateService.currentState$ - .distinctUntilChanged(undefined, function (frame) { - return frame.state.currentNode.key; - }) - .map(function (frame) { - var node = frame.state.currentNode; - var transform = frame.state.currentTransform; - if (node.pano) { - var panoHFov = 2 * Math.PI * node.gpano.CroppedAreaImageWidthPixels / node.gpano.FullPanoWidthPixels; - return [_this._spatial.degToRad(node.ca), panoHFov]; - } - var size = Math.max(transform.basicWidth, transform.basicHeight); - if (size <= 0) { - console.warn("Original image size (" + transform.basicWidth + ", " + transform.basicHeight + ") is invalid (" + node.key + ". " + - "Not showing available fov."); - } - var hFov = size > 0 ? - 2 * Math.atan(0.5 * transform.basicWidth / (size * transform.focal)) : - 0; - return [_this._spatial.degToRad(node.ca), hFov]; - }) - .distinctUntilChanged(function (a1, a2) { - return Math.abs(a2[0] - a1[0]) < _this._distinctThreshold && - Math.abs(a2[1] - a1[1]) < _this._distinctThreshold; - }); var cameraBearingFov$ = this._container.renderService.renderCamera$ .map(function (rc) { var vFov = _this._spatial.degToRad(rc.perspective.fov); @@ -23698,23 +23552,20 @@ var BearingComponent = /** @class */ (function (_super) { return Math.abs(a2[0] - a1[0]) < _this._distinctThreshold && Math.abs(a2[1] - a1[1]) < _this._distinctThreshold; }); - this._renderSubscription = Observable_1.Observable - .combineLatest(nodeBearingFov$, cameraBearingFov$) - .map(function (args) { - var background = vd.h("div.BearingIndicatorBackground", { oncontextmenu: function (event) { event.preventDefault(); } }, [ - vd.h("div.BearingIndicatorBackgroundRectangle", {}, []), - vd.h("div.BearingIndicatorBackgroundCircle", {}, []), - ]); - var north = vd.h("div.BearingIndicatorNorth", {}, []); - var nodeSector = _this._createCircleSector(args[0][0], args[0][1], "#000"); - var cameraSector = _this._createCircleSector(args[1][0], args[1][1], "#fff"); - var compass = _this._createCircleSectorCompass(nodeSector, cameraSector); + this._renderSubscription = cameraBearingFov$ + .map(function (_a) { + var bearing = _a[0], fov = _a[1]; + var background = vd.h("div.BearingIndicatorBackground", {}, []); + var backgroundCircle = vd.h("div.BearingIndicatorBackgroundCircle", {}, []); + var north = _this._createNorth(bearing); + var cameraSector = _this._createCircleSectorCompass(_this._createCircleSector(Math.max(Math.PI / 20, fov), "#FFF")); return { name: _this._name, - vnode: vd.h("div.BearingIndicator", {}, [ + vnode: vd.h("div.BearingIndicatorContainer", { oncontextmenu: function (event) { event.preventDefault(); } }, [ background, + backgroundCircle, north, - compass, + cameraSector, ]), }; }) @@ -23726,43 +23577,32 @@ var BearingComponent = /** @class */ (function (_super) { BearingComponent.prototype._getDefaultConfiguration = function () { return {}; }; - BearingComponent.prototype._createCircleSectorCompass = function (nodeSector, cameraSector) { + BearingComponent.prototype._createCircleSectorCompass = function (cameraSector) { var group = vd.h("g", { attributes: { transform: "translate(1,1)" }, namespace: this._svgNamespace, - }, [nodeSector, cameraSector]); - var centerCircle = vd.h("circle", { - attributes: { - cx: "1", - cy: "1", - fill: "#abb1b9", - r: "0.291667", - stroke: "#000", - "stroke-width": "0.0833333", - }, - namespace: this._svgNamespace, - }, []); + }, [cameraSector]); var svg = vd.h("svg", { attributes: { viewBox: "0 0 2 2" }, namespace: this._svgNamespace, style: { - bottom: "4px", - height: "48px", + height: "30px", left: "4px", position: "absolute", - width: "48px", + top: "4px", + width: "30px", }, - }, [group, centerCircle]); + }, [group]); return svg; }; - BearingComponent.prototype._createCircleSector = function (bearing, fov, fill) { + BearingComponent.prototype._createCircleSector = function (fov, fill) { if (fov > 2 * Math.PI - Math.PI / 90) { return vd.h("circle", { attributes: { cx: "0", cy: "0", fill: fill, r: "1" }, namespace: this._svgNamespace, }, []); } - var arcStart = bearing - fov / 2 - Math.PI / 2; + var arcStart = -Math.PI / 2 - fov / 2; var arcEnd = arcStart + fov; var startX = Math.cos(arcStart); var startY = Math.sin(arcStart); @@ -23775,6 +23615,11 @@ var BearingComponent = /** @class */ (function (_super) { namespace: this._svgNamespace, }, []); }; + BearingComponent.prototype._createNorth = function (bearing) { + var north = vd.h("div.BearingNorth", []); + var container = vd.h("div.BearingNorthContainer", { style: { transform: "rotateZ(" + -bearing * 180 / Math.PI + "deg)" } }, [north]); + return container; + }; BearingComponent.componentName = "bearing"; return BearingComponent; }(Component_1.Component)); @@ -23782,7 +23627,7 @@ exports.BearingComponent = BearingComponent; Component_1.ComponentService.register(BearingComponent); exports.default = BearingComponent; -},{"../Component":291,"../Geo":294,"rxjs/Observable":29,"virtual-dom":247}],308:[function(require,module,exports){ +},{"../Component":290,"../Geo":293,"virtual-dom":246}],307:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -23796,22 +23641,6 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/observable/from"); -require("rxjs/add/observable/merge"); -require("rxjs/add/observable/of"); -require("rxjs/add/observable/zip"); -require("rxjs/add/operator/catch"); -require("rxjs/add/operator/combineLatest"); -require("rxjs/add/operator/distinct"); -require("rxjs/add/operator/expand"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/merge"); -require("rxjs/add/operator/mergeMap"); -require("rxjs/add/operator/mergeAll"); -require("rxjs/add/operator/skip"); -require("rxjs/add/operator/switchMap"); var Edge_1 = require("../Edge"); var Component_1 = require("../Component"); var CacheComponent = /** @class */ (function (_super) { @@ -23940,7 +23769,7 @@ exports.CacheComponent = CacheComponent; Component_1.ComponentService.register(CacheComponent); exports.default = CacheComponent; -},{"../Component":291,"../Edge":292,"rxjs/Observable":29,"rxjs/add/observable/combineLatest":38,"rxjs/add/observable/from":42,"rxjs/add/observable/merge":45,"rxjs/add/observable/of":46,"rxjs/add/observable/zip":49,"rxjs/add/operator/catch":54,"rxjs/add/operator/combineLatest":55,"rxjs/add/operator/distinct":59,"rxjs/add/operator/expand":62,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/merge":68,"rxjs/add/operator/mergeAll":69,"rxjs/add/operator/mergeMap":70,"rxjs/add/operator/skip":80,"rxjs/add/operator/switchMap":84}],309:[function(require,module,exports){ +},{"../Component":290,"../Edge":291,"rxjs/Observable":29}],308:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -23955,9 +23784,6 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var BehaviorSubject_1 = require("rxjs/BehaviorSubject"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/startWith"); var Utils_1 = require("../Utils"); var Component = /** @class */ (function (_super) { __extends(Component, _super); @@ -24063,7 +23889,7 @@ var Component = /** @class */ (function (_super) { exports.Component = Component; exports.default = Component; -},{"../Utils":301,"rxjs/BehaviorSubject":26,"rxjs/Subject":34,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78,"rxjs/add/operator/startWith":83}],310:[function(require,module,exports){ +},{"../Utils":300,"rxjs/BehaviorSubject":26,"rxjs/Subject":34}],309:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -24165,7 +23991,7 @@ var ComponentService = /** @class */ (function () { exports.ComponentService = ComponentService; exports.default = ComponentService; -},{"../Error":293,"underscore":243}],311:[function(require,module,exports){ +},{"../Error":292,"underscore":242}],310:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -24180,9 +24006,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var vd = require("virtual-dom"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/withLatestFrom"); +var Observable_1 = require("rxjs/Observable"); var Component_1 = require("../Component"); var Utils_1 = require("../Utils"); var Viewer_1 = require("../Viewer"); @@ -24193,49 +24017,63 @@ var CoverComponent = /** @class */ (function (_super) { } CoverComponent.prototype._activate = function () { var _this = this; - this._keyDisposable = this._navigator.stateService.currentNode$ - .withLatestFrom(this._configuration$, function (node, configuration) { - return [node, configuration]; + this._configuration$ + .distinctUntilChanged(undefined, function (configuration) { + return configuration.state; }) - .filter(function (_a) { - var node = _a[0], configuration = _a[1]; - return node.key !== configuration.key; + .switchMap(function (configuration) { + return Observable_1.Observable + .combineLatest(Observable_1.Observable.of(configuration.state), _this._navigator.stateService.currentNode$); }) - .map(function (_a) { - var node = _a[0], configuration = _a[1]; - return node; + .switchMap(function (_a) { + var state = _a[0], node = _a[1]; + var keySrc$ = Observable_1.Observable + .combineLatest(Observable_1.Observable.of(node.key), node.image$ + .map(function (image) { + return image.src; + })); + return state === Component_1.CoverState.Visible ? keySrc$.first() : keySrc$; }) - .map(function (node) { - return { key: node.key, src: node.image.src }; + .distinctUntilChanged(function (_a, _b) { + var k1 = _a[0], s1 = _a[1]; + var k2 = _b[0], s2 = _b[1]; + return k1 === k2 && s1 === s2; + }) + .map(function (_a) { + var key = _a[0], src = _a[1]; + return { key: key, src: src }; }) .subscribe(this._configurationSubject$); - this._disposable = this._configuration$ - .map(function (conf) { - if (!conf.key) { + this._renderSubscription = Observable_1.Observable + .combineLatest(this._configuration$, this._container.renderService.size$) + .map(function (_a) { + var configuration = _a[0], size = _a[1]; + if (!configuration.key) { return { name: _this._name, vnode: vd.h("div", []) }; } - if (conf.state === Component_1.CoverState.Hidden) { - return { name: _this._name, vnode: vd.h("div.Cover.CoverDone", [_this._getCoverBackgroundVNode(conf)]) }; + var compactClass = size.width <= 640 || size.height <= 480 ? ".CoverCompact" : ""; + if (configuration.state === Component_1.CoverState.Hidden) { + var doneContainer = vd.h("div.CoverContainer.CoverDone" + compactClass, [_this._getCoverBackgroundVNode(configuration)]); + return { name: _this._name, vnode: doneContainer }; } - return { name: _this._name, vnode: _this._getCoverButtonVNode(conf) }; + var container = vd.h("div.CoverContainer" + compactClass, [_this._getCoverButtonVNode(configuration)]); + return { name: _this._name, vnode: container }; }) .subscribe(this._container.domRenderer.render$); }; CoverComponent.prototype._deactivate = function () { - this._disposable.unsubscribe(); - this._keyDisposable.unsubscribe(); + this._renderSubscription.unsubscribe(); + this._keySubscription.unsubscribe(); }; CoverComponent.prototype._getDefaultConfiguration = function () { return { state: Component_1.CoverState.Visible }; }; - CoverComponent.prototype._getCoverButtonVNode = function (conf) { + CoverComponent.prototype._getCoverButtonVNode = function (configuration) { var _this = this; - var cover = conf.state === Component_1.CoverState.Loading ? "div.Cover.CoverLoading" : "div.Cover"; - return vd.h(cover, [ - this._getCoverBackgroundVNode(conf), - vd.h("button.CoverButton", { onclick: function () { _this.configure({ state: Component_1.CoverState.Loading }); } }, ["Explore"]), - vd.h("a.CoverLogo", { href: Utils_1.Urls.explore, target: "_blank" }, []), - ]); + var cover = configuration.state === Component_1.CoverState.Loading ? "div.Cover.CoverLoading" : "div.Cover"; + var coverButton = vd.h("div.CoverButton", { onclick: function () { _this.configure({ state: Component_1.CoverState.Loading }); } }, [vd.h("div.CoverButtonIcon", [])]); + var coverLogo = vd.h("a.CoverLogo", { href: Utils_1.Urls.explore, target: "_blank" }, []); + return vd.h(cover, [this._getCoverBackgroundVNode(configuration), coverButton, coverLogo]); }; CoverComponent.prototype._getCoverBackgroundVNode = function (conf) { var url = conf.src != null ? @@ -24245,7 +24083,6 @@ var CoverComponent = /** @class */ (function (_super) { if (conf.state === Component_1.CoverState.Loading) { children.push(vd.h("div.Spinner", {}, [])); } - children.push(vd.h("div.CoverBackgroundGradient", {}, [])); return vd.h("div.CoverBackground", properties, children); }; CoverComponent.componentName = "cover"; @@ -24255,7 +24092,7 @@ exports.CoverComponent = CoverComponent; Component_1.ComponentService.registerCover(CoverComponent); exports.default = CoverComponent; -},{"../Component":291,"../Utils":301,"../Viewer":302,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/withLatestFrom":90,"virtual-dom":247}],312:[function(require,module,exports){ +},{"../Component":290,"../Utils":300,"../Viewer":301,"rxjs/Observable":29,"virtual-dom":246}],311:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -24272,7 +24109,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); var _ = require("underscore"); var vd = require("virtual-dom"); var BehaviorSubject_1 = require("rxjs/BehaviorSubject"); -require("rxjs/add/operator/combineLatest"); var Component_1 = require("../Component"); var DebugComponent = /** @class */ (function (_super) { __extends(DebugComponent, _super); @@ -24368,7 +24204,7 @@ exports.DebugComponent = DebugComponent; Component_1.ComponentService.register(DebugComponent); exports.default = DebugComponent; -},{"../Component":291,"rxjs/BehaviorSubject":26,"rxjs/add/operator/combineLatest":55,"underscore":243,"virtual-dom":247}],313:[function(require,module,exports){ +},{"../Component":290,"rxjs/BehaviorSubject":26,"underscore":242,"virtual-dom":246}],312:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -24384,7 +24220,6 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var vd = require("virtual-dom"); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/operator/combineLatest"); var Component_1 = require("../Component"); var Utils_1 = require("../Utils"); var ImageComponent = /** @class */ (function (_super) { @@ -24441,7 +24276,7 @@ exports.ImageComponent = ImageComponent; Component_1.ComponentService.register(ImageComponent); exports.default = ImageComponent; -},{"../Component":291,"../Utils":301,"rxjs/Observable":29,"rxjs/add/operator/combineLatest":55,"virtual-dom":247}],314:[function(require,module,exports){ +},{"../Component":290,"../Utils":300,"rxjs/Observable":29,"virtual-dom":246}],313:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -24458,7 +24293,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); var _ = require("underscore"); var vd = require("virtual-dom"); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/operator/combineLatest"); var Component_1 = require("../Component"); var LoadingComponent = /** @class */ (function (_super) { __extends(LoadingComponent, _super); @@ -24517,7 +24351,7 @@ exports.LoadingComponent = LoadingComponent; Component_1.ComponentService.register(LoadingComponent); exports.default = LoadingComponent; -},{"../Component":291,"rxjs/Observable":29,"rxjs/add/operator/combineLatest":55,"underscore":243,"virtual-dom":247}],315:[function(require,module,exports){ +},{"../Component":290,"rxjs/Observable":29,"underscore":242,"virtual-dom":246}],314:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -24533,8 +24367,6 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var vd = require("virtual-dom"); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/first"); var Edge_1 = require("../Edge"); var Error_1 = require("../Error"); var Component_1 = require("../Component"); @@ -24651,7 +24483,7 @@ exports.NavigationComponent = NavigationComponent; Component_1.ComponentService.register(NavigationComponent); exports.default = NavigationComponent; -},{"../Component":291,"../Edge":292,"../Error":293,"rxjs/Observable":29,"rxjs/add/operator/first":65,"rxjs/add/operator/map":67,"virtual-dom":247}],316:[function(require,module,exports){ +},{"../Component":290,"../Edge":291,"../Error":292,"rxjs/Observable":29,"virtual-dom":246}],315:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -24668,16 +24500,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); var _ = require("underscore"); var vd = require("virtual-dom"); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/observable/fromPromise"); -require("rxjs/add/observable/of"); -require("rxjs/add/operator/combineLatest"); -require("rxjs/add/operator/distinct"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/mergeMap"); -require("rxjs/add/operator/pluck"); -require("rxjs/add/operator/scan"); var Component_1 = require("../Component"); var DescriptionState = /** @class */ (function () { function DescriptionState() { @@ -24871,7 +24693,7 @@ exports.RouteComponent = RouteComponent; Component_1.ComponentService.register(RouteComponent); exports.default = RouteComponent; -},{"../Component":291,"rxjs/Observable":29,"rxjs/add/observable/fromPromise":44,"rxjs/add/observable/of":46,"rxjs/add/operator/combineLatest":55,"rxjs/add/operator/distinct":59,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/mergeMap":70,"rxjs/add/operator/pluck":72,"rxjs/add/operator/scan":78,"underscore":243,"virtual-dom":247}],317:[function(require,module,exports){ +},{"../Component":290,"rxjs/Observable":29,"underscore":242,"virtual-dom":246}],316:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -24885,11 +24707,6 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/operator/buffer"); -require("rxjs/add/operator/debounceTime"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/scan"); var Component_1 = require("../Component"); var StatsComponent = /** @class */ (function (_super) { __extends(StatsComponent, _super); @@ -24961,7 +24778,7 @@ exports.StatsComponent = StatsComponent; Component_1.ComponentService.register(StatsComponent); exports.default = StatsComponent; -},{"../Component":291,"rxjs/Observable":29,"rxjs/add/operator/buffer":51,"rxjs/add/operator/debounceTime":57,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/scan":78}],318:[function(require,module,exports){ +},{"../Component":290,"rxjs/Observable":29}],317:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -24978,12 +24795,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); var vd = require("virtual-dom"); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/operator/do"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/share"); var Component_1 = require("../../Component"); /** * @class DirectionComponent @@ -25147,7 +24958,7 @@ exports.DirectionComponent = DirectionComponent; Component_1.ComponentService.register(DirectionComponent); exports.default = DirectionComponent; -},{"../../Component":291,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/combineLatest":38,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/do":61,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/share":79,"virtual-dom":247}],319:[function(require,module,exports){ +},{"../../Component":290,"rxjs/Observable":29,"rxjs/Subject":34,"virtual-dom":246}],318:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Geo_1 = require("../../Geo"); @@ -25386,7 +25197,7 @@ var DirectionDOMCalculator = /** @class */ (function () { exports.DirectionDOMCalculator = DirectionDOMCalculator; exports.default = DirectionDOMCalculator; -},{"../../Geo":294}],320:[function(require,module,exports){ +},{"../../Geo":293}],319:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -25766,7 +25577,7 @@ var DirectionDOMRenderer = /** @class */ (function () { exports.DirectionDOMRenderer = DirectionDOMRenderer; exports.default = DirectionDOMRenderer; -},{"../../Component":291,"../../Edge":292,"../../Error":293,"../../Geo":294,"virtual-dom":247}],321:[function(require,module,exports){ +},{"../../Component":290,"../../Edge":291,"../../Error":292,"../../Geo":293,"virtual-dom":246}],320:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -25781,21 +25592,6 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/catch"); -require("rxjs/add/operator/combineLatest"); -require("rxjs/add/operator/debounceTime"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/pairwise"); -require("rxjs/add/operator/publish"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/skipWhile"); -require("rxjs/add/operator/startWith"); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/takeUntil"); -require("rxjs/add/operator/withLatestFrom"); var Component_1 = require("../../Component"); var Render_1 = require("../../Render"); var Tiles_1 = require("../../Tiles"); @@ -26063,244 +25859,15 @@ exports.ImagePlaneComponent = ImagePlaneComponent; Component_1.ComponentService.register(ImagePlaneComponent); exports.default = ImagePlaneComponent; -},{"../../Component":291,"../../Render":297,"../../Tiles":300,"../../Utils":301,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/operator/catch":54,"rxjs/add/operator/combineLatest":55,"rxjs/add/operator/debounceTime":57,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/pairwise":71,"rxjs/add/operator/publish":73,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78,"rxjs/add/operator/skipWhile":82,"rxjs/add/operator/startWith":83,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/takeUntil":86,"rxjs/add/operator/withLatestFrom":90}],322:[function(require,module,exports){ -"use strict"; -/// -Object.defineProperty(exports, "__esModule", { value: true }); -var THREE = require("three"); -var Component_1 = require("../../Component"); -var ImagePlaneFactory = /** @class */ (function () { - function ImagePlaneFactory(imagePlaneDepth, imageSphereRadius) { - this._imagePlaneDepth = imagePlaneDepth != null ? imagePlaneDepth : 200; - this._imageSphereRadius = imageSphereRadius != null ? imageSphereRadius : 200; - } - ImagePlaneFactory.prototype.createMesh = function (node, transform) { - var mesh = node.pano ? - this._createImageSphere(node, transform) : - this._createImagePlane(node, transform); - return mesh; - }; - ImagePlaneFactory.prototype._createImageSphere = function (node, transform) { - var texture = this._createTexture(node.image); - var materialParameters = this._createSphereMaterialParameters(transform, texture); - var material = new THREE.ShaderMaterial(materialParameters); - var mesh = this._useMesh(transform, node) ? - new THREE.Mesh(this._getImageSphereGeo(transform, node), material) : - new THREE.Mesh(this._getFlatImageSphereGeo(transform), material); - return mesh; - }; - ImagePlaneFactory.prototype._createImagePlane = function (node, transform) { - var texture = this._createTexture(node.image); - var materialParameters = this._createPlaneMaterialParameters(transform, texture); - var material = new THREE.ShaderMaterial(materialParameters); - var geometry = this._useMesh(transform, node) ? - this._getImagePlaneGeo(transform, node) : - this._getFlatImagePlaneGeo(transform); - return new THREE.Mesh(geometry, material); - }; - ImagePlaneFactory.prototype._createSphereMaterialParameters = function (transform, texture) { - var gpano = transform.gpano; - var halfCroppedWidth = (gpano.FullPanoWidthPixels - gpano.CroppedAreaImageWidthPixels) / 2; - var phiShift = 2 * Math.PI * (gpano.CroppedAreaLeftPixels - halfCroppedWidth) / gpano.FullPanoWidthPixels; - var phiLength = 2 * Math.PI * gpano.CroppedAreaImageWidthPixels / gpano.FullPanoWidthPixels; - var halfCroppedHeight = (gpano.FullPanoHeightPixels - gpano.CroppedAreaImageHeightPixels) / 2; - var thetaShift = Math.PI * (halfCroppedHeight - gpano.CroppedAreaTopPixels) / gpano.FullPanoHeightPixels; - var thetaLength = Math.PI * gpano.CroppedAreaImageHeightPixels / gpano.FullPanoHeightPixels; - var materialParameters = { - depthWrite: false, - fragmentShader: Component_1.ImagePlaneShaders.equirectangular.fragment, - side: THREE.DoubleSide, - transparent: true, - uniforms: { - opacity: { - type: "f", - value: 1, - }, - phiLength: { - type: "f", - value: phiLength, - }, - phiShift: { - type: "f", - value: phiShift, - }, - projectorMat: { - type: "m4", - value: transform.rt, - }, - projectorTex: { - type: "t", - value: texture, - }, - thetaLength: { - type: "f", - value: thetaLength, - }, - thetaShift: { - type: "f", - value: thetaShift, - }, - }, - vertexShader: Component_1.ImagePlaneShaders.equirectangular.vertex, - }; - return materialParameters; - }; - ImagePlaneFactory.prototype._createPlaneMaterialParameters = function (transform, texture) { - var materialParameters = { - depthWrite: false, - fragmentShader: Component_1.ImagePlaneShaders.perspective.fragment, - side: THREE.DoubleSide, - transparent: true, - uniforms: { - bbox: { - type: "v4", - value: new THREE.Vector4(0, 0, 1, 1), - }, - opacity: { - type: "f", - value: 1, - }, - projectorMat: { - type: "m4", - value: transform.projectorMatrix(), - }, - projectorTex: { - type: "t", - value: texture, - }, - }, - vertexShader: Component_1.ImagePlaneShaders.perspective.vertex, - }; - return materialParameters; - }; - ImagePlaneFactory.prototype._createTexture = function (image) { - var texture = new THREE.Texture(image); - texture.minFilter = THREE.LinearFilter; - texture.needsUpdate = true; - return texture; - }; - ImagePlaneFactory.prototype._useMesh = function (transform, node) { - return node.mesh.vertices.length && transform.hasValidScale; - }; - ImagePlaneFactory.prototype._getImageSphereGeo = function (transform, node) { - var t = new THREE.Matrix4().getInverse(transform.srt); - // push everything at least 5 meters in front of the camera - var minZ = 5.0 * transform.scale; - var maxZ = this._imageSphereRadius * transform.scale; - var vertices = node.mesh.vertices; - var numVertices = vertices.length / 3; - var positions = new Float32Array(vertices.length); - for (var i = 0; i < numVertices; ++i) { - var index = 3 * i; - var x = vertices[index + 0]; - var y = vertices[index + 1]; - var z = vertices[index + 2]; - var l = Math.sqrt(x * x + y * y + z * z); - var boundedL = Math.max(minZ, Math.min(l, maxZ)); - var factor = boundedL / l; - var p = new THREE.Vector3(x * factor, y * factor, z * factor); - p.applyMatrix4(t); - positions[index + 0] = p.x; - positions[index + 1] = p.y; - positions[index + 2] = p.z; - } - var faces = node.mesh.faces; - var indices = new Uint16Array(faces.length); - for (var i = 0; i < faces.length; ++i) { - indices[i] = faces[i]; - } - var geometry = new THREE.BufferGeometry(); - geometry.addAttribute("position", new THREE.BufferAttribute(positions, 3)); - geometry.setIndex(new THREE.BufferAttribute(indices, 1)); - return geometry; - }; - ImagePlaneFactory.prototype._getImagePlaneGeo = function (transform, node) { - var t = new THREE.Matrix4().getInverse(transform.srt); - // push everything at least 5 meters in front of the camera - var minZ = 5.0 * transform.scale; - var maxZ = this._imagePlaneDepth * transform.scale; - var vertices = node.mesh.vertices; - var numVertices = vertices.length / 3; - var positions = new Float32Array(vertices.length); - for (var i = 0; i < numVertices; ++i) { - var index = 3 * i; - var x = vertices[index + 0]; - var y = vertices[index + 1]; - var z = vertices[index + 2]; - var boundedZ = Math.max(minZ, Math.min(z, maxZ)); - var factor = boundedZ / z; - var p = new THREE.Vector3(x * factor, y * factor, boundedZ); - p.applyMatrix4(t); - positions[index + 0] = p.x; - positions[index + 1] = p.y; - positions[index + 2] = p.z; - } - var faces = node.mesh.faces; - var indices = new Uint16Array(faces.length); - for (var i = 0; i < faces.length; ++i) { - indices[i] = faces[i]; - } - var geometry = new THREE.BufferGeometry(); - geometry.addAttribute("position", new THREE.BufferAttribute(positions, 3)); - geometry.setIndex(new THREE.BufferAttribute(indices, 1)); - return geometry; - }; - ImagePlaneFactory.prototype._getFlatImageSphereGeo = function (transform) { - var gpano = transform.gpano; - var phiStart = 2 * Math.PI * gpano.CroppedAreaLeftPixels / gpano.FullPanoWidthPixels; - var phiLength = 2 * Math.PI * gpano.CroppedAreaImageWidthPixels / gpano.FullPanoWidthPixels; - var thetaStart = Math.PI * - (gpano.FullPanoHeightPixels - gpano.CroppedAreaImageHeightPixels - gpano.CroppedAreaTopPixels) / - gpano.FullPanoHeightPixels; - var thetaLength = Math.PI * gpano.CroppedAreaImageHeightPixels / gpano.FullPanoHeightPixels; - var geometry = new THREE.SphereGeometry(this._imageSphereRadius, 20, 40, phiStart - Math.PI / 2, phiLength, thetaStart, thetaLength); - geometry.applyMatrix(new THREE.Matrix4().getInverse(transform.rt)); - return geometry; - }; - ImagePlaneFactory.prototype._getFlatImagePlaneGeo = function (transform) { - var width = transform.width; - var height = transform.height; - var size = Math.max(width, height); - var dx = width / 2.0 / size; - var dy = height / 2.0 / size; - var vertices = []; - vertices.push(transform.unprojectSfM([-dx, -dy], this._imagePlaneDepth)); - vertices.push(transform.unprojectSfM([dx, -dy], this._imagePlaneDepth)); - vertices.push(transform.unprojectSfM([dx, dy], this._imagePlaneDepth)); - vertices.push(transform.unprojectSfM([-dx, dy], this._imagePlaneDepth)); - var positions = new Float32Array(12); - for (var i = 0; i < vertices.length; i++) { - var index = 3 * i; - positions[index + 0] = vertices[i][0]; - positions[index + 1] = vertices[i][1]; - positions[index + 2] = vertices[i][2]; - } - var indices = new Uint16Array(6); - indices[0] = 0; - indices[1] = 1; - indices[2] = 3; - indices[3] = 1; - indices[4] = 2; - indices[5] = 3; - var geometry = new THREE.BufferGeometry(); - geometry.addAttribute("position", new THREE.BufferAttribute(positions, 3)); - geometry.setIndex(new THREE.BufferAttribute(indices, 1)); - return geometry; - }; - return ImagePlaneFactory; -}()); -exports.ImagePlaneFactory = ImagePlaneFactory; -exports.default = ImagePlaneFactory; - -},{"../../Component":291,"three":241}],323:[function(require,module,exports){ +},{"../../Component":290,"../../Render":296,"../../Tiles":299,"../../Utils":300,"rxjs/Observable":29,"rxjs/Subject":34}],321:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var Component_1 = require("../../Component"); var ImagePlaneGLRenderer = /** @class */ (function () { function ImagePlaneGLRenderer() { - this._imagePlaneFactory = new Component_1.ImagePlaneFactory(); - this._imagePlaneScene = new Component_1.ImagePlaneScene(); + this._factory = new Component_1.MeshFactory(); + this._scene = new Component_1.MeshScene(); this._alpha = 0; this._alphaOld = 0; this._fadeOutSpeed = 0.05; @@ -26360,7 +25927,7 @@ var ImagePlaneGLRenderer = /** @class */ (function () { }; ImagePlaneGLRenderer.prototype._updateTexture = function (texture) { this._needsRender = true; - for (var _i = 0, _a = this._imagePlaneScene.imagePlanes; _i < _a.length; _i++) { + for (var _i = 0, _a = this._scene.imagePlanes; _i < _a.length; _i++) { var plane = _a[_i]; var material = plane.material; var oldTexture = material.uniforms.projectorTex.value; @@ -26374,7 +25941,7 @@ var ImagePlaneGLRenderer = /** @class */ (function () { return; } this._needsRender = true; - for (var _i = 0, _a = this._imagePlaneScene.imagePlanes; _i < _a.length; _i++) { + for (var _i = 0, _a = this._scene.imagePlanes; _i < _a.length; _i++) { var plane = _a[_i]; var material = plane.material; var texture = material.uniforms.projectorTex.value; @@ -26383,28 +25950,28 @@ var ImagePlaneGLRenderer = /** @class */ (function () { } }; ImagePlaneGLRenderer.prototype.render = function (perspectiveCamera, renderer) { - var planeAlpha = this._imagePlaneScene.imagePlanesOld.length ? 1 : this._alpha; - for (var _i = 0, _a = this._imagePlaneScene.imagePlanes; _i < _a.length; _i++) { + var planeAlpha = this._scene.imagePlanesOld.length ? 1 : this._alpha; + for (var _i = 0, _a = this._scene.imagePlanes; _i < _a.length; _i++) { var plane = _a[_i]; plane.material.uniforms.opacity.value = planeAlpha; } - for (var _b = 0, _c = this._imagePlaneScene.imagePlanesOld; _b < _c.length; _b++) { + for (var _b = 0, _c = this._scene.imagePlanesOld; _b < _c.length; _b++) { var plane = _c[_b]; plane.material.uniforms.opacity.value = this._alphaOld; } - renderer.render(this._imagePlaneScene.scene, perspectiveCamera); - renderer.render(this._imagePlaneScene.sceneOld, perspectiveCamera); - for (var _d = 0, _e = this._imagePlaneScene.imagePlanes; _d < _e.length; _d++) { + renderer.render(this._scene.scene, perspectiveCamera); + renderer.render(this._scene.sceneOld, perspectiveCamera); + for (var _d = 0, _e = this._scene.imagePlanes; _d < _e.length; _d++) { var plane = _e[_d]; plane.material.uniforms.opacity.value = this._alpha; } - renderer.render(this._imagePlaneScene.scene, perspectiveCamera); + renderer.render(this._scene.scene, perspectiveCamera); }; ImagePlaneGLRenderer.prototype.clearNeedsRender = function () { this._needsRender = false; }; ImagePlaneGLRenderer.prototype.dispose = function () { - this._imagePlaneScene.clear(); + this._scene.clear(); }; ImagePlaneGLRenderer.prototype._updateFrameId = function (frameId) { this._frameId = frameId; @@ -26438,14 +26005,14 @@ var ImagePlaneGLRenderer = /** @class */ (function () { } if (previousKey != null) { if (previousKey !== this._currentKey && previousKey !== this._previousKey) { - var previousMesh = this._imagePlaneFactory.createMesh(state.previousNode, state.previousTransform); - this._imagePlaneScene.updateImagePlanes([previousMesh]); + var previousMesh = this._factory.createMesh(state.previousNode, state.previousTransform); + this._scene.updateImagePlanes([previousMesh]); } this._previousKey = previousKey; } this._currentKey = currentKey; - var currentMesh = this._imagePlaneFactory.createMesh(state.currentNode, state.currentTransform); - this._imagePlaneScene.updateImagePlanes([currentMesh]); + var currentMesh = this._factory.createMesh(state.currentNode, state.currentTransform); + this._scene.updateImagePlanes([currentMesh]); this._alphaOld = 1; return true; }; @@ -26454,565 +26021,65 @@ var ImagePlaneGLRenderer = /** @class */ (function () { exports.ImagePlaneGLRenderer = ImagePlaneGLRenderer; exports.default = ImagePlaneGLRenderer; -},{"../../Component":291}],324:[function(require,module,exports){ +},{"../../Component":290}],322:[function(require,module,exports){ "use strict"; -/// -Object.defineProperty(exports, "__esModule", { value: true }); -var THREE = require("three"); -var ImagePlaneScene = /** @class */ (function () { - function ImagePlaneScene() { - this.scene = new THREE.Scene(); - this.sceneOld = new THREE.Scene(); - this.imagePlanes = []; - this.imagePlanesOld = []; - } - ImagePlaneScene.prototype.updateImagePlanes = function (planes) { - this._dispose(this.imagePlanesOld, this.sceneOld); - for (var _i = 0, _a = this.imagePlanes; _i < _a.length; _i++) { - var plane = _a[_i]; - this.scene.remove(plane); - this.sceneOld.add(plane); - } - for (var _b = 0, planes_1 = planes; _b < planes_1.length; _b++) { - var plane = planes_1[_b]; - this.scene.add(plane); - } - this.imagePlanesOld = this.imagePlanes; - this.imagePlanes = planes; - }; - ImagePlaneScene.prototype.addImagePlanes = function (planes) { - for (var _i = 0, planes_2 = planes; _i < planes_2.length; _i++) { - var plane = planes_2[_i]; - this.scene.add(plane); - this.imagePlanes.push(plane); - } - }; - ImagePlaneScene.prototype.addImagePlanesOld = function (planes) { - for (var _i = 0, planes_3 = planes; _i < planes_3.length; _i++) { - var plane = planes_3[_i]; - this.sceneOld.add(plane); - this.imagePlanesOld.push(plane); - } - }; - ImagePlaneScene.prototype.setImagePlanes = function (planes) { - this._clear(); - this.addImagePlanes(planes); - }; - ImagePlaneScene.prototype.setImagePlanesOld = function (planes) { - this._clearOld(); - this.addImagePlanesOld(planes); - }; - ImagePlaneScene.prototype.clear = function () { - this._clear(); - this._clearOld(); - }; - ImagePlaneScene.prototype._clear = function () { - this._dispose(this.imagePlanes, this.scene); - this.imagePlanes.length = 0; - }; - ImagePlaneScene.prototype._clearOld = function () { - this._dispose(this.imagePlanesOld, this.sceneOld); - this.imagePlanesOld.length = 0; - }; - ImagePlaneScene.prototype._dispose = function (planes, scene) { - for (var _i = 0, planes_4 = planes; _i < planes_4.length; _i++) { - var plane = planes_4[_i]; - scene.remove(plane); - plane.geometry.dispose(); - plane.material.dispose(); - var texture = plane.material.uniforms.projectorTex.value; - if (texture != null) { - texture.dispose(); - } - } - }; - return ImagePlaneScene; -}()); -exports.ImagePlaneScene = ImagePlaneScene; -exports.default = ImagePlaneScene; - -},{"three":241}],325:[function(require,module,exports){ -"use strict"; -/// Object.defineProperty(exports, "__esModule", { value: true }); +var CoverState; +(function (CoverState) { + CoverState[CoverState["Hidden"] = 0] = "Hidden"; + CoverState[CoverState["Loading"] = 1] = "Loading"; + CoverState[CoverState["Visible"] = 2] = "Visible"; +})(CoverState = exports.CoverState || (exports.CoverState = {})); -var path = require("path"); -var ImagePlaneShaders = /** @class */ (function () { - function ImagePlaneShaders() { - } - ImagePlaneShaders.equirectangular = { - fragment: "#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n\nuniform sampler2D projectorTex;\nuniform float opacity;\nuniform float phiLength;\nuniform float phiShift;\nuniform float thetaLength;\nuniform float thetaShift;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vec3 b = normalize(vRstq.xyz);\n float lat = -asin(b.y);\n float lon = atan(b.x, b.z);\n float x = (lon - phiShift) / phiLength + 0.5;\n float y = (lat - thetaShift) / thetaLength + 0.5;\n vec4 baseColor = texture2D(projectorTex, vec2(x, y));\n baseColor.a = opacity;\n gl_FragColor = baseColor;\n}", - vertex: "#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform mat4 projectorMat;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vRstq = projectorMat * vec4(position, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}", - }; - ImagePlaneShaders.perspective = { - fragment: "#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n\nuniform sampler2D projectorTex;\nuniform float opacity;\nuniform vec4 bbox;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n float x = vRstq.x / vRstq.w;\n float y = vRstq.y / vRstq.w;\n\n vec4 baseColor;\n if (x > bbox[0] && y > bbox[1] && x < bbox[2] && y < bbox[3]) {\n baseColor = texture2D(projectorTex, vec2(x, y));\n baseColor.a = opacity;\n } else {\n baseColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n gl_FragColor = baseColor;\n}", - vertex: "#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform mat4 projectorMat;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vRstq = projectorMat * vec4(position, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}", - }; - return ImagePlaneShaders; -}()); -exports.ImagePlaneShaders = ImagePlaneShaders; - -},{"path":22}],326:[function(require,module,exports){ +},{}],323:[function(require,module,exports){ "use strict"; -/// -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); Object.defineProperty(exports, "__esModule", { value: true }); -var Observable_1 = require("rxjs/Observable"); -var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/observable/fromEvent"); -require("rxjs/add/observable/of"); -require("rxjs/add/observable/zip"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/first"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/merge"); -require("rxjs/add/operator/mergeMap"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/withLatestFrom"); -require("rxjs/add/operator/zip"); -var State_1 = require("../../State"); -var Render_1 = require("../../Render"); -var Utils_1 = require("../../Utils"); -var Component_1 = require("../../Component"); -var SliderState = /** @class */ (function () { - function SliderState() { - this._imagePlaneFactory = new Component_1.ImagePlaneFactory(); - this._imagePlaneScene = new Component_1.ImagePlaneScene(); - this._currentKey = null; - this._previousKey = null; - this._currentPano = false; - this._frameId = 0; - this._glNeedsRender = false; - this._domNeedsRender = true; - this._curtain = 1; - } - Object.defineProperty(SliderState.prototype, "frameId", { - get: function () { - return this._frameId; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SliderState.prototype, "curtain", { - get: function () { - return this._curtain; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SliderState.prototype, "glNeedsRender", { - get: function () { - return this._glNeedsRender; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SliderState.prototype, "domNeedsRender", { - get: function () { - return this._domNeedsRender; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SliderState.prototype, "sliderVisible", { - get: function () { - return this._sliderVisible; - }, - set: function (value) { - this._sliderVisible = value; - this._domNeedsRender = true; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(SliderState.prototype, "disabled", { - get: function () { - return this._currentKey == null || - this._previousKey == null || - this._currentPano; - }, - enumerable: true, - configurable: true - }); - SliderState.prototype.update = function (frame) { - this._updateFrameId(frame.id); - var needsRender = this._updateImagePlanes(frame.state); - this._domNeedsRender = needsRender || this._domNeedsRender; - needsRender = this._updateCurtain(frame.state.alpha) || needsRender; - this._glNeedsRender = needsRender || this._glNeedsRender; - }; - SliderState.prototype.updateTexture = function (image, node) { - var imagePlanes = node.key === this._currentKey ? - this._imagePlaneScene.imagePlanes : - node.key === this._previousKey ? - this._imagePlaneScene.imagePlanesOld : - []; - if (imagePlanes.length === 0) { - return; - } - this._glNeedsRender = true; - for (var _i = 0, imagePlanes_1 = imagePlanes; _i < imagePlanes_1.length; _i++) { - var plane = imagePlanes_1[_i]; - var material = plane.material; - var texture = material.uniforms.projectorTex.value; - texture.image = image; - texture.needsUpdate = true; - } - }; - SliderState.prototype.render = function (perspectiveCamera, renderer) { - if (!this.disabled) { - renderer.render(this._imagePlaneScene.sceneOld, perspectiveCamera); - } - renderer.render(this._imagePlaneScene.scene, perspectiveCamera); - }; - SliderState.prototype.dispose = function () { - this._imagePlaneScene.clear(); - }; - SliderState.prototype.clearGLNeedsRender = function () { - this._glNeedsRender = false; - }; - SliderState.prototype.clearDomNeedsRender = function () { - this._domNeedsRender = false; - }; - SliderState.prototype._updateFrameId = function (frameId) { - this._frameId = frameId; - }; - SliderState.prototype._updateImagePlanes = function (state) { - if (state.currentNode == null) { - return; - } - var needsRender = false; - if (state.previousNode != null && this._previousKey !== state.previousNode.key) { - needsRender = true; - this._previousKey = state.previousNode.key; - this._imagePlaneScene.setImagePlanesOld([ - this._imagePlaneFactory.createMesh(state.previousNode, state.previousTransform), - ]); - } - if (this._currentKey !== state.currentNode.key) { - needsRender = true; - this._currentKey = state.currentNode.key; - this._currentPano = state.currentNode.pano; - this._imagePlaneScene.setImagePlanes([ - this._imagePlaneFactory.createMesh(state.currentNode, state.currentTransform), - ]); - if (!this.disabled) { - this._updateBbox(); - } - } - return needsRender; - }; - SliderState.prototype._updateCurtain = function (alpha) { - if (this.disabled || - Math.abs(this._curtain - alpha) < 0.001) { - return false; - } - this._curtain = alpha; - this._updateBbox(); - return true; - }; - SliderState.prototype._updateBbox = function () { - for (var _i = 0, _a = this._imagePlaneScene.imagePlanes; _i < _a.length; _i++) { - var plane = _a[_i]; - var shaderMaterial = plane.material; - var bbox = shaderMaterial.uniforms.bbox.value; - bbox.z = this._curtain; - } - }; - return SliderState; -}()); -var SliderComponent = /** @class */ (function (_super) { - __extends(SliderComponent, _super); - /** - * Create a new slider component instance. - * @class SliderComponent - */ - function SliderComponent(name, container, navigator, dom) { - var _this = _super.call(this, name, container, navigator) || this; - _this._dom = !!dom ? dom : new Utils_1.DOM(); - _this._sliderStateOperation$ = new Subject_1.Subject(); - _this._sliderStateCreator$ = new Subject_1.Subject(); - _this._sliderStateDisposer$ = new Subject_1.Subject(); - _this._sliderState$ = _this._sliderStateOperation$ - .scan(function (sliderState, operation) { - return operation(sliderState); - }, null) - .filter(function (sliderState) { - return sliderState != null; - }) - .distinctUntilChanged(undefined, function (sliderState) { - return sliderState.frameId; - }); - _this._sliderStateCreator$ - .map(function () { - return function (sliderState) { - if (sliderState != null) { - throw new Error("Multiple slider states can not be created at the same time"); - } - return new SliderState(); - }; - }) - .subscribe(_this._sliderStateOperation$); - _this._sliderStateDisposer$ - .map(function () { - return function (sliderState) { - sliderState.dispose(); - return null; - }; - }) - .subscribe(_this._sliderStateOperation$); - return _this; - } +/** + * Enumeration for slider mode. + * + * @enum {number} + * @readonly + * + * @description Modes for specifying how transitions + * between nodes are performed in slider mode. Only + * applicable when the slider component determines + * that transitions with motion is possilble. When it + * is not, the stationary mode will be applied. + */ +var SliderMode; +(function (SliderMode) { /** - * Set the image keys. - * - * Configures the component to show the image planes for the supplied image keys. + * Transitions with motion. * - * @param {keys} ISliderKeys - Slider keys object specifying the images to be shown in the foreground and the background. - */ - SliderComponent.prototype.setKeys = function (keys) { - this.configure({ keys: keys }); - }; - /** - * Set the initial position. + * @description The slider component moves the + * camera between the node origins. * - * Configures the intial position of the slider. The inital position value will be used when the component is activated. + * In this mode it is not possible to zoom or pan. * - * @param {number} initialPosition - Initial slider position. + * The slider component falls back to stationary + * mode when it determines that the pair of nodes + * does not have a strong enough relation. */ - SliderComponent.prototype.setInitialPosition = function (initialPosition) { - this.configure({ initialPosition: initialPosition }); - }; + SliderMode[SliderMode["Motion"] = 0] = "Motion"; /** - * Set the value controlling if the slider is visible. + * Stationary transitions. + * + * @description The camera is stationary. * - * @param {boolean} sliderVisible - Value indicating if the slider should be visible or not. + * In this mode it is possible to zoom and pan. */ - SliderComponent.prototype.setSliderVisible = function (sliderVisible) { - this.configure({ sliderVisible: sliderVisible }); - }; - SliderComponent.prototype._activate = function () { - var _this = this; - this._sliderContainer = this._dom.createElement("div", "mapillary-js-slider-container", this._container.element); - this._sliderWrapper = this._dom.createElement("div", "SliderWrapper", this._sliderContainer); - this._sliderControl = this._dom.createElement("input", "SliderControl", this._sliderWrapper); - this._sliderControl.setAttribute("type", "range"); - this._sliderControl.setAttribute("min", "0"); - this._sliderControl.setAttribute("max", "1000"); - this._sliderControl.style.visibility = "hidden"; - this._moveToHandler = function (e) { - var curtain = Number(e.target.value) / 1000; - _this._navigator.stateService.moveTo(curtain); - }; - this._sliderControl.addEventListener("input", this._moveToHandler); - this._sliderControl.addEventListener("change", this._moveToHandler); - Observable_1.Observable - .combineLatest(this._navigator.stateService.state$, this._configuration$) - .first() - .subscribe(function (_a) { - var state = _a[0], configuration = _a[1]; - if (state === State_1.State.Traversing) { - _this._navigator.stateService.wait(); - var position = configuration.initialPosition != null ? configuration.initialPosition : 1; - _this._sliderControl.value = (1000 * position).toString(); - _this._navigator.stateService.moveTo(position); - } - }); - this._glRenderSubscription = this._sliderState$ - .map(function (sliderState) { - var renderHash = { - name: _this._name, - render: { - frameId: sliderState.frameId, - needsRender: sliderState.glNeedsRender, - render: sliderState.render.bind(sliderState), - stage: Render_1.GLRenderStage.Background, - }, - }; - sliderState.clearGLNeedsRender(); - return renderHash; - }) - .subscribe(this._container.glRenderer.render$); - this._domRenderSubscription = this._sliderState$ - .filter(function (sliderState) { - return sliderState.domNeedsRender; - }) - .subscribe(function (sliderState) { - _this._sliderControl.value = (1000 * sliderState.curtain).toString(); - var visibility = sliderState.disabled || !sliderState.sliderVisible ? "hidden" : "visible"; - _this._sliderControl.style.visibility = visibility; - sliderState.clearDomNeedsRender(); - }); - this._sliderStateCreator$.next(null); - this._stateSubscription = this._navigator.stateService.currentState$ - .map(function (frame) { - return function (sliderState) { - sliderState.update(frame); - return sliderState; - }; - }) - .subscribe(this._sliderStateOperation$); - this._setSliderVisibleSubscription = this._configuration$ - .map(function (configuration) { - return configuration.sliderVisible == null || configuration.sliderVisible; - }) - .distinctUntilChanged() - .map(function (sliderVisible) { - return function (sliderState) { - sliderState.sliderVisible = sliderVisible; - return sliderState; - }; - }) - .subscribe(this._sliderStateOperation$); - this._setKeysSubscription = this._configuration$ - .filter(function (configuration) { - return configuration.keys != null; - }) - .switchMap(function (configuration) { - return Observable_1.Observable - .zip(_this._catchCacheNode$(configuration.keys.background), _this._catchCacheNode$(configuration.keys.foreground)) - .map(function (nodes) { - return { background: nodes[0], foreground: nodes[1] }; - }) - .zip(_this._navigator.stateService.currentState$.first()) - .map(function (nf) { - return { nodes: nf[0], state: nf[1].state }; - }); - }) - .subscribe(function (co) { - if (co.state.currentNode != null && - co.state.previousNode != null && - co.state.currentNode.key === co.nodes.foreground.key && - co.state.previousNode.key === co.nodes.background.key) { - return; - } - if (co.state.currentNode.key === co.nodes.background.key) { - _this._navigator.stateService.setNodes([co.nodes.foreground]); - return; - } - if (co.state.currentNode.key === co.nodes.foreground.key && - co.state.trajectory.length === 1) { - _this._navigator.stateService.prependNodes([co.nodes.background]); - return; - } - _this._navigator.stateService.setNodes([co.nodes.background]); - _this._navigator.stateService.setNodes([co.nodes.foreground]); - }, function (e) { - console.error(e); - }); - var previousNode$ = this._navigator.stateService.currentState$ - .map(function (frame) { - return frame.state.previousNode; - }) - .filter(function (node) { - return node != null; - }) - .distinctUntilChanged(undefined, function (node) { - return node.key; - }); - this._nodeSubscription = Observable_1.Observable - .merge(previousNode$, this._navigator.stateService.currentNode$) - .filter(function (node) { - return node.pano ? - Utils_1.Settings.maxImageSize > Utils_1.Settings.basePanoramaSize : - Utils_1.Settings.maxImageSize > Utils_1.Settings.baseImageSize; - }) - .mergeMap(function (node) { - var baseImageSize = node.pano ? - Utils_1.Settings.basePanoramaSize : - Utils_1.Settings.baseImageSize; - if (Math.max(node.image.width, node.image.height) > baseImageSize) { - return Observable_1.Observable.empty(); - } - return node.cacheImage$(Utils_1.Settings.maxImageSize) - .map(function (n) { - return [n.image, n]; - }) - .catch(function (error, caught) { - console.error("Failed to fetch high res slider image (" + node.key + ")", error); - return Observable_1.Observable.empty(); - }); - }) - .map(function (_a) { - var element = _a[0], node = _a[1]; - return function (sliderState) { - sliderState.updateTexture(element, node); - return sliderState; - }; - }) - .subscribe(this._sliderStateOperation$); - }; - SliderComponent.prototype._deactivate = function () { - var _this = this; - this._navigator.stateService.state$ - .first() - .subscribe(function (state) { - if (state === State_1.State.Waiting) { - _this._navigator.stateService.traverse(); - } - }); - this._sliderStateDisposer$.next(null); - this._setKeysSubscription.unsubscribe(); - this._setSliderVisibleSubscription.unsubscribe(); - this._stateSubscription.unsubscribe(); - this._glRenderSubscription.unsubscribe(); - this._domRenderSubscription.unsubscribe(); - this._nodeSubscription.unsubscribe(); - this.configure({ keys: null }); - this._sliderControl.removeEventListener("input", this._moveToHandler); - this._sliderControl.removeEventListener("change", this._moveToHandler); - this._container.element.removeChild(this._sliderContainer); - this._moveToHandler = null; - this._sliderControl = null; - this._sliderWrapper = null; - this._sliderContainer = null; - }; - SliderComponent.prototype._getDefaultConfiguration = function () { - return {}; - }; - SliderComponent.prototype._catchCacheNode$ = function (key) { - return this._navigator.graphService.cacheNode$(key) - .catch(function (error, caught) { - console.error("Failed to cache slider node (" + key + ")", error); - return Observable_1.Observable.empty(); - }); - }; - SliderComponent.componentName = "slider"; - return SliderComponent; -}(Component_1.Component)); -exports.SliderComponent = SliderComponent; -Component_1.ComponentService.register(SliderComponent); -exports.default = SliderComponent; + SliderMode[SliderMode["Stationary"] = 1] = "Stationary"; +})(SliderMode = exports.SliderMode || (exports.SliderMode = {})); -},{"../../Component":291,"../../Render":297,"../../State":298,"../../Utils":301,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/combineLatest":38,"rxjs/add/observable/fromEvent":43,"rxjs/add/observable/of":46,"rxjs/add/observable/zip":49,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/filter":63,"rxjs/add/operator/first":65,"rxjs/add/operator/map":67,"rxjs/add/operator/merge":68,"rxjs/add/operator/mergeMap":70,"rxjs/add/operator/scan":78,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/withLatestFrom":90,"rxjs/add/operator/zip":91}],327:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var CoverState; -(function (CoverState) { - CoverState[CoverState["Hidden"] = 0] = "Hidden"; - CoverState[CoverState["Loading"] = 1] = "Loading"; - CoverState[CoverState["Visible"] = 2] = "Visible"; -})(CoverState = exports.CoverState || (exports.CoverState = {})); - -},{}],328:[function(require,module,exports){ +},{}],324:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ICoverConfiguration_1 = require("./ICoverConfiguration"); exports.CoverState = ICoverConfiguration_1.CoverState; +var ISliderConfiguration_1 = require("./ISliderConfiguration"); +exports.SliderMode = ISliderConfiguration_1.SliderMode; -},{"./ICoverConfiguration":327}],329:[function(require,module,exports){ +},{"./ICoverConfiguration":322,"./ISliderConfiguration":323}],325:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -27116,7 +26183,7 @@ var KeyPlayHandler = /** @class */ (function (_super) { exports.KeyPlayHandler = KeyPlayHandler; exports.default = KeyPlayHandler; -},{"../../Component":291,"../../Edge":292}],330:[function(require,module,exports){ +},{"../../Component":290,"../../Edge":291}],326:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -27130,8 +26197,6 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/withLatestFrom"); var Component_1 = require("../../Component"); var Edge_1 = require("../../Edge"); var Error_1 = require("../../Error"); @@ -27207,7 +26272,7 @@ var KeySequenceNavigationHandler = /** @class */ (function (_super) { exports.KeySequenceNavigationHandler = KeySequenceNavigationHandler; exports.default = KeySequenceNavigationHandler; -},{"../../Component":291,"../../Edge":292,"../../Error":293,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/withLatestFrom":90}],331:[function(require,module,exports){ +},{"../../Component":290,"../../Edge":291,"../../Error":292}],327:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -27221,8 +26286,6 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/withLatestFrom"); var Component_1 = require("../../Component"); var Edge_1 = require("../../Edge"); var Error_1 = require("../../Error"); @@ -27356,7 +26419,7 @@ var KeySpatialNavigationHandler = /** @class */ (function (_super) { exports.KeySpatialNavigationHandler = KeySpatialNavigationHandler; exports.default = KeySpatialNavigationHandler; -},{"../../Component":291,"../../Edge":292,"../../Error":293,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/withLatestFrom":90}],332:[function(require,module,exports){ +},{"../../Component":290,"../../Edge":291,"../../Error":292}],328:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -27370,7 +26433,6 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -require("rxjs/add/operator/withLatestFrom"); var Component_1 = require("../../Component"); /** * The `KeyZoomHandler` allows the user to zoom in and out using the @@ -27433,7 +26495,7 @@ var KeyZoomHandler = /** @class */ (function (_super) { exports.KeyZoomHandler = KeyZoomHandler; exports.default = KeyZoomHandler; -},{"../../Component":291,"rxjs/add/operator/withLatestFrom":90}],333:[function(require,module,exports){ +},{"../../Component":290}],329:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -27570,7 +26632,7 @@ exports.KeyboardComponent = KeyboardComponent; Component_1.ComponentService.register(KeyboardComponent); exports.default = KeyboardComponent; -},{"../../Component":291,"../../Geo":294}],334:[function(require,module,exports){ +},{"../../Component":290,"../../Geo":293}],330:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var MarkerComponent_1 = require("./MarkerComponent"); @@ -27580,7 +26642,7 @@ exports.SimpleMarker = SimpleMarker_1.SimpleMarker; var CircleMarker_1 = require("./marker/CircleMarker"); exports.CircleMarker = CircleMarker_1.CircleMarker; -},{"./MarkerComponent":335,"./marker/CircleMarker":338,"./marker/SimpleMarker":340}],335:[function(require,module,exports){ +},{"./MarkerComponent":331,"./marker/CircleMarker":334,"./marker/SimpleMarker":336}],331:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -27597,9 +26659,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); var THREE = require("three"); var when = require("when"); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/map"); var Component_1 = require("../../Component"); var Render_1 = require("../../Render"); var Graph_1 = require("../../Graph"); @@ -28073,7 +27132,7 @@ exports.MarkerComponent = MarkerComponent; Component_1.ComponentService.register(MarkerComponent); exports.default = MarkerComponent; -},{"../../Component":291,"../../Geo":294,"../../Graph":295,"../../Render":297,"rxjs/Observable":29,"rxjs/add/observable/combineLatest":38,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/map":67,"three":241,"when":288}],336:[function(require,module,exports){ +},{"../../Component":290,"../../Geo":293,"../../Graph":294,"../../Render":296,"rxjs/Observable":29,"three":240,"when":287}],332:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -28196,15 +27255,12 @@ var MarkerScene = /** @class */ (function () { exports.MarkerScene = MarkerScene; exports.default = MarkerScene; -},{"three":241}],337:[function(require,module,exports){ +},{"three":240}],333:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var rbush = require("rbush"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); var MarkerSet = /** @class */ (function () { function MarkerSet() { this._hash = {}; @@ -28317,7 +27373,7 @@ var MarkerSet = /** @class */ (function () { exports.MarkerSet = MarkerSet; exports.default = MarkerSet; -},{"rbush":25,"rxjs/Subject":34,"rxjs/add/operator/map":67,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78}],338:[function(require,module,exports){ +},{"rbush":25,"rxjs/Subject":34}],334:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -28400,7 +27456,7 @@ var CircleMarker = /** @class */ (function (_super) { exports.CircleMarker = CircleMarker; exports.default = CircleMarker; -},{"../../../Component":291,"three":241}],339:[function(require,module,exports){ +},{"../../../Component":290,"three":240}],335:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -28487,7 +27543,7 @@ var Marker = /** @class */ (function () { exports.Marker = Marker; exports.default = Marker; -},{}],340:[function(require,module,exports){ +},{}],336:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -28634,7 +27690,7 @@ var SimpleMarker = /** @class */ (function (_super) { exports.SimpleMarker = SimpleMarker; exports.default = SimpleMarker; -},{"../../../Component":291,"three":241}],341:[function(require,module,exports){ +},{"../../../Component":290,"three":240}],337:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -28744,7 +27800,7 @@ var BounceHandler = /** @class */ (function (_super) { exports.BounceHandler = BounceHandler; exports.default = BounceHandler; -},{"../../Component":291,"rxjs/Observable":29}],342:[function(require,module,exports){ +},{"../../Component":290,"rxjs/Observable":29}],338:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -28810,7 +27866,7 @@ var DoubleClickZoomHandler = /** @class */ (function (_super) { exports.DoubleClickZoomHandler = DoubleClickZoomHandler; exports.default = DoubleClickZoomHandler; -},{"../../Component":291,"rxjs/Observable":29}],343:[function(require,module,exports){ +},{"../../Component":290,"rxjs/Observable":29}],339:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -28826,9 +27882,6 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var THREE = require("three"); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/operator/concat"); -require("rxjs/add/operator/sample"); -require("rxjs/add/operator/takeWhile"); var Component_1 = require("../../Component"); /** * The `DragPanHandler` allows the user to pan the viewer image by clicking and dragging the cursor. @@ -29063,7 +28116,7 @@ var DragPanHandler = /** @class */ (function (_super) { exports.DragPanHandler = DragPanHandler; exports.default = DragPanHandler; -},{"../../Component":291,"rxjs/Observable":29,"rxjs/add/operator/concat":56,"rxjs/add/operator/sample":77,"rxjs/add/operator/takeWhile":87,"three":241}],344:[function(require,module,exports){ +},{"../../Component":290,"rxjs/Observable":29,"three":240}],340:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -29076,10 +28129,6 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -require("rxjs/add/observable/merge"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/withLatestFrom"); var Component_1 = require("../../Component"); var Geo_1 = require("../../Geo"); /** @@ -29212,7 +28261,7 @@ exports.MouseComponent = MouseComponent; Component_1.ComponentService.register(MouseComponent); exports.default = MouseComponent; -},{"../../Component":291,"../../Geo":294,"rxjs/add/observable/merge":45,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/withLatestFrom":90}],345:[function(require,module,exports){ +},{"../../Component":290,"../../Geo":293}],341:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -29303,7 +28352,7 @@ var ScrollZoomHandler = /** @class */ (function (_super) { exports.ScrollZoomHandler = ScrollZoomHandler; exports.default = ScrollZoomHandler; -},{"../../Component":291}],346:[function(require,module,exports){ +},{"../../Component":290}],342:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -29392,7 +28441,7 @@ var TouchZoomHandler = /** @class */ (function (_super) { exports.TouchZoomHandler = TouchZoomHandler; exports.default = TouchZoomHandler; -},{"../../Component":291,"rxjs/Observable":29}],347:[function(require,module,exports){ +},{"../../Component":290,"rxjs/Observable":29}],343:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Popup_1 = require("./popup/Popup"); @@ -29400,7 +28449,7 @@ exports.Popup = Popup_1.Popup; var PopupComponent_1 = require("./PopupComponent"); exports.PopupComponent = PopupComponent_1.PopupComponent; -},{"./PopupComponent":348,"./popup/Popup":349}],348:[function(require,module,exports){ +},{"./PopupComponent":344,"./popup/Popup":345}],344:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -29584,7 +28633,7 @@ exports.PopupComponent = PopupComponent; Component_1.ComponentService.register(PopupComponent); exports.default = PopupComponent; -},{"../../Component":291,"../../Utils":301,"rxjs/Observable":29,"rxjs/Subject":34}],349:[function(require,module,exports){ +},{"../../Component":290,"../../Utils":300,"rxjs/Observable":29,"rxjs/Subject":34}],345:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -30070,7 +29119,7 @@ var Popup = /** @class */ (function () { exports.Popup = Popup; exports.default = Popup; -},{"../../../Geo":294,"../../../Utils":301,"../../../Viewer":302,"rxjs/Subject":34}],350:[function(require,module,exports){ +},{"../../../Geo":293,"../../../Utils":300,"../../../Viewer":301,"rxjs/Subject":34}],346:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -30086,24 +29135,6 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/observable/of"); -require("rxjs/add/observable/concat"); -require("rxjs/add/operator/auditTime"); -require("rxjs/add/operator/bufferCount"); -require("rxjs/add/operator/concat"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/finally"); -require("rxjs/add/operator/first"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/retry"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/share"); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/takeUntil"); -require("rxjs/add/operator/withLatestFrom"); var Component_1 = require("../../Component"); var Edge_1 = require("../../Edge"); var Graph_1 = require("../../Graph"); @@ -30482,7 +29513,7 @@ exports.SequenceComponent = SequenceComponent; Component_1.ComponentService.register(SequenceComponent); exports.default = SequenceComponent; -},{"../../Component":291,"../../Edge":292,"../../Graph":295,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/combineLatest":38,"rxjs/add/observable/concat":39,"rxjs/add/observable/of":46,"rxjs/add/operator/auditTime":50,"rxjs/add/operator/bufferCount":52,"rxjs/add/operator/concat":56,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/filter":63,"rxjs/add/operator/finally":64,"rxjs/add/operator/first":65,"rxjs/add/operator/map":67,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/retry":76,"rxjs/add/operator/scan":78,"rxjs/add/operator/share":79,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/takeUntil":86,"rxjs/add/operator/withLatestFrom":90}],351:[function(require,module,exports){ +},{"../../Component":290,"../../Edge":291,"../../Graph":294,"rxjs/Observable":29,"rxjs/Subject":34}],347:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -30720,7 +29751,7 @@ var SequenceDOMRenderer = /** @class */ (function () { var switchButton = vd.h("div" + switchButtonClassName, switchButtonProperties, [switchIcon]); var slowIcon = vd.h("div.SequenceSlowIcon.SequenceIconVisible", []); var slowContainer = vd.h("div.SequenceSlowContainer", [slowIcon]); - var fastIcon = vd.h("div.SequenceFastIconGrey.SequenceIconVisible", []); + var fastIcon = vd.h("div.SequenceFastIcon.SequenceIconVisible", []); var fastContainer = vd.h("div.SequenceFastContainer", [fastIcon]); var closeIcon = vd.h("div.SequenceCloseIcon.SequenceIconVisible", []); var closeButtonProperties = { @@ -30916,7 +29947,7 @@ var SequenceDOMRenderer = /** @class */ (function () { exports.SequenceDOMRenderer = SequenceDOMRenderer; exports.default = SequenceDOMRenderer; -},{"../../Component":291,"../../Edge":292,"../../Error":293,"rxjs/Observable":29,"rxjs/Subject":34,"virtual-dom":247}],352:[function(require,module,exports){ +},{"../../Component":290,"../../Edge":291,"../../Error":292,"rxjs/Observable":29,"rxjs/Subject":34,"virtual-dom":246}],348:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var SequenceMode; @@ -30927,27 +29958,36 @@ var SequenceMode; })(SequenceMode = exports.SequenceMode || (exports.SequenceMode = {})); exports.default = SequenceMode; -},{}],353:[function(require,module,exports){ +},{}],349:[function(require,module,exports){ "use strict"; +/// Object.defineProperty(exports, "__esModule", { value: true }); -var GeometryTagError_1 = require("./error/GeometryTagError"); -exports.GeometryTagError = GeometryTagError_1.GeometryTagError; -var PointGeometry_1 = require("./geometry/PointGeometry"); -exports.PointGeometry = PointGeometry_1.PointGeometry; -var RectGeometry_1 = require("./geometry/RectGeometry"); -exports.RectGeometry = RectGeometry_1.RectGeometry; -var PolygonGeometry_1 = require("./geometry/PolygonGeometry"); -exports.PolygonGeometry = PolygonGeometry_1.PolygonGeometry; -var OutlineTag_1 = require("./tag/OutlineTag"); -exports.OutlineTag = OutlineTag_1.OutlineTag; -var SpotTag_1 = require("./tag/SpotTag"); -exports.SpotTag = SpotTag_1.SpotTag; -var TagComponent_1 = require("./TagComponent"); -exports.TagComponent = TagComponent_1.TagComponent; -var TagMode_1 = require("./TagMode"); -exports.TagMode = TagMode_1.TagMode; -},{"./TagComponent":354,"./TagMode":357,"./error/GeometryTagError":361,"./geometry/PointGeometry":363,"./geometry/PolygonGeometry":364,"./geometry/RectGeometry":365,"./tag/OutlineTag":377,"./tag/SpotTag":380}],354:[function(require,module,exports){ +var path = require("path"); +var Shaders = /** @class */ (function () { + function Shaders() { + } + Shaders.equirectangular = { + fragment: "#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n\nuniform sampler2D projectorTex;\nuniform float opacity;\nuniform float phiLength;\nuniform float phiShift;\nuniform float thetaLength;\nuniform float thetaShift;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vec3 b = normalize(vRstq.xyz);\n float lat = -asin(b.y);\n float lon = atan(b.x, b.z);\n float x = (lon - phiShift) / phiLength + 0.5;\n float y = (lat - thetaShift) / thetaLength + 0.5;\n vec4 baseColor = texture2D(projectorTex, vec2(x, y));\n baseColor.a = opacity;\n gl_FragColor = baseColor;\n}", + vertex: "#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform mat4 projectorMat;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vRstq = projectorMat * vec4(position, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}", + }; + Shaders.equirectangularCurtain = { + fragment: "#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n\nuniform sampler2D projectorTex;\nuniform float curtain;\nuniform float opacity;\nuniform float phiLength;\nuniform float phiShift;\nuniform float thetaLength;\nuniform float thetaShift;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vec3 b = normalize(vRstq.xyz);\n float lat = -asin(b.y);\n float lon = atan(b.x, b.z);\n float x = (lon - phiShift) / phiLength + 0.5;\n float y = (lat - thetaShift) / thetaLength + 0.5;\n\n bool inverted = curtain < 0.5;\n\n float curtainMin = inverted ? curtain + 0.5 : curtain - 0.5;\n float curtainMax = curtain;\n\n bool insideCurtain = inverted ?\n x > curtainMin || x < curtainMax :\n x > curtainMin && x < curtainMax;\n\n vec4 baseColor;\n if (insideCurtain) {\n baseColor = texture2D(projectorTex, vec2(x, y));\n baseColor.a = opacity;\n } else {\n baseColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n gl_FragColor = baseColor;\n}", + vertex: "#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform mat4 projectorMat;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vRstq = projectorMat * vec4(position, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}", + }; + Shaders.perspective = { + fragment: "#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n\nuniform sampler2D projectorTex;\nuniform float opacity;\nuniform vec4 bbox;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n float x = vRstq.x / vRstq.w;\n float y = vRstq.y / vRstq.w;\n\n vec4 baseColor = texture2D(projectorTex, vec2(x, y));\n baseColor.a = opacity;\n\n gl_FragColor = baseColor;\n}", + vertex: "#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform mat4 projectorMat;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vRstq = projectorMat * vec4(position, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}", + }; + Shaders.perspectiveCurtain = { + fragment: "#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n\nuniform sampler2D projectorTex;\nuniform float opacity;\nuniform float curtain;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n float x = vRstq.x / vRstq.w;\n float y = vRstq.y / vRstq.w;\n\n vec4 baseColor;\n if (x < curtain || curtain >= 1.0) {\n baseColor = texture2D(projectorTex, vec2(x, y));\n baseColor.a = opacity;\n } else {\n baseColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n gl_FragColor = baseColor;\n}\n", + vertex: "#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform mat4 projectorMat;\n\nvarying vec4 vRstq;\n\nvoid main()\n{\n vRstq = projectorMat * vec4(position, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}", + }; + return Shaders; +}()); +exports.Shaders = Shaders; + +},{"path":22}],350:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -30961,453 +30001,1639 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var when = require("when"); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/observable/empty"); -require("rxjs/add/observable/from"); -require("rxjs/add/observable/merge"); -require("rxjs/add/observable/of"); -require("rxjs/add/operator/combineLatest"); -require("rxjs/add/operator/concat"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/do"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/merge"); -require("rxjs/add/operator/mergeMap"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/share"); -require("rxjs/add/operator/skip"); -require("rxjs/add/operator/skipUntil"); -require("rxjs/add/operator/startWith"); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/take"); -require("rxjs/add/operator/takeUntil"); -require("rxjs/add/operator/withLatestFrom"); +var Subject_1 = require("rxjs/Subject"); var Component_1 = require("../../Component"); var Geo_1 = require("../../Geo"); +var State_1 = require("../../State"); var Render_1 = require("../../Render"); +var Tiles_1 = require("../../Tiles"); +var Utils_1 = require("../../Utils"); /** - * @class TagComponent - * - * @classdesc Component for showing and editing tags with different - * geometries composed from 2D basic image coordinates (see the - * {@link Viewer} class documentation for more information about coordinate - * systems). - * - * The `add` method is used for adding new tags or replacing - * tags already in the set. Tags are removed by id. + * @class SliderComponent * - * If a tag already in the set has the same - * id as one of the tags added, the old tag will be removed and - * the added tag will take its place. - * - * The tag component mode can be set to either be non interactive or - * to be in creating mode of a certain geometry type. - * - * The tag properties can be updated at any time and the change will - * be visibile immediately. + * @classdesc Component for comparing pairs of images. Renders + * a slider for adjusting the curtain of the first image. * - * Tags are only relevant to a single image because they are based on - * 2D basic image coordinates. Tags related to a certain image should - * be removed when the viewer is moved to another node. + * Deactivate the sequence, direction and image plane + * components when activating the slider component to avoid + * interfering UI elements. * - * To retrive and use the tag component + * To retrive and use the marker component * * @example * ``` * var viewer = new Mapillary.Viewer( * "", * "", - * "", - * { component: { tag: true } }); + * ""); * - * var tagComponent = viewer.getComponent("tag"); + * viewer.deactivateComponent("imagePlane"); + * viewer.deactivateComponent("direction"); + * viewer.deactivateComponent("sequence"); + * + * viewer.activateComponent("slider"); + * + * var sliderComponent = viewer.getComponent("marker"); * ``` */ -var TagComponent = /** @class */ (function (_super) { - __extends(TagComponent, _super); - function TagComponent(name, container, navigator) { +var SliderComponent = /** @class */ (function (_super) { + __extends(SliderComponent, _super); + function SliderComponent(name, container, navigator, viewportCoords) { var _this = _super.call(this, name, container, navigator) || this; - _this._tagDomRenderer = new Component_1.TagDOMRenderer(); - _this._tagScene = new Component_1.TagScene(); - _this._tagSet = new Component_1.TagSet(); - _this._tagCreator = new Component_1.TagCreator(_this, navigator); - _this._viewportCoords = new Geo_1.ViewportCoords(); - _this._createHandlers = { - "CreatePoint": new Component_1.CreatePointHandler(_this, container, navigator, _this._viewportCoords, _this._tagCreator), - "CreatePolygon": new Component_1.CreatePolygonHandler(_this, container, navigator, _this._viewportCoords, _this._tagCreator), - "CreateRect": new Component_1.CreateRectHandler(_this, container, navigator, _this._viewportCoords, _this._tagCreator), - "CreateRectDrag": new Component_1.CreateRectDragHandler(_this, container, navigator, _this._viewportCoords, _this._tagCreator), - "Default": undefined, - }; - _this._editVertexHandler = new Component_1.EditVertexHandler(_this, container, navigator, _this._viewportCoords, _this._tagSet); - _this._renderTags$ = _this._tagSet.changed$ - .map(function (tagSet) { - var tags = tagSet.getAll(); - // ensure that tags are always rendered in the same order - // to avoid hover tracking problems on first resize. - tags.sort(function (t1, t2) { - var id1 = t1.tag.id; - var id2 = t2.tag.id; - if (id1 < id2) { - return -1; - } - if (id1 > id2) { - return 1; - } - return 0; - }); - return tags; - }) - .share(); - _this._tagChanged$ = _this._renderTags$ - .switchMap(function (tags) { - return Observable_1.Observable - .from(tags) - .mergeMap(function (tag) { - return Observable_1.Observable - .merge(tag.tag.changed$, tag.tag.geometryChanged$); - }); - }) - .share(); - _this._renderTagGLChanged$ = _this._renderTags$ - .switchMap(function (tags) { - return Observable_1.Observable - .from(tags) - .mergeMap(function (tag) { - return tag.glObjectsChanged$; - }); - }) - .share(); - _this._createGeometryChanged$ = _this._tagCreator.tag$ - .switchMap(function (tag) { - return tag != null ? - tag.geometryChanged$ : - Observable_1.Observable.empty(); + _this._viewportCoords = !!viewportCoords ? viewportCoords : new Geo_1.ViewportCoords(); + _this._domRenderer = new Component_1.SliderDOMRenderer(container); + _this._imageTileLoader = new Tiles_1.ImageTileLoader(Utils_1.Urls.tileScheme, Utils_1.Urls.tileDomain, Utils_1.Urls.origin); + _this._roiCalculator = new Tiles_1.RegionOfInterestCalculator(); + _this._spatial = new Geo_1.Spatial(); + _this._glRendererOperation$ = new Subject_1.Subject(); + _this._glRendererCreator$ = new Subject_1.Subject(); + _this._glRendererDisposer$ = new Subject_1.Subject(); + _this._glRenderer$ = _this._glRendererOperation$ + .scan(function (glRenderer, operation) { + return operation(glRenderer); + }, null) + .filter(function (glRenderer) { + return glRenderer != null; }) - .share(); - _this._createGLObjectsChanged$ = _this._tagCreator.tag$ - .switchMap(function (tag) { - return tag != null ? - tag.glObjectsChanged$ : - Observable_1.Observable.empty(); + .distinctUntilChanged(undefined, function (glRenderer) { + return glRenderer.frameId; + }); + _this._glRendererCreator$ + .map(function () { + return function (glRenderer) { + if (glRenderer != null) { + throw new Error("Multiple slider states can not be created at the same time"); + } + return new Component_1.SliderGLRenderer(); + }; }) - .share(); - _this._creatingConfiguration$ = _this._configuration$ - .distinctUntilChanged(function (c1, c2) { - return c1.mode === c2.mode; - }, function (configuration) { - return { - createColor: configuration.createColor, - mode: configuration.mode, + .subscribe(_this._glRendererOperation$); + _this._glRendererDisposer$ + .map(function () { + return function (glRenderer) { + glRenderer.dispose(); + return null; }; }) - .publishReplay(1) - .refCount(); - _this._creatingConfiguration$ - .subscribe(function (configuration) { - _this.fire(TagComponent.modechanged, configuration.mode); - }); + .subscribe(_this._glRendererOperation$); return _this; } /** - * Add tags to the tag set or replace tags in the tag set. - * - * @description If a tag already in the set has the same - * id as one of the tags added, the old tag will be removed - * the added tag will take its place. + * Set the initial position. * - * @param {Array} tags - Tags to add. + * @description Configures the intial position of the slider. + * The inital position value will be used when the component + * is activated. * - * @example ```tagComponent.add([tag1, tag2]);``` + * @param {number} initialPosition - Initial slider position. */ - TagComponent.prototype.add = function (tags) { - var _this = this; - if (this._activated) { - this._navigator.stateService.currentTransform$ - .first() - .subscribe(function (transform) { - _this._tagSet.add(tags, transform); - var renderTags = tags - .map(function (tag) { - return _this._tagSet.get(tag.id); - }); - _this._tagScene.add(renderTags); - }); - } - else { - this._tagSet.addDeactivated(tags); - } + SliderComponent.prototype.setInitialPosition = function (initialPosition) { + this.configure({ initialPosition: initialPosition }); }; /** - * Change the current tag mode. - * - * @description Change the tag mode to one of the create modes for creating new geometries. - * - * @param {TagMode} mode - New tag mode. + * Set the image keys. * - * @fires TagComponent#modechanged + * @description Configures the component to show the image + * planes for the supplied image keys. * - * @example ```tagComponent.changeMode(Mapillary.TagComponent.TagMode.CreateRect);``` + * @param {ISliderKeys} keys - Slider keys object specifying + * the images to be shown in the foreground and the background. */ - TagComponent.prototype.changeMode = function (mode) { - this.configure({ mode: mode }); + SliderComponent.prototype.setKeys = function (keys) { + this.configure({ keys: keys }); }; /** - * Returns the tag in the tag set with the specified id, or - * undefined if the id matches no tag. + * Set the slider mode. * - * @param {string} tagId - Id of the tag. + * @description Configures the mode for transitions between + * image pairs. * - * @example ```var tag = tagComponent.get("tagId");``` + * @param {SliderMode} mode - Slider mode to be set. */ - TagComponent.prototype.get = function (tagId) { - if (this._activated) { - var renderTag = this._tagSet.get(tagId); - return renderTag !== undefined ? renderTag.tag : undefined; - } - else { - return this._tagSet.getDeactivated(tagId); - } + SliderComponent.prototype.setSliderMode = function (mode) { + this.configure({ mode: mode }); }; /** - * Returns an array of all tags. + * Set the value controlling if the slider is visible. * - * @example ```var tags = tagComponent.getAll();``` + * @param {boolean} sliderVisible - Value indicating if + * the slider should be visible or not. */ - TagComponent.prototype.getAll = function () { - if (this.activated) { - return this._tagSet - .getAll() - .map(function (renderTag) { - return renderTag.tag; - }); - } - else { - return this._tagSet.getAllDeactivated(); - } + SliderComponent.prototype.setSliderVisible = function (sliderVisible) { + this.configure({ sliderVisible: sliderVisible }); }; - /** - * Returns an array of tag ids for tags that contain the specified point. - * - * @description The pixel point must lie inside the polygon or rectangle - * of an added tag for the tag id to be returned. Tag ids for - * tags that do not have a fill will also be returned if the point is inside - * the geometry of the tag. Tags with point geometries can not be retrieved. - * - * No tag ids will be returned for panoramas. - * - * Notice that the pixelPoint argument requires x, y coordinates from pixel space. - * - * With this function, you can use the coordinates provided by mouse - * events to get information out of the tag component. - * - * If no tag at exist the pixel point, an empty array will be returned. - * - * @param {Array} pixelPoint - Pixel coordinates on the viewer element. - * @returns {Array} Ids of the tags that contain the specified pixel point. - * - * @example - * ``` - * tagComponent.getTagIdsAt([100, 100]) - * .then((tagIds) => { console.log(tagIds); }); - * ``` - */ - TagComponent.prototype.getTagIdsAt = function (pixelPoint) { + SliderComponent.prototype._activate = function () { var _this = this; - return when.promise(function (resolve, reject) { - _this._container.renderService.renderCamera$ - .first() - .map(function (render) { - var viewport = _this._viewportCoords - .canvasToViewport(pixelPoint[0], pixelPoint[1], _this._container.element); - var ids = _this._tagScene.intersectObjects(viewport, render.perspective); - return ids; - }) - .subscribe(function (ids) { - resolve(ids); - }, function (error) { - reject(error); - }); + this._modeSubcription = this._domRenderer.mode$ + .subscribe(function (mode) { + _this.setSliderMode(mode); }); - }; - /** - * Check if a tag exist in the tag set. - * - * @param {string} tagId - Id of the tag. - * - * @example ```var tagExists = tagComponent.has("tagId");``` - */ - TagComponent.prototype.has = function (tagId) { - return this._activated ? this._tagSet.has(tagId) : this._tagSet.hasDeactivated(tagId); - }; - /** - * Remove tags with the specified ids from the tag set. - * - * @param {Array} tagIds - Ids for tags to remove. - * - * @example ```tagComponent.remove(["id-1", "id-2"]);``` - */ - TagComponent.prototype.remove = function (tagIds) { - if (this._activated) { - this._tagSet.remove(tagIds); - this._tagScene.remove(tagIds); - } - else { - this._tagSet.removeDeactivated(tagIds); - } - }; - /** - * Remove all tags from the tag set. - * - * @example ```tagComponent.removeAll();``` - */ - TagComponent.prototype.removeAll = function () { - if (this._activated) { - this._tagSet.removeAll(); - this._tagScene.removeAll(); - } - else { - this._tagSet.removeAllDeactivated(); - } - }; - TagComponent.prototype._activate = function () { - var _this = this; - this._editVertexHandler.enable(); - var handlerGeometryCreated$ = Observable_1.Observable - .from(Object.keys(this._createHandlers)) - .map(function (key) { - return _this._createHandlers[key]; + this._glRenderSubscription = this._glRenderer$ + .map(function (glRenderer) { + var renderHash = { + name: _this._name, + render: { + frameId: glRenderer.frameId, + needsRender: glRenderer.needsRender, + render: glRenderer.render.bind(glRenderer), + stage: Render_1.GLRenderStage.Background, + }, + }; + return renderHash; }) - .filter(function (handler) { - return !!handler; + .subscribe(this._container.glRenderer.render$); + var position$ = this.configuration$ + .map(function (configuration) { + return configuration.initialPosition != null ? + configuration.initialPosition : 1; }) - .mergeMap(function (handler) { - return handler.geometryCreated$; + .first() + .concat(this._domRenderer.position$); + var mode$ = this.configuration$ + .map(function (configuration) { + return configuration.mode; }) - .share(); - this._fireGeometryCreatedSubscription = handlerGeometryCreated$ - .subscribe(function (geometry) { - _this.fire(TagComponent.geometrycreated, geometry); - }); - this._fireCreateGeometryEventSubscription = this._tagCreator.tag$ - .skipWhile(function (tag) { - return tag == null; + .distinctUntilChanged(); + var motionless$ = this._navigator.stateService.currentState$ + .map(function (frame) { + return frame.state.motionless; }) - .distinctUntilChanged() - .subscribe(function (tag) { - var eventType = tag != null ? - TagComponent.creategeometrystart : - TagComponent.creategeometryend; - _this.fire(eventType, _this); - }); - this._handlerStopCreateSubscription = handlerGeometryCreated$ - .subscribe(function () { - _this.changeMode(Component_1.TagMode.Default); - }); - this._handlerEnablerSubscription = this._creatingConfiguration$ - .subscribe(function (configuration) { - _this._disableCreateHandlers(); - var mode = Component_1.TagMode[configuration.mode]; - var handler = _this._createHandlers[mode]; - if (!!handler) { - handler.enable(); - } - }); - this._fireTagsChangedSubscription = this._renderTags$ - .subscribe(function (tags) { - _this.fire(TagComponent.tagschanged, _this); - }); - this._stopCreateSubscription = this._tagCreator.tag$ - .switchMap(function (tag) { - return tag != null ? - tag.aborted$ - .map(function (t) { return null; }) : - Observable_1.Observable.empty(); + .distinctUntilChanged(); + var fullPano$ = this._navigator.stateService.currentState$ + .map(function (frame) { + return frame.state.currentNode.fullPano; }) - .subscribe(function () { _this.changeMode(Component_1.TagMode.Default); }); - this._setGLCreateTagSubscription = this._tagCreator.tag$ - .subscribe(function (tag) { - if (_this._tagScene.hasCreateTag()) { - _this._tagScene.removeCreateTag(); + .distinctUntilChanged(); + var sliderVisible$ = Observable_1.Observable + .combineLatest(this._configuration$ + .map(function (configuration) { + return configuration.sliderVisible; + }), this._navigator.stateService.currentState$ + .map(function (frame) { + return !(frame.state.currentNode == null || + frame.state.previousNode == null || + (frame.state.currentNode.pano && !frame.state.currentNode.fullPano) || + (frame.state.previousNode.pano && !frame.state.previousNode.fullPano) || + (frame.state.currentNode.fullPano && !frame.state.previousNode.fullPano)); + }) + .distinctUntilChanged()) + .map(function (_a) { + var sliderVisible = _a[0], enabledState = _a[1]; + return sliderVisible && enabledState; + }) + .distinctUntilChanged(); + this._waitSubscription = Observable_1.Observable + .combineLatest(mode$, motionless$, fullPano$, sliderVisible$) + .withLatestFrom(this._navigator.stateService.state$) + .subscribe(function (_a) { + var _b = _a[0], mode = _b[0], motionless = _b[1], fullPano = _b[2], sliderVisible = _b[3], state = _a[1]; + var interactive = sliderVisible && + (motionless || mode === Component_1.SliderMode.Stationary || fullPano); + if (interactive && state !== State_1.State.WaitingInteractively) { + _this._navigator.stateService.waitInteractively(); } - if (tag != null) { - _this._tagScene.addCreateTag(tag); + else if (!interactive && state !== State_1.State.Waiting) { + _this._navigator.stateService.wait(); } }); - this._createGLObjectsChangedSubscription = this._createGLObjectsChanged$ - .subscribe(function (tag) { - _this._tagScene.updateCreateTagObjects(tag); - }); - this._updateGLObjectsSubscription = this._renderTagGLChanged$ - .subscribe(function (tag) { - _this._tagScene.updateObjects(tag); - }); - this._updateTagSceneSubscription = this._tagChanged$ - .subscribe(function (tag) { - _this._tagScene.update(); + this._moveSubscription = Observable_1.Observable + .combineLatest(position$, mode$, motionless$, fullPano$, sliderVisible$) + .subscribe(function (_a) { + var position = _a[0], mode = _a[1], motionless = _a[2], fullPano = _a[3], sliderVisible = _a[4]; + if (motionless || mode === Component_1.SliderMode.Stationary || fullPano) { + _this._navigator.stateService.moveTo(1); + } + else { + _this._navigator.stateService.moveTo(position); + } }); - this._domSubscription = this._renderTags$ - .startWith([]) - .do(function (tags) { - _this._container.domRenderer.render$.next({ - name: _this._name, - vnode: _this._tagDomRenderer.clear(), - }); - }) - .combineLatest(this._container.renderService.renderCamera$, this._container.spriteService.spriteAtlas$, this._container.renderService.size$, this._tagChanged$.startWith(null), this._tagCreator.tag$.merge(this._createGeometryChanged$).startWith(null), function (renderTags, rc, atlas, size, tag, ct) { - return [rc, atlas, size, renderTags, tag, ct]; - }) - .map(function (args) { + this._domRenderSubscription = Observable_1.Observable + .combineLatest(position$, mode$, motionless$, fullPano$, sliderVisible$, this._container.renderService.size$) + .map(function (_a) { + var position = _a[0], mode = _a[1], motionless = _a[2], fullPano = _a[3], sliderVisible = _a[4], size = _a[5]; return { name: _this._name, - vnode: _this._tagDomRenderer.render(args[3], args[5], args[1], args[0].perspective, args[2]), + vnode: _this._domRenderer.render(position, mode, motionless, fullPano, sliderVisible), }; }) .subscribe(this._container.domRenderer.render$); - this._glSubscription = this._navigator.stateService.currentState$ - .map(function (frame) { - var tagScene = _this._tagScene; - return { - name: _this._name, - render: { - frameId: frame.id, - needsRender: tagScene.needsRender, - render: tagScene.render.bind(tagScene), - stage: Render_1.GLRenderStage.Foreground, - }, + this._glRendererCreator$.next(null); + this._updateCurtainSubscription = Observable_1.Observable + .combineLatest(position$, fullPano$, sliderVisible$, this._container.renderService.renderCamera$, this._navigator.stateService.currentTransform$) + .map(function (_a) { + var position = _a[0], fullPano = _a[1], visible = _a[2], render = _a[3], transform = _a[4]; + if (!fullPano) { + return visible ? position : 1; + } + var basicMin = _this._viewportCoords.viewportToBasic(-1.15, 0, transform, render.perspective); + var basicMax = _this._viewportCoords.viewportToBasic(1.15, 0, transform, render.perspective); + var shiftedMax = basicMax[0] < basicMin[0] ? basicMax[0] + 1 : basicMax[0]; + var basicPosition = basicMin[0] + position * (shiftedMax - basicMin[0]); + return basicPosition > 1 ? basicPosition - 1 : basicPosition; + }) + .map(function (position) { + return function (glRenderer) { + glRenderer.updateCurtain(position); + return glRenderer; }; }) - .subscribe(this._container.glRenderer.render$); - this._navigator.stateService.currentTransform$ - .first() - .subscribe(function (transform) { - _this._tagSet.activate(transform); - _this._tagScene.add(_this._tagSet.getAll()); - }); - }; - TagComponent.prototype._deactivate = function () { - this._editVertexHandler.disable(); - this._disableCreateHandlers(); - this._tagScene.clear(); - this._tagSet.deactivate(); - this._tagCreator.delete$.next(null); - this._updateGLObjectsSubscription.unsubscribe(); - this._updateTagSceneSubscription.unsubscribe(); - this._stopCreateSubscription.unsubscribe(); - this._setGLCreateTagSubscription.unsubscribe(); - this._createGLObjectsChangedSubscription.unsubscribe(); - this._domSubscription.unsubscribe(); - this._glSubscription.unsubscribe(); - this._fireCreateGeometryEventSubscription.unsubscribe(); - this._fireGeometryCreatedSubscription.unsubscribe(); - this._fireTagsChangedSubscription.unsubscribe(); - this._handlerStopCreateSubscription.unsubscribe(); - this._handlerEnablerSubscription.unsubscribe(); - this._container.element.classList.remove("component-tag-create"); + .subscribe(this._glRendererOperation$); + this._stateSubscription = Observable_1.Observable + .combineLatest(this._navigator.stateService.currentState$, mode$) + .map(function (_a) { + var frame = _a[0], mode = _a[1]; + return function (glRenderer) { + glRenderer.update(frame, mode); + return glRenderer; + }; + }) + .subscribe(this._glRendererOperation$); + this._setKeysSubscription = this._configuration$ + .filter(function (configuration) { + return configuration.keys != null; + }) + .switchMap(function (configuration) { + return Observable_1.Observable + .zip(_this._catchCacheNode$(configuration.keys.background), _this._catchCacheNode$(configuration.keys.foreground)) + .map(function (nodes) { + return { background: nodes[0], foreground: nodes[1] }; + }) + .zip(_this._navigator.stateService.currentState$.first()) + .map(function (nf) { + return { nodes: nf[0], state: nf[1].state }; + }); + }) + .subscribe(function (co) { + if (co.state.currentNode != null && + co.state.previousNode != null && + co.state.currentNode.key === co.nodes.foreground.key && + co.state.previousNode.key === co.nodes.background.key) { + return; + } + if (co.state.currentNode.key === co.nodes.background.key) { + _this._navigator.stateService.setNodes([co.nodes.foreground]); + return; + } + if (co.state.currentNode.key === co.nodes.foreground.key && + co.state.trajectory.length === 1) { + _this._navigator.stateService.prependNodes([co.nodes.background]); + return; + } + _this._navigator.stateService.setNodes([co.nodes.background]); + _this._navigator.stateService.setNodes([co.nodes.foreground]); + }, function (e) { + console.error(e); + }); + var previousNode$ = this._navigator.stateService.currentState$ + .map(function (frame) { + return frame.state.previousNode; + }) + .filter(function (node) { + return node != null; + }) + .distinctUntilChanged(undefined, function (node) { + return node.key; + }); + var textureProvider$ = this._navigator.stateService.currentState$ + .distinctUntilChanged(undefined, function (frame) { + return frame.state.currentNode.key; + }) + .withLatestFrom(this._container.glRenderer.webGLRenderer$, this._container.renderService.size$) + .map(function (_a) { + var frame = _a[0], renderer = _a[1], size = _a[2]; + var state = frame.state; + var viewportSize = Math.max(size.width, size.height); + var currentNode = state.currentNode; + var currentTransform = state.currentTransform; + var tileSize = viewportSize > 2048 ? 2048 : viewportSize > 1024 ? 1024 : 512; + return new Tiles_1.TextureProvider(currentNode.key, currentTransform.basicWidth, currentTransform.basicHeight, tileSize, currentNode.image, _this._imageTileLoader, new Tiles_1.ImageTileStore(), renderer); + }) + .publishReplay(1) + .refCount(); + this._textureProviderSubscription = textureProvider$.subscribe(function () { }); + this._setTextureProviderSubscription = textureProvider$ + .map(function (provider) { + return function (renderer) { + renderer.setTextureProvider(provider.key, provider); + return renderer; + }; + }) + .subscribe(this._glRendererOperation$); + this._setTileSizeSubscription = this._container.renderService.size$ + .switchMap(function (size) { + return Observable_1.Observable + .combineLatest(textureProvider$, Observable_1.Observable.of(size)) + .first(); + }) + .subscribe(function (_a) { + var provider = _a[0], size = _a[1]; + var viewportSize = Math.max(size.width, size.height); + var tileSize = viewportSize > 2048 ? 2048 : viewportSize > 1024 ? 1024 : 512; + provider.setTileSize(tileSize); + }); + this._abortTextureProviderSubscription = textureProvider$ + .pairwise() + .subscribe(function (pair) { + var previous = pair[0]; + previous.abort(); + }); + var roiTrigger$ = Observable_1.Observable + .combineLatest(this._container.renderService.renderCameraFrame$, this._container.renderService.size$.debounceTime(250)) + .map(function (_a) { + var camera = _a[0], size = _a[1]; + return [ + camera.camera.position.clone(), + camera.camera.lookat.clone(), + camera.zoom.valueOf(), + size.height.valueOf(), + size.width.valueOf() + ]; + }) + .pairwise() + .skipWhile(function (pls) { + return pls[1][2] - pls[0][2] < 0 || pls[1][2] === 0; + }) + .map(function (pls) { + var samePosition = pls[0][0].equals(pls[1][0]); + var sameLookat = pls[0][1].equals(pls[1][1]); + var sameZoom = pls[0][2] === pls[1][2]; + var sameHeight = pls[0][3] === pls[1][3]; + var sameWidth = pls[0][4] === pls[1][4]; + return samePosition && sameLookat && sameZoom && sameHeight && sameWidth; + }) + .distinctUntilChanged() + .filter(function (stalled) { + return stalled; + }) + .switchMap(function (stalled) { + return _this._container.renderService.renderCameraFrame$ + .first(); + }) + .withLatestFrom(this._container.renderService.size$, this._navigator.stateService.currentTransform$); + this._setRegionOfInterestSubscription = textureProvider$ + .switchMap(function (provider) { + return roiTrigger$ + .map(function (_a) { + var camera = _a[0], size = _a[1], transform = _a[2]; + return [ + _this._roiCalculator.computeRegionOfInterest(camera, size, transform), + provider, + ]; + }); + }) + .filter(function (args) { + return !args[1].disposed; + }) + .subscribe(function (args) { + var roi = args[0]; + var provider = args[1]; + provider.setRegionOfInterest(roi); + }); + var hasTexture$ = textureProvider$ + .switchMap(function (provider) { + return provider.hasTexture$; + }) + .startWith(false) + .publishReplay(1) + .refCount(); + this._hasTextureSubscription = hasTexture$.subscribe(function () { }); + var nodeImage$ = this._navigator.stateService.currentState$ + .filter(function (frame) { + return frame.state.nodesAhead === 0; + }) + .map(function (frame) { + return frame.state.currentNode; + }) + .distinctUntilChanged(undefined, function (node) { + return node.key; + }) + .debounceTime(1000) + .withLatestFrom(hasTexture$) + .filter(function (args) { + return !args[1]; + }) + .map(function (args) { + return args[0]; + }) + .filter(function (node) { + return node.pano ? + Utils_1.Settings.maxImageSize > Utils_1.Settings.basePanoramaSize : + Utils_1.Settings.maxImageSize > Utils_1.Settings.baseImageSize; + }) + .switchMap(function (node) { + var baseImageSize = node.pano ? + Utils_1.Settings.basePanoramaSize : + Utils_1.Settings.baseImageSize; + if (Math.max(node.image.width, node.image.height) > baseImageSize) { + return Observable_1.Observable.empty(); + } + var image$ = node + .cacheImage$(Utils_1.Settings.maxImageSize) + .map(function (n) { + return [n.image, n]; + }); + return image$ + .takeUntil(hasTexture$ + .filter(function (hasTexture) { + return hasTexture; + })) + .catch(function (error, caught) { + console.error("Failed to fetch high res image (" + node.key + ")", error); + return Observable_1.Observable.empty(); + }); + }) + .publish() + .refCount(); + this._updateBackgroundSubscription = nodeImage$ + .withLatestFrom(textureProvider$) + .subscribe(function (args) { + if (args[0][1].key !== args[1].key || + args[1].disposed) { + return; + } + args[1].updateBackground(args[0][0]); + }); + this._updateTextureImageSubscription = nodeImage$ + .map(function (imn) { + return function (renderer) { + renderer.updateTextureImage(imn[0], imn[1]); + return renderer; + }; + }) + .subscribe(this._glRendererOperation$); + var textureProviderPrev$ = this._navigator.stateService.currentState$ + .filter(function (frame) { + return !!frame.state.previousNode; + }) + .distinctUntilChanged(undefined, function (frame) { + return frame.state.previousNode.key; + }) + .withLatestFrom(this._container.glRenderer.webGLRenderer$, this._container.renderService.size$) + .map(function (_a) { + var frame = _a[0], renderer = _a[1], size = _a[2]; + var state = frame.state; + var viewportSize = Math.max(size.width, size.height); + var previousNode = state.previousNode; + var previousTransform = state.previousTransform; + var tileSize = viewportSize > 2048 ? 2048 : viewportSize > 1024 ? 1024 : 512; + return new Tiles_1.TextureProvider(previousNode.key, previousTransform.basicWidth, previousTransform.basicHeight, tileSize, previousNode.image, _this._imageTileLoader, new Tiles_1.ImageTileStore(), renderer); + }) + .publishReplay(1) + .refCount(); + this._textureProviderSubscriptionPrev = textureProviderPrev$.subscribe(function () { }); + this._setTextureProviderSubscriptionPrev = textureProviderPrev$ + .map(function (provider) { + return function (renderer) { + renderer.setTextureProviderPrev(provider.key, provider); + return renderer; + }; + }) + .subscribe(this._glRendererOperation$); + this._setTileSizeSubscriptionPrev = this._container.renderService.size$ + .switchMap(function (size) { + return Observable_1.Observable + .combineLatest(textureProviderPrev$, Observable_1.Observable.of(size)) + .first(); + }) + .subscribe(function (_a) { + var provider = _a[0], size = _a[1]; + var viewportSize = Math.max(size.width, size.height); + var tileSize = viewportSize > 2048 ? 2048 : viewportSize > 1024 ? 1024 : 512; + provider.setTileSize(tileSize); + }); + this._abortTextureProviderSubscriptionPrev = textureProviderPrev$ + .pairwise() + .subscribe(function (pair) { + var previous = pair[0]; + previous.abort(); + }); + var roiTriggerPrev$ = Observable_1.Observable + .combineLatest(this._container.renderService.renderCameraFrame$, this._container.renderService.size$.debounceTime(250)) + .map(function (_a) { + var camera = _a[0], size = _a[1]; + return [ + camera.camera.position.clone(), + camera.camera.lookat.clone(), + camera.zoom.valueOf(), + size.height.valueOf(), + size.width.valueOf() + ]; + }) + .pairwise() + .skipWhile(function (pls) { + return pls[1][2] - pls[0][2] < 0 || pls[1][2] === 0; + }) + .map(function (pls) { + var samePosition = pls[0][0].equals(pls[1][0]); + var sameLookat = pls[0][1].equals(pls[1][1]); + var sameZoom = pls[0][2] === pls[1][2]; + var sameHeight = pls[0][3] === pls[1][3]; + var sameWidth = pls[0][4] === pls[1][4]; + return samePosition && sameLookat && sameZoom && sameHeight && sameWidth; + }) + .distinctUntilChanged() + .filter(function (stalled) { + return stalled; + }) + .switchMap(function (stalled) { + return _this._container.renderService.renderCameraFrame$ + .first(); + }) + .withLatestFrom(this._container.renderService.size$, this._navigator.stateService.currentTransform$); + this._setRegionOfInterestSubscriptionPrev = textureProviderPrev$ + .switchMap(function (provider) { + return roiTriggerPrev$ + .map(function (_a) { + var camera = _a[0], size = _a[1], transform = _a[2]; + return [ + _this._roiCalculator.computeRegionOfInterest(camera, size, transform), + provider, + ]; + }); + }) + .filter(function (args) { + return !args[1].disposed; + }) + .withLatestFrom(this._navigator.stateService.currentState$) + .subscribe(function (_a) { + var _b = _a[0], roi = _b[0], provider = _b[1], frame = _a[1]; + var shiftedRoi = null; + if (frame.state.previousNode.fullPano) { + if (frame.state.currentNode.fullPano) { + var currentViewingDirection = _this._spatial.viewingDirection(frame.state.currentNode.rotation); + var previousViewingDirection = _this._spatial.viewingDirection(frame.state.previousNode.rotation); + var directionDiff = _this._spatial.angleBetweenVector2(currentViewingDirection.x, currentViewingDirection.y, previousViewingDirection.x, previousViewingDirection.y); + var shift = directionDiff / (2 * Math.PI); + var bbox = { + maxX: _this._spatial.wrap(roi.bbox.maxX + shift, 0, 1), + maxY: roi.bbox.maxY, + minX: _this._spatial.wrap(roi.bbox.minX + shift, 0, 1), + minY: roi.bbox.minY, + }; + shiftedRoi = { + bbox: bbox, + pixelHeight: roi.pixelHeight, + pixelWidth: roi.pixelWidth, + }; + } + else { + var currentViewingDirection = _this._spatial.viewingDirection(frame.state.currentNode.rotation); + var previousViewingDirection = _this._spatial.viewingDirection(frame.state.previousNode.rotation); + var directionDiff = _this._spatial.angleBetweenVector2(currentViewingDirection.x, currentViewingDirection.y, previousViewingDirection.x, previousViewingDirection.y); + var shiftX = directionDiff / (2 * Math.PI); + var a1 = _this._spatial.angleToPlane(currentViewingDirection.toArray(), [0, 0, 1]); + var a2 = _this._spatial.angleToPlane(previousViewingDirection.toArray(), [0, 0, 1]); + var shiftY = (a2 - a1) / (2 * Math.PI); + var currentTransform = frame.state.currentTransform; + var size = Math.max(currentTransform.basicWidth, currentTransform.basicHeight); + var hFov = size > 0 ? + 2 * Math.atan(0.5 * currentTransform.basicWidth / (size * currentTransform.focal)) : + Math.PI / 3; + var vFov = size > 0 ? + 2 * Math.atan(0.5 * currentTransform.basicHeight / (size * currentTransform.focal)) : + Math.PI / 3; + var spanningWidth = hFov / (2 * Math.PI); + var spanningHeight = vFov / Math.PI; + var basicWidth = (roi.bbox.maxX - roi.bbox.minX) * spanningWidth; + var basicHeight = (roi.bbox.maxY - roi.bbox.minY) * spanningHeight; + var pixelWidth = roi.pixelWidth * spanningWidth; + var pixelHeight = roi.pixelHeight * spanningHeight; + var zoomShiftX = (roi.bbox.minX + roi.bbox.maxX) / 2 - 0.5; + var zoomShiftY = (roi.bbox.minY + roi.bbox.maxY) / 2 - 0.5; + var minX = 0.5 + shiftX + spanningWidth * zoomShiftX - basicWidth / 2; + var maxX = 0.5 + shiftX + spanningWidth * zoomShiftX + basicWidth / 2; + var minY = 0.5 + shiftY + spanningHeight * zoomShiftY - basicHeight / 2; + var maxY = 0.5 + shiftY + spanningHeight * zoomShiftY + basicHeight / 2; + var bbox = { + maxX: _this._spatial.wrap(maxX, 0, 1), + maxY: maxY, + minX: _this._spatial.wrap(minX, 0, 1), + minY: minY, + }; + shiftedRoi = { + bbox: bbox, + pixelHeight: pixelHeight, + pixelWidth: pixelWidth, + }; + } + } + else { + var currentBasicAspect = frame.state.currentTransform.basicAspect; + var previousBasicAspect = frame.state.previousTransform.basicAspect; + var _c = _this._getBasicCorners(currentBasicAspect, previousBasicAspect), _d = _c[0], cornerMinX = _d[0], cornerMinY = _d[1], _e = _c[1], cornerMaxX = _e[0], cornerMaxY = _e[1]; + var basicWidth = cornerMaxX - cornerMinX; + var basicHeight = cornerMaxY - cornerMinY; + var pixelWidth = roi.pixelWidth / basicWidth; + var pixelHeight = roi.pixelHeight / basicHeight; + var minX = (basicWidth - 1) / (2 * basicWidth) + roi.bbox.minX / basicWidth; + var maxX = (basicWidth - 1) / (2 * basicWidth) + roi.bbox.maxX / basicWidth; + var minY = (basicHeight - 1) / (2 * basicHeight) + roi.bbox.minY / basicHeight; + var maxY = (basicHeight - 1) / (2 * basicHeight) + roi.bbox.maxY / basicHeight; + var bbox = { + maxX: maxX, + maxY: maxY, + minX: minX, + minY: minY, + }; + _this._clipBoundingBox(bbox); + shiftedRoi = { + bbox: bbox, + pixelHeight: pixelHeight, + pixelWidth: pixelWidth, + }; + } + provider.setRegionOfInterest(shiftedRoi); + }); + var hasTexturePrev$ = textureProviderPrev$ + .switchMap(function (provider) { + return provider.hasTexture$; + }) + .startWith(false) + .publishReplay(1) + .refCount(); + this._hasTextureSubscriptionPrev = hasTexturePrev$.subscribe(function () { }); + var nodeImagePrev$ = this._navigator.stateService.currentState$ + .filter(function (frame) { + return frame.state.nodesAhead === 0 && !!frame.state.previousNode; + }) + .map(function (frame) { + return frame.state.previousNode; + }) + .distinctUntilChanged(undefined, function (node) { + return node.key; + }) + .debounceTime(1000) + .withLatestFrom(hasTexturePrev$) + .filter(function (args) { + return !args[1]; + }) + .map(function (args) { + return args[0]; + }) + .filter(function (node) { + return node.pano ? + Utils_1.Settings.maxImageSize > Utils_1.Settings.basePanoramaSize : + Utils_1.Settings.maxImageSize > Utils_1.Settings.baseImageSize; + }) + .switchMap(function (node) { + var baseImageSize = node.pano ? + Utils_1.Settings.basePanoramaSize : + Utils_1.Settings.baseImageSize; + if (Math.max(node.image.width, node.image.height) > baseImageSize) { + return Observable_1.Observable.empty(); + } + var image$ = node + .cacheImage$(Utils_1.Settings.maxImageSize) + .map(function (n) { + return [n.image, n]; + }); + return image$ + .takeUntil(hasTexturePrev$ + .filter(function (hasTexture) { + return hasTexture; + })) + .catch(function (error, caught) { + console.error("Failed to fetch high res image (" + node.key + ")", error); + return Observable_1.Observable.empty(); + }); + }) + .publish() + .refCount(); + this._updateBackgroundSubscriptionPrev = nodeImagePrev$ + .withLatestFrom(textureProviderPrev$) + .subscribe(function (args) { + if (args[0][1].key !== args[1].key || + args[1].disposed) { + return; + } + args[1].updateBackground(args[0][0]); + }); + this._updateTextureImageSubscriptionPrev = nodeImagePrev$ + .map(function (imn) { + return function (renderer) { + renderer.updateTextureImage(imn[0], imn[1]); + return renderer; + }; + }) + .subscribe(this._glRendererOperation$); + }; + SliderComponent.prototype._deactivate = function () { + var _this = this; + this._waitSubscription.unsubscribe(); + this._navigator.stateService.state$ + .first() + .subscribe(function (state) { + if (state !== State_1.State.Traversing) { + _this._navigator.stateService.traverse(); + } + }); + this._glRendererDisposer$.next(null); + this._domRenderer.deactivate(); + this._modeSubcription.unsubscribe(); + this._setKeysSubscription.unsubscribe(); + this._stateSubscription.unsubscribe(); + this._glRenderSubscription.unsubscribe(); + this._domRenderSubscription.unsubscribe(); + this._moveSubscription.unsubscribe(); + this.configure({ keys: null }); + }; + SliderComponent.prototype._getDefaultConfiguration = function () { + return { + initialPosition: 1, + mode: Component_1.SliderMode.Motion, + sliderVisible: true, + }; + }; + SliderComponent.prototype._catchCacheNode$ = function (key) { + return this._navigator.graphService.cacheNode$(key) + .catch(function (error, caught) { + console.error("Failed to cache slider node (" + key + ")", error); + return Observable_1.Observable.empty(); + }); + }; + SliderComponent.prototype._getBasicCorners = function (currentAspect, previousAspect) { + var offsetX; + var offsetY; + if (currentAspect > previousAspect) { + offsetX = 0.5; + offsetY = 0.5 * currentAspect / previousAspect; + } + else { + offsetX = 0.5 * previousAspect / currentAspect; + offsetY = 0.5; + } + return [[0.5 - offsetX, 0.5 - offsetY], [0.5 + offsetX, 0.5 + offsetY]]; + }; + SliderComponent.prototype._clipBoundingBox = function (bbox) { + bbox.minX = Math.max(0, Math.min(1, bbox.minX)); + bbox.maxX = Math.max(0, Math.min(1, bbox.maxX)); + bbox.minY = Math.max(0, Math.min(1, bbox.minY)); + bbox.maxY = Math.max(0, Math.min(1, bbox.maxY)); + }; + SliderComponent.componentName = "slider"; + return SliderComponent; +}(Component_1.Component)); +exports.SliderComponent = SliderComponent; +Component_1.ComponentService.register(SliderComponent); +exports.default = SliderComponent; + +},{"../../Component":290,"../../Geo":293,"../../Render":296,"../../State":297,"../../Tiles":299,"../../Utils":300,"rxjs/Observable":29,"rxjs/Subject":34}],351:[function(require,module,exports){ +"use strict"; +/// +Object.defineProperty(exports, "__esModule", { value: true }); +var vd = require("virtual-dom"); +var Observable_1 = require("rxjs/Observable"); +var Subject_1 = require("rxjs/Subject"); +var Component_1 = require("../../Component"); +var SliderDOMRenderer = /** @class */ (function () { + function SliderDOMRenderer(container) { + this._container = container; + this._interacting = false; + this._notifyModeChanged$ = new Subject_1.Subject(); + this._notifyPositionChanged$ = new Subject_1.Subject(); + this._stopInteractionSubscription = null; + } + Object.defineProperty(SliderDOMRenderer.prototype, "mode$", { + get: function () { + return this._notifyModeChanged$; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SliderDOMRenderer.prototype, "position$", { + get: function () { + return this._notifyPositionChanged$; + }, + enumerable: true, + configurable: true + }); + SliderDOMRenderer.prototype.activate = function () { + var _this = this; + if (!!this._stopInteractionSubscription) { + return; + } + this._stopInteractionSubscription = Observable_1.Observable + .merge(this._container.mouseService.documentMouseUp$, this._container.touchService.touchEnd$ + .filter(function (touchEvent) { + return touchEvent.touches.length === 0; + })) + .subscribe(function (event) { + if (_this._interacting) { + _this._interacting = false; + } + }); + }; + SliderDOMRenderer.prototype.deactivate = function () { + if (!this._stopInteractionSubscription) { + return; + } + this._interacting = false; + this._stopInteractionSubscription.unsubscribe(); + this._stopInteractionSubscription = null; + }; + SliderDOMRenderer.prototype.render = function (position, mode, motionless, pano, visible) { + var children = []; + if (visible) { + children.push(vd.h("div.SliderBorder", [])); + var modeVisible = !(motionless || pano); + if (modeVisible) { + children.push(this._createModeButton(mode)); + } + children.push(this._createPositionInput(position, modeVisible)); + } + var boundingRect = this._container.domContainer.getBoundingClientRect(); + var width = Math.max(215, Math.min(400, boundingRect.width - 100)); + return vd.h("div.SliderContainer", { style: { width: width + "px" } }, children); + }; + SliderDOMRenderer.prototype._createModeButton = function (mode) { + var _this = this; + var properties = { + onclick: function () { + _this._notifyModeChanged$.next(mode === Component_1.SliderMode.Motion ? + Component_1.SliderMode.Stationary : + Component_1.SliderMode.Motion); + }, + }; + var className = mode === Component_1.SliderMode.Stationary ? + "SliderModeButtonPressed" : + "SliderModeButton"; + return vd.h("div." + className, properties, [vd.h("div.SliderModeIcon", [])]); + }; + SliderDOMRenderer.prototype._createPositionInput = function (position, modeVisible) { + var _this = this; + var onChange = function (e) { + _this._notifyPositionChanged$.next(Number(e.target.value) / 1000); + }; + var onStart = function (e) { + _this._interacting = true; + e.stopPropagation(); + }; + var onMove = function (e) { + if (_this._interacting) { + e.stopPropagation(); + } + }; + var onKeyDown = function (e) { + if (e.key === "ArrowDown" || e.key === "ArrowLeft" || + e.key === "ArrowRight" || e.key === "ArrowUp") { + e.preventDefault(); + } + }; + var boundingRect = this._container.domContainer.getBoundingClientRect(); + var width = Math.max(215, Math.min(400, boundingRect.width - 105)) - 68 + (modeVisible ? 0 : 36); + var positionInput = vd.h("input.SliderPosition", { + max: 1000, + min: 0, + onchange: onChange, + oninput: onChange, + onkeydown: onKeyDown, + onmousedown: onStart, + onmousemove: onMove, + ontouchmove: onMove, + ontouchstart: onStart, + style: { + width: width + "px", + }, + type: "range", + value: 1000 * position, + }, []); + return vd.h("div.SliderPositionContainer", [positionInput]); + }; + return SliderDOMRenderer; +}()); +exports.SliderDOMRenderer = SliderDOMRenderer; +exports.default = SliderDOMRenderer; + +},{"../../Component":290,"rxjs/Observable":29,"rxjs/Subject":34,"virtual-dom":246}],352:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var Component_1 = require("../../Component"); +var Geo_1 = require("../../Geo"); +var SliderGLRenderer = /** @class */ (function () { + function SliderGLRenderer() { + this._factory = new Component_1.MeshFactory(); + this._scene = new Component_1.MeshScene(); + this._spatial = new Geo_1.Spatial(); + this._currentKey = null; + this._previousKey = null; + this._disabled = false; + this._curtain = 1; + this._frameId = 0; + this._needsRender = false; + this._mode = null; + this._currentProviderDisposers = {}; + this._previousProviderDisposers = {}; + } + Object.defineProperty(SliderGLRenderer.prototype, "disabled", { + get: function () { + return this._disabled; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SliderGLRenderer.prototype, "frameId", { + get: function () { + return this._frameId; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SliderGLRenderer.prototype, "needsRender", { + get: function () { + return this._needsRender; + }, + enumerable: true, + configurable: true + }); + SliderGLRenderer.prototype.setTextureProvider = function (key, provider) { + this._setTextureProvider(key, this._currentKey, provider, this._currentProviderDisposers, this._updateTexture.bind(this)); + }; + SliderGLRenderer.prototype.setTextureProviderPrev = function (key, provider) { + this._setTextureProvider(key, this._previousKey, provider, this._previousProviderDisposers, this._updateTexturePrev.bind(this)); + }; + SliderGLRenderer.prototype.update = function (frame, mode) { + this._updateFrameId(frame.id); + this._updateImagePlanes(frame.state, mode); + }; + SliderGLRenderer.prototype.updateCurtain = function (curtain) { + if (this._curtain === curtain) { + return; + } + this._curtain = curtain; + this._updateCurtain(); + this._needsRender = true; + }; + SliderGLRenderer.prototype.updateTexture = function (image, node) { + var imagePlanes = node.key === this._currentKey ? + this._scene.imagePlanes : + node.key === this._previousKey ? + this._scene.imagePlanesOld : + []; + if (imagePlanes.length === 0) { + return; + } + this._needsRender = true; + for (var _i = 0, imagePlanes_1 = imagePlanes; _i < imagePlanes_1.length; _i++) { + var plane = imagePlanes_1[_i]; + var material = plane.material; + var texture = material.uniforms.projectorTex.value; + texture.image = image; + texture.needsUpdate = true; + } + }; + SliderGLRenderer.prototype.updateTextureImage = function (image, node) { + if (this._currentKey !== node.key) { + return; + } + this._needsRender = true; + for (var _i = 0, _a = this._scene.imagePlanes; _i < _a.length; _i++) { + var plane = _a[_i]; + var material = plane.material; + var texture = material.uniforms.projectorTex.value; + texture.image = image; + texture.needsUpdate = true; + } + }; + SliderGLRenderer.prototype.render = function (perspectiveCamera, renderer) { + if (!this.disabled) { + renderer.render(this._scene.sceneOld, perspectiveCamera); + } + renderer.render(this._scene.scene, perspectiveCamera); + this._needsRender = false; + }; + SliderGLRenderer.prototype.dispose = function () { + this._scene.clear(); + for (var key in this._currentProviderDisposers) { + if (!this._currentProviderDisposers.hasOwnProperty(key)) { + continue; + } + this._currentProviderDisposers[key](); + } + for (var key in this._previousProviderDisposers) { + if (!this._previousProviderDisposers.hasOwnProperty(key)) { + continue; + } + this._previousProviderDisposers[key](); + } + this._currentProviderDisposers = {}; + this._previousProviderDisposers = {}; + }; + SliderGLRenderer.prototype._getBasicCorners = function (currentAspect, previousAspect) { + var offsetX; + var offsetY; + if (currentAspect > previousAspect) { + offsetX = 0.5; + offsetY = 0.5 * currentAspect / previousAspect; + } + else { + offsetX = 0.5 * previousAspect / currentAspect; + offsetY = 0.5; + } + return [[0.5 - offsetX, 0.5 - offsetY], [0.5 + offsetX, 0.5 + offsetY]]; + }; + SliderGLRenderer.prototype._setDisabled = function (state) { + this._disabled = state.currentNode == null || + state.previousNode == null || + (state.currentNode.pano && !state.currentNode.fullPano) || + (state.previousNode.pano && !state.previousNode.fullPano) || + (state.currentNode.fullPano && !state.previousNode.fullPano); + }; + SliderGLRenderer.prototype._setTextureProvider = function (key, originalKey, provider, providerDisposers, updateTexture) { + var _this = this; + if (key !== originalKey) { + return; + } + var createdSubscription = provider.textureCreated$ + .subscribe(updateTexture); + var updatedSubscription = provider.textureUpdated$ + .subscribe(function (updated) { + _this._needsRender = true; + }); + var dispose = function () { + createdSubscription.unsubscribe(); + updatedSubscription.unsubscribe(); + provider.dispose(); + }; + if (key in providerDisposers) { + var disposeProvider = providerDisposers[key]; + disposeProvider(); + delete providerDisposers[key]; + } + providerDisposers[key] = dispose; + }; + SliderGLRenderer.prototype._updateCurtain = function () { + for (var _i = 0, _a = this._scene.imagePlanes; _i < _a.length; _i++) { + var plane = _a[_i]; + var shaderMaterial = plane.material; + if (!!shaderMaterial.uniforms.curtain) { + shaderMaterial.uniforms.curtain.value = this._curtain; + } + } + }; + SliderGLRenderer.prototype._updateFrameId = function (frameId) { + this._frameId = frameId; + }; + SliderGLRenderer.prototype._updateImagePlanes = function (state, mode) { + var currentChanged = state.currentNode != null && this._currentKey !== state.currentNode.key; + var previousChanged = state.previousNode != null && this._previousKey !== state.previousNode.key; + var modeChanged = this._mode !== mode; + if (!(currentChanged || previousChanged || modeChanged)) { + return; + } + this._setDisabled(state); + this._needsRender = true; + this._mode = mode; + var motionless = state.motionless || mode === Component_1.SliderMode.Stationary || state.currentNode.pano; + if (this.disabled || previousChanged) { + if (this._previousKey in this._previousProviderDisposers) { + this._previousProviderDisposers[this._previousKey](); + delete this._previousProviderDisposers[this._previousKey]; + } + } + if (this.disabled) { + this._scene.setImagePlanesOld([]); + } + else { + if (previousChanged || modeChanged) { + var previousNode = state.previousNode; + this._previousKey = previousNode.key; + var elements = state.currentTransform.rt.elements; + var translation = [elements[12], elements[13], elements[14]]; + var currentAspect = state.currentTransform.basicAspect; + var previousAspect = state.previousTransform.basicAspect; + var textureScale = currentAspect > previousAspect ? + [1, previousAspect / currentAspect] : + [currentAspect / previousAspect, 1]; + var rotation = state.currentNode.rotation; + var width = state.currentNode.width; + var height = state.currentNode.height; + if (previousNode.fullPano) { + rotation = state.previousNode.rotation; + translation = this._spatial + .rotate(this._spatial + .opticalCenter(state.currentNode.rotation, translation) + .toArray(), rotation) + .multiplyScalar(-1) + .toArray(); + width = state.previousNode.width; + height = state.previousNode.height; + } + var transform = new Geo_1.Transform(state.currentNode.orientation, width, height, state.currentNode.focal, state.currentNode.scale, previousNode.gpano, rotation, translation, previousNode.image, textureScale); + var mesh = undefined; + if (previousNode.fullPano) { + mesh = this._factory.createMesh(previousNode, motionless || state.currentNode.fullPano ? transform : state.previousTransform); + } + else { + if (motionless) { + var _a = this._getBasicCorners(currentAspect, previousAspect), _b = _a[0], basicX0 = _b[0], basicY0 = _b[1], _c = _a[1], basicX1 = _c[0], basicY1 = _c[1]; + mesh = this._factory.createFlatMesh(state.previousNode, transform, basicX0, basicX1, basicY0, basicY1); + } + else { + mesh = this._factory.createMesh(state.previousNode, state.previousTransform); + } + } + this._scene.setImagePlanesOld([mesh]); + } + } + if (currentChanged) { + if (this._currentKey in this._currentProviderDisposers) { + this._currentProviderDisposers[this._currentKey](); + delete this._currentProviderDisposers[this._currentKey]; + } + this._currentKey = state.currentNode.key; + var imagePlane = state.currentNode.pano && !state.currentNode.fullPano ? + this._factory.createMesh(state.currentNode, state.currentTransform) : + this._factory.createCurtainMesh(state.currentNode, state.currentTransform); + this._scene.setImagePlanes([imagePlane]); + this._updateCurtain(); + } + }; + SliderGLRenderer.prototype._updateTexture = function (texture) { + this._needsRender = true; + for (var _i = 0, _a = this._scene.imagePlanes; _i < _a.length; _i++) { + var plane = _a[_i]; + var material = plane.material; + var oldTexture = material.uniforms.projectorTex.value; + material.uniforms.projectorTex.value = null; + oldTexture.dispose(); + material.uniforms.projectorTex.value = texture; + } + }; + SliderGLRenderer.prototype._updateTexturePrev = function (texture) { + this._needsRender = true; + for (var _i = 0, _a = this._scene.imagePlanesOld; _i < _a.length; _i++) { + var plane = _a[_i]; + var material = plane.material; + var oldTexture = material.uniforms.projectorTex.value; + material.uniforms.projectorTex.value = null; + oldTexture.dispose(); + material.uniforms.projectorTex.value = texture; + } + }; + return SliderGLRenderer; +}()); +exports.SliderGLRenderer = SliderGLRenderer; +exports.default = SliderGLRenderer; + +},{"../../Component":290,"../../Geo":293}],353:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var GeometryTagError_1 = require("./error/GeometryTagError"); +exports.GeometryTagError = GeometryTagError_1.GeometryTagError; +var PointGeometry_1 = require("./geometry/PointGeometry"); +exports.PointGeometry = PointGeometry_1.PointGeometry; +var RectGeometry_1 = require("./geometry/RectGeometry"); +exports.RectGeometry = RectGeometry_1.RectGeometry; +var PolygonGeometry_1 = require("./geometry/PolygonGeometry"); +exports.PolygonGeometry = PolygonGeometry_1.PolygonGeometry; +var OutlineTag_1 = require("./tag/OutlineTag"); +exports.OutlineTag = OutlineTag_1.OutlineTag; +var SpotTag_1 = require("./tag/SpotTag"); +exports.SpotTag = SpotTag_1.SpotTag; +var TagComponent_1 = require("./TagComponent"); +exports.TagComponent = TagComponent_1.TagComponent; +var TagMode_1 = require("./TagMode"); +exports.TagMode = TagMode_1.TagMode; + +},{"./TagComponent":354,"./TagMode":357,"./error/GeometryTagError":361,"./geometry/PointGeometry":363,"./geometry/PolygonGeometry":364,"./geometry/RectGeometry":365,"./tag/OutlineTag":377,"./tag/SpotTag":380}],354:[function(require,module,exports){ +"use strict"; +/// +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var when = require("when"); +var Observable_1 = require("rxjs/Observable"); +var Component_1 = require("../../Component"); +var Geo_1 = require("../../Geo"); +var Render_1 = require("../../Render"); +/** + * @class TagComponent + * + * @classdesc Component for showing and editing tags with different + * geometries composed from 2D basic image coordinates (see the + * {@link Viewer} class documentation for more information about coordinate + * systems). + * + * The `add` method is used for adding new tags or replacing + * tags already in the set. Tags are removed by id. + * + * If a tag already in the set has the same + * id as one of the tags added, the old tag will be removed and + * the added tag will take its place. + * + * The tag component mode can be set to either be non interactive or + * to be in creating mode of a certain geometry type. + * + * The tag properties can be updated at any time and the change will + * be visibile immediately. + * + * Tags are only relevant to a single image because they are based on + * 2D basic image coordinates. Tags related to a certain image should + * be removed when the viewer is moved to another node. + * + * To retrive and use the tag component + * + * @example + * ``` + * var viewer = new Mapillary.Viewer( + * "", + * "", + * "", + * { component: { tag: true } }); + * + * var tagComponent = viewer.getComponent("tag"); + * ``` + */ +var TagComponent = /** @class */ (function (_super) { + __extends(TagComponent, _super); + function TagComponent(name, container, navigator) { + var _this = _super.call(this, name, container, navigator) || this; + _this._tagDomRenderer = new Component_1.TagDOMRenderer(); + _this._tagScene = new Component_1.TagScene(); + _this._tagSet = new Component_1.TagSet(); + _this._tagCreator = new Component_1.TagCreator(_this, navigator); + _this._viewportCoords = new Geo_1.ViewportCoords(); + _this._createHandlers = { + "CreatePoint": new Component_1.CreatePointHandler(_this, container, navigator, _this._viewportCoords, _this._tagCreator), + "CreatePolygon": new Component_1.CreatePolygonHandler(_this, container, navigator, _this._viewportCoords, _this._tagCreator), + "CreateRect": new Component_1.CreateRectHandler(_this, container, navigator, _this._viewportCoords, _this._tagCreator), + "CreateRectDrag": new Component_1.CreateRectDragHandler(_this, container, navigator, _this._viewportCoords, _this._tagCreator), + "Default": undefined, + }; + _this._editVertexHandler = new Component_1.EditVertexHandler(_this, container, navigator, _this._viewportCoords, _this._tagSet); + _this._renderTags$ = _this._tagSet.changed$ + .map(function (tagSet) { + var tags = tagSet.getAll(); + // ensure that tags are always rendered in the same order + // to avoid hover tracking problems on first resize. + tags.sort(function (t1, t2) { + var id1 = t1.tag.id; + var id2 = t2.tag.id; + if (id1 < id2) { + return -1; + } + if (id1 > id2) { + return 1; + } + return 0; + }); + return tags; + }) + .share(); + _this._tagChanged$ = _this._renderTags$ + .switchMap(function (tags) { + return Observable_1.Observable + .from(tags) + .mergeMap(function (tag) { + return Observable_1.Observable + .merge(tag.tag.changed$, tag.tag.geometryChanged$); + }); + }) + .share(); + _this._renderTagGLChanged$ = _this._renderTags$ + .switchMap(function (tags) { + return Observable_1.Observable + .from(tags) + .mergeMap(function (tag) { + return tag.glObjectsChanged$; + }); + }) + .share(); + _this._createGeometryChanged$ = _this._tagCreator.tag$ + .switchMap(function (tag) { + return tag != null ? + tag.geometryChanged$ : + Observable_1.Observable.empty(); + }) + .share(); + _this._createGLObjectsChanged$ = _this._tagCreator.tag$ + .switchMap(function (tag) { + return tag != null ? + tag.glObjectsChanged$ : + Observable_1.Observable.empty(); + }) + .share(); + _this._creatingConfiguration$ = _this._configuration$ + .distinctUntilChanged(function (c1, c2) { + return c1.mode === c2.mode; + }, function (configuration) { + return { + createColor: configuration.createColor, + mode: configuration.mode, + }; + }) + .publishReplay(1) + .refCount(); + _this._creatingConfiguration$ + .subscribe(function (configuration) { + _this.fire(TagComponent.modechanged, configuration.mode); + }); + return _this; + } + /** + * Add tags to the tag set or replace tags in the tag set. + * + * @description If a tag already in the set has the same + * id as one of the tags added, the old tag will be removed + * the added tag will take its place. + * + * @param {Array} tags - Tags to add. + * + * @example ```tagComponent.add([tag1, tag2]);``` + */ + TagComponent.prototype.add = function (tags) { + var _this = this; + if (this._activated) { + this._navigator.stateService.currentTransform$ + .first() + .subscribe(function (transform) { + _this._tagSet.add(tags, transform); + var renderTags = tags + .map(function (tag) { + return _this._tagSet.get(tag.id); + }); + _this._tagScene.add(renderTags); + }); + } + else { + this._tagSet.addDeactivated(tags); + } + }; + /** + * Change the current tag mode. + * + * @description Change the tag mode to one of the create modes for creating new geometries. + * + * @param {TagMode} mode - New tag mode. + * + * @fires TagComponent#modechanged + * + * @example ```tagComponent.changeMode(Mapillary.TagComponent.TagMode.CreateRect);``` + */ + TagComponent.prototype.changeMode = function (mode) { + this.configure({ mode: mode }); + }; + /** + * Returns the tag in the tag set with the specified id, or + * undefined if the id matches no tag. + * + * @param {string} tagId - Id of the tag. + * + * @example ```var tag = tagComponent.get("tagId");``` + */ + TagComponent.prototype.get = function (tagId) { + if (this._activated) { + var renderTag = this._tagSet.get(tagId); + return renderTag !== undefined ? renderTag.tag : undefined; + } + else { + return this._tagSet.getDeactivated(tagId); + } + }; + /** + * Returns an array of all tags. + * + * @example ```var tags = tagComponent.getAll();``` + */ + TagComponent.prototype.getAll = function () { + if (this.activated) { + return this._tagSet + .getAll() + .map(function (renderTag) { + return renderTag.tag; + }); + } + else { + return this._tagSet.getAllDeactivated(); + } + }; + /** + * Returns an array of tag ids for tags that contain the specified point. + * + * @description The pixel point must lie inside the polygon or rectangle + * of an added tag for the tag id to be returned. Tag ids for + * tags that do not have a fill will also be returned if the point is inside + * the geometry of the tag. Tags with point geometries can not be retrieved. + * + * No tag ids will be returned for panoramas. + * + * Notice that the pixelPoint argument requires x, y coordinates from pixel space. + * + * With this function, you can use the coordinates provided by mouse + * events to get information out of the tag component. + * + * If no tag at exist the pixel point, an empty array will be returned. + * + * @param {Array} pixelPoint - Pixel coordinates on the viewer element. + * @returns {Array} Ids of the tags that contain the specified pixel point. + * + * @example + * ``` + * tagComponent.getTagIdsAt([100, 100]) + * .then((tagIds) => { console.log(tagIds); }); + * ``` + */ + TagComponent.prototype.getTagIdsAt = function (pixelPoint) { + var _this = this; + return when.promise(function (resolve, reject) { + _this._container.renderService.renderCamera$ + .first() + .map(function (render) { + var viewport = _this._viewportCoords + .canvasToViewport(pixelPoint[0], pixelPoint[1], _this._container.element); + var ids = _this._tagScene.intersectObjects(viewport, render.perspective); + return ids; + }) + .subscribe(function (ids) { + resolve(ids); + }, function (error) { + reject(error); + }); + }); + }; + /** + * Check if a tag exist in the tag set. + * + * @param {string} tagId - Id of the tag. + * + * @example ```var tagExists = tagComponent.has("tagId");``` + */ + TagComponent.prototype.has = function (tagId) { + return this._activated ? this._tagSet.has(tagId) : this._tagSet.hasDeactivated(tagId); + }; + /** + * Remove tags with the specified ids from the tag set. + * + * @param {Array} tagIds - Ids for tags to remove. + * + * @example ```tagComponent.remove(["id-1", "id-2"]);``` + */ + TagComponent.prototype.remove = function (tagIds) { + if (this._activated) { + this._tagSet.remove(tagIds); + this._tagScene.remove(tagIds); + } + else { + this._tagSet.removeDeactivated(tagIds); + } + }; + /** + * Remove all tags from the tag set. + * + * @example ```tagComponent.removeAll();``` + */ + TagComponent.prototype.removeAll = function () { + if (this._activated) { + this._tagSet.removeAll(); + this._tagScene.removeAll(); + } + else { + this._tagSet.removeAllDeactivated(); + } + }; + TagComponent.prototype._activate = function () { + var _this = this; + this._editVertexHandler.enable(); + var handlerGeometryCreated$ = Observable_1.Observable + .from(Object.keys(this._createHandlers)) + .map(function (key) { + return _this._createHandlers[key]; + }) + .filter(function (handler) { + return !!handler; + }) + .mergeMap(function (handler) { + return handler.geometryCreated$; + }) + .share(); + this._fireGeometryCreatedSubscription = handlerGeometryCreated$ + .subscribe(function (geometry) { + _this.fire(TagComponent.geometrycreated, geometry); + }); + this._fireCreateGeometryEventSubscription = this._tagCreator.tag$ + .skipWhile(function (tag) { + return tag == null; + }) + .distinctUntilChanged() + .subscribe(function (tag) { + var eventType = tag != null ? + TagComponent.creategeometrystart : + TagComponent.creategeometryend; + _this.fire(eventType, _this); + }); + this._handlerStopCreateSubscription = handlerGeometryCreated$ + .subscribe(function () { + _this.changeMode(Component_1.TagMode.Default); + }); + this._handlerEnablerSubscription = this._creatingConfiguration$ + .subscribe(function (configuration) { + _this._disableCreateHandlers(); + var mode = Component_1.TagMode[configuration.mode]; + var handler = _this._createHandlers[mode]; + if (!!handler) { + handler.enable(); + } + }); + this._fireTagsChangedSubscription = this._renderTags$ + .subscribe(function (tags) { + _this.fire(TagComponent.tagschanged, _this); + }); + this._stopCreateSubscription = this._tagCreator.tag$ + .switchMap(function (tag) { + return tag != null ? + tag.aborted$ + .map(function (t) { return null; }) : + Observable_1.Observable.empty(); + }) + .subscribe(function () { _this.changeMode(Component_1.TagMode.Default); }); + this._setGLCreateTagSubscription = this._tagCreator.tag$ + .subscribe(function (tag) { + if (_this._tagScene.hasCreateTag()) { + _this._tagScene.removeCreateTag(); + } + if (tag != null) { + _this._tagScene.addCreateTag(tag); + } + }); + this._createGLObjectsChangedSubscription = this._createGLObjectsChanged$ + .subscribe(function (tag) { + _this._tagScene.updateCreateTagObjects(tag); + }); + this._updateGLObjectsSubscription = this._renderTagGLChanged$ + .subscribe(function (tag) { + _this._tagScene.updateObjects(tag); + }); + this._updateTagSceneSubscription = this._tagChanged$ + .subscribe(function (tag) { + _this._tagScene.update(); + }); + this._domSubscription = this._renderTags$ + .startWith([]) + .do(function (tags) { + _this._container.domRenderer.render$.next({ + name: _this._name, + vnode: _this._tagDomRenderer.clear(), + }); + }) + .combineLatest(this._container.renderService.renderCamera$, this._container.spriteService.spriteAtlas$, this._container.renderService.size$, this._tagChanged$.startWith(null), this._tagCreator.tag$.merge(this._createGeometryChanged$).startWith(null), function (renderTags, rc, atlas, size, tag, ct) { + return [rc, atlas, size, renderTags, tag, ct]; + }) + .map(function (args) { + return { + name: _this._name, + vnode: _this._tagDomRenderer.render(args[3], args[5], args[1], args[0].perspective, args[2]), + }; + }) + .subscribe(this._container.domRenderer.render$); + this._glSubscription = this._navigator.stateService.currentState$ + .map(function (frame) { + var tagScene = _this._tagScene; + return { + name: _this._name, + render: { + frameId: frame.id, + needsRender: tagScene.needsRender, + render: tagScene.render.bind(tagScene), + stage: Render_1.GLRenderStage.Foreground, + }, + }; + }) + .subscribe(this._container.glRenderer.render$); + this._navigator.stateService.currentTransform$ + .first() + .subscribe(function (transform) { + _this._tagSet.activate(transform); + _this._tagScene.add(_this._tagSet.getAll()); + }); + }; + TagComponent.prototype._deactivate = function () { + this._editVertexHandler.disable(); + this._disableCreateHandlers(); + this._tagScene.clear(); + this._tagSet.deactivate(); + this._tagCreator.delete$.next(null); + this._updateGLObjectsSubscription.unsubscribe(); + this._updateTagSceneSubscription.unsubscribe(); + this._stopCreateSubscription.unsubscribe(); + this._setGLCreateTagSubscription.unsubscribe(); + this._createGLObjectsChangedSubscription.unsubscribe(); + this._domSubscription.unsubscribe(); + this._glSubscription.unsubscribe(); + this._fireCreateGeometryEventSubscription.unsubscribe(); + this._fireGeometryCreatedSubscription.unsubscribe(); + this._fireTagsChangedSubscription.unsubscribe(); + this._handlerStopCreateSubscription.unsubscribe(); + this._handlerEnablerSubscription.unsubscribe(); + this._container.element.classList.remove("component-tag-create"); }; TagComponent.prototype._getDefaultConfiguration = function () { return { @@ -31506,14 +31732,10 @@ exports.TagComponent = TagComponent; Component_1.ComponentService.register(TagComponent); exports.default = TagComponent; -},{"../../Component":291,"../../Geo":294,"../../Render":297,"rxjs/Observable":29,"rxjs/add/observable/combineLatest":38,"rxjs/add/observable/empty":41,"rxjs/add/observable/from":42,"rxjs/add/observable/merge":45,"rxjs/add/observable/of":46,"rxjs/add/operator/combineLatest":55,"rxjs/add/operator/concat":56,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/do":61,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/merge":68,"rxjs/add/operator/mergeMap":70,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78,"rxjs/add/operator/share":79,"rxjs/add/operator/skip":80,"rxjs/add/operator/skipUntil":81,"rxjs/add/operator/startWith":83,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/take":85,"rxjs/add/operator/takeUntil":86,"rxjs/add/operator/withLatestFrom":90,"when":288}],355:[function(require,module,exports){ +},{"../../Component":290,"../../Geo":293,"../../Render":296,"rxjs/Observable":29,"when":287}],355:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/share"); -require("rxjs/add/operator/withLatestFrom"); var Component_1 = require("../../Component"); var TagCreator = /** @class */ (function () { function TagCreator(component, navigator) { @@ -31598,7 +31820,7 @@ var TagCreator = /** @class */ (function () { exports.TagCreator = TagCreator; exports.default = TagCreator; -},{"../../Component":291,"rxjs/Subject":34,"rxjs/add/operator/map":67,"rxjs/add/operator/scan":78,"rxjs/add/operator/share":79,"rxjs/add/operator/withLatestFrom":90}],356:[function(require,module,exports){ +},{"../../Component":290,"rxjs/Subject":34}],356:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -31624,7 +31846,7 @@ var TagDOMRenderer = /** @class */ (function () { }()); exports.TagDOMRenderer = TagDOMRenderer; -},{"virtual-dom":247}],357:[function(require,module,exports){ +},{"virtual-dom":246}],357:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -31840,13 +32062,10 @@ var TagScene = /** @class */ (function () { exports.TagScene = TagScene; exports.default = TagScene; -},{"three":241}],360:[function(require,module,exports){ +},{"three":240}],360:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/share"); var Component_1 = require("../../Component"); var TagSet = /** @class */ (function () { function TagSet() { @@ -31994,7 +32213,7 @@ var TagSet = /** @class */ (function () { exports.TagSet = TagSet; exports.default = TagSet; -},{"../../Component":291,"rxjs/Subject":34,"rxjs/add/operator/map":67,"rxjs/add/operator/scan":78,"rxjs/add/operator/share":79}],361:[function(require,module,exports){ +},{"../../Component":290,"rxjs/Subject":34}],361:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -32020,7 +32239,7 @@ var GeometryTagError = /** @class */ (function (_super) { exports.GeometryTagError = GeometryTagError; exports.default = Error_1.MapillaryError; -},{"../../../Error":293}],362:[function(require,module,exports){ +},{"../../../Error":292}],362:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Subject_1 = require("rxjs/Subject"); @@ -32154,7 +32373,7 @@ var PointGeometry = /** @class */ (function (_super) { }(Component_1.Geometry)); exports.PointGeometry = PointGeometry; -},{"../../../Component":291}],364:[function(require,module,exports){ +},{"../../../Component":290}],364:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -32426,7 +32645,7 @@ var PolygonGeometry = /** @class */ (function (_super) { exports.PolygonGeometry = PolygonGeometry; exports.default = PolygonGeometry; -},{"../../../Component":291}],365:[function(require,module,exports){ +},{"../../../Component":290}],365:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -32952,8 +33171,8 @@ var RectGeometry = /** @class */ (function (_super) { var x1 = this._inverted ? rect[2] + 1 : rect[2]; var y0 = rect[1]; var y1 = rect[3]; - var centroidX = x0 + (x1 - x0) / 2; - var centroidY = y0 + (y1 - y0) / 2; + var centroidX = (x0 + x1) / 2; + var centroidY = (y0 + y1) / 2; return [centroidX, centroidY]; }; /** @inheritdoc */ @@ -33072,7 +33291,7 @@ var RectGeometry = /** @class */ (function (_super) { exports.RectGeometry = RectGeometry; exports.default = RectGeometry; -},{"../../../Component":291}],366:[function(require,module,exports){ +},{"../../../Component":290}],366:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -33154,7 +33373,7 @@ var VertexGeometry = /** @class */ (function (_super) { exports.VertexGeometry = VertexGeometry; exports.default = VertexGeometry; -},{"../../../Component":291,"@mapbox/polylabel":1,"earcut":8}],367:[function(require,module,exports){ +},{"../../../Component":290,"@mapbox/polylabel":1,"earcut":8}],367:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -33212,7 +33431,7 @@ var CreateHandlerBase = /** @class */ (function (_super) { exports.CreateHandlerBase = CreateHandlerBase; exports.default = CreateHandlerBase; -},{"../../../Component":291,"rxjs/Subject":34}],368:[function(require,module,exports){ +},{"../../../Component":290,"rxjs/Subject":34}],368:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -33252,7 +33471,7 @@ var CreatePointHandler = /** @class */ (function (_super) { exports.CreatePointHandler = CreatePointHandler; exports.default = CreatePointHandler; -},{"../../../Component":291}],369:[function(require,module,exports){ +},{"../../../Component":290}],369:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -33292,7 +33511,7 @@ var CreatePolygonHandler = /** @class */ (function (_super) { exports.CreatePolygonHandler = CreatePolygonHandler; exports.default = CreatePolygonHandler; -},{"../../../Component":291}],370:[function(require,module,exports){ +},{"../../../Component":290}],370:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -33398,7 +33617,7 @@ var CreateRectDragHandler = /** @class */ (function (_super) { exports.CreateRectDragHandler = CreateRectDragHandler; exports.default = CreateRectDragHandler; -},{"../../../Component":291,"rxjs/Observable":29}],371:[function(require,module,exports){ +},{"../../../Component":290,"rxjs/Observable":29}],371:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -33456,7 +33675,7 @@ var CreateRectHandler = /** @class */ (function (_super) { exports.CreateRectHandler = CreateRectHandler; exports.default = CreateRectHandler; -},{"../../../Component":291}],372:[function(require,module,exports){ +},{"../../../Component":290}],372:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -33543,7 +33762,7 @@ var CreateVertexHandler = /** @class */ (function (_super) { exports.CreateVertexHandler = CreateVertexHandler; exports.default = CreateVertexHandler; -},{"../../../Component":291,"rxjs/Observable":29}],373:[function(require,module,exports){ +},{"../../../Component":290,"rxjs/Observable":29}],373:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -33675,7 +33894,7 @@ var EditVertexHandler = /** @class */ (function (_super) { exports.EditVertexHandler = EditVertexHandler; exports.default = EditVertexHandler; -},{"../../../Component":291,"rxjs/Observable":29}],374:[function(require,module,exports){ +},{"../../../Component":290,"rxjs/Observable":29}],374:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -33713,7 +33932,7 @@ var TagHandlerBase = /** @class */ (function (_super) { exports.TagHandlerBase = TagHandlerBase; exports.default = TagHandlerBase; -},{"../../../Component":291}],375:[function(require,module,exports){ +},{"../../../Component":290}],375:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -33939,7 +34158,7 @@ var OutlineCreateTag = /** @class */ (function () { exports.OutlineCreateTag = OutlineCreateTag; exports.default = OutlineCreateTag; -},{"../../../Component":291,"../../../Geo":294,"rxjs/Subject":34,"three":241,"virtual-dom":247}],376:[function(require,module,exports){ +},{"../../../Component":290,"../../../Geo":293,"rxjs/Subject":34,"three":240,"virtual-dom":246}],376:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -34304,7 +34523,7 @@ var OutlineRenderTag = /** @class */ (function (_super) { }(Component_1.RenderTag)); exports.OutlineRenderTag = OutlineRenderTag; -},{"../../../Component":291,"three":241,"virtual-dom":247}],377:[function(require,module,exports){ +},{"../../../Component":290,"three":240,"virtual-dom":246}],377:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -34682,7 +34901,7 @@ var OutlineTag = /** @class */ (function (_super) { exports.OutlineTag = OutlineTag; exports.default = OutlineTag; -},{"../../../Component":291,"../../../Viewer":302,"rxjs/Subject":34}],378:[function(require,module,exports){ +},{"../../../Component":290,"../../../Viewer":301,"rxjs/Subject":34}],378:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -34722,7 +34941,7 @@ var RenderTag = /** @class */ (function () { exports.RenderTag = RenderTag; exports.default = RenderTag; -},{"../../../Geo":294,"rxjs/Subject":34}],379:[function(require,module,exports){ +},{"../../../Geo":293,"rxjs/Subject":34}],379:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -34837,7 +35056,7 @@ var SpotRenderTag = /** @class */ (function (_super) { }(Component_1.RenderTag)); exports.SpotRenderTag = SpotRenderTag; -},{"../../../Component":291,"../../../Viewer":302,"virtual-dom":247}],380:[function(require,module,exports){ +},{"../../../Component":290,"../../../Viewer":301,"virtual-dom":246}],380:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -35017,7 +35236,7 @@ var SpotTag = /** @class */ (function (_super) { exports.SpotTag = SpotTag; exports.default = SpotTag; -},{"../../../Component":291}],381:[function(require,module,exports){ +},{"../../../Component":290}],381:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -35031,8 +35250,6 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/share"); var Utils_1 = require("../../../Utils"); /** * @class Tag @@ -35134,7 +35351,7 @@ var Tag = /** @class */ (function (_super) { exports.Tag = Tag; exports.default = Tag; -},{"../../../Utils":301,"rxjs/Subject":34,"rxjs/add/operator/map":67,"rxjs/add/operator/share":79}],382:[function(require,module,exports){ +},{"../../../Utils":300,"rxjs/Subject":34}],382:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var HandlerBase = /** @class */ (function () { @@ -35191,6 +35408,515 @@ exports.default = HandlerBase; },{}],383:[function(require,module,exports){ "use strict"; +/// +Object.defineProperty(exports, "__esModule", { value: true }); +var THREE = require("three"); +var Component_1 = require("../../Component"); +var MeshFactory = /** @class */ (function () { + function MeshFactory(imagePlaneDepth, imageSphereRadius) { + this._imagePlaneDepth = imagePlaneDepth != null ? imagePlaneDepth : 200; + this._imageSphereRadius = imageSphereRadius != null ? imageSphereRadius : 200; + } + MeshFactory.prototype.createMesh = function (node, transform) { + var mesh = node.pano ? + this._createImageSphere(node, transform) : + this._createImagePlane(node, transform); + return mesh; + }; + MeshFactory.prototype.createScaledFlatMesh = function (node, transform, dx, dy) { + var texture = this._createTexture(node.image); + var materialParameters = this._createPlaneMaterialParameters(transform, texture); + var material = new THREE.ShaderMaterial(materialParameters); + var geometry = this._getFlatImagePlaneGeo(transform, dx, dy); + return new THREE.Mesh(geometry, material); + }; + MeshFactory.prototype.createFlatMesh = function (node, transform, basicX0, basicX1, basicY0, basicY1) { + var texture = this._createTexture(node.image); + var materialParameters = this._createPlaneMaterialParameters(transform, texture); + var material = new THREE.ShaderMaterial(materialParameters); + var geometry = this._getFlatImagePlaneGeoFromBasic(transform, basicX0, basicX1, basicY0, basicY1); + return new THREE.Mesh(geometry, material); + }; + MeshFactory.prototype.createCurtainMesh = function (node, transform) { + if (node.pano && !node.fullPano) { + throw new Error("Cropped panoramas cannot have curtain."); + } + return node.pano ? + this._createSphereCurtainMesh(node, transform) : + this._createCurtainMesh(node, transform); + }; + MeshFactory.prototype._createCurtainMesh = function (node, transform) { + var texture = this._createTexture(node.image); + var materialParameters = this._createCurtainPlaneMaterialParameters(transform, texture); + var material = new THREE.ShaderMaterial(materialParameters); + var geometry = this._useMesh(transform, node) ? + this._getImagePlaneGeo(transform, node) : + this._getRegularFlatImagePlaneGeo(transform); + return new THREE.Mesh(geometry, material); + }; + MeshFactory.prototype._createSphereCurtainMesh = function (node, transform) { + var texture = this._createTexture(node.image); + var materialParameters = this._createCurtainSphereMaterialParameters(transform, texture); + var material = new THREE.ShaderMaterial(materialParameters); + return this._useMesh(transform, node) ? + new THREE.Mesh(this._getImageSphereGeo(transform, node), material) : + new THREE.Mesh(this._getFlatImageSphereGeo(transform), material); + }; + MeshFactory.prototype._createImageSphere = function (node, transform) { + var texture = this._createTexture(node.image); + var materialParameters = this._createSphereMaterialParameters(transform, texture); + var material = new THREE.ShaderMaterial(materialParameters); + var mesh = this._useMesh(transform, node) ? + new THREE.Mesh(this._getImageSphereGeo(transform, node), material) : + new THREE.Mesh(this._getFlatImageSphereGeo(transform), material); + return mesh; + }; + MeshFactory.prototype._createImagePlane = function (node, transform) { + var texture = this._createTexture(node.image); + var materialParameters = this._createPlaneMaterialParameters(transform, texture); + var material = new THREE.ShaderMaterial(materialParameters); + var geometry = this._useMesh(transform, node) ? + this._getImagePlaneGeo(transform, node) : + this._getRegularFlatImagePlaneGeo(transform); + return new THREE.Mesh(geometry, material); + }; + MeshFactory.prototype._createSphereMaterialParameters = function (transform, texture) { + var gpano = transform.gpano; + var halfCroppedWidth = (gpano.FullPanoWidthPixels - gpano.CroppedAreaImageWidthPixels) / 2; + var phiShift = 2 * Math.PI * (gpano.CroppedAreaLeftPixels - halfCroppedWidth) / gpano.FullPanoWidthPixels; + var phiLength = 2 * Math.PI * gpano.CroppedAreaImageWidthPixels / gpano.FullPanoWidthPixels; + var halfCroppedHeight = (gpano.FullPanoHeightPixels - gpano.CroppedAreaImageHeightPixels) / 2; + var thetaShift = Math.PI * (halfCroppedHeight - gpano.CroppedAreaTopPixels) / gpano.FullPanoHeightPixels; + var thetaLength = Math.PI * gpano.CroppedAreaImageHeightPixels / gpano.FullPanoHeightPixels; + var materialParameters = { + depthWrite: false, + fragmentShader: Component_1.Shaders.equirectangular.fragment, + side: THREE.DoubleSide, + transparent: true, + uniforms: { + opacity: { + type: "f", + value: 1, + }, + phiLength: { + type: "f", + value: phiLength, + }, + phiShift: { + type: "f", + value: phiShift, + }, + projectorMat: { + type: "m4", + value: transform.rt, + }, + projectorTex: { + type: "t", + value: texture, + }, + thetaLength: { + type: "f", + value: thetaLength, + }, + thetaShift: { + type: "f", + value: thetaShift, + }, + }, + vertexShader: Component_1.Shaders.equirectangular.vertex, + }; + return materialParameters; + }; + MeshFactory.prototype._createCurtainSphereMaterialParameters = function (transform, texture) { + var gpano = transform.gpano; + var halfCroppedWidth = (gpano.FullPanoWidthPixels - gpano.CroppedAreaImageWidthPixels) / 2; + var phiShift = 2 * Math.PI * (gpano.CroppedAreaLeftPixels - halfCroppedWidth) / gpano.FullPanoWidthPixels; + var phiLength = 2 * Math.PI * gpano.CroppedAreaImageWidthPixels / gpano.FullPanoWidthPixels; + var halfCroppedHeight = (gpano.FullPanoHeightPixels - gpano.CroppedAreaImageHeightPixels) / 2; + var thetaShift = Math.PI * (halfCroppedHeight - gpano.CroppedAreaTopPixels) / gpano.FullPanoHeightPixels; + var thetaLength = Math.PI * gpano.CroppedAreaImageHeightPixels / gpano.FullPanoHeightPixels; + var materialParameters = { + depthWrite: false, + fragmentShader: Component_1.Shaders.equirectangularCurtain.fragment, + side: THREE.DoubleSide, + transparent: true, + uniforms: { + curtain: { + type: "f", + value: 1, + }, + opacity: { + type: "f", + value: 1, + }, + phiLength: { + type: "f", + value: phiLength, + }, + phiShift: { + type: "f", + value: phiShift, + }, + projectorMat: { + type: "m4", + value: transform.rt, + }, + projectorTex: { + type: "t", + value: texture, + }, + thetaLength: { + type: "f", + value: thetaLength, + }, + thetaShift: { + type: "f", + value: thetaShift, + }, + }, + vertexShader: Component_1.Shaders.equirectangularCurtain.vertex, + }; + return materialParameters; + }; + MeshFactory.prototype._createPlaneMaterialParameters = function (transform, texture) { + var materialParameters = { + depthWrite: false, + fragmentShader: Component_1.Shaders.perspective.fragment, + side: THREE.DoubleSide, + transparent: true, + uniforms: { + opacity: { + type: "f", + value: 1, + }, + projectorMat: { + type: "m4", + value: transform.projectorMatrix(), + }, + projectorTex: { + type: "t", + value: texture, + }, + }, + vertexShader: Component_1.Shaders.perspective.vertex, + }; + return materialParameters; + }; + MeshFactory.prototype._createCurtainPlaneMaterialParameters = function (transform, texture) { + var materialParameters = { + depthWrite: false, + fragmentShader: Component_1.Shaders.perspectiveCurtain.fragment, + side: THREE.DoubleSide, + transparent: true, + uniforms: { + curtain: { + type: "f", + value: 1, + }, + opacity: { + type: "f", + value: 1, + }, + projectorMat: { + type: "m4", + value: transform.projectorMatrix(), + }, + projectorTex: { + type: "t", + value: texture, + }, + }, + vertexShader: Component_1.Shaders.perspective.vertex, + }; + return materialParameters; + }; + MeshFactory.prototype._createTexture = function (image) { + var texture = new THREE.Texture(image); + texture.minFilter = THREE.LinearFilter; + texture.needsUpdate = true; + return texture; + }; + MeshFactory.prototype._useMesh = function (transform, node) { + return node.mesh.vertices.length && transform.hasValidScale; + }; + MeshFactory.prototype._getImageSphereGeo = function (transform, node) { + var t = new THREE.Matrix4().getInverse(transform.srt); + // push everything at least 5 meters in front of the camera + var minZ = 5.0 * transform.scale; + var maxZ = this._imageSphereRadius * transform.scale; + var vertices = node.mesh.vertices; + var numVertices = vertices.length / 3; + var positions = new Float32Array(vertices.length); + for (var i = 0; i < numVertices; ++i) { + var index = 3 * i; + var x = vertices[index + 0]; + var y = vertices[index + 1]; + var z = vertices[index + 2]; + var l = Math.sqrt(x * x + y * y + z * z); + var boundedL = Math.max(minZ, Math.min(l, maxZ)); + var factor = boundedL / l; + var p = new THREE.Vector3(x * factor, y * factor, z * factor); + p.applyMatrix4(t); + positions[index + 0] = p.x; + positions[index + 1] = p.y; + positions[index + 2] = p.z; + } + var faces = node.mesh.faces; + var indices = new Uint16Array(faces.length); + for (var i = 0; i < faces.length; ++i) { + indices[i] = faces[i]; + } + var geometry = new THREE.BufferGeometry(); + geometry.addAttribute("position", new THREE.BufferAttribute(positions, 3)); + geometry.setIndex(new THREE.BufferAttribute(indices, 1)); + return geometry; + }; + MeshFactory.prototype._getImagePlaneGeo = function (transform, node) { + var t = new THREE.Matrix4().getInverse(transform.srt); + // push everything at least 5 meters in front of the camera + var minZ = 5.0 * transform.scale; + var maxZ = this._imagePlaneDepth * transform.scale; + var vertices = node.mesh.vertices; + var numVertices = vertices.length / 3; + var positions = new Float32Array(vertices.length); + for (var i = 0; i < numVertices; ++i) { + var index = 3 * i; + var x = vertices[index + 0]; + var y = vertices[index + 1]; + var z = vertices[index + 2]; + var boundedZ = Math.max(minZ, Math.min(z, maxZ)); + var factor = boundedZ / z; + var p = new THREE.Vector3(x * factor, y * factor, boundedZ); + p.applyMatrix4(t); + positions[index + 0] = p.x; + positions[index + 1] = p.y; + positions[index + 2] = p.z; + } + var faces = node.mesh.faces; + var indices = new Uint16Array(faces.length); + for (var i = 0; i < faces.length; ++i) { + indices[i] = faces[i]; + } + var geometry = new THREE.BufferGeometry(); + geometry.addAttribute("position", new THREE.BufferAttribute(positions, 3)); + geometry.setIndex(new THREE.BufferAttribute(indices, 1)); + return geometry; + }; + MeshFactory.prototype._getFlatImageSphereGeo = function (transform) { + var gpano = transform.gpano; + var phiStart = 2 * Math.PI * gpano.CroppedAreaLeftPixels / gpano.FullPanoWidthPixels; + var phiLength = 2 * Math.PI * gpano.CroppedAreaImageWidthPixels / gpano.FullPanoWidthPixels; + var thetaStart = Math.PI * + (gpano.FullPanoHeightPixels - gpano.CroppedAreaImageHeightPixels - gpano.CroppedAreaTopPixels) / + gpano.FullPanoHeightPixels; + var thetaLength = Math.PI * gpano.CroppedAreaImageHeightPixels / gpano.FullPanoHeightPixels; + var geometry = new THREE.SphereGeometry(this._imageSphereRadius, 20, 40, phiStart - Math.PI / 2, phiLength, thetaStart, thetaLength); + geometry.applyMatrix(new THREE.Matrix4().getInverse(transform.rt)); + return geometry; + }; + MeshFactory.prototype._getRegularFlatImagePlaneGeo = function (transform) { + var width = transform.width; + var height = transform.height; + var size = Math.max(width, height); + var dx = width / 2.0 / size; + var dy = height / 2.0 / size; + return this._getFlatImagePlaneGeo(transform, dx, dy); + }; + MeshFactory.prototype._getFlatImagePlaneGeo = function (transform, dx, dy) { + var vertices = []; + vertices.push(transform.unprojectSfM([-dx, -dy], this._imagePlaneDepth)); + vertices.push(transform.unprojectSfM([dx, -dy], this._imagePlaneDepth)); + vertices.push(transform.unprojectSfM([dx, dy], this._imagePlaneDepth)); + vertices.push(transform.unprojectSfM([-dx, dy], this._imagePlaneDepth)); + return this._createFlatGeometry(vertices); + }; + MeshFactory.prototype._getFlatImagePlaneGeoFromBasic = function (transform, basicX0, basicX1, basicY0, basicY1) { + var vertices = []; + vertices.push(transform.unprojectBasic([basicX0, basicY0], this._imagePlaneDepth)); + vertices.push(transform.unprojectBasic([basicX1, basicY0], this._imagePlaneDepth)); + vertices.push(transform.unprojectBasic([basicX1, basicY1], this._imagePlaneDepth)); + vertices.push(transform.unprojectBasic([basicX0, basicY1], this._imagePlaneDepth)); + return this._createFlatGeometry(vertices); + }; + MeshFactory.prototype._createFlatGeometry = function (vertices) { + var positions = new Float32Array(12); + for (var i = 0; i < vertices.length; i++) { + var index = 3 * i; + positions[index + 0] = vertices[i][0]; + positions[index + 1] = vertices[i][1]; + positions[index + 2] = vertices[i][2]; + } + var indices = new Uint16Array(6); + indices[0] = 0; + indices[1] = 1; + indices[2] = 3; + indices[3] = 1; + indices[4] = 2; + indices[5] = 3; + var geometry = new THREE.BufferGeometry(); + geometry.addAttribute("position", new THREE.BufferAttribute(positions, 3)); + geometry.setIndex(new THREE.BufferAttribute(indices, 1)); + return geometry; + }; + return MeshFactory; +}()); +exports.MeshFactory = MeshFactory; +exports.default = MeshFactory; + +},{"../../Component":290,"three":240}],384:[function(require,module,exports){ +"use strict"; +/// +Object.defineProperty(exports, "__esModule", { value: true }); +var THREE = require("three"); +var MeshScene = /** @class */ (function () { + function MeshScene() { + this.scene = new THREE.Scene(); + this.sceneOld = new THREE.Scene(); + this.imagePlanes = []; + this.imagePlanesOld = []; + } + MeshScene.prototype.updateImagePlanes = function (planes) { + this._dispose(this.imagePlanesOld, this.sceneOld); + for (var _i = 0, _a = this.imagePlanes; _i < _a.length; _i++) { + var plane = _a[_i]; + this.scene.remove(plane); + this.sceneOld.add(plane); + } + for (var _b = 0, planes_1 = planes; _b < planes_1.length; _b++) { + var plane = planes_1[_b]; + this.scene.add(plane); + } + this.imagePlanesOld = this.imagePlanes; + this.imagePlanes = planes; + }; + MeshScene.prototype.addImagePlanes = function (planes) { + for (var _i = 0, planes_2 = planes; _i < planes_2.length; _i++) { + var plane = planes_2[_i]; + this.scene.add(plane); + this.imagePlanes.push(plane); + } + }; + MeshScene.prototype.addImagePlanesOld = function (planes) { + for (var _i = 0, planes_3 = planes; _i < planes_3.length; _i++) { + var plane = planes_3[_i]; + this.sceneOld.add(plane); + this.imagePlanesOld.push(plane); + } + }; + MeshScene.prototype.setImagePlanes = function (planes) { + this._clear(); + this.addImagePlanes(planes); + }; + MeshScene.prototype.setImagePlanesOld = function (planes) { + this._clearOld(); + this.addImagePlanesOld(planes); + }; + MeshScene.prototype.clear = function () { + this._clear(); + this._clearOld(); + }; + MeshScene.prototype._clear = function () { + this._dispose(this.imagePlanes, this.scene); + this.imagePlanes.length = 0; + }; + MeshScene.prototype._clearOld = function () { + this._dispose(this.imagePlanesOld, this.sceneOld); + this.imagePlanesOld.length = 0; + }; + MeshScene.prototype._dispose = function (planes, scene) { + for (var _i = 0, planes_4 = planes; _i < planes_4.length; _i++) { + var plane = planes_4[_i]; + scene.remove(plane); + plane.geometry.dispose(); + plane.material.dispose(); + var texture = plane.material.uniforms.projectorTex.value; + if (texture != null) { + texture.dispose(); + } + } + }; + return MeshScene; +}()); +exports.MeshScene = MeshScene; +exports.default = MeshScene; + +},{"three":240}],385:[function(require,module,exports){ +"use strict"; +/// +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var vd = require("virtual-dom"); +var Observable_1 = require("rxjs/Observable"); +var Subject_1 = require("rxjs/Subject"); +var Component_1 = require("../../Component"); +var Geo_1 = require("../../Geo"); +var State_1 = require("../../State"); +var ZoomComponent = /** @class */ (function (_super) { + __extends(ZoomComponent, _super); + function ZoomComponent(name, container, navigator) { + var _this = _super.call(this, name, container, navigator) || this; + _this._viewportCoords = new Geo_1.ViewportCoords(); + _this._zoomDelta$ = new Subject_1.Subject(); + return _this; + } + ZoomComponent.prototype._activate = function () { + var _this = this; + this._renderSubscription = Observable_1.Observable + .combineLatest(this._navigator.stateService.currentState$, this._navigator.stateService.state$) + .map(function (_a) { + var frame = _a[0], state = _a[1]; + return [frame.state.zoom, state]; + }) + .map(function (_a) { + var zoom = _a[0], state = _a[1]; + var zoomInIcon = vd.h("div.ZoomInIcon", []); + var zoomInButton = zoom >= 3 || state === State_1.State.Waiting ? + vd.h("div.ZoomInButtonDisabled", [zoomInIcon]) : + vd.h("div.ZoomInButton", { onclick: function () { _this._zoomDelta$.next(1); } }, [zoomInIcon]); + var zoomOutIcon = vd.h("div.ZoomOutIcon", []); + var zoomOutButton = zoom <= 0 || state === State_1.State.Waiting ? + vd.h("div.ZoomOutButtonDisabled", [zoomOutIcon]) : + vd.h("div.ZoomOutButton", { onclick: function () { _this._zoomDelta$.next(-1); } }, [zoomOutIcon]); + return { + name: _this._name, + vnode: vd.h("div.ZoomContainer", { oncontextmenu: function (event) { event.preventDefault(); } }, [zoomInButton, zoomOutButton]), + }; + }) + .subscribe(this._container.domRenderer.render$); + this._zoomSubscription = this._zoomDelta$ + .withLatestFrom(this._container.renderService.renderCamera$, this._navigator.stateService.currentTransform$) + .subscribe(function (_a) { + var zoomDelta = _a[0], render = _a[1], transform = _a[2]; + var unprojected = _this._viewportCoords.unprojectFromViewport(0, 0, render.perspective); + var reference = transform.projectBasic(unprojected.toArray()); + _this._navigator.stateService.zoomIn(zoomDelta, reference); + }); + }; + ZoomComponent.prototype._deactivate = function () { + this._renderSubscription.unsubscribe(); + this._zoomSubscription.unsubscribe(); + }; + ZoomComponent.prototype._getDefaultConfiguration = function () { + return {}; + }; + ZoomComponent.componentName = "zoom"; + return ZoomComponent; +}(Component_1.Component)); +exports.ZoomComponent = ZoomComponent; +Component_1.ComponentService.register(ZoomComponent); +exports.default = ZoomComponent; + +},{"../../Component":290,"../../Geo":293,"../../State":297,"rxjs/Observable":29,"rxjs/Subject":34,"virtual-dom":246}],386:[function(require,module,exports){ +"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || @@ -35203,6 +35929,12 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var MapillaryError_1 = require("./MapillaryError"); +/** + * @class AbortMapillaryError + * + * @classdesc Error thrown when a move to request has been + * aborted before completing because of a subsequent request. + */ var AbortMapillaryError = /** @class */ (function (_super) { __extends(AbortMapillaryError, _super); function AbortMapillaryError(message) { @@ -35216,7 +35948,7 @@ var AbortMapillaryError = /** @class */ (function (_super) { exports.AbortMapillaryError = AbortMapillaryError; exports.default = AbortMapillaryError; -},{"./MapillaryError":386}],384:[function(require,module,exports){ +},{"./MapillaryError":389}],387:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -35243,7 +35975,7 @@ var ArgumentMapillaryError = /** @class */ (function (_super) { exports.ArgumentMapillaryError = ArgumentMapillaryError; exports.default = ArgumentMapillaryError; -},{"./MapillaryError":386}],385:[function(require,module,exports){ +},{"./MapillaryError":389}],388:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -35270,7 +36002,7 @@ var GraphMapillaryError = /** @class */ (function (_super) { exports.GraphMapillaryError = GraphMapillaryError; exports.default = GraphMapillaryError; -},{"./MapillaryError":386}],386:[function(require,module,exports){ +},{"./MapillaryError":389}],389:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -35296,7 +36028,7 @@ var MapillaryError = /** @class */ (function (_super) { exports.MapillaryError = MapillaryError; exports.default = MapillaryError; -},{}],387:[function(require,module,exports){ +},{}],390:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -35446,7 +36178,7 @@ var Camera = /** @class */ (function () { }()); exports.Camera = Camera; -},{"three":241}],388:[function(require,module,exports){ +},{"three":240}],391:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -35670,7 +36402,7 @@ var GeoCoords = /** @class */ (function () { exports.GeoCoords = GeoCoords; exports.default = GeoCoords; -},{}],389:[function(require,module,exports){ +},{}],392:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -35853,8 +36585,9 @@ var Spatial = /** @class */ (function () { var R2 = this.rotationMatrix(rotation2); var R = R1T.multiply(R2); var elements = R.elements; - // from Tr(R) = 1 + 2*cos(theta) - var theta = Math.acos((elements[0] + elements[5] + elements[10] - 1) / 2); + // from Tr(R) = 1 + 2 * cos(theta) + var tr = elements[0] + elements[5] + elements[10]; + var theta = Math.acos(Math.max(Math.min((tr - 1) / 2, 1), -1)); return theta; }; /** @@ -35899,7 +36632,7 @@ var Spatial = /** @class */ (function () { exports.Spatial = Spatial; exports.default = Spatial; -},{"three":241}],390:[function(require,module,exports){ +},{"three":240}],393:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -35913,27 +36646,34 @@ var THREE = require("three"); var Transform = /** @class */ (function () { /** * Create a new transform instance. - * @param {Node} apiNavImIm - Node properties. - * @param {HTMLImageElement} image - Node image. - * @param {Array} translation - Node translation vector in three dimensions. - */ - function Transform(node, image, translation) { - this._orientation = this._getValue(node.orientation, 1); + * @param {number} orientation - Image orientation. + * @param {number} width - Image height. + * @param {number} height - Image width. + * @param {number} focal - Focal length. + * @param {number} scale - Atomic scale. + * @param {IGPano} gpano - Panorama properties. + * @param {Array} rotation - Rotation vector in three dimensions. + * @param {Array} translation - Translation vector in three dimensions. + * @param {HTMLImageElement} image - Image for fallback size calculations. + */ + function Transform(orientation, width, height, focal, scale, gpano, rotation, translation, image, textureScale) { + this._orientation = this._getValue(orientation, 1); var imageWidth = image != null ? image.width : 4; var imageHeight = image != null ? image.height : 3; var keepOrientation = this._orientation < 5; - this._width = this._getValue(node.width, keepOrientation ? imageWidth : imageHeight); - this._height = this._getValue(node.height, keepOrientation ? imageHeight : imageWidth); + this._width = this._getValue(width, keepOrientation ? imageWidth : imageHeight); + this._height = this._getValue(height, keepOrientation ? imageHeight : imageWidth); this._basicAspect = keepOrientation ? this._width / this._height : this._height / this._width; - this._basicWidth = keepOrientation ? node.width : node.height; - this._basicHeight = keepOrientation ? node.height : node.width; - this._focal = this._getValue(node.focal, 1); - this._scale = this._getValue(node.scale, 0); - this._gpano = node.gpano != null ? node.gpano : null; - this._rt = this._getRt(node.rotation, translation); + this._basicWidth = keepOrientation ? width : height; + this._basicHeight = keepOrientation ? height : width; + this._focal = this._getValue(focal, 1); + this._scale = this._getValue(scale, 0); + this._gpano = gpano != null ? gpano : null; + this._rt = this._getRt(rotation, translation); this._srt = this._getSrt(this._rt, this._scale); + this._textureScale = !!textureScale ? textureScale : [1, 1]; } Object.defineProperty(Transform.prototype, "basicAspect", { /** @@ -36409,8 +37149,10 @@ var Transform = /** @class */ (function () { */ Transform.prototype._normalizedToTextureMatrix = function () { var size = Math.max(this._width, this._height); - var w = size / this._width; - var h = size / this._height; + var scaleX = this._orientation < 5 ? this._textureScale[0] : this._textureScale[1]; + var scaleY = this._orientation < 5 ? this._textureScale[1] : this._textureScale[0]; + var w = size / this._width * scaleX; + var h = size / this._height * scaleY; switch (this._orientation) { case 1: return new THREE.Matrix4().set(w, 0, 0, 0.5, 0, -h, 0, 0.5, 0, 0, 1, 0, 0, 0, 0, 1); @@ -36428,7 +37170,7 @@ var Transform = /** @class */ (function () { }()); exports.Transform = Transform; -},{"three":241}],391:[function(require,module,exports){ +},{"three":240}],394:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -36802,7 +37544,7 @@ var ViewportCoords = /** @class */ (function () { exports.ViewportCoords = ViewportCoords; exports.default = ViewportCoords; -},{"three":241}],392:[function(require,module,exports){ +},{"three":240}],395:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -36890,21 +37632,13 @@ var FilterCreator = /** @class */ (function () { exports.FilterCreator = FilterCreator; exports.default = FilterCreator; -},{}],393:[function(require,module,exports){ +},{}],396:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var rbush = require("rbush"); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/observable/from"); -require("rxjs/add/operator/catch"); -require("rxjs/add/operator/do"); -require("rxjs/add/operator/finally"); -require("rxjs/add/operator/last"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/publish"); -require("rxjs/add/operator/reduce"); var Edge_1 = require("../Edge"); var Error_1 = require("../Error"); var Graph_1 = require("../Graph"); @@ -38158,7 +38892,7 @@ var Graph = /** @class */ (function () { exports.Graph = Graph; exports.default = Graph; -},{"../Edge":292,"../Error":293,"../Graph":295,"rbush":25,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/from":42,"rxjs/add/operator/catch":54,"rxjs/add/operator/do":61,"rxjs/add/operator/finally":64,"rxjs/add/operator/last":66,"rxjs/add/operator/map":67,"rxjs/add/operator/publish":73,"rxjs/add/operator/reduce":75}],394:[function(require,module,exports){ +},{"../Edge":291,"../Error":292,"../Graph":294,"rbush":25,"rxjs/Observable":29,"rxjs/Subject":34}],397:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -38347,7 +39081,7 @@ var GraphCalculator = /** @class */ (function () { exports.GraphCalculator = GraphCalculator; exports.default = GraphCalculator; -},{"../Error":293,"../Geo":294,"latlon-geohash":21,"three":241}],395:[function(require,module,exports){ +},{"../Error":292,"../Geo":293,"latlon-geohash":21,"three":240}],398:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -38379,21 +39113,11 @@ var GraphMode; })(GraphMode = exports.GraphMode || (exports.GraphMode = {})); exports.default = GraphMode; -},{}],396:[function(require,module,exports){ +},{}],399:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/catch"); -require("rxjs/add/operator/concat"); -require("rxjs/add/operator/do"); -require("rxjs/add/operator/expand"); -require("rxjs/add/operator/finally"); -require("rxjs/add/operator/first"); -require("rxjs/add/operator/last"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/mergeMap"); -require("rxjs/add/operator/publishReplay"); var Graph_1 = require("../Graph"); /** * @class GraphService @@ -38804,7 +39528,7 @@ var GraphService = /** @class */ (function () { exports.GraphService = GraphService; exports.default = GraphService; -},{"../Graph":295,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/operator/catch":54,"rxjs/add/operator/concat":56,"rxjs/add/operator/do":61,"rxjs/add/operator/expand":62,"rxjs/add/operator/finally":64,"rxjs/add/operator/first":65,"rxjs/add/operator/last":66,"rxjs/add/operator/map":67,"rxjs/add/operator/mergeMap":70,"rxjs/add/operator/publishReplay":74}],397:[function(require,module,exports){ +},{"../Graph":294,"rxjs/Observable":29,"rxjs/Subject":34}],400:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -38858,7 +39582,7 @@ var ImageLoadingService = /** @class */ (function () { }()); exports.ImageLoadingService = ImageLoadingService; -},{"rxjs/Subject":34}],398:[function(require,module,exports){ +},{"rxjs/Subject":34}],401:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -38882,11 +39606,9 @@ var MeshReader = /** @class */ (function () { }()); exports.MeshReader = MeshReader; -},{"pbf":23}],399:[function(require,module,exports){ +},{"pbf":23}],402:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/operator/map"); /** * @class Node * @@ -39127,6 +39849,19 @@ var Node = /** @class */ (function () { enumerable: true, configurable: true }); + Object.defineProperty(Node.prototype, "image$", { + /** + * Get image$. + * + * @returns {Observable} Observable emitting + * the cached image when it is updated. + */ + get: function () { + return this._cache.image$; + }, + enumerable: true, + configurable: true + }); Object.defineProperty(Node.prototype, "key", { /** * Get key. @@ -39572,14 +40307,12 @@ var Node = /** @class */ (function () { exports.Node = Node; exports.default = Node; -},{"rxjs/add/observable/combineLatest":38,"rxjs/add/operator/map":67}],400:[function(require,module,exports){ +},{}],403:[function(require,module,exports){ (function (Buffer){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Subject_1 = require("rxjs/Subject"); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/operator/publishReplay"); var Graph_1 = require("../Graph"); var Utils_1 = require("../Utils"); /** @@ -39598,6 +40331,12 @@ var NodeCache = /** @class */ (function () { this._mesh = null; this._sequenceEdges = { cached: false, edges: [] }; this._spatialEdges = { cached: false, edges: [] }; + this._imageChanged$ = new Subject_1.Subject(); + this._image$ = this._imageChanged$ + .startWith(null) + .publishReplay(1) + .refCount(); + this._iamgeSubscription = this._image$.subscribe(); this._sequenceEdgesChanged$ = new Subject_1.Subject(); this._sequenceEdges$ = this._sequenceEdgesChanged$ .startWith(this._sequenceEdges) @@ -39627,6 +40366,19 @@ var NodeCache = /** @class */ (function () { enumerable: true, configurable: true }); + Object.defineProperty(NodeCache.prototype, "image$", { + /** + * Get image$. + * + * @returns {Observable} Observable emitting + * the cached image when it is updated. + */ + get: function () { + return this._image$; + }, + enumerable: true, + configurable: true + }); Object.defineProperty(NodeCache.prototype, "loadStatus", { /** * Get loadStatus. @@ -39747,6 +40499,13 @@ var NodeCache = /** @class */ (function () { }) .publishReplay(1) .refCount(); + this._cachingAssets$ + .first(function (nodeCache) { + return !!nodeCache._image; + }) + .subscribe(function (nodeCache) { + _this._imageChanged$.next(_this._image); + }, function (error) { }); return this._cachingAssets$; }; /** @@ -39764,7 +40523,7 @@ var NodeCache = /** @class */ (function () { if (this._image != null && imageSize <= Math.max(this._image.width, this._image.height)) { return Observable_1.Observable.of(this); } - return this._cacheImage$(key, imageSize) + var cacheImage$ = this._cacheImage$(key, imageSize) .first(function (status) { return status.object != null; }) @@ -39774,7 +40533,14 @@ var NodeCache = /** @class */ (function () { }) .map(function (imageStatus) { return _this; - }); + }) + .publishReplay(1) + .refCount(); + cacheImage$ + .subscribe(function (nodeCache) { + _this._imageChanged$.next(_this._image); + }, function (error) { }); + return cacheImage$; }; /** * Cache the sequence edges. @@ -39801,6 +40567,7 @@ var NodeCache = /** @class */ (function () { * all streams. */ NodeCache.prototype.dispose = function () { + this._iamgeSubscription.unsubscribe(); this._sequenceEdgesSubscription.unsubscribe(); this._spatialEdgesSubscription.unsubscribe(); this._disposeImage(); @@ -39809,6 +40576,7 @@ var NodeCache = /** @class */ (function () { this._loadStatus.total = 0; this._sequenceEdges = { cached: false, edges: [] }; this._spatialEdges = { cached: false, edges: [] }; + this._imageChanged$.next(null); this._sequenceEdgesChanged$.next(this._sequenceEdges); this._spatialEdgesChanged$.next(this._spatialEdges); this._disposed = true; @@ -39979,7 +40747,7 @@ exports.default = NodeCache; }).call(this,require("buffer").Buffer) -},{"../Graph":295,"../Utils":301,"buffer":7,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/combineLatest":38,"rxjs/add/operator/publishReplay":74}],401:[function(require,module,exports){ +},{"../Graph":294,"../Utils":300,"buffer":7,"rxjs/Observable":29,"rxjs/Subject":34}],404:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -40069,7 +40837,7 @@ var Sequence = /** @class */ (function () { exports.Sequence = Sequence; exports.default = Sequence; -},{"underscore":243}],402:[function(require,module,exports){ +},{"underscore":242}],405:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -40226,8 +40994,7 @@ var EdgeCalculator = /** @class */ (function () { if (potentialEdge.sequenceKey == null) { continue; } - if (potentialEdge.sameSequence || - !potentialEdge.sameMergeCC) { + if (potentialEdge.sameSequence) { continue; } if (nodeFullPano) { @@ -40672,7 +41439,7 @@ var EdgeCalculator = /** @class */ (function () { exports.EdgeCalculator = EdgeCalculator; exports.default = EdgeCalculator; -},{"../../Edge":292,"../../Error":293,"../../Geo":294,"three":241}],403:[function(require,module,exports){ +},{"../../Edge":291,"../../Error":292,"../../Geo":293,"three":240}],406:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var EdgeCalculatorCoefficients = /** @class */ (function () { @@ -40698,7 +41465,7 @@ var EdgeCalculatorCoefficients = /** @class */ (function () { exports.EdgeCalculatorCoefficients = EdgeCalculatorCoefficients; exports.default = EdgeCalculatorCoefficients; -},{}],404:[function(require,module,exports){ +},{}],407:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Edge_1 = require("../../Edge"); @@ -40771,7 +41538,7 @@ var EdgeCalculatorDirections = /** @class */ (function () { }()); exports.EdgeCalculatorDirections = EdgeCalculatorDirections; -},{"../../Edge":292}],405:[function(require,module,exports){ +},{"../../Edge":291}],408:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var EdgeCalculatorSettings = /** @class */ (function () { @@ -40808,7 +41575,7 @@ var EdgeCalculatorSettings = /** @class */ (function () { exports.EdgeCalculatorSettings = EdgeCalculatorSettings; exports.default = EdgeCalculatorSettings; -},{}],406:[function(require,module,exports){ +},{}],409:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -40866,19 +41633,13 @@ var EdgeDirection; EdgeDirection[EdgeDirection["Similar"] = 10] = "Similar"; })(EdgeDirection = exports.EdgeDirection || (exports.EdgeDirection = {})); -},{}],407:[function(require,module,exports){ +},{}],410:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var _ = require("underscore"); var vd = require("virtual-dom"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/combineLatest"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/pluck"); -require("rxjs/add/operator/scan"); var Render_1 = require("../Render"); var DOMRenderer = /** @class */ (function () { function DOMRenderer(element, renderService, currentFrame$) { @@ -41054,7 +41815,7 @@ var DOMRenderer = /** @class */ (function () { exports.DOMRenderer = DOMRenderer; exports.default = DOMRenderer; -},{"../Render":297,"rxjs/Subject":34,"rxjs/add/operator/combineLatest":55,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/pluck":72,"rxjs/add/operator/scan":78,"underscore":243,"virtual-dom":247}],408:[function(require,module,exports){ +},{"../Render":296,"rxjs/Subject":34,"underscore":242,"virtual-dom":246}],411:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var GLRenderStage; @@ -41064,23 +41825,13 @@ var GLRenderStage; })(GLRenderStage = exports.GLRenderStage || (exports.GLRenderStage = {})); exports.default = GLRenderStage; -},{}],409:[function(require,module,exports){ +},{}],412:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var THREE = require("three"); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/first"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/merge"); -require("rxjs/add/operator/mergeMap"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/share"); -require("rxjs/add/operator/startWith"); var Render_1 = require("../Render"); var Utils_1 = require("../Utils"); var GLRenderer = /** @class */ (function () { @@ -41098,7 +41849,10 @@ var GLRenderer = /** @class */ (function () { this._renderer$ = this._rendererOperation$ .scan(function (renderer, operation) { return operation(renderer); - }, { needsRender: false, renderer: null }); + }, { needsRender: false, renderer: null }) + .filter(function (renderer) { + return !!renderer.renderer; + }); this._renderCollection$ = this._renderOperation$ .scan(function (hashes, operation) { return operation(hashes); @@ -41316,7 +42070,7 @@ var GLRenderer = /** @class */ (function () { exports.GLRenderer = GLRenderer; exports.default = GLRenderer; -},{"../Render":297,"../Utils":301,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/combineLatest":38,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/filter":63,"rxjs/add/operator/first":65,"rxjs/add/operator/map":67,"rxjs/add/operator/merge":68,"rxjs/add/operator/mergeMap":70,"rxjs/add/operator/scan":78,"rxjs/add/operator/share":79,"rxjs/add/operator/startWith":83,"three":241}],410:[function(require,module,exports){ +},{"../Render":296,"../Utils":300,"rxjs/Observable":29,"rxjs/Subject":34,"three":240}],413:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -41442,7 +42196,7 @@ var RenderCamera = /** @class */ (function () { exports.RenderCamera = RenderCamera; exports.default = RenderCamera; -},{"../Geo":294,"../Render":297,"three":241}],411:[function(require,module,exports){ +},{"../Geo":293,"../Render":296,"three":240}],414:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -41478,21 +42232,12 @@ var RenderMode; })(RenderMode = exports.RenderMode || (exports.RenderMode = {})); exports.default = RenderMode; -},{}],412:[function(require,module,exports){ +},{}],415:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var Subject_1 = require("rxjs/Subject"); var BehaviorSubject_1 = require("rxjs/BehaviorSubject"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/operator/do"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/skip"); -require("rxjs/add/operator/startWith"); -require("rxjs/add/operator/withLatestFrom"); var Geo_1 = require("../Geo"); var Render_1 = require("../Render"); var RenderService = /** @class */ (function () { @@ -41654,17 +42399,81 @@ var RenderService = /** @class */ (function () { exports.RenderService = RenderService; exports.default = RenderService; -},{"../Geo":294,"../Render":297,"rxjs/BehaviorSubject":26,"rxjs/Subject":34,"rxjs/add/observable/combineLatest":38,"rxjs/add/operator/do":61,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78,"rxjs/add/operator/skip":80,"rxjs/add/operator/startWith":83,"rxjs/add/operator/withLatestFrom":90}],413:[function(require,module,exports){ +},{"../Geo":293,"../Render":296,"rxjs/BehaviorSubject":26,"rxjs/Subject":34}],416:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var RotationDelta = /** @class */ (function () { + function RotationDelta(phi, theta) { + this._phi = phi; + this._theta = theta; + } + Object.defineProperty(RotationDelta.prototype, "phi", { + get: function () { + return this._phi; + }, + set: function (value) { + this._phi = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RotationDelta.prototype, "theta", { + get: function () { + return this._theta; + }, + set: function (value) { + this._theta = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RotationDelta.prototype, "isZero", { + get: function () { + return this._phi === 0 && this._theta === 0; + }, + enumerable: true, + configurable: true + }); + RotationDelta.prototype.copy = function (delta) { + this._phi = delta.phi; + this._theta = delta.theta; + }; + RotationDelta.prototype.lerp = function (other, alpha) { + this._phi = (1 - alpha) * this._phi + alpha * other.phi; + this._theta = (1 - alpha) * this._theta + alpha * other.theta; + }; + RotationDelta.prototype.multiply = function (value) { + this._phi *= value; + this._theta *= value; + }; + RotationDelta.prototype.threshold = function (value) { + this._phi = Math.abs(this._phi) > value ? this._phi : 0; + this._theta = Math.abs(this._theta) > value ? this._theta : 0; + }; + RotationDelta.prototype.lengthSquared = function () { + return this._phi * this._phi + this._theta * this._theta; + }; + RotationDelta.prototype.reset = function () { + this._phi = 0; + this._theta = 0; + }; + return RotationDelta; +}()); +exports.RotationDelta = RotationDelta; +exports.default = RotationDelta; + +},{}],417:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var State; (function (State) { State[State["Traversing"] = 0] = "Traversing"; State[State["Waiting"] = 1] = "Waiting"; + State[State["WaitingInteractively"] = 2] = "WaitingInteractively"; })(State = exports.State || (exports.State = {})); exports.default = State; -},{}],414:[function(require,module,exports){ +},{}],418:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var State_1 = require("../State"); @@ -41687,6 +42496,9 @@ var StateContext = /** @class */ (function () { StateContext.prototype.wait = function () { this._state = this._state.wait(); }; + StateContext.prototype.waitInteractively = function () { + this._state = this._state.waitInteractively(); + }; Object.defineProperty(StateContext.prototype, "state", { get: function () { if (this._state instanceof State_1.TraversingState) { @@ -41695,6 +42507,9 @@ var StateContext = /** @class */ (function () { else if (this._state instanceof State_1.WaitingState) { return State_1.State.Waiting; } + else if (this._state instanceof State_1.InteractiveWaitingState) { + return State_1.State.WaitingInteractively; + } throw new Error("Invalid state"); }, enumerable: true, @@ -41865,24 +42680,12 @@ var StateContext = /** @class */ (function () { }()); exports.StateContext = StateContext; -},{"../Geo":294,"../State":298}],415:[function(require,module,exports){ +},{"../Geo":293,"../State":297}],419:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var BehaviorSubject_1 = require("rxjs/BehaviorSubject"); var Subject_1 = require("rxjs/Subject"); var AnimationFrame_1 = require("rxjs/util/AnimationFrame"); -require("rxjs/add/operator/bufferCount"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/do"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/first"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/pairwise"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/startWith"); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/withLatestFrom"); var State_1 = require("../State"); var StateService = /** @class */ (function () { function StateService(transitionMode) { @@ -42160,6 +42963,9 @@ var StateService = /** @class */ (function () { StateService.prototype.wait = function () { this._invokeContextOperation(function (context) { context.wait(); }); }; + StateService.prototype.waitInteractively = function () { + this._invokeContextOperation(function (context) { context.waitInteractively(); }); + }; StateService.prototype.appendNodes = function (nodes) { this._invokeContextOperation(function (context) { context.append(nodes); }); }; @@ -42169,144 +42975,613 @@ var StateService = /** @class */ (function () { StateService.prototype.removeNodes = function (n) { this._invokeContextOperation(function (context) { context.remove(n); }); }; - StateService.prototype.clearNodes = function () { - this._invokeContextOperation(function (context) { context.clear(); }); + StateService.prototype.clearNodes = function () { + this._invokeContextOperation(function (context) { context.clear(); }); + }; + StateService.prototype.clearPriorNodes = function () { + this._invokeContextOperation(function (context) { context.clearPrior(); }); + }; + StateService.prototype.cutNodes = function () { + this._invokeContextOperation(function (context) { context.cut(); }); + }; + StateService.prototype.setNodes = function (nodes) { + this._invokeContextOperation(function (context) { context.set(nodes); }); + }; + StateService.prototype.rotate = function (delta) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.rotate(delta); }); + }; + StateService.prototype.rotateBasic = function (basicRotation) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.rotateBasic(basicRotation); }); + }; + StateService.prototype.rotateBasicUnbounded = function (basicRotation) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.rotateBasicUnbounded(basicRotation); }); + }; + StateService.prototype.rotateBasicWithoutInertia = function (basicRotation) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.rotateBasicWithoutInertia(basicRotation); }); + }; + StateService.prototype.rotateToBasic = function (basic) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.rotateToBasic(basic); }); + }; + StateService.prototype.move = function (delta) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.move(delta); }); + }; + StateService.prototype.moveTo = function (position) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.moveTo(position); }); + }; + /** + * Change zoom level while keeping the reference point position approximately static. + * + * @parameter {number} delta - Change in zoom level. + * @parameter {Array} reference - Reference point in basic coordinates. + */ + StateService.prototype.zoomIn = function (delta, reference) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.zoomIn(delta, reference); }); + }; + StateService.prototype.getCenter = function () { + return this._lastState$ + .first() + .map(function (frame) { + return frame.state.getCenter(); + }); + }; + StateService.prototype.getZoom = function () { + return this._lastState$ + .first() + .map(function (frame) { + return frame.state.zoom; + }); + }; + StateService.prototype.setCenter = function (center) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.setCenter(center); }); + }; + StateService.prototype.setSpeed = function (speed) { + this._invokeContextOperation(function (context) { context.setSpeed(speed); }); + }; + StateService.prototype.setTransitionMode = function (mode) { + this._invokeContextOperation(function (context) { context.setTransitionMode(mode); }); + }; + StateService.prototype.setZoom = function (zoom) { + this._inMotionOperation$.next(true); + this._invokeContextOperation(function (context) { context.setZoom(zoom); }); + }; + StateService.prototype.start = function () { + if (this._frameId == null) { + this._start$.next(null); + this._frameId = this._frameGenerator.requestAnimationFrame(this._frame.bind(this)); + this._frame$.next(this._frameId); + } + }; + StateService.prototype.stop = function () { + if (this._frameId != null) { + this._frameGenerator.cancelAnimationFrame(this._frameId); + this._frameId = null; + } + }; + StateService.prototype._invokeContextOperation = function (action) { + this._contextOperation$ + .next(function (context) { + action(context); + return context; + }); + }; + StateService.prototype._frame = function (time) { + this._frameId = this._frameGenerator.requestAnimationFrame(this._frame.bind(this)); + this._frame$.next(this._frameId); + }; + return StateService; +}()); +exports.StateService = StateService; + +},{"../State":297,"rxjs/BehaviorSubject":26,"rxjs/Subject":34,"rxjs/util/AnimationFrame":217}],420:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Enumeration for transition mode + * @enum {number} + * @readonly + * @description Modes for specifying how transitions + * between nodes are performed. + */ +var TransitionMode; +(function (TransitionMode) { + /** + * Default transitions. + * + * @description The viewer dynamically determines + * whether transitions should be performed with or + * without motion and blending for each transition + * based on the underlying data. + */ + TransitionMode[TransitionMode["Default"] = 0] = "Default"; + /** + * Instantaneous transitions. + * + * @description All transitions are performed + * without motion or blending. + */ + TransitionMode[TransitionMode["Instantaneous"] = 1] = "Instantaneous"; +})(TransitionMode = exports.TransitionMode || (exports.TransitionMode = {})); +exports.default = TransitionMode; + +},{}],421:[function(require,module,exports){ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var THREE = require("three"); +var State_1 = require("../../State"); +var InteractiveStateBase = /** @class */ (function (_super) { + __extends(InteractiveStateBase, _super); + function InteractiveStateBase(state) { + var _this = _super.call(this, state) || this; + _this._animationSpeed = 1 / 40; + _this._rotationDelta = new State_1.RotationDelta(0, 0); + _this._requestedRotationDelta = null; + _this._basicRotation = [0, 0]; + _this._requestedBasicRotation = null; + _this._requestedBasicRotationUnbounded = null; + _this._rotationAcceleration = 0.86; + _this._rotationIncreaseAlpha = 0.97; + _this._rotationDecreaseAlpha = 0.9; + _this._rotationThreshold = 1e-3; + _this._unboundedRotationAlpha = 0.8; + _this._desiredZoom = state.zoom; + _this._minZoom = 0; + _this._maxZoom = 3; + _this._lookatDepth = 10; + _this._desiredLookat = null; + _this._desiredCenter = null; + return _this; + } + InteractiveStateBase.prototype.rotate = function (rotationDelta) { + if (this._currentNode == null) { + return; + } + this._desiredZoom = this._zoom; + this._desiredLookat = null; + this._requestedBasicRotation = null; + if (this._requestedRotationDelta != null) { + this._requestedRotationDelta.phi = this._requestedRotationDelta.phi + rotationDelta.phi; + this._requestedRotationDelta.theta = this._requestedRotationDelta.theta + rotationDelta.theta; + } + else { + this._requestedRotationDelta = new State_1.RotationDelta(rotationDelta.phi, rotationDelta.theta); + } + }; + InteractiveStateBase.prototype.rotateBasic = function (basicRotation) { + if (this._currentNode == null) { + return; + } + this._desiredZoom = this._zoom; + this._desiredLookat = null; + this._requestedRotationDelta = null; + if (this._requestedBasicRotation != null) { + this._requestedBasicRotation[0] += basicRotation[0]; + this._requestedBasicRotation[1] += basicRotation[1]; + var threshold = 0.05 / Math.pow(2, this._zoom); + this._requestedBasicRotation[0] = + this._spatial.clamp(this._requestedBasicRotation[0], -threshold, threshold); + this._requestedBasicRotation[1] = + this._spatial.clamp(this._requestedBasicRotation[1], -threshold, threshold); + } + else { + this._requestedBasicRotation = basicRotation.slice(); + } + }; + InteractiveStateBase.prototype.rotateBasicUnbounded = function (basicRotation) { + if (this._currentNode == null) { + return; + } + if (this._requestedBasicRotationUnbounded != null) { + this._requestedBasicRotationUnbounded[0] += basicRotation[0]; + this._requestedBasicRotationUnbounded[1] += basicRotation[1]; + } + else { + this._requestedBasicRotationUnbounded = basicRotation.slice(); + } + }; + InteractiveStateBase.prototype.rotateBasicWithoutInertia = function (basic) { + if (this._currentNode == null) { + return; + } + this._desiredZoom = this._zoom; + this._desiredLookat = null; + this._requestedRotationDelta = null; + this._requestedBasicRotation = null; + var threshold = 0.05 / Math.pow(2, this._zoom); + var basicRotation = basic.slice(); + basicRotation[0] = this._spatial.clamp(basicRotation[0], -threshold, threshold); + basicRotation[1] = this._spatial.clamp(basicRotation[1], -threshold, threshold); + this._applyRotationBasic(basicRotation); + }; + InteractiveStateBase.prototype.rotateToBasic = function (basic) { + if (this._currentNode == null) { + return; + } + this._desiredZoom = this._zoom; + this._desiredLookat = null; + basic[0] = this._spatial.clamp(basic[0], 0, 1); + basic[1] = this._spatial.clamp(basic[1], 0, 1); + var lookat = this.currentTransform.unprojectBasic(basic, this._lookatDepth); + this._currentCamera.lookat.fromArray(lookat); + }; + InteractiveStateBase.prototype.zoomIn = function (delta, reference) { + if (this._currentNode == null) { + return; + } + this._desiredZoom = Math.max(this._minZoom, Math.min(this._maxZoom, this._desiredZoom + delta)); + var currentCenter = this.currentTransform.projectBasic(this._currentCamera.lookat.toArray()); + var currentCenterX = currentCenter[0]; + var currentCenterY = currentCenter[1]; + var zoom0 = Math.pow(2, this._zoom); + var zoom1 = Math.pow(2, this._desiredZoom); + var refX = reference[0]; + var refY = reference[1]; + if (this.currentTransform.gpano != null && + this.currentTransform.gpano.CroppedAreaImageWidthPixels === this.currentTransform.gpano.FullPanoWidthPixels) { + if (refX - currentCenterX > 0.5) { + refX = refX - 1; + } + else if (currentCenterX - refX > 0.5) { + refX = 1 + refX; + } + } + var newCenterX = refX - zoom0 / zoom1 * (refX - currentCenterX); + var newCenterY = refY - zoom0 / zoom1 * (refY - currentCenterY); + var gpano = this.currentTransform.gpano; + if (this._currentNode.fullPano) { + newCenterX = this._spatial.wrap(newCenterX + this._basicRotation[0], 0, 1); + newCenterY = this._spatial.clamp(newCenterY + this._basicRotation[1], 0.05, 0.95); + } + else if (gpano != null && + this.currentTransform.gpano.CroppedAreaImageWidthPixels === this.currentTransform.gpano.FullPanoWidthPixels) { + newCenterX = this._spatial.wrap(newCenterX + this._basicRotation[0], 0, 1); + newCenterY = this._spatial.clamp(newCenterY + this._basicRotation[1], 0, 1); + } + else { + newCenterX = this._spatial.clamp(newCenterX, 0, 1); + newCenterY = this._spatial.clamp(newCenterY, 0, 1); + } + this._desiredLookat = new THREE.Vector3() + .fromArray(this.currentTransform.unprojectBasic([newCenterX, newCenterY], this._lookatDepth)); + }; + InteractiveStateBase.prototype.setCenter = function (center) { + this._desiredLookat = null; + this._requestedRotationDelta = null; + this._requestedBasicRotation = null; + this._desiredZoom = this._zoom; + var clamped = [ + this._spatial.clamp(center[0], 0, 1), + this._spatial.clamp(center[1], 0, 1), + ]; + if (this._currentNode == null) { + this._desiredCenter = clamped; + return; + } + this._desiredCenter = null; + var currentLookat = new THREE.Vector3() + .fromArray(this.currentTransform.unprojectBasic(clamped, this._lookatDepth)); + var previousTransform = this.previousTransform != null ? + this.previousTransform : + this.currentTransform; + var previousLookat = new THREE.Vector3() + .fromArray(previousTransform.unprojectBasic(clamped, this._lookatDepth)); + this._currentCamera.lookat.copy(currentLookat); + this._previousCamera.lookat.copy(previousLookat); + }; + InteractiveStateBase.prototype.setZoom = function (zoom) { + this._desiredLookat = null; + this._requestedRotationDelta = null; + this._requestedBasicRotation = null; + this._zoom = this._spatial.clamp(zoom, this._minZoom, this._maxZoom); + this._desiredZoom = this._zoom; + }; + InteractiveStateBase.prototype._applyRotation = function (camera) { + if (camera == null) { + return; + } + var q = new THREE.Quaternion().setFromUnitVectors(camera.up, new THREE.Vector3(0, 0, 1)); + var qInverse = q.clone().inverse(); + var offset = new THREE.Vector3(); + offset.copy(camera.lookat).sub(camera.position); + offset.applyQuaternion(q); + var length = offset.length(); + var phi = Math.atan2(offset.y, offset.x); + phi += this._rotationDelta.phi; + var theta = Math.atan2(Math.sqrt(offset.x * offset.x + offset.y * offset.y), offset.z); + theta += this._rotationDelta.theta; + theta = Math.max(0.1, Math.min(Math.PI - 0.1, theta)); + offset.x = Math.sin(theta) * Math.cos(phi); + offset.y = Math.sin(theta) * Math.sin(phi); + offset.z = Math.cos(theta); + offset.applyQuaternion(qInverse); + camera.lookat.copy(camera.position).add(offset.multiplyScalar(length)); + }; + InteractiveStateBase.prototype._applyRotationBasic = function (basicRotation) { + var currentNode = this._currentNode; + var previousNode = this._previousNode != null ? + this.previousNode : + this.currentNode; + var currentCamera = this._currentCamera; + var previousCamera = this._previousCamera; + var currentTransform = this.currentTransform; + var previousTransform = this.previousTransform != null ? + this.previousTransform : + this.currentTransform; + var currentBasic = currentTransform.projectBasic(currentCamera.lookat.toArray()); + var previousBasic = previousTransform.projectBasic(previousCamera.lookat.toArray()); + var currentGPano = currentTransform.gpano; + var previousGPano = previousTransform.gpano; + if (currentNode.fullPano) { + currentBasic[0] = this._spatial.wrap(currentBasic[0] + basicRotation[0], 0, 1); + currentBasic[1] = this._spatial.clamp(currentBasic[1] + basicRotation[1], 0.05, 0.95); + } + else if (currentGPano != null && + currentTransform.gpano.CroppedAreaImageWidthPixels === currentTransform.gpano.FullPanoWidthPixels) { + currentBasic[0] = this._spatial.wrap(currentBasic[0] + basicRotation[0], 0, 1); + currentBasic[1] = this._spatial.clamp(currentBasic[1] + basicRotation[1], 0, 1); + } + else { + currentBasic[0] = this._spatial.clamp(currentBasic[0] + basicRotation[0], 0, 1); + currentBasic[1] = this._spatial.clamp(currentBasic[1] + basicRotation[1], 0, 1); + } + if (previousNode.fullPano) { + previousBasic[0] = this._spatial.wrap(previousBasic[0] + basicRotation[0], 0, 1); + previousBasic[1] = this._spatial.clamp(previousBasic[1] + basicRotation[1], 0.05, 0.95); + } + else if (previousGPano != null && + previousTransform.gpano.CroppedAreaImageWidthPixels === previousTransform.gpano.FullPanoWidthPixels) { + previousBasic[0] = this._spatial.wrap(previousBasic[0] + basicRotation[0], 0, 1); + previousBasic[1] = this._spatial.clamp(previousBasic[1] + basicRotation[1], 0, 1); + } + else { + previousBasic[0] = this._spatial.clamp(previousBasic[0] + basicRotation[0], 0, 1); + previousBasic[1] = this._spatial.clamp(currentBasic[1] + basicRotation[1], 0, 1); + } + var currentLookat = currentTransform.unprojectBasic(currentBasic, this._lookatDepth); + currentCamera.lookat.fromArray(currentLookat); + var previousLookat = previousTransform.unprojectBasic(previousBasic, this._lookatDepth); + previousCamera.lookat.fromArray(previousLookat); + }; + InteractiveStateBase.prototype._updateZoom = function (animationSpeed) { + var diff = this._desiredZoom - this._zoom; + var sign = diff > 0 ? 1 : diff < 0 ? -1 : 0; + if (diff === 0) { + return; + } + else if (Math.abs(diff) < 2e-3) { + this._zoom = this._desiredZoom; + if (this._desiredLookat != null) { + this._desiredLookat = null; + } + } + else { + this._zoom += sign * Math.max(Math.abs(5 * animationSpeed * diff), 2e-3); + } }; - StateService.prototype.clearPriorNodes = function () { - this._invokeContextOperation(function (context) { context.clearPrior(); }); + InteractiveStateBase.prototype._updateLookat = function (animationSpeed) { + if (this._desiredLookat === null) { + return; + } + var diff = this._desiredLookat.distanceToSquared(this._currentCamera.lookat); + if (Math.abs(diff) < 1e-6) { + this._currentCamera.lookat.copy(this._desiredLookat); + this._desiredLookat = null; + } + else { + this._currentCamera.lookat.lerp(this._desiredLookat, 5 * animationSpeed); + } }; - StateService.prototype.cutNodes = function () { - this._invokeContextOperation(function (context) { context.cut(); }); + InteractiveStateBase.prototype._updateRotation = function () { + if (this._requestedRotationDelta != null) { + var length_1 = this._rotationDelta.lengthSquared(); + var requestedLength = this._requestedRotationDelta.lengthSquared(); + if (requestedLength > length_1) { + this._rotationDelta.lerp(this._requestedRotationDelta, this._rotationIncreaseAlpha); + } + else { + this._rotationDelta.lerp(this._requestedRotationDelta, this._rotationDecreaseAlpha); + } + this._requestedRotationDelta = null; + return; + } + if (this._rotationDelta.isZero) { + return; + } + this._rotationDelta.multiply(this._rotationAcceleration); + this._rotationDelta.threshold(this._rotationThreshold); }; - StateService.prototype.setNodes = function (nodes) { - this._invokeContextOperation(function (context) { context.set(nodes); }); + InteractiveStateBase.prototype._updateRotationBasic = function () { + if (this._requestedBasicRotation != null) { + var x = this._basicRotation[0]; + var y = this._basicRotation[1]; + var reqX = this._requestedBasicRotation[0]; + var reqY = this._requestedBasicRotation[1]; + if (Math.abs(reqX) > Math.abs(x)) { + this._basicRotation[0] = (1 - this._rotationIncreaseAlpha) * x + this._rotationIncreaseAlpha * reqX; + } + else { + this._basicRotation[0] = (1 - this._rotationDecreaseAlpha) * x + this._rotationDecreaseAlpha * reqX; + } + if (Math.abs(reqY) > Math.abs(y)) { + this._basicRotation[1] = (1 - this._rotationIncreaseAlpha) * y + this._rotationIncreaseAlpha * reqY; + } + else { + this._basicRotation[1] = (1 - this._rotationDecreaseAlpha) * y + this._rotationDecreaseAlpha * reqY; + } + this._requestedBasicRotation = null; + return; + } + if (this._requestedBasicRotationUnbounded != null) { + var reqX = this._requestedBasicRotationUnbounded[0]; + var reqY = this._requestedBasicRotationUnbounded[1]; + if (Math.abs(reqX) > 0) { + this._basicRotation[0] = (1 - this._unboundedRotationAlpha) * this._basicRotation[0] + this._unboundedRotationAlpha * reqX; + } + if (Math.abs(reqY) > 0) { + this._basicRotation[1] = (1 - this._unboundedRotationAlpha) * this._basicRotation[1] + this._unboundedRotationAlpha * reqY; + } + if (this._desiredLookat != null) { + var desiredBasicLookat = this.currentTransform.projectBasic(this._desiredLookat.toArray()); + desiredBasicLookat[0] += reqX; + desiredBasicLookat[1] += reqY; + this._desiredLookat = new THREE.Vector3() + .fromArray(this.currentTransform.unprojectBasic(desiredBasicLookat, this._lookatDepth)); + } + this._requestedBasicRotationUnbounded = null; + } + if (this._basicRotation[0] === 0 && this._basicRotation[1] === 0) { + return; + } + this._basicRotation[0] = this._rotationAcceleration * this._basicRotation[0]; + this._basicRotation[1] = this._rotationAcceleration * this._basicRotation[1]; + if (Math.abs(this._basicRotation[0]) < this._rotationThreshold / Math.pow(2, this._zoom) && + Math.abs(this._basicRotation[1]) < this._rotationThreshold / Math.pow(2, this._zoom)) { + this._basicRotation = [0, 0]; + } }; - StateService.prototype.rotate = function (delta) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.rotate(delta); }); + InteractiveStateBase.prototype._clearRotation = function () { + if (this._currentNode.fullPano) { + return; + } + if (this._requestedRotationDelta != null) { + this._requestedRotationDelta = null; + } + if (!this._rotationDelta.isZero) { + this._rotationDelta.reset(); + } + if (this._requestedBasicRotation != null) { + this._requestedBasicRotation = null; + } + if (this._basicRotation[0] > 0 || this._basicRotation[1] > 0) { + this._basicRotation = [0, 0]; + } }; - StateService.prototype.rotateBasic = function (basicRotation) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.rotateBasic(basicRotation); }); + InteractiveStateBase.prototype._setDesiredCenter = function () { + if (this._desiredCenter == null) { + return; + } + var lookatDirection = new THREE.Vector3() + .fromArray(this.currentTransform.unprojectBasic(this._desiredCenter, this._lookatDepth)) + .sub(this._currentCamera.position); + this._currentCamera.lookat.copy(this._currentCamera.position.clone().add(lookatDirection)); + this._previousCamera.lookat.copy(this._previousCamera.position.clone().add(lookatDirection)); + this._desiredCenter = null; }; - StateService.prototype.rotateBasicUnbounded = function (basicRotation) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.rotateBasicUnbounded(basicRotation); }); + InteractiveStateBase.prototype._setDesiredZoom = function () { + this._desiredZoom = + this._currentNode.fullPano || this._previousNode == null ? + this._zoom : 0; }; - StateService.prototype.rotateBasicWithoutInertia = function (basicRotation) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.rotateBasicWithoutInertia(basicRotation); }); + return InteractiveStateBase; +}(State_1.StateBase)); +exports.InteractiveStateBase = InteractiveStateBase; +exports.default = InteractiveStateBase; + +},{"../../State":297,"three":240}],422:[function(require,module,exports){ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; - StateService.prototype.rotateToBasic = function (basic) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.rotateToBasic(basic); }); +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var State_1 = require("../../State"); +var InteractiveWaitingState = /** @class */ (function (_super) { + __extends(InteractiveWaitingState, _super); + function InteractiveWaitingState(state) { + var _this = _super.call(this, state) || this; + _this._adjustCameras(); + _this._motionless = _this._motionlessTransition(); + return _this; + } + InteractiveWaitingState.prototype.traverse = function () { + return new State_1.TraversingState(this); }; - StateService.prototype.move = function (delta) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.move(delta); }); + InteractiveWaitingState.prototype.wait = function () { + return new State_1.WaitingState(this); }; - StateService.prototype.moveTo = function (position) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.moveTo(position); }); + InteractiveWaitingState.prototype.waitInteractively = function () { + throw new Error("Not implemented"); }; - /** - * Change zoom level while keeping the reference point position approximately static. - * - * @parameter {number} delta - Change in zoom level. - * @parameter {Array} reference - Reference point in basic coordinates. - */ - StateService.prototype.zoomIn = function (delta, reference) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.zoomIn(delta, reference); }); + InteractiveWaitingState.prototype.prepend = function (nodes) { + _super.prototype.prepend.call(this, nodes); + this._motionless = this._motionlessTransition(); }; - StateService.prototype.getCenter = function () { - return this._lastState$ - .first() - .map(function (frame) { - return frame.state.getCenter(); - }); + InteractiveWaitingState.prototype.set = function (nodes) { + _super.prototype.set.call(this, nodes); + this._motionless = this._motionlessTransition(); }; - StateService.prototype.getZoom = function () { - return this._lastState$ - .first() - .map(function (frame) { - return frame.state.zoom; - }); + InteractiveWaitingState.prototype.setSpeed = function (speed) { return; }; + InteractiveWaitingState.prototype.move = function (delta) { + this._alpha = Math.max(0, Math.min(1, this._alpha + delta)); }; - StateService.prototype.setCenter = function (center) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.setCenter(center); }); + InteractiveWaitingState.prototype.moveTo = function (position) { + this._alpha = Math.max(0, Math.min(1, position)); }; - StateService.prototype.setSpeed = function (speed) { - this._invokeContextOperation(function (context) { context.setSpeed(speed); }); + InteractiveWaitingState.prototype.update = function (fps) { + this._updateRotation(); + if (!this._rotationDelta.isZero) { + this._applyRotation(this._previousCamera); + this._applyRotation(this._currentCamera); + } + this._updateRotationBasic(); + if (this._basicRotation[0] !== 0 || this._basicRotation[1] !== 0) { + this._applyRotationBasic(this._basicRotation); + } + var animationSpeed = this._animationSpeed * (60 / fps); + this._updateZoom(animationSpeed); + this._updateLookat(animationSpeed); + this._camera.lerpCameras(this._previousCamera, this._currentCamera, this.alpha); }; - StateService.prototype.setTransitionMode = function (mode) { - this._invokeContextOperation(function (context) { context.setTransitionMode(mode); }); + InteractiveWaitingState.prototype._getAlpha = function () { + return this._motionless ? Math.round(this._alpha) : this._alpha; }; - StateService.prototype.setZoom = function (zoom) { - this._inMotionOperation$.next(true); - this._invokeContextOperation(function (context) { context.setZoom(zoom); }); + InteractiveWaitingState.prototype._setCurrentCamera = function () { + _super.prototype._setCurrentCamera.call(this); + this._adjustCameras(); }; - StateService.prototype.start = function () { - if (this._frameId == null) { - this._start$.next(null); - this._frameId = this._frameGenerator.requestAnimationFrame(this._frame.bind(this)); - this._frame$.next(this._frameId); + InteractiveWaitingState.prototype._adjustCameras = function () { + if (this._previousNode == null) { + return; } - }; - StateService.prototype.stop = function () { - if (this._frameId != null) { - this._frameGenerator.cancelAnimationFrame(this._frameId); - this._frameId = null; + if (this._currentNode.fullPano) { + var lookat = this._camera.lookat.clone().sub(this._camera.position); + this._currentCamera.lookat.copy(lookat.clone().add(this._currentCamera.position)); + } + if (this._previousNode.fullPano) { + var lookat = this._currentCamera.lookat.clone().sub(this._currentCamera.position); + this._previousCamera.lookat.copy(lookat.clone().add(this._previousCamera.position)); } }; - StateService.prototype._invokeContextOperation = function (action) { - this._contextOperation$ - .next(function (context) { - action(context); - return context; - }); - }; - StateService.prototype._frame = function (time) { - this._frameId = this._frameGenerator.requestAnimationFrame(this._frame.bind(this)); - this._frame$.next(this._frameId); - }; - return StateService; -}()); -exports.StateService = StateService; - -},{"../State":298,"rxjs/BehaviorSubject":26,"rxjs/Subject":34,"rxjs/add/operator/bufferCount":52,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/do":61,"rxjs/add/operator/filter":63,"rxjs/add/operator/first":65,"rxjs/add/operator/map":67,"rxjs/add/operator/pairwise":71,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78,"rxjs/add/operator/startWith":83,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/withLatestFrom":90,"rxjs/util/AnimationFrame":218}],416:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Enumeration for transition mode - * @enum {number} - * @readonly - * @description Modes for specifying how transitions - * between nodes are performed. - */ -var TransitionMode; -(function (TransitionMode) { - /** - * Default transitions. - * - * @description The viewer dynamically determines - * whether transitions should be performed with or - * without motion and blending for each transition - * based on the underlying data. - */ - TransitionMode[TransitionMode["Default"] = 0] = "Default"; - /** - * Instantaneous transitions. - * - * @description All transitions are performed - * without motion or blending. - */ - TransitionMode[TransitionMode["Instantaneous"] = 1] = "Instantaneous"; -})(TransitionMode = exports.TransitionMode || (exports.TransitionMode = {})); -exports.default = TransitionMode; + return InteractiveWaitingState; +}(State_1.InteractiveStateBase)); +exports.InteractiveWaitingState = InteractiveWaitingState; +exports.default = InteractiveWaitingState; -},{}],417:[function(require,module,exports){ +},{"../../State":297}],423:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -42330,7 +43605,7 @@ var StateBase = /** @class */ (function () { for (var _i = 0, _a = this._trajectory; _i < _a.length; _i++) { var node = _a[_i]; var translation = this._nodeToTranslation(node); - var transform = new Geo_1.Transform(node, node.image, translation); + var transform = new Geo_1.Transform(node.orientation, node.width, node.height, node.focal, node.scale, node.gpano, node.rotation, translation, node.image); this._trajectoryTransforms.push(transform); this._trajectoryCameras.push(new Geo_1.Camera(transform)); } @@ -42585,7 +43860,7 @@ var StateBase = /** @class */ (function () { throw new Error_1.ArgumentMapillaryError("Assets must be cached when node is added to trajectory"); } var translation = this._nodeToTranslation(node); - var transform = new Geo_1.Transform(node, node.image, translation); + var transform = new Geo_1.Transform(node.orientation, node.width, node.height, node.focal, node.scale, node.gpano, node.rotation, translation, node.image); this._trajectoryTransforms.push(transform); this._trajectoryCameras.push(new Geo_1.Camera(transform)); } @@ -42597,7 +43872,7 @@ var StateBase = /** @class */ (function () { throw new Error_1.ArgumentMapillaryError("Assets must be cached when added to trajectory"); } var translation = this._nodeToTranslation(node); - var transform = new Geo_1.Transform(node, node.image, translation); + var transform = new Geo_1.Transform(node.orientation, node.width, node.height, node.focal, node.scale, node.gpano, node.rotation, translation, node.image); this._trajectoryTransforms.unshift(transform); this._trajectoryCameras.unshift(new Geo_1.Camera(transform)); } @@ -42610,13 +43885,8 @@ var StateBase = /** @class */ (function () { StateBase.prototype._sameConnectedComponent = function () { var current = this._currentNode; var previous = this._previousNode; - if (!current || - !current.mergeCC || - !previous || - !previous.mergeCC) { - return true; - } - return current.mergeCC === previous.mergeCC; + return !!current && !!previous && + current.mergeCC === previous.mergeCC; }; StateBase.prototype._withinOriginalDistance = function () { var current = this._currentNode; @@ -42632,7 +43902,7 @@ var StateBase = /** @class */ (function () { }()); exports.StateBase = StateBase; -},{"../../Error":293,"../../Geo":294,"../../State":298}],418:[function(require,module,exports){ +},{"../../Error":292,"../../Geo":293,"../../State":297}],424:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -42646,66 +43916,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var THREE = require("three"); var UnitBezier = require("@mapbox/unitbezier"); var State_1 = require("../../State"); -var RotationDelta = /** @class */ (function () { - function RotationDelta(phi, theta) { - this._phi = phi; - this._theta = theta; - } - Object.defineProperty(RotationDelta.prototype, "phi", { - get: function () { - return this._phi; - }, - set: function (value) { - this._phi = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(RotationDelta.prototype, "theta", { - get: function () { - return this._theta; - }, - set: function (value) { - this._theta = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(RotationDelta.prototype, "isZero", { - get: function () { - return this._phi === 0 && this._theta === 0; - }, - enumerable: true, - configurable: true - }); - RotationDelta.prototype.copy = function (delta) { - this._phi = delta.phi; - this._theta = delta.theta; - }; - RotationDelta.prototype.lerp = function (other, alpha) { - this._phi = (1 - alpha) * this._phi + alpha * other.phi; - this._theta = (1 - alpha) * this._theta + alpha * other.theta; - }; - RotationDelta.prototype.multiply = function (value) { - this._phi *= value; - this._theta *= value; - }; - RotationDelta.prototype.threshold = function (value) { - this._phi = Math.abs(this._phi) > value ? this._phi : 0; - this._theta = Math.abs(this._theta) > value ? this._theta : 0; - }; - RotationDelta.prototype.lengthSquared = function () { - return this._phi * this._phi + this._theta * this._theta; - }; - RotationDelta.prototype.reset = function () { - this._phi = 0; - this._theta = 0; - }; - return RotationDelta; -}()); var TraversingState = /** @class */ (function (_super) { __extends(TraversingState, _super); function TraversingState(state) { @@ -42713,26 +43925,9 @@ var TraversingState = /** @class */ (function (_super) { _this._adjustCameras(); _this._motionless = _this._motionlessTransition(); _this._baseAlpha = _this._alpha; - _this._animationSpeed = 1 / 40; _this._speedCoefficient = 1; _this._unitBezier = new UnitBezier(0.74, 0.67, 0.38, 0.96); _this._useBezier = false; - _this._rotationDelta = new RotationDelta(0, 0); - _this._requestedRotationDelta = null; - _this._basicRotation = [0, 0]; - _this._requestedBasicRotation = null; - _this._requestedBasicRotationUnbounded = null; - _this._rotationAcceleration = 0.86; - _this._rotationIncreaseAlpha = 0.97; - _this._rotationDecreaseAlpha = 0.9; - _this._rotationThreshold = 1e-3; - _this._unboundedRotationAlpha = 0.8; - _this._desiredZoom = state.zoom; - _this._minZoom = 0; - _this._maxZoom = 3; - _this._lookatDepth = 10; - _this._desiredLookat = null; - _this._desiredCenter = null; return _this; } TraversingState.prototype.traverse = function () { @@ -42741,6 +43936,9 @@ var TraversingState = /** @class */ (function (_super) { TraversingState.prototype.wait = function () { return new State_1.WaitingState(this); }; + TraversingState.prototype.waitInteractively = function () { + return new State_1.InteractiveWaitingState(this); + }; TraversingState.prototype.append = function (nodes) { var emptyTrajectory = this._trajectory.length === 0; if (emptyTrajectory) { @@ -42780,152 +43978,9 @@ var TraversingState = /** @class */ (function (_super) { TraversingState.prototype.moveTo = function (delta) { throw new Error("Not implemented"); }; - TraversingState.prototype.rotate = function (rotationDelta) { - if (this._currentNode == null) { - return; - } - this._desiredZoom = this._zoom; - this._desiredLookat = null; - this._requestedBasicRotation = null; - if (this._requestedRotationDelta != null) { - this._requestedRotationDelta.phi = this._requestedRotationDelta.phi + rotationDelta.phi; - this._requestedRotationDelta.theta = this._requestedRotationDelta.theta + rotationDelta.theta; - } - else { - this._requestedRotationDelta = new RotationDelta(rotationDelta.phi, rotationDelta.theta); - } - }; - TraversingState.prototype.rotateBasic = function (basicRotation) { - if (this._currentNode == null) { - return; - } - this._desiredZoom = this._zoom; - this._desiredLookat = null; - this._requestedRotationDelta = null; - if (this._requestedBasicRotation != null) { - this._requestedBasicRotation[0] += basicRotation[0]; - this._requestedBasicRotation[1] += basicRotation[1]; - var threshold = 0.05 / Math.pow(2, this._zoom); - this._requestedBasicRotation[0] = - this._spatial.clamp(this._requestedBasicRotation[0], -threshold, threshold); - this._requestedBasicRotation[1] = - this._spatial.clamp(this._requestedBasicRotation[1], -threshold, threshold); - } - else { - this._requestedBasicRotation = basicRotation.slice(); - } - }; - TraversingState.prototype.rotateBasicUnbounded = function (basicRotation) { - if (this._currentNode == null) { - return; - } - if (this._requestedBasicRotationUnbounded != null) { - this._requestedBasicRotationUnbounded[0] += basicRotation[0]; - this._requestedBasicRotationUnbounded[1] += basicRotation[1]; - } - else { - this._requestedBasicRotationUnbounded = basicRotation.slice(); - } - }; - TraversingState.prototype.rotateBasicWithoutInertia = function (basic) { - if (this._currentNode == null) { - return; - } - this._desiredZoom = this._zoom; - this._desiredLookat = null; - this._requestedRotationDelta = null; - this._requestedBasicRotation = null; - var threshold = 0.05 / Math.pow(2, this._zoom); - var basicRotation = basic.slice(); - basicRotation[0] = this._spatial.clamp(basicRotation[0], -threshold, threshold); - basicRotation[1] = this._spatial.clamp(basicRotation[1], -threshold, threshold); - this._applyRotationBasic(basicRotation); - }; - TraversingState.prototype.rotateToBasic = function (basic) { - if (this._currentNode == null) { - return; - } - this._desiredZoom = this._zoom; - this._desiredLookat = null; - basic[0] = this._spatial.clamp(basic[0], 0, 1); - basic[1] = this._spatial.clamp(basic[1], 0, 1); - var lookat = this.currentTransform.unprojectBasic(basic, this._lookatDepth); - this._currentCamera.lookat.fromArray(lookat); - }; TraversingState.prototype.setSpeed = function (speed) { this._speedCoefficient = this._spatial.clamp(speed, 0, 10); }; - TraversingState.prototype.zoomIn = function (delta, reference) { - if (this._currentNode == null) { - return; - } - this._desiredZoom = Math.max(this._minZoom, Math.min(this._maxZoom, this._desiredZoom + delta)); - var currentCenter = this.currentTransform.projectBasic(this._currentCamera.lookat.toArray()); - var currentCenterX = currentCenter[0]; - var currentCenterY = currentCenter[1]; - var zoom0 = Math.pow(2, this._zoom); - var zoom1 = Math.pow(2, this._desiredZoom); - var refX = reference[0]; - var refY = reference[1]; - if (this.currentTransform.gpano != null && - this.currentTransform.gpano.CroppedAreaImageWidthPixels === this.currentTransform.gpano.FullPanoWidthPixels) { - if (refX - currentCenterX > 0.5) { - refX = refX - 1; - } - else if (currentCenterX - refX > 0.5) { - refX = 1 + refX; - } - } - var newCenterX = refX - zoom0 / zoom1 * (refX - currentCenterX); - var newCenterY = refY - zoom0 / zoom1 * (refY - currentCenterY); - var gpano = this.currentTransform.gpano; - if (this._currentNode.fullPano) { - newCenterX = this._spatial.wrap(newCenterX + this._basicRotation[0], 0, 1); - newCenterY = this._spatial.clamp(newCenterY + this._basicRotation[1], 0.05, 0.95); - } - else if (gpano != null && - this.currentTransform.gpano.CroppedAreaImageWidthPixels === this.currentTransform.gpano.FullPanoWidthPixels) { - newCenterX = this._spatial.wrap(newCenterX + this._basicRotation[0], 0, 1); - newCenterY = this._spatial.clamp(newCenterY + this._basicRotation[1], 0, 1); - } - else { - newCenterX = this._spatial.clamp(newCenterX, 0, 1); - newCenterY = this._spatial.clamp(newCenterY, 0, 1); - } - this._desiredLookat = new THREE.Vector3() - .fromArray(this.currentTransform.unprojectBasic([newCenterX, newCenterY], this._lookatDepth)); - }; - TraversingState.prototype.setCenter = function (center) { - this._desiredLookat = null; - this._requestedRotationDelta = null; - this._requestedBasicRotation = null; - this._desiredZoom = this._zoom; - var clamped = [ - this._spatial.clamp(center[0], 0, 1), - this._spatial.clamp(center[1], 0, 1), - ]; - if (this._currentNode == null) { - this._desiredCenter = clamped; - return; - } - this._desiredCenter = null; - var currentLookat = new THREE.Vector3() - .fromArray(this.currentTransform.unprojectBasic(clamped, this._lookatDepth)); - var previousTransform = this.previousTransform != null ? - this.previousTransform : - this.currentTransform; - var previousLookat = new THREE.Vector3() - .fromArray(previousTransform.unprojectBasic(clamped, this._lookatDepth)); - this._currentCamera.lookat.copy(currentLookat); - this._previousCamera.lookat.copy(previousLookat); - }; - TraversingState.prototype.setZoom = function (zoom) { - this._desiredLookat = null; - this._requestedRotationDelta = null; - this._requestedBasicRotation = null; - this._zoom = this._spatial.clamp(zoom, this._minZoom, this._maxZoom); - this._desiredZoom = this._zoom; - }; TraversingState.prototype.update = function (fps) { if (this._alpha === 1 && this._currentIndex + this._alpha < this._trajectory.length) { this._currentIndex += 1; @@ -42980,208 +44035,12 @@ var TraversingState = /** @class */ (function (_super) { this._baseAlpha = 0; this._motionless = this._motionlessTransition(); }; - TraversingState.prototype._applyRotation = function (camera) { - if (camera == null) { - return; - } - var q = new THREE.Quaternion().setFromUnitVectors(camera.up, new THREE.Vector3(0, 0, 1)); - var qInverse = q.clone().inverse(); - var offset = new THREE.Vector3(); - offset.copy(camera.lookat).sub(camera.position); - offset.applyQuaternion(q); - var length = offset.length(); - var phi = Math.atan2(offset.y, offset.x); - phi += this._rotationDelta.phi; - var theta = Math.atan2(Math.sqrt(offset.x * offset.x + offset.y * offset.y), offset.z); - theta += this._rotationDelta.theta; - theta = Math.max(0.1, Math.min(Math.PI - 0.1, theta)); - offset.x = Math.sin(theta) * Math.cos(phi); - offset.y = Math.sin(theta) * Math.sin(phi); - offset.z = Math.cos(theta); - offset.applyQuaternion(qInverse); - camera.lookat.copy(camera.position).add(offset.multiplyScalar(length)); - }; - TraversingState.prototype._applyRotationBasic = function (basicRotation) { - var currentNode = this._currentNode; - var previousNode = this._previousNode != null ? - this.previousNode : - this.currentNode; - var currentCamera = this._currentCamera; - var previousCamera = this._previousCamera; - var currentTransform = this.currentTransform; - var previousTransform = this.previousTransform != null ? - this.previousTransform : - this.currentTransform; - var currentBasic = currentTransform.projectBasic(currentCamera.lookat.toArray()); - var previousBasic = previousTransform.projectBasic(previousCamera.lookat.toArray()); - var currentGPano = currentTransform.gpano; - var previousGPano = previousTransform.gpano; - if (currentNode.fullPano) { - currentBasic[0] = this._spatial.wrap(currentBasic[0] + basicRotation[0], 0, 1); - currentBasic[1] = this._spatial.clamp(currentBasic[1] + basicRotation[1], 0.05, 0.95); - } - else if (currentGPano != null && - currentTransform.gpano.CroppedAreaImageWidthPixels === currentTransform.gpano.FullPanoWidthPixels) { - currentBasic[0] = this._spatial.wrap(currentBasic[0] + basicRotation[0], 0, 1); - currentBasic[1] = this._spatial.clamp(currentBasic[1] + basicRotation[1], 0, 1); - } - else { - currentBasic[0] = this._spatial.clamp(currentBasic[0] + basicRotation[0], 0, 1); - currentBasic[1] = this._spatial.clamp(currentBasic[1] + basicRotation[1], 0, 1); - } - if (previousNode.fullPano) { - previousBasic[0] = this._spatial.wrap(previousBasic[0] + basicRotation[0], 0, 1); - previousBasic[1] = this._spatial.clamp(previousBasic[1] + basicRotation[1], 0.05, 0.95); - } - else if (previousGPano != null && - previousTransform.gpano.CroppedAreaImageWidthPixels === previousTransform.gpano.FullPanoWidthPixels) { - previousBasic[0] = this._spatial.wrap(previousBasic[0] + basicRotation[0], 0, 1); - previousBasic[1] = this._spatial.clamp(previousBasic[1] + basicRotation[1], 0, 1); - } - else { - previousBasic[0] = this._spatial.clamp(previousBasic[0] + basicRotation[0], 0, 1); - previousBasic[1] = this._spatial.clamp(currentBasic[1] + basicRotation[1], 0, 1); - } - var currentLookat = currentTransform.unprojectBasic(currentBasic, this._lookatDepth); - currentCamera.lookat.fromArray(currentLookat); - var previousLookat = previousTransform.unprojectBasic(previousBasic, this._lookatDepth); - previousCamera.lookat.fromArray(previousLookat); - }; - TraversingState.prototype._updateZoom = function (animationSpeed) { - var diff = this._desiredZoom - this._zoom; - var sign = diff > 0 ? 1 : diff < 0 ? -1 : 0; - if (diff === 0) { - return; - } - else if (Math.abs(diff) < 2e-3) { - this._zoom = this._desiredZoom; - if (this._desiredLookat != null) { - this._desiredLookat = null; - } - } - else { - this._zoom += sign * Math.max(Math.abs(5 * animationSpeed * diff), 2e-3); - } - }; - TraversingState.prototype._updateLookat = function (animationSpeed) { - if (this._desiredLookat === null) { - return; - } - var diff = this._desiredLookat.distanceToSquared(this._currentCamera.lookat); - if (Math.abs(diff) < 1e-6) { - this._currentCamera.lookat.copy(this._desiredLookat); - this._desiredLookat = null; - } - else { - this._currentCamera.lookat.lerp(this._desiredLookat, 5 * animationSpeed); - } - }; - TraversingState.prototype._updateRotation = function () { - if (this._requestedRotationDelta != null) { - var length_1 = this._rotationDelta.lengthSquared(); - var requestedLength = this._requestedRotationDelta.lengthSquared(); - if (requestedLength > length_1) { - this._rotationDelta.lerp(this._requestedRotationDelta, this._rotationIncreaseAlpha); - } - else { - this._rotationDelta.lerp(this._requestedRotationDelta, this._rotationDecreaseAlpha); - } - this._requestedRotationDelta = null; - return; - } - if (this._rotationDelta.isZero) { - return; - } - this._rotationDelta.multiply(this._rotationAcceleration); - this._rotationDelta.threshold(this._rotationThreshold); - }; - TraversingState.prototype._updateRotationBasic = function () { - if (this._requestedBasicRotation != null) { - var x = this._basicRotation[0]; - var y = this._basicRotation[1]; - var reqX = this._requestedBasicRotation[0]; - var reqY = this._requestedBasicRotation[1]; - if (Math.abs(reqX) > Math.abs(x)) { - this._basicRotation[0] = (1 - this._rotationIncreaseAlpha) * x + this._rotationIncreaseAlpha * reqX; - } - else { - this._basicRotation[0] = (1 - this._rotationDecreaseAlpha) * x + this._rotationDecreaseAlpha * reqX; - } - if (Math.abs(reqY) > Math.abs(y)) { - this._basicRotation[1] = (1 - this._rotationIncreaseAlpha) * y + this._rotationIncreaseAlpha * reqY; - } - else { - this._basicRotation[1] = (1 - this._rotationDecreaseAlpha) * y + this._rotationDecreaseAlpha * reqY; - } - this._requestedBasicRotation = null; - return; - } - if (this._requestedBasicRotationUnbounded != null) { - var reqX = this._requestedBasicRotationUnbounded[0]; - var reqY = this._requestedBasicRotationUnbounded[1]; - if (Math.abs(reqX) > 0) { - this._basicRotation[0] = (1 - this._unboundedRotationAlpha) * this._basicRotation[0] + this._unboundedRotationAlpha * reqX; - } - if (Math.abs(reqY) > 0) { - this._basicRotation[1] = (1 - this._unboundedRotationAlpha) * this._basicRotation[1] + this._unboundedRotationAlpha * reqY; - } - if (this._desiredLookat != null) { - var desiredBasicLookat = this.currentTransform.projectBasic(this._desiredLookat.toArray()); - desiredBasicLookat[0] += reqX; - desiredBasicLookat[1] += reqY; - this._desiredLookat = new THREE.Vector3() - .fromArray(this.currentTransform.unprojectBasic(desiredBasicLookat, this._lookatDepth)); - } - this._requestedBasicRotationUnbounded = null; - } - if (this._basicRotation[0] === 0 && this._basicRotation[1] === 0) { - return; - } - this._basicRotation[0] = this._rotationAcceleration * this._basicRotation[0]; - this._basicRotation[1] = this._rotationAcceleration * this._basicRotation[1]; - if (Math.abs(this._basicRotation[0]) < this._rotationThreshold / Math.pow(2, this._zoom) && - Math.abs(this._basicRotation[1]) < this._rotationThreshold / Math.pow(2, this._zoom)) { - this._basicRotation = [0, 0]; - } - }; - TraversingState.prototype._clearRotation = function () { - if (this._currentNode.fullPano) { - return; - } - if (this._requestedRotationDelta != null) { - this._requestedRotationDelta = null; - } - if (!this._rotationDelta.isZero) { - this._rotationDelta.reset(); - } - if (this._requestedBasicRotation != null) { - this._requestedBasicRotation = null; - } - if (this._basicRotation[0] > 0 || this._basicRotation[1] > 0) { - this._basicRotation = [0, 0]; - } - }; - TraversingState.prototype._setDesiredCenter = function () { - if (this._desiredCenter == null) { - return; - } - var lookatDirection = new THREE.Vector3() - .fromArray(this.currentTransform.unprojectBasic(this._desiredCenter, this._lookatDepth)) - .sub(this._currentCamera.position); - this._currentCamera.lookat.copy(this._currentCamera.position.clone().add(lookatDirection)); - this._previousCamera.lookat.copy(this._previousCamera.position.clone().add(lookatDirection)); - this._desiredCenter = null; - }; - TraversingState.prototype._setDesiredZoom = function () { - this._desiredZoom = - this._currentNode.fullPano || this._previousNode == null ? - this._zoom : 0; - }; return TraversingState; -}(State_1.StateBase)); +}(State_1.InteractiveStateBase)); exports.TraversingState = TraversingState; +exports.default = TraversingState; -},{"../../State":298,"@mapbox/unitbezier":2,"three":241}],419:[function(require,module,exports){ +},{"../../State":297,"@mapbox/unitbezier":2}],425:[function(require,module,exports){ "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || @@ -43210,6 +44069,9 @@ var WaitingState = /** @class */ (function (_super) { WaitingState.prototype.wait = function () { throw new Error("Not implemented"); }; + WaitingState.prototype.waitInteractively = function () { + return new State_1.InteractiveWaitingState(this); + }; WaitingState.prototype.prepend = function (nodes) { _super.prototype.prepend.call(this, nodes); this._motionless = this._motionlessTransition(); @@ -43259,8 +44121,9 @@ var WaitingState = /** @class */ (function (_super) { return WaitingState; }(State_1.StateBase)); exports.WaitingState = WaitingState; +exports.default = WaitingState; -},{"../../State":298}],420:[function(require,module,exports){ +},{"../../State":297}],426:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); @@ -43352,7 +44215,7 @@ var ImageTileLoader = /** @class */ (function () { exports.ImageTileLoader = ImageTileLoader; exports.default = ImageTileLoader; -},{"rxjs/Observable":29}],421:[function(require,module,exports){ +},{"rxjs/Observable":29}],427:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -43420,7 +44283,7 @@ var ImageTileStore = /** @class */ (function () { exports.ImageTileStore = ImageTileStore; exports.default = ImageTileStore; -},{}],422:[function(require,module,exports){ +},{}],428:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -43561,7 +44424,7 @@ var RegionOfInterestCalculator = /** @class */ (function () { exports.RegionOfInterestCalculator = RegionOfInterestCalculator; exports.default = RegionOfInterestCalculator; -},{"../Geo":294}],423:[function(require,module,exports){ +},{"../Geo":293}],429:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -44042,7 +44905,7 @@ var TextureProvider = /** @class */ (function () { exports.TextureProvider = TextureProvider; exports.default = TextureProvider; -},{"rxjs/Subject":34,"three":241}],424:[function(require,module,exports){ +},{"rxjs/Subject":34,"three":240}],430:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var DOM = /** @class */ (function () { @@ -44071,7 +44934,7 @@ var DOM = /** @class */ (function () { exports.DOM = DOM; exports.default = DOM; -},{}],425:[function(require,module,exports){ +},{}],431:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var EventEmitter = /** @class */ (function () { @@ -44130,7 +44993,7 @@ var EventEmitter = /** @class */ (function () { exports.EventEmitter = EventEmitter; exports.default = EventEmitter; -},{}],426:[function(require,module,exports){ +},{}],432:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Viewer_1 = require("../Viewer"); @@ -44174,7 +45037,7 @@ var Settings = /** @class */ (function () { exports.Settings = Settings; exports.default = Settings; -},{"../Viewer":302}],427:[function(require,module,exports){ +},{"../Viewer":301}],433:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function isBrowser() { @@ -44202,6 +45065,10 @@ function isObjectSupported() { Object.assign); } exports.isObjectSupported = isObjectSupported; +function isBlobSupported() { + return "Blob" in window && "URL" in window; +} +exports.isBlobSupported = isBlobSupported; var isWebGLSupportedCache = undefined; function isWebGLSupportedCached() { if (isWebGLSupportedCache === undefined) { @@ -44240,7 +45107,7 @@ function isWebGLSupported() { } exports.isWebGLSupported = isWebGLSupported; -},{}],428:[function(require,module,exports){ +},{}],434:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Urls = /** @class */ (function () { @@ -44325,7 +45192,7 @@ var Urls = /** @class */ (function () { exports.Urls = Urls; exports.default = Urls; -},{}],429:[function(require,module,exports){ +},{}],435:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -44374,16 +45241,10 @@ var Alignment; })(Alignment = exports.Alignment || (exports.Alignment = {})); exports.default = Alignment; -},{}],430:[function(require,module,exports){ +},{}],436:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); -require("rxjs/add/operator/bufferCount"); -require("rxjs/add/operator/delay"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/timeout"); var Graph_1 = require("../Graph"); var CacheService = /** @class */ (function () { function CacheService(graphService, stateService) { @@ -44477,7 +45338,7 @@ var CacheService = /** @class */ (function () { exports.CacheService = CacheService; exports.default = CacheService; -},{"../Graph":295,"rxjs/Observable":29,"rxjs/add/operator/bufferCount":52,"rxjs/add/operator/delay":58,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/map":67,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/timeout":89}],431:[function(require,module,exports){ +},{"../Graph":294,"rxjs/Observable":29}],437:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Component_1 = require("../Component"); @@ -44561,6 +45422,7 @@ var ComponentController = /** @class */ (function () { this._uTrue(options.mouse, "mouse"); this._uTrue(options.sequence, "sequence"); this._uTrue(options.stats, "stats"); + this._uTrue(options.zoom, "zoom"); }; ComponentController.prototype._initilizeCoverComponent = function () { var options = this._options; @@ -44655,7 +45517,7 @@ var ComponentController = /** @class */ (function () { }()); exports.ComponentController = ComponentController; -},{"../Component":291}],432:[function(require,module,exports){ +},{"../Component":290}],438:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Render_1 = require("../Render"); @@ -44706,7 +45568,7 @@ var Container = /** @class */ (function () { exports.Container = Container; exports.default = Container; -},{"../Render":297,"../Utils":301,"../Viewer":302}],433:[function(require,module,exports){ +},{"../Render":296,"../Utils":300,"../Viewer":301}],439:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** @@ -44735,7 +45597,7 @@ var ImageSize; ImageSize[ImageSize["Size2048"] = 2048] = "Size2048"; })(ImageSize = exports.ImageSize || (exports.ImageSize = {})); -},{}],434:[function(require,module,exports){ +},{}],440:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); @@ -44755,18 +45617,12 @@ var KeyboardService = /** @class */ (function () { exports.KeyboardService = KeyboardService; exports.default = KeyboardService; -},{"rxjs/Observable":29}],435:[function(require,module,exports){ +},{"rxjs/Observable":29}],441:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var _ = require("underscore"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/debounceTime"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/startWith"); var LoadingService = /** @class */ (function () { function LoadingService() { this._loadersSubject$ = new Subject_1.Subject(); @@ -44814,22 +45670,12 @@ var LoadingService = /** @class */ (function () { exports.LoadingService = LoadingService; exports.default = LoadingService; -},{"rxjs/Subject":34,"rxjs/add/operator/debounceTime":57,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/map":67,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78,"rxjs/add/operator/startWith":83,"underscore":243}],436:[function(require,module,exports){ +},{"rxjs/Subject":34,"underscore":242}],442:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var BehaviorSubject_1 = require("rxjs/BehaviorSubject"); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/observable/fromEvent"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/merge"); -require("rxjs/add/operator/mergeMap"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/switchMap"); -require("rxjs/add/operator/withLatestFrom"); var Geo_1 = require("../Geo"); var MouseService = /** @class */ (function () { function MouseService(container, canvasContainer, domContainer, doc, viewportCoords) { @@ -45266,19 +46112,13 @@ var MouseService = /** @class */ (function () { exports.MouseService = MouseService; exports.default = MouseService; -},{"../Geo":294,"rxjs/BehaviorSubject":26,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/fromEvent":43,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/merge":68,"rxjs/add/operator/mergeMap":70,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78,"rxjs/add/operator/switchMap":84,"rxjs/add/operator/withLatestFrom":90}],437:[function(require,module,exports){ +},{"../Geo":293,"rxjs/BehaviorSubject":26,"rxjs/Observable":29,"rxjs/Subject":34}],443:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var BehaviorSubject_1 = require("rxjs/BehaviorSubject"); var Observable_1 = require("rxjs/Observable"); var ReplaySubject_1 = require("rxjs/ReplaySubject"); -require("rxjs/add/observable/throw"); -require("rxjs/add/operator/do"); -require("rxjs/add/operator/finally"); -require("rxjs/add/operator/first"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/mergeMap"); var API_1 = require("../API"); var Graph_1 = require("../Graph"); var Edge_1 = require("../Edge"); @@ -45495,23 +46335,28 @@ var Navigator = /** @class */ (function () { this._nodeRequestSubscription = null; } if (this._request$ != null) { - this._request$.error(new Error_1.AbortMapillaryError("Request aborted by a subsequent request " + reason + ".")); + if (!(this._request$.isStopped || this._request$.hasError)) { + this._request$.error(new Error_1.AbortMapillaryError("Request aborted by a subsequent request " + reason + ".")); + } this._request$ = null; } }; Navigator.prototype._makeRequest$ = function (node$) { var _this = this; - this._request$ = new ReplaySubject_1.ReplaySubject(1); - this._requestSubscription = this._request$ + var request$ = new ReplaySubject_1.ReplaySubject(1); + this._requestSubscription = request$ .subscribe(undefined, function (e) { }); + this._request$ = request$; this._nodeRequestSubscription = node$ .subscribe(function (node) { - _this._request$.next(node); - _this._request$.complete(); + request$.next(node); + request$.complete(); + _this._request$ = null; }, function (error) { - _this._request$.error(error); + request$.error(error); + _this._request$ = null; }); - return this._request$; + return request$; }; Navigator.prototype._moveToKey$ = function (key) { var _this = this; @@ -45540,15 +46385,11 @@ var Navigator = /** @class */ (function () { exports.Navigator = Navigator; exports.default = Navigator; -},{"../API":290,"../Edge":292,"../Error":293,"../Graph":295,"../State":298,"../Viewer":302,"rxjs/BehaviorSubject":26,"rxjs/Observable":29,"rxjs/ReplaySubject":32,"rxjs/add/observable/throw":47,"rxjs/add/operator/do":61,"rxjs/add/operator/finally":64,"rxjs/add/operator/first":65,"rxjs/add/operator/map":67,"rxjs/add/operator/mergeMap":70}],438:[function(require,module,exports){ +},{"../API":289,"../Edge":291,"../Error":292,"../Graph":294,"../State":297,"../Viewer":301,"rxjs/BehaviorSubject":26,"rxjs/Observable":29,"rxjs/ReplaySubject":32}],444:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/observable/combineLatest"); -require("rxjs/add/operator/distinctUntilChanged"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/throttleTime"); var Viewer_1 = require("../Viewer"); var Observer = /** @class */ (function () { function Observer(eventEmitter, navigator, container) { @@ -45633,7 +46474,7 @@ var Observer = /** @class */ (function () { } }); this._bearingSubscription = this._container.renderService.bearing$ - .throttleTime(100) + .auditTime(100) .distinctUntilChanged(function (b1, b2) { return Math.abs(b2 - b1) < 1; }) @@ -45714,12 +46555,11 @@ var Observer = /** @class */ (function () { exports.Observer = Observer; exports.default = Observer; -},{"../Viewer":302,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/combineLatest":38,"rxjs/add/operator/distinctUntilChanged":60,"rxjs/add/operator/map":67,"rxjs/add/operator/throttleTime":88}],439:[function(require,module,exports){ +},{"../Viewer":301,"rxjs/Observable":29,"rxjs/Subject":34}],445:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/timeout"); var Edge_1 = require("../Edge"); var Graph_1 = require("../Graph"); var PlayService = /** @class */ (function () { @@ -46090,7 +46930,7 @@ var PlayService = /** @class */ (function () { exports.PlayService = PlayService; exports.default = PlayService; -},{"../Edge":292,"../Graph":295,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/operator/timeout":89}],440:[function(require,module,exports){ +},{"../Edge":291,"../Graph":294,"rxjs/Observable":29,"rxjs/Subject":34}],446:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); @@ -46149,16 +46989,13 @@ var Projection = /** @class */ (function () { exports.Projection = Projection; exports.default = Projection; -},{"../Geo":294,"three":241}],441:[function(require,module,exports){ +},{"../Geo":293,"three":240}],447:[function(require,module,exports){ "use strict"; /// Object.defineProperty(exports, "__esModule", { value: true }); var THREE = require("three"); var vd = require("virtual-dom"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/operator/publishReplay"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/startWith"); var Viewer_1 = require("../Viewer"); var SpriteAtlas = /** @class */ (function () { function SpriteAtlas() { @@ -46348,19 +47185,12 @@ var SpriteService = /** @class */ (function () { exports.SpriteService = SpriteService; exports.default = SpriteService; -},{"../Viewer":302,"rxjs/Subject":34,"rxjs/add/operator/publishReplay":74,"rxjs/add/operator/scan":78,"rxjs/add/operator/startWith":83,"three":241,"virtual-dom":247}],442:[function(require,module,exports){ +},{"../Viewer":301,"rxjs/Subject":34,"three":240,"virtual-dom":246}],448:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var BehaviorSubject_1 = require("rxjs/BehaviorSubject"); var Observable_1 = require("rxjs/Observable"); var Subject_1 = require("rxjs/Subject"); -require("rxjs/add/observable/timer"); -require("rxjs/add/operator/bufferWhen"); -require("rxjs/add/operator/filter"); -require("rxjs/add/operator/map"); -require("rxjs/add/operator/merge"); -require("rxjs/add/operator/scan"); -require("rxjs/add/operator/switchMap"); var TouchService = /** @class */ (function () { function TouchService(canvasContainer, domContainer) { var _this = this; @@ -46621,7 +47451,7 @@ var TouchService = /** @class */ (function () { }()); exports.TouchService = TouchService; -},{"rxjs/BehaviorSubject":26,"rxjs/Observable":29,"rxjs/Subject":34,"rxjs/add/observable/timer":48,"rxjs/add/operator/bufferWhen":53,"rxjs/add/operator/filter":63,"rxjs/add/operator/map":67,"rxjs/add/operator/merge":68,"rxjs/add/operator/scan":78,"rxjs/add/operator/switchMap":84}],443:[function(require,module,exports){ +},{"rxjs/BehaviorSubject":26,"rxjs/Observable":29,"rxjs/Subject":34}],449:[function(require,module,exports){ "use strict"; /// var __extends = (this && this.__extends) || (function () { @@ -46636,6 +47466,60 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var when = require("when"); +require("rxjs/add/observable/combineLatest"); +require("rxjs/add/observable/concat"); +require("rxjs/add/observable/defer"); +require("rxjs/add/observable/empty"); +require("rxjs/add/observable/merge"); +require("rxjs/add/observable/from"); +require("rxjs/add/observable/fromEvent"); +require("rxjs/add/observable/fromPromise"); +require("rxjs/add/observable/of"); +require("rxjs/add/observable/throw"); +require("rxjs/add/observable/timer"); +require("rxjs/add/observable/zip"); +require("rxjs/add/operator/auditTime"); +require("rxjs/add/operator/buffer"); +require("rxjs/add/operator/bufferCount"); +require("rxjs/add/operator/bufferWhen"); +require("rxjs/add/operator/catch"); +require("rxjs/add/operator/combineLatest"); +require("rxjs/add/operator/concat"); +require("rxjs/add/operator/count"); +require("rxjs/add/operator/debounceTime"); +require("rxjs/add/operator/delay"); +require("rxjs/add/operator/distinct"); +require("rxjs/add/operator/distinctUntilChanged"); +require("rxjs/add/operator/do"); +require("rxjs/add/operator/expand"); +require("rxjs/add/operator/filter"); +require("rxjs/add/operator/finally"); +require("rxjs/add/operator/first"); +require("rxjs/add/operator/last"); +require("rxjs/add/operator/map"); +require("rxjs/add/operator/merge"); +require("rxjs/add/operator/mergeMap"); +require("rxjs/add/operator/mergeAll"); +require("rxjs/add/operator/pairwise"); +require("rxjs/add/operator/pluck"); +require("rxjs/add/operator/publish"); +require("rxjs/add/operator/publishReplay"); +require("rxjs/add/operator/reduce"); +require("rxjs/add/operator/retry"); +require("rxjs/add/operator/sample"); +require("rxjs/add/operator/scan"); +require("rxjs/add/operator/share"); +require("rxjs/add/operator/skip"); +require("rxjs/add/operator/skipUntil"); +require("rxjs/add/operator/skipWhile"); +require("rxjs/add/operator/startWith"); +require("rxjs/add/operator/switchMap"); +require("rxjs/add/operator/take"); +require("rxjs/add/operator/takeUntil"); +require("rxjs/add/operator/takeWhile"); +require("rxjs/add/operator/timeout"); +require("rxjs/add/operator/withLatestFrom"); +require("rxjs/add/operator/zip"); var Observable_1 = require("rxjs/Observable"); var Viewer_1 = require("../Viewer"); var Utils_1 = require("../Utils"); @@ -46928,6 +47812,8 @@ var Viewer = /** @class */ (function (_super) { * longitude. * @throws {Error} Propagates any IO errors to the caller. * @throws {Error} When viewer is not navigable. + * @throws {AbortMapillaryError} When a subsequent move request is made + * before the move close to call has completed. * * @example * ``` @@ -46959,6 +47845,8 @@ var Viewer = /** @class */ (function (_super) { * or the edges has not yet been cached. * @throws {Error} Propagates any IO errors to the caller. * @throws {Error} When viewer is not navigable. + * @throws {AbortMapillaryError} When a subsequent move request is made + * before the move dir call has completed. * * @example * ``` @@ -46986,6 +47874,8 @@ var Viewer = /** @class */ (function (_super) { * @returns {Promise} Promise to the node that was navigated to. * @throws {Error} Propagates any IO errors to the caller. * @throws {Error} When viewer is not navigable. + * @throws {AbortMapillaryError} When a subsequent move request is made + * before the move to key call has completed. * * @example * ``` @@ -47058,8 +47948,8 @@ var Viewer = /** @class */ (function (_super) { * viewer will make unauthenticated requests. * * Calling setAuthToken aborts all outstanding move requests. - * The promises of those move requests will be rejected and - * the rejections need to be caught. + * The promises of those move requests will be rejected with a + * {@link AbortMapillaryError} the rejections need to be caught. * * Calling setAuthToken also resets the complete viewer cache * so it should not be called repeatedly. @@ -47267,6 +48157,11 @@ var Viewer = /** @class */ (function (_super) { }; /** * Fired when the viewing direction of the camera changes. + * + * @description Related to the computed compass angle + * ({@link Node.computedCa}) from SfM, not the original EXIF compass + * angle. + * * @event * @type {number} bearing - Value indicating the current bearing * measured in degrees clockwise with respect to north. @@ -47378,6 +48273,6 @@ var Viewer = /** @class */ (function (_super) { }(Utils_1.EventEmitter)); exports.Viewer = Viewer; -},{"../Utils":301,"../Viewer":302,"rxjs/Observable":29,"when":288}]},{},[296])(296) +},{"../Utils":300,"../Viewer":301,"rxjs/Observable":29,"rxjs/add/observable/combineLatest":38,"rxjs/add/observable/concat":39,"rxjs/add/observable/defer":40,"rxjs/add/observable/empty":41,"rxjs/add/observable/from":42,"rxjs/add/observable/fromEvent":43,"rxjs/add/observable/fromPromise":44,"rxjs/add/observable/merge":45,"rxjs/add/observable/of":46,"rxjs/add/observable/throw":47,"rxjs/add/observable/timer":48,"rxjs/add/observable/zip":49,"rxjs/add/operator/auditTime":50,"rxjs/add/operator/buffer":51,"rxjs/add/operator/bufferCount":52,"rxjs/add/operator/bufferWhen":53,"rxjs/add/operator/catch":54,"rxjs/add/operator/combineLatest":55,"rxjs/add/operator/concat":56,"rxjs/add/operator/count":57,"rxjs/add/operator/debounceTime":58,"rxjs/add/operator/delay":59,"rxjs/add/operator/distinct":60,"rxjs/add/operator/distinctUntilChanged":61,"rxjs/add/operator/do":62,"rxjs/add/operator/expand":63,"rxjs/add/operator/filter":64,"rxjs/add/operator/finally":65,"rxjs/add/operator/first":66,"rxjs/add/operator/last":67,"rxjs/add/operator/map":68,"rxjs/add/operator/merge":69,"rxjs/add/operator/mergeAll":70,"rxjs/add/operator/mergeMap":71,"rxjs/add/operator/pairwise":72,"rxjs/add/operator/pluck":73,"rxjs/add/operator/publish":74,"rxjs/add/operator/publishReplay":75,"rxjs/add/operator/reduce":76,"rxjs/add/operator/retry":77,"rxjs/add/operator/sample":78,"rxjs/add/operator/scan":79,"rxjs/add/operator/share":80,"rxjs/add/operator/skip":81,"rxjs/add/operator/skipUntil":82,"rxjs/add/operator/skipWhile":83,"rxjs/add/operator/startWith":84,"rxjs/add/operator/switchMap":85,"rxjs/add/operator/take":86,"rxjs/add/operator/takeUntil":87,"rxjs/add/operator/takeWhile":88,"rxjs/add/operator/timeout":89,"rxjs/add/operator/withLatestFrom":90,"rxjs/add/operator/zip":91,"when":287}]},{},[295])(295) }); //# sourceMappingURL=mapillary.js.map diff --git a/vendor/assets/iD/iD/mapillary-js/mapillary.js.map b/vendor/assets/iD/iD/mapillary-js/mapillary.js.map index 4da9b264a..1cddf3f03 100644 --- a/vendor/assets/iD/iD/mapillary-js/mapillary.js.map +++ b/vendor/assets/iD/iD/mapillary-js/mapillary.js.map @@ -58,6 +58,7 @@ "node_modules/rxjs/add/operator/catch.js", "node_modules/rxjs/add/operator/combineLatest.js", "node_modules/rxjs/add/operator/concat.js", + "node_modules/rxjs/add/operator/count.js", "node_modules/rxjs/add/operator/debounceTime.js", "node_modules/rxjs/add/operator/delay.js", "node_modules/rxjs/add/operator/distinct.js", @@ -89,7 +90,6 @@ "node_modules/rxjs/add/operator/take.js", "node_modules/rxjs/add/operator/takeUntil.js", "node_modules/rxjs/add/operator/takeWhile.js", - "node_modules/rxjs/add/operator/throttleTime.js", "node_modules/rxjs/add/operator/timeout.js", "node_modules/rxjs/add/operator/withLatestFrom.js", "node_modules/rxjs/add/operator/zip.js", @@ -124,6 +124,7 @@ "node_modules/rxjs/operator/catch.js", "node_modules/rxjs/operator/combineLatest.js", "node_modules/rxjs/operator/concat.js", + "node_modules/rxjs/operator/count.js", "node_modules/rxjs/operator/debounceTime.js", "node_modules/rxjs/operator/delay.js", "node_modules/rxjs/operator/distinct.js", @@ -155,7 +156,6 @@ "node_modules/rxjs/operator/take.js", "node_modules/rxjs/operator/takeUntil.js", "node_modules/rxjs/operator/takeWhile.js", - "node_modules/rxjs/operator/throttleTime.js", "node_modules/rxjs/operator/timeout.js", "node_modules/rxjs/operator/withLatestFrom.js", "node_modules/rxjs/operator/zip.js", @@ -168,6 +168,7 @@ "node_modules/rxjs/operators/combineLatest.js", "node_modules/rxjs/operators/concat.js", "node_modules/rxjs/operators/concatAll.js", + "node_modules/rxjs/operators/count.js", "node_modules/rxjs/operators/debounceTime.js", "node_modules/rxjs/operators/defaultIfEmpty.js", "node_modules/rxjs/operators/delay.js", @@ -204,8 +205,6 @@ "node_modules/rxjs/operators/takeUntil.js", "node_modules/rxjs/operators/takeWhile.js", "node_modules/rxjs/operators/tap.js", - "node_modules/rxjs/operators/throttle.js", - "node_modules/rxjs/operators/throttleTime.js", "node_modules/rxjs/operators/timeout.js", "node_modules/rxjs/operators/withLatestFrom.js", "node_modules/rxjs/operators/zip.js", @@ -323,12 +322,9 @@ "src/component/direction/DirectionDOMCalculator.ts", "src/component/direction/DirectionDOMRenderer.ts", "src/component/imageplane/ImagePlaneComponent.ts", - "src/component/imageplane/ImagePlaneFactory.ts", "src/component/imageplane/ImagePlaneGLRenderer.ts", - "src/component/imageplane/ImagePlaneScene.ts", - "src/component/imageplane/ImagePlaneShaders.ts", - "src/component/imageplane/SliderComponent.ts", "src/component/interfaces/ICoverConfiguration.ts", + "src/component/interfaces/ISliderConfiguration.ts", "src/component/interfaces/interfaces.ts", "src/component/keyboard/KeyPlayHandler.ts", "src/component/keyboard/KeySequenceNavigationHandler.ts", @@ -354,6 +350,10 @@ "src/component/sequence/SequenceComponent.ts", "src/component/sequence/SequenceDOMRenderer.ts", "src/component/sequence/SequenceMode.ts", + "src/component/shaders/Shaders.ts", + "src/component/slider/SliderComponent.ts", + "src/component/slider/SliderDOMRenderer.ts", + "src/component/slider/SliderGLRenderer.ts", "src/component/tag/Tag.ts", "src/component/tag/TagComponent.ts", "src/component/tag/TagCreator.ts", @@ -384,6 +384,9 @@ "src/component/tag/tag/SpotTag.ts", "src/component/tag/tag/Tag.ts", "src/component/utils/HandlerBase.ts", + "src/component/utils/MeshFactory.ts", + "src/component/utils/MeshScene.ts", + "src/component/zoom/ZoomComponent.ts", "src/error/AbortMapillaryError.ts", "src/error/ArgumentMapillaryError.ts", "src/error/GraphMapillaryError.ts", @@ -414,10 +417,13 @@ "src/render/RenderCamera.ts", "src/render/RenderMode.ts", "src/render/RenderService.ts", + "src/state/RotationDelta.ts", "src/state/State.ts", "src/state/StateContext.ts", "src/state/StateService.ts", "src/state/TransitionMode.ts", + "src/state/states/InteractiveStateBase.ts", + "src/state/states/InteractiveWaitingState.ts", "src/state/states/StateBase.ts", "src/state/states/TraversingState.ts", "src/state/states/WaitingState.ts", @@ -447,7 +453,7 @@ "src/viewer/Viewer.ts" ], "names": [], - "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9nBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7NA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1mBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChMA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9GA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACl4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5gDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC37BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACRA,qCAAkC;AAA1B,wBAAA,KAAK,CAAA;AACb,mDAAgD;AAAxC,sCAAA,YAAY,CAAA;;;;;;;;ACDpB,mDAAgD;AAAxC,gCAAA,SAAS,CAAA;AACjB,iEAA8D;AAAtD,8CAAA,gBAAgB,CAAA;AACxB,6DAA0D;AAAlD,oCAAA,WAAW,CAAA;AACnB,yEAAsE;AAA9D,sDAAA,oBAAoB,CAAA;AAC5B,uEAAoE;AAA5D,oDAAA,mBAAmB,CAAA;AAC3B,iEAA8D;AAAtD,8CAAA,gBAAgB,CAAA;AACxB,6DAA0D;AAAlD,0CAAA,cAAc,CAAA;AACtB,6DAA0D;AAAlD,0CAAA,cAAc,CAAA;AACtB,6DAA0D;AAAlD,0CAAA,cAAc,CAAA;AACtB,+EAA4E;AAApE,kDAAA,kBAAkB,CAAA;AAC1B,uFAAoF;AAA5E,0DAAA,sBAAsB,CAAA;AAC9B,mFAAgF;AAAxE,sDAAA,oBAAoB,CAAA;AAC5B,6DAA0D;AAAlD,0CAAA,cAAc,CAAA;AACtB,4EAAyE;AAAjE,gDAAA,iBAAiB,CAAA;AACzB,sEAAmE;AAA3D,0CAAA,cAAc,CAAA;AACtB,sEAAmE;AAA3D,0CAAA,cAAc,CAAA;AACtB,kGAA+F;AAAvF,sEAA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", + "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9nBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7NA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1mBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChMA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9GA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;;ACFA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACl4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5gDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC37BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACRA,qCAAkC;AAA1B,wBAAA,KAAK,CAAA;AACb,mDAAgD;AAAxC,sCAAA,YAAY,CAAA;;;;;;;;ACDpB,mDAAgD;AAAxC,gCAAA,SAAS,CAAA;AACjB,iEAA8D;AAAtD,8CAAA,gBAAgB,CAAA;AACxB,6DAA0D;AAAlD,oCAAA,WAAW,CAAA;AACn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", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ @@ -508,6 +514,7 @@ "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar catch_1 = require('../../operator/catch');\nObservable_1.Observable.prototype.catch = catch_1._catch;\nObservable_1.Observable.prototype._catch = catch_1._catch;\n//# sourceMappingURL=catch.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar combineLatest_1 = require('../../operator/combineLatest');\nObservable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;\n//# sourceMappingURL=combineLatest.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar concat_1 = require('../../operator/concat');\nObservable_1.Observable.prototype.concat = concat_1.concat;\n//# sourceMappingURL=concat.js.map", + "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar count_1 = require('../../operator/count');\nObservable_1.Observable.prototype.count = count_1.count;\n//# sourceMappingURL=count.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar debounceTime_1 = require('../../operator/debounceTime');\nObservable_1.Observable.prototype.debounceTime = debounceTime_1.debounceTime;\n//# sourceMappingURL=debounceTime.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar delay_1 = require('../../operator/delay');\nObservable_1.Observable.prototype.delay = delay_1.delay;\n//# sourceMappingURL=delay.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar distinct_1 = require('../../operator/distinct');\nObservable_1.Observable.prototype.distinct = distinct_1.distinct;\n//# sourceMappingURL=distinct.js.map", @@ -539,7 +546,6 @@ "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar take_1 = require('../../operator/take');\nObservable_1.Observable.prototype.take = take_1.take;\n//# sourceMappingURL=take.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar takeUntil_1 = require('../../operator/takeUntil');\nObservable_1.Observable.prototype.takeUntil = takeUntil_1.takeUntil;\n//# sourceMappingURL=takeUntil.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar takeWhile_1 = require('../../operator/takeWhile');\nObservable_1.Observable.prototype.takeWhile = takeWhile_1.takeWhile;\n//# sourceMappingURL=takeWhile.js.map", - "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar throttleTime_1 = require('../../operator/throttleTime');\nObservable_1.Observable.prototype.throttleTime = throttleTime_1.throttleTime;\n//# sourceMappingURL=throttleTime.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar timeout_1 = require('../../operator/timeout');\nObservable_1.Observable.prototype.timeout = timeout_1.timeout;\n//# sourceMappingURL=timeout.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar withLatestFrom_1 = require('../../operator/withLatestFrom');\nObservable_1.Observable.prototype.withLatestFrom = withLatestFrom_1.withLatestFrom;\n//# sourceMappingURL=withLatestFrom.js.map", "\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar zip_1 = require('../../operator/zip');\nObservable_1.Observable.prototype.zip = zip_1.zipProto;\n//# sourceMappingURL=zip.js.map", @@ -574,6 +580,7 @@ "\"use strict\";\nvar catchError_1 = require('../operators/catchError');\n/**\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n *\n * \n *\n * @example Continues with a different Observable when there's an error\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n == 4) {\n * \t throw 'four!';\n * }\n *\t return n;\n * })\n * .catch(err => Observable.of('I', 'II', 'III', 'IV', 'V'))\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, I, II, III, IV, V\n *\n * @example Retries the caught source Observable again in case of error, similar to retry() operator\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n === 4) {\n * \t throw 'four!';\n * }\n * \t return n;\n * })\n * .catch((err, caught) => caught)\n * .take(30)\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, 1, 2, 3, ...\n *\n * @example Throws a new error when the source Observable throws an error\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * if (n == 4) {\n * throw 'four!';\n * }\n * return n;\n * })\n * .catch(err => {\n * throw 'error in source. Details: ' + err;\n * })\n * .subscribe(\n * x => console.log(x),\n * err => console.log(err)\n * );\n * // 1, 2, 3, error in source. Details: four!\n *\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n * is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n * is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} An observable that originates from either the source or the observable returned by the\n * catch `selector` function.\n * @method catch\n * @name catch\n * @owner Observable\n */\nfunction _catch(selector) {\n return catchError_1.catchError(selector)(this);\n}\nexports._catch = _catch;\n//# sourceMappingURL=catch.js.map", "\"use strict\";\nvar combineLatest_1 = require('../operators/combineLatest');\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.\n *\n * \n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return combineLatest_1.combineLatest.apply(void 0, observables)(this);\n}\nexports.combineLatest = combineLatest;\n//# sourceMappingURL=combineLatest.js.map", "\"use strict\";\nvar concat_1 = require('../operators/concat');\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which sequentially emits all values from every\n * given input Observable after the current Observable.\n *\n * Concatenates multiple Observables together by\n * sequentially emitting their values, one Observable after the other.\n *\n * \n *\n * Joins this Observable with multiple other Observables by subscribing to them\n * one at a time, starting with the source, and merging their results into the\n * output Observable. Will wait for each Observable to complete before moving\n * on to the next.\n *\n * @example Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10\n * var timer = Rx.Observable.interval(1000).take(4);\n * var sequence = Rx.Observable.range(1, 10);\n * var result = timer.concat(sequence);\n * result.subscribe(x => console.log(x));\n *\n * // results in:\n * // 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10\n *\n * @example Concatenate 3 Observables\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var result = timer1.concat(timer2, timer3);\n * result.subscribe(x => console.log(x));\n *\n * // results in the following:\n * // (Prints to console sequentially)\n * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9\n * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5\n * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9\n *\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n *\n * @param {ObservableInput} other An input Observable to concatenate after the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Scheduler} [scheduler=null] An optional IScheduler to schedule each\n * Observable subscription on.\n * @return {Observable} All values of each passed Observable merged into a\n * single Observable, in order, in serial fashion.\n * @method concat\n * @owner Observable\n */\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return concat_1.concat.apply(void 0, observables)(this);\n}\nexports.concat = concat;\n//# sourceMappingURL=concat.js.map", + "\"use strict\";\nvar count_1 = require('../operators/count');\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * Tells how many values were emitted, when the source\n * completes.\n *\n * \n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting a value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example Counts how many seconds have passed before the first click happened\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example Counts how many odd numbers are there between 1 and 7\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 4\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nfunction count(predicate) {\n return count_1.count(predicate)(this);\n}\nexports.count = count;\n//# sourceMappingURL=count.js.map", "\"use strict\";\nvar async_1 = require('../scheduler/async');\nvar debounceTime_1 = require('../operators/debounceTime');\n/**\n * Emits a value from the source Observable only after a particular time span\n * has passed without another source emission.\n *\n * It's like {@link delay}, but passes only the most\n * recent value from each burst of emissions.\n *\n * \n *\n * `debounceTime` delays values emitted by the source Observable, but drops\n * previous pending delayed emissions if a new value arrives on the source\n * Observable. This operator keeps track of the most recent value from the\n * source Observable, and emits that only when `dueTime` enough time has passed\n * without any other value appearing on the source Observable. If a new value\n * appears before `dueTime` silence occurs, the previous value will be dropped\n * and will not be emitted on the output Observable.\n *\n * This is a rate-limiting operator, because it is impossible for more than one\n * value to be emitted in any time window of duration `dueTime`, but it is also\n * a delay-like operator since output emissions do not occur at the same time as\n * they did on the source Observable. Optionally takes a {@link IScheduler} for\n * managing timers.\n *\n * @example Emit the most recent click after a burst of clicks\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounceTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttleTime}\n *\n * @param {number} dueTime The timeout duration in milliseconds (or the time\n * unit determined internally by the optional `scheduler`) for the window of\n * time required to wait for emission silence before emitting the most recent\n * source value.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the timeout for each value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified `dueTime`, and may drop some values if they occur\n * too frequently.\n * @method debounceTime\n * @owner Observable\n */\nfunction debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return debounceTime_1.debounceTime(dueTime, scheduler)(this);\n}\nexports.debounceTime = debounceTime;\n//# sourceMappingURL=debounceTime.js.map", "\"use strict\";\nvar async_1 = require('../scheduler/async');\nvar delay_1 = require('../operators/delay');\n/**\n * Delays the emission of items from the source Observable by a given timeout or\n * until a given Date.\n *\n * Time shifts each item by some specified amount of\n * milliseconds.\n *\n * \n *\n * If the delay argument is a Number, this operator time shifts the source\n * Observable by that amount of time expressed in milliseconds. The relative\n * time intervals between the values are preserved.\n *\n * If the delay argument is a Date, this operator time shifts the start of the\n * Observable execution until the given date occurs.\n *\n * @example Delay each click by one second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @example Delay all clicks until a future date happens\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n *\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\n * a `Date` until which the emission of the source items is delayed.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for\n * managing the timers that handle the time-shift for each item.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified timeout or Date.\n * @method delay\n * @owner Observable\n */\nfunction delay(delay, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return delay_1.delay(delay, scheduler)(this);\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map", "\"use strict\";\nvar distinct_1 = require('../operators/distinct');\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.\n *\n * If a keySelector function is provided, then it will project each value from the source observable into a new value that it will\n * check for equality with previously projected values. If a keySelector function is not provided, it will use each value from the\n * source observable directly with an equality check against previous values.\n *\n * In JavaScript runtimes that support `Set`, this operator will use a `Set` to improve performance of the distinct value checking.\n *\n * In other runtimes, this operator will use a minimal implementation of `Set` that relies on an `Array` and `indexOf` under the\n * hood, so performance will degrade as more values are checked for distinction. Even in newer browsers, a long-running `distinct`\n * use might result in memory leaks. To help alleviate this in some scenarios, an optional `flushes` parameter is also provided so\n * that the internal `Set` can be \"flushed\", basically clearing it of values.\n *\n * @example A simple example with numbers\n * Observable.of(1, 1, 2, 2, 2, 1, 2, 3, 4, 3, 2, 1)\n * .distinct()\n * .subscribe(x => console.log(x)); // 1, 2, 3, 4\n *\n * @example An example using a keySelector function\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * .distinct((p: Person) => p.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n *\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [keySelector] Optional function to select which value you want to check as distinct.\n * @param {Observable} [flushes] Optional Observable for flushing the internal HashSet of the operator.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinct\n * @owner Observable\n */\nfunction distinct(keySelector, flushes) {\n return distinct_1.distinct(keySelector, flushes)(this);\n}\nexports.distinct = distinct;\n//# sourceMappingURL=distinct.js.map", @@ -605,7 +612,6 @@ "\"use strict\";\nvar take_1 = require('../operators/take');\n/**\n * Emits only the first `count` values emitted by the source Observable.\n *\n * Takes the first `count` values from the source, then\n * completes.\n *\n * \n *\n * `take` returns an Observable that emits only the first `count` values emitted\n * by the source Observable. If the source emits fewer than `count` values then\n * all of its values are emitted. After that, it completes, regardless if the\n * source completes.\n *\n * @example Take the first 5 seconds of an infinite 1-second interval Observable\n * var interval = Rx.Observable.interval(1000);\n * var five = interval.take(5);\n * five.subscribe(x => console.log(x));\n *\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of `next` values to emit.\n * @return {Observable} An Observable that emits only the first `count`\n * values emitted by the source Observable, or all of the values from the source\n * if the source emits fewer than `count` values.\n * @method take\n * @owner Observable\n */\nfunction take(count) {\n return take_1.take(count)(this);\n}\nexports.take = take;\n//# sourceMappingURL=take.js.map", "\"use strict\";\nvar takeUntil_1 = require('../operators/takeUntil');\n/**\n * Emits the values emitted by the source Observable until a `notifier`\n * Observable emits a value.\n *\n * Lets values pass until a second Observable,\n * `notifier`, emits something. Then, it completes.\n *\n * \n *\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\n * emits a value, the output Observable stops mirroring the source Observable\n * and completes.\n *\n * @example Tick every second until the first click happens\n * var interval = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = interval.takeUntil(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @param {Observable} notifier The Observable whose first emitted value will\n * cause the output Observable of `takeUntil` to stop emitting values from the\n * source Observable.\n * @return {Observable} An Observable that emits the values from the source\n * Observable until such time as `notifier` emits its first value.\n * @method takeUntil\n * @owner Observable\n */\nfunction takeUntil(notifier) {\n return takeUntil_1.takeUntil(notifier)(this);\n}\nexports.takeUntil = takeUntil;\n//# sourceMappingURL=takeUntil.js.map", "\"use strict\";\nvar takeWhile_1 = require('../operators/takeWhile');\n/**\n * Emits values emitted by the source Observable so long as each value satisfies\n * the given `predicate`, and then completes as soon as this `predicate` is not\n * satisfied.\n *\n * Takes values from the source only while they pass the\n * condition given. When the first value does not satisfy, it completes.\n *\n * \n *\n * `takeWhile` subscribes and begins mirroring the source Observable. Each value\n * emitted on the source is given to the `predicate` function which returns a\n * boolean, representing a condition to be satisfied by the source values. The\n * output Observable emits the source values until such time as the `predicate`\n * returns false, at which point `takeWhile` stops mirroring the source\n * Observable and completes the output Observable.\n *\n * @example Emit click events only while the clientX property is greater than 200\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.takeWhile(ev => ev.clientX > 200);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates a value emitted by the source Observable and returns a boolean.\n * Also takes the (zero-based) index as the second argument.\n * @return {Observable} An Observable that emits the values from the source\n * Observable so long as each value satisfies the condition defined by the\n * `predicate`, then completes.\n * @method takeWhile\n * @owner Observable\n */\nfunction takeWhile(predicate) {\n return takeWhile_1.takeWhile(predicate)(this);\n}\nexports.takeWhile = takeWhile;\n//# sourceMappingURL=takeWhile.js.map", - "\"use strict\";\nvar async_1 = require('../scheduler/async');\nvar throttle_1 = require('../operators/throttle');\nvar throttleTime_1 = require('../operators/throttleTime');\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for `duration` milliseconds, then repeats this process.\n *\n * Lets a value pass, then ignores source values for the\n * next `duration` milliseconds.\n *\n * \n *\n * `throttleTime` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled. After `duration` milliseconds (or the time unit determined\n * internally by the optional `scheduler`) has passed, the timer is disabled,\n * and this process repeats for the next source value. Optionally takes a\n * {@link IScheduler} for managing timers.\n *\n * @example Emit clicks at a rate of at most one click per second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {number} duration Time to wait before emitting another value after\n * emitting the last value, measured in milliseconds or the time unit determined\n * internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the throttling.\n * @return {Observable} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttleTime\n * @owner Observable\n */\nfunction throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n if (config === void 0) { config = throttle_1.defaultThrottleConfig; }\n return throttleTime_1.throttleTime(duration, scheduler, config)(this);\n}\nexports.throttleTime = throttleTime;\n//# sourceMappingURL=throttleTime.js.map", "\"use strict\";\nvar async_1 = require('../scheduler/async');\nvar timeout_1 = require('../operators/timeout');\n/**\n *\n * Errors if Observable does not emit a value in given time span.\n *\n * Timeouts on Observable that doesn't emit values fast enough.\n *\n * \n *\n * `timeout` operator accepts as an argument either a number or a Date.\n *\n * If number was provided, it returns an Observable that behaves like a source\n * Observable, unless there is a period of time where there is no value emitted.\n * So if you provide `100` as argument and first value comes after 50ms from\n * the moment of subscription, this value will be simply re-emitted by the resulting\n * Observable. If however after that 100ms passes without a second value being emitted,\n * stream will end with an error and source Observable will be unsubscribed.\n * These checks are performed throughout whole lifecycle of Observable - from the moment\n * it was subscribed to, until it completes or errors itself. Thus every value must be\n * emitted within specified period since previous value.\n *\n * If provided argument was Date, returned Observable behaves differently. It throws\n * if Observable did not complete before provided Date. This means that periods between\n * emission of particular values do not matter in this case. If Observable did not complete\n * before provided Date, source Observable will be unsubscribed. Other than that, resulting\n * stream behaves just as source Observable.\n *\n * `timeout` accepts also a Scheduler as a second parameter. It is used to schedule moment (or moments)\n * when returned Observable will check if source stream emitted value or completed.\n *\n * @example Check if ticks are emitted within certain timespan\n * const seconds = Rx.Observable.interval(1000);\n *\n * seconds.timeout(1100) // Let's use bigger timespan to be safe,\n * // since `interval` might fire a bit later then scheduled.\n * .subscribe(\n * value => console.log(value), // Will emit numbers just as regular `interval` would.\n * err => console.log(err) // Will never be called.\n * );\n *\n * seconds.timeout(900).subscribe(\n * value => console.log(value), // Will never be called.\n * err => console.log(err) // Will emit error before even first value is emitted,\n * // since it did not arrive within 900ms period.\n * );\n *\n * @example Use Date to check if Observable completed\n * const seconds = Rx.Observable.interval(1000);\n *\n * seconds.timeout(new Date(\"December 17, 2020 03:24:00\"))\n * .subscribe(\n * value => console.log(value), // Will emit values as regular `interval` would\n * // until December 17, 2020 at 03:24:00.\n * err => console.log(err) // On December 17, 2020 at 03:24:00 it will emit an error,\n * // since Observable did not complete by then.\n * );\n *\n * @see {@link timeoutWith}\n *\n * @param {number|Date} due Number specifying period within which Observable must emit values\n * or Date specifying before when Observable should complete\n * @param {Scheduler} [scheduler] Scheduler controlling when timeout checks occur.\n * @return {Observable} Observable that mirrors behaviour of source, unless timeout checks fail.\n * @method timeout\n * @owner Observable\n */\nfunction timeout(due, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return timeout_1.timeout(due, scheduler)(this);\n}\nexports.timeout = timeout;\n//# sourceMappingURL=timeout.js.map", "\"use strict\";\nvar withLatestFrom_1 = require('../operators/withLatestFrom');\n/* tslint:enable:max-line-length */\n/**\n * Combines the source Observable with other Observables to create an Observable\n * whose values are calculated from the latest values of each, only when the\n * source emits.\n *\n * Whenever the source Observable emits a value, it\n * computes a formula using that value plus the latest values from other input\n * Observables, then emits the output of that formula.\n *\n * \n *\n * `withLatestFrom` combines each value from the source Observable (the\n * instance) with the latest values from the other input Observables only when\n * the source emits a value, optionally using a `project` function to determine\n * the value to be emitted on the output Observable. All input Observables must\n * emit at least one value before the output Observable will emit a value.\n *\n * @example On every click event, emit an array with the latest timer event plus the click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var result = clicks.withLatestFrom(timer);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineLatest}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Function} [project] Projection function for combining values\n * together. Receives all values in order of the Observables passed, where the\n * first parameter is a value from the source Observable. (e.g.\n * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not\n * passed, arrays will be emitted on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method withLatestFrom\n * @owner Observable\n */\nfunction withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n return withLatestFrom_1.withLatestFrom.apply(void 0, args)(this);\n}\nexports.withLatestFrom = withLatestFrom;\n//# sourceMappingURL=withLatestFrom.js.map", "\"use strict\";\nvar zip_1 = require('../operators/zip');\n/* tslint:enable:max-line-length */\n/**\n * @param observables\n * @return {Observable}\n * @method zip\n * @owner Observable\n */\nfunction zipProto() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return zip_1.zip.apply(void 0, observables)(this);\n}\nexports.zipProto = zipProto;\n//# sourceMappingURL=zip.js.map", @@ -618,6 +624,7 @@ "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar isArray_1 = require('../util/isArray');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar none = {};\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.\n *\n * \n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n var project = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n // if the first and only other argument besides the resultSelector is an array\n // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n observables = observables[0].slice();\n }\n return function (source) { return source.lift.call(new ArrayObservable_1.ArrayObservable([source].concat(observables)), new CombineLatestOperator(project)); };\n}\nexports.combineLatest = combineLatest;\nvar CombineLatestOperator = (function () {\n function CombineLatestOperator(project) {\n this.project = project;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.project));\n };\n return CombineLatestOperator;\n}());\nexports.CombineLatestOperator = CombineLatestOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CombineLatestSubscriber = (function (_super) {\n __extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, project) {\n _super.call(this, destination);\n this.project = project;\n this.active = 0;\n this.values = [];\n this.observables = [];\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(none);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === none ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.project) {\n this._tryProject(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryProject = function (values) {\n var result;\n try {\n result = this.project.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.CombineLatestSubscriber = CombineLatestSubscriber;\n//# sourceMappingURL=combineLatest.js.map", "\"use strict\";\nvar concat_1 = require('../observable/concat');\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which sequentially emits all values from every\n * given input Observable after the current Observable.\n *\n * Concatenates multiple Observables together by\n * sequentially emitting their values, one Observable after the other.\n *\n * \n *\n * Joins this Observable with multiple other Observables by subscribing to them\n * one at a time, starting with the source, and merging their results into the\n * output Observable. Will wait for each Observable to complete before moving\n * on to the next.\n *\n * @example Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10\n * var timer = Rx.Observable.interval(1000).take(4);\n * var sequence = Rx.Observable.range(1, 10);\n * var result = timer.concat(sequence);\n * result.subscribe(x => console.log(x));\n *\n * // results in:\n * // 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10\n *\n * @example Concatenate 3 Observables\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var result = timer1.concat(timer2, timer3);\n * result.subscribe(x => console.log(x));\n *\n * // results in the following:\n * // (Prints to console sequentially)\n * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9\n * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5\n * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9\n *\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n *\n * @param {ObservableInput} other An input Observable to concatenate after the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Scheduler} [scheduler=null] An optional IScheduler to schedule each\n * Observable subscription on.\n * @return {Observable} All values of each passed Observable merged into a\n * single Observable, in order, in serial fashion.\n * @method concat\n * @owner Observable\n */\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return function (source) { return source.lift.call(concat_1.concat.apply(void 0, [source].concat(observables))); };\n}\nexports.concat = concat;\n//# sourceMappingURL=concat.js.map", "\"use strict\";\nvar mergeAll_1 = require('./mergeAll');\n/**\n * Converts a higher-order Observable into a first-order Observable by\n * concatenating the inner Observables in order.\n *\n * Flattens an Observable-of-Observables by putting one\n * inner Observable after the other.\n *\n * \n *\n * Joins every Observable emitted by the source (a higher-order Observable), in\n * a serial fashion. It subscribes to each inner Observable only after the\n * previous inner Observable has completed, and merges all of their values into\n * the returned observable.\n *\n * __Warning:__ If the source Observable emits Observables quickly and\n * endlessly, and the inner Observables it emits generally complete slower than\n * the source emits, you can run into memory issues as the incoming Observables\n * collect in an unbounded buffer.\n *\n * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set\n * to `1`.\n *\n * @example For each click event, tick every second from 0 to 3, with no concurrency\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4));\n * var firstOrder = higherOrder.concatAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link combineAll}\n * @see {@link concat}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n * @see {@link exhaust}\n * @see {@link mergeAll}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @return {Observable} An Observable emitting values from all the inner\n * Observables concatenated.\n * @method concatAll\n * @owner Observable\n */\nfunction concatAll() {\n return mergeAll_1.mergeAll(1);\n}\nexports.concatAll = concatAll;\n//# sourceMappingURL=concatAll.js.map", + "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * Tells how many values were emitted, when the source\n * completes.\n *\n * \n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting a value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example Counts how many seconds have passed before the first click happened\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example Counts how many odd numbers are there between 1 and 7\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 4\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nfunction count(predicate) {\n return function (source) { return source.lift(new CountOperator(predicate, source)); };\n}\nexports.count = count;\nvar CountOperator = (function () {\n function CountOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n CountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n };\n return CountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CountSubscriber = (function (_super) {\n __extends(CountSubscriber, _super);\n function CountSubscriber(destination, predicate, source) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.source = source;\n this.count = 0;\n this.index = 0;\n }\n CountSubscriber.prototype._next = function (value) {\n if (this.predicate) {\n this._tryPredicate(value);\n }\n else {\n this.count++;\n }\n };\n CountSubscriber.prototype._tryPredicate = function (value) {\n var result;\n try {\n result = this.predicate(value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.count++;\n }\n };\n CountSubscriber.prototype._complete = function () {\n this.destination.next(this.count);\n this.destination.complete();\n };\n return CountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=count.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar async_1 = require('../scheduler/async');\n/**\n * Emits a value from the source Observable only after a particular time span\n * has passed without another source emission.\n *\n * It's like {@link delay}, but passes only the most\n * recent value from each burst of emissions.\n *\n * \n *\n * `debounceTime` delays values emitted by the source Observable, but drops\n * previous pending delayed emissions if a new value arrives on the source\n * Observable. This operator keeps track of the most recent value from the\n * source Observable, and emits that only when `dueTime` enough time has passed\n * without any other value appearing on the source Observable. If a new value\n * appears before `dueTime` silence occurs, the previous value will be dropped\n * and will not be emitted on the output Observable.\n *\n * This is a rate-limiting operator, because it is impossible for more than one\n * value to be emitted in any time window of duration `dueTime`, but it is also\n * a delay-like operator since output emissions do not occur at the same time as\n * they did on the source Observable. Optionally takes a {@link IScheduler} for\n * managing timers.\n *\n * @example Emit the most recent click after a burst of clicks\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounceTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttleTime}\n *\n * @param {number} dueTime The timeout duration in milliseconds (or the time\n * unit determined internally by the optional `scheduler`) for the window of\n * time required to wait for emission silence before emitting the most recent\n * source value.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the timeout for each value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified `dueTime`, and may drop some values if they occur\n * too frequently.\n * @method debounceTime\n * @owner Observable\n */\nfunction debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return function (source) { return source.lift(new DebounceTimeOperator(dueTime, scheduler)); };\n}\nexports.debounceTime = debounceTime;\nvar DebounceTimeOperator = (function () {\n function DebounceTimeOperator(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n DebounceTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n };\n return DebounceTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DebounceTimeSubscriber = (function (_super) {\n __extends(DebounceTimeSubscriber, _super);\n function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n _super.call(this, destination);\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n this.debouncedSubscription = null;\n this.lastValue = null;\n this.hasValue = false;\n }\n DebounceTimeSubscriber.prototype._next = function (value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n };\n DebounceTimeSubscriber.prototype._complete = function () {\n this.debouncedNext();\n this.destination.complete();\n };\n DebounceTimeSubscriber.prototype.debouncedNext = function () {\n this.clearDebounce();\n if (this.hasValue) {\n this.destination.next(this.lastValue);\n this.lastValue = null;\n this.hasValue = false;\n }\n };\n DebounceTimeSubscriber.prototype.clearDebounce = function () {\n var debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n };\n return DebounceTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/* tslint:enable:max-line-length */\n/**\n * Emits a given value if the source Observable completes without emitting any\n * `next` value, otherwise mirrors the source Observable.\n *\n * If the source Observable turns out to be empty, then\n * this operator will emit a default value.\n *\n * \n *\n * `defaultIfEmpty` emits the values emitted by the source Observable or a\n * specified default value if the source Observable is empty (completes without\n * having emitted any `next` value).\n *\n * @example If no clicks happen in 5 seconds, then emit \"no clicks\"\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksBeforeFive = clicks.takeUntil(Rx.Observable.interval(5000));\n * var result = clicksBeforeFive.defaultIfEmpty('no clicks');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link empty}\n * @see {@link last}\n *\n * @param {any} [defaultValue=null] The default value used if the source\n * Observable is empty.\n * @return {Observable} An Observable that emits either the specified\n * `defaultValue` if the source Observable emits no items, or the values emitted\n * by the source Observable.\n * @method defaultIfEmpty\n * @owner Observable\n */\nfunction defaultIfEmpty(defaultValue) {\n if (defaultValue === void 0) { defaultValue = null; }\n return function (source) { return source.lift(new DefaultIfEmptyOperator(defaultValue)); };\n}\nexports.defaultIfEmpty = defaultIfEmpty;\nvar DefaultIfEmptyOperator = (function () {\n function DefaultIfEmptyOperator(defaultValue) {\n this.defaultValue = defaultValue;\n }\n DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n };\n return DefaultIfEmptyOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DefaultIfEmptySubscriber = (function (_super) {\n __extends(DefaultIfEmptySubscriber, _super);\n function DefaultIfEmptySubscriber(destination, defaultValue) {\n _super.call(this, destination);\n this.defaultValue = defaultValue;\n this.isEmpty = true;\n }\n DefaultIfEmptySubscriber.prototype._next = function (value) {\n this.isEmpty = false;\n this.destination.next(value);\n };\n DefaultIfEmptySubscriber.prototype._complete = function () {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n };\n return DefaultIfEmptySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=defaultIfEmpty.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = require('../scheduler/async');\nvar isDate_1 = require('../util/isDate');\nvar Subscriber_1 = require('../Subscriber');\nvar Notification_1 = require('../Notification');\n/**\n * Delays the emission of items from the source Observable by a given timeout or\n * until a given Date.\n *\n * Time shifts each item by some specified amount of\n * milliseconds.\n *\n * \n *\n * If the delay argument is a Number, this operator time shifts the source\n * Observable by that amount of time expressed in milliseconds. The relative\n * time intervals between the values are preserved.\n *\n * If the delay argument is a Date, this operator time shifts the start of the\n * Observable execution until the given date occurs.\n *\n * @example Delay each click by one second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @example Delay all clicks until a future date happens\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n *\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\n * a `Date` until which the emission of the source items is delayed.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for\n * managing the timers that handle the time-shift for each item.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified timeout or Date.\n * @method delay\n * @owner Observable\n */\nfunction delay(delay, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n var absoluteDelay = isDate_1.isDate(delay);\n var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return function (source) { return source.lift(new DelayOperator(delayFor, scheduler)); };\n}\nexports.delay = delay;\nvar DelayOperator = (function () {\n function DelayOperator(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n DelayOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n };\n return DelayOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DelaySubscriber = (function (_super) {\n __extends(DelaySubscriber, _super);\n function DelaySubscriber(destination, delay, scheduler) {\n _super.call(this, destination);\n this.delay = delay;\n this.scheduler = scheduler;\n this.queue = [];\n this.active = false;\n this.errored = false;\n }\n DelaySubscriber.dispatch = function (state) {\n var source = state.source;\n var queue = source.queue;\n var scheduler = state.scheduler;\n var destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay_1);\n }\n else {\n source.active = false;\n }\n };\n DelaySubscriber.prototype._schedule = function (scheduler) {\n this.active = true;\n this.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n };\n DelaySubscriber.prototype.scheduleNotification = function (notification) {\n if (this.errored === true) {\n return;\n }\n var scheduler = this.scheduler;\n var message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n };\n DelaySubscriber.prototype._next = function (value) {\n this.scheduleNotification(Notification_1.Notification.createNext(value));\n };\n DelaySubscriber.prototype._error = function (err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n };\n DelaySubscriber.prototype._complete = function () {\n this.scheduleNotification(Notification_1.Notification.createComplete());\n };\n return DelaySubscriber;\n}(Subscriber_1.Subscriber));\nvar DelayMessage = (function () {\n function DelayMessage(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map", @@ -654,8 +661,6 @@ "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Emits the values emitted by the source Observable until a `notifier`\n * Observable emits a value.\n *\n * Lets values pass until a second Observable,\n * `notifier`, emits something. Then, it completes.\n *\n * \n *\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\n * emits a value or a complete notification, the output Observable stops\n * mirroring the source Observable and completes.\n *\n * @example Tick every second until the first click happens\n * var interval = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = interval.takeUntil(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @param {Observable} notifier The Observable whose first emitted value will\n * cause the output Observable of `takeUntil` to stop emitting values from the\n * source Observable.\n * @return {Observable} An Observable that emits the values from the source\n * Observable until such time as `notifier` emits its first value.\n * @method takeUntil\n * @owner Observable\n */\nfunction takeUntil(notifier) {\n return function (source) { return source.lift(new TakeUntilOperator(notifier)); };\n}\nexports.takeUntil = takeUntil;\nvar TakeUntilOperator = (function () {\n function TakeUntilOperator(notifier) {\n this.notifier = notifier;\n }\n TakeUntilOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeUntilSubscriber(subscriber, this.notifier));\n };\n return TakeUntilOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeUntilSubscriber = (function (_super) {\n __extends(TakeUntilSubscriber, _super);\n function TakeUntilSubscriber(destination, notifier) {\n _super.call(this, destination);\n this.notifier = notifier;\n this.add(subscribeToResult_1.subscribeToResult(this, notifier));\n }\n TakeUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.complete();\n };\n TakeUntilSubscriber.prototype.notifyComplete = function () {\n // noop\n };\n return TakeUntilSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Emits values emitted by the source Observable so long as each value satisfies\n * the given `predicate`, and then completes as soon as this `predicate` is not\n * satisfied.\n *\n * Takes values from the source only while they pass the\n * condition given. When the first value does not satisfy, it completes.\n *\n * \n *\n * `takeWhile` subscribes and begins mirroring the source Observable. Each value\n * emitted on the source is given to the `predicate` function which returns a\n * boolean, representing a condition to be satisfied by the source values. The\n * output Observable emits the source values until such time as the `predicate`\n * returns false, at which point `takeWhile` stops mirroring the source\n * Observable and completes the output Observable.\n *\n * @example Emit click events only while the clientX property is greater than 200\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.takeWhile(ev => ev.clientX > 200);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates a value emitted by the source Observable and returns a boolean.\n * Also takes the (zero-based) index as the second argument.\n * @return {Observable} An Observable that emits the values from the source\n * Observable so long as each value satisfies the condition defined by the\n * `predicate`, then completes.\n * @method takeWhile\n * @owner Observable\n */\nfunction takeWhile(predicate) {\n return function (source) { return source.lift(new TakeWhileOperator(predicate)); };\n}\nexports.takeWhile = takeWhile;\nvar TakeWhileOperator = (function () {\n function TakeWhileOperator(predicate) {\n this.predicate = predicate;\n }\n TakeWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate));\n };\n return TakeWhileOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeWhileSubscriber = (function (_super) {\n __extends(TakeWhileSubscriber, _super);\n function TakeWhileSubscriber(destination, predicate) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.index = 0;\n }\n TakeWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n var result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n };\n TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n var destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n destination.complete();\n }\n };\n return TakeWhileSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=takeWhile.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/* tslint:enable:max-line-length */\n/**\n * Perform a side effect for every emission on the source Observable, but return\n * an Observable that is identical to the source.\n *\n * Intercepts each emission on the source and runs a\n * function, but returns an output which is identical to the source as long as errors don't occur.\n *\n * \n *\n * Returns a mirrored Observable of the source Observable, but modified so that\n * the provided Observer is called to perform a side effect for every value,\n * error, and completion emitted by the source. Any errors that are thrown in\n * the aforementioned Observer or handlers are safely sent down the error path\n * of the output Observable.\n *\n * This operator is useful for debugging your Observables for the correct values\n * or performing other side effects.\n *\n * Note: this is different to a `subscribe` on the Observable. If the Observable\n * returned by `do` is not subscribed, the side effects specified by the\n * Observer will never happen. `do` therefore simply spies on existing\n * execution, it does not trigger an execution to happen like `subscribe` does.\n *\n * @example Map every click to the clientX position of that click, while also logging the click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks\n * .do(ev => console.log(ev))\n * .map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link map}\n * @see {@link subscribe}\n *\n * @param {Observer|function} [nextOrObserver] A normal Observer object or a\n * callback for `next`.\n * @param {function} [error] Callback for errors in the source.\n * @param {function} [complete] Callback for the completion of the source.\n * @return {Observable} An Observable identical to the source, but runs the\n * specified Observer or callback(s) for each item.\n * @name tap\n */\nfunction tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nexports.tap = tap;\nvar DoOperator = (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DoSubscriber = (function (_super) {\n __extends(DoSubscriber, _super);\n function DoSubscriber(destination, nextOrObserver, error, complete) {\n _super.call(this, destination);\n var safeSubscriber = new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n safeSubscriber.syncErrorThrowable = true;\n this.add(safeSubscriber);\n this.safeSubscriber = safeSubscriber;\n }\n DoSubscriber.prototype._next = function (value) {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.next(value);\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.next(value);\n }\n };\n DoSubscriber.prototype._error = function (err) {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.error(err);\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.error(err);\n }\n };\n DoSubscriber.prototype._complete = function () {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.complete();\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.complete();\n }\n };\n return DoSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=tap.js.map", - "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nexports.defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.\n *\n * \n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example Emit clicks at a rate of at most one click per second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): SubscribableOrPromise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @param {Object} config a configuration object to define `leading` and `trailing` behavior. Defaults\n * to `{ leading: true, trailing: false }`.\n * @return {Observable} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n */\nfunction throttle(durationSelector, config) {\n if (config === void 0) { config = exports.defaultThrottleConfig; }\n return function (source) { return source.lift(new ThrottleOperator(durationSelector, config.leading, config.trailing)); };\n}\nexports.throttle = throttle;\nvar ThrottleOperator = (function () {\n function ThrottleOperator(durationSelector, leading, trailing) {\n this.durationSelector = durationSelector;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing));\n };\n return ThrottleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc\n * @ignore\n * @extends {Ignored}\n */\nvar ThrottleSubscriber = (function (_super) {\n __extends(ThrottleSubscriber, _super);\n function ThrottleSubscriber(destination, durationSelector, _leading, _trailing) {\n _super.call(this, destination);\n this.destination = destination;\n this.durationSelector = durationSelector;\n this._leading = _leading;\n this._trailing = _trailing;\n this._hasTrailingValue = false;\n }\n ThrottleSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this._trailing) {\n this._hasTrailingValue = true;\n this._trailingValue = value;\n }\n }\n else {\n var duration = this.tryDurationSelector(value);\n if (duration) {\n this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration));\n }\n if (this._leading) {\n this.destination.next(value);\n if (this._trailing) {\n this._hasTrailingValue = true;\n this._trailingValue = value;\n }\n }\n }\n };\n ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n try {\n return this.durationSelector(value);\n }\n catch (err) {\n this.destination.error(err);\n return null;\n }\n };\n ThrottleSubscriber.prototype._unsubscribe = function () {\n var _a = this, throttled = _a.throttled, _trailingValue = _a._trailingValue, _hasTrailingValue = _a._hasTrailingValue, _trailing = _a._trailing;\n this._trailingValue = null;\n this._hasTrailingValue = false;\n if (throttled) {\n this.remove(throttled);\n this.throttled = null;\n throttled.unsubscribe();\n }\n };\n ThrottleSubscriber.prototype._sendTrailing = function () {\n var _a = this, destination = _a.destination, throttled = _a.throttled, _trailing = _a._trailing, _trailingValue = _a._trailingValue, _hasTrailingValue = _a._hasTrailingValue;\n if (throttled && _trailing && _hasTrailingValue) {\n destination.next(_trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n };\n ThrottleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this._sendTrailing();\n this._unsubscribe();\n };\n ThrottleSubscriber.prototype.notifyComplete = function () {\n this._sendTrailing();\n this._unsubscribe();\n };\n return ThrottleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=throttle.js.map", - "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar async_1 = require('../scheduler/async');\nvar throttle_1 = require('./throttle');\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for `duration` milliseconds, then repeats this process.\n *\n * Lets a value pass, then ignores source values for the\n * next `duration` milliseconds.\n *\n * \n *\n * `throttleTime` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled. After `duration` milliseconds (or the time unit determined\n * internally by the optional `scheduler`) has passed, the timer is disabled,\n * and this process repeats for the next source value. Optionally takes a\n * {@link IScheduler} for managing timers.\n *\n * @example Emit clicks at a rate of at most one click per second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {number} duration Time to wait before emitting another value after\n * emitting the last value, measured in milliseconds or the time unit determined\n * internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the throttling.\n * @return {Observable} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttleTime\n * @owner Observable\n */\nfunction throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n if (config === void 0) { config = throttle_1.defaultThrottleConfig; }\n return function (source) { return source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); };\n}\nexports.throttleTime = throttleTime;\nvar ThrottleTimeOperator = (function () {\n function ThrottleTimeOperator(duration, scheduler, leading, trailing) {\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing));\n };\n return ThrottleTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ThrottleTimeSubscriber = (function (_super) {\n __extends(ThrottleTimeSubscriber, _super);\n function ThrottleTimeSubscriber(destination, duration, scheduler, leading, trailing) {\n _super.call(this, destination);\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n this._hasTrailingValue = false;\n this._trailingValue = null;\n }\n ThrottleTimeSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n }\n };\n ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n var throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n };\n return ThrottleTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNext(arg) {\n var subscriber = arg.subscriber;\n subscriber.clearThrottle();\n}\n//# sourceMappingURL=throttleTime.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = require('../scheduler/async');\nvar isDate_1 = require('../util/isDate');\nvar Subscriber_1 = require('../Subscriber');\nvar TimeoutError_1 = require('../util/TimeoutError');\n/**\n *\n * Errors if Observable does not emit a value in given time span.\n *\n * Timeouts on Observable that doesn't emit values fast enough.\n *\n * \n *\n * `timeout` operator accepts as an argument either a number or a Date.\n *\n * If number was provided, it returns an Observable that behaves like a source\n * Observable, unless there is a period of time where there is no value emitted.\n * So if you provide `100` as argument and first value comes after 50ms from\n * the moment of subscription, this value will be simply re-emitted by the resulting\n * Observable. If however after that 100ms passes without a second value being emitted,\n * stream will end with an error and source Observable will be unsubscribed.\n * These checks are performed throughout whole lifecycle of Observable - from the moment\n * it was subscribed to, until it completes or errors itself. Thus every value must be\n * emitted within specified period since previous value.\n *\n * If provided argument was Date, returned Observable behaves differently. It throws\n * if Observable did not complete before provided Date. This means that periods between\n * emission of particular values do not matter in this case. If Observable did not complete\n * before provided Date, source Observable will be unsubscribed. Other than that, resulting\n * stream behaves just as source Observable.\n *\n * `timeout` accepts also a Scheduler as a second parameter. It is used to schedule moment (or moments)\n * when returned Observable will check if source stream emitted value or completed.\n *\n * @example Check if ticks are emitted within certain timespan\n * const seconds = Rx.Observable.interval(1000);\n *\n * seconds.timeout(1100) // Let's use bigger timespan to be safe,\n * // since `interval` might fire a bit later then scheduled.\n * .subscribe(\n * value => console.log(value), // Will emit numbers just as regular `interval` would.\n * err => console.log(err) // Will never be called.\n * );\n *\n * seconds.timeout(900).subscribe(\n * value => console.log(value), // Will never be called.\n * err => console.log(err) // Will emit error before even first value is emitted,\n * // since it did not arrive within 900ms period.\n * );\n *\n * @example Use Date to check if Observable completed\n * const seconds = Rx.Observable.interval(1000);\n *\n * seconds.timeout(new Date(\"December 17, 2020 03:24:00\"))\n * .subscribe(\n * value => console.log(value), // Will emit values as regular `interval` would\n * // until December 17, 2020 at 03:24:00.\n * err => console.log(err) // On December 17, 2020 at 03:24:00 it will emit an error,\n * // since Observable did not complete by then.\n * );\n *\n * @see {@link timeoutWith}\n *\n * @param {number|Date} due Number specifying period within which Observable must emit values\n * or Date specifying before when Observable should complete\n * @param {Scheduler} [scheduler] Scheduler controlling when timeout checks occur.\n * @return {Observable} Observable that mirrors behaviour of source, unless timeout checks fail.\n * @method timeout\n * @owner Observable\n */\nfunction timeout(due, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n var absoluteTimeout = isDate_1.isDate(due);\n var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n return function (source) { return source.lift(new TimeoutOperator(waitFor, absoluteTimeout, scheduler, new TimeoutError_1.TimeoutError())); };\n}\nexports.timeout = timeout;\nvar TimeoutOperator = (function () {\n function TimeoutOperator(waitFor, absoluteTimeout, scheduler, errorInstance) {\n this.waitFor = waitFor;\n this.absoluteTimeout = absoluteTimeout;\n this.scheduler = scheduler;\n this.errorInstance = errorInstance;\n }\n TimeoutOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TimeoutSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.scheduler, this.errorInstance));\n };\n return TimeoutOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeoutSubscriber = (function (_super) {\n __extends(TimeoutSubscriber, _super);\n function TimeoutSubscriber(destination, absoluteTimeout, waitFor, scheduler, errorInstance) {\n _super.call(this, destination);\n this.absoluteTimeout = absoluteTimeout;\n this.waitFor = waitFor;\n this.scheduler = scheduler;\n this.errorInstance = errorInstance;\n this.action = null;\n this.scheduleTimeout();\n }\n TimeoutSubscriber.dispatchTimeout = function (subscriber) {\n subscriber.error(subscriber.errorInstance);\n };\n TimeoutSubscriber.prototype.scheduleTimeout = function () {\n var action = this.action;\n if (action) {\n // Recycle the action if we've already scheduled one. All the production\n // Scheduler Actions mutate their state/delay time and return themeselves.\n // VirtualActions are immutable, so they create and return a clone. In this\n // case, we need to set the action reference to the most recent VirtualAction,\n // to ensure that's the one we clone from next time.\n this.action = action.schedule(this, this.waitFor);\n }\n else {\n this.add(this.action = this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout, this.waitFor, this));\n }\n };\n TimeoutSubscriber.prototype._next = function (value) {\n if (!this.absoluteTimeout) {\n this.scheduleTimeout();\n }\n _super.prototype._next.call(this, value);\n };\n TimeoutSubscriber.prototype._unsubscribe = function () {\n this.action = null;\n this.scheduler = null;\n this.errorInstance = null;\n };\n return TimeoutSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=timeout.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/* tslint:enable:max-line-length */\n/**\n * Combines the source Observable with other Observables to create an Observable\n * whose values are calculated from the latest values of each, only when the\n * source emits.\n *\n * Whenever the source Observable emits a value, it\n * computes a formula using that value plus the latest values from other input\n * Observables, then emits the output of that formula.\n *\n * \n *\n * `withLatestFrom` combines each value from the source Observable (the\n * instance) with the latest values from the other input Observables only when\n * the source emits a value, optionally using a `project` function to determine\n * the value to be emitted on the output Observable. All input Observables must\n * emit at least one value before the output Observable will emit a value.\n *\n * @example On every click event, emit an array with the latest timer event plus the click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var result = clicks.withLatestFrom(timer);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineLatest}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Function} [project] Projection function for combining values\n * together. Receives all values in order of the Observables passed, where the\n * first parameter is a value from the source Observable. (e.g.\n * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not\n * passed, arrays will be emitted on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method withLatestFrom\n * @owner Observable\n */\nfunction withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nexports.withLatestFrom = withLatestFrom;\nvar WithLatestFromOperator = (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WithLatestFromSubscriber = (function (_super) {\n __extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n _super.call(this, destination);\n this.observables = observables;\n this.project = project;\n this.toRespond = [];\n var len = observables.length;\n this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n }\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n // noop\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar isArray_1 = require('../util/isArray');\nvar Subscriber_1 = require('../Subscriber');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar iterator_1 = require('../symbol/iterator');\n/* tslint:enable:max-line-length */\n/**\n * @param observables\n * @return {Observable}\n * @method zip\n * @owner Observable\n */\nfunction zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return function zipOperatorFunction(source) {\n return source.lift.call(zipStatic.apply(void 0, [source].concat(observables)));\n };\n}\nexports.zip = zip;\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are calculated from the values, in order, of each\n * of its input Observables.\n *\n * If the latest parameter is a function, this function is used to compute the created value from the input values.\n * Otherwise, an array of the input values is returned.\n *\n * @example Combine age and name from different sources\n *\n * let age$ = Observable.of(27, 25, 29);\n * let name$ = Observable.of('Foo', 'Bar', 'Beer');\n * let isDev$ = Observable.of(true, true, false);\n *\n * Observable\n * .zip(age$,\n * name$,\n * isDev$,\n * (age: number, name: string, isDev: boolean) => ({ age, name, isDev }))\n * .subscribe(x => console.log(x));\n *\n * // outputs\n * // { age: 27, name: 'Foo', isDev: true }\n * // { age: 25, name: 'Bar', isDev: true }\n * // { age: 29, name: 'Beer', isDev: false }\n *\n * @param observables\n * @return {Observable}\n * @static true\n * @name zip\n * @owner Observable\n */\nfunction zipStatic() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n var project = observables[observables.length - 1];\n if (typeof project === 'function') {\n observables.pop();\n }\n return new ArrayObservable_1.ArrayObservable(observables).lift(new ZipOperator(project));\n}\nexports.zipStatic = zipStatic;\nvar ZipOperator = (function () {\n function ZipOperator(project) {\n this.project = project;\n }\n ZipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.project));\n };\n return ZipOperator;\n}());\nexports.ZipOperator = ZipOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipSubscriber = (function (_super) {\n __extends(ZipSubscriber, _super);\n function ZipSubscriber(destination, project, values) {\n if (values === void 0) { values = Object.create(null); }\n _super.call(this, destination);\n this.iterators = [];\n this.active = 0;\n this.project = (typeof project === 'function') ? project : null;\n this.values = values;\n }\n ZipSubscriber.prototype._next = function (value) {\n var iterators = this.iterators;\n if (isArray_1.isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[iterator_1.iterator] === 'function') {\n iterators.push(new StaticIterator(value[iterator_1.iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n };\n ZipSubscriber.prototype._complete = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n this.add(iterator.subscribe(iterator, i));\n }\n else {\n this.active--; // not an observable\n }\n }\n };\n ZipSubscriber.prototype.notifyInactive = function () {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n };\n ZipSubscriber.prototype.checkIterators = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n var destination = this.destination;\n // abort if not all of them have values\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n var shouldComplete = false;\n var args = [];\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n var result = iterator.next();\n // check to see if it's completed now that you've gotten\n // the next value.\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.project) {\n this._tryProject(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n };\n ZipSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return ZipSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ZipSubscriber = ZipSubscriber;\nvar StaticIterator = (function () {\n function StaticIterator(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n StaticIterator.prototype.hasValue = function () {\n return true;\n };\n StaticIterator.prototype.next = function () {\n var result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n };\n StaticIterator.prototype.hasCompleted = function () {\n var nextResult = this.nextResult;\n return nextResult && nextResult.done;\n };\n return StaticIterator;\n}());\nvar StaticArrayIterator = (function () {\n function StaticArrayIterator(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n StaticArrayIterator.prototype[iterator_1.iterator] = function () {\n return this;\n };\n StaticArrayIterator.prototype.next = function (value) {\n var i = this.index++;\n var array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n };\n StaticArrayIterator.prototype.hasValue = function () {\n return this.array.length > this.index;\n };\n StaticArrayIterator.prototype.hasCompleted = function () {\n return this.array.length === this.index;\n };\n return StaticArrayIterator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipBufferIterator = (function (_super) {\n __extends(ZipBufferIterator, _super);\n function ZipBufferIterator(destination, parent, observable) {\n _super.call(this, destination);\n this.parent = parent;\n this.observable = observable;\n this.stillUnsubscribed = true;\n this.buffer = [];\n this.isComplete = false;\n }\n ZipBufferIterator.prototype[iterator_1.iterator] = function () {\n return this;\n };\n // NOTE: there is actually a name collision here with Subscriber.next and Iterator.next\n // this is legit because `next()` will never be called by a subscription in this case.\n ZipBufferIterator.prototype.next = function () {\n var buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n };\n ZipBufferIterator.prototype.hasValue = function () {\n return this.buffer.length > 0;\n };\n ZipBufferIterator.prototype.hasCompleted = function () {\n return this.buffer.length === 0 && this.isComplete;\n };\n ZipBufferIterator.prototype.notifyComplete = function () {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n };\n ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n };\n ZipBufferIterator.prototype.subscribe = function (value, index) {\n return subscribeToResult_1.subscribeToResult(this, this.observable, this, index);\n };\n return ZipBufferIterator;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=zip.js.map", @@ -742,81 +747,82 @@ "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n\n/**\n * Promises/A+ and when() implementation\n * when is part of the cujoJS family of libraries (http://cujojs.com/)\n * @author Brian Cavalier\n * @author John Hann\n */\n(function(define) { 'use strict';\ndefine(function (require) {\n\n\tvar timed = require('./lib/decorators/timed');\n\tvar array = require('./lib/decorators/array');\n\tvar flow = require('./lib/decorators/flow');\n\tvar fold = require('./lib/decorators/fold');\n\tvar inspect = require('./lib/decorators/inspect');\n\tvar generate = require('./lib/decorators/iterate');\n\tvar progress = require('./lib/decorators/progress');\n\tvar withThis = require('./lib/decorators/with');\n\tvar unhandledRejection = require('./lib/decorators/unhandledRejection');\n\tvar TimeoutError = require('./lib/TimeoutError');\n\n\tvar Promise = [array, flow, fold, generate, progress,\n\t\tinspect, withThis, timed, unhandledRejection]\n\t\t.reduce(function(Promise, feature) {\n\t\t\treturn feature(Promise);\n\t\t}, require('./lib/Promise'));\n\n\tvar apply = require('./lib/apply')(Promise);\n\n\t// Public API\n\n\twhen.promise = promise; // Create a pending promise\n\twhen.resolve = Promise.resolve; // Create a resolved promise\n\twhen.reject = Promise.reject; // Create a rejected promise\n\n\twhen.lift = lift; // lift a function to return promises\n\twhen['try'] = attempt; // call a function and return a promise\n\twhen.attempt = attempt; // alias for when.try\n\n\twhen.iterate = Promise.iterate; // DEPRECATED (use cujojs/most streams) Generate a stream of promises\n\twhen.unfold = Promise.unfold; // DEPRECATED (use cujojs/most streams) Generate a stream of promises\n\n\twhen.join = join; // Join 2 or more promises\n\n\twhen.all = all; // Resolve a list of promises\n\twhen.settle = settle; // Settle a list of promises\n\n\twhen.any = lift(Promise.any); // One-winner race\n\twhen.some = lift(Promise.some); // Multi-winner race\n\twhen.race = lift(Promise.race); // First-to-settle race\n\n\twhen.map = map; // Array.map() for promises\n\twhen.filter = filter; // Array.filter() for promises\n\twhen.reduce = lift(Promise.reduce); // Array.reduce() for promises\n\twhen.reduceRight = lift(Promise.reduceRight); // Array.reduceRight() for promises\n\n\twhen.isPromiseLike = isPromiseLike; // Is something promise-like, aka thenable\n\n\twhen.Promise = Promise; // Promise constructor\n\twhen.defer = defer; // Create a {promise, resolve, reject} tuple\n\n\t// Error types\n\n\twhen.TimeoutError = TimeoutError;\n\n\t/**\n\t * Get a trusted promise for x, or by transforming x with onFulfilled\n\t *\n\t * @param {*} x\n\t * @param {function?} onFulfilled callback to be called when x is\n\t * successfully fulfilled. If promiseOrValue is an immediate value, callback\n\t * will be invoked immediately.\n\t * @param {function?} onRejected callback to be called when x is\n\t * rejected.\n\t * @param {function?} onProgress callback to be called when progress updates\n\t * are issued for x. @deprecated\n\t * @returns {Promise} a new promise that will fulfill with the return\n\t * value of callback or errback or the completion value of promiseOrValue if\n\t * callback and/or errback is not supplied.\n\t */\n\tfunction when(x, onFulfilled, onRejected, onProgress) {\n\t\tvar p = Promise.resolve(x);\n\t\tif (arguments.length < 2) {\n\t\t\treturn p;\n\t\t}\n\n\t\treturn p.then(onFulfilled, onRejected, onProgress);\n\t}\n\n\t/**\n\t * Creates a new promise whose fate is determined by resolver.\n\t * @param {function} resolver function(resolve, reject, notify)\n\t * @returns {Promise} promise whose fate is determine by resolver\n\t */\n\tfunction promise(resolver) {\n\t\treturn new Promise(resolver);\n\t}\n\n\t/**\n\t * Lift the supplied function, creating a version of f that returns\n\t * promises, and accepts promises as arguments.\n\t * @param {function} f\n\t * @returns {Function} version of f that returns promises\n\t */\n\tfunction lift(f) {\n\t\treturn function() {\n\t\t\tfor(var i=0, l=arguments.length, a=new Array(l); i\n\nimport * as falcor from \"falcor\";\n\nimport {Observable} from \"rxjs/Observable\";\n\nimport \"rxjs/add/observable/defer\";\nimport \"rxjs/add/observable/fromPromise\";\n\nimport \"rxjs/add/operator/catch\";\nimport \"rxjs/add/operator/map\";\n\nimport {\n ICoreNode,\n IFillNode,\n IFullNode,\n ISequence,\n ModelCreator,\n} from \"../API\";\n\ninterface IFalcorResult {\n json: T;\n}\n\ninterface IImageByKey {\n imageByKey: { [key: string]: T };\n}\n\ninterface IImageCloseTo {\n imageCloseTo: { [key: string]: T };\n}\n\ninterface IImagesByH {\n imagesByH: { [key: string]: { [index: string]: T } };\n}\n\ninterface ISequenceByKey {\n sequenceByKey: { [sequenceKey: string]: T };\n}\n\ntype APIPath =\n \"imageByKey\" |\n \"imageCloseTo\" |\n \"imagesByH\" |\n \"imageViewAdd\" |\n \"sequenceByKey\" |\n \"sequenceViewAdd\";\n\n/**\n * @class APIv3\n *\n * @classdesc Provides methods for access of API v3.\n */\nexport class APIv3 {\n private _clientId: string;\n\n private _model: falcor.Model;\n private _modelCreator: ModelCreator;\n\n private _pageCount: number;\n\n private _pathImageByKey: APIPath;\n private _pathImageCloseTo: APIPath;\n private _pathImagesByH: APIPath;\n private _pathImageViewAdd: APIPath;\n private _pathSequenceByKey: APIPath;\n private _pathSequenceViewAdd: APIPath;\n\n private _propertiesCore: string[];\n private _propertiesFill: string[];\n private _propertiesKey: string[];\n private _propertiesSequence: string[];\n private _propertiesSpatial: string[];\n private _propertiesUser: string[];\n\n /**\n * Create a new api v3 instance.\n *\n * @param {number} clientId - Client id for API requests.\n * @param {number} [token] - Optional bearer token for API requests of\n * protected resources.\n * @param {ModelCreator} [creator] - Optional model creator instance.\n */\n constructor(clientId: string, token?: string, creator?: ModelCreator) {\n this._clientId = clientId;\n\n this._modelCreator = creator != null ? creator : new ModelCreator();\n this._model = this._modelCreator.createModel(clientId, token);\n\n this._pageCount = 999;\n\n this._pathImageByKey = \"imageByKey\";\n this._pathImageCloseTo = \"imageCloseTo\";\n this._pathImagesByH = \"imagesByH\";\n this._pathImageViewAdd = \"imageViewAdd\";\n this._pathSequenceByKey = \"sequenceByKey\";\n this._pathSequenceViewAdd = \"sequenceViewAdd\";\n\n this._propertiesCore = [\n \"cl\",\n \"l\",\n \"sequence_key\",\n ];\n\n this._propertiesFill = [\n \"captured_at\",\n \"captured_with_camera_uuid\",\n \"user\",\n \"organization_key\",\n \"private\",\n \"project\",\n ];\n\n this._propertiesKey = [\n \"key\",\n ];\n\n this._propertiesSequence = [\n \"keys\",\n ];\n\n this._propertiesSpatial = [\n \"atomic_scale\",\n \"ca\",\n \"calt\",\n \"cca\",\n \"cfocal\",\n \"gpano\",\n \"height\",\n \"merge_cc\",\n \"merge_version\",\n \"c_rotation\",\n \"orientation\",\n \"width\",\n ];\n\n this._propertiesUser = [\n \"username\",\n ];\n }\n\n public imageByKeyFill$(keys: string[]): Observable<{ [key: string]: IFillNode }> {\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathImageByKey,\n keys,\n this._propertiesKey\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)]))\n .map(\n (value: IFalcorResult>): { [key: string]: IFillNode } => {\n if (!value) {\n throw new Error(`Images (${keys.join(\", \")}) could not be found.`);\n }\n\n return value.json.imageByKey;\n }),\n this._pathImageByKey,\n keys);\n }\n\n public imageByKeyFull$(keys: string[]): Observable<{ [key: string]: IFullNode }> {\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathImageByKey,\n keys,\n this._propertiesKey\n .concat(this._propertiesCore)\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)]))\n .map(\n (value: IFalcorResult>): { [key: string]: IFullNode } => {\n if (!value) {\n throw new Error(`Images (${keys.join(\", \")}) could not be found.`);\n }\n\n return value.json.imageByKey;\n }),\n this._pathImageByKey,\n keys);\n }\n\n public imageCloseTo$(lat: number, lon: number): Observable {\n let lonLat: string = `${lon}:${lat}`;\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathImageCloseTo,\n [lonLat],\n this._propertiesKey\n .concat(this._propertiesCore)\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)]))\n .map(\n (value: IFalcorResult>): IFullNode => {\n return value != null ? value.json.imageCloseTo[lonLat] : null;\n }),\n this._pathImageCloseTo,\n [lonLat]);\n }\n\n public imagesByH$(hs: string[]): Observable<{ [h: string]: { [index: string]: ICoreNode } }> {\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathImagesByH,\n hs,\n { from: 0, to: this._pageCount },\n this._propertiesKey\n .concat(this._propertiesCore)]))\n .map(\n (value: IFalcorResult>): { [h: string]: { [index: string]: ICoreNode } } => {\n if (!value) {\n value = { json: { imagesByH: {} } };\n for (let h of hs) {\n value.json.imagesByH[h] = {};\n for (let i: number = 0; i <= this._pageCount; i++) {\n value.json.imagesByH[h][i] = null;\n }\n }\n }\n\n return value.json.imagesByH;\n }),\n this._pathImagesByH,\n hs);\n }\n\n public imageViewAdd$(keys: string[]): Observable {\n return this._catchInvalidateCall$(\n this._wrapPromise$(\n this._model.call(\n [this._pathImageViewAdd],\n [keys])),\n this._pathImageViewAdd,\n keys);\n }\n\n public invalidateImageByKey(keys: string[]): void {\n this._invalidateGet(this._pathImageByKey, keys);\n }\n\n public invalidateImagesByH(hs: string[]): void {\n this._invalidateGet(this._pathImagesByH, hs);\n }\n\n public invalidateSequenceByKey(sKeys: string[]): void {\n this._invalidateGet(this._pathSequenceByKey, sKeys);\n }\n\n public setToken(token?: string): void {\n this._model.invalidate([]);\n this._model = null;\n this._model = this._modelCreator.createModel(this._clientId, token);\n }\n\n public sequenceByKey$(sequenceKeys: string[]): Observable<{ [sequenceKey: string]: ISequence }> {\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathSequenceByKey,\n sequenceKeys,\n this._propertiesKey\n .concat(this._propertiesSequence)]))\n .map(\n (value: IFalcorResult>): { [sequenceKey: string]: ISequence } => {\n if (!value) {\n value = { json: { sequenceByKey: {} } };\n }\n\n for (const sequenceKey of sequenceKeys) {\n if (!(sequenceKey in value.json.sequenceByKey)) {\n console.warn(`Sequence data missing (${sequenceKey})`);\n\n value.json.sequenceByKey[sequenceKey] = { key: sequenceKey, keys: [] };\n }\n }\n\n return value.json.sequenceByKey;\n }),\n this._pathSequenceByKey,\n sequenceKeys);\n }\n\n public sequenceViewAdd$(sequenceKeys: string[]): Observable {\n return this._catchInvalidateCall$(\n this._wrapPromise$(\n this._model.call(\n [this._pathSequenceViewAdd],\n [sequenceKeys])),\n this._pathSequenceViewAdd,\n sequenceKeys);\n }\n\n public get clientId(): string {\n return this._clientId;\n }\n\n private _catchInvalidateGet$(observable: Observable, path: APIPath, paths: string[]): Observable {\n return observable\n .catch(\n (error: Error): Observable => {\n this._invalidateGet(path, paths);\n\n throw error;\n });\n }\n\n private _catchInvalidateCall$(observable: Observable, path: APIPath, paths: string[]): Observable {\n return observable\n .catch(\n (error: Error): Observable => {\n this._invalidateCall(path, paths);\n\n throw error;\n });\n }\n\n private _invalidateGet(path: APIPath, paths: string[]): void {\n this._model.invalidate([path, paths]);\n }\n\n private _invalidateCall(path: APIPath, paths: string[]): void {\n this._model.invalidate([path], [paths]);\n }\n\n private _wrapPromise$(promise: Promise): Observable {\n return Observable.defer(() => Observable.fromPromise(promise));\n }\n}\n\nexport default APIv3;\n", + "/// \n\nimport * as falcor from \"falcor\";\n\nimport {Observable} from \"rxjs/Observable\";\n\nimport {\n ICoreNode,\n IFillNode,\n IFullNode,\n ISequence,\n ModelCreator,\n} from \"../API\";\n\ninterface IFalcorResult {\n json: T;\n}\n\ninterface IImageByKey {\n imageByKey: { [key: string]: T };\n}\n\ninterface IImageCloseTo {\n imageCloseTo: { [key: string]: T };\n}\n\ninterface IImagesByH {\n imagesByH: { [key: string]: { [index: string]: T } };\n}\n\ninterface ISequenceByKey {\n sequenceByKey: { [sequenceKey: string]: T };\n}\n\ntype APIPath =\n \"imageByKey\" |\n \"imageCloseTo\" |\n \"imagesByH\" |\n \"imageViewAdd\" |\n \"sequenceByKey\" |\n \"sequenceViewAdd\";\n\n/**\n * @class APIv3\n *\n * @classdesc Provides methods for access of API v3.\n */\nexport class APIv3 {\n private _clientId: string;\n\n private _model: falcor.Model;\n private _modelCreator: ModelCreator;\n\n private _pageCount: number;\n\n private _pathImageByKey: APIPath;\n private _pathImageCloseTo: APIPath;\n private _pathImagesByH: APIPath;\n private _pathImageViewAdd: APIPath;\n private _pathSequenceByKey: APIPath;\n private _pathSequenceViewAdd: APIPath;\n\n private _propertiesCore: string[];\n private _propertiesFill: string[];\n private _propertiesKey: string[];\n private _propertiesSequence: string[];\n private _propertiesSpatial: string[];\n private _propertiesUser: string[];\n\n /**\n * Create a new api v3 instance.\n *\n * @param {number} clientId - Client id for API requests.\n * @param {number} [token] - Optional bearer token for API requests of\n * protected resources.\n * @param {ModelCreator} [creator] - Optional model creator instance.\n */\n constructor(clientId: string, token?: string, creator?: ModelCreator) {\n this._clientId = clientId;\n\n this._modelCreator = creator != null ? creator : new ModelCreator();\n this._model = this._modelCreator.createModel(clientId, token);\n\n this._pageCount = 999;\n\n this._pathImageByKey = \"imageByKey\";\n this._pathImageCloseTo = \"imageCloseTo\";\n this._pathImagesByH = \"imagesByH\";\n this._pathImageViewAdd = \"imageViewAdd\";\n this._pathSequenceByKey = \"sequenceByKey\";\n this._pathSequenceViewAdd = \"sequenceViewAdd\";\n\n this._propertiesCore = [\n \"cl\",\n \"l\",\n \"sequence_key\",\n ];\n\n this._propertiesFill = [\n \"captured_at\",\n \"captured_with_camera_uuid\",\n \"user\",\n \"organization_key\",\n \"private\",\n \"project\",\n ];\n\n this._propertiesKey = [\n \"key\",\n ];\n\n this._propertiesSequence = [\n \"keys\",\n ];\n\n this._propertiesSpatial = [\n \"atomic_scale\",\n \"ca\",\n \"calt\",\n \"cca\",\n \"cfocal\",\n \"gpano\",\n \"height\",\n \"merge_cc\",\n \"merge_version\",\n \"c_rotation\",\n \"orientation\",\n \"width\",\n ];\n\n this._propertiesUser = [\n \"username\",\n ];\n }\n\n public imageByKeyFill$(keys: string[]): Observable<{ [key: string]: IFillNode }> {\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathImageByKey,\n keys,\n this._propertiesKey\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)]))\n .map(\n (value: IFalcorResult>): { [key: string]: IFillNode } => {\n if (!value) {\n throw new Error(`Images (${keys.join(\", \")}) could not be found.`);\n }\n\n return value.json.imageByKey;\n }),\n this._pathImageByKey,\n keys);\n }\n\n public imageByKeyFull$(keys: string[]): Observable<{ [key: string]: IFullNode }> {\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathImageByKey,\n keys,\n this._propertiesKey\n .concat(this._propertiesCore)\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)]))\n .map(\n (value: IFalcorResult>): { [key: string]: IFullNode } => {\n if (!value) {\n throw new Error(`Images (${keys.join(\", \")}) could not be found.`);\n }\n\n return value.json.imageByKey;\n }),\n this._pathImageByKey,\n keys);\n }\n\n public imageCloseTo$(lat: number, lon: number): Observable {\n let lonLat: string = `${lon}:${lat}`;\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathImageCloseTo,\n [lonLat],\n this._propertiesKey\n .concat(this._propertiesCore)\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)]))\n .map(\n (value: IFalcorResult>): IFullNode => {\n return value != null ? value.json.imageCloseTo[lonLat] : null;\n }),\n this._pathImageCloseTo,\n [lonLat]);\n }\n\n public imagesByH$(hs: string[]): Observable<{ [h: string]: { [index: string]: ICoreNode } }> {\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathImagesByH,\n hs,\n { from: 0, to: this._pageCount },\n this._propertiesKey\n .concat(this._propertiesCore)]))\n .map(\n (value: IFalcorResult>): { [h: string]: { [index: string]: ICoreNode } } => {\n if (!value) {\n value = { json: { imagesByH: {} } };\n for (let h of hs) {\n value.json.imagesByH[h] = {};\n for (let i: number = 0; i <= this._pageCount; i++) {\n value.json.imagesByH[h][i] = null;\n }\n }\n }\n\n return value.json.imagesByH;\n }),\n this._pathImagesByH,\n hs);\n }\n\n public imageViewAdd$(keys: string[]): Observable {\n return this._catchInvalidateCall$(\n this._wrapPromise$(\n this._model.call(\n [this._pathImageViewAdd],\n [keys])),\n this._pathImageViewAdd,\n keys);\n }\n\n public invalidateImageByKey(keys: string[]): void {\n this._invalidateGet(this._pathImageByKey, keys);\n }\n\n public invalidateImagesByH(hs: string[]): void {\n this._invalidateGet(this._pathImagesByH, hs);\n }\n\n public invalidateSequenceByKey(sKeys: string[]): void {\n this._invalidateGet(this._pathSequenceByKey, sKeys);\n }\n\n public setToken(token?: string): void {\n this._model.invalidate([]);\n this._model = null;\n this._model = this._modelCreator.createModel(this._clientId, token);\n }\n\n public sequenceByKey$(sequenceKeys: string[]): Observable<{ [sequenceKey: string]: ISequence }> {\n return this._catchInvalidateGet$(\n this._wrapPromise$>>(this._model.get([\n this._pathSequenceByKey,\n sequenceKeys,\n this._propertiesKey\n .concat(this._propertiesSequence)]))\n .map(\n (value: IFalcorResult>): { [sequenceKey: string]: ISequence } => {\n if (!value) {\n value = { json: { sequenceByKey: {} } };\n }\n\n for (const sequenceKey of sequenceKeys) {\n if (!(sequenceKey in value.json.sequenceByKey)) {\n console.warn(`Sequence data missing (${sequenceKey})`);\n\n value.json.sequenceByKey[sequenceKey] = { key: sequenceKey, keys: [] };\n }\n }\n\n return value.json.sequenceByKey;\n }),\n this._pathSequenceByKey,\n sequenceKeys);\n }\n\n public sequenceViewAdd$(sequenceKeys: string[]): Observable {\n return this._catchInvalidateCall$(\n this._wrapPromise$(\n this._model.call(\n [this._pathSequenceViewAdd],\n [sequenceKeys])),\n this._pathSequenceViewAdd,\n sequenceKeys);\n }\n\n public get clientId(): string {\n return this._clientId;\n }\n\n private _catchInvalidateGet$(observable: Observable, path: APIPath, paths: string[]): Observable {\n return observable\n .catch(\n (error: Error): Observable => {\n this._invalidateGet(path, paths);\n\n throw error;\n });\n }\n\n private _catchInvalidateCall$(observable: Observable, path: APIPath, paths: string[]): Observable {\n return observable\n .catch(\n (error: Error): Observable => {\n this._invalidateCall(path, paths);\n\n throw error;\n });\n }\n\n private _invalidateGet(path: APIPath, paths: string[]): void {\n this._model.invalidate([path, paths]);\n }\n\n private _invalidateCall(path: APIPath, paths: string[]): void {\n this._model.invalidate([path], [paths]);\n }\n\n private _wrapPromise$(promise: Promise): Observable {\n return Observable.defer(() => Observable.fromPromise(promise));\n }\n}\n\nexport default APIv3;\n", "/// \n\nimport * as falcor from \"falcor\";\nimport * as HttpDataSource from \"falcor-http-datasource\";\n\nimport {Urls} from \"../Utils\";\n\ntype HttpDataSourceConfiguration = {\n crossDomain: boolean;\n withCredentials: boolean;\n headers?: { [key: string]: string } ;\n};\n\n/**\n * @class ModelCreator\n *\n * @classdesc Creates API models.\n */\nexport class ModelCreator {\n /**\n * Creates a Falcor model.\n *\n * @description Max cache size will be set to 16 MB. Authorization\n * header will be added if bearer token is supplied.\n *\n * @param {number} clientId - Client id for API requests.\n * @param {number} [token] - Optional bearer token for API requests of\n * protected resources.\n * @returns {falcor.Model} Falcor model for HTTP requests.\n */\n public createModel(clientId: string, token?: string): falcor.Model {\n const configuration: HttpDataSourceConfiguration = {\n crossDomain: true,\n withCredentials: false,\n };\n\n if (token != null) {\n configuration.headers = { \"Authorization\": `Bearer ${token}` };\n }\n\n return new falcor.Model({\n maxSize: 16 * 1024 * 1024,\n source: new HttpDataSource(Urls.falcorModel(clientId), configuration),\n });\n }\n}\n\nexport default ModelCreator;\n", - "/// \n\nimport * as vd from \"virtual-dom\";\n\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport {\n ComponentService,\n Component,\n IComponentConfiguration,\n} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {IVNodeHash} from \"../Render\";\nimport {Urls} from \"../Utils\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\n\nexport class AttributionComponent extends Component {\n public static componentName: string = \"attribution\";\n private _disposable: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n this._disposable = this._navigator.stateService.currentNode$\n .map(\n (node: Node): IVNodeHash => {\n return {name: this._name, vnode: this._getAttributionNode(node.username, node.key)};\n })\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._disposable.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getAttributionNode(username: string, key: string): vd.VNode {\n return vd.h(\"div.Attribution\", {}, [\n vd.h(\"a\", {href: Urls.exporeUser(username),\n target: \"_blank\",\n textContent: `@${username}`,\n },\n []),\n vd.h(\"span\", {textContent: \"|\"}, []),\n vd.h(\"a\", {href: Urls.exporeImage(key),\n target: \"_blank\",\n textContent: \"mapillary.com\",\n },\n []),\n ]);\n }\n}\n\nComponentService.register(AttributionComponent);\nexport default AttributionComponent;\n", + "/// \n\nimport * as vd from \"virtual-dom\";\n\nimport {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport {\n ComponentService,\n Component,\n IComponentConfiguration,\n} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {\n IVNodeHash,\n ISize,\n} from \"../Render\";\nimport {Urls} from \"../Utils\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\n\nexport class AttributionComponent extends Component {\n public static componentName: string = \"attribution\";\n private _disposable: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n this._disposable = Observable\n .combineLatest(\n this._navigator.stateService.currentNode$,\n this._container.renderService.size$)\n .map(\n ([node, size]: [Node, ISize]): IVNodeHash => {\n return {\n name: this._name,\n vnode: this._getAttributionNode(node.username, node.key, node.capturedAt, size.width),\n };\n })\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._disposable.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getAttributionNode(username: string, key: string, capturedAt: number, width: number): vd.VNode {\n const compact: boolean = width <= 640;\n\n const mapillaryIcon: vd.VNode = vd.h(\"div.AttributionMapillaryLogo\", []);\n const mapillaryLink: vd.VNode = vd.h(\n \"a.AttributionIconContainer\",\n { href: Urls.explore, target: \"_blank\" },\n [mapillaryIcon]);\n\n const imageBy: string = compact ? `${username}` : `image by ${username}`;\n const imageByContent: vd.VNode = vd.h(\"div.AttributionUsername\", { textContent: imageBy }, []);\n\n const date: string[] = new Date(capturedAt).toDateString().split(\" \");\n const formatted: string = (date.length > 3 ?\n compact ?\n [date[3]] :\n [date[1], date[2] + \",\", date[3]] :\n date).join(\" \");\n\n const dateContent: vd.VNode = vd.h(\"div.AttributionDate\", { textContent: formatted }, []);\n\n const imageLink: vd.VNode =\n vd.h(\n \"a.AttributionImageContainer\",\n { href: Urls.exporeImage(key), target: \"_blank\" },\n [imageByContent, dateContent]);\n\n const compactClass: string = compact ? \".AttributionCompact\" : \"\";\n\n return vd.h(\"div.AttributionContainer\" + compactClass, {}, [mapillaryLink, imageLink]);\n }\n }\n\nComponentService.register(AttributionComponent);\nexport default AttributionComponent;\n", "/// \n\nimport * as vd from \"virtual-dom\";\n\nimport {Container, Navigator} from \"../Viewer\";\n\nimport {ComponentService, Component, IComponentConfiguration} from \"../Component\";\n\nexport class BackgroundComponent extends Component {\n public static componentName: string = \"background\";\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n this._container.domRenderer.render$\n .next({name: this._name, vnode: this._getBackgroundNode(\"The viewer can't display the given image.\")});\n }\n\n protected _deactivate(): void {\n return;\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getBackgroundNode(notice: string): vd.VNode {\n // todo: add condition for when to display the DOM node\n return vd.h(\"div.BackgroundWrapper\", {}, [\n vd.h(\"p\", {textContent: notice}, []),\n ]);\n }\n}\n\nComponentService.register(BackgroundComponent);\nexport default BackgroundComponent;\n", - "/// \n\nimport * as vd from \"virtual-dom\";\n\nimport {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport {\n Component,\n ComponentService,\n IComponentConfiguration,\n} from \"../Component\";\nimport {\n Spatial,\n Transform,\n} from \"../Geo\";\nimport {Node} from \"../Graph\";\nimport {\n IVNodeHash,\n RenderCamera,\n} from \"../Render\";\nimport {IFrame} from \"../State\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\n\nexport class BearingComponent extends Component {\n public static componentName: string = \"bearing\";\n\n private _spatial: Spatial;\n private _svgNamespace: string;\n private _distinctThreshold: number;\n\n private _renderSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n\n this._spatial = new Spatial();\n this._svgNamespace = \"http://www.w3.org/2000/svg\";\n this._distinctThreshold = Math.PI / 90;\n }\n\n protected _activate(): void {\n let nodeBearingFov$: Observable<[number, number]> = this._navigator.stateService.currentState$\n .distinctUntilChanged(\n undefined,\n (frame: IFrame): string => {\n return frame.state.currentNode.key;\n })\n .map(\n (frame: IFrame): [number, number] => {\n let node: Node = frame.state.currentNode;\n let transform: Transform = frame.state.currentTransform;\n\n if (node.pano) {\n let panoHFov: number = 2 * Math.PI * node.gpano.CroppedAreaImageWidthPixels / node.gpano.FullPanoWidthPixels;\n\n return [this._spatial.degToRad(node.ca), panoHFov];\n }\n\n let size: number = Math.max(transform.basicWidth, transform.basicHeight);\n\n if (size <= 0) {\n console.warn(\n `Original image size (${transform.basicWidth}, ${transform.basicHeight}) is invalid (${node.key}. ` +\n \"Not showing available fov.\");\n }\n\n let hFov: number = size > 0 ?\n 2 * Math.atan(0.5 * transform.basicWidth / (size * transform.focal)) :\n 0;\n\n return [this._spatial.degToRad(node.ca), hFov];\n })\n .distinctUntilChanged(\n (a1: [number, number], a2: [number, number]): boolean => {\n return Math.abs(a2[0] - a1[0]) < this._distinctThreshold &&\n Math.abs(a2[1] - a1[1]) < this._distinctThreshold;\n });\n\n let cameraBearingFov$: Observable<[number, number]> = this._container.renderService.renderCamera$\n .map(\n (rc: RenderCamera): [number, number] => {\n let vFov: number = this._spatial.degToRad(rc.perspective.fov);\n let hFov: number = rc.perspective.aspect === Number.POSITIVE_INFINITY ?\n Math.PI :\n Math.atan(rc.perspective.aspect * Math.tan(0.5 * vFov)) * 2;\n\n return [this._spatial.azimuthalToBearing(rc.rotation.phi), hFov];\n })\n .distinctUntilChanged(\n (a1: [number, number], a2: [number, number]): boolean => {\n return Math.abs(a2[0] - a1[0]) < this._distinctThreshold &&\n Math.abs(a2[1] - a1[1]) < this._distinctThreshold;\n });\n\n this._renderSubscription = Observable\n .combineLatest(\n nodeBearingFov$,\n cameraBearingFov$)\n .map(\n (args: [[number, number], [number, number]]): IVNodeHash => {\n let background: vd.VNode = vd.h(\n \"div.BearingIndicatorBackground\",\n { oncontextmenu: (event: MouseEvent): void => { event.preventDefault(); } },\n [\n vd.h(\"div.BearingIndicatorBackgroundRectangle\", {}, []),\n vd.h(\"div.BearingIndicatorBackgroundCircle\", {}, []),\n ]);\n\n let north: vd.VNode = vd.h(\"div.BearingIndicatorNorth\", {}, []);\n\n let nodeSector: vd.VNode = this._createCircleSector(args[0][0], args[0][1], \"#000\");\n let cameraSector: vd.VNode = this._createCircleSector(args[1][0], args[1][1], \"#fff\");\n\n let compass: vd.VNode = this._createCircleSectorCompass(nodeSector, cameraSector);\n\n return {\n name: this._name,\n vnode: vd.h(\n \"div.BearingIndicator\",\n {},\n [\n background,\n north,\n compass,\n ]),\n };\n })\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._renderSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _createCircleSectorCompass(nodeSector: vd.VNode, cameraSector: vd.VNode): vd.VNode {\n let group: vd.VNode =\n vd.h(\n \"g\",\n {\n attributes: { transform: \"translate(1,1)\" },\n namespace: this._svgNamespace,\n },\n [nodeSector, cameraSector]);\n\n let centerCircle: vd.VNode =\n vd.h(\n \"circle\",\n {\n attributes: {\n cx: \"1\",\n cy: \"1\",\n fill: \"#abb1b9\",\n r: \"0.291667\",\n stroke: \"#000\",\n \"stroke-width\": \"0.0833333\",\n },\n namespace: this._svgNamespace,\n },\n []);\n\n let svg: vd.VNode =\n vd.h(\n \"svg\",\n {\n attributes: { viewBox: \"0 0 2 2\" },\n namespace: this._svgNamespace,\n style: {\n bottom: \"4px\",\n height: \"48px\",\n left: \"4px\",\n position: \"absolute\",\n width: \"48px\",\n },\n },\n [group, centerCircle]);\n\n return svg;\n }\n\n private _createCircleSector(bearing: number, fov: number, fill: string): vd.VNode {\n if (fov > 2 * Math.PI - Math.PI / 90) {\n return vd.h(\n \"circle\",\n {\n attributes: { cx: \"0\", cy: \"0\", fill: fill, r: \"1\" },\n namespace: this._svgNamespace,\n },\n []);\n }\n\n let arcStart: number = bearing - fov / 2 - Math.PI / 2;\n let arcEnd: number = arcStart + fov;\n\n let startX: number = Math.cos(arcStart);\n let startY: number = Math.sin(arcStart);\n\n let endX: number = Math.cos(arcEnd);\n let endY: number = Math.sin(arcEnd);\n\n let largeArc: number = fov >= Math.PI ? 1 : 0;\n\n let description: string = `M 0 0 ${startX} ${startY} A 1 1 0 ${largeArc} 1 ${endX} ${endY}`;\n\n return vd.h(\n \"path\",\n {\n attributes: { d: description, fill: fill },\n namespace: this._svgNamespace,\n },\n []);\n }\n}\n\nComponentService.register(BearingComponent);\nexport default BearingComponent;\n", - "import {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport \"rxjs/add/observable/combineLatest\";\nimport \"rxjs/add/observable/from\";\nimport \"rxjs/add/observable/merge\";\nimport \"rxjs/add/observable/of\";\nimport \"rxjs/add/observable/zip\";\n\nimport \"rxjs/add/operator/catch\";\nimport \"rxjs/add/operator/combineLatest\";\nimport \"rxjs/add/operator/distinct\";\nimport \"rxjs/add/operator/expand\";\nimport \"rxjs/add/operator/filter\";\nimport \"rxjs/add/operator/map\";\nimport \"rxjs/add/operator/merge\";\nimport \"rxjs/add/operator/mergeMap\";\nimport \"rxjs/add/operator/mergeAll\";\nimport \"rxjs/add/operator/skip\";\nimport \"rxjs/add/operator/switchMap\";\n\nimport {EdgeDirection, IEdge} from \"../Edge\";\nimport {IEdgeStatus, Node} from \"../Graph\";\nimport {ComponentService, Component, ICacheConfiguration, ICacheDepth} from \"../Component\";\nimport {Container, Navigator} from \"../Viewer\";\n\ntype EdgesDepth = [IEdge[], number];\n\nexport class CacheComponent extends Component {\n public static componentName: string = \"cache\";\n\n private _sequenceSubscription: Subscription;\n private _spatialSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n /**\n * Set the cache depth.\n *\n * Configures the cache depth. The cache depth can be different for\n * different edge direction types.\n *\n * @param {ICacheDepth} depth - Cache depth structure.\n */\n public setDepth(depth: ICacheDepth): void {\n this.configure({ depth: depth });\n }\n\n protected _activate(): void {\n this._sequenceSubscription = Observable\n .combineLatest(\n this._navigator.stateService.currentNode$\n .switchMap(\n (node: Node): Observable => {\n return node.sequenceEdges$;\n })\n .filter(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n }),\n this._configuration$)\n .switchMap(\n (nc: [IEdgeStatus, ICacheConfiguration]): Observable => {\n let status: IEdgeStatus = nc[0];\n let configuration: ICacheConfiguration = nc[1];\n\n let sequenceDepth: number = Math.max(0, Math.min(4, configuration.depth.sequence));\n\n let next$: Observable = this._cache$(status.edges, EdgeDirection.Next, sequenceDepth);\n let prev$: Observable = this._cache$(status.edges, EdgeDirection.Prev, sequenceDepth);\n\n return Observable\n .merge(\n next$,\n prev$)\n .catch(\n (error: Error, caught: Observable): Observable => {\n console.error(\"Failed to cache sequence edges.\", error);\n\n return Observable.empty();\n });\n })\n .subscribe(() => { /*noop*/ });\n\n this._spatialSubscription = this._navigator.stateService.currentNode$\n .switchMap(\n (node: Node): Observable<[Node, IEdgeStatus]> => {\n return Observable\n .combineLatest(\n Observable.of(node),\n node.spatialEdges$\n .filter(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n }));\n })\n .combineLatest(\n this._configuration$,\n (ns: [Node, IEdgeStatus], configuration: ICacheConfiguration):\n [Node, IEdgeStatus, ICacheConfiguration] => {\n return [ns[0], ns[1], configuration];\n })\n .switchMap(\n (args: [Node, IEdgeStatus, ICacheConfiguration]): Observable => {\n let node: Node = args[0];\n let edges: IEdge[] = args[1].edges;\n let depth: ICacheDepth = args[2].depth;\n\n let panoDepth: number = Math.max(0, Math.min(2, depth.pano));\n let stepDepth: number = node.pano ? 0 : Math.max(0, Math.min(3, depth.step));\n let turnDepth: number = node.pano ? 0 : Math.max(0, Math.min(1, depth.turn));\n\n let pano$: Observable = this._cache$(edges, EdgeDirection.Pano, panoDepth);\n\n let forward$: Observable = this._cache$(edges, EdgeDirection.StepForward, stepDepth);\n let backward$: Observable = this._cache$(edges, EdgeDirection.StepBackward, stepDepth);\n let left$: Observable = this._cache$(edges, EdgeDirection.StepLeft, stepDepth);\n let right$: Observable = this._cache$(edges, EdgeDirection.StepRight, stepDepth);\n\n let turnLeft$: Observable = this._cache$(edges, EdgeDirection.TurnLeft, turnDepth);\n let turnRight$: Observable = this._cache$(edges, EdgeDirection.TurnRight, turnDepth);\n let turnU$: Observable = this._cache$(edges, EdgeDirection.TurnU, turnDepth);\n\n return Observable\n .merge(\n forward$,\n backward$,\n left$,\n right$,\n pano$,\n turnLeft$,\n turnRight$,\n turnU$)\n .catch(\n (error: Error, caught: Observable): Observable => {\n console.error(\"Failed to cache spatial edges.\", error);\n\n return Observable.empty();\n });\n })\n .subscribe(() => { /*noop*/ });\n }\n\n protected _deactivate(): void {\n this._sequenceSubscription.unsubscribe();\n this._spatialSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): ICacheConfiguration {\n return { depth: { pano: 1, sequence: 2, step: 1, turn: 0 } };\n }\n\n private _cache$(edges: IEdge[], direction: EdgeDirection, depth: number): Observable {\n return Observable\n .zip(\n Observable.of(edges),\n Observable.of(depth))\n .expand(\n (ed: EdgesDepth): Observable => {\n let es: IEdge[] = ed[0];\n let d: number = ed[1];\n\n let edgesDepths$: Observable[] = [];\n\n if (d > 0) {\n for (let edge of es) {\n if (edge.data.direction === direction) {\n edgesDepths$.push(\n Observable\n .zip(\n this._navigator.graphService.cacheNode$(edge.to)\n .mergeMap(\n (n: Node): Observable => {\n return this._nodeToEdges$(n, direction);\n }),\n Observable.of(d - 1)));\n }\n }\n }\n\n return Observable\n .from>(edgesDepths$)\n .mergeAll();\n })\n .skip(1);\n }\n\n private _nodeToEdges$(node: Node, direction: EdgeDirection): Observable {\n return ([EdgeDirection.Next, EdgeDirection.Prev].indexOf(direction) > -1 ?\n node.sequenceEdges$ :\n node.spatialEdges$)\n .first(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n })\n .map(\n (status: IEdgeStatus): IEdge[] => {\n return status.edges;\n });\n }\n}\n\nComponentService.register(CacheComponent);\nexport default CacheComponent;\n", - "import {BehaviorSubject} from \"rxjs/BehaviorSubject\";\nimport {Observable} from \"rxjs/Observable\";\nimport {Subject} from \"rxjs/Subject\";\n\nimport \"rxjs/add/operator/publishReplay\";\nimport \"rxjs/add/operator/scan\";\nimport \"rxjs/add/operator/startWith\";\n\nimport {IComponentConfiguration} from \"../Component\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\nimport {EventEmitter} from \"../Utils\";\n\nexport abstract class Component extends EventEmitter {\n /**\n * Component name. Used when interacting with component through the Viewer's API.\n */\n public static componentName: string = \"not_worthy\";\n\n protected _activated: boolean;\n protected _container: Container;\n protected _name: string;\n protected _navigator: Navigator;\n\n protected _activated$: BehaviorSubject = new BehaviorSubject(false);\n protected _configuration$: Observable;\n protected _configurationSubject$: Subject = new Subject();\n\n constructor (name: string, container: Container, navigator: Navigator) {\n super();\n\n this._activated = false;\n this._container = container;\n this._name = name;\n this._navigator = navigator;\n\n this._configuration$ =\n this._configurationSubject$\n .startWith(this.defaultConfiguration)\n .scan(\n (conf: TConfiguration, newConf: TConfiguration): TConfiguration => {\n for (let key in newConf) {\n if (newConf.hasOwnProperty(key)) {\n conf[key] = newConf[key];\n }\n }\n\n return conf;\n })\n .publishReplay(1)\n .refCount();\n\n this._configuration$.subscribe(() => { /*noop*/ });\n }\n\n public get activated(): boolean {\n return this._activated;\n }\n\n public get activated$(): Observable {\n return this._activated$;\n }\n\n /**\n * Get default configuration.\n *\n * @returns {TConfiguration} Default configuration for component.\n */\n public get defaultConfiguration(): TConfiguration {\n return this._getDefaultConfiguration();\n }\n\n public get configuration$(): Observable {\n return this._configuration$;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public activate(conf?: TConfiguration): void {\n if (this._activated) {\n return;\n }\n\n if (conf !== undefined) {\n this._configurationSubject$.next(conf);\n }\n\n this._activated = true;\n this._activate();\n this._activated$.next(true);\n }\n\n public configure(conf: TConfiguration): void {\n this._configurationSubject$.next(conf);\n }\n\n public deactivate(): void {\n if (!this._activated) {\n return;\n }\n\n this._activated = false;\n this._deactivate();\n this._container.domRenderer.clear(this._name);\n this._container.glRenderer.clear(this._name);\n this._activated$.next(false);\n }\n\n /**\n * Detect the viewer's new width and height and resize the component's\n * rendered elements accordingly if applicable.\n */\n public resize(): void { return; }\n\n protected abstract _activate(): void;\n\n protected abstract _deactivate(): void;\n\n protected abstract _getDefaultConfiguration(): TConfiguration;\n}\n\nexport default Component;\n", + "/// \n\nimport * as vd from \"virtual-dom\";\n\nimport {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport {\n Component,\n ComponentService,\n IComponentConfiguration,\n} from \"../Component\";\nimport {\n Spatial,\n Transform,\n} from \"../Geo\";\nimport {Node} from \"../Graph\";\nimport {\n IVNodeHash,\n RenderCamera,\n} from \"../Render\";\nimport {IFrame} from \"../State\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\n\nexport class BearingComponent extends Component {\n public static componentName: string = \"bearing\";\n\n private _spatial: Spatial;\n private _svgNamespace: string;\n private _distinctThreshold: number;\n\n private _renderSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n\n this._spatial = new Spatial();\n this._svgNamespace = \"http://www.w3.org/2000/svg\";\n this._distinctThreshold = Math.PI / 360;\n }\n\n protected _activate(): void {\n let cameraBearingFov$: Observable<[number, number]> = this._container.renderService.renderCamera$\n .map(\n (rc: RenderCamera): [number, number] => {\n let vFov: number = this._spatial.degToRad(rc.perspective.fov);\n let hFov: number = rc.perspective.aspect === Number.POSITIVE_INFINITY ?\n Math.PI :\n Math.atan(rc.perspective.aspect * Math.tan(0.5 * vFov)) * 2;\n\n return [this._spatial.azimuthalToBearing(rc.rotation.phi), hFov];\n })\n .distinctUntilChanged(\n (a1: [number, number], a2: [number, number]): boolean => {\n return Math.abs(a2[0] - a1[0]) < this._distinctThreshold &&\n Math.abs(a2[1] - a1[1]) < this._distinctThreshold;\n });\n\n this._renderSubscription = cameraBearingFov$\n .map(\n ([bearing, fov]: [number, number]): IVNodeHash => {\n const background: vd.VNode = vd.h(\"div.BearingIndicatorBackground\", {}, []);\n const backgroundCircle: vd.VNode = vd.h(\"div.BearingIndicatorBackgroundCircle\", {}, []);\n const north: vd.VNode = this._createNorth(bearing);\n const cameraSector: vd.VNode = this._createCircleSectorCompass(\n this._createCircleSector(Math.max(Math.PI / 20, fov), \"#FFF\"));\n\n return {\n name: this._name,\n vnode: vd.h(\n \"div.BearingIndicatorContainer\",\n { oncontextmenu: (event: MouseEvent): void => { event.preventDefault(); } },\n [\n background,\n backgroundCircle,\n north,\n cameraSector,\n ]),\n };\n })\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._renderSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _createCircleSectorCompass(cameraSector: vd.VNode): vd.VNode {\n let group: vd.VNode =\n vd.h(\n \"g\",\n {\n attributes: { transform: \"translate(1,1)\" },\n namespace: this._svgNamespace,\n },\n [cameraSector]);\n\n let svg: vd.VNode =\n vd.h(\n \"svg\",\n {\n attributes: { viewBox: \"0 0 2 2\" },\n namespace: this._svgNamespace,\n style: {\n height: \"30px\",\n left: \"4px\",\n position: \"absolute\",\n top: \"4px\",\n width: \"30px\",\n },\n },\n [group]);\n\n return svg;\n }\n\n private _createCircleSector(fov: number, fill: string): vd.VNode {\n if (fov > 2 * Math.PI - Math.PI / 90) {\n return vd.h(\n \"circle\",\n {\n attributes: { cx: \"0\", cy: \"0\", fill: fill, r: \"1\" },\n namespace: this._svgNamespace,\n },\n []);\n }\n\n let arcStart: number = -Math.PI / 2 - fov / 2;\n let arcEnd: number = arcStart + fov;\n\n let startX: number = Math.cos(arcStart);\n let startY: number = Math.sin(arcStart);\n\n let endX: number = Math.cos(arcEnd);\n let endY: number = Math.sin(arcEnd);\n\n let largeArc: number = fov >= Math.PI ? 1 : 0;\n\n let description: string = `M 0 0 ${startX} ${startY} A 1 1 0 ${largeArc} 1 ${endX} ${endY}`;\n\n return vd.h(\n \"path\",\n {\n attributes: { d: description, fill: fill },\n namespace: this._svgNamespace,\n },\n []);\n }\n\n private _createNorth(bearing: number): vd.VNode {\n const north: vd.VNode = vd.h(\"div.BearingNorth\", []);\n const container: vd.VNode = vd.h(\n \"div.BearingNorthContainer\",\n { style: { transform: `rotateZ(${-bearing * 180 / Math.PI}deg)` } },\n [north]);\n\n return container;\n }\n}\n\nComponentService.register(BearingComponent);\nexport default BearingComponent;\n", + "import {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport {EdgeDirection, IEdge} from \"../Edge\";\nimport {IEdgeStatus, Node} from \"../Graph\";\nimport {ComponentService, Component, ICacheConfiguration, ICacheDepth} from \"../Component\";\nimport {Container, Navigator} from \"../Viewer\";\n\ntype EdgesDepth = [IEdge[], number];\n\nexport class CacheComponent extends Component {\n public static componentName: string = \"cache\";\n\n private _sequenceSubscription: Subscription;\n private _spatialSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n /**\n * Set the cache depth.\n *\n * Configures the cache depth. The cache depth can be different for\n * different edge direction types.\n *\n * @param {ICacheDepth} depth - Cache depth structure.\n */\n public setDepth(depth: ICacheDepth): void {\n this.configure({ depth: depth });\n }\n\n protected _activate(): void {\n this._sequenceSubscription = Observable\n .combineLatest(\n this._navigator.stateService.currentNode$\n .switchMap(\n (node: Node): Observable => {\n return node.sequenceEdges$;\n })\n .filter(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n }),\n this._configuration$)\n .switchMap(\n (nc: [IEdgeStatus, ICacheConfiguration]): Observable => {\n let status: IEdgeStatus = nc[0];\n let configuration: ICacheConfiguration = nc[1];\n\n let sequenceDepth: number = Math.max(0, Math.min(4, configuration.depth.sequence));\n\n let next$: Observable = this._cache$(status.edges, EdgeDirection.Next, sequenceDepth);\n let prev$: Observable = this._cache$(status.edges, EdgeDirection.Prev, sequenceDepth);\n\n return Observable\n .merge(\n next$,\n prev$)\n .catch(\n (error: Error, caught: Observable): Observable => {\n console.error(\"Failed to cache sequence edges.\", error);\n\n return Observable.empty();\n });\n })\n .subscribe(() => { /*noop*/ });\n\n this._spatialSubscription = this._navigator.stateService.currentNode$\n .switchMap(\n (node: Node): Observable<[Node, IEdgeStatus]> => {\n return Observable\n .combineLatest(\n Observable.of(node),\n node.spatialEdges$\n .filter(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n }));\n })\n .combineLatest(\n this._configuration$,\n (ns: [Node, IEdgeStatus], configuration: ICacheConfiguration):\n [Node, IEdgeStatus, ICacheConfiguration] => {\n return [ns[0], ns[1], configuration];\n })\n .switchMap(\n (args: [Node, IEdgeStatus, ICacheConfiguration]): Observable => {\n let node: Node = args[0];\n let edges: IEdge[] = args[1].edges;\n let depth: ICacheDepth = args[2].depth;\n\n let panoDepth: number = Math.max(0, Math.min(2, depth.pano));\n let stepDepth: number = node.pano ? 0 : Math.max(0, Math.min(3, depth.step));\n let turnDepth: number = node.pano ? 0 : Math.max(0, Math.min(1, depth.turn));\n\n let pano$: Observable = this._cache$(edges, EdgeDirection.Pano, panoDepth);\n\n let forward$: Observable = this._cache$(edges, EdgeDirection.StepForward, stepDepth);\n let backward$: Observable = this._cache$(edges, EdgeDirection.StepBackward, stepDepth);\n let left$: Observable = this._cache$(edges, EdgeDirection.StepLeft, stepDepth);\n let right$: Observable = this._cache$(edges, EdgeDirection.StepRight, stepDepth);\n\n let turnLeft$: Observable = this._cache$(edges, EdgeDirection.TurnLeft, turnDepth);\n let turnRight$: Observable = this._cache$(edges, EdgeDirection.TurnRight, turnDepth);\n let turnU$: Observable = this._cache$(edges, EdgeDirection.TurnU, turnDepth);\n\n return Observable\n .merge(\n forward$,\n backward$,\n left$,\n right$,\n pano$,\n turnLeft$,\n turnRight$,\n turnU$)\n .catch(\n (error: Error, caught: Observable): Observable => {\n console.error(\"Failed to cache spatial edges.\", error);\n\n return Observable.empty();\n });\n })\n .subscribe(() => { /*noop*/ });\n }\n\n protected _deactivate(): void {\n this._sequenceSubscription.unsubscribe();\n this._spatialSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): ICacheConfiguration {\n return { depth: { pano: 1, sequence: 2, step: 1, turn: 0 } };\n }\n\n private _cache$(edges: IEdge[], direction: EdgeDirection, depth: number): Observable {\n return Observable\n .zip(\n Observable.of(edges),\n Observable.of(depth))\n .expand(\n (ed: EdgesDepth): Observable => {\n let es: IEdge[] = ed[0];\n let d: number = ed[1];\n\n let edgesDepths$: Observable[] = [];\n\n if (d > 0) {\n for (let edge of es) {\n if (edge.data.direction === direction) {\n edgesDepths$.push(\n Observable\n .zip(\n this._navigator.graphService.cacheNode$(edge.to)\n .mergeMap(\n (n: Node): Observable => {\n return this._nodeToEdges$(n, direction);\n }),\n Observable.of(d - 1)));\n }\n }\n }\n\n return Observable\n .from>(edgesDepths$)\n .mergeAll();\n })\n .skip(1);\n }\n\n private _nodeToEdges$(node: Node, direction: EdgeDirection): Observable {\n return ([EdgeDirection.Next, EdgeDirection.Prev].indexOf(direction) > -1 ?\n node.sequenceEdges$ :\n node.spatialEdges$)\n .first(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n })\n .map(\n (status: IEdgeStatus): IEdge[] => {\n return status.edges;\n });\n }\n}\n\nComponentService.register(CacheComponent);\nexport default CacheComponent;\n", + "import {BehaviorSubject} from \"rxjs/BehaviorSubject\";\nimport {Observable} from \"rxjs/Observable\";\nimport {Subject} from \"rxjs/Subject\";\n\nimport {IComponentConfiguration} from \"../Component\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\nimport {EventEmitter} from \"../Utils\";\n\nexport abstract class Component extends EventEmitter {\n /**\n * Component name. Used when interacting with component through the Viewer's API.\n */\n public static componentName: string = \"not_worthy\";\n\n protected _activated: boolean;\n protected _container: Container;\n protected _name: string;\n protected _navigator: Navigator;\n\n protected _activated$: BehaviorSubject = new BehaviorSubject(false);\n protected _configuration$: Observable;\n protected _configurationSubject$: Subject = new Subject();\n\n constructor (name: string, container: Container, navigator: Navigator) {\n super();\n\n this._activated = false;\n this._container = container;\n this._name = name;\n this._navigator = navigator;\n\n this._configuration$ =\n this._configurationSubject$\n .startWith(this.defaultConfiguration)\n .scan(\n (conf: TConfiguration, newConf: TConfiguration): TConfiguration => {\n for (let key in newConf) {\n if (newConf.hasOwnProperty(key)) {\n conf[key] = newConf[key];\n }\n }\n\n return conf;\n })\n .publishReplay(1)\n .refCount();\n\n this._configuration$.subscribe(() => { /*noop*/ });\n }\n\n public get activated(): boolean {\n return this._activated;\n }\n\n public get activated$(): Observable {\n return this._activated$;\n }\n\n /**\n * Get default configuration.\n *\n * @returns {TConfiguration} Default configuration for component.\n */\n public get defaultConfiguration(): TConfiguration {\n return this._getDefaultConfiguration();\n }\n\n public get configuration$(): Observable {\n return this._configuration$;\n }\n\n public get name(): string {\n return this._name;\n }\n\n public activate(conf?: TConfiguration): void {\n if (this._activated) {\n return;\n }\n\n if (conf !== undefined) {\n this._configurationSubject$.next(conf);\n }\n\n this._activated = true;\n this._activate();\n this._activated$.next(true);\n }\n\n public configure(conf: TConfiguration): void {\n this._configurationSubject$.next(conf);\n }\n\n public deactivate(): void {\n if (!this._activated) {\n return;\n }\n\n this._activated = false;\n this._deactivate();\n this._container.domRenderer.clear(this._name);\n this._container.glRenderer.clear(this._name);\n this._activated$.next(false);\n }\n\n /**\n * Detect the viewer's new width and height and resize the component's\n * rendered elements accordingly if applicable.\n */\n public resize(): void { return; }\n\n protected abstract _activate(): void;\n\n protected abstract _deactivate(): void;\n\n protected abstract _getDefaultConfiguration(): TConfiguration;\n}\n\nexport default Component;\n", "/// \n\nimport * as _ from \"underscore\";\n\nimport {ArgumentMapillaryError} from \"../Error\";\nimport {Container, Navigator} from \"../Viewer\";\nimport {CoverComponent, Component, IComponentConfiguration} from \"../Component\";\n\ninterface IActiveComponent {\n active: boolean;\n component: Component;\n}\n\nexport class ComponentService {\n public static registeredCoverComponent: typeof CoverComponent;\n public static registeredComponents: {[key: string]: { new (...args: any[]): Component; }} = {};\n\n private _coverActivated: boolean;\n private _coverComponent: CoverComponent;\n private _components: {[key: string]: IActiveComponent} = {};\n\n public static register>(\n component: { componentName: string, new (...args: any[]): T; }): void {\n if (ComponentService.registeredComponents[component.componentName] === undefined) {\n ComponentService.registeredComponents[component.componentName] = component;\n }\n }\n\n public static registerCover(coverComponent: typeof CoverComponent): void {\n ComponentService.registeredCoverComponent = coverComponent;\n }\n\n constructor (container: Container, navigator: Navigator) {\n for (let component of _.values(ComponentService.registeredComponents)) {\n this._components[component.componentName] = {\n active: false,\n component: new component(component.componentName, container, navigator),\n };\n }\n\n this._coverComponent = new ComponentService.registeredCoverComponent(\"cover\", container, navigator);\n this._coverComponent.activate();\n this._coverActivated = true;\n }\n\n public get coverActivated(): boolean {\n return this._coverActivated;\n }\n\n public activateCover(): void {\n if (this._coverActivated) {\n return;\n }\n this._coverActivated = true;\n\n for (let component of _.values(this._components)) {\n if (component.active) {\n component.component.deactivate();\n }\n }\n return;\n }\n\n public deactivateCover(): void {\n if (!this._coverActivated) {\n return;\n }\n this._coverActivated = false;\n\n for (let component of _.values(this._components)) {\n if (component.active) {\n component.component.activate();\n }\n }\n return;\n }\n\n public activate(name: string): void {\n this._checkName(name);\n this._components[name].active = true;\n if (!this._coverActivated) {\n this.get(name).activate();\n }\n }\n\n public configure(name: string, conf: TConfiguration): void {\n this._checkName(name);\n this.get(name).configure(conf);\n }\n\n public deactivate(name: string): void {\n this._checkName(name);\n this._components[name].active = false;\n if (!this._coverActivated) {\n this.get(name).deactivate();\n }\n }\n\n public resize(): void {\n for (let component of _.values(this._components)) {\n component.component.resize();\n }\n }\n\n public get>(name: string): TComponent {\n return this._components[name].component;\n }\n\n public getCover(): CoverComponent {\n return this._coverComponent;\n }\n\n private _checkName(name: string): void {\n if (!(name in this._components)) {\n throw new ArgumentMapillaryError(`Component does not exist: ${name}`);\n }\n }\n}\n\nexport default ComponentService;\n", - "/// \n\nimport * as vd from \"virtual-dom\";\n\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport \"rxjs/add/operator/filter\";\nimport \"rxjs/add/operator/map\";\nimport \"rxjs/add/operator/withLatestFrom\";\n\nimport {\n CoverState,\n ICoverConfiguration,\n ComponentService,\n Component,\n} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {IVNodeHash} from \"../Render\";\nimport {Urls} from \"../Utils\";\nimport {\n Container,\n ImageSize,\n Navigator,\n} from \"../Viewer\";\n\nexport class CoverComponent extends Component {\n public static componentName: string = \"cover\";\n\n private _disposable: Subscription;\n private _keyDisposable: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n public _activate(): void {\n this._keyDisposable = this._navigator.stateService.currentNode$\n .withLatestFrom(\n this._configuration$,\n (node: Node, configuration: ICoverConfiguration): [Node, ICoverConfiguration] => {\n return [node, configuration];\n })\n .filter(\n ([node, configuration]: [Node, ICoverConfiguration]): boolean => {\n return node.key !== configuration.key;\n })\n .map(([node, configuration]: [Node, ICoverConfiguration]): Node => { return node; })\n .map(\n (node: Node): ICoverConfiguration => {\n return { key: node.key, src: node.image.src };\n })\n .subscribe(this._configurationSubject$);\n\n this._disposable = this._configuration$\n .map(\n (conf: ICoverConfiguration): IVNodeHash => {\n if (!conf.key) {\n return { name: this._name, vnode: vd.h(\"div\", []) };\n }\n\n if (conf.state === CoverState.Hidden) {\n return {name: this._name, vnode: vd.h(\"div.Cover.CoverDone\", [ this._getCoverBackgroundVNode(conf) ])};\n }\n\n return { name: this._name, vnode: this._getCoverButtonVNode(conf) };\n })\n .subscribe(this._container.domRenderer.render$);\n }\n\n public _deactivate(): void {\n this._disposable.unsubscribe();\n this._keyDisposable.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): ICoverConfiguration {\n return { state: CoverState.Visible };\n }\n\n private _getCoverButtonVNode(conf: ICoverConfiguration): vd.VNode {\n const cover: string = conf.state === CoverState.Loading ? \"div.Cover.CoverLoading\" : \"div.Cover\";\n\n return vd.h(cover, [\n this._getCoverBackgroundVNode(conf),\n vd.h(\"button.CoverButton\", { onclick: (): void => { this.configure({ state: CoverState.Loading }); } }, [\"Explore\"]),\n vd.h(\"a.CoverLogo\", {href: Urls.explore, target: \"_blank\"}, []),\n ]);\n }\n\n private _getCoverBackgroundVNode(conf: ICoverConfiguration): vd.VNode {\n let url: string = conf.src != null ?\n conf.src : Urls.thumbnail(conf.key, ImageSize.Size640);\n\n let properties: vd.createProperties = { style: { backgroundImage: `url(${url})` } };\n\n let children: vd.VNode[] = [];\n if (conf.state === CoverState.Loading) {\n children.push(vd.h(\"div.Spinner\", {}, []));\n }\n\n children.push(vd.h(\"div.CoverBackgroundGradient\", {}, []));\n\n return vd.h(\"div.CoverBackground\", properties, children);\n }\n}\n\nComponentService.registerCover(CoverComponent);\nexport default CoverComponent;\n", - "/// \n\nimport * as _ from \"underscore\";\nimport * as vd from \"virtual-dom\";\n\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport \"rxjs/add/operator/combineLatest\";\n\nimport {IVNodeHash} from \"../Render\";\nimport {IFrame} from \"../State\";\nimport {Component, ComponentService, IComponentConfiguration} from \"../Component\";\n\nexport class DebugComponent extends Component {\n public static componentName: string = \"debug\";\n\n private _disposable: Subscription;\n\n private _open$: BehaviorSubject = new BehaviorSubject(false);\n\n public _activate(): void {\n this._disposable = this._navigator.stateService.currentState$\n .combineLatest(\n this._open$,\n this._navigator.imageLoadingService.loadstatus$,\n (frame: IFrame, open: boolean, loadStatus: any): IVNodeHash => {\n return {name: this._name, vnode: this._getDebugVNode(open, this._getDebugInfo(frame, loadStatus))};\n })\n .subscribe(this._container.domRenderer.render$);\n }\n\n public _deactivate(): void {\n this._disposable.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getDebugInfo(frame: IFrame, loadStatus: any): vd.VNode[] {\n let ret: vd.VNode[] = [];\n\n ret.push(vd.h(\"h2\", \"Node\"));\n\n if (frame.state.currentNode) {\n ret.push(vd.h(\"p\", `currentNode: ${frame.state.currentNode.key}`));\n }\n\n if (frame.state.previousNode) {\n ret.push(vd.h(\"p\", `previousNode: ${frame.state.previousNode.key}`));\n }\n\n ret.push(vd.h(\"h2\", \"Loading\"));\n\n let total: number = 0;\n let loaded: number = 0;\n let loading: number = 0;\n\n for (let loadStat of _.values(loadStatus)) {\n total += loadStat.loaded;\n if (loadStat.loaded !== loadStat.total) {\n loading++;\n } else {\n loaded++;\n }\n }\n\n ret.push(vd.h(\"p\", `Loaded Images: ${loaded}`));\n ret.push(vd.h(\"p\", `Loading Images: ${loading}`));\n ret.push(vd.h(\"p\", `Total bytes loaded: ${total}`));\n\n ret.push(vd.h(\"h2\", \"Camera\"));\n\n ret.push(vd.h(\"p\", `camera.position.x: ${frame.state.camera.position.x}`));\n ret.push(vd.h(\"p\", `camera.position.y: ${frame.state.camera.position.y}`));\n ret.push(vd.h(\"p\", `camera.position.z: ${frame.state.camera.position.z}`));\n\n ret.push(vd.h(\"p\", `camera.lookat.x: ${frame.state.camera.lookat.x}`));\n ret.push(vd.h(\"p\", `camera.lookat.y: ${frame.state.camera.lookat.y}`));\n ret.push(vd.h(\"p\", `camera.lookat.z: ${frame.state.camera.lookat.z}`));\n\n ret.push(vd.h(\"p\", `camera.up.x: ${frame.state.camera.up.x}`));\n ret.push(vd.h(\"p\", `camera.up.y: ${frame.state.camera.up.y}`));\n ret.push(vd.h(\"p\", `camera.up.z: ${frame.state.camera.up.z}`));\n\n return ret;\n }\n\n private _getDebugVNode(open: boolean, info: vd.VNode[]): vd.VNode {\n if (open) {\n return vd.h(\"div.Debug\", {}, [\n vd.h(\"h2\", {}, [\"Debug\"]),\n this._getDebugVNodeButton(open),\n vd.h(\"pre\", {}, info),\n ]);\n } else {\n return this._getDebugVNodeButton(open);\n }\n }\n\n private _getDebugVNodeButton(open: boolean): any {\n let buttonText: string = open ? \"Disable Debug\" : \"D\";\n let buttonCssClass: string = open ? \"\" : \".DebugButtonFixed\";\n\n if (open) {\n return vd.h(`button.DebugButton${buttonCssClass}`,\n {onclick: this._closeDebugElement.bind(this)},\n [buttonText]);\n } else {\n return vd.h(`button.DebugButton${buttonCssClass}`,\n {onclick: this._openDebugElement.bind(this)},\n [buttonText]);\n }\n }\n\n private _closeDebugElement(open: boolean): void {\n this._open$.next(false);\n }\n\n private _openDebugElement(): void {\n this._open$.next(true);\n }\n}\n\nComponentService.register(DebugComponent);\nexport default DebugComponent;\n", - "/// \n\nimport * as vd from \"virtual-dom\";\n\nimport {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport \"rxjs/add/operator/combineLatest\";\n\nimport {ComponentService, Component, IComponentConfiguration} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {ISize} from \"../Render\";\nimport {DOM} from \"../Utils\";\nimport {Container, Navigator} from \"../Viewer\";\n\nexport class ImageComponent extends Component {\n public static componentName: string = \"image\";\n\n private _canvasId: string;\n private _dom: DOM;\n private drawSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator, dom?: DOM) {\n super(name, container, navigator);\n\n this._canvasId = `${container.id}-${this._name}`;\n this._dom = !!dom ? dom : new DOM();\n }\n\n protected _activate(): void {\n const canvasSize$: Observable<[HTMLCanvasElement, ISize]> = this._container.domRenderer.element$\n .map(\n (element: HTMLElement): HTMLCanvasElement => {\n return this._dom.document.getElementById(this._canvasId);\n })\n .filter(\n (canvas: HTMLCanvasElement): boolean => {\n return !!canvas;\n })\n .map(\n (canvas: HTMLCanvasElement): [HTMLCanvasElement, ISize] => {\n const adaptableDomRenderer: HTMLElement = canvas.parentElement;\n const width: number = adaptableDomRenderer.offsetWidth;\n const height: number = adaptableDomRenderer.offsetHeight;\n\n return [canvas, { height: height, width: width }];\n })\n .distinctUntilChanged(\n (s1: ISize, s2: ISize): boolean => {\n return s1.height === s2.height && s1.width === s2.width;\n },\n ([canvas, size]: [HTMLCanvasElement, ISize]): ISize => {\n return size;\n });\n\n this.drawSubscription = Observable\n .combineLatest(\n canvasSize$,\n this._navigator.stateService.currentNode$)\n .subscribe(\n ([[canvas, size], node]: [[HTMLCanvasElement, ISize], Node]): void => {\n canvas.width = size.width;\n canvas.height = size.height;\n canvas\n .getContext(\"2d\")\n .drawImage(node.image, 0, 0, size.width, size.height);\n });\n\n this._container.domRenderer.renderAdaptive$.next({name: this._name, vnode: vd.h(`canvas#${this._canvasId}`, [])});\n }\n\n protected _deactivate(): void {\n this.drawSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n}\n\nComponentService.register(ImageComponent);\nexport default ImageComponent;\n", - "/// \n\nimport * as _ from \"underscore\";\nimport * as vd from \"virtual-dom\";\n\nimport {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport \"rxjs/add/operator/combineLatest\";\n\nimport {Container, Navigator} from \"../Viewer\";\nimport {ComponentService, Component, IComponentConfiguration} from \"../Component\";\n\nimport {IVNodeHash} from \"../Render\";\nimport {ILoadStatus} from \"../Graph\";\n\nexport class LoadingComponent extends Component {\n public static componentName: string = \"loading\";\n\n private _loadingSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n this._loadingSubscription = this._navigator.loadingService.loading$\n .switchMap(\n (loading: boolean): Observable<{ [key: string]: ILoadStatus }> => {\n return loading ?\n this._navigator.imageLoadingService.loadstatus$ :\n Observable.of({});\n })\n .map(\n (loadStatus: { [key: string]: ILoadStatus }): IVNodeHash => {\n let total: number = 0;\n let loaded: number = 0;\n\n for (let loadStat of _.values(loadStatus)) {\n if (loadStat.loaded !== loadStat.total) {\n loaded += loadStat.loaded;\n total += loadStat.total;\n }\n }\n\n let percentage: number = 100;\n if (total !== 0) {\n percentage = (loaded / total) * 100;\n }\n\n return {name: this._name, vnode: this._getBarVNode(percentage)};\n })\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._loadingSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getBarVNode(percentage: number): vd.VNode {\n let loadingBarStyle: any = {};\n let loadingContainerStyle: any = {};\n\n if (percentage !== 100) {\n loadingBarStyle.width = percentage.toFixed(0) + \"%\";\n loadingBarStyle.opacity = \"1\";\n\n } else {\n loadingBarStyle.width = \"100%\";\n loadingBarStyle.opacity = \"0\";\n }\n\n return vd.h(\"div.Loading\", { style: loadingContainerStyle }, [ vd.h(\"div.LoadingBar\", {style: loadingBarStyle}, [])]);\n }\n}\n\nComponentService.register(LoadingComponent);\nexport default LoadingComponent;\n", - "/// \n\nimport * as vd from \"virtual-dom\";\n\nimport {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport \"rxjs/add/operator/map\";\nimport \"rxjs/add/operator/first\";\n\nimport {EdgeDirection, IEdge} from \"../Edge\";\nimport {AbortMapillaryError} from \"../Error\";\nimport {IEdgeStatus, Node} from \"../Graph\";\nimport {Container, Navigator} from \"../Viewer\";\nimport {ComponentService, Component, IComponentConfiguration, INavigationConfiguration} from \"../Component\";\n\nimport {IVNodeHash} from \"../Render\";\n\n/**\n * @class NavigationComponent\n *\n * @classdesc Fallback navigation component for environments without WebGL support.\n *\n * Replaces the functionality in the Direction and Sequence components.\n */\nexport class NavigationComponent extends Component {\n public static componentName: string = \"navigation\";\n\n private _renderSubscription: Subscription;\n\n private _seqNames: { [dir: string]: string };\n private _spaTopNames: { [dir: string]: string };\n private _spaBottomNames: { [dir: string]: string };\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n\n this._seqNames = {};\n this._seqNames[EdgeDirection[EdgeDirection.Prev]] = \"Prev\";\n this._seqNames[EdgeDirection[EdgeDirection.Next]] = \"Next\";\n\n this._spaTopNames = {};\n this._spaTopNames[EdgeDirection[EdgeDirection.TurnLeft]] = \"Turnleft\";\n this._spaTopNames[EdgeDirection[EdgeDirection.StepLeft]] = \"Left\";\n this._spaTopNames[EdgeDirection[EdgeDirection.StepForward]] = \"Forward\";\n this._spaTopNames[EdgeDirection[EdgeDirection.StepRight]] = \"Right\";\n this._spaTopNames[EdgeDirection[EdgeDirection.TurnRight]] = \"Turnright\";\n\n this._spaBottomNames = {};\n this._spaBottomNames[EdgeDirection[EdgeDirection.TurnU]] = \"Turnaround\";\n this._spaBottomNames[EdgeDirection[EdgeDirection.StepBackward]] = \"Backward\";\n }\n\n protected _activate(): void {\n this._renderSubscription = Observable\n .combineLatest(\n this._navigator.stateService.currentNode$,\n this._configuration$)\n .switchMap(\n ([node, configuration]: [Node, INavigationConfiguration]): Observable => {\n const sequenceEdges$: Observable = configuration.sequence ?\n node.sequenceEdges$\n .map(\n (status: IEdgeStatus): EdgeDirection[] => {\n return status.edges\n .map(\n (edge: IEdge): EdgeDirection => {\n return edge.data.direction;\n });\n }) :\n Observable.of([]);\n\n const spatialEdges$: Observable = !node.pano && configuration.spatial ?\n node.spatialEdges$\n .map(\n (status: IEdgeStatus): EdgeDirection[] => {\n return status.edges\n .map(\n (edge: IEdge): EdgeDirection => {\n return edge.data.direction;\n });\n }) :\n Observable.of([]);\n\n return Observable\n .combineLatest(\n sequenceEdges$,\n spatialEdges$)\n .map(\n ([seq, spa]: [EdgeDirection[], EdgeDirection[]]): EdgeDirection[] => {\n return seq.concat(spa);\n });\n })\n .map(\n (edgeDirections: EdgeDirection[]): IVNodeHash => {\n const seqs: vd.VNode[] = this._createArrowRow(this._seqNames, edgeDirections);\n const spaTops: vd.VNode[] = this._createArrowRow(this._spaTopNames, edgeDirections);\n const spaBottoms: vd.VNode[] = this._createArrowRow(this._spaBottomNames, edgeDirections);\n\n const seqContainer: vd.VNode = vd.h(`div.NavigationSequence`, seqs);\n const spaTopContainer: vd.VNode = vd.h(`div.NavigationSpatialTop`, spaTops);\n const spaBottomContainer: vd.VNode = vd.h(`div.NavigationSpatialBottom`, spaBottoms);\n const spaContainer: vd.VNode = vd.h(`div.NavigationSpatial`, [spaTopContainer, spaBottomContainer]);\n\n return { name: this._name, vnode: vd.h(`div.NavigationContainer`, [seqContainer, spaContainer]) };\n })\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._renderSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): INavigationConfiguration {\n return { sequence: true, spatial: true };\n }\n\n private _createArrowRow(arrowNames: { [dir: string]: string }, edgeDirections: EdgeDirection[]): vd.VNode[] {\n const arrows: vd.VNode[] = [];\n\n for (const arrowName in arrowNames) {\n if (!(arrowNames.hasOwnProperty(arrowName))) {\n continue;\n }\n\n const direction: EdgeDirection = EdgeDirection[arrowName];\n if (edgeDirections.indexOf(direction) !== -1) {\n arrows.push(this._createVNode(direction, arrowNames[arrowName], \"visible\"));\n } else {\n arrows.push(this._createVNode(direction, arrowNames[arrowName], \"hidden\"));\n }\n }\n\n return arrows;\n }\n\n private _createVNode(direction: EdgeDirection, name: string, visibility: string): vd.VNode {\n return vd.h(\n `span.Direction.Direction${name}`,\n {\n onclick: (ev: Event): void => {\n this._navigator.moveDir$(direction)\n .subscribe(\n undefined,\n (error: Error): void => {\n if (!(error instanceof AbortMapillaryError)) {\n console.error(error);\n }\n });\n },\n style: {\n visibility: visibility,\n },\n },\n []);\n }\n}\n\nComponentService.register(NavigationComponent);\nexport default NavigationComponent;\n", - "/// \n\nimport * as _ from \"underscore\";\nimport * as vd from \"virtual-dom\";\n\nimport {Observable} from \"rxjs/Observable\";\nimport {Subscription} from \"rxjs/Subscription\";\n\nimport \"rxjs/add/observable/fromPromise\";\nimport \"rxjs/add/observable/of\";\n\nimport \"rxjs/add/operator/combineLatest\";\nimport \"rxjs/add/operator/distinct\";\nimport \"rxjs/add/operator/distinctUntilChanged\";\nimport \"rxjs/add/operator/filter\";\nimport \"rxjs/add/operator/map\";\nimport \"rxjs/add/operator/mergeMap\";\nimport \"rxjs/add/operator/pluck\";\nimport \"rxjs/add/operator/scan\";\n\nimport {ISequence} from \"../API\";\nimport {IRouteConfiguration, IRoutePath, ComponentService, Component} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {IVNodeHash} from \"../Render\";\nimport {IFrame} from \"../State\";\nimport {Container, Navigator} from \"../Viewer\";\n\ninterface IRtAndFrame {\n routeTrack: RouteTrack;\n frame: IFrame;\n conf: IRouteConfiguration;\n}\n\ninterface IConfAndNode {\n conf: IRouteConfiguration;\n node: Node;\n}\n\ninterface INodeInstruction {\n key: string;\n description: string;\n}\n\ninterface IInstructionPlace {\n place: number;\n nodeInstructions: INodeInstruction[];\n}\n\nclass DescriptionState {\n public description: string;\n public showsLeft: number;\n}\n\nclass RouteState {\n public routeTrack: RouteTrack;\n public currentNode: Node;\n public lastNode: Node;\n public playing: boolean;\n}\n\nclass RouteTrack {\n public nodeInstructions: INodeInstruction[] = [];\n public nodeInstructionsOrdered: INodeInstruction[][] = [];\n}\n\nexport class RouteComponent extends Component {\n public static componentName: string = \"route\";\n\n private _disposable: Subscription;\n private _disposableDescription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n let _slowedStream$: Observable